<?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>100925</bug_id>
          
          <creation_ts>2012-11-01 00:59:19 -0700</creation_ts>
          <short_desc>REGRESSION(r133126): This made EFL API test break on EFL buildbots (Requested by gyuyoung on #webkit).</short_desc>
          <delta_ts>2012-11-01 01:05:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>92827</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>gyuyoung.kim</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>755969</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 00:59:19 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/133126 broke the build:
This made EFL API test break on EFL buildbots (Requested by gyuyoung on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755971</commentid>
    <comment_count>1</comment_count>
      <attachid>171789</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 01:00:06 -0700</bug_when>
    <thetext>Created attachment 171789
ROLLOUT of r133126

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755972</commentid>
    <comment_count>2</comment_count>
      <attachid>171789</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 01:04:58 -0700</bug_when>
    <thetext>Comment on attachment 171789
ROLLOUT of r133126

Clearing flags on attachment: 171789

Committed r133136: &lt;http://trac.webkit.org/changeset/133136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755973</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 01:05:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171789</attachid>
            <date>2012-11-01 01:00:06 -0700</date>
            <delta_ts>2012-11-01 01:04:58 -0700</delta_ts>
            <desc>ROLLOUT of r133126</desc>
            <filename>bug-100925-20121101080629.patch</filename>
            <type>text/plain</type>
            <size>32492</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTdhNjg3Yjc5ZjBhNzUz
YjFlZmZiN2MyYzU4YWU4YjRhZmI4YjE1Yi4uZjY2Nzk3NDUxNGQ0NTExZmVhOGIyNDlmZTVmY2Rh
MzI5ZDdiMGMzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTExLTAxICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTMzMTI2LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMzMxMjYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMDkyNQorCisgICAgICAgIFRoaXMgbWFkZSBFRkwgQVBJIHRlc3QgYnJlYWsg
b24gRUZMIGJ1aWxkYm90cyAoUmVxdWVzdGVkIGJ5CisgICAgICAgIGd5dXlvdW5nIG9uICN3ZWJr
aXQpLgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9lZmwvRVdlYktpdDIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29u
dGV4dC5jcHA6CisgICAgICAgIChFd2tfQ29udGV4dDo6RXdrX0NvbnRleHQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2NvbnRleHRfcHJpdmF0ZS5oOgorICAgICAgICAoRXdrX0NvbnRleHQpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZWN1cml0eV9vcmlnaW4uY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZWN1cml0eV9vcmlnaW4uaDogUmVt
b3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfc2VjdXJpdHlfb3JpZ2luX3By
aXZhdGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFn
ZV9tYW5hZ2VyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tf
c3RvcmFnZV9tYW5hZ2VyLmg6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX3N0b3JhZ2VfbWFuYWdlcl9wcml2YXRlLmg6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9zdG9yYWdlX21hbmFnZXIuY3BwOiBSZW1vdmVk
LgorCiAyMDEyLTExLTAxICBZdW5pIEplb25nICA8eWhuZXQuanVuZ0BzYW1zdW5nLmNvbT4KIAog
ICAgICAgICBbV0syXSBBZGQgQVBJcyB0byBnZXQvc2V0IGVuY29kaW5nIGRldGVjdG9yCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGYzMjcxMGM2ZDdjMmNmOWZhYmNkMjE3ZmUxNTY2MTVl
MzQzZWM3MzguLjc3YjU0NDMyOTVjMWJiOWJkYTY4NDAxNGI2YjhiNDMxZjJiZDViNTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC02Miw5ICs2Miw3IEBAIExJU1QoQVBQRU5EIFdlYktp
dDJfU09VUkNFUwogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51LmNwcAogICAg
IFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51X2l0ZW0uY3BwCiAgICAgVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3Jlc291cmNlLmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZWN1
cml0eV9vcmlnaW4uY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3NldHRpbmdzLmNwcAot
ICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19zdG9yYWdlX21hbmFnZXIuY3BwCiAgICAgVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3RleHRfY2hlY2tlci5jcHAKICAgICBVSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdXJsX3JlcXVlc3QuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXNwb25z
ZS5jcHAKQEAgLTI2Miw5ICsyNjAsNyBAQCBTRVQgKEVXZWJLaXQyX0hFQURFUlMKICAgICAiJHtD
TUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51
LmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfcG9wdXBfbWVudV9pdGVtLmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfcmVzb3VyY2UuaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NP
VVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZWN1cml0eV9vcmlnaW4uaCIKICAgICAi
JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0aW5n
cy5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX3N0b3JhZ2VfbWFuYWdlci5oIgogICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0v
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3RleHRfY2hlY2tlci5oIgogICAgICIke0NNQUtFX0NVUlJF
TlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3RvdWNoLmgiCiAgICAgIiR7Q01B
S0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3JlcXVlc3Qu
aCIKQEAgLTM2Miw3ICszNTgsNiBAQCBTRVQoRVdLMlVuaXRUZXN0c19CSU5BUklFUwogICAgIHRl
c3RfZXdrMl9pbnRlbnRzCiAgICAgdGVzdF9ld2syX3BvcHVwX21lbnUKICAgICB0ZXN0X2V3azJf
c2V0dGluZ3MKLSAgICB0ZXN0X2V3azJfc3RvcmFnZV9tYW5hZ2VyCiAgICAgdGVzdF9ld2syX3Rl
eHRfY2hlY2tlcgogICAgIHRlc3RfZXdrMl92aWV3CiApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FV2ViS2l0Mi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRVdlYktpdDIuaAppbmRleCBmYzdiYWMxMWIxNTRjMTRhODRmMTM5YzllMzkz
ZDhhNDUzN2IwZGM2Li5mOTdlYmQ4YjQ1OGZjNzE4MjE4ZDJkNjBjODgzYThmNWY1YjVlNjEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FV2ViS2l0Mi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0VXZWJLaXQyLmgKQEAgLTQ2LDkg
KzQ2LDcgQEAKICNpbmNsdWRlICJld2tfcG9wdXBfbWVudS5oIgogI2luY2x1ZGUgImV3a19wb3B1
cF9tZW51X2l0ZW0uaCIKICNpbmNsdWRlICJld2tfcmVzb3VyY2UuaCIKLSNpbmNsdWRlICJld2tf
c2VjdXJpdHlfb3JpZ2luLmgiCiAjaW5jbHVkZSAiZXdrX3NldHRpbmdzLmgiCi0jaW5jbHVkZSAi
ZXdrX3N0b3JhZ2VfbWFuYWdlci5oIgogI2luY2x1ZGUgImV3a190ZXh0X2NoZWNrZXIuaCIKICNp
bmNsdWRlICJld2tfdG91Y2guaCIKICNpbmNsdWRlICJld2tfdXJsX3JlcXVlc3QuaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAppbmRleCA5
Mzc5NDUxNjk0OTFjYjc3MWY3MjhhYzIxZmI3OGZjNTgzMWNlNmMzLi5mOWI4NzNjYzc5YmIxNDVl
NTI4Zjg5YmJkZDM3N2U1N2JlOTk0ZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAi
ZXdrX2Nvb2tpZV9tYW5hZ2VyX3ByaXZhdGUuaCIKICNpbmNsdWRlICJld2tfZmF2aWNvbl9kYXRh
YmFzZV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIKLSNpbmNsdWRlICJld2tf
c3RvcmFnZV9tYW5hZ2VyX3ByaXZhdGUuaCIKICNpbmNsdWRlICJld2tfdXJsX3NjaGVtZV9yZXF1
ZXN0X3ByaXZhdGUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0ljb25EYXRhYmFzZS5oPgpAQCAtNjMsNyArNjIsNiBAQCBzdGF0aWMgaW5saW5l
IENvbnRleHRNYXAmIGNvbnRleHRNYXAoKQogCiBFd2tfQ29udGV4dDo6RXdrX0NvbnRleHQoV0tD
b250ZXh0UmVmIGNvbnRleHQpCiAgICAgOiBtX2NvbnRleHQoY29udGV4dCkKLSAgICAsIG1fc3Rv
cmFnZU1hbmFnZXIoRXdrX1N0b3JhZ2VfTWFuYWdlcjo6Y3JlYXRlKFdLQ29udGV4dEdldEtleVZh
bHVlU3RvcmFnZU1hbmFnZXIobV9jb250ZXh0LmdldCgpKSkpCiAjaWYgRU5BQkxFKEJBVFRFUllf
U1RBVFVTKQogICAgICwgbV9iYXR0ZXJ5UHJvdmlkZXIoQmF0dGVyeVByb3ZpZGVyOjpjcmVhdGUo
Y29udGV4dCkpCiAjZW5kaWYKQEAgLTE2MCwxMSArMTU4LDYgQEAgRXdrX0Zhdmljb25fRGF0YWJh
c2UqIEV3a19Db250ZXh0OjpmYXZpY29uRGF0YWJhc2UoKQogICAgIHJldHVybiBtX2Zhdmljb25E
YXRhYmFzZS5nZXQoKTsKIH0KIAotRXdrX1N0b3JhZ2VfTWFuYWdlciogRXdrX0NvbnRleHQ6OnN0
b3JhZ2VNYW5hZ2VyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9zdG9yYWdlTWFuYWdlci5nZXQo
KTsKLX0KLQogUmVxdWVzdE1hbmFnZXJDbGllbnRFZmwqIEV3a19Db250ZXh0OjpyZXF1ZXN0TWFu
YWdlcigpCiB7CiAgICAgcmV0dXJuIG1fcmVxdWVzdE1hbmFnZXJDbGllbnQuZ2V0KCk7CkBAIC0y
MjIsMTMgKzIxNSw2IEBAIEV3a19GYXZpY29uX0RhdGFiYXNlKiBld2tfY29udGV4dF9mYXZpY29u
X2RhdGFiYXNlX2dldChjb25zdCBFd2tfQ29udGV4dCogZXdrQ29uCiAgICAgcmV0dXJuIGNvbnN0
X2Nhc3Q8RXdrX0NvbnRleHQqPihld2tDb250ZXh0KS0+ZmF2aWNvbkRhdGFiYXNlKCk7CiB9CiAK
LUV3a19TdG9yYWdlX01hbmFnZXIqIGV3a19jb250ZXh0X3N0b3JhZ2VfbWFuYWdlcl9nZXQoY29u
c3QgRXdrX0NvbnRleHQqIGV3a0NvbnRleHQpCi17Ci0gICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk5fVkFMKGV3a0NvbnRleHQsIDApOwotCi0gICAgcmV0dXJuIGV3a0NvbnRleHQtPnN0b3Jh
Z2VNYW5hZ2VyKCk7Ci19Ci0KIFdLQ29udGV4dFJlZiBFd2tfQ29udGV4dDo6d2tDb250ZXh0KCkK
IHsKICAgICByZXR1cm4gbV9jb250ZXh0LmdldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmgKaW5kZXggMGQ2Yjc0YWFjOTg1MzQxMjUwZjE5ZGQx
OWE4Y2JmMmVlNGVhOWU1YS4uZjZiOGJiNjdkMjVkODdiYTlkMDMyMWQxYTM3N2VmYjg3ZjgxZjMw
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5o
CkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiZXdrX2Nvb2tpZV9tYW5hZ2VyLmgiCiAjaW5j
bHVkZSAiZXdrX2Zhdmljb25fZGF0YWJhc2UuaCIKICNpbmNsdWRlICJld2tfbmF2aWdhdGlvbl9k
YXRhLmgiCi0jaW5jbHVkZSAiZXdrX3N0b3JhZ2VfbWFuYWdlci5oIgogI2luY2x1ZGUgImV3a191
cmxfc2NoZW1lX3JlcXVlc3QuaCIKICNpbmNsdWRlIDxFdmFzLmg+CiAKQEAgLTE5MywxNSArMTky
LDYgQEAgRUFQSSBFd2tfQ29va2llX01hbmFnZXIgKmV3a19jb250ZXh0X2Nvb2tpZV9tYW5hZ2Vy
X2dldChjb25zdCBFd2tfQ29udGV4dCAqY29udGUKIEVBUEkgRXdrX0Zhdmljb25fRGF0YWJhc2Ug
KmV3a19jb250ZXh0X2Zhdmljb25fZGF0YWJhc2VfZ2V0KGNvbnN0IEV3a19Db250ZXh0ICpjb250
ZXh0KTsKIAogLyoqCi0gKiBHZXRzIHRoZSBzdG9yYWdlIG1hbmFnZXIgaW5zdGFuY2UgZm9yIHRo
aXMgQGEgY29udGV4dC4KLSAqCi0gKiBAcGFyYW0gY29udGV4dCBjb250ZXh0IG9iamVjdCB0byBx
dWVyeS4KLSAqCi0gKiBAcmV0dXJuIEV3a19TdG9yYWdlX01hbmFnZXIgb2JqZWN0IGluc3RhbmNl
IG9yIEBjIE5VTEwgaW4gY2FzZSBvZiBmYWlsdXJlLgotICovCi1FQVBJIEV3a19TdG9yYWdlX01h
bmFnZXIgKmV3a19jb250ZXh0X3N0b3JhZ2VfbWFuYWdlcl9nZXQoY29uc3QgRXdrX0NvbnRleHQg
KmNvbnRleHQpOwotCi0vKioKICAqIFJlZ2lzdGVyIEBhIHNjaGVtZSBpbiBAYSBjb250ZXh0Lgog
ICoKICAqIFdoZW4gYW4gVVJMIHJlcXVlc3Qgd2l0aCBAYSBzY2hlbWUgaXMgbWFkZSBpbiB0aGUg
I0V3a19Db250ZXh0LCB0aGUgY2FsbGJhY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUuaAppbmRleCBmNDM2NDhjN2U3ZDQx
MGIyOTU2YjZkODg1M2Y2ZjRjODE0YWZlYTg4Li5iYTQ2MzI0ZjViMGM1ZWNhZjRlMzI2ZmYzMzEy
YmMwNTg3NTI1MzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dF9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2NvbnRleHRfcHJpdmF0ZS5oCkBAIC01Nyw4ICs1Nyw2IEBAIHB1YmxpYzoKIAog
ICAgIEV3a19GYXZpY29uX0RhdGFiYXNlKiBmYXZpY29uRGF0YWJhc2UoKTsKIAotICAgIEV3a19T
dG9yYWdlX01hbmFnZXIqIHN0b3JhZ2VNYW5hZ2VyKCkgY29uc3Q7Ci0KICAgICBXZWJLaXQ6OlJl
cXVlc3RNYW5hZ2VyQ2xpZW50RWZsKiByZXF1ZXN0TWFuYWdlcigpOwogCiAjaWYgRU5BQkxFKFZJ
QlJBVElPTikKQEAgLTg2LDcgKzg0LDYgQEAgcHJpdmF0ZToKIAogICAgIE93blB0cjxFd2tfQ29v
a2llX01hbmFnZXI+IG1fY29va2llTWFuYWdlcjsKICAgICBPd25QdHI8RXdrX0Zhdmljb25fRGF0
YWJhc2U+IG1fZmF2aWNvbkRhdGFiYXNlOwotICAgIE93blB0cjxFd2tfU3RvcmFnZV9NYW5hZ2Vy
PiBtX3N0b3JhZ2VNYW5hZ2VyOwogI2lmIEVOQUJMRShCQVRURVJZX1NUQVRVUykKICAgICBSZWZQ
dHI8V2ViS2l0OjpCYXR0ZXJ5UHJvdmlkZXI+IG1fYmF0dGVyeVByb3ZpZGVyOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfc2VjdXJpdHlf
b3JpZ2luLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZWN1cml0
eV9vcmlnaW4uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzBmOGM3YWVmN2Vl
N2I2YWE3MDU1OGM3NzYzZjU0MDBkYjE0ZDI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19z
ZWN1cml0eV9vcmlnaW4uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsOTAgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORwot
ICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVk
ZSAiZXdrX3NlY3VyaXR5X29yaWdpbi5oIgotCi0jaW5jbHVkZSAiV0tBUElDYXN0LmgiCi0jaW5j
bHVkZSAiV0tTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUgImV3a19zZWN1cml0eV9vcmlnaW5f
cHJpdmF0ZS5oIgotCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCi1Fd2tfU2VjdXJpdHlfT3Jp
Z2luOjpFd2tfU2VjdXJpdHlfT3JpZ2luKFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2luUmVmKQot
ICAgIDogbV93a09yaWdpbihvcmlnaW5SZWYpCi0gICAgLCBtX2hvc3QoQWRvcHRXSywgV0tTZWN1
cml0eU9yaWdpbkNvcHlIb3N0KG9yaWdpblJlZikpCi0gICAgLCBtX3Byb3RvY29sKEFkb3B0V0ss
IFdLU2VjdXJpdHlPcmlnaW5Db3B5UHJvdG9jb2wob3JpZ2luUmVmKSkKLXsgfQotCi1jb25zdCBj
aGFyKiBFd2tfU2VjdXJpdHlfT3JpZ2luOjpob3N0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9o
b3N0OwotfQotCi1jb25zdCBjaGFyKiBFd2tfU2VjdXJpdHlfT3JpZ2luOjpwcm90b2NvbCgpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIG1fcHJvdG9jb2w7Ci19Ci0KLXVpbnQzMl90IEV3a19TZWN1cml0
eV9PcmlnaW46OnBvcnQoKSBjb25zdAotewotICAgIHJldHVybiBXS1NlY3VyaXR5T3JpZ2luR2V0
UG9ydChtX3drT3JpZ2luLmdldCgpKTsKLX0KLQotRXdrX1NlY3VyaXR5X09yaWdpbiogZXdrX3Nl
Y3VyaXR5X29yaWdpbl9yZWYoRXdrX1NlY3VyaXR5X09yaWdpbiogb3JpZ2luKQotewotICAgIEVJ
TkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChvcmlnaW4sIDApOwotCi0gICAgb3JpZ2luLT5y
ZWYoKTsKLSAgICByZXR1cm4gb3JpZ2luOwotfQotCi12b2lkIGV3a19zZWN1cml0eV9vcmlnaW5f
dW5yZWYoRXdrX1NlY3VyaXR5X09yaWdpbiogb3JpZ2luKQotewotICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOKG9yaWdpbik7Ci0KLSAgICBvcmlnaW4tPmRlcmVmKCk7Ci19Ci0KLWNvbnN0
IGNoYXIqIGV3a19zZWN1cml0eV9vcmlnaW5faG9zdF9nZXQoY29uc3QgRXdrX1NlY3VyaXR5X09y
aWdpbiogb3JpZ2luKQotewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChvcmln
aW4sIDApOwotCi0gICAgcmV0dXJuIG9yaWdpbi0+aG9zdCgpOwotfQotCi1jb25zdCBjaGFyKiBl
d2tfc2VjdXJpdHlfb3JpZ2luX3Byb3RvY29sX2dldChjb25zdCBFd2tfU2VjdXJpdHlfT3JpZ2lu
KiBvcmlnaW4pCi17Ci0gICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKG9yaWdpbiwg
MCk7Ci0KLSAgICByZXR1cm4gb3JpZ2luLT5wcm90b2NvbCgpOwotfQotCi11aW50MzJfdCBld2tf
c2VjdXJpdHlfb3JpZ2luX3BvcnRfZ2V0KGNvbnN0IEV3a19TZWN1cml0eV9PcmlnaW4qIG9yaWdp
bikKLXsKLSAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwob3JpZ2luLCAwKTsKLQot
ICAgIHJldHVybiBvcmlnaW4tPnBvcnQoKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZWN1cml0eV9vcmlnaW4uaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZWN1cml0eV9vcmlnaW4uaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNWJlODQxNjViOWQwN2ViYTY5YjlkZjk2YjhmZDhhY2E5YjhlYzk4Yy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfc2VjdXJpdHlfb3JpZ2luLmgKKysrIC9kZXYvbnVs
bApAQCAtMSwxMDIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jw
b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1z
dW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBI
T0xERVIgT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORwotICogTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0vKioKLSAqIEBmaWxlICAgIGV3a19zZWN1cml0eV9vcmlnaW4uaAotICogQGJyaWVmICAg
U2VjdXJpdHkgT3JpZ2luIEFQSS4KLSAqCi0gKiBTZWN1cml0eSBPcmlnaW4gaXMgdGhlIG1lY2hh
bmlzbSB0aGF0IGRlZmluZXMgdGhlIGFjY2VzcyBsaW1pdHMgb2YgYSB3ZWJzaXRlLgotICogQmFz
ZWQgb24gaW5mb3JtYXRpb24gc3VjaCBhcyBkb21haW4sIHByb3RvY29sIGFuZCBwb3J0LCB5b3Ug
Y2FuIG9yIGNhbm5vdCBncmFudAotICogYXV0aG9yaXphdGlvbiBmb3IgYWNjZXNzaW5nIGRhdGEg
YW5kIHBlcmZvcm1pbmcgY2VydGFpbiB0YXNrcy4KLSAqLwotCi0jaWZuZGVmIGV3a19zZWN1cml0
eV9vcmlnaW5faAotI2RlZmluZSBld2tfc2VjdXJpdHlfb3JpZ2luX2gKLQotI2luY2x1ZGUgPEVp
bmEuaD4KLQotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHsKLSNlbmRpZgotCi0vKiog
Q3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgRXdrX1NlY3VyaXR5X09yaWdpbi4gKi8KLXR5cGVkZWYg
c3RydWN0IEV3a19TZWN1cml0eV9PcmlnaW4gRXdrX1NlY3VyaXR5X09yaWdpbjsKLQotLyoqCi0g
KiBJbmNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4gb2JqZWN0LgotICoK
LSAqIEBwYXJhbSBvcmlnaW4gdGhlIG9yaWdpbiBvYmplY3QgdG8gaW5jcmVhc2UgdGhlIHJlZmVy
ZW5jZSBjb3VudAotICoKLSAqIEByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBvYmplY3Qgb24gc3Vj
Y2VzcywgQGMgTlVMTCBvdGhlcndpc2UKLSAqLwotRUFQSSBFd2tfU2VjdXJpdHlfT3JpZ2luICpl
d2tfc2VjdXJpdHlfb3JpZ2luX3JlZihFd2tfU2VjdXJpdHlfT3JpZ2luICpvKTsKLQotLyoqCi0g
KiBEZWNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4gb2JqZWN0LCBwb3Nz
aWJseSBmcmVlaW5nIGl0LgotICoKLSAqIFdoZW4gdGhlIHJlZmVyZW5jZSBjb3VudCByZWFjaGVz
IDAsIHRoZSBvcmlnaW4gaXMgZnJlZWQuCi0gKgotICogQHBhcmFtIG9yaWdpbiB0aGUgb3JpZ2lu
IG9iamVjdCB0byBkZWNyZWFzZSB0aGUgcmVmZXJlbmNlIGNvdW50Ci0gKi8KLUVBUEkgdm9pZCBl
d2tfc2VjdXJpdHlfb3JpZ2luX3VucmVmKEV3a19TZWN1cml0eV9PcmlnaW4gKm8pOwotCi0vKioK
LSAqIFJldHVybnMgdGhlIGhvc3Qgb2YgdGhlIHNlY3VyaXR5IG9yaWdpbi4KLSAqCi0gKiBAcGFy
YW0gbyBzZWN1cml0eSBvcmlnaW4gb2JqZWN0Ci0gKgotICogQHJldHVybiB0aGUgaG9zdCBkb21h
aW4gcG9pbnRlciBvciBAYyBOVUxMIGlmIHRoZXJlIGlzIG5vdCBhIGhvc3Qgc2NoZW1lLgotICog
ICAgICAgICBUaGlzIHBvaW50ZXIgaXMgZ3VhcmFudGVlZCB0byBiZSBlaW5hX3N0cmluZ3NoYXJl
LCBzbyB3aGVuZXZlciBwb3NzaWJsZQotICogICAgICAgICBzYXZlIHlvdXJzZWxmIGZyb20gY3B1
IGN5Y2xlcyBhbmQgdXNlIGVpbmFfc3RyaW5nc2hhcmVfcmVmKCkKLSAqICAgICAgICAgaW5zdGVh
ZCBvZiBlaW5hX3N0cmluZ3NoYXJlX2FkZCgpIG9yIHN0cmR1cCgpLgotICovCi1FQVBJIGNvbnN0
IGNoYXIgKmV3a19zZWN1cml0eV9vcmlnaW5faG9zdF9nZXQoY29uc3QgRXdrX1NlY3VyaXR5X09y
aWdpbiAqbyk7Ci0KLS8qKgotICogUmV0dXJucyB0aGUgcG9ydCBvZiB0aGUgc2VjdXJpdHkgb3Jp
Z2luLgotICoKLSAqIEBwYXJhbSBvIHNlY3VyaXR5IG9yaWdpbiBvYmplY3QKLSAqCi0gKiBAcmV0
dXJuIHRoZSBwb3J0IG51bWJlciBvciBAYyAwIGlmIHRoZXJlIGlzIG5vdCBhIHByb3BlciBzZWN1
cml0eSBvcmlnaW4gc2NoZW1lCi0gKi8KLUVBUEkgdWludDMyX3QgZXdrX3NlY3VyaXR5X29yaWdp
bl9wb3J0X2dldChjb25zdCBFd2tfU2VjdXJpdHlfT3JpZ2luICpvKTsKLQotLyoqCi0gKiBSZXR1
cm5zIHRoZSBwcm90b2NvbCBvZiB0aGUgc2VjdXJpdHkgb3JpZ2luLgotICoKLSAqIEBwYXJhbSBv
IHNlY3VyaXR5IG9yaWdpbiBvYmplY3QKLSAqCi0gKiBAcmV0dXJuIHRoZSBwcm90b2NvbCBzY2hl
bWUgcG9pbnRlciBvciBAYyBOVUxMIGlmIHRoZXJlIGlzIG5vdCBhIHByb3RvY29sIHNjaGVtZS4K
LSAqICAgICAgICAgVGhpcyBwb2ludGVyIGlzIGd1YXJhbnRlZWQgdG8gYmUgZWluYV9zdHJpbmdz
aGFyZSwgc28gd2hlbmV2ZXIgcG9zc2libGUKLSAqICAgICAgICAgc2F2ZSB5b3Vyc2VsZiBmcm9t
IGNwdSBjeWNsZXMgYW5kIHVzZSBlaW5hX3N0cmluZ3NoYXJlX3JlZigpCi0gKiAgICAgICAgIGlu
c3RlYWQgb2YgZWluYV9zdHJpbmdzaGFyZV9hZGQoKSBvciBzdHJkdXAoKS4KLSAqLwotRUFQSSBj
b25zdCBjaGFyICpld2tfc2VjdXJpdHlfb3JpZ2luX3Byb3RvY29sX2dldChjb25zdCBFd2tfU2Vj
dXJpdHlfT3JpZ2luICpvKTsKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi19Ci0jZW5kaWYKLSNlbmRp
ZiAvLyBld2tfc2VjdXJpdHlfb3JpZ2luX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19zZWN1cml0eV9vcmlnaW5fcHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3NlY3VyaXR5X29yaWdpbl9wcml2YXRlLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0MDEyNDEwZWY3NzYxZjNlMTU2ZmViNTE5YmRi
ZDEwNDE2MDMxM2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3NlY3VyaXR5X29yaWdpbl9w
cml2YXRlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIEhPTERFUiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCi0gKiBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgZXdrX3NlY3VyaXR5X29yaWdpbl9wcml2YXRlX2gK
LSNkZWZpbmUgZXdrX3NlY3VyaXR5X29yaWdpbl9wcml2YXRlX2gKLQotI2luY2x1ZGUgIldLRWlu
YVNoYXJlZFN0cmluZy5oIgotI2luY2x1ZGUgIldLU2VjdXJpdHlPcmlnaW4uaCIKLSNpbmNsdWRl
IDxXZWJLaXQyL1dLQmFzZS5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotY2xhc3MgRXdrX1NlY3VyaXR5X09yaWdpbiA6IHB1Ymxp
YyBSZWZDb3VudGVkPEV3a19TZWN1cml0eV9PcmlnaW4+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxFd2tfU2VjdXJpdHlfT3JpZ2luPiBjcmVhdGUoV0tTZWN1cml0eU9yaWdpblJl
ZiBvcmlnaW5SZWYpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEV3a19TZWN1
cml0eV9PcmlnaW4ob3JpZ2luUmVmKSk7Ci0gICAgfQotCi0gICAgY29uc3QgY2hhciogaG9zdCgp
IGNvbnN0OwotICAgIGNvbnN0IGNoYXIqIHByb3RvY29sKCkgY29uc3Q7Ci0gICAgdWludDMyX3Qg
cG9ydCgpIGNvbnN0OwotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IEV3a19TZWN1cml0eV9Pcmln
aW4oV0tTZWN1cml0eU9yaWdpblJlZiBvcmlnaW5SZWYpOwotCi0gICAgV0tSZXRhaW5QdHI8V0tT
ZWN1cml0eU9yaWdpblJlZj4gbV93a09yaWdpbjsKLSAgICBXS0VpbmFTaGFyZWRTdHJpbmcgbV9o
b3N0OwotICAgIFdLRWluYVNoYXJlZFN0cmluZyBtX3Byb3RvY29sOwotfTsKLQotI2VuZGlmIC8v
IGV3a19zZWN1cml0eV9vcmlnaW5fcHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zdG9yYWdlX21hbmFnZXIuY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAxNjMyYjJlNmIzNzdkYTM0YjliOWViYmViNDRjZTFkMzliMjM5
MjM5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zdG9yYWdlX21hbmFnZXIuY3BwCisrKyAv
ZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1z
dW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBI
T0xERVIgT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORwotICogTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiZXdrX3N0b3JhZ2VfbWFuYWdlci5o
IgotCi0jaW5jbHVkZSAiV0tBUElDYXN0LmgiCi0jaW5jbHVkZSAiV0tBcnJheS5oIgotI2luY2x1
ZGUgIldLS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oIgotI2luY2x1ZGUgImV3a19lcnJvcl9wcml2
YXRlLmgiCi0jaW5jbHVkZSAiZXdrX3NlY3VyaXR5X29yaWdpbi5oIgotI2luY2x1ZGUgImV3a19z
ZWN1cml0eV9vcmlnaW5fcHJpdmF0ZS5oIgotI2luY2x1ZGUgImV3a19zdG9yYWdlX21hbmFnZXJf
cHJpdmF0ZS5oIgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLXVzaW5nIG5hbWVzcGFj
ZSBXZWJLaXQ7Ci0KLUV3a19TdG9yYWdlX01hbmFnZXI6OkV3a19TdG9yYWdlX01hbmFnZXIoV0tL
ZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUmVmIHdrU3RvcmFnZU1hbmFnZXJSZWYpCi0gICAgOiBtX3dr
U3RvcmFnZU1hbmFnZXIod2tTdG9yYWdlTWFuYWdlclJlZikKLXsgfQotCi12b2lkIEV3a19TdG9y
YWdlX01hbmFnZXI6OmdldFN0b3JhZ2VPcmlnaW5zKHZvaWQqIGNvbnRleHQsIFdLS2V5VmFsdWVT
dG9yYWdlTWFuYWdlckdldEtleVZhbHVlU3RvcmFnZU9yaWdpbnNGdW5jdGlvbiBjYWxsYmFjaykg
Y29uc3QKLXsKLSAgICBXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXJHZXRLZXlWYWx1ZVN0b3JhZ2VP
cmlnaW5zKG1fd2tTdG9yYWdlTWFuYWdlci5nZXQoKSwgY29udGV4dCwgY2FsbGJhY2spOwotfQot
Ci1FaW5hX0xpc3QqIEV3a19TdG9yYWdlX01hbmFnZXI6OmNyZWF0ZU9yaWdpbkxpc3QoV0tBcnJh
eVJlZiBvcmlnaW5zKSBjb25zdAotewotICAgIEVpbmFfTGlzdCogb3JpZ2luTGlzdCA9IDA7Ci0g
ICAgY29uc3Qgc2l6ZV90IGxlbmd0aCA9IFdLQXJyYXlHZXRTaXplKG9yaWdpbnMpOwotCi0gICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewotICAgICAgICBXS1NlY3VyaXR5
T3JpZ2luUmVmIHdrT3JpZ2luUmVmID0gc3RhdGljX2Nhc3Q8V0tTZWN1cml0eU9yaWdpblJlZj4o
V0tBcnJheUdldEl0ZW1BdEluZGV4KG9yaWdpbnMsIGkpKTsKLSAgICAgICAgUmVmUHRyPEV3a19T
ZWN1cml0eV9PcmlnaW4+IG9yaWdpbiA9IG1fd3JhcHBlckNhY2hlLmdldCh3a09yaWdpblJlZik7
Ci0gICAgICAgIGlmICghb3JpZ2luKSB7Ci0gICAgICAgICAgICBvcmlnaW4gPSBFd2tfU2VjdXJp
dHlfT3JpZ2luOjpjcmVhdGUod2tPcmlnaW5SZWYpOwotICAgICAgICAgICAgbV93cmFwcGVyQ2Fj
aGUuc2V0KHdrT3JpZ2luUmVmLCBvcmlnaW4pOwotICAgICAgICB9Ci0gICAgICAgIG9yaWdpbkxp
c3QgPSBlaW5hX2xpc3RfYXBwZW5kKG9yaWdpbkxpc3QsIG9yaWdpbi5yZWxlYXNlKCkubGVha1Jl
ZigpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gb3JpZ2luTGlzdDsKLX0KLQotc3RydWN0IEV3a19T
dG9yYWdlX09yaWdpbnNfQXN5bmNfR2V0X0NvbnRleHQgewotICAgIGNvbnN0IEV3a19TdG9yYWdl
X01hbmFnZXIqIG1hbmFnZXI7Ci0gICAgRXdrX1N0b3JhZ2VfT3JpZ2luc19HZXRfQ2IgY2FsbGJh
Y2s7Ci0gICAgdm9pZCogdXNlckRhdGE7Ci0KLSAgICBFd2tfU3RvcmFnZV9PcmlnaW5zX0FzeW5j
X0dldF9Db250ZXh0KGNvbnN0IEV3a19TdG9yYWdlX01hbmFnZXIqIG1hbmFnZXIsIEV3a19TdG9y
YWdlX09yaWdpbnNfR2V0X0NiIGNhbGxiYWNrLCB2b2lkKiB1c2VyRGF0YSkKLSAgICAgICAgOiBt
YW5hZ2VyKG1hbmFnZXIpCi0gICAgICAgICwgY2FsbGJhY2soY2FsbGJhY2spCi0gICAgICAgICwg
dXNlckRhdGEodXNlckRhdGEpCi0gICAgeyB9Ci19OwotCi1zdGF0aWMgdm9pZCBnZXRTdG9yYWdl
T3JpZ2luc0NhbGxiYWNrKFdLQXJyYXlSZWYgb3JpZ2lucywgV0tFcnJvclJlZiB3a0Vycm9yLCB2
b2lkKiBjb250ZXh0KQotewotICAgIEVpbmFfTGlzdCogb3JpZ2luTGlzdCA9IDA7Ci0gICAgT3du
UHRyPEV3a19TdG9yYWdlX09yaWdpbnNfQXN5bmNfR2V0X0NvbnRleHQqPiB3ZWJTdG9yYWdlQ29u
dGV4dCA9IGFkb3B0UHRyKHN0YXRpY19jYXN0PEV3a19TdG9yYWdlX09yaWdpbnNfQXN5bmNfR2V0
X0NvbnRleHQqPihjb250ZXh0KSk7Ci0KLSAgICBvcmlnaW5MaXN0ID0gd2ViU3RvcmFnZUNvbnRl
eHQtPm1hbmFnZXItPmNyZWF0ZU9yaWdpbkxpc3Qob3JpZ2lucyk7Ci0KLSAgICBPd25QdHI8RXdr
X0Vycm9yPiBld2tFcnJvciA9IEV3a19FcnJvcjo6Y3JlYXRlKHdrRXJyb3IpOwotICAgIHdlYlN0
b3JhZ2VDb250ZXh0LT5jYWxsYmFjayhvcmlnaW5MaXN0LCBld2tFcnJvci5nZXQoKSwgd2ViU3Rv
cmFnZUNvbnRleHQtPnVzZXJEYXRhKTsKLX0KLQotRWluYV9Cb29sIGV3a19zdG9yYWdlX21hbmFn
ZXJfb3JpZ2luc19nZXQoY29uc3QgRXdrX1N0b3JhZ2VfTWFuYWdlciogZXdrU3RvcmFnZU1hbmFn
ZXIsIEV3a19TdG9yYWdlX09yaWdpbnNfR2V0X0NiIGNhbGxiYWNrLCB2b2lkKiB1c2VyRGF0YSkK
LXsKLSAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZXdrU3RvcmFnZU1hbmFnZXIs
IGZhbHNlKTsKLSAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY2FsbGJhY2ssIGZh
bHNlKTsKLQotICAgIEV3a19TdG9yYWdlX09yaWdpbnNfQXN5bmNfR2V0X0NvbnRleHQqIGNvbnRl
eHQgPSBuZXcgRXdrX1N0b3JhZ2VfT3JpZ2luc19Bc3luY19HZXRfQ29udGV4dChld2tTdG9yYWdl
TWFuYWdlciwgY2FsbGJhY2ssIHVzZXJEYXRhKTsKLSAgICBld2tTdG9yYWdlTWFuYWdlci0+Z2V0
U3RvcmFnZU9yaWdpbnMoY29udGV4dCwgZ2V0U3RvcmFnZU9yaWdpbnNDYWxsYmFjayk7Ci0KLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19zdG9yYWdlX21hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19zdG9yYWdlX21hbmFnZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDk0YTU1NmI2NzM1MDBlNjE2YWUyMzMzODkwMzgwZDk2NWQyYzdkZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3MyAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUgotICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HCi0gKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLS8qKgotICogQGZpbGUg
ICBld2tfc3RvcmFnZV9tYW5hZ2VyLmgKLSAqIEBicmllZiAgRGVzY3JpYmVzIHRoZSBFd2sgU3Rv
cmFnZSBNYW5hZ2VyIEFQSS4KLSAqCi0gKiBFd2sgU3RvcmFnZSBNYW5hZ2VyIG1hbmFnZXMgd2Vi
IHN0b3JhZ2UuCi0gKi8KLQotI2lmbmRlZiBld2tfc3RvcmFnZV9tYW5hZ2VyX2gKLSNkZWZpbmUg
ZXdrX3N0b3JhZ2VfbWFuYWdlcl9oCi0KLSNpbmNsdWRlICJld2tfZXJyb3IuaCIKLSNpbmNsdWRl
IDxFaW5hLmg+Ci0KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIiB7Ci0jZW5kaWYKLQot
LyoqIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEV3a19TdG9yYWdlX01hbmFnZXIuICovCi10eXBl
ZGVmIHN0cnVjdCBFd2tfU3RvcmFnZV9NYW5hZ2VyIEV3a19TdG9yYWdlX01hbmFnZXI7Ci0KLS8q
KgotICogQHR5cGVkZWYgRXdrX1N0b3JhZ2VfT3JpZ2luc19HZXRfQ2IgRXdrX1N0b3JhZ2VfT3Jp
Z2luc19HZXRfQ2IKLSAqIEBicmllZiBDYWxsYmFjayB0eXBlIGZvciB1c2Ugd2l0aCBld2tfc3Rv
cmFnZV9tYW5hZ2VyX29yaWdpbnNfZ2V0KCkuCi0gKgotICogQHBhcmFtIG9yaWdpbnMgQGMgRWlu
YV9MaXN0IGNvbnRhaW5pbmcgQGMgRXdrX1NlY3VyaXR5X09yaWdpbiBlbGVtZW50cyBvciBAYyBO
VUxMIGluIGNhc2Ugb2YgZXJyb3IsCi0gKiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBFaW5h
X0xpc3QgYW5kIGl0cyBpdGVtcyBzaG91bGQgYmUgZnJlZWQgYWZ0ZXIgdXNlLiBVc2UgZXdrX3Nl
Y3VyaXR5X29yaWdpbl91bnJlZigpCi0gKiAgICAgICAgICAgICAgICAgICAgICAgIHRvIGZyZWUg
dGhlIGl0ZW1zCi0gKi8KLXR5cGVkZWYgdm9pZCAoKkV3a19TdG9yYWdlX09yaWdpbnNfR2V0X0Ni
KShFaW5hX0xpc3QgKm9yaWdpbnMsIEV3a19FcnJvciAqZXJyb3IsIHZvaWQgKnVzZXJfZGF0YSk7
Ci0KLS8qKgotICogR2V0cyBsaXN0IG9mIG9yaWdpbnMgdGhhdCBhcmUgc3RvcmVkIGluIHN0b3Jh
Z2UgZGIgYXN5bmNocm9ub3VzbHkuCi0gKgotICogVGhpcyBmdW5jdGlvbiBhbGxvY2F0ZXMgbWVt
b3J5IGZvciBjb250ZXh0IHN0cnVjdHVyZSBtYWRlIGZyb20gY2FsbGJhY2sgYW5kIHVzZXJfZGF0
YS4KLSAqCi0gKiBAcGFyYW0gbWFuYWdlciBFd2tfU3RvcmFnZV9NYW5hZ2VyIG9iamVjdAotICog
QHBhcmFtIGNhbGxiYWNrIGNhbGxiYWNrIHRvIGdldCBzdG9yYWdlIG9yaWdpbnMKLSAqIEBwYXJh
bSB1c2VyX2RhdGEgdXNlcl9kYXRhIHdpbGwgYmUgcGFzc2VkIHdoZW4gcmVzdWx0X2NhbGxiYWNr
IGlzIGNhbGxlZCwKLSAqICAgIC1pLmUuLCB1c2VyIGRhdGEgd2lsbCBiZSBrZXB0IHVudGlsIGNh
bGxiYWNrIGlzIGNhbGxlZAotICoKLSAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1Y2Nlc3Ms
IEBjIEVJTkFfRkFMU0Ugb24gZmFpbHVyZQotICovCi1FQVBJIEVpbmFfQm9vbCBld2tfc3RvcmFn
ZV9tYW5hZ2VyX29yaWdpbnNfZ2V0KGNvbnN0IEV3a19TdG9yYWdlX01hbmFnZXIgKm1hbmFnZXIs
IEV3a19TdG9yYWdlX09yaWdpbnNfR2V0X0NiIGNhbGxiYWNrLCB2b2lkICp1c2VyX2RhdGEpOwot
Ci0jaWZkZWYgX19jcGx1c3BsdXMKLX0KLSNlbmRpZgotI2VuZGlmIC8vIGV3a19zdG9yYWdlX21h
bmFnZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3N0b3JhZ2VfbWFuYWdlcl9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyX3ByaXZhdGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNWVlZWE0OTEzNzkxNWQ0ZjIwMDc1Mjc3Yzg3NGMxNDBiNjk2OWI4ZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyX3ByaXZhdGUuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDUyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBF
bGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVS
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKLSAqIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2lmbmRlZiBld2tfc3RvcmFnZV9tYW5hZ2VyX3ByaXZhdGVfaAotI2RlZmluZSBld2tfc3RvcmFn
ZV9tYW5hZ2VyX3ByaXZhdGVfaAotCi0jaW5jbHVkZSAiV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2Vy
LmgiCi0jaW5jbHVkZSAiV0tSZXRhaW5QdHIuaCIKLSNpbmNsdWRlICJld2tfc2VjdXJpdHlfb3Jp
Z2luX3ByaXZhdGUuaCIKLSNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgotI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+Ci0KLWNsYXNzIEV3a19TdG9yYWdlX01hbmFnZXIgewotcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a19TdG9yYWdlX01hbmFnZXI+IGNyZWF0ZShXS0tleVZh
bHVlU3RvcmFnZU1hbmFnZXJSZWYgd2tTdG9yYWdlTWFuYWdlclJlZikKLSAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFB0cihuZXcgRXdrX1N0b3JhZ2VfTWFuYWdlcih3a1N0b3JhZ2VNYW5hZ2Vy
UmVmKSk7Ci0gICAgfQotCi0gICAgRWluYV9MaXN0KiBjcmVhdGVPcmlnaW5MaXN0KFdLQXJyYXlS
ZWYgd2tMaXN0KSBjb25zdDsKLSAgICB2b2lkIGdldFN0b3JhZ2VPcmlnaW5zKHZvaWQqIGNvbnRl
eHQsIFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlckdldEtleVZhbHVlU3RvcmFnZU9yaWdpbnNGdW5j
dGlvbiBjYWxsYmFjaykgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgRXdrX1N0b3Jh
Z2VfTWFuYWdlcihXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXJSZWYgd2tTdG9yYWdlTWFuYWdlclJl
Zik7Ci0KLSAgICBXS1JldGFpblB0cjxXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXJSZWY+IG1fd2tT
dG9yYWdlTWFuYWdlcjsKLSAgICBtdXRhYmxlIEhhc2hNYXA8V0tTZWN1cml0eU9yaWdpblJlZiwg
UmVmUHRyPEV3a19TZWN1cml0eV9PcmlnaW4+ID4gbV93cmFwcGVyQ2FjaGU7Ci19OwotCi0jZW5k
aWYgLy8gZXdrX3N0b3JhZ2VfbWFuYWdlcl9wcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0LmNw
cAppbmRleCAxZDQ0YWNiZmNkYTM3ZGI5ZDllOTQ4NTA3ZTc2YjM2NDljNGZhOWI0Li44Njc0NmRj
ZjE5NzBjMWIyZjhkZDhlYmVkNTFjNTExN2Y2ZmMxOWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2NvbnRleHQu
Y3BwCkBAIC02MSwxNCArNjEsNiBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2NvbnRl
eHRfZmF2aWNvbl9kYXRhYmFzZV9nZXQpCiAgICAgQVNTRVJUX0VRKGZhdmljb25EYXRhYmFzZSwg
ZXdrX2NvbnRleHRfZmF2aWNvbl9kYXRhYmFzZV9nZXQoY29udGV4dCkpOwogfQogCi1URVNUX0Yo
RVdLMlVuaXRUZXN0QmFzZSwgZXdrX2NvbnRleHRfc3RvcmFnZV9tYW5hZ2VyX2dldCkKLXsKLSAg
ICBFd2tfQ29udGV4dCogY29udGV4dCA9IGV3a192aWV3X2NvbnRleHRfZ2V0KHdlYlZpZXcoKSk7
Ci0gICAgRXdrX1N0b3JhZ2VfTWFuYWdlciogc3RvcmFnZU1hbmFnZXIgPSBld2tfY29udGV4dF9z
dG9yYWdlX21hbmFnZXJfZ2V0KGNvbnRleHQpOwotICAgIEFTU0VSVF9UUlVFKHN0b3JhZ2VNYW5h
Z2VyKTsKLSAgICBBU1NFUlRfRVEoc3RvcmFnZU1hbmFnZXIsIGV3a19jb250ZXh0X3N0b3JhZ2Vf
bWFuYWdlcl9nZXQoY29udGV4dCkpOwotfQotCiBzdGF0aWMgdm9pZCBzY2hlbWVSZXF1ZXN0Q2Fs
bGJhY2soRXdrX1VybF9TY2hlbWVfUmVxdWVzdCogcmVxdWVzdCwgdm9pZCogdXNlckRhdGEpCiB7
CiAgICAgY29uc3QgY2hhciogc2NoZW1lID0gZXdrX3VybF9zY2hlbWVfcmVxdWVzdF9zY2hlbWVf
Z2V0KHJlcXVlc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvdGVzdHMvdGVzdF9ld2syX3N0b3JhZ2VfbWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfc3RvcmFnZV9tYW5hZ2VyLmNwcApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGQ3NDI5OTFjZDQzYmQ2ZjlhYmY0OWNjOTgxYWQ0
MDIzMTUyNjczMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfc3RvcmFn
ZV9tYW5hZ2VyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcwotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0KLSNpbmNsdWRlICJVbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCIK
LSNpbmNsdWRlIDxFV2ViS2l0Mi5oPgotI2luY2x1ZGUgPEVjb3JlLmg+Ci0jaW5jbHVkZSA8Z3Rl
c3QvZ3Rlc3QuaD4KLQotdXNpbmcgbmFtZXNwYWNlIEVXSzJVbml0VGVzdDsKLQotc3RhdGljIHZv
aWQgZ2V0U3RvcmFnZU9yaWdpbnNDYWxsYmFjayhFaW5hX0xpc3QqIG9yaWdpbnMsIEV3a19FcnJv
ciogZXJyb3IsIHZvaWQqIHVzZXJfZGF0YSkKLXsKLSAgICBBU1NFUlRfRkFMU0UoZXJyb3IpOwot
Ci0gICAgRWluYV9MaXN0KiogcmV0ID0gc3RhdGljX2Nhc3Q8RWluYV9MaXN0Kio+KHVzZXJfZGF0
YSk7Ci0gICAgRWluYV9MaXN0KiBsOwotICAgIHZvaWQqIGRhdGE7Ci0gICAgRUlOQV9MSVNUX0ZP
UkVBQ0gob3JpZ2lucywgbCwgZGF0YSkKLSAgICAgICAgKnJldCA9IGVpbmFfbGlzdF9hcHBlbmQo
KnJldCwgZGF0YSk7Ci0KLSAgICBlY29yZV9tYWluX2xvb3BfcXVpdCgpOwotfQotCi1URVNUX0Yo
RVdLMlVuaXRUZXN0QmFzZSwgZXdrX3N0b3JhZ2VfbWFuYWdlcl9vcmlnaW5zX2dldCkKLXsKLSAg
ICBjb25zdCBjaGFyKiBzdG9yYWdlSFRNTCA9Ci0gICAgICAgICI8aHRtbD48aGVhZD48dGl0bGU+
b3JpZ2luYWwgdGl0bGU8L3RpdGxlPjwvaGVhZD4iCi0gICAgICAgICI8Ym9keT4iCi0gICAgICAg
ICI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IgotICAgICAgICAiIGxvY2FsU3RvcmFn
ZS5zZXRJdGVtKCdpdGVtJywgJ3N0b3JhZ2UnKTsiCi0gICAgICAgICIgZG9jdW1lbnQudGl0bGUg
PSAnU2V0JzsiCi0gICAgICAgICIgPC9zY3JpcHQ+IgotICAgICAgICAiPC9ib2R5PjwvaHRtbD4i
OwotCi0gICAgLy8gV2FpdCB1bnRpbCBzdG9yYWdlIHRyYWNrZXIgaXMgbWFkZSBhbmQgc3luY2hy
b25pemVkIHNvIHRoYXQgd2UgY2FuIGdldCB0aGUgb3JpZ2lucyBvZiB3ZWIgc3RvcmFnZSBmb3Jt
IHN0b3JhZ2UgdHJhY2tlci4KLSAgICBld2tfdmlld19odG1sX3N0cmluZ19sb2FkKHdlYlZpZXco
KSwgc3RvcmFnZUhUTUwsICJodHRwOi8vd3d3LnN0b3JhZ2V0ZXN0LmNvbSIsIDApOwotICAgIEFT
U0VSVF9GQUxTRSh3YWl0VW50aWxUaXRsZUNoYW5nZWRUbygiV2FpdCB1bnRpbCBkYiBzeW5jIGlz
IGZpbmlzaGVkIiwgMikpOwotCi0gICAgRWluYV9MaXN0KiBvcmlnaW5zID0gMDsKLSAgICBBU1NF
UlRfVFJVRShld2tfc3RvcmFnZV9tYW5hZ2VyX29yaWdpbnNfZ2V0KGV3a19jb250ZXh0X3N0b3Jh
Z2VfbWFuYWdlcl9nZXQoZXdrX3ZpZXdfY29udGV4dF9nZXQod2ViVmlldygpKSksIGdldFN0b3Jh
Z2VPcmlnaW5zQ2FsbGJhY2ssICZvcmlnaW5zKSk7Ci0gICAgZWNvcmVfbWFpbl9sb29wX2JlZ2lu
KCk7Ci0KLSAgICBBU1NFUlRfTEUoMSwgZWluYV9saXN0X2NvdW50KG9yaWdpbnMpKTsKLQotICAg
IEV3a19TZWN1cml0eV9PcmlnaW4qIG9yaWdpbiA9IHN0YXRpY19jYXN0PEV3a19TZWN1cml0eV9P
cmlnaW4qPihlaW5hX2xpc3RfbnRoKG9yaWdpbnMsIDApKTsKLSAgICBFWFBFQ1RfU1RSRVEoImh0
dHAiLCBld2tfc2VjdXJpdHlfb3JpZ2luX3Byb3RvY29sX2dldChvcmlnaW4pKTsKLSAgICBFWFBF
Q1RfU1RSRVEoInd3dy5zdG9yYWdldGVzdC5jb20iLCBld2tfc2VjdXJpdHlfb3JpZ2luX2hvc3Rf
Z2V0KG9yaWdpbikpOwotICAgIEVYUEVDVF9FUSgwLCBld2tfc2VjdXJpdHlfb3JpZ2luX3BvcnRf
Z2V0KG9yaWdpbikpOwotCi0gICAgRVhQRUNUX0VRKG9yaWdpbiwgZXdrX3NlY3VyaXR5X29yaWdp
bl9yZWYob3JpZ2luKSk7Ci0gICAgZXdrX3NlY3VyaXR5X29yaWdpbl91bnJlZihvcmlnaW4pOwot
fQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>