<?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>79104</bug_id>
          
          <creation_ts>2012-02-21 07:03:37 -0800</creation_ts>
          <short_desc>Unaligned userspace access for SH4 platforms</short_desc>
          <delta_ts>2012-03-26 19:04:06 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</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="thouraya">thouraya.andolsi</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>560850</commentid>
    <comment_count>0</comment_count>
    <who name="thouraya">thouraya.andolsi</who>
    <bug_when>2012-02-21 07:03:37 -0800</bug_when>
    <thetext>Unaligned access memory when running sunspider</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560858</commentid>
    <comment_count>1</comment_count>
      <attachid>127968</attachid>
    <who name="thouraya">thouraya.andolsi</who>
    <bug_when>2012-02-21 07:09:10 -0800</bug_when>
    <thetext>Created attachment 127968
fix unaligend access memory issue in YARR JIT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572569</commentid>
    <comment_count>2</comment_count>
    <who name="thouraya">thouraya.andolsi</who>
    <bug_when>2012-03-06 23:11:51 -0800</bug_when>
    <thetext>Hi,

Any update on the patch?

Regards,
Thouraya.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572578</commentid>
    <comment_count>3</comment_count>
      <attachid>127968</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-03-06 23:22:03 -0800</bug_when>
    <thetext>Comment on attachment 127968
fix unaligend access memory issue in YARR JIT

View in context: https://bugs.webkit.org/attachment.cgi?id=127968&amp;action=review

&gt; Source/JavaScriptCore/assembler/MacroAssemblerSH4.h:978
&gt; +        m_assembler.ensureSpace(m_assembler.maxInstructionSize + 68, sizeof(uint32_t));
&gt; +        move(scr, SH4Registers::r0);
&gt; +        m_assembler.andlImm8r(0x3, SH4Registers::r0);
&gt; +        m_assembler.cmpEqImmR0(0x0, SH4Registers::r0);
&gt; +        m_assembler.branch(BF_OPCODE, 2 + extraInst);
&gt; +
&gt; +        if (dest != SH4Registers::r0)
&gt; +            move(scr1, SH4Registers::r0);
&gt; +
&gt; +        load32(scr, dest);
&gt; +        m_assembler.branch(BRA_OPCODE, 25 + extraInst);
&gt; +        m_assembler.nop();
&gt; +
&gt; +        m_assembler.andlImm8r(0x1, SH4Registers::r0);
&gt; +        m_assembler.cmpEqImmR0(0x0, SH4Registers::r0);
&gt; +
&gt; +        if (dest != SH4Registers::r0)
&gt; +            move(scr1, SH4Registers::r0);
&gt; +
&gt; +        m_assembler.branch(BF_OPCODE, 8);

Why aren&apos;t you just using the macro assembler API instead of having to manually compute branch offsets?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580517</commentid>
    <comment_count>4</comment_count>
      <attachid>132284</attachid>
    <who name="thouraya">thouraya.andolsi</who>
    <bug_when>2012-03-16 07:58:47 -0700</bug_when>
    <thetext>Created attachment 132284
patch

Hi,

attached the patch to fix the unaligned user space access and some changes to use the macro assembler API instead of  computing manually branch offsets.


Regards,
Thouraya.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583132</commentid>
    <comment_count>5</comment_count>
    <who name="thouraya">thouraya.andolsi</who>
    <bug_when>2012-03-20 09:24:53 -0700</bug_when>
    <thetext>Hi,

Please,
Could you have a look on the patch ?

Thanks a lot.
thouraya.

