<?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>168477</bug_id>
          
          <creation_ts>2017-02-16 15:44:11 -0800</creation_ts>
          <short_desc>Remove EFL from WebCore</short_desc>
          <delta_ts>2017-02-16 17:15:24 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=168485</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1277967</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-02-16 15:44:11 -0800</bug_when>
    <thetext>Remove EFL from WebCore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277970</commentid>
    <comment_count>1</comment_count>
      <attachid>301845</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-02-16 15:48:25 -0800</bug_when>
    <thetext>Created attachment 301845
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277999</commentid>
    <comment_count>2</comment_count>
      <attachid>301845</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-02-16 16:14:27 -0800</bug_when>
    <thetext>Comment on attachment 301845
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278006</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-02-16 16:22:30 -0800</bug_when>
    <thetext>Committed r212484: &lt;http://trac.webkit.org/changeset/212484&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301845</attachid>
            <date>2017-02-16 15:48:25 -0800</date>
            <delta_ts>2017-02-16 16:14:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168477-20170216154547.patch</filename>
            <type>text/plain</type>
            <size>57884</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWNmZDg3NTU1MWY3Mzhh
NDc5YzhmMWQwYzgwOWMxYzQ1NmU0NjhlZC4uNjU3NzM1OGFhYjU2M2RlNGFiMDdhZmJjNjFlZTlj
YjE1YzBjYzM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMiBAQAorMjAxNy0wMi0xNiAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBFRkwg
ZnJvbSBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjg0NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eUxpc3Q6OmNoaWxkSGFzUHNldWRvVmlzaWJsZUxpc3RJdGVtTWFy
a2Vycyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y2FuU2V0VmFs
dWVBdHRyaWJ1dGUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpBY2Nlc3NpYmls
aXR5T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnRleHRJ
dGVyYXRvckJlaGF2aW9yRm9yVGV4dFJhbmdlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdDo6ZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUpOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlUYWJsZUNvbHVtbjo6Y29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQpOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFpbmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5l
cjo6Y29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQpOgorICAgICAgICAqIGNyeXB0by9Dcnlw
dG9LZXkuY3BwOgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5oOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aW1wbGlj
aXRDbG9zZSk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RWRpdG9yOjpwZXJmb3JtQ3V0T3JDb3B5KToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6
Y29weUltYWdlKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOgorICAgICAgICAqIGVkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcXVpcmVzQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Zvcldl
YkdMKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6cG9ydCk6CisgICAgICAgICog
bG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlD
b250cm9sbGVyOjpyZXN0b3JlU2Nyb2xsUG9zaXRpb25BbmRWaWV3U3RhdGUpOgorICAgICAgICAq
IGxvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJY29uRGF0
YWJhc2U6OnBlcmZvcm1VUkxJbXBvcnQpOgorICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6Y29u
dGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250
cm9sbGVyOjpwb3B1bGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xs
ZXI6OmNoZWNrT3JFbmFibGVJZk5lZWRlZCk6CisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKToKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmV2ZW50SW52ZXJ0c1RhYnNUb0xpbmtzQ2xpZW50Q2FsbFJlc3VsdCk6CisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpsYXlv
dXQpOgorICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oOgorICAgICAgICAqIHBs
YXRmb3JtL0N1cnNvci5oOgorICAgICAgICAqIHBsYXRmb3JtL0RyYWdEYXRhLmg6CisgICAgICAg
ICogcGxhdGZvcm0vRHJhZ0ltYWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vRmlsZVN5c3RlbS5o
OgorICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmluaXRpYWxpemVT
dXBwb3J0ZWRJbWFnZU1JTUVUeXBlc0ZvckVuY29kaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9O
b3RJbXBsZW1lbnRlZC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9QbGF0Zm9ybU1vdXNlRXZlbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVyLmg6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50Lmg6
CisgICAgICAgICogcGxhdGZvcm0vV2lkZ2V0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvQU5HTEVXZWJLaXRCcmlkZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRt
YXBJbWFnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSWNvbi5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZTo6Z2V0RXZhc09i
amVjdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpFeHRlbnNpb25zM0RPcGVuR0w6OmNyZWF0ZVZlcnRleEFycmF5T0VTKToKKyAgICAgICAg
KFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6ZGVsZXRlVmVydGV4QXJyYXlPRVMpOgorICAg
ICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9uczNET3BlbkdMOjppc1ZlcnRleEFycmF5T0VTKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6YmluZFZlcnRleEFycmF5T0VTKToK
KyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6c3VwcG9ydHNFeHRlbnNpb24p
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdM
Q29tbW9uLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0M0RPcGVuR0wuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6Y3JlYXRlRm9yQ3VycmVudEdMQ29udGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRDo6cmVzaGFwZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6Y3JlYXRlVmVydGV4QXJyYXkpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0M0Q6OmRlbGV0ZVZlcnRleEFycmF5KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjppc1ZlcnRleEFycmF5KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEOjpiaW5kVmVydGV4QXJyYXkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9UZW1wb3JhcnlPcGVuR0xTZXR0aW5nLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vcG9z
aXgvRmlsZVN5c3RlbVBPU0lYLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6
ZW5zdXJlUm9vdExheWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpwcmV2aW91c09mZnNldEZvckJhY2t3YXJkRGVs
ZXRpb24pOgorICAgICAgICAqIHhtbC9YU0xTdHlsZVNoZWV0TGlieHNsdC5jcHA6CisgICAgICAg
ICogeG1sL1hTTFRFeHRlbnNpb25zLmNwcDoKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3Nvckxp
YnhzbHQuY3BwOgorICAgICAgICAqIHhtbC9YU0xUVW5pY29kZVNvcnQuY3BwOgorCiAyMDE3LTAy
LTE2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBFeGVjdXRl
IHBlbmRpbmcgc2NyaXB0cyBhc3luY2hyb25vdXNseSBhZnRlciBzdHlsZXNoZWV0IGxvYWRzIGNv
bXBsZXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eUxpc3QuY3BwCmluZGV4IGFhMTk0ZWEwZmZiYjVlNzUyOGM0ZGYyMjg0OTljMmU1NTljYmU1N2Uu
LmRhMTMwYTJiNGI5ZGM4YzVhNzUwZTQzYmI1YzRhMGMwMGQwODFlZDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3QuY3BwCkBAIC0xMTgs
NyArMTE4LDcgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5TGlzdDo6Y2hpbGRIYXNQc2V1ZG9WaXNpYmxl
TGlzdEl0ZW1NYXJrZXJzKFJlbmRlck9iamVjdCogbGlzdEkKICAgICAKICAgICAvLyBQbGF0Zm9y
bXMgd2hpY2ggZXhwb3NlIHJlbmRlcmVkIHRleHQgY29udGVudCB0aHJvdWdoIHRoZSBwYXJlbnQg
ZWxlbWVudCB3aWxsIHRyZWF0CiAgICAgLy8gdGhvc2UgcmVuZGVyZXJzIGFzICJpZ25vcmVkIiBv
YmplY3RzLgotI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQorI2lmIFBMQVRGT1JN
KEdUSykKICAgICBTdHJpbmcgdGV4dCA9IGF4T2JqLT50ZXh0VW5kZXJFbGVtZW50KCk7CiAgICAg
cmV0dXJuICF0ZXh0LmlzRW1wdHkoKSAmJiAhdGV4dC5jb250YWluc09ubHlXaGl0ZXNwYWNlKCk7
CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmNwcAppbmRleCAxMzMwNmQwYzg2Y2U3NTljNWVkOTFiNjkxMDlm
NGQ3YWI5YjVhMjExLi40YmNlMGIwOWM1YjIyZjY2OTkwZmNhMzkxNzIzYzI4YTIyMGIzMDBiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlOb2RlT2JqZWN0LmNwcApAQCAtMjA3NSw3ICsyMDc1LDcgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdDo6Y2FuU2V0VmFsdWVBdHRyaWJ1dGUoKSBjb25zdAogICAgIGlmIChpc1Byb2dy
ZXNzSW5kaWNhdG9yKCkgfHwgaXNTbGlkZXIoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSNp
ZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQTEFURk9STShHVEspCiAgICAg
Ly8gSW4gQVRLLCBpbnB1dCB0eXBlcyB3aGljaCBzdXBwb3J0IGFyaWEtcmVhZG9ubHkgYXJlIHRy
ZWF0ZWQgYXMgaGF2aW5nIGEKICAgICAvLyBzZXR0YWJsZSB2YWx1ZSBpZiB0aGUgdXNlciBjYW4g
bW9kaWZ5IHRoZSB3aWRnZXQncyB2YWx1ZSBvciBpdHMgc3RhdGUuCiAgICAgaWYgKHN1cHBvcnRz
QVJJQVJlYWRPbmx5KCkgfHwgaXNSYWRpb0J1dHRvbigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggZTNiYjFlOGNm
NWY3NmU4MjI4ODQ2MTQ4NDdlMDcyOTJiOGRmMzczNC4uMGY2MzE5ZTM3YzJhZTg2YzEzODlmZWE5
ZDkzNTAwNTkyY2I4Nzc4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC04Niw3ICs4Niw3IEBAIEFjY2Vzc2liaWxp
dHlPYmplY3Q6OkFjY2Vzc2liaWxpdHlPYmplY3QoKQogICAgICwgbV9oYXZlQ2hpbGRyZW4oZmFs
c2UpCiAgICAgLCBtX3JvbGUoVW5rbm93blJvbGUpCiAgICAgLCBtX2xhc3RLbm93bklzSWdub3Jl
ZFZhbHVlKERlZmF1bHRCZWhhdmlvcikKLSNpZiBQTEFURk9STShHVEspIHx8IChQTEFURk9STShF
RkwpICYmIEhBVkUoQUNDRVNTSUJJTElUWSkpCisjaWYgUExBVEZPUk0oR1RLKQogICAgICwgbV93
cmFwcGVyKG51bGxwdHIpCiAjZW5kaWYKIHsKQEAgLTI5MTcsNyArMjkxNyw3IEBAIFRleHRJdGVy
YXRvckJlaGF2aW9yIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnRleHRJdGVyYXRvckJlaGF2aW9yRm9y
VGV4dFJhbmdlKCkgY29uCiB7CiAgICAgVGV4dEl0ZXJhdG9yQmVoYXZpb3IgYmVoYXZpb3IgPSBU
ZXh0SXRlcmF0b3JJZ25vcmVzU3R5bGVWaXNpYmlsaXR5OwogICAgIAotI2lmIFBMQVRGT1JNKEdU
SykgfHwgUExBVEZPUk0oRUZMKQorI2lmIFBMQVRGT1JNKEdUSykKICAgICAvLyBXZSBuZWVkIHRv
IGVtaXQgcmVwbGFjZWQgZWxlbWVudHMgZm9yIEdUSywgYW5kIHByZXNlbnQKICAgICAvLyB0aGVt
IHdpdGggdGhlICdvYmplY3QgcmVwbGFjZW1lbnQgY2hhcmFjdGVyJyAoMHhGRkZDKS4KICAgICBi
ZWhhdmlvciA9IHN0YXRpY19jYXN0PFRleHRJdGVyYXRvckJlaGF2aW9yPihiZWhhdmlvciB8IFRl
eHRJdGVyYXRvckVtaXRzT2JqZWN0UmVwbGFjZW1lbnRDaGFyYWN0ZXJzKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXggYWUz
MmEwNDA5M2ZmYWYzZWY2Y2MxZGRlZDNkNzQyNjRiZjI3Yzg0Yy4uNjNlYThjNjM4MzUxZjgzYzY1
NTRmZDViOTM5NDQwZmNjZDgwOTE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTYzLDcgKzYzLDcgQEAgT0JKQ19DTEFT
UyBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKIAogdHlwZWRlZiBXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlciBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKIAotI2VsaWYgUExB
VEZPUk0oR1RLKSB8fCAoUExBVEZPUk0oRUZMKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpKQorI2Vs
aWYgUExBVEZPUk0oR1RLKQogdHlwZWRlZiBzdHJ1Y3QgX0F0a09iamVjdCBBdGtPYmplY3Q7CiB0
eXBlZGVmIHN0cnVjdCBfQXRrT2JqZWN0IEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyOwogI2Vs
c2UKQEAgLTEwMTQsNyArMTAxNCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzSGlkZGVuKCkgY29u
c3QgeyByZXR1cm4gaXNBUklBSGlkZGVuKCkgfHwgaXNET01IaWRkZW4oKTsgfQogICAgIAogI2lm
IEhBVkUoQUNDRVNTSUJJTElUWSkKLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkK
KyNpZiBQTEFURk9STShHVEspCiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBw
ZXIoKSBjb25zdDsKICAgICB2b2lkIHNldFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXIqKTsKICNlbHNlCkBAIC0xMDkzLDcgKzEwOTMsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lk
IGFyaWFFbGVtZW50c0Zyb21BdHRyaWJ1dGUoQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiwg
Y29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OwogCi0jaWYgKFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oRUZMKSkgJiYgSEFWRShBQ0NFU1NJQklMSVRZKQorI2lmIFBMQVRGT1JNKEdUSykgJiYg
SEFWRShBQ0NFU1NJQklMSVRZKQogICAgIGJvb2wgYWxsb3dzVGV4dFJhbmdlcygpIGNvbnN0Owog
ICAgIHVuc2lnbmVkIGdldExlbmd0aEZvclRleHRSYW5nZSgpIGNvbnN0OwogI2Vsc2UKQEAgLTEx
MDUsNyArMTEwNSw3IEBAIHByb3RlY3RlZDoKICAgICBSZXRhaW5QdHI8V2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXI+IG1fd3JhcHBlcjsKICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICBDT01Q
dHI8QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IG1fd3JhcHBlcjsKLSNlbGlmIFBMQVRGT1JN
KEdUSykgfHwgKFBMQVRGT1JNKEVGTCkgJiYgSEFWRShBQ0NFU1NJQklMSVRZKSkKKyNlbGlmIFBM
QVRGT1JNKEdUSykKICAgICBBdGtPYmplY3QqIG1fd3JhcHBlcjsKICNlbmRpZgogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuY3BwCmluZGV4IDNmMmEyNGQ0NzkxZTUzZDI5MmNmZTA2ZWMxNTI1MmVjZGRiMGFm
ODQuLjc0YzJkZjY4ZDY1ZDUxYTU4ZmY4ZmJiODgzZDExMWQzMGJmYjgzNzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcApAQCAtMjY5NSw3ICsyNjk1LDcgQEAgQWNjZXNzaWJpbGl0eVJvbGUgQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdDo6ZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUoKQogICAgIC8v
IEluIEFUSywgdGhlcmUgaXMgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGdlbmVyaWMgdGV4dCBibG9j
ayBlbGVtZW50cyBhbmQgb3RoZXIKICAgICAvLyBnZW5lcmljIGNvbnRhaW5lcnM7IEFYIEFQSSBk
b2VzIG5vdCBtYWtlIHRoaXMgZGlzdGluY3Rpb24uCiAgICAgaWYgKGlzPFJlbmRlclRhYmxlQ2Vs
bD4obV9yZW5kZXJlcikpCi0jaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjaWYg
UExBVEZPUk0oR1RLKQogICAgICAgICByZXR1cm4gRGl2Um9sZTsKICNlbHNlCiAgICAgICAgIHJl
dHVybiBHcm91cFJvbGU7CkBAIC0yNzkzLDcgKzI3OTMsNyBAQCBBY2Nlc3NpYmlsaXR5Um9sZSBB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZSgpCiAg
ICAgICAgIHJldHVybiBHcm91cFJvbGU7CiAKICAgICBpZiAobV9yZW5kZXJlci0+aXNSZW5kZXJC
bG9ja0Zsb3coKSkgewotI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQorI2lmIFBM
QVRGT1JNKEdUSykKICAgICAgICAgLy8gRm9yIEFUSywgR3JvdXBSb2xlIG1hcHMgdG8gQVRLX1JP
TEVfUEFORUwuIFBhbmVscyBhcmUgbW9zdCBjb21tb25seSBmb3VuZCAoYW5kIGhlbmNlCiAgICAg
ICAgIC8vIGV4cGVjdGVkKSBpbiBVSSBlbGVtZW50czsgbm90IHRleHQgYmxvY2tzLgogICAgICAg
ICByZXR1cm4gbV9yZW5kZXJlci0+aXNBbm9ueW1vdXNCbG9jaygpID8gRGl2Um9sZSA6IEdyb3Vw
Um9sZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVRhYmxlQ29sdW1uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVRhYmxlQ29sdW1uLmNwcAppbmRleCBlYzdiMmU0MjRkMWU5MDYxZTdjOGNlNDkxZDhi
MmE3YWY3OWFmZTJjLi4xNjY5YTZmYzAwYjJlNzY2YWMwYjAyMmM5YTc3ODJiMDg3NWEyYjFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJs
ZUNvbHVtbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5VGFibGVDb2x1bW4uY3BwCkBAIC0xODAsNyArMTgwLDcgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5
VGFibGVDb2x1bW46OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICBp
ZiAoIW1fcGFyZW50KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAKLSNpZiBQTEFURk9STShJ
T1MpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQorI2lmIFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oR1RLKQogICAgIHJldHVybiB0cnVlOwogI2VuZGlmCiAgICAgCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRl
ckNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlUYWJsZUhlYWRlckNvbnRhaW5lci5jcHAKaW5kZXggZTMwMTE0ODI5MjU0ZTAyYTc3ZTQ0ZDFi
Y2VlMWJhZmNiYjgzOTNkYy4uMzkwN2UxMmE0ZDhiNDY3ZTdiMTY2NGQ1MGQyOGYyNmQ2YTgxNWEw
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
VGFibGVIZWFkZXJDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFpbmVyLmNwcApAQCAtNTgsNyArNTgsNyBA
QCBib29sIEFjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lcjo6Y29tcHV0ZUFjY2Vzc2li
aWxpdHlJc0lnbm9yZWQoKSBjb25zdAogICAgIGlmICghbV9wYXJlbnQpCiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIAotI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShFRkwpCisjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShHVEspCiAgICAgcmV0dXJu
IHRydWU7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0
b0tleS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmNwcAppbmRleCBmYzk0
MzBlNTRiMjU4ZDJiNmZiZmU4YWYzYmU2OTJkMTk3OGZlOWNlLi42NDIwZTU3YmVmOGNjYmExYjM4
YTBkNzZlMGYxNTEzOTQxYTNjMTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
Q3J5cHRvS2V5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmNwcApA
QCAtNjgsNyArNjgsNyBAQCBhdXRvIENyeXB0b0tleTo6dXNhZ2VzKCkgY29uc3QgLT4gVmVjdG9y
PENyeXB0b0tleVVzYWdlPgogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLSNpZiAhT1MoREFSV0lO
KSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEdUSykKKyNpZiAhT1MoREFSV0lOKSB8fCBQ
TEFURk9STShHVEspCiBWZWN0b3I8dWludDhfdD4gQ3J5cHRvS2V5OjpyYW5kb21EYXRhKHNpemVf
dCBzaXplKQogewogICAgIFZlY3Rvcjx1aW50OF90PiByZXN1bHQoc2l6ZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaCBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5oCmluZGV4IDMzNWJkNDQwMWU2Y2NlYjQxMDYz
NjBlYzllNzAwZGU0OTEwMTU5N2IuLjBmOGNlN2M0ZmY1ZjIxOGM2OTBmYzY1MzgzZDkyNDYwYWI5
MTRiNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJT
QS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5oCkBAIC0z
MSwxMiArMzEsMTIgQEAKIAogI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQogCi0jaWYgT1MoREFS
V0lOKSAmJiAhUExBVEZPUk0oRUZMKSAmJiAhUExBVEZPUk0oR1RLKQorI2lmIE9TKERBUldJTikg
JiYgIVBMQVRGT1JNKEdUSykKIHR5cGVkZWYgc3RydWN0IF9DQ1JTQUNyeXB0b3IgKkNDUlNBQ3J5
cHRvclJlZjsKIHR5cGVkZWYgQ0NSU0FDcnlwdG9yUmVmIFBsYXRmb3JtUlNBS2V5OwogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQTEFURk9STShHVEsp
CiB0eXBlZGVmIHN0cnVjdCBfUGxhdGZvcm1SU0FLZXlHbnVUTFMgUGxhdGZvcm1SU0FLZXlHbnVU
TFM7CiB0eXBlZGVmIFBsYXRmb3JtUlNBS2V5R251VExTICpQbGF0Zm9ybVJTQUtleTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNTUwZGVhMThhN2E0ZmIwOWJkNWE5OWVkODM0
MjAxYWFhMjYwMTEyZi4uNzhjNWQ3NzlkZDMzMTEwMDJiOWMwMGY2ZDVhODVkZWM0OTI1MmFhMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0yNzIyLDcgKzI3MjIsNyBAQCB2b2lkIERvY3Vt
ZW50OjppbXBsaWNpdENsb3NlKCkKIAogICAgIG1fcHJvY2Vzc2luZ0xvYWRFdmVudCA9IGZhbHNl
OwogCi0jaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShFRkwpCisjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKFdJTikg
fHwgUExBVEZPUk0oR1RLKQogICAgIGlmIChmICYmIGhhc0xpdmluZ1JlbmRlclRyZWUoKSAmJiBB
WE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKSB7CiAgICAgICAgIC8vIFRoZSBB
WCBjYWNoZSBtYXkgaGF2ZSBiZWVuIGNsZWFyZWQgYXQgdGhpcyBwb2ludCwgYnV0IHdlIG5lZWQg
dG8gbWFrZSBzdXJlIGl0IGNvbnRhaW5zIGFuCiAgICAgICAgIC8vIEFYIG9iamVjdCB0byBzZW5k
IHRoZSBub3RpZmljYXRpb24gdG8uIGdldE9yQ3JlYXRlIHdpbGwgbWFrZSBzdXJlIHRoYXQgYW4g
dmFsaWQgQVggb2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggYjQ1M2RjYTlh
MWVjYWNhZWUzZGMzZGFiZTFiNTUzMTVjOTRiNzdhNy4uN2IzNGE1MzI4YWMxYTc4MjRmOTIyMjc3
YzY3N2Q1MWM4ZTVjN2ZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMTI0Niwx
MyArMTI0NiwxMyBAQCB2b2lkIEVkaXRvcjo6cGVyZm9ybUN1dE9yQ29weShFZGl0b3JBY3Rpb25T
cGVjaWZpZXIgYWN0aW9uKQogICAgICAgICAgICAgaW1hZ2VFbGVtZW50ID0gaW1hZ2VFbGVtZW50
RnJvbUltYWdlRG9jdW1lbnQoZG9jdW1lbnQoKSk7CiAKICAgICAgICAgaWYgKGltYWdlRWxlbWVu
dCkgewotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEdU
SykKKyNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKQogICAgICAgICAgICAgd3Jp
dGVJbWFnZVRvUGFzdGVib2FyZCgqUGFzdGVib2FyZDo6Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCks
ICppbWFnZUVsZW1lbnQsIGRvY3VtZW50KCkudXJsKCksIGRvY3VtZW50KCkudGl0bGUoKSk7CiAj
ZWxzZQogICAgICAgICAgICAgUGFzdGVib2FyZDo6Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCktPndy
aXRlSW1hZ2UoKmltYWdlRWxlbWVudCwgZG9jdW1lbnQoKS51cmwoKSwgZG9jdW1lbnQoKS50aXRs
ZSgpKTsKICNlbmRpZgogICAgICAgICB9IGVsc2UgewotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQ
TEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEdUSykKKyNpZiBQTEFURk9STShDT0NPQSkgfHwgUExB
VEZPUk0oR1RLKQogICAgICAgICAgICAgd3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKlBhc3Rl
Ym9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpKTsKICNlbHNlCiAgICAgICAgICAgICAvLyBG
SVhNRTogQ29udmVydCBhbGwgb3RoZXIgcGxhdGZvcm1zIHRvIG1hdGNoIE1hYyBhbmQgZGVsZXRl
IHRoaXMuCkBAIC0xMzY0LDcgKzEzNjQsNyBAQCB2b2lkIEVkaXRvcjo6Y29weUltYWdlKGNvbnN0
IEhpdFRlc3RSZXN1bHQmIHJlc3VsdCkKICAgICBpZiAodXJsLmlzRW1wdHkoKSkKICAgICAgICAg
dXJsID0gcmVzdWx0LmFic29sdXRlSW1hZ2VVUkwoKTsKIAotI2lmIFBMQVRGT1JNKENPQ09BKSB8
fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEdUSykKKyNpZiBQTEFURk9STShDT0NPQSkgfHwg
UExBVEZPUk0oR1RLKQogICAgIHdyaXRlSW1hZ2VUb1Bhc3RlYm9hcmQoKlBhc3RlYm9hcmQ6OmNy
ZWF0ZUZvckNvcHlBbmRQYXN0ZSgpLCAqZWxlbWVudCwgdXJsLCByZXN1bHQuYWx0RGlzcGxheVN0
cmluZygpKTsKICNlbHNlCiAgICAgUGFzdGVib2FyZDo6Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCkt
PndyaXRlSW1hZ2UoKmVsZW1lbnQsIHVybCwgcmVzdWx0LmFsdERpc3BsYXlTdHJpbmcoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuaAppbmRleCA0ZGU0ZWQwN2EzOTcxZDgxZDljMWQwNDRkNzliNjhl
Mzk0OTc1NTI3Li5mOWIyY2U0MDE0Y2U3NTM3MGZlMDQzZTUyODUxMmViYWViYmU3MmJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmgKQEAgLTQ2NCw3ICs0NjQsNyBAQCBwdWJsaWM6CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCByZXBsYWNlU2VsZWN0aW9uV2l0aEF0dHJpYnV0ZWRTdHJpbmcoTlNB
dHRyaWJ1dGVkU3RyaW5nICosIE1haWxCbG9ja3F1b3RlSGFuZGxpbmcgPSBNYWlsQmxvY2txdW90
ZUhhbmRsaW5nOjpSZXNwZWN0QmxvY2txdW90ZSk7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENP
Q09BKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEdUSykKKyNpZiBQTEFURk9STShDT0NP
QSkgfHwgUExBVEZPUk0oR1RLKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgd3JpdGVTZWxlY3Rp
b25Ub1Bhc3RlYm9hcmQoUGFzdGVib2FyZCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgd3Jp
dGVJbWFnZVRvUGFzdGVib2FyZChQYXN0ZWJvYXJkJiwgRWxlbWVudCYgaW1hZ2VFbGVtZW50LCBj
b25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9GcmFtZVNlbGVjdGlvbi5oCmluZGV4IGY1YTAwYjU1ZGVjYjczMTBiZjMyODlhMmJhMTQ0
MTVhZTY0ZWUyNzMuLjM0ZDhiYmM4MTE1M2ViMjBkMjQ4ZTJjN2YwZGU4YzE0ZTdmNjhmNDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKQEAgLTM2OSw3ICszNjksNyBA
QCBpbmxpbmUgdm9pZCBGcmFtZVNlbGVjdGlvbjo6c2V0VHlwaW5nU3R5bGUoUGFzc1JlZlB0cjxF
ZGl0aW5nU3R5bGU+IHN0eWxlKQogICAgIG1fdHlwaW5nU3R5bGUgPSBzdHlsZTsKIH0KIAotI2lm
ICEoUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkKKyNp
ZiAhKFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShHVEspKQogI2lmIEhBVkUoQUNDRVNTSUJJ
TElUWSkKIGlubGluZSB2b2lkIEZyYW1lU2VsZWN0aW9uOjpub3RpZnlBY2Nlc3NpYmlsaXR5Rm9y
U2VsZWN0aW9uQ2hhbmdlKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JikKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKaW5kZXggZTFhYWQyZTM4N2VhNmM4
NjBkNmE2ZTQwYjNjZTExMGZjYTRhNzM4Zi4uN2Q3ZDM5MTFhNzY4ODM3MjQ5YmYzNTBhOGFiNTk4
YTI3NTg0OTM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAK
QEAgLTIzNSw3ICsyMzUsNyBAQCBDYW52YXNSZW5kZXJpbmdDb250ZXh0KiBIVE1MQ2FudmFzRWxl
bWVudDo6Z2V0Q29udGV4dDJkKGNvbnN0IFN0cmluZyYgdHlwZSkKICNpZiBFTkFCTEUoV0VCR0wp
CiBzdGF0aWMgYm9vbCByZXF1aXJlc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JXZWJHTCgpCiB7
Ci0jaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjaWYgUExBVEZPUk0oR1RLKQog
ICAgIHJldHVybiBmYWxzZTsKICNlbHNlCiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4IGU0Y2Q2
MDU5MzJjMmE5ZDg5YjdjMzQ1ZWYxYjNlMzA0NzliOTMzMzEuLjQ5NTUxYmFjYjg5N2IyNDU1ZWQy
NTgzYTcyMDJjMTM3MTQ4YzVmODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCkBAIC0yNzEsOCArMjcxLDYgQEAgU3RyaW5nIElu
c3BlY3RvckZyb250ZW5kSG9zdDo6cG9ydCgpCiB7CiAjaWYgUExBVEZPUk0oR1RLKQogICAgIHJl
dHVybiBBU0NJSUxpdGVyYWwoImd0ayIpOwotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIHJldHVy
biBBU0NJSUxpdGVyYWwoImVmbCIpOwogI2Vsc2UKICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJ1
bmtub3duIik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0
b3J5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xs
ZXIuY3BwCmluZGV4IGZkMWI1MTZhMzYzODEyYjIwYWM0YjM0ZTM2Y2NlZjlhMzI1MjI2MGUuLjQx
NzQ0NmVmNzY0ZGIwZWVkZjIxYWY5ZTM3MTdkOTEwYjgwOTNmMDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcApAQCAtMTU0LDcgKzE1NCw3IEBAIHZvaWQg
SGlzdG9yeUNvbnRyb2xsZXI6OnJlc3RvcmVTY3JvbGxQb3NpdGlvbkFuZFZpZXdTdGF0ZSgpCiAg
ICAgLy8gdGhyb3VnaCB0byB0aGUgY2xpZW50LgogICAgIG1fZnJhbWUubG9hZGVyKCkuY2xpZW50
KCkucmVzdG9yZVZpZXdTdGF0ZSgpOwogCi0jaWYgIVBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JN
KEVGTCkKKyNpZiAhUExBVEZPUk0oSU9TKQogICAgIC8vIERvbid0IHJlc3RvcmUgc2Nyb2xsIHBv
aW50IG9uIGlPUyBhcyBGcmFtZUxvYWRlckNsaWVudDo6cmVzdG9yZVZpZXdTdGF0ZSgpIGRvZXMg
dGhhdC4KICAgICBpZiAodmlldyAmJiAhdmlldy0+d2FzU2Nyb2xsZWRCeVVzZXIoKSkgewogICAg
ICAgICBQYWdlKiBwYWdlID0gbV9mcmFtZS5wYWdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlLmNwcAppbmRleCBkY2NlMGE1YzNjZDgxNmNjODQ3YmM3YWZlMmJh
MjE2N2FjZDA4ODBjLi40Y2RjZmFhZDZlODMyYTM5YTVjMzUyNjU4MDU4NTA4NmIzZDlmNzJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKQEAgLTcxLDcg
KzcxLDcgQEAgc3RhdGljIGNvbnN0IGludCB1cGRhdGVUaW1lckRlbGF5ID0gNTsKIAogc3RhdGlj
IGJvb2wgY2hlY2tJbnRlZ3JpdHlPbk9wZW4gPSBmYWxzZTsKIAotI2lmIFBMQVRGT1JNKEdUSykg
fHwgUExBVEZPUk0oRUZMKQorI2lmIFBMQVRGT1JNKEdUSykKIC8vIFdlIGFyZSBub3QgaW50ZXJl
c3RlZCBpbiBpY29ucyB0aGF0IGhhdmUgYmVlbiB1bnVzZWQgZm9yIG1vcmUgdGhhbgogLy8gMzAg
ZGF5cywgZGVsZXRlIHRoZW0gZXZlbiBpZiB0aGV5IGhhdmUgbm90IGJlZW4gZXhwbGljaXRseSBy
ZWxlYXNlZC4KIHN0YXRpYyBjb25zdCBpbnQgbm90VXNlZEljb25FeHBpcmF0aW9uVGltZSA9IDYw
KjYwKjI0KjMwOwpAQCAtMTE4NCw3ICsxMTg0LDcgQEAgdm9pZCBJY29uRGF0YWJhc2U6OnBlcmZv
cm1VUkxJbXBvcnQoKQogewogICAgIEFTU0VSVF9JQ09OX1NZTkNfVEhSRUFEKCk7CiAKLSMgaWYg
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjIGlmIFBMQVRGT1JNKEdUSykKICAgICAv
LyBEbyBub3QgaW1wb3J0IGljb25zIG5vdCB1c2VkIGluIHRoZSBsYXN0IDMwIGRheXMuIFRoZXkg
d2lsbCBiZSBhdXRvbWF0aWNhbGx5IHBydW5lZCBsYXRlciBpZiBub2JvZHkgcmV0YWlucyB0aGVt
LgogICAgIC8vIE5vdGUgdGhhdCBJY29uSW5mby5zdGFtcCBpcyBvbmx5IHNldCB3aGVuIHRoZSBp
Y29uIGRhdGEgaXMgcmV0cmlldmVkIGZyb20gdGhlIHNlcnZlciAoYW5kIHRodXMgaXMgbm90IHVw
ZGF0ZWQgd2hldGhlcgogICAgIC8vIHdlIHVzZSBpdCBvciBub3QpLiBUaGlzIGNvZGUgd29ya3Mg
YW55d2F5IGJlY2F1c2UgdGhlIEljb25EYXRhYmFzZSBkb3dubG9hZHMgaWNvbnMgYWdhaW4gaWYg
dGhleSBhcmUgb2xkZXIgdGhhbiA0IGRheXMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
eHRNZW51Q29udHJvbGxlci5jcHAKaW5kZXggYzFjNDk0ODQwMjgzODQ5ZjE1MmJiMjc0NWY4YTFi
NDYwNmVlZDNlNS4uY2IwNzhjZDk4M2Y3ZTY5MjBlM2JlNTUwNWJlM2M4MmYyNDY4NTMzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAtMjQ5
LDcgKzI0OSw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUl0ZW1T
ZWxlY3RlZChDb250ZXh0TWVudUFjdGlvbiBhY3Rpb24sIGNvCiAgICAgICAgIC8vIEZvciBub3cs
IGNhbGwgaW50byB0aGUgY2xpZW50LiBUaGlzIGlzIHRlbXBvcmFyeSEKICAgICAgICAgZnJhbWUt
PmVkaXRvcigpLmNvcHlJbWFnZShtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpKTsKICAgICAgICAg
YnJlYWs7Ci0jaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjaWYgUExBVEZPUk0o
R1RLKQogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQ6
CiAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS5jb3B5VVJMKG1fY29udGV4dC5oaXRUZXN0UmVzdWx0
KCkuYWJzb2x1dGVJbWFnZVVSTCgpLCBtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLnRleHRDb250
ZW50KCkpOwogICAgICAgICBicmVhazsKQEAgLTM1MSw3ICszNTEsNyBAQCB2b2lkIENvbnRleHRN
ZW51Q29udHJvbGxlcjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVBY3Rpb24g
YWN0aW9uLCBjbwogICAgICAgICBpbnNlcnRVbmljb2RlQ2hhcmFjdGVyKHplcm9XaWR0aE5vbkpv
aW5lciwgKmZyYW1lKTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKLSNpZiBQTEFURk9STShHVEsp
IHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQTEFURk9STShHVEspCiAgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdTZWxlY3RBbGw6CiAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS5jb21tYW5kKCJTZWxl
Y3RBbGwiKS5leGVjdXRlKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtNzQ5LDcgKzc0OSw3IEBAIHZv
aWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgpCiAgICAgICAgIGNvbnRleHRNZW51
SXRlbVRhZ0Rvd25sb2FkSW1hZ2VUb0Rpc2soKSk7CiAgICAgQ29udGV4dE1lbnVJdGVtIENvcHlJ
bWFnZUl0ZW0oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9h
cmQsIAogICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZCgpKTsK
LSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQTEFURk9STShHVEspCiAg
ICAgQ29udGV4dE1lbnVJdGVtIENvcHlJbWFnZVVybEl0ZW0oQWN0aW9uVHlwZSwgQ29udGV4dE1l
bnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQsIAogICAgICAgICBjb250ZXh0TWVudUl0
ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZCgpKTsKICNlbmRpZgpAQCAtODAzLDExICs4MDMs
MTEgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVsYXRlKCkKICNpZiBQTEFURk9S
TShHVEspCiAgICAgQ29udGV4dE1lbnVJdGVtIERlbGV0ZUl0ZW0oQWN0aW9uVHlwZSwgQ29udGV4
dE1lbnVJdGVtVGFnRGVsZXRlLCBjb250ZXh0TWVudUl0ZW1UYWdEZWxldGUoKSk7CiAjZW5kaWYK
LSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQTEFURk9STShHVEspCiAg
ICAgQ29udGV4dE1lbnVJdGVtIFNlbGVjdEFsbEl0ZW0oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJ
dGVtVGFnU2VsZWN0QWxsLCBjb250ZXh0TWVudUl0ZW1UYWdTZWxlY3RBbGwoKSk7CiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pCisj
aWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXSU4pCiAgICAgQ29udGV4dE1lbnVJdGVtIFNo
YXJlTWVudUl0ZW07CiAjZWxzZQogICAgIENvbnRleHRNZW51SXRlbSBTaGFyZU1lbnVJdGVtKFN1
Ym1lbnVUeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdTaGFyZU1lbnUsIGVtcHR5U3RyaW5nKCkpOwpA
QCAtODU0LDcgKzg1NCw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgp
CiAgICAgICAgICAgICBhcHBlbmRJdGVtKERvd25sb2FkSW1hZ2VJdGVtLCBtX2NvbnRleHRNZW51
LmdldCgpKTsKICAgICAgICAgICAgIGlmIChpbWFnZVVSTC5pc0xvY2FsRmlsZSgpIHx8IG1fY29u
dGV4dC5oaXRUZXN0UmVzdWx0KCkuaW1hZ2UoKSkKICAgICAgICAgICAgICAgICBhcHBlbmRJdGVt
KENvcHlJbWFnZUl0ZW0sIG1fY29udGV4dE1lbnUuZ2V0KCkpOwotI2lmIFBMQVRGT1JNKEdUSykg
fHwgUExBVEZPUk0oRUZMKQorI2lmIFBMQVRGT1JNKEdUSykKICAgICAgICAgICAgIGFwcGVuZEl0
ZW0oQ29weUltYWdlVXJsSXRlbSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CiAjZW5kaWYKICAgICAg
ICAgfQpAQCAtMTA0MSw3ICsxMDQxLDcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBv
cHVsYXRlKCkKICAgICAgICAgYXBwZW5kSXRlbShEZWxldGVJdGVtLCBtX2NvbnRleHRNZW51Lmdl
dCgpKTsKICAgICAgICAgYXBwZW5kSXRlbSgqc2VwYXJhdG9ySXRlbSgpLCBtX2NvbnRleHRNZW51
LmdldCgpKTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQorI2lm
IFBMQVRGT1JNKEdUSykKICAgICAgICAgYXBwZW5kSXRlbShTZWxlY3RBbGxJdGVtLCBtX2NvbnRl
eHRNZW51LmdldCgpKTsKICNlbmRpZgogCkBAIC0xMjEyLDcgKzEyMTIsNyBAQCB2b2lkIENvbnRl
eHRNZW51Q29udHJvbGxlcjo6Y2hlY2tPckVuYWJsZUlmTmVlZGVkKENvbnRleHRNZW51SXRlbSYg
aXRlbSkgY29uc3QKICAgICAgICAgICAgIHNob3VsZEVuYWJsZSA9IHRydWU7CiAgICAgICAgICAg
ICBicmVhazsKICNlbmRpZgotI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQorI2lm
IFBMQVRGT1JNKEdUSykKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTZWxlY3RBbGw6
CiAgICAgICAgICAgICBzaG91bGRFbmFibGUgPSB0cnVlOwogICAgICAgICAgICAgYnJlYWs7CkBA
IC0xMzI3LDcgKzEzMjcsNyBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6Y2hlY2tPckVu
YWJsZUlmTmVlZGVkKENvbnRleHRNZW51SXRlbSYgaXRlbSkgY29uc3QKICAgICAgICAgY2FzZSBD
b250ZXh0TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xpcGJvYXJkOgogICAgICAgICBjYXNlIENvbnRl
eHRNZW51SXRlbVRhZ09wZW5JbWFnZUluTmV3V2luZG93OgogICAgICAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkOgotI2lmIFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oRUZMKQorI2lmIFBMQVRGT1JNKEdUSykKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZDoKICNlbmRpZgogICAgICAgICAgICAgYnJlYWs7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCmluZGV4IGJiNTk2NTM5MThjZDVi
NTliYzUzZjAxZGE4MzY1ZjQwYzIyMDI5MGUuLjQ4NmI2ZmQzZjNiZDNlZTMwNmI3ODI4NjVmMjM0
NTY3NzU0YjRmMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC04
MzksNyArODM5LDcgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKEZyYW1lJiBzcmMs
IGNvbnN0IERyYWdTdGF0ZSYgc3RhdGUsIERyYWdPcGVyYXRpb24KICAgICAgICAgICAgIGlmIChl
bmNsb3NpbmdUZXh0Rm9ybUNvbnRyb2woc3JjLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLnN0YXJ0
KCkpKQogICAgICAgICAgICAgICAgIGRhdGFUcmFuc2Zlci5wYXN0ZWJvYXJkKCkud3JpdGVQbGFp
blRleHQoc3JjLmVkaXRvcigpLnNlbGVjdGVkVGV4dEZvckRhdGFUcmFuc2ZlcigpLCBQYXN0ZWJv
YXJkOjpDYW5ub3RTbWFydFJlcGxhY2UpOwogICAgICAgICAgICAgZWxzZSB7Ci0jaWYgUExBVEZP
Uk0oQ09DT0EpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oR1RLKQorI2lmIFBMQVRGT1JN
KENPQ09BKSB8fCBQTEFURk9STShHVEspCiAgICAgICAgICAgICAgICAgc3JjLmVkaXRvcigpLndy
aXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKGRhdGFUcmFuc2Zlci5wYXN0ZWJvYXJkKCkpOwogI2Vs
c2UKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogQ29udmVydCBhbGwgb3RoZXIgcGxhdGZvcm1z
IHRvIG1hdGNoIE1hYyBhbmQgZGVsZXRlIHRoaXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKaW5kZXggYTU2MzNkZjFjMTBjNTZmNGIxMDMyYTNkNTcyYjk1OWRmMzI0N2ZhZS4uNzJm
YzkyYTdmZjQyM2UyYmJhN2E1Yjc5ZDJiOTA3NTFmOWNjMzBmYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcApAQCAtMzY3OCw3ICszNjc4LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6
OmlzS2V5Ym9hcmRPcHRpb25UYWIoS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiAKIGJvb2wgRXZlbnRI
YW5kbGVyOjpldmVudEludmVydHNUYWJzVG9MaW5rc0NsaWVudENhbGxSZXN1bHQoS2V5Ym9hcmRF
dmVudCYgZXZlbnQpCiB7Ci0jaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKEVGTCkKKyNp
ZiBQTEFURk9STShDT0NPQSkKICAgICByZXR1cm4gaXNLZXlib2FyZE9wdGlvblRhYihldmVudCk7
CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShldmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKaW5kZXggOWM4NTUyNTA1NGE1ZmQzZTFkY2ZhODViNmNkNDhiODJjM2Y5MjA3Mi4uMzRiZDlm
YjEwZDg4OTAzN2E5OTlmNmQ2OWFhMjg0ZTIzMDRiMzE2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcApAQCAtMTUzMyw3ICsxNTMzLDcgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dChib29s
IGFsbG93U3VidHJlZSkKIAogICAgIG1fbGF5b3V0Q291bnQrKzsKIAotI2lmIFBMQVRGT1JNKENP
Q09BKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQor
I2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykKICAg
ICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSByb290LT5kb2N1bWVudCgpLmV4aXN0aW5nQVhP
YmplY3RDYWNoZSgpKQogICAgICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbihyb290LCBBWE9i
amVjdENhY2hlOjpBWExheW91dENvbXBsZXRlKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAppbmRleCBjNjVjYzgxMDNhZjg4YmUwZTZlYmI0NWY0NmM2
M2Y0OWU5NjMxYWFlLi5jZWM3ZTY1ZWFlYWNjYzg4Mjk0MzY1MGVkYTg3ZDk0ZTk2NWYwNzM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaApAQCAtNDMsNyArNDMs
NyBAQCBlbnVtIENvbnRleHRNZW51QWN0aW9uIHsKICAgICBDb250ZXh0TWVudUl0ZW1UYWdPcGVu
SW1hZ2VJbk5ld1dpbmRvdywKICAgICBDb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZEltYWdlVG9E
aXNrLAogICAgIENvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkLAotI2lmIFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQorI2lmIFBMQVRGT1JNKEdUSykKICAgICBDb250
ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZCwKICNlbmRpZgogICAgIENvbnRl
eHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93LApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vQ3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3Iu
aAppbmRleCAwNDY4NWEyNWE3Y2NjMjhlNzczZmFhMjM1NTIxZDdjNjFkZDNlNTdmLi5jZGNmMjY1
ZjI2MGRmYTg0ODY1Mzc4MTc2ZjI1ODFlMTAyNTY0ZWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9DdXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJz
b3IuaApAQCAtNzQsOCArNzQsNiBAQCB1c2luZyBQbGF0Zm9ybUN1cnNvciA9IFJlZlB0cjxTaGFy
ZWRDdXJzb3I+OwogdXNpbmcgUGxhdGZvcm1DdXJzb3IgPSBOU0N1cnNvciAqOwogI2VsaWYgUExB
VEZPUk0oR1RLKQogdXNpbmcgUGxhdGZvcm1DdXJzb3IgPSBHUmVmUHRyPEdka0N1cnNvcj47Ci0j
ZWxpZiBQTEFURk9STShFRkwpCi11c2luZyBQbGF0Zm9ybUN1cnNvciA9IGNvbnN0IGNoYXIqOwog
I2VuZGlmCiAKIGNsYXNzIEN1cnNvciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9EcmFnRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaAppbmRl
eCAwYzJiMzk0YzAyNDE0ODdkNDNlMjNjZmZiMTVlZjY0MGVjOWQ0Njk0Li4zY2YxMWU3ZGEwMTQ5
ZWY0NzkwNDczZjU4NWRhNzkwOTUyYjc4NDI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9EcmFnRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRh
LmgKQEAgLTUzLDcgKzUzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgU2VsZWN0aW9u
RGF0YTsKIH0KIHR5cGVkZWYgV2ViQ29yZTo6U2VsZWN0aW9uRGF0YSogRHJhZ0RhdGFSZWY7Ci0j
ZWxpZiBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKElPUykKKyNlbGlmIFBMQVRGT1JNKElPUykK
IHR5cGVkZWYgdm9pZCogRHJhZ0RhdGFSZWY7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9E
cmFnSW1hZ2UuaAppbmRleCBhY2QwNjJjNDU5ZTllMGFlMWUwODM0NGZhYmNjOGY2YzcxMDkyMThm
Li5iMzBmMzRmNjZiM2YzYWY5YTg2NDc2MzA2YjFiNTNhYjMxYTdmODhmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9EcmFnSW1hZ2UuaApAQCAtNjMsOCArNjMsNiBAQCB0eXBlZGVmIFJldGFpblB0cjxO
U0ltYWdlPiBEcmFnSW1hZ2VSZWY7CiB0eXBlZGVmIEhCSVRNQVAgRHJhZ0ltYWdlUmVmOwogI2Vs
aWYgUExBVEZPUk0oR1RLKQogdHlwZWRlZiBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBEcmFnSW1h
Z2VSZWY7Ci0jZWxpZiBQTEFURk9STShFRkwpCi10eXBlZGVmIHZvaWQqIERyYWdJbWFnZVJlZjsK
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lz
dGVtLmgKaW5kZXggYmVkNmNhNzcxODg4MTcyMzdlMDU4NDkyOGEzYzQzOWQxNzAyNmUwMi4uNGM2
M2M4YmI4YTM3NzE5NWRhMzU5ZDdiOTNmODAxNDQ4MGMxMjE1MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0ZpbGVTeXN0ZW0uaApAQCAtNjQsOCArNjQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAv
LyBQbGF0Zm9ybU1vZHVsZQogI2lmIE9TKFdJTkRPV1MpCiB0eXBlZGVmIEhNT0RVTEUgUGxhdGZv
cm1Nb2R1bGU7Ci0jZWxpZiBQTEFURk9STShFRkwpCi10eXBlZGVmIEVpbmFfTW9kdWxlKiBQbGF0
Zm9ybU1vZHVsZTsKICNlbGlmIFVTRShHTElCKQogdHlwZWRlZiBHTW9kdWxlKiBQbGF0Zm9ybU1v
ZHVsZTsKICNlbGlmIFVTRShDRikKQEAgLTk4LDcgKzk2LDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBQ
bGF0Zm9ybU1vZHVsZVZlcnNpb247CiAjZW5kaWYKIAogLy8gUGxhdGZvcm1GaWxlSGFuZGxlCi0j
aWYgVVNFKEdMSUIpICYmICFQTEFURk9STShFRkwpICYmICFQTEFURk9STShXSU4pCisjaWYgVVNF
KEdMSUIpICYmICFQTEFURk9STShXSU4pCiB0eXBlZGVmIEdGaWxlSU9TdHJlYW0qIFBsYXRmb3Jt
RmlsZUhhbmRsZTsKIGNvbnN0IFBsYXRmb3JtRmlsZUhhbmRsZSBpbnZhbGlkUGxhdGZvcm1GaWxl
SGFuZGxlID0gMDsKICNlbGlmIE9TKFdJTkRPV1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9M
b2NhbGl6ZWRTdHJpbmdzLmgKaW5kZXggNTI2YWRmZjY5MTY0YjI0ODQ2NTk3NWU5YTQxZjZmMzQw
YTJjMDhkOC4uZDk2NjJkYzdlN2UwNDE1NWFhYTM0MmVkOTIxNDUxNWVhMmIwZjU5ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaApAQCAtNTQsNyArNTQsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5J
bWFnZUluTmV3V2luZG93KCk7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2Fk
SW1hZ2VUb0Rpc2soKTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9D
bGlwYm9hcmQoKTsKLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQTEFU
Rk9STShHVEspCiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVVybFRvQ2xp
cGJvYXJkKCk7CiAjZW5kaWYKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1l
SW5OZXdXaW5kb3coKTsKQEAgLTgwLDcgKzgwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdVbmljb2RlSW5zZXJ0WldKTWFyaygpOwogICAgIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdVbmljb2RlSW5zZXJ0WldOSk1hcmsoKTsKICNlbmRpZgot
I2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQorI2lmIFBMQVRGT1JNKEdUSykKICAg
ICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsKCk7CiAjZW5kaWYKICAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91bmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAKaW5kZXggMzRiODdmZTA5OTNlY2VmY2E3M2I2
YWU1MDdiNmZkZTIxZmZmNjQyZC4uZjM3ZDIyNTI2NjYyZTZkNmUwNGJhMmFiNWJmNjYyZmU3NDlm
MmNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3Ry
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAK
QEAgLTI2OSw5ICsyNjksNiBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplU3VwcG9ydGVkSW1hZ2VN
SU1FVHlwZXNGb3JFbmNvZGluZygpCiAgICAgc3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNv
ZGluZy0+YWRkKCJpbWFnZS90aWZmIik7CiAgICAgc3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JF
bmNvZGluZy0+YWRkKCJpbWFnZS9ibXAiKTsKICAgICBzdXBwb3J0ZWRJbWFnZU1JTUVUeXBlc0Zv
ckVuY29kaW5nLT5hZGQoImltYWdlL2ljbyIpOwotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIHN1
cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmctPmFkZCgiaW1hZ2UvcG5nIik7Ci0gICAg
c3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZy0+YWRkKCJpbWFnZS9qcGVnIik7CiAj
ZWxpZiBVU0UoQ0FJUk8pCiAgICAgc3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZy0+
YWRkKCJpbWFnZS9wbmciKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTm90SW1wbGVtZW50ZWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vdEltcGxl
bWVudGVkLmgKaW5kZXggNTEyYmVmNmE1OTk5MDJjMzg1ZTVhMzVhNzkwZWFhNDc1MDM3MjBhNi4u
NzJhZjcwNmQ0MGUxMjc5YWVhOWVjZTA4YTZiNzdhZGQ0ODZkYjE1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm90SW1wbGVtZW50ZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Ob3RJbXBsZW1lbnRlZC5oCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgogCi0jaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwp
CisjaWYgUExBVEZPUk0oR1RLKQogICAgICNkZWZpbmUgc3VwcHJlc3NOb3RJbXBsZW1lbnRlZFdh
cm5pbmcoKSBnZXRlbnYoIkRJU0FCTEVfTklfV0FSTklORyIpCiAjZWxzZQogICAgICNkZWZpbmUg
c3VwcHJlc3NOb3RJbXBsZW1lbnRlZFdhcm5pbmcoKSBmYWxzZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGFzdGVib2FyZC5oCmluZGV4IDllY2Q5ZmFjNmE3MDllMjE5NjgwNjRiNmZmOWE3MzkzZThiYTlj
Y2UuLjNkZDAwZDNiMGVjY2FmODBmNGM2NmFmZWRhMmY2YmI2ZmFhYzU5YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTYyLDcgKzYyLDcgQEAgZW51bSBTaG91bGRTZXJp
YWxpemVTZWxlY3RlZFRleHRGb3JEYXRhVHJhbnNmZXIgeyBEZWZhdWx0U2VsZWN0ZWRUZXh0VHlw
ZSwgSW5jbHUKIC8vIEZvciB3cml0aW5nIHRvIHRoZSBwYXN0ZWJvYXJkLiBHZW5lcmFsbHkgc29y
dGVkIHdpdGggdGhlIHJpY2hlc3QgZm9ybWF0cyBvbiB0b3AuCiAKIHN0cnVjdCBQYXN0ZWJvYXJk
V2ViQ29udGVudCB7Ci0jaWYgIShQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oV0lOKSkKKyNpZiAhKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV0lOKSkKICAgICBX
RUJDT1JFX0VYUE9SVCBQYXN0ZWJvYXJkV2ViQ29udGVudCgpOwogICAgIFdFQkNPUkVfRVhQT1JU
IH5QYXN0ZWJvYXJkV2ViQ29udGVudCgpOwogICAgIGJvb2wgY2FuU21hcnRDb3B5T3JEZWxldGU7
CkBAIC05OSwxMCArOTksMTAgQEAgc3RydWN0IFBhc3RlYm9hcmRJbWFnZSB7CiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGRhdGFJbldlYkFyY2hpdmVGb3JtYXQ7
CiAjZW5kaWYKLSNpZiAhKFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSkKKyNpZiAhUExB
VEZPUk0oV0lOKQogICAgIFBhc3RlYm9hcmRVUkwgdXJsOwogI2VuZGlmCi0jaWYgIShQTEFURk9S
TShFRkwpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV0lOKSkKKyNpZiAhKFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oV0lOKSkKICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiByZXNvdXJj
ZURhdGE7CiAgICAgU3RyaW5nIHJlc291cmNlTUlNRVR5cGU7CiAjZW5kaWYKQEAgLTExNCw3ICsx
MTQsNyBAQCBjbGFzcyBQYXN0ZWJvYXJkV2ViQ29udGVudFJlYWRlciB7CiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+UGFzdGVib2FyZFdlYkNvbnRlbnRSZWFkZXIoKSB7IH0KIAotI2lmICEoUExBVEZP
Uk0oRUZMKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdJTikpCisjaWYgIShQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKFdJTikpCiAgICAgdmlydHVhbCBib29sIHJlYWRXZWJBcmNoaXZl
KFNoYXJlZEJ1ZmZlciopID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgcmVhZEZpbGVuYW1lcyhjb25z
dCBWZWN0b3I8U3RyaW5nPiYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgcmVhZEhUTUwoY29uc3Qg
U3RyaW5nJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZv
cm1LZXlib2FyZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJv
YXJkRXZlbnQuaAppbmRleCA3YzNjZWM1MTZiNTVhMTkyMWFjYTFjY2M2ZWFkMzhjNjQ4ZDY2NGE2
Li44N2JhNTc2MDhkZjU3YmZkOGJhNDBiNzhjMGQ5NjQzNGQwODdjMzBhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaApAQCAtNDUsMTEgKzQ1
LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgX0dka0V2ZW50S2V5IEdka0V2ZW50S2V5OwogI2luY2x1ZGUg
IkNvbXBvc2l0aW9uUmVzdWx0cy5oIgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShFRkwpCi10eXBl
ZGVmIHN0cnVjdCBfRXZhc19FdmVudF9LZXlfRG93biBFdmFzX0V2ZW50X0tleV9Eb3duOwotdHlw
ZWRlZiBzdHJ1Y3QgX0V2YXNfRXZlbnRfS2V5X1VwIEV2YXNfRXZlbnRfS2V5X1VwOwotI2VuZGlm
Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVu
dCA6IHB1YmxpYyBQbGF0Zm9ybUV2ZW50IHsKQEAgLTE2OSwxMSArMTY0LDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgYm9vbCBtb2RpZmllcnNDb250YWluQ2Fwc0xvY2so
dW5zaWduZWQpOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShFRkwpCi0gICAgICAgIGV4cGxpY2l0
IFBsYXRmb3JtS2V5Ym9hcmRFdmVudChjb25zdCBFdmFzX0V2ZW50X0tleV9Eb3duKik7Ci0gICAg
ICAgIGV4cGxpY2l0IFBsYXRmb3JtS2V5Ym9hcmRFdmVudChjb25zdCBFdmFzX0V2ZW50X0tleV9V
cCopOwotI2VuZGlmCi0KICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFN0cmluZyBtX3RleHQ7CiAg
ICAgICAgIFN0cmluZyBtX3VubW9kaWZpZWRUZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUGxhdGZvcm1Nb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9QbGF0Zm9ybU1vdXNlRXZlbnQuaAppbmRleCAwYmQ3ZTkzNjJjYjEyNTUwNjQyMmI4NmNiNzE0
MGE0MTgzOTRmY2JmLi4xMDRmNTM5NzA5MmE5MDdhMWU5ODUzODdkZmIzZDJhZGI3Mjg3YTcxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNlRXZlbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNlRXZlbnQuaApAQCAtMzUs
MTIgKzM1LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgX0dka0V2ZW50QnV0dG9uIEdka0V2ZW50QnV0dG9u
OwogdHlwZWRlZiBzdHJ1Y3QgX0dka0V2ZW50TW90aW9uIEdka0V2ZW50TW90aW9uOwogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShFRkwpCi10eXBlZGVmIHN0cnVjdCBfRXZhc19FdmVudF9Nb3VzZV9E
b3duIEV2YXNfRXZlbnRfTW91c2VfRG93bjsKLXR5cGVkZWYgc3RydWN0IF9FdmFzX0V2ZW50X01v
dXNlX1VwIEV2YXNfRXZlbnRfTW91c2VfVXA7Ci10eXBlZGVmIHN0cnVjdCBfRXZhc19FdmVudF9N
b3VzZV9Nb3ZlIEV2YXNfRXZlbnRfTW91c2VfTW92ZTsKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNvbnN0IGRvdWJsZSBGb3JjZUF0Q2xpY2sgPSAxOwpAQCAtMTAzLDEzICs5Nyw2
IEBAIGNvbnN0IGRvdWJsZSBGb3JjZUF0Rm9yY2VDbGljayA9IDI7CiAgICAgICAgIHZvaWQgc2V0
Q2xpY2tDb3VudChpbnQgY291bnQpIHsgbV9jbGlja0NvdW50ID0gY291bnQ7IH0KICNlbmRpZgog
Ci0jaWYgUExBVEZPUk0oRUZMKQotICAgICAgICB2b2lkIHNldENsaWNrQ291bnQodW5zaWduZWQg
aW50KTsKLSAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50KGNvbnN0IEV2YXNfRXZlbnRfTW91c2Vf
RG93biosIEludFBvaW50KTsKLSAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50KGNvbnN0IEV2YXNf
RXZlbnRfTW91c2VfVXAqLCBJbnRQb2ludCk7Ci0gICAgICAgIFBsYXRmb3JtTW91c2VFdmVudChj
b25zdCBFdmFzX0V2ZW50X01vdXNlX01vdmUqLCBJbnRQb2ludCk7Ci0jZW5kaWYKLQogI2lmIFBM
QVRGT1JNKE1BQykKICAgICAgICAgaW50IGV2ZW50TnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9l
dmVudE51bWJlcjsgfQogICAgICAgICBpbnQgbWVudVR5cGVGb3JFdmVudCgpIGNvbnN0IHsgcmV0
dXJuIG1fbWVudVR5cGVGb3JFdmVudDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplci5oCmluZGV4IGRjOGEwNGY3MmVkNDQ4Mjg5YjA5
Y2FiYTc0ZGYyMjcwZmFmZjg0NTYuLmFhYjVkNmQyM2U5MTczMmM5MzBjYWVlZTQxN2FhNGU4MThi
ZmE1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3BlZWNo
U3ludGhlc2l6ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVyLmgKQEAgLTM2LDEyICszNiw2IEBACiBPQkpDX0NMQVNTIFdlYlNwZWVjaFN5
bnRoZXNpc1dyYXBwZXI7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEVGTCkKLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLWNsYXNzIFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzUHJvdmlkZXJFZmw7Ci19Ci0j
ZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIFNwZWVjaEJvdW5kYXJ5IHsKQEAg
LTkyLDkgKzg2LDYgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZXRhaW5Q
dHI8V2ViU3BlZWNoU3ludGhlc2lzV3JhcHBlcj4gbV9wbGF0Zm9ybVNwZWVjaFdyYXBwZXI7CiAj
ZW5kaWYKLSNpZiBQTEFURk9STShFRkwpCi0gICAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtU3Bl
ZWNoU3ludGhlc2lzUHJvdmlkZXJFZmw+IG1fcGxhdGZvcm1TcGVlY2hXcmFwcGVyOwotI2VuZGlm
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1BsYXRmb3JtV2hlZWxFdmVudC5oCmluZGV4IDI4MTQzNzczZTU4MzdhZDE5NjI2NzhmMGIyZmJm
ZjM1YjY5MjRlYjIuLjQ1ZGQ4MDZlMzhhYzBkZWUwMzc5N2MxOGVlNmI1ZjhkMWQ4MmI0YTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCkBAIC0zNCwx
MCArMzQsNiBAQAogdHlwZWRlZiBzdHJ1Y3QgX0dka0V2ZW50U2Nyb2xsIEdka0V2ZW50U2Nyb2xs
OwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShFRkwpCi10eXBlZGVmIHN0cnVjdCBfRXZhc19FdmVu
dF9Nb3VzZV9XaGVlbCBFdmFzX0V2ZW50X01vdXNlX1doZWVsOwotI2VuZGlmCi0KIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogLy8gVGhlIFNjcm9sbEJ5UGl4ZWxXaGVlbEV2ZW50IGlzIGEgZmluZS1n
cmFpbmVkIGV2ZW50IHRoYXQgc3BlY2lmaWVzIHRoZSBwcmVjaXNlIG51bWJlciBvZiBwaXhlbHMg
dG8gc2Nyb2xsLgpAQCAtMTIzLDEwICsxMTksNiBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgUGxh
dGZvcm1XaGVlbEV2ZW50KEdka0V2ZW50U2Nyb2xsKik7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KEVGTCkKLSAgICBleHBsaWNpdCBQbGF0Zm9ybVdoZWVsRXZlbnQoY29uc3QgRXZhc19FdmVudF9N
b3VzZV9XaGVlbCopOwotI2VuZGlmCi0KICNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIGhh
c1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoKSBjb25zdCB7IHJldHVybiBtX2hhc1ByZWNpc2VTY3Jv
bGxpbmdEZWx0YXM7IH0KICAgICB2b2lkIHNldEhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoYm9v
bCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKSB7IG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRh
cyA9IGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1dpZGdldC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgK
aW5kZXggMjhjMDAxOTY3ZmYzOTUzNjhlODNlMzQ3MjAxZDg3MjAyYzE5MDE4ZS4uNTViNDlhNGRk
Yzc3OTgxOGMyY2RkYWU2OGY0NmZjMDk2MmUyNjI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vV2lkZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0
LmgKQEAgLTYxLDEwICs2MSw2IEBAIHR5cGVkZWYgc3RydWN0IF9HdGtDb250YWluZXIgR3RrQ29u
dGFpbmVyOwogdHlwZWRlZiBHdGtXaWRnZXQqIFBsYXRmb3JtV2lkZ2V0OwogI2VuZGlmCiAKLSNp
ZiBQTEFURk9STShFRkwpCi10eXBlZGVmIEV2YXNfT2JqZWN0KiBQbGF0Zm9ybVdpZGdldDsKLSNl
bmRpZgotCiB0eXBlZGVmIFBsYXRmb3JtV2lkZ2V0IFBsYXRmb3JtUGFnZUNsaWVudDsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQU5HTEVXZWJLaXRCcmlkZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0FOR0xFV2ViS2l0QnJpZGdlLmgKaW5kZXggMjViZTYyZmZjZTY1YjVhNjA5YjNkZjMyZjkx
OGM2ZmM0MWJhYTc0Mi4uOTExNGU3NmM3NTk3ZTU5M2ViZjQ0N2VkZjk5MGZhZmQxNDBlNWQyNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJLaXRC
cmlkZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BTkdMRVdlYktp
dEJyaWRnZS5oCkBAIC0zNiw3ICszNiw3IEBACiAjaW5jbHVkZSA8T3BlbkdML2dsLmg+CiAjZWxp
ZiBQTEFURk9STShXSU4pCiAjaW5jbHVkZSAiT3BlbkdMRVNTaGltcy5oIgotI2VsaWYgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjZWxpZiBQTEFURk9STShHVEspCiAjaWYgVVNFKE9Q
RU5HTF9FU18yKQogI2luY2x1ZGUgPEdMRVMyL2dsMi5oPgogI2Vsc2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCmluZGV4IDFkOTJiMWY2YTQ2ZDQz
YTk3MTFlMTE1OTk2MWIxMGY0ZWMxY2IzNjAuLmU2NzdjY2YyYzIyODNlYWZlM2Y2NzIyOGRjMDdl
ZGQ1NWU3NTk2NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0JpdG1hcEltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuaApAQCAtMTE2LDEwICsxMTYsNiBAQCBwdWJsaWM6CiAgICAgR2RrUGl4YnVmKiBn
ZXRHZGtQaXhidWYoKSBvdmVycmlkZTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oRUZMKQotICAg
IEV2YXNfT2JqZWN0KiBnZXRFdmFzT2JqZWN0KEV2YXMqKSBvdmVycmlkZTsKLSNlbmRpZgotCiAg
ICAgV0VCQ09SRV9FWFBPUlQgTmF0aXZlSW1hZ2VQdHIgbmF0aXZlSW1hZ2UoY29uc3QgR3JhcGhp
Y3NDb250ZXh0KiA9IG51bGxwdHIpIG92ZXJyaWRlOwogICAgIE5hdGl2ZUltYWdlUHRyIG5hdGl2
ZUltYWdlRm9yQ3VycmVudEZyYW1lKGNvbnN0IEdyYXBoaWNzQ29udGV4dCogPSBudWxscHRyKSBv
dmVycmlkZTsKICNpZiBVU0UoQ0cpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCAzZTNkZDNiZjNlMzIyZWIzZmYzZmE5
NjA1MzY1YTZjNTk4YTM0N2QzLi5jMDY0ZjU2NWJkODc0NDYzYzZlNTM4OTNmMjk1MGU4ZWRhYzhi
YjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dDNELmgKQEAgLTYwLDcgKzYwLDcgQEAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiBPQkpDX0NMQVNTIENBTGF5ZXI7CiBPQkpDX0NMQVNTIFdlYkdMTGF5ZXI7Ci0jZWxpZiBQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOX0NBSVJPKQorI2Vs
aWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXSU5fQ0FJUk8pCiB0eXBlZGVmIHVuc2lnbmVk
IGludCBHTHVpbnQ7CiAjZW5kaWYKIApAQCAtMTEyMCw3ICsxMTIwLDcgQEAgcHVibGljOgogICAg
IEdDM0Rib29sZWFuIGlzVmVydGV4QXJyYXkoUGxhdGZvcm0zRE9iamVjdCk7CiAgICAgdm9pZCBi
aW5kVmVydGV4QXJyYXkoUGxhdGZvcm0zRE9iamVjdCk7CiAKLSNpZiBQTEFURk9STShHVEspIHx8
IFBMQVRGT1JNKEVGTCkgfHwgVVNFKENBSVJPKQorI2lmIFBMQVRGT1JNKEdUSykgfHwgVVNFKENB
SVJPKQogICAgIHZvaWQgcGFpbnRUb0NhbnZhcyhjb25zdCB1bnNpZ25lZCBjaGFyKiBpbWFnZVBp
eGVscywgaW50IGltYWdlV2lkdGgsIGludCBpbWFnZUhlaWdodCwKICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGNhbnZhc1dpZHRoLCBpbnQgY2FudmFzSGVpZ2h0LCBQbGF0Zm9ybUNvbnRleHRD
YWlybyogY29udGV4dCk7CiAjZWxpZiBVU0UoQ0cpCkBAIC0xMjkzLDkgKzEyOTMsNiBAQCBwcml2
YXRlOgogICAgIGJvb2wgcmVzaGFwZUZCT3MoY29uc3QgSW50U2l6ZSYpOwogICAgIHZvaWQgcmVz
b2x2ZU11bHRpc2FtcGxpbmdJZk5lY2Vzc2FyeShjb25zdCBJbnRSZWN0JiA9IEludFJlY3QoKSk7
CiAgICAgdm9pZCBhdHRhY2hEZXB0aEFuZFN0ZW5jaWxCdWZmZXJJZk5lZWRlZChHTHVpbnQgaW50
ZXJuYWxEZXB0aFN0ZW5jaWxGb3JtYXQsIGludCB3aWR0aCwgaW50IGhlaWdodCk7Ci0jaWYgUExB
VEZPUk0oRUZMKSAmJiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKLSAgICB2b2lkIGNyZWF0ZUdyYXBo
aWNzU3VyZmFjZXMoY29uc3QgSW50U2l6ZSYpOwotI2VuZGlmCiAKICAgICBpbnQgbV9jdXJyZW50
V2lkdGgsIG1fY3VycmVudEhlaWdodDsKIApAQCAtMTM3MCw3ICsxMzY3LDcgQEAgcHJpdmF0ZToK
IAogICAgIHN0ZDo6dW5pcXVlX3B0cjxTaGFkZXJOYW1lSGFzaD4gbmFtZUhhc2hNYXBGb3JTaGFk
ZXJzOwogCi0jaWYgKChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0o
V0lOKSkgJiYgVVNFKE9QRU5HTF9FU18yKSkKKyNpZiAoKFBMQVRGT1JNKEdUSykgfHwgUExBVEZP
Uk0oV0lOKSkgJiYgVVNFKE9QRU5HTF9FU18yKSkKICAgICBmcmllbmQgY2xhc3MgRXh0ZW5zaW9u
czNET3BlbkdMRVM7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEV4dGVuc2lvbnMzRE9wZW5HTEVTPiBt
X2V4dGVuc2lvbnM7CiAjZWxzZQpAQCAtMTQxOSw3ICsxNDE2LDcgQEAgcHJpdmF0ZToKICAgICAv
LyBFcnJvcnMgcmFpc2VkIGJ5IHN5bnRoZXNpemVHTEVycm9yKCkuCiAgICAgTGlzdEhhc2hTZXQ8
R0MzRGVudW0+IG1fc3ludGhldGljRXJyb3JzOwogCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSKSAm
JiAhUExBVEZPUk0oRUZMKQorI2lmIFVTRShURVhUVVJFX01BUFBFUikKICAgICBmcmllbmQgY2xh
c3MgVGV4dHVyZU1hcHBlckdDM0RQbGF0Zm9ybUxheWVyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxU
ZXh0dXJlTWFwcGVyR0MzRFBsYXRmb3JtTGF5ZXI+IG1fdGV4bWFwTGF5ZXI7CiAjZWxzZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSWNvbi5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSWNvbi5oCmluZGV4IDQ5MTRiMDEzOGY4MTg2OTFi
MWNjZmE0NjNjZjQwNzNmNWZkYTRjZDEuLjdiNmEzMDQ3MDk2ODhkN2I5MzMyMjg5NWQ3NjBlNzY3
MTZiM2ZhN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lj
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JY29uLmgKQEAgLTc4
LDggKzc4LDYgQEAgcHJpdmF0ZToKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICBJY29uKCk7CiAg
ICAgR2RrUGl4YnVmKiBtX2ljb247Ci0jZWxpZiBQTEFURk9STShFRkwpCi0gICAgSWNvbigpOwog
I2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAppbmRl
eCA4MGIxMjJiN2VjYTI5NjkzZTRhMzgxZDI1M2ExNThjNjQ3Mjk4OThiLi5hYjQxNGMwMzEzYzM5
NDc5YmI1MGNhNGYwMGI0ZmYyNjhjNmQ2ZGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlLmgKQEAgLTE2MywxMCArMTYzLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
R2RrUGl4YnVmKiBnZXRHZGtQaXhidWYoKSB7IHJldHVybiBudWxscHRyOyB9CiAjZW5kaWYKIAot
I2lmIFBMQVRGT1JNKEVGTCkKLSAgICB2aXJ0dWFsIEV2YXNfT2JqZWN0KiBnZXRFdmFzT2JqZWN0
KEV2YXMqKSB7IHJldHVybiBudWxscHRyOyB9Ci0jZW5kaWYKLQogICAgIHZpcnR1YWwgdm9pZCBk
cmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBj
b25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRy
YW5zZm9ybSwKICAgICAgICAgY29uc3QgRmxvYXRQb2ludCYgcGhhc2UsIGNvbnN0IEZsb2F0U2l6
ZSYgc3BhY2luZywgQ29tcG9zaXRlT3BlcmF0b3IsIEJsZW5kTW9kZSA9IEJsZW5kTW9kZU5vcm1h
bCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBv
aW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCmluZGV4
IDcwNGEyYTQ4ZTIwZGE5MTljMjc0Yzc5OGQyZTIyNjY1YjBlMTA1OGQuLjI4M2Y0ZTFlNzNhYmUx
MGU3ZTg3ODY2ZDk2OWI5OGNhMWFiNmU3NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW50UG9pbnQuaApAQCAtMTQ2LDkgKzE0Niw2IEBAIHB1YmxpYzoKICAgICBleHBs
aWNpdCBJbnRQb2ludChjb25zdCBEMkQxX1BPSU5UXzJGJik7IC8vIERvbid0IGRvIHRoaXMgaW1w
bGljaXRseSwgc2luY2UgaXQncyBsb3NzeS4KICAgICBvcGVyYXRvciBEMkQxX1BPSU5UXzJGKCkg
Y29uc3Q7CiAgICAgb3BlcmF0b3IgRDJEMV9QT0lOVF8yVSgpIGNvbnN0OwotI2VsaWYgUExBVEZP
Uk0oRUZMKQotICAgIGV4cGxpY2l0IEludFBvaW50KGNvbnN0IEV2YXNfUG9pbnQmKTsKLSAgICBv
cGVyYXRvciBFdmFzX1BvaW50KCkgY29uc3Q7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAppbmRleCBkNjJkZTRjZTZhYjI5Y2E2
N2FlYTkyMDczOTRiYWVjNmE3NDVjNWM3Li5iMDM4YjJiNTQyZmY4Y2I2ZTQ3YTM1MjRhZGFlYjEw
NjY0NzgwZTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5o
CkBAIC0xODEsOSArMTgxLDYgQEAgcHVibGljOgogICAgIEludFJlY3QoY29uc3QgRDJEMV9SRUNU
X1UmKTsKICAgICBvcGVyYXRvciBEMkQxX1JFQ1RfRigpIGNvbnN0OwogICAgIG9wZXJhdG9yIEQy
RDFfUkVDVF9VKCkgY29uc3Q7Ci0jZWxpZiBQTEFURk9STShFRkwpCi0gICAgZXhwbGljaXQgSW50
UmVjdChjb25zdCBFaW5hX1JlY3RhbmdsZSYpOwotICAgIG9wZXJhdG9yIEVpbmFfUmVjdGFuZ2xl
KCkgY29uc3Q7CiAjZW5kaWYKIAogI2lmIFVTRShDQUlSTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5H
TC5jcHAKaW5kZXggMzMzNTViM2I5NmY0NjgyNTI5MGJmMTY4NGI0ZTg0ZjliYjRjMDkyYy4uNWRh
NjMyMDM1NGMxNGU4MmNjOTU3Y2FkNzg0MDczNjFhMjQ1ODJmOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMz
RE9wZW5HTC5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRlIDxPcGVuR0xFUy9FUzIvZ2xl
eHQuaD4KICNlbGlmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDxPcGVuR0wvZ2wuaD4KLSNlbGlm
IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pCisjZWxpZiBQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdJTikKICNpbmNsdWRlICJPcGVuR0xTaGltcy5oIgog
I2VuZGlmCiAKQEAgLTgzLDcgKzgzLDcgQEAgUGxhdGZvcm0zRE9iamVjdCBFeHRlbnNpb25zM0RP
cGVuR0w6OmNyZWF0ZVZlcnRleEFycmF5T0VTKCkKIHsKICAgICBtX2NvbnRleHQtPm1ha2VDb250
ZXh0Q3VycmVudCgpOwogICAgIEdMdWludCBhcnJheSA9IDA7Ci0jaWYgKFBMQVRGT1JNKEdUSykg
fHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKElPUykpCisjaWYg
KFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShJT1MpKQogICAgIGlm
IChpc1ZlcnRleEFycmF5T2JqZWN0U3VwcG9ydGVkKCkpCiAgICAgICAgIGdsR2VuVmVydGV4QXJy
YXlzKDEsICZhcnJheSk7CiAjZWxpZiBkZWZpbmVkKEdMX0FQUExFX3ZlcnRleF9hcnJheV9vYmpl
Y3QpICYmIEdMX0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QKQEAgLTk4LDcgKzk4LDcgQEAgdm9p
ZCBFeHRlbnNpb25zM0RPcGVuR0w6OmRlbGV0ZVZlcnRleEFycmF5T0VTKFBsYXRmb3JtM0RPYmpl
Y3QgYXJyYXkpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fY29udGV4dC0+bWFrZUNvbnRleHRD
dXJyZW50KCk7Ci0jaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9S
TShXSU4pIHx8IFBMQVRGT1JNKElPUykpCisjaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0o
V0lOKSB8fCBQTEFURk9STShJT1MpKQogICAgIGlmIChpc1ZlcnRleEFycmF5T2JqZWN0U3VwcG9y
dGVkKCkpCiAgICAgICAgIGdsRGVsZXRlVmVydGV4QXJyYXlzKDEsICZhcnJheSk7CiAjZWxpZiBk
ZWZpbmVkKEdMX0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QpICYmIEdMX0FQUExFX3ZlcnRleF9h
cnJheV9vYmplY3QKQEAgLTExMiw3ICsxMTIsNyBAQCBHQzNEYm9vbGVhbiBFeHRlbnNpb25zM0RP
cGVuR0w6OmlzVmVydGV4QXJyYXlPRVMoUGxhdGZvcm0zRE9iamVjdCBhcnJheSkKICAgICAgICAg
cmV0dXJuIEdMX0ZBTFNFOwogCiAgICAgbV9jb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsK
LSNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikgfHwg
UExBVEZPUk0oSU9TKSkKKyNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXSU4pIHx8IFBM
QVRGT1JNKElPUykpCiAgICAgaWYgKGlzVmVydGV4QXJyYXlPYmplY3RTdXBwb3J0ZWQoKSkKICAg
ICAgICAgcmV0dXJuIGdsSXNWZXJ0ZXhBcnJheShhcnJheSk7CiAjZWxpZiBkZWZpbmVkKEdMX0FQ
UExFX3ZlcnRleF9hcnJheV9vYmplY3QpICYmIEdMX0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QK
QEAgLTEyNCw3ICsxMjQsNyBAQCBHQzNEYm9vbGVhbiBFeHRlbnNpb25zM0RPcGVuR0w6OmlzVmVy
dGV4QXJyYXlPRVMoUGxhdGZvcm0zRE9iamVjdCBhcnJheSkKIHZvaWQgRXh0ZW5zaW9uczNET3Bl
bkdMOjpiaW5kVmVydGV4QXJyYXlPRVMoUGxhdGZvcm0zRE9iamVjdCBhcnJheSkKIHsKICAgICBt
X2NvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOwotI2lmIChQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShJT1MpKQorI2lmIChQTEFU
Rk9STShHVEspIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oSU9TKSkKICAgICBpZiAoaXNW
ZXJ0ZXhBcnJheU9iamVjdFN1cHBvcnRlZCgpKQogICAgICAgICBnbEJpbmRWZXJ0ZXhBcnJheShh
cnJheSk7CiAjZWxpZiBkZWZpbmVkKEdMX0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QpICYmIEdM
X0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QKQEAgLTE5NSw3ICsxOTUsNyBAQCBib29sIEV4dGVu
c2lvbnMzRE9wZW5HTDo6c3VwcG9ydHNFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogCiAg
ICAgLy8gR0xfT0VTX3ZlcnRleF9hcnJheV9vYmplY3QKICAgICBpZiAobmFtZSA9PSAiR0xfT0VT
X3ZlcnRleF9hcnJheV9vYmplY3QiKSB7Ci0jaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0o
RUZMKSkKKyNpZiAoUExBVEZPUk0oR1RLKSkKICAgICAgICAgcmV0dXJuIG1fYXZhaWxhYmxlRXh0
ZW5zaW9ucy5jb250YWlucygiR0xfQVJCX3ZlcnRleF9hcnJheV9vYmplY3QiKTsKICNlbGlmIFBM
QVRGT1JNKElPUykKICAgICAgICAgcmV0dXJuIG1fYXZhaWxhYmxlRXh0ZW5zaW9ucy5jb250YWlu
cygiR0xfT0VTX3ZlcnRleF9hcnJheV9vYmplY3QiKTsKQEAgLTMwMCw3ICszMDAsNyBAQCBTdHJp
bmcgRXh0ZW5zaW9uczNET3BlbkdMOjpnZXRFeHRlbnNpb25zKCkKICAgICByZXR1cm4gU3RyaW5n
KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KDo6Z2xHZXRTdHJpbmcoR0xfRVhURU5TSU9O
UykpKTsKIH0KIAotI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZP
Uk0oV0lOKSB8fCBQTEFURk9STShJT1MpKQorI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JN
KFdJTikgfHwgUExBVEZPUk0oSU9TKSkKIGJvb2wgRXh0ZW5zaW9uczNET3BlbkdMOjppc1ZlcnRl
eEFycmF5T2JqZWN0U3VwcG9ydGVkKCkKIHsKICAgICBzdGF0aWMgY29uc3QgYm9vbCBzdXBwb3J0
c1ZlcnRleEFycmF5T2JqZWN0ID0gc3VwcG9ydHMoIkdMX09FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
RXh0ZW5zaW9uczNET3BlbkdMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9v
cGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmgKaW5kZXggZjI4ZmYzZGMzYjBiMzkwMTAzODQ2MzI4
ODUwODM4ODMwMGFlMDk5MS4uYzNmZTgzZWI1OWM4MTE0ZDRhNjY5ZjcxMTBlNmI1MjUyYTk3YTYw
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4
dGVuc2lvbnMzRE9wZW5HTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuaApAQCAtNjIsNyArNjIsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgU3RyaW5nIGdldEV4dGVuc2lvbnMoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKLSNpZiAo
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZP
Uk0oSU9TKSkKKyNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JN
KElPUykpCiAgICAgYm9vbCBpc1ZlcnRleEFycmF5T2JqZWN0U3VwcG9ydGVkKCk7CiAjZW5kaWYK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
RXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uY3BwCmluZGV4IGEzZjE4ZDNl
ZTEwMTAzYTM2ZDVkMzg4MzA4N2U2NmI2ZmJkOGZhZjUuLmQyOGQ3NjVkZjI5ZTAyZGI2NjU0YzFi
YTcxYjkzNDhlZmQ3OTI5MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24u
Y3BwCkBAIC00NSw3ICs0NSw3IEBACiAjaW5jbHVkZSA8T3BlbkdML2dsLmg+CiAjaW5jbHVkZSA8
T3BlbkdML2dsMy5oPgogI3VuZGVmIEdMX0RPX05PVF9XQVJOX0lGX01VTFRJX0dMX1ZFUlNJT05f
SEVBREVSU19JTkNMVURFRAotI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8
IFBMQVRGT1JNKFdJTikKKyNlbGlmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV0lOKQogI2lu
Y2x1ZGUgIk9wZW5HTFNoaW1zLmgiCiAjZW5kaWYKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdM
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0Nv
bnRleHQzRE9wZW5HTC5jcHAKaW5kZXggYmRmZjc5NjlkNmNkNzdlZTY4YmQ1NzFjNWYwZDljMzMz
NjkzNzBkNS4uMjVjOWEyMjFjZjllMjZmNzIxMDg2NDUxZDZlZTNiZmE1ODEyOGI2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29u
dGV4dDNET3BlbkdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9v
cGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCkBAIC01OCw3ICs1OCw3IEBACiAjaW5j
bHVkZSA8T3BlbkdML2dsLmg+CiAjaW5jbHVkZSA8T3BlbkdML2dsMy5oPgogI3VuZGVmIEdMX0RP
X05PVF9XQVJOX0lGX01VTFRJX0dMX1ZFUlNJT05fSEVBREVSU19JTkNMVURFRAotI2VsaWYgUExB
VEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikKKyNlbGlmIFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oV0lOKQogI2luY2x1ZGUgIk9wZW5HTFNoaW1zLmgiCiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKaW5k
ZXggYjkxYTUyYjBhZTNkODNiMDk2NGMxNjg1NzhiZDgxYjUyM2Q3MjEwZC4uMTUzNmZhZjQyMGY0
OWFiYWY3MTQ4ZDI5ZDQ2MzQ2MDVhYTYyNDA2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0M0RPcGVuR0xDb21tb24uY3BwCkBAIC03Miw3ICs3Miw3IEBACiAjaW5jbHVkZSA8T3Bl
bkdML2dsMy5oPgogI2luY2x1ZGUgPE9wZW5HTC9nbDNleHQuaD4KICN1bmRlZiBHTF9ET19OT1Rf
V0FSTl9JRl9NVUxUSV9HTF9WRVJTSU9OX0hFQURFUlNfSU5DTFVERUQKLSNlbGlmIFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pCisjZWxpZiBQTEFURk9STShH
VEspIHx8IFBMQVRGT1JNKFdJTikKICNpbmNsdWRlICJPcGVuR0xTaGltcy5oIgogI2VuZGlmCiAj
ZW5kaWYKQEAgLTEzMyw3ICsxMzMsNyBAQCBzdGF0aWMgdWludDY0X3QgbmFtZUhhc2hGb3JTaGFk
ZXIoY29uc3QgY2hhciogbmFtZSwgc2l6ZV90IGxlbmd0aCkKIFJlZlB0cjxHcmFwaGljc0NvbnRl
eHQzRD4gR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZUZvckN1cnJlbnRHTENvbnRleHQoKQogewog
ICAgIGF1dG8gY29udGV4dCA9IGFkb3B0UmVmKCpuZXcgR3JhcGhpY3NDb250ZXh0M0QoeyB9LCAw
LCBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVyVG9DdXJyZW50R0xDb250ZXh0KSk7Ci0jaWYgVVNF
KFRFWFRVUkVfTUFQUEVSKSAmJiAhUExBVEZPUk0oRUZMKQorI2lmIFVTRShURVhUVVJFX01BUFBF
UikKICAgICBpZiAoIWNvbnRleHQtPm1fdGV4bWFwTGF5ZXIpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogI2Vsc2UKQEAgLTMwNiwxMSArMzA2LDYgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
cmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAKICAgICBtYXJrQ29udGV4dENoYW5nZWQo
KTsKIAotI2lmIFBMQVRGT1JNKEVGTCkgJiYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCi0gICAgOjpn
bEZsdXNoKCk7IC8vIE1ha2Ugc3VyZSBhbGwgR0wgY2FsbHMgaGF2ZSBiZWVuIGNvbW1pdHRlZCBi
ZWZvcmUgcmVzaXppbmcuCi0gICAgY3JlYXRlR3JhcGhpY3NTdXJmYWNlcyhJbnRTaXplKHdpZHRo
LCBoZWlnaHQpKTsKLSNlbmRpZgotCiAgICAgbV9jdXJyZW50V2lkdGggPSB3aWR0aDsKICAgICBt
X2N1cnJlbnRIZWlnaHQgPSBoZWlnaHQ7CiAKQEAgLTE0MjEsNyArMTQxNiw3IEBAIFBsYXRmb3Jt
M0RPYmplY3QgR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZVZlcnRleEFycmF5KCkKIHsKICAgICBt
YWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBHTHVpbnQgYXJyYXkgPSAwOwotI2lmICFVU0UoT1BF
TkdMX0VTXzIpICYmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0o
V0lOKSB8fCBQTEFURk9STShJT1MpKQorI2lmICFVU0UoT1BFTkdMX0VTXzIpICYmIChQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oSU9TKSkKICAgICBnbEdlblZlcnRl
eEFycmF5cygxLCAmYXJyYXkpOwogI2VsaWYgZGVmaW5lZChHTF9BUFBMRV92ZXJ0ZXhfYXJyYXlf
b2JqZWN0KSAmJiBHTF9BUFBMRV92ZXJ0ZXhfYXJyYXlfb2JqZWN0CiAgICAgZ2xHZW5WZXJ0ZXhB
cnJheXNBUFBMRSgxLCAmYXJyYXkpOwpAQCAtMTQzNSw3ICsxNDMwLDcgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6ZGVsZXRlVmVydGV4QXJyYXkoUGxhdGZvcm0zRE9iamVjdCBhcnJheSkKICAg
ICAgICAgcmV0dXJuOwogICAgIAogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwotI2lmICFVU0Uo
T1BFTkdMX0VTXzIpICYmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZP
Uk0oV0lOKSB8fCBQTEFURk9STShJT1MpKQorI2lmICFVU0UoT1BFTkdMX0VTXzIpICYmIChQTEFU
Rk9STShHVEspIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oSU9TKSkKICAgICBnbERlbGV0
ZVZlcnRleEFycmF5cygxLCAmYXJyYXkpOwogI2VsaWYgZGVmaW5lZChHTF9BUFBMRV92ZXJ0ZXhf
YXJyYXlfb2JqZWN0KSAmJiBHTF9BUFBMRV92ZXJ0ZXhfYXJyYXlfb2JqZWN0CiAgICAgZ2xEZWxl
dGVWZXJ0ZXhBcnJheXNBUFBMRSgxLCAmYXJyYXkpOwpAQCAtMTQ0OCw3ICsxNDQzLDcgQEAgR0Mz
RGJvb2xlYW4gR3JhcGhpY3NDb250ZXh0M0Q6OmlzVmVydGV4QXJyYXkoUGxhdGZvcm0zRE9iamVj
dCBhcnJheSkKICAgICAgICAgcmV0dXJuIEdMX0ZBTFNFOwogICAgIAogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwotI2lmICFVU0UoT1BFTkdMX0VTXzIpICYmIChQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShJT1MpKQorI2lmICFVU0Uo
T1BFTkdMX0VTXzIpICYmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZP
Uk0oSU9TKSkKICAgICByZXR1cm4gZ2xJc1ZlcnRleEFycmF5KGFycmF5KTsKICNlbGlmIGRlZmlu
ZWQoR0xfQVBQTEVfdmVydGV4X2FycmF5X29iamVjdCkgJiYgR0xfQVBQTEVfdmVydGV4X2FycmF5
X29iamVjdAogICAgIHJldHVybiBnbElzVmVydGV4QXJyYXlBUFBMRShhcnJheSk7CkBAIC0xNDU5
LDcgKzE0NTQsNyBAQCBHQzNEYm9vbGVhbiBHcmFwaGljc0NvbnRleHQzRDo6aXNWZXJ0ZXhBcnJh
eShQbGF0Zm9ybTNET2JqZWN0IGFycmF5KQogdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6YmluZFZl
cnRleEFycmF5KFBsYXRmb3JtM0RPYmplY3QgYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJy
ZW50KCk7Ci0jaWYgIVVTRShPUEVOR0xfRVNfMikgJiYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZP
Uk0oRUZMKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKElPUykpCisjaWYgIVVTRShPUEVO
R0xfRVNfMikgJiYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShJ
T1MpKQogICAgIGdsQmluZFZlcnRleEFycmF5KGFycmF5KTsKICNlbGlmIGRlZmluZWQoR0xfQVBQ
TEVfdmVydGV4X2FycmF5X29iamVjdCkgJiYgR0xfQVBQTEVfdmVydGV4X2FycmF5X29iamVjdAog
ICAgIGdsQmluZFZlcnRleEFycmF5QVBQTEUoYXJyYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL1RlbXBvcmFyeU9wZW5HTFNldHRpbmcuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL1RlbXBvcmFyeU9wZW5H
TFNldHRpbmcuY3BwCmluZGV4IDdhMTEyY2Y2ZWQzODM3YmI3YjNiOWJjOTk4ZjY0ZTY4OGE4NDg3
ZmUuLjc0MzhkOWUxNDNlMjk1ZDU5YWYwYjBkOWVjZThlNDllMjY0MWVkZTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9UZW1wb3JhcnlPcGVuR0xT
ZXR0aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
VGVtcG9yYXJ5T3BlbkdMU2V0dGluZy5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKICNpbmNsdWRlIDxP
cGVuR0xFUy9FUzIvZ2wuaD4KICNlbGlmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDxPcGVuR0wv
Z2wuaD4KLSNlbGlmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShX
SU4pCisjZWxpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdJTikKICNpbmNsdWRlICJPcGVu
R0xTaGltcy5oIgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAppbmRleCA4ZGQ1MzBkNTUxZmRlNTI5MjI3
NmM4MDNkMTBmZWZkYzIwMmU0ZWFkLi41MjgyZWMwNjZhYmJhMjM3MTc2OGE4NGFkOWEyYTUyMDYw
YmQzNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdGF0ZU5vdGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9O
ZXR3b3JrU3RhdGVOb3RpZmllci5oCkBAIC01Niw3ICs1Niw3IEBAIGNsYXNzIE5ldHdvcmtTdGF0
ZU5vdGlmaWVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXR3b3JrU3RhdGVOb3RpZmll
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyKCk7Ci0jaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShJT1MpCisjaWYgUExBVEZP
Uk0oSU9TKQogICAgIH5OZXR3b3JrU3RhdGVOb3RpZmllcigpOwogI2VuZGlmCiAgICAgdm9pZCBh
ZGROZXR3b3JrU3RhdGVDaGFuZ2VMaXN0ZW5lcihzdGQ6OmZ1bmN0aW9uPHZvaWQgKGJvb2wgaXNP
bkxpbmUpPik7CkBAIC04OCwxMyArODgsNiBAQCBwcml2YXRlOgogICAgIEhBTkRMRSBtX3dhaXRI
YW5kbGU7CiAgICAgT1ZFUkxBUFBFRCBtX292ZXJsYXBwZWQ7CiAKLSNlbGlmIFBMQVRGT1JNKEVG
TCkKLSAgICB2b2lkIG5ldHdvcmtJbnRlcmZhY2VDaGFuZ2VkKCk7Ci0gICAgc3RhdGljIEVpbmFf
Qm9vbCByZWFkU29ja2V0Q2FsbGJhY2sodm9pZCogdXNlckRhdGEsIEVjb3JlX0ZkX0hhbmRsZXIq
KTsKLQotICAgIGludCBtX25ldGxpbmtTb2NrZXQ7Ci0gICAgRWNvcmVfRmRfSGFuZGxlciogbV9m
ZEhhbmRsZXI7Ci0KICNlbGlmIFBMQVRGT1JNKElPUykKICAgICB2b2lkIHJlZ2lzdGVyT2JzZXJ2
ZXJJZk5lY2Vzc2FyeSgpIGNvbnN0OwogICAgIGZyaWVuZCB2b2lkIHNldE9uTGluZShjb25zdCBO
ZXR3b3JrU3RhdGVOb3RpZmllciosIGJvb2wpOwpAQCAtMTA1LDcgKzk4LDcgQEAgcHJpdmF0ZToK
ICNlbmRpZgogfTsKIAotI2lmICFQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKFdJTikgJiYg
IVBMQVRGT1JNKEVGTCkKKyNpZiAhUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShXSU4pCiAK
IGlubGluZSBOZXR3b3JrU3RhdGVOb3RpZmllcjo6TmV0d29ya1N0YXRlTm90aWZpZXIoKQogICAg
IDogbV9pc09uTGluZSh0cnVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
cG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Bvc2l4
L0ZpbGVTeXN0ZW1QT1NJWC5jcHAKaW5kZXggODkzMGNiMDUxMTNmYTJmOTkzNzM2OGFhMDg4YWM1
MmZkZGE2YWE5ZC4uZTI5NzIwYTRmMzM0M2U1NDcxZGZmNWM3ZGYyNjNlMThiMDk4N2ExZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9wb3NpeC9GaWxlU3lzdGVtUE9TSVguY3Bw
CkBAIC0zMjgsNyArMzI4LDcgQEAgVmVjdG9yPFN0cmluZz4gbGlzdERpcmVjdG9yeShjb25zdCBT
dHJpbmcmIHBhdGgsIGNvbnN0IFN0cmluZyYgZmlsdGVyKQogICAgIHJldHVybiBlbnRyaWVzOwog
fQogCi0jaWYgIU9TKERBUldJTikgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShHVEspCisj
aWYgIU9TKERBUldJTikgfHwgUExBVEZPUk0oR1RLKQogU3RyaW5nIG9wZW5UZW1wb3JhcnlGaWxl
KGNvbnN0IFN0cmluZyYgcHJlZml4LCBQbGF0Zm9ybUZpbGVIYW5kbGUmIGhhbmRsZSkKIHsKICAg
ICBjaGFyIGJ1ZmZlcltQQVRIX01BWF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IGYxZTJhYjg1MjBjMzEyMjI3MzZlYmI3
ZWE0YTAwNWIzNWE3ODNlMDUuLmNkODU0OTVjNjgxNjk1MGQ4ZDVmMTY0YmFiNTgyZWIwMWUxNGNk
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCkBAIC0zMzI5LDcgKzMzMjksNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6ZW5zdXJlUm9vdExheWVyKCkKICAgICAgICAgbV9yb290Q29udGVudExheWVyLT5zZXRTaXpl
KEZsb2F0U2l6ZShvdmVyZmxvd1JlY3QubWF4WCgpLCBvdmVyZmxvd1JlY3QubWF4WSgpKSk7CiAg
ICAgICAgIG1fcm9vdENvbnRlbnRMYXllci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgpKTsKIAot
I2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oRUZMKQorI2lmIFBMQVRGT1JNKElPUykKICAg
ICAgICAgLy8gUGFnZSBzY2FsZSBpcyBhcHBsaWVkIGFib3ZlIHRoaXMgb24gaU9TLCBzbyB3ZSds
bCBqdXN0IHNheSB0aGF0IG91ciByb290IGxheWVyIGFwcGxpZXMgaXQuCiAgICAgICAgIEZyYW1l
JiBmcmFtZSA9IG1fcmVuZGVyVmlldy5mcmFtZVZpZXcoKS5mcmFtZSgpOwogICAgICAgICBpZiAo
ZnJhbWUuaXNNYWluRnJhbWUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cAppbmRleCAzNmM3OTIwNWNkMTFmMWMwNDk0M2VkOTA1ZGQ5NzYzMzg1YWU2OWJiLi4wOTE4NmFl
ZjllMzBjZmQ2OWU3ZjllYzdkYWQ1NjI5NzM1YmE4ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuY3BwCkBAIC0xNTA4LDcgKzE1MDgsNyBAQCBpbnQgUmVuZGVyVGV4dDo6
cHJldmlvdXNPZmZzZXQoaW50IGN1cnJlbnQpIGNvbnN0CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEdUSykK
KyNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKQogCiBjb25zdCBVQ2hhciBoYW5n
dWxDaG9zZW9uZ1N0YXJ0ID0gMHgxMTAwOwogY29uc3QgVUNoYXIgaGFuZ3VsQ2hvc2VvbmdFbmQg
PSAweDExNUY7CkBAIC0xNTU1LDcgKzE1NTUsNyBAQCBpbnQgUmVuZGVyVGV4dDo6cHJldmlvdXNP
ZmZzZXRGb3JCYWNrd2FyZERlbGV0aW9uKGludCBjdXJyZW50KSBjb25zdAogCiAgICAgLy8gRklY
TUU6IFNlZW1zIGxpa2UgdGhpcyBmYW5jaWVyIGNhc2UgY291bGQgYmUgdXNlZCBvbiBhbGwgcGxh
dGZvcm1zIG5vdywgbm8KICAgICAvLyBuZWVkIGZvciB0aGUgI2Vsc2UgY2FzZSBiZWxvdy4KLSNp
ZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShHVEspCisjaWYg
UExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKEdUSykKICAgICBib29sIHNhd1JlZ2lvbmFsSW5k
aWNhdG9yID0gZmFsc2U7CiAgICAgYm9vbCBzYXdFbW9qaUdyb3VwQ2FuZGlkYXRlID0gZmFsc2U7
CiAgICAgYm9vbCBzYXdFbW9qaUZpdHpwYXRyaWNrTW9kaWZpZXIgPSBmYWxzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0TGlieHNsdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFNMU3R5bGVTaGVldExpYnhzbHQuY3BwCmluZGV4IDRiMjQ2YzhjMTQ4NDll
ZjZmOWUwZjdiYWZhYzBiNGIwNGQ4NWVmM2IuLjViYjhmNTk1MjRkMDFiOWRkNDkwN2I2MTI2MWUz
YzE0OTJiNWM1NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0
TGlieHNsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFN0eWxlU2hlZXRMaWJ4c2x0
LmNwcApAQCAtMzYsMTEgKzM2LDExIEBACiAjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgogI2luY2x1
ZGUgPGxpYnhzbHQveHNsdHV0aWxzLmg+CiAKLSNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShF
RkwpICYmICFQTEFURk9STShHVEspCisjaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKQog
I2luY2x1ZGUgIlNvZnRMaW5raW5nLmgiCiAjZW5kaWYKIAotI2lmIE9TKERBUldJTikgJiYgIVBM
QVRGT1JNKEVGTCkgJiYgIVBMQVRGT1JNKEdUSykKKyNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9S
TShHVEspCiBTT0ZUX0xJTktfTElCUkFSWShsaWJ4c2x0KQogU09GVF9MSU5LKGxpYnhzbHQsIHhz
bHRJc0JsYW5rLCBpbnQsICh4bWxDaGFyICpzdHIpLCAoc3RyKSkKIFNPRlRfTElOSyhsaWJ4c2x0
LCB4c2x0R2V0TnNQcm9wLCB4bWxDaGFyICosICh4bWxOb2RlUHRyIG5vZGUsIGNvbnN0IHhtbENo
YXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKm5hbWVTcGFjZSksIChub2RlLCBuYW1lLCBuYW1lU3Bh
Y2UpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRFeHRlbnNpb25zLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YU0xURXh0ZW5zaW9ucy5jcHAKaW5kZXggNzE5Yjk1OWYxN2Y5
NzhkZjlmOWIxM2MwZDQ4YmNjMGVmYWQ4OTUyYy4uYTE1MTU5NGFiZmY4ZGNhZjM1NDViN2Y0OGI4
NzgzNjAwMjFiNDU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRFeHRlbnNp
b25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVEV4dGVuc2lvbnMuY3BwCkBAIC0z
NSwxMSArMzUsMTEgQEAKICNpbmNsdWRlIDxsaWJ4c2x0L2V4dGVuc2lvbnMuaD4KICNpbmNsdWRl
IDxsaWJ4c2x0L2V4dHJhLmg+CiAKLSNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShFRkwpICYm
ICFQTEFURk9STShHVEspCisjaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogI2luY2x1
ZGUgIlNvZnRMaW5raW5nLmgiCiAjZW5kaWYKIAotI2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JN
KEVGTCkgJiYgIVBMQVRGT1JNKEdUSykKKyNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShHVEsp
CiBTT0ZUX0xJTktfTElCUkFSWShsaWJ4c2x0KQogU09GVF9MSU5LKGxpYnhzbHQsIHhzbHRSZWdp
c3RlckV4dEZ1bmN0aW9uLCBpbnQsICh4c2x0VHJhbnNmb3JtQ29udGV4dFB0ciBjdHh0LCBjb25z
dCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICpVUkksIHhtbFhQYXRoRnVuY3Rpb24gZnVu
Y3Rpb24pLCAoY3R4dCwgbmFtZSwgVVJJLCBmdW5jdGlvbikpCiBTT0ZUX0xJTksobGlieHNsdCwg
eHNsdEZ1bmN0aW9uTm9kZVNldCwgdm9pZCwgKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0
LCBpbnQgbmFyZ3MpLCAoY3R4dCwgbmFyZ3MpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
eG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJv
Y2Vzc29yTGlieHNsdC5jcHAKaW5kZXggOWNlZDVkMTljNjM4MDhmNmI2OTg1MDE5MDRiYzY4YTQ0
MTQ3OWVkNi4uMzllYThlMDY2NjgzNWMxNDE1OTkzM2EwMTBlMDljYjVhZDUyYjQ0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwCkBAIC00OCw3ICs0OCw3
IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL3Vu
aWNvZGUvVVRGOC5oPgogCi0jaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oRUZMKSAmJiAhUExB
VEZPUk0oR1RLKQorI2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JNKEdUSykKICNpbmNsdWRlICJT
b2Z0TGlua2luZy5oIgogCiBTT0ZUX0xJTktfTElCUkFSWShsaWJ4c2x0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUVW5pY29kZVNvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hTTFRVbmljb2RlU29ydC5jcHAKaW5kZXggNTU3YjQ5MWE0NzJlMDBmZmYzNjUyZTVjN2Jh
NTNlN2EwYmE1OGJhMy4uMTQyZTk2MGEzZDkyZmYyZDc1NTg5ZDM3ODEzYjM1MTA1MDA1NGQ1ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRVbmljb2RlU29ydC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL1hTTFRVbmljb2RlU29ydC5jcHAKQEAgLTM3LDExICszNywxMSBA
QAogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Db2xsYXRv
ci5oPgogCi0jaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oRUZMKSAmJiAhUExBVEZPUk0oR1RL
KQorI2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JNKEdUSykKICNpbmNsdWRlICJTb2Z0TGlua2lu
Zy5oIgogI2VuZGlmCiAKLSNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShFRkwpICYmICFQTEFU
Rk9STShHVEspCisjaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogCiBTT0ZUX0xJTktf
TElCUkFSWShsaWJ4c2x0KQogU09GVF9MSU5LKGxpYnhzbHQsIHhzbHRDb21wdXRlU29ydFJlc3Vs
dCwgeG1sWFBhdGhPYmplY3RQdHIqLCAoeHNsdFRyYW5zZm9ybUNvbnRleHRQdHIgY3R4dCwgeG1s
Tm9kZVB0ciBzb3J0KSwgKGN0eHQsIHNvcnQpKQo=
</data>
<flag name="review"
          id="323600"
          type_id="1"
          status="+"
          setter="bburg"
    />
          </attachment>
      

    </bug>

</bugzilla>