<?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>128106</bug_id>
          
          <creation_ts>2014-02-03 09:27:01 -0800</creation_ts>
          <short_desc>Remove Unicode.h</short_desc>
          <delta_ts>2014-02-03 10:34:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>127633</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bunhere</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>975887</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-02-03 09:27:01 -0800</bug_when>
    <thetext>Remove Unicode.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975889</commentid>
    <comment_count>1</comment_count>
      <attachid>222991</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-02-03 09:27:30 -0800</bug_when>
    <thetext>Created attachment 222991
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975890</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-02-03 09:28:35 -0800</bug_when>
    <thetext>New approach for any platform not using ICU is to supply an ICU stub with headers named the same as the ICU headers, rather than relying on an indirection within WebKit itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975920</commentid>
    <comment_count>3</comment_count>
      <attachid>222991</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-03 10:34:08 -0800</bug_when>
    <thetext>Comment on attachment 222991
Patch

Clearing flags on attachment: 222991

Committed r163315: &lt;http://trac.webkit.org/changeset/163315&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975921</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-03 10:34:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222991</attachid>
            <date>2014-02-03 09:27:30 -0800</date>
            <delta_ts>2014-02-03 10:34:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128106-20140203092729.patch</filename>
            <type>text/plain</type>
            <size>33618</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzMzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBkNGEwMjRkMzZjYjNmYzQ4ZmMzN2Yz
