<?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>65848</bug_id>
          
          <creation_ts>2011-08-08 04:04:15 -0700</creation_ts>
          <short_desc>[EFL] Change the tiled backing store to use constant size of tile.</short_desc>
          <delta_ts>2011-08-23 18:39:48 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="KwangHyuk">hyuki.kim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>antognolli+webkit</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>leandro</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>447935</commentid>
    <comment_count>0</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-08-08 04:04:15 -0700</bug_when>
    <thetext>As current tiled backing store in Webkit EFL is using variable tile size according to the zoom level, the number of tiles in viewport is not same always and the speed of panning is also not consistent whenever zoom level is changed. Therefore, tile size should be constant size in order to make sure the consistent panning speed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447937</commentid>
    <comment_count>1</comment_count>
      <attachid>103227</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-08-08 04:10:40 -0700</bug_when>
    <thetext>Created attachment 103227
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447988</commentid>
    <comment_count>2</comment_count>
      <attachid>103227</attachid>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2011-08-08 07:37:19 -0700</bug_when>
    <thetext>Comment on attachment 103227
Patch.

Informal rs+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455920</commentid>
    <comment_count>3</comment_count>
      <attachid>103227</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-23 18:39:43 -0700</bug_when>
    <thetext>Comment on attachment 103227
Patch.

Clearing flags on attachment: 103227

Committed r93683: &lt;http://trac.webkit.org/changeset/93683&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455921</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-23 18:39:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103227</attachid>
            <date>2011-08-08 04:10:40 -0700</date>
            <delta_ts>2011-08-23 18:39:43 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>0808_constant_tile.patch</filename>
            <type>text/plain</type>
            <size>28519</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCBlODY1NDA1Li43M2ExNDRhIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDEgQEAKKzIwMTEtMDgtMDggIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQ2hhbmdlIHRoZSB0aWxlZCBiYWNraW5nIHN0b3Jl