(In reply to comment #3)
&gt; (From update of attachment 127968 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=127968&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/assembler/MacroAssemblerSH4.h:978
&gt; &gt; +        m_assembler.ensureSpace(m_assembler.maxInstructionSize + 68, sizeof(uint32_t));
&gt; &gt; +        move(scr, SH4Registers::r0);
&gt; &gt; +        m_assembler.andlImm8r(0x3, SH4Registers::r0);
&gt; &gt; +        m_assembler.cmpEqImmR0(0x0, SH4Registers::r0);
&gt; &gt; +        m_assembler.branch(BF_OPCODE, 2 + extraInst);
&gt; &gt; +
&gt; &gt; +        if (dest != SH4Registers::r0)
&gt; &gt; +            move(scr1, SH4Registers::r0);
&gt; &gt; +
&gt; &gt; +        load32(scr, dest);
&gt; &gt; +        m_assembler.branch(BRA_OPCODE, 25 + extraInst);
&gt; &gt; +        m_assembler.nop();
&gt; &gt; +
&gt; &gt; +        m_assembler.andlImm8r(0x1, SH4Registers::r0);
&gt; &gt; +        m_assembler.cmpEqImmR0(0x0, SH4Registers::r0);
&gt; &gt; +
&gt; &gt; +        if (dest != SH4Registers::r0)
&gt; &gt; +            move(scr1, SH4Registers::r0);
&gt; &gt; +
&gt; &gt; +        m_assembler.branch(BF_OPCODE, 8);
&gt; 
&gt; Why aren&apos;t you just using the macro assembler API instead of having to manually compute branch offsets?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587518</commentid>
    <comment_count>6</comment_count>
    <who name="thouraya">thouraya.andolsi</who>
    <bug_when>2012-03-26 00:58:43 -0700</bug_when>
    <thetext>Hi,

Any updates?

Regards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588469</commentid>
    <comment_count>7</comment_count>
      <attachid>132284</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-26 19:04:01 -0700</bug_when>
    <thetext>Comment on attachment 132284
patch

Clearing flags on attachment: 132284

Committed r112192: &lt;http://trac.webkit.org/changeset/112192&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588470</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-26 19:04:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127968</attachid>
            <date>2012-02-21 07:09:10 -0800</date>
            <delta_ts>2012-03-16 07:58:47 -0700</delta_ts>
            <desc>fix unaligend access memory issue in YARR JIT</desc>
            <filename>fix-issue.patch</filename>
            <type>text/plain</type>
            <size>5645</size>
            <attacher name="thouraya">thouraya.andolsi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDdiZDE5MTIuLmJlN2ZiNjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTIxICBUaG91cmF5YSBBTkRP
TFNJICA8dGhvdXJheWEuYW5kb2xzaUBzdC5jb20+CisKKyAgICAgICAgRml4IGFuIHVuYWxpZ25l
ZCBhY2Nlc3MgbWVtb3J5IGZvciBTSDQgcGxhdGZvcm1zLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxMDQgCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJTSDQu
aDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6OmxvYWQxNlVuYWxpZ25lZCk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0Ojpsb2FkMzJXaXRoVW5hbGlnbmVkSGFsZldv
cmRzKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKSVQpOgorICAgICAgICAqIHlh
cnIvWWFyckpJVC5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJHZW5lcmF0b3I6OmdlbmVy
YXRlUGF0dGVybkNoYXJhY3Rlck9uY2UpOgorCiAyMDEyLTAyLTIxICBGaWxpcCBQaXpsbyAgPGZw
aXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgRml4IG1hc3NpdmUgY3Jhc2hlcyBpbiBhbGwgdGVz
dHMgaW50cm9kdWNlZCBieSBwcmV2aW91cyBidWlsZCBmaXgsIGFuZCBmaXggbm9uLURGRyBidWls
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJTSDQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJTSDQuaAppbmRleCBhODRmMzM3Li43MzJlMDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyU0g0LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclNINC5oCkBAIC02ODEsOCArNjgxLDcg
QEAgcHVibGljOgogICAgICAgICBsb2FkOChzY3IsIHNjcjEpOwogICAgICAgICBhZGQzMihUcnVz
dGVkSW1tMzIoMSksIHNjcik7CiAgICAgICAgIGxvYWQ4KHNjciwgZGVzdCk7Ci0gICAgICAgIG1v
dmUoVHJ1c3RlZEltbTMyKDgpLCBzY3IpOwotICAgICAgICBtX2Fzc2VtYmxlci5zaGxsUmVnUmVn
KGRlc3QsIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLnNobGxJbW04cig4LCBkZXN0KTsKICAg
ICAgICAgb3IzMihzY3IxLCBkZXN0KTsKIAogICAgICAgICByZWxlYXNlU2NyYXRjaChzY3IpOwpA
QCAtOTQyLDYgKzk0MSwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2FkMzJXaXRoVW5hbGlnbmVk
SGFsZldvcmRzKEJhc2VJbmRleCBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAg
ICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOworICAgICAgICBSZWdpc3RlcklE
IHNjcjEgPSBjbGFpbVNjcmF0Y2goKTsKKyAgICAgICAgaW50IGV4dHJhSW5zdCA9IDA7CisKKyAg
ICAgICAgaWYgKGRlc3QgIT0gU0g0UmVnaXN0ZXJzOjpyMCkgeworICAgICAgICAgICAgbW92ZShT
SDRSZWdpc3RlcnM6OnIwLCBzY3IxKTsKKyAgICAgICAgICAgIGV4dHJhSW5zdCA9IDE7CisgICAg
ICAgIH0KIAogICAgICAgICBtb3ZlKGFkZHJlc3MuaW5kZXgsIHNjcik7CiAgICAgICAgIGxzaGlm
dDMyKFRydXN0ZWRJbW0zMihhZGRyZXNzLnNjYWxlKSwgc2NyKTsKQEAgLTk1MCwxMiArOTU2LDQy
IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKGFkZHJlc3Mub2Zmc2V0KQogICAgICAgICAgICAgYWRk
MzIoVHJ1c3RlZEltbTMyKGFkZHJlc3Mub2Zmc2V0KSwgc2NyKTsKIAotICAgICAgICBSZWdpc3Rl
cklEIHNjcjEgPSBjbGFpbVNjcmF0Y2goKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZW5zdXJlU3Bh
Y2UobV9hc3NlbWJsZXIubWF4SW5zdHJ1Y3Rpb25TaXplICsgNjgsIHNpemVvZih1aW50MzJfdCkp
OworICAgICAgICBtb3ZlKHNjciwgU0g0UmVnaXN0ZXJzOjpyMCk7CisgICAgICAgIG1fYXNzZW1i
bGVyLmFuZGxJbW04cigweDMsIFNINFJlZ2lzdGVyczo6cjApOworICAgICAgICBtX2Fzc2VtYmxl
ci5jbXBFcUltbVIwKDB4MCwgU0g0UmVnaXN0ZXJzOjpyMCk7CisgICAgICAgIG1fYXNzZW1ibGVy
LmJyYW5jaChCRl9PUENPREUsIDIgKyBleHRyYUluc3QpOworCisgICAgICAgIGlmIChkZXN0ICE9
IFNINFJlZ2lzdGVyczo6cjApCisgICAgICAgICAgICBtb3ZlKHNjcjEsIFNINFJlZ2lzdGVyczo6
cjApOworCisgICAgICAgIGxvYWQzMihzY3IsIGRlc3QpOworICAgICAgICBtX2Fzc2VtYmxlci5i
cmFuY2goQlJBX09QQ09ERSwgMjUgKyBleHRyYUluc3QpOworICAgICAgICBtX2Fzc2VtYmxlci5u
b3AoKTsKKworICAgICAgICBtX2Fzc2VtYmxlci5hbmRsSW1tOHIoMHgxLCBTSDRSZWdpc3RlcnM6
OnIwKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuY21wRXFJbW1SMCgweDAsIFNINFJlZ2lzdGVyczo6
cjApOworCisgICAgICAgIGlmIChkZXN0ICE9IFNINFJlZ2lzdGVyczo6cjApCisgICAgICAgICAg
ICBtb3ZlKHNjcjEsIFNINFJlZ2lzdGVyczo6cjApOworCisgICAgICAgIG1fYXNzZW1ibGVyLmJy
YW5jaChCRl9PUENPREUsIDgpOwogICAgICAgICBsb2FkMTYoc2NyLCBzY3IxKTsKICAgICAgICAg
YWRkMzIoVHJ1c3RlZEltbTMyKDIpLCBzY3IpOwogICAgICAgICBsb2FkMTYoc2NyLCBkZXN0KTsK
LSAgICAgICAgbW92ZShUcnVzdGVkSW1tMzIoMTYpLCBzY3IpOwotICAgICAgICBtX2Fzc2VtYmxl
ci5zaGxsUmVnUmVnKGRlc3QsIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLnNobGxJbW04cigx
NiwgZGVzdCk7CisgICAgICAgIG9yMzIoc2NyMSwgZGVzdCk7CisgICAgICAgIG1fYXNzZW1ibGVy
LmJyYW5jaChCUkFfT1BDT0RFLCAxMyk7CisgICAgICAgIG1fYXNzZW1ibGVyLm5vcCgpOworICAg
ICAgICBsb2FkOChzY3IsIHNjcjEpOworICAgICAgICBhZGQzMihUcnVzdGVkSW1tMzIoMSksIHNj
cik7CisgICAgICAgIGxvYWQxNihzY3IsIGRlc3QpOworICAgICAgICBtX2Fzc2VtYmxlci5zaGxs
SW1tOHIoOCwgZGVzdCk7CisgICAgICAgIG9yMzIoZGVzdCwgc2NyMSk7CisgICAgICAgIGFkZDMy
KFRydXN0ZWRJbW0zMigyKSwgc2NyKTsKKyAgICAgICAgbG9hZDgoc2NyLCBkZXN0KTsKKyAgICAg
ICAgbV9hc3NlbWJsZXIuc2hsbEltbThyKDgsIGRlc3QpOworICAgICAgICBtX2Fzc2VtYmxlci5z
aGxsSW1tOHIoMTYsIGRlc3QpOwogICAgICAgICBvcjMyKHNjcjEsIGRlc3QpOwogCiAgICAgICAg
IHJlbGVhc2VTY3JhdGNoKHNjcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCBhMmJjNDI3
Li44OGEyYWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTU0NSw4ICs1NDUsOCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBzZXF1ZW5jZUdldEJ5SWRI
b3RQYXRoSW5zdHJ1Y3Rpb25TcGFjZSA9IDM2OwogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNl
cXVlbmNlR2V0QnlJZEhvdFBhdGhDb25zdGFudFNwYWNlID0gNTsKICAgICAgICAgLy8gc2VxdWVu
Y2VHZXRCeUlkU2xvd0Nhc2UKLSAgICAgICAgc3RhdGljIGNvbnN0IGludCBzZXF1ZW5jZUdldEJ5
SWRTbG93Q2FzZUluc3RydWN0aW9uU3BhY2UgPSAzMDsKLSAgICAgICAgc3RhdGljIGNvbnN0IGlu
dCBzZXF1ZW5jZUdldEJ5SWRTbG93Q2FzZUNvbnN0YW50U3BhY2UgPSAzOworICAgICAgICBzdGF0
aWMgY29uc3QgaW50IHNlcXVlbmNlR2V0QnlJZFNsb3dDYXNlSW5zdHJ1Y3Rpb25TcGFjZSA9IDM4
OworICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlR2V0QnlJZFNsb3dDYXNlQ29uc3Rh
bnRTcGFjZSA9IDQ7CiAgICAgICAgIC8vIHNlcXVlbmNlUHV0QnlJZAogICAgICAgICBzdGF0aWMg
Y29uc3QgaW50IHNlcXVlbmNlUHV0QnlJZEluc3RydWN0aW9uU3BhY2UgPSAzNjsKICAgICAgICAg
c3RhdGljIGNvbnN0IGludCBzZXF1ZW5jZVB1dEJ5SWRDb25zdGFudFNwYWNlID0gNTsKQEAgLTU2
MCw3ICs1NjAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5H
KQogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0R2V0QnlJZFNsb3dDYXNlQ2Fs
bCA9IDA7IC8vIEZJTVhFCiAjZWxzZQotICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zm
c2V0R2V0QnlJZFNsb3dDYXNlQ2FsbCA9IDI2OworICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBh
dGNoT2Zmc2V0R2V0QnlJZFNsb3dDYXNlQ2FsbCA9IDM0OwogI2VuZGlmCiAgICAgICAgIHN0YXRp
YyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRPcENhbGxDb21wYXJlVG9KdW1wID0gNDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcAppbmRleCBmZThlMjU4Li4xY2FhNjI5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcApAQCAtNzI4LDEyICs3MjgsMTIgQEAg
Y2xhc3MgWWFyckdlbmVyYXRvciA6IHByaXZhdGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgICAgIGNhc2UgMjogewogICAgICAgICAgICAgICAgIEJh
c2VJbmRleCBhZGRyZXNzKGlucHV0LCBpbmRleCwgVGltZXNPbmUsIChzdGFydFRlcm1Qb3NpdGlv
biAtIG1fY2hlY2tlZCkgKiBzaXplb2YoTENoYXIpKTsKLSAgICAgICAgICAgICAgICBsb2FkMTYo
YWRkcmVzcywgY2hhcmFjdGVyKTsKKyAgICAgICAgICAgICAgICBsb2FkMTZVbmFsaWduZWQoYWRk
cmVzcywgY2hhcmFjdGVyKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIGNhc2UgMzogewogICAgICAgICAgICAgICAgIEJhc2VJbmRleCBoaWdoQWRk
cmVzcyhpbnB1dCwgaW5kZXgsIFRpbWVzT25lLCAoc3RhcnRUZXJtUG9zaXRpb24gLSBtX2NoZWNr
ZWQpICogc2l6ZW9mKExDaGFyKSk7Ci0gICAgICAgICAgICAgICAgbG9hZDE2KGhpZ2hBZGRyZXNz
LCBjaGFyYWN0ZXIpOworICAgICAgICAgICAgICAgIGxvYWQxNlVuYWxpZ25lZChoaWdoQWRkcmVz
cywgY2hhcmFjdGVyKTsKICAgICAgICAgICAgICAgICBpZiAoaWdub3JlQ2FzZU1hc2spCiAgICAg
ICAgICAgICAgICAgICAgIG9yMzIoSW1tMzIoaWdub3JlQ2FzZU1hc2spLCBjaGFyYWN0ZXIpOwog
ICAgICAgICAgICAgICAgIG9wLm1fanVtcHMuYXBwZW5kKGJyYW5jaDMyKE5vdEVxdWFsLCBjaGFy
YWN0ZXIsIEltbTMyKChhbGxDaGFyYWN0ZXJzICYgMHhmZmZmKSB8IGlnbm9yZUNhc2VNYXNrKSkp
Owo=
</data>
<flag name="review"
          id="130235"
          type_id="1"
          status="-"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132284</attachid>
            <date>2012-03-16 07:58:47 -0700</date>
            <delta_ts>2012-03-26 19:04:01 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-fix-unaligned-user-space-access.patch</filename>
            <type>text/plain</type>
            <size>18638</size>
            <attacher name="thouraya">thouraya.andolsi</attacher>
            
              <data encoding="base64">RnJvbSA0YWMwODk5YmFkZTFkMTk1ZDFlMmExZWVhZjQxNDAxODEzYmUyOTQ3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaG91cmF5YSBBTkRPTFNJIDx0aG91cmF5YS5hbmRvbHNpQHN0
LmNvbT4KRGF0ZTogRnJpLCAxNiBNYXIgMjAxMiAxNDozMzoyMyArMDEwMApTdWJqZWN0OiBbUEFU
Q0hdIGZpeCB1bmFsaWduZWQgdXNlciBzcGFjZSBhY2Nlc3MKCi0tLQogU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgfCAgIDI3ICsrKysrCiAuLi4vYXNz
ZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaCAgICAgICAgICAgICB8ICAgMTEgKysKIC4u
Li9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJTSDQuaCAgIHwgIDEyMyAr
KysrKysrKysrKysrKystLS0tLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9TSDRB
c3NlbWJsZXIuaCAgICAgfCAgIDI4ICsrKysrLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuaCAgICAgICAgICAgICAgICAgICAgfCAgICA2ICstCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
eWFyci9ZYXJySklULmNwcCAgICAgICAgICAgICB8ICAgIDQgKy0KIDYgZmlsZXMgY2hhbmdlZCwg
MTYxIGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
CmluZGV4IDJmZTllMjQuLmQzNTljMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDMwIEBACisyMDEyLTAzLTE2ICBUaG91cmF5YSBBTkRPTFNJICA8dGhvdXJheWEuYW5kb2xz
aUBzdC5jb20+CisKKyAgICAgICAgVW5hbGlnbmVkIHVzZXJzcGFjZSBhY2Nlc3MgZm9yIFNINCBw
bGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc5MTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBhc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oOgorICAgICAgICAoSnVtcCk6Cisg
ICAgICAgIChKU0M6OkFic3RyYWN0TWFjcm9Bc3NlbWJsZXI6Okp1bXA6Okp1bXApOgorICAgICAg
ICAoSlNDOjpBYnN0cmFjdE1hY3JvQXNzZW1ibGVyOjpKdW1wOjpsaW5rKToKKyAgICAgICAgKiBh
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJTSDQuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJTSDQ6OmxvYWQxNlVuYWxpZ25lZCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0
Ojpsb2FkMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJTSDQ6OmJyYW5jaERvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0
OjpicmFuY2hUcnVlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6OmJyYW5jaEZh
bHNlKToKKyAgICAgICAgKiBhc3NlbWJsZXIvU0g0QXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6
OlNINEFzc2VtYmxlcjo6ZXh0cmFJbnN0ckZvckJyYW5jaCk6CisgICAgICAgIChTSDRBc3NlbWJs
ZXIpOgorICAgICAgICAoSlNDOjpTSDRBc3NlbWJsZXI6OmJyYSk6CisgICAgICAgIChKU0M6OlNI
NEFzc2VtYmxlcjo6bGlua0p1bXApOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKEpJ
VCk6CisgICAgICAgICogeWFyci9ZYXJySklULmNwcDoKKyAgICAgICAgKEpTQzo6WWFycjo6WWFy
ckdlbmVyYXRvcjo6Z2VuZXJhdGVQYXR0ZXJuQ2hhcmFjdGVyT25jZSk6CisKIDIwMTItMDMtMTQg
IEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQXZvaWQg
U3RyaW5nSW1wbDo6Z2V0RGF0YTE2U2xvd0Nhc2UoKSB3aGVuIHNvcnRpbmcgYXJyYXkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2Vt
Ymxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNz
ZW1ibGVyLmgKaW5kZXggYWIzNDM5Ny4uNWY4YTE1MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTQ1
MCw2ICs0NTAsMTIgQEAgcHVibGljOgogICAgICAgICAgICAgLCBtX2NvbmRpdGlvbihjb25kaXRp
b24pCiAgICAgICAgIHsKICAgICAgICAgfQorI2VsaWYgQ1BVKFNINCkKKyAgICAgICAgSnVtcChB
c3NlbWJsZXJMYWJlbCBqbXAsIFNINEFzc2VtYmxlcjo6SnVtcFR5cGUgdHlwZSA9IFNINEFzc2Vt
Ymxlcjo6SnVtcEZhcikKKyAgICAgICAgICAgIDogbV9sYWJlbChqbXApCisgICAgICAgICAgICAs
IG1fdHlwZSh0eXBlKQorICAgICAgICB7CisgICAgICAgIH0KICNlbHNlCiAgICAgICAgIEp1bXAo
QXNzZW1ibGVyTGFiZWwgam1wKSAgICAKICAgICAgICAgICAgIDogbV9sYWJlbChqbXApCkBAIC00
NjEsNiArNDY3LDggQEAgcHVibGljOgogICAgICAgICB7CiAjaWYgQ1BVKEFSTV9USFVNQjIpCiAg
ICAgICAgICAgICBtYXNtLT5tX2Fzc2VtYmxlci5saW5rSnVtcChtX2xhYmVsLCBtYXNtLT5tX2Fz
c2VtYmxlci5sYWJlbCgpLCBtX3R5cGUsIG1fY29uZGl0aW9uKTsKKyNlbGlmIENQVShTSDQpCisg
ICAgICAgICAgICBtYXNtLT5tX2Fzc2VtYmxlci5saW5rSnVtcChtX2xhYmVsLCBtYXNtLT5tX2Fz
c2VtYmxlci5sYWJlbCgpLCBtX3R5cGUpOwogI2Vsc2UKICAgICAgICAgICAgIG1hc20tPm1fYXNz
ZW1ibGVyLmxpbmtKdW1wKG1fbGFiZWwsIG1hc20tPm1fYXNzZW1ibGVyLmxhYmVsKCkpOwogI2Vu
ZGlmCkBAIC00ODMsNiArNDkxLDkgQEAgcHVibGljOgogICAgICAgICBBUk12N0Fzc2VtYmxlcjo6
SnVtcFR5cGUgbV90eXBlOwogICAgICAgICBBUk12N0Fzc2VtYmxlcjo6Q29uZGl0aW9uIG1fY29u
ZGl0aW9uOwogI2VuZGlmCisjaWYgQ1BVKFNINCkKKyAgICAgICAgU0g0QXNzZW1ibGVyOjpKdW1w
VHlwZSBtX3R5cGU7CisjZW5kaWYKICAgICB9OwogCiAgICAgLy8gSnVtcExpc3Q6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyU0g0Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyU0g0LmgKaW5k
ZXggMmI1YzBjYy4uZjY4ZjgzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlclNINC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJTSDQuaApAQCAtNjgxLDggKzY4MSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgbG9hZDgoc2NyLCBzY3IxKTsKICAgICAgICAgYWRkMzIoVHJ1c3RlZEltbTMyKDEp
LCBzY3IpOwogICAgICAgICBsb2FkOChzY3IsIGRlc3QpOwotICAgICAgICBtb3ZlKFRydXN0ZWRJ
bW0zMig4KSwgc2NyKTsKLSAgICAgICAgbV9hc3NlbWJsZXIuc2hsbFJlZ1JlZyhkZXN0LCBzY3Ip
OworICAgICAgICBtX2Fzc2VtYmxlci5zaGxsSW1tOHIoOCwgZGVzdCk7CiAgICAgICAgIG9yMzIo
c2NyMSwgZGVzdCk7CiAKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKQEAgLTk0Miw2ICs5
NDEsMTIgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZDMyV2l0aFVuYWxpZ25lZEhhbGZXb3JkcyhC
YXNlSW5kZXggYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAgICAgICAgUmVnaXN0
ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKKyAgICAgICAgUmVnaXN0ZXJJRCBzY3IxID0gY2xh
aW1TY3JhdGNoKCk7CisgICAgICAgIEp1bXAgbV9qdW1wOworICAgICAgICBKdW1wTGlzdCBlbmQ7
CisKKyAgICAgICAgaWYgKGRlc3QgIT0gU0g0UmVnaXN0ZXJzOjpyMCkKKyAgICAgICAgICAgIG1v
dmUoU0g0UmVnaXN0ZXJzOjpyMCwgc2NyMSk7CiAKICAgICAgICAgbW92ZShhZGRyZXNzLmluZGV4
LCBzY3IpOwogICAgICAgICBsc2hpZnQzMihUcnVzdGVkSW1tMzIoYWRkcmVzcy5zY2FsZSksIHNj
cik7CkBAIC05NTAsMTMgKzk1NSw0NCBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChhZGRyZXNzLm9m
ZnNldCkKICAgICAgICAgICAgIGFkZDMyKFRydXN0ZWRJbW0zMihhZGRyZXNzLm9mZnNldCksIHNj
cik7CiAKLSAgICAgICAgUmVnaXN0ZXJJRCBzY3IxID0gY2xhaW1TY3JhdGNoKCk7CisgICAgICAg
IG1fYXNzZW1ibGVyLmVuc3VyZVNwYWNlKG1fYXNzZW1ibGVyLm1heEluc3RydWN0aW9uU2l6ZSAr
IDY4LCBzaXplb2YodWludDMyX3QpKTsKKyAgICAgICAgbW92ZShzY3IsIFNINFJlZ2lzdGVyczo6
cjApOworICAgICAgICBtX2Fzc2VtYmxlci5hbmRsSW1tOHIoMHgzLCBTSDRSZWdpc3RlcnM6OnIw
KTsKKyAgICAgICAgbV9hc3NlbWJsZXIuY21wRXFJbW1SMCgweDAsIFNINFJlZ2lzdGVyczo6cjAp
OworICAgICAgICBtX2p1bXAgPSBKdW1wKG1fYXNzZW1ibGVyLmpuZSgpLCBTSDRBc3NlbWJsZXI6
Okp1bXBOZWFyKTsKKyAgICAgICAgaWYgKGRlc3QgIT0gU0g0UmVnaXN0ZXJzOjpyMCkKKyAgICAg
ICAgICAgIG1vdmUoc2NyMSwgU0g0UmVnaXN0ZXJzOjpyMCk7CisKKyAgICAgICAgbG9hZDMyKHNj
ciwgZGVzdCk7CisgICAgICAgIGVuZC5hcHBlbmQoSnVtcChtX2Fzc2VtYmxlci5icmEoKSwgU0g0
QXNzZW1ibGVyOjpKdW1wTmVhcikpOworICAgICAgICBtX2Fzc2VtYmxlci5ub3AoKTsKKyAgICAg
ICAgbV9qdW1wLmxpbmsodGhpcyk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFuZGxJbW04cigweDEs
IFNINFJlZ2lzdGVyczo6cjApOworICAgICAgICBtX2Fzc2VtYmxlci5jbXBFcUltbVIwKDB4MCwg
U0g0UmVnaXN0ZXJzOjpyMCk7CisKKyAgICAgICAgaWYgKGRlc3QgIT0gU0g0UmVnaXN0ZXJzOjpy
MCkKKyAgICAgICAgICAgIG1vdmUoc2NyMSwgU0g0UmVnaXN0ZXJzOjpyMCk7CisKKyAgICAgICAg
bV9qdW1wID0gSnVtcChtX2Fzc2VtYmxlci5qbmUoKSwgU0g0QXNzZW1ibGVyOjpKdW1wTmVhcik7
CiAgICAgICAgIGxvYWQxNihzY3IsIHNjcjEpOwogICAgICAgICBhZGQzMihUcnVzdGVkSW1tMzIo
MiksIHNjcik7CiAgICAgICAgIGxvYWQxNihzY3IsIGRlc3QpOwotICAgICAgICBtb3ZlKFRydXN0
ZWRJbW0zMigxNiksIHNjcik7Ci0gICAgICAgIG1fYXNzZW1ibGVyLnNobGxSZWdSZWcoZGVzdCwg
c2NyKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc2hsbEltbThyKDE2LCBkZXN0KTsKKyAgICAgICAg
b3IzMihzY3IxLCBkZXN0KTsKKyAgICAgICAgZW5kLmFwcGVuZChKdW1wKG1fYXNzZW1ibGVyLmJy
YSgpLCBTSDRBc3NlbWJsZXI6Okp1bXBOZWFyKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLm5vcCgp
OworICAgICAgICBtX2p1bXAubGluayh0aGlzKTsKKyAgICAgICAgbG9hZDgoc2NyLCBzY3IxKTsK
KyAgICAgICAgYWRkMzIoVHJ1c3RlZEltbTMyKDEpLCBzY3IpOworICAgICAgICBsb2FkMTYoc2Ny
LCBkZXN0KTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc2hsbEltbThyKDgsIGRlc3QpOworICAgICAg
ICBvcjMyKGRlc3QsIHNjcjEpOworICAgICAgICBhZGQzMihUcnVzdGVkSW1tMzIoMiksIHNjcik7
CisgICAgICAgIGxvYWQ4KHNjciwgZGVzdCk7CisgICAgICAgIG1fYXNzZW1ibGVyLnNobGxJbW04
cig4LCBkZXN0KTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc2hsbEltbThyKDE2LCBkZXN0KTsKICAg
ICAgICAgb3IzMihzY3IxLCBkZXN0KTsKKyAgICAgICAgZW5kLmxpbmsodGhpcyk7CiAKICAgICAg
ICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyMSk7CkBA
IC05OTksMTkgKzEwMzUsMjIgQEAgcHVibGljOgogCiAgICAgICAgIGlmIChjb25kID09IERvdWJs
ZU5vdEVxdWFsKSB7CiAgICAgICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgp
OworICAgICAgICAgICAgSnVtcExpc3QgZW5kOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIubG9h
ZENvbnN0YW50KDB4N2ZiZmZmZmYsIHNjcmF0Y2hSZWczKTsKICAgICAgICAgICAgIG1fYXNzZW1i
bGVyLmRjbnZkcyhyaWdodCk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5zdHNmcHVsUmVnKHNj
cik7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5jbXBsUmVnUmVnKHNjcmF0Y2hSZWczLCBzY3Is
IFNINENvbmRpdGlvbihFcXVhbCkpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIuZW5zdXJlU3Bh
Y2UobV9hc3NlbWJsZXIubWF4SW5zdHJ1Y3Rpb25TaXplICsgMjIsIHNpemVvZih1aW50MzJfdCkp
OwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuYnJhbmNoKEJUX09QQ09ERSwgOCk7CisgICAgICAg
ICAgICBlbmQuYXBwZW5kKEp1bXAobV9hc3NlbWJsZXIuamUoKSwgU0g0QXNzZW1ibGVyOjpKdW1w
TmVhcikpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIuZGNudmRzKGxlZnQpOwogICAgICAgICAg
ICAgbV9hc3NlbWJsZXIuc3RzZnB1bFJlZyhzY3IpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIu
Y21wbFJlZ1JlZyhzY3JhdGNoUmVnMywgc2NyLCBTSDRDb25kaXRpb24oRXF1YWwpKTsKLSAgICAg
ICAgICAgIG1fYXNzZW1ibGVyLmJyYW5jaChCVF9PUENPREUsIDQpOworICAgICAgICAgICAgZW5k
LmFwcGVuZChKdW1wKG1fYXNzZW1ibGVyLmplKCksIFNINEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsK
ICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmRjbXBwZXEocmlnaHQsIGxlZnQpOwogICAgICAgICAg
ICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKLSAgICAgICAgICAgIHJldHVybiBicmFuY2hGYWxzZSgp
OworICAgICAgICAgICAgSnVtcCBtX2p1bXAgPSBicmFuY2hGYWxzZSgpOworICAgICAgICAgICAg
ZW5kLmxpbmsodGhpcyk7CisgICAgICAgICAgICByZXR1cm4gbV9qdW1wOwogICAgICAgICB9CiAK
ICAgICAgICAgaWYgKGNvbmQgPT0gRG91YmxlR3JlYXRlclRoYW4pIHsKQEAgLTEwMzYsMTEzICsx
MDc1LDEzNSBAQCBwdWJsaWM6CiAKICAgICAgICAgaWYgKGNvbmQgPT0gRG91YmxlRXF1YWxPclVu
b3JkZXJlZCkgewogICAgICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsK
KyAgICAgICAgICAgIEp1bXBMaXN0IGVuZDsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRD
b25zdGFudCgweDdmYmZmZmZmLCBzY3JhdGNoUmVnMyk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxl
ci5kY252ZHMocmlnaHQpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIuc3RzZnB1bFJlZyhzY3Ip
OwogICAgICAgICAgICAgbV9hc3NlbWJsZXIuY21wbFJlZ1JlZyhzY3JhdGNoUmVnMywgc2NyLCBT
SDRDb25kaXRpb24oRXF1YWwpKTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmVuc3VyZVNwYWNl
KG1fYXNzZW1ibGVyLm1heEluc3RydWN0aW9uU2l6ZSArIDIyLCBzaXplb2YodWludDMyX3QpKTsK
LSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmJyYW5jaChCVF9PUENPREUsIDUpOworICAgICAgICAg
ICAgZW5kLmFwcGVuZChKdW1wKG1fYXNzZW1ibGVyLmplKCksIFNINEFzc2VtYmxlcjo6SnVtcE5l
YXIpKTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmRjbnZkcyhsZWZ0KTsKICAgICAgICAgICAg
IG1fYXNzZW1ibGVyLnN0c2ZwdWxSZWcoc2NyKTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNt
cGxSZWdSZWcoc2NyYXRjaFJlZzMsIHNjciwgU0g0Q29uZGl0aW9uKEVxdWFsKSk7Ci0gICAgICAg
ICAgICBtX2Fzc2VtYmxlci5icmFuY2goQlRfT1BDT0RFLCAxKTsKKyAgICAgICAgICAgIGVuZC5h
cHBlbmQoSnVtcChtX2Fzc2VtYmxlci5qZSgpLCBTSDRBc3NlbWJsZXI6Okp1bXBOZWFyKSk7CiAg
ICAgICAgICAgICBtX2Fzc2VtYmxlci5kY21wcGVxKGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAg
IEp1bXAgbV9qdW1wID0gSnVtcChtX2Fzc2VtYmxlci5qZSgpKTsKKyAgICAgICAgICAgIGVuZC5s
aW5rKHRoaXMpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuZXh0cmFJbnN0ckZvckJyYW5jaChz
Y3IpOwogICAgICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKLSAgICAgICAgICAgIHJldHVy
biBicmFuY2hUcnVlKCk7CisgICAgICAgICAgICByZXR1cm4gbV9qdW1wOwogICAgICAgICB9CiAK
ICAgICAgICAgaWYgKGNvbmQgPT0gRG91YmxlR3JlYXRlclRoYW5PclVub3JkZXJlZCkgewogICAg
ICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKKyAgICAgICAgICAgIEp1
bXBMaXN0IGVuZDsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgweDdmYmZm
ZmZmLCBzY3JhdGNoUmVnMyk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5kY252ZHMocmlnaHQp
OwogICAgICAgICAgICAgbV9hc3NlbWJsZXIuc3RzZnB1bFJlZyhzY3IpOwogICAgICAgICAgICAg
bV9hc3NlbWJsZXIuY21wbFJlZ1JlZyhzY3JhdGNoUmVnMywgc2NyLCBTSDRDb25kaXRpb24oRXF1
YWwpKTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmVuc3VyZVNwYWNlKG1fYXNzZW1ibGVyLm1h
eEluc3RydWN0aW9uU2l6ZSArIDIyLCBzaXplb2YodWludDMyX3QpKTsKLSAgICAgICAgICAgIG1f
YXNzZW1ibGVyLmJyYW5jaChCVF9PUENPREUsIDUpOworICAgICAgICAgICAgZW5kLmFwcGVuZChK
dW1wKG1fYXNzZW1ibGVyLmplKCksIFNINEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsKICAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLmRjbnZkcyhsZWZ0KTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnN0
c2ZwdWxSZWcoc2NyKTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNtcGxSZWdSZWcoc2NyYXRj
aFJlZzMsIHNjciwgU0g0Q29uZGl0aW9uKEVxdWFsKSk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxl
ci5icmFuY2goQlRfT1BDT0RFLCAxKTsKKyAgICAgICAgICAgIGVuZC5hcHBlbmQoSnVtcChtX2Fz
c2VtYmxlci5qZSgpLCBTSDRBc3NlbWJsZXI6Okp1bXBOZWFyKSk7CiAgICAgICAgICAgICBtX2Fz
c2VtYmxlci5kY21wcGd0KHJpZ2h0LCBsZWZ0KTsKKyAgICAgICAgICAgIEp1bXAgbV9qdW1wID0g
SnVtcChtX2Fzc2VtYmxlci5qZSgpKTsKKyAgICAgICAgICAgIGVuZC5saW5rKHRoaXMpOworICAg
ICAgICAgICAgbV9hc3NlbWJsZXIuZXh0cmFJbnN0ckZvckJyYW5jaChzY3IpOwogICAgICAgICAg
ICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKLSAgICAgICAgICAgIHJldHVybiBicmFuY2hUcnVlKCk7
CisgICAgICAgICAgICByZXR1cm4gbV9qdW1wOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGNv
bmQgPT0gRG91YmxlR3JlYXRlclRoYW5PckVxdWFsT3JVbm9yZGVyZWQpIHsKICAgICAgICAgICAg
IFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7CisgICAgICAgICAgICBKdW1wTGlzdCBl
bmQ7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoMHg3ZmJmZmZmZiwgc2Ny
YXRjaFJlZzMpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIuZGNudmRzKHJpZ2h0KTsKICAgICAg
ICAgICAgIG1fYXNzZW1ibGVyLnN0c2ZwdWxSZWcoc2NyKTsKICAgICAgICAgICAgIG1fYXNzZW1i
bGVyLmNtcGxSZWdSZWcoc2NyYXRjaFJlZzMsIHNjciwgU0g0Q29uZGl0aW9uKEVxdWFsKSk7CiAg
ICAgICAgICAgICBtX2Fzc2VtYmxlci5lbnN1cmVTcGFjZShtX2Fzc2VtYmxlci5tYXhJbnN0cnVj
dGlvblNpemUgKyAyMiwgc2l6ZW9mKHVpbnQzMl90KSk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxl
ci5icmFuY2goQlRfT1BDT0RFLCA1KTsKKyAgICAgICAgICAgIGVuZC5hcHBlbmQoSnVtcChtX2Fz
c2VtYmxlci5qZSgpLCBTSDRBc3NlbWJsZXI6Okp1bXBOZWFyKSk7CiAgICAgICAgICAgICBtX2Fz
c2VtYmxlci5kY252ZHMobGVmdCk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5zdHNmcHVsUmVn
KHNjcik7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5jbXBsUmVnUmVnKHNjcmF0Y2hSZWczLCBz
Y3IsIFNINENvbmRpdGlvbihFcXVhbCkpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuYnJhbmNo
KEJUX09QQ09ERSwgMSk7CisgICAgICAgICAgICBlbmQuYXBwZW5kKEp1bXAobV9hc3NlbWJsZXIu
amUoKSwgU0g0QXNzZW1ibGVyOjpKdW1wTmVhcikpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIu
ZGNtcHBndChsZWZ0LCByaWdodCk7CisgICAgICAgICAgICBKdW1wIG1fanVtcCA9IEp1bXAobV9h
c3NlbWJsZXIuam5lKCkpOworICAgICAgICAgICAgZW5kLmxpbmsodGhpcyk7CisgICAgICAgICAg
ICBtX2Fzc2VtYmxlci5leHRyYUluc3RyRm9yQnJhbmNoKHNjcik7CiAgICAgICAgICAgICByZWxl
YXNlU2NyYXRjaChzY3IpOwotICAgICAgICAgICAgcmV0dXJuIGJyYW5jaEZhbHNlKCk7CisgICAg
ICAgICAgICByZXR1cm4gbV9qdW1wOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGNvbmQgPT0g
RG91YmxlTGVzc1RoYW5PclVub3JkZXJlZCkgewogICAgICAgICAgICAgUmVnaXN0ZXJJRCBzY3Ig
PSBjbGFpbVNjcmF0Y2goKTsKKyAgICAgICAgICAgIEp1bXBMaXN0IGVuZDsKICAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgweDdmYmZmZmZmLCBzY3JhdGNoUmVnMyk7CiAgICAg
ICAgICAgICBtX2Fzc2VtYmxlci5kY252ZHMocmlnaHQpOwogICAgICAgICAgICAgbV9hc3NlbWJs
ZXIuc3RzZnB1bFJlZyhzY3IpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIuY21wbFJlZ1JlZyhz
Y3JhdGNoUmVnMywgc2NyLCBTSDRDb25kaXRpb24oRXF1YWwpKTsKICAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLmVuc3VyZVNwYWNlKG1fYXNzZW1ibGVyLm1heEluc3RydWN0aW9uU2l6ZSArIDIyLCBz
aXplb2YodWludDMyX3QpKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmJyYW5jaChCVF9PUENP
REUsIDUpOworICAgICAgICAgICAgZW5kLmFwcGVuZChKdW1wKG1fYXNzZW1ibGVyLmplKCksIFNI
NEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmRjbnZkcyhs
ZWZ0KTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnN0c2ZwdWxSZWcoc2NyKTsKICAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLmNtcGxSZWdSZWcoc2NyYXRjaFJlZzMsIHNjciwgU0g0Q29uZGl0aW9u
KEVxdWFsKSk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5icmFuY2goQlRfT1BDT0RFLCAxKTsK
KyAgICAgICAgICAgIGVuZC5hcHBlbmQoSnVtcChtX2Fzc2VtYmxlci5qZSgpLCBTSDRBc3NlbWJs
ZXI6Okp1bXBOZWFyKSk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5kY21wcGd0KGxlZnQsIHJp
Z2h0KTsKKyAgICAgICAgICAgIEp1bXAgbV9qdW1wID0gSnVtcChtX2Fzc2VtYmxlci5qZSgpKTsK
KyAgICAgICAgICAgIGVuZC5saW5rKHRoaXMpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuZXh0
cmFJbnN0ckZvckJyYW5jaChzY3IpOwogICAgICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsK
LSAgICAgICAgICAgIHJldHVybiBicmFuY2hUcnVlKCk7CisgICAgICAgICAgICByZXR1cm4gbV9q
dW1wOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGNvbmQgPT0gRG91YmxlTGVzc1RoYW5PckVx
dWFsT3JVbm9yZGVyZWQpIHsKICAgICAgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3Jh
dGNoKCk7CisgICAgICAgICAgICBKdW1wTGlzdCBlbmQ7CiAgICAgICAgICAgICBtX2Fzc2VtYmxl
ci5sb2FkQ29uc3RhbnQoMHg3ZmJmZmZmZiwgc2NyYXRjaFJlZzMpOwogICAgICAgICAgICAgbV9h
c3NlbWJsZXIuZGNudmRzKHJpZ2h0KTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnN0c2ZwdWxS
ZWcoc2NyKTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNtcGxSZWdSZWcoc2NyYXRjaFJlZzMs
IHNjciwgU0g0Q29uZGl0aW9uKEVxdWFsKSk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5lbnN1
cmVTcGFjZShtX2Fzc2VtYmxlci5tYXhJbnN0cnVjdGlvblNpemUgKyAyMiwgc2l6ZW9mKHVpbnQz
Ml90KSk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5icmFuY2goQlRfT1BDT0RFLCA1KTsKKyAg
ICAgICAgICAgIGVuZC5hcHBlbmQoSnVtcChtX2Fzc2VtYmxlci5qZSgpLCBTSDRBc3NlbWJsZXI6
Okp1bXBOZWFyKSk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5kY252ZHMobGVmdCk7CiAgICAg
ICAgICAgICBtX2Fzc2VtYmxlci5zdHNmcHVsUmVnKHNjcik7CiAgICAgICAgICAgICBtX2Fzc2Vt
Ymxlci5jbXBsUmVnUmVnKHNjcmF0Y2hSZWczLCBzY3IsIFNINENvbmRpdGlvbihFcXVhbCkpOwot
ICAgICAgICAgICAgbV9hc3NlbWJsZXIuYnJhbmNoKEJUX09QQ09ERSwgMSk7CisgICAgICAgICAg
ICBlbmQuYXBwZW5kKEp1bXAobV9hc3NlbWJsZXIuamUoKSwgU0g0QXNzZW1ibGVyOjpKdW1wTmVh
cikpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIuZGNtcHBndChyaWdodCwgbGVmdCk7CisgICAg
ICAgICAgICBKdW1wIG1fanVtcCA9IEp1bXAobV9hc3NlbWJsZXIuam5lKCkpOworICAgICAgICAg
ICAgZW5kLmxpbmsodGhpcyk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5leHRyYUluc3RyRm9y
QnJhbmNoKHNjcik7CiAgICAgICAgICAgICByZWxlYXNlU2NyYXRjaChzY3IpOwotICAgICAgICAg
ICAgcmV0dXJuIGJyYW5jaEZhbHNlKCk7CisgICAgICAgICAgICByZXR1cm4gbV9qdW1wOwogICAg
ICAgICB9CiAKICAgICAgICAgQVNTRVJUKGNvbmQgPT0gRG91YmxlTm90RXF1YWxPclVub3JkZXJl
ZCk7CiAgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7CisgICAgICAgIEp1
bXBMaXN0IGVuZDsKICAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KDB4N2ZiZmZmZmYs
IHNjcmF0Y2hSZWczKTsKICAgICAgICAgbV9hc3NlbWJsZXIuZGNudmRzKHJpZ2h0KTsKICAgICAg
ICAgbV9hc3NlbWJsZXIuc3RzZnB1bFJlZyhzY3IpOwogICAgICAgICBtX2Fzc2VtYmxlci5jbXBs
UmVnUmVnKHNjcmF0Y2hSZWczLCBzY3IsIFNINENvbmRpdGlvbihFcXVhbCkpOwogICAgICAgICBt
X2Fzc2VtYmxlci5lbnN1cmVTcGFjZShtX2Fzc2VtYmxlci5tYXhJbnN0cnVjdGlvblNpemUgKyAy
Miwgc2l6ZW9mKHVpbnQzMl90KSk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmJyYW5jaChCVF9PUENP
REUsIDUpOworICAgICAgICBlbmQuYXBwZW5kKEp1bXAobV9hc3NlbWJsZXIuamUoKSwgU0g0QXNz
ZW1ibGVyOjpKdW1wTmVhcikpOwogICAgICAgICBtX2Fzc2VtYmxlci5kY252ZHMobGVmdCk7CiAg
ICAgICAgIG1fYXNzZW1ibGVyLnN0c2ZwdWxSZWcoc2NyKTsKICAgICAgICAgbV9hc3NlbWJsZXIu
Y21wbFJlZ1JlZyhzY3JhdGNoUmVnMywgc2NyLCBTSDRDb25kaXRpb24oRXF1YWwpKTsKLSAgICAg
ICAgbV9hc3NlbWJsZXIuYnJhbmNoKEJUX09QQ09ERSwgMSk7CisgICAgICAgIGVuZC5hcHBlbmQo
SnVtcChtX2Fzc2VtYmxlci5qZSgpLCBTSDRBc3NlbWJsZXI6Okp1bXBOZWFyKSk7CiAgICAgICAg
IG1fYXNzZW1ibGVyLmRjbXBwZXEocmlnaHQsIGxlZnQpOworICAgICAgICBKdW1wIG1fanVtcCA9
IEp1bXAobV9hc3NlbWJsZXIuam5lKCkpOworICAgICAgICBlbmQubGluayh0aGlzKTsKKyAgICAg
ICAgbV9hc3NlbWJsZXIuZXh0cmFJbnN0ckZvckJyYW5jaChzY3IpOwogICAgICAgICByZWxlYXNl
U2NyYXRjaChzY3IpOwotICAgICAgICByZXR1cm4gYnJhbmNoRmFsc2UoKTsKKyAgICAgICAgcmV0
dXJuIG1fanVtcDsKICAgICB9CiAKICAgICBKdW1wIGJyYW5jaFRydWUoKQogICAgIHsKICAgICAg
ICAgbV9hc3NlbWJsZXIuZW5zdXJlU3BhY2UobV9hc3NlbWJsZXIubWF4SW5zdHJ1Y3Rpb25TaXpl
ICsgNiwgc2l6ZW9mKHVpbnQzMl90KSk7CiAgICAgICAgIEp1bXAgbV9qdW1wID0gSnVtcChtX2Fz
c2VtYmxlci5qZSgpKTsKLSAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50VW5SZXVzYWJs
ZSgweDAsIHNjcmF0Y2hSZWczKTsKLSAgICAgICAgbV9hc3NlbWJsZXIubm9wKCk7Ci0gICAgICAg
IG1fYXNzZW1ibGVyLm5vcCgpOworICAgICAgICBtX2Fzc2VtYmxlci5leHRyYUluc3RyRm9yQnJh
bmNoKHNjcmF0Y2hSZWczKTsKICAgICAgICAgcmV0dXJuIG1fanVtcDsKICAgICB9CiAKQEAgLTEx
NTAsOSArMTIxMSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmVuc3Vy
ZVNwYWNlKG1fYXNzZW1ibGVyLm1heEluc3RydWN0aW9uU2l6ZSArIDYsIHNpemVvZih1aW50MzJf
dCkpOwogICAgICAgICBKdW1wIG1fanVtcCA9IEp1bXAobV9hc3NlbWJsZXIuam5lKCkpOwotICAg
ICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnRVblJldXNhYmxlKDB4MCwgc2NyYXRjaFJlZzMp
OwotICAgICAgICBtX2Fzc2VtYmxlci5ub3AoKTsKLSAgICAgICAgbV9hc3NlbWJsZXIubm9wKCk7
CisgICAgICAgIG1fYXNzZW1ibGVyLmV4dHJhSW5zdHJGb3JCcmFuY2goc2NyYXRjaFJlZzMpOwog
ICAgICAgICByZXR1cm4gbV9qdW1wOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9TSDRBc3NlbWJsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvU0g0QXNzZW1ibGVyLmgKaW5kZXggMWNmOTZiNy4uMTFlOTU0YyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9TSDRBc3NlbWJsZXIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1NINEFzc2VtYmxlci5oCkBAIC0zMjYs
NiArMzI2LDEwIEBAIHB1YmxpYzoKICAgICAgICAgcGFkRm9yQWxpZ24zMiA9IDB4MDAwOTAwMDks
CiAgICAgfTsKIAorICAgIGVudW0gSnVtcFR5cGUgeyBKdW1wRmFyLAorICAgICAgICAgICAgICAg
ICAgICBKdW1wTmVhcgorICAgIH07CisKICAgICBTSDRBc3NlbWJsZXIoKQogICAgIHsKICAgICAg
ICAgbV9jbGFpbXNjcmF0Y2hSZWcgPSAweDA7CkBAIC0xMTg4LDYgKzExOTIsMTMgQEAgcHVibGlj
OgogICAgICAgICByZXR1cm4gbGFiZWw7CiAgICAgfQogCisgICAgdm9pZCBleHRyYUluc3RyRm9y
QnJhbmNoKFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgbG9hZENvbnN0YW50VW5SZXVz
YWJsZSgweDAsIGRzdCk7CisgICAgICAgIG5vcCgpOworICAgICAgICBub3AoKTsKKyAgICB9CisK
ICAgICBBc3NlbWJsZXJMYWJlbCBqbXAoUmVnaXN0ZXJJRCBkc3QpCiAgICAgewogICAgICAgICBq
bXBSZWcoZHN0KTsKQEAgLTEyMTUsNiArMTIyNiwxMyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBsYWJlbDsKICAgICB9CiAKKyAgICBBc3NlbWJsZXJMYWJlbCBicmEoKQorICAgIHsKKyAgICAg
ICAgQXNzZW1ibGVyTGFiZWwgbGFiZWwgPSBtX2J1ZmZlci5sYWJlbCgpOworICAgICAgICBicmFu
Y2goQlJBX09QQ09ERSwgMCk7CisgICAgICAgIHJldHVybiBsYWJlbDsKKyAgICB9CisKICAgICB2
b2lkIHJldCgpCiAgICAgewogICAgICAgICBtX2J1ZmZlci5lbnN1cmVTcGFjZShtYXhJbnN0cnVj
dGlvblNpemUgKyAyKTsKQEAgLTE0MjQsNyArMTQ0Miw3IEBAIHB1YmxpYzoKIAogICAgIC8vIExp
bmtpbmcgJiBwYXRjaGluZwogCi0gICAgdm9pZCBsaW5rSnVtcChBc3NlbWJsZXJMYWJlbCBmcm9t
LCBBc3NlbWJsZXJMYWJlbCB0bykKKyAgICB2b2lkIGxpbmtKdW1wKEFzc2VtYmxlckxhYmVsIGZy
b20sIEFzc2VtYmxlckxhYmVsIHRvLCBKdW1wVHlwZSB0eXBlID0gSnVtcEZhcikKICAgICB7CiAg
ICAgICAgIEFTU0VSVCh0by5pc1NldCgpKTsKICAgICAgICAgQVNTRVJUKGZyb20uaXNTZXQoKSk7
CkBAIC0xNDMzLDYgKzE0NTEsMTQgQEAgcHVibGljOgogICAgICAgICB1aW50MTZfdCBpbnN0cnVj
dGlvbiA9ICppbnN0cnVjdGlvblB0cjsKICAgICAgICAgaW50IG9mZnNldEJpdHM7CiAKKyAgICAg
ICAgaWYgKHR5cGUgPT0gSnVtcE5lYXIpIHsKKyAgICAgICAgICAgIEFTU0VSVCgoaW5zdHJ1Y3Rp
b24gPT0gIEJUX09QQ09ERSkgfHwgKGluc3RydWN0aW9uID09IEJGX09QQ09ERSkgfHwgKGluc3Ry
dWN0aW9uID09IEJSQV9PUENPREUpKTsKKyAgICAgICAgICAgIGludCBvZmZzZXQgPSAoY29kZVNp
emUoKSAtIGZyb20ubV9vZmZzZXQpIC0gNDsKKyAgICAgICAgICAgICppbnN0cnVjdGlvblB0cisr
ID0gaW5zdHJ1Y3Rpb24gfCAob2Zmc2V0ID4+IDEpOworICAgICAgICAgICAgcHJpbnRJbnN0cigq
aW5zdHJ1Y3Rpb25QdHIsIGZyb20ubV9vZmZzZXQgKyAyKTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorCiAgICAgICAgIGlmICgoKGluc3RydWN0aW9uICYgMHhmZjAwKSA9PSBCVF9P
UENPREUpIHx8ICgoaW5zdHJ1Y3Rpb24gJiAweGZmMDApID09IEJGX09QQ09ERSkpIHsKICAgICAg
ICAgICAgIC8qIEJUIGxhYmVsID0+IEJGIDIKICAgICAgICAgICAgICAgIG5vcCAgICAgICAgTERS
IHJlZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggMmQyODQxYi4uODJhOGY4YTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNTUyLDggKzU1Miw4IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlR2V0QnlJZEhvdFBhdGhJbnN0cnVjdGlv
blNwYWNlID0gMzY7CiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgc2VxdWVuY2VHZXRCeUlkSG90
UGF0aENvbnN0YW50U3BhY2UgPSA1OwogICAgICAgICAvLyBzZXF1ZW5jZUdldEJ5SWRTbG93Q2Fz
ZQotICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlR2V0QnlJZFNsb3dDYXNlSW5zdHJ1
Y3Rpb25TcGFjZSA9IDMwOwotICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlR2V0QnlJ
ZFNsb3dDYXNlQ29uc3RhbnRTcGFjZSA9IDM7CisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgc2Vx
dWVuY2VHZXRCeUlkU2xvd0Nhc2VJbnN0cnVjdGlvblNwYWNlID0gMzg7CisgICAgICAgIHN0YXRp
YyBjb25zdCBpbnQgc2VxdWVuY2VHZXRCeUlkU2xvd0Nhc2VDb25zdGFudFNwYWNlID0gNDsKICAg
ICAgICAgLy8gc2VxdWVuY2VQdXRCeUlkCiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgc2VxdWVu
Y2VQdXRCeUlkSW5zdHJ1Y3Rpb25TcGFjZSA9IDM2OwogICAgICAgICBzdGF0aWMgY29uc3QgaW50
IHNlcXVlbmNlUHV0QnlJZENvbnN0YW50U3BhY2UgPSA1OwpAQCAtNTY3LDcgKzU2Nyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCiAgICAgICAgIHN0YXRp
YyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRHZXRCeUlkU2xvd0Nhc2VDYWxsID0gMDsgLy8gRklNWEUK
ICNlbHNlCi0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRHZXRCeUlkU2xvd0Nh
c2VDYWxsID0gMjY7CisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRHZXRCeUlk
U2xvd0Nhc2VDYWxsID0gMzQ7CiAjZW5kaWYKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRj
aE9mZnNldE9wQ2FsbENvbXBhcmVUb0p1bXAgPSA0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJy
L1lhcnJKSVQuY3BwCmluZGV4IDIyNjk3OTIuLmQ3YWEyZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS95YXJyL1lhcnJKSVQuY3BwCkBAIC03MjgsMTIgKzcyOCwxMiBAQCBjbGFzcyBZYXJyR2VuZXJh
dG9yIDogcHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICAgICAgY2FzZSAyOiB7CiAgICAgICAgICAgICAgICAgQmFzZUluZGV4IGFkZHJlc3Mo
aW5wdXQsIGluZGV4LCBUaW1lc09uZSwgKHN0YXJ0VGVybVBvc2l0aW9uIC0gbV9jaGVja2VkKSAq
IHNpemVvZihMQ2hhcikpOwotICAgICAgICAgICAgICAgIGxvYWQxNihhZGRyZXNzLCBjaGFyYWN0
ZXIpOworICAgICAgICAgICAgICAgIGxvYWQxNlVuYWxpZ25lZChhZGRyZXNzLCBjaGFyYWN0ZXIp
OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY2Fz
ZSAzOiB7CiAgICAgICAgICAgICAgICAgQmFzZUluZGV4IGhpZ2hBZGRyZXNzKGlucHV0LCBpbmRl
eCwgVGltZXNPbmUsIChzdGFydFRlcm1Qb3NpdGlvbiAtIG1fY2hlY2tlZCkgKiBzaXplb2YoTENo
YXIpKTsKLSAgICAgICAgICAgICAgICBsb2FkMTYoaGlnaEFkZHJlc3MsIGNoYXJhY3Rlcik7Cisg
ICAgICAgICAgICAgICAgbG9hZDE2VW5hbGlnbmVkKGhpZ2hBZGRyZXNzLCBjaGFyYWN0ZXIpOwog
ICAgICAgICAgICAgICAgIGlmIChpZ25vcmVDYXNlTWFzaykKICAgICAgICAgICAgICAgICAgICAg
b3IzMihJbW0zMihpZ25vcmVDYXNlTWFzayksIGNoYXJhY3Rlcik7CiAgICAgICAgICAgICAgICAg
b3AubV9qdW1wcy5hcHBlbmQoYnJhbmNoMzIoTm90RXF1YWwsIGNoYXJhY3RlciwgSW1tMzIoKGFs
bENoYXJhY3RlcnMgJiAweGZmZmYpIHwgaWdub3JlQ2FzZU1hc2spKSk7Ci0tIAoxLjcuMi4zCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>