MDYyN2VhZDI2Mzc4OGY1N2MuLmY5ODY4ODdmNmY1YTk1MDcxMTZjYWU3YmYwZTE3NDNhY2Y1Nzg0
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTQtMDItMDMgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBVbmljb2RlLmgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODEwNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbTogUmVt
b3ZlZCBmaWxlcy4KKyAgICAgICAgKiBXVEYudmN4cHJvai9XVEYudmN4cHJvajogRGl0dG8uCisg
ICAgICAgICogV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVyczogRGl0dG8uCisgICAgICAg
ICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIHd0Zi9D
TWFrZUxpc3RzLnR4dDogRGl0dG8uCisKKyAgICAgICAgKiB3dGYvdW5pY29kZS9TY3JpcHRDb2Rl
c0Zyb21JQ1UuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3dGYvdW5pY29kZS9Vbmljb2RlLmg6IFJl
bW92ZWQuCisgICAgICAgICogd3RmL3VuaWNvZGUvVW5pY29kZU1hY3Jvc0Zyb21JQ1UuaDogUmVt
b3ZlZC4KKyAgICAgICAgKiB3dGYvdW5pY29kZS9pY3UvVW5pY29kZUljdS5oOiBSZW1vdmVkLgor
ICAgICAgICAqIHd0Zi91bmljb2RlL3djaGFyL1VuaWNvZGVXY2hhci5jcHA6IFJlbW92ZWQuCisg
ICAgICAgICogd3RmL3VuaWNvZGUvd2NoYXIvVW5pY29kZVdjaGFyLmg6IFJlbW92ZWQuCisKIDIw
MTQtMDEtMjUgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFN0b3Ag
dXNpbmcgVW5pY29kZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3Qu
YW0gYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNTRmZWRiMWIzZjc4NDYw
YzVhOGQ3ZWEwN2RhNjUyZDY2NTE5NjNjMy4uMjM3YWI5OGUxNjIzZjJkNjE1YThhMmRiMTNiYWQx
ZTU2YzFkMGNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCisr
KyBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjUxLDEwICsyNTEsNiBAQCB3
dGZfc291cmNlcyArPSBcCiAgICAgU291cmNlL1dURi93dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1l
cy5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi91bmljb2RlL0NvbGxhdG9yLmggXAogICAgIFNvdXJj
ZS9XVEYvd3RmL3VuaWNvZGUvQ29sbGF0b3JEZWZhdWx0LmNwcCBcCi0gICAgU291cmNlL1dURi93
dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1UuaCBcCiAgICAgU291cmNlL1dURi93dGYvdW5p
Y29kZS9VVEY4LmNwcCBcCiAgICAgU291cmNlL1dURi93dGYvdW5pY29kZS9VVEY4LmggXAotICAg
IFNvdXJjZS9XVEYvd3RmL3VuaWNvZGUvVW5pY29kZS5oIFwKLSAgICBTb3VyY2UvV1RGL3d0Zi91
bmljb2RlL1VuaWNvZGVNYWNyb3NGcm9tSUNVLmggXAotICAgIFNvdXJjZS9XVEYvd3RmL3VuaWNv
ZGUvaWN1L0NvbGxhdG9ySUNVLmNwcCBcCi0gICAgU291cmNlL1dURi93dGYvdW5pY29kZS9pY3Uv
VW5pY29kZUljdS5oCisgICAgU291cmNlL1dURi93dGYvdW5pY29kZS9pY3UvQ29sbGF0b3JJQ1Uu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qIGIvU291
cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagppbmRleCA5OTFhMDM5MjIyNmJlYzk3MDc2
YjY4NjFmNjFhNzc0MGJmNzczOWE2Li40NDBhZmUxZDY0NWY1MmI3NzNmOWUxZDY1NmFmZjQ1MGE3
Nzg1NjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qCisr
KyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2oKQEAgLTMwMSw5ICszMDEsNiBA
QAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHRocmVhZHNcQmluYXJ5U2VtYXBob3Jl
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdW5pY29kZVxDaGFyYWN0ZXJO
YW1lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHVuaWNvZGVcQ29sbGF0
b3IuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx1bmljb2RlXGljdVxVbmlj
b2RlSWN1LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdW5pY29kZVxVbmlj
b2RlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdW5pY29kZVxVbmljb2Rl
TWFjcm9zRnJvbUlDVS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHVuaWNv
ZGVcVVRGOC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXFZhbHVlQ2hlY2su
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxWZWN0b3IuaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycyBiL1NvdXJj
ZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycwppbmRleCA3MDI4MDcyYzBiMmI5
YzE4NWY1YjZkMzhkNTg0NDI3M2I1ZGMwODg0Li4yMjQxYTg1YjdkNWJlMzc1YzYzNzdkYWU3NjBl
MjU1ZTEwZDU1MTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hw
cm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0
ZXJzCkBAIC0zMzYsMjEgKzMzNiwxMiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3Rm
XHRocmVhZHNwZWNpZmljLmgiPgogICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4KICAgICA8L0Ns
SW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx1bmljb2RlXGljdVxVbmlj
b2RlSWN1LmgiPgotICAgICAgPEZpbHRlcj53dGZcdW5pY29kZVxpY3U8L0ZpbHRlcj4KLSAgICA8
L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0Zlx1bmljb2RlXENoYXJh
Y3Rlck5hbWVzLmgiPgogICAgICAgPEZpbHRlcj53dGZcdW5pY29kZTwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHVuaWNvZGVcQ29sbGF0
b3IuaCI+CiAgICAgICA8RmlsdGVyPnd0Zlx1bmljb2RlPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1
ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdW5pY29kZVxVbmljb2RlLmgiPgot
ICAgICAgPEZpbHRlcj53dGZcdW5pY29kZTwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgotICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXHVuaWNvZGVcVW5pY29kZU1hY3Jvc0Zyb21JQ1Uu
aCI+Ci0gICAgICA8RmlsdGVyPnd0Zlx1bmljb2RlPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcdW5pY29kZVxVVEY4LmgiPgogICAgICAg
PEZpbHRlcj53dGZcdW5pY29kZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYv
V1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTQzYzEyM2MyNzk2ZWY3MTM1Y2Mw
MjI0ZDg0NjNiMDZmNmE0NTQ1NC4uZmUyNzU1YzcxN2QxMjZjNzA1OTNjNTMxNzk4NWMxYmNiM2Uz
MGU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNTUs
MTAgKzI1NSw2IEBACiAJCUE4QTQ3NDVGMTUxQTgyNUIwMDQxMjNGRiAvKiBDb2xsYXRvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDczNEExNTFB
ODI1QjAwNDEyM0ZGIC8qIENvbGxhdG9yLmggKi87IH07CiAJCUE4QTQ3NDYwMTUxQTgyNUIwMDQx
MjNGRiAvKiBDb2xsYXRvckRlZmF1bHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQThBNDczNEIxNTFBODI1QjAwNDEyM0ZGIC8qIENvbGxhdG9yRGVm
YXVsdC5jcHAgKi87IH07CiAJCUE4QTQ3NDYzMTUxQTgyNUIwMDQxMjNGRiAvKiBDb2xsYXRvcklD
VS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0
NzM1MDE1MUE4MjVCMDA0MTIzRkYgLyogQ29sbGF0b3JJQ1UuY3BwICovOyB9OwotCQlBOEE0NzQ2
NDE1MUE4MjVCMDA0MTIzRkYgLyogVW5pY29kZUljdS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDczNTExNTFBODI1QjAwNDEyM0ZGIC8qIFVuaWNv
ZGVJY3UuaCAqLzsgfTsKLQkJQThBNDc0NjYxNTFBODI1QjAwNDEyM0ZGIC8qIFNjcmlwdENvZGVz
RnJvbUlDVS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QThBNDczNTQxNTFBODI1QjAwNDEyM0ZGIC8qIFNjcmlwdENvZGVzRnJvbUlDVS5oICovOyB9Owot
CQlBOEE0NzQ2NzE1MUE4MjVCMDA0MTIzRkYgLyogVW5pY29kZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDczNTUxNTFBODI1QjAwNDEyM0ZGIC8q
IFVuaWNvZGUuaCAqLzsgfTsKLQkJQThBNDc0NjgxNTFBODI1QjAwNDEyM0ZGIC8qIFVuaWNvZGVN
YWNyb3NGcm9tSUNVLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBOEE0NzM1NjE1MUE4MjVCMDA0MTIzRkYgLyogVW5pY29kZU1hY3Jvc0Zyb21JQ1UuaCAq
LzsgfTsKIAkJQThBNDc0NjkxNTFBODI1QjAwNDEyM0ZGIC8qIFVURjguY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDczNTcxNTFBODI1QjAwNDEy
M0ZGIC8qIFVURjguY3BwICovOyB9OwogCQlBOEE0NzQ2QTE1MUE4MjVCMDA0MTIzRkYgLyogVVRG
OC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDcz
NTgxNTFBODI1QjAwNDEyM0ZGIC8qIFVURjguaCAqLzsgfTsKIAkJQThBNDc0NkQxNTFBODI1QjAw
NDEyM0ZGIC8qIFVuaW9uRmluZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQThBNDczNUMxNTFBODI1QjAwNDEyM0ZGIC8qIFVuaW9uRmluZC5oICovOyB9
OwpAQCAtNTMzLDEwICs1MjksNiBAQAogCQlBOEE0NzM0QTE1MUE4MjVCMDA0MTIzRkYgLyogQ29s
bGF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29sbGF0b3IuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThBNDczNEIxNTFBODI1QjAwNDEyM0ZGIC8qIENv
bGxhdG9yRGVmYXVsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
b2xsYXRvckRlZmF1bHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEE0NzM1
MDE1MUE4MjVCMDA0MTIzRkYgLyogQ29sbGF0b3JJQ1UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ29sbGF0b3JJQ1UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlBOEE0NzM1MTE1MUE4MjVCMDA0MTIzRkYgLyogVW5pY29kZUljdS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVbmljb2RlSWN1Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCUE4QTQ3MzU0MTUxQTgyNUIwMDQxMjNGRiAvKiBTY3JpcHRDb2Rlc0Zyb21J
Q1UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0Q29kZXNGcm9tSUNV
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE4QTQ3MzU1MTUxQTgyNUIwMDQxMjNG
RiAvKiBVbmljb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVuaWNvZGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQThBNDczNTYxNTFBODI1QjAwNDEyM0ZG
IC8qIFVuaWNvZGVNYWNyb3NGcm9tSUNVLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFVuaWNvZGVNYWNyb3NGcm9tSUNVLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE4QTQ3MzU3MTUxQTgyNUIwMDQxMjNGRiAvKiBVVEY4LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFVURjguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBOEE0NzM1ODE1MUE4MjVCMDA0MTIzRkYgLyogVVRGOC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBVVEY4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4QTQ3
MzVDMTUxQTgyNUIwMDQxMjNGRiAvKiBVbmlvbkZpbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gVW5pb25GaW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05
MzEsOSArOTIzLDYgQEAKIAkJCQlBOEE0NzM0OTE1MUE4MjVCMDA0MTIzRkYgLyogQ2hhcmFjdGVy
TmFtZXMuaCAqLywKIAkJCQlBOEE0NzM0QTE1MUE4MjVCMDA0MTIzRkYgLyogQ29sbGF0b3IuaCAq
LywKIAkJCQlBOEE0NzM0QjE1MUE4MjVCMDA0MTIzRkYgLyogQ29sbGF0b3JEZWZhdWx0LmNwcCAq
LywKLQkJCQlBOEE0NzM1NDE1MUE4MjVCMDA0MTIzRkYgLyogU2NyaXB0Q29kZXNGcm9tSUNVLmgg
Ki8sCi0JCQkJQThBNDczNTUxNTFBODI1QjAwNDEyM0ZGIC8qIFVuaWNvZGUuaCAqLywKLQkJCQlB
OEE0NzM1NjE1MUE4MjVCMDA0MTIzRkYgLyogVW5pY29kZU1hY3Jvc0Zyb21JQ1UuaCAqLywKIAkJ
CQlBOEE0NzM1NzE1MUE4MjVCMDA0MTIzRkYgLyogVVRGOC5jcHAgKi8sCiAJCQkJQThBNDczNTgx
NTFBODI1QjAwNDEyM0ZGIC8qIFVURjguaCAqLywKIAkJCSk7CkBAIC05NDQsNyArOTMzLDYgQEAK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJQThBNDczNTAxNTFBODI1
QjAwNDEyM0ZGIC8qIENvbGxhdG9ySUNVLmNwcCAqLywKLQkJCQlBOEE0NzM1MTE1MUE4MjVCMDA0
MTIzRkYgLyogVW5pY29kZUljdS5oICovLAogCQkJKTsKIAkJCXBhdGggPSBpY3U7CiAJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTA4Myw3ICsxMDcxLDYgQEAKIAkJCQkxNDY5NDE5MjE2
RUFBRjZEMDAyNEUxNDYgLyogUnVuTG9vcFRpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNEYz
QjBGNzE1RTQ1RTQ2MDAyMTAwNjkgLyogU2F0dXJhdGVkQXJpdGhtZXRpYy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMTQ2OTQxOTYxNkVBQUZGODAwMjRFMTQ2IC8qIFNjaGVkdWxlUGFpci5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJQThBNDc0NjYxNTFBODI1QjAwNDEyM0ZGIC8qIFNjcmlwdENvZGVzRnJv
bUlDVS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MUYxNTFBODI1QjAwNDEyM0ZGIC8qIFNl
Z21lbnRlZFZlY3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MjAxNTFBODI1QjAwNDEy
M0ZGIC8qIFNlbnRpbmVsTGlua2VkTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MjIx
NTFBODI1QjAwNDEyM0ZGIC8qIFNIQTEuaCBpbiBIZWFkZXJzICovLApAQCAtMTEyMSw5ICsxMTA4
LDYgQEAKIAkJCQlBOEE0NzQ1NDE1MUE4MjVCMDA0MTIzRkYgLyogVGhyZWFkU2FmZVJlZkNvdW50
ZWQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDU1MTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJl
YWRTcGVjaWZpYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ5RUYxNjMxNkJCRkUwRDAwMEE0MzMx
IC8qIFRyaVN0YXRlLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQ2NzE1MUE4MjVCMDA0MTIz
RkYgLyogVW5pY29kZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0NjQxNTFBODI1QjAwNDEy
M0ZGIC8qIFVuaWNvZGVJY3UuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDY4MTUxQTgyNUIw
MDQxMjNGRiAvKiBVbmljb2RlTWFjcm9zRnJvbUlDVS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThB
NDc0NkQxNTFBODI1QjAwNDEyM0ZGIC8qIFVuaW9uRmluZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThBNDc0NkExNTFBODI1QjAwNDEyM0ZGIC8qIFVURjguaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
QTQ3M0I5MTUxQTgyNUIwMDQxMjNGRiAvKiB1dGlscy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XVEYvd3RmL0NNYWtl
TGlzdHMudHh0CmluZGV4IDBlZmFiYjE5ZTUyNDE1MGZhMWQxYmYwZmNjZWUxZjg1YTM2OGZhMWYu
LjM1YmE0ZTQ2ZjE5MjZkZDBjZTMwODhiYjEzNzdjY2FiYmVlNWIxMTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlz
dHMudHh0CkBAIC0xNDIsNyArMTQyLDYgQEAgc2V0KFdURl9IRUFERVJTCiAgICAgdW5pY29kZS9D
aGFyYWN0ZXJOYW1lcy5oCiAgICAgdW5pY29kZS9Db2xsYXRvci5oCiAgICAgdW5pY29kZS9VVEY4
LmgKLSAgICB1bmljb2RlL1VuaWNvZGUuaAogKQogCiBzZXQoV1RGX1NPVVJDRVMKQEAgLTIyMyw5
ICsyMjIsNiBAQCBzZXQoV1RGX0xJQlJBUklFUwogICAgICR7Q01BS0VfRExfTElCU30KICkKIAot
bGlzdChBUFBFTkQgV1RGX0hFQURFUlMKLSAgICB1bmljb2RlL2ljdS9Vbmljb2RlSWN1LmgKLSkK
IGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAgdW5pY29kZS9pY3UvQ29sbGF0b3JJQ1UuY3Bw
CiApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL1NjcmlwdENvZGVzRnJvbUlD
VS5oIGIvU291cmNlL1dURi93dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1UuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDc2MDM5OWExMDBlODVhNzA1ZGQwY2JmNzQwYzdhM2Vl
ZWNlNjhiNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi91bmljb2RlL1NjcmlwdENvZGVzRnJvbUlDVS5oCisrKyAvZGV2L251bGwK
QEAgLTEsMTUzICswLDAgQEAKLS8qCi0gKiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDA2LCBJbnRl
cm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCi0gKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMu
ICBBbGwgUmlnaHRzIFJlc2VydmVkLgotICovCi0KLSNpZm5kZWYgV1RGX1NjcmlwdENvZGVzRnJv
bUlDVV9oCi0jZGVmaW5lIFdURl9TY3JpcHRDb2Rlc0Zyb21JQ1VfaAotCi0vKioKLSAqIENvbnN0
YW50cyBmb3IgSVNPIDE1OTI0IHNjcmlwdCBjb2Rlcy4KLSAqCi0gKiBNYW55IG9mIHRoZXNlIHNj
cmlwdCBjb2RlcyAtIHRob3NlIGZyb20gVW5pY29kZSdzIFNjcmlwdE5hbWVzLnR4dCAtCi0gKiBh
cmUgY2hhcmFjdGVyIHByb3BlcnR5IHZhbHVlcyBmb3IgVW5pY29kZSdzIFNjcmlwdCBwcm9wZXJ0
eS4KLSAqIFNlZSBVQVggIzI0IFNjcmlwdCBOYW1lcyAoaHR0cDovL3d3dy51bmljb2RlLm9yZy9y
ZXBvcnRzL3RyMjQvKS4KLSAqCi0gKiBTdGFydGluZyB3aXRoIElDVSAzLjYsIGNvbnN0YW50cyBm
b3IgbW9zdCBJU08gMTU5MjQgc2NyaXB0IGNvZGVzCi0gKiBhcmUgaW5jbHVkZWQgKGN1cnJlbnRs
eSBleGNsdWRpbmcgcHJpdmF0ZS11c2UgY29kZXMgUWFhYS4uUWFieCkuCi0gKiBGb3Igc2NyaXB0
cyBmb3Igd2hpY2ggdGhlcmUgYXJlIGNvZGVzIGluIElTTyAxNTkyNCBidXQgd2hpY2ggYXJlIG5v
dAotICogdXNlZCBpbiB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCksIHRoZXJl
IGFyZSBubyBVbmljb2RlIGNoYXJhY3RlcnMKLSAqIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSBzY3Jp
cHRzLgotICoKLSAqIEZvciBleGFtcGxlLCB0aGVyZSBhcmUgbm8gY2hhcmFjdGVycyB0aGF0IGhh
dmUgYSBVQ0Qgc2NyaXB0IGNvZGUgb2YKLSAqIEhhbnMgb3IgSGFudC4gQWxsIEhhbiBpZGVvZ3Jh
cGhzIGhhdmUgdGhlIEhhbmkgc2NyaXB0IGNvZGUuCi0gKiBUaGUgSGFucyBhbmQgSGFudCBzY3Jp
cHQgY29kZXMgYXJlIHVzZWQgd2l0aCBDTERSIGRhdGEuCi0gKgotICogSVNPIDE1OTI0IHNjcmlw
dCBjb2RlcyBhcmUgaW5jbHVkZWQgZm9yIHVzZSB3aXRoIENMRFIgYW5kIHNpbWlsYXIuCi0gKgot
ICogQHN0YWJsZSBJQ1UgMi4yCi0gKi8KLXR5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7Ci0gICAg
ICBVU0NSSVBUX0lOVkFMSURfQ09ERSA9IC0xLAotICAgICAgVVNDUklQVF9DT01NT04gICAgICAg
PSAgMCAsIC8qIFp5eXkgKi8KLSAgICAgIFVTQ1JJUFRfSU5IRVJJVEVEICAgID0gIDEsICAvKiBR
YWFpICovCi0gICAgICBVU0NSSVBUX0FSQUJJQyAgICAgICA9ICAyLCAgLyogQXJhYiAqLwotICAg
ICAgVVNDUklQVF9BUk1FTklBTiAgICAgPSAgMywgIC8qIEFybW4gKi8KLSAgICAgIFVTQ1JJUFRf
QkVOR0FMSSAgICAgID0gIDQsICAvKiBCZW5nICovCi0gICAgICBVU0NSSVBUX0JPUE9NT0ZPICAg
ICA9ICA1LCAgLyogQm9wbyAqLwotICAgICAgVVNDUklQVF9DSEVST0tFRSAgICAgPSAgNiwgIC8q
IENoZXIgKi8KLSAgICAgIFVTQ1JJUFRfQ09QVElDICAgICAgID0gIDcsICAvKiBDb3B0ICovCi0g
ICAgICBVU0NSSVBUX0NZUklMTElDICAgICA9ICA4LCAgLyogQ3lybCAqLwotICAgICAgVVNDUklQ
VF9ERVNFUkVUICAgICAgPSAgOSwgIC8qIERzcnQgKi8KLSAgICAgIFVTQ1JJUFRfREVWQU5BR0FS
SSAgID0gMTAsICAvKiBEZXZhICovCi0gICAgICBVU0NSSVBUX0VUSElPUElDICAgICA9IDExLCAg
LyogRXRoaSAqLwotICAgICAgVVNDUklQVF9HRU9SR0lBTiAgICAgPSAxMiwgIC8qIEdlb3IgKi8K
LSAgICAgIFVTQ1JJUFRfR09USElDICAgICAgID0gMTMsICAvKiBHb3RoICovCi0gICAgICBVU0NS
SVBUX0dSRUVLICAgICAgICA9IDE0LCAgLyogR3JlayAqLwotICAgICAgVVNDUklQVF9HVUpBUkFU
SSAgICAgPSAxNSwgIC8qIEd1anIgKi8KLSAgICAgIFVTQ1JJUFRfR1VSTVVLSEkgICAgID0gMTYs
ICAvKiBHdXJ1ICovCi0gICAgICBVU0NSSVBUX0hBTiAgICAgICAgICA9IDE3LCAgLyogSGFuaSAq
LwotICAgICAgVVNDUklQVF9IQU5HVUwgICAgICAgPSAxOCwgIC8qIEhhbmcgKi8KLSAgICAgIFVT
Q1JJUFRfSEVCUkVXICAgICAgID0gMTksICAvKiBIZWJyICovCi0gICAgICBVU0NSSVBUX0hJUkFH
QU5BICAgICA9IDIwLCAgLyogSGlyYSAqLwotICAgICAgVVNDUklQVF9LQU5OQURBICAgICAgPSAy
MSwgIC8qIEtuZGEgKi8KLSAgICAgIFVTQ1JJUFRfS0FUQUtBTkEgICAgID0gMjIsICAvKiBLYW5h
ICovCi0gICAgICBVU0NSSVBUX0tITUVSICAgICAgICA9IDIzLCAgLyogS2htciAqLwotICAgICAg
VVNDUklQVF9MQU8gICAgICAgICAgPSAyNCwgIC8qIExhb28gKi8KLSAgICAgIFVTQ1JJUFRfTEFU
SU4gICAgICAgID0gMjUsICAvKiBMYXRuICovCi0gICAgICBVU0NSSVBUX01BTEFZQUxBTSAgICA9
IDI2LCAgLyogTWx5bSAqLwotICAgICAgVVNDUklQVF9NT05HT0xJQU4gICAgPSAyNywgIC8qIE1v
bmcgKi8KLSAgICAgIFVTQ1JJUFRfTVlBTk1BUiAgICAgID0gMjgsICAvKiBNeW1yICovCi0gICAg
ICBVU0NSSVBUX09HSEFNICAgICAgICA9IDI5LCAgLyogT2dhbSAqLwotICAgICAgVVNDUklQVF9P
TERfSVRBTElDICAgPSAzMCwgIC8qIEl0YWwgKi8KLSAgICAgIFVTQ1JJUFRfT1JJWUEgICAgICAg
ID0gMzEsICAvKiBPcnlhICovCi0gICAgICBVU0NSSVBUX1JVTklDICAgICAgICA9IDMyLCAgLyog
UnVuciAqLwotICAgICAgVVNDUklQVF9TSU5IQUxBICAgICAgPSAzMywgIC8qIFNpbmggKi8KLSAg
ICAgIFVTQ1JJUFRfU1lSSUFDICAgICAgID0gMzQsICAvKiBTeXJjICovCi0gICAgICBVU0NSSVBU
X1RBTUlMICAgICAgICA9IDM1LCAgLyogVGFtbCAqLwotICAgICAgVVNDUklQVF9URUxVR1UgICAg
ICAgPSAzNiwgIC8qIFRlbHUgKi8KLSAgICAgIFVTQ1JJUFRfVEhBQU5BICAgICAgID0gMzcsICAv
KiBUaGFhICovCi0gICAgICBVU0NSSVBUX1RIQUkgICAgICAgICA9IDM4LCAgLyogVGhhaSAqLwot
ICAgICAgVVNDUklQVF9USUJFVEFOICAgICAgPSAzOSwgIC8qIFRpYnQgKi8KLSAgICAgIC8qKiBD
YW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdC4gQHN0YWJsZSBJQ1UgMi42ICovCi0gICAgICBVU0NS
SVBUX0NBTkFESUFOX0FCT1JJR0lOQUwgPSA0MCwgIC8qIENhbnMgKi8KLSAgICAgIC8qKiBDYW5h
ZGlhbl9BYm9yaWdpbmFsIHNjcmlwdCAoYWxpYXMpLiBAc3RhYmxlIElDVSAyLjIgKi8KLSAgICAg
IFVTQ1JJUFRfVUNBUyAgICAgICAgID0gVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMLAotICAg
ICAgVVNDUklQVF9ZSSAgICAgICAgICAgPSA0MSwgIC8qIFlpaWkgKi8KLSAgICAgIFVTQ1JJUFRf
VEFHQUxPRyAgICAgID0gNDIsICAvKiBUZ2xnICovCi0gICAgICBVU0NSSVBUX0hBTlVOT08gICAg
ICA9IDQzLCAgLyogSGFubyAqLwotICAgICAgVVNDUklQVF9CVUhJRCAgICAgICAgPSA0NCwgIC8q
IEJ1aGQgKi8KLSAgICAgIFVTQ1JJUFRfVEFHQkFOV0EgICAgID0gNDUsICAvKiBUYWdiICovCi0K
LSAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVuaWNvZGUgNCBAc3RhYmxlIElDVSAyLjYgKi8KLSAg
ICAgIFVTQ1JJUFRfQlJBSUxMRSAgICAgID0gNDYsICAvKiBCcmFpICovCi0gICAgICBVU0NSSVBU
X0NZUFJJT1QgICAgICA9IDQ3LCAgLyogQ3BydCAqLwotICAgICAgVVNDUklQVF9MSU1CVSAgICAg
ICAgPSA0OCwgIC8qIExpbWIgKi8KLSAgICAgIFVTQ1JJUFRfTElORUFSX0IgICAgID0gNDksICAv
KiBMaW5iICovCi0gICAgICBVU0NSSVBUX09TTUFOWUEgICAgICA9IDUwLCAgLyogT3NtYSAqLwot
ICAgICAgVVNDUklQVF9TSEFWSUFOICAgICAgPSA1MSwgIC8qIFNoYXcgKi8KLSAgICAgIFVTQ1JJ
UFRfVEFJX0xFICAgICAgID0gNTIsICAvKiBUYWxlICovCi0gICAgICBVU0NSSVBUX1VHQVJJVElD
ICAgICA9IDUzLCAgLyogVWdhciAqLwotCi0gICAgICAvKiogTmV3IHNjcmlwdCBjb2RlIGluIFVu
aWNvZGUgNC4wLjEgQHN0YWJsZSBJQ1UgMy4wICovCi0gICAgICBVU0NSSVBUX0tBVEFLQU5BX09S
X0hJUkFHQU5BID0gNTQsLypIcmt0ICovCi0gICAgICAKLSNpZm5kZWYgVV9ISURFX0RSQUZUX0FQ
SQotICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0LjEgQGRyYWZ0IElDVSAzLjQgKi8K
LSAgICAgIFVTQ1JJUFRfQlVHSU5FU0UgICAgICA9IDU1LCAvKiBCdWdpICovCi0gICAgICBVU0NS
SVBUX0dMQUdPTElUSUMgICAgPSA1NiwgLyogR2xhZyAqLwotICAgICAgVVNDUklQVF9LSEFST1NI
VEhJICAgID0gNTcsIC8qIEtoYXIgKi8KLSAgICAgIFVTQ1JJUFRfU1lMT1RJX05BR1JJICA9IDU4
LCAvKiBTeWxvICovCi0gICAgICBVU0NSSVBUX05FV19UQUlfTFVFICAgPSA1OSwgLyogVGFsdSAq
LwotICAgICAgVVNDUklQVF9USUZJTkFHSCAgICAgID0gNjAsIC8qIFRmbmcgKi8KLSAgICAgIFVT
Q1JJUFRfT0xEX1BFUlNJQU4gICA9IDYxLCAvKiBYcGVvICovCi0KLSAgICAgIC8qIE5ldyBzY3Jp
cHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQGRyYWZ0IElDVSAzLjYgKi8KLSAgICAgIFVTQ1JJUFRf
QkFMSU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSA2MiwgLyogQmFsaSAqLwotICAgICAgVVND
UklQVF9CQVRBSyAgICAgICAgICAgICAgICAgICAgICAgICA9IDYzLCAvKiBCYXRrICovCi0gICAg
ICBVU0NSSVBUX0JMSVNTWU1CT0xTICAgICAgICAgICAgICAgICAgID0gNjQsIC8qIEJsaXMgKi8K
LSAgICAgIFVTQ1JJUFRfQlJBSE1JICAgICAgICAgICAgICAgICAgICAgICAgPSA2NSwgLyogQnJh
aCAqLwotICAgICAgVVNDUklQVF9DSEFNICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY2LCAv
KiBDaGFtICovCi0gICAgICBVU0NSSVBUX0NJUlRIICAgICAgICAgICAgICAgICAgICAgICAgID0g
NjcsIC8qIENpcnQgKi8KLSAgICAgIFVTQ1JJUFRfT0xEX0NIVVJDSF9TTEFWT05JQ19DWVJJTExJ
QyAgPSA2OCwgLyogQ3lycyAqLwotICAgICAgVVNDUklQVF9ERU1PVElDX0VHWVBUSUFOICAgICAg
ICAgICAgICA9IDY5LCAvKiBFZ3lkICovCi0gICAgICBVU0NSSVBUX0hJRVJBVElDX0VHWVBUSUFO
ICAgICAgICAgICAgID0gNzAsIC8qIEVneWggKi8KLSAgICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElF
Uk9HTFlQSFMgICAgICAgICAgPSA3MSwgLyogRWd5cCAqLwotICAgICAgVVNDUklQVF9LSFVUU1VS
SSAgICAgICAgICAgICAgICAgICAgICA9IDcyLCAvKiBHZW9rICovCi0gICAgICBVU0NSSVBUX1NJ
TVBMSUZJRURfSEFOICAgICAgICAgICAgICAgID0gNzMsIC8qIEhhbnMgKi8KLSAgICAgIFVTQ1JJ
UFRfVFJBRElUSU9OQUxfSEFOICAgICAgICAgICAgICAgPSA3NCwgLyogSGFudCAqLwotICAgICAg
VVNDUklQVF9QQUhBV0hfSE1PTkcgICAgICAgICAgICAgICAgICA9IDc1LCAvKiBIbW5nICovCi0g
ICAgICBVU0NSSVBUX09MRF9IVU5HQVJJQU4gICAgICAgICAgICAgICAgID0gNzYsIC8qIEh1bmcg
Ki8KLSAgICAgIFVTQ1JJUFRfSEFSQVBQQU5fSU5EVVMgICAgICAgICAgICAgICAgPSA3NywgLyog
SW5kcyAqLwotICAgICAgVVNDUklQVF9KQVZBTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDc4
LCAvKiBKYXZhICovCi0gICAgICBVU0NSSVBUX0tBWUFIX0xJICAgICAgICAgICAgICAgICAgICAg
ID0gNzksIC8qIEthbGkgKi8KLSAgICAgIFVTQ1JJUFRfTEFUSU5fRlJBS1RVUiAgICAgICAgICAg
ICAgICAgPSA4MCwgLyogTGF0ZiAqLwotICAgICAgVVNDUklQVF9MQVRJTl9HQUVMSUMgICAgICAg
ICAgICAgICAgICA9IDgxLCAvKiBMYXRnICovCi0gICAgICBVU0NSSVBUX0xFUENIQSAgICAgICAg
ICAgICAgICAgICAgICAgID0gODIsIC8qIExlcGMgKi8KLSAgICAgIFVTQ1JJUFRfTElORUFSX0Eg
ICAgICAgICAgICAgICAgICAgICAgPSA4MywgLyogTGluYSAqLwotICAgICAgVVNDUklQVF9NQU5E
QUVBTiAgICAgICAgICAgICAgICAgICAgICA9IDg0LCAvKiBNYW5kICovCi0gICAgICBVU0NSSVBU
X01BWUFOX0hJRVJPR0xZUEhTICAgICAgICAgICAgID0gODUsIC8qIE1heWEgKi8KLSAgICAgIFVT
Q1JJUFRfTUVST0lUSUMgICAgICAgICAgICAgICAgICAgICAgPSA4NiwgLyogTWVybyAqLwotICAg
ICAgVVNDUklQVF9OS08gICAgICAgICAgICAgICAgICAgICAgICAgICA9IDg3LCAvKiBOa29vICov
Ci0gICAgICBVU0NSSVBUX09SS0hPTiAgICAgICAgICAgICAgICAgICAgICAgID0gODgsIC8qIE9y
a2ggKi8KLSAgICAgIFVTQ1JJUFRfT0xEX1BFUk1JQyAgICAgICAgICAgICAgICAgICAgPSA4OSwg
LyogUGVybSAqLwotICAgICAgVVNDUklQVF9QSEFHU19QQSAgICAgICAgICAgICAgICAgICAgICA9
IDkwLCAvKiBQaGFnICovCi0gICAgICBVU0NSSVBUX1BIT0VOSUNJQU4gICAgICAgICAgICAgICAg
ICAgID0gOTEsIC8qIFBobnggKi8KLSAgICAgIFVTQ1JJUFRfUEhPTkVUSUNfUE9MTEFSRCAgICAg
ICAgICAgICAgPSA5MiwgLyogUGxyZCAqLwotICAgICAgVVNDUklQVF9ST05HT1JPTkdPICAgICAg
ICAgICAgICAgICAgICA9IDkzLCAvKiBSb3JvICovCi0gICAgICBVU0NSSVBUX1NBUkFUSSAgICAg
ICAgICAgICAgICAgICAgICAgID0gOTQsIC8qIFNhcmEgKi8KLSAgICAgIFVTQ1JJUFRfRVNUUkFO
R0VMT19TWVJJQUMgICAgICAgICAgICAgPSA5NSwgLyogU3lyZSAqLwotICAgICAgVVNDUklQVF9X
RVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk2LCAvKiBTeXJqICovCi0gICAgICBVU0NS
SVBUX0VBU1RFUk5fU1lSSUFDICAgICAgICAgICAgICAgID0gOTcsIC8qIFN5cm4gKi8KLSAgICAg
IFVTQ1JJUFRfVEVOR1dBUiAgICAgICAgICAgICAgICAgICAgICAgPSA5OCwgLyogVGVuZyAqLwot
ICAgICAgVVNDUklQVF9WQUkgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDk5LCAvKiBWYWlp
ICovCi0gICAgICBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNIICAgICAgICAgICAgICAgID0gMTAwLCAv
KiBWaXNwICovCi0gICAgICBVU0NSSVBUX0NVTkVJRk9STSAgICAgICAgICAgICAgICAgICAgID0g
MTAxLC8qIFhzdXggKi8KLSAgICAgIFVTQ1JJUFRfVU5XUklUVEVOX0xBTkdVQUdFUyAgICAgICAg
ICAgPSAxMDIsLyogWnh4eCAqLwotICAgICAgVVNDUklQVF9VTktOT1dOICAgICAgICAgICAgICAg
ICAgICAgICA9IDEwMywvKiBaenp6ICovIC8qIFVua25vd249IkNvZGUgZm9yIHVuY29kZWQgc2Ny
aXB0IiwgZm9yIHVuYXNzaWduZWQgY29kZSBwb2ludHMgKi8KLSAgICAgIC8qIFByaXZhdGUgdXNl
IGNvZGVzIGZyb20gUWFhYSAtIFFhYnggYXJlIG5vdCBzdXBwb3J0ZWQqLwotI2VuZGlmIC8qIFVf
SElERV9EUkFGVF9BUEkgKi8KLSAgICAgIFVTQ1JJUFRfQ09ERV9MSU1JVCAgICA9IDEwNAotfSBV
U2NyaXB0Q29kZTsKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi91bmljb2Rl
L1VuaWNvZGUuaCBiL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvVW5pY29kZS5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4NGY3NzczNDIyYzRlOGU0MTkyMzg5MWZkZTk2Yjk3NTExNjlk
YWI0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XVEYvd3RmL3VuaWNvZGUvVW5pY29kZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBA
QAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDYgR2VvcmdlIFN0YWlrb3MgPHN0YWlrb3NAa2Rl
Lm9yZz4KLSAqICBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICogIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmls
ZSwgSW5jLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgot
ICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqICBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQotICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqICBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXVEZfVU5JQ09ERV9ICi0jZGVmaW5lIFdU
Rl9VTklDT0RFX0gKLQotI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0KLS8vIERlZmluZSBw
bGF0Zm9ybSBuZXV0cmFsIDggYml0IGNoYXJhY3RlciB0eXBlIChMIGlzIGZvciBMYXRpbi0xKS4K
LXR5cGVkZWYgdW5zaWduZWQgY2hhciBMQ2hhcjsKLQotI2luY2x1ZGUgPHd0Zi91bmljb2RlL2lj
dS9Vbmljb2RlSWN1Lmg+Ci0KLXN0YXRpY19hc3NlcnQoc2l6ZW9mKFVDaGFyKSA9PSAyLCAiVUNo
YXIgbXVzdCBiZSB0d28gYnl0ZXMhIik7Ci0KLSNlbmRpZiAvLyBXVEZfVU5JQ09ERV9ICmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL1VuaWNvZGVNYWNyb3NGcm9tSUNVLmggYi9T
b3VyY2UvV1RGL3d0Zi91bmljb2RlL1VuaWNvZGVNYWNyb3NGcm9tSUNVLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDA5YTcwMzZlMzMwMjg2OTAxODAxZDI0MWY3YmVmZmUyNmEzYjUw
NWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dURi93dGYvdW5pY29kZS9Vbmljb2RlTWFjcm9zRnJvbUlDVS5oCisrKyAvZGV2L251bGwKQEAg
LTEsMTAwICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMDQsIEludGVybmF0
aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdo
dHMgUmVzZXJ2ZWQuCi0gKgotICovCi0KLSNpZm5kZWYgVW5pY29kZU1hY3Jvc0Zyb21JQ1VfaAot
I2RlZmluZSBVbmljb2RlTWFjcm9zRnJvbUlDVV9oCi0KLS8vIHNvbWUgZGVmaW5lcyBmcm9tIElD
VQotCi0jZGVmaW5lIFVfSVNfQk1QKGMpICgoVUNoYXIzMikoYyk8PTB4ZmZmZikKLSNkZWZpbmUg
VTE2X0lTX0xFQUQoYykgKCgoYykmMHhmZmZmZmMwMCk9PTB4ZDgwMCkKLSNkZWZpbmUgVTE2X0lT
X1RSQUlMKGMpICgoKGMpJjB4ZmZmZmZjMDApPT0weGRjMDApCi0jZGVmaW5lIFUxNl9TVVJST0dB
VEVfT0ZGU0VUICgoMHhkODAwPDwxMFVMKSsweGRjMDAtMHgxMDAwMCkKLSNkZWZpbmUgVTE2X0dF
VF9TVVBQTEVNRU5UQVJZKGxlYWQsIHRyYWlsKSBcCi0gICAgKCgoVUNoYXIzMikobGVhZCk8PDEw
VUwpKyhVQ2hhcjMyKSh0cmFpbCktVTE2X1NVUlJPR0FURV9PRkZTRVQpCi0KLSNkZWZpbmUgVTE2
X0xFQUQoc3VwcGxlbWVudGFyeSkgKFVDaGFyKSgoKHN1cHBsZW1lbnRhcnkpPj4xMCkrMHhkN2Mw
KQotI2RlZmluZSBVMTZfVFJBSUwoc3VwcGxlbWVudGFyeSkgKFVDaGFyKSgoKHN1cHBsZW1lbnRh
cnkpJjB4M2ZmKXwweGRjMDApCi0jZGVmaW5lIFUxNl9MRU5HVEgoYykgKCh1aW50MzJfdCkoYykg
PD0gMHhmZmZmID8gMSA6IDIpCi0KLSNkZWZpbmUgVV9JU19TVVBQTEVNRU5UQVJZKGMpICgoVUNo
YXIzMikoKGMpLTB4MTAwMDApPD0weGZmZmZmKQotI2RlZmluZSBVX0lTX1NVUlJPR0FURShjKSAo
KChjKSYweGZmZmZmODAwKT09MHhkODAwKQotI2RlZmluZSBVMTZfSVNfU0lOR0xFKGMpICFVX0lT
X1NVUlJPR0FURShjKQotI2RlZmluZSBVMTZfSVNfU1VSUk9HQVRFKGMpIFVfSVNfU1VSUk9HQVRF
KGMpCi0jZGVmaW5lIFUxNl9JU19TVVJST0dBVEVfTEVBRChjKSAoKChjKSYweDQwMCk9PTApCi0K
LSNkZWZpbmUgVTE2X0dFVChzLCBzdGFydCwgaSwgbGVuZ3RoLCBjKSB7IFwKLSAgICAoYyk9KHMp
W2ldOyBcCi0gICAgaWYoVTE2X0lTX1NVUlJPR0FURShjKSkgeyBcCi0gICAgICAgIHVpbnQxNl90
IF9fYzI7IFwKLSAgICAgICAgaWYoVTE2X0lTX1NVUlJPR0FURV9MRUFEKGMpKSB7IFwKLSAgICAg
ICAgICAgIGlmKChpKSsxPChsZW5ndGgpICYmIFUxNl9JU19UUkFJTChfX2MyPShzKVsoaSkrMV0p
KSB7IFwKLSAgICAgICAgICAgICAgICAoYyk9VTE2X0dFVF9TVVBQTEVNRU5UQVJZKChjKSwgX19j
Mik7IFwKLSAgICAgICAgICAgIH0gXAotICAgICAgICB9IGVsc2UgeyBcCi0gICAgICAgICAgICBp
ZigoaSktMT49KHN0YXJ0KSAmJiBVMTZfSVNfTEVBRChfX2MyPShzKVsoaSktMV0pKSB7IFwKLSAg
ICAgICAgICAgICAgICAoYyk9VTE2X0dFVF9TVVBQTEVNRU5UQVJZKF9fYzIsIChjKSk7IFwKLSAg
ICAgICAgICAgIH0gXAotICAgICAgICB9IFwKLSAgICB9IFwKLX0KLQotI2RlZmluZSBVMTZfUFJF
VihzLCBzdGFydCwgaSwgYykgeyBcCi0gICAgKGMpPShzKVstLShpKV07IFwKLSAgICBpZihVMTZf
SVNfVFJBSUwoYykpIHsgXAotICAgICAgICB1aW50MTZfdCBfX2MyOyBcCi0gICAgICAgIGlmKChp
KT4oc3RhcnQpICYmIFUxNl9JU19MRUFEKF9fYzI9KHMpWyhpKS0xXSkpIHsgXAotICAgICAgICAg
ICAgLS0oaSk7IFwKLSAgICAgICAgICAgIChjKT1VMTZfR0VUX1NVUFBMRU1FTlRBUlkoX19jMiwg
KGMpKTsgXAotICAgICAgICB9IFwKLSAgICB9IFwKLX0KLQotI2RlZmluZSBVMTZfQkFDS18xKHMs
IHN0YXJ0LCBpKSB7IFwKLSAgICBpZihVMTZfSVNfVFJBSUwoKHMpWy0tKGkpXSkgJiYgKGkpPihz
dGFydCkgJiYgVTE2X0lTX0xFQUQoKHMpWyhpKS0xXSkpIHsgXAotICAgICAgICAtLShpKTsgXAot
ICAgIH0gXAotfQotCi0jZGVmaW5lIFUxNl9ORVhUKHMsIGksIGxlbmd0aCwgYykgeyBcCi0gICAg
KGMpPShzKVsoaSkrK107IFwKLSAgICBpZihVMTZfSVNfTEVBRChjKSkgeyBcCi0gICAgICAgIHVp
bnQxNl90IF9fYzI7IFwKLSAgICAgICAgaWYoKGkpPChsZW5ndGgpICYmIFUxNl9JU19UUkFJTChf
X2MyPShzKVsoaSldKSkgeyBcCi0gICAgICAgICAgICArKyhpKTsgXAotICAgICAgICAgICAgKGMp
PVUxNl9HRVRfU1VQUExFTUVOVEFSWSgoYyksIF9fYzIpOyBcCi0gICAgICAgIH0gXAotICAgIH0g
XAotfQotCi0jZGVmaW5lIFUxNl9GV0RfMShzLCBpLCBsZW5ndGgpIHsgXAotICAgIGlmKFUxNl9J
U19MRUFEKChzKVsoaSkrK10pICYmIChpKTwobGVuZ3RoKSAmJiBVMTZfSVNfVFJBSUwoKHMpW2ld
KSkgeyBcCi0gICAgICAgICsrKGkpOyBcCi0gICAgfSBcCi19Ci0KLSNkZWZpbmUgVV9NQVNLKHgp
ICgodWludDMyX3QpMTw8KHgpKQotCi0jZGVmaW5lIFU4X01BWF9MRU5HVEggNAotCi0jZGVmaW5l
IFU4X0FQUEVORF9VTlNBRkUocywgaSwgYykgeyBcCi0gICAgaWYoKHVpbnQzMl90KShjKTw9MHg3
ZikgeyBcCi0gICAgICAgIChzKVsoaSkrK109KHVpbnQ4X3QpKGMpOyBcCi0gICAgfSBlbHNlIHsg
XAotICAgICAgICBpZigodWludDMyX3QpKGMpPD0weDdmZikgeyBcCi0gICAgICAgICAgICAocylb
KGkpKytdPSh1aW50OF90KSgoKGMpPj42KXwweGMwKTsgXAotICAgICAgICB9IGVsc2UgeyBcCi0g
ICAgICAgICAgICBpZigodWludDMyX3QpKGMpPD0weGZmZmYpIHsgXAotICAgICAgICAgICAgICAg
IChzKVsoaSkrK109KHVpbnQ4X3QpKCgoYyk+PjEyKXwweGUwKTsgXAotICAgICAgICAgICAgfSBl
bHNlIHsgXAotICAgICAgICAgICAgICAgIChzKVsoaSkrK109KHVpbnQ4X3QpKCgoYyk+PjE4KXww
eGYwKTsgXAotICAgICAgICAgICAgICAgIChzKVsoaSkrK109KHVpbnQ4X3QpKCgoKGMpPj4xMikm
MHgzZil8MHg4MCk7IFwKLSAgICAgICAgICAgIH0gXAotICAgICAgICAgICAgKHMpWyhpKSsrXT0o
dWludDhfdCkoKCgoYyk+PjYpJjB4M2YpfDB4ODApOyBcCi0gICAgICAgIH0gXAotICAgICAgICAo
cylbKGkpKytdPSh1aW50OF90KSgoKGMpJjB4M2YpfDB4ODApOyBcCi0gICAgfSBcCi19Ci0jZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L1VuaWNvZGVJY3UuaCBi
L1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L1VuaWNvZGVJY3UuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMGEzODZiNTlkYzI3M2MwMjgzNzg1MjE0MDE2M2NlYmM0NzE3NTdjNy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi91bmljb2RlL2ljdS9Vbmljb2RlSWN1LmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCww
IEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiBHZW9yZ2UgU3RhaWtvcyA8c3RhaWtvc0Br
ZGUub3JnPgotICogIENvcHlyaWdodCAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEBu
eXBvcC5jb20+Ci0gKiAgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiAgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0gKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0g
KiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgot
ICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0g
KiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV1RGX1VO
SUNPREVfSUNVX0gKLSNkZWZpbmUgV1RGX1VOSUNPREVfSUNVX0gKLQotI2luY2x1ZGUgPHN0ZGxp
Yi5oPgotI2luY2x1ZGUgPHVuaWNvZGUvdWNoYXIuaD4KLSNpbmNsdWRlIDx1bmljb2RlL3VzY3Jp
cHQuaD4KLSNpbmNsdWRlIDx1bmljb2RlL3VzdHJpbmcuaD4KLSNpbmNsdWRlIDx1bmljb2RlL3V0
ZjE2Lmg+Ci0KLSNlbmRpZiAvLyBXVEZfVU5JQ09ERV9JQ1VfSApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvdW5pY29kZS93Y2hhci9Vbmljb2RlV2NoYXIuY3BwIGIvU291cmNlL1dURi93dGYv
dW5pY29kZS93Y2hhci9Vbmljb2RlV2NoYXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBkZmRjNzNkMDZmMTM4ODliZThjNDJhZWY3MTI3NTVkMDZhOTliMTIxLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XVEYvd3RmL3VuaWNv
ZGUvd2NoYXIvVW5pY29kZVdjaGFyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExNSArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFBhdHJpY2sgR2Fuc3RlcmVyIDxwYXJvZ2FAcGFy
b2dhLmNvbT4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAot
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVW5pY29kZVdjaGFyLmgiCi0KLSNp
bmNsdWRlIDxhbGdvcml0aG0+Ci0KLWludCB1bm9ybV9ub3JtYWxpemUoY29uc3QgVUNoYXIqLCBp
bnQzMl90LCBVTm9ybWFsaXphdGlvbk1vZGUsIGludDMyX3QsIFVDaGFyKiwgaW50MzJfdCwgVUVy
cm9yQ29kZSopCi17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19
Ci0KLVVDaGFyRGlyZWN0aW9uIHVfY2hhckRpcmVjdGlvbihVQ2hhcjMyKQotewotICAgIHJldHVy
biBVX0xFRlRfVE9fUklHSFQ7IC8vIEZJWE1FOiBpbXBsZW1lbnQhCi19Ci0KLVVDaGFyMzIgdV9j
aGFyTWlycm9yKFVDaGFyMzIgY2hhcmFjdGVyKQotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQg
dGhpcy4KLSAgICByZXR1cm4gY2hhcmFjdGVyOwotfQotCi1pbnQ4X3QgdV9jaGFyVHlwZShVQ2hh
cjMyKQotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KLSAgICByZXR1cm4gVV9DSEFS
X0NBVEVHT1JZX1VOS05PV047Ci19Ci0KLXVpbnQ4X3QgdV9nZXRDb21iaW5pbmdDbGFzcyhVQ2hh
cjMyKQotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KLSAgICByZXR1cm4gMDsKLX0K
LQotaW50IHVfZ2V0SW50UHJvcGVydHlWYWx1ZShVQ2hhcjMyLCBVUHJvcGVydHkgcHJvcGVydHkp
Ci17Ci0gICAgc3dpdGNoIChwcm9wZXJ0eSkgewotICAgIGNhc2UgVUNIQVJfREVDT01QT1NJVElP
Tl9UWVBFOgotICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCi0gICAgICAgIHJldHVy
biBVX0RUX05PTkU7Ci0gICAgY2FzZSBVQ0hBUl9MSU5FX0JSRUFLOgotICAgICAgICAvLyBGSVhN
RTogSW1wbGVtZW50IHRoaXMuCi0gICAgICAgIHJldHVybiBVX0xCX1VOS05PV047Ci0gICAgfQot
Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLWludCB1X21l
bWNhc2VjbXAoY29uc3QgVUNoYXIqIGEsIGNvbnN0IFVDaGFyKiBiLCBpbnQgbGVuZ3RoLCB1bnNp
Z25lZCBvcHRpb25zKQotewotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsK
LSAgICAgICAgVUNoYXIgYzEgPSB1X2ZvbGRDYXNlKGFbaV0sIG9wdGlvbnMpOwotICAgICAgICBV
Q2hhciBjMiA9IHVfZm9sZENhc2UoYltpXSwgb3B0aW9ucyk7Ci0gICAgICAgIGlmIChjMSAhPSBj
MikKLSAgICAgICAgICAgIHJldHVybiBjMSAtIGMyOwotICAgIH0KLQotICAgIHJldHVybiAwOwot
fQotCi10ZW1wbGF0ZTx3aW50X3QgRnVuY3Rpb24od2ludF90KT4KLXN0YXRpYyBpbmxpbmUgaW50
IGNvbnZlcnRXaXRoRnVuY3Rpb24oVUNoYXIqIHJlc3VsdCwgaW50IHJlc3VsdExlbmd0aCwgY29u
c3QgVUNoYXIqIHNvdXJjZSwgaW50IHNvdXJjZUxlbmd0aCwgVUVycm9yQ29kZSYgc3RhdHVzKQot
ewotICAgIFVDaGFyKiByZXN1bHRJdGVyYXRvciA9IHJlc3VsdDsKLSAgICBVQ2hhciogcmVzdWx0
RW5kID0gcmVzdWx0ICsgc3RkOjptaW4ocmVzdWx0TGVuZ3RoLCBzb3VyY2VMZW5ndGgpOwotICAg
IHdoaWxlIChyZXN1bHRJdGVyYXRvciA8IHJlc3VsdEVuZCkKLSAgICAgICAgKnJlc3VsdEl0ZXJh
dG9yKysgPSBGdW5jdGlvbigqc291cmNlKyspOwotCi0gICAgaWYgKHNvdXJjZUxlbmd0aCA8IHJl
c3VsdExlbmd0aCkKLSAgICAgICAgKnJlc3VsdEl0ZXJhdG9yID0gJ1wwJzsKLQotICAgIHN0YXR1
cyA9IHNvdXJjZUxlbmd0aCA+IHJlc3VsdExlbmd0aCA/IFVfRVJST1IgOiBVX1pFUk9fRVJST1I7
Ci0gICAgcmV0dXJuIHNvdXJjZUxlbmd0aDsKLX0KLQotaW50IHVfc3RyRm9sZENhc2UoVUNoYXIq
IHJlc3VsdCwgaW50IHJlc3VsdExlbmd0aCwgY29uc3QgVUNoYXIqIHNvdXJjZSwgaW50IHNvdXJj
ZUxlbmd0aCwgdW5zaWduZWQgb3B0aW9ucywgVUVycm9yQ29kZSogc3RhdHVzKQotewotICAgIEFT
U0VSVF9VTlVTRUQob3B0aW9ucywgb3B0aW9ucyA9PSBVX0ZPTERfQ0FTRV9ERUZBVUxUKTsKLSAg
ICByZXR1cm4gY29udmVydFdpdGhGdW5jdGlvbjx0b3dsb3dlcj4ocmVzdWx0LCByZXN1bHRMZW5n
dGgsIHNvdXJjZSwgc291cmNlTGVuZ3RoLCAqc3RhdHVzKTsKLX0KLQotaW50IHVfc3RyVG9Mb3dl
cihVQ2hhciogcmVzdWx0LCBpbnQgcmVzdWx0TGVuZ3RoLCBjb25zdCBVQ2hhciogc291cmNlLCBp
bnQgc291cmNlTGVuZ3RoLCBjb25zdCBjaGFyKiwgVUVycm9yQ29kZSogc3RhdHVzKQotewotICAg
IHJldHVybiBjb252ZXJ0V2l0aEZ1bmN0aW9uPHRvd2xvd2VyPihyZXN1bHQsIHJlc3VsdExlbmd0
aCwgc291cmNlLCBzb3VyY2VMZW5ndGgsICpzdGF0dXMpOwotfQotCi1pbnQgdV9zdHJUb1VwcGVy
KFVDaGFyKiByZXN1bHQsIGludCByZXN1bHRMZW5ndGgsIGNvbnN0IFVDaGFyKiBzb3VyY2UsIGlu
dCBzb3VyY2VMZW5ndGgsIGNvbnN0IGNoYXIqLCBVRXJyb3JDb2RlKiBzdGF0dXMpCi17Ci0gICAg
cmV0dXJuIGNvbnZlcnRXaXRoRnVuY3Rpb248dG93dXBwZXI+KHJlc3VsdCwgcmVzdWx0TGVuZ3Ro
LCBzb3VyY2UsIHNvdXJjZUxlbmd0aCwgKnN0YXR1cyk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi91bmljb2RlL3djaGFyL1VuaWNvZGVXY2hhci5oIGIvU291cmNlL1dURi93dGYvdW5p
Y29kZS93Y2hhci9Vbmljb2RlV2NoYXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDgyMTJiNmMxMmVmMmI3Mzc1OWU5Y2QxZDVkZDcwNDY5ZGRhYmI5My4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL3dj
aGFyL1VuaWNvZGVXY2hhci5oCisrKyAvZGV2L251bGwKQEAgLTEsMTM1ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTIgUGF0cmljayBHYW5zdGVyZXIgPHBhcm9nYUBwYXJvZ2EuY29t
PgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0g
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
Zm5kZWYgV1RGX1VuaWNvZGVXY2hhcl9oCi0jZGVmaW5lIFdURl9Vbmljb2RlV2NoYXJfaAotCi0j
aW5jbHVkZSA8c3RkaW50Lmg+Ci0jaW5jbHVkZSA8d2NoYXIuaD4KLSNpbmNsdWRlIDx3dGYvdW5p
Y29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1UuaD4KLSNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2Rl
TWFjcm9zRnJvbUlDVS5oPgotCi10eXBlZGVmIHdjaGFyX3QgVUNoYXI7Ci10eXBlZGVmIHVpbnQz
Ml90IFVDaGFyMzI7Ci0KLWVudW0gVUJsb2NrQ29kZSB7IFVCTE9DS19VTktOT1dOLCBVQkxPQ0tf
QVJBQklDIH07Ci0KLWVudW0gVUNoYXJDYXRlZ29yeSB7Ci0gICAgVV9DSEFSX0NBVEVHT1JZX1VO
S05PV04sCi0gICAgVV9QQVJBR1JBUEhfU0VQQVJBVE9SLAotICAgIFVfU1BBQ0VfU0VQQVJBVE9S
Ci19OwotCi1lbnVtIFVDaGFyRGlyZWN0aW9uIHsKLSAgICBVX0xFRlRfVE9fUklHSFQsCi0gICAg
VV9SSUdIVF9UT19MRUZULAotICAgIFVfRVVST1BFQU5fTlVNQkVSLAotICAgIFVfRVVST1BFQU5f
TlVNQkVSX1NFUEFSQVRPUiwKLSAgICBVX0VVUk9QRUFOX05VTUJFUl9URVJNSU5BVE9SLAotICAg
IFVfQVJBQklDX05VTUJFUiwKLSAgICBVX0NPTU1PTl9OVU1CRVJfU0VQQVJBVE9SLAotICAgIFVf
QkxPQ0tfU0VQQVJBVE9SLAotICAgIFVfU0VHTUVOVF9TRVBBUkFUT1IsCi0gICAgVV9XSElURV9T
UEFDRV9ORVVUUkFMLAotICAgIFVfT1RIRVJfTkVVVFJBTCwKLSAgICBVX0xFRlRfVE9fUklHSFRf
RU1CRURESU5HLAotICAgIFVfTEVGVF9UT19SSUdIVF9PVkVSUklERSwKLSAgICBVX1JJR0hUX1RP
X0xFRlRfQVJBQklDLAotICAgIFVfUklHSFRfVE9fTEVGVF9FTUJFRERJTkcsCi0gICAgVV9SSUdI
VF9UT19MRUZUX09WRVJSSURFLAotICAgIFVfUE9QX0RJUkVDVElPTkFMX0ZPUk1BVCwKLSAgICBV
X0RJUl9OT05fU1BBQ0lOR19NQVJLLAotICAgIFVfQk9VTkRBUllfTkVVVFJBTAotfTsKLQotZW51
bSBVRGVjb21wb3NpdGlvblR5cGUgeyBVX0RUX05PTkUsIFVfRFRfQ09NUEFULCBVX0RUX0ZPTlQg
fTsKLQotZW51bSBVRXJyb3JDb2RlIHsgVV9aRVJPX0VSUk9SID0gMCwgVV9FUlJPUiB9OwotCi1l
bnVtIFVMaW5lQnJlYWsgeyBVX0xCX1VOS05PV04sIFVfTEJfQ09NUExFWF9DT05URVhULCBVX0xC
X0NPTkRJVElPTkFMX0pBUEFORVNFX1NUQVJURVIsIFVfTEJfSURFT0dSQVBISUMgfTsKLQotZW51
bSBVTm9ybWFsaXphdGlvbk1vZGUgeyBVTk9STV9ORkMgfTsKLQotZW51bSBVUHJvcGVydHkgeyBV
Q0hBUl9ERUNPTVBPU0lUSU9OX1RZUEUsIFVDSEFSX0xJTkVfQlJFQUsgfTsKLQotZW51bSB7IFVO
T1JNX1VOSUNPREVfM18yIH07Ci0KLS8vIEZJWE1FOiBXb3VsZCBiZSBnb29kIHRvIGRlZmluZSBh
bGwgb2YgdGhlc2UgaW4gdGVybXMgb2YgVUNoYXJDYXRlZ29yeSBjb25zdGFudHMsIGJ1dCB1bnRp
bCB1X2NoYXJUeXBlCi0vLyBpcyBpbXBsZW1lbnRlZCwgdGhhdCdzIG5vdCByZWFsbHkgd29ydGgg
dGhlIHRpbWUuCi0KLSNkZWZpbmUgVV9HQ19DQ19NQVNLIDAKLSNkZWZpbmUgVV9HQ19DU19NQVNL
IDAKLSNkZWZpbmUgVV9HQ19DRl9NQVNLIDAKLSNkZWZpbmUgVV9HQ19DTl9NQVNLIDAKLSNkZWZp
bmUgVV9HQ19MTF9NQVNLIDAKLSNkZWZpbmUgVV9HQ19MTV9NQVNLIDAKLSNkZWZpbmUgVV9HQ19M
T19NQVNLIDAKLSNkZWZpbmUgVV9HQ19MVF9NQVNLIDAKLSNkZWZpbmUgVV9HQ19MVV9NQVNLIDAK
LSNkZWZpbmUgVV9HQ19NQ19NQVNLIDAKLSNkZWZpbmUgVV9HQ19NTl9NQVNLIDAKLSNkZWZpbmUg
VV9HQ19ORF9NQVNLIDAKLSNkZWZpbmUgVV9HQ19OTF9NQVNLIDAKLSNkZWZpbmUgVV9HQ19QQ19N
QVNLIDAKLSNkZWZpbmUgVV9HQ19QRV9NQVNLIDAKLSNkZWZpbmUgVV9HQ19QRl9NQVNLIDAKLSNk
ZWZpbmUgVV9HQ19QSV9NQVNLIDAKLSNkZWZpbmUgVV9HQ19QT19NQVNLIDAKLSNkZWZpbmUgVV9H
Q19QU19NQVNLIDAKLSNkZWZpbmUgVV9HQ19aTF9NQVNLIDAKLSNkZWZpbmUgVV9HQ19aUF9NQVNL
IDAKLQotI2RlZmluZSBVX0dDX0xfTUFTSyAwCi0jZGVmaW5lIFVfR0NfTV9NQVNLIDAKLSNkZWZp
bmUgVV9HQ19aX01BU0sgMAotCi0jZGVmaW5lIFVfU1VDQ0VTUyhzdGF0dXMpICgoc3RhdHVzKSA8
PSAwKQotI2RlZmluZSBVX0ZBSUxVUkUoc3RhdHVzKSAoKHN0YXR1cykgPiAwKQotCi0jZGVmaW5l
IFVfRk9MRF9DQVNFX0RFRkFVTFQgMAotCi0jZGVmaW5lIFVfR0VUX0dDX01BU0soYykgVV9NQVNL
KHVfY2hhclR5cGUoYykpCi0KLWlubGluZSBVQmxvY2tDb2RlIHVibG9ja19nZXRDb2RlKFVDaGFy
MzIgY2hhcmFjdGVyKSB7IHJldHVybiAoY2hhcmFjdGVyICYgfjB4RkYpID09IDB4NjAwID8gVUJM
T0NLX0FSQUJJQyA6IFVCTE9DS19VTktOT1dOOyB9Ci1XVEZfRVhQT1JUX1BSSVZBVEUgaW50IHVu
b3JtX25vcm1hbGl6ZShjb25zdCBVQ2hhciogc291cmNlLCBpbnQzMl90IHNvdXJjZUxlbmd0aCwg
VU5vcm1hbGl6YXRpb25Nb2RlIG1vZGUsIGludDMyX3Qgb3B0aW9ucywgVUNoYXIqIHJlc3VsdCwg
aW50MzJfdCByZXN1bHRMZW5ndGgsIFVFcnJvckNvZGUqIHN0YXR1cyk7Ci1XVEZfRVhQT1JUX1BS
SVZBVEUgVUNoYXJEaXJlY3Rpb24gdV9jaGFyRGlyZWN0aW9uKFVDaGFyMzIpOwotV1RGX0VYUE9S
VF9QUklWQVRFIFVDaGFyMzIgdV9jaGFyTWlycm9yKFVDaGFyMzIpOwotV1RGX0VYUE9SVF9QUklW
QVRFIGludDhfdCB1X2NoYXJUeXBlKFVDaGFyMzIpOwotaW5saW5lIFVDaGFyMzIgdV9mb2xkQ2Fz
ZShVQ2hhcjMyIGNoYXJhY3RlciwgdW5zaWduZWQgb3B0aW9ucykgeyBBU1NFUlRfVU5VU0VEKG9w
dGlvbnMsIG9wdGlvbnMgPT0gVV9GT0xEX0NBU0VfREVGQVVMVCk7IHJldHVybiB0b3dsb3dlcihj
aGFyYWN0ZXIpOyB9Ci1XVEZfRVhQT1JUX1BSSVZBVEUgdWludDhfdCB1X2dldENvbWJpbmluZ0Ns
YXNzKFVDaGFyMzIpOwotV1RGX0VYUE9SVF9QUklWQVRFIGludCB1X2dldEludFByb3BlcnR5VmFs
dWUoVUNoYXIzMiwgVVByb3BlcnR5KTsKLWlubGluZSBib29sIHVfaXNhbG51bShVQ2hhcjMyIGNo
YXJhY3RlcikgeyByZXR1cm4gaXN3YWxudW0oY2hhcmFjdGVyKTsgfQotaW5saW5lIGJvb2wgdV9p
c3ByaW50KFVDaGFyMzIgY2hhcmFjdGVyKSB7IHJldHVybiBpc3dwcmludChjaGFyYWN0ZXIpOyB9
Ci1pbmxpbmUgYm9vbCB1X2lzcHVuY3QoVUNoYXIzMiBjaGFyYWN0ZXIpIHsgcmV0dXJuIGlzd3B1
bmN0KGNoYXJhY3Rlcik7IH0KLWlubGluZSBib29sIHVfaXNzcGFjZShVQ2hhcjMyIGNoYXJhY3Rl
cikgeyByZXR1cm4gaXN3c3BhY2UoY2hhcmFjdGVyKTsgfQotV1RGX0VYUE9SVF9QUklWQVRFIGlu
dCB1X21lbWNhc2VjbXAoY29uc3QgVUNoYXIqLCBjb25zdCBVQ2hhciosIGludCBzb3VyY2VMZW5n
dGgsIHVuc2lnbmVkIG9wdGlvbnMpOwotaW5saW5lIGJvb2wgdV9wcmludChVQ2hhcjMyIGNoYXJh
Y3RlcikgeyByZXR1cm4gaXN3cHJpbnQoY2hhcmFjdGVyKTsgfQotV1RGX0VYUE9SVF9QUklWQVRF
IGludCB1X3N0ckZvbGRDYXNlKFVDaGFyKiByZXN1bHQsIGludCByZXN1bHRMZW5ndGgsIGNvbnN0
IFVDaGFyKiBzb3VyY2UsIGludCBzb3VyY2VMZW5ndGgsIHVuc2lnbmVkIG9wdGlvbnMsIFVFcnJv
ckNvZGUqKTsKLVdURl9FWFBPUlRfUFJJVkFURSBpbnQgdV9zdHJUb0xvd2VyKFVDaGFyKiByZXN1
bHQsIGludCByZXN1bHRMZW5ndGgsIGNvbnN0IFVDaGFyKiBzb3VyY2UsIGludCBzb3VyY2VMZW5n
dGgsIGNvbnN0IGNoYXIqIGxvY2FsZSwgVUVycm9yQ29kZSopOwotV1RGX0VYUE9SVF9QUklWQVRF
IGludCB1X3N0clRvVXBwZXIoVUNoYXIqIHJlc3VsdCwgaW50IHJlc3VsdExlbmd0aCwgY29uc3Qg
VUNoYXIqIHNvdXJjZSwgaW50IHNvdXJjZUxlbmd0aCwgY29uc3QgY2hhciogbG9jYWxlLCBVRXJy
b3JDb2RlKik7Ci1pbmxpbmUgVUNoYXIzMiB1X3RvbG93ZXIoVUNoYXIzMiBjaGFyYWN0ZXIpIHsg
cmV0dXJuIHRvd2xvd2VyKGNoYXJhY3Rlcik7IH0KLWlubGluZSBVQ2hhcjMyIHVfdG90aXRsZShV
Q2hhcjMyIGNoYXJhY3RlcikgeyByZXR1cm4gdG93dXBwZXIoY2hhcmFjdGVyKTsgfQotaW5saW5l
IFVDaGFyMzIgdV90b3VwcGVyKFVDaGFyMzIgY2hhcmFjdGVyKSB7IHJldHVybiB0b3d1cHBlcihj
aGFyYWN0ZXIpOyB9Ci0KLSNlbmRpZiAvLyBXVEZfVW5pY29kZVdjaGFyX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>