<?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>62811</bug_id>
          
          <creation_ts>2011-06-16 13:28:17 -0700</creation_ts>
          <short_desc>[filesystem/Chromium] Filesystem paths need proper URL escaping</short_desc>
          <delta_ts>2011-08-24 18:00:11 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>62912</dependson>
          <blocked>62813</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric U.">ericu</reporter>
          <assigned_to name="Eric U.">ericu</assigned_to>
          <cc>abarth</cc>
    
    <cc>jianli</cc>
    
    <cc>kinuko</cc>
    
    <cc>michaeln</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>422166</commentid>
    <comment_count>0</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-06-16 13:28:17 -0700</bug_when>
    <thetext>Paths aren&apos;t being escaped when they&apos;re being passed to the KURL constructor in [Worker]AsyncFileSystemChromium::virtualPathToFileSystemURL.  This is breaking paths that contain escape sequences [e.g. %2F] among other things.  See http://code.google.com/p/chromium/issues/detail?id=78860.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422298</commentid>
    <comment_count>1</comment_count>
      <attachid>97512</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-06-16 15:37:48 -0700</bug_when>
    <thetext>Created attachment 97512
Make encodeWithURLEscapeSequences in KURLGoogle.cpp actually do what it says, then use it on filesystem paths.

This fixes KURLGoogle&apos;s encodeWithEscapeSequences, which was apparently crippled due to a callsite that no longer exists.  I&apos;ve removed the obsolete comments, made it actually escape, and used it in the filesystem code.

Tested by running the Blob layout tests.  The blob URL code assumes that this does some escaping, I believe, but so far the lack of it hasn&apos;t broken anything [since the strings to be escaped didn&apos;t contain anything interesting].  This change doesn&apos;t break anything either, as the escaping is harmless in those cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422301</commentid>
    <comment_count>2</comment_count>
      <attachid>97512</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-16 15:42:46 -0700</bug_when>
    <thetext>Comment on attachment 97512
Make encodeWithURLEscapeSequences in KURLGoogle.cpp actually do what it says, then use it on filesystem paths.

Looks great, but we&apos;ll need a ChangeLog.  Can you write a Chromium API test for this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422370</commentid>
    <comment_count>3</comment_count>
      <attachid>97532</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-06-16 18:13:53 -0700</bug_when>
    <thetext>Created attachment 97532
Added changelogs + updated the test code.

Sorry--totally spaced on the changelogs.  I haven&apos;t gotten webkit-patch to work since I switched to git, so my process is a bit more ad-hoc.

It turned out there was already a test [I didn&apos;t know about that whole directory!], so I&apos;ve updated it with the new behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422374</commentid>
    <comment_count>4</comment_count>
      <attachid>97534</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-06-16 18:32:36 -0700</bug_when>
    <thetext>Created attachment 97534
Added missing &quot;reviewed by&quot; line to one changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422429</commentid>
    <comment_count>5</comment_count>
      <attachid>97534</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-16 22:57:54 -0700</bug_when>
    <thetext>Comment on attachment 97534
Added missing &quot;reviewed by&quot; line to one changelog.

Looks perfect.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422718</commentid>
    <comment_count>6</comment_count>
      <attachid>97534</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-17 10:48:38 -0700</bug_when>
    <thetext>Comment on attachment 97534
Added missing &quot;reviewed by&quot; line to one changelog.

Clearing flags on attachment: 97534

Committed r89143: &lt;http://trac.webkit.org/changeset/89143&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422719</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-17 10:48:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448090</commentid>
    <comment_count>8</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-08-08 10:36:15 -0700</bug_when>
    <thetext>Reopening.  The patch apparently bounced due to a ChromeOS problem.  I can&apos;t repro the problem, and it&apos;s been 7 weeks [I was on leave], so I&apos;m going to try relanding and watching the bots to see what happens [if anything].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448126</commentid>
    <comment_count>9</comment_count>
      <attachid>103267</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-08-08 11:16:55 -0700</bug_when>
    <thetext>Created attachment 103267
The same patch, merged and up to date.

Here&apos;s the patch for archival purposes; I&apos;m going to land it manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454135</commentid>
    <comment_count>10</comment_count>
      <attachid>104581</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-08-19 15:15:30 -0700</bug_when>
    <thetext>Created attachment 104581
Added the needed unescaping fix.

Adam, I&apos;ve added the fix for the CrOS problem.  It turns out that it should have broken a bunch of our other tests, but as DumpRenderTree runs fast/files tests with security turned off, the broken code never got run.  Please take another look just to make sure I&apos;ve put this in the right place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456381</commentid>
    <comment_count>11</comment_count>
      <attachid>104581</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-24 13:43:07 -0700</bug_when>
    <thetext>Comment on attachment 104581
Added the needed unescaping fix.

This seems related to https://bugs.webkit.org/show_bug.cgi?id=30225.  How do these two bugs relate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456455</commentid>
    <comment_count>12</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2011-08-24 15:13:25 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 104581 [details])
&gt; This seems related to https://bugs.webkit.org/show_bug.cgi?id=30225.  How do these two bugs relate?

I think they&apos;re actually independent.  My change is in KURLGoogle.cpp, and in the decoding of security origins for blob and filesystem URLs.  That one is mostly in KURL.cpp [so not interacting with KURLGoogle.cpp changes], and in location.href for all kinds of URLs.  There will be some overlap where you need to fetch location.href of a page loaded from a blob or filesystem URL, but then we just need make sure that intersection works, and both changes are still needed.

Note that my change makes KURLGoogle.cpp match the behavior of KURL.cpp more closely, in that their encodeWithURLEscapeSequences actually does what it says on the tin, and ours hasn&apos;t up to now.  I&apos;d expect that to make things easier for 30225, not harder, so I expect no clash.

If we want to make sure of that, we can use a Chromium test that checks location.href from a filesystem URL of a file with % in the name.  That doesn&apos;t test non-Chromium filesystem URL support, but AFAIK there aren&apos;t any yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456533</commentid>
    <comment_count>13</comment_count>
      <attachid>104581</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-24 16:56:32 -0700</bug_when>
    <thetext>Comment on attachment 104581
Added the needed unescaping fix.

Ok.  Thanks for looking at the other bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456569</commentid>
    <comment_count>14</comment_count>
      <attachid>104581</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-24 18:00:05 -0700</bug_when>
    <thetext>Comment on attachment 104581
Added the needed unescaping fix.

Clearing flags on attachment: 104581

Committed r93750: &lt;http://trac.webkit.org/changeset/93750&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456571</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-24 18:00:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97512</attachid>
            <date>2011-06-16 15:37:48 -0700</date>
            <delta_ts>2011-06-16 18:13:53 -0700</delta_ts>
            <desc>Make encodeWithURLEscapeSequences in KURLGoogle.cpp actually do what it says, then use it on filesystem paths.</desc>
            <filename>kurlgoogle.patch</filename>
            <type>text/plain</type>
            <size>3100</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAKaW5kZXggNGNlZjlmMS4uMDVkNTU5
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAKQEAgLTgzNCwxNSArODM0
LDYgQEAgYm9vbCBLVVJMOjpwcm90b2NvbElzKGNvbnN0IGNoYXIqIHByb3RvY29sKSBjb25zdAog
ICAgICAgICBwcm90b2NvbCk7CiB9CiAKLS8vIFRoaXMgaXMgY2FsbGVkIHRvIGVzY2FwZSBhIFVS
TCBzdHJpbmcuIEl0IGlzIG9ubHkgdXNlZCBleHRlcm5hbGx5IHdoZW4KLS8vIGNvbnN0cnVjdGlu
ZyBtYWlsdG86IGxpbmtzIHRvIHNldCB0aGUgcXVlcnkgc2VjdGlvbi4gU2luY2Ugb3VyIHF1ZXJ5
IHNldHRlcgotLy8gd2lsbCBhdXRvbWF0aWNhbGx5IGRvIHRoZSBjb3JyZWN0IGVzY2FwaW5nLCB0
aGlzIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgdG8KLS8vIGRvIGFueSB3b3JrLgotLy8KLS8vIFRo
ZXJlIGlzIGEgcG9zc2liaWxpdHkgdGhhdCBhIGZ1dHVyZSBjYWxsZXIgbWF5IHVzZSB0aGlzIGZ1
bmN0aW9uIGluIG90aGVyCi0vLyB3YXlzLCBhbmQgbWF5IGV4cGVjdCB0byBnZXQgYSB2YWxpZCBV
Ukwgc3RyaW5nLiBUaGUgZGFuZ2Vyb3VzIHRoaW5nIHdlIHdhbnQKLS8vIHRvIHByb3RlY3QgYWdh
aW5zdCBoZXJlIGlzIGFjY2lkZW50YWxseSBnZXR0aW5nICdcMCcgY2hhcmFjdGVycyBpbiBhIHN0
cmluZwotLy8gdGhhdCBpcyBub3Qgc3VwcG9zZWQgdG8gaGF2ZSB0aGVtLiBUaGVyZWZvcmUsIHdl
IGVzY2FwZSB0aGVzZSBjaGFyYWN0ZXJzLgogU3RyaW5nIGVuY29kZVdpdGhVUkxFc2NhcGVTZXF1
ZW5jZXMoY29uc3QgU3RyaW5nJiBub3RFbmNvZGVkU3RyaW5nKQogewogICAgIENTdHJpbmcgdXRm
OCA9IFVURjhFbmNvZGluZygpLmVuY29kZSgKQEAgLTg1MSwxNSArODQyLDEyIEBAIFN0cmluZyBl
bmNvZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2VzKGNvbnN0IFN0cmluZyYgbm90RW5jb2RlZFN0cmlu
ZykKICAgICAgICAgVVJMRW5jb2RlZEVudGl0aWVzRm9yVW5lbmNvZGFibGVzKTsKICAgICBjb25z
dCBjaGFyKiBpbnB1dCA9IHV0ZjguZGF0YSgpOwogICAgIGludCBpbnB1dExlbmd0aCA9IHV0Zjgu
bGVuZ3RoKCk7CisgICAgdXJsX2Nhbm9uOjpSYXdDYW5vbk91dHB1dFQ8Y2hhcj4gYnVmZmVyOwor
ICAgIGlmIChidWZmZXIubGVuZ3RoKCkgPCBpbnB1dExlbmd0aCAqIDMpCisgICAgICAgIGJ1ZmZl
ci5SZXNpemUoaW5wdXRMZW5ndGggKiAzKTsKIAotICAgIFZlY3RvcjxjaGFyLCAyMDQ4PiBidWZm
ZXI7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpbnB1dExlbmd0aDsgaSsrKSB7Ci0gICAgICAg
IGlmICghaW5wdXRbaV0pCi0gICAgICAgICAgICBidWZmZXIuYXBwZW5kKCIlMDAiLCAzKTsKLSAg
ICAgICAgZWxzZQotICAgICAgICAgICAgYnVmZmVyLmFwcGVuZChpbnB1dFtpXSk7Ci0gICAgfQot
ICAgIHJldHVybiBTdHJpbmcoYnVmZmVyLmRhdGEoKSwgYnVmZmVyLnNpemUoKSk7CisgICAgdXJs
X3V0aWw6OkVuY29kZVVSSUNvbXBvbmVudChpbnB1dCwgaW5wdXRMZW5ndGgsICZidWZmZXIpOwor
ICAgIHJldHVybiBTdHJpbmcoYnVmZmVyLmRhdGEoKSwgYnVmZmVyLmxlbmd0aCgpKTsKIH0KIAog
Ym9vbCBLVVJMOjppc0hpZXJhcmNoaWNhbCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKaW5kZXggZDg2NmFl
Yi4uM2U1NmM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXN5bmNG
aWxlU3lzdGVtQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fz
eW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcApAQCAtMTc3LDcgKzE3Nyw3IEBAIEtVUkwgQXN5bmNG
aWxlU3lzdGVtQ2hyb21pdW06OnZpcnR1YWxQYXRoVG9GaWxlU3lzdGVtVVJMKGNvbnN0IFN0cmlu
ZyYgdmlydHVhbFBhCiAgICAgQVNTRVJUKCFtX2ZpbGVzeXN0ZW1Sb290VVJMLmlzRW1wdHkoKSk7
CiAgICAgS1VSTCB1cmwgPSBtX2ZpbGVzeXN0ZW1Sb290VVJMOwogICAgIC8vIFJlbW92ZSB0aGUg
ZXh0cmEgbGVhZGluZyBzbGFzaC4KLSAgICB1cmwuc2V0UGF0aCh1cmwucGF0aCgpICsgdmlydHVh
bFBhdGguc3Vic3RyaW5nKDEpKTsKKyAgICB1cmwuc2V0UGF0aCh1cmwucGF0aCgpICsgZW5jb2Rl
V2l0aFVSTEVzY2FwZVNlcXVlbmNlcyh2aXJ0dWFsUGF0aC5zdWJzdHJpbmcoMSkpKTsKICAgICBy
ZXR1cm4gdXJsOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
b3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Xb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKaW5kZXggOGJjNGJiOS4uMTQ4
ZjZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNG
aWxlU3lzdGVtQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dv
cmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcApAQCAtMjI3LDcgKzIyNyw3IEBAIEtVUkwg
V29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OnZpcnR1YWxQYXRoVG9GaWxlU3lzdGVtVVJM
KGNvbnN0IFN0cmluZyYgdmlyCiAgICAgQVNTRVJUKCFtX2ZpbGVzeXN0ZW1Sb290VVJMLmlzRW1w
dHkoKSk7CiAgICAgS1VSTCB1cmwgPSBtX2ZpbGVzeXN0ZW1Sb290VVJMOwogICAgIC8vIFJlbW92
ZSB0aGUgZXh0cmEgbGVhZGluZyBzbGFzaC4KLSAgICB1cmwuc2V0UGF0aCh1cmwucGF0aCgpICsg
dmlydHVhbFBhdGguc3Vic3RyaW5nKDEpKTsKKyAgICB1cmwuc2V0UGF0aCh1cmwucGF0aCgpICsg
ZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyh2aXJ0dWFsUGF0aC5zdWJzdHJpbmcoMSkpKTsK
ICAgICByZXR1cm4gdXJsOwogfQogCg==
</data>
<flag name="review"
          id="91483"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97532</attachid>
            <date>2011-06-16 18:13:53 -0700</date>
            <delta_ts>2011-06-16 18:32:36 -0700</delta_ts>
            <desc>Added changelogs + updated the test code.</desc>
            <filename>kurlgoogle2.patch</filename>
            <type>text/plain</type>
            <size>7702</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3YmNhOGNkLi5iNTkyMzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMTYgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbZmlsZXN5c3RlbS9D
