<?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>74080</bug_id>
          
          <creation_ts>2011-12-08 05:28:50 -0800</creation_ts>
          <short_desc>Upsteam the Qt changes to the EditorState</short_desc>
          <delta_ts>2011-12-08 14:02:11 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Rohde Christiansen">kenneth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>hausmann</cc>
    
    <cc>kling</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>517326</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-08 05:28:50 -0800</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517327</commentid>
    <comment_count>1</comment_count>
      <attachid>118369</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-08 05:29:43 -0800</bug_when>
    <thetext>Created attachment 118369
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517335</commentid>
    <comment_count>2</comment_count>
      <attachid>118369</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-12-08 05:38:42 -0800</bug_when>
    <thetext>Comment on attachment 118369
Patch

Attachment 118369 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10800213</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517338</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-08 05:40:34 -0800</bug_when>
    <thetext>kling help me you xcode expert you...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517342</commentid>
    <comment_count>4</comment_count>
      <attachid>118373</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-08 05:42:25 -0800</bug_when>
    <thetext>Created attachment 118373
Patch

Forgot to add the file :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517363</commentid>
    <comment_count>5</comment_count>
      <attachid>118373</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-12-08 06:24:51 -0800</bug_when>
    <thetext>Comment on attachment 118373
Patch

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

r=me with one change

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp:193
&gt; +    EditorState state = m_page-&gt;editorState();
&gt;  
&gt; -        ExceptionCode ec = 0;
&gt; -        RefPtr&lt;Range&gt; tempRange = range-&gt;cloneRange(ec);
&gt; -        tempRange-&gt;setStart(tempRange-&gt;startContainer(ec), tempRange-&gt;startOffset(ec) + location, ec);
&gt; -        IntRect caretRect = frame-&gt;view()-&gt;contentsToWindow(frame-&gt;editor()-&gt;firstRectForRange(tempRange.get()));
&gt; -        IntRect nodeRect = frame-&gt;view()-&gt;contentsToWindow(scope-&gt;getRect());
&gt; -
&gt; -        m_page-&gt;send(Messages::WebPageProxy::FocusEditableArea(caretRect, nodeRect));
&gt; -    }
&gt; +#if PLATFORM(QT)
&gt; +    if (Element* scope = frame-&gt;selection()-&gt;rootEditableElement())
&gt; +        m_page-&gt;send(Messages::WebPageProxy::FocusEditableArea(state.microFocus, scope-&gt;getRect()));
&gt;  #endif
&gt;  
&gt;      m_page-&gt;send(Messages::WebPageProxy::EditorStateChanged(m_page-&gt;editorState()));

The last call there should use the newly introduced state variable instead of requesting editorState() again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517366</commentid>
    <comment_count>6</comment_count>
      <attachid>118373</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-08 06:27:36 -0800</bug_when>
    <thetext>Comment on attachment 118373
Patch

Landed in r102334</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517386</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-12-08 06:59:40 -0800</bug_when>
    <thetext>It made 9 editing tests crash: http://build.webkit.sed.hu/results/x86-32%20Linux%20Qt%20Release%20WebKit2/r102334%20%2816707%29/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517422</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-12-08 08:08:00 -0800</bug_when>
    <thetext>I think I fixed that in http://trac.webkit.org/changeset/102341

Gotta run. Can somebody close this bug report after checking the bot results? thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517429</commentid>
    <comment_count>9</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-12-08 08:18:41 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; I think I fixed that in http://trac.webkit.org/changeset/102341
&gt; 
&gt; Gotta run. Can somebody close this bug report after checking the bot results? thanks :)

Yes, it fixed the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517767</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-08 14:02:11 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; It made 9 editing tests crash: http://build.webkit.sed.hu/results/x86-32%20Linux%20Qt%20Release%20WebKit2/r102334%20%2816707%29/results.html

I wonder if those are due to full document editing... need to have a look at that some time.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118369</attachid>
            <date>2011-12-08 05:29:43 -0800</date>
            <delta_ts>2011-12-08 05:42:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Upsteam-the-Qt-changes-to-the-EditorState.patch</filename>
            <type>text/plain</type>
            <size>13369</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBmMzlhMDJkN2Q3MTIyOTI0M2MzNzJmMjBjYmIxNjM5YzNlYmNjYzEyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBUaHUsIDggRGVjIDIwMTEgMTQ6MjM6MjEgKzAxMDAKU3ViamVjdDog
