<?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>86462</bug_id>
          
          <creation_ts>2012-05-15 04:12:55 -0700</creation_ts>
          <short_desc>[EFL] The EFL port has no support for title directionality</short_desc>
          <delta_ts>2012-05-24 00:02:35 -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>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>
          
          <blocked>86475</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>623881</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-15 04:12:55 -0700</bug_when>
    <thetext>The EFL port has no support for title directionality which is needed by:
  fast/dom/title-directionality.html
  fast/dom/title-directionality-removeChild.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623963</commentid>
    <comment_count>1</comment_count>
      <attachid>141942</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-15 06:11:54 -0700</bug_when>
    <thetext>Created attachment 141942
Patch

This patch adds title text direction support to EFL port.

Note however that the tests cannot be unskipped yet because the title direction is not yet exposed via LayoutTestController.titleTextDirection.
I will implement this in a second patch to avoid ending up with a huge patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624236</commentid>
    <comment_count>2</comment_count>
      <attachid>141942</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-15 10:29:42 -0700</bug_when>
    <thetext>Comment on attachment 141942
Patch

Looks good to me, but your Tools/ChangeLog is borked (it contains an extra entry below yours).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624847</commentid>
    <comment_count>3</comment_count>
      <attachid>141942</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-15 18:52:52 -0700</bug_when>
    <thetext>Comment on attachment 141942
Patch

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

As kubo, this patch looks good to me except for trivial style nit.

&gt; Source/WebKit/efl/ewk/ewk_frame.h:155
&gt; +    EWK_TEXT_DIRECTION_DEFAULT, // Natural writing direction (&quot;inherit&quot;)