aHJvbWl1bV0gRmlsZXN5c3RlbSBwYXRocyBuZWVkIHByb3BlciBVUkwgZXNjYXBpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyODExCisKKyAgICAg
ICAgRml4IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lk
PTc4ODYwIGJ5IG1ha2luZworICAgICAgICBLVVJMQ2hyb21pdW0uY3BwJ3MgZXNjYXBpbmcgY29k
ZSBhY3R1YWxseSB3b3JrLgorCisgICAgICAgIE1ha2UgZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVl
bmNlcyBjYWxsIGludG8gZ29vZ2xldXJsIHRvIGRvIHByb3BlcgorICAgICAgICBlc2NhcGluZy4g
IFRlc3RlZCBpbiBXZWJLaXQvY2hyb21pdW0vdGVzdHMvS1VSTFRlc3QuY3BwLgorICAgICAgICAq
IHBsYXRmb3JtL0tVUkxHb29nbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZW5jb2RlV2l0aFVS
TEVzY2FwZVNlcXVlbmNlcyk6CisKIDIwMTEtMDYtMTYgIHVuYSBzYWJvdmljICA8dW5hLnNhYm92
aWNAcGFsbS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcAppbmRleCA0Y2VmOWYxLi4wNWQ1NTk2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcApAQCAtODM0LDE1ICs4MzQsNiBAQCBi
b29sIEtVUkw6OnByb3RvY29sSXMoY29uc3QgY2hhciogcHJvdG9jb2wpIGNvbnN0CiAgICAgICAg
IHByb3RvY29sKTsKIH0KIAotLy8gVGhpcyBpcyBjYWxsZWQgdG8gZXNjYXBlIGEgVVJMIHN0cmlu
Zy4gSXQgaXMgb25seSB1c2VkIGV4dGVybmFsbHkgd2hlbgotLy8gY29uc3RydWN0aW5nIG1haWx0
bzogbGlua3MgdG8gc2V0IHRoZSBxdWVyeSBzZWN0aW9uLiBTaW5jZSBvdXIgcXVlcnkgc2V0dGVy
Ci0vLyB3aWxsIGF1dG9tYXRpY2FsbHkgZG8gdGhlIGNvcnJlY3QgZXNjYXBpbmcsIHRoaXMgZnVu
Y3Rpb24gZG9lcyBub3QgaGF2ZSB0bwotLy8gZG8gYW55IHdvcmsuCi0vLwotLy8gVGhlcmUgaXMg
YSBwb3NzaWJpbGl0eSB0aGF0IGEgZnV0dXJlIGNhbGxlciBtYXkgdXNlIHRoaXMgZnVuY3Rpb24g
aW4gb3RoZXIKLS8vIHdheXMsIGFuZCBtYXkgZXhwZWN0IHRvIGdldCBhIHZhbGlkIFVSTCBzdHJp
bmcuIFRoZSBkYW5nZXJvdXMgdGhpbmcgd2Ugd2FudAotLy8gdG8gcHJvdGVjdCBhZ2FpbnN0IGhl
cmUgaXMgYWNjaWRlbnRhbGx5IGdldHRpbmcgJ1wwJyBjaGFyYWN0ZXJzIGluIGEgc3RyaW5nCi0v
LyB0aGF0IGlzIG5vdCBzdXBwb3NlZCB0byBoYXZlIHRoZW0uIFRoZXJlZm9yZSwgd2UgZXNjYXBl
IHRoZXNlIGNoYXJhY3RlcnMuCiBTdHJpbmcgZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyhj
b25zdCBTdHJpbmcmIG5vdEVuY29kZWRTdHJpbmcpCiB7CiAgICAgQ1N0cmluZyB1dGY4ID0gVVRG
OEVuY29kaW5nKCkuZW5jb2RlKApAQCAtODUxLDE1ICs4NDIsMTIgQEAgU3RyaW5nIGVuY29kZVdp
dGhVUkxFc2NhcGVTZXF1ZW5jZXMoY29uc3QgU3RyaW5nJiBub3RFbmNvZGVkU3RyaW5nKQogICAg
ICAgICBVUkxFbmNvZGVkRW50aXRpZXNGb3JVbmVuY29kYWJsZXMpOwogICAgIGNvbnN0IGNoYXIq
IGlucHV0ID0gdXRmOC5kYXRhKCk7CiAgICAgaW50IGlucHV0TGVuZ3RoID0gdXRmOC5sZW5ndGgo
KTsKKyAgICB1cmxfY2Fub246OlJhd0Nhbm9uT3V0cHV0VDxjaGFyPiBidWZmZXI7CisgICAgaWYg
KGJ1ZmZlci5sZW5ndGgoKSA8IGlucHV0TGVuZ3RoICogMykKKyAgICAgICAgYnVmZmVyLlJlc2l6
ZShpbnB1dExlbmd0aCAqIDMpOwogCi0gICAgVmVjdG9yPGNoYXIsIDIwNDg+IGJ1ZmZlcjsKLSAg
ICBmb3IgKGludCBpID0gMDsgaSA8IGlucHV0TGVuZ3RoOyBpKyspIHsKLSAgICAgICAgaWYgKCFp
bnB1dFtpXSkKLSAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQoIiUwMCIsIDMpOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICBidWZmZXIuYXBwZW5kKGlucHV0W2ldKTsKLSAgICB9Ci0gICAgcmV0
dXJuIFN0cmluZyhidWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpKTsKKyAgICB1cmxfdXRpbDo6
RW5jb2RlVVJJQ29tcG9uZW50KGlucHV0LCBpbnB1dExlbmd0aCwgJmJ1ZmZlcik7CisgICAgcmV0
dXJuIFN0cmluZyhidWZmZXIuZGF0YSgpLCBidWZmZXIubGVuZ3RoKCkpOwogfQogCiBib29sIEtV
Ukw6OmlzSGllcmFyY2hpY2FsKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NTc5YjFhYi4uNTJiODcxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MSBAQAorMjAxMS0wNi0xNiAgRXJpYyBVaHJoYW5lICA8ZXJpY3VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFtmaWxlc3lzdGVtL0Nocm9taXVtXSBGaWxlc3lzdGVtIHBhdGhzIG5lZWQgcHJvcGVy
IFVSTCBlc2NhcGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjI4MTEKKworICAgICAgICBGaXggaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9t
aXVtL2lzc3Vlcy9kZXRhaWw/aWQ9Nzg4NjAgYnkgbWFraW5nCisgICAgICAgIEtVUkxDaHJvbWl1
bS5jcHAncyBlc2NhcGluZyBjb2RlIGFjdHVhbGx5IHdvcmsuCisKKyAgICAgICAgSGVyZSBJIGFk
ZGVkIHRoZSBuZWVkZWQgY2FsbHMgdG8gZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcy4KKyAg
ICAgICAgKiBzcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OnZpcnR1YWxQYXRoVG9GaWxlU3lzdGVtVVJMKToK
KyAgICAgICAgKiBzcmMvV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OnZpcnR1YWxQYXRoVG9G
aWxlU3lzdGVtVVJMKToKKworICAgICAgICBIZXJlIEkgdXBkYXRlZCB0aGUgdGVzdCB0byByZWZs
ZWN0IHRoZSBuZXcgZnVuY3Rpb25hbGl0eSBpbgorICAgICAgICBlbmNvZGVXaXRoVVJMRXNjYXBl
U2VxdWVuY2VzLgorICAgICAgICAqIHRlc3RzL0tVUkxUZXN0LmNwcDoKKwogMjAxMS0wNi0xNiAg
QWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEZpc2hlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5j
RmlsZVN5c3RlbUNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5j
RmlsZVN5c3RlbUNocm9taXVtLmNwcAppbmRleCBkODY2YWViLi4zZTU2YzdkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0u
Y3BwCkBAIC0xNzcsNyArMTc3LDcgQEAgS1VSTCBBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6dmly
dHVhbFBhdGhUb0ZpbGVTeXN0ZW1VUkwoY29uc3QgU3RyaW5nJiB2aXJ0dWFsUGEKICAgICBBU1NF
UlQoIW1fZmlsZXN5c3RlbVJvb3RVUkwuaXNFbXB0eSgpKTsKICAgICBLVVJMIHVybCA9IG1fZmls
ZXN5c3RlbVJvb3RVUkw7CiAgICAgLy8gUmVtb3ZlIHRoZSBleHRyYSBsZWFkaW5nIHNsYXNoLgot
ICAgIHVybC5zZXRQYXRoKHVybC5wYXRoKCkgKyB2aXJ0dWFsUGF0aC5zdWJzdHJpbmcoMSkpOwor
ICAgIHVybC5zZXRQYXRoKHVybC5wYXRoKCkgKyBlbmNvZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2Vz
KHZpcnR1YWxQYXRoLnN1YnN0cmluZygxKSkpOwogICAgIHJldHVybiB1cmw7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5c3RlbUNo
cm9taXVtLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5
c3RlbUNocm9taXVtLmNwcAppbmRleCA4YmM0YmI5Li4xNDhmNmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hy
b21pdW0uY3BwCkBAIC0yMjcsNyArMjI3LDcgQEAgS1VSTCBXb3JrZXJBc3luY0ZpbGVTeXN0ZW1D
aHJvbWl1bTo6dmlydHVhbFBhdGhUb0ZpbGVTeXN0ZW1VUkwoY29uc3QgU3RyaW5nJiB2aXIKICAg
ICBBU1NFUlQoIW1fZmlsZXN5c3RlbVJvb3RVUkwuaXNFbXB0eSgpKTsKICAgICBLVVJMIHVybCA9
IG1fZmlsZXN5c3RlbVJvb3RVUkw7CiAgICAgLy8gUmVtb3ZlIHRoZSBleHRyYSBsZWFkaW5nIHNs
YXNoLgotICAgIHVybC5zZXRQYXRoKHVybC5wYXRoKCkgKyB2aXJ0dWFsUGF0aC5zdWJzdHJpbmco
MSkpOworICAgIHVybC5zZXRQYXRoKHVybC5wYXRoKCkgKyBlbmNvZGVXaXRoVVJMRXNjYXBlU2Vx
dWVuY2VzKHZpcnR1YWxQYXRoLnN1YnN0cmluZygxKSkpOwogICAgIHJldHVybiB1cmw7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvS1VSTFRlc3QuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9LVVJMVGVzdC5jcHAKaW5kZXggMTUyZGQzMS4u
YzNhMmM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9LVVJMVGVz
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9LVVJMVGVzdC5jcHAKQEAg
LTMwNiwyMyArMzA2LDUxIEBAIFRFU1QoS1VSTFRlc3QsIERlY29kZSkKIAogVEVTVChLVVJMVGVz
dCwgRW5jb2RlKQogeworICAgIHN0cnVjdCBFbmNvZGVDYXNlIHsKKyAgICAgICAgY29uc3QgY2hh
ciogaW5wdXQ7CisgICAgICAgIGNvbnN0IGNoYXIqIG91dHB1dDsKKyAgICB9IGVuY29kZV9jYXNl
c1tdID0geworICAgICAgICB7ImhlbGxvLCB3b3JsZCIsICJoZWxsbyUyQyUyMHdvcmxkIn0sCisg
ICAgICAgIHsiXHgwMVx4MDJceDAzXHgwNFx4MDVceDA2XHgwN1x4MDhceDA5XHgwQVx4MEJceDBD
XHgwRFx4MEVceDBGIiwKKyAgICAgICAgICAiJTAxJTAyJTAzJTA0JTA1JTA2JTA3JTA4JTA5JTBB
JTBCJTBDJTBEJTBFJTBGIn0sCisgICAgICAgIHsiXHgxMFx4MTFceDEyXHgxM1x4MTRceDE1XHgx
Nlx4MTdceDE4XHgxOVx4MUFceDFCXHgxQ1x4MURceDFFXHgxRiIsCisgICAgICAgICAgIiUxMCUx
MSUxMiUxMyUxNCUxNSUxNiUxNyUxOCUxOSUxQSUxQiUxQyUxRCUxRSUxRiJ9LAorICAgICAgICB7
IiAhXCIjJCUmJygpKissLS4vIiwKKyAgICAgICAgICAiJTIwISUyMiUyMyUyNCUyNSUyNicoKSol
MkIlMkMtLiUyRiJ9LAorICAgICAgICB7IjAxMjM0NTY3ODk6Ozw9Pj8iLAorICAgICAgICAgICIw
MTIzNDU2Nzg5JTNBJTNCJTNDJTNEJTNFJTNGIn0sCisgICAgICAgIHsiQEFCQ0RFRkdISUpLTE1O
TyIsCisgICAgICAgICAgIiU0MEFCQ0RFRkdISUpLTE1OTyJ9LAorICAgICAgICB7IlBRUlNUVVZX
WFlaW1xcXV5fIiwKKyAgICAgICAgICAiUFFSU1RVVldYWVolNUIlNUMlNUQlNUVfIn0sCisgICAg
ICAgIHsiYGFiY2RlZmdoaWprbG1ubyIsCisgICAgICAgICAgIiU2MGFiY2RlZmdoaWprbG1ubyJ9
LAorICAgICAgICB7InBxcnN0dXZ3eHl6e3x9flx4N2YiLAorICAgICAgICAgICJwcXJzdHV2d3h5
eiU3QiU3QyU3RH4lN0YifSwKKyAgICB9OworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBB
UlJBWVNJWkVfVU5TQUZFKGVuY29kZV9jYXNlcyk7IGkrKykgeworICAgICAgICBXVEY6OlN0cmlu
ZyBpbnB1dChlbmNvZGVfY2FzZXNbaV0uaW5wdXQpOworICAgICAgICBXVEY6OlN0cmluZyBleHBl
Y3RlZE91dHB1dChlbmNvZGVfY2FzZXNbaV0ub3V0cHV0KTsKKyAgICAgICAgV1RGOjpTdHJpbmcg
b3V0cHV0ID0gV2ViQ29yZTo6ZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyhpbnB1dCk7Cisg
ICAgICAgIEVYUEVDVF9FUShleHBlY3RlZE91dHB1dCwgb3V0cHV0KTsKKyAgICB9CisKKyAgICAv
LyBPdXIgZW5jb2RlIGVzY2FwZXMgTlVMTHMgZm9yIHNhZmV0eSwgc28gd2UgbmVlZCB0byBjaGVj
ayB0aGF0IHRvby4KKyAgICBXVEY6OlN0cmluZyBpbnB1dCgiXHgwMFx4MDEiLCAyKTsKKyAgICBX
VEY6OlN0cmluZyByZWZlcmVuY2UoIiUwMCUwMSIpOworCisgICAgV1RGOjpTdHJpbmcgb3V0cHV0
ID0gV2ViQ29yZTo6ZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyhpbnB1dCk7CisgICAgRVhQ
RUNUX0VRKHJlZmVyZW5jZSwgb3V0cHV0KTsKKwogICAgIC8vIEFsc28gdGVzdCB0aGF0IGl0IGdl
dHMgY29udmVydGVkIHRvIFVURi04IHByb3Blcmx5LgogICAgIGNoYXIxNiB3aWRlSW5wdXRIZWxw
ZXJbM10gPSB7IDB4NGY2MCwgMHg1OTdkLCAwIH07CiAgICAgV1RGOjpTdHJpbmcgd2lkZUlucHV0
KAogICAgICAgICByZWludGVycHJldF9jYXN0PGNvbnN0IDo6VUNoYXIqPih3aWRlSW5wdXRIZWxw
ZXIpLCAyKTsKLSAgICBXVEY6OlN0cmluZyB3aWRlUmVmZXJlbmNlKCJceGU0XHhiZFx4YTBceGU1
XHhhNVx4YmQiLCA2KTsKKyAgICBXVEY6OlN0cmluZyB3aWRlUmVmZXJlbmNlKCIlRTQlQkQlQTAl
RTUlQTUlQkQiKTsKICAgICBXVEY6OlN0cmluZyB3aWRlT3V0cHV0ID0KICAgICAgICAgV2ViQ29y
ZTo6ZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyh3aWRlSW5wdXQpOwogICAgIEVYUEVDVF9F
USh3aWRlUmVmZXJlbmNlLCB3aWRlT3V0cHV0KTsKLQotICAgIC8vIE91ciBlbmNvZGUgb25seSBl
c2NhcGVzIE5VTExzIGZvciBzYWZldHkgKHNlZSB0aGUgaW1wbGVtZW50YXRpb24gZm9yCi0gICAg
Ly8gbW9yZSksIHNvIHdlIG9ubHkgYm90aGVyIHRvIHRlc3QgYSBmZXcgY2FzZXMuCi0gICAgV1RG
OjpTdHJpbmcgaW5wdXQoCi0gICAgICAgICJceDAwXHgwMVx4MDJceDAzXHgwNFx4MDVceDA2XHgw
N1x4MDhceDA5XHgwYVx4MGJceDBjXHgwZFx4MGVceDBmIiwgMTYpOwotICAgIFdURjo6U3RyaW5n
IHJlZmVyZW5jZSgKLSAgICAgICAgIiUwMFx4MDFceDAyXHgwM1x4MDRceDA1XHgwNlx4MDdceDA4
XHgwOVx4MGFceDBiXHgwY1x4MGRceDBlXHgwZiIsIDE4KTsKLSAgICBXVEY6OlN0cmluZyBvdXRw
dXQgPSBXZWJDb3JlOjplbmNvZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2VzKGlucHV0KTsKLSAgICBF
WFBFQ1RfRVEocmVmZXJlbmNlLCBvdXRwdXQpOwogfQogCiBURVNUKEtVUkxUZXN0LCBSZXNvbHZl
RW1wdHkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97534</attachid>
            <date>2011-06-16 18:32:36 -0700</date>
            <delta_ts>2011-08-08 11:16:55 -0700</delta_ts>
            <desc>Added missing &quot;reviewed by&quot; line to one changelog.</desc>
            <filename>kurlgoogle3.patch</filename>
            <type>text/plain</type>
            <size>7741</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3YmNhOGNkLi5iNTkyMzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMTYgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbZmlsZXN5c3RlbS9D