W1BBVENIXSBVcHN0ZWFtIHRoZSBRdCBjaGFuZ2VzIHRvIHRoZSBFZGl0b3JTdGF0ZQogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDgwCgpSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCldlIGFyZSBub3QgZG9pbmcgdGhlIHNlcmlhbGl6YXRpb24gbWFudWFsbHkg
ZHVlIHRvIGl0IG5vdCBiZWluZyBhIFBPRApzdHJ1Y3R1cmUgYW55bW9yZSBpbiB0aGUgY2FzZSBv
ZiBRdC4KCiogR05VbWFrZWZpbGUuYW06CiogU2hhcmVkL0VkaXRvclN0YXRlLmg6CihXZWJLaXQ6
OkVkaXRvclN0YXRlOjpFZGl0b3JTdGF0ZSk6CiogVGFyZ2V0LnByaToKKiBXZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CiogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQuY3BwOgooV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24pOgoqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKFdlYktpdDo6V2Vi
UGFnZTo6ZWRpdG9yU3RhdGUpOgoqIHdpbi9XZWJLaXQyLnZjcHJvajoKLS0tCiBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjEgKysrKysrKysr
KysKIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgMSArCiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRWRpdG9yU3RhdGUuaCAgICAgICAgICAgICAg
ICB8ICAgMzIgKysrKysrKysrKysrKy0tLS0KIFNvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogICB8ICAgIDQgKysKIC4uLi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAgIHwgICAyMiArKy0tLS0tLS0tLQogU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwICAgICAgfCAgIDM3ICsrKysr
KysrKysrKysrKysrKystCiBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogICAgICAg
ICAgICAgICAgICB8ICAgIDQgKysKIDggZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKSwg
MjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDNhYzIzODEuLmJlMzY0ZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMS0xMi0wOCAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5z
ZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXBzdGVhbSB0aGUgUXQgY2hhbmdl
cyB0byB0aGUgRWRpdG9yU3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc0MDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2UgYXJlIG5vdCBkb2luZyB0aGUgc2VyaWFsaXphdGlvbiBtYW51YWxseSBk
dWUgdG8gaXQgbm90IGJlaW5nIGEgUE9ECisgICAgICAgIHN0cnVjdHVyZSBhbnltb3JlIGluIHRo
ZSBjYXNlIG9mIFF0LgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogU2hh
cmVkL0VkaXRvclN0YXRlLmg6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvclN0YXRlOjpFZGl0b3JT
dGF0ZSk6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OnJl
c3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZWRpdG9yU3RhdGUpOgorICAg
ICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKwogMjAxMS0xMi0wOCAgRmFkeSBTYW11ZWwgIDxm
c2FtdWVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNb3ZlIHNjYWxlUGFnZUJ5IGZyb20gZXZl
bnRTZW5kZXIgdG8gd2luZG93LmludGVybmFscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
R05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRleCBjODgx
NWYwLi43NzUwNGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtMzA3LDYgKzMwNyw3IEBAIGxp
YndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElf
TUlOT1JfVkVSU0lPTkBfbGFfU09VCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBw
b3J0L1dlYkNvbnRleHRNZXNzYWdlS2luZHMuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL0Nv
cmVJUENTdXBwb3J0L1dlYlBhZ2VQcm94eU1lc3NhZ2VLaW5kcy5oIFwKIAlTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvRHJhd2luZ0FyZWFJbmZvLmggXAorCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9FZGl0
b3JTdGF0ZS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9FZGl0b3JTdGF0ZS5oIFwKIAlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvRm9udFNtb290aGluZ0xldmVsLmggXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9jYWlyby9MYXllclRyZWVDb250ZXh0Q2Fpcm8uY3BwIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9FZGl0b3JTdGF0ZS5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0VkaXRvclN0YXRlLmgKaW5kZXggZmRhZmNmOS4uZWZhZjVmOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0VkaXRvclN0YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0VkaXRvclN0YXRlLmgKQEAgLTI3LDM1ICsyNyw1MyBAQAogI2RlZmluZSBFZGl0b3JTdGF0
ZV9oCiAKICNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvSW50
UmVjdC5oPgogI2luY2x1ZGUgPHd0Zi9Ob3RGb3VuZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RydWN0IEVkaXRvclN0YXRlIHsK
ICAgICBFZGl0b3JTdGF0ZSgpCi0gICAgICAgIDogc2VsZWN0aW9uSXNOb25lKHRydWUpCisgICAg
ICAgIDogc2hvdWxkSWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UoZmFsc2UpCisgICAg
ICAgICwgc2VsZWN0aW9uSXNOb25lKHRydWUpCiAgICAgICAgICwgc2VsZWN0aW9uSXNSYW5nZShm
YWxzZSkKICAgICAgICAgLCBpc0NvbnRlbnRFZGl0YWJsZShmYWxzZSkKICAgICAgICAgLCBpc0Nv
bnRlbnRSaWNobHlFZGl0YWJsZShmYWxzZSkKICAgICAgICAgLCBpc0luUGFzc3dvcmRGaWVsZChm
YWxzZSkKICAgICAgICAgLCBoYXNDb21wb3NpdGlvbihmYWxzZSkKLSAgICAgICAgLCBzaG91bGRJ
Z25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZShmYWxzZSkKKyNpZiBQTEFURk9STShRVCkK
KyAgICAgICAgLCBjdXJzb3JQb3NpdGlvbigwKQorICAgICAgICAsIGFuY2hvclBvc2l0aW9uKDAp
CisgICAgICAgICwgY29tcG9zaXRpb25TdGFydCgwKQorICAgICAgICAsIGNvbXBvc2l0aW9uTGVu
Z3RoKDApCisjZW5kaWYKICAgICB7CiAgICAgfQogCisgICAgYm9vbCBzaG91bGRJZ25vcmVDb21w
b3NpdGlvblNlbGVjdGlvbkNoYW5nZTsKKwogICAgIGJvb2wgc2VsZWN0aW9uSXNOb25lOyAvLyBU
aGlzIHdpbGwgYmUgZmFsc2Ugd2hlbiB0aGVyZSBpcyBhIGNhcmV0IHNlbGVjdGlvbi4KICAgICBi
b29sIHNlbGVjdGlvbklzUmFuZ2U7CiAgICAgYm9vbCBpc0NvbnRlbnRFZGl0YWJsZTsKICAgICBi
b29sIGlzQ29udGVudFJpY2hseUVkaXRhYmxlOwogICAgIGJvb2wgaXNJblBhc3N3b3JkRmllbGQ7
CiAgICAgYm9vbCBoYXNDb21wb3NpdGlvbjsKLSAgICBib29sIHNob3VsZElnbm9yZUNvbXBvc2l0
aW9uU2VsZWN0aW9uQ2hhbmdlOworI2lmIFBMQVRGT1JNKFFUKQorICAgIGludCBjdXJzb3JQb3Np
dGlvbjsKKyAgICBpbnQgYW5jaG9yUG9zaXRpb247CisgICAgV2ViQ29yZTo6SW50UmVjdCBtaWNy
b0ZvY3VzOworICAgIFdlYkNvcmU6OkludFJlY3QgY29tcG9zaXRpb25SZWN0OworICAgIGludCBj
b21wb3NpdGlvblN0YXJ0OworICAgIGludCBjb21wb3NpdGlvbkxlbmd0aDsKKyAgICBXVEY6OlN0
cmluZyBzZWxlY3RlZFRleHQ7CisgICAgV1RGOjpTdHJpbmcgc3Vycm91bmRpbmdUZXh0OworI2Vu
ZGlmCisKKyAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqKSBjb25zdDsK
KyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiwgRWRpdG9y
U3RhdGUmKTsKIH07CiAKIH0KIAotbmFtZXNwYWNlIENvcmVJUEMgewotdGVtcGxhdGU8PiBzdHJ1
Y3QgQXJndW1lbnRDb2RlcjxXZWJLaXQ6OkVkaXRvclN0YXRlPiA6IFNpbXBsZUFyZ3VtZW50Q29k
ZXI8V2ViS2l0OjpFZGl0b3JTdGF0ZT4geyB9OwotfTsKLQogI2VuZGlmIC8vIEVkaXRvclN0YXRl
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViS2l0
Mi9UYXJnZXQucHJpCmluZGV4IDk3NjkxNGUuLmQzZTRkOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQpAQCAtNzEs
NiArNzEsNyBAQCBIRUFERVJTICs9IFwKICAgICBTaGFyZWQvQ2FjaGVNb2RlbC5oIFwKICAgICBT
aGFyZWQvQ2hpbGRQcm9jZXNzLmggXAogICAgIFNoYXJlZC9EaWN0aW9uYXJ5UG9wdXBJbmZvLmgg
XAorICAgIFNoYXJlZC9FZGl0b3JTdGF0ZS5oIFwKICAgICBTaGFyZWQvRm9udEluZm8uaCBcCiAg
ICAgU2hhcmVkL0ltYWdlT3B0aW9ucy5oIFwKICAgICBTaGFyZWQvSW1tdXRhYmxlQXJyYXkuaCBc
CkBAIC00MDUsNiArNDA2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgU2hhcmVkL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgXAogICAgIFNoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwIFwKICAgICBTaGFyZWQvRGljdGlvbmFyeVBvcHVwSW5mby5jcHAgXAorICAgIFNoYXJl
ZC9FZGl0b3JTdGF0ZS5jcHAgXAogICAgIFNoYXJlZC9Gb250SW5mby5jcHAgXAogICAgIFNoYXJl
ZC9JbW11dGFibGVBcnJheS5jcHAgXAogICAgIFNoYXJlZC9JbW11dGFibGVEaWN0aW9uYXJ5LmNw
cCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggMWZmZTlhOS4uMjU1MDhhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDIzLDYgKzQyMyw3IEBACiAJCTc2MkI3
NDhEMTIwQkM3NUMwMDgxOTMzOSAvKiBXS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzYyQjc0ODQxMjBCQkEyRDAwODE5
MzM5IC8qIFdLUHJlZmVyZW5jZXNQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzgwMUMwOTkxNDIyOTBDNDAwRkFGOUFGIC8qIFdlYkhp
dFRlc3RSZXN1bHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNzgwMUMwOTUxNDIyOTBDNDAwRkFGOUFGIC8qIFdlYkhpdFRlc3RSZXN1bHQuY3BwICov
OyB9OwogCQk3ODAxQzA5QTE0MjI5MEM0MDBGQUY5QUYgLyogV2ViSGl0VGVzdFJlc3VsdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzgwMUMwOTYxNDIy
OTBDNDAwRkFGOUFGIC8qIFdlYkhpdFRlc3RSZXN1bHQuaCAqLzsgfTsKKwkJOENGRUNFOTQxNDkw
RjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhDRkVDRTkzMTQ5MEYxNDAwMDJBQUEzMiAvKiBFZGl0b3JT
dGF0ZS5jcHAgKi87IH07CiAJCThEQzJFRjUzMDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvUGxpc3Qu
c3RyaW5ncyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDg5QzE2NjZGRTg0MTE1OEMwMkFBQzA3IC8qIEluZm9QbGlzdC5zdHJpbmdzICovOyB9OwogCQk4
REMyRUY1NzA0ODZBNjk0MDA5OEIyMTYgLyogQ29jb2EuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTA1OEM3QjFGRUE1NTg1RTExQ0Ey
Q0JCIC8qIENvY29hLmZyYW1ld29yayAqLzsgfTsKIAkJOTA5ODU0RUMxMkJDNEUxNzAwMEFEMDgw
IC8qIFdlYk1lbW9yeVNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTA1NjIwRTgxMkJDMjQ4QjAwMDc5OUI2IC8qIFdlYk1lbW9yeVNhbXBs
ZXIuY3BwICovOyB9OwpAQCAtMTQyMCw2ICsxNDIxLDcgQEAKIAkJNzYyQjc0ODQxMjBCQkEyRDAw
ODE5MzM5IC8qIFdLUHJlZmVyZW5jZXNQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdLUHJlZmVyZW5jZXNQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTc4MDFDMDk1MTQyMjkwQzQwMEZBRjlBRiAvKiBXZWJIaXRUZXN0UmVzdWx0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkhpdFRlc3RSZXN1bHQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3ODAxQzA5NjE0MjI5MEM0MDBGQUY5QUYg
LyogV2ViSGl0VGVzdFJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJIaXRUZXN0UmVzdWx0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThDRkVDRTkz
MTQ5MEYxNDAwMDJBQUEzMiAvKiBFZGl0b3JTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBFZGl0b3JTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCThEQzJFRjVBMDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvLnBsaXN0ICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC5wbGlzdC54bWw7IHBhdGggPSBJbmZvLnBsaXN0OyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4REMyRUY1QjA0ODZBNjk0MDA5OEIyMTYgLyogV2ViS2l0Mi5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuZnJh
bWV3b3JrOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBXZWJLaXQyLmZyYW1ld29yazsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJOTA1NjIwRTUxMkJDMjQ3NjAwMDc5
OUI2IC8qIFdlYk1lbW9yeVNhbXBsZXIubWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJNZW1vcnlTYW1wbGVyLm1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CkBA
IC0yMjcwLDYgKzIyNzIsNyBAQAogCQkJCUJDRTgxRDk3MTMxQUUwMjEwMDI0MTkxMCAvKiBEaWN0
aW9uYXJ5UG9wdXBJbmZvLmggKi8sCiAJCQkJQzUxNzM4ODAxMkRGOEY0RjAwRUUzRjQ3IC8qIERy
YWdDb250cm9sbGVyQWN0aW9uLmggKi8sCiAJCQkJMEZCNjU5MjIxMjA4QjREQjAwNDQ4MTZDIC8q
IERyYXdpbmdBcmVhSW5mby5oICovLAorCQkJCThDRkVDRTkzMTQ5MEYxNDAwMDJBQUEzMiAvKiBF
ZGl0b3JTdGF0ZS5jcHAgKi8sCiAJCQkJNzYyQjc0ODExMjBCQkEwMTAwODE5MzM5IC8qIEZvbnRT
bW9vdGhpbmdMZXZlbC5oICovLAogCQkJCUY2Mzg5NTRGMTMzQkVGMzgwMDg5NDFENSAvKiBIVFRQ
Q29va2llQWNjZXB0UG9saWN5LmggKi8sCiAJCQkJQkNDRjZCMjMxMkM5M0U3QTAwOEY5QzM1IC8q
IEltYWdlT3B0aW9ucy5oICovLApAQCAtNDc3Niw2ICs0Nzc5LDcgQEAKIAkJCQkzMUMxMUFCMzE0
ODQ1MkU5MDA0OUE0Q0MgLyogV2ViTm90aWZpY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTMxQkE5MjREMTQ4ODMxMjYwMDYyRURCNSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDM2NzVDMTQ4QzI2QzAwMDQ0N0U4
NyAvKiBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOENG
RUNFOTQxNDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQuY3BwCmluZGV4IDMzZWIzMWIuLmRmZmNmMGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVk
aXRvckNsaWVudC5jcHAKQEAgLTE4MywyNSArMTgzLDExIEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKICAgICBpZiAoIWZyYW1l
KQogICAgICAgICByZXR1cm47CiAKLSNpZiBQTEFURk9STShRVCkKLSAgICBib29sIHNlbGVjdGlv
bklzTm9uZSA9IGZyYW1lLT5zZWxlY3Rpb24oKS0+aXNOb25lKCk7Ci0gICAgRWxlbWVudCogc2Nv
cGUgPSBmcmFtZS0+c2VsZWN0aW9uKCktPnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKLQotICAgIFJl
ZlB0cjxSYW5nZT4gcmFuZ2U7Ci0gICAgaWYgKHNjb3BlICYmICFzZWxlY3Rpb25Jc05vbmUgJiYg
KHJhbmdlID0gZnJhbWUtPnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKS5maXJzdFJhbmdlKCkpKSB7
Ci0gICAgICAgIHNpemVfdCBsb2NhdGlvbiA9IDA7Ci0gICAgICAgIHNpemVfdCBsZW5ndGggPSAw
OwotCi0gICAgICAgIFRleHRJdGVyYXRvcjo6Z2V0TG9jYXRpb25BbmRMZW5ndGhGcm9tUmFuZ2Uo
c2NvcGUsIHJhbmdlLmdldCgpLCBsb2NhdGlvbiwgbGVuZ3RoKTsKKyAgICBFZGl0b3JTdGF0ZSBz
dGF0ZSA9IG1fcGFnZS0+ZWRpdG9yU3RhdGUoKTsKIAotICAgICAgICBFeGNlcHRpb25Db2RlIGVj
ID0gMDsKLSAgICAgICAgUmVmUHRyPFJhbmdlPiB0ZW1wUmFuZ2UgPSByYW5nZS0+Y2xvbmVSYW5n
ZShlYyk7Ci0gICAgICAgIHRlbXBSYW5nZS0+c2V0U3RhcnQodGVtcFJhbmdlLT5zdGFydENvbnRh
aW5lcihlYyksIHRlbXBSYW5nZS0+c3RhcnRPZmZzZXQoZWMpICsgbG9jYXRpb24sIGVjKTsKLSAg
ICAgICAgSW50UmVjdCBjYXJldFJlY3QgPSBmcmFtZS0+dmlldygpLT5jb250ZW50c1RvV2luZG93
KGZyYW1lLT5lZGl0b3IoKS0+Zmlyc3RSZWN0Rm9yUmFuZ2UodGVtcFJhbmdlLmdldCgpKSk7Ci0g
ICAgICAgIEludFJlY3Qgbm9kZVJlY3QgPSBmcmFtZS0+dmlldygpLT5jb250ZW50c1RvV2luZG93
KHNjb3BlLT5nZXRSZWN0KCkpOwotCi0gICAgICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpGb2N1c0VkaXRhYmxlQXJlYShjYXJldFJlY3QsIG5vZGVSZWN0KSk7Ci0gICAg
fQorI2lmIFBMQVRGT1JNKFFUKQorICAgIGlmIChFbGVtZW50KiBzY29wZSA9IGZyYW1lLT5zZWxl
Y3Rpb24oKS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpKQorICAgICAgICBtX3BhZ2UtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6Rm9jdXNFZGl0YWJsZUFyZWEoc3RhdGUubWljcm9Gb2N1cywg
c2NvcGUtPmdldFJlY3QoKSkpOwogI2VuZGlmCiAKICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RWRpdG9yU3RhdGVDaGFuZ2VkKG1fcGFnZS0+ZWRpdG9yU3RhdGUoKSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4
IDYxNzJkNGYuLjY4OGIxMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKQEAgLTM4MCw4ICszODAsNDMgQEAgRWRpdG9yU3RhdGUgV2ViUGFnZTo6
ZWRpdG9yU3RhdGUoKSBjb25zdAogICAgIHJlc3VsdC5pc0NvbnRlbnRSaWNobHlFZGl0YWJsZSA9
IGZyYW1lLT5zZWxlY3Rpb24oKS0+aXNDb250ZW50UmljaGx5RWRpdGFibGUoKTsKICAgICByZXN1
bHQuaXNJblBhc3N3b3JkRmllbGQgPSBmcmFtZS0+c2VsZWN0aW9uKCktPmlzSW5QYXNzd29yZEZp
ZWxkKCk7CiAgICAgcmVzdWx0Lmhhc0NvbXBvc2l0aW9uID0gZnJhbWUtPmVkaXRvcigpLT5oYXND
b21wb3NpdGlvbigpOworCisjaWYgUExBVEZPUk0oUVQpCisgICAgc2l6ZV90IGxvY2F0aW9uID0g
MDsKKyAgICBzaXplX3QgbGVuZ3RoID0gMDsKKyAgICBFbGVtZW50KiBzY29wZSA9IGZyYW1lLT5z
ZWxlY3Rpb24oKS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpOworCisgICAgUmVmUHRyPFJhbmdlPiBy
YW5nZTsKKyAgICBpZiAocmVzdWx0Lmhhc0NvbXBvc2l0aW9uICYmIChyYW5nZSA9IGZyYW1lLT5l
ZGl0b3IoKS0+Y29tcG9zaXRpb25SYW5nZSgpKSkgeworICAgICAgICBUZXh0SXRlcmF0b3I6Omdl
dExvY2F0aW9uQW5kTGVuZ3RoRnJvbVJhbmdlKHNjb3BlLCByYW5nZS5nZXQoKSwgbG9jYXRpb24s
IGxlbmd0aCk7CisgICAgICAgIHJlc3VsdC5jb21wb3NpdGlvblN0YXJ0ID0gbG9jYXRpb247Cisg
ICAgICAgIHJlc3VsdC5jb21wb3NpdGlvbkxlbmd0aCA9IGxlbmd0aDsKKyAgICAgICAgcmVzdWx0
LmNvbXBvc2l0aW9uUmVjdCA9IHJhbmdlLT5ib3VuZGluZ0JveCgpOworICAgIH0KKworICAgIGlm
ICghcmVzdWx0LnNlbGVjdGlvbklzTm9uZSAmJiAocmFuZ2UgPSBmcmFtZS0+c2VsZWN0aW9uKCkt
PnNlbGVjdGlvbigpLmZpcnN0UmFuZ2UoKSkpIHsKKyAgICAgICAgVGV4dEl0ZXJhdG9yOjpnZXRM
b2NhdGlvbkFuZExlbmd0aEZyb21SYW5nZShzY29wZSwgcmFuZ2UuZ2V0KCksIGxvY2F0aW9uLCBs
ZW5ndGgpOworCisgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgICAgICBSZWZQdHI8
UmFuZ2U+IHRlbXBSYW5nZSA9IHJhbmdlLT5jbG9uZVJhbmdlKGVjKTsKKyAgICAgICAgdGVtcFJh
bmdlLT5zZXRTdGFydCh0ZW1wUmFuZ2UtPnN0YXJ0Q29udGFpbmVyKGVjKSwgdGVtcFJhbmdlLT5z
dGFydE9mZnNldChlYykgKyBsb2NhdGlvbiwgZWMpOworICAgICAgICBJbnRSZWN0IHJlY3QgPSBm
cmFtZS0+ZWRpdG9yKCktPmZpcnN0UmVjdEZvclJhbmdlKHRlbXBSYW5nZS5nZXQoKSk7CisgICAg
ICAgIGJvb2wgYmFzZUlzRmlyc3QgPSBmcmFtZS0+c2VsZWN0aW9uKCktPnNlbGVjdGlvbigpLmlz
QmFzZUZpcnN0KCk7CisKKyAgICAgICAgcmVzdWx0LmN1cnNvclBvc2l0aW9uID0gKGJhc2VJc0Zp
cnN0KSA/IGxvY2F0aW9uICsgbGVuZ3RoIDogbG9jYXRpb247CisgICAgICAgIHJlc3VsdC5hbmNo
b3JQb3NpdGlvbiA9IChiYXNlSXNGaXJzdCkgPyBsb2NhdGlvbiA6IGxvY2F0aW9uICsgbGVuZ3Ro
OworICAgICAgICByZXN1bHQubWljcm9Gb2N1cyA9IGZyYW1lLT52aWV3KCktPmNvbnRlbnRzVG9X
aW5kb3cocmVjdCk7CisgICAgICAgIHJlc3VsdC5zZWxlY3RlZFRleHQgPSByYW5nZS0+dGV4dCgp
OworICAgIH0KKworICAgIGlmIChyZXN1bHQuaXNDb250ZW50RWRpdGFibGUgJiYgIXJlc3VsdC5p
c0luUGFzc3dvcmRGaWVsZCkgeworICAgICAgICByZXN1bHQuc3Vycm91bmRpbmdUZXh0ID0gc2Nv
cGUtPmlubmVyVGV4dCgpOworICAgICAgICByZXN1bHQuc3Vycm91bmRpbmdUZXh0LnJlbW92ZShy
ZXN1bHQuY29tcG9zaXRpb25TdGFydCwgcmVzdWx0LmNvbXBvc2l0aW9uTGVuZ3RoKTsKKyAgICB9
CisjZW5kaWYKKwogICAgIHJlc3VsdC5zaG91bGRJZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNo
YW5nZSA9IGZyYW1lLT5lZGl0b3IoKS0+aWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2Uo
KTsKLSAgICAKKwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvaiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZj
cHJvagppbmRleCA0NzliYmQ3Li44MTJhNTcwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93
aW4vV2ViS2l0Mi52Y3Byb2oKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9q
CkBAIC00MzksNiArNDM5LDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxFZGl0b3JTdGF0ZS5jcHAiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxFZGl0b3JTdGF0ZS5oIgog
CQkJCT4KIAkJCTwvRmlsZT4KLS0gCjEuNy40LjEKCg==
</data>
<flag name="commit-queue"
          id="118095"
          type_id="3"
          status="-"
          setter="gustavo.noronha"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118373</attachid>
            <date>2011-12-08 05:42:25 -0800</date>
            <delta_ts>2011-12-08 06:27:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Upsteam-the-Qt-changes-to-the-EditorState.patch</filename>
            <type>text/plain</type>
            <size>17223</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSA1NDdhNmNjM2VhMzBjMjFmYTc5YTYyZGI2Nzc0ZGI5ZWI1OTBmMGI2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBUaHUsIDggRGVjIDIwMTEgMTQ6MjM6MjEgKzAxMDAKU3ViamVjdDog
