<?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>52521</bug_id>
          
          <creation_ts>2011-01-15 15:24:29 -0800</creation_ts>
          <short_desc>REGRESSION(r75708): Breaks Qt build if mobility is not installed. (Requested by benjaminp on #webkit).</short_desc>
          <delta_ts>2011-01-15 19:18:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          <dependson>52525</dependson>
          <blocked>51249</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>abarth</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>334954</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-15 15:24:29 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/75708 broke the build:
Breaks Qt build if mobility is not installed. (Requested by benjaminp on #webkit).

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

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334955</commentid>
    <comment_count>1</comment_count>
      <attachid>79080</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-15 15:24:51 -0800</bug_when>
    <thetext>Created attachment 79080
ROLLOUT of r75708

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 --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334957</commentid>
    <comment_count>2</comment_count>
      <attachid>79080</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-01-15 15:27:29 -0800</bug_when>
    <thetext>Comment on attachment 79080
ROLLOUT of r75708

The fix is not trivial. I revert for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334959</commentid>
    <comment_count>3</comment_count>
      <attachid>79080</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-15 15:42:00 -0800</bug_when>
    <thetext>Comment on attachment 79080
ROLLOUT of r75708

Clearing flags on attachment: 79080

Committed r75885: &lt;http://trac.webkit.org/changeset/75885&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334960</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-15 15:42:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334987</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-15 18:38:12 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/75885 might have broken GTK Linux 64-bit Debug
The following tests are not passing:
fast/js/regexp-charclass-crash.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79080</attachid>
            <date>2011-01-15 15:24:51 -0800</date>
            <delta_ts>2011-01-15 15:42:00 -0800</delta_ts>
            <desc>ROLLOUT of r75708</desc>
            <filename>bug-52521-20110115232443.patch</filename>
            <type>text/plain</type>
            <size>25783</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlNTA0MjI1MGVjNDhhMmMzYTYyZTZkNDYwYjM2MmUzZWI2NzJiNjlkLi5j
MDQyOGE0MDQ0ZWNmZWFjYjhhY2EzMGZlMDg4MTJkNTRhYjdmNjA3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTEtMDEtMTUgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3NTcwOC4KKyAg
ICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzU3MDgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNTIxCisKKyAgICAgICAgQnJl
YWtzIFF0IGJ1aWxkIGlmIG1vYmlsaXR5IGlzIG5vdCBpbnN0YWxsZWQuIChSZXF1ZXN0ZWQgYnkK
KyAgICAgICAgYmVuamFtaW5wIG9uICN3ZWJraXQpLgorCisgICAgICAgICogV2ViQ29yZS5wcm86
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlUXQ6Ok1lZGlhUGxheWVyUHJp
dmF0ZVF0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZh
dGVRdC5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlUXQ6OnN1cHBvcnRz
RnVsbHNjcmVlbik6CisKIDIwMTEtMDEtMTUgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxl
LmNvbT4KIAogICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi81MjUxMj4gUkVHUkVTU0lPTihy
NzM4MTgpOiByYW5nZS5jbG9uZUNvbnRlbnRzKCkgaWdub3JlcyBlbmQgb2Zmc2V0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
cHJvCmluZGV4IGUzOGU2OTNhYmQ3MjhjMWM0OGZjNDdiZjc0OWQzODFmYTZjYzI0ODIuLjUzNWE3
Y2FiZDIzMWNiNjFkMGE3Njk3ODQ1MGRiNDRlMWQxMmUwMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0z
MjU3LDEzICszMjU3LDggQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1ZJREVPPTEpIHsKIAog
ICAgICAgICBQS0dDT05GSUcgKz0gZ2xpYi0yLjAgZ2lvLTIuMCBnc3RyZWFtZXItMC4xMCBnc3Ry
ZWFtZXItYXBwLTAuMTAgZ3N0cmVhbWVyLWJhc2UtMC4xMCBnc3RyZWFtZXItaW50ZXJmYWNlcy0w
LjEwIGdzdHJlYW1lci1wYnV0aWxzLTAuMTAgZ3N0cmVhbWVyLXBsdWdpbnMtYmFzZS0wLjEwIGdz
dHJlYW1lci12aWRlby0wLjEwCiAgICAgIH0gZWxzZTpjb250YWlucyhNT0JJTElUWV9DT05GSUcs
IG11bHRpbWVkaWEpIHsKLSAgICAgICAgSEVBREVSUyArPSBcIAotICAgICAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuaCBcCi0gICAgICAgICAgICAkJFBX
RC8uLi8uLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnVsbFNjcmVlblZpZGVvUXQuaAotCi0g
ICAgICAgIFNPVVJDRVMgKz0gXAotICAgICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVk
aWFQbGF5ZXJQcml2YXRlUXQuY3BwIFwKLSAgICAgICAgICAgICQkUFdELy4uLy4uL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9GdWxsU2NyZWVuVmlkZW9RdC5jcHAKKyAgICAgICAgSEVBREVSUyAr
PSBwbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVRdC5oCisgICAgICAgIFNP
VVJDRVMgKz0gcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuY3BwCiAK
ICAgICAgICAgQ09ORklHICo9IG1vYmlsaXR5CiAgICAgICAgIE1PQklMSVRZICs9IG11bHRpbWVk
aWEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlh
UGxheWVyUHJpdmF0ZVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L01lZGlhUGxheWVyUHJpdmF0ZVF0LmNwcAppbmRleCBiZTZmNzMyZjRkYTkzODZmNGZkYWY2YmJm
OWNhNmI0MmQ3YTI5NjY2Li5kZDRiNmU2MTRlMzhiNWFhM2Q1MjY2OWFlYTlkNTQ4ZDRjNjliMTNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBs
YXllclByaXZhdGVRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuY3BwCkBAIC0xMDgsNyArMTA4LDcgQEAgTWVkaWFQbGF5
ZXJQcml2YXRlUXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVF0KE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAg
ICAgLCBtX3F1ZXVlZFNlZWsoLTEpCiAgICAgLCBtX3ByZWxvYWQoTWVkaWFQbGF5ZXI6OkF1dG8p
CiB7Ci0gICAgbV9tZWRpYVBsYXllci0+c2V0VmlkZW9PdXRwdXQobV92aWRlb0l0ZW0pOworICAg
IG1fbWVkaWFQbGF5ZXItPmJpbmQobV92aWRlb0l0ZW0pOwogICAgIG1fdmlkZW9TY2VuZS0+YWRk
SXRlbShtX3ZpZGVvSXRlbSk7CiAKICAgICAvLyBTaWduYWwgSGFuZGxlcnMKQEAgLTU4NywyMiAr
NTg3LDYgQEAgSW50U2l6ZSBNZWRpYVBsYXllclByaXZhdGVRdDo6bmF0dXJhbFNpemUoKSBjb25z
dAogICAgIHJldHVybiBtX25hdHVyYWxTaXplOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZVF0OjpyZW1vdmVWaWRlb0l0ZW0oKQotewotICAgIG1fb2xkTmF0dXJhbFNpemUgPSBtX25hdHVy
YWxTaXplOwotICAgIG1fbWVkaWFQbGF5ZXItPnNldFZpZGVvT3V0cHV0KHN0YXRpY19jYXN0PFFH
cmFwaGljc1ZpZGVvSXRlbSo+KDApKTsKLSAgICBtX3ZpZGVvU2NlbmUtPnJlbW92ZUl0ZW0obV92
aWRlb0l0ZW0pOwotfQotCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVF0OjpyZXN0b3JlVmlkZW9J
dGVtKCkKLXsKLSAgICBtX21lZGlhUGxheWVyLT5zZXRWaWRlb091dHB1dChtX3ZpZGVvSXRlbSk7
Ci0gICAgbV92aWRlb1NjZW5lLT5hZGRJdGVtKG1fdmlkZW9JdGVtKTsKLSAgICAvLyBGSVhNRTog
YSBxdG1vYmlsaXR5IGJ1ZywgbmVlZCB0byByZXNldCB0aGUgc2l6ZSB3aGVuIHJlc3RvcmUgdGhl
IHZpZGVvaXRlbSwgb3RoZXJ3aXNlIHRoZSBzaXplIGlzIDAKLSAgICAvLyBodHRwOi8vYnVncmVw
b3J0cy5xdC5ub2tpYS5jb20vYnJvd3NlL1FUTU9CSUxJVFktOTcxCi0gICAgbmF0aXZlU2l6ZUNo
YW5nZWQoUVNpemUobV9vbGROYXR1cmFsU2l6ZSkpOwotfQotCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVF0OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJl
Y3QpCiB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVF0
LmgKaW5kZXggMjYyMTQzMmM1ZmI4ZmYwNjE4NzIyOWJmMzJjMGJjODdmNzIwYTc5NC4uOTNjOWQx
Y2I2NTIwNmMzNzY3YjBlNGRmZDJmY2U2YTI0YTVkNWJmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUXQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVRdC5o
CkBAIC05MCw3ICs5MCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgSW50UmVjdCYpOwogCi0gICAgYm9vbCBzdXBwb3J0c0Z1bGxzY3JlZW4oKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBzdXBwb3J0c0Z1bGxzY3JlZW4oKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQog
I2lmIFVTRShURVhUVVJFX01BUFBFUikKQEAgLTEwOCwxMSArMTA4LDYgQEAgcHVibGljOgogI2Vu
ZGlmCiAKICAgICB2aXJ0dWFsIFBsYXRmb3JtTWVkaWEgcGxhdGZvcm1NZWRpYSgpIGNvbnN0Owot
Ci0gICAgUU1lZGlhUGxheWVyKiBtZWRpYVBsYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFQ
bGF5ZXI7IH0KLSAgICB2b2lkIHJlbW92ZVZpZGVvSXRlbSgpOwotICAgIHZvaWQgcmVzdG9yZVZp
ZGVvSXRlbSgpOwotCiBwcml2YXRlIHNsb3RzOgogICAgIHZvaWQgbWVkaWFTdGF0dXNDaGFuZ2Vk
KFFNZWRpYVBsYXllcjo6TWVkaWFTdGF0dXMpOwogICAgIHZvaWQgaGFuZGxlRXJyb3IoUU1lZGlh
UGxheWVyOjpFcnJvcik7CkBAIC0xNDcsNyArMTQyLDYgQEAgcHJpdmF0ZToKIAogICAgIEludFNp
emUgbV9jdXJyZW50U2l6ZTsKICAgICBJbnRTaXplIG1fbmF0dXJhbFNpemU7Ci0gICAgSW50U2l6
ZSBtX29sZE5hdHVyYWxTaXplOwogICAgIGJvb2wgbV9pc1Zpc2libGU7CiAgICAgYm9vbCBtX2lz
U2Vla2luZzsKICAgICBib29sIG1fY29tcG9zaXRlZDsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9B
cGkvcXdlYmtpdHBsYXRmb3JtcGx1Z2luLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJraXRwbGF0Zm9y
bXBsdWdpbi5oCmluZGV4IDAxYzUzZmIxNDg5OTUyNTJiNTliMGNiZGQ0NDg5ZWY4ODhhMzczMjgu
LmI4Y2M5ODRhMzQ0NTg3MDBiZTIwYjkyZjQ1Njg2ZWU4NTcyNDAzMjAgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9xdC9BcGkvcXdlYmtpdHBsYXRmb3JtcGx1Z2luLmgKKysrIGIvV2ViS2l0L3F0L0FwaS9x
d2Via2l0cGxhdGZvcm1wbHVnaW4uaApAQCAtMjgsOSArMjgsNiBAQAogCiAjaW5jbHVkZSA8UU9i
amVjdD4KICNpbmNsdWRlIDxRVXJsPgotI2lmIGRlZmluZWQoRU5BQkxFX1ZJREVPKSAmJiBFTkFC
TEVfVklERU8KLSNpbmNsdWRlIDxRTWVkaWFQbGF5ZXI+Ci0jZW5kaWYKIAogY2xhc3MgUVdlYlNl
bGVjdERhdGEKIHsKQEAgLTExOCwyMyArMTE1LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdW5z
aWduZWQgaGl0VGVzdFBhZGRpbmdGb3JUb3VjaChjb25zdCBQYWRkaW5nRGlyZWN0aW9uKSBjb25z
dCA9IDA7CiB9OwogCi0jaWYgZGVmaW5lZChFTkFCTEVfVklERU8pICYmIEVOQUJMRV9WSURFTwot
Y2xhc3MgUVdlYkZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIgOiBwdWJsaWMgUU9iamVjdCB7Ci0gICAg
UV9PQkpFQ1QKLXB1YmxpYzoKLSAgICBRV2ViRnVsbFNjcmVlblZpZGVvSGFuZGxlcigpIHt9Ci0g
ICAgdmlydHVhbCB+UVdlYkZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIoKSB7fQotICAgIHZpcnR1YWwg
Ym9vbCByZXF1aXJlc0Z1bGxTY3JlZW5Gb3JWaWRlb1BsYXliYWNrKCkgY29uc3QgPSAwOwotCi1R
X1NJR05BTFM6Ci0gICAgdm9pZCBmdWxsU2NyZWVuQ2xvc2VkKCk7Ci0KLXB1YmxpYyBRX1NMT1RT
OgotICAgIHZpcnR1YWwgdm9pZCBlbnRlckZ1bGxTY3JlZW4oUU1lZGlhUGxheWVyKikgPSAwOwot
ICAgIHZpcnR1YWwgdm9pZCBleGl0RnVsbFNjcmVlbigpID0gMDsKLX07Ci0jZW5kaWYKLQogY2xh
c3MgUVdlYktpdFBsYXRmb3JtUGx1Z2luCiB7CiBwdWJsaWM6CkBAIC0xNDQsOCArMTI0LDcgQEAg
cHVibGljOgogICAgICAgICBNdWx0aXBsZVNlbGVjdGlvbnMsCiAgICAgICAgIE5vdGlmaWNhdGlv
bnMsCiAgICAgICAgIEhhcHRpY3MsCi0gICAgICAgIFRvdWNoSW50ZXJhY3Rpb24sCi0gICAgICAg
IEZ1bGxTY3JlZW5WaWRlb1BsYXllcgorICAgICAgICBUb3VjaEludGVyYWN0aW9uCiAgICAgfTsK
IAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0V4dGVuc2lvbihFeHRlbnNpb24gZXh0ZW5zaW9u
KSBjb25zdCA9IDA7CkBAIC0xNTMsNyArMTMyLDcgQEAgcHVibGljOgogfTsKIAogUVRfQkVHSU5f
TkFNRVNQQUNFCi1RX0RFQ0xBUkVfSU5URVJGQUNFKFFXZWJLaXRQbGF0Zm9ybVBsdWdpbiwgImNv
bS5ub2tpYS5RdC5XZWJLaXQuUGxhdGZvcm1QbHVnaW4vMS43Iik7CitRX0RFQ0xBUkVfSU5URVJG
QUNFKFFXZWJLaXRQbGF0Zm9ybVBsdWdpbiwgImNvbS5ub2tpYS5RdC5XZWJLaXQuUGxhdGZvcm1Q
bHVnaW4vMS42Iik7CiBRVF9FTkRfTkFNRVNQQUNFCiAKICNlbmRpZiAvLyBRV0VCS0lUUExBVEZP
Uk1QTFVHSU5fSApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9D
aGFuZ2VMb2cKaW5kZXggOTI2NGE3MDlkNGVlY2IxNTkyNWY1YTk3NWM1ZDU2MDRmNDFiMTc4YS4u
MDljZGI0YTRhOTVmNzA5NGEwYzAzMjZhZjkxNmZlNjMxNWM1ZWI2YyAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTEtMDEtMTUgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3NTcwOC4KKyAgICAgICAgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzU3MDgKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNTIxCisKKyAgICAgICAgQnJlYWtzIFF0IGJ1
aWxkIGlmIG1vYmlsaXR5IGlzIG5vdCBpbnN0YWxsZWQuIChSZXF1ZXN0ZWQgYnkKKyAgICAgICAg
YmVuamFtaW5wIG9uICN3ZWJraXQpLgorCisgICAgICAgICogQXBpL3F3ZWJraXRwbGF0Zm9ybXBs
dWdpbi5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjpDaHJvbWVDbGllbnRRdCk6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6fkNocm9tZUNsaWVudFF0KToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Z1bGxTY3JlZW5WaWRlb1F0LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9GdWxsU2NyZWVuVmlkZW9RdC5oOiBSZW1vdmVkLgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1F0UGxhdGZvcm1QbHVnaW4uY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1F0UGxhdGZv
cm1QbHVnaW4uaDoKKyAgICAgICAgKiBleGFtcGxlcy9wbGF0Zm9ybXBsdWdpbi9XZWJQbHVnaW4u
Y3BwOgorICAgICAgICAoV2ViUGx1Z2luOjpzdXBwb3J0c0V4dGVuc2lvbik6CisgICAgICAgIChX
ZWJQbHVnaW46OmNyZWF0ZUV4dGVuc2lvbik6CisgICAgICAgICogZXhhbXBsZXMvcGxhdGZvcm1w
bHVnaW4vV2ViUGx1Z2luLmg6CisgICAgICAgICogZXhhbXBsZXMvcGxhdGZvcm1wbHVnaW4vcGxh
dGZvcm1wbHVnaW4ucHJvOgorICAgICAgICAqIGV4YW1wbGVzL3BsYXRmb3JtcGx1Z2luL3F3ZWJr
aXRwbGF0Zm9ybXBsdWdpbi5oOgorCiAyMDExLTAxLTE1ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlh
bnNlbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRR
dC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCmluZGV4
IGE2ZmJiODM0OTVhYjM0NmJjZTUzM2QwZDkwNjFhMDI2NjI0OWU3YzUuLjYxMTZhZTc3ODYwZTBk
NDVmYTI1ZjQyYjAzNTQxYTcwYmRlMDA4NGQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudFF0LmNwcApAQCAtNzYsMTQgKzc2LDYgQEAKICNpbmNsdWRlIDxxdG9vbHRp
cC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAotI2lmIEVOQUJMRShWSURFTykKLSNpbmNs
dWRlICJGdWxsU2NyZWVuVmlkZW9RdC5oIgotI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIK
LSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJIVE1MVmlkZW9FbGVtZW50LmgiCi0j
aW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRlUXQuaCIKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGJvb2wgQ2hyb21lQ2xpZW50UXQ6OmR1bXBWaXNpdGVkTGlua3NDYWxsYmFja3Mg
PSBmYWxzZTsKQEAgLTkxLDkgKzgzLDYgQEAgYm9vbCBDaHJvbWVDbGllbnRRdDo6ZHVtcFZpc2l0
ZWRMaW5rc0NhbGxiYWNrcyA9IGZhbHNlOwogQ2hyb21lQ2xpZW50UXQ6OkNocm9tZUNsaWVudFF0
KFFXZWJQYWdlKiB3ZWJQYWdlKQogICAgIDogbV93ZWJQYWdlKHdlYlBhZ2UpCiAgICAgLCBtX2V2
ZW50TG9vcCgwKQotI2lmIEVOQUJMRShWSURFTykKLSAgICAsIG1fZnVsbFNjcmVlblZpZGVvKDAp
Ci0jZW5kaWYKIHsKICAgICB0b29sQmFyc1Zpc2libGUgPSBzdGF0dXNCYXJWaXNpYmxlID0gbWVu
dUJhclZpc2libGUgPSB0cnVlOwogfQpAQCAtMTAyLDEwICs5MSw2IEBAIENocm9tZUNsaWVudFF0
Ojp+Q2hyb21lQ2xpZW50UXQoKQogewogICAgIGlmIChtX2V2ZW50TG9vcCkKICAgICAgICAgbV9l
dmVudExvb3AtPmV4aXQoKTsKLQotI2lmIEVOQUJMRShWSURFTykKLSAgICBkZWxldGUgbV9mdWxs
U2NyZWVuVmlkZW87Ci0jZW5kaWYKIH0KIAogdm9pZCBDaHJvbWVDbGllbnRRdDo6c2V0V2luZG93
UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpCkBAIC02NjMsNTQgKzY0OCw2IEBAIEludFJlY3Qg
Q2hyb21lQ2xpZW50UXQ6OnZpc2libGVSZWN0Rm9yVGlsZWRCYWNraW5nU3RvcmUoKSBjb25zdAog
fQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoVklERU8pCi1GdWxsU2NyZWVuVmlkZW9RdCogQ2hyb21l
Q2xpZW50UXQ6OmZ1bGxTY3JlZW5WaWRlbygpCi17Ci0gICAgaWYgKCFtX2Z1bGxTY3JlZW5WaWRl
bykKLSAgICAgICAgbV9mdWxsU2NyZWVuVmlkZW8gPSBuZXcgRnVsbFNjcmVlblZpZGVvUXQodGhp
cyk7Ci0gICAgcmV0dXJuIG1fZnVsbFNjcmVlblZpZGVvOwotfQotCi1ib29sIENocm9tZUNsaWVu
dFF0OjpzdXBwb3J0c0Z1bGxzY3JlZW5Gb3JOb2RlKGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAg
QVNTRVJUKG5vZGUpOwotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dmlk
ZW9UYWcpICYmIGZ1bGxTY3JlZW5WaWRlbygpLT5pc1ZhbGlkKCk7Ci19Ci0KLWJvb2wgQ2hyb21l
Q2xpZW50UXQ6OnJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKQotewotICAgIHJl
dHVybiBmdWxsU2NyZWVuVmlkZW8oKS0+cmVxdWlyZXNGdWxsU2NyZWVuRm9yVmlkZW9QbGF5YmFj
aygpOwotfQotCi12b2lkIENocm9tZUNsaWVudFF0OjplbnRlckZ1bGxzY3JlZW5Gb3JOb2RlKE5v
ZGUqIG5vZGUpCi17Ci0gICAgQVNTRVJUKG5vZGUgJiYgbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFt
ZXM6OnZpZGVvVGFnKSk7Ci0KLSAgICBIVE1MVmlkZW9FbGVtZW50KiB2aWRlb0VsZW1lbnQgPSBz
dGF0aWNfY2FzdDxIVE1MVmlkZW9FbGVtZW50Kj4obm9kZSk7Ci0gICAgUGxhdGZvcm1NZWRpYSBw
bGF0Zm9ybU1lZGlhID0gdmlkZW9FbGVtZW50LT5wbGF0Zm9ybU1lZGlhKCk7Ci0KLSAgICBBU1NF
UlQocGxhdGZvcm1NZWRpYS50eXBlID09IFBsYXRmb3JtTWVkaWE6OlF0TWVkaWFQbGF5ZXJUeXBl
KTsKLSAgICBpZiAocGxhdGZvcm1NZWRpYS50eXBlICE9IFBsYXRmb3JtTWVkaWE6OlF0TWVkaWFQ
bGF5ZXJUeXBlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBmdWxsU2NyZWVuVmlkZW8oKS0+ZW50
ZXJGdWxsU2NyZWVuRm9yTm9kZShub2RlKTsKLX0KLQotdm9pZCBDaHJvbWVDbGllbnRRdDo6ZXhp
dEZ1bGxzY3JlZW5Gb3JOb2RlKE5vZGUqIG5vZGUpCi17Ci0gICAgQVNTRVJUKG5vZGUgJiYgbm9k
ZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnZpZGVvVGFnKSk7Ci0KLSAgICBIVE1MVmlkZW9FbGVt
ZW50KiB2aWRlb0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MVmlkZW9FbGVtZW50Kj4obm9kZSk7
Ci0gICAgUGxhdGZvcm1NZWRpYSBwbGF0Zm9ybU1lZGlhID0gdmlkZW9FbGVtZW50LT5wbGF0Zm9y
bU1lZGlhKCk7Ci0KLSAgICBBU1NFUlQocGxhdGZvcm1NZWRpYS50eXBlID09IFBsYXRmb3JtTWVk
aWE6OlF0TWVkaWFQbGF5ZXJUeXBlKTsKLSAgICBpZiAocGxhdGZvcm1NZWRpYS50eXBlICE9IFBs
YXRmb3JtTWVkaWE6OlF0TWVkaWFQbGF5ZXJUeXBlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBm
dWxsU2NyZWVuVmlkZW8oKS0+ZXhpdEZ1bGxTY3JlZW5Gb3JOb2RlKG5vZGUpOwotfSAKLSNlbmRp
ZgotCiBRV2ViU2VsZWN0TWV0aG9kKiBDaHJvbWVDbGllbnRRdDo6Y3JlYXRlU2VsZWN0UG9wdXAo
KSBjb25zdAogewogICAgIFFXZWJTZWxlY3RNZXRob2QqIHJlc3VsdCA9IG1fcGxhdGZvcm1QbHVn
aW4uY3JlYXRlU2VsZWN0SW5wdXRNZXRob2QoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFF0LmgKaW5kZXggM2FlMTU5Y2FmODgwNzAxNDI2MjBiYTA0MWFlYWM2YmM4YzE5
MjYwNC4uYmNmODk3NTY4NmFlOTUwYmMyZjExZDFkNWJhNjI4YTBiNmQ5Y2ZkNiAxMDA2NDQKLS0t
IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKKysrIGIvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKQEAgLTUwLDcgKzUwLDYgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBGcmFtZUxvYWRSZXF1ZXN0OwogICAgIGNsYXNz
IFF0QWJzdHJhY3RXZWJQb3B1cDsKICAgICBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVudHM7Ci0gICAg
Y2xhc3MgRnVsbFNjcmVlblZpZGVvUXQ7CiAKICAgICBjbGFzcyBDaHJvbWVDbGllbnRRdCA6IHB1
YmxpYyBDaHJvbWVDbGllbnQKICAgICB7CkBAIC0xNjMsMTQgKzE2Miw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgICAgICB2aXJ0dWFsIHZvaWQg
bmVlZFRvdWNoRXZlbnRzKGJvb2wpIHsgfQogI2VuZGlmCi0gCi0jaWYgRU5BQkxFKFZJREVPKQot
ICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGdWxsc2NyZWVuRm9yTm9kZShjb25zdCBOb2Rl
Kik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBlbnRlckZ1bGxzY3JlZW5Gb3JOb2RlKE5vZGUqKTsK
LSAgICAgICAgdmlydHVhbCB2b2lkIGV4aXRGdWxsc2NyZWVuRm9yTm9kZShOb2RlKik7Ci0gICAg
ICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0Z1bGxzY3JlZW5Gb3JWaWRlb1BsYXliYWNrKCk7Ci0g
ICAgICAgIEZ1bGxTY3JlZW5WaWRlb1F0KiBmdWxsU2NyZWVuVmlkZW8oKTsKLSNlbmRpZgogCiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVD
aG9vc2VyPik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjaG9vc2VJY29uRm9yRmlsZXMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mLCBGaWxlQ2hvb3NlciopOwpAQCAtMjA1LDEwICsxOTYsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbWVudUJhclZpc2libGU7CiAgICAgICAgIFFF
dmVudExvb3AqIG1fZXZlbnRMb29wOwogCi0jaWYgRU5BQkxFKFZJREVPKQotICAgICAgICBGdWxs
U2NyZWVuVmlkZW9RdCogbV9mdWxsU2NyZWVuVmlkZW87Ci0jZW5kaWYKLQogICAgICAgICBzdGF0
aWMgYm9vbCBkdW1wVmlzaXRlZExpbmtzQ2FsbGJhY2tzOwogCiAgICAgICAgIG11dGFibGUgUXRQ
bGF0Zm9ybVBsdWdpbiBtX3BsYXRmb3JtUGx1Z2luOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1F0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9GdWxsU2NyZWVuVmlkZW9RdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGJkYzIyZTUyZjMzNDU4Njc4MDJlMmJiNjcxZGI4NDNkYzMxYzVlNDIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0Z1bGxTY3JlZW5WaWRlb1F0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEwNCArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDExIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vi
c2lkaWFyeSgtaWVzKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAq
Ci0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQot
ICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkZ1bGxTY3Jl
ZW5WaWRlb1F0LmgiCi0KLSNpbmNsdWRlICJDaHJvbWVDbGllbnRRdC5oIgotI2luY2x1ZGUgIkhU
TUxOYW1lcy5oIgotI2luY2x1ZGUgIkhUTUxWaWRlb0VsZW1lbnQuaCIKLSNpbmNsdWRlICJNZWRp
YVBsYXllclByaXZhdGVRdC5oIgotI2luY2x1ZGUgIk5vZGUuaCIKLSNpbmNsdWRlICJxd2Via2l0
cGxhdGZvcm1wbHVnaW4uaCIKLQotI2luY2x1ZGUgPFFHcmFwaGljc1ZpZGVvSXRlbT4KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1GdWxsU2NyZWVuVmlkZW9RdDo6RnVsbFNjcmVlblZpZGVvUXQo
Q2hyb21lQ2xpZW50UXQqIGNocm9tZUNsaWVudCkKLSAgICA6IG1fY2hyb21lQ2xpZW50KGNocm9t
ZUNsaWVudCkKLSAgICAsIG1fdmlkZW9FbGVtZW50KDApCi17Ci0gICAgUV9BU1NFUlQobV9jaHJv
bWVDbGllbnQpOwotICAgIG1fRnVsbFNjcmVlblZpZGVvSGFuZGxlciA9IG1fY2hyb21lQ2xpZW50
LT5tX3BsYXRmb3JtUGx1Z2luLmNyZWF0ZUZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIoKTsKLQotICAg
IGlmIChtX0Z1bGxTY3JlZW5WaWRlb0hhbmRsZXIpCi0gICAgICAgIGNvbm5lY3QobV9GdWxsU2Ny
ZWVuVmlkZW9IYW5kbGVyLCBTSUdOQUwoZnVsbFNjcmVlbkNsb3NlZCgpKSwgdGhpcywgU0xPVChh
Ym91dFRvQ2xvc2UoKSkpOwotfQotCi1GdWxsU2NyZWVuVmlkZW9RdDo6fkZ1bGxTY3JlZW5WaWRl
b1F0KCkKLXsKLSAgICBkZWxldGUgbV9GdWxsU2NyZWVuVmlkZW9IYW5kbGVyOwotfQotCi12b2lk
IEZ1bGxTY3JlZW5WaWRlb1F0OjplbnRlckZ1bGxTY3JlZW5Gb3JOb2RlKE5vZGUqIG5vZGUpCi17
Ci0gICAgUV9BU1NFUlQobm9kZSk7Ci0gICAgUV9BU1NFUlQobV9GdWxsU2NyZWVuVmlkZW9IYW5k
bGVyKTsKLQotICAgIGlmICghbV9GdWxsU2NyZWVuVmlkZW9IYW5kbGVyKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBNZWRpYVBsYXllclByaXZhdGVRdCogbWVkaWFQbGF5ZXJRdCA9IG1lZGlhUGxh
eWVyRm9yTm9kZShub2RlKTsKLSAgICBtZWRpYVBsYXllclF0LT5yZW1vdmVWaWRlb0l0ZW0oKTsK
LSAgICBtX0Z1bGxTY3JlZW5WaWRlb0hhbmRsZXItPmVudGVyRnVsbFNjcmVlbihtZWRpYVBsYXll
clF0LT5tZWRpYVBsYXllcigpKTsKLX0KLQotdm9pZCBGdWxsU2NyZWVuVmlkZW9RdDo6ZXhpdEZ1
bGxTY3JlZW5Gb3JOb2RlKE5vZGUqIG5vZGUpCi17Ci0gICAgUV9BU1NFUlQobm9kZSk7Ci0gICAg
UV9BU1NFUlQobV9GdWxsU2NyZWVuVmlkZW9IYW5kbGVyKTsKLQotICAgIGlmICghbV9GdWxsU2Ny
ZWVuVmlkZW9IYW5kbGVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX0Z1bGxTY3JlZW5WaWRl
b0hhbmRsZXItPmV4aXRGdWxsU2NyZWVuKCk7Ci0gICAgTWVkaWFQbGF5ZXJQcml2YXRlUXQqIG1l
ZGlhUGxheWVyUXQgPSBtZWRpYVBsYXllckZvck5vZGUobm9kZSk7Ci0gICAgbWVkaWFQbGF5ZXJR
dC0+cmVzdG9yZVZpZGVvSXRlbSgpOwotfQotCi12b2lkIEZ1bGxTY3JlZW5WaWRlb1F0OjphYm91
dFRvQ2xvc2UoKQotewotICAgIFFfQVNTRVJUKG1fdmlkZW9FbGVtZW50KTsKLSAgICBtX3ZpZGVv
RWxlbWVudC0+ZXhpdEZ1bGxzY3JlZW4oKTsKLX0KLQotTWVkaWFQbGF5ZXJQcml2YXRlUXQqIEZ1
bGxTY3JlZW5WaWRlb1F0OjptZWRpYVBsYXllcigpCi17Ci0gICAgUV9BU1NFUlQobV92aWRlb0Vs
ZW1lbnQpOwotICAgIFBsYXRmb3JtTWVkaWEgcGxhdGZvcm1NZWRpYSA9IG1fdmlkZW9FbGVtZW50
LT5wbGF0Zm9ybU1lZGlhKCk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PE1lZGlhUGxheWVyUHJp
dmF0ZVF0Kj4ocGxhdGZvcm1NZWRpYS5tZWRpYS5xdE1lZGlhUGxheWVyKTsKLX0KLQotTWVkaWFQ
bGF5ZXJQcml2YXRlUXQqIEZ1bGxTY3JlZW5WaWRlb1F0OjptZWRpYVBsYXllckZvck5vZGUoTm9k
ZSogbm9kZSkKLXsKLSAgICBRX0FTU0VSVChub2RlKTsKLSAgICBpZiAobm9kZSkKLSAgICAgICAg
bV92aWRlb0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MVmlkZW9FbGVtZW50Kj4obm9kZSk7Ci0g
ICAgcmV0dXJuIG1lZGlhUGxheWVyKCk7Ci19Ci0KLWJvb2wgRnVsbFNjcmVlblZpZGVvUXQ6OnJl
cXVpcmVzRnVsbFNjcmVlbkZvclZpZGVvUGxheWJhY2soKQotewotICAgIHJldHVybiBtX0Z1bGxT
Y3JlZW5WaWRlb0hhbmRsZXIgPyBtX0Z1bGxTY3JlZW5WaWRlb0hhbmRsZXItPnJlcXVpcmVzRnVs
bFNjcmVlbkZvclZpZGVvUGxheWJhY2soKSA6IGZhbHNlOwotfQotCi19Ci0KZGlmZiAtLWdpdCBh
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GdWxsU2NyZWVuVmlkZW9RdC5oIGIvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1F0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDYzN2RhNzBhMjdjOThlZTZhOWM3MTRmNDhhNTdlNDM2YjQ1ZDIwYTkuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0Z1bGxTY3JlZW5WaWRlb1F0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKS4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0gKi8KLQotI2lmbmRlZiBGdWxsU2NyZWVuVmlkZW9RdF9oCi0jZGVmaW5l
IEZ1bGxTY3JlZW5WaWRlb1F0X2gKLQotI2luY2x1ZGUgPFFPYmplY3Q+Ci0KLVFUX0JFR0lOX05B
TUVTUEFDRQotY2xhc3MgUUdyYXBoaWNzVmlkZW9JdGVtOwotUVRfRU5EX05BTUVTUEFDRQotCi1j
bGFzcyBRV2ViRnVsbFNjcmVlblZpZGVvSGFuZGxlcjsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci1jbGFzcyBDaHJvbWVDbGllbnRRdDsKLWNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7Ci1jbGFzcyBO
b2RlOwotY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlUXQ7Ci0KLWNsYXNzIEZ1bGxTY3JlZW5WaWRl
b1F0IDogcHVibGljIFFPYmplY3QgewotICAgIFFfT0JKRUNUCi1wdWJsaWM6Ci0gICAgRnVsbFNj
cmVlblZpZGVvUXQoQ2hyb21lQ2xpZW50UXQqKTsKLSAgICB+RnVsbFNjcmVlblZpZGVvUXQoKTsK
LQotICAgIHZpcnR1YWwgdm9pZCBlbnRlckZ1bGxTY3JlZW5Gb3JOb2RlKE5vZGUqKTsKLSAgICB2
aXJ0dWFsIHZvaWQgZXhpdEZ1bGxTY3JlZW5Gb3JOb2RlKE5vZGUqKTsKLSAgICBib29sIHJlcXVp
cmVzRnVsbFNjcmVlbkZvclZpZGVvUGxheWJhY2soKTsKLSAgICBib29sIGlzVmFsaWQoKSBjb25z
dCB7ICByZXR1cm4gbV9GdWxsU2NyZWVuVmlkZW9IYW5kbGVyOyB9Ci0KLXByaXZhdGU6Ci0gICAg
TWVkaWFQbGF5ZXJQcml2YXRlUXQqIG1lZGlhUGxheWVyKCk7Ci0gICAgTWVkaWFQbGF5ZXJQcml2
YXRlUXQqIG1lZGlhUGxheWVyRm9yTm9kZShOb2RlKiA9IDApOwotCi1wcml2YXRlIHNsb3RzOgot
ICAgIHZvaWQgYWJvdXRUb0Nsb3NlKCk7Ci0KLXByaXZhdGU6Ci0gICAgQ2hyb21lQ2xpZW50UXQq
IG1fY2hyb21lQ2xpZW50OwotICAgIEhUTUxWaWRlb0VsZW1lbnQqIG1fdmlkZW9FbGVtZW50Owot
ICAgIFFXZWJGdWxsU2NyZWVuVmlkZW9IYW5kbGVyKiBtX0Z1bGxTY3JlZW5WaWRlb0hhbmRsZXI7
Ci19OwotCi19Ci0KLSNlbmRpZiAvLyBQb3B1cE1lbnVRdF9oCmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvUXRQbGF0Zm9ybVBsdWdpbi5jcHAgYi9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvUXRQbGF0Zm9ybVBsdWdpbi5jcHAKaW5kZXggZmY5MmQxYzY0NDY0NDkwZmI2NTRl
NTdmZDMwZDA2NDgwNzQzZDVhMS4uZTRiODliNDNhOTE1Y2EzMmUxMGM2NzYxZGI0ZGEzYjIwMWZk
MTg0ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0UGxhdGZvcm1QbHVn
aW4uY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFBsYXRmb3JtUGx1Z2luLmNw
cApAQCAtMTI3LDEyICsxMjcsNCBAQCBRV2ViVG91Y2hNb2RpZmllciogUXRQbGF0Zm9ybVBsdWdp
bjo6Y3JlYXRlVG91Y2hNb2RpZmllcigpCiAgICAgcmV0dXJuIHAgPyBzdGF0aWNfY2FzdDxRV2Vi
VG91Y2hNb2RpZmllcio+KHAtPmNyZWF0ZUV4dGVuc2lvbihRV2ViS2l0UGxhdGZvcm1QbHVnaW46
OlRvdWNoSW50ZXJhY3Rpb24pKSA6IDA7CiB9CiAKLSNpZiBFTkFCTEUoVklERU8pCi1RV2ViRnVs
bFNjcmVlblZpZGVvSGFuZGxlciogUXRQbGF0Zm9ybVBsdWdpbjo6Y3JlYXRlRnVsbFNjcmVlblZp
ZGVvSGFuZGxlcigpCi17Ci0gICAgUVdlYktpdFBsYXRmb3JtUGx1Z2luKiBwID0gcGx1Z2luKCk7
Ci0gICAgcmV0dXJuIHAgPyBzdGF0aWNfY2FzdDxRV2ViRnVsbFNjcmVlblZpZGVvSGFuZGxlcio+
KHAtPmNyZWF0ZUV4dGVuc2lvbihRV2ViS2l0UGxhdGZvcm1QbHVnaW46OkZ1bGxTY3JlZW5WaWRl
b1BsYXllcikpIDogMDsKLX0KLSNlbmRpZgotCiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvUXRQbGF0Zm9ybVBsdWdpbi5oIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L1F0UGxhdGZvcm1QbHVnaW4uaAppbmRleCBlYjg2Y2I5Y2I1NjQzZmY3YTk1OTAxZDM1MzhjY2Vm
OGI0NTI0ZTk4Li4zNjViNzM0ZDA1ZDZkOGQ2ZDZiOTI2YTNkY2E0ZmNiNDdkZWExNmJlIDEwMDY0
NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRQbGF0Zm9ybVBsdWdpbi5oCisrKyBi
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdFBsYXRmb3JtUGx1Z2luLmgKQEAgLTI5LDkgKzI5
LDYgQEAgY2xhc3MgUVdlYk5vdGlmaWNhdGlvblByZXNlbnRlcjsKIGNsYXNzIFFXZWJIYXB0aWNG
ZWVkYmFja1BsYXllcjsKIGNsYXNzIFFXZWJTZWxlY3REYXRhOwogY2xhc3MgUVdlYlRvdWNoTW9k
aWZpZXI7Ci0jaWYgRU5BQkxFKFZJREVPKQotY2xhc3MgUVdlYkZ1bGxTY3JlZW5WaWRlb0hhbmRs
ZXI7Ci0jZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NCw5ICs0MSw2IEBAIHB1
YmxpYzoKICAgICBRV2ViTm90aWZpY2F0aW9uUHJlc2VudGVyKiBjcmVhdGVOb3RpZmljYXRpb25Q
cmVzZW50ZXIoKTsKICAgICBRV2ViSGFwdGljRmVlZGJhY2tQbGF5ZXIqIGNyZWF0ZUhhcHRpY0Zl
ZWRiYWNrUGxheWVyKCk7CiAgICAgUVdlYlRvdWNoTW9kaWZpZXIqIGNyZWF0ZVRvdWNoTW9kaWZp
ZXIoKTsKLSNpZiBFTkFCTEUoVklERU8pCi0gICAgUVdlYkZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIq
IGNyZWF0ZUZ1bGxTY3JlZW5WaWRlb0hhbmRsZXIoKTsKLSNlbmRpZgogCiAgICAgUVdlYktpdFBs
YXRmb3JtUGx1Z2luKiBwbHVnaW4oKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L2V4YW1wbGVz
L3BsYXRmb3JtcGx1Z2luL1dlYlBsdWdpbi5jcHAgYi9XZWJLaXQvcXQvZXhhbXBsZXMvcGxhdGZv
cm1wbHVnaW4vV2ViUGx1Z2luLmNwcAppbmRleCBkMWUxYTU2ODM4ZjEwMWNiMjliOWVjMmZiZjVh
ZWY1MWUxNWE3Yjk4Li5kMDI5YjczOGU1MGM5ZWJlYjIwOGVkYjMyMWVmYWE5ZjUzMmI4YzFlIDEw
MDY0NAotLS0gYS9XZWJLaXQvcXQvZXhhbXBsZXMvcGxhdGZvcm1wbHVnaW4vV2ViUGx1Z2luLmNw
cAorKysgYi9XZWJLaXQvcXQvZXhhbXBsZXMvcGxhdGZvcm1wbHVnaW4vV2ViUGx1Z2luLmNwcApA
QCAtMTksOSArMTksNyBAQAogICovCiAjaW5jbHVkZSAiV2ViUGx1Z2luLmgiCiAKLSNpbmNsdWRl
IDxRRXZlbnQ+CiAjaW5jbHVkZSA8UUhCb3hMYXlvdXQ+Ci0jaW5jbHVkZSA8UUtleUV2ZW50Pgog
I2luY2x1ZGUgPFFMaXN0V2lkZ2V0PgogI2luY2x1ZGUgPFFMaXN0V2lkZ2V0SXRlbT4KICNpbmNs
dWRlIDxRUGFpbnRlcj4KQEAgLTIxMCw3MSArMjA4LDYgQEAgTXVsdGlwbGVTZWxlY3Rpb25Qb3B1
cDo6TXVsdGlwbGVTZWxlY3Rpb25Qb3B1cChjb25zdCBRV2ViU2VsZWN0RGF0YSYgZGF0YSkKICAg
ICByZXNpemUoc2l6ZSgpLndpZHRoKCksIHZpc2libGVJdGVtQ291bnQgKiBnTWFlbW9MaXN0SXRl
bVNpemUpOwogfQogCi0jaWYgZGVmaW5lZChFTkFCTEVfVklERU8pICYmIEVOQUJMRV9WSURFTwot
RnVsbFNjcmVlblZpZGVvV2lkZ2V0OjpGdWxsU2NyZWVuVmlkZW9XaWRnZXQoUU1lZGlhUGxheWVy
KiBwbGF5ZXIpCi0gICAgOiBRVmlkZW9XaWRnZXQoKQotICAgICwgbV9tZWRpYVBsYXllcihwbGF5
ZXIpCi17Ci0gICAgUV9BU1NFUlQobV9tZWRpYVBsYXllcik7Ci0KLSAgICBzZXRGdWxsU2NyZWVu
KHRydWUpOwotICAgIG1fbWVkaWFQbGF5ZXItPnNldFZpZGVvT3V0cHV0KHRoaXMpOwotfQotCi1i
b29sIEZ1bGxTY3JlZW5WaWRlb1dpZGdldDo6ZXZlbnQoUUV2ZW50KiBldikKLXsKLSAgICBpZiAo
ZXYtPnR5cGUoKSA9PSAgUUV2ZW50OjpNb3VzZUJ1dHRvbkRibENsaWNrKSB7Ci0gICAgICAgIGVt
aXQgZnVsbFNjcmVlbkNsb3NlZCgpOwotICAgICAgICBldi0+YWNjZXB0KCk7Ci0gICAgICAgIHJl
dHVybiB0cnVlOwotICAgIH0gCi0gICAgcmV0dXJuIFFXaWRnZXQ6OmV2ZW50KGV2KTsKLX0KLQot
dm9pZCBGdWxsU2NyZWVuVmlkZW9XaWRnZXQ6OmtleVByZXNzRXZlbnQoUUtleUV2ZW50KiBldikK
LXsKLSAgICBpZiAoZXYtPmtleSgpID09IFF0OjpLZXlfU3BhY2UpIHsKLSAgICAgICAgaWYgKG1f
bWVkaWFQbGF5ZXItPnN0YXRlKCkgPT0gUU1lZGlhUGxheWVyOjpQbGF5aW5nU3RhdGUpCi0gICAg
ICAgICAgICBtX21lZGlhUGxheWVyLT5wYXVzZSgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBtX21lZGlhUGxheWVyLT5wbGF5KCk7Ci0gICAgICAgIGV2LT5hY2NlcHQoKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLX0KLQotRnVsbFNjcmVlblZpZGVvSGFuZGxlcjo6RnVsbFNjcmVlblZp
ZGVvSGFuZGxlcigpCi0gICAgOiBtX21lZGlhV2lkZ2V0KDApCi17Ci19Ci0KLUZ1bGxTY3JlZW5W
aWRlb0hhbmRsZXI6On5GdWxsU2NyZWVuVmlkZW9IYW5kbGVyKCkKLXsKLSAgICBkZWxldGUgbV9t
ZWRpYVdpZGdldDsKLX0KLQotYm9vbCBGdWxsU2NyZWVuVmlkZW9IYW5kbGVyOjpyZXF1aXJlc0Z1
bGxTY3JlZW5Gb3JWaWRlb1BsYXliYWNrKCkgY29uc3QKLXsKLSAgICByZXR1cm4gdHJ1ZTsKLX0K
LQotdm9pZCBGdWxsU2NyZWVuVmlkZW9IYW5kbGVyOjplbnRlckZ1bGxTY3JlZW4oUU1lZGlhUGxh
eWVyKiBwbGF5ZXIpCi17Ci0gICAgUV9BU1NFUlQocGxheWVyKTsKLQotICAgIG1fbWVkaWFXaWRn
ZXQgPSBuZXcgRnVsbFNjcmVlblZpZGVvV2lkZ2V0KHBsYXllcik7Ci0gICAgY29ubmVjdChtX21l
ZGlhV2lkZ2V0LCBTSUdOQUwoZnVsbFNjcmVlbkNsb3NlZCgpKSwgdGhpcywgU0lHTkFMKGZ1bGxT
Y3JlZW5DbG9zZWQoKSkpOwotICAgIG1fbWVkaWFXaWRnZXQtPnNob3dGdWxsU2NyZWVuKCk7Ci19
Ci0KLXZvaWQgRnVsbFNjcmVlblZpZGVvSGFuZGxlcjo6ZXhpdEZ1bGxTY3JlZW4oKQotewotICAg
IG1fbWVkaWFXaWRnZXQtPmhpZGUoKTsKLSAgICBkZWxldGUgbV9tZWRpYVdpZGdldDsKLSAgICBt
X21lZGlhV2lkZ2V0ID0gMDsKLX0KLSNlbmRpZgotCiBib29sIFdlYlBsdWdpbjo6c3VwcG9ydHNF
eHRlbnNpb24oRXh0ZW5zaW9uIGV4dGVuc2lvbikgY29uc3QKIHsKICAgICBzd2l0Y2ggKGV4dGVu
c2lvbikgewpAQCAtMjg2LDEwICsyMTksNiBAQCBib29sIFdlYlBsdWdpbjo6c3VwcG9ydHNFeHRl
bnNpb24oRXh0ZW5zaW9uIGV4dGVuc2lvbikgY29uc3QKICNlbmRpZgogICAgIGNhc2UgVG91Y2hJ
bnRlcmFjdGlvbjoKICAgICAgICAgcmV0dXJuIHRydWU7Ci0jaWYgZGVmaW5lZChFTkFCTEVfVklE
RU8pICYmIEVOQUJMRV9WSURFTwotICAgIGNhc2UgRnVsbFNjcmVlblZpZGVvUGxheWVyOgotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICB9CkBAIC0zMDYsMTAgKzIzNSw2IEBAIFFPYmplY3QqIFdlYlBsdWdpbjo6Y3Jl
YXRlRXh0ZW5zaW9uKEV4dGVuc2lvbiBleHRlbnNpb24pIGNvbnN0CiAjZW5kaWYKICAgICBjYXNl
IFRvdWNoSW50ZXJhY3Rpb246CiAgICAgICAgIHJldHVybiBuZXcgVG91Y2hNb2RpZmllcigpOwot
I2lmIGRlZmluZWQoRU5BQkxFX1ZJREVPKSAmJiBFTkFCTEVfVklERU8KLSAgICBjYXNlIEZ1bGxT
Y3JlZW5WaWRlb1BsYXllcjoKLSAgICAgICAgcmV0dXJuIG5ldyBGdWxsU2NyZWVuVmlkZW9IYW5k
bGVyKCk7Ci0jZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gMDsKICAgICB9CmRp
ZmYgLS1naXQgYS9XZWJLaXQvcXQvZXhhbXBsZXMvcGxhdGZvcm1wbHVnaW4vV2ViUGx1Z2luLmgg
Yi9XZWJLaXQvcXQvZXhhbXBsZXMvcGxhdGZvcm1wbHVnaW4vV2ViUGx1Z2luLmgKaW5kZXggMmUw
ZTY5MmI2M2VmMzA1Mzc4MmNhM2E2NTE4MzA4ZmM2NGM0NWYwYS4uMDI0M2Y1N2Q3OWFlYWNjYWY5
MzU3ZWI2MmRiNGJjNjk0OTg4M2ZjMyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L2V4YW1wbGVzL3Bs
YXRmb3JtcGx1Z2luL1dlYlBsdWdpbi5oCisrKyBiL1dlYktpdC9xdC9leGFtcGxlcy9wbGF0Zm9y
bXBsdWdpbi9XZWJQbHVnaW4uaApAQCAtMjQsOSArMjQsNiBAQAogI2luY2x1ZGUgIldlYk5vdGlm
aWNhdGlvblByZXNlbnRlci5oIgogCiAjaW5jbHVkZSA8UURpYWxvZz4KLSNpZiBkZWZpbmVkKEVO
QUJMRV9WSURFTykgJiYgRU5BQkxFX1ZJREVPCi0jaW5jbHVkZSA8UVZpZGVvV2lkZ2V0PgotI2Vu
ZGlmCiAKIGNsYXNzIFFMaXN0V2lkZ2V0SXRlbTsKIGNsYXNzIFFMaXN0V2lkZ2V0OwpAQCAtOTcs
NDAgKzk0LDYgQEAgcHVibGljOgogICAgIH0KIH07CiAKLSNpZiBkZWZpbmVkKEVOQUJMRV9WSURF
TykgJiYgRU5BQkxFX1ZJREVPCi1jbGFzcyBGdWxsU2NyZWVuVmlkZW9XaWRnZXQgOiBwdWJsaWMg
UVZpZGVvV2lkZ2V0IHsKLSAgICBRX09CSkVDVAotcHVibGljOgotICAgIEZ1bGxTY3JlZW5WaWRl
b1dpZGdldChRTWVkaWFQbGF5ZXIqKTsKLSAgICB2aXJ0dWFsIH5GdWxsU2NyZWVuVmlkZW9XaWRn
ZXQoKSB7fQotCi1RX1NJR05BTFM6Ci0gICAgdm9pZCBmdWxsU2NyZWVuQ2xvc2VkKCk7Ci0KLXBy
b3RlY3RlZDoKLSAgICBib29sIGV2ZW50KFFFdmVudCopOwotICAgIHZvaWQga2V5UHJlc3NFdmVu
dChRS2V5RXZlbnQqKTsKLQotcHJpdmF0ZToKLSAgICBRTWVkaWFQbGF5ZXIqIG1fbWVkaWFQbGF5
ZXI7IC8vIG5vdCBvd25lZAotfTsKLQotY2xhc3MgRnVsbFNjcmVlblZpZGVvSGFuZGxlciA6IHB1
YmxpYyBRV2ViRnVsbFNjcmVlblZpZGVvSGFuZGxlciB7Ci0gICAgUV9PQkpFQ1QKLXB1YmxpYzoK
LSAgICBGdWxsU2NyZWVuVmlkZW9IYW5kbGVyKCk7Ci0gICAgdmlydHVhbCB+RnVsbFNjcmVlblZp
ZGVvSGFuZGxlcigpOwotICAgIGJvb2wgcmVxdWlyZXNGdWxsU2NyZWVuRm9yVmlkZW9QbGF5YmFj
aygpIGNvbnN0OwotCi1wdWJsaWMgUV9TTE9UUzoKLSAgICB2b2lkIGVudGVyRnVsbFNjcmVlbihR
TWVkaWFQbGF5ZXIqKTsKLSAgICB2b2lkIGV4aXRGdWxsU2NyZWVuKCk7Ci0KLXByaXZhdGU6Ci0g
ICAgRnVsbFNjcmVlblZpZGVvV2lkZ2V0KiBtX21lZGlhV2lkZ2V0OyAvLyBvd25lZAotfTsKLSNl
bmRpZgotCiBjbGFzcyBXZWJQbHVnaW4gOiBwdWJsaWMgUU9iamVjdCwgcHVibGljIFFXZWJLaXRQ
bGF0Zm9ybVBsdWdpbgogewogICAgIFFfT0JKRUNUCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvZXhh
bXBsZXMvcGxhdGZvcm1wbHVnaW4vcGxhdGZvcm1wbHVnaW4ucHJvIGIvV2ViS2l0L3F0L2V4YW1w
bGVzL3BsYXRmb3JtcGx1Z2luL3BsYXRmb3JtcGx1Z2luLnBybwppbmRleCA5MjJmZjQ3NzcyZGNm
Y2VkZTIwNTkzMDJiYWI1MWJkNjgwOTVlZDUwLi45Mjc1NjY1NzI3ODY2YjJlMGM1ZGM2Njc3NzZh
MDhiZmRjYjUxMWZjIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvZXhhbXBsZXMvcGxhdGZvcm1wbHVn
aW4vcGxhdGZvcm1wbHVnaW4ucHJvCisrKyBiL1dlYktpdC9xdC9leGFtcGxlcy9wbGF0Zm9ybXBs
dWdpbi9wbGF0Zm9ybXBsdWdpbi5wcm8KQEAgLTMsMjAgKzMsNiBAQCBUQVJHRVQgPSAkJHF0TGli
cmFyeVRhcmdldChwbGF0Zm9ybXBsdWdpbikKIFRFTVBMQVRFID0gbGliCiBDT05GSUcgKz0gcGx1
Z2luCiAKLSMjIGxvYWQgbW9iaWxpdHljb25maWcgaWYgbW9iaWxpdHkgaXMgYXZhaWxhYmxlCi1s
b2FkKG1vYmlsaXR5Y29uZmlnLCB0cnVlKQotCi0jIEhUTUw1IE1lZGlhIFN1cHBvcnQKLSMgV2Ug
cmVxdWlyZSBRdE11bHRpbWVkaWEKLSFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU89Likg
ewotICAgIGNvbnRhaW5zKE1PQklMSVRZX0NPTkZJRywgbXVsdGltZWRpYSkgewotICAgICAgICBD
T05GSUcgKz0gbW9iaWxpdHkKLSAgICAgICAgTU9CSUxJVFkgKz0gbXVsdGltZWRpYQotICAgICAg
ICBERUZJTkVTIC09IEVOQUJMRV9WSURFTz0wCi0gICAgICAgIERFRklORVMgKz0gRU5BQkxFX1ZJ
REVPPTEKLSAgICB9Ci19Ci0KIERFU1RESVIgPSAkJFtRVF9JTlNUQUxMX1BMVUdJTlNdL3dlYmtp
dAogCiBTT1VSQ0VTICs9IFwKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9leGFtcGxlcy9wbGF0Zm9y
bXBsdWdpbi9xd2Via2l0cGxhdGZvcm1wbHVnaW4uaCBiL1dlYktpdC9xdC9leGFtcGxlcy9wbGF0
Zm9ybXBsdWdpbi9xd2Via2l0cGxhdGZvcm1wbHVnaW4uaAppbmRleCAwMWM1M2ZiMTQ4OTk1MjUy
YjU5YjBjYmRkNDQ4OWVmODg4YTM3MzI4Li5iOGNjOTg0YTM0NDU4NzAwYmUyMGI5MmY0NTY4NmVl
ODU3MjQwMzIwIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvZXhhbXBsZXMvcGxhdGZvcm1wbHVnaW4v
cXdlYmtpdHBsYXRmb3JtcGx1Z2luLmgKKysrIGIvV2ViS2l0L3F0L2V4YW1wbGVzL3BsYXRmb3Jt
cGx1Z2luL3F3ZWJraXRwbGF0Zm9ybXBsdWdpbi5oCkBAIC0yOCw5ICsyOCw2IEBACiAKICNpbmNs
dWRlIDxRT2JqZWN0PgogI2luY2x1ZGUgPFFVcmw+Ci0jaWYgZGVmaW5lZChFTkFCTEVfVklERU8p
ICYmIEVOQUJMRV9WSURFTwotI2luY2x1ZGUgPFFNZWRpYVBsYXllcj4KLSNlbmRpZgogCiBjbGFz
cyBRV2ViU2VsZWN0RGF0YQogewpAQCAtMTE4LDIzICsxMTUsNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB1bnNpZ25lZCBoaXRUZXN0UGFkZGluZ0ZvclRvdWNoKGNvbnN0IFBhZGRpbmdEaXJlY3Rp
b24pIGNvbnN0ID0gMDsKIH07CiAKLSNpZiBkZWZpbmVkKEVOQUJMRV9WSURFTykgJiYgRU5BQkxF
X1ZJREVPCi1jbGFzcyBRV2ViRnVsbFNjcmVlblZpZGVvSGFuZGxlciA6IHB1YmxpYyBRT2JqZWN0
IHsKLSAgICBRX09CSkVDVAotcHVibGljOgotICAgIFFXZWJGdWxsU2NyZWVuVmlkZW9IYW5kbGVy
KCkge30KLSAgICB2aXJ0dWFsIH5RV2ViRnVsbFNjcmVlblZpZGVvSGFuZGxlcigpIHt9Ci0gICAg
dmlydHVhbCBib29sIHJlcXVpcmVzRnVsbFNjcmVlbkZvclZpZGVvUGxheWJhY2soKSBjb25zdCA9
IDA7Ci0KLVFfU0lHTkFMUzoKLSAgICB2b2lkIGZ1bGxTY3JlZW5DbG9zZWQoKTsKLQotcHVibGlj
IFFfU0xPVFM6Ci0gICAgdmlydHVhbCB2b2lkIGVudGVyRnVsbFNjcmVlbihRTWVkaWFQbGF5ZXIq
KSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGV4aXRGdWxsU2NyZWVuKCkgPSAwOwotfTsKLSNlbmRp
ZgotCiBjbGFzcyBRV2ViS2l0UGxhdGZvcm1QbHVnaW4KIHsKIHB1YmxpYzoKQEAgLTE0NCw4ICsx
MjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIE11bHRpcGxlU2VsZWN0aW9ucywKICAgICAgICAgTm90
aWZpY2F0aW9ucywKICAgICAgICAgSGFwdGljcywKLSAgICAgICAgVG91Y2hJbnRlcmFjdGlvbiwK
LSAgICAgICAgRnVsbFNjcmVlblZpZGVvUGxheWVyCisgICAgICAgIFRvdWNoSW50ZXJhY3Rpb24K
ICAgICB9OwogCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRXh0ZW5zaW9uKEV4dGVuc2lvbiBl
eHRlbnNpb24pIGNvbnN0ID0gMDsKQEAgLTE1Myw3ICsxMzIsNyBAQCBwdWJsaWM6CiB9OwogCiBR
VF9CRUdJTl9OQU1FU1BBQ0UKLVFfREVDTEFSRV9JTlRFUkZBQ0UoUVdlYktpdFBsYXRmb3JtUGx1
Z2luLCAiY29tLm5va2lhLlF0LldlYktpdC5QbGF0Zm9ybVBsdWdpbi8xLjciKTsKK1FfREVDTEFS
RV9JTlRFUkZBQ0UoUVdlYktpdFBsYXRmb3JtUGx1Z2luLCAiY29tLm5va2lhLlF0LldlYktpdC5Q
bGF0Zm9ybVBsdWdpbi8xLjYiKTsKIFFUX0VORF9OQU1FU1BBQ0UKIAogI2VuZGlmIC8vIFFXRUJL
SVRQTEFURk9STVBMVUdJTl9ICg==
</data>

          </attachment>
      

    </bug>

</bugzilla>