IHRvIHVzZSBjb25zdGFudCBzaXplIG9mIHRpbGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0OAorCisgICAgICAgIEFzIGN1cnJlbnQgdGlsZWQg
YmFja2luZyBzdG9yZSBpbiBXZWJraXQgRUZMIGlzIHVzaW5nIHZhcmlhYmxlIHRpbGUgc2l6ZSBh
Y2NvcmRpbmcgdG8gdGhlIHpvb20gbGV2ZWwsCisgICAgICAgIHRoZSBudW1iZXIgb2YgdGlsZXMg
aW4gdmlld3BvcnQgaXMgbm90IHNhbWUgYWx3YXlzIGFuZCB0aGUgc3BlZWQgb2YgcGFubmluZyBp
cyBhbHNvIG5vdCBjb25zaXN0ZW50CisgICAgICAgIHdoZW5ldmVyIHpvb20gbGV2ZWwgaXMgY2hh
bmdlZC4KKyAgICAgICAgVGhlcmVmb3JlLCB0aWxlIHNpemUgc2hvdWxkIGJlIGNvbnN0YW50IHNp
emUgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoZSBjb25zaXN0ZW50IHBhbm5pbmcgc3BlZWQuCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBld2svZXdr
X3RpbGVkX2JhY2tpbmdfc3RvcmUuYzoKKyAgICAgICAgKF9ld2tfdGlsZWRfYmFja2luZ19zdG9y
ZV9tb2RlbF9tYXRyaXhfY3JlYXRlKToKKyAgICAgICAgKF9ld2tfdGlsZWRfYmFja2luZ19zdG9y
ZV9zbWFydF9hZGQpOgorICAgICAgICAoX2V3a190aWxlZF9iYWNraW5nX3N0b3JlX3NtYXJ0X2Nh
bGN1bGF0ZSk6CisgICAgICAgIChfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfem9vbV9zZXRfaW50
ZXJuYWwpOgorICAgICAgICAoZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfem9vbV93ZWFrX3NldCk6
CisgICAgICAgIChld2tfdGlsZWRfYmFja2luZ19zdG9yZV9mbHVzaCk6CisgICAgICAgIChld2tf
dGlsZWRfYmFja2luZ19zdG9yZV9wcmVfcmVuZGVyX3JlZ2lvbik6CisgICAgICAgIChld2tfdGls
ZWRfYmFja2luZ19zdG9yZV9wcmVfcmVuZGVyX3JlbGF0aXZlX3JhZGl1cyk6CisgICAgICAgICog
ZXdrL2V3a190aWxlZF9iYWNraW5nX3N0b3JlLmg6CisgICAgICAgICogZXdrL2V3a190aWxlZF9t
YXRyaXguYzoKKyAgICAgICAgKF9ld2tfdGlsZV9tYXRyaXhfY2VsbF9mcmVlKToKKyAgICAgICAg
KF9ld2tfdGlsZV9tYXRyaXhfdGlsZV9mcmVlKToKKyAgICAgICAgKGV3a190aWxlX21hdHJpeF9u
ZXcpOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X3RpbGVfZXhhY3RfZ2V0KToKKyAgICAgICAg
KGV3a190aWxlX21hdHJpeF90aWxlX2V4YWN0X2V4aXN0cyk6CisgICAgICAgIChld2tfdGlsZV9t
YXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X3RpbGVfdXBkYXRlKToK
KyAgICAgICAgKGV3a190aWxlX21hdHJpeF90aWxlX3VwZGF0ZV9mdWxsKToKKyAgICAgICAgKF9l
d2tfdGlsZV9tYXRyaXhfc2xpY2VyX3NldHVwKToKKyAgICAgICAgKGV3a190aWxlX21hdHJpeF91
cGRhdGUpOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4X2RiZyk6CisgICAgICAgICogZXdrL2V3
a190aWxlZF9tYXRyaXguaDoKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX21vZGVsLmM6CisgICAg
ICAgIChld2tfdGlsZV9uZXcpOgorCiAyMDExLTA4LTA1ICBHcnplZ29yeiBDemFqa293c2tpICA8
Zy5jemFqa293c2tpQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIE1vdmUgQVBJIGRvY3Vt
ZW50YXRpb24gb2YgZXdrIGZpbGVzIHRvIHRoZSBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuYyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jCmluZGV4IDNjMWQyMGUuLmQzZGZiYjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9y
ZS5jCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5j
CkBAIC02NDUsOSArNjQ1LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIF9ld2tfdGlsZWRfYmFja2lu
Z19zdG9yZV9tb2RlbF9tYXRyaXhfY3JlYXRlKEV3a19UaWxlZF9CYWNraW4KICAgICAgICAgZXdr
X3RpbGVfbWF0cml4X2ZyZWUocHJpdi0+bW9kZWwubWF0cml4KTsKICAgICB9CiAKLSAgICBwcml2
LT5tb2RlbC5tYXRyaXggPSBld2tfdGlsZV9tYXRyaXhfbmV3Ci0gICAgICAgICh0dWMsIHByaXYt
Pm1vZGVsLmN1ci5jb2xzLCBwcml2LT5tb2RlbC5jdXIucm93cywgcHJpdi0+Y3NwYWNlLAotICAg
ICAgICAgX2V3a190aWxlZF9iYWNraW5nX3N0b3JlX3JlbmRlciwgcHJpdik7CisgICAgcHJpdi0+
bW9kZWwubWF0cml4ID0gZXdrX3RpbGVfbWF0cml4X25ldyh0dWMsIHByaXYtPm1vZGVsLmN1ci5j
b2xzLCBwcml2LT5tb2RlbC5jdXIucm93cywgcHJpdi0+Y3NwYWNlLCBfZXdrX3RpbGVkX2JhY2tp
bmdfc3RvcmVfcmVuZGVyLCBwcml2KTsKIH0KIAogc3RhdGljIHZvaWQgX2V3a190aWxlZF9iYWNr
aW5nX3N0b3JlX3NtYXJ0X21lbWJlcl9kZWwoRXZhc19PYmplY3QgKm8sIEV2YXNfT2JqZWN0ICpt
ZW1iZXIpCkBAIC03MTUsOCArNzEzLDggQEAgc3RhdGljIHZvaWQgX2V3a190aWxlZF9iYWNraW5n
X3N0b3JlX3NtYXJ0X2FkZChFdmFzX09iamVjdCAqbykKIAogICAgIHByaXYtPnNlbGYgPSBvOwog
ICAgIHByaXYtPnZpZXcudGlsZS56b29tID0gMS4wOwotICAgIHByaXYtPnZpZXcudGlsZS53ID0g
VElMRV9XOwotICAgIHByaXYtPnZpZXcudGlsZS5oID0gVElMRV9IOworICAgIHByaXYtPnZpZXcu
dGlsZS53ID0gREVGQVVMVF9USUxFX1c7CisgICAgcHJpdi0+dmlldy50aWxlLmggPSBERUZBVUxU
X1RJTEVfSDsKICAgICBwcml2LT52aWV3Lm9mZnNldC5jdXIueCA9IDA7CiAgICAgcHJpdi0+dmll
dy5vZmZzZXQuY3VyLnkgPSAwOwogICAgIHByaXYtPnZpZXcub2Zmc2V0Lm9sZC54ID0gMDsKQEAg
LTEzNjIsOCArMTM2MCw3IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9z
bWFydF9jYWxjdWxhdGUoRXZhc19PYmplY3QgKm8pCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwcml2LT5tb2RlbC5jdXIuY29scywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaXYt
Pm1vZGVsLmN1ci5yb3dzKTsKICAgICAgICAgcHJpdi0+Y2hhbmdlZC5tb2RlbCA9IEVJTkFfRkFM
U0U7Ci0gICAgICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShwcml2LT5jb250ZW50c19jbGlwcGVyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdi0+bW9kZWwud2lkdGgsIHByaXYtPm1vZGVs
LmhlaWdodCk7CisgICAgICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShwcml2LT5jb250ZW50c19jbGlw
cGVyLCBwcml2LT5tb2RlbC53aWR0aCwgcHJpdi0+bW9kZWwuaGVpZ2h0KTsKICAgICAgICAgX2V3
a190aWxlZF9iYWNraW5nX3N0b3JlX3NtYXJ0X2NhbGN1bGF0ZV9vZmZzZXRfZm9yY2UocHJpdik7
CiAKICAgICAgICAgLyogTWFrZSBzdXJlIHdlIGRvIG5vdCBtaXNzIGFueSBpbXBvcnRhbnQgcmVw
YWludCBieQpAQCAtMTQ5MiwxMSArMTQ4OSwxMSBAQCBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdGls
ZWRfYmFja2luZ19zdG9yZV96b29tX3NldF9pbnRlcm5hbChFd2tfVGlsZWRfQmFja2luZ19TdAog
CiAgICAgX2V3a190aWxlZF9iYWNraW5nX3N0b3JlX3ByZV9yZW5kZXJfcmVxdWVzdF9mbHVzaChw
cml2KTsKICAgICBFdmFzX0Nvb3JkIHR3LCB0aDsKLSAgICB0dyA9IFRJTEVfU0laRV9BVF9aT09N
KFRJTEVfVywgKnpvb20pOwotICAgIHR3ID0gKHR3ID4+IDEpIDw8IDE7Ci0gICAgKnpvb20gPSBU
SUxFX1dfWk9PTV9BVF9TSVpFKHR3KTsKLSAgICAvKiBXQVJOSU5HOiBhc3N1bWUgcmV2ZXJzZSB6
b29tIGlzIHRoZSBzYW1lIGZvciBib3RoIGF4aXMgKi8KLSAgICB0aCA9IFRJTEVfU0laRV9BVF9a
T09NKFRJTEVfSCwgKnpvb20pOworCisgICAgKnpvb20gPSBST1VOREVEX1pPT00ocHJpdi0+dmll
dy50aWxlLncsICp6b29tKTsKKworICAgIHR3ID0gcHJpdi0+dmlldy50aWxlLnc7CisgICAgdGgg
PSBwcml2LT52aWV3LnRpbGUuaDsKIAogICAgIGZsb2F0IHNjYWxlID0gKnpvb20gLyBwcml2LT52
aWV3LnRpbGUuem9vbTsKIApAQCAtMTUwNSw4ICsxNTAyLDYgQEAgc3RhdGljIEVpbmFfQm9vbCBf
ZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfem9vbV9zZXRfaW50ZXJuYWwoRXdrX1RpbGVkX0JhY2tp
bmdfU3QKICAgICBwcml2LT52aWV3Lm9mZnNldC56b29tX2NlbnRlci54ID0gY3g7CiAgICAgcHJp
di0+dmlldy5vZmZzZXQuem9vbV9jZW50ZXIueSA9IGN5OwogCi0gICAgcHJpdi0+dmlldy50aWxl
LncgPSB0dzsKLSAgICBwcml2LT52aWV3LnRpbGUuaCA9IHRoOwogCiAgICAgaWYgKCFwcml2LT52
aWV3LncgfHwgIXByaXYtPnZpZXcuaCkgewogICAgICAgICBwcml2LT52aWV3Lm9mZnNldC5iYXNl
LnggPSAwOwpAQCAtMTU0MCw2ICsxNTM1LDcgQEAgc3RhdGljIEVpbmFfQm9vbCBfZXdrX3RpbGVk
X2JhY2tpbmdfc3RvcmVfem9vbV9zZXRfaW50ZXJuYWwoRXdrX1RpbGVkX0JhY2tpbmdfU3QKICAg
ICBwcml2LT5tb2RlbC5iYXNlLnJvdyA9IC0gbmV3X3kgLyB0aDsKIAogICAgIHByaXYtPmNoYW5n
ZWQuc2l6ZSA9IEVJTkFfVFJVRTsKKyAgICBwcml2LT5jaGFuZ2VkLm1vZGVsID0gRUlOQV9UUlVF
OwogICAgIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9jaGFuZ2VkKHByaXYpOwogCiAgICAgcHJp
di0+dmlldy5vZmZzZXQuY3VyLnggPSBuZXdfeDsKQEAgLTE2MDAsMTggKzE1OTYsMTcgQEAgRWlu
YV9Cb29sIGV3a190aWxlZF9iYWNraW5nX3N0b3JlX3pvb21fd2Vha19zZXQoRXZhc19PYmplY3Qg
Km8sIGZsb2F0IHpvb20sIEV2YXMKICAgICBFdmFzX0Nvb3JkIHR3LCB0aDsKICAgICBFaW5hX0Jv
b2wgcmVjYWxjID0gRUlOQV9GQUxTRTsKIAotICAgIHR3ID0gVElMRV9TSVpFX0FUX1pPT00oVElM
RV9XLCB6b29tKTsKLSAgICB6b29tID0gVElMRV9XX1pPT01fQVRfU0laRSh0dyk7Ci0gICAgLyog
V0FSTklORzogYXNzdW1lIHJldmVyc2Ugem9vbSBpcyB0aGUgc2FtZSBmb3IgYm90aCBheGlzICov
Ci0gICAgdGggPSBUSUxFX1NJWkVfQVRfWk9PTShUSUxFX0gsIHpvb20pOwotCiAgICAgZmxvYXQg
c2NhbGUgPSB6b29tIC8gcHJpdi0+dmlldy50aWxlLnpvb207CiAKKyAgICB0dyA9IFRJTEVfU0la
RV9BVF9aT09NKHByaXYtPnZpZXcudGlsZS53LCBzY2FsZSk7CisgICAgc2NhbGUgPSBUSUxFX1pP
T01fQVRfU0laRSh0dywgcHJpdi0+dmlldy50aWxlLncpOworICAgIHRoID0gVElMRV9TSVpFX0FU
X1pPT00ocHJpdi0+dmlldy50aWxlLmgsIHNjYWxlKTsKKyAgICB6b29tID0gc2NhbGUgKiBwcml2
LT52aWV3LnRpbGUuem9vbTsKKwogICAgIEV2YXNfQ29vcmQgbW9kZWxfd2lkdGggPSBwcml2LT5t
b2RlbC53aWR0aCAqIHNjYWxlOwogICAgIEV2YXNfQ29vcmQgbW9kZWxfaGVpZ2h0ID0gcHJpdi0+
bW9kZWwuaGVpZ2h0ICogc2NhbGU7CiAKLSAgICBldmFzX29iamVjdF9yZXNpemUocHJpdi0+Y29u
dGVudHNfY2xpcHBlciwKLSAgICAgICAgICAgICAgICAgICAgICAgbW9kZWxfd2lkdGgsIG1vZGVs
X2hlaWdodCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKHByaXYtPmNvbnRlbnRzX2NsaXBwZXIs
IG1vZGVsX3dpZHRoLCBtb2RlbF9oZWlnaHQpOwogCiAgICAgaW50IHZyb3dzID0gY2VpbCgoZmxv
YXQpcHJpdi0+dmlldy5oIC8gKGZsb2F0KXRoKSArIDE7CiAgICAgaW50IHZjb2xzID0gY2VpbCgo
ZmxvYXQpcHJpdi0+dmlldy53IC8gKGZsb2F0KXR3KSArIDE7CkBAIC0xODE5LDYgKzE4MTQsMTAg
QEAgdm9pZCBld2tfdGlsZWRfYmFja2luZ19zdG9yZV9mbHVzaChFdmFzX09iamVjdCAqbykKICAg
ICBwcml2LT52aWV3Lm9mZnNldC5iYXNlLnkgPSAwOwogICAgIHByaXYtPm1vZGVsLmJhc2UuY29s
ID0gMDsKICAgICBwcml2LT5tb2RlbC5iYXNlLnJvdyA9IDA7CisgICAgcHJpdi0+bW9kZWwuY3Vy
LmNvbHMgPSAxOworICAgIHByaXYtPm1vZGVsLmN1ci5yb3dzID0gMTsKKyAgICBwcml2LT5tb2Rl
bC5vbGQuY29scyA9IDA7CisgICAgcHJpdi0+bW9kZWwub2xkLnJvd3MgPSAwOwogICAgIHByaXYt
PmNoYW5nZWQuc2l6ZSA9IEVJTkFfVFJVRTsKIAogI2lmZGVmIERFQlVHX01FTV9MRUFLUwpAQCAt
MTg0NSwxMSArMTg0NCw5IEBAIEVpbmFfQm9vbCBld2tfdGlsZWRfYmFja2luZ19zdG9yZV9wcmVf
cmVuZGVyX3JlZ2lvbihFdmFzX09iamVjdCAqbywgRXZhc19Db29yZCB4CiAgICAgRXZhc19Db29y
ZCB0dywgdGg7CiAgICAgRXdrX1RpbGVfVW51c2VkX0NhY2hlICp0dWM7CiAKLSAgICB0dyA9IFRJ
TEVfU0laRV9BVF9aT09NKFRJTEVfVywgem9vbSk7Ci0gICAgdHcgPSAodHcgPj4gMSkgPDwgMTsK
LSAgICB6b29tID0gVElMRV9XX1pPT01fQVRfU0laRSh0dyk7Ci0gICAgLyogV0FSTklORzogYXNz
dW1lIHJldmVyc2Ugem9vbSBpcyB0aGUgc2FtZSBmb3IgYm90aCBheGlzICovCi0gICAgdGggPSBU
SUxFX1NJWkVfQVRfWk9PTShUSUxFX0gsIHpvb20pOworICAgIHR3ID0gcHJpdi0+dmlldy50aWxl
Lnc7CisgICAgdGggPSBwcml2LT52aWV3LnRpbGUuaDsKKyAgICB6b29tID0gUk9VTkRFRF9aT09N
KHByaXYtPnZpZXcudGlsZS53LCB6b29tKTsKIAogICAgIGlmICghZWluYV90aWxlX2dyaWRfc2xp
Y2VyX3NldHVwKCZzbGljZXIsIHgsIHksIHcsIGgsIHR3LCB0aCkpIHsKICAgICAgICAgRVJSKCJj
b3VsZCBub3Qgc2V0dXAgZ3JpZCBzbGljZXIgZm9yICVkLCVkKyVkeCVkIHRpbGU9JWR4JWQiLApA
QCAtMTg4OSw2ICsxODg2LDggQEAgRWluYV9Cb29sIGV3a190aWxlZF9iYWNraW5nX3N0b3JlX3By
ZV9yZW5kZXJfcmVsYXRpdmVfcmFkaXVzKEV2YXNfT2JqZWN0ICpvLCB1bnMKICAgICBJTkYoInN0
YXJ0X3Jvdz0lbHUsIGVuZF9yb3c9JWx1LCBzdGFydF9jb2w9JWx1LCBlbmRfY29sPSVsdSIsCiAg
ICAgICAgICBzdGFydF9yb3csIGVuZF9yb3csIHN0YXJ0X2NvbCwgZW5kX2NvbCk7CiAKKyAgICB6
b29tID0gUk9VTkRFRF9aT09NKHByaXYtPnZpZXcudGlsZS53LCB6b29tKTsKKwogICAgIGZvciAo
aSA9IHN0YXJ0X3JvdzsgaSA8PSBlbmRfcm93OyBpKyspCiAgICAgICAgIGZvciAoaiA9IHN0YXJ0
X2NvbDsgaiA8PSBlbmRfY29sOyBqKyspCiAgICAgICAgICAgICBpZiAoIV9ld2tfdGlsZWRfYmFj
a2luZ19zdG9yZV9wcmVfcmVuZGVyX3JlcXVlc3RfYWRkKHByaXYsIGosIGksIHpvb20sIFBSRV9S
RU5ERVJfUFJJT1JJVFlfTE9XKSkKQEAgLTE4OTgsMTEgKzE4OTcsMTEgQEAgc3RhcnRfcHJvY2Vz
c2luZzoKICAgICBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfaXRlbV9wcm9jZXNzX2lkbGVyX3N0
YXJ0KHByaXYpOwogCiAgICAgdHVjID0gZXdrX3RpbGVfbWF0cml4X3VudXNlZF9jYWNoZV9nZXQo
cHJpdi0+bW9kZWwubWF0cml4KTsKLSAgICBoID0gKGVuZF9yb3cgLSBzdGFydF9yb3cgKyAxKSAq
IFRJTEVfU0laRV9BVF9aT09NKFRJTEVfSCwgem9vbSk7Ci0gICAgdyA9IChlbmRfY29sIC0gc3Rh
cnRfY29sICsgMSkgKiBUSUxFX1NJWkVfQVRfWk9PTShUSUxFX1csIHpvb20pOworICAgIGggPSAo
ZW5kX3JvdyAtIHN0YXJ0X3JvdyArIDEpICogVElMRV9TSVpFX0FUX1pPT00ocHJpdi0+dmlldy50
aWxlLmgsIHpvb20pOworICAgIHcgPSAoZW5kX2NvbCAtIHN0YXJ0X2NvbCArIDEpICogVElMRV9T
SVpFX0FUX1pPT00ocHJpdi0+dmlldy50aWxlLncsIHpvb20pOwogICAgIGV3a190aWxlX3VudXNl
ZF9jYWNoZV9sb2NrX2FyZWEodHVjLAotICAgICAgICAgICAgc3RhcnRfY29sICogVElMRV9TSVpF
X0FUX1pPT00oVElMRV9XLCB6b29tKSwKLSAgICAgICAgICAgIHN0YXJ0X3JvdyAqIFRJTEVfU0la
RV9BVF9aT09NKFRJTEVfSCwgem9vbSksIHcsIGgsIHpvb20pOworICAgICAgICAgICAgc3RhcnRf
Y29sICogVElMRV9TSVpFX0FUX1pPT00ocHJpdi0+dmlldy50aWxlLncsIHpvb20pLAorICAgICAg
ICAgICAgc3RhcnRfcm93ICogVElMRV9TSVpFX0FUX1pPT00ocHJpdi0+dmlldy50aWxlLmgsIHpv
b20pLCB3LCBoLCB6b29tKTsKIAogICAgIHJldHVybiBFSU5BX1RSVUU7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuaCBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5oCmluZGV4IGU1YTE4NWEu
LjBjYTJjYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFj
a2luZ19zdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2lu
Z19zdG9yZS5oCkBAIC0zMywxNCArMzMsMTQgQEAKICAqLwogI3VuZGVmIERFQlVHX01FTV9MRUFL
UwogCi0jZGVmaW5lIFRJTEVfVyAoMjU2KQotI2RlZmluZSBUSUxFX0ggKDI1NikKKyNkZWZpbmUg
REVGQVVMVF9USUxFX1cgKDI1NikKKyNkZWZpbmUgREVGQVVMVF9USUxFX0ggKDI1NikKIAogI2Rl
ZmluZSBaT09NX1NURVBfTUlOICgwLjAxKQogCiAjZGVmaW5lIFRJTEVfU0laRV9BVF9aT09NKFNJ
WkUsIFpPT00pICgoaW50KXJvdW5kZigoU0laRSkgKiAoWk9PTSkpKQotI2RlZmluZSBUSUxFX1df
Wk9PTV9BVF9TSVpFKFNJWkUpICgoZmxvYXQpU0laRSAvIChmbG9hdClUSUxFX1cpCi0jZGVmaW5l
IFRJTEVfSF9aT09NX0FUX1NJWkUoU0laRSkgKChmbG9hdClTSVpFIC8gKGZsb2F0KVRJTEVfSCkK
KyNkZWZpbmUgVElMRV9aT09NX0FUX1NJWkUoU0laRSwgT1JJR19USUxFKSAoKGZsb2F0KShTSVpF
KSAvIChmbG9hdCkoT1JJR19USUxFKSkKKyNkZWZpbmUgUk9VTkRFRF9aT09NKFNJWkUsIFpPT00p
ICgoZmxvYXQpKFNJWkUpIC8gKGZsb2F0KSgoKGludClyb3VuZGYoKFNJWkUpIC8gKFpPT00pKSkp
KQogCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIgewpAQCAtNjYsNyArNjYsNiBAQCBz
dHJ1Y3QgX0V3a19UaWxlX1N0YXRzIHsKIH07CiAKIHN0cnVjdCBfRXdrX1RpbGUgewotICAgIEVJ
TkFfSU5MSVNUOyAgICAgICAgICAgIC8qKjwgc2libGluZyB0aWxlcyBhdCBzYW1lIChpLCBqKSBi
dXQgb3RoZXIgem9vbSAqLwogICAgIEVpbmFfVGlsZXIgKnVwZGF0ZXM7ICAgIC8qKjwgdXBkYXRl
ZC9kaXJ0eSBhcmVhcyAqLwogICAgIEV3a19UaWxlX1N0YXRzIHN0YXRzOyAgICAgICAvKio8IHRp
bGUgdXNhZ2Ugc3RhdGlzdGljcyAqLwogICAgIHVuc2lnbmVkIGxvbmcgY29sLCByb3c7IC8qKjwg
dGlsZSB0aWxlIHBvc2l0aW9uICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3RpbGVkX21hdHJpeC5jIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRy
aXguYwppbmRleCAxMzBhNDhhLi43NmMxYmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3RpbGVkX21hdHJpeC5jCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dGlsZWRfbWF0cml4LmMKQEAgLTMyLDggKzMyLDYgQEAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNp
bmNsdWRlIDxzdHJpbmcuaD4KIAotc3RhdGljIGNvbnN0IEV2YXNfQ29vcmQgVElMRV9NQVRSSVhf
QkFTRV9USUxFX1NJWkUgPSAyNTY7Ci0KIHN0cnVjdCBfRXdrX1RpbGVfTWF0cml4IHsKICAgICBF
aW5hX01hdHJpeHNwYXJzZSAqbWF0cml4OwogICAgIEV3a19UaWxlX1VudXNlZF9DYWNoZSAqdHVj
OwpAQCAtNDQsNiArNDIsOSBAQCBzdHJ1Y3QgX0V3a19UaWxlX01hdHJpeCB7CiAgICAgfSByZW5k
ZXI7CiAgICAgdW5zaWduZWQgaW50IGZyb3plbjsKICAgICBFaW5hX0xpc3QgKnVwZGF0ZXM7Cisg
ICAgc3RydWN0IHsKKyAgICAgICAgRXZhc19Db29yZCB3LCBoOworICAgIH0gdGlsZTsKICNpZmRl
ZiBERUJVR19NRU1fTEVBS1MKICAgICBzdHJ1Y3QgewogICAgICAgICBzdHJ1Y3QgewpAQCAtNjIs
MzUgKzYzLDI4IEBAIHN0YXRpYyB1aW50NjRfdCBieXRlc19sZWFrZWQgPSAwOwogc3RhdGljIHZv
aWQgX2V3a190aWxlX21hdHJpeF9jZWxsX2ZyZWUodm9pZCAqdXNlcl9kYXRhLCB2b2lkICpjZWxs
X2RhdGEpCiB7CiAgICAgRXdrX1RpbGVfTWF0cml4ICp0bSA9IHVzZXJfZGF0YTsKLSAgICBFaW5h
X0lubGlzdCAqbCA9IGNlbGxfZGF0YTsKKyAgICBFd2tfVGlsZSAqdCA9IGNlbGxfZGF0YTsKIAot
ICAgIGlmICghbCkKKyAgICBpZiAoIXQpCiAgICAgICAgIHJldHVybjsKIAogICAgIGV3a190aWxl
X3VudXNlZF9jYWNoZV9mcmVlemUodG0tPnR1Yyk7CiAKLSAgICB3aGlsZSAobCkgewotICAgICAg
ICBFd2tfVGlsZSAqdCA9IChFd2tfVGlsZSAqKWw7Ci0gICAgICAgIGwgPSBsLT5uZXh0OwotCi0g
ICAgICAgIGlmICh0LT51cGRhdGVzIHx8IHQtPnN0YXRzLmZ1bGxfdXBkYXRlKQotICAgICAgICAg
ICAgdG0tPnVwZGF0ZXMgPSBlaW5hX2xpc3RfcmVtb3ZlKHRtLT51cGRhdGVzLCB0KTsKKyAgICBp
ZiAodC0+dXBkYXRlcyB8fCB0LT5zdGF0cy5mdWxsX3VwZGF0ZSkKKyAgICAgICAgdG0tPnVwZGF0
ZXMgPSBlaW5hX2xpc3RfcmVtb3ZlKHRtLT51cGRhdGVzLCB0KTsKIAotICAgICAgICBpZiAodC0+
dmlzaWJsZSkKLSAgICAgICAgICAgIEVSUigiZnJlZWluZyBjZWxsIHRoYXQgaXMgdmlzaWJsZSwg
bGVha2luZyB0aWxlICVwIiwgdCk7CisgICAgaWYgKHQtPnZpc2libGUpCisgICAgICAgIEVSUigi
ZnJlZWluZyBjZWxsIHRoYXQgaXMgdmlzaWJsZSwgbGVha2luZyB0aWxlICVwIiwgdCk7CisgICAg
ZWxzZSB7CisgICAgICAgIGlmICghZXdrX3RpbGVfdW51c2VkX2NhY2hlX3RpbGVfZ2V0KHRtLT50
dWMsIHQpKQorICAgICAgICAgICAgRVJSKCJ0aWxlICVwIHdhcyBub3QgaW4gY2FjaGUgJXA/IGxl
YWtpbmcuLi4iLCB0LCB0bS0+dHVjKTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAo
IWV3a190aWxlX3VudXNlZF9jYWNoZV90aWxlX2dldCh0bS0+dHVjLCB0KSkKLSAgICAgICAgICAg
ICAgICBFUlIoInRpbGUgJXAgd2FzIG5vdCBpbiBjYWNoZSAlcD8gbGVha2luZy4uLiIsIHQsIHRt
LT50dWMpOwotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgREJHKCJ0aWxlIGNl
bGwgZG9lcyBub3QgZXhpc3QgYW55bW9yZSwgZnJlZSBpdCAlcCIsIHQpOwotCisgICAgICAgICAg
ICBEQkcoInRpbGUgY2VsbCBkb2VzIG5vdCBleGlzdCBhbnltb3JlLCBmcmVlIGl0ICVwIiwgdCk7
CiAjaWZkZWYgREVCVUdfTUVNX0xFQUtTCi0gICAgICAgICAgICAgICAgdG0tPnN0YXRzLmJ5dGVz
LmZyZWVkICs9IHQtPmJ5dGVzOwotICAgICAgICAgICAgICAgIHRtLT5zdGF0cy50aWxlcy5mcmVl
ZCsrOworICAgICAgICAgICAgdG0tPnN0YXRzLmJ5dGVzLmZyZWVkICs9IHQtPmJ5dGVzOworICAg
ICAgICAgICAgdG0tPnN0YXRzLnRpbGVzLmZyZWVkKys7CiAjZW5kaWYKLQotICAgICAgICAgICAg
ICAgIGV3a190aWxlX2ZyZWUodCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBld2tfdGls
ZV9mcmVlKHQpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0xMDIsMjQgKzk2LDIzIEBAIHN0YXRp
YyB2b2lkIF9ld2tfdGlsZV9tYXRyaXhfdGlsZV9mcmVlKHZvaWQgKmRhdGEsIEV3a19UaWxlICp0
KQogewogICAgIEV3a19UaWxlX01hdHJpeCAqdG0gPSBkYXRhOwogICAgIEVpbmFfTWF0cml4c3Bh
cnNlX0NlbGwgKmNlbGw7Ci0gICAgRWluYV9Jbmxpc3QgKmwsICpvbGQ7Ci0KKyAKICAgICBpZiAo
IWVpbmFfbWF0cml4c3BhcnNlX2NlbGxfaWR4X2dldCh0bS0+bWF0cml4LCB0LT5yb3csIHQtPmNv
bCwgJmNlbGwpKSB7CiAgICAgICAgIEVSUigicmVtb3ZpbmcgdGlsZSAlcCB0aGF0IHdhcyBub3Qg
aW4gdGhlIG1hdHJpeD8gTGVha2luZy4uLiIsIHQpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CisgICAgaWYgKCFjZWxsKSB7CisgICAgICAgIEVSUigicmVtb3ZpbmcgdGlsZSAlcCB0aGF0IHdh
cyBub3QgaW4gdGhlIG1hdHJpeD8gTGVha2luZy4uLiIsIHQpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCiAgICAgaWYgKHQtPnVwZGF0ZXMgfHwgdC0+c3RhdHMuZnVsbF91cGRhdGUpCiAgICAg
ICAgIHRtLT51cGRhdGVzID0gZWluYV9saXN0X3JlbW92ZSh0bS0+dXBkYXRlcywgdCk7CiAKLSAg
ICBvbGQgPSBlaW5hX21hdHJpeHNwYXJzZV9jZWxsX2RhdGFfZ2V0KGNlbGwpOwotICAgIGwgPSBl
aW5hX2lubGlzdF9yZW1vdmUob2xkLCBFSU5BX0lOTElTVF9HRVQodCkpOwotICAgIGlmICghbCkg
ewotICAgICAgICAvKiBzZXQgdG8gbnVsbCB0byBhdm9pZCBkb3VibGUgZnJlZSAqLwotICAgICAg
ICBlaW5hX21hdHJpeHNwYXJzZV9jZWxsX2RhdGFfcmVwbGFjZShjZWxsLCBOVUxMLCBOVUxMKTsK
LSAgICAgICAgZWluYV9tYXRyaXhzcGFyc2VfY2VsbF9jbGVhcihjZWxsKTsKLSAgICB9IGVsc2Ug
aWYgKG9sZCAhPSBsKQotICAgICAgICBlaW5hX21hdHJpeHNwYXJzZV9jZWxsX2RhdGFfcmVwbGFj
ZShjZWxsLCBsLCBOVUxMKTsKKyAgICAvKiBzZXQgdG8gbnVsbCB0byBhdm9pZCBkb3VibGUgZnJl
ZSAqLworICAgIGVpbmFfbWF0cml4c3BhcnNlX2NlbGxfZGF0YV9yZXBsYWNlKGNlbGwsIE5VTEws
IE5VTEwpOworICAgIGVpbmFfbWF0cml4c3BhcnNlX2NlbGxfY2xlYXIoY2VsbCk7CiAKICAgICBp
ZiAoRUlOQV9VTkxJS0VMWSghIXQtPnZpc2libGUpKSB7CiAgICAgICAgIEVSUigiY2FjaGUgb2Yg
dW51c2VkIHRpbGVzIHJlcXVlc3RpbmcgZGVsZXRpb24gb2YgdXNlZCB0aWxlICVwPyAiCkBAIC0x
NDksMTEgKzE0MiwxMSBAQCBzdGF0aWMgdm9pZCBfZXdrX3RpbGVfbWF0cml4X3RpbGVfZnJlZSh2
b2lkICpkYXRhLCBFd2tfVGlsZSAqdCkKICAqIEBwYXJhbSByb3dzIG51bWJlciBvZiByb3dzIGlu
IHRoZSBtYXRyaXguCiAgKiBAcGFyYW0gY3NwYWNlIHRoZSBjb2xvciBzcGFjZSB1c2VkIHRvIGNy
ZWF0ZSB0aWxlcyBpbiB0aGlzIG1hdHJpeC4KICAqIEBwYXJhbSByZW5kZXJfY2IgZnVuY3Rpb24g
dXNlZCB0byByZW5kZXIgZ2l2ZW4gdGlsZSB1cGRhdGUuCi0gKiBAcGFyYW0gZGF0YSBjb250ZXh0
IHRvIGdpdmUgYmFjayB0byBAYSByZW5kZXJfY2IuCisgKiBAcGFyYW0gcmVuZGVyX2RhdGEgY29u
dGV4dCB0byBnaXZlIGJhY2sgdG8gQGEgcmVuZGVyX2NiLgogICoKICAqIEByZXR1cm4gbmV3bHkg
YWxsb2NhdGVkIGluc3RhbmNlIG9uIHN1Y2Nlc3MsIEBjIE5VTEwgb24gZmFpbHVyZS4KICAqLwot
RXdrX1RpbGVfTWF0cml4ICpld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNo
ZSAqdHVjLCB1bnNpZ25lZCBsb25nIGNvbHMsIHVuc2lnbmVkIGxvbmcgcm93cywgRXZhc19Db2xv
cnNwYWNlIGNzcGFjZSwgdm9pZCAoKnJlbmRlcl9jYikodm9pZCAqZGF0YSwgRXdrX1RpbGUgKnQs
IGNvbnN0IEVpbmFfUmVjdGFuZ2xlICp1cGRhdGUpLCBjb25zdCB2b2lkICpkYXRhKQorRXdrX1Rp
bGVfTWF0cml4ICpld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSAqdHVj
LCB1bnNpZ25lZCBsb25nIGNvbHMsIHVuc2lnbmVkIGxvbmcgcm93cywgRXZhc19Db2xvcnNwYWNl
IGNzcGFjZSwgdm9pZCAoKnJlbmRlcl9jYikodm9pZCAqZGF0YSwgRXdrX1RpbGUgKnQsIGNvbnN0
IEVpbmFfUmVjdGFuZ2xlICp1cGRhdGUpLCBjb25zdCB2b2lkICpyZW5kZXJfZGF0YSkKIHsKICAg
ICBFd2tfVGlsZV9NYXRyaXggKnRtOwogCkBAIC0xODAsNyArMTczLDkgQEAgRXdrX1RpbGVfTWF0
cml4ICpld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSAqdHVjLCB1bnNp
Z25lZCBsb25nIGMKIAogICAgIHRtLT5jc3BhY2UgPSBjc3BhY2U7CiAgICAgdG0tPnJlbmRlci5j
YiA9IHJlbmRlcl9jYjsKLSAgICB0bS0+cmVuZGVyLmRhdGEgPSAodm9pZCAqKWRhdGE7CisgICAg
dG0tPnJlbmRlci5kYXRhID0gKHZvaWQgKilyZW5kZXJfZGF0YTsKKyAgICB0bS0+dGlsZS53ID0g
REVGQVVMVF9USUxFX1c7CisgICAgdG0tPnRpbGUuaCA9IERFRkFVTFRfVElMRV9IOwogCiAgICAg
cmV0dXJuIHRtOwogfQpAQCAtMjcyLDE0ICsyNjcsMTEgQEAgRXdrX1RpbGVfVW51c2VkX0NhY2hl
ICpld2tfdGlsZV9tYXRyaXhfdW51c2VkX2NhY2hlX2dldChjb25zdCBFd2tfVGlsZV9NYXRyaXgg
KnQKICAqICAgICAgICAgY29uc2lkZXJlZCB1c2VkKSBhbmQgb25lIHNob3VsZCBnaXZlIGl0IGJh
Y2sgd2l0aAogICogICAgICAgICBld2tfdGlsZV9tYXRyaXhfdGlsZV9wdXQoKSBhZnRlcndhcmRz
LgogICoKLSAqIEBzZWUgZXdrX3RpbGVfbWF0cml4X3RpbGVfbmVhcmVzdF9nZXQoKQogICogQHNl
ZSBld2tfdGlsZV9tYXRyaXhfdGlsZV9leGFjdF9nZXQoKQogICovCiBFd2tfVGlsZSAqZXdrX3Rp
bGVfbWF0cml4X3RpbGVfZXhhY3RfZ2V0KEV3a19UaWxlX01hdHJpeCAqdG0sIHVuc2lnbmVkIGxv
bmcgY29sLCB1bnNpZ25lZCBpbnQgcm93LCBmbG9hdCB6b29tKQogewotICAgIEV3a19UaWxlICp0
LCAqaXRlbSwgKml0ZW1fZm91bmQgPSBOVUxMOwotICAgIEVpbmFfSW5saXN0ICppbmw7Ci0KKyAg
ICBFd2tfVGlsZSAqdDsKICAgICB0ID0gZWluYV9tYXRyaXhzcGFyc2VfZGF0YV9pZHhfZ2V0KHRt
LT5tYXRyaXgsIHJvdywgY29sKTsKICAgICBpZiAoIXQpCiAgICAgICAgIHJldHVybiBOVUxMOwpA
QCAtMjg3LDE5ICsyNzksNiBAQCBFd2tfVGlsZSAqZXdrX3RpbGVfbWF0cml4X3RpbGVfZXhhY3Rf
Z2V0KEV3a19UaWxlX01hdHJpeCAqdG0sIHVuc2lnbmVkIGxvbmcgY29sLAogICAgIGlmICh0LT56
b29tID09IHpvb20pCiAgICAgICAgIGdvdG8gZW5kOwogCi0gICAgRUlOQV9JTkxJU1RfRk9SRUFD
SChFSU5BX0lOTElTVF9HRVQodCksIGl0ZW0pIHsKLSAgICAgICAgaWYgKGl0ZW0tPnpvb20gIT0g
em9vbSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBpdGVtX2ZvdW5kID0gaXRlbTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgaWYgKCFpdGVtX2ZvdW5kKQotICAgICAgICBy
ZXR1cm4gTlVMTDsKLQotICAgIGlubCA9IGVpbmFfaW5saXN0X3Byb21vdGUoRUlOQV9JTkxJU1Rf
R0VUKHQpLCBFSU5BX0lOTElTVF9HRVQoaXRlbV9mb3VuZCkpOwotICAgIGVpbmFfbWF0cml4c3Bh
cnNlX2RhdGFfaWR4X3JlcGxhY2UodG0tPm1hdHJpeCwgcm93LCBjb2wsIGlubCwgTlVMTCk7Ci0K
ICAgZW5kOgogICAgIGlmICghdC0+dmlzaWJsZSkgewogICAgICAgICBpZiAoIWV3a190aWxlX3Vu
dXNlZF9jYWNoZV90aWxlX2dldCh0bS0+dHVjLCB0KSkKQEAgLTMyMyw5MSArMzAyLDEzIEBAIEV3
a19UaWxlICpld2tfdGlsZV9tYXRyaXhfdGlsZV9leGFjdF9nZXQoRXdrX1RpbGVfTWF0cml4ICp0
bSwgdW5zaWduZWQgbG9uZyBjb2wsCiAgKi8KIEVpbmFfQm9vbCBld2tfdGlsZV9tYXRyaXhfdGls
ZV9leGFjdF9leGlzdHMoRXdrX1RpbGVfTWF0cml4ICp0bSwgdW5zaWduZWQgbG9uZyBjb2wsIHVu
c2lnbmVkIGludCByb3csIGZsb2F0IHpvb20pCiB7Ci0gICAgRXdrX1RpbGUgKnQsICppdGVtOwor
ICAgIEV3a19UaWxlICp0OwogCiAgICAgdCA9IGVpbmFfbWF0cml4c3BhcnNlX2RhdGFfaWR4X2dl
dCh0bS0+bWF0cml4LCByb3csIGNvbCk7CiAgICAgaWYgKCF0KQogICAgICAgICByZXR1cm4gRUlO
QV9GQUxTRTsKIAotICAgIEVJTkFfSU5MSVNUX0ZPUkVBQ0goRUlOQV9JTkxJU1RfR0VUKHQpLCBp
dGVtKSB7Ci0gICAgICAgIGlmIChpdGVtLT56b29tID09IHpvb20pCi0gICAgICAgICAgICByZXR1
cm4gRUlOQV9UUlVFOwotICAgIH0KLQotICAgIHJldHVybiBFSU5BX0ZBTFNFOwotfQotCi0vKioK
LSAqIEdldCB0aGUgbmVhcmVzdCB0aWxlIGZvciBnaXZlbiBwb3NpdGlvbiBhbmQgem9vbS4KLSAq
Ci0gKiBUaGUgbmVhcmVzdCB0aWxlIGlzIHRoZSBvbmUgYXQgdGhlIGdpdmVuIHBvc2l0aW9uIGJ1
dCB3aXRoIHRoZQotICogY2xvc2VzdCB6b29tLCB0aGlzIGJlaW5nIHRoZSBkaXZpc2lvbiBvZiB0
aGUgdGlsZSB6b29tIGJ5IHRoZQotICogZGVzaXJlZCB6b29tLCB0aGUgY2xvc2VzdCB0byAxLjAg
Z2V0cyBpdC4KLSAqCi0gKiBJZiB0aGUgdGlsZSB3YXMgdW51c2VkIHRoZW4gaXQncyByZW1vdmVk
IGZyb20gdGhlIGNhY2hlLgotICoKLSAqIEFmdGVyIHVzYWdlLCBwbGVhc2UgZ2l2ZSBpdCBiYWNr
IHVzaW5nIGV3a190aWxlX21hdHJpeF90aWxlX3B1dCgpLgotICoKLSAqIEBwYXJhbSB0bSB0aGUg
dGlsZSBtYXRyaXggdG8gZ2V0IHRpbGUgZnJvbS4KLSAqIEBwYXJhbSBjb2wgdGhlIGNvbHVtbiBu
dW1iZXIuCi0gKiBAcGFyYW0gcm93IHRoZSByb3cgbnVtYmVyLgotICogQHBhcmFtIHpvb20gdGhl
IGV4YWN0IHpvb20gdG8gdXNlLgotICoKLSAqIEByZXR1cm4gVGhlIHRpbGUgaW5zdGFuY2Ugb3Ig
QGMgTlVMTCBpZiBub25lIGlzIGZvdW5kLiBJZiB0aGUgdGlsZQotICogICAgICAgICB3YXMgaW4g
dGhlIHVudXNlZCBjYWNoZSBpdCB3aWxsIGJlIEBiIHJlbW92ZWQgKHRodXMKLSAqICAgICAgICAg
Y29uc2lkZXJlZCB1c2VkKSBhbmQgb25lIHNob3VsZCBnaXZlIGl0IGJhY2sgd2l0aAotICogICAg
ICAgICBld2tfdGlsZV9tYXRyaXhfdGlsZV9wdXQoKSBhZnRlcndhcmRzLgotICovCi1Fd2tfVGls
ZSAqZXdrX3RpbGVfbWF0cml4X3RpbGVfbmVhcmVzdF9nZXQoRXdrX1RpbGVfTWF0cml4ICp0bSwg
dW5zaWduZWQgbG9uZyBjb2wsIHVuc2lnbmVkIGludCByb3csIGZsb2F0IHpvb20pCi17Ci0gICAg
RXdrX1RpbGUgKnQsICppdGVtLCAqaXRlbV9mb3VuZCA9IE5VTEw7Ci0gICAgRWluYV9Jbmxpc3Qg
KmlubDsKLSAgICBmbG9hdCB6b29tX2ZvdW5kID0gMDsKLQotICAgIEVJTkFfU0FGRVRZX09OX05V
TExfUkVUVVJOX1ZBTCh0bSwgTlVMTCk7Ci0gICAgRUlOQV9TQUZFVFlfT05fRkFMU0VfUkVUVVJO
X1ZBTCh6b29tID4gMC4wLCBOVUxMKTsKLQotICAgIHQgPSBlaW5hX21hdHJpeHNwYXJzZV9kYXRh
X2lkeF9nZXQodG0tPm1hdHJpeCwgcm93LCBjb2wpOwotICAgIGlmICghdCkKLSAgICAgICAgcmV0
dXJuIE5VTEw7Ci0KLSAgICBpZiAodC0+em9vbSA9PSB6b29tKSB7Ci0gICAgICAgIGl0ZW1fZm91
bmQgPSB0OwotICAgICAgICBnb3RvIGVuZDsKLSAgICB9Ci0KLSAgICBFSU5BX0lOTElTVF9GT1JF
QUNIKEVJTkFfSU5MSVNUX0dFVCh0KSwgaXRlbSkgewotICAgICAgICBmbG9hdCBjdXJfem9vbSA9
IGl0ZW0tPnpvb207Ci0KLSAgICAgICAgaWYgKGN1cl96b29tID09IHpvb20pIHsKLSAgICAgICAg
ICAgIGl0ZW1fZm91bmQgPSBpdGVtOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgICAgCi0gICAgICAgIGlmIChjdXJfem9vbSA+IHpvb20pCi0gICAgICAgICAgICBjdXJfem9v
bSA9IHpvb20gLyBjdXJfem9vbTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgY3VyX3pvb20g
PSBjdXJfem9vbSAvIHpvb207Ci0KLSAgICAgICAgaWYgKGN1cl96b29tID4gem9vbV9mb3VuZCkg
ewotICAgICAgICAgICAgaXRlbV9mb3VuZCA9IGl0ZW07Ci0gICAgICAgICAgICB6b29tX2ZvdW5k
ID0gY3VyX3pvb207Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoIWl0ZW1fZm91bmQpCi0g
ICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaW5sID0gZWluYV9pbmxpc3RfcHJvbW90ZShFSU5B
X0lOTElTVF9HRVQodCksIEVJTkFfSU5MSVNUX0dFVChpdGVtX2ZvdW5kKSk7Ci0gICAgZWluYV9t
YXRyaXhzcGFyc2VfZGF0YV9pZHhfcmVwbGFjZSh0bS0+bWF0cml4LCByb3csIGNvbCwgaW5sLCBO
VUxMKTsKLQotICBlbmQ6Ci0gICAgaWYgKCFpdGVtX2ZvdW5kLT52aXNpYmxlKSB7Ci0gICAgICAg
IGlmICghZXdrX3RpbGVfdW51c2VkX2NhY2hlX3RpbGVfZ2V0KHRtLT50dWMsIGl0ZW1fZm91bmQp
KQotICAgICAgICAgICAgV1JOKCJFd2tfVGlsZSB3YXMgdW51c2VkIGJ1dCBub3QgaW4gY2FjaGU/
IGJ1ZyEiKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gaXRlbV9mb3VuZDsKKyAgICByZXR1cm4gRUlO
QV9UUlVFOwogfQogCiAvKioKQEAgLTQyNCwyNiArMzI1LDIyIEBAIEV3a19UaWxlICpld2tfdGls
ZV9tYXRyaXhfdGlsZV9uZWFyZXN0X2dldChFd2tfVGlsZV9NYXRyaXggKnRtLCB1bnNpZ25lZCBs
b25nIGNvCiAgKi8KIEV3a19UaWxlICpld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcoRXdrX1RpbGVf
TWF0cml4ICp0bSwgRXZhcyAqZXZhcywgdW5zaWduZWQgbG9uZyBjb2wsIHVuc2lnbmVkIGludCBy
b3csIGZsb2F0IHpvb20pCiB7Ci0gICAgRXZhc19Db29yZCBzOwotICAgIEVpbmFfSW5saXN0ICpv
bGQ7CisgICAgRXZhc19Db29yZCB0dywgdGg7CiAgICAgRXdrX1RpbGUgKnQ7CiAKICAgICBFSU5B
X1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwodG0sIE5VTEwpOwogICAgIEVJTkFfU0FGRVRZX09O
X0ZBTFNFX1JFVFVSTl9WQUwoem9vbSA+IDAuMCwgTlVMTCk7CiAKLSAgICBzID0gVElMRV9TSVpF
X0FUX1pPT00oVElMRV9NQVRSSVhfQkFTRV9USUxFX1NJWkUsIHpvb20pOwotICAgIHpvb20gPSAo
ZmxvYXQpcyAvIChmbG9hdClUSUxFX01BVFJJWF9CQVNFX1RJTEVfU0laRTsKKyAgICB0dyA9IHRt
LT50aWxlLnc7CisgICAgdGggPSB0bS0+dGlsZS5oOwogCi0gICAgdCA9IGV3a190aWxlX25ldyhl
dmFzLCBzLCBzLCB6b29tLCB0bS0+Y3NwYWNlKTsKKyAgICB0ID0gZXdrX3RpbGVfbmV3KGV2YXMs
IHR3LCB0aCwgem9vbSwgdG0tPmNzcGFjZSk7CiAgICAgaWYgKCF0KSB7Ci0gICAgICAgIEVSUigi
Y291bGQgbm90IGNyZWF0ZSB0aWxlICVkeCVkIGF0ICVmLCBjc3BhY2U9JWQiLAotICAgICAgICAg
ICAgcywgcywgKGRvdWJsZSl6b29tLCB0bS0+Y3NwYWNlKTsKKyAgICAgICAgRVJSKCJjb3VsZCBu
b3QgY3JlYXRlIHRpbGUgJWR4JWQgYXQgJWYsIGNzcGFjZT0lZCIsIHR3LCB0aCwgKGRvdWJsZSl6
b29tLCB0bS0+Y3NwYWNlKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgb2xk
ID0gZWluYV9tYXRyaXhzcGFyc2VfZGF0YV9pZHhfZ2V0KHRtLT5tYXRyaXgsIHJvdywgY29sKTsK
LSAgICBvbGQgPSBlaW5hX2lubGlzdF9wcmVwZW5kKG9sZCwgRUlOQV9JTkxJU1RfR0VUKHQpKTsK
LSAgICBpZiAoIWVpbmFfbWF0cml4c3BhcnNlX2RhdGFfaWR4X3JlcGxhY2UodG0tPm1hdHJpeCwg
cm93LCBjb2wsIHQsIE5VTEwpKSB7CisgICAgaWYgKCFlaW5hX21hdHJpeHNwYXJzZV9kYXRhX2lk
eF9zZXQodG0tPm1hdHJpeCwgcm93LCBjb2wsIHQpKSB7CiAgICAgICAgIEVSUigiY291bGQgbm90
IHNldCBtYXRyaXggY2VsbCwgcm93L2NvbCBvdXRzaWRlIG1hdHJpeCBkaW1lbnNpb25zISIpOwog
ICAgICAgICBld2tfdGlsZV9mcmVlKHQpOwogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTQ1MSw4
ICszNDgsOCBAQCBFd2tfVGlsZSAqZXdrX3RpbGVfbWF0cml4X3RpbGVfbmV3KEV3a19UaWxlX01h
dHJpeCAqdG0sIEV2YXMgKmV2YXMsIHVuc2lnbmVkIGxvbgogCiAgICAgdC0+Y29sID0gY29sOwog
ICAgIHQtPnJvdyA9IHJvdzsKLSAgICB0LT54ID0gY29sICogczsKLSAgICB0LT55ID0gcm93ICog
czsKKyAgICB0LT54ID0gY29sICogdHc7CisgICAgdC0+eSA9IHJvdyAqIHRoOwogCiAgICAgY2Fp
cm9fdHJhbnNsYXRlKHQtPmNhaXJvLCAtdC0+eCwgLXQtPnkpOwogCkBAIC00NzEsOCArMzY4LDcg
QEAgRXdrX1RpbGUgKmV3a190aWxlX21hdHJpeF90aWxlX25ldyhFd2tfVGlsZV9NYXRyaXggKnRt
LCBFdmFzICpldmFzLCB1bnNpZ25lZCBsb24KICAqIEdpdmVzIGJhY2sgdGhlIHRpbGUgdG8gdGhl
IHRpbGUgbWF0cml4LgogICoKICAqIFRoaXMgd2lsbCByZXBvcnQgdGhlIHRpbGUgaXMgbm8gbG9u
Z2VyIGluIHVzZSBieSB0aGUgb25lIHRoYXQgZ290Ci0gKiBpdCB3aXRoIGV3a190aWxlX21hdHJp
eF90aWxlX25lYXJlc3RfZ2V0KCkgb3IKLSAqIGV3a190aWxlX21hdHJpeF90aWxlX2V4YWN0X2dl
dCgpLgorICogaXQgd2l0aCBld2tfdGlsZV9tYXRyaXhfdGlsZV9leGFjdF9nZXQoKS4KICAqCiAg
KiBBbnkgcHJldmlvdXMgcmVmZXJlbmNlIHRvIHRpbGUgc2hvdWxkIGJlIHJlbGVhc2VkCiAgKiAo
ZXdrX3RpbGVfaGlkZSgpKSBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCBzbyBpdCB3aWxs
CkBAIC00OTksNyArMzk1LDcgQEAgRWluYV9Cb29sIGV3a190aWxlX21hdHJpeF90aWxlX3B1dChF
d2tfVGlsZV9NYXRyaXggKnRtLCBFd2tfVGlsZSAqdCwgZG91YmxlIGxhc3QKIAogRWluYV9Cb29s
IGV3a190aWxlX21hdHJpeF90aWxlX3VwZGF0ZShFd2tfVGlsZV9NYXRyaXggKnRtLCB1bnNpZ25l
ZCBsb25nIGNvbCwgdW5zaWduZWQgaW50IHJvdywgY29uc3QgRWluYV9SZWN0YW5nbGUgKnVwZGF0
ZSkKIHsKLSAgICBFd2tfVGlsZSAqbCwgKnQ7CisgICAgRXdrX1RpbGUgKnQ7CiAgICAgRWluYV9S
ZWN0YW5nbGUgbmV3X3VwZGF0ZTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwo
dG0sIEVJTkFfRkFMU0UpOwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh1cGRh
dGUsIEVJTkFfRkFMU0UpOwpAQCAtNTExLDMyICs0MDcsMjYgQEAgRWluYV9Cb29sIGV3a190aWxl
X21hdHJpeF90aWxlX3VwZGF0ZShFd2tfVGlsZV9NYXRyaXggKnRtLCB1bnNpZ25lZCBsb25nIGNv
bCwgdW4KICAgICAgICAgcmV0dXJuIEVJTkFfRkFMU0U7CiAgICAgfQogCi0gICAgaWYgKHVwZGF0
ZS0+eCArIHVwZGF0ZS0+dyAtIDEgPj0gVElMRV9NQVRSSVhfQkFTRV9USUxFX1NJWkUpCi0gICAg
ICAgIG5ld191cGRhdGUudyA9IFRJTEVfTUFUUklYX0JBU0VfVElMRV9TSVpFIC0gdXBkYXRlLT54
OwotICAgIGlmICh1cGRhdGUtPnkgKyB1cGRhdGUtPmggLSAxID49IFRJTEVfTUFUUklYX0JBU0Vf
VElMRV9TSVpFKQotICAgICAgICBuZXdfdXBkYXRlLmggPSBUSUxFX01BVFJJWF9CQVNFX1RJTEVf
U0laRSAtIHVwZGF0ZS0+eTsKKyAgICBpZiAodXBkYXRlLT54ICsgdXBkYXRlLT53IC0gMSA+PSB0
bS0+dGlsZS53KQorICAgICAgICBuZXdfdXBkYXRlLncgPSB0bS0+dGlsZS53IC0gdXBkYXRlLT54
OworICAgIGlmICh1cGRhdGUtPnkgKyB1cGRhdGUtPmggLSAxID49IHRtLT50aWxlLmgpCisgICAg
ICAgIG5ld191cGRhdGUuaCA9IHRtLT50aWxlLmggLSB1cGRhdGUtPnk7CiAKLSAgICBsID0gZWlu
YV9tYXRyaXhzcGFyc2VfZGF0YV9pZHhfZ2V0KHRtLT5tYXRyaXgsIHJvdywgY29sKTsKKyAgICB0
ID0gZWluYV9tYXRyaXhzcGFyc2VfZGF0YV9pZHhfZ2V0KHRtLT5tYXRyaXgsIHJvdywgY29sKTsK
IAotICAgIGlmICghbCkKKyAgICBpZiAoIXQpCiAgICAgICAgIHJldHVybiBFSU5BX1RSVUU7CiAK
LSAgICBFSU5BX0lOTElTVF9GT1JFQUNIKEVJTkFfSU5MSVNUX0dFVChsKSwgdCkgewotICAgICAg
ICBpZiAoIXQtPnVwZGF0ZXMgJiYgIXQtPnN0YXRzLmZ1bGxfdXBkYXRlKQotICAgICAgICAgICAg
dG0tPnVwZGF0ZXMgPSBlaW5hX2xpc3RfYXBwZW5kKHRtLT51cGRhdGVzLCB0KTsKLSAgICAgICAg
bmV3X3VwZGF0ZS54ID0gcm91bmRmKHQtPnpvb20gKiBuZXdfdXBkYXRlLngpOwotICAgICAgICBu
ZXdfdXBkYXRlLnkgPSByb3VuZGYodC0+em9vbSAqIG5ld191cGRhdGUueSk7Ci0gICAgICAgIG5l
d191cGRhdGUudyA9IHJvdW5kZih0LT56b29tICogbmV3X3VwZGF0ZS53KTsKLSAgICAgICAgbmV3
X3VwZGF0ZS5oID0gcm91bmRmKHQtPnpvb20gKiBuZXdfdXBkYXRlLmgpOwotICAgICAgICBld2tf
dGlsZV91cGRhdGVfYXJlYSh0LCAmbmV3X3VwZGF0ZSk7Ci0gICAgfQorICAgIGlmICghdC0+dXBk
YXRlcyAmJiAhdC0+c3RhdHMuZnVsbF91cGRhdGUpCisgICAgICAgIHRtLT51cGRhdGVzID0gZWlu
YV9saXN0X2FwcGVuZCh0bS0+dXBkYXRlcywgdCk7CisgICAgZXdrX3RpbGVfdXBkYXRlX2FyZWEo
dCwgJm5ld191cGRhdGUpOwogCiAgICAgcmV0dXJuIEVJTkFfVFJVRTsKIH0KIAogRWluYV9Cb29s
IGV3a190aWxlX21hdHJpeF90aWxlX3VwZGF0ZV9mdWxsKEV3a19UaWxlX01hdHJpeCAqdG0sIHVu
c2lnbmVkIGxvbmcgY29sLCB1bnNpZ25lZCBpbnQgcm93KQogewotICAgIEV3a19UaWxlICpsLCAq
dDsKKyAgICBFd2tfVGlsZSAqdDsKICAgICBFaW5hX01hdHJpeHNwYXJzZV9DZWxsICpjZWxsOwog
ICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh0bSwgRUlOQV9GQUxTRSk7CiAKQEAg
LTU0NiwxNyArNDM2LDE1IEBAIEVpbmFfQm9vbCBld2tfdGlsZV9tYXRyaXhfdGlsZV91cGRhdGVf
ZnVsbChFd2tfVGlsZV9NYXRyaXggKnRtLCB1bnNpZ25lZCBsb25nIGNvCiAgICAgaWYgKCFjZWxs
KQogICAgICAgICByZXR1cm4gRUlOQV9UUlVFOwogCi0gICAgbCA9IGVpbmFfbWF0cml4c3BhcnNl
X2NlbGxfZGF0YV9nZXQoY2VsbCk7Ci0gICAgaWYgKCFsKSB7CisgICAgdCA9IGVpbmFfbWF0cml4
c3BhcnNlX2NlbGxfZGF0YV9nZXQoY2VsbCk7CisgICAgaWYgKCF0KSB7CiAgICAgICAgIENSSVRJ
Q0FMKCJtYXRyaXggY2VsbCB3aXRoIG5vIHRpbGUhIik7CiAgICAgICAgIHJldHVybiBFSU5BX1RS
VUU7CiAgICAgfQogCi0gICAgRUlOQV9JTkxJU1RfRk9SRUFDSChFSU5BX0lOTElTVF9HRVQobCks
IHQpIHsKLSAgICAgICAgaWYgKCF0LT51cGRhdGVzICYmICF0LT5zdGF0cy5mdWxsX3VwZGF0ZSkK
LSAgICAgICAgICAgIHRtLT51cGRhdGVzID0gZWluYV9saXN0X2FwcGVuZCh0bS0+dXBkYXRlcywg
dCk7Ci0gICAgICAgIGV3a190aWxlX3VwZGF0ZV9mdWxsKHQpOwotICAgIH0KKyAgICBpZiAoIXQt
PnVwZGF0ZXMgJiYgIXQtPnN0YXRzLmZ1bGxfdXBkYXRlKQorICAgICAgICB0bS0+dXBkYXRlcyA9
IGVpbmFfbGlzdF9hcHBlbmQodG0tPnVwZGF0ZXMsIHQpOworICAgIGV3a190aWxlX3VwZGF0ZV9m
dWxsKHQpOwogCiAgICAgcmV0dXJuIEVJTkFfVFJVRTsKIH0KQEAgLTU4Niw4ICs0NzQsOCBAQCBz
dGF0aWMgRWluYV9Cb29sIF9ld2tfdGlsZV9tYXRyaXhfc2xpY2VyX3NldHVwKEV3a19UaWxlX01h
dHJpeCAqdG0sIGNvbnN0IEVpbmFfUgogICAgIHcgPSBhcmVhLT53OwogICAgIGggPSBhcmVhLT5o
OwogCi0gICAgdHcgPSBUSUxFX1NJWkVfQVRfWk9PTShUSUxFX1csIHpvb20pOwotICAgIHRoID0g
VElMRV9TSVpFX0FUX1pPT00oVElMRV9ILCB6b29tKTsKKyAgICB0dyA9IHRtLT50aWxlLnc7Cisg
ICAgdGggPSB0bS0+dGlsZS5oOwogCiAgICAgLy8gY3JvcHBpbmcgYXJlYSByZWdpb24gdG8gZml0
IG1hdHJpeAogICAgIGVpbmFfbWF0cml4c3BhcnNlX3NpemVfZ2V0KHRtLT5tYXRyaXgsICZyb3dz
LCAmY29scyk7CkBAIC02MzAsMjYgKzUxOCwyMCBAQCBFaW5hX0Jvb2wgZXdrX3RpbGVfbWF0cml4
X3VwZGF0ZShFd2tfVGlsZV9NYXRyaXggKnRtLCBjb25zdCBFaW5hX1JlY3RhbmdsZSAqdXBkYQog
CiAgICAgd2hpbGUgKGVpbmFfdGlsZV9ncmlkX3NsaWNlcl9uZXh0KCZzbGljZXIsICZpbmZvKSkg
ewogICAgICAgICB1bnNpZ25lZCBsb25nIGNvbCwgcm93OwotICAgICAgICBFd2tfVGlsZSAqbCwg
KnQ7CisgICAgICAgIEV3a19UaWxlICp0OwogICAgICAgICBjb2wgPSBpbmZvLT5jb2w7CiAgICAg
ICAgIHJvdyA9IGluZm8tPnJvdzsKIAotICAgICAgICBsID0gZWluYV9tYXRyaXhzcGFyc2VfZGF0
YV9pZHhfZ2V0KHRtLT5tYXRyaXgsIHJvdywgY29sKTsKLSAgICAgICAgaWYgKCFsKQorICAgICAg
ICB0ID0gZWluYV9tYXRyaXhzcGFyc2VfZGF0YV9pZHhfZ2V0KHRtLT5tYXRyaXgsIHJvdywgY29s
KTsKKyAgICAgICAgaWYgKCF0KQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgRUlO
QV9JTkxJU1RfRk9SRUFDSChFSU5BX0lOTElTVF9HRVQobCksIHQpIHsKLSAgICAgICAgICAgIGlm
ICghdC0+dXBkYXRlcyAmJiAhdC0+c3RhdHMuZnVsbF91cGRhdGUpCi0gICAgICAgICAgICAgICAg
dG0tPnVwZGF0ZXMgPSBlaW5hX2xpc3RfYXBwZW5kKHRtLT51cGRhdGVzLCB0KTsKLSAgICAgICAg
ICAgIGlmIChpbmZvLT5mdWxsKQotICAgICAgICAgICAgICAgIGV3a190aWxlX3VwZGF0ZV9mdWxs
KHQpOwotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKHQtPnpvb20gIT0g
em9vbSkKLSAgICAgICAgICAgICAgICAgICAgZXdrX3RpbGVfdXBkYXRlX2Z1bGwodCk7Ci0gICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBld2tfdGlsZV91cGRhdGVfYXJl
YSh0LCAmaW5mby0+cmVjdCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgaWYg
KCF0LT51cGRhdGVzICYmICF0LT5zdGF0cy5mdWxsX3VwZGF0ZSkKKyAgICAgICAgICAgIHRtLT51
cGRhdGVzID0gZWluYV9saXN0X2FwcGVuZCh0bS0+dXBkYXRlcywgdCk7CisgICAgICAgIGlmIChp
bmZvLT5mdWxsKQorICAgICAgICAgICAgZXdrX3RpbGVfdXBkYXRlX2Z1bGwodCk7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIGV3a190aWxlX3VwZGF0ZV9hcmVhKHQsICZpbmZvLT5yZWN0KTsK
ICAgICB9CiAKIApAQCAtNzAyLDExICs1ODQsMTEgQEAgdm9pZCBld2tfdGlsZV9tYXRyaXhfZGJn
KGNvbnN0IEV3a19UaWxlX01hdHJpeCAqdG0pCiAKICAgICBFSU5BX0lURVJBVE9SX0ZPUkVBQ0go
aXQsIGNlbGwpIHsKICAgICAgICAgdW5zaWduZWQgbG9uZyByb3csIGNvbDsKLSAgICAgICAgRWlu
YV9Jbmxpc3QgKmw7CisgICAgICAgIEV3a19UaWxlICp0OwogICAgICAgICBlaW5hX21hdHJpeHNw
YXJzZV9jZWxsX3Bvc2l0aW9uX2dldChjZWxsLCAmcm93LCAmY29sKTsKLSAgICAgICAgbCA9IGVp
bmFfbWF0cml4c3BhcnNlX2NlbGxfZGF0YV9nZXQoY2VsbCk7CisgICAgICAgIHQgPSBlaW5hX21h
dHJpeHNwYXJzZV9jZWxsX2RhdGFfZ2V0KGNlbGwpOwogCi0gICAgICAgIGlmICghbCkgeworICAg
ICAgICBpZiAoIXQpIHsKICAgICAgICAgICAgIGlmICghbGFzdF9lbXB0eSkgewogICAgICAgICAg
ICAgICAgIGxhc3RfZW1wdHkgPSBFSU5BX1RSVUU7CiAgICAgICAgICAgICAgICAgcHJpbnRmKCJF
bXB0eToiKTsKQEAgLTcxNywxMyArNTk5LDggQEAgdm9pZCBld2tfdGlsZV9tYXRyaXhfZGJnKGNv
bnN0IEV3a19UaWxlX01hdHJpeCAqdG0pCiAgICAgICAgICAgICAgICAgbGFzdF9lbXB0eSA9IEVJ
TkFfRkFMU0U7CiAgICAgICAgICAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgRXdrX1RpbGUgKnQ7Ci0KLSAgICAgICAgICAgIHByaW50ZigiJTNsdSwlM2x1
ICUxMHA6IiwgY29sLCByb3csIGwpOwotICAgICAgICAgICAgRUlOQV9JTkxJU1RfRk9SRUFDSChs
LCB0KQotICAgICAgICAgICAgICAgIHByaW50ZigiIFslM2x1LCUzbHUgKyAlZHglZCBAICUwLjNm
XSVjIiwKLSAgICAgICAgICAgICAgICAgICAgICAgdC0+Y29sLCB0LT5yb3csIHQtPncsIHQtPmgs
IHQtPnpvb20sCi0gICAgICAgICAgICAgICAgICAgICAgIHQtPnZpc2libGUgPyAnKic6ICcgJyk7
CisgICAgICAgICAgICBwcmludGYoIiUzbHUsJTNsdSAlMTBwOiIsIGNvbCwgcm93LCB0KTsKKyAg
ICAgICAgICAgIHByaW50ZigiIFslM2x1LCUzbHUgKyAlZHglZCBAICUwLjNmXSVjIiwgdC0+Y29s
LCB0LT5yb3csIHQtPncsIHQtPmgsIHQtPnpvb20sIHQtPnZpc2libGUgPyAnKic6ICcgJyk7CiAg
ICAgICAgICAgICBwcmludGYoIlxuIik7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5oIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a190aWxlZF9tYXRyaXguaAppbmRleCA0ZWQ1MDY2Li5mZTg2OGY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmgKQEAgLTI2LDcgKzI2LDcgQEAKICNp
bmNsdWRlIDxFdmFzLmg+CiAKIC8qIG1hdHJpeCBvZiB0aWxlcyAqLwotRXdrX1RpbGVfTWF0cml4
ICpld2tfdGlsZV9tYXRyaXhfbmV3KEV3a19UaWxlX1VudXNlZF9DYWNoZSAqdHVjLCB1bnNpZ25l
ZCBsb25nIGNvbHMsIHVuc2lnbmVkIGxvbmcgcm93cywgRXZhc19Db2xvcnNwYWNlIGNzcGFjZSwg
dm9pZCAoKnJlbmRlcl9jYikodm9pZCAqZGF0YSwgRXdrX1RpbGUgKnQsIGNvbnN0IEVpbmFfUmVj
dGFuZ2xlICp1cGRhdGUpLCBjb25zdCB2b2lkICpkYXRhKTsKK0V3a19UaWxlX01hdHJpeCAqZXdr
X3RpbGVfbWF0cml4X25ldyhFd2tfVGlsZV9VbnVzZWRfQ2FjaGUgKnR1YywgdW5zaWduZWQgbG9u
ZyBjb2xzLCB1bnNpZ25lZCBsb25nIHJvd3MsIEV2YXNfQ29sb3JzcGFjZSBjc3BhY2UsIHZvaWQg
KCpyZW5kZXJfY2IpKHZvaWQgKmRhdGEsIEV3a19UaWxlICp0LCBjb25zdCBFaW5hX1JlY3Rhbmds
ZSAqdXBkYXRlKSwgY29uc3Qgdm9pZCAqcmVuZGVyX2RhdGEpOwogdm9pZCBld2tfdGlsZV9tYXRy
aXhfZnJlZShFd2tfVGlsZV9NYXRyaXggKnRtKTsKIAogdm9pZCBld2tfdGlsZV9tYXRyaXhfcmVz
aXplKEV3a19UaWxlX01hdHJpeCAqdG0sIHVuc2lnbmVkIGxvbmcgY29scywgdW5zaWduZWQgbG9u
ZyByb3dzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbW9k
ZWwuYyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbW9kZWwuYwppbmRleCA3ZTYx
ZDU3Li5kMmU5NDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVk
X21vZGVsLmMKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tb2RlbC5jCkBA
IC0yNDEsNyArMjQxLDYgQEAgc3RhdGljIGlubGluZSB2b2lkIF9ld2tfdGlsZV9wYWludChFd2tf
VGlsZSAqdCwgdWludDhfdCByLCB1aW50OF90IGcsIHVpbnQ4X3QgYikKICAqLwogRXdrX1RpbGUg
KmV3a190aWxlX25ldyhFdmFzICpldmFzLCBFdmFzX0Nvb3JkIHcsIEV2YXNfQ29vcmQgaCwgZmxv
YXQgem9vbSwgRXZhc19Db2xvcnNwYWNlIGNzcGFjZSkKIHsKLSAgICBFaW5hX0lubGlzdCAqbDsK
ICAgICBFdmFzX0Nvb3JkICplYzsKICAgICBFdmFzX0NvbG9yc3BhY2UgKmVjczsKICAgICBmbG9h
dCAqZjsKQEAgLTI3MCw4ICsyNjksNyBAQCBFd2tfVGlsZSAqZXdrX3RpbGVfbmV3KEV2YXMgKmV2
YXMsIEV2YXNfQ29vcmQgdywgRXZhc19Db29yZCBoLCBmbG9hdCB6b29tLCBFdmFzXwogICAgICAg
ICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBEQkcoInNpemU6ICVkeCVkICglZCksIHpvb206
ICVmLCBjc3BhY2U9JWQiLAotICAgICAgICB3LCBoLCBhcmVhLCAoZG91YmxlKXpvb20sIGNzcGFj
ZSk7CisgICAgREJHKCJzaXplOiAlZHglZCAoJWQpLCB6b29tOiAlZiwgY3NwYWNlPSVkIiwgdywg
aCwgYXJlYSwgKGRvdWJsZSl6b29tLCBjc3BhY2UpOwogCiAgICAgTUFMTE9DX09SX09PTV9SRVQo
dCwgc2l6ZW9mKEV3a19UaWxlKSwgTlVMTCk7CiAgICAgdC0+aW1hZ2UgPSBldmFzX29iamVjdF9p
bWFnZV9hZGQoZXZhcyk7CkBAIC0yODEsMTAgKzI3OSw2IEBAIEV3a19UaWxlICpld2tfdGlsZV9u
ZXcoRXZhcyAqZXZhcywgRXZhc19Db29yZCB3LCBFdmFzX0Nvb3JkIGgsIGZsb2F0IHpvb20sIEV2
YXNfCiAgICAgaWYgKGVuZ2luZSAmJiAhc3RyY21wKGVuZ2luZSwgIm9wZW5nbF94MTEiKSkKICAg
ICAgICAgZXZhc19vYmplY3RfaW1hZ2VfY29udGVudF9oaW50X3NldCh0LT5pbWFnZSwgRVZBU19J
TUFHRV9DT05URU5UX0hJTlRfRFlOQU1JQyk7CiAKLSAgICBsID0gRUlOQV9JTkxJU1RfR0VUKHQp
OwotICAgIGwtPnByZXYgPSBOVUxMOwotICAgIGwtPm5leHQgPSBOVUxMOwotCiAgICAgdC0+dmlz
aWJsZSA9IDA7CiAgICAgdC0+dXBkYXRlcyA9IE5VTEw7CiAKQEAgLTMxMCw4ICszMDQsNyBAQCBF
d2tfVGlsZSAqZXdrX3RpbGVfbmV3KEV2YXMgKmV2YXMsIEV2YXNfQ29vcmQgdywgRXZhc19Db29y
ZCBoLCBmbG9hdCB6b29tLCBFdmFzXwogICAgIGV2YXNfb2JqZWN0X2ltYWdlX3NpemVfc2V0KHQt
PmltYWdlLCB0LT53LCB0LT5oKTsKICAgICBldmFzX29iamVjdF9pbWFnZV9jb2xvcnNwYWNlX3Nl
dCh0LT5pbWFnZSwgdC0+Y3NwYWNlKTsKICAgICB0LT5waXhlbHMgPSBldmFzX29iamVjdF9pbWFn
ZV9kYXRhX2dldCh0LT5pbWFnZSwgRUlOQV9UUlVFKTsKLSAgICB0LT5zdXJmYWNlID0gY2Fpcm9f
aW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEKLSAgICAgICAgKHQtPnBpeGVscywgZm9ybWF0
LCB3LCBoLCBzdHJpZGUpOworICAgIHQtPnN1cmZhY2UgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2Ny
ZWF0ZV9mb3JfZGF0YSh0LT5waXhlbHMsIGZvcm1hdCwgdywgaCwgc3RyaWRlKTsKICAgICBzdGF0
dXMgPSBjYWlyb19zdXJmYWNlX3N0YXR1cyh0LT5zdXJmYWNlKTsKICAgICBpZiAoc3RhdHVzICE9
IENBSVJPX1NUQVRVU19TVUNDRVNTKSB7CiAgICAgICAgIEVSUigiZmFpbGVkIHRvIGNyZWF0ZSBj
YWlybyBzdXJmYWNlOiAlcyIsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>