<?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>149855</bug_id>
          
          <creation_ts>2015-10-06 13:36:42 -0700</creation_ts>
          <short_desc>[ES6] Arrow function syntax. Get rid of JSArrowFunction and use standard JSFunction class</short_desc>
          <delta_ts>2016-01-10 17:38:55 -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>JavaScriptCore</component>
          <version>WebKit 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>
          <dependson>149338</dependson>
          <blocked>140855</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="GSkachkov">gskachkov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1131106</commentid>
    <comment_count>0</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-10-06 13:36:42 -0700</bug_when>
    <thetext>After changing approach to store &apos;this&apos; using JSArrowFunction is unnecessary</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154163</commentid>
    <comment_count>1</comment_count>
      <attachid>268627</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2016-01-09 13:53:17 -0800</bug_when>
    <thetext>Created attachment 268627
Patch

Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154288</commentid>
    <comment_count>2</comment_count>
      <attachid>268627</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-01-10 16:52:39 -0800</bug_when>
    <thetext>Comment on attachment 268627
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154297</commentid>
    <comment_count>3</comment_count>
      <attachid>268627</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-10 17:38:52 -0800</bug_when>
    <thetext>Comment on attachment 268627
Patch

Clearing flags on attachment: 268627

Committed r194835: &lt;http://trac.webkit.org/changeset/194835&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154298</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-10 17:38:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268627</attachid>
            <date>2016-01-09 13:53:17 -0800</date>
            <delta_ts>2016-01-10 17:38:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149855-20160109235244.patch</filename>
            <type>text/plain</type>
            <size>39467</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
