<?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>107811</bug_id>
          
          <creation_ts>2013-01-24 05:09:54 -0800</creation_ts>
          <short_desc>[EFL][WK2] Use C API inside ewk_file_chooser_request</short_desc>
          <delta_ts>2013-02-02 16:16:21 -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>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>107657</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>naginenis</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>815347</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-24 05:09:54 -0800</bug_when>
    <thetext>As per Bug 107657, we should start using the C API internally to avoid violating layering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815393</commentid>
    <comment_count>1</comment_count>
      <attachid>184475</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-24 06:10:20 -0800</bug_when>
    <thetext>Created attachment 184475
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819843</commentid>
    <comment_count>2</comment_count>
      <attachid>185406</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-29 23:35:16 -0800</bug_when>
    <thetext>Created attachment 185406
Patch

Rebased on master.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819850</commentid>
    <comment_count>3</comment_count>
      <attachid>185406</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-01-29 23:45:56 -0800</bug_when>
    <thetext>Comment on attachment 185406
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_file_chooser_request.cpp:128
&gt; +        String fileURL = ASCIILiteral(&quot;file://&quot;) + String::fromUTF8(url);

According to Benjamin&apos;s comment, it seems to me String Operators is enough in this case.
https://bugs.webkit.org/show_bug.cgi?id=107363#c13</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819853</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-29 23:50:18 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 185406 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=185406&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_file_chooser_request.cpp:128
&gt; &gt; +        String fileURL = ASCIILiteral(&quot;file://&quot;) + String::fromUTF8(url);
&gt; 
&gt; According to Benjamin&apos;s comment, it seems to me String Operators is enough in this case.
&gt; https://bugs.webkit.org/show_bug.cgi?id=107363#c13

Gyuyoung, I do not understand your comment. I&apos;m using operator+ from String. Benjamin&apos;s comment is about not using StringBuilder (which I&apos;m not using).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819874</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-30 00:20:07 -0800</bug_when>
    <thetext>&gt; &gt; (From update of attachment 185406 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=185406&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_file_chooser_request.cpp:128
&gt; &gt; &gt; +        String fileURL = ASCIILiteral(&quot;file://&quot;) + String::fromUTF8(url);
&gt; &gt; 
&gt; &gt; According to Benjamin&apos;s comment, it seems to me String Operators is enough in this case.
&gt; &gt; https://bugs.webkit.org/show_bug.cgi?id=107363#c13
&gt; 
&gt; Gyuyoung, I do not understand your comment. I&apos;m using operator+ from String. Benjamin&apos;s comment is about not using StringBuilder (which I&apos;m not using).

Quick comment before going to bed :)

Gyuyoung is right
    String fileURL = ASCIILiteral(&quot;file://&quot;) + String::fromUTF8(url);
is worse than
    String fileURL = &quot;file://&quot; + String::fromUTF8(url);
but that&apos;s a bug and I am probably to blame for that.

There is no StringTypeAdapter for ASCIILiteral. So your code will generate:
   String fileURL = StringAppend(String(ASCIILiteral(&quot;file://&quot;)), String::fromUTF8(url));

If you have 5 minutes, it would be great to make another patch adding a StringTypeAdapter for ASCIILiteral.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820003</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-30 02:42:07 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; &gt; (From update of attachment 185406 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=185406&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_file_chooser_request.cpp:128
&gt; &gt; &gt; &gt; +        String fileURL = ASCIILiteral(&quot;file://&quot;) + String::fromUTF8(url);
&gt; &gt; &gt; 
&gt; &gt; &gt; According to Benjamin&apos;s comment, it seems to me String Operators is enough in this case.
&gt; &gt; &gt; https://bugs.webkit.org/show_bug.cgi?id=107363#c13
&gt; &gt; 
&gt; &gt; Gyuyoung, I do not understand your comment. I&apos;m using operator+ from String. Benjamin&apos;s comment is about not using StringBuilder (which I&apos;m not using).
&gt; 
&gt; Quick comment before going to bed :)
&gt; 
&gt; Gyuyoung is right
&gt;     String fileURL = ASCIILiteral(&quot;file://&quot;) + String::fromUTF8(url);
&gt; is worse than
&gt;     String fileURL = &quot;file://&quot; + String::fromUTF8(url);
&gt; but that&apos;s a bug and I am probably to blame for that.
&gt; 
&gt; There is no StringTypeAdapter for ASCIILiteral. So your code will generate:
&gt;    String fileURL = StringAppend(String(ASCIILiteral(&quot;file://&quot;)), String::fromUTF8(url));
&gt; 
&gt; If you have 5 minutes, it would be great to make another patch adding a StringTypeAdapter for ASCIILiteral.

Yes. It sounds like a good idea to add a StringTypeAdapter for ASCIILiteral. I&apos;ll do that, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820007</commentid>
    <comment_count>7</comment_count>
      <attachid>185446</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-30 02:46:14 -0800</bug_when>
    <thetext>Created attachment 185446
Patch

Do not construct a ASCIILiteral anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820041</commentid>
    <comment_count>8</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-01-30 03:30:29 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Yes. It sounds like a good idea to add a StringTypeAdapter for ASCIILiteral. I&apos;ll do that, thanks.

+1, Good idea to me as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820157</commentid>
    <comment_count>9</comment_count>
      <attachid>185490</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-30 06:32:27 -0800</bug_when>
    <thetext>Created attachment 185490
Patch

Use ASCIILiteral in String concatenations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820158</commentid>
    <comment_count>10</comment_count>
      <attachid>185491</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-30 06:36:00 -0800</bug_when>
    <thetext>Created attachment 185491
Patch

Make use of toCopiedURLAPI().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821011</commentid>
    <comment_count>11</comment_count>
      <attachid>185491</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-30 20:06:48 -0800</bug_when>
    <thetext>Comment on attachment 185491
Patch

Attachment 185491 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16217923</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821106</commentid>
    <comment_count>12</comment_count>
      <attachid>185491</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-30 22:46:08 -0800</bug_when>
    <thetext>Comment on attachment 185491
Patch

win-ews seems to be in a bad state. False alarm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822744</commentid>
    <comment_count>13</comment_count>
      <attachid>185491</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-02-01 07:19:18 -0800</bug_when>
    <thetext>Comment on attachment 185491
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823728</commentid>
    <comment_count>14</comment_count>
      <attachid>185491</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-02 16:16:15 -0800</bug_when>
    <thetext>Comment on attachment 185491
Patch

Clearing flags on attachment: 185491

Committed r141709: &lt;http://trac.webkit.org/changeset/141709&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823729</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-02 16:16:21 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184475</attachid>
            <date>2013-01-24 06:10:20 -0800</date>
            <delta_ts>2013-01-29 23:35:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>107811_ewk_filechooser_capi.patch</filename>
            <type>text/plain</type>
            <size>10481</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1OGIwODUxLi44MjY2ZjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTMtMDEtMjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbnNpZGUgZXdrX2ZpbGVfY2hv
b3Nlcl9yZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDc4MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVc2UgQyBBUEkgaW5zaWRlIGV3a19maWxlX2Nob29zZXJfcmVxdWVzdCBpbnN0ZWFkIG9m
CisgICAgICAgIGFjY2Vzc2luZyB0aGUgaW50ZXJuYWwgQysrIGNsYXNzZXMgZGlyZWN0bHksIHRv
CisgICAgICAgIGF2b2lkIHZpb2xhdGluZyBBUEkgbGF5ZXJpbmcuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3QuY3BwOgorICAgICAgICAoRXdr
RmlsZUNob29zZXJSZXF1ZXN0OjpFd2tGaWxlQ2hvb3NlclJlcXVlc3QpOgorICAgICAgICAoRXdr
RmlsZUNob29zZXJSZXF1ZXN0Ojp+RXdrRmlsZUNob29zZXJSZXF1ZXN0KToKKyAgICAgICAgKEV3
a0ZpbGVDaG9vc2VyUmVxdWVzdDo6YWxsb3dNdWx0aXBsZUZpbGVzKToKKyAgICAgICAgKEV3a0Zp
bGVDaG9vc2VyUmVxdWVzdDo6YWNjZXB0ZWRNSU1FVHlwZXMpOgorICAgICAgICAoRXdrRmlsZUNo
b29zZXJSZXF1ZXN0OjpjYW5jZWwpOgorICAgICAgICAoRXdrRmlsZUNob29zZXJSZXF1ZXN0Ojpj
aG9vc2VGaWxlcyk6CisgICAgICAgIChld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfYWNjZXB0ZWRf
bWltZXR5cGVzX2dldCk6CisgICAgICAgIChld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZmlsZXNf
Y2hvb3NlKToKKyAgICAgICAgKGV3a19maWxlX2Nob29zZXJfcmVxdWVzdF9maWxlX2Nob29zZSk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3By
aXZhdGUuaDoKKyAgICAgICAgKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y3JlYXRlKToKKyAgICAg
ICAgKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdCk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9QYWdl
VUlDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlVUlDbGllbnRFZmw6OnJ1bk9w
ZW5QYW5lbCk6CisKIDIwMTMtMDEtMjQgIE1pY2hhZWwgQnLDvG5pbmcgIDxtaWNoYWVsLmJydW5p
bmdAZGlnaWEuY29tPgogCiAgICAgICAgIFtRdF1bV0syXSBQYWdlcyAvIHJlc291cmNlcyBjYW5u
b3QgYmUgbG9hZGVkIGZyb20gcXJjIGZpbGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdC5jcHAKaW5k
ZXggMzc2MDZjNS4uMWYzZTExNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3QuY3BwCkBAIC0yNiwx
OCArMjYsMTkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJld2tfZmlsZV9jaG9v
c2VyX3JlcXVlc3QuaCIKIAotI2luY2x1ZGUgIkltbXV0YWJsZUFycmF5LmgiCi0jaW5jbHVkZSAi
TXV0YWJsZUFycmF5LmgiCi0jaW5jbHVkZSAiV2ViT3BlblBhbmVsUGFyYW1ldGVycy5oIgotI2lu
Y2x1ZGUgIldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkuaCIKLSNpbmNsdWRlICJXZWJT
dHJpbmcuaCIKLSNpbmNsdWRlICJXZWJVUkwuaCIKKyNpbmNsdWRlICJXS0FycmF5LmgiCisjaW5j
bHVkZSAiV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSAiV0tPcGVuUGFuZWxSZXN1
bHRMaXN0ZW5lci5oIgorI2luY2x1ZGUgIldLU2hhcmVkQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldL
U3RyaW5nLmgiCisjaW5jbHVkZSAiV0tVUkwuaCIKICNpbmNsdWRlICJld2tfZmlsZV9jaG9vc2Vy
X3JlcXVlc3RfcHJpdmF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAotRXdr
RmlsZUNob29zZXJSZXF1ZXN0OjpFd2tGaWxlQ2hvb3NlclJlcXVlc3QoV2ViT3BlblBhbmVsUGFy
YW1ldGVycyogcGFyYW1ldGVycywgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSogbGlz
dGVuZXIpCitFd2tGaWxlQ2hvb3NlclJlcXVlc3Q6OkV3a0ZpbGVDaG9vc2VyUmVxdWVzdChXS09w
ZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVycywgV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5l
clJlZiBsaXN0ZW5lcikKICAgICA6IG1fcGFyYW1ldGVycyhwYXJhbWV0ZXJzKQogICAgICwgbV9s
aXN0ZW5lcihsaXN0ZW5lcikKICAgICAsIG1fd2FzUmVxdWVzdEhhbmRsZWQoZmFsc2UpCkBAIC00
OSwzMyArNTAsMzAgQEAgRXdrRmlsZUNob29zZXJSZXF1ZXN0OjpFd2tGaWxlQ2hvb3NlclJlcXVl
c3QoV2ViT3BlblBhbmVsUGFyYW1ldGVycyogcGFyYW1ldGVycywKIEV3a0ZpbGVDaG9vc2VyUmVx
dWVzdDo6fkV3a0ZpbGVDaG9vc2VyUmVxdWVzdCgpCiB7CiAgICAgaWYgKCFtX3dhc1JlcXVlc3RI
YW5kbGVkKQotICAgICAgICBtX2xpc3RlbmVyLT5jYW5jZWwoKTsKKyAgICAgICAgV0tPcGVuUGFu
ZWxSZXN1bHRMaXN0ZW5lckNhbmNlbChtX2xpc3RlbmVyLmdldCgpKTsKIH0KIAogYm9vbCBFd2tG
aWxlQ2hvb3NlclJlcXVlc3Q6OmFsbG93TXVsdGlwbGVGaWxlcygpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIG1fcGFyYW1ldGVycy0+YWxsb3dNdWx0aXBsZUZpbGVzKCk7CisgICAgcmV0dXJuIFdLT3Bl
blBhbmVsUGFyYW1ldGVyc0dldEFsbG93c011bHRpcGxlRmlsZXMobV9wYXJhbWV0ZXJzLmdldCgp
KTsKIH0KIAotUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gRXdrRmlsZUNob29zZXJSZXF1ZXN0
OjphY2NlcHRlZE1JTUVUeXBlcygpIGNvbnN0CitXS1JldGFpblB0cjxXS0FycmF5UmVmPiBFd2tG
aWxlQ2hvb3NlclJlcXVlc3Q6OmFjY2VwdGVkTUlNRVR5cGVzKCkgY29uc3QKIHsKLSAgICByZXR1
cm4gbV9wYXJhbWV0ZXJzLT5hY2NlcHRNSU1FVHlwZXMoKTsKKyAgICByZXR1cm4gYWRvcHRXSyhX
S09wZW5QYW5lbFBhcmFtZXRlcnNDb3B5QWNjZXB0ZWRNSU1FVHlwZXMobV9wYXJhbWV0ZXJzLmdl
dCgpKSk7CiB9CiAKIHZvaWQgRXdrRmlsZUNob29zZXJSZXF1ZXN0OjpjYW5jZWwoKQogewogICAg
IG1fd2FzUmVxdWVzdEhhbmRsZWQgPSB0cnVlOwogCi0gICAgcmV0dXJuIG1fbGlzdGVuZXItPmNh
bmNlbCgpOworICAgIHJldHVybiBXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyQ2FuY2VsKG1fbGlz
dGVuZXIuZ2V0KCkpOwogfQogCi12b2lkIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y2hvb3NlRmls
ZXMoVmVjdG9yPCBSZWZQdHI8QVBJT2JqZWN0PiA+JiBmaWxlVVJMcykKK3ZvaWQgRXdrRmlsZUNo
b29zZXJSZXF1ZXN0OjpjaG9vc2VGaWxlcyhXS0FycmF5UmVmIGZpbGVVUkxzKQogewotICAgIEFT
U0VSVCghZmlsZVVSTHMuaXNFbXB0eSgpKTsKLSAgICBBU1NFUlQoZmlsZVVSTHMuc2l6ZSgpID09
IDEgfHwgbV9wYXJhbWV0ZXJzLT5hbGxvd011bHRpcGxlRmlsZXMoKSk7Ci0KICAgICBtX3dhc1Jl
cXVlc3RIYW5kbGVkID0gdHJ1ZTsKLSAgICBtX2xpc3RlbmVyLT5jaG9vc2VGaWxlcyhJbW11dGFi
bGVBcnJheTo6YWRvcHQoZmlsZVVSTHMpLmdldCgpKTsKKyAgICBXS09wZW5QYW5lbFJlc3VsdExp
c3RlbmVyQ2hvb3NlRmlsZXMobV9saXN0ZW5lci5nZXQoKSwgZmlsZVVSTHMpOwogfQogCiBFaW5h
X0Jvb2wgZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2FsbG93X211bHRpcGxlX2ZpbGVzX2dldChj
b25zdCBFd2tfRmlsZV9DaG9vc2VyX1JlcXVlc3QqIHJlcXVlc3QpCkBAIC05MCwxNCArODgsMTQg
QEAgRWluYV9MaXN0KiBld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfYWNjZXB0ZWRfbWltZXR5cGVz
X2dldChjb25zdCBFd2tfRmlsZV9DaG9vc2UKICAgICBFV0tfT0JKX0dFVF9JTVBMX09SX1JFVFVS
Tihjb25zdCBFd2tGaWxlQ2hvb3NlclJlcXVlc3QsIHJlcXVlc3QsIGltcGwsIDApOwogCiAgICAg
RWluYV9MaXN0KiBtaW1lVHlwZUxpc3QgPSAwOwotICAgIFJlZlB0cjxJbW11dGFibGVBcnJheT4g
bWltZVR5cGVzID0gaW1wbC0+YWNjZXB0ZWRNSU1FVHlwZXMoKTsKKyAgICBXS1JldGFpblB0cjxX
S0FycmF5UmVmPiBtaW1lVHlwZXMgPSBpbXBsLT5hY2NlcHRlZE1JTUVUeXBlcygpOwogCi0gICAg
Y29uc3Qgc2l6ZV90IHNpemUgPSBtaW1lVHlwZXMtPnNpemUoKTsKKyAgICBjb25zdCBzaXplX3Qg
c2l6ZSA9IFdLQXJyYXlHZXRTaXplKG1pbWVUeXBlcy5nZXQoKSk7CiAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgU3RyaW5nIG1pbWVUeXBlU3RyaW5nID0g
c3RhdGljX2Nhc3Q8V2ViU3RyaW5nKj4obWltZVR5cGVzLT5hdChpKSktPnN0cmluZygpOwotICAg
ICAgICBpZiAobWltZVR5cGVTdHJpbmcuaXNFbXB0eSgpKQorICAgICAgICBXS1JldGFpblB0cjxX
S1N0cmluZ1JlZj4gbWltZVR5cGUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tBcnJheUdl
dEl0ZW1BdEluZGV4KG1pbWVUeXBlcy5nZXQoKSwgaSkpOworICAgICAgICBpZiAoIW1pbWVUeXBl
IHx8IFdLU3RyaW5nSXNFbXB0eShtaW1lVHlwZS5nZXQoKSkpCiAgICAgICAgICAgICBjb250aW51
ZTsKLSAgICAgICAgbWltZVR5cGVMaXN0ID0gZWluYV9saXN0X2FwcGVuZChtaW1lVHlwZUxpc3Qs
IGVpbmFfc3RyaW5nc2hhcmVfYWRkKG1pbWVUeXBlU3RyaW5nLnV0ZjgoKS5kYXRhKCkpKTsKKyAg
ICAgICAgbWltZVR5cGVMaXN0ID0gZWluYV9saXN0X2FwcGVuZChtaW1lVHlwZUxpc3QsIGVpbmFf
c3RyaW5nc2hhcmVfYWRkKHRvV1RGU3RyaW5nKG1pbWVUeXBlLmdldCgpKS51dGY4KCkuZGF0YSgp
KSk7CiAgICAgfQogCiAgICAgcmV0dXJuIG1pbWVUeXBlTGlzdDsKQEAgLTExNywyMCArMTE1LDIy
IEBAIEVpbmFfQm9vbCBld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZmlsZXNfY2hvb3NlKEV3a19G
aWxlX0Nob29zZXJfUmVxdWVzdCogcmVxdWVzCiB7CiAgICAgRVdLX09CSl9HRVRfSU1QTF9PUl9S
RVRVUk4oRXdrRmlsZUNob29zZXJSZXF1ZXN0LCByZXF1ZXN0LCBpbXBsLCBmYWxzZSk7CiAgICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGNob3NlbkZpbGVzLCBmYWxzZSk7Ci0gICAg
RUlOQV9TQUZFVFlfT05fRkFMU0VfUkVUVVJOX1ZBTChlaW5hX2xpc3RfY291bnQoY2hvc2VuRmls
ZXMpID09IDEgfHwgaW1wbC0+YWxsb3dNdWx0aXBsZUZpbGVzKCksIGZhbHNlKTsKICAgICBFSU5B
X1NBRkVUWV9PTl9UUlVFX1JFVFVSTl9WQUwoaW1wbC0+d2FzSGFuZGxlZCgpLCBmYWxzZSk7CiAK
LSAgICBWZWN0b3I8IFJlZlB0cjxBUElPYmplY3Q+ID4gZmlsZVVSTHM7CisgICAgY29uc3QgdW5z
aWduZWQgdXJsQ291bnQgPSBlaW5hX2xpc3RfY291bnQoY2hvc2VuRmlsZXMpOworICAgIEVJTkFf
U0FGRVRZX09OX0ZBTFNFX1JFVFVSTl9WQUwodXJsQ291bnQgPT0gMSB8fCAodXJsQ291bnQgPiAx
ICYmIGltcGwtPmFsbG93TXVsdGlwbGVGaWxlcygpKSwgZmFsc2UpOworCisgICAgT3duQXJyYXlQ
dHI8V0tUeXBlUmVmPiBmaWxlc1VSTHMgPSBhZG9wdEFycmF5UHRyKG5ldyBXS1R5cGVSZWZbdXJs
Q291bnRdKTsKIAotICAgIGNvbnN0IEVpbmFfTGlzdCogbDsKLSAgICB2b2lkKiBkYXRhOwotICAg
IEVJTkFfTElTVF9GT1JFQUNIKGNob3NlbkZpbGVzLCBsLCBkYXRhKSB7Ci0gICAgICAgIEVJTkFf
U0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChkYXRhLCBmYWxzZSk7Ci0gICAgICAgIFN0cmluZyBm
aWxlVVJMID0gImZpbGU6Ly8iICsgU3RyaW5nOjpmcm9tVVRGOChzdGF0aWNfY2FzdDxjaGFyKj4o
ZGF0YSkpOwotICAgICAgICBmaWxlVVJMcy5hcHBlbmQoV2ViVVJMOjpjcmVhdGUoZmlsZVVSTCkp
OworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1cmxDb3VudDsgKytpKSB7CisgICAgICAg
IGNvbnN0IGNoYXIqIHVybCA9IHN0YXRpY19jYXN0PGNoYXIqPihlaW5hX2xpc3RfbnRoKGNob3Nl
bkZpbGVzLCBpKSk7CisgICAgICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh1cmws
IGZhbHNlKTsKKyAgICAgICAgU3RyaW5nIGZpbGVVUkwgPSBBU0NJSUxpdGVyYWwoImZpbGU6Ly8i
KSArIFN0cmluZzo6ZnJvbVVURjgodXJsKTsKKyAgICAgICAgZmlsZXNVUkxzW2ldID0gV0tVUkxD
cmVhdGVXaXRoVVRGOENTdHJpbmcoZmlsZVVSTC51dGY4KCkuZGF0YSgpKTsKICAgICB9CiAKLSAg
ICBpbXBsLT5jaG9vc2VGaWxlcyhmaWxlVVJMcyk7CisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJl
Zj4gd2tGaWxlVVJMcyhBZG9wdFdLLCBXS0FycmF5Q3JlYXRlQWRvcHRpbmdWYWx1ZXMoZmlsZXNV
UkxzLmdldCgpLCB1cmxDb3VudCkpOworICAgIGltcGwtPmNob29zZUZpbGVzKHdrRmlsZVVSTHMu
Z2V0KCkpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xNDEsMTEgKzE0MSwxMiBAQCBFaW5h
X0Jvb2wgZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2ZpbGVfY2hvb3NlKEV3a19GaWxlX0Nob29z
ZXJfUmVxdWVzdCogcmVxdWVzdAogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChj
aG9zZW5GaWxlLCBmYWxzZSk7CiAgICAgRUlOQV9TQUZFVFlfT05fVFJVRV9SRVRVUk5fVkFMKGlt
cGwtPndhc0hhbmRsZWQoKSwgZmFsc2UpOwogCi0gICAgVmVjdG9yPCBSZWZQdHI8QVBJT2JqZWN0
PiA+IGZpbGVVUkxzOwogICAgIFN0cmluZyBmaWxlVVJMID0gImZpbGU6Ly8iICsgU3RyaW5nOjpm
cm9tVVRGOChjaG9zZW5GaWxlKTsKLSAgICBmaWxlVVJMcy5hcHBlbmQoV2ViVVJMOjpjcmVhdGUo
ZmlsZVVSTCkpOworICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiB3a1VSTChBZG9wdFdLLCBXS1VS
TENyZWF0ZVdpdGhVVEY4Q1N0cmluZyhmaWxlVVJMLnV0ZjgoKS5kYXRhKCkpKTsKIAotICAgIGlt
cGwtPmNob29zZUZpbGVzKGZpbGVVUkxzKTsKKyAgICBXS1R5cGVSZWYgd2tVUkxQdHIgPSB3a1VS
TC5nZXQoKTsKKyAgICBXS1JldGFpblB0cjxXS0FycmF5UmVmPiB3a0ZpbGVVUkxzKEFkb3B0V0ss
IFdLQXJyYXlDcmVhdGUoJndrVVJMUHRyLCAxKSk7CisgICAgaW1wbC0+Y2hvb3NlRmlsZXMod2tG
aWxlVVJMcy5nZXQoKSk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdF9wcml2
YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2Vy
X3JlcXVlc3RfcHJpdmF0ZS5oCmluZGV4IDYxNzc4ZmYuLjY4OGEzOTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdF9w
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVf
Y2hvb3Nlcl9yZXF1ZXN0X3ByaXZhdGUuaApAQCAtMjcsMjIgKzI3LDE2IEBACiAjZGVmaW5lIGV3
a19maWxlX2Nob29zZXJfcmVxdWVzdF9wcml2YXRlX2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5o
IgorI2luY2x1ZGUgIldLUmV0YWluUHRyLmgiCiAjaW5jbHVkZSAiZXdrX29iamVjdF9wcml2YXRl
LmgiCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0K
LW5hbWVzcGFjZSBXZWJLaXQgewotY2xhc3MgSW1tdXRhYmxlQXJyYXk7Ci1jbGFzcyBXZWJPcGVu
UGFuZWxQYXJhbWV0ZXJzOwotY2xhc3MgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eTsK
LX0KIAogY2xhc3MgRXdrRmlsZUNob29zZXJSZXF1ZXN0IDogcHVibGljIEV3a09iamVjdCB7CiBw
dWJsaWM6CiAgICAgRVdLX09CSkVDVF9ERUNMQVJFKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdCkKIAot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV3a0ZpbGVDaG9vc2VyUmVxdWVzdD4gY3JlYXRlKFdlYktp
dDo6V2ViT3BlblBhbmVsUGFyYW1ldGVycyogcGFyYW1ldGVycywgV2ViS2l0OjpXZWJPcGVuUGFu
ZWxSZXN1bHRMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcikKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxF
d2tGaWxlQ2hvb3NlclJlcXVlc3Q+IGNyZWF0ZShXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFy
YW1ldGVycywgV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lcikKICAgICB7CiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRXdrRmlsZUNob29zZXJSZXF1ZXN0KHBhcmFtZXRl
cnMsIGxpc3RlbmVyKSk7CiAgICAgfQpAQCAtNTAsMTYgKzQ0LDE2IEBAIHB1YmxpYzoKICAgICB+
RXdrRmlsZUNob29zZXJSZXF1ZXN0KCk7CiAKICAgICBib29sIGFsbG93TXVsdGlwbGVGaWxlcygp
IGNvbnN0OwotICAgIFBhc3NSZWZQdHI8V2ViS2l0OjpJbW11dGFibGVBcnJheT4gYWNjZXB0ZWRN
SU1FVHlwZXMoKSBjb25zdDsKKyAgICBXS1JldGFpblB0cjxXS0FycmF5UmVmPiBhY2NlcHRlZE1J
TUVUeXBlcygpIGNvbnN0OwogICAgIGlubGluZSBib29sIHdhc0hhbmRsZWQoKSBjb25zdCB7IHJl
dHVybiBtX3dhc1JlcXVlc3RIYW5kbGVkOyB9CiAgICAgdm9pZCBjYW5jZWwoKTsKLSAgICB2b2lk
IGNob29zZUZpbGVzKFZlY3RvcjwgUmVmUHRyPFdlYktpdDo6QVBJT2JqZWN0PiA+JiBmaWxlVVJM
cyk7CisgICAgdm9pZCBjaG9vc2VGaWxlcyhXS0FycmF5UmVmIGZpbGVVUkxzKTsKIAogcHJpdmF0
ZToKLSAgICBFd2tGaWxlQ2hvb3NlclJlcXVlc3QoV2ViS2l0OjpXZWJPcGVuUGFuZWxQYXJhbWV0
ZXJzKiBwYXJhbWV0ZXJzLCBXZWJLaXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkq
IGxpc3RlbmVyKTsKKyAgICBFd2tGaWxlQ2hvb3NlclJlcXVlc3QoV0tPcGVuUGFuZWxQYXJhbWV0
ZXJzUmVmIHBhcmFtZXRlcnMsIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIp
OwogCi0gICAgUmVmUHRyPFdlYktpdDo6V2ViT3BlblBhbmVsUGFyYW1ldGVycz4gbV9wYXJhbWV0
ZXJzOwotICAgIFJlZlB0cjxXZWJLaXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk+
IG1fbGlzdGVuZXI7CisgICAgV0tSZXRhaW5QdHI8V0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmPiBt
X3BhcmFtZXRlcnM7CisgICAgV0tSZXRhaW5QdHI8V0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJl
Zj4gbV9saXN0ZW5lcjsKICAgICBib29sIG1fd2FzUmVxdWVzdEhhbmRsZWQ7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VVSUNsaWVudEVmbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VVSUNsaWVudEVmbC5jcHAKaW5kZXgg
ODY0M2Q1Yy4uNDQxOTM2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9QYWdlVUlDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
UGFnZVVJQ2xpZW50RWZsLmNwcApAQCAtMjAwLDcgKzIwMCw3IEBAIHVuc2lnbmVkIGxvbmcgbG9u
ZyBQYWdlVUlDbGllbnRFZmw6OmV4Y2VlZGVkRGF0YWJhc2VRdW90YShXS1BhZ2VSZWYsIFdLRnJh
bWVSZWYsCiB2b2lkIFBhZ2VVSUNsaWVudEVmbDo6cnVuT3BlblBhbmVsKFdLUGFnZVJlZiwgV0tG
cmFtZVJlZiwgV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnMsIFdLT3BlblBhbmVs
UmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAg
ICAgRXdrVmlld0ltcGwqIHZpZXdJbXBsID0gdG9QYWdlVUlDbGllbnRFZmwoY2xpZW50SW5mbykt
Pm1fdmlld0ltcGw7Ci0gICAgUmVmUHRyPEV3a0ZpbGVDaG9vc2VyUmVxdWVzdD4gZmlsZUNob29z
ZXJSZXF1ZXN0ID0gRXdrRmlsZUNob29zZXJSZXF1ZXN0OjpjcmVhdGUodG9JbXBsKHBhcmFtZXRl
cnMpLCB0b0ltcGwobGlzdGVuZXIpKTsKKyAgICBSZWZQdHI8RXdrRmlsZUNob29zZXJSZXF1ZXN0
PiBmaWxlQ2hvb3NlclJlcXVlc3QgPSBFd2tGaWxlQ2hvb3NlclJlcXVlc3Q6OmNyZWF0ZShwYXJh
bWV0ZXJzLCBsaXN0ZW5lcik7CiAgICAgdmlld0ltcGwtPnNtYXJ0Q2FsbGJhY2s8RmlsZUNob29z
ZXJSZXF1ZXN0PigpLmNhbGwoZmlsZUNob29zZXJSZXF1ZXN0LmdldCgpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185406</attachid>
            <date>2013-01-29 23:35:16 -0800</date>
            <delta_ts>2013-01-30 06:32:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>107811_ewk_filechooser_capi.patch</filename>
            <type>text/plain</type>
            <size>10442</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAyZTYxZGVlLi44ZTI5NzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTMtMDEtMjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbnNpZGUgZXdrX2ZpbGVfY2hv
b3Nlcl9yZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDc4MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVc2UgQyBBUEkgaW5zaWRlIGV3a19maWxlX2Nob29zZXJfcmVxdWVzdCBpbnN0ZWFkIG9m
CisgICAgICAgIGFjY2Vzc2luZyB0aGUgaW50ZXJuYWwgQysrIGNsYXNzZXMgZGlyZWN0bHksIHRv
CisgICAgICAgIGF2b2lkIHZpb2xhdGluZyBBUEkgbGF5ZXJpbmcuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3QuY3BwOgorICAgICAgICAoRXdr
RmlsZUNob29zZXJSZXF1ZXN0OjpFd2tGaWxlQ2hvb3NlclJlcXVlc3QpOgorICAgICAgICAoRXdr
RmlsZUNob29zZXJSZXF1ZXN0Ojp+RXdrRmlsZUNob29zZXJSZXF1ZXN0KToKKyAgICAgICAgKEV3
a0ZpbGVDaG9vc2VyUmVxdWVzdDo6YWxsb3dNdWx0aXBsZUZpbGVzKToKKyAgICAgICAgKEV3a0Zp
bGVDaG9vc2VyUmVxdWVzdDo6YWNjZXB0ZWRNSU1FVHlwZXMpOgorICAgICAgICAoRXdrRmlsZUNo
b29zZXJSZXF1ZXN0OjpjYW5jZWwpOgorICAgICAgICAoRXdrRmlsZUNob29zZXJSZXF1ZXN0Ojpj
aG9vc2VGaWxlcyk6CisgICAgICAgIChld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfYWNjZXB0ZWRf
bWltZXR5cGVzX2dldCk6CisgICAgICAgIChld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZmlsZXNf
Y2hvb3NlKToKKyAgICAgICAgKGV3a19maWxlX2Nob29zZXJfcmVxdWVzdF9maWxlX2Nob29zZSk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3By
aXZhdGUuaDoKKyAgICAgICAgKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y3JlYXRlKToKKyAgICAg
ICAgKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdCk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9QYWdl
VUlDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlVUlDbGllbnRFZmw6OnJ1bk9w
ZW5QYW5lbCk6CisKIDIwMTMtMDEtMjkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxl
LmNvbT4KIAogICAgICAgICBVcGRhdGUgdGhlIGV4cGVjdGVkIGdlbmVyYXRlZCBtZXNzYWdlIHJl
c3VsdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19m
aWxlX2Nob29zZXJfcmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3QuY3BwCmluZGV4IDM3NjA2YzUuLjFmM2UxMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29z
ZXJfcmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0LmNwcApAQCAtMjYsMTggKzI2LDE5IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0LmgiCiAKLSNpbmNs
dWRlICJJbW11dGFibGVBcnJheS5oIgotI2luY2x1ZGUgIk11dGFibGVBcnJheS5oIgotI2luY2x1
ZGUgIldlYk9wZW5QYW5lbFBhcmFtZXRlcnMuaCIKLSNpbmNsdWRlICJXZWJPcGVuUGFuZWxSZXN1
bHRMaXN0ZW5lclByb3h5LmgiCi0jaW5jbHVkZSAiV2ViU3RyaW5nLmgiCi0jaW5jbHVkZSAiV2Vi
VVJMLmgiCisjaW5jbHVkZSAiV0tBcnJheS5oIgorI2luY2x1ZGUgIldLT3BlblBhbmVsUGFyYW1l
dGVycy5oIgorI2luY2x1ZGUgIldLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXIuaCIKKyNpbmNsdWRl
ICJXS1NoYXJlZEFQSUNhc3QuaCIKKyNpbmNsdWRlICJXS1N0cmluZy5oIgorI2luY2x1ZGUgIldL
VVJMLmgiCiAjaW5jbHVkZSAiZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3ByaXZhdGUuaCIKKyNp
bmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLUV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6RXdr
RmlsZUNob29zZXJSZXF1ZXN0KFdlYk9wZW5QYW5lbFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMsIFdl
Yk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqIGxpc3RlbmVyKQorRXdrRmlsZUNob29zZXJS
ZXF1ZXN0OjpFd2tGaWxlQ2hvb3NlclJlcXVlc3QoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBh
cmFtZXRlcnMsIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIpCiAgICAgOiBt
X3BhcmFtZXRlcnMocGFyYW1ldGVycykKICAgICAsIG1fbGlzdGVuZXIobGlzdGVuZXIpCiAgICAg
LCBtX3dhc1JlcXVlc3RIYW5kbGVkKGZhbHNlKQpAQCAtNDksMzMgKzUwLDMwIEBAIEV3a0ZpbGVD
aG9vc2VyUmVxdWVzdDo6RXdrRmlsZUNob29zZXJSZXF1ZXN0KFdlYk9wZW5QYW5lbFBhcmFtZXRl
cnMqIHBhcmFtZXRlcnMsCiBFd2tGaWxlQ2hvb3NlclJlcXVlc3Q6On5Fd2tGaWxlQ2hvb3NlclJl
cXVlc3QoKQogewogICAgIGlmICghbV93YXNSZXF1ZXN0SGFuZGxlZCkKLSAgICAgICAgbV9saXN0
ZW5lci0+Y2FuY2VsKCk7CisgICAgICAgIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJDYW5jZWwo
bV9saXN0ZW5lci5nZXQoKSk7CiB9CiAKIGJvb2wgRXdrRmlsZUNob29zZXJSZXF1ZXN0OjphbGxv
d011bHRpcGxlRmlsZXMoKSBjb25zdAogewotICAgIHJldHVybiBtX3BhcmFtZXRlcnMtPmFsbG93
TXVsdGlwbGVGaWxlcygpOworICAgIHJldHVybiBXS09wZW5QYW5lbFBhcmFtZXRlcnNHZXRBbGxv
d3NNdWx0aXBsZUZpbGVzKG1fcGFyYW1ldGVycy5nZXQoKSk7CiB9CiAKLVBhc3NSZWZQdHI8SW1t
dXRhYmxlQXJyYXk+IEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6YWNjZXB0ZWRNSU1FVHlwZXMoKSBj
b25zdAorV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gRXdrRmlsZUNob29zZXJSZXF1ZXN0OjphY2Nl
cHRlZE1JTUVUeXBlcygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fcGFyYW1ldGVycy0+YWNjZXB0
TUlNRVR5cGVzKCk7CisgICAgcmV0dXJuIGFkb3B0V0soV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29w
eUFjY2VwdGVkTUlNRVR5cGVzKG1fcGFyYW1ldGVycy5nZXQoKSkpOwogfQogCiB2b2lkIEV3a0Zp
bGVDaG9vc2VyUmVxdWVzdDo6Y2FuY2VsKCkKIHsKICAgICBtX3dhc1JlcXVlc3RIYW5kbGVkID0g
dHJ1ZTsKIAotICAgIHJldHVybiBtX2xpc3RlbmVyLT5jYW5jZWwoKTsKKyAgICByZXR1cm4gV0tP
cGVuUGFuZWxSZXN1bHRMaXN0ZW5lckNhbmNlbChtX2xpc3RlbmVyLmdldCgpKTsKIH0KIAotdm9p
ZCBFd2tGaWxlQ2hvb3NlclJlcXVlc3Q6OmNob29zZUZpbGVzKFZlY3RvcjwgUmVmUHRyPEFQSU9i
amVjdD4gPiYgZmlsZVVSTHMpCit2b2lkIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y2hvb3NlRmls
ZXMoV0tBcnJheVJlZiBmaWxlVVJMcykKIHsKLSAgICBBU1NFUlQoIWZpbGVVUkxzLmlzRW1wdHko
KSk7Ci0gICAgQVNTRVJUKGZpbGVVUkxzLnNpemUoKSA9PSAxIHx8IG1fcGFyYW1ldGVycy0+YWxs
b3dNdWx0aXBsZUZpbGVzKCkpOwotCiAgICAgbV93YXNSZXF1ZXN0SGFuZGxlZCA9IHRydWU7Ci0g
ICAgbV9saXN0ZW5lci0+Y2hvb3NlRmlsZXMoSW1tdXRhYmxlQXJyYXk6OmFkb3B0KGZpbGVVUkxz
KS5nZXQoKSk7CisgICAgV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lckNob29zZUZpbGVzKG1fbGlz
dGVuZXIuZ2V0KCksIGZpbGVVUkxzKTsKIH0KIAogRWluYV9Cb29sIGV3a19maWxlX2Nob29zZXJf
cmVxdWVzdF9hbGxvd19tdWx0aXBsZV9maWxlc19nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3Nlcl9S
ZXF1ZXN0KiByZXF1ZXN0KQpAQCAtOTAsMTQgKzg4LDE0IEBAIEVpbmFfTGlzdCogZXdrX2ZpbGVf
Y2hvb3Nlcl9yZXF1ZXN0X2FjY2VwdGVkX21pbWV0eXBlc19nZXQoY29uc3QgRXdrX0ZpbGVfQ2hv
b3NlCiAgICAgRVdLX09CSl9HRVRfSU1QTF9PUl9SRVRVUk4oY29uc3QgRXdrRmlsZUNob29zZXJS
ZXF1ZXN0LCByZXF1ZXN0LCBpbXBsLCAwKTsKIAogICAgIEVpbmFfTGlzdCogbWltZVR5cGVMaXN0
ID0gMDsKLSAgICBSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IG1pbWVUeXBlcyA9IGltcGwtPmFjY2Vw
dGVkTUlNRVR5cGVzKCk7CisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gbWltZVR5cGVzID0g
aW1wbC0+YWNjZXB0ZWRNSU1FVHlwZXMoKTsKIAotICAgIGNvbnN0IHNpemVfdCBzaXplID0gbWlt
ZVR5cGVzLT5zaXplKCk7CisgICAgY29uc3Qgc2l6ZV90IHNpemUgPSBXS0FycmF5R2V0U2l6ZSht
aW1lVHlwZXMuZ2V0KCkpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7
Ci0gICAgICAgIFN0cmluZyBtaW1lVHlwZVN0cmluZyA9IHN0YXRpY19jYXN0PFdlYlN0cmluZyo+
KG1pbWVUeXBlcy0+YXQoaSkpLT5zdHJpbmcoKTsKLSAgICAgICAgaWYgKG1pbWVUeXBlU3RyaW5n
LmlzRW1wdHkoKSkKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1pbWVUeXBlID0g
c3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLQXJyYXlHZXRJdGVtQXRJbmRleChtaW1lVHlwZXMu
Z2V0KCksIGkpKTsKKyAgICAgICAgaWYgKCFtaW1lVHlwZSB8fCBXS1N0cmluZ0lzRW1wdHkobWlt
ZVR5cGUuZ2V0KCkpKQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIG1pbWVUeXBlTGlz
dCA9IGVpbmFfbGlzdF9hcHBlbmQobWltZVR5cGVMaXN0LCBlaW5hX3N0cmluZ3NoYXJlX2FkZCht
aW1lVHlwZVN0cmluZy51dGY4KCkuZGF0YSgpKSk7CisgICAgICAgIG1pbWVUeXBlTGlzdCA9IGVp
bmFfbGlzdF9hcHBlbmQobWltZVR5cGVMaXN0LCBlaW5hX3N0cmluZ3NoYXJlX2FkZCh0b1dURlN0
cmluZyhtaW1lVHlwZS5nZXQoKSkudXRmOCgpLmRhdGEoKSkpOwogICAgIH0KIAogICAgIHJldHVy
biBtaW1lVHlwZUxpc3Q7CkBAIC0xMTcsMjAgKzExNSwyMiBAQCBFaW5hX0Jvb2wgZXdrX2ZpbGVf
Y2hvb3Nlcl9yZXF1ZXN0X2ZpbGVzX2Nob29zZShFd2tfRmlsZV9DaG9vc2VyX1JlcXVlc3QqIHJl
cXVlcwogewogICAgIEVXS19PQkpfR0VUX0lNUExfT1JfUkVUVVJOKEV3a0ZpbGVDaG9vc2VyUmVx
dWVzdCwgcmVxdWVzdCwgaW1wbCwgZmFsc2UpOwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVU
VVJOX1ZBTChjaG9zZW5GaWxlcywgZmFsc2UpOwotICAgIEVJTkFfU0FGRVRZX09OX0ZBTFNFX1JF
VFVSTl9WQUwoZWluYV9saXN0X2NvdW50KGNob3NlbkZpbGVzKSA9PSAxIHx8IGltcGwtPmFsbG93
TXVsdGlwbGVGaWxlcygpLCBmYWxzZSk7CiAgICAgRUlOQV9TQUZFVFlfT05fVFJVRV9SRVRVUk5f
VkFMKGltcGwtPndhc0hhbmRsZWQoKSwgZmFsc2UpOwogCi0gICAgVmVjdG9yPCBSZWZQdHI8QVBJ
T2JqZWN0PiA+IGZpbGVVUkxzOworICAgIGNvbnN0IHVuc2lnbmVkIHVybENvdW50ID0gZWluYV9s
aXN0X2NvdW50KGNob3NlbkZpbGVzKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9GQUxTRV9SRVRVUk5f
VkFMKHVybENvdW50ID09IDEgfHwgKHVybENvdW50ID4gMSAmJiBpbXBsLT5hbGxvd011bHRpcGxl
RmlsZXMoKSksIGZhbHNlKTsKKworICAgIE93bkFycmF5UHRyPFdLVHlwZVJlZj4gZmlsZXNVUkxz
ID0gYWRvcHRBcnJheVB0cihuZXcgV0tUeXBlUmVmW3VybENvdW50XSk7CiAKLSAgICBjb25zdCBF
aW5hX0xpc3QqIGw7Ci0gICAgdm9pZCogZGF0YTsKLSAgICBFSU5BX0xJU1RfRk9SRUFDSChjaG9z
ZW5GaWxlcywgbCwgZGF0YSkgewotICAgICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9W
QUwoZGF0YSwgZmFsc2UpOwotICAgICAgICBTdHJpbmcgZmlsZVVSTCA9ICJmaWxlOi8vIiArIFN0
cmluZzo6ZnJvbVVURjgoc3RhdGljX2Nhc3Q8Y2hhcio+KGRhdGEpKTsKLSAgICAgICAgZmlsZVVS
THMuYXBwZW5kKFdlYlVSTDo6Y3JlYXRlKGZpbGVVUkwpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgdXJsQ291bnQ7ICsraSkgeworICAgICAgICBjb25zdCBjaGFyKiB1cmwgPSBzdGF0
aWNfY2FzdDxjaGFyKj4oZWluYV9saXN0X250aChjaG9zZW5GaWxlcywgaSkpOworICAgICAgICBF
SU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwodXJsLCBmYWxzZSk7CisgICAgICAgIFN0cmlu
ZyBmaWxlVVJMID0gQVNDSUlMaXRlcmFsKCJmaWxlOi8vIikgKyBTdHJpbmc6OmZyb21VVEY4KHVy
bCk7CisgICAgICAgIGZpbGVzVVJMc1tpXSA9IFdLVVJMQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGZp
bGVVUkwudXRmOCgpLmRhdGEoKSk7CiAgICAgfQogCi0gICAgaW1wbC0+Y2hvb3NlRmlsZXMoZmls
ZVVSTHMpOworICAgIFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IHdrRmlsZVVSTHMoQWRvcHRXSywg
V0tBcnJheUNyZWF0ZUFkb3B0aW5nVmFsdWVzKGZpbGVzVVJMcy5nZXQoKSwgdXJsQ291bnQpKTsK
KyAgICBpbXBsLT5jaG9vc2VGaWxlcyh3a0ZpbGVVUkxzLmdldCgpKTsKIAogICAgIHJldHVybiB0
cnVlOwogfQpAQCAtMTQxLDExICsxNDEsMTIgQEAgRWluYV9Cb29sIGV3a19maWxlX2Nob29zZXJf
cmVxdWVzdF9maWxlX2Nob29zZShFd2tfRmlsZV9DaG9vc2VyX1JlcXVlc3QqIHJlcXVlc3QKICAg
ICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY2hvc2VuRmlsZSwgZmFsc2UpOwogICAg
IEVJTkFfU0FGRVRZX09OX1RSVUVfUkVUVVJOX1ZBTChpbXBsLT53YXNIYW5kbGVkKCksIGZhbHNl
KTsKIAotICAgIFZlY3RvcjwgUmVmUHRyPEFQSU9iamVjdD4gPiBmaWxlVVJMczsKICAgICBTdHJp
bmcgZmlsZVVSTCA9ICJmaWxlOi8vIiArIFN0cmluZzo6ZnJvbVVURjgoY2hvc2VuRmlsZSk7Ci0g
ICAgZmlsZVVSTHMuYXBwZW5kKFdlYlVSTDo6Y3JlYXRlKGZpbGVVUkwpKTsKKyAgICBXS1JldGFp
blB0cjxXS1VSTFJlZj4gd2tVUkwoQWRvcHRXSywgV0tVUkxDcmVhdGVXaXRoVVRGOENTdHJpbmco
ZmlsZVVSTC51dGY4KCkuZGF0YSgpKSk7CiAKLSAgICBpbXBsLT5jaG9vc2VGaWxlcyhmaWxlVVJM
cyk7CisgICAgV0tUeXBlUmVmIHdrVVJMUHRyID0gd2tVUkwuZ2V0KCk7CisgICAgV0tSZXRhaW5Q
dHI8V0tBcnJheVJlZj4gd2tGaWxlVVJMcyhBZG9wdFdLLCBXS0FycmF5Q3JlYXRlKCZ3a1VSTFB0
ciwgMSkpOworICAgIGltcGwtPmNob29zZUZpbGVzKHdrRmlsZVVSTHMuZ2V0KCkpOwogCiAgICAg
cmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3ByaXZhdGUuaAppbmRl
eCA2MTc3OGZmLi42ODhhMzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdF9wcml2YXRl
LmgKQEAgLTI3LDIyICsyNywxNiBAQAogI2RlZmluZSBld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3Rf
cHJpdmF0ZV9oCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlICJXS1JldGFpblB0
ci5oIgogI2luY2x1ZGUgImV3a19vYmplY3RfcHJpdmF0ZS5oIgorI2luY2x1ZGUgPFdlYktpdDIv
V0tCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLWNs
YXNzIEltbXV0YWJsZUFycmF5OwotY2xhc3MgV2ViT3BlblBhbmVsUGFyYW1ldGVyczsKLWNsYXNz
IFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk7Ci19CiAKIGNsYXNzIEV3a0ZpbGVDaG9v
c2VyUmVxdWVzdCA6IHB1YmxpYyBFd2tPYmplY3QgewogcHVibGljOgogICAgIEVXS19PQkpFQ1Rf
REVDTEFSRShFd2tGaWxlQ2hvb3NlclJlcXVlc3QpCiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxF
d2tGaWxlQ2hvb3NlclJlcXVlc3Q+IGNyZWF0ZShXZWJLaXQ6OldlYk9wZW5QYW5lbFBhcmFtZXRl
cnMqIHBhcmFtZXRlcnMsIFdlYktpdDo6V2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSog
bGlzdGVuZXIpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8RXdrRmlsZUNob29zZXJSZXF1ZXN0PiBj
cmVhdGUoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnMsIFdLT3BlblBhbmVsUmVz
dWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEV3a0ZpbGVDaG9vc2VyUmVxdWVzdChwYXJhbWV0ZXJzLCBsaXN0ZW5lcikpOwogICAgIH0K
QEAgLTUwLDE2ICs0NCwxNiBAQCBwdWJsaWM6CiAgICAgfkV3a0ZpbGVDaG9vc2VyUmVxdWVzdCgp
OwogCiAgICAgYm9vbCBhbGxvd011bHRpcGxlRmlsZXMoKSBjb25zdDsKLSAgICBQYXNzUmVmUHRy
PFdlYktpdDo6SW1tdXRhYmxlQXJyYXk+IGFjY2VwdGVkTUlNRVR5cGVzKCkgY29uc3Q7CisgICAg
V0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gYWNjZXB0ZWRNSU1FVHlwZXMoKSBjb25zdDsKICAgICBp
bmxpbmUgYm9vbCB3YXNIYW5kbGVkKCkgY29uc3QgeyByZXR1cm4gbV93YXNSZXF1ZXN0SGFuZGxl
ZDsgfQogICAgIHZvaWQgY2FuY2VsKCk7Ci0gICAgdm9pZCBjaG9vc2VGaWxlcyhWZWN0b3I8IFJl
ZlB0cjxXZWJLaXQ6OkFQSU9iamVjdD4gPiYgZmlsZVVSTHMpOworICAgIHZvaWQgY2hvb3NlRmls
ZXMoV0tBcnJheVJlZiBmaWxlVVJMcyk7CiAKIHByaXZhdGU6Ci0gICAgRXdrRmlsZUNob29zZXJS
ZXF1ZXN0KFdlYktpdDo6V2ViT3BlblBhbmVsUGFyYW1ldGVycyogcGFyYW1ldGVycywgV2ViS2l0
OjpXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcik7CisgICAgRXdrRmls
ZUNob29zZXJSZXF1ZXN0KFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBwYXJhbWV0ZXJzLCBXS09w
ZW5QYW5lbFJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVyKTsKIAotICAgIFJlZlB0cjxXZWJLaXQ6
OldlYk9wZW5QYW5lbFBhcmFtZXRlcnM+IG1fcGFyYW1ldGVyczsKLSAgICBSZWZQdHI8V2ViS2l0
OjpXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5PiBtX2xpc3RlbmVyOworICAgIFdLUmV0
YWluUHRyPFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZj4gbV9wYXJhbWV0ZXJzOworICAgIFdLUmV0
YWluUHRyPFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWY+IG1fbGlzdGVuZXI7CiAgICAgYm9v
bCBtX3dhc1JlcXVlc3RIYW5kbGVkOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9QYWdlVUlDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9QYWdlVUlDbGllbnRFZmwuY3BwCmluZGV4IDgxMWRiMDYuLjMyMTI0ZWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVVJQ2xpZW50RWZsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VVSUNsaWVudEVmbC5jcHAKQEAg
LTIwMCw3ICsyMDAsNyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgUGFnZVVJQ2xpZW50RWZsOjpleGNl
ZWRlZERhdGFiYXNlUXVvdGEoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLAogdm9pZCBQYWdlVUlDbGll
bnRFZmw6OnJ1bk9wZW5QYW5lbChXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLT3BlblBhbmVsUGFy
YW1ldGVyc1JlZiBwYXJhbWV0ZXJzLCBXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyUmVmIGxpc3Rl
bmVyLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewogICAgIEV3a1ZpZXcqIHZpZXcgPSB0b1Bh
Z2VVSUNsaWVudEVmbChjbGllbnRJbmZvKS0+bV92aWV3OwotICAgIFJlZlB0cjxFd2tGaWxlQ2hv
b3NlclJlcXVlc3Q+IGZpbGVDaG9vc2VyUmVxdWVzdCA9IEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6
Y3JlYXRlKHRvSW1wbChwYXJhbWV0ZXJzKSwgdG9JbXBsKGxpc3RlbmVyKSk7CisgICAgUmVmUHRy
PEV3a0ZpbGVDaG9vc2VyUmVxdWVzdD4gZmlsZUNob29zZXJSZXF1ZXN0ID0gRXdrRmlsZUNob29z
ZXJSZXF1ZXN0OjpjcmVhdGUocGFyYW1ldGVycywgbGlzdGVuZXIpOwogICAgIHZpZXctPnNtYXJ0
Q2FsbGJhY2s8RmlsZUNob29zZXJSZXF1ZXN0PigpLmNhbGwoZmlsZUNob29zZXJSZXF1ZXN0Lmdl
dCgpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185446</attachid>
            <date>2013-01-30 02:46:14 -0800</date>
            <delta_ts>2013-01-30 02:47:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>107811_ewk_filechooser_capi.patch</filename>
            <type>text/plain</type>
            <size>10464</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhMzIzMjc0Li5iYzJmYjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTMtMDEtMjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbnNpZGUgZXdrX2ZpbGVfY2hv
b3Nlcl9yZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDc4MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVc2UgQyBBUEkgaW5zaWRlIGV3a19maWxlX2Nob29zZXJfcmVxdWVzdCBpbnN0ZWFkIG9m
CisgICAgICAgIGFjY2Vzc2luZyB0aGUgaW50ZXJuYWwgQysrIGNsYXNzZXMgZGlyZWN0bHksIHRv
CisgICAgICAgIGF2b2lkIHZpb2xhdGluZyBBUEkgbGF5ZXJpbmcuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3QuY3BwOgorICAgICAgICAoRXdr
RmlsZUNob29zZXJSZXF1ZXN0OjpFd2tGaWxlQ2hvb3NlclJlcXVlc3QpOgorICAgICAgICAoRXdr
RmlsZUNob29zZXJSZXF1ZXN0Ojp+RXdrRmlsZUNob29zZXJSZXF1ZXN0KToKKyAgICAgICAgKEV3
a0ZpbGVDaG9vc2VyUmVxdWVzdDo6YWxsb3dNdWx0aXBsZUZpbGVzKToKKyAgICAgICAgKEV3a0Zp
bGVDaG9vc2VyUmVxdWVzdDo6YWNjZXB0ZWRNSU1FVHlwZXMpOgorICAgICAgICAoRXdrRmlsZUNo
b29zZXJSZXF1ZXN0OjpjYW5jZWwpOgorICAgICAgICAoRXdrRmlsZUNob29zZXJSZXF1ZXN0Ojpj
aG9vc2VGaWxlcyk6CisgICAgICAgIChld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfYWNjZXB0ZWRf
bWltZXR5cGVzX2dldCk6CisgICAgICAgIChld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZmlsZXNf
Y2hvb3NlKToKKyAgICAgICAgKGV3a19maWxlX2Nob29zZXJfcmVxdWVzdF9maWxlX2Nob29zZSk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3By
aXZhdGUuaDoKKyAgICAgICAgKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y3JlYXRlKToKKyAgICAg
ICAgKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdCk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9QYWdl
VUlDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlVUlDbGllbnRFZmw6OnJ1bk9w
ZW5QYW5lbCk6CisKIDIwMTMtMDEtMzAgIEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFu
eTEwMC5uZXQ+CiAKICAgICAgICAgQ29vcmRpbmF0ZWQgR3JhcGhpY3M6IFJlbW92ZSBtX3BlbmRp
bmdTeW5jQmFja2luZ1N0b3JlcyBpbiBMYXllclRyZWVSZW5kZXJlci4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3Jl
cXVlc3QuY3BwCmluZGV4IDM3NjA2YzUuLmVkNDE2Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0
LmNwcApAQCAtMjYsMTggKzI2LDE5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
ZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0LmgiCiAKLSNpbmNsdWRlICJJbW11dGFibGVBcnJheS5o
IgotI2luY2x1ZGUgIk11dGFibGVBcnJheS5oIgotI2luY2x1ZGUgIldlYk9wZW5QYW5lbFBhcmFt
ZXRlcnMuaCIKLSNpbmNsdWRlICJXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmgiCi0j
aW5jbHVkZSAiV2ViU3RyaW5nLmgiCi0jaW5jbHVkZSAiV2ViVVJMLmgiCisjaW5jbHVkZSAiV0tB
cnJheS5oIgorI2luY2x1ZGUgIldLT3BlblBhbmVsUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIldL
T3BlblBhbmVsUmVzdWx0TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJXS1NoYXJlZEFQSUNhc3QuaCIK
KyNpbmNsdWRlICJXS1N0cmluZy5oIgorI2luY2x1ZGUgIldLVVJMLmgiCiAjaW5jbHVkZSAiZXdr
X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3ByaXZhdGUuaCIKKyNpbmNsdWRlIDx3dGYvT3duQXJyYXlQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CiAKLUV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6RXdrRmlsZUNob29zZXJSZXF1ZXN0KFdl
Yk9wZW5QYW5lbFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMsIFdlYk9wZW5QYW5lbFJlc3VsdExpc3Rl
bmVyUHJveHkqIGxpc3RlbmVyKQorRXdrRmlsZUNob29zZXJSZXF1ZXN0OjpFd2tGaWxlQ2hvb3Nl
clJlcXVlc3QoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnMsIFdLT3BlblBhbmVs
UmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIpCiAgICAgOiBtX3BhcmFtZXRlcnMocGFyYW1ldGVy
cykKICAgICAsIG1fbGlzdGVuZXIobGlzdGVuZXIpCiAgICAgLCBtX3dhc1JlcXVlc3RIYW5kbGVk
KGZhbHNlKQpAQCAtNDksMzMgKzUwLDMwIEBAIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6RXdrRmls
ZUNob29zZXJSZXF1ZXN0KFdlYk9wZW5QYW5lbFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMsCiBFd2tG
aWxlQ2hvb3NlclJlcXVlc3Q6On5Fd2tGaWxlQ2hvb3NlclJlcXVlc3QoKQogewogICAgIGlmICgh
bV93YXNSZXF1ZXN0SGFuZGxlZCkKLSAgICAgICAgbV9saXN0ZW5lci0+Y2FuY2VsKCk7CisgICAg
ICAgIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJDYW5jZWwobV9saXN0ZW5lci5nZXQoKSk7CiB9
CiAKIGJvb2wgRXdrRmlsZUNob29zZXJSZXF1ZXN0OjphbGxvd011bHRpcGxlRmlsZXMoKSBjb25z
dAogewotICAgIHJldHVybiBtX3BhcmFtZXRlcnMtPmFsbG93TXVsdGlwbGVGaWxlcygpOworICAg
IHJldHVybiBXS09wZW5QYW5lbFBhcmFtZXRlcnNHZXRBbGxvd3NNdWx0aXBsZUZpbGVzKG1fcGFy
YW1ldGVycy5nZXQoKSk7CiB9CiAKLVBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IEV3a0ZpbGVD
aG9vc2VyUmVxdWVzdDo6YWNjZXB0ZWRNSU1FVHlwZXMoKSBjb25zdAorV0tSZXRhaW5QdHI8V0tB
cnJheVJlZj4gRXdrRmlsZUNob29zZXJSZXF1ZXN0OjphY2NlcHRlZE1JTUVUeXBlcygpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIG1fcGFyYW1ldGVycy0+YWNjZXB0TUlNRVR5cGVzKCk7CisgICAgcmV0
dXJuIGFkb3B0V0soV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weUFjY2VwdGVkTUlNRVR5cGVzKG1f
cGFyYW1ldGVycy5nZXQoKSkpOwogfQogCiB2b2lkIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y2Fu
Y2VsKCkKIHsKICAgICBtX3dhc1JlcXVlc3RIYW5kbGVkID0gdHJ1ZTsKIAotICAgIHJldHVybiBt
X2xpc3RlbmVyLT5jYW5jZWwoKTsKKyAgICByZXR1cm4gV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5l
ckNhbmNlbChtX2xpc3RlbmVyLmdldCgpKTsKIH0KIAotdm9pZCBFd2tGaWxlQ2hvb3NlclJlcXVl
c3Q6OmNob29zZUZpbGVzKFZlY3RvcjwgUmVmUHRyPEFQSU9iamVjdD4gPiYgZmlsZVVSTHMpCit2
b2lkIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y2hvb3NlRmlsZXMoV0tBcnJheVJlZiBmaWxlVVJM
cykKIHsKLSAgICBBU1NFUlQoIWZpbGVVUkxzLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUKGZpbGVV
UkxzLnNpemUoKSA9PSAxIHx8IG1fcGFyYW1ldGVycy0+YWxsb3dNdWx0aXBsZUZpbGVzKCkpOwot
CiAgICAgbV93YXNSZXF1ZXN0SGFuZGxlZCA9IHRydWU7Ci0gICAgbV9saXN0ZW5lci0+Y2hvb3Nl
RmlsZXMoSW1tdXRhYmxlQXJyYXk6OmFkb3B0KGZpbGVVUkxzKS5nZXQoKSk7CisgICAgV0tPcGVu
UGFuZWxSZXN1bHRMaXN0ZW5lckNob29zZUZpbGVzKG1fbGlzdGVuZXIuZ2V0KCksIGZpbGVVUkxz
KTsKIH0KIAogRWluYV9Cb29sIGV3a19maWxlX2Nob29zZXJfcmVxdWVzdF9hbGxvd19tdWx0aXBs
ZV9maWxlc19nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3Nlcl9SZXF1ZXN0KiByZXF1ZXN0KQpAQCAt
OTAsMTQgKzg4LDE0IEBAIEVpbmFfTGlzdCogZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2FjY2Vw
dGVkX21pbWV0eXBlc19nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3NlCiAgICAgRVdLX09CSl9HRVRf
SU1QTF9PUl9SRVRVUk4oY29uc3QgRXdrRmlsZUNob29zZXJSZXF1ZXN0LCByZXF1ZXN0LCBpbXBs
LCAwKTsKIAogICAgIEVpbmFfTGlzdCogbWltZVR5cGVMaXN0ID0gMDsKLSAgICBSZWZQdHI8SW1t
dXRhYmxlQXJyYXk+IG1pbWVUeXBlcyA9IGltcGwtPmFjY2VwdGVkTUlNRVR5cGVzKCk7CisgICAg
V0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gbWltZVR5cGVzID0gaW1wbC0+YWNjZXB0ZWRNSU1FVHlw
ZXMoKTsKIAotICAgIGNvbnN0IHNpemVfdCBzaXplID0gbWltZVR5cGVzLT5zaXplKCk7CisgICAg
Y29uc3Qgc2l6ZV90IHNpemUgPSBXS0FycmF5R2V0U2l6ZShtaW1lVHlwZXMuZ2V0KCkpOwogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgIFN0cmluZyBtaW1l
VHlwZVN0cmluZyA9IHN0YXRpY19jYXN0PFdlYlN0cmluZyo+KG1pbWVUeXBlcy0+YXQoaSkpLT5z
dHJpbmcoKTsKLSAgICAgICAgaWYgKG1pbWVUeXBlU3RyaW5nLmlzRW1wdHkoKSkKKyAgICAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1pbWVUeXBlID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdS
ZWY+KFdLQXJyYXlHZXRJdGVtQXRJbmRleChtaW1lVHlwZXMuZ2V0KCksIGkpKTsKKyAgICAgICAg
aWYgKCFtaW1lVHlwZSB8fCBXS1N0cmluZ0lzRW1wdHkobWltZVR5cGUuZ2V0KCkpKQogICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgIG1pbWVUeXBlTGlzdCA9IGVpbmFfbGlzdF9hcHBlbmQo
bWltZVR5cGVMaXN0LCBlaW5hX3N0cmluZ3NoYXJlX2FkZChtaW1lVHlwZVN0cmluZy51dGY4KCku
ZGF0YSgpKSk7CisgICAgICAgIG1pbWVUeXBlTGlzdCA9IGVpbmFfbGlzdF9hcHBlbmQobWltZVR5
cGVMaXN0LCBlaW5hX3N0cmluZ3NoYXJlX2FkZCh0b1dURlN0cmluZyhtaW1lVHlwZS5nZXQoKSku
dXRmOCgpLmRhdGEoKSkpOwogICAgIH0KIAogICAgIHJldHVybiBtaW1lVHlwZUxpc3Q7CkBAIC0x
MTcsMjAgKzExNSwyMiBAQCBFaW5hX0Jvb2wgZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2ZpbGVz
X2Nob29zZShFd2tfRmlsZV9DaG9vc2VyX1JlcXVlc3QqIHJlcXVlcwogewogICAgIEVXS19PQkpf
R0VUX0lNUExfT1JfUkVUVVJOKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdCwgcmVxdWVzdCwgaW1wbCwg
ZmFsc2UpOwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChjaG9zZW5GaWxlcywg
ZmFsc2UpOwotICAgIEVJTkFfU0FGRVRZX09OX0ZBTFNFX1JFVFVSTl9WQUwoZWluYV9saXN0X2Nv
dW50KGNob3NlbkZpbGVzKSA9PSAxIHx8IGltcGwtPmFsbG93TXVsdGlwbGVGaWxlcygpLCBmYWxz
ZSk7CiAgICAgRUlOQV9TQUZFVFlfT05fVFJVRV9SRVRVUk5fVkFMKGltcGwtPndhc0hhbmRsZWQo
KSwgZmFsc2UpOwogCi0gICAgVmVjdG9yPCBSZWZQdHI8QVBJT2JqZWN0PiA+IGZpbGVVUkxzOwor
ICAgIGNvbnN0IHVuc2lnbmVkIHVybENvdW50ID0gZWluYV9saXN0X2NvdW50KGNob3NlbkZpbGVz
KTsKKyAgICBFSU5BX1NBRkVUWV9PTl9GQUxTRV9SRVRVUk5fVkFMKHVybENvdW50ID09IDEgfHwg
KHVybENvdW50ID4gMSAmJiBpbXBsLT5hbGxvd011bHRpcGxlRmlsZXMoKSksIGZhbHNlKTsKKwor
ICAgIE93bkFycmF5UHRyPFdLVHlwZVJlZj4gZmlsZXNVUkxzID0gYWRvcHRBcnJheVB0cihuZXcg
V0tUeXBlUmVmW3VybENvdW50XSk7CiAKLSAgICBjb25zdCBFaW5hX0xpc3QqIGw7Ci0gICAgdm9p
ZCogZGF0YTsKLSAgICBFSU5BX0xJU1RfRk9SRUFDSChjaG9zZW5GaWxlcywgbCwgZGF0YSkgewot
ICAgICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZGF0YSwgZmFsc2UpOwotICAg
ICAgICBTdHJpbmcgZmlsZVVSTCA9ICJmaWxlOi8vIiArIFN0cmluZzo6ZnJvbVVURjgoc3RhdGlj
X2Nhc3Q8Y2hhcio+KGRhdGEpKTsKLSAgICAgICAgZmlsZVVSTHMuYXBwZW5kKFdlYlVSTDo6Y3Jl
YXRlKGZpbGVVUkwpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXJsQ291bnQ7ICsr
aSkgeworICAgICAgICBjb25zdCBjaGFyKiB1cmwgPSBzdGF0aWNfY2FzdDxjaGFyKj4oZWluYV9s
aXN0X250aChjaG9zZW5GaWxlcywgaSkpOworICAgICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JF
VFVSTl9WQUwodXJsLCBmYWxzZSk7CisgICAgICAgIFN0cmluZyBmaWxlVVJMID0gImZpbGU6Ly8i
ICsgU3RyaW5nOjpmcm9tVVRGOCh1cmwpOworICAgICAgICBmaWxlc1VSTHNbaV0gPSBXS1VSTENy
ZWF0ZVdpdGhVVEY4Q1N0cmluZyhmaWxlVVJMLnV0ZjgoKS5kYXRhKCkpOwogICAgIH0KIAotICAg
IGltcGwtPmNob29zZUZpbGVzKGZpbGVVUkxzKTsKKyAgICBXS1JldGFpblB0cjxXS0FycmF5UmVm
PiB3a0ZpbGVVUkxzKEFkb3B0V0ssIFdLQXJyYXlDcmVhdGVBZG9wdGluZ1ZhbHVlcyhmaWxlc1VS
THMuZ2V0KCksIHVybENvdW50KSk7CisgICAgaW1wbC0+Y2hvb3NlRmlsZXMod2tGaWxlVVJMcy5n
ZXQoKSk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTE0MSwxMSArMTQxLDEyIEBAIEVpbmFf
Qm9vbCBld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZmlsZV9jaG9vc2UoRXdrX0ZpbGVfQ2hvb3Nl
cl9SZXF1ZXN0KiByZXF1ZXN0CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGNo
b3NlbkZpbGUsIGZhbHNlKTsKICAgICBFSU5BX1NBRkVUWV9PTl9UUlVFX1JFVFVSTl9WQUwoaW1w
bC0+d2FzSGFuZGxlZCgpLCBmYWxzZSk7CiAKLSAgICBWZWN0b3I8IFJlZlB0cjxBUElPYmplY3Q+
ID4gZmlsZVVSTHM7CiAgICAgU3RyaW5nIGZpbGVVUkwgPSAiZmlsZTovLyIgKyBTdHJpbmc6OmZy
b21VVEY4KGNob3NlbkZpbGUpOwotICAgIGZpbGVVUkxzLmFwcGVuZChXZWJVUkw6OmNyZWF0ZShm
aWxlVVJMKSk7CisgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IHdrVVJMKEFkb3B0V0ssIFdLVVJM
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKGZpbGVVUkwudXRmOCgpLmRhdGEoKSkpOwogCi0gICAgaW1w
bC0+Y2hvb3NlRmlsZXMoZmlsZVVSTHMpOworICAgIFdLVHlwZVJlZiB3a1VSTFB0ciA9IHdrVVJM
LmdldCgpOworICAgIFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IHdrRmlsZVVSTHMoQWRvcHRXSywg
V0tBcnJheUNyZWF0ZSgmd2tVUkxQdHIsIDEpKTsKKyAgICBpbXBsLT5jaG9vc2VGaWxlcyh3a0Zp
bGVVUkxzLmdldCgpKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3ByaXZh
dGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJf
cmVxdWVzdF9wcml2YXRlLmgKaW5kZXggNjE3NzhmZi4uNjg4YTM5MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9j
aG9vc2VyX3JlcXVlc3RfcHJpdmF0ZS5oCkBAIC0yNywyMiArMjcsMTYgQEAKICNkZWZpbmUgZXdr
X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3ByaXZhdGVfaAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0Lmgi
CisjaW5jbHVkZSAiV0tSZXRhaW5QdHIuaCIKICNpbmNsdWRlICJld2tfb2JqZWN0X3ByaXZhdGUu
aCIKKyNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLQot
bmFtZXNwYWNlIFdlYktpdCB7Ci1jbGFzcyBJbW11dGFibGVBcnJheTsKLWNsYXNzIFdlYk9wZW5Q
YW5lbFBhcmFtZXRlcnM7Ci1jbGFzcyBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5Owot
fQogCiBjbGFzcyBFd2tGaWxlQ2hvb3NlclJlcXVlc3QgOiBwdWJsaWMgRXdrT2JqZWN0IHsKIHB1
YmxpYzoKICAgICBFV0tfT0JKRUNUX0RFQ0xBUkUoRXdrRmlsZUNob29zZXJSZXF1ZXN0KQogCi0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8RXdrRmlsZUNob29zZXJSZXF1ZXN0PiBjcmVhdGUoV2ViS2l0
OjpXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzLCBXZWJLaXQ6OldlYk9wZW5QYW5l
bFJlc3VsdExpc3RlbmVyUHJveHkqIGxpc3RlbmVyKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV3
a0ZpbGVDaG9vc2VyUmVxdWVzdD4gY3JlYXRlKFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBwYXJh
bWV0ZXJzLCBXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVyKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBFd2tGaWxlQ2hvb3NlclJlcXVlc3QocGFyYW1ldGVy
cywgbGlzdGVuZXIpKTsKICAgICB9CkBAIC01MCwxNiArNDQsMTYgQEAgcHVibGljOgogICAgIH5F
d2tGaWxlQ2hvb3NlclJlcXVlc3QoKTsKIAogICAgIGJvb2wgYWxsb3dNdWx0aXBsZUZpbGVzKCkg
Y29uc3Q7Ci0gICAgUGFzc1JlZlB0cjxXZWJLaXQ6OkltbXV0YWJsZUFycmF5PiBhY2NlcHRlZE1J
TUVUeXBlcygpIGNvbnN0OworICAgIFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IGFjY2VwdGVkTUlN
RVR5cGVzKCkgY29uc3Q7CiAgICAgaW5saW5lIGJvb2wgd2FzSGFuZGxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fd2FzUmVxdWVzdEhhbmRsZWQ7IH0KICAgICB2b2lkIGNhbmNlbCgpOwotICAgIHZvaWQg
Y2hvb3NlRmlsZXMoVmVjdG9yPCBSZWZQdHI8V2ViS2l0OjpBUElPYmplY3Q+ID4mIGZpbGVVUkxz
KTsKKyAgICB2b2lkIGNob29zZUZpbGVzKFdLQXJyYXlSZWYgZmlsZVVSTHMpOwogCiBwcml2YXRl
OgotICAgIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdChXZWJLaXQ6OldlYk9wZW5QYW5lbFBhcmFtZXRl
cnMqIHBhcmFtZXRlcnMsIFdlYktpdDo6V2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSog
bGlzdGVuZXIpOworICAgIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdChXS09wZW5QYW5lbFBhcmFtZXRl
cnNSZWYgcGFyYW1ldGVycywgV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lcik7
CiAKLSAgICBSZWZQdHI8V2ViS2l0OjpXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzPiBtX3BhcmFtZXRl
cnM7Ci0gICAgUmVmUHRyPFdlYktpdDo6V2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eT4g
bV9saXN0ZW5lcjsKKyAgICBXS1JldGFpblB0cjxXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWY+IG1f
cGFyYW1ldGVyczsKKyAgICBXS1JldGFpblB0cjxXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyUmVm
PiBtX2xpc3RlbmVyOwogICAgIGJvb2wgbV93YXNSZXF1ZXN0SGFuZGxlZDsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVVJQ2xpZW50RWZsLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVVJQ2xpZW50RWZsLmNwcAppbmRleCA4
MTFkYjA2Li4zMjEyNGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZs
L1BhZ2VVSUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Q
YWdlVUlDbGllbnRFZmwuY3BwCkBAIC0yMDAsNyArMjAwLDcgQEAgdW5zaWduZWQgbG9uZyBsb25n
IFBhZ2VVSUNsaWVudEVmbDo6ZXhjZWVkZWREYXRhYmFzZVF1b3RhKFdLUGFnZVJlZiwgV0tGcmFt
ZVJlZiwKIHZvaWQgUGFnZVVJQ2xpZW50RWZsOjpydW5PcGVuUGFuZWwoV0tQYWdlUmVmLCBXS0Zy
YW1lUmVmLCBXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVycywgV0tPcGVuUGFuZWxS
ZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lciwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKICAg
ICBFd2tWaWV3KiB2aWV3ID0gdG9QYWdlVUlDbGllbnRFZmwoY2xpZW50SW5mbyktPm1fdmlldzsK
LSAgICBSZWZQdHI8RXdrRmlsZUNob29zZXJSZXF1ZXN0PiBmaWxlQ2hvb3NlclJlcXVlc3QgPSBF
d2tGaWxlQ2hvb3NlclJlcXVlc3Q6OmNyZWF0ZSh0b0ltcGwocGFyYW1ldGVycyksIHRvSW1wbChs
aXN0ZW5lcikpOworICAgIFJlZlB0cjxFd2tGaWxlQ2hvb3NlclJlcXVlc3Q+IGZpbGVDaG9vc2Vy
UmVxdWVzdCA9IEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y3JlYXRlKHBhcmFtZXRlcnMsIGxpc3Rl
bmVyKTsKICAgICB2aWV3LT5zbWFydENhbGxiYWNrPEZpbGVDaG9vc2VyUmVxdWVzdD4oKS5jYWxs
KGZpbGVDaG9vc2VyUmVxdWVzdC5nZXQoKSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185490</attachid>
            <date>2013-01-30 06:32:27 -0800</date>
            <delta_ts>2013-01-30 06:36:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>107811_ewk_filechooser_capi.patch</filename>
            <type>text/plain</type>
            <size>10556</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhMzIzMjc0Li5iYzJmYjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTMtMDEtMjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbnNpZGUgZXdrX2ZpbGVfY2hv
b3Nlcl9yZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDc4MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVc2UgQyBBUEkgaW5zaWRlIGV3a19maWxlX2Nob29zZXJfcmVxdWVzdCBpbnN0ZWFkIG9m
CisgICAgICAgIGFjY2Vzc2luZyB0aGUgaW50ZXJuYWwgQysrIGNsYXNzZXMgZGlyZWN0bHksIHRv
CisgICAgICAgIGF2b2lkIHZpb2xhdGluZyBBUEkgbGF5ZXJpbmcuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3QuY3BwOgorICAgICAgICAoRXdr
RmlsZUNob29zZXJSZXF1ZXN0OjpFd2tGaWxlQ2hvb3NlclJlcXVlc3QpOgorICAgICAgICAoRXdr
RmlsZUNob29zZXJSZXF1ZXN0Ojp+RXdrRmlsZUNob29zZXJSZXF1ZXN0KToKKyAgICAgICAgKEV3
a0ZpbGVDaG9vc2VyUmVxdWVzdDo6YWxsb3dNdWx0aXBsZUZpbGVzKToKKyAgICAgICAgKEV3a0Zp
bGVDaG9vc2VyUmVxdWVzdDo6YWNjZXB0ZWRNSU1FVHlwZXMpOgorICAgICAgICAoRXdrRmlsZUNo
b29zZXJSZXF1ZXN0OjpjYW5jZWwpOgorICAgICAgICAoRXdrRmlsZUNob29zZXJSZXF1ZXN0Ojpj
aG9vc2VGaWxlcyk6CisgICAgICAgIChld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfYWNjZXB0ZWRf
bWltZXR5cGVzX2dldCk6CisgICAgICAgIChld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZmlsZXNf
Y2hvb3NlKToKKyAgICAgICAgKGV3a19maWxlX2Nob29zZXJfcmVxdWVzdF9maWxlX2Nob29zZSk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3By
aXZhdGUuaDoKKyAgICAgICAgKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y3JlYXRlKToKKyAgICAg
ICAgKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdCk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9QYWdl
VUlDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlVUlDbGllbnRFZmw6OnJ1bk9w
ZW5QYW5lbCk6CisKIDIwMTMtMDEtMzAgIEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFu
eTEwMC5uZXQ+CiAKICAgICAgICAgQ29vcmRpbmF0ZWQgR3JhcGhpY3M6IFJlbW92ZSBtX3BlbmRp
bmdTeW5jQmFja2luZ1N0b3JlcyBpbiBMYXllclRyZWVSZW5kZXJlci4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3Jl
cXVlc3QuY3BwCmluZGV4IDM3NjA2YzUuLjRmMTJlNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0
LmNwcApAQCAtMjYsMTggKzI2LDE5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
ZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0LmgiCiAKLSNpbmNsdWRlICJJbW11dGFibGVBcnJheS5o
IgotI2luY2x1ZGUgIk11dGFibGVBcnJheS5oIgotI2luY2x1ZGUgIldlYk9wZW5QYW5lbFBhcmFt
ZXRlcnMuaCIKLSNpbmNsdWRlICJXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmgiCi0j
aW5jbHVkZSAiV2ViU3RyaW5nLmgiCi0jaW5jbHVkZSAiV2ViVVJMLmgiCisjaW5jbHVkZSAiV0tB
cnJheS5oIgorI2luY2x1ZGUgIldLT3BlblBhbmVsUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIldL
T3BlblBhbmVsUmVzdWx0TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJXS1NoYXJlZEFQSUNhc3QuaCIK
KyNpbmNsdWRlICJXS1N0cmluZy5oIgorI2luY2x1ZGUgIldLVVJMLmgiCiAjaW5jbHVkZSAiZXdr
X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3ByaXZhdGUuaCIKKyNpbmNsdWRlIDx3dGYvT3duQXJyYXlQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CiAKLUV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6RXdrRmlsZUNob29zZXJSZXF1ZXN0KFdl
Yk9wZW5QYW5lbFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMsIFdlYk9wZW5QYW5lbFJlc3VsdExpc3Rl
bmVyUHJveHkqIGxpc3RlbmVyKQorRXdrRmlsZUNob29zZXJSZXF1ZXN0OjpFd2tGaWxlQ2hvb3Nl
clJlcXVlc3QoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnMsIFdLT3BlblBhbmVs
UmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIpCiAgICAgOiBtX3BhcmFtZXRlcnMocGFyYW1ldGVy
cykKICAgICAsIG1fbGlzdGVuZXIobGlzdGVuZXIpCiAgICAgLCBtX3dhc1JlcXVlc3RIYW5kbGVk
KGZhbHNlKQpAQCAtNDksMzMgKzUwLDMwIEBAIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6RXdrRmls
ZUNob29zZXJSZXF1ZXN0KFdlYk9wZW5QYW5lbFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMsCiBFd2tG
aWxlQ2hvb3NlclJlcXVlc3Q6On5Fd2tGaWxlQ2hvb3NlclJlcXVlc3QoKQogewogICAgIGlmICgh
bV93YXNSZXF1ZXN0SGFuZGxlZCkKLSAgICAgICAgbV9saXN0ZW5lci0+Y2FuY2VsKCk7CisgICAg
ICAgIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJDYW5jZWwobV9saXN0ZW5lci5nZXQoKSk7CiB9
CiAKIGJvb2wgRXdrRmlsZUNob29zZXJSZXF1ZXN0OjphbGxvd011bHRpcGxlRmlsZXMoKSBjb25z
dAogewotICAgIHJldHVybiBtX3BhcmFtZXRlcnMtPmFsbG93TXVsdGlwbGVGaWxlcygpOworICAg
IHJldHVybiBXS09wZW5QYW5lbFBhcmFtZXRlcnNHZXRBbGxvd3NNdWx0aXBsZUZpbGVzKG1fcGFy
YW1ldGVycy5nZXQoKSk7CiB9CiAKLVBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IEV3a0ZpbGVD
aG9vc2VyUmVxdWVzdDo6YWNjZXB0ZWRNSU1FVHlwZXMoKSBjb25zdAorV0tSZXRhaW5QdHI8V0tB
cnJheVJlZj4gRXdrRmlsZUNob29zZXJSZXF1ZXN0OjphY2NlcHRlZE1JTUVUeXBlcygpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIG1fcGFyYW1ldGVycy0+YWNjZXB0TUlNRVR5cGVzKCk7CisgICAgcmV0
dXJuIGFkb3B0V0soV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weUFjY2VwdGVkTUlNRVR5cGVzKG1f
cGFyYW1ldGVycy5nZXQoKSkpOwogfQogCiB2b2lkIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y2Fu
Y2VsKCkKIHsKICAgICBtX3dhc1JlcXVlc3RIYW5kbGVkID0gdHJ1ZTsKIAotICAgIHJldHVybiBt
X2xpc3RlbmVyLT5jYW5jZWwoKTsKKyAgICByZXR1cm4gV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5l
ckNhbmNlbChtX2xpc3RlbmVyLmdldCgpKTsKIH0KIAotdm9pZCBFd2tGaWxlQ2hvb3NlclJlcXVl
c3Q6OmNob29zZUZpbGVzKFZlY3RvcjwgUmVmUHRyPEFQSU9iamVjdD4gPiYgZmlsZVVSTHMpCit2
b2lkIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y2hvb3NlRmlsZXMoV0tBcnJheVJlZiBmaWxlVVJM
cykKIHsKLSAgICBBU1NFUlQoIWZpbGVVUkxzLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUKGZpbGVV
UkxzLnNpemUoKSA9PSAxIHx8IG1fcGFyYW1ldGVycy0+YWxsb3dNdWx0aXBsZUZpbGVzKCkpOwot
CiAgICAgbV93YXNSZXF1ZXN0SGFuZGxlZCA9IHRydWU7Ci0gICAgbV9saXN0ZW5lci0+Y2hvb3Nl
RmlsZXMoSW1tdXRhYmxlQXJyYXk6OmFkb3B0KGZpbGVVUkxzKS5nZXQoKSk7CisgICAgV0tPcGVu
UGFuZWxSZXN1bHRMaXN0ZW5lckNob29zZUZpbGVzKG1fbGlzdGVuZXIuZ2V0KCksIGZpbGVVUkxz
KTsKIH0KIAogRWluYV9Cb29sIGV3a19maWxlX2Nob29zZXJfcmVxdWVzdF9hbGxvd19tdWx0aXBs
ZV9maWxlc19nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3Nlcl9SZXF1ZXN0KiByZXF1ZXN0KQpAQCAt
OTAsMTQgKzg4LDE0IEBAIEVpbmFfTGlzdCogZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2FjY2Vw
dGVkX21pbWV0eXBlc19nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3NlCiAgICAgRVdLX09CSl9HRVRf
SU1QTF9PUl9SRVRVUk4oY29uc3QgRXdrRmlsZUNob29zZXJSZXF1ZXN0LCByZXF1ZXN0LCBpbXBs
LCAwKTsKIAogICAgIEVpbmFfTGlzdCogbWltZVR5cGVMaXN0ID0gMDsKLSAgICBSZWZQdHI8SW1t
dXRhYmxlQXJyYXk+IG1pbWVUeXBlcyA9IGltcGwtPmFjY2VwdGVkTUlNRVR5cGVzKCk7CisgICAg
V0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gbWltZVR5cGVzID0gaW1wbC0+YWNjZXB0ZWRNSU1FVHlw
ZXMoKTsKIAotICAgIGNvbnN0IHNpemVfdCBzaXplID0gbWltZVR5cGVzLT5zaXplKCk7CisgICAg
Y29uc3Qgc2l6ZV90IHNpemUgPSBXS0FycmF5R2V0U2l6ZShtaW1lVHlwZXMuZ2V0KCkpOwogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgIFN0cmluZyBtaW1l
VHlwZVN0cmluZyA9IHN0YXRpY19jYXN0PFdlYlN0cmluZyo+KG1pbWVUeXBlcy0+YXQoaSkpLT5z
dHJpbmcoKTsKLSAgICAgICAgaWYgKG1pbWVUeXBlU3RyaW5nLmlzRW1wdHkoKSkKKyAgICAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1pbWVUeXBlID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdS
ZWY+KFdLQXJyYXlHZXRJdGVtQXRJbmRleChtaW1lVHlwZXMuZ2V0KCksIGkpKTsKKyAgICAgICAg
aWYgKCFtaW1lVHlwZSB8fCBXS1N0cmluZ0lzRW1wdHkobWltZVR5cGUuZ2V0KCkpKQogICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgIG1pbWVUeXBlTGlzdCA9IGVpbmFfbGlzdF9hcHBlbmQo
bWltZVR5cGVMaXN0LCBlaW5hX3N0cmluZ3NoYXJlX2FkZChtaW1lVHlwZVN0cmluZy51dGY4KCku
ZGF0YSgpKSk7CisgICAgICAgIG1pbWVUeXBlTGlzdCA9IGVpbmFfbGlzdF9hcHBlbmQobWltZVR5
cGVMaXN0LCBlaW5hX3N0cmluZ3NoYXJlX2FkZCh0b1dURlN0cmluZyhtaW1lVHlwZS5nZXQoKSku
dXRmOCgpLmRhdGEoKSkpOwogICAgIH0KIAogICAgIHJldHVybiBtaW1lVHlwZUxpc3Q7CkBAIC0x
MTcsMjAgKzExNSwyMiBAQCBFaW5hX0Jvb2wgZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2ZpbGVz
X2Nob29zZShFd2tfRmlsZV9DaG9vc2VyX1JlcXVlc3QqIHJlcXVlcwogewogICAgIEVXS19PQkpf
R0VUX0lNUExfT1JfUkVUVVJOKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdCwgcmVxdWVzdCwgaW1wbCwg
ZmFsc2UpOwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChjaG9zZW5GaWxlcywg
ZmFsc2UpOwotICAgIEVJTkFfU0FGRVRZX09OX0ZBTFNFX1JFVFVSTl9WQUwoZWluYV9saXN0X2Nv
dW50KGNob3NlbkZpbGVzKSA9PSAxIHx8IGltcGwtPmFsbG93TXVsdGlwbGVGaWxlcygpLCBmYWxz
ZSk7CiAgICAgRUlOQV9TQUZFVFlfT05fVFJVRV9SRVRVUk5fVkFMKGltcGwtPndhc0hhbmRsZWQo
KSwgZmFsc2UpOwogCi0gICAgVmVjdG9yPCBSZWZQdHI8QVBJT2JqZWN0PiA+IGZpbGVVUkxzOwor
ICAgIGNvbnN0IHVuc2lnbmVkIHVybENvdW50ID0gZWluYV9saXN0X2NvdW50KGNob3NlbkZpbGVz
KTsKKyAgICBFSU5BX1NBRkVUWV9PTl9GQUxTRV9SRVRVUk5fVkFMKHVybENvdW50ID09IDEgfHwg
KHVybENvdW50ID4gMSAmJiBpbXBsLT5hbGxvd011bHRpcGxlRmlsZXMoKSksIGZhbHNlKTsKKwor
ICAgIE93bkFycmF5UHRyPFdLVHlwZVJlZj4gZmlsZXNVUkxzID0gYWRvcHRBcnJheVB0cihuZXcg
V0tUeXBlUmVmW3VybENvdW50XSk7CiAKLSAgICBjb25zdCBFaW5hX0xpc3QqIGw7Ci0gICAgdm9p
ZCogZGF0YTsKLSAgICBFSU5BX0xJU1RfRk9SRUFDSChjaG9zZW5GaWxlcywgbCwgZGF0YSkgewot
ICAgICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZGF0YSwgZmFsc2UpOwotICAg
ICAgICBTdHJpbmcgZmlsZVVSTCA9ICJmaWxlOi8vIiArIFN0cmluZzo6ZnJvbVVURjgoc3RhdGlj
X2Nhc3Q8Y2hhcio+KGRhdGEpKTsKLSAgICAgICAgZmlsZVVSTHMuYXBwZW5kKFdlYlVSTDo6Y3Jl
YXRlKGZpbGVVUkwpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXJsQ291bnQ7ICsr
aSkgeworICAgICAgICBjb25zdCBjaGFyKiB1cmwgPSBzdGF0aWNfY2FzdDxjaGFyKj4oZWluYV9s
aXN0X250aChjaG9zZW5GaWxlcywgaSkpOworICAgICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JF
VFVSTl9WQUwodXJsLCBmYWxzZSk7CisgICAgICAgIFN0cmluZyBmaWxlVVJMID0gQVNDSUlMaXRl
cmFsKCJmaWxlOi8vIikgKyBTdHJpbmc6OmZyb21VVEY4KHVybCk7CisgICAgICAgIGZpbGVzVVJM
c1tpXSA9IFdLVVJMQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGZpbGVVUkwudXRmOCgpLmRhdGEoKSk7
CiAgICAgfQogCi0gICAgaW1wbC0+Y2hvb3NlRmlsZXMoZmlsZVVSTHMpOworICAgIFdLUmV0YWlu
UHRyPFdLQXJyYXlSZWY+IHdrRmlsZVVSTHMoQWRvcHRXSywgV0tBcnJheUNyZWF0ZUFkb3B0aW5n
VmFsdWVzKGZpbGVzVVJMcy5nZXQoKSwgdXJsQ291bnQpKTsKKyAgICBpbXBsLT5jaG9vc2VGaWxl
cyh3a0ZpbGVVUkxzLmdldCgpKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQxLDExICsx
NDEsMTIgQEAgRWluYV9Cb29sIGV3a19maWxlX2Nob29zZXJfcmVxdWVzdF9maWxlX2Nob29zZShF
d2tfRmlsZV9DaG9vc2VyX1JlcXVlc3QqIHJlcXVlc3QKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxM
X1JFVFVSTl9WQUwoY2hvc2VuRmlsZSwgZmFsc2UpOwogICAgIEVJTkFfU0FGRVRZX09OX1RSVUVf
UkVUVVJOX1ZBTChpbXBsLT53YXNIYW5kbGVkKCksIGZhbHNlKTsKIAotICAgIFZlY3RvcjwgUmVm
UHRyPEFQSU9iamVjdD4gPiBmaWxlVVJMczsKLSAgICBTdHJpbmcgZmlsZVVSTCA9ICJmaWxlOi8v
IiArIFN0cmluZzo6ZnJvbVVURjgoY2hvc2VuRmlsZSk7Ci0gICAgZmlsZVVSTHMuYXBwZW5kKFdl
YlVSTDo6Y3JlYXRlKGZpbGVVUkwpKTsKKyAgICBTdHJpbmcgZmlsZVVSTCA9IEFTQ0lJTGl0ZXJh
bCgiZmlsZTovLyIpICsgU3RyaW5nOjpmcm9tVVRGOChjaG9zZW5GaWxlKTsKKyAgICBXS1JldGFp
blB0cjxXS1VSTFJlZj4gd2tVUkwoQWRvcHRXSywgV0tVUkxDcmVhdGVXaXRoVVRGOENTdHJpbmco
ZmlsZVVSTC51dGY4KCkuZGF0YSgpKSk7CiAKLSAgICBpbXBsLT5jaG9vc2VGaWxlcyhmaWxlVVJM
cyk7CisgICAgV0tUeXBlUmVmIHdrVVJMUHRyID0gd2tVUkwuZ2V0KCk7CisgICAgV0tSZXRhaW5Q
dHI8V0tBcnJheVJlZj4gd2tGaWxlVVJMcyhBZG9wdFdLLCBXS0FycmF5Q3JlYXRlKCZ3a1VSTFB0
ciwgMSkpOworICAgIGltcGwtPmNob29zZUZpbGVzKHdrRmlsZVVSTHMuZ2V0KCkpOwogCiAgICAg
cmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3ByaXZhdGUuaAppbmRl
eCA2MTc3OGZmLi42ODhhMzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdF9wcml2YXRl
LmgKQEAgLTI3LDIyICsyNywxNiBAQAogI2RlZmluZSBld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3Rf
cHJpdmF0ZV9oCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlICJXS1JldGFpblB0
ci5oIgogI2luY2x1ZGUgImV3a19vYmplY3RfcHJpdmF0ZS5oIgorI2luY2x1ZGUgPFdlYktpdDIv
V0tCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLWNs
YXNzIEltbXV0YWJsZUFycmF5OwotY2xhc3MgV2ViT3BlblBhbmVsUGFyYW1ldGVyczsKLWNsYXNz
IFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk7Ci19CiAKIGNsYXNzIEV3a0ZpbGVDaG9v
c2VyUmVxdWVzdCA6IHB1YmxpYyBFd2tPYmplY3QgewogcHVibGljOgogICAgIEVXS19PQkpFQ1Rf
REVDTEFSRShFd2tGaWxlQ2hvb3NlclJlcXVlc3QpCiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxF
d2tGaWxlQ2hvb3NlclJlcXVlc3Q+IGNyZWF0ZShXZWJLaXQ6OldlYk9wZW5QYW5lbFBhcmFtZXRl
cnMqIHBhcmFtZXRlcnMsIFdlYktpdDo6V2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSog
bGlzdGVuZXIpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8RXdrRmlsZUNob29zZXJSZXF1ZXN0PiBj
cmVhdGUoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnMsIFdLT3BlblBhbmVsUmVz
dWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEV3a0ZpbGVDaG9vc2VyUmVxdWVzdChwYXJhbWV0ZXJzLCBsaXN0ZW5lcikpOwogICAgIH0K
QEAgLTUwLDE2ICs0NCwxNiBAQCBwdWJsaWM6CiAgICAgfkV3a0ZpbGVDaG9vc2VyUmVxdWVzdCgp
OwogCiAgICAgYm9vbCBhbGxvd011bHRpcGxlRmlsZXMoKSBjb25zdDsKLSAgICBQYXNzUmVmUHRy
PFdlYktpdDo6SW1tdXRhYmxlQXJyYXk+IGFjY2VwdGVkTUlNRVR5cGVzKCkgY29uc3Q7CisgICAg
V0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gYWNjZXB0ZWRNSU1FVHlwZXMoKSBjb25zdDsKICAgICBp
bmxpbmUgYm9vbCB3YXNIYW5kbGVkKCkgY29uc3QgeyByZXR1cm4gbV93YXNSZXF1ZXN0SGFuZGxl
ZDsgfQogICAgIHZvaWQgY2FuY2VsKCk7Ci0gICAgdm9pZCBjaG9vc2VGaWxlcyhWZWN0b3I8IFJl
ZlB0cjxXZWJLaXQ6OkFQSU9iamVjdD4gPiYgZmlsZVVSTHMpOworICAgIHZvaWQgY2hvb3NlRmls
ZXMoV0tBcnJheVJlZiBmaWxlVVJMcyk7CiAKIHByaXZhdGU6Ci0gICAgRXdrRmlsZUNob29zZXJS
ZXF1ZXN0KFdlYktpdDo6V2ViT3BlblBhbmVsUGFyYW1ldGVycyogcGFyYW1ldGVycywgV2ViS2l0
OjpXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcik7CisgICAgRXdrRmls
ZUNob29zZXJSZXF1ZXN0KFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBwYXJhbWV0ZXJzLCBXS09w
ZW5QYW5lbFJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVyKTsKIAotICAgIFJlZlB0cjxXZWJLaXQ6
OldlYk9wZW5QYW5lbFBhcmFtZXRlcnM+IG1fcGFyYW1ldGVyczsKLSAgICBSZWZQdHI8V2ViS2l0
OjpXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5PiBtX2xpc3RlbmVyOworICAgIFdLUmV0
YWluUHRyPFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZj4gbV9wYXJhbWV0ZXJzOworICAgIFdLUmV0
YWluUHRyPFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWY+IG1fbGlzdGVuZXI7CiAgICAgYm9v
bCBtX3dhc1JlcXVlc3RIYW5kbGVkOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9QYWdlVUlDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9QYWdlVUlDbGllbnRFZmwuY3BwCmluZGV4IDgxMWRiMDYuLjMyMTI0ZWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVVJQ2xpZW50RWZsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VVSUNsaWVudEVmbC5jcHAKQEAg
LTIwMCw3ICsyMDAsNyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgUGFnZVVJQ2xpZW50RWZsOjpleGNl
ZWRlZERhdGFiYXNlUXVvdGEoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLAogdm9pZCBQYWdlVUlDbGll
bnRFZmw6OnJ1bk9wZW5QYW5lbChXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLT3BlblBhbmVsUGFy
YW1ldGVyc1JlZiBwYXJhbWV0ZXJzLCBXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyUmVmIGxpc3Rl
bmVyLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewogICAgIEV3a1ZpZXcqIHZpZXcgPSB0b1Bh
Z2VVSUNsaWVudEVmbChjbGllbnRJbmZvKS0+bV92aWV3OwotICAgIFJlZlB0cjxFd2tGaWxlQ2hv
b3NlclJlcXVlc3Q+IGZpbGVDaG9vc2VyUmVxdWVzdCA9IEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6
Y3JlYXRlKHRvSW1wbChwYXJhbWV0ZXJzKSwgdG9JbXBsKGxpc3RlbmVyKSk7CisgICAgUmVmUHRy
PEV3a0ZpbGVDaG9vc2VyUmVxdWVzdD4gZmlsZUNob29zZXJSZXF1ZXN0ID0gRXdrRmlsZUNob29z
ZXJSZXF1ZXN0OjpjcmVhdGUocGFyYW1ldGVycywgbGlzdGVuZXIpOwogICAgIHZpZXctPnNtYXJ0
Q2FsbGJhY2s8RmlsZUNob29zZXJSZXF1ZXN0PigpLmNhbGwoZmlsZUNob29zZXJSZXF1ZXN0Lmdl
dCgpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185491</attachid>
            <date>2013-01-30 06:36:00 -0800</date>
            <delta_ts>2013-02-02 16:16:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>107811_ewk_filechooser_capi.patch</filename>
            <type>text/plain</type>
            <size>10504</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhMzIzMjc0Li5iYzJmYjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTMtMDEtMjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbnNpZGUgZXdrX2ZpbGVfY2hv
b3Nlcl9yZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDc4MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVc2UgQyBBUEkgaW5zaWRlIGV3a19maWxlX2Nob29zZXJfcmVxdWVzdCBpbnN0ZWFkIG9m
CisgICAgICAgIGFjY2Vzc2luZyB0aGUgaW50ZXJuYWwgQysrIGNsYXNzZXMgZGlyZWN0bHksIHRv
CisgICAgICAgIGF2b2lkIHZpb2xhdGluZyBBUEkgbGF5ZXJpbmcuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3QuY3BwOgorICAgICAgICAoRXdr
RmlsZUNob29zZXJSZXF1ZXN0OjpFd2tGaWxlQ2hvb3NlclJlcXVlc3QpOgorICAgICAgICAoRXdr
RmlsZUNob29zZXJSZXF1ZXN0Ojp+RXdrRmlsZUNob29zZXJSZXF1ZXN0KToKKyAgICAgICAgKEV3
a0ZpbGVDaG9vc2VyUmVxdWVzdDo6YWxsb3dNdWx0aXBsZUZpbGVzKToKKyAgICAgICAgKEV3a0Zp
bGVDaG9vc2VyUmVxdWVzdDo6YWNjZXB0ZWRNSU1FVHlwZXMpOgorICAgICAgICAoRXdrRmlsZUNo
b29zZXJSZXF1ZXN0OjpjYW5jZWwpOgorICAgICAgICAoRXdrRmlsZUNob29zZXJSZXF1ZXN0Ojpj
aG9vc2VGaWxlcyk6CisgICAgICAgIChld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfYWNjZXB0ZWRf
bWltZXR5cGVzX2dldCk6CisgICAgICAgIChld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZmlsZXNf
Y2hvb3NlKToKKyAgICAgICAgKGV3a19maWxlX2Nob29zZXJfcmVxdWVzdF9maWxlX2Nob29zZSk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3By
aXZhdGUuaDoKKyAgICAgICAgKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y3JlYXRlKToKKyAgICAg
ICAgKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdCk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9QYWdl
VUlDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlVUlDbGllbnRFZmw6OnJ1bk9w
ZW5QYW5lbCk6CisKIDIwMTMtMDEtMzAgIEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFu
eTEwMC5uZXQ+CiAKICAgICAgICAgQ29vcmRpbmF0ZWQgR3JhcGhpY3M6IFJlbW92ZSBtX3BlbmRp
bmdTeW5jQmFja2luZ1N0b3JlcyBpbiBMYXllclRyZWVSZW5kZXJlci4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3Jl
cXVlc3QuY3BwCmluZGV4IDM3NjA2YzUuLjgyNWZjZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0
LmNwcApAQCAtMjYsMTggKzI2LDE5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
ZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0LmgiCiAKLSNpbmNsdWRlICJJbW11dGFibGVBcnJheS5o
IgotI2luY2x1ZGUgIk11dGFibGVBcnJheS5oIgotI2luY2x1ZGUgIldlYk9wZW5QYW5lbFBhcmFt
ZXRlcnMuaCIKLSNpbmNsdWRlICJXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmgiCi0j
aW5jbHVkZSAiV2ViU3RyaW5nLmgiCi0jaW5jbHVkZSAiV2ViVVJMLmgiCisjaW5jbHVkZSAiV0tB
cnJheS5oIgorI2luY2x1ZGUgIldLT3BlblBhbmVsUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIldL
T3BlblBhbmVsUmVzdWx0TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJXS1NoYXJlZEFQSUNhc3QuaCIK
KyNpbmNsdWRlICJXS1N0cmluZy5oIgorI2luY2x1ZGUgIldLVVJMLmgiCiAjaW5jbHVkZSAiZXdr
X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3ByaXZhdGUuaCIKKyNpbmNsdWRlIDx3dGYvT3duQXJyYXlQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CiAKLUV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6RXdrRmlsZUNob29zZXJSZXF1ZXN0KFdl
Yk9wZW5QYW5lbFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMsIFdlYk9wZW5QYW5lbFJlc3VsdExpc3Rl
bmVyUHJveHkqIGxpc3RlbmVyKQorRXdrRmlsZUNob29zZXJSZXF1ZXN0OjpFd2tGaWxlQ2hvb3Nl
clJlcXVlc3QoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnMsIFdLT3BlblBhbmVs
UmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIpCiAgICAgOiBtX3BhcmFtZXRlcnMocGFyYW1ldGVy
cykKICAgICAsIG1fbGlzdGVuZXIobGlzdGVuZXIpCiAgICAgLCBtX3dhc1JlcXVlc3RIYW5kbGVk
KGZhbHNlKQpAQCAtNDksMzMgKzUwLDMwIEBAIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6RXdrRmls
ZUNob29zZXJSZXF1ZXN0KFdlYk9wZW5QYW5lbFBhcmFtZXRlcnMqIHBhcmFtZXRlcnMsCiBFd2tG
aWxlQ2hvb3NlclJlcXVlc3Q6On5Fd2tGaWxlQ2hvb3NlclJlcXVlc3QoKQogewogICAgIGlmICgh
bV93YXNSZXF1ZXN0SGFuZGxlZCkKLSAgICAgICAgbV9saXN0ZW5lci0+Y2FuY2VsKCk7CisgICAg
ICAgIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJDYW5jZWwobV9saXN0ZW5lci5nZXQoKSk7CiB9
CiAKIGJvb2wgRXdrRmlsZUNob29zZXJSZXF1ZXN0OjphbGxvd011bHRpcGxlRmlsZXMoKSBjb25z
dAogewotICAgIHJldHVybiBtX3BhcmFtZXRlcnMtPmFsbG93TXVsdGlwbGVGaWxlcygpOworICAg
IHJldHVybiBXS09wZW5QYW5lbFBhcmFtZXRlcnNHZXRBbGxvd3NNdWx0aXBsZUZpbGVzKG1fcGFy
YW1ldGVycy5nZXQoKSk7CiB9CiAKLVBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IEV3a0ZpbGVD
aG9vc2VyUmVxdWVzdDo6YWNjZXB0ZWRNSU1FVHlwZXMoKSBjb25zdAorV0tSZXRhaW5QdHI8V0tB
cnJheVJlZj4gRXdrRmlsZUNob29zZXJSZXF1ZXN0OjphY2NlcHRlZE1JTUVUeXBlcygpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIG1fcGFyYW1ldGVycy0+YWNjZXB0TUlNRVR5cGVzKCk7CisgICAgcmV0
dXJuIGFkb3B0V0soV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weUFjY2VwdGVkTUlNRVR5cGVzKG1f
cGFyYW1ldGVycy5nZXQoKSkpOwogfQogCiB2b2lkIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y2Fu
Y2VsKCkKIHsKICAgICBtX3dhc1JlcXVlc3RIYW5kbGVkID0gdHJ1ZTsKIAotICAgIHJldHVybiBt
X2xpc3RlbmVyLT5jYW5jZWwoKTsKKyAgICByZXR1cm4gV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5l
ckNhbmNlbChtX2xpc3RlbmVyLmdldCgpKTsKIH0KIAotdm9pZCBFd2tGaWxlQ2hvb3NlclJlcXVl
c3Q6OmNob29zZUZpbGVzKFZlY3RvcjwgUmVmUHRyPEFQSU9iamVjdD4gPiYgZmlsZVVSTHMpCit2
b2lkIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdDo6Y2hvb3NlRmlsZXMoV0tBcnJheVJlZiBmaWxlVVJM
cykKIHsKLSAgICBBU1NFUlQoIWZpbGVVUkxzLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUKGZpbGVV
UkxzLnNpemUoKSA9PSAxIHx8IG1fcGFyYW1ldGVycy0+YWxsb3dNdWx0aXBsZUZpbGVzKCkpOwot
CiAgICAgbV93YXNSZXF1ZXN0SGFuZGxlZCA9IHRydWU7Ci0gICAgbV9saXN0ZW5lci0+Y2hvb3Nl
RmlsZXMoSW1tdXRhYmxlQXJyYXk6OmFkb3B0KGZpbGVVUkxzKS5nZXQoKSk7CisgICAgV0tPcGVu
UGFuZWxSZXN1bHRMaXN0ZW5lckNob29zZUZpbGVzKG1fbGlzdGVuZXIuZ2V0KCksIGZpbGVVUkxz
KTsKIH0KIAogRWluYV9Cb29sIGV3a19maWxlX2Nob29zZXJfcmVxdWVzdF9hbGxvd19tdWx0aXBs
ZV9maWxlc19nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3Nlcl9SZXF1ZXN0KiByZXF1ZXN0KQpAQCAt
OTAsMTQgKzg4LDE0IEBAIEVpbmFfTGlzdCogZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2FjY2Vw
dGVkX21pbWV0eXBlc19nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3NlCiAgICAgRVdLX09CSl9HRVRf
SU1QTF9PUl9SRVRVUk4oY29uc3QgRXdrRmlsZUNob29zZXJSZXF1ZXN0LCByZXF1ZXN0LCBpbXBs
LCAwKTsKIAogICAgIEVpbmFfTGlzdCogbWltZVR5cGVMaXN0ID0gMDsKLSAgICBSZWZQdHI8SW1t
dXRhYmxlQXJyYXk+IG1pbWVUeXBlcyA9IGltcGwtPmFjY2VwdGVkTUlNRVR5cGVzKCk7CisgICAg
V0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gbWltZVR5cGVzID0gaW1wbC0+YWNjZXB0ZWRNSU1FVHlw
ZXMoKTsKIAotICAgIGNvbnN0IHNpemVfdCBzaXplID0gbWltZVR5cGVzLT5zaXplKCk7CisgICAg
Y29uc3Qgc2l6ZV90IHNpemUgPSBXS0FycmF5R2V0U2l6ZShtaW1lVHlwZXMuZ2V0KCkpOwogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgIFN0cmluZyBtaW1l
VHlwZVN0cmluZyA9IHN0YXRpY19jYXN0PFdlYlN0cmluZyo+KG1pbWVUeXBlcy0+YXQoaSkpLT5z
dHJpbmcoKTsKLSAgICAgICAgaWYgKG1pbWVUeXBlU3RyaW5nLmlzRW1wdHkoKSkKKyAgICAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1pbWVUeXBlID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdS
ZWY+KFdLQXJyYXlHZXRJdGVtQXRJbmRleChtaW1lVHlwZXMuZ2V0KCksIGkpKTsKKyAgICAgICAg
aWYgKCFtaW1lVHlwZSB8fCBXS1N0cmluZ0lzRW1wdHkobWltZVR5cGUuZ2V0KCkpKQogICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgIG1pbWVUeXBlTGlzdCA9IGVpbmFfbGlzdF9hcHBlbmQo
bWltZVR5cGVMaXN0LCBlaW5hX3N0cmluZ3NoYXJlX2FkZChtaW1lVHlwZVN0cmluZy51dGY4KCku
ZGF0YSgpKSk7CisgICAgICAgIG1pbWVUeXBlTGlzdCA9IGVpbmFfbGlzdF9hcHBlbmQobWltZVR5
cGVMaXN0LCBlaW5hX3N0cmluZ3NoYXJlX2FkZCh0b1dURlN0cmluZyhtaW1lVHlwZS5nZXQoKSku
dXRmOCgpLmRhdGEoKSkpOwogICAgIH0KIAogICAgIHJldHVybiBtaW1lVHlwZUxpc3Q7CkBAIC0x
MTcsMjAgKzExNSwyMiBAQCBFaW5hX0Jvb2wgZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2ZpbGVz
X2Nob29zZShFd2tfRmlsZV9DaG9vc2VyX1JlcXVlc3QqIHJlcXVlcwogewogICAgIEVXS19PQkpf
R0VUX0lNUExfT1JfUkVUVVJOKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdCwgcmVxdWVzdCwgaW1wbCwg
ZmFsc2UpOwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChjaG9zZW5GaWxlcywg
ZmFsc2UpOwotICAgIEVJTkFfU0FGRVRZX09OX0ZBTFNFX1JFVFVSTl9WQUwoZWluYV9saXN0X2Nv
dW50KGNob3NlbkZpbGVzKSA9PSAxIHx8IGltcGwtPmFsbG93TXVsdGlwbGVGaWxlcygpLCBmYWxz
ZSk7CiAgICAgRUlOQV9TQUZFVFlfT05fVFJVRV9SRVRVUk5fVkFMKGltcGwtPndhc0hhbmRsZWQo
KSwgZmFsc2UpOwogCi0gICAgVmVjdG9yPCBSZWZQdHI8QVBJT2JqZWN0PiA+IGZpbGVVUkxzOwor
ICAgIGNvbnN0IHVuc2lnbmVkIHVybENvdW50ID0gZWluYV9saXN0X2NvdW50KGNob3NlbkZpbGVz
KTsKKyAgICBFSU5BX1NBRkVUWV9PTl9GQUxTRV9SRVRVUk5fVkFMKHVybENvdW50ID09IDEgfHwg
KHVybENvdW50ID4gMSAmJiBpbXBsLT5hbGxvd011bHRpcGxlRmlsZXMoKSksIGZhbHNlKTsKKwor
ICAgIE93bkFycmF5UHRyPFdLVHlwZVJlZj4gZmlsZXNVUkxzID0gYWRvcHRBcnJheVB0cihuZXcg
V0tUeXBlUmVmW3VybENvdW50XSk7CiAKLSAgICBjb25zdCBFaW5hX0xpc3QqIGw7Ci0gICAgdm9p
ZCogZGF0YTsKLSAgICBFSU5BX0xJU1RfRk9SRUFDSChjaG9zZW5GaWxlcywgbCwgZGF0YSkgewot
ICAgICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZGF0YSwgZmFsc2UpOwotICAg
ICAgICBTdHJpbmcgZmlsZVVSTCA9ICJmaWxlOi8vIiArIFN0cmluZzo6ZnJvbVVURjgoc3RhdGlj
X2Nhc3Q8Y2hhcio+KGRhdGEpKTsKLSAgICAgICAgZmlsZVVSTHMuYXBwZW5kKFdlYlVSTDo6Y3Jl
YXRlKGZpbGVVUkwpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXJsQ291bnQ7ICsr
aSkgeworICAgICAgICBjb25zdCBjaGFyKiB1cmwgPSBzdGF0aWNfY2FzdDxjaGFyKj4oZWluYV9s
aXN0X250aChjaG9zZW5GaWxlcywgaSkpOworICAgICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JF
VFVSTl9WQUwodXJsLCBmYWxzZSk7CisgICAgICAgIFN0cmluZyBmaWxlVVJMID0gQVNDSUlMaXRl
cmFsKCJmaWxlOi8vIikgKyBTdHJpbmc6OmZyb21VVEY4KHVybCk7CisgICAgICAgIGZpbGVzVVJM
c1tpXSA9IHRvQ29waWVkVVJMQVBJKGZpbGVVUkwpOwogICAgIH0KIAotICAgIGltcGwtPmNob29z
ZUZpbGVzKGZpbGVVUkxzKTsKKyAgICBXS1JldGFpblB0cjxXS0FycmF5UmVmPiB3a0ZpbGVVUkxz
KEFkb3B0V0ssIFdLQXJyYXlDcmVhdGVBZG9wdGluZ1ZhbHVlcyhmaWxlc1VSTHMuZ2V0KCksIHVy
bENvdW50KSk7CisgICAgaW1wbC0+Y2hvb3NlRmlsZXMod2tGaWxlVVJMcy5nZXQoKSk7CiAKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTE0MSwxMSArMTQxLDEyIEBAIEVpbmFfQm9vbCBld2tfZmls
ZV9jaG9vc2VyX3JlcXVlc3RfZmlsZV9jaG9vc2UoRXdrX0ZpbGVfQ2hvb3Nlcl9SZXF1ZXN0KiBy
ZXF1ZXN0CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGNob3NlbkZpbGUsIGZh
bHNlKTsKICAgICBFSU5BX1NBRkVUWV9PTl9UUlVFX1JFVFVSTl9WQUwoaW1wbC0+d2FzSGFuZGxl
ZCgpLCBmYWxzZSk7CiAKLSAgICBWZWN0b3I8IFJlZlB0cjxBUElPYmplY3Q+ID4gZmlsZVVSTHM7
Ci0gICAgU3RyaW5nIGZpbGVVUkwgPSAiZmlsZTovLyIgKyBTdHJpbmc6OmZyb21VVEY4KGNob3Nl
bkZpbGUpOwotICAgIGZpbGVVUkxzLmFwcGVuZChXZWJVUkw6OmNyZWF0ZShmaWxlVVJMKSk7Cisg
ICAgU3RyaW5nIGZpbGVVUkwgPSBBU0NJSUxpdGVyYWwoImZpbGU6Ly8iKSArIFN0cmluZzo6ZnJv
bVVURjgoY2hvc2VuRmlsZSk7CisgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IHdrVVJMKEFkb3B0
V0ssIHRvQ29waWVkVVJMQVBJKGZpbGVVUkwpKTsKIAotICAgIGltcGwtPmNob29zZUZpbGVzKGZp
bGVVUkxzKTsKKyAgICBXS1R5cGVSZWYgd2tVUkxQdHIgPSB3a1VSTC5nZXQoKTsKKyAgICBXS1Jl
dGFpblB0cjxXS0FycmF5UmVmPiB3a0ZpbGVVUkxzKEFkb3B0V0ssIFdLQXJyYXlDcmVhdGUoJndr
VVJMUHRyLCAxKSk7CisgICAgaW1wbC0+Y2hvb3NlRmlsZXMod2tGaWxlVVJMcy5nZXQoKSk7CiAK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdF9wcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3RfcHJpdmF0ZS5o
CmluZGV4IDYxNzc4ZmYuLjY4OGEzOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdF9wcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3By
aXZhdGUuaApAQCAtMjcsMjIgKzI3LDE2IEBACiAjZGVmaW5lIGV3a19maWxlX2Nob29zZXJfcmVx
dWVzdF9wcml2YXRlX2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgIldLUmV0
YWluUHRyLmgiCiAjaW5jbHVkZSAiZXdrX29iamVjdF9wcml2YXRlLmgiCisjaW5jbHVkZSA8V2Vi
S2l0Mi9XS0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQg
ewotY2xhc3MgSW1tdXRhYmxlQXJyYXk7Ci1jbGFzcyBXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzOwot
Y2xhc3MgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eTsKLX0KIAogY2xhc3MgRXdrRmls
ZUNob29zZXJSZXF1ZXN0IDogcHVibGljIEV3a09iamVjdCB7CiBwdWJsaWM6CiAgICAgRVdLX09C
SkVDVF9ERUNMQVJFKEV3a0ZpbGVDaG9vc2VyUmVxdWVzdCkKIAotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEV3a0ZpbGVDaG9vc2VyUmVxdWVzdD4gY3JlYXRlKFdlYktpdDo6V2ViT3BlblBhbmVsUGFy
YW1ldGVycyogcGFyYW1ldGVycywgV2ViS2l0OjpXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclBy
b3h5KiBsaXN0ZW5lcikKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxFd2tGaWxlQ2hvb3NlclJlcXVl
c3Q+IGNyZWF0ZShXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVycywgV0tPcGVuUGFu
ZWxSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lcikKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgRXdrRmlsZUNob29zZXJSZXF1ZXN0KHBhcmFtZXRlcnMsIGxpc3RlbmVyKSk7CiAg
ICAgfQpAQCAtNTAsMTYgKzQ0LDE2IEBAIHB1YmxpYzoKICAgICB+RXdrRmlsZUNob29zZXJSZXF1
ZXN0KCk7CiAKICAgICBib29sIGFsbG93TXVsdGlwbGVGaWxlcygpIGNvbnN0OwotICAgIFBhc3NS
ZWZQdHI8V2ViS2l0OjpJbW11dGFibGVBcnJheT4gYWNjZXB0ZWRNSU1FVHlwZXMoKSBjb25zdDsK
KyAgICBXS1JldGFpblB0cjxXS0FycmF5UmVmPiBhY2NlcHRlZE1JTUVUeXBlcygpIGNvbnN0Owog
ICAgIGlubGluZSBib29sIHdhc0hhbmRsZWQoKSBjb25zdCB7IHJldHVybiBtX3dhc1JlcXVlc3RI
YW5kbGVkOyB9CiAgICAgdm9pZCBjYW5jZWwoKTsKLSAgICB2b2lkIGNob29zZUZpbGVzKFZlY3Rv
cjwgUmVmUHRyPFdlYktpdDo6QVBJT2JqZWN0PiA+JiBmaWxlVVJMcyk7CisgICAgdm9pZCBjaG9v
c2VGaWxlcyhXS0FycmF5UmVmIGZpbGVVUkxzKTsKIAogcHJpdmF0ZToKLSAgICBFd2tGaWxlQ2hv
b3NlclJlcXVlc3QoV2ViS2l0OjpXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzLCBX
ZWJLaXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqIGxpc3RlbmVyKTsKKyAgICBF
d2tGaWxlQ2hvb3NlclJlcXVlc3QoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnMs
IFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIpOwogCi0gICAgUmVmUHRyPFdl
YktpdDo6V2ViT3BlblBhbmVsUGFyYW1ldGVycz4gbV9wYXJhbWV0ZXJzOwotICAgIFJlZlB0cjxX
ZWJLaXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk+IG1fbGlzdGVuZXI7CisgICAg
V0tSZXRhaW5QdHI8V0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmPiBtX3BhcmFtZXRlcnM7CisgICAg
V0tSZXRhaW5QdHI8V0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZj4gbV9saXN0ZW5lcjsKICAg
ICBib29sIG1fd2FzUmVxdWVzdEhhbmRsZWQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VVSUNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL1BhZ2VVSUNsaWVudEVmbC5jcHAKaW5kZXggODExZGIwNi4uMzIxMjRlYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlVUlDbGllbnRFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVVJQ2xpZW50RWZsLmNw
cApAQCAtMjAwLDcgKzIwMCw3IEBAIHVuc2lnbmVkIGxvbmcgbG9uZyBQYWdlVUlDbGllbnRFZmw6
OmV4Y2VlZGVkRGF0YWJhc2VRdW90YShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsCiB2b2lkIFBhZ2VV
SUNsaWVudEVmbDo6cnVuT3BlblBhbmVsKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tPcGVuUGFu
ZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnMsIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWYg
bGlzdGVuZXIsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAgICAgRXdrVmlldyogdmlldyA9
IHRvUGFnZVVJQ2xpZW50RWZsKGNsaWVudEluZm8pLT5tX3ZpZXc7Ci0gICAgUmVmUHRyPEV3a0Zp
bGVDaG9vc2VyUmVxdWVzdD4gZmlsZUNob29zZXJSZXF1ZXN0ID0gRXdrRmlsZUNob29zZXJSZXF1
ZXN0OjpjcmVhdGUodG9JbXBsKHBhcmFtZXRlcnMpLCB0b0ltcGwobGlzdGVuZXIpKTsKKyAgICBS
ZWZQdHI8RXdrRmlsZUNob29zZXJSZXF1ZXN0PiBmaWxlQ2hvb3NlclJlcXVlc3QgPSBFd2tGaWxl
Q2hvb3NlclJlcXVlc3Q6OmNyZWF0ZShwYXJhbWV0ZXJzLCBsaXN0ZW5lcik7CiAgICAgdmlldy0+
c21hcnRDYWxsYmFjazxGaWxlQ2hvb3NlclJlcXVlc3Q+KCkuY2FsbChmaWxlQ2hvb3NlclJlcXVl
c3QuZ2V0KCkpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>