Style nit : We are using /**&lt; instead of // in public header files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625005</commentid>
    <comment_count>4</comment_count>
      <attachid>142157</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-15 22:54:49 -0700</bug_when>
    <thetext>Created attachment 142157
Patch

Take feedback into consideration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631658</commentid>
    <comment_count>5</comment_count>
      <attachid>142157</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-23 07:47:14 -0700</bug_when>
    <thetext>Comment on attachment 142157
Patch

Rejecting attachment 142157 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
enderTree/efl/DumpRenderTreeChrome.cpp
Hunk #1 FAILED at 436.
1 out of 1 hunk FAILED -- saving rejects to file Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp.rej
patching file Tools/EWebLauncher/main.c
Hunk #1 succeeded at 229 (offset 3 lines).
Hunk #2 succeeded at 256 (offset 3 lines).
Hunk #3 succeeded at 492 (offset 3 lines).

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Gustavo No...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12768230</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632437</commentid>
    <comment_count>6</comment_count>
      <attachid>143737</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-23 23:00:36 -0700</bug_when>
    <thetext>Created attachment 143737
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632469</commentid>
    <comment_count>7</comment_count>
      <attachid>143737</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-24 00:02:30 -0700</bug_when>
    <thetext>Comment on attachment 143737
Patch for landing

Clearing flags on attachment: 143737

Committed r118329: &lt;http://trac.webkit.org/changeset/118329&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632470</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-24 00:02:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141942</attachid>
            <date>2012-05-15 06:11:54 -0700</date>
            <delta_ts>2012-05-15 22:54:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>86462_title_direction.patch</filename>
            <type>text/plain</type>
            <size>16894</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCAwMWM2ODg3Li44YWIyOGE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMTItMDUtMTUgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhl
LmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXSBUaGUgRUZMIHBvcnQgaGFzIG5vIHN1
cHBvcnQgZm9yIHRpdGxlIGRpcmVjdGlvbmFsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjQ2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIERlZmluZSBhIG5ldyBFd2tfVGV4dF9XaXRoX0RpcmVjdGlv
biB0eXBlIHRvIHN0b3JlIHRoZSBkaXJlY3Rpb24gb2YKKyAgICAgICAgdGhlIHRleHQgYWxvbmcg
d2l0aCB0aGUgdGV4dCBpdHNlbGYuIFRoaXMgaXMgbmVlZGVkIHRvIHN1cHBvcnQgdGV4dAorICAg
ICAgICBkaXJlY3Rpb25hbGl0eSBpbiBFRkwgcG9ydC4KKworICAgICAgICBVc2UgdGhlIG5ldyBF
d2tfVGV4dF9XaXRoX0RpcmVjdGlvbiB0eXBlIGZvciB0aGUgZnJhbWUgdGl0bGUuIFVwZGF0ZWQK
KyAgICAgICAgInRpdGxlLGNoYW5nZWQiIHNpZ25hbCwgdGl0bGUgZ2V0dGVyL3NldHRlciBhbmQg
RXdrX0hpdF9UZXN0IHN0cnVjdC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZs
OjpkaXNwYXRjaERpZFJlY2VpdmVUaXRsZSk6CisgICAgICAgICogZXdrL2V3a19mcmFtZS5jcHA6
CisgICAgICAgIChFd2tfRnJhbWVfU21hcnRfRGF0YSk6CisgICAgICAgIChfZXdrX2ZyYW1lX3Nt
YXJ0X2RlbCk6CisgICAgICAgIChld2tfZnJhbWVfdGl0bGVfZ2V0KToKKyAgICAgICAgKGV3a19m
cmFtZV9oaXRfdGVzdF9mcmVlKToKKyAgICAgICAgKGV3a19mcmFtZV9oaXRfdGVzdF9uZXcpOgor
ICAgICAgICAoZXdrX2ZyYW1lX3RpdGxlX3NldCk6CisgICAgICAgICogZXdrL2V3a19mcmFtZS5o
OgorICAgICAgICAqIGV3ay9ld2tfZnJhbWVfcHJpdmF0ZS5oOgorICAgICAgICAqIGV3ay9ld2tf
dmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKGV3
a192aWV3X3RpdGxlX2dldCk6CisgICAgICAgIChld2tfdmlld190aXRsZV9zZXQpOgorICAgICAg
ICAqIGV3ay9ld2tfdmlldy5oOgorICAgICAgICAqIGV3ay9ld2tfdmlld19wcml2YXRlLmg6CisK
IDIwMTItMDUtMTUgIFRvbWFzeiBNb3Jhd3NraSAgPHQubW9yYXdza2lAc2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgW0VGTF0gU3BsaXQgZXdrX3ByaXZhdGUuaCBmaWxlIHRvIG11bHRpcGxlIHByaXZh
dGUgZmlsZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKaW5kZXggZDc4ZjAyMS4uMTk0ODM1YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRF
ZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50RWZsLmNwcApAQCAtNjEzLDEzICs2MTMsMTUgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVu
dEVmbDo6ZGlzcGF0Y2hEaWRTdGFydFByb3Zpc2lvbmFsTG9hZCgpCiAKIHZvaWQgRnJhbWVMb2Fk
ZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkUmVjZWl2ZVRpdGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJl
Y3Rpb24mIHRpdGxlKQogewotICAgIC8vIEZJWE1FOiB1c2UgZGlyZWN0aW9uIG9mIHRpdGxlLgor
ICAgIEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uIGV3a1RpdGxlOwogICAgIENTdHJpbmcgY3MgPSB0
aXRsZS5zdHJpbmcoKS51dGY4KCk7Ci0gICAgZXdrX2ZyYW1lX3RpdGxlX3NldChtX2ZyYW1lLCBj
cy5kYXRhKCkpOworICAgIGV3a1RpdGxlLnN0cmluZyA9IGNzLmRhdGEoKTsKKyAgICBld2tUaXRs
ZS5kaXJlY3Rpb24gPSAodGl0bGUuZGlyZWN0aW9uKCkgPT0gTFRSKSA/IEVXS19URVhUX0RJUkVD
VElPTl9MRUZUX1RPX1JJR0hUIDogRVdLX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RPX0xFRlQ7Cisg
ICAgZXdrX2ZyYW1lX3RpdGxlX3NldChtX2ZyYW1lLCAmZXdrVGl0bGUpOwogCiAgICAgaWYgKGV3
a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldykgIT0gbV9mcmFtZSkKICAgICAgICAgcmV0dXJu
OwotICAgIGV3a192aWV3X3RpdGxlX3NldChtX3ZpZXcsIGNzLmRhdGEoKSk7CisgICAgZXdrX3Zp
ZXdfdGl0bGVfc2V0KG1fdmlldywgJmV3a1RpdGxlKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNs
aWVudEVmbDo6ZGlzcGF0Y2hEaWRDaGFuZ2VJY29ucyhXZWJDb3JlOjpJY29uVHlwZSBpY29uVHlw
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKaW5kZXggODdhOTNmZi4uZmNhY2JlYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKQEAgLTczLDcgKzczLDcgQEAgc3RydWN0
IEV3a19GcmFtZV9TbWFydF9EYXRhIHsKICAgICBFdmFzX09iamVjdCogcmVnaW9uOwogI2VuZGlm
CiAgICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lOwotICAgIGNvbnN0IGNoYXIqIHRpdGxlOworICAg
IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uIHRpdGxlOwogICAgIGNvbnN0IGNoYXIqIHVyaTsKICAg
ICBjb25zdCBjaGFyKiBuYW1lOwogICAgIGJvb2wgZWRpdGFibGUgOiAxOwpAQCAtMjM4LDcgKzIz
OCw3IEBAIHN0YXRpYyB2b2lkIF9ld2tfZnJhbWVfc21hcnRfZGVsKEV2YXNfT2JqZWN0KiBld2tG
cmFtZSkKICAgICAgICAgICAgIHNtYXJ0RGF0YS0+ZnJhbWUgPSAwOwogICAgICAgICB9CiAKLSAg
ICAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoc21hcnREYXRhLT50aXRsZSk7CisgICAgICAgIGVp
bmFfc3RyaW5nc2hhcmVfZGVsKHNtYXJ0RGF0YS0+dGl0bGUuc3RyaW5nKTsKICAgICAgICAgZWlu
YV9zdHJpbmdzaGFyZV9kZWwoc21hcnREYXRhLT51cmkpOwogICAgICAgICBlaW5hX3N0cmluZ3No
YXJlX2RlbChzbWFydERhdGEtPm5hbWUpOwogICAgIH0KQEAgLTM0MSwxMCArMzQxLDEwIEBAIGNv
bnN0IGNoYXIqIGV3a19mcmFtZV91cmlfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSkK
ICAgICByZXR1cm4gc21hcnREYXRhLT51cmk7CiB9CiAKLWNvbnN0IGNoYXIqIGV3a19mcmFtZV90
aXRsZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lKQorY29uc3QgRXdrX1RleHRfV2l0
aF9EaXJlY3Rpb24qIGV3a19mcmFtZV90aXRsZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a0Zy
YW1lKQogewogICAgIEVXS19GUkFNRV9TRF9HRVRfT1JfUkVUVVJOKGV3a0ZyYW1lLCBzbWFydERh
dGEsIDApOwotICAgIHJldHVybiBzbWFydERhdGEtPnRpdGxlOworICAgIHJldHVybiAmc21hcnRE
YXRhLT50aXRsZTsKIH0KIAogY29uc3QgY2hhciogZXdrX2ZyYW1lX25hbWVfZ2V0KGNvbnN0IEV2
YXNfT2JqZWN0KiBld2tGcmFtZSkKQEAgLTY2Niw3ICs2NjYsNyBAQCBFaW5hX0Jvb2wgZXdrX2Zy
YW1lX3RleHRfem9vbV9zZXQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBmbG9hdCB0ZXh0Wm9vbUZh
Y3RvcikKIHZvaWQgZXdrX2ZyYW1lX2hpdF90ZXN0X2ZyZWUoRXdrX0hpdF9UZXN0KiBoaXRUZXN0
KQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKGhpdFRlc3QpOwotICAgIGVpbmFf
c3RyaW5nc2hhcmVfZGVsKGhpdFRlc3QtPnRpdGxlKTsKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2Rl
bChoaXRUZXN0LT50aXRsZS5zdHJpbmcpOwogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGhpdFRl
c3QtPmFsdGVybmF0ZV90ZXh0KTsKICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChoaXRUZXN0LT5s
aW5rLnRleHQpOwogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGhpdFRlc3QtPmxpbmsudXJsKTsK
QEAgLTcxMSw3ICs3MTEsOCBAQCBFd2tfSGl0X1Rlc3QqIGV3a19mcmFtZV9oaXRfdGVzdF9uZXco
Y29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBpbnQgeCwgaW50IHkpCiAjZW5kaWYKIAogICAg
IFdlYkNvcmU6OlRleHREaXJlY3Rpb24gZGlyZWN0aW9uOwotICAgIGhpdFRlc3QtPnRpdGxlID0g
ZWluYV9zdHJpbmdzaGFyZV9hZGQocmVzdWx0LnRpdGxlKGRpcmVjdGlvbikudXRmOCgpLmRhdGEo
KSk7CisgICAgaGl0VGVzdC0+dGl0bGUuc3RyaW5nID0gZWluYV9zdHJpbmdzaGFyZV9hZGQocmVz
dWx0LnRpdGxlKGRpcmVjdGlvbikudXRmOCgpLmRhdGEoKSk7CisgICAgaGl0VGVzdC0+dGl0bGUu
ZGlyZWN0aW9uID0gKGRpcmVjdGlvbiA9PSBXZWJDb3JlOjpMVFIpID8gRVdLX1RFWFRfRElSRUNU
SU9OX0xFRlRfVE9fUklHSFQgOiBFV0tfVEVYVF9ESVJFQ1RJT05fUklHSFRfVE9fTEVGVDsKICAg
ICBoaXRUZXN0LT5hbHRlcm5hdGVfdGV4dCA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKHJlc3VsdC5h
bHREaXNwbGF5U3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgaWYgKHJlc3VsdC5pbm5lck5v
blNoYXJlZE5vZGUoKSAmJiByZXN1bHQuaW5uZXJOb25TaGFyZWROb2RlKCktPmRvY3VtZW50KCkK
ICAgICAgICAgJiYgcmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgpLT5kb2N1bWVudCgpLT5mcmFt
ZSgpKQpAQCAtMTUzNCwxMyArMTUzNSwxNCBAQCB2b2lkIGV3a19mcmFtZV9jb250ZW50c19zaXpl
X2NoYW5nZWQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBFdmFzX0Nvb3JkIHdpZHRoLCBFdgogICoK
ICAqIFJlcG9ydHMgdGl0bGUgY2hhbmdlZC4KICAqLwotdm9pZCBld2tfZnJhbWVfdGl0bGVfc2V0
KEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgY29uc3QgY2hhciogdGl0bGUpCit2b2lkIGV3a19mcmFt
ZV90aXRsZV9zZXQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBjb25zdCBFd2tfVGV4dF9XaXRoX0Rp
cmVjdGlvbiogdGl0bGUpCiB7Ci0gICAgREJHKCJld2tGcmFtZT0lcCwgdGl0bGU9JXMiLCBld2tG
cmFtZSwgdGl0bGUgPyB0aXRsZSA6ICIobnVsbCkiKTsKKyAgICBEQkcoImV3a0ZyYW1lPSVwLCB0
aXRsZT0lcyIsIGV3a0ZyYW1lLCB0aXRsZS0+c3RyaW5nID8gdGl0bGUtPnN0cmluZyA6ICIobnVs
bCkiKTsKICAgICBFV0tfRlJBTUVfU0RfR0VUX09SX1JFVFVSTihld2tGcmFtZSwgc21hcnREYXRh
KTsKLSAgICBpZiAoIWVpbmFfc3RyaW5nc2hhcmVfcmVwbGFjZSgmc21hcnREYXRhLT50aXRsZSwg
dGl0bGUpKQorICAgIGlmICghZWluYV9zdHJpbmdzaGFyZV9yZXBsYWNlKCZzbWFydERhdGEtPnRp
dGxlLnN0cmluZywgdGl0bGUtPnN0cmluZykpCiAgICAgICAgIHJldHVybjsKLSAgICBldmFzX29i
amVjdF9zbWFydF9jYWxsYmFja19jYWxsKGV3a0ZyYW1lLCAidGl0bGUsY2hhbmdlZCIsICh2b2lk
KilzbWFydERhdGEtPnRpdGxlKTsKKyAgICBzbWFydERhdGEtPnRpdGxlLmRpcmVjdGlvbiA9IHRp
dGxlLT5kaXJlY3Rpb247CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChld2tG
cmFtZSwgInRpdGxlLGNoYW5nZWQiLCAodm9pZCopdGl0bGUpOwogfQogCiAvKioKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfZnJhbWUuaAppbmRleCBmNWJiYTFiLi43NzYxMTA1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a19mcmFtZS5oCkBAIC03MSw3ICs3MSw3IEBACiAgKiAgLSAicmVzb3VyY2UscmVzcG9uc2Us
cmVjZWl2ZWQiLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVzcG9uc2UqOiByZXBvcnRzIHRoYXQgYSBy
ZXNwb25zZQogICogICAgdG8gYSByZXNvdXJjZSByZXF1ZXN0IHdhcyByZWNlaXZlZC4KICAqICAt
ICJzdGF0ZSxzYXZlIiwgdm9pZDogZnJhbWUncyBzdGF0ZSB3aWxsIGJlIHNhdmVkIGFzIGEgaGlz
dG9yeSBpdGVtLgotICogIC0gInRpdGxlLGNoYW5nZWQiLCBjb25zdCBjaGFyKjogdGl0bGUgb2Yg
dGhlIG1haW4gZnJhbWUgd2FzIGNoYW5nZWQuCisgKiAgLSAidGl0bGUsY2hhbmdlZCIsIEV3a19U
ZXh0X1dpdGhfRGlyZWN0aW9uKjogdGl0bGUgb2YgdGhlIG1haW4gZnJhbWUgd2FzIGNoYW5nZWQu
CiAgKiAgLSAidXJpLGNoYW5nZWQiLCBjb25zdCBjaGFyKjogdXJpIG9mIHRoZSBtYWluIGZyYW1l
IHdhcyBjaGFuZ2VkLgogICogIC0gInhzcyxkZXRlY3RlZCIsIEV3a19GcmFtZV9Yc3NfTm90aWZp
Y2F0aW9uKjogcmVmbGVjdGVkIFhTUyBpcyBlbmNvdW50ZXJlZCBpbiB0aGUgcGFnZSBhbmQgc3Vw
cHJlc3NlZC4KICAqLwpAQCAtMTUwLDYgKzE1MCwyMSBAQCBzdHJ1Y3QgX0V3a19GcmFtZV9SZXNv
dXJjZV9NZXNzYWdlcyB7CiAgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1Jlc3BvbnNlICpyZWRpcmVj
dF9yZXNwb25zZTsgLyoqPCByZWRpcmVjdCByZXNwb25zZSwgY2FuIG5vdCBiZSBjaGFuZ2VkICov
CiB9OwogCisvLy8gRW51bSBjb250YWluaW5nIHRleHQgZGlyZWN0aW9uYWxpdHkgdmFsdWVzLgor
dHlwZWRlZiBlbnVtIHsKKyAgICBFV0tfVEVYVF9ESVJFQ1RJT05fREVGQVVMVCwgLy8gTmF0dXJh
bCB3cml0aW5nIGRpcmVjdGlvbiAoImluaGVyaXQiKQorICAgIEVXS19URVhUX0RJUkVDVElPTl9M
RUZUX1RPX1JJR0hULAorICAgIEVXS19URVhUX0RJUkVDVElPTl9SSUdIVF9UT19MRUZUCit9IEV3
a19UZXh0X0RpcmVjdGlvbjsKKworLy8vIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEV3a19UZXh0
X1dpdGhfRGlyZWN0aW9uLgordHlwZWRlZiBzdHJ1Y3QgX0V3a19UZXh0X1dpdGhfRGlyZWN0aW9u
IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uOworCitzdHJ1Y3QgX0V3a19UZXh0X1dpdGhfRGlyZWN0
aW9uIHsKKyAgICBjb25zdCBjaGFyICpzdHJpbmc7CisgICAgRXdrX1RleHRfRGlyZWN0aW9uIGRp
cmVjdGlvbjsKK307CisKIC8vLyBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciBFd2tfRnJhbWVfWHNz
X05vdGlmaWNhdGlvbi4KIHR5cGVkZWYgc3RydWN0IF9Fd2tfRnJhbWVfWHNzX05vdGlmaWNhdGlv
biBFd2tfRnJhbWVfWHNzX05vdGlmaWNhdGlvbjsKIApAQCAtMTg0LDcgKzE5OSw3IEBAIHN0cnVj
dCBfRXdrX0hpdF9UZXN0IHsKICAgICBzdHJ1Y3QgewogICAgICAgICBpbnQgeCwgeSwgdywgaDsK
ICAgICB9IGJvdW5kaW5nX2JveDsgLyoqPCBERVBSRUNBVEVELCBzZWUgZXdrX2ZyYW1lX2hpdF90
ZXN0X25ldygpICovCi0gICAgY29uc3QgY2hhciAqdGl0bGU7IC8qKjwgdGl0bGUgb2YgdGhlIGVs
ZW1lbnQgKi8KKyAgICBFd2tfVGV4dF9XaXRoX0RpcmVjdGlvbiB0aXRsZTsgLyoqPCB0aXRsZSBv
ZiB0aGUgZWxlbWVudCAqLwogICAgIGNvbnN0IGNoYXIgKmFsdGVybmF0ZV90ZXh0OyAvKio8IHRo
ZSBhbHRlcm5hdGUgdGV4dCBmb3IgaW1hZ2UsIGFyZWEsIGlucHV0IGFuZCBhcHBsZXQgKi8KICAg
ICBFdmFzX09iamVjdCAqZnJhbWU7IC8qKjwgdGhlIHBvaW50ZXIgdG8gZnJhbWUgd2hlcmUgaGl0
IHRlc3Qgd2FzIHJlcXVlc3RlZCAqLwogICAgIHN0cnVjdCB7CkBAIC0zMzksNyArMzU0LDcgQEAg
RUFQSSBjb25zdCBjaGFyICAqZXdrX2ZyYW1lX3VyaV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8p
OwogICoKICAqIEByZXR1cm4gZnJhbWUgdGl0bGUgb24gc3VjY2VzcyBvciBAYyAwIG9uIGZhaWx1
cmUKICAqLwotRUFQSSBjb25zdCBjaGFyICAqZXdrX2ZyYW1lX3RpdGxlX2dldChjb25zdCBFdmFz
X09iamVjdCAqbyk7CitFQVBJIGNvbnN0IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uICAqZXdrX2Zy
YW1lX3RpdGxlX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAKIC8qKgogICogR2V0cyB0aGUg
bmFtZSBvZiB0aGlzIGZyYW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19mcmFtZV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lX3ByaXZh
dGUuaAppbmRleCBiZDA4N2RlLi5jMWI0ZWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX2ZyYW1lX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2ZyYW1lX3ByaXZhdGUuaApAQCAtNjEsNyArNjEsNyBAQCB2b2lkIGV3a19mcmFtZV92aWV3X3N0
YXRlX3NhdmUoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBXZWJDb3JlOjpIaXN0b3J5SXRlbSogaXRl
bQogdm9pZCBld2tfZnJhbWVfZGlkX3BlcmZvcm1fZmlyc3RfbmF2aWdhdGlvbihFdmFzX09iamVj
dCogZXdrRnJhbWUpOwogCiB2b2lkIGV3a19mcmFtZV9jb250ZW50c19zaXplX2NoYW5nZWQoRXZh
c19PYmplY3QqIGV3a0ZyYW1lLCBFdmFzX0Nvb3JkIHdpZHRoLCBFdmFzX0Nvb3JkIGhlaWdodCk7
Ci12b2lkIGV3a19mcmFtZV90aXRsZV9zZXQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBjb25zdCBj
aGFyKiB0aXRsZSk7Cit2b2lkIGV3a19mcmFtZV90aXRsZV9zZXQoRXZhc19PYmplY3QqIGV3a0Zy
YW1lLCBjb25zdCBFd2tfVGV4dF9XaXRoX0RpcmVjdGlvbiogdGl0bGUpOwogCiB2b2lkIGV3a19m
cmFtZV92aWV3X2NyZWF0ZV9mb3JfdmlldyhFdmFzX09iamVjdCogZXdrRnJhbWUsIEV2YXNfT2Jq
ZWN0KiB2aWV3KTsKIGJvb2wgZXdrX2ZyYW1lX3VyaV9jaGFuZ2VkKEV2YXNfT2JqZWN0KiBld2tG
cmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwIGIv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAppbmRleCBhZWI5ZjEzLi5jYjUzNzQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKQEAgLTEzMTYsNyArMTMxNiw3IEBAIGNv
bnN0IGNoYXIqIGV3a192aWV3X3VyaV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAg
ICAgcmV0dXJuIGV3a19mcmFtZV91cmlfZ2V0KHNtYXJ0RGF0YS0+bWFpbl9mcmFtZSk7CiB9CiAK
LWNvbnN0IGNoYXIqIGV3a192aWV3X3RpdGxlX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmll
dykKK2NvbnN0IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uKiBld2tfdmlld190aXRsZV9nZXQoY29u
c3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCiB7CiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVS
Tihld2tWaWV3LCBzbWFydERhdGEsIDApOwogICAgIHJldHVybiBld2tfZnJhbWVfdGl0bGVfZ2V0
KHNtYXJ0RGF0YS0+bWFpbl9mcmFtZSk7CkBAIC0yODg0LDkgKzI4ODQsOSBAQCB2b2lkIGV3a192
aWV3X2lucHV0X21ldGhvZF9zdGF0ZV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgYWN0
aXZlKQogICoKICAqIEVtaXRzIHNpZ25hbDogInRpdGxlLGNoYW5nZWQiIHdpdGggcG9pbnRlciB0
byBuZXcgdGl0bGUgc3RyaW5nLgogICovCi12b2lkIGV3a192aWV3X3RpdGxlX3NldChFdmFzX09i
amVjdCogZXdrVmlldywgY29uc3QgY2hhciogdGl0bGUpCit2b2lkIGV3a192aWV3X3RpdGxlX3Nl
dChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24qIHRp
dGxlKQogewotICAgIERCRygiZXdrVmlldz0lcCwgdGl0bGU9JXMiLCBld2tWaWV3LCB0aXRsZSA/
IHRpdGxlIDogIihudWxsKSIpOworICAgIERCRygiZXdrVmlldz0lcCwgdGl0bGU9JXMiLCBld2tW
aWV3LCAodGl0bGUgJiYgdGl0bGUtPnN0cmluZykgPyB0aXRsZS0+c3RyaW5nIDogIihudWxsKSIp
OwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrVmlldywgInRpdGxlLGNo
YW5nZWQiLCAodm9pZCopdGl0bGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4
IDk4MjEwZjguLmY1ZWY3MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC04NCw3ICs4
NCw3IEBACiAgKiAgLSAic3RhdHVzYmFyLHZpc2libGUsZ2V0IiwgRWluYV9Cb29sICo6IGV4cGVj
dHMgYSBAYyBFSU5BX1RSVUUgaWYgc3RhdHVzYmFyIGlzCiAgKiAgICB2aXNpYmxlOyBAYyBFSU5B
X0ZBTFNFLCBvdGhlcndpc2UuCiAgKiAgLSAic3RhdHVzYmFyLHZpc2libGUsc2V0IiwgRWluYV9C
b29sOiBzZXRzIHN0YXR1c2JhciB2aXNpYmlsaXR5LgotICogIC0gInRpdGxlLGNoYW5nZWQiLCBj
b25zdCBjaGFyKjogdGl0bGUgb2YgdGhlIG1haW4gZnJhbWUgd2FzIGNoYW5nZWQuCisgKiAgLSAi
dGl0bGUsY2hhbmdlZCIsIEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uKjogdGl0bGUgb2YgdGhlIG1h
aW4gZnJhbWUgd2FzIGNoYW5nZWQuCiAgKiAgLSAidG9vbGJhcnMsdmlzaWJsZSxnZXQiLCBFaW5h
X0Jvb2wgKjogZXhwZWN0cyBhIEBjIEVJTkFfVFJVRSBpZiB0b29sYmFyCiAgKiAgICBpcyB2aXNp
YmxlOyBAYyBFSU5BX0ZBTFNFLCBvdGhlcndpc2UuCiAgKiAgLSAidG9vbGJhcnMsdmlzaWJsZSxz
ZXQiLCBFaW5hX0Jvb2w6IHNldHMgdG9vbGJhciB2aXNpYmlsaXR5LgpAQCAtNjcxLDcgKzY3MSw3
IEBAIEVBUEkgY29uc3QgY2hhciAgKmV3a192aWV3X3VyaV9nZXQoY29uc3QgRXZhc19PYmplY3Qg
Km8pOwogICoKICAqIEByZXR1cm4gY3VycmVudCB0aXRsZSBvbiBzdWNjZXNzIG9yIEBjIDAgb24g
ZmFpbHVyZQogICovCi1FQVBJIGNvbnN0IGNoYXIgICpld2tfdmlld190aXRsZV9nZXQoY29uc3Qg
RXZhc19PYmplY3QgKm8pOworRUFQSSBjb25zdCBFd2tfVGV4dF9XaXRoX0RpcmVjdGlvbiAgKmV3
a192aWV3X3RpdGxlX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAKIC8qKgogICogUXVlcmll
cyBpZiB0aGUgbWFpbiBmcmFtZSBpcyBlZGl0YWJsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ZpZXdfcHJpdmF0ZS5oCmluZGV4IDYwZjYyMjAuLjczZGRjNjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a192aWV3X3ByaXZhdGUuaApAQCAtNDgsNyArNDgsNyBAQCBjb25zdCBjaGFyIGV3
a1ZpZXdTaW5nbGVOYW1lW10gPSAiRXdrX1ZpZXdfU2luZ2xlIjsKIAogdm9pZCBld2tfdmlld19y
ZWFkeShFdmFzX09iamVjdCogZXdrVmlldyk7CiB2b2lkIGV3a192aWV3X2lucHV0X21ldGhvZF9z
dGF0ZV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgYWN0aXZlKTsKLXZvaWQgZXdrX3Zp
ZXdfdGl0bGVfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBjaGFyKiB0aXRsZSk7Cit2
b2lkIGV3a192aWV3X3RpdGxlX3NldChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgRXdrX1Rl
eHRfV2l0aF9EaXJlY3Rpb24qIHRpdGxlKTsKIHZvaWQgZXdrX3ZpZXdfdXJpX2NoYW5nZWQoRXZh
c19PYmplY3QqIGV3a1ZpZXcpOwogdm9pZCBld2tfdmlld19sb2FkX2RvY3VtZW50X2ZpbmlzaGVk
KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX09iamVjdCogZnJhbWUpOwogdm9pZCBld2tfdmll
d19sb2FkX3N0YXJ0ZWQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0KiBld2tGcmFt
ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
MTZkMjI2ZC4uMGQ5ZTk2MyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTA1LTE1ICBDaHJpc3RvcGhlIER1bWV6
ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF0gVGhlIEVGTCBw
b3J0IGhhcyBubyBzdXBwb3J0IGZvciB0aXRsZSBkaXJlY3Rpb25hbGl0eQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY0NjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgInRpdGxlLGNoYW5nZWQi
IHNpZ25hbCBoYW5kbGVycyBpbiBEUlQgYW5kIEVXZWJMYXVuY2hlciB0bworICAgICAgICByZWZs
ZWN0IHRoZSBjaGFuZ2UgZnJvbSBjb25zdCBjaGFyKiB0byBFd2tfVGV4dF9XaXRoX0RpcmVjdGlv
biogdHlwZQorICAgICAgICBmb3IgdGhlIHRpdGxlLgorCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVl
Q2hyb21lOjpvblRpdGxlQ2hhbmdlZCk6CisgICAgICAgICogRVdlYkxhdW5jaGVyL21haW4uYzoK
KyAgICAgICAgKHRpdGxlX3NldCk6CisgICAgICAgIChvbl90aXRsZV9jaGFuZ2VkKToKKyAgICAg
ICAgKG9uX2tleV9kb3duKToKKworMjAxMi0wNS0xNSAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5h
cm5lLnZlc3Rib0Bub2tpYS5jb20+CisKKyAgICAgICAgVGVhY2ggd2Via2l0LXBhdGNoIHRvIGdy
YWNlZnVsbHkgaGFuZGxlIHdyaXRlcyBvZiByYXcgdXRmLTggZW5jb2RlZCBzdHJpbmdzIHRvIHN5
cy5zdGRvdXQKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODU4MDkKKworICAgICAgICB3ZWJraXQtcGF0Y2ggb3ZlcnJpZGVzIHN5cy5zdGRvdXQgd2l0
aCBhIFN0cmVhbVdyaXRlciB0aGF0IGVuc3VyZXMgd2Ugd3JpdGUgdXRmOAorICAgICAgICBvdXRw
dXQgdG8gc3Rkb3V0LCBidXQgU3RyZWFtV3JpdGVyIHdpbGwgYnkgZGVmYXVsdCBhbHdheXMgZW5j
b2RlIHRoZSBvYmplY3QgdGhhdCdzCisgICAgICAgIHBhc3NlZCB0byB3cml0ZSgpLiBUaGlzIGJs
b3dzIHVwIHdoZW4gdGhlIG9iamVjdCBpcyBhIHJhdyBzdHJpbmcsIGFscmVhZHkgZW5jb2RlZAor
ICAgICAgICBhcyB1dGY4LCBhbmQgZG9lcyBub3QgbWF0Y2ggdGhlIGRlZmF1bHQgYmVoYXZpb3Ig
b2Ygc3lzLnN0ZG91dC4KKworICAgICAgICBUbyBzb2x2ZSB0aGlzIGluIG9uZSBwbGFjZSwgaW5z
dGVhZCBvZiBldmVyeSBzaW5nbGUgY2FsbC1zaXRlIHRoYXQgbWlnaHQgd3JpdGUKKyAgICAgICAg
cmF3IHN0cmluZ3MsIHdlIGV4dGVuZCB0aGUgc3Rkb3V0LXdyYXBwZXIgdG8gYXNzdW1lIHJhdyBz
dHJpbmdzIGFyZSB1dGY4IGJlZm9yZQorICAgICAgICBwYXNzaW5nIHRoZW0gb24gdG8gU3RyZWFt
V3JpdGVyLndyaXRlKCkuIFRoaXMgaGFzIHRoZSBiZW5lZml0IG9mIGFsc28gbWFraW5nIHRoZQor
ICAgICAgICBzdGFja3RyYWNlIGVhc3kgdG8gcmVhZCBpbiB0aGUgY2FzZSB3aGVyZSB0aGlzIGFz
c3VtcHRpb24gZG9lcyBub3QgaG9sZC4KKworICAgICAgICBUaGUgc291cmNlIG9mIHRoaXMgcGFy
dGljdWxhciBidWcgd2FzIHRoYXQgRXhlY3V0aXZlLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbCgpIHdp
bGwKKyAgICAgICAgdGVlIHRoZSBvdXRwdXQgb2YgdGhlIHN1YnByb2Nlc3MsIGFuZCBpbiB0aGUg
Y2FzZSBvZiBydW5uaW5nIHByZXBhcmUtQ2hhbmdlTG9nIHRoaXMKKyAgICAgICAgbWlnaHQgcHJv
ZHVjZSBub24tYXNjaWkgb3V0cHV0LCB3aGljaCBnZXRzIHdyaXR0ZW4gZGlyZWN0bHkgdG8gc3lz
LnN0ZG91dCBhcyByYXcKKyAgICAgICAgdXRmOC1lbmNvZGVkIHN0cmluZ3MuCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGlyayBQcmFua2UuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC1wYXRj
aDoKKwogMjAxMi0wNS0xNSAgVG9tYXN6IE1vcmF3c2tpICA8dC5tb3Jhd3NraUBzYW1zdW5nLmNv
bT4KIAogICAgICAgICBbRUZMXVtEUlRdIFNwbGl0IGV3a19wcml2YXRlLmggZmlsZSB0byBtdWx0
aXBsZSBwcml2YXRlIGZpbGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZs
L0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1w
UmVuZGVyVHJlZUNocm9tZS5jcHAKaW5kZXggYWFhNTRlYi4uYWMzNmJmMSAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCkBAIC00MzYs
OCArNDM2LDggQEAgdm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25UaXRsZUNoYW5nZWQodm9p
ZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCogZXZlbnRJbmZvKQogICAgIGlmICghZ0xheW91dFRlc3RD
b250cm9sbGVyLT5kdW1wVGl0bGVDaGFuZ2VzKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGNv
bnN0IGNoYXIqIHRpdGxlVGV4dCA9IHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPihldmVudEluZm8p
OwotICAgIHByaW50ZigiVElUTEUgQ0hBTkdFRDogJXNcbiIsIHRpdGxlVGV4dCk7CisgICAgY29u
c3QgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24qIHRpdGxlVGV4dCA9IHN0YXRpY19jYXN0PGNvbnN0
IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uKj4oZXZlbnRJbmZvKTsKKyAgICBwcmludGYoIlRJVExF
IENIQU5HRUQ6ICVzXG4iLCAodGl0bGVUZXh0ICYmIHRpdGxlVGV4dC0+c3RyaW5nKSA/IHRpdGxl
VGV4dC0+c3RyaW5nIDogIiIpOwogfQogCiB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkRv
Y3VtZW50TG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5mbykK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0VXZWJMYXVuY2hlci9tYWluLmMgYi9Ub29scy9FV2ViTGF1bmNo
ZXIvbWFpbi5jCmluZGV4IDhjYzIyODMuLmM3NTVmMzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0VXZWJM
YXVuY2hlci9tYWluLmMKKysrIGIvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYwpAQCAtMjI2LDIy
ICsyMjYsMjIgQEAgb25fZWNvcmVfZXZhc19yZXNpemUoRWNvcmVfRXZhcyAqZWUpCiB9CiAKIHN0
YXRpYyB2b2lkCi10aXRsZV9zZXQoRWNvcmVfRXZhcyAqZWUsIGNvbnN0IGNoYXIgKnRpdGxlLCBp
bnQgcHJvZ3Jlc3MpCit0aXRsZV9zZXQoRWNvcmVfRXZhcyAqZWUsIGNvbnN0IEV3a19UZXh0X1dp
dGhfRGlyZWN0aW9uICp0aXRsZSwgaW50IHByb2dyZXNzKQogewogICAgIGNvbnN0IGNoYXIgKmFw
cG5hbWUgPSAiRUZMIFRlc3QgTGF1bmNoZXIiOwogICAgIGNvbnN0IGNoYXIgKnNlcGFyYXRvciA9
ICIgLSAiOwogICAgIGNoYXIgbGFiZWxbNDA5Nl07CiAgICAgaW50IHNpemU7CiAKLSAgICBpZiAo
IXRpdGxlIHx8ICFzdHJjbXAodGl0bGUsICIiKSkgeworICAgIGlmICghdGl0bGUgfHwgIXRpdGxl
LT5zdHJpbmcgfHwgIXN0cmNtcCh0aXRsZS0+c3RyaW5nLCAiIikpIHsKICAgICAgICAgZWNvcmVf
ZXZhc190aXRsZV9zZXQoZWUsIGFwcG5hbWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAg
ICAgaWYgKHByb2dyZXNzIDwgMTAwKQotICAgICAgICBzaXplID0gc25wcmludGYobGFiZWwsIHNp
emVvZihsYWJlbCksICIlcyAoJWQlJSklcyVzIiwgdGl0bGUsIHByb2dyZXNzLCBzZXBhcmF0b3Is
IGFwcG5hbWUpOworICAgICAgICBzaXplID0gc25wcmludGYobGFiZWwsIHNpemVvZihsYWJlbCks
ICIlcyAoJWQlJSklcyVzIiwgdGl0bGUtPnN0cmluZywgcHJvZ3Jlc3MsIHNlcGFyYXRvciwgYXBw
bmFtZSk7CiAgICAgZWxzZQotICAgICAgICBzaXplID0gc25wcmludGYobGFiZWwsIHNpemVvZihs
YWJlbCksICIlcyAlcyVzIiwgdGl0bGUsIHNlcGFyYXRvciwgYXBwbmFtZSk7CisgICAgICAgIHNp
emUgPSBzbnByaW50ZihsYWJlbCwgc2l6ZW9mKGxhYmVsKSwgIiVzICVzJXMiLCB0aXRsZS0+c3Ry
aW5nLCBzZXBhcmF0b3IsIGFwcG5hbWUpOwogCiAgICAgaWYgKHNpemUgPj0gKGludClzaXplb2Yo
bGFiZWwpKQogICAgICAgICByZXR1cm47CkBAIC0yNTMsNyArMjUzLDcgQEAgc3RhdGljIHZvaWQK
IG9uX3RpdGxlX2NoYW5nZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqd2Vidmlldywg
dm9pZCAqZXZlbnRfaW5mbykKIHsKICAgICBFTGF1bmNoZXIgKmFwcCA9IChFTGF1bmNoZXIgKil1
c2VyX2RhdGE7Ci0gICAgY29uc3QgY2hhciAqdGl0bGUgPSAoY29uc3QgY2hhciAqKWV2ZW50X2lu
Zm87CisgICAgY29uc3QgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24gKnRpdGxlID0gKGNvbnN0IEV3
a19UZXh0X1dpdGhfRGlyZWN0aW9uICopZXZlbnRfaW5mbzsKIAogICAgIHRpdGxlX3NldChhcHAt
PmVlLCB0aXRsZSwgMTAwKTsKIH0KQEAgLTQ4OSw3ICs0ODksNyBAQCBvbl9rZXlfZG93bih2b2lk
ICpkYXRhLCBFdmFzICplLCBFdmFzX09iamVjdCAqb2JqLCB2b2lkICpldmVudF9pbmZvKQogICAg
ICAgICAgICAgICAgICAgIHgsIHksCiAgICAgICAgICAgICAgICAgICAgaHQtPngsIGh0LT55LAog
ICAgICAgICAgICAgICAgICAgIGh0LT5ib3VuZGluZ19ib3gueCwgaHQtPmJvdW5kaW5nX2JveC55
LCBodC0+Ym91bmRpbmdfYm94LncsIGh0LT5ib3VuZGluZ19ib3guaCwKLSAgICAgICAgICAgICAg
ICAgICBodC0+dGl0bGUsCisgICAgICAgICAgICAgICAgICAgaHQtPnRpdGxlLnN0cmluZywKICAg
ICAgICAgICAgICAgICAgICBodC0+YWx0ZXJuYXRlX3RleHQsCiAgICAgICAgICAgICAgICAgICAg
aHQtPmZyYW1lLCBldmFzX29iamVjdF9uYW1lX2dldChodC0+ZnJhbWUpLAogICAgICAgICAgICAg
ICAgICAgIGh0LT5saW5rLnRleHQsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142157</attachid>
            <date>2012-05-15 22:54:49 -0700</date>
            <delta_ts>2012-05-23 23:00:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>86462_title_direction.patch</filename>
            <type>text/plain</type>
            <size>15543</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCBjMWNiNjJhLi44MmMwMGU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMTItMDUtMTYgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhl
LmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXSBUaGUgRUZMIHBvcnQgaGFzIG5vIHN1
cHBvcnQgZm9yIHRpdGxlIGRpcmVjdGlvbmFsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjQ2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIERlZmluZSBhIG5ldyBFd2tfVGV4dF9XaXRoX0RpcmVjdGlv
biB0eXBlIHRvIHN0b3JlIHRoZSBkaXJlY3Rpb24gb2YKKyAgICAgICAgdGhlIHRleHQgYWxvbmcg
d2l0aCB0aGUgdGV4dCBpdHNlbGYuIFRoaXMgaXMgbmVlZGVkIHRvIHN1cHBvcnQgdGV4dAorICAg
ICAgICBkaXJlY3Rpb25hbGl0eSBpbiBFRkwgcG9ydC4KKworICAgICAgICBVc2UgdGhlIG5ldyBF
d2tfVGV4dF9XaXRoX0RpcmVjdGlvbiB0eXBlIGZvciB0aGUgZnJhbWUgdGl0bGUuIFVwZGF0ZWQK
KyAgICAgICAgInRpdGxlLGNoYW5nZWQiIHNpZ25hbCwgdGl0bGUgZ2V0dGVyL3NldHRlciBhbmQg
RXdrX0hpdF9UZXN0IHN0cnVjdC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZs
OjpkaXNwYXRjaERpZFJlY2VpdmVUaXRsZSk6CisgICAgICAgICogZXdrL2V3a19mcmFtZS5jcHA6
CisgICAgICAgIChFd2tfRnJhbWVfU21hcnRfRGF0YSk6CisgICAgICAgIChfZXdrX2ZyYW1lX3Nt
YXJ0X2RlbCk6CisgICAgICAgIChld2tfZnJhbWVfdGl0bGVfZ2V0KToKKyAgICAgICAgKGV3a19m
cmFtZV9oaXRfdGVzdF9mcmVlKToKKyAgICAgICAgKGV3a19mcmFtZV9oaXRfdGVzdF9uZXcpOgor
ICAgICAgICAoZXdrX2ZyYW1lX3RpdGxlX3NldCk6CisgICAgICAgICogZXdrL2V3a19mcmFtZS5o
OgorICAgICAgICAqIGV3ay9ld2tfZnJhbWVfcHJpdmF0ZS5oOgorICAgICAgICAqIGV3ay9ld2tf
dmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKGV3
a192aWV3X3RpdGxlX2dldCk6CisgICAgICAgIChld2tfdmlld190aXRsZV9zZXQpOgorICAgICAg
ICAqIGV3ay9ld2tfdmlldy5oOgorICAgICAgICAqIGV3ay9ld2tfdmlld19wcml2YXRlLmg6CisK
IDIwMTItMDUtMTUgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CiAKICAg
ICAgICAgW0VGTF0gRW5hYmxlIEZ1bGxzY3JlZW4gQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKaW5kZXgg
ZDc4ZjAyMS4uMTk0ODM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcApAQCAtNjEzLDEzICs2MTMsMTUg
QEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRTdGFydFByb3Zpc2lvbmFs
TG9hZCgpCiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoRGlkUmVjZWl2ZVRp
dGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJlY3Rpb24mIHRpdGxlKQogewotICAgIC8vIEZJWE1FOiB1
c2UgZGlyZWN0aW9uIG9mIHRpdGxlLgorICAgIEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uIGV3a1Rp
dGxlOwogICAgIENTdHJpbmcgY3MgPSB0aXRsZS5zdHJpbmcoKS51dGY4KCk7Ci0gICAgZXdrX2Zy
YW1lX3RpdGxlX3NldChtX2ZyYW1lLCBjcy5kYXRhKCkpOworICAgIGV3a1RpdGxlLnN0cmluZyA9
IGNzLmRhdGEoKTsKKyAgICBld2tUaXRsZS5kaXJlY3Rpb24gPSAodGl0bGUuZGlyZWN0aW9uKCkg
PT0gTFRSKSA/IEVXS19URVhUX0RJUkVDVElPTl9MRUZUX1RPX1JJR0hUIDogRVdLX1RFWFRfRElS
RUNUSU9OX1JJR0hUX1RPX0xFRlQ7CisgICAgZXdrX2ZyYW1lX3RpdGxlX3NldChtX2ZyYW1lLCAm
ZXdrVGl0bGUpOwogCiAgICAgaWYgKGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldykgIT0g
bV9mcmFtZSkKICAgICAgICAgcmV0dXJuOwotICAgIGV3a192aWV3X3RpdGxlX3NldChtX3ZpZXcs
IGNzLmRhdGEoKSk7CisgICAgZXdrX3ZpZXdfdGl0bGVfc2V0KG1fdmlldywgJmV3a1RpdGxlKTsK
IH0KIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRDaGFuZ2VJY29ucyhX
ZWJDb3JlOjpJY29uVHlwZSBpY29uVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfZnJhbWUuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAK
aW5kZXggODdhOTNmZi4uZmNhY2JlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a19mcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAK
QEAgLTczLDcgKzczLDcgQEAgc3RydWN0IEV3a19GcmFtZV9TbWFydF9EYXRhIHsKICAgICBFdmFz
X09iamVjdCogcmVnaW9uOwogI2VuZGlmCiAgICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lOwotICAg
IGNvbnN0IGNoYXIqIHRpdGxlOworICAgIEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uIHRpdGxlOwog
ICAgIGNvbnN0IGNoYXIqIHVyaTsKICAgICBjb25zdCBjaGFyKiBuYW1lOwogICAgIGJvb2wgZWRp
dGFibGUgOiAxOwpAQCAtMjM4LDcgKzIzOCw3IEBAIHN0YXRpYyB2b2lkIF9ld2tfZnJhbWVfc21h
cnRfZGVsKEV2YXNfT2JqZWN0KiBld2tGcmFtZSkKICAgICAgICAgICAgIHNtYXJ0RGF0YS0+ZnJh
bWUgPSAwOwogICAgICAgICB9CiAKLSAgICAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoc21hcnRE
YXRhLT50aXRsZSk7CisgICAgICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHNtYXJ0RGF0YS0+dGl0
bGUuc3RyaW5nKTsKICAgICAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoc21hcnREYXRhLT51cmkp
OwogICAgICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChzbWFydERhdGEtPm5hbWUpOwogICAgIH0K
QEAgLTM0MSwxMCArMzQxLDEwIEBAIGNvbnN0IGNoYXIqIGV3a19mcmFtZV91cmlfZ2V0KGNvbnN0
IEV2YXNfT2JqZWN0KiBld2tGcmFtZSkKICAgICByZXR1cm4gc21hcnREYXRhLT51cmk7CiB9CiAK
LWNvbnN0IGNoYXIqIGV3a19mcmFtZV90aXRsZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a0Zy
YW1lKQorY29uc3QgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24qIGV3a19mcmFtZV90aXRsZV9nZXQo
Y29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lKQogewogICAgIEVXS19GUkFNRV9TRF9HRVRfT1Jf
UkVUVVJOKGV3a0ZyYW1lLCBzbWFydERhdGEsIDApOwotICAgIHJldHVybiBzbWFydERhdGEtPnRp
dGxlOworICAgIHJldHVybiAmc21hcnREYXRhLT50aXRsZTsKIH0KIAogY29uc3QgY2hhciogZXdr
X2ZyYW1lX25hbWVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSkKQEAgLTY2Niw3ICs2
NjYsNyBAQCBFaW5hX0Jvb2wgZXdrX2ZyYW1lX3RleHRfem9vbV9zZXQoRXZhc19PYmplY3QqIGV3
a0ZyYW1lLCBmbG9hdCB0ZXh0Wm9vbUZhY3RvcikKIHZvaWQgZXdrX2ZyYW1lX2hpdF90ZXN0X2Zy
ZWUoRXdrX0hpdF9UZXN0KiBoaXRUZXN0KQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVU
VVJOKGhpdFRlc3QpOwotICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGhpdFRlc3QtPnRpdGxlKTsK
KyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChoaXRUZXN0LT50aXRsZS5zdHJpbmcpOwogICAgIGVp
bmFfc3RyaW5nc2hhcmVfZGVsKGhpdFRlc3QtPmFsdGVybmF0ZV90ZXh0KTsKICAgICBlaW5hX3N0
cmluZ3NoYXJlX2RlbChoaXRUZXN0LT5saW5rLnRleHQpOwogICAgIGVpbmFfc3RyaW5nc2hhcmVf
ZGVsKGhpdFRlc3QtPmxpbmsudXJsKTsKQEAgLTcxMSw3ICs3MTEsOCBAQCBFd2tfSGl0X1Rlc3Qq
IGV3a19mcmFtZV9oaXRfdGVzdF9uZXcoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBpbnQg
eCwgaW50IHkpCiAjZW5kaWYKIAogICAgIFdlYkNvcmU6OlRleHREaXJlY3Rpb24gZGlyZWN0aW9u
OwotICAgIGhpdFRlc3QtPnRpdGxlID0gZWluYV9zdHJpbmdzaGFyZV9hZGQocmVzdWx0LnRpdGxl
KGRpcmVjdGlvbikudXRmOCgpLmRhdGEoKSk7CisgICAgaGl0VGVzdC0+dGl0bGUuc3RyaW5nID0g
ZWluYV9zdHJpbmdzaGFyZV9hZGQocmVzdWx0LnRpdGxlKGRpcmVjdGlvbikudXRmOCgpLmRhdGEo
KSk7CisgICAgaGl0VGVzdC0+dGl0bGUuZGlyZWN0aW9uID0gKGRpcmVjdGlvbiA9PSBXZWJDb3Jl
OjpMVFIpID8gRVdLX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQgOiBFV0tfVEVYVF9ESVJF
Q1RJT05fUklHSFRfVE9fTEVGVDsKICAgICBoaXRUZXN0LT5hbHRlcm5hdGVfdGV4dCA9IGVpbmFf
c3RyaW5nc2hhcmVfYWRkKHJlc3VsdC5hbHREaXNwbGF5U3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7
CiAgICAgaWYgKHJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKSAmJiByZXN1bHQuaW5uZXJOb25T
aGFyZWROb2RlKCktPmRvY3VtZW50KCkKICAgICAgICAgJiYgcmVzdWx0LmlubmVyTm9uU2hhcmVk
Tm9kZSgpLT5kb2N1bWVudCgpLT5mcmFtZSgpKQpAQCAtMTUzNCwxMyArMTUzNSwxNCBAQCB2b2lk
IGV3a19mcmFtZV9jb250ZW50c19zaXplX2NoYW5nZWQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBF
dmFzX0Nvb3JkIHdpZHRoLCBFdgogICoKICAqIFJlcG9ydHMgdGl0bGUgY2hhbmdlZC4KICAqLwot
dm9pZCBld2tfZnJhbWVfdGl0bGVfc2V0KEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgY29uc3QgY2hh
ciogdGl0bGUpCit2b2lkIGV3a19mcmFtZV90aXRsZV9zZXQoRXZhc19PYmplY3QqIGV3a0ZyYW1l
LCBjb25zdCBFd2tfVGV4dF9XaXRoX0RpcmVjdGlvbiogdGl0bGUpCiB7Ci0gICAgREJHKCJld2tG
cmFtZT0lcCwgdGl0bGU9JXMiLCBld2tGcmFtZSwgdGl0bGUgPyB0aXRsZSA6ICIobnVsbCkiKTsK
KyAgICBEQkcoImV3a0ZyYW1lPSVwLCB0aXRsZT0lcyIsIGV3a0ZyYW1lLCB0aXRsZS0+c3RyaW5n
ID8gdGl0bGUtPnN0cmluZyA6ICIobnVsbCkiKTsKICAgICBFV0tfRlJBTUVfU0RfR0VUX09SX1JF
VFVSTihld2tGcmFtZSwgc21hcnREYXRhKTsKLSAgICBpZiAoIWVpbmFfc3RyaW5nc2hhcmVfcmVw
bGFjZSgmc21hcnREYXRhLT50aXRsZSwgdGl0bGUpKQorICAgIGlmICghZWluYV9zdHJpbmdzaGFy
ZV9yZXBsYWNlKCZzbWFydERhdGEtPnRpdGxlLnN0cmluZywgdGl0bGUtPnN0cmluZykpCiAgICAg
ICAgIHJldHVybjsKLSAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKGV3a0ZyYW1l
LCAidGl0bGUsY2hhbmdlZCIsICh2b2lkKilzbWFydERhdGEtPnRpdGxlKTsKKyAgICBzbWFydERh
dGEtPnRpdGxlLmRpcmVjdGlvbiA9IHRpdGxlLT5kaXJlY3Rpb247CisgICAgZXZhc19vYmplY3Rf
c21hcnRfY2FsbGJhY2tfY2FsbChld2tGcmFtZSwgInRpdGxlLGNoYW5nZWQiLCAodm9pZCopdGl0
bGUpOwogfQogCiAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJh
bWUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaAppbmRleCBmNWJiYTFiLi4z
MTMyNDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKKysr
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCkBAIC03MSw3ICs3MSw3IEBACiAg
KiAgLSAicmVzb3VyY2UscmVzcG9uc2UscmVjZWl2ZWQiLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVz
cG9uc2UqOiByZXBvcnRzIHRoYXQgYSByZXNwb25zZQogICogICAgdG8gYSByZXNvdXJjZSByZXF1
ZXN0IHdhcyByZWNlaXZlZC4KICAqICAtICJzdGF0ZSxzYXZlIiwgdm9pZDogZnJhbWUncyBzdGF0
ZSB3aWxsIGJlIHNhdmVkIGFzIGEgaGlzdG9yeSBpdGVtLgotICogIC0gInRpdGxlLGNoYW5nZWQi
LCBjb25zdCBjaGFyKjogdGl0bGUgb2YgdGhlIG1haW4gZnJhbWUgd2FzIGNoYW5nZWQuCisgKiAg
LSAidGl0bGUsY2hhbmdlZCIsIEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uKjogdGl0bGUgb2YgdGhl
IG1haW4gZnJhbWUgd2FzIGNoYW5nZWQuCiAgKiAgLSAidXJpLGNoYW5nZWQiLCBjb25zdCBjaGFy
KjogdXJpIG9mIHRoZSBtYWluIGZyYW1lIHdhcyBjaGFuZ2VkLgogICogIC0gInhzcyxkZXRlY3Rl
ZCIsIEV3a19GcmFtZV9Yc3NfTm90aWZpY2F0aW9uKjogcmVmbGVjdGVkIFhTUyBpcyBlbmNvdW50
ZXJlZCBpbiB0aGUgcGFnZSBhbmQgc3VwcHJlc3NlZC4KICAqLwpAQCAtMTUwLDYgKzE1MCwyMSBA
QCBzdHJ1Y3QgX0V3a19GcmFtZV9SZXNvdXJjZV9NZXNzYWdlcyB7CiAgICAgRXdrX0ZyYW1lX1Jl
c291cmNlX1Jlc3BvbnNlICpyZWRpcmVjdF9yZXNwb25zZTsgLyoqPCByZWRpcmVjdCByZXNwb25z
ZSwgY2FuIG5vdCBiZSBjaGFuZ2VkICovCiB9OwogCisvLy8gRW51bSBjb250YWluaW5nIHRleHQg
ZGlyZWN0aW9uYWxpdHkgdmFsdWVzLgordHlwZWRlZiBlbnVtIHsKKyAgICBFV0tfVEVYVF9ESVJF
Q1RJT05fREVGQVVMVCwgLyoqPCBOYXR1cmFsIHdyaXRpbmcgZGlyZWN0aW9uICgiaW5oZXJpdCIp
ICovCisgICAgRVdLX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQsCisgICAgRVdLX1RFWFRf
RElSRUNUSU9OX1JJR0hUX1RPX0xFRlQKK30gRXdrX1RleHRfRGlyZWN0aW9uOworCisvLy8gQ3Jl
YXRlcyBhIHR5cGUgbmFtZSBmb3IgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24uCit0eXBlZGVmIHN0
cnVjdCBfRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24gRXdrX1RleHRfV2l0aF9EaXJlY3Rpb247CisK
K3N0cnVjdCBfRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24geworICAgIGNvbnN0IGNoYXIgKnN0cmlu
ZzsKKyAgICBFd2tfVGV4dF9EaXJlY3Rpb24gZGlyZWN0aW9uOworfTsKKwogLy8vIENyZWF0ZXMg
YSB0eXBlIG5hbWUgZm9yIEV3a19GcmFtZV9Yc3NfTm90aWZpY2F0aW9uLgogdHlwZWRlZiBzdHJ1
Y3QgX0V3a19GcmFtZV9Yc3NfTm90aWZpY2F0aW9uIEV3a19GcmFtZV9Yc3NfTm90aWZpY2F0aW9u
OwogCkBAIC0xODQsNyArMTk5LDcgQEAgc3RydWN0IF9Fd2tfSGl0X1Rlc3QgewogICAgIHN0cnVj
dCB7CiAgICAgICAgIGludCB4LCB5LCB3LCBoOwogICAgIH0gYm91bmRpbmdfYm94OyAvKio8IERF
UFJFQ0FURUQsIHNlZSBld2tfZnJhbWVfaGl0X3Rlc3RfbmV3KCkgKi8KLSAgICBjb25zdCBjaGFy
ICp0aXRsZTsgLyoqPCB0aXRsZSBvZiB0aGUgZWxlbWVudCAqLworICAgIEV3a19UZXh0X1dpdGhf
RGlyZWN0aW9uIHRpdGxlOyAvKio8IHRpdGxlIG9mIHRoZSBlbGVtZW50ICovCiAgICAgY29uc3Qg
Y2hhciAqYWx0ZXJuYXRlX3RleHQ7IC8qKjwgdGhlIGFsdGVybmF0ZSB0ZXh0IGZvciBpbWFnZSwg
YXJlYSwgaW5wdXQgYW5kIGFwcGxldCAqLwogICAgIEV2YXNfT2JqZWN0ICpmcmFtZTsgLyoqPCB0
aGUgcG9pbnRlciB0byBmcmFtZSB3aGVyZSBoaXQgdGVzdCB3YXMgcmVxdWVzdGVkICovCiAgICAg
c3RydWN0IHsKQEAgLTMzOSw3ICszNTQsNyBAQCBFQVBJIGNvbnN0IGNoYXIgICpld2tfZnJhbWVf
dXJpX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAgKgogICogQHJldHVybiBmcmFtZSB0aXRs
ZSBvbiBzdWNjZXNzIG9yIEBjIDAgb24gZmFpbHVyZQogICovCi1FQVBJIGNvbnN0IGNoYXIgICpl
d2tfZnJhbWVfdGl0bGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKK0VBUEkgY29uc3QgRXdr
X1RleHRfV2l0aF9EaXJlY3Rpb24gICpld2tfZnJhbWVfdGl0bGVfZ2V0KGNvbnN0IEV2YXNfT2Jq
ZWN0ICpvKTsKIAogLyoqCiAgKiBHZXRzIHRoZSBuYW1lIG9mIHRoaXMgZnJhbWUuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lX3ByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWVfcHJpdmF0ZS5oCmluZGV4IGJkMDg3ZGUuLmMxYjRlZmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWVfcHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWVfcHJpdmF0ZS5oCkBAIC02MSw3ICs2
MSw3IEBAIHZvaWQgZXdrX2ZyYW1lX3ZpZXdfc3RhdGVfc2F2ZShFdmFzX09iamVjdCogZXdrRnJh
bWUsIFdlYkNvcmU6Okhpc3RvcnlJdGVtKiBpdGVtCiB2b2lkIGV3a19mcmFtZV9kaWRfcGVyZm9y
bV9maXJzdF9uYXZpZ2F0aW9uKEV2YXNfT2JqZWN0KiBld2tGcmFtZSk7CiAKIHZvaWQgZXdrX2Zy
YW1lX2NvbnRlbnRzX3NpemVfY2hhbmdlZChFdmFzX09iamVjdCogZXdrRnJhbWUsIEV2YXNfQ29v
cmQgd2lkdGgsIEV2YXNfQ29vcmQgaGVpZ2h0KTsKLXZvaWQgZXdrX2ZyYW1lX3RpdGxlX3NldChF
dmFzX09iamVjdCogZXdrRnJhbWUsIGNvbnN0IGNoYXIqIHRpdGxlKTsKK3ZvaWQgZXdrX2ZyYW1l
X3RpdGxlX3NldChFdmFzX09iamVjdCogZXdrRnJhbWUsIGNvbnN0IEV3a19UZXh0X1dpdGhfRGly
ZWN0aW9uKiB0aXRsZSk7CiAKIHZvaWQgZXdrX2ZyYW1lX3ZpZXdfY3JlYXRlX2Zvcl92aWV3KEV2
YXNfT2JqZWN0KiBld2tGcmFtZSwgRXZhc19PYmplY3QqIHZpZXcpOwogYm9vbCBld2tfZnJhbWVf
dXJpX2NoYW5nZWQoRXZhc19PYmplY3QqIGV3a0ZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuY3BwCmluZGV4IGNhNjAwOGUuLjQ2NmQ4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3
LmNwcApAQCAtMTMxOSw3ICsxMzE5LDcgQEAgY29uc3QgY2hhciogZXdrX3ZpZXdfdXJpX2dldChj
b25zdCBFdmFzX09iamVjdCogZXdrVmlldykKICAgICByZXR1cm4gZXdrX2ZyYW1lX3VyaV9nZXQo
c21hcnREYXRhLT5tYWluX2ZyYW1lKTsKIH0KIAotY29uc3QgY2hhciogZXdrX3ZpZXdfdGl0bGVf
Z2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQorY29uc3QgRXdrX1RleHRfV2l0aF9EaXJl
Y3Rpb24qIGV3a192aWV3X3RpdGxlX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldykKIHsK
ICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgMCk7CiAg
ICAgcmV0dXJuIGV3a19mcmFtZV90aXRsZV9nZXQoc21hcnREYXRhLT5tYWluX2ZyYW1lKTsKQEAg
LTI4ODcsOSArMjg4Nyw5IEBAIHZvaWQgZXdrX3ZpZXdfaW5wdXRfbWV0aG9kX3N0YXRlX3NldChF
dmFzX09iamVjdCogZXdrVmlldywgYm9vbCBhY3RpdmUpCiAgKgogICogRW1pdHMgc2lnbmFsOiAi
dGl0bGUsY2hhbmdlZCIgd2l0aCBwb2ludGVyIHRvIG5ldyB0aXRsZSBzdHJpbmcuCiAgKi8KLXZv
aWQgZXdrX3ZpZXdfdGl0bGVfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBjaGFyKiB0
aXRsZSkKK3ZvaWQgZXdrX3ZpZXdfdGl0bGVfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25z
dCBFd2tfVGV4dF9XaXRoX0RpcmVjdGlvbiogdGl0bGUpCiB7Ci0gICAgREJHKCJld2tWaWV3PSVw
LCB0aXRsZT0lcyIsIGV3a1ZpZXcsIHRpdGxlID8gdGl0bGUgOiAiKG51bGwpIik7CisgICAgREJH
KCJld2tWaWV3PSVwLCB0aXRsZT0lcyIsIGV3a1ZpZXcsICh0aXRsZSAmJiB0aXRsZS0+c3RyaW5n
KSA/IHRpdGxlLT5zdHJpbmcgOiAiKG51bGwpIik7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2Fs
bGJhY2tfY2FsbChld2tWaWV3LCAidGl0bGUsY2hhbmdlZCIsICh2b2lkKil0aXRsZSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a192aWV3LmgKaW5kZXggOTgyMTBmOC4uZjVlZjcyZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a192aWV3LmgKQEAgLTg0LDcgKzg0LDcgQEAKICAqICAtICJzdGF0dXNiYXIsdmlz
aWJsZSxnZXQiLCBFaW5hX0Jvb2wgKjogZXhwZWN0cyBhIEBjIEVJTkFfVFJVRSBpZiBzdGF0dXNi
YXIgaXMKICAqICAgIHZpc2libGU7IEBjIEVJTkFfRkFMU0UsIG90aGVyd2lzZS4KICAqICAtICJz
dGF0dXNiYXIsdmlzaWJsZSxzZXQiLCBFaW5hX0Jvb2w6IHNldHMgc3RhdHVzYmFyIHZpc2liaWxp
dHkuCi0gKiAgLSAidGl0bGUsY2hhbmdlZCIsIGNvbnN0IGNoYXIqOiB0aXRsZSBvZiB0aGUgbWFp
biBmcmFtZSB3YXMgY2hhbmdlZC4KKyAqICAtICJ0aXRsZSxjaGFuZ2VkIiwgRXdrX1RleHRfV2l0
aF9EaXJlY3Rpb24qOiB0aXRsZSBvZiB0aGUgbWFpbiBmcmFtZSB3YXMgY2hhbmdlZC4KICAqICAt
ICJ0b29sYmFycyx2aXNpYmxlLGdldCIsIEVpbmFfQm9vbCAqOiBleHBlY3RzIGEgQGMgRUlOQV9U
UlVFIGlmIHRvb2xiYXIKICAqICAgIGlzIHZpc2libGU7IEBjIEVJTkFfRkFMU0UsIG90aGVyd2lz
ZS4KICAqICAtICJ0b29sYmFycyx2aXNpYmxlLHNldCIsIEVpbmFfQm9vbDogc2V0cyB0b29sYmFy
IHZpc2liaWxpdHkuCkBAIC02NzEsNyArNjcxLDcgQEAgRUFQSSBjb25zdCBjaGFyICAqZXdrX3Zp
ZXdfdXJpX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAgKgogICogQHJldHVybiBjdXJyZW50
IHRpdGxlIG9uIHN1Y2Nlc3Mgb3IgQGMgMCBvbiBmYWlsdXJlCiAgKi8KLUVBUEkgY29uc3QgY2hh
ciAgKmV3a192aWV3X3RpdGxlX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CitFQVBJIGNvbnN0
IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uICAqZXdrX3ZpZXdfdGl0bGVfZ2V0KGNvbnN0IEV2YXNf
T2JqZWN0ICpvKTsKIAogLyoqCiAgKiBRdWVyaWVzIGlmIHRoZSBtYWluIGZyYW1lIGlzIGVkaXRh
YmxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3ByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmgKaW5kZXggNjBmNjIy
MC4uNzNkZGM2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfcHJpdmF0ZS5oCkBA
IC00OCw3ICs0OCw3IEBAIGNvbnN0IGNoYXIgZXdrVmlld1NpbmdsZU5hbWVbXSA9ICJFd2tfVmll
d19TaW5nbGUiOwogCiB2b2lkIGV3a192aWV3X3JlYWR5KEV2YXNfT2JqZWN0KiBld2tWaWV3KTsK
IHZvaWQgZXdrX3ZpZXdfaW5wdXRfbWV0aG9kX3N0YXRlX3NldChFdmFzX09iamVjdCogZXdrVmll
dywgYm9vbCBhY3RpdmUpOwotdm9pZCBld2tfdmlld190aXRsZV9zZXQoRXZhc19PYmplY3QqIGV3
a1ZpZXcsIGNvbnN0IGNoYXIqIHRpdGxlKTsKK3ZvaWQgZXdrX3ZpZXdfdGl0bGVfc2V0KEV2YXNf
T2JqZWN0KiBld2tWaWV3LCBjb25zdCBFd2tfVGV4dF9XaXRoX0RpcmVjdGlvbiogdGl0bGUpOwog
dm9pZCBld2tfdmlld191cmlfY2hhbmdlZChFdmFzX09iamVjdCogZXdrVmlldyk7CiB2b2lkIGV3
a192aWV3X2xvYWRfZG9jdW1lbnRfZmluaXNoZWQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNf
T2JqZWN0KiBmcmFtZSk7CiB2b2lkIGV3a192aWV3X2xvYWRfc3RhcnRlZChFdmFzX09iamVjdCog
ZXdrVmlldywgRXZhc19PYmplY3QqIGV3a0ZyYW1lKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5M2IxZjNlLi4wMzVkNTNmIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTItMDUtMTYgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNv
bT4KKworICAgICAgICBbRUZMXSBUaGUgRUZMIHBvcnQgaGFzIG5vIHN1cHBvcnQgZm9yIHRpdGxl
IGRpcmVjdGlvbmFsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NjQ2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFVwZGF0ZSAidGl0bGUsY2hhbmdlZCIgc2lnbmFsIGhhbmRsZXJzIGluIERSVCBhbmQg
RVdlYkxhdW5jaGVyIHRvCisgICAgICAgIHJlZmxlY3QgdGhlIGNoYW5nZSBmcm9tIGNvbnN0IGNo
YXIqIHRvIEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uKiB0eXBlCisgICAgICAgIGZvciB0aGUgdGl0
bGUuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUu
Y3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uVGl0bGVDaGFuZ2VkKToKKyAg
ICAgICAgKiBFV2ViTGF1bmNoZXIvbWFpbi5jOgorICAgICAgICAodGl0bGVfc2V0KToKKyAgICAg
ICAgKG9uX3RpdGxlX2NoYW5nZWQpOgorICAgICAgICAob25fa2V5X2Rvd24pOgorCiAyMDEyLTA1
LTE1ICBLYW5naWwgSGFuICA8a2FuZ2lsLmhhbkBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZM
XVtEUlRdIEZpeCBldmVudFNlbmRlciBrZXkgcHJvdmlkaW5nCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAppbmRleCBhYWE1NGViLi5hYzM2
YmYxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVD
aHJvbWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNo
cm9tZS5jcHAKQEAgLTQzNiw4ICs0MzYsOCBAQCB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpv
blRpdGxlQ2hhbmdlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKiBldmVudEluZm8pCiAgICAg
aWYgKCFnTGF5b3V0VGVzdENvbnRyb2xsZXItPmR1bXBUaXRsZUNoYW5nZXMoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgY29uc3QgY2hhciogdGl0bGVUZXh0ID0gc3RhdGljX2Nhc3Q8Y29uc3Qg
Y2hhcio+KGV2ZW50SW5mbyk7Ci0gICAgcHJpbnRmKCJUSVRMRSBDSEFOR0VEOiAlc1xuIiwgdGl0
bGVUZXh0KTsKKyAgICBjb25zdCBFd2tfVGV4dF9XaXRoX0RpcmVjdGlvbiogdGl0bGVUZXh0ID0g
c3RhdGljX2Nhc3Q8Y29uc3QgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24qPihldmVudEluZm8pOwor
ICAgIHByaW50ZigiVElUTEUgQ0hBTkdFRDogJXNcbiIsICh0aXRsZVRleHQgJiYgdGl0bGVUZXh0
LT5zdHJpbmcpID8gdGl0bGVUZXh0LT5zdHJpbmcgOiAiIik7CiB9CiAKIHZvaWQgRHVtcFJlbmRl
clRyZWVDaHJvbWU6Om9uRG9jdW1lbnRMb2FkRmluaXNoZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwg
dm9pZCogZXZlbnRJbmZvKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYyBi
L1Rvb2xzL0VXZWJMYXVuY2hlci9tYWluLmMKaW5kZXggOGNjMjI4My4uYzc1NWYzMiAxMDA2NDQK
LS0tIGEvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYworKysgYi9Ub29scy9FV2ViTGF1bmNoZXIv
bWFpbi5jCkBAIC0yMjYsMjIgKzIyNiwyMiBAQCBvbl9lY29yZV9ldmFzX3Jlc2l6ZShFY29yZV9F
dmFzICplZSkKIH0KIAogc3RhdGljIHZvaWQKLXRpdGxlX3NldChFY29yZV9FdmFzICplZSwgY29u
c3QgY2hhciAqdGl0bGUsIGludCBwcm9ncmVzcykKK3RpdGxlX3NldChFY29yZV9FdmFzICplZSwg
Y29uc3QgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24gKnRpdGxlLCBpbnQgcHJvZ3Jlc3MpCiB7CiAg
ICAgY29uc3QgY2hhciAqYXBwbmFtZSA9ICJFRkwgVGVzdCBMYXVuY2hlciI7CiAgICAgY29uc3Qg
Y2hhciAqc2VwYXJhdG9yID0gIiAtICI7CiAgICAgY2hhciBsYWJlbFs0MDk2XTsKICAgICBpbnQg
c2l6ZTsKIAotICAgIGlmICghdGl0bGUgfHwgIXN0cmNtcCh0aXRsZSwgIiIpKSB7CisgICAgaWYg
KCF0aXRsZSB8fCAhdGl0bGUtPnN0cmluZyB8fCAhc3RyY21wKHRpdGxlLT5zdHJpbmcsICIiKSkg
ewogICAgICAgICBlY29yZV9ldmFzX3RpdGxlX3NldChlZSwgYXBwbmFtZSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKICAgICBpZiAocHJvZ3Jlc3MgPCAxMDApCi0gICAgICAgIHNpemUgPSBz
bnByaW50ZihsYWJlbCwgc2l6ZW9mKGxhYmVsKSwgIiVzICglZCUlKSVzJXMiLCB0aXRsZSwgcHJv
Z3Jlc3MsIHNlcGFyYXRvciwgYXBwbmFtZSk7CisgICAgICAgIHNpemUgPSBzbnByaW50ZihsYWJl
bCwgc2l6ZW9mKGxhYmVsKSwgIiVzICglZCUlKSVzJXMiLCB0aXRsZS0+c3RyaW5nLCBwcm9ncmVz
cywgc2VwYXJhdG9yLCBhcHBuYW1lKTsKICAgICBlbHNlCi0gICAgICAgIHNpemUgPSBzbnByaW50
ZihsYWJlbCwgc2l6ZW9mKGxhYmVsKSwgIiVzICVzJXMiLCB0aXRsZSwgc2VwYXJhdG9yLCBhcHBu
YW1lKTsKKyAgICAgICAgc2l6ZSA9IHNucHJpbnRmKGxhYmVsLCBzaXplb2YobGFiZWwpLCAiJXMg
JXMlcyIsIHRpdGxlLT5zdHJpbmcsIHNlcGFyYXRvciwgYXBwbmFtZSk7CiAKICAgICBpZiAoc2l6
ZSA+PSAoaW50KXNpemVvZihsYWJlbCkpCiAgICAgICAgIHJldHVybjsKQEAgLTI1Myw3ICsyNTMs
NyBAQCBzdGF0aWMgdm9pZAogb25fdGl0bGVfY2hhbmdlZCh2b2lkICp1c2VyX2RhdGEsIEV2YXNf
T2JqZWN0ICp3ZWJ2aWV3LCB2b2lkICpldmVudF9pbmZvKQogewogICAgIEVMYXVuY2hlciAqYXBw
ID0gKEVMYXVuY2hlciAqKXVzZXJfZGF0YTsKLSAgICBjb25zdCBjaGFyICp0aXRsZSA9IChjb25z
dCBjaGFyICopZXZlbnRfaW5mbzsKKyAgICBjb25zdCBFd2tfVGV4dF9XaXRoX0RpcmVjdGlvbiAq
dGl0bGUgPSAoY29uc3QgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24gKilldmVudF9pbmZvOwogCiAg
ICAgdGl0bGVfc2V0KGFwcC0+ZWUsIHRpdGxlLCAxMDApOwogfQpAQCAtNDg5LDcgKzQ4OSw3IEBA
IG9uX2tleV9kb3duKHZvaWQgKmRhdGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0ICpvYmosIHZvaWQg
KmV2ZW50X2luZm8pCiAgICAgICAgICAgICAgICAgICAgeCwgeSwKICAgICAgICAgICAgICAgICAg
ICBodC0+eCwgaHQtPnksCiAgICAgICAgICAgICAgICAgICAgaHQtPmJvdW5kaW5nX2JveC54LCBo
dC0+Ym91bmRpbmdfYm94LnksIGh0LT5ib3VuZGluZ19ib3gudywgaHQtPmJvdW5kaW5nX2JveC5o
LAotICAgICAgICAgICAgICAgICAgIGh0LT50aXRsZSwKKyAgICAgICAgICAgICAgICAgICBodC0+
dGl0bGUuc3RyaW5nLAogICAgICAgICAgICAgICAgICAgIGh0LT5hbHRlcm5hdGVfdGV4dCwKICAg
ICAgICAgICAgICAgICAgICBodC0+ZnJhbWUsIGV2YXNfb2JqZWN0X25hbWVfZ2V0KGh0LT5mcmFt
ZSksCiAgICAgICAgICAgICAgICAgICAgaHQtPmxpbmsudGV4dCwK
</data>
<flag name="review"
          id="148416"
          type_id="1"
          status="+"
          setter="gustavo"
    />
    <flag name="commit-queue"
          id="148417"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143737</attachid>
            <date>2012-05-23 23:00:36 -0700</date>
            <delta_ts>2012-05-24 00:02:29 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>86462_title_direction.patch</filename>
            <type>text/plain</type>
            <size>16099</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCAyOTI1YTAwLi40MmU4MDkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMTItMDUtMjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhl
LmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXSBUaGUgRUZMIHBvcnQgaGFzIG5vIHN1
cHBvcnQgZm9yIHRpdGxlIGRpcmVjdGlvbmFsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjQ2MgorCisgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rh
dm8gTm9yb25oYSBTaWx2YS4KKworICAgICAgICBEZWZpbmUgYSBuZXcgRXdrX1RleHRfV2l0aF9E
aXJlY3Rpb24gdHlwZSB0byBzdG9yZSB0aGUgZGlyZWN0aW9uIG9mCisgICAgICAgIHRoZSB0ZXh0
IGFsb25nIHdpdGggdGhlIHRleHQgaXRzZWxmLiBUaGlzIGlzIG5lZWRlZCB0byBzdXBwb3J0IHRl
eHQKKyAgICAgICAgZGlyZWN0aW9uYWxpdHkgaW4gRUZMIHBvcnQuCisKKyAgICAgICAgVXNlIHRo
ZSBuZXcgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24gdHlwZSBmb3IgdGhlIGZyYW1lIHRpdGxlLiBV
cGRhdGVkCisgICAgICAgICJ0aXRsZSxjaGFuZ2VkIiBzaWduYWwsIHRpdGxlIGdldHRlci9zZXR0
ZXIgYW5kIEV3a19IaXRfVGVzdCBzdHJ1Y3QuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNs
aWVudEVmbDo6ZGlzcGF0Y2hEaWRSZWNlaXZlVGl0bGUpOgorICAgICAgICAqIGV3ay9ld2tfZnJh
bWUuY3BwOgorICAgICAgICAoRXdrX0ZyYW1lX1NtYXJ0X0RhdGEpOgorICAgICAgICAoX2V3a19m
cmFtZV9zbWFydF9kZWwpOgorICAgICAgICAoZXdrX2ZyYW1lX3RpdGxlX2dldCk6CisgICAgICAg
IChld2tfZnJhbWVfaGl0X3Rlc3RfZnJlZSk6CisgICAgICAgIChld2tfZnJhbWVfaGl0X3Rlc3Rf
bmV3KToKKyAgICAgICAgKGV3a19mcmFtZV90aXRsZV9zZXQpOgorICAgICAgICAqIGV3ay9ld2tf
ZnJhbWUuaDoKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lX3ByaXZhdGUuaDoKKyAgICAgICAgKiBl
d2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoX0V3a19WaWV3X1ByaXZhdGVfRGF0YSk6CisgICAg
ICAgIChld2tfdmlld190aXRsZV9nZXQpOgorICAgICAgICAoZXdrX3ZpZXdfdGl0bGVfc2V0KToK
KyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXdfcHJpdmF0
ZS5oOgorCiAyMDEyLTA1LTIzICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBp
bnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gRUZMJ3MgRFJUIGRvZXMgbm90IHByaW50IGRpZEZh
aWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3IgbWVzc2FnZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcAppbmRl
eCBiYWM5M2Q4Li5jMDhkM2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCkBAIC02MTYsMTMgKzYxNiwx
NSBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaERpZFN0YXJ0UHJvdmlzaW9u
YWxMb2FkKCkKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlzcGF0Y2hEaWRSZWNlaXZl
VGl0bGUoY29uc3QgU3RyaW5nV2l0aERpcmVjdGlvbiYgdGl0bGUpCiB7Ci0gICAgLy8gRklYTUU6
IHVzZSBkaXJlY3Rpb24gb2YgdGl0bGUuCisgICAgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24gZXdr
VGl0bGU7CiAgICAgQ1N0cmluZyBjcyA9IHRpdGxlLnN0cmluZygpLnV0ZjgoKTsKLSAgICBld2tf
ZnJhbWVfdGl0bGVfc2V0KG1fZnJhbWUsIGNzLmRhdGEoKSk7CisgICAgZXdrVGl0bGUuc3RyaW5n
ID0gY3MuZGF0YSgpOworICAgIGV3a1RpdGxlLmRpcmVjdGlvbiA9ICh0aXRsZS5kaXJlY3Rpb24o
KSA9PSBMVFIpID8gRVdLX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQgOiBFV0tfVEVYVF9E
SVJFQ1RJT05fUklHSFRfVE9fTEVGVDsKKyAgICBld2tfZnJhbWVfdGl0bGVfc2V0KG1fZnJhbWUs
ICZld2tUaXRsZSk7CiAKICAgICBpZiAoZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQobV92aWV3KSAh
PSBtX2ZyYW1lKQogICAgICAgICByZXR1cm47Ci0gICAgZXdrX3ZpZXdfdGl0bGVfc2V0KG1fdmll
dywgY3MuZGF0YSgpKTsKKyAgICBld2tfdmlld190aXRsZV9zZXQobV92aWV3LCAmZXdrVGl0bGUp
OwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaXNwYXRjaERpZENoYW5nZUljb25z
KFdlYkNvcmU6Okljb25UeXBlIGljb25UeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19mcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNw
cAppbmRleCBmMDY0MTZjLi5jODAwYWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX2ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNw
cApAQCAtNzQsNyArNzQsNyBAQCBzdHJ1Y3QgRXdrX0ZyYW1lX1NtYXJ0X0RhdGEgewogICAgIEV2
YXNfT2JqZWN0KiByZWdpb247CiAjZW5kaWYKICAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWU7Ci0g
ICAgY29uc3QgY2hhciogdGl0bGU7CisgICAgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24gdGl0bGU7
CiAgICAgY29uc3QgY2hhciogdXJpOwogICAgIGNvbnN0IGNoYXIqIG5hbWU7CiAgICAgYm9vbCBl
ZGl0YWJsZSA6IDE7CkBAIC0yNDAsNyArMjQwLDcgQEAgc3RhdGljIHZvaWQgX2V3a19mcmFtZV9z
bWFydF9kZWwoRXZhc19PYmplY3QqIGV3a0ZyYW1lKQogICAgICAgICAgICAgc21hcnREYXRhLT5m
cmFtZSA9IDA7CiAgICAgICAgIH0KIAotICAgICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChzbWFy
dERhdGEtPnRpdGxlKTsKKyAgICAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoc21hcnREYXRhLT50
aXRsZS5zdHJpbmcpOwogICAgICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChzbWFydERhdGEtPnVy
aSk7CiAgICAgICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHNtYXJ0RGF0YS0+bmFtZSk7CiAgICAg
fQpAQCAtMzQzLDEwICszNDMsMTAgQEAgY29uc3QgY2hhciogZXdrX2ZyYW1lX3VyaV9nZXQoY29u
c3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lKQogICAgIHJldHVybiBzbWFydERhdGEtPnVyaTsKIH0K
IAotY29uc3QgY2hhciogZXdrX2ZyYW1lX3RpdGxlX2dldChjb25zdCBFdmFzX09iamVjdCogZXdr
RnJhbWUpCitjb25zdCBFd2tfVGV4dF9XaXRoX0RpcmVjdGlvbiogZXdrX2ZyYW1lX3RpdGxlX2dl
dChjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUpCiB7CiAgICAgRVdLX0ZSQU1FX1NEX0dFVF9P
Ul9SRVRVUk4oZXdrRnJhbWUsIHNtYXJ0RGF0YSwgMCk7Ci0gICAgcmV0dXJuIHNtYXJ0RGF0YS0+
dGl0bGU7CisgICAgcmV0dXJuICZzbWFydERhdGEtPnRpdGxlOwogfQogCiBjb25zdCBjaGFyKiBl
d2tfZnJhbWVfbmFtZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lKQpAQCAtNjY4LDcg
KzY2OCw3IEBAIEVpbmFfQm9vbCBld2tfZnJhbWVfdGV4dF96b29tX3NldChFdmFzX09iamVjdCog
ZXdrRnJhbWUsIGZsb2F0IHRleHRab29tRmFjdG9yKQogdm9pZCBld2tfZnJhbWVfaGl0X3Rlc3Rf
ZnJlZShFd2tfSGl0X1Rlc3QqIGhpdFRlc3QpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk4oaGl0VGVzdCk7Ci0gICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoaGl0VGVzdC0+dGl0bGUp
OworICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGhpdFRlc3QtPnRpdGxlLnN0cmluZyk7CiAgICAg
ZWluYV9zdHJpbmdzaGFyZV9kZWwoaGl0VGVzdC0+YWx0ZXJuYXRlX3RleHQpOwogICAgIGVpbmFf
c3RyaW5nc2hhcmVfZGVsKGhpdFRlc3QtPmxpbmsudGV4dCk7CiAgICAgZWluYV9zdHJpbmdzaGFy
ZV9kZWwoaGl0VGVzdC0+bGluay51cmwpOwpAQCAtNzEzLDcgKzcxMyw4IEBAIEV3a19IaXRfVGVz
dCogZXdrX2ZyYW1lX2hpdF90ZXN0X25ldyhjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUsIGlu
dCB4LCBpbnQgeSkKICNlbmRpZgogCiAgICAgV2ViQ29yZTo6VGV4dERpcmVjdGlvbiBkaXJlY3Rp
b247Ci0gICAgaGl0VGVzdC0+dGl0bGUgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZChyZXN1bHQudGl0
bGUoZGlyZWN0aW9uKS51dGY4KCkuZGF0YSgpKTsKKyAgICBoaXRUZXN0LT50aXRsZS5zdHJpbmcg
PSBlaW5hX3N0cmluZ3NoYXJlX2FkZChyZXN1bHQudGl0bGUoZGlyZWN0aW9uKS51dGY4KCkuZGF0
YSgpKTsKKyAgICBoaXRUZXN0LT50aXRsZS5kaXJlY3Rpb24gPSAoZGlyZWN0aW9uID09IFdlYkNv
cmU6OkxUUikgPyBFV0tfVEVYVF9ESVJFQ1RJT05fTEVGVF9UT19SSUdIVCA6IEVXS19URVhUX0RJ
UkVDVElPTl9SSUdIVF9UT19MRUZUOwogICAgIGhpdFRlc3QtPmFsdGVybmF0ZV90ZXh0ID0gZWlu
YV9zdHJpbmdzaGFyZV9hZGQocmVzdWx0LmFsdERpc3BsYXlTdHJpbmcoKS51dGY4KCkuZGF0YSgp
KTsKICAgICBpZiAocmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgpICYmIHJlc3VsdC5pbm5lck5v
blNoYXJlZE5vZGUoKS0+ZG9jdW1lbnQoKQogICAgICAgICAmJiByZXN1bHQuaW5uZXJOb25TaGFy
ZWROb2RlKCktPmRvY3VtZW50KCktPmZyYW1lKCkpCkBAIC0xNTcyLDEzICsxNTczLDE0IEBAIHZv
aWQgZXdrX2ZyYW1lX2NvbnRlbnRzX3NpemVfY2hhbmdlZChFdmFzX09iamVjdCogZXdrRnJhbWUs
IEV2YXNfQ29vcmQgd2lkdGgsIEV2CiAgKgogICogUmVwb3J0cyB0aXRsZSBjaGFuZ2VkLgogICov
Ci12b2lkIGV3a19mcmFtZV90aXRsZV9zZXQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBjb25zdCBj
aGFyKiB0aXRsZSkKK3ZvaWQgZXdrX2ZyYW1lX3RpdGxlX3NldChFdmFzX09iamVjdCogZXdrRnJh
bWUsIGNvbnN0IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uKiB0aXRsZSkKIHsKLSAgICBEQkcoImV3
a0ZyYW1lPSVwLCB0aXRsZT0lcyIsIGV3a0ZyYW1lLCB0aXRsZSA/IHRpdGxlIDogIihudWxsKSIp
OworICAgIERCRygiZXdrRnJhbWU9JXAsIHRpdGxlPSVzIiwgZXdrRnJhbWUsIHRpdGxlLT5zdHJp
bmcgPyB0aXRsZS0+c3RyaW5nIDogIihudWxsKSIpOwogICAgIEVXS19GUkFNRV9TRF9HRVRfT1Jf
UkVUVVJOKGV3a0ZyYW1lLCBzbWFydERhdGEpOwotICAgIGlmICghZWluYV9zdHJpbmdzaGFyZV9y
ZXBsYWNlKCZzbWFydERhdGEtPnRpdGxlLCB0aXRsZSkpCisgICAgaWYgKCFlaW5hX3N0cmluZ3No
YXJlX3JlcGxhY2UoJnNtYXJ0RGF0YS0+dGl0bGUuc3RyaW5nLCB0aXRsZS0+c3RyaW5nKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrRnJh
bWUsICJ0aXRsZSxjaGFuZ2VkIiwgKHZvaWQqKXNtYXJ0RGF0YS0+dGl0bGUpOworICAgIHNtYXJ0
RGF0YS0+dGl0bGUuZGlyZWN0aW9uID0gdGl0bGUtPmRpcmVjdGlvbjsKKyAgICBldmFzX29iamVj
dF9zbWFydF9jYWxsYmFja19jYWxsKGV3a0ZyYW1lLCAidGl0bGUsY2hhbmdlZCIsICh2b2lkKil0
aXRsZSk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19m
cmFtZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCmluZGV4IGNmZmZjYjUu
LmRjZTg4M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKQEAgLTczLDcgKzczLDcgQEAK
ICAqICAtICJyZXNvdXJjZSxyZXNwb25zZSxyZWNlaXZlZCIsIEV3a19GcmFtZV9SZXNvdXJjZV9S
ZXNwb25zZSo6IHJlcG9ydHMgdGhhdCBhIHJlc3BvbnNlCiAgKiAgICB0byBhIHJlc291cmNlIHJl
cXVlc3Qgd2FzIHJlY2VpdmVkLgogICogIC0gInN0YXRlLHNhdmUiLCB2b2lkOiBmcmFtZSdzIHN0
YXRlIHdpbGwgYmUgc2F2ZWQgYXMgYSBoaXN0b3J5IGl0ZW0uCi0gKiAgLSAidGl0bGUsY2hhbmdl
ZCIsIGNvbnN0IGNoYXIqOiB0aXRsZSBvZiB0aGUgbWFpbiBmcmFtZSB3YXMgY2hhbmdlZC4KKyAq
ICAtICJ0aXRsZSxjaGFuZ2VkIiwgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24qOiB0aXRsZSBvZiB0
aGUgbWFpbiBmcmFtZSB3YXMgY2hhbmdlZC4KICAqICAtICJ1cmksY2hhbmdlZCIsIGNvbnN0IGNo
YXIqOiB1cmkgb2YgdGhlIG1haW4gZnJhbWUgd2FzIGNoYW5nZWQuCiAgKiAgLSAieHNzLGRldGVj
dGVkIiwgRXdrX0ZyYW1lX1hzc19Ob3RpZmljYXRpb24qOiByZWZsZWN0ZWQgWFNTIGlzIGVuY291
bnRlcmVkIGluIHRoZSBwYWdlIGFuZCBzdXBwcmVzc2VkLgogICovCkBAIC0xNTIsNiArMTUyLDIx
IEBAIHN0cnVjdCBfRXdrX0ZyYW1lX1Jlc291cmNlX01lc3NhZ2VzIHsKICAgICBFd2tfRnJhbWVf
UmVzb3VyY2VfUmVzcG9uc2UgKnJlZGlyZWN0X3Jlc3BvbnNlOyAvKio8IHJlZGlyZWN0IHJlc3Bv
bnNlLCBjYW4gbm90IGJlIGNoYW5nZWQgKi8KIH07CiAKKy8vLyBFbnVtIGNvbnRhaW5pbmcgdGV4
dCBkaXJlY3Rpb25hbGl0eSB2YWx1ZXMuCit0eXBlZGVmIGVudW0geworICAgIEVXS19URVhUX0RJ
UkVDVElPTl9ERUZBVUxULCAvKio8IE5hdHVyYWwgd3JpdGluZyBkaXJlY3Rpb24gKCJpbmhlcml0
IikgKi8KKyAgICBFV0tfVEVYVF9ESVJFQ1RJT05fTEVGVF9UT19SSUdIVCwKKyAgICBFV0tfVEVY
VF9ESVJFQ1RJT05fUklHSFRfVE9fTEVGVAorfSBFd2tfVGV4dF9EaXJlY3Rpb247CisKKy8vLyBD
cmVhdGVzIGEgdHlwZSBuYW1lIGZvciBFd2tfVGV4dF9XaXRoX0RpcmVjdGlvbi4KK3R5cGVkZWYg
c3RydWN0IF9Fd2tfVGV4dF9XaXRoX0RpcmVjdGlvbiBFd2tfVGV4dF9XaXRoX0RpcmVjdGlvbjsK
Kworc3RydWN0IF9Fd2tfVGV4dF9XaXRoX0RpcmVjdGlvbiB7CisgICAgY29uc3QgY2hhciAqc3Ry
aW5nOworICAgIEV3a19UZXh0X0RpcmVjdGlvbiBkaXJlY3Rpb247Cit9OworCiAvLy8gQ3JlYXRl
cyBhIHR5cGUgbmFtZSBmb3IgRXdrX0ZyYW1lX1hzc19Ob3RpZmljYXRpb24uCiB0eXBlZGVmIHN0
cnVjdCBfRXdrX0ZyYW1lX1hzc19Ob3RpZmljYXRpb24gRXdrX0ZyYW1lX1hzc19Ob3RpZmljYXRp
b247CiAKQEAgLTE5Niw3ICsyMTEsNyBAQCBzdHJ1Y3QgX0V3a19IaXRfVGVzdCB7CiAgICAgc3Ry
dWN0IHsKICAgICAgICAgaW50IHgsIHksIHcsIGg7CiAgICAgfSBib3VuZGluZ19ib3g7IC8qKjwg
REVQUkVDQVRFRCwgc2VlIGV3a19mcmFtZV9oaXRfdGVzdF9uZXcoKSAqLwotICAgIGNvbnN0IGNo
YXIgKnRpdGxlOyAvKio8IHRpdGxlIG9mIHRoZSBlbGVtZW50ICovCisgICAgRXdrX1RleHRfV2l0
aF9EaXJlY3Rpb24gdGl0bGU7IC8qKjwgdGl0bGUgb2YgdGhlIGVsZW1lbnQgKi8KICAgICBjb25z
dCBjaGFyICphbHRlcm5hdGVfdGV4dDsgLyoqPCB0aGUgYWx0ZXJuYXRlIHRleHQgZm9yIGltYWdl
LCBhcmVhLCBpbnB1dCBhbmQgYXBwbGV0ICovCiAgICAgRXZhc19PYmplY3QgKmZyYW1lOyAvKio8
IHRoZSBwb2ludGVyIHRvIGZyYW1lIHdoZXJlIGhpdCB0ZXN0IHdhcyByZXF1ZXN0ZWQgKi8KICAg
ICBzdHJ1Y3QgewpAQCAtMzUxLDcgKzM2Niw3IEBAIEVBUEkgY29uc3QgY2hhciAgKmV3a19mcmFt
ZV91cmlfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKICAqCiAgKiBAcmV0dXJuIGZyYW1lIHRp
dGxlIG9uIHN1Y2Nlc3Mgb3IgQGMgMCBvbiBmYWlsdXJlCiAgKi8KLUVBUEkgY29uc3QgY2hhciAg
KmV3a19mcmFtZV90aXRsZV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOworRUFQSSBjb25zdCBF
d2tfVGV4dF9XaXRoX0RpcmVjdGlvbiAgKmV3a19mcmFtZV90aXRsZV9nZXQoY29uc3QgRXZhc19P
YmplY3QgKm8pOwogCiAvKioKICAqIEdldHMgdGhlIG5hbWUgb2YgdGhpcyBmcmFtZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWVfcHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZV9wcml2YXRlLmgKaW5kZXggMTY5MjUxOC4uNmQwZWIy
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZV9wcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZV9wcml2YXRlLmgKQEAgLTYzLDcg
KzYzLDcgQEAgdm9pZCBld2tfZnJhbWVfdmlld19zdGF0ZV9zYXZlKEV2YXNfT2JqZWN0KiBld2tG
cmFtZSwgV2ViQ29yZTo6SGlzdG9yeUl0ZW0qIGl0ZW0KIHZvaWQgZXdrX2ZyYW1lX2RpZF9wZXJm
b3JtX2ZpcnN0X25hdmlnYXRpb24oRXZhc19PYmplY3QqIGV3a0ZyYW1lKTsKIAogdm9pZCBld2tf
ZnJhbWVfY29udGVudHNfc2l6ZV9jaGFuZ2VkKEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgRXZhc19D
b29yZCB3aWR0aCwgRXZhc19Db29yZCBoZWlnaHQpOwotdm9pZCBld2tfZnJhbWVfdGl0bGVfc2V0
KEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgY29uc3QgY2hhciogdGl0bGUpOwordm9pZCBld2tfZnJh
bWVfdGl0bGVfc2V0KEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgY29uc3QgRXdrX1RleHRfV2l0aF9E
aXJlY3Rpb24qIHRpdGxlKTsKIAogdm9pZCBld2tfZnJhbWVfdmlld19jcmVhdGVfZm9yX3ZpZXco
RXZhc19PYmplY3QqIGV3a0ZyYW1lLCBFdmFzX09iamVjdCogdmlldyk7CiBib29sIGV3a19mcmFt
ZV91cmlfY2hhbmdlZChFdmFzX09iamVjdCogZXdrRnJhbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dmlldy5jcHAKaW5kZXggNTQyOWEzZS4uOGI0MzQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuY3BwCkBAIC0xNDA0LDcgKzE0MDQsNyBAQCBjb25zdCBjaGFyKiBld2tfdmlld191cmlfZ2V0
KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQogICAgIHJldHVybiBld2tfZnJhbWVfdXJpX2dl
dChzbWFydERhdGEtPm1haW5fZnJhbWUpOwogfQogCi1jb25zdCBjaGFyKiBld2tfdmlld190aXRs
ZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCitjb25zdCBFd2tfVGV4dF9XaXRoX0Rp
cmVjdGlvbiogZXdrX3ZpZXdfdGl0bGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQog
ewogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCAwKTsK
ICAgICByZXR1cm4gZXdrX2ZyYW1lX3RpdGxlX2dldChzbWFydERhdGEtPm1haW5fZnJhbWUpOwpA
QCAtMjk1Myw5ICsyOTUzLDkgQEAgdm9pZCBld2tfdmlld19pbnB1dF9tZXRob2Rfc3RhdGVfc2V0
KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBib29sIGFjdGl2ZSkKICAqCiAgKiBFbWl0cyBzaWduYWw6
ICJ0aXRsZSxjaGFuZ2VkIiB3aXRoIHBvaW50ZXIgdG8gbmV3IHRpdGxlIHN0cmluZy4KICAqLwot
dm9pZCBld2tfdmlld190aXRsZV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IGNoYXIq
IHRpdGxlKQordm9pZCBld2tfdmlld190aXRsZV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNv
bnN0IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uKiB0aXRsZSkKIHsKLSAgICBEQkcoImV3a1ZpZXc9
JXAsIHRpdGxlPSVzIiwgZXdrVmlldywgdGl0bGUgPyB0aXRsZSA6ICIobnVsbCkiKTsKKyAgICBE
QkcoImV3a1ZpZXc9JXAsIHRpdGxlPSVzIiwgZXdrVmlldywgKHRpdGxlICYmIHRpdGxlLT5zdHJp
bmcpID8gdGl0bGUtPnN0cmluZyA6ICIobnVsbCkiKTsKICAgICBldmFzX29iamVjdF9zbWFydF9j
YWxsYmFja19jYWxsKGV3a1ZpZXcsICJ0aXRsZSxjaGFuZ2VkIiwgKHZvaWQqKXRpdGxlKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAppbmRleCBiOGIwYWI2Li5lMGMwMDc2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3ZpZXcuaApAQCAtODYsNyArODYsNyBAQAogICogIC0gInN0YXR1c2Jhcix2
aXNpYmxlLGdldCIsIEVpbmFfQm9vbCAqOiBleHBlY3RzIGEgQGMgRUlOQV9UUlVFIGlmIHN0YXR1
c2JhciBpcwogICogICAgdmlzaWJsZTsgQGMgRUlOQV9GQUxTRSwgb3RoZXJ3aXNlLgogICogIC0g
InN0YXR1c2Jhcix2aXNpYmxlLHNldCIsIEVpbmFfQm9vbDogc2V0cyBzdGF0dXNiYXIgdmlzaWJp
bGl0eS4KLSAqICAtICJ0aXRsZSxjaGFuZ2VkIiwgY29uc3QgY2hhcio6IHRpdGxlIG9mIHRoZSBt
YWluIGZyYW1lIHdhcyBjaGFuZ2VkLgorICogIC0gInRpdGxlLGNoYW5nZWQiLCBFd2tfVGV4dF9X
aXRoX0RpcmVjdGlvbio6IHRpdGxlIG9mIHRoZSBtYWluIGZyYW1lIHdhcyBjaGFuZ2VkLgogICog
IC0gInRvb2xiYXJzLHZpc2libGUsZ2V0IiwgRWluYV9Cb29sICo6IGV4cGVjdHMgYSBAYyBFSU5B
X1RSVUUgaWYgdG9vbGJhcgogICogICAgaXMgdmlzaWJsZTsgQGMgRUlOQV9GQUxTRSwgb3RoZXJ3
aXNlLgogICogIC0gInRvb2xiYXJzLHZpc2libGUsc2V0IiwgRWluYV9Cb29sOiBzZXRzIHRvb2xi
YXIgdmlzaWJpbGl0eS4KQEAgLTc1MSw3ICs3NTEsNyBAQCBFQVBJIGNvbnN0IGNoYXIgICpld2tf
dmlld191cmlfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKICAqCiAgKiBAcmV0dXJuIGN1cnJl
bnQgdGl0bGUgb24gc3VjY2VzcyBvciBAYyAwIG9uIGZhaWx1cmUKICAqLwotRUFQSSBjb25zdCBj
aGFyICAqZXdrX3ZpZXdfdGl0bGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKK0VBUEkgY29u
c3QgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24gICpld2tfdmlld190aXRsZV9nZXQoY29uc3QgRXZh
c19PYmplY3QgKm8pOwogCiAvKioKICAqIFF1ZXJpZXMgaWYgdGhlIG1haW4gZnJhbWUgaXMgZWRp
dGFibGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfcHJpdmF0
ZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3ByaXZhdGUuaAppbmRleCA1MGY2
OTI4Li4xZDQxNDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdf
cHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmgK
QEAgLTQ5LDcgKzQ5LDcgQEAgY29uc3QgY2hhciBld2tWaWV3U2luZ2xlTmFtZVtdID0gIkV3a19W
aWV3X1NpbmdsZSI7CiAKIHZvaWQgZXdrX3ZpZXdfcmVhZHkoRXZhc19PYmplY3QqIGV3a1ZpZXcp
Owogdm9pZCBld2tfdmlld19pbnB1dF9tZXRob2Rfc3RhdGVfc2V0KEV2YXNfT2JqZWN0KiBld2tW
aWV3LCBib29sIGFjdGl2ZSk7Ci12b2lkIGV3a192aWV3X3RpdGxlX3NldChFdmFzX09iamVjdCog
ZXdrVmlldywgY29uc3QgY2hhciogdGl0bGUpOwordm9pZCBld2tfdmlld190aXRsZV9zZXQoRXZh
c19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uKiB0aXRsZSk7
CiB2b2lkIGV3a192aWV3X3VyaV9jaGFuZ2VkKEV2YXNfT2JqZWN0KiBld2tWaWV3KTsKIHZvaWQg
ZXdrX3ZpZXdfbG9hZF9kb2N1bWVudF9maW5pc2hlZChFdmFzX09iamVjdCogZXdrVmlldywgRXZh
c19PYmplY3QqIGZyYW1lKTsKIHZvaWQgZXdrX3ZpZXdfbG9hZF9zdGFydGVkKEV2YXNfT2JqZWN0
KiBld2tWaWV3LCBFdmFzX09iamVjdCogZXdrRnJhbWUpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDVhZTFlNTkuLmJiYzZmNDMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBA
QAorMjAxMi0wNS0yNCAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwu
Y29tPgorCisgICAgICAgIFtFRkxdIFRoZSBFRkwgcG9ydCBoYXMgbm8gc3VwcG9ydCBmb3IgdGl0
bGUgZGlyZWN0aW9uYWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg2NDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhIFNp
bHZhLgorCisgICAgICAgIFVwZGF0ZSAidGl0bGUsY2hhbmdlZCIgc2lnbmFsIGhhbmRsZXJzIGlu
IERSVCBhbmQgRVdlYkxhdW5jaGVyIHRvCisgICAgICAgIHJlZmxlY3QgdGhlIGNoYW5nZSBmcm9t
IGNvbnN0IGNoYXIqIHRvIEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uKiB0eXBlCisgICAgICAgIGZv
ciB0aGUgdGl0bGUuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRy
ZWVDaHJvbWUuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uVGl0bGVDaGFu
Z2VkKToKKyAgICAgICAgKiBFV2ViTGF1bmNoZXIvbWFpbi5jOgorICAgICAgICAodGl0bGVfc2V0
KToKKyAgICAgICAgKG9uX3RpdGxlX2NoYW5nZWQpOgorICAgICAgICAob25fa2V5X2Rvd24pOgor
CiAyMDEyLTA1LTIzICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgQ2hhbmdlIEVGTCBkZWJ1ZyBidWlsZCBuYW1lIHdpdGggbW9yZSBkZXRhaWwgb25l
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJv
bWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNw
cAppbmRleCA2YzQ1NDBhLi4zMDc3NGUxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKQEAgLTQzMSwxNSArNDMxLDE1IEBAIHZvaWQg
RHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uRnJhbWVJY29uQ2hhbmdlZCh2b2lkKiwgRXZhc19PYmpl
Y3QqIGZyYW1lLCB2b2lkKikKIAogdm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25GcmFtZVRp
dGxlQ2hhbmdlZCh2b2lkKiwgRXZhc19PYmplY3QqIGZyYW1lLCB2b2lkKiBldmVudEluZm8pCiB7
Ci0gICAgY29uc3QgY2hhciogdGl0bGVUZXh0ID0gc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KGV2
ZW50SW5mbyk7CisgICAgY29uc3QgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24qIHRpdGxlVGV4dCA9
IHN0YXRpY19jYXN0PGNvbnN0IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uKj4oZXZlbnRJbmZvKTsK
IAogICAgIGlmICghZG9uZSAmJiBnTGF5b3V0VGVzdENvbnRyb2xsZXItPmR1bXBGcmFtZUxvYWRD
YWxsYmFja3MoKSkgewogICAgICAgICBjb25zdCBTdHJpbmcgZnJhbWVOYW1lKER1bXBSZW5kZXJU
cmVlU3VwcG9ydEVmbDo6c3VpdGFibGVEUlRGcmFtZU5hbWUoZnJhbWUpKTsKLSAgICAgICAgcHJp
bnRmKCIlcyAtIGRpZFJlY2VpdmVUaXRsZTogJXNcbiIsIGZyYW1lTmFtZS51dGY4KCkuZGF0YSgp
LCB0aXRsZVRleHQpOworICAgICAgICBwcmludGYoIiVzIC0gZGlkUmVjZWl2ZVRpdGxlOiAlc1xu
IiwgZnJhbWVOYW1lLnV0ZjgoKS5kYXRhKCksICh0aXRsZVRleHQgJiYgdGl0bGVUZXh0LT5zdHJp
bmcpID8gdGl0bGVUZXh0LT5zdHJpbmcgOiAiIik7CiAgICAgfQogCiAgICAgaWYgKCFkb25lICYm
IGdMYXlvdXRUZXN0Q29udHJvbGxlci0+ZHVtcFRpdGxlQ2hhbmdlcygpKQotICAgICAgICBwcmlu
dGYoIlRJVExFIENIQU5HRUQ6ICVzXG4iLCB0aXRsZVRleHQpOworICAgICAgICBwcmludGYoIlRJ
VExFIENIQU5HRUQ6ICVzXG4iLCAodGl0bGVUZXh0ICYmIHRpdGxlVGV4dC0+c3RyaW5nKSA/IHRp
dGxlVGV4dC0+c3RyaW5nIDogIiIpOwogfQogCiB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpv
bkRvY3VtZW50TG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5m
bykKZGlmZiAtLWdpdCBhL1Rvb2xzL0VXZWJMYXVuY2hlci9tYWluLmMgYi9Ub29scy9FV2ViTGF1
bmNoZXIvbWFpbi5jCmluZGV4IGRmZTBlZjguLjQwODlkNmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0VX
ZWJMYXVuY2hlci9tYWluLmMKKysrIGIvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYwpAQCAtMjI5
LDIyICsyMjksMjIgQEAgb25fZWNvcmVfZXZhc19yZXNpemUoRWNvcmVfRXZhcyAqZWUpCiB9CiAK
IHN0YXRpYyB2b2lkCi10aXRsZV9zZXQoRWNvcmVfRXZhcyAqZWUsIGNvbnN0IGNoYXIgKnRpdGxl
LCBpbnQgcHJvZ3Jlc3MpCit0aXRsZV9zZXQoRWNvcmVfRXZhcyAqZWUsIGNvbnN0IEV3a19UZXh0
X1dpdGhfRGlyZWN0aW9uICp0aXRsZSwgaW50IHByb2dyZXNzKQogewogICAgIGNvbnN0IGNoYXIg
KmFwcG5hbWUgPSAiRUZMIFRlc3QgTGF1bmNoZXIiOwogICAgIGNvbnN0IGNoYXIgKnNlcGFyYXRv
ciA9ICIgLSAiOwogICAgIGNoYXIgbGFiZWxbNDA5Nl07CiAgICAgaW50IHNpemU7CiAKLSAgICBp
ZiAoIXRpdGxlIHx8ICFzdHJjbXAodGl0bGUsICIiKSkgeworICAgIGlmICghdGl0bGUgfHwgIXRp
dGxlLT5zdHJpbmcgfHwgIXN0cmNtcCh0aXRsZS0+c3RyaW5nLCAiIikpIHsKICAgICAgICAgZWNv
cmVfZXZhc190aXRsZV9zZXQoZWUsIGFwcG5hbWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CiAgICAgaWYgKHByb2dyZXNzIDwgMTAwKQotICAgICAgICBzaXplID0gc25wcmludGYobGFiZWws
IHNpemVvZihsYWJlbCksICIlcyAoJWQlJSklcyVzIiwgdGl0bGUsIHByb2dyZXNzLCBzZXBhcmF0
b3IsIGFwcG5hbWUpOworICAgICAgICBzaXplID0gc25wcmludGYobGFiZWwsIHNpemVvZihsYWJl
bCksICIlcyAoJWQlJSklcyVzIiwgdGl0bGUtPnN0cmluZywgcHJvZ3Jlc3MsIHNlcGFyYXRvciwg
YXBwbmFtZSk7CiAgICAgZWxzZQotICAgICAgICBzaXplID0gc25wcmludGYobGFiZWwsIHNpemVv
ZihsYWJlbCksICIlcyAlcyVzIiwgdGl0bGUsIHNlcGFyYXRvciwgYXBwbmFtZSk7CisgICAgICAg
IHNpemUgPSBzbnByaW50ZihsYWJlbCwgc2l6ZW9mKGxhYmVsKSwgIiVzICVzJXMiLCB0aXRsZS0+
c3RyaW5nLCBzZXBhcmF0b3IsIGFwcG5hbWUpOwogCiAgICAgaWYgKHNpemUgPj0gKGludClzaXpl
b2YobGFiZWwpKQogICAgICAgICByZXR1cm47CkBAIC0yNTYsNyArMjU2LDcgQEAgc3RhdGljIHZv
aWQKIG9uX3RpdGxlX2NoYW5nZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqd2Vidmll
dywgdm9pZCAqZXZlbnRfaW5mbykKIHsKICAgICBFTGF1bmNoZXIgKmFwcCA9IChFTGF1bmNoZXIg
Kil1c2VyX2RhdGE7Ci0gICAgY29uc3QgY2hhciAqdGl0bGUgPSAoY29uc3QgY2hhciAqKWV2ZW50
X2luZm87CisgICAgY29uc3QgRXdrX1RleHRfV2l0aF9EaXJlY3Rpb24gKnRpdGxlID0gKGNvbnN0
IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uICopZXZlbnRfaW5mbzsKIAogICAgIHRpdGxlX3NldChh
cHAtPmVlLCB0aXRsZSwgMTAwKTsKIH0KQEAgLTQ5Miw3ICs0OTIsNyBAQCBvbl9rZXlfZG93bih2
b2lkICpkYXRhLCBFdmFzICplLCBFdmFzX09iamVjdCAqb2JqLCB2b2lkICpldmVudF9pbmZvKQog
ICAgICAgICAgICAgICAgICAgIHgsIHksCiAgICAgICAgICAgICAgICAgICAgaHQtPngsIGh0LT55
LAogICAgICAgICAgICAgICAgICAgIGh0LT5ib3VuZGluZ19ib3gueCwgaHQtPmJvdW5kaW5nX2Jv
eC55LCBodC0+Ym91bmRpbmdfYm94LncsIGh0LT5ib3VuZGluZ19ib3guaCwKLSAgICAgICAgICAg
ICAgICAgICBodC0+dGl0bGUsCisgICAgICAgICAgICAgICAgICAgaHQtPnRpdGxlLnN0cmluZywK
ICAgICAgICAgICAgICAgICAgICBodC0+YWx0ZXJuYXRlX3RleHQsCiAgICAgICAgICAgICAgICAg
ICAgaHQtPmZyYW1lLCBldmFzX29iamVjdF9uYW1lX2dldChodC0+ZnJhbWUpLAogICAgICAgICAg
ICAgICAgICAgIGh0LT5saW5rLnRleHQsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>