<?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>44621</bug_id>
          
          <creation_ts>2010-08-25 10:39:54 -0700</creation_ts>
          <short_desc>Remove XBL</short_desc>
          <delta_ts>2010-08-25 13:24:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>269335</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-25 10:39:54 -0700</bug_when>
    <thetext>Remove XBL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269338</commentid>
    <comment_count>1</comment_count>
      <attachid>65435</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-25 10:42:26 -0700</bug_when>
    <thetext>Created attachment 65435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269451</commentid>
    <comment_count>2</comment_count>
      <attachid>65435</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-25 13:09:25 -0700</bug_when>
    <thetext>Comment on attachment 65435
Patch

1 of 1 dave hyatts agree.  This code should die.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269465</commentid>
    <comment_count>3</comment_count>
      <attachid>65435</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-25 13:24:14 -0700</bug_when>
    <thetext>Comment on attachment 65435
Patch

Clearing flags on attachment: 65435

Committed r66037: &lt;http://trac.webkit.org/changeset/66037&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269466</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-25 13:24:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65435</attachid>
            <date>2010-08-25 10:42:26 -0700</date>
            <delta_ts>2010-08-25 13:24:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44621-20100825104224.patch</filename>
            <type>text/plain</type>
            <size>43436</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjAyMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTkgQEAKKzIwMTAtMDgtMjUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmUgWEJMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NDYyMQorCisgICAgICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyBzdXBwb3J0IGZvciBYQkwuICBYQkwg
