<?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>122171</bug_id>
          
          <creation_ts>2013-10-01 12:36:08 -0700</creation_ts>
          <short_desc>REGRESSION(r156722): Crashing like mad on the bots (Requested by andersca on #webkit).</short_desc>
          <delta_ts>2013-10-01 12:39:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>122122</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>andersca</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>935136</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-01 12:36:08 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/156722 broke the build:
Crashing like mad on the bots (Requested by andersca on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935138</commentid>
    <comment_count>1</comment_count>
      <attachid>213112</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-01 12:36:32 -0700</bug_when>
    <thetext>Created attachment 213112
ROLLOUT of r156722

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213112</attachid>
            <date>2013-10-01 12:36:32 -0700</date>
            <delta_ts>2013-10-01 12:39:22 -0700</delta_ts>
            <desc>ROLLOUT of r156722</desc>
            <filename>bug-122171-20131001123632.patch</filename>
            <type>text/plain</type>
            <size>48046</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2QzOWJmNmRiNmIyOTMz
ZWNmZDUxM2U5ODBjNjMwOTA0NTYzZmRmZS4uNGI1MTkzMjJlZjM0ZDdlM2U4YzUxZjdiMjUyMjIw
ZTVjYmY5MjNiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTEwLTAxICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTU2NzIyIGFuZCByMTU2NzI2LgorICAgICAgICBodHRwOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC8xNTY3MjIKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvMTU2NzI2CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjIxNzEKKworICAgICAgICBDcmFzaGluZyBsaWtlIG1hZCBvbiB0aGUgYm90
cyAoUmVxdWVzdGVkIGJ5IGFuZGVyc2NhIG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0F1ZGlvVHJhY2tQcml2YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Ry
YWNrUHJpdmF0ZTo6QXVkaW9UcmFja1ByaXZhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL1ZpZGVvVHJhY2tQcml2YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1RyYWNrUHJp
dmF0ZTo6VmlkZW9UcmFja1ByaXZhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9BVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsLmg6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0FWVHJhY2tQcml2YXRlQVZGT2JqQ0lt
cGwubW06IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L1ZpZGVvVHJhY2tQcml2YXRlQVZGLmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpDLmg6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb1RyYWNrUHJpdmF0ZUFWRk9iakM6OnBsYXllckl0ZW1UcmFjayk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQXVkaW9UcmFj
a1ByaXZhdGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVB
VkZPYmpDOjpBdWRpb1RyYWNrUHJpdmF0ZUFWRk9iakMpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9UcmFja1ByaXZhdGVBVkZPYmpDOjpyZXNldFByb3BlcnRpZXNGcm9tVHJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVBVkZPYmpDOjpzZXRQbGF5ZXJJdGVtVHJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVBVkZPYmpDOjpzZXRFbmFibGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQzo6bGFuZ3VhZ2VG
b3JBVkFzc2V0VHJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6dHJhY2tzQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2sp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvVHJh
Y2tQcml2YXRlQVZGT2JqQy5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9UcmFja1ByaXZhdGVBVkZPYmpDLmg6IFJlbW92ZWQu
CisKIDIwMTMtMTAtMDEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCBidWlsZCBmaXg7IFRoZSBhZGRlZEZ1bmN0aW9uIGFuZCByZW1vdmVkRnVu
Y3Rpb24gYXJndW1lbnRzIHRvIGRldGVybWluZUNoYW5nZWRUcmFja3NGcm9tTmV3VHJhY2tzQW5k
T2xkSXRlbXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBjN2ExYWZiMGEyNGRjZmU0MjNjZGI0NzkxZDYwNDNlMWE3YzczNDQ1Li45
Njk5MTYwZjlkMDYwZWU5MGEyYTNjNmNlOTExMWJkZGJmY2U5ZWQyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MjQxLDExICs1
MjQxLDYgQEAKIAkJQ0QxRTczNDcxNjdCQzc4RTAwOUE4ODVEIC8qIFRleHRUcmFja1JlcHJlc2Vu
dGF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEMUU3MzQ2MTY3QkM3OEUwMDlBODg1RCAvKiBUZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5jcHAg
Ki87IH07CiAJCUNEMjdGNkU1MTQ1NzY4NUEwMDc4MjA3RCAvKiBKU01lZGlhQ29udHJvbGxlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDI3RjZF
MjE0NTc2NzU4MDA3ODIwN0QgLyogSlNNZWRpYUNvbnRyb2xsZXIuY3BwICovOyB9OwogCQlDRDI3
RjZFNzE0NTc3MEQzMDA3ODIwN0QgLyogTWVkaWFDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMjdGNkU2MTQ1NzcwRDMwMDc4MjA3
RCAvKiBNZWRpYUNvbnRyb2xsZXIuY3BwICovOyB9OwotCQlDRDMzNkY2MTE3RjlGNjQ3MDBERERD
RDAgLyogQVZUcmFja1ByaXZhdGVBVkZPYmpDSW1wbC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMzM2RjVGMTdGOUY2NDcwMERERENEMCAvKiBBVlRy
YWNrUHJpdmF0ZUFWRk9iakNJbXBsLm1tICovOyB9OwotCQlDRDMzNkY2MjE3RjlGNjQ3MDBERERD
RDAgLyogQVZUcmFja1ByaXZhdGVBVkZPYmpDSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzMzZGNjAxN0Y5RjY0NzAwREREQ0QwIC8qIEFWVHJh
Y2tQcml2YXRlQVZGT2JqQ0ltcGwuaCAqLzsgfTsKLQkJQ0QzMzZGNjQxN0ZBMEE0RDAwREREQ0Qw
IC8qIFZpZGVvVHJhY2tQcml2YXRlQVZGLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRDMzNkY2MzE3RkEwQTREMDBERERDRDAgLyogVmlkZW9UcmFja1By
aXZhdGVBVkYuaCAqLzsgfTsKLQkJQ0QzMzZGNjcxN0ZBMEFDNjAwREREQ0QwIC8qIFZpZGVvVHJh
Y2tQcml2YXRlQVZGT2JqQy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDMzNkY2NTE3RkEwQUM2MDBERERDRDAgLyogVmlkZW9UcmFja1ByaXZhdGVB
VkZPYmpDLmNwcCAqLzsgfTsKLQkJQ0QzMzZGNjgxN0ZBMEFDNjAwREREQ0QwIC8qIFZpZGVvVHJh
Y2tQcml2YXRlQVZGT2JqQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0QzMzZGNjYxN0ZBMEFDNjAwREREQ0QwIC8qIFZpZGVvVHJhY2tQcml2YXRlQVZG
T2JqQy5oICovOyB9OwogCQlDRDM3QjM5ODE1QzFCOTcxMDA2REM4OTggLyogRGlhZ25vc3RpY0xv
Z2dpbmdLZXlzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEMzdCMzc0MTVDMUE3RTEwMDZEQzg5OCAvKiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuY3Bw
ICovOyB9OwogCQlDRDNBNDk1MjE3QTlDOEM2MDAyNzRFNDIgLyogTWVkaWFTb3VyY2VCYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDNBNDk1MTE3
QTlDOEI2MDAyNzRFNDIgLyogTWVkaWFTb3VyY2VCYXNlLmggKi87IH07CiAJCUNEM0E0OTU0MTdB
OUNDOTAwMDI3NEU0MiAvKiBNZWRpYVNvdXJjZUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzQTQ5NTAxN0E5QzhCNjAwMjc0RTQyIC8qIE1l
ZGlhU291cmNlQmFzZS5jcHAgKi87IH07CkBAIC0xMjEwOSwxMSArMTIxMDQsNiBAQAogCQlDRDI3
RjZFMzE0NTc2NzU4MDA3ODIwN0QgLyogSlNNZWRpYUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0QyN0Y2RTQxNDU3Njc4NzAwNzgyMDdEIC8qIE1lZGlhQ29udHJvbGxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUNvbnRyb2xsZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QyN0Y2RTYxNDU3NzBEMzAwNzgyMDdEIC8q
IE1lZGlhQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNZWRpYUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDRDMz
NkY1RjE3RjlGNjQ3MDBERERDRDAgLyogQVZUcmFja1ByaXZhdGVBVkZPYmpDSW1wbC5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFWVHJhY2tQcml2YXRlQVZGT2Jq
Q0ltcGwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNEMzM2RjYwMTdGOUY2NDcw
MERERENEMCAvKiBBVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFWVHJhY2tQcml2YXRlQVZGT2JqQ0ltcGwuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJQ0QzMzZGNjMxN0ZBMEE0RDAwREREQ0QwIC8qIFZpZGVvVHJhY2tQ
cml2YXRlQVZGLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZpZGVvVHJhY2tQ
cml2YXRlQVZGLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNEMzM2RjY1MTdGQTBB
QzYwMERERENEMCAvKiBWaWRlb1RyYWNrUHJpdmF0ZUFWRk9iakMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gVmlkZW9UcmFja1ByaXZhdGVBVkZPYmpDLmNwcDsgcGF0
aCA9IG9iamMvVmlkZW9UcmFja1ByaXZhdGVBVkZPYmpDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQ0QzMzZGNjYxN0ZBMEFDNjAwREREQ0QwIC8qIFZpZGVvVHJhY2tQcml2YXRl
QVZGT2JqQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBWaWRlb1RyYWNrUHJp
dmF0ZUFWRk9iakMuaDsgcGF0aCA9IG9iamMvVmlkZW9UcmFja1ByaXZhdGVBVkZPYmpDLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMzdCMzc0MTVDMUE3RTEwMDZEQzg5OCAvKiBE
aWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0QzN0IzNzUxNUMxQTdFMTAwNkRDODk4IC8qIERpYWdub3N0aWNMb2dnaW5nS2V5cy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaWFnbm9zdGljTG9nZ2luZ0tleXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QzQTQ5NTAxN0E5QzhCNjAwMjc0RTQy
IC8qIE1lZGlhU291cmNlQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVNvdXJjZUJh
c2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMzNDYsNyArMTMzMzYsNiBA
QAogCQkJCTA3QjQ0MkQ1MTY2QzcwQjAwMDU1NkNBRCAvKiBJbmJhbmRUZXh0VHJhY2tQcml2YXRl
QVZGLmggKi8sCiAJCQkJMDc2RjBEMDkxMkI4MTkyNzAwQzI2QUE0IC8qIE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbi5jcHAgKi8sCiAJCQkJMDc2RjBEMEExMkI4MTkyNzAwQzI2QUE0IC8q
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oICovLAotCQkJCUNEMzM2RjYzMTdGQTBB
NEQwMERERENEMCAvKiBWaWRlb1RyYWNrUHJpdmF0ZUFWRi5oICovLAogCQkJKTsKIAkJCXBhdGgg
PSBhdmZvdW5kYXRpb247CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTk4NTIsOCAr
MTk4NDEsNiBAQAogCQlERjlBRkQ2RjEzRkMzMUIwMDAxNUZFQjcgLyogb2JqYyAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJQ0QzMzZGNUYxN0Y5RjY0NzAw
REREQ0QwIC8qIEFWVHJhY2tQcml2YXRlQVZGT2JqQ0ltcGwubW0gKi8sCi0JCQkJQ0QzMzZGNjAx
N0Y5RjY0NzAwREREQ0QwIC8qIEFWVHJhY2tQcml2YXRlQVZGT2JqQ0ltcGwuaCAqLywKIAkJCQlD
REUzQTg1NTE3RjYwMjA0MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpDLm1tICov
LAogCQkJCUNERTNBODU2MTdGNjAyMDQwMEM1QkUyMCAvKiBBdWRpb1RyYWNrUHJpdmF0ZUFWRk9i
akMuaCAqLywKIAkJCQkwN0FBNkI2OTE2NkQwMTk1MDBENDU2NzEgLyogSW5iYW5kVGV4dFRyYWNr
UHJpdmF0ZUFWRk9iakMuaCAqLywKQEAgLTE5ODY0LDggKzE5ODUxLDYgQEAKIAkJCQlERjlBRkQ3
MTEzRkMzMUQ4MDAxNUZFQjcgLyogTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5t
bSAqLywKIAkJCQlDRDdFMDUyMDE2NTFBODQxMDBDMTIwMUYgLyogV2ViQ29yZUFWRlJlc291cmNl
TG9hZGVyLmggKi8sCiAJCQkJQ0Q3RTA1MjExNjUxQTg0MTAwQzEyMDFGIC8qIFdlYkNvcmVBVkZS
ZXNvdXJjZUxvYWRlci5tbSAqLywKLQkJCQlDRDMzNkY2NTE3RkEwQUM2MDBERERDRDAgLyogVmlk
ZW9UcmFja1ByaXZhdGVBVkZPYmpDLmNwcCAqLywKLQkJCQlDRDMzNkY2NjE3RkEwQUM2MDBERERD
RDAgLyogVmlkZW9UcmFja1ByaXZhdGVBVkZPYmpDLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IG9i
amM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjMwODcsNyArMjMwNzIsNiBAQAog
CQkJCTg0ODUyMjdFMTE5MDE2MkMwMDZFREM3RiAvKiBKU1NWR1ZLZXJuRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDc4RTA5MjAxN0QxNEQxQzAwNDIwQUExIC8qIFJUQ0RUTUZTZW5kZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTcxRENCNzAyMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pv
b21BbmRQYW4uaCBpbiBIZWFkZXJzICovLAotCQkJCUNEMzM2RjY0MTdGQTBBNEQwMERERENEMCAv
KiBWaWRlb1RyYWNrUHJpdmF0ZUFWRi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNFMTkwQUI3
NUE2RjAwMEU1QUM0IC8qIEpTU1ZHWm9vbUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NURG
MzIwNDA5RDFDQzYwMDAwQkUzMjUgLyogSlNUZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzNB
MTRCOTBCN0QxRDUyMDBBNTNGRkQgLyogSlNUZXh0RXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAt
MjM0NDcsNyArMjM0MzEsNiBAQAogCQkJCTk3NDZBRjJDMTRGNERERTYwMDNFN0E3MCAvKiBQb3Np
dGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzQ2QUYyRTE0RjREREU2MDAzRTdB
NzAgLyogUG9zaXRpb25FcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc0NkFGMzAxNEY0RERF
NjAwM0U3QTcwIC8qIFBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
Q0QzMzZGNjgxN0ZBMEFDNjAwREREQ0QwIC8qIFZpZGVvVHJhY2tQcml2YXRlQVZGT2JqQy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzc5MTlDMjQwQjdEMTg4NjAwQTU2OTk4IC8qIFBvc2l0aW9uSXRl
cmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NDZBRjMyMTRGNERERTYwMDNFN0E3MCAvKiBQ
b3NpdGlvbk9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUMwRjJBNDQxMTM4NjlBQUIwMDY2
QzUzNCAvKiBwcmVwcm9jZXNzb3IucG0gaW4gSGVhZGVycyAqLywKQEAgLTI0NDIwLDcgKzI0NDAz
LDYgQEAKIAkJCQlBMTM2QTAwRDExMzREQkQyMDBDQzhENTAgLyogWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDREZENDhFMEUzMDUyOTAw
MDlEMTBBRCAvKiBYTUxIdHRwUmVxdWVzdFVwbG9hZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgz
M0M4MEQwQTJDRjI1NjAwRDU3NjY0IC8qIFhNTE5hbWVzLmggaW4gSGVhZGVycyAqLywKLQkJCQlD
RDMzNkY2MjE3RjlGNjQ3MDBERERDRDAgLyogQVZUcmFja1ByaXZhdGVBVkZPYmpDSW1wbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTE1QTM2RDcxMTA0NTcyMDAwQjdCNjM5IC8qIFhNTE5TTmFtZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBQ0U1M0VCMEE4RDE4RTcwMDIyOTQ3RCAvKiBYTUxTZXJp
YWxpemVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1OTA1QURDMDEzMDJGM0NFMDBGMTE2REYgLyog
WE1MVHJlZVZpZXdlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjAwNCw3ICsyNTk4Niw2IEBACiAJ
CQkJMUE0OTRCRkEwQTEyMkY0NDAwRkRBRkMxIC8qIEpTSFRNTEVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMDc5NjlEQjExN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDRFRNRlRvbmVDaGFu
Z2VFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzU4MjNGNTBDMEE5OERGMDA1M0YxQjUg
LyogSlNIVE1MRWxlbWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlDRDMzNkY2NzE3
RkEwQUM2MDBERERDRDAgLyogVmlkZW9UcmFja1ByaXZhdGVBVkZPYmpDLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzOEU2NUY3MDlGMDk4NUQwMDhBNDhFQyAvKiBKU0hUTUxFbGVtZW50V3JhcHBl
ckZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2RDQ0RUMwQzA3RjJFRDAwNzJEMkM5
IC8qIEpTSFRNTEVtYmVkRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzZENDRCRTBD
MDdFRkI2MDA3MkQyQzkgLyogSlNIVE1MRW1iZWRFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMjY0MjEsNyArMjY0MDIsNiBAQAogCQkJCTVEQTVFMEZDMTAyQjk1MzgwMDA4OENG
OSAvKiBKU1dlYlNvY2tldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzIwNTA5RDFDQzYw
MDAwQkUzMjUgLyogSlNXaGVlbEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxQzhCRTVE
MEU4QkQxNUEwMDY0Q0I3RCAvKiBKU1dvcmtlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlDRDMz
NkY2MTE3RjlGNjQ3MDBERERDRDAgLyogQVZUcmFja1ByaXZhdGVBVkZPYmpDSW1wbC5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUUxQ0E1Q0JDMEU4Q0RDQUYwMEU4RUY5MCAvKiBKU1dvcmtlckN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTgyNTY4RjBFRjJCMDJEMDA5MzMyNDIgLyogSlNX
b3JrZXJHbG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMzNkQzNDBFQjBBMDk0
MDA3NDEwQkMgLyogSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BdWRpb1RyYWNrUHJp
dmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQXVkaW9UcmFja1ByaXZh
dGUuaAppbmRleCA5ZGVjMmY5YzE1OThmYTNkZGZjZjliZDA0MDcyM2UxM2ExNWE4YmMyLi5hZmQ5
MTdhMzdiZjA4YjI3YzJlZWU0YTAyN2M0OTQ1MjliYzI2Mjc4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BdWRpb1RyYWNrUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0F1ZGlvVHJhY2tQcml2YXRlLmgKQEAgLTc1LDgg
Kzc1LDcgQEAgcHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAgQXVkaW9UcmFja1ByaXZhdGUoKQot
ICAgICAgICA6IG1fY2xpZW50KDApCi0gICAgICAgICwgbV9lbmFibGVkKGZhbHNlKQorICAgICAg
ICA6IG1fZW5hYmxlZChmYWxzZSkKICAgICB7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9WaWRlb1RyYWNrUHJpdmF0ZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVmlkZW9UcmFja1ByaXZhdGUuaAppbmRleCBkODI3OWY2
YmM1Y2NmNjBmNDRkNTM2MTIwOWJlNjU3YTdmNDQwMjRlLi5iMTUxNjg0Mzg2MDFiYzQ0NWFiNDE2
Y2QyNmE0ZTY0MDg1YjlkYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9WaWRlb1RyYWNrUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1ZpZGVvVHJhY2tQcml2YXRlLmgKQEAgLTc1LDggKzc1LDcgQEAgcHVibGljOgog
CiBwcm90ZWN0ZWQ6CiAgICAgVmlkZW9UcmFja1ByaXZhdGUoKQotICAgICAgICA6IG1fY2xpZW50
KDApCi0gICAgICAgICwgbV9zZWxlY3RlZChmYWxzZSkKKyAgICAgICAgOiBtX3NlbGVjdGVkKGZh
bHNlKQogICAgIHsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9BVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vQVZUcmFja1ByaXZhdGVB
VkZPYmpDSW1wbC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NTNhYTA0YjAyZjRi
MjE5NGEyZDIwOThjN2RiNDJkYWM3NjBkMTU2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9BVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3
MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBBVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsX2gK
LSNkZWZpbmUgQVZUcmFja1ByaXZhdGVBVkZPYmpDSW1wbF9oCi0KLSNpZiBFTkFCTEUoVklERU9f
VFJBQ0spCi0KLSNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZS5oIgotI2luY2x1ZGUgIlZpZGVv
VHJhY2tQcml2YXRlLmgiCi0jaW5jbHVkZSA8d3RmL093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9S
ZXRhaW5QdHIuaD4KLQotT0JKQ19DTEFTUyBBVkFzc2V0VHJhY2s7Ci1PQkpDX0NMQVNTIEFWUGxh
eWVySXRlbVRyYWNrOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEFWVHJhY2tQcml2
YXRlQVZGT2JqQ0ltcGwgewotcHVibGljOgotICAgIHN0YXRpYyBPd25QdHI8QVZUcmFja1ByaXZh
dGVBVkZPYmpDSW1wbD4gY3JlYXRlKEFWUGxheWVySXRlbVRyYWNrKiB0cmFjaykKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBjcmVhdGVPd25lZDxBVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsPih0cmFj
ayk7Ci0gICAgfQotICAgIEFWVHJhY2tQcml2YXRlQVZGT2JqQ0ltcGwoQVZQbGF5ZXJJdGVtVHJh
Y2sqKTsKLQotICAgIEFWUGxheWVySXRlbVRyYWNrKiBwbGF5ZXJJdGVtVHJhY2soKSBjb25zdCB7
IHJldHVybiBtX3BsYXllckl0ZW1UcmFjay5nZXQoKTsgfQotCi0gICAgYm9vbCBlbmFibGVkKCkg
Y29uc3Q7Ci0gICAgdm9pZCBzZXRFbmFibGVkKGJvb2wpOwotCi0gICAgQXVkaW9UcmFja1ByaXZh
dGU6OktpbmQgYXVkaW9LaW5kKCkgY29uc3Q7Ci0gICAgVmlkZW9UcmFja1ByaXZhdGU6OktpbmQg
dmlkZW9LaW5kKCkgY29uc3Q7Ci0KLSAgICBBdG9taWNTdHJpbmcgaWQoKSBjb25zdDsKLSAgICBB
dG9taWNTdHJpbmcgbGFiZWwoKSBjb25zdDsKLSAgICBBdG9taWNTdHJpbmcgbGFuZ3VhZ2UoKSBj
b25zdDsKLQotICAgIHN0YXRpYyBTdHJpbmcgbGFuZ3VhZ2VGb3JBVkFzc2V0VHJhY2soQVZBc3Nl
dFRyYWNrKik7Ci0KLXByaXZhdGU6Ci0gICAgUmV0YWluUHRyPEFWUGxheWVySXRlbVRyYWNrPiBt
X3BsYXllckl0ZW1UcmFjazsKLX07Ci0KLX0KLQotI2VuZGlmIC8vIEVOQUJMRShWSURFT19UUkFD
SykKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vQVZUcmFja1ByaXZhdGVBVkZPYmpDSW1wbC5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9BVlRyYWNrUHJpdmF0ZUFWRk9iakNJ
bXBsLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTc4YzYzZGUxYTU1ZDY5ZDdi
ODUzMTkxZWNlNjIxZTM2N2IyYzQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9BVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMTQ2ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQVZUcmFja1By
aXZhdGVBVkZPYmpDSW1wbC5oIgotCi0jaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotCi0jaW1wb3J0
ICJTb2Z0TGlua2luZy5oIgotI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+Ci0jaW1wb3J0IDxBVkZv
dW5kYXRpb24vQVZBc3NldFRyYWNrLmg+Ci0jaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZQbGF5ZXJJ
dGVtVHJhY2suaD4KLSNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVk1ldGFkYXRhSXRlbS5oPgotCi1T
T0ZUX0xJTktfRlJBTUVXT1JLX09QVElPTkFMKEFWRm91bmRhdGlvbikKLQotU09GVF9MSU5LX0NM
QVNTKEFWRm91bmRhdGlvbiwgQVZBc3NldFRyYWNrKQotU09GVF9MSU5LX0NMQVNTKEFWRm91bmRh
dGlvbiwgQVZQbGF5ZXJJdGVtVHJhY2spCi1TT0ZUX0xJTktfQ0xBU1MoQVZGb3VuZGF0aW9uLCBB
Vk1ldGFkYXRhSXRlbSkKLQotU09GVF9MSU5LX1BPSU5URVJfT1BUSU9OQUwoQVZGb3VuZGF0aW9u
LCBBVk1lZGlhQ2hhcmFjdGVyaXN0aWNJc01haW5Qcm9ncmFtQ29udGVudCwgTlNTdHJpbmcgKikK
LVNPRlRfTElOS19QT0lOVEVSX09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZNZWRpYUNoYXJhY3Rl
cmlzdGljRGVzY3JpYmVzVmlkZW9Gb3JBY2Nlc3NpYmlsaXR5LCBOU1N0cmluZyAqKQotU09GVF9M
SU5LX1BPSU5URVJfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVk1lZGlhQ2hhcmFjdGVyaXN0aWNJ
c0F1eGlsaWFyeUNvbnRlbnQsIE5TU3RyaW5nICopCi1TT0ZUX0xJTktfUE9JTlRFUl9PUFRJT05B
TChBVkZvdW5kYXRpb24sIEFWTWVkaWFDaGFyYWN0ZXJpc3RpY1RyYW5zY3JpYmVzU3Bva2VuRGlh
bG9nRm9yQWNjZXNzaWJpbGl0eSwgTlNTdHJpbmcgKikKLVNPRlRfTElOS19QT0lOVEVSX09QVElP
TkFMKEFWRm91bmRhdGlvbiwgQVZNZXRhZGF0YUNvbW1vbktleVRpdGxlLCBOU1N0cmluZyAqKQot
U09GVF9MSU5LX1BPSU5URVJfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVk1ldGFkYXRhS2V5U3Bh
Y2VDb21tb24sIE5TU3RyaW5nICopCi0KLSNkZWZpbmUgQVZNZXRhZGF0YUl0ZW0gZ2V0QVZNZXRh
ZGF0YUl0ZW1DbGFzcygpCi0KLSNkZWZpbmUgQVZNZWRpYUNoYXJhY3RlcmlzdGljSXNNYWluUHJv
Z3JhbUNvbnRlbnQgZ2V0QVZNZWRpYUNoYXJhY3RlcmlzdGljSXNNYWluUHJvZ3JhbUNvbnRlbnQo
KQotI2RlZmluZSBBVk1lZGlhQ2hhcmFjdGVyaXN0aWNEZXNjcmliZXNWaWRlb0ZvckFjY2Vzc2li
aWxpdHkgZ2V0QVZNZWRpYUNoYXJhY3RlcmlzdGljRGVzY3JpYmVzVmlkZW9Gb3JBY2Nlc3NpYmls
aXR5KCkKLSNkZWZpbmUgQVZNZWRpYUNoYXJhY3RlcmlzdGljSXNBdXhpbGlhcnlDb250ZW50IGdl
dEFWTWVkaWFDaGFyYWN0ZXJpc3RpY0lzQXV4aWxpYXJ5Q29udGVudCgpCi0jZGVmaW5lIEFWTWVk
aWFDaGFyYWN0ZXJpc3RpY1RyYW5zY3JpYmVzU3Bva2VuRGlhbG9nRm9yQWNjZXNzaWJpbGl0eSBn
ZXRBVk1lZGlhQ2hhcmFjdGVyaXN0aWNUcmFuc2NyaWJlc1Nwb2tlbkRpYWxvZ0ZvckFjY2Vzc2li
aWxpdHkoKQotI2RlZmluZSBBVk1ldGFkYXRhQ29tbW9uS2V5VGl0bGUgZ2V0QVZNZXRhZGF0YUNv
bW1vbktleVRpdGxlKCkKLSNkZWZpbmUgQVZNZXRhZGF0YUtleVNwYWNlQ29tbW9uIGdldEFWTWV0
YWRhdGFLZXlTcGFjZUNvbW1vbigpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotQVZUcmFja1By
aXZhdGVBVkZPYmpDSW1wbDo6QVZUcmFja1ByaXZhdGVBVkZPYmpDSW1wbChBVlBsYXllckl0ZW1U
cmFjayogdHJhY2spCi0gICAgOiBtX3BsYXllckl0ZW1UcmFjayh0cmFjaykKLXsKLX0KLQotYm9v
bCBBVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsOjplbmFibGVkKCkgY29uc3QKLXsKLSAgICByZXR1
cm4gW21fcGxheWVySXRlbVRyYWNrLmdldCgpIGlzRW5hYmxlZF07Ci19Ci0KLXZvaWQgQVZUcmFj
a1ByaXZhdGVBVkZPYmpDSW1wbDo6c2V0RW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgW21f
cGxheWVySXRlbVRyYWNrLmdldCgpIHNldEVuYWJsZWQ6ZW5hYmxlZF07Ci19Ci0KLUF1ZGlvVHJh
Y2tQcml2YXRlOjpLaW5kIEFWVHJhY2tQcml2YXRlQVZGT2JqQ0ltcGw6OmF1ZGlvS2luZCgpIGNv
bnN0Ci17Ci0gICAgQVZBc3NldFRyYWNrKiBhc3NldFRyYWNrID0gW21fcGxheWVySXRlbVRyYWNr
LmdldCgpIGFzc2V0VHJhY2tdOwotICAgIGlmIChbYXNzZXRUcmFjayBoYXNNZWRpYUNoYXJhY3Rl
cmlzdGljOkFWTWVkaWFDaGFyYWN0ZXJpc3RpY0lzQXV4aWxpYXJ5Q29udGVudF0pCi0gICAgICAg
IHJldHVybiBBdWRpb1RyYWNrUHJpdmF0ZTo6QWx0ZXJuYXRpdmU7Ci0gICAgZWxzZSBpZiAoW2Fz
c2V0VHJhY2sgaGFzTWVkaWFDaGFyYWN0ZXJpc3RpYzpBVk1lZGlhQ2hhcmFjdGVyaXN0aWNJc01h
aW5Qcm9ncmFtQ29udGVudF0pCi0gICAgICAgIHJldHVybiBBdWRpb1RyYWNrUHJpdmF0ZTo6TWFp
bjsKLSAgICByZXR1cm4gQXVkaW9UcmFja1ByaXZhdGU6Ok5vbmU7Ci19Ci0KLVZpZGVvVHJhY2tQ
cml2YXRlOjpLaW5kIEFWVHJhY2tQcml2YXRlQVZGT2JqQ0ltcGw6OnZpZGVvS2luZCgpIGNvbnN0
Ci17Ci0gICAgQVZBc3NldFRyYWNrKiBhc3NldFRyYWNrID0gW21fcGxheWVySXRlbVRyYWNrLmdl
dCgpIGFzc2V0VHJhY2tdOwotICAgIGlmIChbYXNzZXRUcmFjayBoYXNNZWRpYUNoYXJhY3Rlcmlz
dGljOkFWTWVkaWFDaGFyYWN0ZXJpc3RpY0Rlc2NyaWJlc1ZpZGVvRm9yQWNjZXNzaWJpbGl0eV0p
Ci0gICAgICAgIHJldHVybiBWaWRlb1RyYWNrUHJpdmF0ZTo6U2lnbjsKLSAgICBlbHNlIGlmIChb
YXNzZXRUcmFjayBoYXNNZWRpYUNoYXJhY3RlcmlzdGljOkFWTWVkaWFDaGFyYWN0ZXJpc3RpY1Ry
YW5zY3JpYmVzU3Bva2VuRGlhbG9nRm9yQWNjZXNzaWJpbGl0eV0pCi0gICAgICAgIHJldHVybiBW
aWRlb1RyYWNrUHJpdmF0ZTo6Q2FwdGlvbnM7Ci0gICAgZWxzZSBpZiAoW2Fzc2V0VHJhY2sgaGFz
TWVkaWFDaGFyYWN0ZXJpc3RpYzpBVk1lZGlhQ2hhcmFjdGVyaXN0aWNJc0F1eGlsaWFyeUNvbnRl
bnRdKQotICAgICAgICByZXR1cm4gVmlkZW9UcmFja1ByaXZhdGU6OkFsdGVybmF0aXZlOwotICAg
IGVsc2UgaWYgKFthc3NldFRyYWNrIGhhc01lZGlhQ2hhcmFjdGVyaXN0aWM6QVZNZWRpYUNoYXJh
Y3RlcmlzdGljSXNNYWluUHJvZ3JhbUNvbnRlbnRdKQotICAgICAgICByZXR1cm4gVmlkZW9UcmFj
a1ByaXZhdGU6Ok1haW47Ci0gICAgcmV0dXJuIFZpZGVvVHJhY2tQcml2YXRlOjpOb25lOwotfQot
Ci1BdG9taWNTdHJpbmcgQVZUcmFja1ByaXZhdGVBVkZPYmpDSW1wbDo6aWQoKSBjb25zdAotewot
ICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJWQiLCBbW21fcGxheWVySXRlbVRyYWNrLmdldCgp
IGFzc2V0VHJhY2tdIHRyYWNrSURdKTsKLX0KLQotQXRvbWljU3RyaW5nIEFWVHJhY2tQcml2YXRl
QVZGT2JqQ0ltcGw6OmxhYmVsKCkgY29uc3QKLXsKLSAgICBOU0FycmF5ICp0aXRsZXMgPSBbQVZN
ZXRhZGF0YUl0ZW0gbWV0YWRhdGFJdGVtc0Zyb21BcnJheTpbW21fcGxheWVySXRlbVRyYWNrLmdl
dCgpIGFzc2V0VHJhY2tdIGNvbW1vbk1ldGFkYXRhXSB3aXRoS2V5OkFWTWV0YWRhdGFDb21tb25L
ZXlUaXRsZSBrZXlTcGFjZTpBVk1ldGFkYXRhS2V5U3BhY2VDb21tb25dOwotICAgIGlmICghW3Rp
dGxlcyBjb3VudF0pCi0gICAgICAgIHJldHVybiBlbXB0eUF0b207Ci0KLSAgICAvLyBJZiBwb3Nz
aWJsZSwgcmV0dXJuIGEgdGl0bGUgaW4gb25lIG9mIHRoZSB1c2VyJ3MgcHJlZmVycmVkIGxhbmd1
YWdlcy4KLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwODAKLSAgICBO
U0FycmF5ICp0aXRsZXNGb3JQcmVmZXJyZWRMYW5ndWFnZXMgPSBbQVZNZXRhZGF0YUl0ZW0gbWV0
YWRhdGFJdGVtc0Zyb21BcnJheTp0aXRsZXMgZmlsdGVyZWRBbmRTb3J0ZWRBY2NvcmRpbmdUb1By
ZWZlcnJlZExhbmd1YWdlczpbTlNMb2NhbGUgcHJlZmVycmVkTGFuZ3VhZ2VzXV07Ci0jZWxzZQot
ICAgIE5TQXJyYXkgKnRpdGxlc0ZvclByZWZlcnJlZExhbmd1YWdlcyA9IFtBVk1ldGFkYXRhSXRl
bSBtZXRhZGF0YUl0ZW1zRnJvbUFycmF5OnRpdGxlcyB3aXRoTG9jYWxlOltOU0xvY2FsZSBjdXJy
ZW50TG9jYWxlXV07Ci0jZW5kaWYKLSAgICBpZiAoW3RpdGxlc0ZvclByZWZlcnJlZExhbmd1YWdl
cyBjb3VudF0pCi0gICAgICAgIHJldHVybiBbW3RpdGxlc0ZvclByZWZlcnJlZExhbmd1YWdlcyBv
YmplY3RBdEluZGV4OjBdIHN0cmluZ1ZhbHVlXTsKLSAgICByZXR1cm4gW1t0aXRsZXMgb2JqZWN0
QXRJbmRleDowXSBzdHJpbmdWYWx1ZV07Ci19Ci0KLUF0b21pY1N0cmluZyBBVlRyYWNrUHJpdmF0
ZUFWRk9iakNJbXBsOjpsYW5ndWFnZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGxhbmd1YWdlRm9y
QVZBc3NldFRyYWNrKFttX3BsYXllckl0ZW1UcmFjay5nZXQoKSBhc3NldFRyYWNrXSk7Ci19Ci0K
LVN0cmluZyBBVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsOjpsYW5ndWFnZUZvckFWQXNzZXRUcmFj
ayhBVkFzc2V0VHJhY2sqIHRyYWNrKQotewotICAgIE5TU3RyaW5nICpsYW5ndWFnZSA9IFt0cmFj
ayBleHRlbmRlZExhbmd1YWdlVGFnXTsKLQotICAgIC8vIElmIHRoZSBsYW5ndWFnZSBjb2RlIGlz
IHN0b3JlZCBhcyBhIFF1aWNrVGltZSA1LWJpdCBwYWNrZWQgY29kZSB0aGVyZSBhcmVuJ3QgZW5v
dWdoIGJpdHMgZm9yIGEgZnVsbAotICAgIC8vIFJGQyA0NjQ2IGxhbmd1YWdlIHRhZyBzbyBleHRl
bmRlZExhbmd1YWdlVGFnIHJldHVybnMgTlVMTC4gSW4gdGhpcyBjYXNlIGxhbmd1YWdlQ29kZSB3
aWxsIHJldHVybiB0aGUKLSAgICAvLyBJU08gNjM5LTIvVCBsYW5ndWFnZSBjb2RlIHNvIGNoZWNr
IGl0LgotICAgIGlmICghbGFuZ3VhZ2UpCi0gICAgICAgIGxhbmd1YWdlID0gW3RyYWNrIGxhbmd1
YWdlQ29kZV07Ci0KLSAgICAvLyBTb21lIGxlZ2FjeSB0cmFja3MgaGF2ZSAidW5kIiBhcyBhIGxh
bmd1YWdlLCB0cmVhdCB0aGF0IHRoZSBzYW1lIGFzIG5vIGxhbmd1YWdlIGF0IGFsbC4KLSAgICBp
ZiAoIWxhbmd1YWdlIHx8IFtsYW5ndWFnZSBpc0VxdWFsVG9TdHJpbmc6QCJ1bmQiXSkKLSAgICAg
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0KLSAgICByZXR1cm4gbGFuZ3VhZ2U7Ci19Ci0KLX0K
LQotI2VuZGlmIC8vIEVOQUJMRShWSURFT19UUkFDSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9WaWRlb1RyYWNrUHJpdmF0ZUFWRi5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL1ZpZGVvVHJh
Y2tQcml2YXRlQVZGLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzNTA0MzlhNTFh
M2E1MTc1NmRkYWRlMzUxY2UzNzlhOGRhMmU2N2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL1ZpZGVvVHJhY2tQcml2YXRlQVZGLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NSAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgot
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBWaWRlb1RyYWNrUHJpdmF0ZUFWRl9oCi0jZGVm
aW5lIFZpZGVvVHJhY2tQcml2YXRlQVZGX2gKLQotI2lmIEVOQUJMRShWSURFT19UUkFDSykKLQot
I2luY2x1ZGUgIlZpZGVvVHJhY2tQcml2YXRlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgVmlkZW9UcmFja1ByaXZhdGVBVkYgOiBwdWJsaWMgVmlkZW9UcmFja1ByaXZhdGUgewot
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZpZGVvVHJhY2tQcml2YXRlQVZGKQotcHVibGljOgot
Ci0gICAgdmlydHVhbCBLaW5kIGtpbmQoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBtX2tpbmQ7
IH0KLSAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBpZCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJu
IG1faWQ7IH0KLSAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBsYWJlbCgpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuIG1fbGFiZWw7IH0KLSAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBsYW5ndWFnZSgp
IGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fbGFuZ3VhZ2U7IH0KLQotcHJvdGVjdGVkOgotICAg
IHZvaWQgc2V0S2luZChLaW5kIGtpbmQpIHsgbV9raW5kID0ga2luZDsgfQotICAgIHZvaWQgc2V0
SWQoQXRvbWljU3RyaW5nIG5ld0lkKSB7IG1faWQgPSBuZXdJZDsgfQotICAgIHZvaWQgc2V0TGFi
ZWwoQXRvbWljU3RyaW5nIGxhYmVsKSB7IG1fbGFiZWwgPSBsYWJlbDsgfQotICAgIHZvaWQgc2V0
TGFuZ3VhZ2UoQXRvbWljU3RyaW5nIGxhbmd1YWdlKSB7IG1fbGFuZ3VhZ2UgPSBsYW5ndWFnZTsg
fQotCi0gICAgS2luZCBtX2tpbmQ7Ci0gICAgQXRvbWljU3RyaW5nIG1faWQ7Ci0gICAgQXRvbWlj
U3RyaW5nIG1fbGFiZWw7Ci0gICAgQXRvbWljU3RyaW5nIG1fbGFuZ3VhZ2U7Ci0KLSAgICBWaWRl
b1RyYWNrUHJpdmF0ZUFWRigpCi0gICAgICAgIDogbV9raW5kKE5vbmUpCi0gICAgewotICAgIH0K
LX07Ci0KLX0KLQotI2VuZGlmIC8vIEVOQUJMRShWSURFT19UUkFDSykKLQotI2VuZGlmIC8vIFZp
ZGVvVHJhY2tQcml2YXRlQVZGX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0F1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQXVkaW9U
cmFja1ByaXZhdGVBVkZPYmpDLmgKaW5kZXggN2VlYThjNWU4YWVmMmJmZTY2NzY4Y2JmODRhMTll
ZThmMjQ5N2ZlYS4uNGM0MWNkNzI0MzBjY2RhZTNmYTkwNDUzZGJhZWRlZTg5N2E4ZGJjOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpDLmgK
QEAgLTI5LDE0ICsyOSwxMyBAQAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKIAogI2luY2x1ZGUg
IkF1ZGlvVHJhY2tQcml2YXRlQVZGLmgiCi0jaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAorT0JKQ19DTEFTUyBBVkFzc2V0VHJhY2s7CiBPQkpDX0NM
QVNTIEFWUGxheWVySXRlbVRyYWNrOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFW
VHJhY2tQcml2YXRlQVZGT2JqQ0ltcGw7Ci0KIGNsYXNzIEF1ZGlvVHJhY2tQcml2YXRlQVZGT2Jq
QyA6IHB1YmxpYyBBdWRpb1RyYWNrUHJpdmF0ZUFWRiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpDKQogcHVibGljOgpAQCAtNDgsMTMgKzQ3LDE2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RW5hYmxlZChib29sKTsKIAogICAgIHZvaWQg
c2V0UGxheWVySXRlbVRyYWNrKEFWUGxheWVySXRlbVRyYWNrKik7Ci0gICAgQVZQbGF5ZXJJdGVt
VHJhY2sqIHBsYXllckl0ZW1UcmFjaygpOworICAgIEFWUGxheWVySXRlbVRyYWNrKiBwbGF5ZXJJ
dGVtVHJhY2soKSB7IHJldHVybiBtX3BsYXllckl0ZW1UcmFjay5nZXQoKTsgfQorCisgICAgc3Rh
dGljIFN0cmluZyBsYW5ndWFnZUZvckFWQXNzZXRUcmFjayhBVkFzc2V0VHJhY2sqKTsKIAogcHJp
dmF0ZToKICAgICBBdWRpb1RyYWNrUHJpdmF0ZUFWRk9iakMoQVZQbGF5ZXJJdGVtVHJhY2sqKTsK
IAogICAgIHZvaWQgcmVzZXRQcm9wZXJ0aWVzRnJvbVRyYWNrKCk7Ci0gICAgT3duUHRyPEFWVHJh
Y2tQcml2YXRlQVZGT2JqQ0ltcGw+IG1faW1wbDsKKworICAgIFJldGFpblB0cjxBVlBsYXllckl0
ZW1UcmFjaz4gbV9wbGF5ZXJJdGVtVHJhY2s7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9BdWRpb1RyYWNrUHJp
dmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9BdWRpb1RyYWNrUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggNmI0NzE3NTFlYjVi
MDJlMDY3N2U5NTIyMGJiNDcwM2RlNDc0YmZmNi4uYWVkNjMxOWVlYWYwNzBmMjNmYTM3NzM5ODEx
MzdiZWM2YzdhOTc0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpDLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0F1ZGlvVHJh
Y2tQcml2YXRlQVZGT2JqQy5tbQpAQCAtMjUsNDIgKzI1LDEyOCBAQAogCiAjaW1wb3J0ICJjb25m
aWcuaCIKICNpbXBvcnQgIkF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQy5oIgotI2ltcG9ydCAiQVZU
cmFja1ByaXZhdGVBVkZPYmpDSW1wbC5oIgogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogCisj
aW1wb3J0ICJTb2Z0TGlua2luZy5oIgorI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CisjaW1wb3J0
IDxBVkZvdW5kYXRpb24vQVZBc3NldFRyYWNrLmg+CisjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZQ
bGF5ZXJJdGVtVHJhY2suaD4KKyNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVk1ldGFkYXRhSXRlbS5o
PgorCitTT0ZUX0xJTktfRlJBTUVXT1JLX09QVElPTkFMKEFWRm91bmRhdGlvbikKKworU09GVF9M
SU5LX0NMQVNTKEFWRm91bmRhdGlvbiwgQVZBc3NldFRyYWNrKQorU09GVF9MSU5LX0NMQVNTKEFW
Rm91bmRhdGlvbiwgQVZQbGF5ZXJJdGVtVHJhY2spCitTT0ZUX0xJTktfQ0xBU1MoQVZGb3VuZGF0
aW9uLCBBVk1ldGFkYXRhSXRlbSkKKworU09GVF9MSU5LX1BPSU5URVIoQVZGb3VuZGF0aW9uLCBB
Vk1ldGFkYXRhQ29tbW9uS2V5VGl0bGUsIE5TU3RyaW5nICopCitTT0ZUX0xJTktfUE9JTlRFUihB
VkZvdW5kYXRpb24sIEFWTWV0YWRhdGFLZXlTcGFjZUNvbW1vbiwgTlNTdHJpbmcgKikKKworI2Rl
ZmluZSBBVk1ldGFkYXRhSXRlbSBnZXRBVk1ldGFkYXRhSXRlbUNsYXNzKCkKKworI2RlZmluZSBB
Vk1ldGFkYXRhQ29tbW9uS2V5VGl0bGUgZ2V0QVZNZXRhZGF0YUNvbW1vbktleVRpdGxlKCkKKyNk
ZWZpbmUgQVZNZXRhZGF0YUtleVNwYWNlQ29tbW9uIGdldEFWTWV0YWRhdGFLZXlTcGFjZUNvbW1v
bigpCisKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwODAKKworU09G
VF9MSU5LX1BPSU5URVIoQVZGb3VuZGF0aW9uLCBBVk1lZGlhQ2hhcmFjdGVyaXN0aWNJc01haW5Q
cm9ncmFtQ29udGVudCwgTlNTdHJpbmcgKikKK1NPRlRfTElOS19QT0lOVEVSKEFWRm91bmRhdGlv
biwgQVZNZWRpYUNoYXJhY3RlcmlzdGljRGVzY3JpYmVzVmlkZW9Gb3JBY2Nlc3NpYmlsaXR5LCBO
U1N0cmluZyAqKQorU09GVF9MSU5LX1BPSU5URVIoQVZGb3VuZGF0aW9uLCBBVk1lZGlhQ2hhcmFj
dGVyaXN0aWNJc0F1eGlsaWFyeUNvbnRlbnQsIE5TU3RyaW5nICopCitTT0ZUX0xJTktfUE9JTlRF
UihBVkZvdW5kYXRpb24sIEFWTWVkaWFDaGFyYWN0ZXJpc3RpY1RyYW5zY3JpYmVzU3Bva2VuRGlh
bG9nRm9yQWNjZXNzaWJpbGl0eSwgTlNTdHJpbmcgKikKKworI2RlZmluZSBBVk1lZGlhQ2hhcmFj
dGVyaXN0aWNJc01haW5Qcm9ncmFtQ29udGVudCBnZXRBVk1lZGlhQ2hhcmFjdGVyaXN0aWNJc01h
aW5Qcm9ncmFtQ29udGVudCgpCisjZGVmaW5lIEFWTWVkaWFDaGFyYWN0ZXJpc3RpY0Rlc2NyaWJl
c1ZpZGVvRm9yQWNjZXNzaWJpbGl0eSBnZXRBVk1lZGlhQ2hhcmFjdGVyaXN0aWNEZXNjcmliZXNW
aWRlb0ZvckFjY2Vzc2liaWxpdHkoKQorI2RlZmluZSBBVk1lZGlhQ2hhcmFjdGVyaXN0aWNJc0F1
eGlsaWFyeUNvbnRlbnQgZ2V0QVZNZWRpYUNoYXJhY3RlcmlzdGljSXNBdXhpbGlhcnlDb250ZW50
KCkKKyNkZWZpbmUgQVZNZWRpYUNoYXJhY3RlcmlzdGljVHJhbnNjcmliZXNTcG9rZW5EaWFsb2dG
b3JBY2Nlc3NpYmlsaXR5IGdldEFWTWVkaWFDaGFyYWN0ZXJpc3RpY1RyYW5zY3JpYmVzU3Bva2Vu
RGlhbG9nRm9yQWNjZXNzaWJpbGl0eSgpCisKKyNlbHNlCisKKyNkZWZpbmUgQVZNZWRpYUNoYXJh
Y3RlcmlzdGljSXNNYWluUHJvZ3JhbUNvbnRlbnQgQCJwdWJsaWMubWFpbi1wcm9ncmFtLWNvbnRl
bnQiCisjZGVmaW5lIEFWTWVkaWFDaGFyYWN0ZXJpc3RpY0Rlc2NyaWJlc1ZpZGVvRm9yQWNjZXNz
aWJpbGl0eSBAInB1YmxpYy5hY2Nlc3NpYmlsaXR5LmRlc2NyaWJlcy12aWRlbyIKKyNkZWZpbmUg
QVZNZWRpYUNoYXJhY3RlcmlzdGljSXNBdXhpbGlhcnlDb250ZW50IEAicHVibGljLmF1eGlsaWFy
eS1jb250ZW50IgorI2RlZmluZSBBVk1lZGlhQ2hhcmFjdGVyaXN0aWNUcmFuc2NyaWJlc1Nwb2tl
bkRpYWxvZ0ZvckFjY2Vzc2liaWxpdHkgQCJwdWJsaWMuYWNjZXNzaWJpbGl0eS50cmFuc2NyaWJl
cy1zcG9rZW4tZGlhbG9nIgorCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBBdWRp
b1RyYWNrUHJpdmF0ZUFWRk9iakM6OkF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQyhBVlBsYXllckl0
ZW1UcmFjayogdHJhY2spCi0gICAgOiBtX2ltcGwoQVZUcmFja1ByaXZhdGVBVkZPYmpDSW1wbDo6
Y3JlYXRlKHRyYWNrKSkKKyAgICA6IG1fcGxheWVySXRlbVRyYWNrKHRyYWNrKQogewogICAgIHJl
c2V0UHJvcGVydGllc0Zyb21UcmFjaygpOwogfQogCiB2b2lkIEF1ZGlvVHJhY2tQcml2YXRlQVZG
T2JqQzo6cmVzZXRQcm9wZXJ0aWVzRnJvbVRyYWNrKCkKIHsKLSAgICBzZXRFbmFibGVkKG1faW1w
bC0+ZW5hYmxlZCgpKTsKLSAgICBzZXRLaW5kKG1faW1wbC0+YXVkaW9LaW5kKCkpOwotICAgIHNl
dElkKG1faW1wbC0+aWQoKSk7Ci0gICAgc2V0TGFiZWwobV9pbXBsLT5sYWJlbCgpKTsKLSAgICBz
ZXRMYW5ndWFnZShtX2ltcGwtPmxhbmd1YWdlKCkpOworICAgIEFWQXNzZXRUcmFjayogYXNzZXRU
cmFjayA9IFttX3BsYXllckl0ZW1UcmFjay5nZXQoKSBhc3NldFRyYWNrXTsKKyAgICBpZiAoIWFz
c2V0VHJhY2spIHsKKyAgICAgICAgc2V0RW5hYmxlZChmYWxzZSk7CisgICAgICAgIHNldEtpbmQo
Tm9uZSk7CisgICAgICAgIHNldElkKGVtcHR5QXRvbSk7CisgICAgICAgIHNldExhYmVsKGVtcHR5
QXRvbSk7CisgICAgICAgIHNldExhbmd1YWdlKGVtcHR5QXRvbSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBzZXRFbmFibGVkKFttX3BsYXllckl0ZW1UcmFjay5nZXQoKSBpc0VuYWJs
ZWRdKTsKKyAgICBzZXRJZChTdHJpbmc6OmZvcm1hdCgiJWQiLCBbYXNzZXRUcmFjayB0cmFja0lE
XSkpOworCisgICAgaWYgKFthc3NldFRyYWNrIGhhc01lZGlhQ2hhcmFjdGVyaXN0aWM6QVZNZWRp
YUNoYXJhY3RlcmlzdGljRGVzY3JpYmVzVmlkZW9Gb3JBY2Nlc3NpYmlsaXR5XSkKKyAgICAgICAg
c2V0S2luZChEZXNjcmlwdGlvbik7CisgICAgZWxzZSBpZiAoW2Fzc2V0VHJhY2sgaGFzTWVkaWFD
aGFyYWN0ZXJpc3RpYzpBVk1lZGlhQ2hhcmFjdGVyaXN0aWNUcmFuc2NyaWJlc1Nwb2tlbkRpYWxv
Z0ZvckFjY2Vzc2liaWxpdHldKQorICAgICAgICBzZXRLaW5kKFRyYW5zbGF0aW9uKTsKKyAgICBl
bHNlIGlmIChbYXNzZXRUcmFjayBoYXNNZWRpYUNoYXJhY3RlcmlzdGljOkFWTWVkaWFDaGFyYWN0
ZXJpc3RpY0lzQXV4aWxpYXJ5Q29udGVudF0pCisgICAgICAgIHNldEtpbmQoQWx0ZXJuYXRpdmUp
OworICAgIGVsc2UgaWYgKFthc3NldFRyYWNrIGhhc01lZGlhQ2hhcmFjdGVyaXN0aWM6QVZNZWRp
YUNoYXJhY3RlcmlzdGljSXNNYWluUHJvZ3JhbUNvbnRlbnRdKQorICAgICAgICBzZXRLaW5kKE1h
aW4pOworICAgIGVsc2UKKyAgICAgICAgc2V0S2luZChOb25lKTsKKworICAgIE5TQXJyYXkgKnRp
dGxlcyA9IFtBVk1ldGFkYXRhSXRlbSBtZXRhZGF0YUl0ZW1zRnJvbUFycmF5Olthc3NldFRyYWNr
IGNvbW1vbk1ldGFkYXRhXSB3aXRoS2V5OkFWTWV0YWRhdGFDb21tb25LZXlUaXRsZSBrZXlTcGFj
ZTpBVk1ldGFkYXRhS2V5U3BhY2VDb21tb25dOworICAgIGlmIChbdGl0bGVzIGNvdW50XSkgewor
ICAgICAgICAvLyBJZiBwb3NzaWJsZSwgcmV0dXJuIGEgdGl0bGUgaW4gb25lIG9mIHRoZSB1c2Vy
J3MgcHJlZmVycmVkIGxhbmd1YWdlcy4KKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwODAKKyAgICAgICAgTlNBcnJheSAqdGl0bGVzRm9yUHJlZmVycmVkTGFuZ3VhZ2Vz
ID0gW0FWTWV0YWRhdGFJdGVtIG1ldGFkYXRhSXRlbXNGcm9tQXJyYXk6dGl0bGVzIGZpbHRlcmVk
QW5kU29ydGVkQWNjb3JkaW5nVG9QcmVmZXJyZWRMYW5ndWFnZXM6W05TTG9jYWxlIHByZWZlcnJl
ZExhbmd1YWdlc11dOworI2Vsc2UKKyAgICAgICAgTlNBcnJheSAqdGl0bGVzRm9yUHJlZmVycmVk
TGFuZ3VhZ2VzID0gW0FWTWV0YWRhdGFJdGVtIG1ldGFkYXRhSXRlbXNGcm9tQXJyYXk6dGl0bGVz
IHdpdGhMb2NhbGU6W05TTG9jYWxlIGN1cnJlbnRMb2NhbGVdXTsKKyNlbmRpZgorICAgICAgICBp
ZiAoW3RpdGxlc0ZvclByZWZlcnJlZExhbmd1YWdlcyBjb3VudF0pCisgICAgICAgICAgICBzZXRM
YWJlbChbW3RpdGxlc0ZvclByZWZlcnJlZExhbmd1YWdlcyBvYmplY3RBdEluZGV4OjBdIHN0cmlu
Z1ZhbHVlXSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNldExhYmVsKFtbdGl0bGVzIG9i
amVjdEF0SW5kZXg6MF0gc3RyaW5nVmFsdWVdKTsKKyAgICB9CisKKyAgICBzZXRMYW5ndWFnZShs
YW5ndWFnZUZvckFWQXNzZXRUcmFjayhhc3NldFRyYWNrKSk7CiB9CiAKIHZvaWQgQXVkaW9UcmFj
a1ByaXZhdGVBVkZPYmpDOjpzZXRQbGF5ZXJJdGVtVHJhY2soQVZQbGF5ZXJJdGVtVHJhY2sgKnRy
YWNrKQogewotICAgIG1faW1wbCA9IEFWVHJhY2tQcml2YXRlQVZGT2JqQ0ltcGw6OmNyZWF0ZSh0
cmFjayk7CisgICAgbV9wbGF5ZXJJdGVtVHJhY2sgPSB0cmFjazsKICAgICByZXNldFByb3BlcnRp
ZXNGcm9tVHJhY2soKTsKIH0KIAotQVZQbGF5ZXJJdGVtVHJhY2sqIEF1ZGlvVHJhY2tQcml2YXRl
QVZGT2JqQzo6cGxheWVySXRlbVRyYWNrKCkKK3ZvaWQgQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpD
OjpzZXRFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAgICByZXR1cm4gbV9pbXBsLT5wbGF5ZXJJ
dGVtVHJhY2soKTsKKyAgICBBdWRpb1RyYWNrUHJpdmF0ZUFWRjo6c2V0RW5hYmxlZChlbmFibGVk
KTsKKyAgICBbbV9wbGF5ZXJJdGVtVHJhY2suZ2V0KCkgc2V0RW5hYmxlZDplbmFibGVkXTsKIH0K
IAotdm9pZCBBdWRpb1RyYWNrUHJpdmF0ZUFWRk9iakM6OnNldEVuYWJsZWQoYm9vbCBlbmFibGVk
KQorU3RyaW5nIEF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQzo6bGFuZ3VhZ2VGb3JBVkFzc2V0VHJh
Y2soQVZBc3NldFRyYWNrKiB0cmFjaykKIHsKLSAgICBBdWRpb1RyYWNrUHJpdmF0ZUFWRjo6c2V0
RW5hYmxlZChlbmFibGVkKTsKLSAgICBtX2ltcGwtPnNldEVuYWJsZWQoZW5hYmxlZCk7CisgICAg
TlNTdHJpbmcgKmxhbmd1YWdlID0gW3RyYWNrIGV4dGVuZGVkTGFuZ3VhZ2VUYWddOworCisgICAg
Ly8gSWYgdGhlIGxhbmd1YWdlIGNvZGUgaXMgc3RvcmVkIGFzIGEgUXVpY2tUaW1lIDUtYml0IHBh
Y2tlZCBjb2RlIHRoZXJlIGFyZW4ndCBlbm91Z2ggYml0cyBmb3IgYSBmdWxsCisgICAgLy8gUkZD
IDQ2NDYgbGFuZ3VhZ2UgdGFnIHNvIGV4dGVuZGVkTGFuZ3VhZ2VUYWcgcmV0dXJucyBOVUxMLiBJ
biB0aGlzIGNhc2UgbGFuZ3VhZ2VDb2RlIHdpbGwgcmV0dXJuIHRoZQorICAgIC8vIElTTyA2Mzkt
Mi9UIGxhbmd1YWdlIGNvZGUgc28gY2hlY2sgaXQuCisgICAgaWYgKCFsYW5ndWFnZSkKKyAgICAg
ICAgbGFuZ3VhZ2UgPSBbdHJhY2sgbGFuZ3VhZ2VDb2RlXTsKKworICAgIC8vIFNvbWUgbGVnYWN5
IHRyYWNrcyBoYXZlICJ1bmQiIGFzIGEgbGFuZ3VhZ2UsIHRyZWF0IHRoYXQgdGhlIHNhbWUgYXMg
bm8gbGFuZ3VhZ2UgYXQgYWxsLgorICAgIGlmICghbGFuZ3VhZ2UgfHwgW2xhbmd1YWdlIGlzRXF1
YWxUb1N0cmluZzpAInVuZCJdKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKworICAg
IHJldHVybiBsYW5ndWFnZTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDY2ZjNk
MmMxODFhYTYzMmZjNjNkMDg1MTBiNmI5MWE4YjUzMTE0NmEuLmZiMGI0NGM1ZDUxMzRmZTQ4YWMw
MDQ0MzVlZjA4MDBmM2UxMjM5NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTYwLDcgKzYw
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgV2ViQ29yZUFWRlJlc291cmNlTG9hZGVy
OwogY2xhc3MgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRk9iakM7CiBjbGFzcyBBdWRpb1RyYWNr
UHJpdmF0ZUFWRk9iakM7Ci1jbGFzcyBWaWRlb1RyYWNrUHJpdmF0ZUFWRk9iakM7CiAKIGNsYXNz
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uIHsKIHB1YmxpYzoKQEAgLTE4NiwxMSArMTg1LDYgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHByb2Nlc3NMZWdhY3lDbG9zZWRDYXB0aW9uc1RyYWNrcygpOwogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgdm9pZCB1cGRhdGVBdWRpb1RyYWNrcygp
OwotICAgIHZvaWQgdXBkYXRlVmlkZW9UcmFja3MoKTsKLSNlbmRpZgotCiAgICAgUmV0YWluUHRy
PEFWVVJMQXNzZXQ+IG1fYXZBc3NldDsKICAgICBSZXRhaW5QdHI8QVZQbGF5ZXI+IG1fYXZQbGF5
ZXI7CiAgICAgUmV0YWluUHRyPEFWUGxheWVySXRlbT4gbV9hdlBsYXllckl0ZW07CkBAIC0yMjQs
NyArMjE4LDYgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICBWZWN0
b3I8UmVmUHRyPEF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQz4+IG1fYXVkaW9UcmFja3M7Ci0gICAg
VmVjdG9yPFJlZlB0cjxWaWRlb1RyYWNrUHJpdmF0ZUFWRk9iakM+PiBtX3ZpZGVvVHJhY2tzOwog
I2VuZGlmCiAKICAgICBJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGKiBtX2N1cnJlbnRUcmFjazsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDBhOWExMzA3NGExMjAzY2MzMDAxNzRjNjFhZjdi
ODk2ZjQwZWU1N2IuLjc3NjJmMDdkZDQzMGY5NWEyZTMwMmFkN2Q1OGU1N2M2OTMxNDE4YzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMzAsNyArMzAsNiBAQAogI2ltcG9ydCAiTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIgogCiAjaW1wb3J0ICJBdWRpb1RyYWNrUHJp
dmF0ZUFWRk9iakMuaCIKLSNpbXBvcnQgIkFWVHJhY2tQcml2YXRlQVZGT2JqQ0ltcGwuaCIKICNp
bXBvcnQgIkJsb2NrRXhjZXB0aW9ucy5oIgogI2ltcG9ydCAiRXhjZXB0aW9uQ29kZVBsYWNlaG9s
ZGVyLmgiCiAjaW1wb3J0ICJGbG9hdENvbnZlcnNpb24uaCIKQEAgLTQ1LDcgKzQ0LDYgQEAKICNp
bXBvcnQgIlNvZnRMaW5raW5nLmgiCiAjaW1wb3J0ICJUaW1lUmFuZ2VzLmgiCiAjaW1wb3J0ICJV
VUlELmgiCi0jaW1wb3J0ICJWaWRlb1RyYWNrUHJpdmF0ZUFWRk9iakMuaCIKICNpbXBvcnQgIldl
YkNvcmVBVkZSZXNvdXJjZUxvYWRlci5oIgogI2ltcG9ydCAiV2ViQ29yZVN5c3RlbUludGVyZmFj
ZS5oIgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CkBAIC0xMDU0LDggKzEwNTIsNDMgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp0cmFja3NDaGFuZ2VkKCkKIAog
CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgICAgICB1cGRhdGVBdWRpb1RyYWNrcygpOwot
ICAgICAgICB1cGRhdGVWaWRlb1RyYWNrcygpOworICAgICAgICBSZXRhaW5QdHI8TlNTZXQ+IGF1
ZGlvVHJhY2tzID0gYWRvcHROUyhbW05TU2V0IGFsbG9jXSBpbml0V2l0aEFycmF5Olt0cmFja3Mg
b2JqZWN0c0F0SW5kZXhlczpbdHJhY2tzIGluZGV4ZXNPZk9iamVjdHNQYXNzaW5nVGVzdDpeKGlk
IHRyYWNrLCBOU1VJbnRlZ2VyLCBCT09MKil7CisgICAgICAgICAgICByZXR1cm4gW1tbdHJhY2sg
YXNzZXRUcmFja10gbWVkaWFUeXBlXSBpc0VxdWFsVG9TdHJpbmc6QVZNZWRpYVR5cGVBdWRpb107
CisgICAgICAgIH1dXV0pOworICAgICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlU2V0PiBvbGRBdWRp
b1RyYWNrcyA9IGFkb3B0TlMoW1tOU011dGFibGVTZXQgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6
bV9hdWRpb1RyYWNrcy5zaXplKCldKTsKKworICAgICAgICB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8
QXVkaW9UcmFja1ByaXZhdGVBVkZPYmpDPiA+IEF1ZGlvVHJhY2tWZWN0b3I7CisgICAgICAgIGZv
ciAoQXVkaW9UcmFja1ZlY3Rvcjo6aXRlcmF0b3IgaSA9IG1fYXVkaW9UcmFja3MuYmVnaW4oKTsg
aSAhPSBtX2F1ZGlvVHJhY2tzLmVuZCgpOyArK2kpCisgICAgICAgICAgICBbb2xkQXVkaW9UcmFj
a3MuZ2V0KCkgYWRkT2JqZWN0OigqaSktPnBsYXllckl0ZW1UcmFjaygpXTsKKworICAgICAgICBS
ZXRhaW5QdHI8TlNNdXRhYmxlU2V0PiByZW1vdmVkQVZBdWRpb1RyYWNrcyA9IGFkb3B0TlMoW29s
ZEF1ZGlvVHJhY2tzLmdldCgpIG11dGFibGVDb3B5XSk7CisgICAgICAgIFtyZW1vdmVkQVZBdWRp
b1RyYWNrcy5nZXQoKSBtaW51c1NldDphdWRpb1RyYWNrcy5nZXQoKV07CisKKyAgICAgICAgUmV0
YWluUHRyPE5TTXV0YWJsZVNldD4gYWRkZWRBVkF1ZGlvVHJhY2tzID0gYWRvcHROUyhbYXVkaW9U
cmFja3MuZ2V0KCkgbXV0YWJsZUNvcHldKTsKKyAgICAgICAgW2FkZGVkQVZBdWRpb1RyYWNrcy5n
ZXQoKSBtaW51c1NldDpvbGRBdWRpb1RyYWNrcy5nZXQoKV07CisKKyAgICAgICAgQXVkaW9UcmFj
a1ZlY3RvciByZXBsYWNlbWVudEF1ZGlvVHJhY2tzOworICAgICAgICBBdWRpb1RyYWNrVmVjdG9y
IGFkZGVkQXVkaW9UcmFja3M7CisgICAgICAgIEF1ZGlvVHJhY2tWZWN0b3IgcmVtb3ZlZEF1ZGlv
VHJhY2tzOworICAgICAgICBmb3IgKEF1ZGlvVHJhY2tWZWN0b3I6Oml0ZXJhdG9yIGkgPSBtX2F1
ZGlvVHJhY2tzLmJlZ2luKCk7IGkgIT0gbV9hdWRpb1RyYWNrcy5lbmQoKTsgKytpKSB7CisgICAg
ICAgICAgICBpZiAoW3JlbW92ZWRBVkF1ZGlvVHJhY2tzIGNvbnRhaW5zT2JqZWN0OigqaSktPnBs
YXllckl0ZW1UcmFjaygpXSkKKyAgICAgICAgICAgICAgICByZW1vdmVkQXVkaW9UcmFja3MuYXBw
ZW5kKCppKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXBsYWNlbWVudEF1
ZGlvVHJhY2tzLmFwcGVuZCgqaSk7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKEFWUGxheWVy
SXRlbVRyYWNrKiBwbGF5ZXJJdGVtVHJhY2sgaW4gYWRkZWRBVkF1ZGlvVHJhY2tzLmdldCgpKQor
ICAgICAgICAgICAgYWRkZWRBdWRpb1RyYWNrcy5hcHBlbmQoQXVkaW9UcmFja1ByaXZhdGVBVkZP
YmpDOjpjcmVhdGUocGxheWVySXRlbVRyYWNrKSk7CisKKyAgICAgICAgcmVwbGFjZW1lbnRBdWRp
b1RyYWNrcy5hcHBlbmRWZWN0b3IoYWRkZWRBdWRpb1RyYWNrcyk7CisKKyAgICAgICAgbV9hdWRp
b1RyYWNrcy5zd2FwKHJlcGxhY2VtZW50QXVkaW9UcmFja3MpOworCisgICAgICAgIGZvciAoQXVk
aW9UcmFja1ZlY3Rvcjo6aXRlcmF0b3IgaSA9IHJlbW92ZWRBdWRpb1RyYWNrcy5iZWdpbigpOyBp
ICE9IHJlbW92ZWRBdWRpb1RyYWNrcy5lbmQoKTsgKytpKQorICAgICAgICAgICAgcGxheWVyKCkt
PnJlbW92ZUF1ZGlvVHJhY2soKmkpOworCisgICAgICAgIGZvciAoQXVkaW9UcmFja1ZlY3Rvcjo6
aXRlcmF0b3IgaSA9IGFkZGVkQXVkaW9UcmFja3MuYmVnaW4oKTsgaSAhPSBhZGRlZEF1ZGlvVHJh
Y2tzLmVuZCgpOyArK2kpCisgICAgICAgICAgICBwbGF5ZXIoKS0+YWRkQXVkaW9UcmFjaygqaSk7
CiAjZW5kaWYKICAgICB9CiAKQEAgLTEwODgsNTkgKzExMjEsNiBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnRyYWNrc0NoYW5nZWQoKQogICAgIHNldERlbGF5Q2hh
cmFjdGVyaXN0aWNzQ2hhbmdlZE5vdGlmaWNhdGlvbihmYWxzZSk7CiB9CiAKLSNpZiBFTkFCTEUo
VklERU9fVFJBQ0spCi10ZW1wbGF0ZSA8dHlwZW5hbWUgUmVmVCwgdHlwZW5hbWUgUGFzc1JlZlQ+
Ci12b2lkIGRldGVybWluZUNoYW5nZWRUcmFja3NGcm9tTmV3VHJhY2tzQW5kT2xkSXRlbXMoTlNB
cnJheSogdHJhY2tzLCBOU1N0cmluZyogdHJhY2tUeXBlLCBWZWN0b3I8UmVmVD4mIG9sZEl0ZW1z
LCBSZWZUICgqaXRlbUZhY3RvcnkpKEFWUGxheWVySXRlbVRyYWNrKiksIE1lZGlhUGxheWVyKiBw
bGF5ZXIsIHZvaWQgKE1lZGlhUGxheWVyOjoqcmVtb3ZlZEZ1bmN0aW9uKShQYXNzUmVmVCksIHZv
aWQgKE1lZGlhUGxheWVyOjoqYWRkZWRGdW5jdGlvbikoUGFzc1JlZlQpKQotewotICAgIFJldGFp
blB0cjxOU1NldD4gbmV3VHJhY2tzID0gYWRvcHROUyhbW05TU2V0IGFsbG9jXSBpbml0V2l0aEFy
cmF5Olt0cmFja3Mgb2JqZWN0c0F0SW5kZXhlczpbdHJhY2tzIGluZGV4ZXNPZk9iamVjdHNQYXNz
aW5nVGVzdDpeKGlkIHRyYWNrLCBOU1VJbnRlZ2VyLCBCT09MKil7Ci0gICAgICAgIHJldHVybiBb
W1t0cmFjayBhc3NldFRyYWNrXSBtZWRpYVR5cGVdIGlzRXF1YWxUb1N0cmluZzp0cmFja1R5cGVd
OwotICAgIH1dXV0pOwotICAgIFJldGFpblB0cjxOU011dGFibGVTZXQ+IG9sZFRyYWNrcyA9IGFk
b3B0TlMoW1tOU011dGFibGVTZXQgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6b2xkSXRlbXMuc2l6
ZSgpXSk7Ci0KLSAgICB0eXBlZGVmIFZlY3RvcjxSZWZUPiBJdGVtVmVjdG9yOwotICAgIGZvciAo
YXV0byBpID0gb2xkSXRlbXMuYmVnaW4oKTsgaSAhPSBvbGRJdGVtcy5lbmQoKTsgKytpKQotICAg
ICAgICBbb2xkVHJhY2tzIGFkZE9iamVjdDooKmkpLT5wbGF5ZXJJdGVtVHJhY2soKV07Ci0KLSAg
ICBSZXRhaW5QdHI8TlNNdXRhYmxlU2V0PiByZW1vdmVkVHJhY2tzID0gYWRvcHROUyhbb2xkVHJh
Y2tzIG11dGFibGVDb3B5XSk7Ci0gICAgW3JlbW92ZWRUcmFja3MgbWludXNTZXQ6bmV3VHJhY2tz
LmdldCgpXTsKLQotICAgIFJldGFpblB0cjxOU011dGFibGVTZXQ+IGFkZGVkVHJhY2tzID0gYWRv
cHROUyhbbmV3VHJhY2tzIG11dGFibGVDb3B5XSk7Ci0gICAgW2FkZGVkVHJhY2tzIG1pbnVzU2V0
Om9sZFRyYWNrcy5nZXQoKV07Ci0KLSAgICBJdGVtVmVjdG9yIHJlcGxhY2VtZW50SXRlbXM7Ci0g
ICAgSXRlbVZlY3RvciBhZGRlZEl0ZW1zOwotICAgIEl0ZW1WZWN0b3IgcmVtb3ZlZEl0ZW1zOwot
ICAgIGZvciAoYXV0byBpID0gb2xkSXRlbXMuYmVnaW4oKTsgaSAhPSBvbGRJdGVtcy5lbmQoKTsg
KytpKSB7Ci0gICAgICAgIGlmIChbcmVtb3ZlZFRyYWNrcyBjb250YWluc09iamVjdDooKmkpLT5w
bGF5ZXJJdGVtVHJhY2soKV0pCi0gICAgICAgICAgICByZW1vdmVkSXRlbXMuYXBwZW5kKCppKTsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVwbGFjZW1lbnRJdGVtcy5hcHBlbmQoKmkpOwot
ICAgIH0KLQotICAgIGZvciAoQVZQbGF5ZXJJdGVtVHJhY2sqIHRyYWNrIGluIGFkZGVkVHJhY2tz
LmdldCgpKQotICAgICAgICBhZGRlZEl0ZW1zLmFwcGVuZChpdGVtRmFjdG9yeSh0cmFjaykpOwot
Ci0gICAgcmVwbGFjZW1lbnRJdGVtcy5hcHBlbmRWZWN0b3IoYWRkZWRJdGVtcyk7Ci0gICAgb2xk
SXRlbXMuc3dhcChyZXBsYWNlbWVudEl0ZW1zKTsKLQotICAgIGZvciAoYXV0byBpID0gcmVtb3Zl
ZEl0ZW1zLmJlZ2luKCk7IGkgIT0gcmVtb3ZlZEl0ZW1zLmVuZCgpOyArK2kpCi0gICAgICAgIChw
bGF5ZXItPipyZW1vdmVkRnVuY3Rpb24pKCppKTsKLQotICAgIGZvciAoYXV0byBpID0gYWRkZWRJ
dGVtcy5iZWdpbigpOyBpICE9IGFkZGVkSXRlbXMuZW5kKCk7ICsraSkKLSAgICAgICAgKHBsYXll
ci0+KmFkZGVkRnVuY3Rpb24pKCppKTsKLX0KLQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjp1cGRhdGVBdWRpb1RyYWNrcygpCi17Ci0gICAgZGV0ZXJtaW5lQ2hhbmdl
ZFRyYWNrc0Zyb21OZXdUcmFja3NBbmRPbGRJdGVtcyhbbV9hdlBsYXllckl0ZW0gdHJhY2tzXSwg
QVZNZWRpYVR5cGVBdWRpbywgbV9hdWRpb1RyYWNrcywgJkF1ZGlvVHJhY2tQcml2YXRlQVZGT2Jq
Qzo6Y3JlYXRlLCBwbGF5ZXIoKSwgJk1lZGlhUGxheWVyOjpyZW1vdmVBdWRpb1RyYWNrLCAmTWVk
aWFQbGF5ZXI6OmFkZEF1ZGlvVHJhY2spOwotfQotCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakM6OnVwZGF0ZVZpZGVvVHJhY2tzKCkKLXsKLSAgICBkZXRlcm1pbmVDaGFu
Z2VkVHJhY2tzRnJvbU5ld1RyYWNrc0FuZE9sZEl0ZW1zKFttX2F2UGxheWVySXRlbSB0cmFja3Nd
LCBBVk1lZGlhVHlwZVZpZGVvLCBtX3ZpZGVvVHJhY2tzLCAmVmlkZW9UcmFja1ByaXZhdGVBVkZP
YmpDOjpjcmVhdGUsIHBsYXllcigpLCAmTWVkaWFQbGF5ZXI6OnJlbW92ZVZpZGVvVHJhY2ssICZN
ZWRpYVBsYXllcjo6YWRkVmlkZW9UcmFjayk7Ci19Ci0jZW5kaWYgLy8gRU5BQkxFKFZJREVPX1RS
QUNLKQotCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNpemVDaGFu
Z2VkKCkKIHsKICAgICBpZiAoIW1fYXZBc3NldCkKQEAgLTE1ODcsNyArMTU2Nyw3IEBAIFN0cmlu
ZyBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpsYW5ndWFnZU9mUHJpbWFyeUF1
ZGlvVHJhY2soKSBjb25zdAogICAgIH0KIAogICAgIEFWQXNzZXRUcmFjayAqdHJhY2sgPSBbdHJh
Y2tzIG9iamVjdEF0SW5kZXg6MF07Ci0gICAgbV9sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2sg
PSBBVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsOjpsYW5ndWFnZUZvckFWQXNzZXRUcmFjayh0cmFj
ayk7CisgICAgbV9sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2sgPSBBdWRpb1RyYWNrUHJpdmF0
ZUFWRk9iakM6Omxhbmd1YWdlRm9yQVZBc3NldFRyYWNrKHRyYWNrKTsKIAogI2lmICFMT0dfRElT
QUJMRUQKICAgICBpZiAobV9sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2sgPT0gZW1wdHlTdHJp
bmcoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL1ZpZGVvVHJhY2tQcml2YXRlQVZGT2JqQy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1RyYWNrUHJpdmF0ZUFW
Rk9iakMuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MTIyMDZjZmU1OTdiOTY1
MjZmZjA2MGM5ZGQ0YzRjOGEyMDQ1YWQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL1ZpZGVvVHJhY2tQcml2YXRlQVZGT2JqQy5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw2OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJW
aWRlb1RyYWNrUHJpdmF0ZUFWRk9iakMuaCIKLSNpbXBvcnQgIkFWVHJhY2tQcml2YXRlQVZGT2Jq
Q0ltcGwuaCIKLQotI2lmIEVOQUJMRShWSURFT19UUkFDSykKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1WaWRlb1RyYWNrUHJpdmF0ZUFWRk9iakM6OlZpZGVvVHJhY2tQcml2YXRlQVZGT2JqQyhB
VlBsYXllckl0ZW1UcmFjayogdHJhY2spCi06IG1faW1wbChBVlRyYWNrUHJpdmF0ZUFWRk9iakNJ
bXBsOjpjcmVhdGUodHJhY2spKQotewotICAgIHJlc2V0UHJvcGVydGllc0Zyb21UcmFjaygpOwot
fQotCi12b2lkIFZpZGVvVHJhY2tQcml2YXRlQVZGT2JqQzo6cmVzZXRQcm9wZXJ0aWVzRnJvbVRy
YWNrKCkKLXsKLSAgICBzZXRTZWxlY3RlZChtX2ltcGwtPmVuYWJsZWQoKSk7Ci0gICAgc2V0S2lu
ZChtX2ltcGwtPnZpZGVvS2luZCgpKTsKLSAgICBzZXRJZChtX2ltcGwtPmlkKCkpOwotICAgIHNl
dExhYmVsKG1faW1wbC0+bGFiZWwoKSk7Ci0gICAgc2V0TGFuZ3VhZ2UobV9pbXBsLT5sYW5ndWFn
ZSgpKTsKLX0KLQotdm9pZCBWaWRlb1RyYWNrUHJpdmF0ZUFWRk9iakM6OnNldFBsYXllckl0ZW1U
cmFjayhBVlBsYXllckl0ZW1UcmFjayAqdHJhY2spCi17Ci0gICAgbV9pbXBsID0gQVZUcmFja1By
aXZhdGVBVkZPYmpDSW1wbDo6Y3JlYXRlKHRyYWNrKTsKLSAgICByZXNldFByb3BlcnRpZXNGcm9t
VHJhY2soKTsKLX0KLQotQVZQbGF5ZXJJdGVtVHJhY2sqIFZpZGVvVHJhY2tQcml2YXRlQVZGT2Jq
Qzo6cGxheWVySXRlbVRyYWNrKCkKLXsKLSAgICByZXR1cm4gbV9pbXBsLT5wbGF5ZXJJdGVtVHJh
Y2soKTsKLX0KLQotdm9pZCBWaWRlb1RyYWNrUHJpdmF0ZUFWRk9iakM6OnNldFNlbGVjdGVkKGJv
b2wgZW5hYmxlZCkKLXsKLSAgICBWaWRlb1RyYWNrUHJpdmF0ZUFWRjo6c2V0U2VsZWN0ZWQoZW5h
YmxlZCk7Ci0gICAgbV9pbXBsLT5zZXRFbmFibGVkKGVuYWJsZWQpOwotfQotICAgIAotfQotCi0j
ZW5kaWYKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvVmlkZW9UcmFja1ByaXZhdGVBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1RyYWNrUHJpdmF0ZUFW
Rk9iakMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjkxNmUwNjdjMWQ0ZmQ4OTQz
ZmUzNjk2ZjI5ZWFkZDQ1NTQ1ZDk4Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9WaWRlb1RyYWNrUHJpdmF0ZUFWRk9iakMuaAorKysgL2Rldi9udWxsCkBAIC0xLDY0
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFZpZGVvVHJhY2tQcml2YXRlQVZGT2JqQ19o
Ci0jZGVmaW5lIFZpZGVvVHJhY2tQcml2YXRlQVZGT2JqQ19oCi0KLSNpZiBFTkFCTEUoVklERU9f
VFJBQ0spCi0KLSNpbmNsdWRlICJWaWRlb1RyYWNrUHJpdmF0ZUFWRi5oIgotI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KLQotT0JKQ19DTEFTUyBBVlBsYXllckl0ZW1UcmFjazsKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1jbGFzcyBBVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsOwotCi1jbGFzcyBW
aWRlb1RyYWNrUHJpdmF0ZUFWRk9iakMgRklOQUwgOiBwdWJsaWMgVmlkZW9UcmFja1ByaXZhdGVB
VkYgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZpZGVvVHJhY2tQcml2YXRlQVZGT2JqQykK
LXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPFZpZGVvVHJhY2tQcml2YXRlQVZGT2JqQz4gY3Jl
YXRlKEFWUGxheWVySXRlbVRyYWNrKiB0cmFjaykKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgVmlkZW9UcmFja1ByaXZhdGVBVkZPYmpDKHRyYWNrKSk7Ci0gICAgfQotCi0gICAg
dmlydHVhbCB2b2lkIHNldFNlbGVjdGVkKGJvb2wpIE9WRVJSSURFOwotCi0gICAgdm9pZCBzZXRQ
bGF5ZXJJdGVtVHJhY2soQVZQbGF5ZXJJdGVtVHJhY2sqKTsKLSAgICBBVlBsYXllckl0ZW1UcmFj
ayogcGxheWVySXRlbVRyYWNrKCk7Ci0KLXByaXZhdGU6Ci0gICAgVmlkZW9UcmFja1ByaXZhdGVB
VkZPYmpDKEFWUGxheWVySXRlbVRyYWNrKik7Ci0KLSAgICB2b2lkIHJlc2V0UHJvcGVydGllc0Zy
b21UcmFjaygpOwotICAgIE93blB0cjxBVlRyYWNrUHJpdmF0ZUFWRk9iakNJbXBsPiBtX2ltcGw7
Ci19OwotCi19Ci0KLSNlbmRpZiAvLyBFTkFCTEUoVklERU9fVFJBQ0spCi0KLSNlbmRpZiAvLyBW
aWRlb1RyYWNrUHJpdmF0ZUFWRk9iakNfaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM2MWYxMGFhMDhlMThlODkzMWFiMTA2
ZTgzOGM3NmJiNzZkMDk3YTQuLjJiN2FkMmJjZjIyZTljODMzZjkxNDZkNTE3ZjI4M2ZiMzU1ZDZm
MDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMy0xMC0wMSAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjE1NjcyMiBhbmQgcjE1NjcyNi4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMTU2NzIyCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE1
NjcyNgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIy
MTcxCisKKyAgICAgICAgQ3Jhc2hpbmcgbGlrZSBtYWQgb24gdGhlIGJvdHMgKFJlcXVlc3RlZCBi
eSBhbmRlcnNjYSBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAqIG1lZGlhL3RyYWNr
L3ZpZGVvLXRyYWNrLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBtZWRpYS90cmFj
ay92aWRlby10cmFjay5odG1sOiBSZW1vdmVkLgorCiAyMDEzLTEwLTAxICBUaW0gSG9ydG9uICA8
dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFt3azJdIFdlYktpdFRlc3RSdW5u
ZXIncyB3aW5kb3cgc25hcHNob3RzIGFyZSBibGFuayB3aXRoIHRpbGVkIGRyYXdpbmcKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3ZpZGVvLXRyYWNrLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3ZpZGVvLXRyYWNrLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzYzMmVlMDNjY2Q5M2YyN2MwYWEzOGQ0ZGJhZjQxOTky
ZWY2ZThkYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9tZWRpYS90cmFjay92aWRlby10cmFjay1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxNiArMCwwIEBACi1Jbi1iYW5kIHZpZGVvIHRyYWNrcy4KLQotRVZFTlQoYWRk
dHJhY2spCi1FWFBFQ1RFRCAoZXZlbnQudHJhY2sgPT0gJ3ZpZGVvLnZpZGVvVHJhY2tzWzBdJykg
T0sKLQotRVZFTlQoY2FucGxheXRocm91Z2gpCi0KLSoqIENoZWNrIGluaXRpYWwgaW4tYmFuZCB0
cmFjayBzdGF0ZXMKLUVYUEVDVEVEICh2aWRlby52aWRlb1RyYWNrcy5sZW5ndGggPT0gJzEnKSBP
SwotCi0qKiBVbmxvYWQgdmlkZW8gZmlsZSwgY2hlY2sgdHJhY2sgY291bnQKLVJVTih2aWRlby5z
cmMgPSAnJykKLUVYUEVDVEVEICh2aWRlby52aWRlb1RyYWNrcy5sZW5ndGggPT0gJzAnKSBPSwot
Ci1FTkQgT0YgVEVTVAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay92aWRl
by10cmFjay5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdmlkZW8tdHJhY2suaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjljZDEzMDI1YjEzNzA0ZTljNzEyNTRiMzQ0
NmI1MjI1YWZhNzcxZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay92aWRlby10cmFjay5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLSAgICA8aGVhZD4K
LSAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0
bWw7IGNoYXJzZXQ9dXRmLTgiIC8+Ci0KLSAgICAgICAgPHNjcmlwdCBzcmM9Li4vbWVkaWEtZmls
ZS5qcz48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3Nj
cmlwdD4KLSAgICAgICAgPHNjcmlwdD4KLQotICAgICAgICAgICAgdmFyIGFkZHRyYWNrRXZlbnRD
b3VudCA9IDA7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRyYWNrQWRkZWQoZXZlbnQpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVCgiICsgZXZlbnQu
dHlwZSArICIpIik7Ci0gICAgICAgICAgICAgICAgY29tcGFyZVRyYWNrcygiZXZlbnQudHJhY2si
LCAidmlkZW8udmlkZW9UcmFja3NbIiArIGFkZHRyYWNrRXZlbnRDb3VudCArICJdIik7Ci0gICAg
ICAgICAgICAgICAgKythZGR0cmFja0V2ZW50Q291bnQ7Ci0gICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCIiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gY29tcGFy
ZVRyYWNrcyh0cmFjazEsIHRyYWNrMikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2
YXIgZXF1YWwgPSAoZXZhbCh0cmFjazEpID09IGV2YWwodHJhY2syKSk7Ci0gICAgICAgICAgICAg
ICAgcmVwb3J0RXhwZWN0ZWQoZXF1YWwsIHRyYWNrMSwgIj09IiwgdHJhY2syLCB0cmFjazEpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3VnaCgpCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+PGk+KiogQ2hl
Y2sgaW5pdGlhbCBpbi1iYW5kIHRyYWNrIHN0YXRlczwiICsgIi9pPiIpOwotICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udmlkZW9UcmFja3MubGVuZ3RoIiwgMSk7Ci0KLSAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj48aT4qKiBVbmxvYWQgdmlkZW8gZmlsZSwgY2hl
Y2sgdHJhY2sgY291bnQ8IiArICIvaT4iKTsKLSAgICAgICAgICAgICAgICBydW4oInZpZGVvLnNy
YyA9ICcnIik7Ci0gICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby52aWRlb1RyYWNr
cy5sZW5ndGgiLCAwKTsKLQotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7Ci0gICAg
ICAgICAgICAgICAgZW5kVGVzdCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5j
dGlvbiBzZXR1cCgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZmluZE1lZGlhRWxl
bWVudCgpOwotICAgICAgICAgICAgICAgIHZpZGVvLnZpZGVvVHJhY2tzLmFkZEV2ZW50TGlzdGVu
ZXIoImFkZHRyYWNrIiwgdHJhY2tBZGRlZCk7Ci0gICAgICAgICAgICAgICAgdmlkZW8uc3JjID0g
ZmluZE1lZGlhRmlsZSgndmlkZW8nLCAnLi4vY29udGVudC90ZXN0Jyk7Ci0gICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCdjYW5wbGF5dGhyb3VnaCcsIGNhbnBsYXl0aHJvdWdoKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICA8L3NjcmlwdD4KLSAgICA8L2hlYWQ+Ci0gICAgPGJvZHkgb25s
b2FkPSJzZXR1cCgpIj4KLSAgICAgICAgPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+Ci0gICAgICAg
IDxwPkluLWJhbmQgdmlkZW8gdHJhY2tzLjwvcD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+Cg==
</data>
<flag name="commit-queue"
          id="235419"
          type_id="3"
          status="-"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>