aHJvbWl1bV0gRmlsZXN5c3RlbSBwYXRocyBuZWVkIHByb3BlciBVUkwgZXNjYXBpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyODExCisKKyAgICAg
ICAgRml4IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lk
PTc4ODYwIGJ5IG1ha2luZworICAgICAgICBLVVJMQ2hyb21pdW0uY3BwJ3MgZXNjYXBpbmcgY29k
ZSBhY3R1YWxseSB3b3JrLgorCisgICAgICAgIE1ha2UgZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVl
bmNlcyBjYWxsIGludG8gZ29vZ2xldXJsIHRvIGRvIHByb3BlcgorICAgICAgICBlc2NhcGluZy4g
IFRlc3RlZCBpbiBXZWJLaXQvY2hyb21pdW0vdGVzdHMvS1VSTFRlc3QuY3BwLgorICAgICAgICAq
IHBsYXRmb3JtL0tVUkxHb29nbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZW5jb2RlV2l0aFVS
TEVzY2FwZVNlcXVlbmNlcyk6CisKIDIwMTEtMDYtMTYgIHVuYSBzYWJvdmljICA8dW5hLnNhYm92
aWNAcGFsbS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcAppbmRleCA0Y2VmOWYxLi4wNWQ1NTk2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcApAQCAtODM0LDE1ICs4MzQsNiBAQCBi
b29sIEtVUkw6OnByb3RvY29sSXMoY29uc3QgY2hhciogcHJvdG9jb2wpIGNvbnN0CiAgICAgICAg
IHByb3RvY29sKTsKIH0KIAotLy8gVGhpcyBpcyBjYWxsZWQgdG8gZXNjYXBlIGEgVVJMIHN0cmlu
Zy4gSXQgaXMgb25seSB1c2VkIGV4dGVybmFsbHkgd2hlbgotLy8gY29uc3RydWN0aW5nIG1haWx0
bzogbGlua3MgdG8gc2V0IHRoZSBxdWVyeSBzZWN0aW9uLiBTaW5jZSBvdXIgcXVlcnkgc2V0dGVy
Ci0vLyB3aWxsIGF1dG9tYXRpY2FsbHkgZG8gdGhlIGNvcnJlY3QgZXNjYXBpbmcsIHRoaXMgZnVu
Y3Rpb24gZG9lcyBub3QgaGF2ZSB0bwotLy8gZG8gYW55IHdvcmsuCi0vLwotLy8gVGhlcmUgaXMg
YSBwb3NzaWJpbGl0eSB0aGF0IGEgZnV0dXJlIGNhbGxlciBtYXkgdXNlIHRoaXMgZnVuY3Rpb24g
aW4gb3RoZXIKLS8vIHdheXMsIGFuZCBtYXkgZXhwZWN0IHRvIGdldCBhIHZhbGlkIFVSTCBzdHJp
bmcuIFRoZSBkYW5nZXJvdXMgdGhpbmcgd2Ugd2FudAotLy8gdG8gcHJvdGVjdCBhZ2FpbnN0IGhl
cmUgaXMgYWNjaWRlbnRhbGx5IGdldHRpbmcgJ1wwJyBjaGFyYWN0ZXJzIGluIGEgc3RyaW5nCi0v
LyB0aGF0IGlzIG5vdCBzdXBwb3NlZCB0byBoYXZlIHRoZW0uIFRoZXJlZm9yZSwgd2UgZXNjYXBl
IHRoZXNlIGNoYXJhY3RlcnMuCiBTdHJpbmcgZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyhj
b25zdCBTdHJpbmcmIG5vdEVuY29kZWRTdHJpbmcpCiB7CiAgICAgQ1N0cmluZyB1dGY4ID0gVVRG
OEVuY29kaW5nKCkuZW5jb2RlKApAQCAtODUxLDE1ICs4NDIsMTIgQEAgU3RyaW5nIGVuY29kZVdp
dGhVUkxFc2NhcGVTZXF1ZW5jZXMoY29uc3QgU3RyaW5nJiBub3RFbmNvZGVkU3RyaW5nKQogICAg
ICAgICBVUkxFbmNvZGVkRW50aXRpZXNGb3JVbmVuY29kYWJsZXMpOwogICAgIGNvbnN0IGNoYXIq
IGlucHV0ID0gdXRmOC5kYXRhKCk7CiAgICAgaW50IGlucHV0TGVuZ3RoID0gdXRmOC5sZW5ndGgo
KTsKKyAgICB1cmxfY2Fub246OlJhd0Nhbm9uT3V0cHV0VDxjaGFyPiBidWZmZXI7CisgICAgaWYg
KGJ1ZmZlci5sZW5ndGgoKSA8IGlucHV0TGVuZ3RoICogMykKKyAgICAgICAgYnVmZmVyLlJlc2l6
ZShpbnB1dExlbmd0aCAqIDMpOwogCi0gICAgVmVjdG9yPGNoYXIsIDIwNDg+IGJ1ZmZlcjsKLSAg
ICBmb3IgKGludCBpID0gMDsgaSA8IGlucHV0TGVuZ3RoOyBpKyspIHsKLSAgICAgICAgaWYgKCFp
bnB1dFtpXSkKLSAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQoIiUwMCIsIDMpOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICBidWZmZXIuYXBwZW5kKGlucHV0W2ldKTsKLSAgICB9Ci0gICAgcmV0
dXJuIFN0cmluZyhidWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpKTsKKyAgICB1cmxfdXRpbDo6
RW5jb2RlVVJJQ29tcG9uZW50KGlucHV0LCBpbnB1dExlbmd0aCwgJmJ1ZmZlcik7CisgICAgcmV0
dXJuIFN0cmluZyhidWZmZXIuZGF0YSgpLCBidWZmZXIubGVuZ3RoKCkpOwogfQogCiBib29sIEtV
Ukw6OmlzSGllcmFyY2hpY2FsKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NTc5YjFhYi4uMDgzYWQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MyBAQAorMjAxMS0wNi0xNiAgRXJpYyBVaHJoYW5lICA8ZXJpY3VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtmaWxlc3lzdGVt
L0Nocm9taXVtXSBGaWxlc3lzdGVtIHBhdGhzIG5lZWQgcHJvcGVyIFVSTCBlc2NhcGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4MTEKKworICAg
ICAgICBGaXggaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/
aWQ9Nzg4NjAgYnkgbWFraW5nCisgICAgICAgIEtVUkxDaHJvbWl1bS5jcHAncyBlc2NhcGluZyBj
b2RlIGFjdHVhbGx5IHdvcmsuCisKKyAgICAgICAgSGVyZSBJIGFkZGVkIHRoZSBuZWVkZWQgY2Fs
bHMgdG8gZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcy4KKyAgICAgICAgKiBzcmMvQXN5bmNG
aWxlU3lzdGVtQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNGaWxlU3lzdGVt
Q2hyb21pdW06OnZpcnR1YWxQYXRoVG9GaWxlU3lzdGVtVVJMKToKKyAgICAgICAgKiBzcmMvV29y
a2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
QXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OnZpcnR1YWxQYXRoVG9GaWxlU3lzdGVtVVJMKToKKwor
ICAgICAgICBIZXJlIEkgdXBkYXRlZCB0aGUgdGVzdCB0byByZWZsZWN0IHRoZSBuZXcgZnVuY3Rp
b25hbGl0eSBpbgorICAgICAgICBlbmNvZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2VzLgorICAgICAg
ICAqIHRlc3RzL0tVUkxUZXN0LmNwcDoKKwogMjAxMS0wNi0xNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0
aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5c3RlbUNocm9taXVt
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5c3RlbUNocm9taXVt
LmNwcAppbmRleCBkODY2YWViLi4zZTU2YzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCkBAIC0xNzcsNyArMTc3
LDcgQEAgS1VSTCBBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6dmlydHVhbFBhdGhUb0ZpbGVTeXN0
ZW1VUkwoY29uc3QgU3RyaW5nJiB2aXJ0dWFsUGEKICAgICBBU1NFUlQoIW1fZmlsZXN5c3RlbVJv
b3RVUkwuaXNFbXB0eSgpKTsKICAgICBLVVJMIHVybCA9IG1fZmlsZXN5c3RlbVJvb3RVUkw7CiAg
ICAgLy8gUmVtb3ZlIHRoZSBleHRyYSBsZWFkaW5nIHNsYXNoLgotICAgIHVybC5zZXRQYXRoKHVy
bC5wYXRoKCkgKyB2aXJ0dWFsUGF0aC5zdWJzdHJpbmcoMSkpOworICAgIHVybC5zZXRQYXRoKHVy
bC5wYXRoKCkgKyBlbmNvZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2VzKHZpcnR1YWxQYXRoLnN1YnN0
cmluZygxKSkpOwogICAgIHJldHVybiB1cmw7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcApp
bmRleCA4YmM0YmI5Li4xNDhmNmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Xb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCkBAIC0yMjcs
NyArMjI3LDcgQEAgS1VSTCBXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6dmlydHVhbFBh
dGhUb0ZpbGVTeXN0ZW1VUkwoY29uc3QgU3RyaW5nJiB2aXIKICAgICBBU1NFUlQoIW1fZmlsZXN5
c3RlbVJvb3RVUkwuaXNFbXB0eSgpKTsKICAgICBLVVJMIHVybCA9IG1fZmlsZXN5c3RlbVJvb3RV
Ukw7CiAgICAgLy8gUmVtb3ZlIHRoZSBleHRyYSBsZWFkaW5nIHNsYXNoLgotICAgIHVybC5zZXRQ
YXRoKHVybC5wYXRoKCkgKyB2aXJ0dWFsUGF0aC5zdWJzdHJpbmcoMSkpOworICAgIHVybC5zZXRQ
YXRoKHVybC5wYXRoKCkgKyBlbmNvZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2VzKHZpcnR1YWxQYXRo
LnN1YnN0cmluZygxKSkpOwogICAgIHJldHVybiB1cmw7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvS1VSTFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9LVVJMVGVzdC5jcHAKaW5kZXggMTUyZGQzMS4uYzNhMmM3ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9LVVJMVGVzdC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9LVVJMVGVzdC5jcHAKQEAgLTMwNiwyMyArMzA2LDUxIEBA
IFRFU1QoS1VSTFRlc3QsIERlY29kZSkKIAogVEVTVChLVVJMVGVzdCwgRW5jb2RlKQogeworICAg
IHN0cnVjdCBFbmNvZGVDYXNlIHsKKyAgICAgICAgY29uc3QgY2hhciogaW5wdXQ7CisgICAgICAg
IGNvbnN0IGNoYXIqIG91dHB1dDsKKyAgICB9IGVuY29kZV9jYXNlc1tdID0geworICAgICAgICB7
ImhlbGxvLCB3b3JsZCIsICJoZWxsbyUyQyUyMHdvcmxkIn0sCisgICAgICAgIHsiXHgwMVx4MDJc
eDAzXHgwNFx4MDVceDA2XHgwN1x4MDhceDA5XHgwQVx4MEJceDBDXHgwRFx4MEVceDBGIiwKKyAg
ICAgICAgICAiJTAxJTAyJTAzJTA0JTA1JTA2JTA3JTA4JTA5JTBBJTBCJTBDJTBEJTBFJTBGIn0s
CisgICAgICAgIHsiXHgxMFx4MTFceDEyXHgxM1x4MTRceDE1XHgxNlx4MTdceDE4XHgxOVx4MUFc
eDFCXHgxQ1x4MURceDFFXHgxRiIsCisgICAgICAgICAgIiUxMCUxMSUxMiUxMyUxNCUxNSUxNiUx
NyUxOCUxOSUxQSUxQiUxQyUxRCUxRSUxRiJ9LAorICAgICAgICB7IiAhXCIjJCUmJygpKissLS4v
IiwKKyAgICAgICAgICAiJTIwISUyMiUyMyUyNCUyNSUyNicoKSolMkIlMkMtLiUyRiJ9LAorICAg
ICAgICB7IjAxMjM0NTY3ODk6Ozw9Pj8iLAorICAgICAgICAgICIwMTIzNDU2Nzg5JTNBJTNCJTND
JTNEJTNFJTNGIn0sCisgICAgICAgIHsiQEFCQ0RFRkdISUpLTE1OTyIsCisgICAgICAgICAgIiU0
MEFCQ0RFRkdISUpLTE1OTyJ9LAorICAgICAgICB7IlBRUlNUVVZXWFlaW1xcXV5fIiwKKyAgICAg
ICAgICAiUFFSU1RVVldYWVolNUIlNUMlNUQlNUVfIn0sCisgICAgICAgIHsiYGFiY2RlZmdoaWpr
bG1ubyIsCisgICAgICAgICAgIiU2MGFiY2RlZmdoaWprbG1ubyJ9LAorICAgICAgICB7InBxcnN0
dXZ3eHl6e3x9flx4N2YiLAorICAgICAgICAgICJwcXJzdHV2d3h5eiU3QiU3QyU3RH4lN0YifSwK
KyAgICB9OworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBBUlJBWVNJWkVfVU5TQUZFKGVu
Y29kZV9jYXNlcyk7IGkrKykgeworICAgICAgICBXVEY6OlN0cmluZyBpbnB1dChlbmNvZGVfY2Fz
ZXNbaV0uaW5wdXQpOworICAgICAgICBXVEY6OlN0cmluZyBleHBlY3RlZE91dHB1dChlbmNvZGVf
Y2FzZXNbaV0ub3V0cHV0KTsKKyAgICAgICAgV1RGOjpTdHJpbmcgb3V0cHV0ID0gV2ViQ29yZTo6
ZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyhpbnB1dCk7CisgICAgICAgIEVYUEVDVF9FUShl
eHBlY3RlZE91dHB1dCwgb3V0cHV0KTsKKyAgICB9CisKKyAgICAvLyBPdXIgZW5jb2RlIGVzY2Fw
ZXMgTlVMTHMgZm9yIHNhZmV0eSwgc28gd2UgbmVlZCB0byBjaGVjayB0aGF0IHRvby4KKyAgICBX
VEY6OlN0cmluZyBpbnB1dCgiXHgwMFx4MDEiLCAyKTsKKyAgICBXVEY6OlN0cmluZyByZWZlcmVu
Y2UoIiUwMCUwMSIpOworCisgICAgV1RGOjpTdHJpbmcgb3V0cHV0ID0gV2ViQ29yZTo6ZW5jb2Rl
V2l0aFVSTEVzY2FwZVNlcXVlbmNlcyhpbnB1dCk7CisgICAgRVhQRUNUX0VRKHJlZmVyZW5jZSwg
b3V0cHV0KTsKKwogICAgIC8vIEFsc28gdGVzdCB0aGF0IGl0IGdldHMgY29udmVydGVkIHRvIFVU
Ri04IHByb3Blcmx5LgogICAgIGNoYXIxNiB3aWRlSW5wdXRIZWxwZXJbM10gPSB7IDB4NGY2MCwg
MHg1OTdkLCAwIH07CiAgICAgV1RGOjpTdHJpbmcgd2lkZUlucHV0KAogICAgICAgICByZWludGVy
cHJldF9jYXN0PGNvbnN0IDo6VUNoYXIqPih3aWRlSW5wdXRIZWxwZXIpLCAyKTsKLSAgICBXVEY6
OlN0cmluZyB3aWRlUmVmZXJlbmNlKCJceGU0XHhiZFx4YTBceGU1XHhhNVx4YmQiLCA2KTsKKyAg
ICBXVEY6OlN0cmluZyB3aWRlUmVmZXJlbmNlKCIlRTQlQkQlQTAlRTUlQTUlQkQiKTsKICAgICBX
VEY6OlN0cmluZyB3aWRlT3V0cHV0ID0KICAgICAgICAgV2ViQ29yZTo6ZW5jb2RlV2l0aFVSTEVz
Y2FwZVNlcXVlbmNlcyh3aWRlSW5wdXQpOwogICAgIEVYUEVDVF9FUSh3aWRlUmVmZXJlbmNlLCB3
aWRlT3V0cHV0KTsKLQotICAgIC8vIE91ciBlbmNvZGUgb25seSBlc2NhcGVzIE5VTExzIGZvciBz
YWZldHkgKHNlZSB0aGUgaW1wbGVtZW50YXRpb24gZm9yCi0gICAgLy8gbW9yZSksIHNvIHdlIG9u
bHkgYm90aGVyIHRvIHRlc3QgYSBmZXcgY2FzZXMuCi0gICAgV1RGOjpTdHJpbmcgaW5wdXQoCi0g
ICAgICAgICJceDAwXHgwMVx4MDJceDAzXHgwNFx4MDVceDA2XHgwN1x4MDhceDA5XHgwYVx4MGJc
eDBjXHgwZFx4MGVceDBmIiwgMTYpOwotICAgIFdURjo6U3RyaW5nIHJlZmVyZW5jZSgKLSAgICAg
ICAgIiUwMFx4MDFceDAyXHgwM1x4MDRceDA1XHgwNlx4MDdceDA4XHgwOVx4MGFceDBiXHgwY1x4
MGRceDBlXHgwZiIsIDE4KTsKLSAgICBXVEY6OlN0cmluZyBvdXRwdXQgPSBXZWJDb3JlOjplbmNv
ZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2VzKGlucHV0KTsKLSAgICBFWFBFQ1RfRVEocmVmZXJlbmNl
LCBvdXRwdXQpOwogfQogCiBURVNUKEtVUkxUZXN0LCBSZXNvbHZlRW1wdHkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103267</attachid>
            <date>2011-08-08 11:16:55 -0700</date>
            <delta_ts>2011-08-19 15:15:30 -0700</delta_ts>
            <desc>The same patch, merged and up to date.</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>7781</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2MGQwZjljLi4xNWEyNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMTYgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbZmlsZXN5c3RlbS9D