OWE1MWVjNWUyYzM2MTk5ZWZjMmNlY2E4MjY1ZDM4MGVjNWVmODgwLi40M2NiZjhlMzYyYTg4NTBj
ZjY2NzQ2ZWUwOWZiNTIwZmIwMWNjYTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxNi0wMS0wOSAgU2thY2hrb3YgT2xla3NhbmRyICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICBbRVM2XSBBcnJvdyBmdW5jdGlvbiBzeW50YXguIEdldCByaWQg
b2YgSlNBcnJvd0Z1bmN0aW9uIGFuZCB1c2Ugc3RhbmRhcmQgSlNGdW5jdGlvbiBjbGFzcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5ODU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSlNBcnJvd0Z1bmN0
aW9uLmgvY3BwIHdlcmUgcmVtb3ZlZCBmcm9tIEphdmFTY3JpcHRDb3JlLCBiZWNhdXNlIG5vdyBp
cyB1c2VkIG5ldyBhcHByb2FjaCBmb3Igc3RvcmluZyAKKyAgICAgICAgJ3RoaXMnLCAnYXJndW1l
bnRzJyBhbmQgJ3N1cGVyJworCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
SmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAgICAq
IEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzOgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6
OkRGRzo6QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZl
Y3RzKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3RnVuY3Rpb24pOgorICAgICAgICAqIGRm
Zy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6
U3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2U6OnJ1bik6CisgICAgICAgICogZnRsL0ZUTEFic3Ry
YWN0SGVhcFJlcG9zaXRvcnkuY3BwOgorICAgICAgICAqIGZ0bC9GVExBYnN0cmFjdEhlYXBSZXBv
c2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAg
KEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTmV3RnVuY3Rpb24pOgorICAg
ICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKiBpbnRlcnByZXRl
ci9JbnRlcnByZXRlci5oOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAg
KiBqaXQvSklUT3Bjb2RlczMyXzY0LmNwcDoKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAgKiBsbGludC9MTElu
dE9mZnNldHNFeHRyYWN0b3IuY3BwOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNw
cDoKKyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6IFJlbW92ZWQuCisgICAg
ICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaDogUmVtb3ZlZC4KKyAgICAgICAgKiBydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0
Lmg6CisKIDIwMTYtMDEtMDUgIFNrYWNoa292IE9sZWtzYW5kciAgPGdza2FjaGtvdkBnbWFpbC5j
b20+CiAKICAgICAgICAgW0VTNl0gQXJyb3cgZnVuY3Rpb24gc3ludGF4LiBBcnJvdyBmdW5jdGlv
biBzcGVjaWZpYyBmZWF0dXJlcy4gTGV4aWNhbCBiaW5kICJhcmd1bWVudHMiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjdkMzM4MzdjMjFhZWRkOGE2OTMxMjlmZmM3ZWJh
NGFhMzQwMjM5My4uNDc1NWQ0NWI5NWFhNTZmZmE2ZmI0NzFiMGZmNWRkYmNjODA5MDY0OSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNjM0LDcgKzYzNCw2IEBAIHNldChK
YXZhU2NyaXB0Q29yZV9SVU5USU1FX1NPVVJDRVMKICAgICBydW50aW1lL0pTQXJyYXlCdWZmZXJQ
cm90b3R5cGUuY3BwCiAgICAgcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50
aW1lL0pTQXJyYXlJdGVyYXRvci5jcHAKLSAgICBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAK
ICAgICBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKICAgICBydW50aW1lL0pTQ0pTVmFsdWUu
Y3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ogYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qCmluZGV4IDZkOTcyOWZmNTRkYzlhNzE3NTNlZjgxNjRiOWFmM2UzYzBiNDZmN2Yu
LjYzNWQzNGEyMjAzZmJmZjg0YzNlYTM3OGE3NmI4Njc2NzYxYmY2NzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpAQCAtNzk5LDcgKzc5OSw2IEBACiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyVmlldy5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQm91bmRGdW5jdGlvbi5j
cHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyb3dGdW5jdGlv
bi5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWUu
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NhbGxlZS5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2VsbC5jcHAiIC8+CkBA
IC0xNjc1LDcgKzE2NzQsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0FycmF5QnVmZmVyVmlld0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcSlNBcnJheUl0ZXJhdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxydW50aW1lXEpTQm91bmRGdW5jdGlvbi5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccnVudGltZVxKU0Fycm93RnVuY3Rpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcSlNDSW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
cnVudGltZVxKU0NKU1ZhbHVlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50
aW1lXEpTQ0pTVmFsdWVJbmxpbmVzLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRl
cnMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggZTMwOTNmOWFkMGIyZDFhMzhiNmVmMzM0NGI3
MGQzNjg5ODViNGQzNC4uZGFlYWFkMTE1ODE2NWY5YWRmYzIxMDcyYzZhN2JlZDZkZjY1YTMzOCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ov
SmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycwpA
QCAtMTk3Myw3ICsxOTczLDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdD
bG9iYmVyc0V4aXRTdGF0ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdc
REZHSW5zZXJ0aW9uU2V0LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xE
RkdOb2RlT3JpZ2luLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxBUElcQVBJQ2FsbGJhY2tGdW5jdGlvbi5oIj4KQEAg
LTI5NzUsOSArMjk3NCw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyYXkuaCI+CiAgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVk
ZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmgi
PgotICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQm91bmRGdW5jdGlvbi5oIj4KICAgICAg
IDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBkYzY1Mjc0MWMyYWYxYWViNjI0OWQzZjJmMGY2Mzk4MjViMDVl
Yzc3Li5jODU2NzEyNDFlMWI3OGZhN2M2ZjY4ZjVjMmI3ZWJjZWZkZDFiYTcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM4Miw4ICsxMzgyLDYgQEAKIAkJODZGM0VFQkYxNjhD
REU5MzAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2ODU1QTVCMDA3N0I5MkEgLyogT2Jq
Y1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTExNDJCQkIyRTAwMTc3M0I3IC8qIEpT
Qm91bmRGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAq
LzsgfTsKIAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOTAxNDJC
QkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovOyB9OwotCQk4QjBGNDI0QzFBQkQ2
REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uY3BwICovOyB9OwotCQk4QjE0MTg2RDFCNjI1MjdGMDBGQjIwNjggLyogSlNB
cnJvd0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTAyMTNFM0QxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAyMTNFM0IxMjNBNDBDMjAwRDQyMkYzIC8qIE1l
bW9yeVN0YXRpc3RpY3MuY3BwICovOyB9OwogCQk5MDIxM0UzRTEyM0E0MEMyMDBENDIyRjMgLyog
TWVtb3J5U3RhdGlzdGljcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5MzA1MkMz
NDBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBh
cnNlckFyZW5hLmNwcCAqLzsgfTsKQEAgLTM1NDgsOCArMzU0Niw2IEBACiAJCTg2Rjc1RUZEMTUx
QzA2MkYwMDdDOUJBMyAvKiBSZWdFeHBNYXRjaGVzQXJyYXkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwTWF0Y2hlc0FycmF5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0JvdW5kRnVu
Y3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU5MDE0MkJCQjJF
MDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTQm91bmRGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4
QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTQXJyb3dGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4QjBG
NDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXJyb3dGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0
aXN0aWNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lbW9yeVN0
YXRpc3RpY3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIxM0UzQzEyM0E0
MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXJzZXJBcmVuYS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC01NjIwLDggKzU2MTYsNiBAQAogCQkJCTBGMkI2NkJDMTdCNkI1
QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlld0lubGluZXMuaCAqLywKIAkJCQlBN0JEQUVD
NDE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmNwcCAqLywKIAkJCQlBN0JEQUVD
NTE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggKi8sCi0JCQkJOEIwRjQyNEIx
QUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8sCi0JCQkJOEIwRjQyNEEx
QUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovLAogCQkJCTg2RkE5RThGMTQy
QkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovLAogCQkJCTg2RkE5RTkwMTQy
QkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLywKIAkJCQk2NTdDRjQ1NjE5QkY2
NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovLApAQCAtNzUyOSw3ICs3NTIzLDYgQEAKIAkJ
CQkwRjJCNjZFOTE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclZpZXcuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGMkI2NkVBMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmll
d0lubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3QkRBRUNCMTdGNEVBMTQwMEY2MTQwQyAv
KiBKU0FycmF5SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCThCMTQxODZEMUI2MjUyN0Yw
MEZCMjA2OCAvKiBKU0Fycm93RnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDE4
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0Jhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0MEQxN0Q3
MEU4QUQ0QTkwMDBDRDE3RCAvKiBKU0Jhc2VQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NkZBOUU5MjE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggaW4gSGVhZGVycyAq
LywKQEAgLTg5OTgsNyArODk5MSw2IEBACiAJCQkJMEYyQjY2RTYxN0I2QjVBQjAwQTdBRTNGIC8q
IEpTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyQjY2RTgx
N0I2QjVBQjAwQTdBRTNGIC8qIEpTQXJyYXlCdWZmZXJWaWV3LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE3QkRBRUNBMTdGNEVBMTQwMEY2MTQwQyAvKiBKU0FycmF5SXRlcmF0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDIxMzU5QjBBNjc3RjRGMDBBODE5NUUgLyogSlNC
YXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2RkE5RTkxMTQyQkJCMkUwMDE3NzNCNyAvKiBK
U0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ0MEY4QUYwQTUwOEQyMDAw
MDVGMDYxIC8qIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklu
bGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRl
cklubGluZXMuaAppbmRleCAzNGVmNjMwMWVhNGQ4NGM1MWZhYTBlYzhmMGQ3ODRhZTUxYzlmNjJj
Li45ZWVjNjNjZWIwNzFiYzE0ODZhMDEyYzI4NTAxZGI2MjQyNmJkZTdiIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5s
aW5lcy5oCkBAIC0xNzU5LDcgKzE3NTksNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJz
dHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAg
ICAgICAgICAgCiAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgICAgICBmb3JOb2RlKG5v
ZGUpLnNldCgKLSAgICAgICAgICAgIG1fZ3JhcGgsIG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3RG
b3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKKyAg
ICAgICAgICAgIG1fZ3JhcGgsIG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3Jp
Z2luLnNlbWFudGljKS0+ZnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CiAgICAgICAgIGJyZWFrOwogCiAg
ICAgY2FzZSBOZXdHZW5lcmF0b3JGdW5jdGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggNGNmNGZkNDBkMTI3YTM1ZDA1ZGExYTZi
ZGU0NzE3OGJlNTk0MTY2YS4uYmJhYmUyNmFmOWZjYTEwMWFkOTEzNTUyMDFjMTQ3YjdlZDQ1ODY5
OCAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAKQEAgLTQ3LDcgKzQ3LDYgQEAKICNpbmNsdWRlICJKSVRNdWxHZW5lcmF0b3IuaCIKICNpbmNs
dWRlICJKSVRSaWdodFNoaWZ0R2VuZXJhdG9yLmgiCiAjaW5jbHVkZSAiSklUU3ViR2VuZXJhdG9y
LmgiCi0jaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTRW52aXJvbm1lbnRSZWNvcmQuaCIKICNpbmNsdWRlICJKU0dlbmVyYXRv
ckZ1bmN0aW9uLmgiCkBAIC01NDA5LDQyICs1NDA4LDE3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVOZXdGdW5jdGlvbihOb2RlKiBub2RlKQogICAgIEFTU0VSVChub2RlVHlwZSA9PSBO
ZXdGdW5jdGlvbiB8fCBub2RlVHlwZSA9PSBOZXdBcnJvd0Z1bmN0aW9uIHx8IG5vZGVUeXBlID09
IE5ld0dlbmVyYXRvckZ1bmN0aW9uKTsKICAgICAKICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBz
Y29wZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBHUFJS
ZWcgdGhpc1ZhbHVlR1BSOwotI2Vsc2UKLSAgICBHUFJSZWcgdGhpc1ZhbHVlUGF5bG9hZEdQUjsK
LSAgICBHUFJSZWcgdGhpc1ZhbHVlVGFnR1BSOwotI2VuZGlmCiAgICAgR1BSUmVnIHNjb3BlR1BS
ID0gc2NvcGUuZ3ByKCk7CiAKICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBu
b2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpOwogCi0gICAgaWYgKG5vZGVU
eXBlID09IE5ld0Fycm93RnVuY3Rpb24pIHsKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBT
cGVjdWxhdGVDZWxsT3BlcmFuZCB0aGlzVmFsdWUodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAg
ICAgICB0aGlzVmFsdWVHUFIgPSB0aGlzVmFsdWUuZ3ByKCk7Ci0jZWxzZQotICAgICAgICBKU1Zh
bHVlT3BlcmFuZCB0aGlzVmFsdWUodGhpcywgbm9kZS0+Y2hpbGQyKCksIE1hbnVhbE9wZXJhbmRT
cGVjdWxhdGlvbik7Ci0gICAgICAgIHRoaXNWYWx1ZVBheWxvYWRHUFIgPSB0aGlzVmFsdWUucGF5
bG9hZEdQUigpOwotICAgICAgICB0aGlzVmFsdWVUYWdHUFIgPSB0aGlzVmFsdWUudGFnR1BSKCk7
Ci0gICAgICAgIAotICAgICAgICBERkdfVFlQRV9DSEVDSyh0aGlzVmFsdWUuanNWYWx1ZVJlZ3Mo
KSwgbm9kZS0+Y2hpbGQyKCksIFNwZWNDZWxsLCBtX2ppdC5icmFuY2hJZk5vdENlbGwodGhpc1Zh
bHVlLmpzVmFsdWVSZWdzKCkpKTsKLSNlbmRpZgotICAgIH0KLQogICAgIGlmIChleGVjdXRhYmxl
LT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkgewogICAgICAgICBHUFJGbHVz
aGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAgICAgIEdQUlJlZyByZXN1bHRHUFIgPSBy
ZXN1bHQuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAg
ICAKLSAgICAgICAgaWYgKG5vZGVUeXBlID09IE5ld0Fycm93RnVuY3Rpb24pCi0jaWYgVVNFKEpT
VkFMVUU2NCkKLSAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5j
dGlvbiwgcmVzdWx0R1BSLCBzY29wZUdQUiwgZXhlY3V0YWJsZSwgdGhpc1ZhbHVlR1BSKTsKLSNl
bHNlCi0gICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24s
IHJlc3VsdEdQUiwgc2NvcGVHUFIsIGV4ZWN1dGFibGUsIHRoaXNWYWx1ZVRhZ0dQUiwgdGhpc1Zh
bHVlUGF5bG9hZEdQUik7Ci0jZW5kaWYKLSAgICAgICAgZWxzZSBpZiAobm9kZVR5cGUgPT0gTmV3
R2VuZXJhdG9yRnVuY3Rpb24pCisKKyAgICAgICAgaWYgKG5vZGVUeXBlID09IE5ld0dlbmVyYXRv
ckZ1bmN0aW9uKQogICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdHZW5lcmF0
b3JGdW5jdGlvbiwgcmVzdWx0R1BSLCBzY29wZUdQUiwgZXhlY3V0YWJsZSk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3RnVuY3Rpb24sIHJlc3Vs
dEdQUiwgc2NvcGVHUFIsIGV4ZWN1dGFibGUpOwpAQCAtNTQ1NCw3ICs1NDI4LDYgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5ld0Z1bmN0aW9uKE5vZGUqIG5vZGUpCiAgICAgfQogCiAg
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPQotICAgICAgICBub2RlVHlwZSA9PSBOZXdBcnJvd0Z1
bmN0aW9uID8gbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFu
dGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIDoKICAgICAgICAgbm9kZVR5cGUgPT0gTmV3
R2VuZXJhdG9yRnVuY3Rpb24gPyBtX2ppdC5ncmFwaCgpLmdsb2JhbE9iamVjdEZvcihub2RlLT5v
cmlnaW4uc2VtYW50aWMpLT5nZW5lcmF0b3JGdW5jdGlvblN0cnVjdHVyZSgpIDoKICAgICAgICAg
bV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+ZnVu
Y3Rpb25TdHJ1Y3R1cmUoKTsKICAgICAKQEAgLTU0NjgsNyArNTQ0MSw3IEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGVOZXdGdW5jdGlvbihOb2RlKiBub2RlKQogICAgIAogICAgIEpJVENv
bXBpbGVyOjpKdW1wTGlzdCBzbG93UGF0aDsKICAgICAKLSAgICBpZiAobm9kZVR5cGUgPT0gTmV3
RnVuY3Rpb24pIHsKKyAgICBpZiAobm9kZVR5cGUgPT0gTmV3RnVuY3Rpb24gfHwgbm9kZVR5cGUg
PT0gTmV3QXJyb3dGdW5jdGlvbikgewogICAgICAgICBjb21waWxlTmV3RnVuY3Rpb25Db21tb248
SlNGdW5jdGlvbj4ocmVzdWx0R1BSLCBzdHJ1Y3R1cmUsIHNjcmF0Y2gxR1BSLCBzY3JhdGNoMkdQ
Uiwgc2NvcGVHUFIsIHNsb3dQYXRoLCBKU0Z1bmN0aW9uOjphbGxvY2F0aW9uU2l6ZSgwKSwgZXhl
Y3V0YWJsZSwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZTY29wZUNoYWluKCksIEpTRnVuY3Rpb246Om9m
ZnNldE9mRXhlY3V0YWJsZSgpLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpOwogICAg
ICAgICAgICAgCiAgICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRoQ2FsbChzbG93
UGF0aCwgdGhpcywgb3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRp
b25XYXRjaHBvaW50LCByZXN1bHRHUFIsIHNjb3BlR1BSLCBleGVjdXRhYmxlKSk7CkBAIC01NDc5
LDE5ICs1NDUyLDYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5ld0Z1bmN0aW9uKE5v
ZGUqIG5vZGUpCiAKICAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Ioc2xvd1BhdGhDYWxsKHNs
b3dQYXRoLCB0aGlzLCBvcGVyYXRpb25OZXdHZW5lcmF0b3JGdW5jdGlvbldpdGhJbnZhbGlkYXRl
ZFJlYWxsb2NhdGlvbldhdGNocG9pbnQsIHJlc3VsdEdQUiwgc2NvcGVHUFIsIGV4ZWN1dGFibGUp
KTsKICAgICB9Ci0gICAgCi0gICAgaWYgKG5vZGVUeXBlID09IE5ld0Fycm93RnVuY3Rpb24pIHsK
LSAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uQ29tbW9uPEpTQXJyb3dGdW5jdGlvbj4ocmVzdWx0
R1BSLCBzdHJ1Y3R1cmUsIHNjcmF0Y2gxR1BSLCBzY3JhdGNoMkdQUiwgc2NvcGVHUFIsIHNsb3dQ
YXRoLCBKU0Fycm93RnVuY3Rpb246OmFsbG9jYXRpb25TaXplKDApLCBleGVjdXRhYmxlLCBKU0Fy
cm93RnVuY3Rpb246Om9mZnNldE9mU2NvcGVDaGFpbigpLCBKU0Fycm93RnVuY3Rpb246Om9mZnNl
dE9mRXhlY3V0YWJsZSgpLCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSk7Ci0j
aWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgbV9qaXQuc3RvcmVQdHIodGhpc1ZhbHVlR1BSLCBK
SVRDb21waWxlcjo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZU
aGlzVmFsdWUoKSkpOwotICAgICAgICBhZGRTbG93UGF0aEdlbmVyYXRvcihzbG93UGF0aENhbGwo
c2xvd1BhdGgsIHRoaXMsIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRS
ZWFsbG9jYXRpb25XYXRjaHBvaW50LCByZXN1bHRHUFIsIHNjb3BlR1BSLCBleGVjdXRhYmxlLCB0
aGlzVmFsdWVHUFIpKTsKLSNlbHNlCi0gICAgICAgIG1faml0LnN0b3JlMzIodGhpc1ZhbHVlVGFn
R1BSLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTQXJyb3dGdW5jdGlvbjo6
b2Zmc2V0T2ZUaGlzVmFsdWUoKSArIFRhZ09mZnNldCkpOwotICAgICAgICBtX2ppdC5zdG9yZTMy
KHRoaXNWYWx1ZVBheWxvYWRHUFIsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHJlc3VsdEdQUiwg
SlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlRoaXNWYWx1ZSgpICsgUGF5bG9hZE9mZnNldCkpOwot
ICAgICAgICAKLSAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Ioc2xvd1BhdGhDYWxsKHNsb3dQ
YXRoLCB0aGlzLCBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxv
Y2F0aW9uV2F0Y2hwb2ludCwgcmVzdWx0R1BSLCBzY29wZUdQUiwgZXhlY3V0YWJsZSwgdGhpc1Zh
bHVlVGFnR1BSLCB0aGlzVmFsdWVQYXlsb2FkR1BSKSk7Ci0jZW5kaWYKLSAgICB9CiAKICAgICBj
ZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwCmluZGV4
IDQzNDVmZjJjYzdkNjcxZDRiODUyNWVkY2Q5NTc0YWVlMWNmN2ZlMmIuLjJjMDU1OTg0OTg5OWJk
ZjZmYjExMTc1OTdlMTA1NGJmZjM1NDY2OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwCkBAIC0x
NDEsNyArMTQxLDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICByZWdpc3RlclN0cnVj
dHVyZShtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5yZWdF
eHBTdHJ1Y3R1cmUoKSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKLSAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJT
dHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+
YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJT
dHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+
ZnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVy
U3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYykt
PmZ1bmN0aW9uU3RydWN0dXJlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKaW5kZXggOWVhMWUxNDMwYmQxMzUw
ZjVhODU1Mzc1MmEzNjUxOWI3NTg0MWU3Zi4uOTdjMDc4NGJiNDJiYzkxOWQwNmNmNTIzYzQxZTAy
NDZhNTM1MWQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0
cmFjdEhlYXBSZXBvc2l0b3J5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAi
RGlyZWN0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiRlRMQWJicmV2aWF0aW9ucy5oIgogI2luY2x1
ZGUgIkdldHRlclNldHRlci5oIgotI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1
ZGUgIkpTRW52aXJvbm1lbnRSZWNvcmQuaCIKICNpbmNsdWRlICJKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IuaCIKICNpbmNsdWRlICJKU1Njb3BlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCmluZGV4IDRhOTE0MjViMjYy
ODEzMjc5NWMxZTQ4ODY4ZmM4YmU3NWY3Mjk2OWYuLjc3ZTU3OTg2OTQwYzZhYzk2Zjg3ZjFmOTQ1
YzQ2MjUxMjg4NjMwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
QWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCkBAIC04NywxMSArODcsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAgICAgbWFjcm8oU3RydWN0dXJlX2dsb2JhbE9iamVjdCwg
U3RydWN0dXJlOjpnbG9iYWxPYmplY3RPZmZzZXQoKSkgXAogICAgIG1hY3JvKFN0cnVjdHVyZV9w
cm90b3R5cGUsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpIFwKICAgICBtYWNybyhTdHJ1
Y3R1cmVfc3RydWN0dXJlSUQsIFN0cnVjdHVyZTo6c3RydWN0dXJlSURPZmZzZXQoKSkgXAotICAg
IG1hY3JvKFN5bWJvbF9wcml2YXRlTmFtZSwgU3ltYm9sOjpvZmZzZXRPZlByaXZhdGVOYW1lKCkp
IFwKLSAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fZXhlY3V0YWJsZSwgSlNBcnJvd0Z1bmN0aW9u
OjpvZmZzZXRPZkV4ZWN1dGFibGUoKSkgXAotICAgIG1hY3JvKEpTQXJyb3dGdW5jdGlvbl9zY29w
ZSwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlNjb3BlQ2hhaW4oKSkgXAotICAgIG1hY3JvKEpT
QXJyb3dGdW5jdGlvbl9yYXJlRGF0YSwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRh
KCkpIFwKLSAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fdGhpcywgSlNBcnJvd0Z1bmN0aW9uOjpv
ZmZzZXRPZlRoaXNWYWx1ZSgpKQorICAgIG1hY3JvKFN5bWJvbF9wcml2YXRlTmFtZSwgU3ltYm9s
OjpvZmZzZXRPZlByaXZhdGVOYW1lKCkpCiAKICNkZWZpbmUgRk9SX0VBQ0hfSU5ERVhFRF9BQlNU
UkFDVF9IRUFQKG1hY3JvKSBcCiAgICAgbWFjcm8oRGlyZWN0QXJndW1lbnRzX3N0b3JhZ2UsIERp
cmVjdEFyZ3VtZW50czo6c3RvcmFnZU9mZnNldCgpLCBzaXplb2YoRW5jb2RlZEpTVmFsdWUpKSBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZN
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCmlu
ZGV4IDI1MjU2MzI3MzExMDg5YjhjY2ZmZDFiZWFhYzNlYmNmYTI3ZDczNzQuLjE5MjJjNTYxNDQ3
MWZiZmJlNGNkYmQ4M2RhYTFmZjAxMDFkYjYxM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBAIC02MCw3ICs2MCw2IEBACiAjaW5jbHVk
ZSAiSklUTXVsR2VuZXJhdG9yLmgiCiAjaW5jbHVkZSAiSklUUmlnaHRTaGlmdEdlbmVyYXRvci5o
IgogI2luY2x1ZGUgIkpJVFN1YkdlbmVyYXRvci5oIgotI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlv
bi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0dlbmVyYXRvckZ1bmN0
aW9uLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKQEAgLTM2NDIsMTYgKzM2
NDEsMTMgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbXBpbGVOZXdGdW5jdGlvbigpCiAgICAgewog
ICAgICAgICBBU1NFUlQobV9ub2RlLT5vcCgpID09IE5ld0Z1bmN0aW9uIHx8IG1fbm9kZS0+b3Ao
KSA9PSBOZXdBcnJvd0Z1bmN0aW9uIHx8IG1fbm9kZS0+b3AoKSA9PSBOZXdHZW5lcmF0b3JGdW5j
dGlvbik7Ci0gICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gbV9ub2RlLT5vcCgpID09IE5l
d0Fycm93RnVuY3Rpb247CiAgICAgICAgIGJvb2wgaXNHZW5lcmF0b3JGdW5jdGlvbiA9IG1fbm9k
ZS0+b3AoKSA9PSBOZXdHZW5lcmF0b3JGdW5jdGlvbjsKICAgICAgICAgCiAgICAgICAgIExWYWx1
ZSBzY29wZSA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgIExWYWx1ZSB0aGlz
VmFsdWUgPSBpc0Fycm93RnVuY3Rpb24gPyBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQyKCkpIDogbnVs
bHB0cjsKICAgICAgICAgCiAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9
IG1fbm9kZS0+Y2FzdE9wZXJhbmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4oKTsKICAgICAgICAgaWYg
KGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKSB7CiAgICAg
ICAgICAgICBMVmFsdWUgY2FsbFJlc3VsdCA9Ci0gICAgICAgICAgICAgICAgaXNBcnJvd0Z1bmN0
aW9uID8gdm1DYWxsKG1fb3V0LmludDY0LCBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJy
b3dGdW5jdGlvbiksIG1fY2FsbEZyYW1lLCBzY29wZSwgd2Vha1BvaW50ZXIoZXhlY3V0YWJsZSks
IHRoaXNWYWx1ZSkgOgogICAgICAgICAgICAgICAgIGlzR2VuZXJhdG9yRnVuY3Rpb24gPyB2bUNh
bGwobV9vdXQuaW50NjQsIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdHZW5lcmF0b3JGdW5j
dGlvbiksIG1fY2FsbEZyYW1lLCBzY29wZSwgd2Vha1BvaW50ZXIoZXhlY3V0YWJsZSkpIDoKICAg
ICAgICAgICAgICAgICB2bUNhbGwobV9vdXQuaW50NjQsIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRp
b25OZXdGdW5jdGlvbiksIG1fY2FsbEZyYW1lLCBzY29wZSwgd2Vha1BvaW50ZXIoZXhlY3V0YWJs
ZSkpOwogICAgICAgICAgICAgc2V0SlNWYWx1ZShjYWxsUmVzdWx0KTsKQEAgLTM2NTksNyArMzY1
NSw2IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0KLSAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA/IG1fZ3JhcGguZ2xvYmFs
T2JqZWN0Rm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVy
ZSgpIDoKICAgICAgICAgICAgIGlzR2VuZXJhdG9yRnVuY3Rpb24gPyBtX2dyYXBoLmdsb2JhbE9i
amVjdEZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmdlbmVyYXRvckZ1bmN0aW9uU3RydWN0
dXJlKCkgOgogICAgICAgICAgICAgbV9ncmFwaC5nbG9iYWxPYmplY3RGb3IobV9ub2RlLT5vcmln
aW4uc2VtYW50aWMpLT5mdW5jdGlvblN0cnVjdHVyZSgpOwogICAgICAgICAKQEAgLTM2NjksMjAg
KzM2NjQsMTUgQEAgcHJpdmF0ZToKICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291
dC5pbnNlcnROZXdCbG9ja3NCZWZvcmUoc2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAgTFZh
bHVlIGZhc3RPYmplY3QgPQotICAgICAgICAgICAgaXNBcnJvd0Z1bmN0aW9uID8gYWxsb2NhdGVP
YmplY3Q8SlNBcnJvd0Z1bmN0aW9uPihzdHJ1Y3R1cmUsIG1fb3V0LmludFB0clplcm8sIHNsb3dQ
YXRoKSA6CiAgICAgICAgICAgICBpc0dlbmVyYXRvckZ1bmN0aW9uID8gYWxsb2NhdGVPYmplY3Q8
SlNHZW5lcmF0b3JGdW5jdGlvbj4oc3RydWN0dXJlLCBtX291dC5pbnRQdHJaZXJvLCBzbG93UGF0
aCkgOgogICAgICAgICAgICAgYWxsb2NhdGVPYmplY3Q8SlNGdW5jdGlvbj4oc3RydWN0dXJlLCBt
X291dC5pbnRQdHJaZXJvLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICAKICAgICAgICAg
Ly8gV2UgZG9uJ3QgbmVlZCBtZW1vcnkgYmFycmllcnMgc2luY2Ugd2UganVzdCBmYXN0LWNyZWF0
ZWQgdGhlIGZ1bmN0aW9uLCBzbyBpdAogICAgICAgICAvLyBtdXN0IGJlIHlvdW5nLgotICAgICAg
ICBtX291dC5zdG9yZVB0cihzY29wZSwgZmFzdE9iamVjdCwgaXNBcnJvd0Z1bmN0aW9uID8gbV9o
ZWFwcy5KU0Fycm93RnVuY3Rpb25fc2NvcGUgOiBtX2hlYXBzLkpTRnVuY3Rpb25fc2NvcGUpOwot
ICAgICAgICBtX291dC5zdG9yZVB0cih3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgZmFzdE9iamVj
dCwgaXNBcnJvd0Z1bmN0aW9uID8gIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX2V4ZWN1dGFibGUg
OiBtX2hlYXBzLkpTRnVuY3Rpb25fZXhlY3V0YWJsZSk7Ci0gICAgICAgIAotICAgICAgICBpZiAo
aXNBcnJvd0Z1bmN0aW9uKQotICAgICAgICAgICAgbV9vdXQuc3RvcmVQdHIodGhpc1ZhbHVlLCBm
YXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dGdW5jdGlvbl90aGlzKTsKLSAgICAgICAgCi0gICAg
ICAgIG1fb3V0LnN0b3JlUHRyKG1fb3V0LmludFB0clplcm8sIGZhc3RPYmplY3QsIGlzQXJyb3dG
dW5jdGlvbiA/ICBtX2hlYXBzLkpTQXJyb3dGdW5jdGlvbl9yYXJlRGF0YSA6IG1faGVhcHMuSlNG
dW5jdGlvbl9yYXJlRGF0YSk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHNjb3BlLCBmYXN0T2Jq
ZWN0LCBtX2hlYXBzLkpTRnVuY3Rpb25fc2NvcGUpOworICAgICAgICBtX291dC5zdG9yZVB0cih3
ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Z1bmN0aW9uX2V4
ZWN1dGFibGUpOworICAgICAgICBtX291dC5zdG9yZVB0cihtX291dC5pbnRQdHJaZXJvLCBmYXN0
T2JqZWN0LCBtX2hlYXBzLkpTRnVuY3Rpb25fcmFyZURhdGEpOwogICAgICAgICAKICAgICAgICAg
VmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0LmFuY2hvcihmYXN0T2JqZWN0KTsKICAg
ICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOwpAQCAtMzY5MSwxNiArMzY4MSw4IEBAIHBy
aXZhdGU6CiAKICAgICAgICAgVmVjdG9yPExWYWx1ZT4gc2xvd1BhdGhBcmd1bWVudHM7CiAgICAg
ICAgIHNsb3dQYXRoQXJndW1lbnRzLmFwcGVuZChzY29wZSk7Ci0gICAgICAgIGlmIChpc0Fycm93
RnVuY3Rpb24pCi0gICAgICAgICAgICBzbG93UGF0aEFyZ3VtZW50cy5hcHBlbmQodGhpc1ZhbHVl
KTsKICAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSBsYXp5U2xvd1BhdGgoCiAgICAgICAgICAg
ICBbPV0gKGNvbnN0IFZlY3RvcjxMb2NhdGlvbj4mIGxvY2F0aW9ucykgLT4gUmVmUHRyPExhenlT
bG93UGF0aDo6R2VuZXJhdG9yPiB7Ci0gICAgICAgICAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlv
bikgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3JlYXRlTGF6eUNhbGxHZW5lcmF0b3Io
Ci0gICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aElu
dmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGxvY2F0aW9uc1swXS5kaXJlY3RHUFIoKSwgbG9jYXRpb25zWzFdLmRpcmVjdEdQUigpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGV4ZWN1dGFi
bGUpLCBsb2NhdGlvbnNbMl0uZGlyZWN0R1BSKCkpOwotICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICBpZiAoaXNHZW5lcmF0b3JGdW5jdGlvbikgewogICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gY3JlYXRlTGF6eUNhbGxHZW5lcmF0b3IoCiAgICAgICAgICAgICAgICAgICAgICAg
ICBvcGVyYXRpb25OZXdHZW5lcmF0b3JGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlv
bldhdGNocG9pbnQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAppbmRleCBhMmE5NDgwODI2NzlkOGRiMzZiYjE0MDBlYzliMDgzYzNlMmFh
YWUzLi43MTUxYmM2YzY4ZDc2YjQ5OGUwZDY2NmJmYTVlOTYyMDU2NzNiYjcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ0
LDcgKzQ0LDYgQEAKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCiAjaW5jbHVkZSAiR2V0
dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgotI2luY2x1ZGUgIkpTQXJyb3dGdW5j
dGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGlu
ZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAppbmRleCAzNDNiMDJjYmFlNzM1
NGY2ZTk4YzFjMjg5MmFmMmE2ZGUzZWMwZmQyLi5hYmE3NDVmMTc2MDI4ZjBmM2VmZGIxNjRjMTJk
OWVhNzU3MzFkMGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2RlZmluZSBJbnRlcnByZXRlcl9oCiAK
ICNpbmNsdWRlICJBcmdMaXN0LmgiCi0jaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5j
bHVkZSAiSlNDSlNWYWx1ZS5oIgogI2luY2x1ZGUgIkpTQ2VsbC5oIgogI2luY2x1ZGUgIkpTT2Jq
ZWN0LmgiCkBAIC01MSw3ICs1MCw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEV4ZWN1
dGFibGVCYXNlOwogICAgIGNsYXNzIEZ1bmN0aW9uRXhlY3V0YWJsZTsKICAgICBjbGFzcyBWTTsK
LSAgICBjbGFzcyBKU0Fycm93RnVuY3Rpb247CiAgICAgY2xhc3MgSlNGdW5jdGlvbjsKICAgICBj
bGFzcyBKU0dsb2JhbE9iamVjdDsKICAgICBjbGFzcyBKU01vZHVsZUVudmlyb25tZW50OwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKaW5kZXggNDFlMDViNjUxNTZlNmFk
NDkxZTRkOTgwYWFlYjA0ODU3ZjI1NGNhMy4uNzk1ZjI5ZTllMGIyYTcyODNkNmUyZWNmYTZjY2E5
ODFmYmQwYWJjYyAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNv
ZGVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCkBA
IC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiSGVhcC5oIgogI2luY2x1ZGUgIkpJVElubGluZXMu
aCIKICNpbmNsdWRlICJKU0FycmF5LmgiCi0jaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAj
aW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpT
UHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGNvZGVzMzJfNjQuY3BwCmluZGV4IDBlNDkwODcwYjQ3NmM2ZjUyODFmYmJiZDgwODllYjE2
OGI1ZTRjODEuLmI1ZmM2NjQ4YTQ1N2VmYWVkODljOTcyZDliYjc1YWY4ZmM1OTE1YjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKQEAgLTM1LDcg
KzM1LDYgQEAKICNpbmNsdWRlICJFeGNlcHRpb24uaCIKICNpbmNsdWRlICJKSVRJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNBcnJheS5oIgotI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2lu
Y2x1ZGUgIkpTQ2VsbC5oIgogI2luY2x1ZGUgIkpTRW52aXJvbm1lbnRSZWNvcmQuaCIKICNpbmNs
dWRlICJKU0Z1bmN0aW9uLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRp
b25zLmNwcAppbmRleCA0YWFiZmYxMGU1ODA4MDliODZkZGQ1NzZmMWE2MGEzZDg4YjJiOWQ4Li4x
ZjUxNjY3MTBjZjEzZDI3M2UwZjRiZDhmOGQ4NmQzNDI0YWQ1MGNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTQzLDcgKzQzLDYgQEAKICNpbmNs
dWRlICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAi
SklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKLSNpbmNsdWRlICJKU0Fycm93
RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNHZW5lcmF0
b3JGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmgiCkBAIC0x
MDIzLDMwICsxMDIyLDYgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25O
ZXdHZW5lcmF0b3JGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2MKICAgICByZXR1cm4gb3Bl
cmF0aW9uTmV3RnVuY3Rpb25Db21tb248SlNHZW5lcmF0b3JGdW5jdGlvbj4oZXhlYywgc2NvcGUs
IGZ1bmN0aW9uRXhlY3V0YWJsZSwgdHJ1ZSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIHN0YXRpYyBv
cGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uQ29tbW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSog
c2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIGJvb2wgaXNJbnZhbGlkYXRlZCkKLXsKLSAgICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxl
LT5pbmhlcml0cyhGdW5jdGlvbkV4ZWN1dGFibGU6OmluZm8oKSkpOwotICAgIEZ1bmN0aW9uRXhl
Y3V0YWJsZSogZXhlY3V0YWJsZSA9IHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1
bmN0aW9uRXhlY3V0YWJsZSk7Ci0gICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgICAgIAotICAgIEpTQXJyb3dG
dW5jdGlvbiogYXJyb3dGdW5jdGlvbiAgPSBpc0ludmFsaWRhdGVkCi0gICAgICAgID8gSlNBcnJv
d0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KHZt
LCBleGVjdXRhYmxlLCBzY29wZSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpCi0gICAgICAg
IDogSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBKU1ZhbHVl
OjpkZWNvZGUodGhpc1ZhbHVlKSk7Ci0gICAgCi0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShh
cnJvd0Z1bmN0aW9uKTsKLX0KLSAgICAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3QXJyb3dGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9p
bnQoRXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1
dGFibGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKLXsKLSAgICByZXR1cm4gb3BlcmF0aW9u
TmV3QXJyb3dGdW5jdGlvbkNvbW1vbihleGVjLCBzY29wZSwgZnVuY3Rpb25FeGVjdXRhYmxlLCB0
aGlzVmFsdWUsIHRydWUpOwotfQotICAgIAotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUs
IEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCi17
Ci0gICAgcmV0dXJuIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25Db21tb24oZXhlYywgc2NvcGUs
IGZ1bmN0aW9uRXhlY3V0YWJsZSwgdGhpc1ZhbHVlLCBmYWxzZSk7Ci19Ci0KIEpTQ2VsbCogSklU
X09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5kZXggNzBlM2ZjODM3MmI2NDlhMTI2ODIwYmZi
YjYyZTA1ZDE5N2Q3MzBhNC4uZGVmZDVmNzI2ODU1ZWRlNDY2ZjBhYTA5OTU5ZTJiZDM3MzJlNDk4
ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKQEAgLTMwNSw4
ICszMDUsNiBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0
aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKQogRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldh
dGNocG9pbnQoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3R2VuZXJhdG9yRnVuY3Rpb24o
RXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3R2VuZXJhdG9yRnVuY3Rpb25XaXRoSW52YWxp
ZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwq
KSBXVEZfSU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1Zh
bHVlKSBXVEZfSU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk5ld0Fycm93RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4
ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFM
OwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBT
dHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogVW51c2Vk
UHRyIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVjU3RhdGUq
KSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRPZmZzZXRzRXh0cmFjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludE9mZnNldHNFeHRyYWN0b3IuY3BwCmluZGV4IGZjMGYwMzE2ODc3NzkyMjlhMmVkZTFmYzdk
ODc1MGYzZTgwZTRiN2UuLjJiNGU2MTk4NmQzMTJhYzllNGY4NzM3M2NlN2FhMGI5ZmQwY2U3NWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZnNldHNFeHRy
YWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZnNldHNF
eHRyYWN0b3IuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiSGVhcC5oIgogI2luY2x1
ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgotI2luY2x1ZGUgIkpTQXJy
b3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ2VsbC5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24u
aCIKICNpbmNsdWRlICJWTS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5jcHAKaW5kZXggMGE0NzFjYjBlNDJmNThhNDQ2ODIzYjdmMWIzYWFiZDJjZTQx
OTBjYS4uMGI1NjIzZDJjNzFjNDE3ZTJhYzU1NjIxNWVlYmQ4NTc5NzJhN2Q4MiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOSw3ICsz
OSw2IEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNs
dWRlICJKSVRFeGNlcHRpb25zLmgiCi0jaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5j
bHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4
YzZmYTZhYjk2NmZjZWUzZGVjODRhZGE0ZWI3MDU5YjRlYjViYTQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJvd0Z1bmN0aW9uLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQWxla3NhbmRyIFNrYWNoa292IDxnc2thY2hrb3ZAZ21h
aWwuY29tPi4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lu
Y2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgotCi0jaW5jbHVk
ZSAiRXJyb3IuaCIKLSNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCi0jaW5jbHVkZSAiSlND
SW5saW5lcy5oIgotI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKLSNpbmNsdWRlICJKU0Z1bmN0aW9u
LmgiCi0jaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKLSNpbmNsdWRlICJKU09iamVjdC5o
IgotI2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgotI2luY2x1ZGUgIlZNLmgiCi0KLW5hbWVzcGFj
ZSBKU0MgewotCi1jb25zdCBDbGFzc0luZm8gSlNBcnJvd0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJB
cnJvd0Z1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0Fy
cm93RnVuY3Rpb24pIH07Ci0KLUpTQXJyb3dGdW5jdGlvbiogSlNBcnJvd0Z1bmN0aW9uOjpjcmVh
dGUoVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHNjb3Bl
LCBKU1ZhbHVlIGJvdW5kVGhpcykKLXsKLSAgICBKU0Fycm93RnVuY3Rpb24qIHJlc3VsdCA9IGNy
ZWF0ZUltcGwodm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBib3VuZFRoaXMpOwotICAgIGV4ZWN1dGFi
bGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCktPm5vdGlmeVdyaXRlKHZtLCByZXN1bHQsICJBbGxvY2F0
aW5nIGFuIGFycm93IGZ1bmN0aW9uIik7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotSlNBcnJv
d0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4
ZWN1dGFibGUsIEpTU2NvcGUqIHNjb3BlLCBKU1ZhbHVlIGJvdW5kVGhpcykKLSAgICA6IEJhc2Uo
dm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBzY29wZS0+Z2xvYmFsT2JqZWN0KCktPmFycm93RnVuY3Rp
b25TdHJ1Y3R1cmUoKSkKLSAgICAsIG1fYm91bmRUaGlzKHZtLCB0aGlzLCBib3VuZFRoaXMpCi17
Ci19Ci0KLUpTQXJyb3dGdW5jdGlvbiogSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxp
ZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBl
eGVjdXRhYmxlLCBKU1Njb3BlKiBzY29wZSwgSlNWYWx1ZSBib3VuZFRoaXMpCi17Ci0gICAgQVNT
RVJUKGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgp
KTsKLSAgICByZXR1cm4gY3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSwgYm91bmRUaGlzKTsK
LX0KLQotdm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBT
bG90VmlzaXRvciYgdmlzaXRvcikKLXsKLSAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3Qg
PSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7Ci0gICAgQVNTRVJUX0dDX09CSkVDVF9J
TkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOwotICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhp
c09iamVjdCwgdmlzaXRvcik7Ci0KLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9i
b3VuZFRoaXMpOwotfQotCi1Db25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3Ry
dWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJikKLXsKLSAgICByZXR1cm4gQ29uc3RydWN0
VHlwZU5vbmU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYTk1YTNmOTU2NDZhN2FiNGUxN2U3YjkyYjU4NjdmMzdmYTQ0MTQyYi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQWxla3NhbmRyIFNrYWNoa292IDxnc2thY2hr
b3ZAZ21haWwuY29tPi4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2lmbmRlZiBKU0Fycm93RnVuY3Rpb25faAotI2RlZmluZSBKU0Fycm93RnVuY3Rpb25faAot
Ci0jaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgotI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCi0K
LW5hbWVzcGFjZSBKU0MgewotICAgIAotY2xhc3MgSlNHbG9iYWxPYmplY3Q7Ci1jbGFzcyBMTElu
dE9mZnNldHNFeHRyYWN0b3I7Ci1jbGFzcyBMTEludERlc2lyZWRPZmZzZXRzOwotICAgIAotY2xh
c3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24gewotICAgIGZyaWVuZCBjbGFz
cyBKSVQ7Ci0jaWYgRU5BQkxFKERGR19KSVQpCi0gICAgZnJpZW5kIGNsYXNzIERGRzo6U3BlY3Vs
YXRpdmVKSVQ7Ci0gICAgZnJpZW5kIGNsYXNzIERGRzo6SklUQ29tcGlsZXI7Ci0jZW5kaWYKLSAg
ICBmcmllbmQgY2xhc3MgVk07Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7
Ci0KLSAgICBzdGF0aWMgSlNBcnJvd0Z1bmN0aW9uKiBjcmVhdGUoVk0mLCBGdW5jdGlvbkV4ZWN1
dGFibGUqLCBKU1Njb3BlKiwgSlNWYWx1ZSk7Ci0gICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiog
Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChWTSYsIEZ1bmN0aW9u
RXhlY3V0YWJsZSosIEpTU2NvcGUqLCBKU1ZhbHVlKTsKLQotICAgIHN0YXRpYyBzaXplX3QgYWxs
b2NhdGlvblNpemUoc2l6ZV90IGlubGluZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJU
X1VOVVNFRChpbmxpbmVDYXBhY2l0eSwgIWlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgcmV0dXJu
IHNpemVvZihKU0Fycm93RnVuY3Rpb24pOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgSlNBcnJv
d0Z1bmN0aW9uKiBjcmVhdGVJbXBsKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRh
YmxlLCBKU1Njb3BlKiBzY29wZSwgSlNWYWx1ZSBib3VuZFRoaXMpCi0gICAgewotICAgICAgICBK
U0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNB
cnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBleGVjdXRhYmxlLCBz
Y29wZSwgYm91bmRUaGlzKTsKLSAgICAgICAgQVNTRVJUKGZ1bmN0aW9uLT5zdHJ1Y3R1cmUoKS0+
Z2xvYmFsT2JqZWN0KCkpOwotICAgICAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0pOwot
ICAgICAgICByZXR1cm4gZnVuY3Rpb247Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBDb25zdHJ1
Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwotCi0gICAg
SlNWYWx1ZSBib3VuZFRoaXMoKSB7IHJldHVybiBtX2JvdW5kVGhpcy5nZXQoKTsgfQotICAgIAot
ICAgIERFQ0xBUkVfRVhQT1JUX0lORk87Ci0gICAgCi0gICAgc3RhdGljIFN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1
ZSBwcm90b3R5cGUpCi0gICAgewotICAgICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsKLSAgICAg
ICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
VHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKLSAgICB9
Ci0gICAgCi0gICAgc3RhdGljIGlubGluZSBwdHJkaWZmX3Qgb2Zmc2V0T2ZUaGlzVmFsdWUoKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU0Fycm93RnVuY3Rpb24sIG1f
Ym91bmRUaGlzKTsKLSAgICB9Ci0gICAgCi0gICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7Ci0KLXByb3RlY3RlZDoKLSAgICBzdGF0
aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7Ci0gICAgICAgIAot
cHJpdmF0ZToKLSAgICBKU0Fycm93RnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBK
U1Njb3BlKiwgSlNWYWx1ZSk7Ci0gICAgCi0gICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4
dHJhY3RvcjsKLSAgICAKLSAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4gbV9ib3VuZFRoaXM7Ci19
OwotICAgIAotfSAvLyBuYW1lc3BhY2UgSlNDCi0KLSNlbmRpZiAvLyBKU0Fycm93RnVuY3Rpb25f
aApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
CmluZGV4IDdkODk3M2QzZGMyZjlhNDQ1ZjU3ODgwMmUyOTBkZmM5MDg4NDliMGEuLjhiYzkxOTBj
NThjMzY1YzY3YzFlZmFkMzU2MDJhMGU5NjJhMDcxNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTYzLDcgKzYzLDYgQEAKICNp
bmNsdWRlICJKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJKU0FycmF5QnVm
ZmVyUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiSlNBcnJheUl0ZXJhdG9yLmgiCi0jaW5jbHVkZSAi
SlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVk
ZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIgpAQCAt
Mjc5LDcgKzI3OCw2IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIGV4
ZWMtPnNldENhbGxlZShtX2dsb2JhbENhbGxlZS5nZXQoKSk7CiAKICAgICBtX2Z1bmN0aW9uU3Ry
dWN0dXJlLnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlz
LCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7Ci0gICAgbV9hcnJvd0Z1bmN0aW9uU3RydWN0
dXJlLnNldCh2bSwgdGhpcywgSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRo
aXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1
Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwg
dGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmF0aXZlU3RkRnVuY3Rp
b25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU05hdGl2ZVN0ZEZ1bmN0aW9uOjpjcmVhdGVTdHJ1
Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKICAgICBtX25hbWVk
RnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJh
bnNpdGlvbih2bSwgbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKSwgdm0ucHJvcGVydHlOYW1lcy0+
bmFtZSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0sIG1fZnVuY3Rpb25OYW1lT2Zm
c2V0KSk7CkBAIC04ODYsNyArODg0LDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGls
ZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX2NhbGxlZVN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQo
JnRoaXNPYmplY3QtPm1fZnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0
aGlzT2JqZWN0LT5tX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUpOwotICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX25hdGl2ZVN0ZEZ1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNp
dG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2
aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9zeW1ib2xPYmplY3RTdHJ1Y3R1cmUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggMGY1
OGQ5MWNiNDAwZDQxZDM3YmYzNzcyYjYxNmY3YTIzMWY3ZmVhNi4uNTdlM2E3ODYzNjA4MmQwMzkz
MTczMzgxOWIwN2U2NDIwNmQwYzM3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0yNjIsNyArMjYyLDYgQEAgcHJvdGVjdGVkOgogICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGVlU3RydWN0dXJlOwogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlOwotICAgIFdyaXRlQmFycmllcjxTdHJ1
Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPiBtX25hdGl2ZVN0ZEZ1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1
Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1
bmN0aW9uTmFtZU9mZnNldDsKQEAgLTUxMSw3ICs1MTAsNiBAQCBwdWJsaWM6CiAgICAgU3RydWN0
dXJlKiBjYWxsZWVTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxlZVN0cnVjdHVyZS5n
ZXQoKTsgfQogICAgIFN0cnVjdHVyZSogZnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVy
biBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBib3VuZEZ1bmN0
aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLmdl
dCgpOyB9Ci0gICAgU3RydWN0dXJlKiBhcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyBy
ZXR1cm4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBu
YXRpdmVTdGRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlU3RkRnVu
Y3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIG5hbWVkRnVuY3Rpb25TdHJ1
Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0K
ICAgICBQcm9wZXJ0eU9mZnNldCBmdW5jdGlvbk5hbWVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBt
X2Z1bmN0aW9uTmFtZU9mZnNldDsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>