W1BBVENIXSBVcHN0ZWFtIHRoZSBRdCBjaGFuZ2VzIHRvIHRoZSBFZGl0b3JTdGF0ZQogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDgwCgpSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCldlIGFyZSBub3QgZG9pbmcgdGhlIHNlcmlhbGl6YXRpb24gbWFudWFsbHkg
ZHVlIHRvIGl0IG5vdCBiZWluZyBhIFBPRApzdHJ1Y3R1cmUgYW55bW9yZSBpbiB0aGUgY2FzZSBv
ZiBRdC4KCiogR05VbWFrZWZpbGUuYW06CiogU2hhcmVkL0VkaXRvclN0YXRlLmg6CihXZWJLaXQ6
OkVkaXRvclN0YXRlOjpFZGl0b3JTdGF0ZSk6CiogVGFyZ2V0LnByaToKKiBXZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CiogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQuY3BwOgooV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24pOgoqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKFdlYktpdDo6V2Vi
UGFnZTo6ZWRpdG9yU3RhdGUpOgoqIHdpbi9XZWJLaXQyLnZjcHJvajoKLS0tCiBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjEgKysrKwogU291
cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsK
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9FZGl0b3JTdGF0ZS5jcHAgICAgICAgICAgICAgIHwgIDEw
OCArKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYktpdDIvU2hhcmVkL0VkaXRvclN0YXRl
LmggICAgICAgICAgICAgICAgfCAgIDMyICsrKysrLS0KIFNvdXJjZS9XZWJLaXQyL1RhcmdldC5w
cmkgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBTb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogICB8ICAgIDQgKwogLi4uL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcCAgfCAgIDIyICstLS0tCiBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgICAgICB8ICAgMzcgKysrKysr
Ky0KIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvaiAgICAgICAgICAgICAgICAgIHwg
ICAgNCArCiA5IGZpbGVzIGNoYW5nZWQsIDIwNSBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMo
LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRWRpdG9yU3RhdGUu
Y3BwCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDNhYzIzODEuLmJlMzY0ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNCBAQAorMjAxMS0xMi0wOCAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRo
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXBzdGVhbSB0aGUgUXQgY2hhbmdlcyB0byB0aGUgRWRp
dG9yU3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc0MDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2UgYXJlIG5vdCBkb2luZyB0aGUgc2VyaWFsaXphdGlvbiBtYW51YWxseSBkdWUgdG8gaXQgbm90
IGJlaW5nIGEgUE9ECisgICAgICAgIHN0cnVjdHVyZSBhbnltb3JlIGluIHRoZSBjYXNlIG9mIFF0
LgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogU2hhcmVkL0VkaXRvclN0
YXRlLmg6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvclN0YXRlOjpFZGl0b3JTdGF0ZSk6CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZWRpdG9yU3RhdGUpOgorICAgICAgICAqIHdpbi9X
ZWJLaXQyLnZjcHJvajoKKwogMjAxMS0xMi0wOCAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBNb3ZlIHNjYWxlUGFnZUJ5IGZyb20gZXZlbnRTZW5kZXIgdG8g
d2luZG93LmludGVybmFscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUu
YW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRleCBjODgxNWYwLi43NzUwNGQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtMzA3LDYgKzMwNyw3IEBAIGxpYndlYmtpdDJndGtf
QFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lP
TkBfbGFfU09VCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYkNvbnRl
eHRNZXNzYWdlS2luZHMuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0
L1dlYlBhZ2VQcm94eU1lc3NhZ2VLaW5kcy5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRHJh
d2luZ0FyZWFJbmZvLmggXAorCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9FZGl0b3JTdGF0ZS5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9FZGl0b3JTdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvRm9udFNtb290aGluZ0xldmVsLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9j
YWlyby9MYXllclRyZWVDb250ZXh0Q2Fpcm8uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9FZGl0b3JTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRWRpdG9y
U3RhdGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0N2NlMmEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRWRpdG9yU3RhdGUuY3BwCkBA
IC0wLDAgKzEsMTA4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkVkaXRvclN0YXRlLmgiCisKKyNpbmNsdWRlICJBcmd1bWVudHMuaCIKKyNpbmNs
dWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3Zv
aWQgRWRpdG9yU3RhdGU6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIp
IGNvbnN0Cit7CisgICAgZW5jb2Rlci0+ZW5jb2RlKHNob3VsZElnbm9yZUNvbXBvc2l0aW9uU2Vs
ZWN0aW9uQ2hhbmdlKTsKKyAgICBlbmNvZGVyLT5lbmNvZGUoc2VsZWN0aW9uSXNOb25lKTsKKyAg
ICBlbmNvZGVyLT5lbmNvZGUoc2VsZWN0aW9uSXNSYW5nZSk7CisgICAgZW5jb2Rlci0+ZW5jb2Rl
KGlzQ29udGVudEVkaXRhYmxlKTsKKyAgICBlbmNvZGVyLT5lbmNvZGUoaXNDb250ZW50UmljaGx5
RWRpdGFibGUpOworICAgIGVuY29kZXItPmVuY29kZShpc0luUGFzc3dvcmRGaWVsZCk7CisgICAg
ZW5jb2Rlci0+ZW5jb2RlKGhhc0NvbXBvc2l0aW9uKTsKKworI2lmIFBMQVRGT1JNKFFUKQorICAg
IGVuY29kZXItPmVuY29kZShjdXJzb3JQb3NpdGlvbik7CisgICAgZW5jb2Rlci0+ZW5jb2RlKGFu
Y2hvclBvc2l0aW9uKTsKKyAgICBlbmNvZGVyLT5lbmNvZGUobWljcm9Gb2N1cyk7CisgICAgZW5j
b2Rlci0+ZW5jb2RlKGNvbXBvc2l0aW9uUmVjdCk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKGNvbXBv
c2l0aW9uU3RhcnQpOworICAgIGVuY29kZXItPmVuY29kZShjb21wb3NpdGlvbkxlbmd0aCk7Cisg
ICAgZW5jb2Rlci0+ZW5jb2RlKHNlbGVjdGVkVGV4dCk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKHN1
cnJvdW5kaW5nVGV4dCk7CisjZW5kaWYKK30KKworYm9vbCBFZGl0b3JTdGF0ZTo6ZGVjb2RlKENv
cmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgRWRpdG9yU3RhdGUmIHJlc3VsdCkKK3sK
KyAgICBpZiAoIWRlY29kZXItPmRlY29kZShyZXN1bHQuc2hvdWxkSWdub3JlQ29tcG9zaXRpb25T
ZWxlY3Rpb25DaGFuZ2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWRlY29k
ZXItPmRlY29kZShyZXN1bHQuc2VsZWN0aW9uSXNOb25lKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocmVzdWx0LnNlbGVjdGlvbklzUmFuZ2UpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShyZXN1bHQu
aXNDb250ZW50RWRpdGFibGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWRl
Y29kZXItPmRlY29kZShyZXN1bHQuaXNDb250ZW50UmljaGx5RWRpdGFibGUpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShyZXN1bHQuaXNJblBhc3N3
b3JkRmllbGQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWRlY29kZXItPmRl
Y29kZShyZXN1bHQuaGFzQ29tcG9zaXRpb24pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyNp
ZiBQTEFURk9STShRVCkKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShyZXN1bHQuY3Vyc29yUG9z
aXRpb24pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWRlY29kZXItPmRlY29k
ZShyZXN1bHQuYW5jaG9yUG9zaXRpb24pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBp
ZiAoIWRlY29kZXItPmRlY29kZShyZXN1bHQubWljcm9Gb2N1cykpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHJlc3VsdC5jb21wb3NpdGlvblJlY3Qp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShyZXN1
bHQuY29tcG9zaXRpb25TdGFydCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICgh
ZGVjb2Rlci0+ZGVjb2RlKHJlc3VsdC5jb21wb3NpdGlvbkxlbmd0aCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHJlc3VsdC5zZWxlY3RlZFRleHQp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShyZXN1
bHQuc3Vycm91bmRpbmdUZXh0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0VkaXRvclN0YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRWRpdG9yU3RhdGUuaAppbmRl
eCBmZGFmY2Y5Li5lZmFmNWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRWRp
dG9yU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRWRpdG9yU3RhdGUuaApAQCAt
MjcsMzUgKzI3LDUzIEBACiAjZGVmaW5lIEVkaXRvclN0YXRlX2gKIAogI2luY2x1ZGUgIkFyZ3Vt
ZW50Q29kZXJzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8d3Rm
L05vdEZvdW5kLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBzdHJ1Y3QgRWRpdG9yU3RhdGUgewogICAgIEVkaXRvclN0YXRlKCkKLSAg
ICAgICAgOiBzZWxlY3Rpb25Jc05vbmUodHJ1ZSkKKyAgICAgICAgOiBzaG91bGRJZ25vcmVDb21w
b3NpdGlvblNlbGVjdGlvbkNoYW5nZShmYWxzZSkKKyAgICAgICAgLCBzZWxlY3Rpb25Jc05vbmUo
dHJ1ZSkKICAgICAgICAgLCBzZWxlY3Rpb25Jc1JhbmdlKGZhbHNlKQogICAgICAgICAsIGlzQ29u
dGVudEVkaXRhYmxlKGZhbHNlKQogICAgICAgICAsIGlzQ29udGVudFJpY2hseUVkaXRhYmxlKGZh
bHNlKQogICAgICAgICAsIGlzSW5QYXNzd29yZEZpZWxkKGZhbHNlKQogICAgICAgICAsIGhhc0Nv
bXBvc2l0aW9uKGZhbHNlKQotICAgICAgICAsIHNob3VsZElnbm9yZUNvbXBvc2l0aW9uU2VsZWN0
aW9uQ2hhbmdlKGZhbHNlKQorI2lmIFBMQVRGT1JNKFFUKQorICAgICAgICAsIGN1cnNvclBvc2l0
aW9uKDApCisgICAgICAgICwgYW5jaG9yUG9zaXRpb24oMCkKKyAgICAgICAgLCBjb21wb3NpdGlv
blN0YXJ0KDApCisgICAgICAgICwgY29tcG9zaXRpb25MZW5ndGgoMCkKKyNlbmRpZgogICAgIHsK
ICAgICB9CiAKKyAgICBib29sIHNob3VsZElnbm9yZUNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdl
OworCiAgICAgYm9vbCBzZWxlY3Rpb25Jc05vbmU7IC8vIFRoaXMgd2lsbCBiZSBmYWxzZSB3aGVu
IHRoZXJlIGlzIGEgY2FyZXQgc2VsZWN0aW9uLgogICAgIGJvb2wgc2VsZWN0aW9uSXNSYW5nZTsK
ICAgICBib29sIGlzQ29udGVudEVkaXRhYmxlOwogICAgIGJvb2wgaXNDb250ZW50UmljaGx5RWRp
dGFibGU7CiAgICAgYm9vbCBpc0luUGFzc3dvcmRGaWVsZDsKICAgICBib29sIGhhc0NvbXBvc2l0
aW9uOwotICAgIGJvb2wgc2hvdWxkSWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2U7Cisj
aWYgUExBVEZPUk0oUVQpCisgICAgaW50IGN1cnNvclBvc2l0aW9uOworICAgIGludCBhbmNob3JQ
b3NpdGlvbjsKKyAgICBXZWJDb3JlOjpJbnRSZWN0IG1pY3JvRm9jdXM7CisgICAgV2ViQ29yZTo6
SW50UmVjdCBjb21wb3NpdGlvblJlY3Q7CisgICAgaW50IGNvbXBvc2l0aW9uU3RhcnQ7CisgICAg
aW50IGNvbXBvc2l0aW9uTGVuZ3RoOworICAgIFdURjo6U3RyaW5nIHNlbGVjdGVkVGV4dDsKKyAg
ICBXVEY6OlN0cmluZyBzdXJyb3VuZGluZ1RleHQ7CisjZW5kaWYKKworICAgIHZvaWQgZW5jb2Rl
KENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciopIGNvbnN0OworICAgIHN0YXRpYyBib29sIGRlY29k
ZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBFZGl0b3JTdGF0ZSYpOwogfTsKIAogfQogCi1u
YW1lc3BhY2UgQ29yZUlQQyB7Ci10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYktp
dDo6RWRpdG9yU3RhdGU+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJLaXQ6OkVkaXRvclN0YXRl
PiB7IH07Ci19OwotCiAjZW5kaWYgLy8gRWRpdG9yU3RhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKaW5kZXggOTc2
OTE0ZS4uZDNlNGQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCkBAIC03MSw2ICs3MSw3IEBAIEhFQURFUlMgKz0g
XAogICAgIFNoYXJlZC9DYWNoZU1vZGVsLmggXAogICAgIFNoYXJlZC9DaGlsZFByb2Nlc3MuaCBc
CiAgICAgU2hhcmVkL0RpY3Rpb25hcnlQb3B1cEluZm8uaCBcCisgICAgU2hhcmVkL0VkaXRvclN0
YXRlLmggXAogICAgIFNoYXJlZC9Gb250SW5mby5oIFwKICAgICBTaGFyZWQvSW1hZ2VPcHRpb25z
LmggXAogICAgIFNoYXJlZC9JbW11dGFibGVBcnJheS5oIFwKQEAgLTQwNSw2ICs0MDYsNyBAQCBT
T1VSQ0VTICs9IFwKICAgICBTaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcCBcCiAgICAgU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAgXAogICAgIFNoYXJlZC9E
aWN0aW9uYXJ5UG9wdXBJbmZvLmNwcCBcCisgICAgU2hhcmVkL0VkaXRvclN0YXRlLmNwcCBcCiAg
ICAgU2hhcmVkL0ZvbnRJbmZvLmNwcCBcCiAgICAgU2hhcmVkL0ltbXV0YWJsZUFycmF5LmNwcCBc
CiAgICAgU2hhcmVkL0ltbXV0YWJsZURpY3Rpb25hcnkuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxZmZlOWE5Li4yNTUw
OGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC00MjMsNiArNDIzLDcgQEAKIAkJNzYyQjc0OEQxMjBCQzc1QzAwODE5MzM5IC8q
IFdLUHJlZmVyZW5jZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3NjJCNzQ4NDEyMEJCQTJEMDA4MTkzMzkgLyogV0tQcmVmZXJlbmNlc1By
aXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3ODAxQzA5OTE0MjI5MEM0MDBGQUY5QUYgLyogV2ViSGl0VGVzdFJlc3VsdC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3ODAxQzA5NTE0MjI5MEM0
MDBGQUY5QUYgLyogV2ViSGl0VGVzdFJlc3VsdC5jcHAgKi87IH07CiAJCTc4MDFDMDlBMTQyMjkw
QzQwMEZBRjlBRiAvKiBXZWJIaXRUZXN0UmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3ODAxQzA5NjE0MjI5MEM0MDBGQUY5QUYgLyogV2ViSGl0
VGVzdFJlc3VsdC5oICovOyB9OworCQk4Q0ZFQ0U5NDE0OTBGMTQwMDAyQUFBMzIgLyogRWRpdG9y
U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OENGRUNFOTMxNDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRlLmNwcCAqLzsgfTsKIAkJOERD
MkVGNTMwNDg2QTY5NDAwOThCMjE2IC8qIEluZm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODlDMTY2NkZFODQxMTU4QzAyQUFD
MDcgLyogSW5mb1BsaXN0LnN0cmluZ3MgKi87IH07CiAJCThEQzJFRjU3MDQ4NkE2OTQwMDk4QjIx
NiAvKiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxMDU4QzdCMUZFQTU1ODVFMTFDQTJDQkIgLyogQ29jb2EuZnJhbWV3b3Jr
ICovOyB9OwogCQk5MDk4NTRFQzEyQkM0RTE3MDAwQUQwODAgLyogV2ViTWVtb3J5U2FtcGxlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDU2MjBF
ODEyQkMyNDhCMDAwNzk5QjYgLyogV2ViTWVtb3J5U2FtcGxlci5jcHAgKi87IH07CkBAIC0xNDIw
LDYgKzE0MjEsNyBAQAogCQk3NjJCNzQ4NDEyMEJCQTJEMDA4MTkzMzkgLyogV0tQcmVmZXJlbmNl
c1ByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQcmVmZXJlbmNl
c1ByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzgwMUMwOTUxNDIyOTBD
NDAwRkFGOUFGIC8qIFdlYkhpdFRlc3RSZXN1bHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViSGl0VGVzdFJlc3VsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTc4MDFDMDk2MTQyMjkwQzQwMEZBRjlBRiAvKiBXZWJIaXRUZXN0UmVzdWx0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkhpdFRlc3RSZXN1bHQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOENGRUNFOTMxNDkwRjE0MDAwMkFBQTMyIC8qIEVk
aXRvclN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVkaXRv
clN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOERDMkVGNUEwNDg2QTY5
NDAwOThCMjE2IC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9
IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThEQzJFRjVCMDQ4NkE2
OTQwMDk4QjIxNiAvKiBXZWJLaXQyLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4
ID0gMDsgcGF0aCA9IFdlYktpdDIuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVD
VFNfRElSOyB9OwogCQk5MDU2MjBFNTEyQkMyNDc2MDAwNzk5QjYgLyogV2ViTWVtb3J5U2FtcGxl
ci5tYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
aW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFdlYk1lbW9yeVNhbXBsZXIubWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKQEAgLTIyNzAsNiArMjI3Miw3IEBACiAJ
CQkJQkNFODFEOTcxMzFBRTAyMTAwMjQxOTEwIC8qIERpY3Rpb25hcnlQb3B1cEluZm8uaCAqLywK
IAkJCQlDNTE3Mzg4MDEyREY4RjRGMDBFRTNGNDcgLyogRHJhZ0NvbnRyb2xsZXJBY3Rpb24uaCAq
LywKIAkJCQkwRkI2NTkyMjEyMDhCNERCMDA0NDgxNkMgLyogRHJhd2luZ0FyZWFJbmZvLmggKi8s
CisJCQkJOENGRUNFOTMxNDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRlLmNwcCAqLywKIAkJ
CQk3NjJCNzQ4MTEyMEJCQTAxMDA4MTkzMzkgLyogRm9udFNtb290aGluZ0xldmVsLmggKi8sCiAJ
CQkJRjYzODk1NEYxMzNCRUYzODAwODk0MUQ1IC8qIEhUVFBDb29raWVBY2NlcHRQb2xpY3kuaCAq
LywKIAkJCQlCQ0NGNkIyMzEyQzkzRTdBMDA4RjlDMzUgLyogSW1hZ2VPcHRpb25zLmggKi8sCkBA
IC00Nzc2LDYgKzQ3NzksNyBAQAogCQkJCTMxQzExQUIzMTQ4NDUyRTkwMDQ5QTRDQyAvKiBXZWJO
b3RpZmljYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFCQTkyNEQxNDg4MzEyNjAwNjJF
REI1IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNEMzY3NUMxNDhDMjZDMDAwNDQ3RTg3IC8qIFdlYkNvbm5lY3Rpb25Ub1VJ
UHJvY2Vzcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4Q0ZFQ0U5NDE0OTBGMTQwMDAyQUFBMzIg
LyogRWRpdG9yU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAK
aW5kZXggMzNlYjMxYi4uZGZmY2YwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcApAQCAtMTgz
LDI1ICsxODMsMTEgQEAgdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxl
Y3Rpb24oRnJhbWUqIGZyYW1lKQogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAot
I2lmIFBMQVRGT1JNKFFUKQotICAgIGJvb2wgc2VsZWN0aW9uSXNOb25lID0gZnJhbWUtPnNlbGVj
dGlvbigpLT5pc05vbmUoKTsKLSAgICBFbGVtZW50KiBzY29wZSA9IGZyYW1lLT5zZWxlY3Rpb24o
KS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpOwotCi0gICAgUmVmUHRyPFJhbmdlPiByYW5nZTsKLSAg
ICBpZiAoc2NvcGUgJiYgIXNlbGVjdGlvbklzTm9uZSAmJiAocmFuZ2UgPSBmcmFtZS0+c2VsZWN0
aW9uKCktPnNlbGVjdGlvbigpLmZpcnN0UmFuZ2UoKSkpIHsKLSAgICAgICAgc2l6ZV90IGxvY2F0
aW9uID0gMDsKLSAgICAgICAgc2l6ZV90IGxlbmd0aCA9IDA7Ci0KLSAgICAgICAgVGV4dEl0ZXJh
dG9yOjpnZXRMb2NhdGlvbkFuZExlbmd0aEZyb21SYW5nZShzY29wZSwgcmFuZ2UuZ2V0KCksIGxv
Y2F0aW9uLCBsZW5ndGgpOworICAgIEVkaXRvclN0YXRlIHN0YXRlID0gbV9wYWdlLT5lZGl0b3JT
dGF0ZSgpOwogCi0gICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgICAgICBSZWZQdHI8
UmFuZ2U+IHRlbXBSYW5nZSA9IHJhbmdlLT5jbG9uZVJhbmdlKGVjKTsKLSAgICAgICAgdGVtcFJh
bmdlLT5zZXRTdGFydCh0ZW1wUmFuZ2UtPnN0YXJ0Q29udGFpbmVyKGVjKSwgdGVtcFJhbmdlLT5z
dGFydE9mZnNldChlYykgKyBsb2NhdGlvbiwgZWMpOwotICAgICAgICBJbnRSZWN0IGNhcmV0UmVj
dCA9IGZyYW1lLT52aWV3KCktPmNvbnRlbnRzVG9XaW5kb3coZnJhbWUtPmVkaXRvcigpLT5maXJz
dFJlY3RGb3JSYW5nZSh0ZW1wUmFuZ2UuZ2V0KCkpKTsKLSAgICAgICAgSW50UmVjdCBub2RlUmVj
dCA9IGZyYW1lLT52aWV3KCktPmNvbnRlbnRzVG9XaW5kb3coc2NvcGUtPmdldFJlY3QoKSk7Ci0K
LSAgICAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkZvY3VzRWRpdGFi
bGVBcmVhKGNhcmV0UmVjdCwgbm9kZVJlY3QpKTsKLSAgICB9CisjaWYgUExBVEZPUk0oUVQpCisg
ICAgaWYgKEVsZW1lbnQqIHNjb3BlID0gZnJhbWUtPnNlbGVjdGlvbigpLT5yb290RWRpdGFibGVF
bGVtZW50KCkpCisgICAgICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpG
b2N1c0VkaXRhYmxlQXJlYShzdGF0ZS5taWNyb0ZvY3VzLCBzY29wZS0+Z2V0UmVjdCgpKSk7CiAj
ZW5kaWYKIAogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpFZGl0b3JT
dGF0ZUNoYW5nZWQobV9wYWdlLT5lZGl0b3JTdGF0ZSgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNjE3MmQ0Zi4uNjg4YjEyMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzgw
LDggKzM4MCw0MyBAQCBFZGl0b3JTdGF0ZSBXZWJQYWdlOjplZGl0b3JTdGF0ZSgpIGNvbnN0CiAg
ICAgcmVzdWx0LmlzQ29udGVudFJpY2hseUVkaXRhYmxlID0gZnJhbWUtPnNlbGVjdGlvbigpLT5p
c0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpOwogICAgIHJlc3VsdC5pc0luUGFzc3dvcmRGaWVsZCA9
IGZyYW1lLT5zZWxlY3Rpb24oKS0+aXNJblBhc3N3b3JkRmllbGQoKTsKICAgICByZXN1bHQuaGFz
Q29tcG9zaXRpb24gPSBmcmFtZS0+ZWRpdG9yKCktPmhhc0NvbXBvc2l0aW9uKCk7CisKKyNpZiBQ
TEFURk9STShRVCkKKyAgICBzaXplX3QgbG9jYXRpb24gPSAwOworICAgIHNpemVfdCBsZW5ndGgg
PSAwOworICAgIEVsZW1lbnQqIHNjb3BlID0gZnJhbWUtPnNlbGVjdGlvbigpLT5yb290RWRpdGFi
bGVFbGVtZW50KCk7CisKKyAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlOworICAgIGlmIChyZXN1bHQu
aGFzQ29tcG9zaXRpb24gJiYgKHJhbmdlID0gZnJhbWUtPmVkaXRvcigpLT5jb21wb3NpdGlvblJh
bmdlKCkpKSB7CisgICAgICAgIFRleHRJdGVyYXRvcjo6Z2V0TG9jYXRpb25BbmRMZW5ndGhGcm9t
UmFuZ2Uoc2NvcGUsIHJhbmdlLmdldCgpLCBsb2NhdGlvbiwgbGVuZ3RoKTsKKyAgICAgICAgcmVz
dWx0LmNvbXBvc2l0aW9uU3RhcnQgPSBsb2NhdGlvbjsKKyAgICAgICAgcmVzdWx0LmNvbXBvc2l0
aW9uTGVuZ3RoID0gbGVuZ3RoOworICAgICAgICByZXN1bHQuY29tcG9zaXRpb25SZWN0ID0gcmFu
Z2UtPmJvdW5kaW5nQm94KCk7CisgICAgfQorCisgICAgaWYgKCFyZXN1bHQuc2VsZWN0aW9uSXNO
b25lICYmIChyYW5nZSA9IGZyYW1lLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uKCkuZmlyc3RSYW5n
ZSgpKSkgeworICAgICAgICBUZXh0SXRlcmF0b3I6OmdldExvY2F0aW9uQW5kTGVuZ3RoRnJvbVJh
bmdlKHNjb3BlLCByYW5nZS5nZXQoKSwgbG9jYXRpb24sIGxlbmd0aCk7CisKKyAgICAgICAgRXhj
ZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgICAgIFJlZlB0cjxSYW5nZT4gdGVtcFJhbmdlID0gcmFu
Z2UtPmNsb25lUmFuZ2UoZWMpOworICAgICAgICB0ZW1wUmFuZ2UtPnNldFN0YXJ0KHRlbXBSYW5n
ZS0+c3RhcnRDb250YWluZXIoZWMpLCB0ZW1wUmFuZ2UtPnN0YXJ0T2Zmc2V0KGVjKSArIGxvY2F0
aW9uLCBlYyk7CisgICAgICAgIEludFJlY3QgcmVjdCA9IGZyYW1lLT5lZGl0b3IoKS0+Zmlyc3RS
ZWN0Rm9yUmFuZ2UodGVtcFJhbmdlLmdldCgpKTsKKyAgICAgICAgYm9vbCBiYXNlSXNGaXJzdCA9
IGZyYW1lLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uKCkuaXNCYXNlRmlyc3QoKTsKKworICAgICAg
ICByZXN1bHQuY3Vyc29yUG9zaXRpb24gPSAoYmFzZUlzRmlyc3QpID8gbG9jYXRpb24gKyBsZW5n
dGggOiBsb2NhdGlvbjsKKyAgICAgICAgcmVzdWx0LmFuY2hvclBvc2l0aW9uID0gKGJhc2VJc0Zp
cnN0KSA/IGxvY2F0aW9uIDogbG9jYXRpb24gKyBsZW5ndGg7CisgICAgICAgIHJlc3VsdC5taWNy
b0ZvY3VzID0gZnJhbWUtPnZpZXcoKS0+Y29udGVudHNUb1dpbmRvdyhyZWN0KTsKKyAgICAgICAg
cmVzdWx0LnNlbGVjdGVkVGV4dCA9IHJhbmdlLT50ZXh0KCk7CisgICAgfQorCisgICAgaWYgKHJl
c3VsdC5pc0NvbnRlbnRFZGl0YWJsZSAmJiAhcmVzdWx0LmlzSW5QYXNzd29yZEZpZWxkKSB7Cisg
ICAgICAgIHJlc3VsdC5zdXJyb3VuZGluZ1RleHQgPSBzY29wZS0+aW5uZXJUZXh0KCk7CisgICAg
ICAgIHJlc3VsdC5zdXJyb3VuZGluZ1RleHQucmVtb3ZlKHJlc3VsdC5jb21wb3NpdGlvblN0YXJ0
LCByZXN1bHQuY29tcG9zaXRpb25MZW5ndGgpOworICAgIH0KKyNlbmRpZgorCiAgICAgcmVzdWx0
LnNob3VsZElnbm9yZUNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlID0gZnJhbWUtPmVkaXRvcigp
LT5pZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSgpOwotICAgIAorCiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNw
cm9qIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCmluZGV4IDQ3OWJiZDcuLjgx
MmE1NzAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTQzOSw2ICs0MzksMTAgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVk
XEVkaXRvclN0YXRlLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0
aXZlUGF0aD0iLi5cU2hhcmVkXEVkaXRvclN0YXRlLmgiCiAJCQkJPgogCQkJPC9GaWxlPgotLSAK
MS43LjQuMQoK
</data>
<flag name="review"
          id="118102"
          type_id="1"
          status="+"
          setter="hausmann"
    />
    <flag name="commit-queue"
          id="118103"
          type_id="3"
          status="-"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>