aHJvbWl1bV0gRmlsZXN5c3RlbSBwYXRocyBuZWVkIHByb3BlciBVUkwgZXNjYXBpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyODExCisKKyAgICAg
ICAgRml4IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lk
PTc4ODYwIGJ5IG1ha2luZworICAgICAgICBLVVJMQ2hyb21pdW0uY3BwJ3MgZXNjYXBpbmcgY29k
ZSBhY3R1YWxseSB3b3JrLgorCisgICAgICAgIE1ha2UgZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVl
bmNlcyBjYWxsIGludG8gZ29vZ2xldXJsIHRvIGRvIHByb3BlcgorICAgICAgICBlc2NhcGluZy4g
IFRlc3RlZCBpbiBXZWJLaXQvY2hyb21pdW0vdGVzdHMvS1VSTFRlc3QuY3BwLgorICAgICAgICAq
IHBsYXRmb3JtL0tVUkxHb29nbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZW5jb2RlV2l0aFVS
TEVzY2FwZVNlcXVlbmNlcyk6CisKIDIwMTEtMDgtMDggIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFw
cGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxH
b29nbGUuY3BwCmluZGV4IDRjZWY5ZjEuLjA1ZDU1OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0tVUkxHb29nbGUuY3BwCkBAIC04MzQsMTUgKzgzNCw2IEBAIGJvb2wgS1VSTDo6cHJvdG9jb2xJ
cyhjb25zdCBjaGFyKiBwcm90b2NvbCkgY29uc3QKICAgICAgICAgcHJvdG9jb2wpOwogfQogCi0v
LyBUaGlzIGlzIGNhbGxlZCB0byBlc2NhcGUgYSBVUkwgc3RyaW5nLiBJdCBpcyBvbmx5IHVzZWQg
ZXh0ZXJuYWxseSB3aGVuCi0vLyBjb25zdHJ1Y3RpbmcgbWFpbHRvOiBsaW5rcyB0byBzZXQgdGhl
IHF1ZXJ5IHNlY3Rpb24uIFNpbmNlIG91ciBxdWVyeSBzZXR0ZXIKLS8vIHdpbGwgYXV0b21hdGlj
YWxseSBkbyB0aGUgY29ycmVjdCBlc2NhcGluZywgdGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBoYXZl
IHRvCi0vLyBkbyBhbnkgd29yay4KLS8vCi0vLyBUaGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRoYXQg
YSBmdXR1cmUgY2FsbGVyIG1heSB1c2UgdGhpcyBmdW5jdGlvbiBpbiBvdGhlcgotLy8gd2F5cywg
YW5kIG1heSBleHBlY3QgdG8gZ2V0IGEgdmFsaWQgVVJMIHN0cmluZy4gVGhlIGRhbmdlcm91cyB0
aGluZyB3ZSB3YW50Ci0vLyB0byBwcm90ZWN0IGFnYWluc3QgaGVyZSBpcyBhY2NpZGVudGFsbHkg
Z2V0dGluZyAnXDAnIGNoYXJhY3RlcnMgaW4gYSBzdHJpbmcKLS8vIHRoYXQgaXMgbm90IHN1cHBv
c2VkIHRvIGhhdmUgdGhlbS4gVGhlcmVmb3JlLCB3ZSBlc2NhcGUgdGhlc2UgY2hhcmFjdGVycy4K
IFN0cmluZyBlbmNvZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2VzKGNvbnN0IFN0cmluZyYgbm90RW5j
b2RlZFN0cmluZykKIHsKICAgICBDU3RyaW5nIHV0ZjggPSBVVEY4RW5jb2RpbmcoKS5lbmNvZGUo
CkBAIC04NTEsMTUgKzg0MiwxMiBAQCBTdHJpbmcgZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNl
cyhjb25zdCBTdHJpbmcmIG5vdEVuY29kZWRTdHJpbmcpCiAgICAgICAgIFVSTEVuY29kZWRFbnRp
dGllc0ZvclVuZW5jb2RhYmxlcyk7CiAgICAgY29uc3QgY2hhciogaW5wdXQgPSB1dGY4LmRhdGEo
KTsKICAgICBpbnQgaW5wdXRMZW5ndGggPSB1dGY4Lmxlbmd0aCgpOworICAgIHVybF9jYW5vbjo6
UmF3Q2Fub25PdXRwdXRUPGNoYXI+IGJ1ZmZlcjsKKyAgICBpZiAoYnVmZmVyLmxlbmd0aCgpIDwg
aW5wdXRMZW5ndGggKiAzKQorICAgICAgICBidWZmZXIuUmVzaXplKGlucHV0TGVuZ3RoICogMyk7
CiAKLSAgICBWZWN0b3I8Y2hhciwgMjA0OD4gYnVmZmVyOwotICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgaW5wdXRMZW5ndGg7IGkrKykgewotICAgICAgICBpZiAoIWlucHV0W2ldKQotICAgICAgICAg
ICAgYnVmZmVyLmFwcGVuZCgiJTAwIiwgMyk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGJ1
ZmZlci5hcHBlbmQoaW5wdXRbaV0pOwotICAgIH0KLSAgICByZXR1cm4gU3RyaW5nKGJ1ZmZlci5k
YXRhKCksIGJ1ZmZlci5zaXplKCkpOworICAgIHVybF91dGlsOjpFbmNvZGVVUklDb21wb25lbnQo
aW5wdXQsIGlucHV0TGVuZ3RoLCAmYnVmZmVyKTsKKyAgICByZXR1cm4gU3RyaW5nKGJ1ZmZlci5k
YXRhKCksIGJ1ZmZlci5sZW5ndGgoKSk7CiB9CiAKIGJvb2wgS1VSTDo6aXNIaWVyYXJjaGljYWwo
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBmMzE4YTAxLi4zYTVmMjE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTA2LTE2ICBF
cmljIFVocmhhbmUgIDxlcmljdUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2ZpbGVzeXN0ZW0vQ2hyb21pdW1dIEZpbGVzeXN0
ZW0gcGF0aHMgbmVlZCBwcm9wZXIgVVJMIGVzY2FwaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjgxMQorCisgICAgICAgIEZpeCBodHRwOi8vY29k
ZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD03ODg2MCBieSBtYWtpbmcK
KyAgICAgICAgS1VSTENocm9taXVtLmNwcCdzIGVzY2FwaW5nIGNvZGUgYWN0dWFsbHkgd29yay4K
KworICAgICAgICBIZXJlIEkgYWRkZWQgdGhlIG5lZWRlZCBjYWxscyB0byBlbmNvZGVXaXRoVVJM
RXNjYXBlU2VxdWVuY2VzLgorICAgICAgICAqIHNyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6dmlydHVhbFBh
dGhUb0ZpbGVTeXN0ZW1VUkwpOgorICAgICAgICAqIHNyYy9Xb3JrZXJBc3luY0ZpbGVTeXN0ZW1D
aHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJv
bWl1bTo6dmlydHVhbFBhdGhUb0ZpbGVTeXN0ZW1VUkwpOgorCisgICAgICAgIEhlcmUgSSB1cGRh
dGVkIHRoZSB0ZXN0IHRvIHJlZmxlY3QgdGhlIG5ldyBmdW5jdGlvbmFsaXR5IGluCisgICAgICAg
IGVuY29kZVdpdGhVUkxFc2NhcGVTZXF1ZW5jZXMuCisgICAgICAgICogdGVzdHMvS1VSTFRlc3Qu
Y3BwOgorCiAyMDExLTA4LTA1ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGltcGxlbWVudCBkb2NrL3VuZG9jayBpbiBXZWJL
aXQyIHdpdGhvdXQgZ2V0dGluZyBpbnRvIFdlYkNvcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKaW5kZXggZDg2NmFl
Yi4uM2U1NmM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXN5bmNG
aWxlU3lzdGVtQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fz
eW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcApAQCAtMTc3LDcgKzE3Nyw3IEBAIEtVUkwgQXN5bmNG
aWxlU3lzdGVtQ2hyb21pdW06OnZpcnR1YWxQYXRoVG9GaWxlU3lzdGVtVVJMKGNvbnN0IFN0cmlu
ZyYgdmlydHVhbFBhCiAgICAgQVNTRVJUKCFtX2ZpbGVzeXN0ZW1Sb290VVJMLmlzRW1wdHkoKSk7
CiAgICAgS1VSTCB1cmwgPSBtX2ZpbGVzeXN0ZW1Sb290VVJMOwogICAgIC8vIFJlbW92ZSB0aGUg
ZXh0cmEgbGVhZGluZyBzbGFzaC4KLSAgICB1cmwuc2V0UGF0aCh1cmwucGF0aCgpICsgdmlydHVh
bFBhdGguc3Vic3RyaW5nKDEpKTsKKyAgICB1cmwuc2V0UGF0aCh1cmwucGF0aCgpICsgZW5jb2Rl
V2l0aFVSTEVzY2FwZVNlcXVlbmNlcyh2aXJ0dWFsUGF0aC5zdWJzdHJpbmcoMSkpKTsKICAgICBy
ZXR1cm4gdXJsOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
b3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Xb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKaW5kZXggOGJjNGJiOS4uMTQ4
ZjZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNG
aWxlU3lzdGVtQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dv
cmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcApAQCAtMjI3LDcgKzIyNyw3IEBAIEtVUkwg
V29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OnZpcnR1YWxQYXRoVG9GaWxlU3lzdGVtVVJM
KGNvbnN0IFN0cmluZyYgdmlyCiAgICAgQVNTRVJUKCFtX2ZpbGVzeXN0ZW1Sb290VVJMLmlzRW1w
dHkoKSk7CiAgICAgS1VSTCB1cmwgPSBtX2ZpbGVzeXN0ZW1Sb290VVJMOwogICAgIC8vIFJlbW92
ZSB0aGUgZXh0cmEgbGVhZGluZyBzbGFzaC4KLSAgICB1cmwuc2V0UGF0aCh1cmwucGF0aCgpICsg
dmlydHVhbFBhdGguc3Vic3RyaW5nKDEpKTsKKyAgICB1cmwuc2V0UGF0aCh1cmwucGF0aCgpICsg
ZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyh2aXJ0dWFsUGF0aC5zdWJzdHJpbmcoMSkpKTsK
ICAgICByZXR1cm4gdXJsOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL0tVUkxUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvS1VSTFRl
c3QuY3BwCmluZGV4IDE1MmRkMzEuLmMzYTJjN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvS1VSTFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvS1VSTFRlc3QuY3BwCkBAIC0zMDYsMjMgKzMwNiw1MSBAQCBURVNUKEtVUkxUZXN0LCBE
ZWNvZGUpCiAKIFRFU1QoS1VSTFRlc3QsIEVuY29kZSkKIHsKKyAgICBzdHJ1Y3QgRW5jb2RlQ2Fz
ZSB7CisgICAgICAgIGNvbnN0IGNoYXIqIGlucHV0OworICAgICAgICBjb25zdCBjaGFyKiBvdXRw
dXQ7CisgICAgfSBlbmNvZGVfY2FzZXNbXSA9IHsKKyAgICAgICAgeyJoZWxsbywgd29ybGQiLCAi
aGVsbG8lMkMlMjB3b3JsZCJ9LAorICAgICAgICB7Ilx4MDFceDAyXHgwM1x4MDRceDA1XHgwNlx4
MDdceDA4XHgwOVx4MEFceDBCXHgwQ1x4MERceDBFXHgwRiIsCisgICAgICAgICAgIiUwMSUwMiUw
MyUwNCUwNSUwNiUwNyUwOCUwOSUwQSUwQiUwQyUwRCUwRSUwRiJ9LAorICAgICAgICB7Ilx4MTBc
eDExXHgxMlx4MTNceDE0XHgxNVx4MTZceDE3XHgxOFx4MTlceDFBXHgxQlx4MUNceDFEXHgxRVx4
MUYiLAorICAgICAgICAgICIlMTAlMTElMTIlMTMlMTQlMTUlMTYlMTclMTglMTklMUElMUIlMUMl
MUQlMUUlMUYifSwKKyAgICAgICAgeyIgIVwiIyQlJicoKSorLC0uLyIsCisgICAgICAgICAgIiUy
MCElMjIlMjMlMjQlMjUlMjYnKCkqJTJCJTJDLS4lMkYifSwKKyAgICAgICAgeyIwMTIzNDU2Nzg5
Ojs8PT4/IiwKKyAgICAgICAgICAiMDEyMzQ1Njc4OSUzQSUzQiUzQyUzRCUzRSUzRiJ9LAorICAg
ICAgICB7IkBBQkNERUZHSElKS0xNTk8iLAorICAgICAgICAgICIlNDBBQkNERUZHSElKS0xNTk8i
fSwKKyAgICAgICAgeyJQUVJTVFVWV1hZWltcXF1eXyIsCisgICAgICAgICAgIlBRUlNUVVZXWFla
JTVCJTVDJTVEJTVFXyJ9LAorICAgICAgICB7ImBhYmNkZWZnaGlqa2xtbm8iLAorICAgICAgICAg
ICIlNjBhYmNkZWZnaGlqa2xtbm8ifSwKKyAgICAgICAgeyJwcXJzdHV2d3h5ent8fX5ceDdmIiwK
KyAgICAgICAgICAicHFyc3R1dnd4eXolN0IlN0MlN0R+JTdGIn0sCisgICAgfTsKKworICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgQVJSQVlTSVpFX1VOU0FGRShlbmNvZGVfY2FzZXMpOyBpKysp
IHsKKyAgICAgICAgV1RGOjpTdHJpbmcgaW5wdXQoZW5jb2RlX2Nhc2VzW2ldLmlucHV0KTsKKyAg
ICAgICAgV1RGOjpTdHJpbmcgZXhwZWN0ZWRPdXRwdXQoZW5jb2RlX2Nhc2VzW2ldLm91dHB1dCk7
CisgICAgICAgIFdURjo6U3RyaW5nIG91dHB1dCA9IFdlYkNvcmU6OmVuY29kZVdpdGhVUkxFc2Nh
cGVTZXF1ZW5jZXMoaW5wdXQpOworICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRPdXRwdXQsIG91
dHB1dCk7CisgICAgfQorCisgICAgLy8gT3VyIGVuY29kZSBlc2NhcGVzIE5VTExzIGZvciBzYWZl
dHksIHNvIHdlIG5lZWQgdG8gY2hlY2sgdGhhdCB0b28uCisgICAgV1RGOjpTdHJpbmcgaW5wdXQo
Ilx4MDBceDAxIiwgMik7CisgICAgV1RGOjpTdHJpbmcgcmVmZXJlbmNlKCIlMDAlMDEiKTsKKwor
ICAgIFdURjo6U3RyaW5nIG91dHB1dCA9IFdlYkNvcmU6OmVuY29kZVdpdGhVUkxFc2NhcGVTZXF1
ZW5jZXMoaW5wdXQpOworICAgIEVYUEVDVF9FUShyZWZlcmVuY2UsIG91dHB1dCk7CisKICAgICAv
LyBBbHNvIHRlc3QgdGhhdCBpdCBnZXRzIGNvbnZlcnRlZCB0byBVVEYtOCBwcm9wZXJseS4KICAg
ICBjaGFyMTYgd2lkZUlucHV0SGVscGVyWzNdID0geyAweDRmNjAsIDB4NTk3ZCwgMCB9OwogICAg
IFdURjo6U3RyaW5nIHdpZGVJbnB1dCgKICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjb25zdCA6
OlVDaGFyKj4od2lkZUlucHV0SGVscGVyKSwgMik7Ci0gICAgV1RGOjpTdHJpbmcgd2lkZVJlZmVy
ZW5jZSgiXHhlNFx4YmRceGEwXHhlNVx4YTVceGJkIiwgNik7CisgICAgV1RGOjpTdHJpbmcgd2lk
ZVJlZmVyZW5jZSgiJUU0JUJEJUEwJUU1JUE1JUJEIik7CiAgICAgV1RGOjpTdHJpbmcgd2lkZU91
dHB1dCA9CiAgICAgICAgIFdlYkNvcmU6OmVuY29kZVdpdGhVUkxFc2NhcGVTZXF1ZW5jZXMod2lk
ZUlucHV0KTsKICAgICBFWFBFQ1RfRVEod2lkZVJlZmVyZW5jZSwgd2lkZU91dHB1dCk7Ci0KLSAg
ICAvLyBPdXIgZW5jb2RlIG9ubHkgZXNjYXBlcyBOVUxMcyBmb3Igc2FmZXR5IChzZWUgdGhlIGlt
cGxlbWVudGF0aW9uIGZvcgotICAgIC8vIG1vcmUpLCBzbyB3ZSBvbmx5IGJvdGhlciB0byB0ZXN0
IGEgZmV3IGNhc2VzLgotICAgIFdURjo6U3RyaW5nIGlucHV0KAotICAgICAgICAiXHgwMFx4MDFc
eDAyXHgwM1x4MDRceDA1XHgwNlx4MDdceDA4XHgwOVx4MGFceDBiXHgwY1x4MGRceDBlXHgwZiIs
IDE2KTsKLSAgICBXVEY6OlN0cmluZyByZWZlcmVuY2UoCi0gICAgICAgICIlMDBceDAxXHgwMlx4
MDNceDA0XHgwNVx4MDZceDA3XHgwOFx4MDlceDBhXHgwYlx4MGNceDBkXHgwZVx4MGYiLCAxOCk7
Ci0gICAgV1RGOjpTdHJpbmcgb3V0cHV0ID0gV2ViQ29yZTo6ZW5jb2RlV2l0aFVSTEVzY2FwZVNl
cXVlbmNlcyhpbnB1dCk7Ci0gICAgRVhQRUNUX0VRKHJlZmVyZW5jZSwgb3V0cHV0KTsKIH0KIAog
VEVTVChLVVJMVGVzdCwgUmVzb2x2ZUVtcHR5KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104581</attachid>
            <date>2011-08-19 15:15:30 -0700</date>
            <delta_ts>2011-08-24 18:00:05 -0700</delta_ts>
            <desc>Added the needed unescaping fix.</desc>
            <filename>escape_fix.patch</filename>
            <type>text/plain</type>
            <size>8792</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyZjM4OWRmLi44YTVmYmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDgtMDggIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIFtmaWxlc3lzdGVtL0Nocm9t