c2VlbXMgY29vbCwgYnV0IHRoaXMgY29kZSBpcworICAgICAgICBvbGQgYW5kIHByZXR0eSBiaXRy
b3R0ZW4uICBJZiB3ZSBkZWNpZGUgdG8gc3VwcG9ydCBYQkwgaW4gdGhlIGZ1dHVyZSwKKyAgICAg
ICAgd2UgY2FuIHJlY292ZXIgdGhpcyBjb2RlIGZyb20gdGhpcyByZXZpc2lvbi4gIEFzIGl0IHN0
YW5kcywgaXQgZG9lc24ndAorICAgICAgICBzZWVtIHdvcnRoIGhhbGYtbWFpbnRhaW5pbmcgdGhp
cyBjb2RlLgorCisgICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToK
KyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAg
ICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5
bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6fkRvY3VtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAg
ICAgKiBsb2FkZXIvQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlUmVzb3VyY2Up
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OmdldFN0YXRpc3RpY3MpOgorICAgICAgICAqIGxv
YWRlci9DYWNoZS5oOgorICAgICAgICAqIGxvYWRlci9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6Oik6CisgICAgICAgICogbG9hZGVyL0NhY2hlZFJl
c291cmNlQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUNsaWVudDo6
c2V0WFNMU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUNsaWVu
dDo6Zm9udExvYWRlZCk6CisgICAgICAgICogbG9hZGVyL0NhY2hlZFhCTERvY3VtZW50LmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBsb2FkZXIvQ2FjaGVkWEJMRG9jdW1lbnQuaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBsb2FkZXIvRG9jTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY0xv
YWRlcjo6Y2FuUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL0RvY0xvYWRlci5oOgorICAgICAg
ICAqIGxvYWRlci9sb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2FjaGVkUmVzb3VyY2VU
eXBlVG9UYXJnZXRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRlcjo6ZGV0ZXJtaW5lUHJp
b3JpdHkpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9CaW5kaW5nVVJJLmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvQmluZGluZ1VSSS5oOiBSZW1vdmVkLgorICAg
ICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oOgorCiAyMDEwLTA4LTI1
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBN
YXJ0aW4gUm9iaW5zb24uCkluZGV4OiBXZWJDb3JlL0FuZHJvaWQubWsKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9BbmRyb2lkLm1rCShyZXZpc2lvbiA2NjAxOCkKKysrIFdlYkNvcmUvQW5kcm9pZC5t
awkod29ya2luZyBjb3B5KQpAQCAtNzE5LDcgKzcxOSw2IEBAIExPQ0FMX1NSQ19GSUxFUyA6PSAk
KExPQ0FMX1NSQ19GSUxFUykgXAogCXJlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5jcHAgXAogCXJl
bmRlcmluZy9icmVha19saW5lcy5jcHAgXAogCVwKLQlyZW5kZXJpbmcvc3R5bGUvQmluZGluZ1VS
SS5jcHAgXAogCXJlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5jcHAgXAogCXJlbmRlcmluZy9z
dHlsZS9Db3VudGVyRGlyZWN0aXZlcy5jcHAgXAogCXJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIu
Y3BwIFwKSW5kZXg6IFdlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gNjYwMTgpCisrKyBXZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNDI3LDcgKzE0MjcsNiBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgcmVuZGVyaW5nL1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKICAgICByZW5k
ZXJpbmcvVHJhbnNmb3JtU3RhdGUuY3BwCiAgICAgcmVuZGVyaW5nL2JyZWFrX2xpbmVzLmNwcAot
ICAgIHJlbmRlcmluZy9zdHlsZS9CaW5kaW5nVVJJLmNwcAogICAgIHJlbmRlcmluZy9zdHlsZS9D
b250ZW50RGF0YS5jcHAKICAgICByZW5kZXJpbmcvc3R5bGUvQ291bnRlckRpcmVjdGl2ZXMuY3Bw
CiAgICAgcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5jcHAKSW5kZXg6IFdlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24g
NjYwMTgpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYy
LDcgKzE2NjIsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvbG9hZGVyL0NhY2hl
ZFJlc291cmNlSGFuZGxlLmggXAogCVdlYkNvcmUvbG9hZGVyL0NhY2hlZFNjcmlwdC5jcHAgXAog
CVdlYkNvcmUvbG9hZGVyL0NhY2hlZFNjcmlwdC5oIFwKLQlXZWJDb3JlL2xvYWRlci9DYWNoZWRY
QkxEb2N1bWVudC5oIFwKIAlXZWJDb3JlL2xvYWRlci9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcCBc
CiAJV2ViQ29yZS9sb2FkZXIvQ2FjaGVkWFNMU3R5bGVTaGVldC5oIFwKIAlXZWJDb3JlL2xvYWRl
ci9Dcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuY3BwIFwKQEAgLTIzNzMsOCArMjM3Miw2IEBAIHdl
YmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaCBc
CiAJV2ViQ29yZS9yZW5kZXJpbmcvYnJlYWtfbGluZXMuY3BwIFwKIAlXZWJDb3JlL3JlbmRlcmlu
Zy9icmVha19saW5lcy5oIFwKLQlXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CaW5kaW5nVVJJLmNw
cCBcCi0JV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmluZGluZ1VSSS5oIFwKIAlXZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9Cb3JkZXJEYXRhLmggXAogCVdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jv
cmRlclZhbHVlLmggXAogCVdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbGxhcHNlZEJvcmRlclZh
bHVlLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDY2MDE4KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJ
KHdvcmtpbmcgY29weSkKQEAgLTE4NDYsOCArMTg0Niw2IEBACiAgICAgICAgICAgICAnbG9hZGVy
L0NhY2hlZFJlc291cmNlSGFuZGxlLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9DYWNoZWRTY3Jp
cHQuY3BwJywKICAgICAgICAgICAgICdsb2FkZXIvQ2FjaGVkU2NyaXB0LmgnLAotICAgICAgICAg
ICAgJ2xvYWRlci9DYWNoZWRYQkxEb2N1bWVudC5jcHAnLAotICAgICAgICAgICAgJ2xvYWRlci9D
YWNoZWRYQkxEb2N1bWVudC5oJywKICAgICAgICAgICAgICdsb2FkZXIvQ2FjaGVkWFNMU3R5bGVT
aGVldC5jcHAnLAogICAgICAgICAgICAgJ2xvYWRlci9DYWNoZWRYU0xTdHlsZVNoZWV0LmgnLAog
ICAgICAgICAgICAgJ2xvYWRlci9Dcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuY3BwJywKQEAgLTMx
OTMsOCArMzE5MSw2IEBACiAgICAgICAgICAgICAncGx1Z2lucy9QbHVnaW5WaWV3Tm9uZS5jcHAn
LAogICAgICAgICAgICAgJ3BsdWdpbnMvbnBhcGkuY3BwJywKICAgICAgICAgICAgICdwbHVnaW5z
L25wZnVuY3Rpb25zLmgnLAotICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9CaW5kaW5nVVJJ
LmNwcCcsCi0gICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL0JpbmRpbmdVUkkuaCcsCiAgICAg
ICAgICAgICAncmVuZGVyaW5nL3N0eWxlL0JvcmRlckRhdGEuaCcsCiAgICAgICAgICAgICAncmVu
ZGVyaW5nL3N0eWxlL0JvcmRlclZhbHVlLmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHls
ZS9Db2xsYXBzZWRCb3JkZXJWYWx1ZS5oJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNjYwMTgpCisrKyBXZWJD
b3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYxLDcgKzEwNjEsNiBAQCBTT1VS
Q0VTICs9IFwKICAgICByZW5kZXJpbmcvU2hhZG93RWxlbWVudC5jcHAgXAogICAgIHJlbmRlcmlu
Zy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwIFwKICAgICByZW5kZXJpbmcvVHJhbnNmb3Jt
U3RhdGUuY3BwIFwKLSAgICByZW5kZXJpbmcvc3R5bGUvQmluZGluZ1VSSS5jcHAgXAogICAgIHJl
bmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5jcHAgXAogICAgIHJlbmRlcmluZy9zdHlsZS9Db3Vu
dGVyRGlyZWN0aXZlcy5jcHAgXAogICAgIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuY3BwIFwK
QEAgLTE5MTcsNyArMTkxNiw2IEBAIEhFQURFUlMgKz0gXAogICAgIHJlbmRlcmluZy9Sb290SW5s
aW5lQm94LmggXAogICAgIHJlbmRlcmluZy9TY3JvbGxCZWhhdmlvci5oIFwKICAgICByZW5kZXJp
bmcvU2hhZG93RWxlbWVudC5oIFwKLSAgICByZW5kZXJpbmcvc3R5bGUvQmluZGluZ1VSSS5oIFwK
ICAgICByZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaCBcCiAgICAgcmVuZGVyaW5nL3N0eWxl
L0NvdW50ZXJEaXJlY3RpdmVzLmggXAogICAgIHJlbmRlcmluZy9zdHlsZS9DdXJzb3JEYXRhLmgg
XApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA2NjAx
OCkKKysrIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29w
eSkKQEAgLTIzNDUzLDE0ICsyMzQ1Myw2IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8Rmls
ZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGxvYWRlclxDYWNoZWRYQkxEb2N1bWVudC5jcHAiDQot
CQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2Fk
ZXJcQ2FjaGVkWEJMRG9jdW1lbnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0K
IAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGxvYWRlclxDYWNoZWRYU0xTdHlsZVNoZWV0LmNwcCINCiAJ
CQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zMjc5NCwxNCArMzI3ODYsNiBAQAogCQkJCU5hbWU9InN0
eWxlIg0KIAkJCQk+DQogCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmlu
Z1xzdHlsZVxCaW5kaW5nVVJJLmNwcCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8Rmls
ZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcc3R5bGVcQmluZGluZ1VSSS5oIg0K
LQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XHJlbmRlcmluZ1xzdHlsZVxCb3JkZXJEYXRhLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCklu
ZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
NjYwMTgpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtNDY2MSw4ICs0NjYxLDYgQEAKIAkJQkM1RUI4QjkwRTgyMDFCRDAwQjI1
OTY1IC8qIFN0eWxlRmxleGlibGVCb3hEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzVFQjhCNzBFODIwMUJEMDBCMjU5NjUgLyogU3R5bGVGbGV4
aWJsZUJveERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlCQzVFQjhDMzBFODIwMzFCMDBCMjU5NjUgLyogU2hhZG93RGF0YS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzVFQjhDMTBFODIwMzFC
MDBCMjU5NjUgLyogU2hhZG93RGF0YS5jcHAgKi87IH07CiAJCUJDNUVCOEM0MEU4MjAzMUIwMEIy
NTk2NSAvKiBTaGFkb3dEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzVFQjhDMjBFODIwMzFCMDBCMjU5NjUgLyogU2hhZG93RGF0YS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJDNUVCOTFGMEU4
MjA0MDgwMEIyNTk2NSAvKiBCaW5kaW5nVVJJLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNUVCOTFEMEU4MjA0MDgwMEIyNTk2NSAvKiBCaW5kaW5n
VVJJLmNwcCAqLzsgfTsKLQkJQkM1RUI5MjAwRTgyMDQwODAwQjI1OTY1IC8qIEJpbmRpbmdVUkku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNUVCOTFF
MEU4MjA0MDgwMEIyNTk2NSAvKiBCaW5kaW5nVVJJLmggKi87IH07CiAJCUJDNUVCOTUwMEU4MjA1
NkIwMEIyNTk2NSAvKiBDb3VudGVyRGlyZWN0aXZlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzVFQjk0RTBFODIwNTZCMDBCMjU5NjUgLyogQ291
bnRlckRpcmVjdGl2ZXMuY3BwICovOyB9OwogCQlCQzVFQjk1MTBFODIwNTZCMDBCMjU5NjUgLyog
Q291bnRlckRpcmVjdGl2ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDNUVCOTRGMEU4MjA1NkIwMEIyNTk2NSAvKiBDb3VudGVyRGlyZWN0aXZlcy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNUVC
OTc5MEU4MjA2OTIwMEIyNTk2NSAvKiBDb3VudGVyQ29udGVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1RUI5NzgwRTgyMDY5MjAwQjI1OTY1IC8q
IENvdW50ZXJDb250ZW50LmggKi87IH07CkBAIC00ODQ3LDggKzQ4NDUsNiBAQAogCQlCQ0IxNkMy
MjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkUmVzb3VyY2VDbGllbnRXYWxrZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQjE2QzA5MDk3OUMzQkQw
MDQ2Nzc0MSAvKiBDYWNoZWRSZXNvdXJjZUNsaWVudFdhbGtlci5oICovOyB9OwogCQlCQ0IxNkMy
MzA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkU2NyaXB0LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQjE2QzBBMDk3OUMzQkQwMDQ2Nzc0MSAvKiBD
YWNoZWRTY3JpcHQuY3BwICovOyB9OwogCQlCQ0IxNkMyNDA5NzlDM0JEMDA0Njc3NDEgLyogQ2Fj
aGVkU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0IxNkMwQjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkU2NyaXB0LmggKi87IH07Ci0JCUJD
QjE2QzI1MDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRYQkxEb2N1bWVudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0IxNkMwQzA5NzlDM0JEMDA0
Njc3NDEgLyogQ2FjaGVkWEJMRG9jdW1lbnQuY3BwICovOyB9OwotCQlCQ0IxNkMyNjA5NzlDM0JE
MDA0Njc3NDEgLyogQ2FjaGVkWEJMRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQjE2QzBEMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRY
QkxEb2N1bWVudC5oICovOyB9OwogCQlCQ0IxNkMyNzA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVk
WFNMU3R5bGVTaGVldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0IxNkMwRTA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5j
cHAgKi87IH07CiAJCUJDQjE2QzI4MDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRYU0xTdHlsZVNo
ZWV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Ix
NkMwRjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5oICovOyB9OwogCQlC
Q0IxNkMyOTA5NzlDM0JEMDA0Njc3NDEgLyogRG9jTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQjE2QzEwMDk3OUMzQkQwMDQ2Nzc0MSAv
KiBEb2NMb2FkZXIuY3BwICovOyB9OwpAQCAtMTA0NDcsOCArMTA0NDMsNiBAQAogCQlCQzVFQjhC
NzBFODIwMUJEMDBCMjU5NjUgLyogU3R5bGVGbGV4aWJsZUJveERhdGEuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gU3R5bGVGbGV4aWJsZUJveERhdGEuaDsgcGF0aCA9IHN0eWxl
L1N0eWxlRmxleGlibGVCb3hEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
NUVCOEMxMEU4MjAzMUIwMEIyNTk2NSAvKiBTaGFkb3dEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFNoYWRvd0RhdGEuY3BwOyBwYXRoID0gc3R5bGUvU2hhZG93
RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNUVCOEMyMEU4MjAzMUIw
MEIyNTk2NSAvKiBTaGFkb3dEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFNoYWRvd0RhdGEuaDsgcGF0aCA9IHN0eWxlL1NoYWRvd0RhdGEuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJQkM1RUI5MUQwRTgyMDQwODAwQjI1OTY1IC8qIEJpbmRpbmdVUkkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQmluZGluZ1VSSS5jcHA7IHBh
dGggPSBzdHlsZS9CaW5kaW5nVVJJLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
QkM1RUI5MUUwRTgyMDQwODAwQjI1OTY1IC8qIEJpbmRpbmdVUkkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gQmluZGluZ1VSSS5oOyBwYXRoID0gc3R5bGUvQmluZGluZ1VSSS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzVFQjk0RTBFODIwNTZCMDBCMjU5NjUg
LyogQ291bnRlckRpcmVjdGl2ZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gQ291bnRlckRpcmVjdGl2ZXMuY3BwOyBwYXRoID0gc3R5bGUvQ291bnRlckRpcmVjdGl2
ZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzVFQjk0RjBFODIwNTZCMDBC
MjU5NjUgLyogQ291bnRlckRpcmVjdGl2ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gQ291bnRlckRpcmVjdGl2ZXMuaDsgcGF0aCA9IHN0eWxlL0NvdW50ZXJEaXJlY3RpdmVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNUVCOTc4MEU4MjA2OTIwMEIyNTk2
NSAvKiBDb3VudGVyQ29udGVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBD
b3VudGVyQ29udGVudC5oOyBwYXRoID0gc3R5bGUvQ291bnRlckNvbnRlbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNjUxLDggKzEwNjQ1LDYgQEAKIAkJQkNCMTZDMDkwOTc5
QzNCRDAwNDY3NzQxIC8qIENhY2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRSZXNvdXJjZUNsaWVudFdhbGtlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0IxNkMwQTA5NzlDM0JEMDA0Njc3NDEgLyogQ2Fj
aGVkU2NyaXB0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNo
ZWRTY3JpcHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0IxNkMwQjA5NzlD
M0JEMDA0Njc3NDEgLyogQ2FjaGVkU2NyaXB0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDYWNoZWRTY3JpcHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNC
MTZDMEMwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhCTERvY3VtZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRYQkxEb2N1bWVudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDQjE2QzBEMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNo
ZWRYQkxEb2N1bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVk
WEJMRG9jdW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCMTZDMEUwOTc5
QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCQ0IxNkMwRjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNM
U3R5bGVTaGVldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkWFNM
U3R5bGVTaGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0IxNkMxMDA5NzlD
M0JEMDA0Njc3NDEgLyogRG9jTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBEb2NMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTYzMTMsOCArMTYzMDUsNiBAQAogCQlCQzhDOEZBQTBERENEMkYyMDBCNTkyRjQgLyogc3R5bGUg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUJDNUVCOTFE
MEU4MjA0MDgwMEIyNTk2NSAvKiBCaW5kaW5nVVJJLmNwcCAqLywKLQkJCQlCQzVFQjkxRTBFODIw
NDA4MDBCMjU5NjUgLyogQmluZGluZ1VSSS5oICovLAogCQkJCUJDNUVCNUUwMEU4MUJFODcwMEIy
NTk2NSAvKiBCb3JkZXJEYXRhLmggKi8sCiAJCQkJQkM1RUI1REEwRTgxQjdFQTAwQjI1OTY1IC8q
IEJvcmRlclZhbHVlLmggKi8sCiAJCQkJQkM1RUI1REUwRTgxQjlBQjAwQjI1OTY1IC8qIENvbGxh
cHNlZEJvcmRlclZhbHVlLmggKi8sCkBAIC0xNjQ2MSw4ICsxNjQ1MSw2IEBACiAJCQkJRTQ3MjA1
M0EwRTVBMDUzQTAwMDZCQjREIC8qIENhY2hlZFJlc291cmNlSGFuZGxlLmggKi8sCiAJCQkJQkNC
MTZDMEEwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFNjcmlwdC5jcHAgKi8sCiAJCQkJQkNCMTZD
MEIwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFNjcmlwdC5oICovLAotCQkJCUJDQjE2QzBDMDk3
OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRYQkxEb2N1bWVudC5jcHAgKi8sCi0JCQkJQkNCMTZDMEQw
OTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhCTERvY3VtZW50LmggKi8sCiAJCQkJQkNCMTZDMEUw
OTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwICovLAogCQkJCUJDQjE2
QzBGMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0LmggKi8sCiAJCQkJRjU4
Nzg2NDkwMkRFM0E5QTAxRUE0MTIyIC8qIENhY2hlUG9saWN5LmggKi8sCkBAIC0xNzczMCw3ICsx
NzcxOCw2IEBACiAJCQkJQjJDM0RBMjUwRDAwNkMxRDAwRUY2RjI2IC8qIEJpZGlSZXNvbHZlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFNzg5ODYxMTIwRTdBNjAwNjBFQ0U1IC8qIEJpZGlSdW4u
aCBpbiBIZWFkZXJzICovLAogCQkJCTkzODE5MjA1MEY4N0UxRUMwMEQ1MzUyQSAvKiBCaW5hcnlQ
cm9wZXJ0eUxpc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDNUVCOTIwMEU4MjA0MDgwMEIyNTk2
NSAvKiBCaW5kaW5nVVJJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODk5NDMyODBCNDIzMzg4MDBE
N0M4MDIgLyogQml0bWFwSW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFQUZBRjBGMTBFMkFG
MkQwMDdFRDNENiAvKiBCbG9iLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OUJFRDVFQzExQkUxMUNF
MDA0NDg0OTIgLyogQmxvYkJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMTc3NjAsNyArMTc3
NDcsNiBAQAogCQkJCUU0N0I0QkU4MEU3MTI0MTYwMDAzODg1NCAvKiBDYWNoZWRSZXNvdXJjZUhh
bmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMTZDMjQwOTc5QzNCRDAwNDY3NzQxIC8qIENh
Y2hlZFNjcmlwdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNENTMzNjQwRUQ2ODQ4OTAwODg3NDY4
IC8qIENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0Ix
NkMyNjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWEJMRG9jdW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDQjE2QzI4MDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTk1MDA4MjQ1RTU5MDAxRTlBQkMgLyogQ2FjaGVQb2xp
Y3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTZFNEU5MUFEMTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52
YXNDb250ZXh0QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMDc0OCw3ICsyMDczNCw2
IEBACiAJCQkJQjJDM0RBMjMwRDAwNkMxRDAwRUY2RjI2IC8qIEJpZGlDb250ZXh0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDRTc4OThCMTEyMEU4MDIwMDYwRUNFNSAvKiBCaWRpUnVuLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzODE5MjAzMEY4N0UxRTYwMEQ1MzUyQSAvKiBCaW5hcnlQcm9w
ZXJ0eUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQkM1RUI5MUYwRTgyMDQwODAwQjI1OTY1
IC8qIEJpbmRpbmdVUkkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg5OTQzMjkwQjQyMzM4ODAw
RDdDODAyIC8qIEJpdG1hcEltYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFQUZBRjBFMTBF
MkFGMkQwMDdFRDNENiAvKiBCbG9iLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5QkVENUVCMTFC
RTExQ0UwMDQ0ODQ5MiAvKiBCbG9iQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTIwNzcy
LDcgKzIwNzU3LDYgQEAKIAkJCQlCQ0IxNkMyMTA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkUmVz
b3VyY2VDbGllbnRXYWxrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ3QjRCRTkwRTcxMjQx
NjAwMDM4ODU0IC8qIENhY2hlZFJlc291cmNlSGFuZGxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDQjE2QzIzMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRTY3JpcHQuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJQkNCMTZDMjUwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhCTERvY3VtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDQjE2QzI3MDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRY
U0xTdHlsZVNoZWV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFNEU5MUFDMTBGN0ZCMzEwMEEy
Nzc5QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0
OTQ4NEZDMTEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzR3JhZGllbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJ
KHJldmlzaW9uIDY2MDE4KQorKysgV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODY2LDggKzg2Niw2IEBAIFBhc3NSZWZQdHI8Q1NT
VmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWMKICAgICAgICAgfQogICAgICAgICBjYXNlIENTU1By
b3BlcnR5Rm9udFNpemU6CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNy
ZWF0ZShzdHlsZS0+Zm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRQaXhlbFNpemUoKSwgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19QWCk7Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCaW5k
aW5nOgotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGb250U3R5
bGU6CiAgICAgICAgICAgICBpZiAoc3R5bGUtPmZvbnREZXNjcmlwdGlvbigpLml0YWxpYygpKQog
ICAgICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlSWRlbnRpZmll
cihDU1NWYWx1ZUl0YWxpYyk7CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDY2MDE4KQorKysg
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE0OSw0MCArMTE0
OSw2IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGIKICAgICAgICAg
ICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0QmluZGluZzoKLSNpZiBFTkFCTEUoWEJMKQotICAgICAgICBpZiAoaWQg
PT0gQ1NTVmFsdWVOb25lKQotICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwotICAg
ICAgICBlbHNlIHsKLSAgICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHZhbHVlcyA9IENT
U1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKLSAgICAgICAgICAgIENTU1BhcnNl
clZhbHVlKiB2YWw7Ci0gICAgICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlZFZhbHVlOwot
ICAgICAgICAgICAgd2hpbGUgKCh2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKSkgewotICAg
ICAgICAgICAgICAgIGlmICh2YWwtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19VUkkg
JiYgbV9zdHlsZVNoZWV0KSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGUgY29t
cGxldGVVUkwgY2FsbCBzaG91bGQgYmUgZG9uZSB3aGVuIHVzaW5nIHRoZSBDU1NQcmltaXRpdmVW
YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgLy8gbm90IHdoZW4gY3JlYXRpbmcgaXQuCi0gICAg
ICAgICAgICAgICAgICAgIHBhcnNlZFZhbHVlID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSht
X3N0eWxlU2hlZXQtPmNvbXBsZXRlVVJMKHZhbC0+c3RyaW5nKSwgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19VUkkpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoIXBhcnNl
ZFZhbHVlKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgICAgIC8v
IEZJWE1FOiBXZSBjYW4ndCB1c2UgcmVsZWFzZSgpIGhlcmUgc2luY2Ugd2UgbWlnaHQgaGl0IHRo
aXMgcGF0aCB0d2ljZQotICAgICAgICAgICAgICAgIC8vIGJ1dCB0aGF0IGxvZ2ljIHNlZW1zIHdy
b25nIHRvIG1lIHRvIGJlZ2luIHdpdGgsIHdlIGNvbnZlcnQgYWxsIG5vbi11cmkgdmFsdWVzCi0g
ICAgICAgICAgICAgICAgLy8gaW50byB0aGUgbGFzdCBzZWVuIFVSSSB2YWx1ZSE/Ci0gICAgICAg
ICAgICAgICAgLy8gLXdlYmtpdC1iaW5kaW5nOiB1cmwoZm9vLnhtbCksIDEsIDI7IChpZiB0aGF0
IHdlcmUgdmFsaWQpIGlzIHRyZWF0ZWQgYXM6Ci0gICAgICAgICAgICAgICAgLy8gLXdlYmtpdC1i
aW5kaW5nOiB1cmwoZm9vLnhtbCksIHVybChmb28ueG1sKSwgdXJsKGZvby54bWwpOyAhPwotICAg
ICAgICAgICAgICAgIHZhbHVlcy0+YXBwZW5kKHBhcnNlZFZhbHVlLmdldCgpKTsKLSAgICAgICAg
ICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
aWYgKCF2YWx1ZXMtPmxlbmd0aCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgICAgICAgICAgYWRkUHJvcGVydHkocHJvcElkLCB2YWx1ZXMucmVsZWFzZSgpLCBpbXBvcnRh
bnQpOwotICAgICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKLSAgICAgICAgICAgIHJldHVy
biB0cnVlOwotICAgICAgICB9Ci0jZW5kaWYKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEJvcmRlckltYWdlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXNr
Qm94SW1hZ2U6CiAgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZU5vbmUpCkluZGV4OiBXZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1By
b3BlcnR5TmFtZXMuaW4JKHJldmlzaW9uIDY2MDE4KQorKysgV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHlOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTcyLDcgKzE3Miw2IEBAIHotaW5kZXgKICMg
YSBzaW5nbGUgdmFsdWU6IC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBsOyBpcyBlcXVpdmFsZW50
IHRvIGJhY2tncm91bmQtc2l6ZTogbCBsOwogIyB3aGVyZWFzIGJhY2tncm91bmQtc2l6ZTogbDsg
aXMgZXF1aXZhbGVudCB0byBiYWNrZ3JvdW5kLXNpemU6IGwgYXV0bzsKIC13ZWJraXQtYmFja2dy
b3VuZC1zaXplCi0td2Via2l0LWJpbmRpbmcKIC13ZWJraXQtYm9yZGVyLWVuZAogLXdlYmtpdC1i
b3JkZXItZW5kLWNvbG9yCiAtd2Via2l0LWJvcmRlci1lbmQtc3R5bGUKSW5kZXg6IFdlYkNvcmUv
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiA2NjAxOCkKKysrIFdlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Njg3LDM3ICs0Njg3LDYgQEAgdm9pZCBD
U1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludAogICAgICAgICBtX3N0eWxlLT5zZXRB
cHBlYXJhbmNlKCpwcmltaXRpdmVWYWx1ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJpbmRpbmc6IHsKLSNpZiBFTkFCTEUoWEJMKQotICAgICAg
ICBpZiAoaXNJbml0aWFsIHx8IChwcmltaXRpdmVWYWx1ZSAmJiBwcmltaXRpdmVWYWx1ZS0+Z2V0
SWRlbnQoKSA9PSBDU1NWYWx1ZU5vbmUpKSB7Ci0gICAgICAgICAgICBtX3N0eWxlLT5kZWxldGVC
aW5kaW5nVVJJcygpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIGVs
c2UgaWYgKGlzSW5oZXJpdCkgewotICAgICAgICAgICAgaWYgKG1fcGFyZW50U3R5bGUtPmJpbmRp
bmdVUklzKCkpCi0gICAgICAgICAgICAgICAgbV9zdHlsZS0+aW5oZXJpdEJpbmRpbmdVUklzKG1f
cGFyZW50U3R5bGUtPmJpbmRpbmdVUklzKCkpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgIG1fc3R5bGUtPmRlbGV0ZUJpbmRpbmdVUklzKCk7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoIXZhbHVlLT5pc1ZhbHVlTGlzdCgpKSByZXR1cm47
Ci0gICAgICAgIENTU1ZhbHVlTGlzdCogbGlzdCA9IHN0YXRpY19jYXN0PENTU1ZhbHVlTGlzdCo+
KHZhbHVlKTsKLSAgICAgICAgYm9vbCBmaXJzdEJpbmRpbmcgPSB0cnVlOwotICAgICAgICBmb3Ig
KHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGxpc3QtPmxlbmd0aCgpOyBpKyspIHsKLSAgICAgICAg
ICAgIENTU1ZhbHVlICppdGVtID0gbGlzdC0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjayhpKTsKLSAg
ICAgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlICp2YWwgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRp
dmVWYWx1ZSo+KGl0ZW0pOwotICAgICAgICAgICAgaWYgKHZhbC0+cHJpbWl0aXZlVHlwZSgpID09
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVVJJKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZpcnN0
QmluZGluZykgewotICAgICAgICAgICAgICAgICAgICBmaXJzdEJpbmRpbmcgPSBmYWxzZTsKLSAg
ICAgICAgICAgICAgICAgICAgbV9zdHlsZS0+ZGVsZXRlQmluZGluZ1VSSXMoKTsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgbV9zdHlsZS0+YWRkQmluZGluZ1VSSSh2YWwtPmdl
dFN0cmluZ1ZhbHVlKCkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0jZW5kaWYKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KIAogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJJbWFn
ZToKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFza0JveEltYWdlOiB7CkluZGV4OiBXZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCShyZXZpc2lvbiA2NjAxOCkKKysrIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTYzLDEwICsxNjMsNiBAQAogI2luY2x1ZGUgIlhTTFRQcm9jZXNzb3IuaCIK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKFhCTCkKLSNpbmNsdWRlICJYQkxCaW5kaW5nTWFuYWdlci5o
IgotI2VuZGlmCi0KICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0RvY3VtZW50RXh0ZW5z
aW9ucy5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnRGYWN0b3J5LmgiCkBAIC0zNzQsOSArMzcwLDYg
QEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgSwogICAgICwgbV9hc3lu
Y1NjcmlwdFJ1bm5lcihBc3luY1NjcmlwdFJ1bm5lcjo6Y3JlYXRlKCkpCiAgICAgLCBtX3htbFZl
cnNpb24oIjEuMCIpCiAgICAgLCBtX3htbFN0YW5kYWxvbmUoZmFsc2UpCi0jaWYgRU5BQkxFKFhC
TCkKLSAgICAsIG1fYmluZGluZ01hbmFnZXIobmV3IFhCTEJpbmRpbmdNYW5hZ2VyKHRoaXMpKQot
I2VuZGlmCiAgICAgLCBtX3NhdmVkUmVuZGVyZXIoMCkKICAgICAsIG1fZGVzaWduTW9kZShpbmhl
cml0KQogICAgICwgbV9zZWxmT25seVJlZkNvdW50KDApCkBAIC01NDMsMTAgKzUzNiw2IEBAIERv
Y3VtZW50Ojp+RG9jdW1lbnQoKQogCiAgICAgbV9yZW5kZXJBcmVuYS5jbGVhcigpOwogCi0jaWYg
RU5BQkxFKFhCTCkKLSAgICBtX2JpbmRpbmdNYW5hZ2VyLmNsZWFyKCk7Ci0jZW5kaWYKLQogICAg
IGNsZWFyQVhPYmplY3RDYWNoZSgpOwogCiAgICAgbV9kZWNvZGVyID0gMDsKSW5kZXg6IFdlYkNv
cmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRG9jdW1lbnQuaAko
cmV2aXNpb24gNjYwMTgpCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjUsMTAgKzEyNSw2IEBAIGNsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9uczsKIGNsYXNz
IFRyYW5zZm9ybVNvdXJjZTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKFhCTCkKLWNsYXNzIFhCTEJp
bmRpbmdNYW5hZ2VyOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoWFBBVEgpCiBjbGFzcyBYUGF0aEV2
YWx1YXRvcjsKIGNsYXNzIFhQYXRoRXhwcmVzc2lvbjsKQEAgLTg0MiwxMSArODM4LDYgQEAgcHVi
bGljOgogICAgIFRyYW5zZm9ybVNvdXJjZSogdHJhbnNmb3JtU291cmNlKCkgY29uc3QgeyByZXR1
cm4gbV90cmFuc2Zvcm1Tb3VyY2UuZ2V0KCk7IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKFhCTCkK
LSAgICAvLyBYQkwgbWV0aG9kcwotICAgIFhCTEJpbmRpbmdNYW5hZ2VyKiBiaW5kaW5nTWFuYWdl
cigpIGNvbnN0IHsgcmV0dXJuIG1fYmluZGluZ01hbmFnZXIuZ2V0KCk7IH0KLSNlbmRpZgotCiAg
ICAgdm9pZCBpbmNET01UcmVlVmVyc2lvbigpIHsgKyttX2RvbVRyZWVWZXJzaW9uOyB9CiAgICAg
dW5zaWduZWQgZG9tVHJlZVZlcnNpb24oKSBjb25zdCB7IHJldHVybiBtX2RvbVRyZWVWZXJzaW9u
OyB9CiAKQEAgLTExOTIsMTAgKzExODMsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxEb2N1bWVu
dD4gbV90cmFuc2Zvcm1Tb3VyY2VEb2N1bWVudDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKFhCTCkK
LSAgICBPd25QdHI8WEJMQmluZGluZ01hbmFnZXI+IG1fYmluZGluZ01hbmFnZXI7IC8vIFRoZSBh
Y2Nlc3MgcG9pbnQgdGhyb3VnaCB3aGljaCBkb2N1bWVudHMgYW5kIGVsZW1lbnRzIGNvbW11bmlj
YXRlIHdpdGggWEJMLgotI2VuZGlmCi0gICAgCiAgICAgdHlwZWRlZiBIYXNoTWFwPEF0b21pY1N0
cmluZ0ltcGwqLCBIVE1MTWFwRWxlbWVudCo+IEltYWdlTWFwc0J5TmFtZTsKICAgICBJbWFnZU1h
cHNCeU5hbWUgbV9pbWFnZU1hcHNCeU5hbWU7CiAKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL0NhY2hl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9DYWNoZS5jcHAJKHJldmlzaW9uIDY2
MDE4KQorKysgV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Miwx
MCArODIsNiBAQCBzdGF0aWMgQ2FjaGVkUmVzb3VyY2UqIGNyZWF0ZVJlc291cmNlKENhCiAgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVTaGVldDoKICAgICAgICAgcmV0dXJuIG5ldyBD
YWNoZWRYU0xTdHlsZVNoZWV0KHVybC5zdHJpbmcoKSk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoWEJM
KQotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhCTFN0eWxlU2hlZXQ6Ci0gICAgICAgIHJldHVy
biBuZXcgQ2FjaGVkWEJMRG9jdW1lbnQodXJsLnN0cmluZygpKTsKLSNlbmRpZgogI2lmIEVOQUJM
RShMSU5LX1BSRUZFVENIKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRjaDoK
ICAgICAgICAgcmV0dXJuIG5ldyBDYWNoZWRSZXNvdXJjZSh1cmwuc3RyaW5nKCksIENhY2hlZFJl
c291cmNlOjpMaW5rUHJlZmV0Y2gpOwpAQCAtNjkxLDExICs2ODcsNiBAQCBDYWNoZTo6U3RhdGlz
dGljcyBDYWNoZTo6Z2V0U3RhdGlzdGljcygpCiAgICAgICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OkZvbnRSZXNvdXJjZToKICAgICAgICAgICAgIHN0YXRzLmZvbnRzLmFkZFJlc291cmNlKHJlc291
cmNlKTsKICAgICAgICAgICAgIGJyZWFrOwotI2lmIEVOQUJMRShYQkwpCi0gICAgICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OlhCTDoKLSAgICAgICAgICAgIHN0YXRzLnhibERvY3MuYWRkUmVzb3Vy
Y2UocmVzb3VyY2UpCi0gICAgICAgICAgICBicmVhazsKLSNlbmRpZgogICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KSW5kZXg6IFdlYkNvcmUvbG9hZGVyL0Nh
Y2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvQ2FjaGUuaAkocmV2aXNpb24gNjYw
MTgpCisrKyBXZWJDb3JlL2xvYWRlci9DYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSw5ICs4
NSw2IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoWFNMVCkKICAgICAgICAgVHlwZVN0YXRpc3RpYyB4
c2xTdHlsZVNoZWV0czsKICNlbmRpZgotI2lmIEVOQUJMRShYQkwpCi0gICAgICAgIFR5cGVTdGF0
aXN0aWMgeGJsRG9jczsKLSNlbmRpZgogICAgICAgICBUeXBlU3RhdGlzdGljIGZvbnRzOwogICAg
IH07CiAKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuaAkocmV2aXNpb24gNjYwMTgpCisrKyBX
ZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw5ICs2
MSw2IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoWFNMVCkKICAgICAgICAgLCBYU0xTdHlsZVNoZWV0
CiAjZW5kaWYKLSNpZiBFTkFCTEUoWEJMKQotICAgICAgICAsIFhCTAotI2VuZGlmCiAjaWYgRU5B
QkxFKExJTktfUFJFRkVUQ0gpCiAgICAgICAgICwgTGlua1ByZWZldGNoCiAjZW5kaWYKSW5kZXg6
IFdlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAkocmV2aXNpb24gNjYwMTgpCisrKyBX
ZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OCwxMiArMjgsNiBAQAogI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KIAotI2lmIEVOQUJMRShYQkwpCi1uYW1lc3BhY2UgWEJMIHsKLSAgICBj
bGFzcyBYQkxEb2N1bWVudDsKLX0KLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRDU1NTdHlsZVNoZWV0OwpAQCAtNjgsMTMgKzYyLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRDU1NTdHlsZVNoZWV0KGNvbnN0
IFN0cmluZyYgLyogaHJlZiAqLywgY29uc3QgS1VSTCYgLyogYmFzZVVSTCAqLywgY29uc3QgU3Ry
aW5nJiAvKiBjaGFyc2V0ICovLCBjb25zdCBDYWNoZWRDU1NTdHlsZVNoZWV0KikgeyB9CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBzZXRYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgLyogaHJlZiAq
LywgY29uc3QgS1VSTCYgLyogYmFzZVVSTCAqLywgY29uc3QgU3RyaW5nJiAvKiBzaGVldCAqLykg
eyB9Ci0KICAgICAgICAgdmlydHVhbCB2b2lkIGZvbnRMb2FkZWQoQ2FjaGVkRm9udCopIHt9Owot
Ci0jaWYgRU5BQkxFKFhCTCkKLSAgICAgICAgdmlydHVhbCB2b2lkIHNldFhCTERvY3VtZW50KGNv
bnN0IFN0cmluZyYgLypVUkwqLywgWEJMOjpYQkxEb2N1bWVudCopIHsgfQotI2VuZGlmCi0KICAg
ICAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKikgeyB9CiAg
ICAgfTsKIApJbmRleDogV2ViQ29yZS9sb2FkZXIvQ2FjaGVkWEJMRG9jdW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0NhY2hlZFhCTERvY3VtZW50LmNwcAkocmV2aXNpb24g
NjYwMTgpCisrKyBXZWJDb3JlL2xvYWRlci9DYWNoZWRYQkxEb2N1bWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTEwICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAxOTk4IExhcnMg
S25vbGwgKGtub2xsQG1waS1oZC5tcGcuZGUpCi0gICAgQ29weXJpZ2h0IChDKSAyMDAxIERpcmsg
TXVlbGxlciAobXVlbGxlckBrZGUub3JnKQotICAgIENvcHlyaWdodCAoQykgMjAwMiBXYWxkbyBC
YXN0aWFuIChiYXN0aWFuQGtkZS5vcmcpCi0gICAgQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBX
ZWluaWcgKHNhbS53ZWluaWdAZ21haWwuY29tKQotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSwgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0KLSAg
ICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi0gICAg
VGhpcyBjbGFzcyBwcm92aWRlcyBhbGwgZnVuY3Rpb25hbGl0eSBuZWVkZWQgZm9yIGxvYWRpbmcg
aW1hZ2VzLCBzdHlsZSBzaGVldHMgYW5kIGh0bWwKLSAgICBwYWdlcyBmcm9tIHRoZSB3ZWIuIEl0
IGhhcyBhIG1lbW9yeSBjYWNoZSBmb3IgdGhlc2Ugb2JqZWN0cy4KLSovCi0KLSNpbmNsdWRlICJj
b25maWcuaCIKLQotI2lmIEVOQUJMRShYQkwpCi0KLSNpbmNsdWRlICJDYWNoZWRYQkxEb2N1bWVu
dC5oIgotCi0jaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnRXYWxrZXIuaCIKLSNpbmNsdWRl
ICJUZXh0UmVzb3VyY2VEZWNvZGVyLmgiCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLUNhY2hlZFhCTERvY3VtZW50OjpDYWNoZWRYQkxEb2N1bWVudChj
b25zdCBTdHJpbmcgJnVybCkKLTogQ2FjaGVkUmVzb3VyY2UodXJsLCBYQkwpLCBtX2RvY3VtZW50
KDApCi17Ci0gICAgLy8gSXQncyBYTUwgd2Ugd2FudC4KLSAgICBzZXRBY2NlcHQoInRleHQveG1s
LCBhcHBsaWNhdGlvbi94bWwsIGFwcGxpY2F0aW9uL3hodG1sK3htbCwgdGV4dC94c2wsIGFwcGxp
Y2F0aW9uL3Jzcyt4bWwsIGFwcGxpY2F0aW9uL2F0b20reG1sIik7Ci0KLSAgICBtX2RlY29kZXIg
PSBuZXcgVGV4dFJlc291cmNlRGVjb2RlcigiYXBwbGljYXRpb24veG1sIik7Ci19Ci0KLUNhY2hl
ZFhCTERvY3VtZW50Ojp+Q2FjaGVkWEJMRG9jdW1lbnQoKQotewotICAgIGlmIChtX2RvY3VtZW50
KQotICAgICAgICBtX2RvY3VtZW50LT5kZXJlZigpOwotfQotCi12b2lkIENhY2hlZFhCTERvY3Vt
ZW50OjpyZWYoQ2FjaGVkUmVzb3VyY2VDbGllbnQgKmMpCi17Ci0gICAgQ2FjaGVkUmVzb3VyY2U6
OnJlZihjKTsKLSAgICBpZiAoIW1fbG9hZGluZykKLSAgICAgICAgYy0+c2V0WEJMRG9jdW1lbnQo
bV91cmwsIG1fZG9jdW1lbnQpOwotfQotCi12b2lkIENhY2hlZFhCTERvY3VtZW50OjpzZXRFbmNv
ZGluZyhjb25zdCBTdHJpbmcmIGNocykKLXsKLSAgICBtX2RlY29kZXItPnNldEVuY29kaW5nKGNo
cywgVGV4dFJlc291cmNlRGVjb2Rlcjo6RW5jb2RpbmdGcm9tSFRUUEhlYWRlcik7Ci19Ci0KLVN0
cmluZyBDYWNoZWRYQkxEb2N1bWVudDo6ZW5jb2RpbmcoKSBjb25zdAotewotICAgIHJldHVybiBt
X2RlY29kZXItPmVuY29kaW5nKCkubmFtZSgpOwotfQotCi12b2lkIENhY2hlZFhCTERvY3VtZW50
OjpkYXRhKFZlY3RvcjxjaGFyPiYgZGF0YSwgYm9vbCApCi17Ci0gICAgaWYgKCFhbGxEYXRhUmVj
ZWl2ZWQpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBBU1NFUlQoIW1fZG9jdW1lbnQpOwot
ICAgIAotICAgIG1fZG9jdW1lbnQgPSBuZXcgWEJMOjpYQkxEb2N1bWVudCgpOwotICAgIG1fZG9j
dW1lbnQtPnJlZigpOwotICAgIG1fZG9jdW1lbnQtPm9wZW4oKTsKLSAgICAKLSAgICBtX2RvY3Vt
ZW50LT53cml0ZShtX2RlY29kZXItPmRlY29kZShkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpKTsK
LSAgICBzZXRTaXplKGRhdGEuc2l6ZSgpKTsKLSAgICAKLSAgICBtX2RvY3VtZW50LT5maW5pc2hQ
YXJzaW5nKCk7Ci0gICAgbV9kb2N1bWVudC0+Y2xvc2UoKTsKLSAgICBtX2xvYWRpbmcgPSBmYWxz
ZTsKLSAgICBjaGVja05vdGlmeSgpOwotfQotCi12b2lkIENhY2hlZFhCTERvY3VtZW50OjpjaGVj
a05vdGlmeSgpCi17Ci0gICAgaWYgKG1fbG9hZGluZykKLSAgICAgICAgcmV0dXJuOwotICAgIAot
ICAgIENhY2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyIHcobV9jbGllbnRzKTsKLSAgICB3aGlsZSAo
Q2FjaGVkUmVzb3VyY2VDbGllbnQgKmMgPSB3Lm5leHQoKSkKLSAgICAgICAgYy0+c2V0WEJMRG9j
dW1lbnQobV91cmwsIG1fZG9jdW1lbnQpOwotfQotCi12b2lkIENhY2hlZFhCTERvY3VtZW50Ojpl
cnJvcigpCi17Ci0gICAgbV9sb2FkaW5nID0gZmFsc2U7Ci0gICAgbV9lcnJvck9jY3VycmVkID0g
dHJ1ZTsKLSAgICBjaGVja05vdGlmeSgpOwotfQotCi19Ci0KLSNlbmRpZgpJbmRleDogV2ViQ29y
ZS9sb2FkZXIvQ2FjaGVkWEJMRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRl
ci9DYWNoZWRYQkxEb2N1bWVudC5oCShyZXZpc2lvbiA2NjAxOCkKKysrIFdlYkNvcmUvbG9hZGVy
L0NhY2hlZFhCTERvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNjUgKzAsMCBAQAotLyoK
LSAgICBDb3B5cmlnaHQgKEMpIDE5OTggTGFycyBLbm9sbCAoa25vbGxAbXBpLWhkLm1wZy5kZSkK
LSAgICBDb3B5cmlnaHQgKEMpIDIwMDEgRGlyayBNdWVsbGVyIDxtdWVsbGVyQGtkZS5vcmc+Ci0g
ICAgQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgKHNhbS53ZWluaWdAZ21haWwuY29t
KQotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAg
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi0gICAgVGhpcyBjbGFzcyBwcm92aWRlcyBhbGwgZnVu
Y3Rpb25hbGl0eSBuZWVkZWQgZm9yIGxvYWRpbmcgaW1hZ2VzLCBzdHlsZSBzaGVldHMgYW5kIGh0
bWwKLSAgICBwYWdlcyBmcm9tIHRoZSB3ZWIuIEl0IGhhcyBhIG1lbW9yeSBjYWNoZSBmb3IgdGhl
c2Ugb2JqZWN0cy4KLSovCi0KLSNpZm5kZWYgQ2FjaGVkWEJMRG9jdW1lbnRfaAotI2RlZmluZSBD
YWNoZWRYQkxEb2N1bWVudF9oCi0KLSNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZS5oIgotI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIENhY2hl
ZFJlc291cmNlOwotICAgIGNsYXNzIFJlcXVlc3Q7Ci0gICAgY2xhc3MgRG9jTG9hZGVyOwotICAg
IGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7Ci0gICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGll
bnQ7Ci0gICAgCi0jaWYgRU5BQkxFKFhCTCkKLSAgICBjbGFzcyBDYWNoZWRYQkxEb2N1bWVudCA6
IHB1YmxpYyBDYWNoZWRSZXNvdXJjZSB7Ci0gICAgcHVibGljOgotICAgICAgICBDYWNoZWRYQkxE
b2N1bWVudChjb25zdCBTdHJpbmcmIHVybCk7Ci0gICAgICAgIHZpcnR1YWwgfkNhY2hlZFhCTERv
Y3VtZW50KCk7Ci0gICAgICAgIAotICAgICAgICBYQkw6OlhCTERvY3VtZW50KiBkb2N1bWVudCgp
IGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KLSAgICAgICAgCi0gICAgICAgIHZpcnR1YWwg
dm9pZCBhZGRDbGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQqKTsKLSAgICAgICAgCi0gICAgICAg
IHZpcnR1YWwgdm9pZCBzZXRFbmNvZGluZyhjb25zdCBTdHJpbmcmKTsKLSAgICAgICAgdmlydHVh
bCBTdHJpbmcgZW5jb2RpbmcoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRhdGEoVmVj
dG9yPGNoYXI+JiwgYm9vbCBhbGxEYXRhUmVjZWl2ZWQpOwotICAgICAgICB2aXJ0dWFsIHZvaWQg
ZXJyb3IoKTsKLSAgICAgICAgCi0gICAgICAgIHZvaWQgY2hlY2tOb3RpZnkoKTsKLSAgICAgICAg
Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBYQkw6OlhCTERvY3VtZW50KiBtX2RvY3VtZW50Owot
ICAgICAgICBSZWZQdHI8VGV4dFJlc291cmNlRGVjb2Rlcj4gbV9kZWNvZGVyOwotICAgIH07Ci0K
LSNlbmRpZgotCi19Ci0KLSNlbmRpZgpJbmRleDogV2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9Eb2NMb2FkZXIuY3BwCShyZXZpc2lvbiA2
NjAxOCkKKysrIFdlYkNvcmUvbG9hZGVyL0RvY0xvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE2OSwxMyArMTY5LDYgQEAgQ2FjaGVkWFNMU3R5bGVTaGVldCogRG9jTG9hZGVyOjpyZXF1ZXN0
WAogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoWEJMKQotQ2FjaGVkWEJMRG9jdW1lbnQqIERvY0xv
YWRlcjo6cmVxdWVzdFhCTERvY3VtZW50KGNvbnN0IFN0cmluZyYgdXJsKQotewotICAgIHJldHVy
biBzdGF0aWNfY2FzdDxDYWNoZWRYU0xTdHlsZVNoZWV0Kj4ocmVxdWVzdFJlc291cmNlKENhY2hl
ZFJlc291cmNlOjpYQkwsIHVybCwgU3RyaW5nKCkpKTsKLX0KLSNlbmRpZgotCiAjaWYgRU5BQkxF
KExJTktfUFJFRkVUQ0gpCiBDYWNoZWRSZXNvdXJjZSogRG9jTG9hZGVyOjpyZXF1ZXN0TGlua1By
ZWZldGNoKGNvbnN0IFN0cmluZyYgdXJsKQogewpAQCAtMjAxLDExICsxOTQsNiBAQCBib29sIERv
Y0xvYWRlcjo6Y2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjCiAgICAgICAgIGJyZWFrOwogI2lmIEVO
QUJMRShYU0xUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQ6Ci0jZW5k
aWYKLSNpZiBFTkFCTEUoWEJMKQotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhCTDoKLSNlbmRp
ZgotI2lmIEVOQUJMRShYU0xUKSB8fCBFTkFCTEUoWEJMKQogICAgICAgICBpZiAoIW1fZG9jLT5z
ZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHVybCkpIHsKICAgICAgICAgICAgIHByaW50QWNj
ZXNzRGVuaWVkTWVzc2FnZSh1cmwpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjI5
LDkgKzIxNyw2IEBAIGJvb2wgRG9jTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmMKICNp
ZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0Ogog
I2VuZGlmCi0jaWYgRU5BQkxFKFhCTCkKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYQkw6Ci0j
ZW5kaWYKICAgICAgICAgLy8gVGhlc2UgcmVzb3VyY2UgY2FuIGluamVjdCBzY3JpcHQgaW50byB0
aGUgY3VycmVudCBkb2N1bWVudC4KICAgICAgICAgaWYgKEZyYW1lKiBmID0gZnJhbWUoKSkKICAg
ICAgICAgICAgIGYtPmxvYWRlcigpLT5jaGVja0lmUnVuSW5zZWN1cmVDb250ZW50KG1fZG9jLT5z
ZWN1cml0eU9yaWdpbigpLCB1cmwpOwpJbmRleDogV2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmgJKHJldmlzaW9uIDY2MDE4
KQorKysgV2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDkg
KzY0LDYgQEAgcHVibGljOgogI2lmIEVOQUJMRShYU0xUKQogICAgIENhY2hlZFhTTFN0eWxlU2hl
ZXQqIHJlcXVlc3RYU0xTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgdXJsKTsKICNlbmRpZgotI2lm
IEVOQUJMRShYQkwpCi0gICAgQ2FjaGVkWEJMRG9jdW1lbnQqIHJlcXVlc3RYQkxEb2N1bWVudChj
b25zdCBTdHJpbmcgJnVybCk7Ci0jZW5kaWYKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKICAg
ICBDYWNoZWRSZXNvdXJjZSogcmVxdWVzdExpbmtQcmVmZXRjaChjb25zdCBTdHJpbmcgJnVybCk7
CiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL2xvYWRlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9sb2FkZXIvbG9hZGVyLmNwcAkocmV2aXNpb24gNjYwMTgpCisrKyBXZWJDb3JlL2xv
YWRlci9sb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw2IEBAIHN0YXRpYyBS
ZXNvdXJjZVJlcXVlc3Q6OlRhcmdldFR5cGUgY2FjaGUKICNpZiBFTkFCTEUoWFNMVCkKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0OgogI2VuZGlmCi0jaWYgRU5BQkxFKFhC
TCkKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYQkw6Ci0jZW5kaWYKICAgICAgICAgcmV0dXJu
IFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNTdHlsZVNoZWV0OwogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlNjcmlwdDogCiAgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElz
U2NyaXB0OwpAQCAtMTA2LDkgKzEwMyw2IEBAIExvYWRlcjo6UHJpb3JpdHkgTG9hZGVyOjpkZXRl
cm1pbmVQcmlvcmkKICNpZiBFTkFCTEUoWFNMVCkKICAgICAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6WFNMU3R5bGVTaGVldDoKICNlbmRpZgotI2lmIEVOQUJMRShYQkwpCi0gICAgICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OlhCTDoKLSNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIEhpZ2g7CiAg
ICAgICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdDogCiAgICAgICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6OkZvbnRSZXNvdXJjZToKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jp
bmRpbmdVUkkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0JpbmRp
bmdVUkkuY3BwCShyZXZpc2lvbiA2NjAxOCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jp
bmRpbmdVUkkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcxICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAq
Ci0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQot
ICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkJpbmRpbmdV
UkkuaCIKLQotI2lmIEVOQUJMRShYQkwpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotQmluZGlu
Z1VSSTo6QmluZGluZ1VSSShTdHJpbmdJbXBsKiB1cmkpIAotICAgIDogbV9uZXh0KDApCi17IAot
ICAgIG1fdXJpID0gdXJpOwotICAgIGlmICh1cmkpCi0gICAgICAgIHVyaS0+cmVmKCk7Ci19Ci0K
LUJpbmRpbmdVUkk6On5CaW5kaW5nVVJJKCkKLXsKLSAgICBpZiAobV91cmkpCi0gICAgICAgIG1f
dXJpLT5kZXJlZigpOwotICAgIGRlbGV0ZSBtX25leHQ7Ci19Ci0KLUJpbmRpbmdVUkkqIEJpbmRp
bmdVUkk6OmNvcHkoKQotewotICAgIEJpbmRpbmdVUkkqIG5ld0JpbmRpbmcgPSBuZXcgQmluZGlu
Z1VSSShtX3VyaSk7Ci0gICAgaWYgKG5leHQoKSkgewotICAgICAgICBCaW5kaW5nVVJJKiBuZXh0
Q29weSA9IG5leHQoKS0+Y29weSgpOwotICAgICAgICBuZXdCaW5kaW5nLT5zZXROZXh0KG5leHRD
b3B5KTsKLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIG5ld0JpbmRpbmc7Ci19Ci0KLWJvb2wgQmlu
ZGluZ1VSSTo6b3BlcmF0b3I9PShjb25zdCBCaW5kaW5nVVJJJiBvKSBjb25zdAotewotICAgIGlm
ICgobV9uZXh0ICYmICFvLm1fbmV4dCkgfHwgKCFtX25leHQgJiYgby5tX25leHQpIHx8Ci0gICAg
ICAgIChtX25leHQgJiYgby5tX25leHQgJiYgKm1fbmV4dCAhPSAqby5tX25leHQpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgCi0gICAgaWYgKG1fdXJpID09IG8ubV91cmkpCi0gICAgICAg
IHJldHVybiB0cnVlOwotICAgIGlmICghbV91cmkgfHwgIW8ubV91cmkpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAKLSAgICByZXR1cm4gU3RyaW5nKG1fdXJpKSA9PSBTdHJpbmcoby5tX3Vy
aSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShYQkwp
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CaW5kaW5nVVJJLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmluZGluZ1VSSS5oCShyZXZpc2lvbiA2NjAxOCkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0JpbmRpbmdVUkkuaAkod29ya2luZyBjb3B5KQpA
QCAtMSw1OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDAwIExhcnMgS25vbGwgKGtu
b2xsQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDIwMDAgQW50dGkgS29pdmlzdG8gKGtvaXZp
c3RvQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDIwMDAgRGlyayBNdWVsbGVyIChtdWVsbGVy
QGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA2IEdy
YWhhbSBEZW5uaXMgKGdyYWhhbS5kZW5uaXNAZ21haWwuY29tKQotICoKLSAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
Ci0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0g
KgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0g
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBCaW5kaW5n
VVJJX2gKLSNkZWZpbmUgQmluZGluZ1VSSV9oCi0jaWYgRU5BQkxFKFhCTCkKLQotI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBUaGlz
IHN0cnVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCBzaGFkb3dzIGZvciB0aGUgdGV4dC1zaGFk
b3cgYW5kIGJveC1zaGFkb3cgcHJvcGVydGllcy4KLQotc3RydWN0IEJpbmRpbmdVUkkgewotICAg
IEJpbmRpbmdVUkkoU3RyaW5nSW1wbCopOwotICAgIH5CaW5kaW5nVVJJKCk7Ci0KLSAgICBCaW5k
aW5nVVJJKiBjb3B5KCk7Ci0KLSAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQmluZGluZ1VSSSYg
bykgY29uc3Q7Ci0gICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEJpbmRpbmdVUkkmIG8pIGNvbnN0
Ci0gICAgewotICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvKTsKLSAgICB9Ci0KLSAgICBCaW5k
aW5nVVJJKiBuZXh0KCkgeyByZXR1cm4gbV9uZXh0OyB9Ci0gICAgdm9pZCBzZXROZXh0KEJpbmRp
bmdVUkkqIG4pIHsgbV9uZXh0ID0gbjsgfQotCi0gICAgU3RyaW5nSW1wbCogdXJpKCkgeyByZXR1
cm4gbV91cmk7IH0KLQotICAgIEJpbmRpbmdVUkkqIG1fbmV4dDsKLSAgICBTdHJpbmdJbXBsKiBt
X3VyaTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShY
QkwpCi0jZW5kaWYgLy8gQmluZGluZ1VSSV9oCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiA2NjAxOCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjk5LDIwICs2OTksNiBAQCB2
b2lkIFJlbmRlclN0eWxlOjphcHBseVRyYW5zZm9ybShUcmFuc2ZvCiAgICAgfQogfQogCi0jaWYg
RU5BQkxFKFhCTCkKLXZvaWQgUmVuZGVyU3R5bGU6OmFkZEJpbmRpbmdVUkkoU3RyaW5nSW1wbCog
dXJpKQotewotICAgIEJpbmRpbmdVUkkqIGJpbmRpbmcgPSBuZXcgQmluZGluZ1VSSSh1cmkpOwot
ICAgIGlmICghYmluZGluZ1VSSXMoKSkKLSAgICAgICAgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVk
RGF0YSwgYmluZGluZ1VSSSwgYmluZGluZykKLSAgICBlbHNlCi0gICAgICAgIGZvciAoQmluZGlu
Z1VSSSogYiA9IGJpbmRpbmdVUklzKCk7IGI7IGIgPSBiLT5uZXh0KCkpIHsKLSAgICAgICAgICAg
IGlmICghYi0+bmV4dCgpKQotICAgICAgICAgICAgICAgIGItPnNldE5leHQoYmluZGluZyk7Ci0g
ICAgICAgIH0KLX0KLSNlbmRpZgotCiB2b2lkIFJlbmRlclN0eWxlOjpzZXRUZXh0U2hhZG93KFNo
YWRvd0RhdGEqIHZhbCwgYm9vbCBhZGQpCiB7CiAgICAgQVNTRVJUKCF2YWwgfHwgKCF2YWwtPnNw
cmVhZCgpICYmIHZhbC0+c3R5bGUoKSA9PSBOb3JtYWwpKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gNjYwMTgpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04NywxMCArODcsNiBAQAog
I2luY2x1ZGUgIlNWR1JlbmRlclN0eWxlLmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShYQkwpCi0j
aW5jbHVkZSAiQmluZGluZ1VSSS5oIgotI2VuZGlmCi0KICNpZiBDT01QSUxFUihXSU5TQ1cpCiAj
ZGVmaW5lIGNvbXBhcmVFcXVhbCh0LCB1KSAgICAgICgodCkgPT0gKHUpKQogI2Vsc2UKQEAgLTU5
OCw5ICs1OTQsNiBAQCBwdWJsaWM6CiAgICAgRVBhZ2VCcmVhayBwYWdlQnJlYWtBZnRlcigpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVQYWdlQnJlYWs+KG5vbmluaGVyaXRlZF9mbGFncy5f
cGFnZV9icmVha19hZnRlcik7IH0KIAogICAgIC8vIENTUzMgR2V0dGVyIE1ldGhvZHMKLSNpZiBF
TkFCTEUoWEJMKQotICAgIEJpbmRpbmdVUkkqIGJpbmRpbmdVUklzKCkgY29uc3QgeyByZXR1cm4g
cmFyZU5vbkluaGVyaXRlZERhdGEtPmJpbmRpbmdVUkk7IH0KLSNlbmRpZgogCiAgICAgaW50IG91
dGxpbmVPZmZzZXQoKSBjb25zdAogICAgIHsKQEAgLTk0NiwxMiArOTM5LDYgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0UGFnZUJyZWFrQWZ0ZXIoRVBhZ2VCcmVhayBiKSB7IG5vbmluaGVyaXRlZF9m
bGFncy5fcGFnZV9icmVha19hZnRlciA9IGI7IH0KIAogICAgIC8vIENTUzMgU2V0dGVycwotI2lm
IEVOQUJMRShYQkwpCi0gICAgdm9pZCBkZWxldGVCaW5kaW5nVVJJcygpIHsgU0VUX1ZBUihyYXJl
Tm9uSW5oZXJpdGVkRGF0YSwgYmluZGluZ1VSSSwgc3RhdGljX2Nhc3Q8QmluZGluZ1VSSSo+KDAp
KTsgfQotICAgIHZvaWQgaW5oZXJpdEJpbmRpbmdVUklzKEJpbmRpbmdVUkkqIG90aGVyKSB7IFNF
VF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEsIGJpbmRpbmdVUkksIG90aGVyLT5jb3B5KCkpOyB9
Ci0gICAgdm9pZCBhZGRCaW5kaW5nVVJJKFN0cmluZ0ltcGwqIHVyaSk7Ci0jZW5kaWYKLQogICAg
IHZvaWQgc2V0T3V0bGluZU9mZnNldChpbnQgdikgeyBTRVRfVkFSKG1fYmFja2dyb3VuZCwgbV9v
dXRsaW5lLm1fb2Zmc2V0LCB2KSB9CiAgICAgdm9pZCBzZXRUZXh0U2hhZG93KFNoYWRvd0RhdGEq
IHZhbCwgYm9vbCBhZGQ9ZmFsc2UpOwogICAgIHZvaWQgc2V0VGV4dFN0cm9rZUNvbG9yKGNvbnN0
IENvbG9yJiBjKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHRleHRTdHJva2VDb2xvciwg
YykgfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YS5jcHAJKHJldmlzaW9uIDY2MDE4KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDkgKzU2LDYgQEAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSQog
ICAgICwgbV9wZXJzcGVjdGl2ZShSZW5kZXJTdHlsZTo6aW5pdGlhbFBlcnNwZWN0aXZlKCkpCiAg
ICAgLCBtX3BlcnNwZWN0aXZlT3JpZ2luWChSZW5kZXJTdHlsZTo6aW5pdGlhbFBlcnNwZWN0aXZl
T3JpZ2luWCgpKQogICAgICwgbV9wZXJzcGVjdGl2ZU9yaWdpblkoUmVuZGVyU3R5bGU6OmluaXRp
YWxQZXJzcGVjdGl2ZU9yaWdpblkoKSkKLSNpZiBFTkFCTEUoWEJMKQotICAgICwgYmluZGluZ1VS
SSgwKQotI2VuZGlmCiAgICAgLCBtX3BhZ2VTaXplKCkKICAgICAsIG1fcGFnZVNpemVUeXBlKFBB
R0VfU0laRV9BVVRPKQogewpAQCAtOTcsOSArOTQsNiBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhOjpTdHlsZVJhcmVOb25JCiAgICAgLCBtX3BlcnNwZWN0aXZlKG8ubV9wZXJzcGVjdGl2ZSkK
ICAgICAsIG1fcGVyc3BlY3RpdmVPcmlnaW5YKG8ubV9wZXJzcGVjdGl2ZU9yaWdpblgpCiAgICAg
LCBtX3BlcnNwZWN0aXZlT3JpZ2luWShvLm1fcGVyc3BlY3RpdmVPcmlnaW5ZKQotI2lmIEVOQUJM
RShYQkwpCi0gICAgLCBiaW5kaW5nVVJJKG8uYmluZGluZ1VSSSA/IG8uYmluZGluZ1VSSS0+Y29w
eSgpIDogMCkKLSNlbmRpZgogICAgICwgbV9wYWdlU2l6ZShvLm1fcGFnZVNpemUpCiAgICAgLCBt
X3BhZ2VTaXplVHlwZShvLm1fcGFnZVNpemVUeXBlKQogewpAQCAtMTA5LDE4ICsxMDMsNiBAQCBT
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjp+U3R5bGVSYXJlTm9uCiB7CiB9CiAKLSNpZiBFTkFC
TEUoWEJMKQotYm9vbCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpiaW5kaW5nc0VxdWl2YWxl
bnQoY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSYgbykgY29uc3QKLXsKLSAgICBpZiAo
dGhpcyA9PSAmbykgcmV0dXJuIHRydWU7Ci0gICAgaWYgKCFiaW5kaW5nVVJJICYmIG8uYmluZGlu
Z1VSSSB8fCBiaW5kaW5nVVJJICYmICFvLmJpbmRpbmdVUkkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICBpZiAoYmluZGluZ1VSSSAmJiBvLmJpbmRpbmdVUkkgJiYgKCpiaW5kaW5nVVJJICE9
ICpvLmJpbmRpbmdVUkkpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIHRydWU7
Ci19Ci0jZW5kaWYKLQogYm9vbCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09
KGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEmIG8pIGNvbnN0CiB7CiAgICAgcmV0dXJu
IGxpbmVDbGFtcCA9PSBvLmxpbmVDbGFtcApAQCAtMTUyLDkgKzEzNCw2IEBAIGJvb2wgU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3IKICAgICAgICAgJiYgdHJhbnNpdGlvbkRhdGFF
cXVpdmFsZW50KG8pCiAgICAgICAgICYmIG1fbWFzayA9PSBvLm1fbWFzawogICAgICAgICAmJiBt
X21hc2tCb3hJbWFnZSA9PSBvLm1fbWFza0JveEltYWdlCi0jaWYgRU5BQkxFKFhCTCkKLSAgICAg
ICAgJiYgYmluZGluZ3NFcXVpdmFsZW50KG8pCi0jZW5kaWYKICAgICAgICAgJiYgKG1fdHJhbnNm
b3JtU3R5bGUzRCA9PSBvLm1fdHJhbnNmb3JtU3R5bGUzRCkKICAgICAgICAgJiYgKG1fYmFja2Zh
Y2VWaXNpYmlsaXR5ID09IG8ubV9iYWNrZmFjZVZpc2liaWxpdHkpCiAgICAgICAgICYmIChtX3Bl
cnNwZWN0aXZlID09IG8ubV9wZXJzcGVjdGl2ZSkKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgJKHJldmlzaW9uIDY2MDE4
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5o
CSh3b3JraW5nIGNvcHkpCkBAIC01NCwxMCArNTQsNiBAQCBzdHJ1Y3QgTGVuZ3RoU2l6ZTsKIHN0
cnVjdCBTdHlsZURhc2hib2FyZFJlZ2lvbjsKICNlbmRpZgogCi0jaWYgRU5BQkxFKFhCTCkKLWNs
YXNzIEJpbmRpbmdVUkk7Ci0jZW5kaWYKLQogLy8gUGFnZSBzaXplIHR5cGUuCiAvLyBTdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhOjptX3BhZ2VTaXplIGlzIG1lYW5pbmdmdWwgb25seSB3aGVuIAog
Ly8gU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6bV9wYWdlU2l6ZVR5cGUgaXMgUEFHRV9TSVpF
X1JFU09MVkVELgpAQCAtNzcsMTAgKzczLDYgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8U3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YT4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKCp0aGlzKSk7IH0KICAgICB+U3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YSgpOwogICAgIAotI2lmIEVOQUJMRShYQkwpCi0gICAgYm9vbCBiaW5kaW5n
c0VxdWl2YWxlbnQoY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSYpIGNvbnN0OwotI2Vu
ZGlmCi0KICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YSYpIGNvbnN0OwogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhJiBvKSBjb25zdCB7IHJldHVybiAhKCp0aGlzID09IG8pOyB9CiAKQEAgLTEzNywxMCAr
MTI5LDYgQEAgcHVibGljOgogICAgIExlbmd0aFNpemUgbV9wYWdlU2l6ZTsKICAgICBQYWdlU2l6
ZVR5cGUgbV9wYWdlU2l6ZVR5cGU7CiAKLSNpZiBFTkFCTEUoWEJMKQotICAgIE93blB0cjxCaW5k
aW5nVVJJPiBiaW5kaW5nVVJJOyAvLyBUaGUgWEJMIGJpbmRpbmcgVVJJIGxpc3QuCi0jZW5kaWYK
LSAgICAKIHByaXZhdGU6CiAgICAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpOwogICAgIFN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSYp
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>