aXVtXSBGaWxlc3lzdGVtIHBhdGhzIG5lZWQgcHJvcGVyIFVSTCBlc2NhcGluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4MTEKKworICAgICAgICBG
aXggaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9Nzg4
NjAgYnkgbWFraW5nCisgICAgICAgIEtVUkxDaHJvbWl1bS5jcHAncyBlc2NhcGluZyBjb2RlIGFj
dHVhbGx5IHdvcmsuCisKKyAgICAgICAgTWFrZSBlbmNvZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2Vz
IGNhbGwgaW50byBnb29nbGV1cmwgdG8gZG8gcHJvcGVyCisgICAgICAgIGVzY2FwaW5nLiAgVGVz
dGVkIGluIFdlYktpdC9jaHJvbWl1bS90ZXN0cy9LVVJMVGVzdC5jcHAuCisgICAgICAgICogcGxh
dGZvcm0vS1VSTEdvb2dsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbmNvZGVXaXRoVVJMRXNj
YXBlU2VxdWVuY2VzKToKKwogMjAxMS0wOC0xOSAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFk
b2JlLmNvbT4KIAogICAgICAgICBbQ1NTUmVnaW9uc11QYXJzZSAtd2Via2l0LXJlZ2lvbi1icmVh
ayhhZnRlciwgYmVmb3JlLCBpbnNpZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NlY3VyaXR5T3JpZ2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4u
Y3BwCmluZGV4IDdmOTE2NTMuLjNmYzY2Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2VjdXJpdHlPcmlnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlP
cmlnaW4uY3BwCkBAIC02NSw3ICs2NSw2IEBAIHN0YXRpYyBib29sIHNjaGVtZVJlcXVpcmVzQXV0
aG9yaXR5KGNvbnN0IFN0cmluZyYgc2NoZW1lKQogICAgIHJldHVybiBzY2hlbWVzLmNvbnRhaW5z
KHNjaGVtZSk7CiB9CiAKLQogU2VjdXJpdHlPcmlnaW46OlNlY3VyaXR5T3JpZ2luKGNvbnN0IEtV
UkwmIHVybCwgU2FuZGJveEZsYWdzIHNhbmRib3hGbGFncykKICAgICA6IG1fc2FuZGJveEZsYWdz
KHNhbmRib3hGbGFncykKICAgICAsIG1fcHJvdG9jb2wodXJsLnByb3RvY29sKCkuaXNOdWxsKCkg
PyAiIiA6IHVybC5wcm90b2NvbCgpLmxvd2VyKCkpCkBAIC05MSw3ICs5MCw3IEBAIFNlY3VyaXR5
T3JpZ2luOjpTZWN1cml0eU9yaWdpbihjb25zdCBLVVJMJiB1cmwsIFNhbmRib3hGbGFncyBzYW5k
Ym94RmxhZ3MpCiAgICAgICAgIGlzQmxvYk9yRmlsZVN5c3RlbVByb3RvY29sID0gdHJ1ZTsKICNl
bmRpZgogICAgIGlmIChpc0Jsb2JPckZpbGVTeXN0ZW1Qcm90b2NvbCkgewotICAgICAgICBLVVJM
IG9yaWdpblVSTChQYXJzZWRVUkxTdHJpbmcsIHVybC5wYXRoKCkpOworICAgICAgICBLVVJMIG9y
aWdpblVSTChQYXJzZWRVUkxTdHJpbmcsIGRlY29kZVVSTEVzY2FwZVNlcXVlbmNlcyh1cmwucGF0
aCgpKSk7CiAgICAgICAgIGlmIChvcmlnaW5VUkwuaXNWYWxpZCgpKSB7CiAgICAgICAgICAgICBt
X3Byb3RvY29sID0gb3JpZ2luVVJMLnByb3RvY29sKCkubG93ZXIoKTsKICAgICAgICAgICAgIG1f
aG9zdCA9IG9yaWdpblVSTC5ob3N0KCkubG93ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VS
TEdvb2dsZS5jcHAKaW5kZXggNGNlZjlmMS4uMDVkNTU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vS1VSTEdvb2dsZS5jcHAKQEAgLTgzNCwxNSArODM0LDYgQEAgYm9vbCBLVVJMOjpwcm90b2Nv
bElzKGNvbnN0IGNoYXIqIHByb3RvY29sKSBjb25zdAogICAgICAgICBwcm90b2NvbCk7CiB9CiAK
LS8vIFRoaXMgaXMgY2FsbGVkIHRvIGVzY2FwZSBhIFVSTCBzdHJpbmcuIEl0IGlzIG9ubHkgdXNl
ZCBleHRlcm5hbGx5IHdoZW4KLS8vIGNvbnN0cnVjdGluZyBtYWlsdG86IGxpbmtzIHRvIHNldCB0
aGUgcXVlcnkgc2VjdGlvbi4gU2luY2Ugb3VyIHF1ZXJ5IHNldHRlcgotLy8gd2lsbCBhdXRvbWF0
aWNhbGx5IGRvIHRoZSBjb3JyZWN0IGVzY2FwaW5nLCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IGhh
dmUgdG8KLS8vIGRvIGFueSB3b3JrLgotLy8KLS8vIFRoZXJlIGlzIGEgcG9zc2liaWxpdHkgdGhh
dCBhIGZ1dHVyZSBjYWxsZXIgbWF5IHVzZSB0aGlzIGZ1bmN0aW9uIGluIG90aGVyCi0vLyB3YXlz
LCBhbmQgbWF5IGV4cGVjdCB0byBnZXQgYSB2YWxpZCBVUkwgc3RyaW5nLiBUaGUgZGFuZ2Vyb3Vz
IHRoaW5nIHdlIHdhbnQKLS8vIHRvIHByb3RlY3QgYWdhaW5zdCBoZXJlIGlzIGFjY2lkZW50YWxs
eSBnZXR0aW5nICdcMCcgY2hhcmFjdGVycyBpbiBhIHN0cmluZwotLy8gdGhhdCBpcyBub3Qgc3Vw
cG9zZWQgdG8gaGF2ZSB0aGVtLiBUaGVyZWZvcmUsIHdlIGVzY2FwZSB0aGVzZSBjaGFyYWN0ZXJz
LgogU3RyaW5nIGVuY29kZVdpdGhVUkxFc2NhcGVTZXF1ZW5jZXMoY29uc3QgU3RyaW5nJiBub3RF
bmNvZGVkU3RyaW5nKQogewogICAgIENTdHJpbmcgdXRmOCA9IFVURjhFbmNvZGluZygpLmVuY29k
ZSgKQEAgLTg1MSwxNSArODQyLDEyIEBAIFN0cmluZyBlbmNvZGVXaXRoVVJMRXNjYXBlU2VxdWVu
Y2VzKGNvbnN0IFN0cmluZyYgbm90RW5jb2RlZFN0cmluZykKICAgICAgICAgVVJMRW5jb2RlZEVu
dGl0aWVzRm9yVW5lbmNvZGFibGVzKTsKICAgICBjb25zdCBjaGFyKiBpbnB1dCA9IHV0ZjguZGF0
YSgpOwogICAgIGludCBpbnB1dExlbmd0aCA9IHV0ZjgubGVuZ3RoKCk7CisgICAgdXJsX2Nhbm9u
OjpSYXdDYW5vbk91dHB1dFQ8Y2hhcj4gYnVmZmVyOworICAgIGlmIChidWZmZXIubGVuZ3RoKCkg
PCBpbnB1dExlbmd0aCAqIDMpCisgICAgICAgIGJ1ZmZlci5SZXNpemUoaW5wdXRMZW5ndGggKiAz
KTsKIAotICAgIFZlY3RvcjxjaGFyLCAyMDQ4PiBidWZmZXI7Ci0gICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBpbnB1dExlbmd0aDsgaSsrKSB7Ci0gICAgICAgIGlmICghaW5wdXRbaV0pCi0gICAgICAg
ICAgICBidWZmZXIuYXBwZW5kKCIlMDAiLCAzKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
YnVmZmVyLmFwcGVuZChpbnB1dFtpXSk7Ci0gICAgfQotICAgIHJldHVybiBTdHJpbmcoYnVmZmVy
LmRhdGEoKSwgYnVmZmVyLnNpemUoKSk7CisgICAgdXJsX3V0aWw6OkVuY29kZVVSSUNvbXBvbmVu
dChpbnB1dCwgaW5wdXRMZW5ndGgsICZidWZmZXIpOworICAgIHJldHVybiBTdHJpbmcoYnVmZmVy
LmRhdGEoKSwgYnVmZmVyLmxlbmd0aCgpKTsKIH0KIAogYm9vbCBLVVJMOjppc0hpZXJhcmNoaWNh
bCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGFjMDBlZDIuLjBlM2FiMWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDgtMDgg
IEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBBZGFtIEJhcnRoLgorCisgICAgICAgIFtmaWxlc3lzdGVtL0Nocm9taXVtXSBGaWxlc3lzdGVt
IHBhdGhzIG5lZWQgcHJvcGVyIFVSTCBlc2NhcGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4MTEKKworICAgICAgICBGaXggaHR0cDovL2NvZGUu
Z29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9Nzg4NjAgYnkgbWFraW5nCisg
ICAgICAgIEtVUkxDaHJvbWl1bS5jcHAncyBlc2NhcGluZyBjb2RlIGFjdHVhbGx5IHdvcmsuCisK
KyAgICAgICAgSGVyZSBJIGFkZGVkIHRoZSBuZWVkZWQgY2FsbHMgdG8gZW5jb2RlV2l0aFVSTEVz
Y2FwZVNlcXVlbmNlcy4KKyAgICAgICAgKiBzcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OnZpcnR1YWxQYXRo
VG9GaWxlU3lzdGVtVVJMKToKKyAgICAgICAgKiBzcmMvV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hy
b21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21p
dW06OnZpcnR1YWxQYXRoVG9GaWxlU3lzdGVtVVJMKToKKworICAgICAgICBIZXJlIEkgdXBkYXRl
ZCB0aGUgdGVzdCB0byByZWZsZWN0IHRoZSBuZXcgZnVuY3Rpb25hbGl0eSBpbgorICAgICAgICBl
bmNvZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2VzLgorICAgICAgICAqIHRlc3RzL0tVUkxUZXN0LmNw
cDoKKwogMjAxMS0wOC0xNyAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgogCiAg
ICAgICAgIFtjaHJvbWl1bV0gU3BsaXQgdGlsZXIgaW50byBtYWluIHRocmVhZCAvIGNvbXBvc2l0
b3IgdGhyZWFkIHZlcnNpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKaW5kZXggZDg2NmFlYi4uM2U1NmM3ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21p
dW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5c3RlbUNo
cm9taXVtLmNwcApAQCAtMTc3LDcgKzE3Nyw3IEBAIEtVUkwgQXN5bmNGaWxlU3lzdGVtQ2hyb21p
dW06OnZpcnR1YWxQYXRoVG9GaWxlU3lzdGVtVVJMKGNvbnN0IFN0cmluZyYgdmlydHVhbFBhCiAg
ICAgQVNTRVJUKCFtX2ZpbGVzeXN0ZW1Sb290VVJMLmlzRW1wdHkoKSk7CiAgICAgS1VSTCB1cmwg
PSBtX2ZpbGVzeXN0ZW1Sb290VVJMOwogICAgIC8vIFJlbW92ZSB0aGUgZXh0cmEgbGVhZGluZyBz
bGFzaC4KLSAgICB1cmwuc2V0UGF0aCh1cmwucGF0aCgpICsgdmlydHVhbFBhdGguc3Vic3RyaW5n
KDEpKTsKKyAgICB1cmwuc2V0UGF0aCh1cmwucGF0aCgpICsgZW5jb2RlV2l0aFVSTEVzY2FwZVNl
cXVlbmNlcyh2aXJ0dWFsUGF0aC5zdWJzdHJpbmcoMSkpKTsKICAgICByZXR1cm4gdXJsOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJBc3luY0ZpbGVT
eXN0ZW1DaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJBc3lu
Y0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKaW5kZXggOGJjNGJiOS4uMTQ4ZjZiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21p
dW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5
c3RlbUNocm9taXVtLmNwcApAQCAtMjI3LDcgKzIyNyw3IEBAIEtVUkwgV29ya2VyQXN5bmNGaWxl
U3lzdGVtQ2hyb21pdW06OnZpcnR1YWxQYXRoVG9GaWxlU3lzdGVtVVJMKGNvbnN0IFN0cmluZyYg
dmlyCiAgICAgQVNTRVJUKCFtX2ZpbGVzeXN0ZW1Sb290VVJMLmlzRW1wdHkoKSk7CiAgICAgS1VS
TCB1cmwgPSBtX2ZpbGVzeXN0ZW1Sb290VVJMOwogICAgIC8vIFJlbW92ZSB0aGUgZXh0cmEgbGVh
ZGluZyBzbGFzaC4KLSAgICB1cmwuc2V0UGF0aCh1cmwucGF0aCgpICsgdmlydHVhbFBhdGguc3Vi
c3RyaW5nKDEpKTsKKyAgICB1cmwuc2V0UGF0aCh1cmwucGF0aCgpICsgZW5jb2RlV2l0aFVSTEVz
Y2FwZVNlcXVlbmNlcyh2aXJ0dWFsUGF0aC5zdWJzdHJpbmcoMSkpKTsKICAgICByZXR1cm4gdXJs
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0tVUkxUZXN0
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvS1VSTFRlc3QuY3BwCmluZGV4IDE1
MmRkMzEuLmMzYTJjN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
S1VSTFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvS1VSTFRlc3Qu
Y3BwCkBAIC0zMDYsMjMgKzMwNiw1MSBAQCBURVNUKEtVUkxUZXN0LCBEZWNvZGUpCiAKIFRFU1Qo
S1VSTFRlc3QsIEVuY29kZSkKIHsKKyAgICBzdHJ1Y3QgRW5jb2RlQ2FzZSB7CisgICAgICAgIGNv
bnN0IGNoYXIqIGlucHV0OworICAgICAgICBjb25zdCBjaGFyKiBvdXRwdXQ7CisgICAgfSBlbmNv
ZGVfY2FzZXNbXSA9IHsKKyAgICAgICAgeyJoZWxsbywgd29ybGQiLCAiaGVsbG8lMkMlMjB3b3Js
ZCJ9LAorICAgICAgICB7Ilx4MDFceDAyXHgwM1x4MDRceDA1XHgwNlx4MDdceDA4XHgwOVx4MEFc
eDBCXHgwQ1x4MERceDBFXHgwRiIsCisgICAgICAgICAgIiUwMSUwMiUwMyUwNCUwNSUwNiUwNyUw
OCUwOSUwQSUwQiUwQyUwRCUwRSUwRiJ9LAorICAgICAgICB7Ilx4MTBceDExXHgxMlx4MTNceDE0
XHgxNVx4MTZceDE3XHgxOFx4MTlceDFBXHgxQlx4MUNceDFEXHgxRVx4MUYiLAorICAgICAgICAg
ICIlMTAlMTElMTIlMTMlMTQlMTUlMTYlMTclMTglMTklMUElMUIlMUMlMUQlMUUlMUYifSwKKyAg
ICAgICAgeyIgIVwiIyQlJicoKSorLC0uLyIsCisgICAgICAgICAgIiUyMCElMjIlMjMlMjQlMjUl
MjYnKCkqJTJCJTJDLS4lMkYifSwKKyAgICAgICAgeyIwMTIzNDU2Nzg5Ojs8PT4/IiwKKyAgICAg
ICAgICAiMDEyMzQ1Njc4OSUzQSUzQiUzQyUzRCUzRSUzRiJ9LAorICAgICAgICB7IkBBQkNERUZH
SElKS0xNTk8iLAorICAgICAgICAgICIlNDBBQkNERUZHSElKS0xNTk8ifSwKKyAgICAgICAgeyJQ
UVJTVFVWV1hZWltcXF1eXyIsCisgICAgICAgICAgIlBRUlNUVVZXWFlaJTVCJTVDJTVEJTVFXyJ9
LAorICAgICAgICB7ImBhYmNkZWZnaGlqa2xtbm8iLAorICAgICAgICAgICIlNjBhYmNkZWZnaGlq
a2xtbm8ifSwKKyAgICAgICAgeyJwcXJzdHV2d3h5ent8fX5ceDdmIiwKKyAgICAgICAgICAicHFy
c3R1dnd4eXolN0IlN0MlN0R+JTdGIn0sCisgICAgfTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgQVJSQVlTSVpFX1VOU0FGRShlbmNvZGVfY2FzZXMpOyBpKyspIHsKKyAgICAgICAgV1RG
OjpTdHJpbmcgaW5wdXQoZW5jb2RlX2Nhc2VzW2ldLmlucHV0KTsKKyAgICAgICAgV1RGOjpTdHJp
bmcgZXhwZWN0ZWRPdXRwdXQoZW5jb2RlX2Nhc2VzW2ldLm91dHB1dCk7CisgICAgICAgIFdURjo6
U3RyaW5nIG91dHB1dCA9IFdlYkNvcmU6OmVuY29kZVdpdGhVUkxFc2NhcGVTZXF1ZW5jZXMoaW5w
dXQpOworICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRPdXRwdXQsIG91dHB1dCk7CisgICAgfQor
CisgICAgLy8gT3VyIGVuY29kZSBlc2NhcGVzIE5VTExzIGZvciBzYWZldHksIHNvIHdlIG5lZWQg
dG8gY2hlY2sgdGhhdCB0b28uCisgICAgV1RGOjpTdHJpbmcgaW5wdXQoIlx4MDBceDAxIiwgMik7
CisgICAgV1RGOjpTdHJpbmcgcmVmZXJlbmNlKCIlMDAlMDEiKTsKKworICAgIFdURjo6U3RyaW5n
IG91dHB1dCA9IFdlYkNvcmU6OmVuY29kZVdpdGhVUkxFc2NhcGVTZXF1ZW5jZXMoaW5wdXQpOwor
ICAgIEVYUEVDVF9FUShyZWZlcmVuY2UsIG91dHB1dCk7CisKICAgICAvLyBBbHNvIHRlc3QgdGhh
dCBpdCBnZXRzIGNvbnZlcnRlZCB0byBVVEYtOCBwcm9wZXJseS4KICAgICBjaGFyMTYgd2lkZUlu
cHV0SGVscGVyWzNdID0geyAweDRmNjAsIDB4NTk3ZCwgMCB9OwogICAgIFdURjo6U3RyaW5nIHdp
ZGVJbnB1dCgKICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjb25zdCA6OlVDaGFyKj4od2lkZUlu
cHV0SGVscGVyKSwgMik7Ci0gICAgV1RGOjpTdHJpbmcgd2lkZVJlZmVyZW5jZSgiXHhlNFx4YmRc
eGEwXHhlNVx4YTVceGJkIiwgNik7CisgICAgV1RGOjpTdHJpbmcgd2lkZVJlZmVyZW5jZSgiJUU0
JUJEJUEwJUU1JUE1JUJEIik7CiAgICAgV1RGOjpTdHJpbmcgd2lkZU91dHB1dCA9CiAgICAgICAg
IFdlYkNvcmU6OmVuY29kZVdpdGhVUkxFc2NhcGVTZXF1ZW5jZXMod2lkZUlucHV0KTsKICAgICBF
WFBFQ1RfRVEod2lkZVJlZmVyZW5jZSwgd2lkZU91dHB1dCk7Ci0KLSAgICAvLyBPdXIgZW5jb2Rl
IG9ubHkgZXNjYXBlcyBOVUxMcyBmb3Igc2FmZXR5IChzZWUgdGhlIGltcGxlbWVudGF0aW9uIGZv
cgotICAgIC8vIG1vcmUpLCBzbyB3ZSBvbmx5IGJvdGhlciB0byB0ZXN0IGEgZmV3IGNhc2VzLgot
ICAgIFdURjo6U3RyaW5nIGlucHV0KAotICAgICAgICAiXHgwMFx4MDFceDAyXHgwM1x4MDRceDA1
XHgwNlx4MDdceDA4XHgwOVx4MGFceDBiXHgwY1x4MGRceDBlXHgwZiIsIDE2KTsKLSAgICBXVEY6
OlN0cmluZyByZWZlcmVuY2UoCi0gICAgICAgICIlMDBceDAxXHgwMlx4MDNceDA0XHgwNVx4MDZc
eDA3XHgwOFx4MDlceDBhXHgwYlx4MGNceDBkXHgwZVx4MGYiLCAxOCk7Ci0gICAgV1RGOjpTdHJp
bmcgb3V0cHV0ID0gV2ViQ29yZTo6ZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyhpbnB1dCk7
Ci0gICAgRVhQRUNUX0VRKHJlZmVyZW5jZSwgb3V0cHV0KTsKIH0KIAogVEVTVChLVVJMVGVzdCwg
UmVzb2x2ZUVtcHR5KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>