<?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>47310</bug_id>
          
          <creation_ts>2010-10-06 15:34:40 -0700</creation_ts>
          <short_desc>Implement FileEntrySync.file() in FileSystem API</short_desc>
          <delta_ts>2010-10-15 19:06:16 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ericu</cc>
    
    <cc>jianli</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>290621</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-06 15:34:40 -0700</bug_when>
    <thetext>Implement FileEntrySync.file() in FileSystem API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290723</commentid>
    <comment_count>1</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-06 17:38:16 -0700</bug_when>
    <thetext>File::create() fails on workers on chromium because Worker&apos;s WebKitClient doesn&apos;t implement mimeTypeForExtension.  Should we just add the implementation for the method?  (That will proxy the call to the browser to access the mime registry.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290747</commentid>
    <comment_count>2</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-10-06 18:28:45 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; File::create() fails on workers on chromium because Worker&apos;s WebKitClient doesn&apos;t implement mimeTypeForExtension.  Should we just add the implementation for the method?  (That will proxy the call to the browser to access the mime registry.)

Yeah, I guess it just hasn&apos;t needed it up to this point.  Unless you see an alternative?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291820</commentid>
    <comment_count>3</comment_count>
      <attachid>70276</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-08 12:44:25 -0700</bug_when>
    <thetext>Created attachment 70276
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291824</commentid>
    <comment_count>4</comment_count>
      <attachid>70276</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-08 13:03:07 -0700</bug_when>
    <thetext>Comment on attachment 70276
Patch

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

&gt; LayoutTests/ChangeLog:12
&gt; +        * fast/filesystem/resources/file-from-file-entry.js: Added.
&gt; +        * fast/filesystem/script-tests/file-from-file-entry.js: Removed.

Why do you move file-from-file-entry.js from script-tests/ to resources/?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292602</commentid>
    <comment_count>5</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-11 12:11:37 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 70276 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=70276&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:12
&gt; &gt; +        * fast/filesystem/resources/file-from-file-entry.js: Added.
&gt; &gt; +        * fast/filesystem/script-tests/file-from-file-entry.js: Removed.
&gt; 
&gt; Why do you move file-from-file-entry.js from script-tests/ to resources/?

Because I wanted to use it both for workers and non-workers tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292604</commentid>
    <comment_count>6</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-11 12:13:36 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 70276 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=70276&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/ChangeLog:12
&gt; &gt; &gt; +        * fast/filesystem/resources/file-from-file-entry.js: Added.
&gt; &gt; &gt; +        * fast/filesystem/script-tests/file-from-file-entry.js: Removed.
&gt; &gt; 
&gt; &gt; Why do you move file-from-file-entry.js from script-tests/ to resources/?
&gt; 
&gt; Because I wanted to use it both for workers and non-workers tests.

And I&apos;ve included workers and resources directories to be synced under chrome/test/data... for chromium&apos;s workers tests but haven&apos;t done that for script-tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293174</commentid>
    <comment_count>7</comment_count>
      <attachid>70276</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-10-12 16:27:32 -0700</bug_when>
    <thetext>Comment on attachment 70276
Patch

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

&gt; LayoutTests/fast/filesystem/resources/file-from-file-entry-sync.js:17
&gt; +shouldBe(&quot;testFile.type&quot;, &quot;&apos;text/plain&apos;&quot;);

Please add a TODO to check size as well, once that&apos;s implemented.  Actually, is there a bug for that yet?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293231</commentid>
    <comment_count>8</comment_count>
      <attachid>70578</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-12 18:02:19 -0700</bug_when>
    <thetext>Created attachment 70578
Patch

Updated to include the fix for 47563 (pass platform path).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293236</commentid>
    <comment_count>9</comment_count>
      <attachid>70578</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-12 18:08:15 -0700</bug_when>
    <thetext>Comment on attachment 70578
Patch

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

&gt; WebCore/fileapi/FileEntrySync.cpp:48
&gt; +    return File::create(filesystem()-&gt;asyncFileSystem()-&gt;virtualToPlatformPath(m_fullPath));

We&apos;re calling AsyncFileSystem::virtualToPlatformPath in FileEntrySync. This seems some sort of confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294407</commentid>
    <comment_count>10</comment_count>
      <attachid>70787</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-14 15:27:07 -0700</bug_when>
    <thetext>Created attachment 70787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294408</commentid>
    <comment_count>11</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-14 15:29:43 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=70787) [details]
&gt; Patch

(In reply to comment #9)
&gt; (From update of attachment 70578 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=70578&amp;action=review
&gt; 
&gt; &gt; WebCore/fileapi/FileEntrySync.cpp:48
&gt; &gt; +    return File::create(filesystem()-&gt;asyncFileSystem()-&gt;virtualToPlatformPath(m_fullPath));
&gt; 
&gt; We&apos;re calling AsyncFileSystem::virtualToPlatformPath in FileEntrySync. This seems some sort of confusing.

Added DOMFileSystem{,Sync}::createFile and changed FileEntry{,Sync}::file to call that method (as in createWriter).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294905</commentid>
    <comment_count>12</comment_count>
      <attachid>70787</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-15 13:49:42 -0700</bug_when>
    <thetext>Comment on attachment 70787
Patch

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

&gt; LayoutTests/fast/filesystem/resources/file-from-file-entry-sync.js:1
&gt; +if (this.importScripts) {

Is this resource file only used in worker testing? If so, it would be better to put under filesystem/workers/resources. In addition, you can remove the check for the existence of importScripts.

&gt; LayoutTests/fast/filesystem/resources/file-from-file-entry.js:2
&gt; +    importScripts(&apos;../resources/fs-worker-common.js&apos;);

Do we need to use &quot;../resources&quot;?

&gt; LayoutTests/fast/filesystem/resources/file-from-file-entry.js:3
&gt; +    importScripts(&apos;../resources/fs-test-util.js&apos;);

ditto.

&gt; LayoutTests/fast/filesystem/workers/file-from-file-entry-sync-expected.txt:1
&gt; +

Why do we have blank expected result here?

&gt; WebCore/fileapi/DOMFileSystem.cpp:89
&gt; +void DOMFileSystem::createFile(const FileEntry* file, PassRefPtr&lt;FileCallback&gt; successCallback, PassRefPtr&lt;ErrorCallback&gt;)

Please consider renaming &apos;file&apos; argument to &apos;fileEntry&apos; to avoid the confusion with the File being created in this method.

&gt; WebCore/fileapi/DOMFileSystem.h:63
&gt; +    void createFile(const FileEntry* file, PassRefPtr&lt;FileCallback&gt;, PassRefPtr&lt;ErrorCallback&gt;);

Please omit &apos;file&apos; argument.

&gt; WebCore/fileapi/DOMFileSystemSync.cpp:62
&gt; +PassRefPtr&lt;File&gt; DOMFileSystemSync::createFile(const FileEntrySync* file, ExceptionCode&amp; ec)

ditto.

&gt; WebCore/fileapi/DOMFileSystemSync.h:59
&gt; +    PassRefPtr&lt;File&gt; createFile(const FileEntrySync* file, ExceptionCode&amp;);

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294993</commentid>
    <comment_count>13</comment_count>
      <attachid>70912</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-15 16:16:42 -0700</bug_when>
    <thetext>Created attachment 70912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294995</commentid>
    <comment_count>14</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-15 16:18:25 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=70787&amp;action=review

&gt;&gt; LayoutTests/fast/filesystem/resources/file-from-file-entry-sync.js:1
&gt;&gt; +if (this.importScripts) {
&gt; 
&gt; Is this resource file only used in worker testing? If so, it would be better to put under filesystem/workers/resources. In addition, you can remove the check for the existence of importScripts.

Makes sense, I put a FIXME comment for now - I&apos;d like to file a separate issue to address this and keep it as is in this patch.

There&apos;re some other worker-only resources that are put under filesystem/resources and I want to move them in sync (and it requires chromoium test code change too).

&gt;&gt; LayoutTests/fast/filesystem/resources/file-from-file-entry.js:2
&gt;&gt; +    importScripts(&apos;../resources/fs-worker-common.js&apos;);
&gt; 
&gt; Do we need to use &quot;../resources&quot;?

Fixed.

&gt;&gt; LayoutTests/fast/filesystem/resources/file-from-file-entry.js:3
&gt;&gt; +    importScripts(&apos;../resources/fs-test-util.js&apos;);
&gt; 
&gt; ditto.

Removed the line as this file doesn&apos;t depend on the file.

&gt;&gt; LayoutTests/fast/filesystem/workers/file-from-file-entry-sync-expected.txt:1
&gt;&gt; +
&gt; 
&gt; Why do we have blank expected result here?

Fixed.

&gt;&gt; WebCore/fileapi/DOMFileSystem.cpp:89
&gt;&gt; +void DOMFileSystem::createFile(const FileEntry* file, PassRefPtr&lt;FileCallback&gt; successCallback, PassRefPtr&lt;ErrorCallback&gt;)
&gt; 
&gt; Please consider renaming &apos;file&apos; argument to &apos;fileEntry&apos; to avoid the confusion with the File being created in this method.

Fixed.

&gt;&gt; WebCore/fileapi/DOMFileSystem.h:63
&gt;&gt; +    void createFile(const FileEntry* file, PassRefPtr&lt;FileCallback&gt;, PassRefPtr&lt;ErrorCallback&gt;);
&gt; 
&gt; Please omit &apos;file&apos; argument.

Fixed.

&gt;&gt; WebCore/fileapi/DOMFileSystemSync.cpp:62
&gt;&gt; +PassRefPtr&lt;File&gt; DOMFileSystemSync::createFile(const FileEntrySync* file, ExceptionCode&amp; ec)
&gt; 
&gt; ditto.

Fixed.

&gt;&gt; WebCore/fileapi/DOMFileSystemSync.h:59
&gt;&gt; +    PassRefPtr&lt;File&gt; createFile(const FileEntrySync* file, ExceptionCode&amp;);
&gt; 
&gt; ditto.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295039</commentid>
    <comment_count>15</comment_count>
      <attachid>70912</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-15 17:28:15 -0700</bug_when>
    <thetext>Comment on attachment 70912
Patch

Looks good. Please fix the issue below before you land it.

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

&gt; LayoutTests/fast/filesystem/workers/file-from-file-entry.html:7
&gt; +&lt;p id=&quot;description&quot;&gt;This tests returning File from FileEntrySync in workers.&lt;/p&gt;

FileEntrySync =&gt; FileEntry
Please also update the expected result file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295097</commentid>
    <comment_count>16</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-15 19:06:16 -0700</bug_when>
    <thetext>Committed r69907: &lt;http://trac.webkit.org/changeset/69907&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70276</attachid>
            <date>2010-10-08 12:44:25 -0700</date>
            <delta_ts>2010-10-12 18:02:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47310-20101008124424.patch</filename>
            <type>text/plain</type>
            <size>7819</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmNmZhMGFhYjY4NmNkYTllMTE2ZjQ4ZjJlZDQ1Y2FjZTNhMjJkZDk2Li5mNTBkNjY1
OTg0N2UwMDJlNWM2ODBmOTUzYmZlOTYwOTAwNjJiOWY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMTAtMDcgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBGaWxl
RW50cnlTeW5jLmZpbGUoKSBpbiBGaWxlU3lzdGVtIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDczMTAKKworICAgICAgICAqIGZhc3QvZmlsZXN5
c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9m
aWxlc3lzdGVtL2ZpbGUtZnJvbS1maWxlLWVudHJ5Lmh0bWw6CisgICAgICAgICogZmFzdC9maWxl
c3lzdGVtL3Jlc291cmNlcy9maWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtZnJvbS1maWxlLWVudHJ5Lmpz
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vc2NyaXB0LXRlc3RzL2ZpbGUtZnJv
bS1maWxlLWVudHJ5LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS93b3Jr
ZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LXN5bmMuaHRtbDogQWRkZWQuCisKIDIwMTAtMTAtMDgg
IEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHVwZGF0aW5nIHRlc3QgZXhwZWN0YXRpb25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL2ZpbGUtZnJvbS1maWxlLWVudHJ5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS1leHBlY3RlZC50eHQK
aW5kZXggOWRmYWY5NmRjNTMyMjZlNjBjOTdjYmIzNjI4NmRiZTA1NjUxZjdmMS4uZDJjNjRjZjVh
YjcxZTQ4OGZiMjE0OTZlNDNiZWQzZjM0MjYwNDcxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL2ZpbGUtZnJvbS1maWxlLWVudHJ5LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmlsZS1mcm9tLWZpbGUtZW50cnktZXhwZWN0ZWQu
dHh0CkBAIC0xLDQgKzEsNCBAQAotT2J0YWluaW5nIEZpbGUgZnJvbSBGaWxlRW50cnkKK09idGFp
bmluZyBGaWxlIGZyb20gRmlsZUVudHJ5LgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmlsZS1l
bnRyeS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2ZpbGUtZnJvbS1maWxlLWVu
dHJ5Lmh0bWwKaW5kZXggZGFlNzA4YzMxYzExZmYyNGVkNGMyMjhlMTkzMTkwMDBkN2M2NDc4ZC4u
YmE0NjJkMDEyNDIyNzdkNzYxZjYyNzE0ZDdhYTcxOGJlNjlmYjM3YiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2ZpbGUtZnJvbS1maWxlLWVudHJ5Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2ZpbGUtZnJvbS1maWxlLWVudHJ5Lmh0bWwKQEAg
LTcsNyArNyw3IEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2ZpbGUtZnJvbS1maWxl
LWVudHJ5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZmlsZS1mcm9tLWZp
bGUtZW50cnkuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9maWxlLWZyb20tZmlsZS1lbnRyeS1z
eW5jLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9maWxlLWZyb20t
ZmlsZS1lbnRyeS1zeW5jLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3ODY3Mzc3ODczMjBmOTJjZTcxNjJjZDk3
MmRmOWRiNmU3ODBhMTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vcmVzb3VyY2VzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LXN5bmMuanMKQEAgLTAsMCArMSwy
MSBAQAoraWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlwdHMoJy4uL3Jl
c291cmNlcy9mcy13b3JrZXItY29tbW9uLmpzJyk7CisgICAgaW1wb3J0U2NyaXB0cygnLi4vcmVz
b3VyY2VzL2ZzLXRlc3QtdXRpbC5qcycpOworfQorCitkZXNjcmlwdGlvbigiT2J0YWluaW5nIEZp
bGUgZnJvbSBGaWxlRW50cnlTeW5jLiIpOworCit2YXIgZmlsZVN5c3RlbSA9IHJlcXVlc3RGaWxl
U3lzdGVtU3luYyh0aGlzLlRFTVBPUkFSWSwgMTAwKTsKK3JlbW92ZVJlY3Vyc2l2ZWx5U3luYyhm
aWxlU3lzdGVtLnJvb3QpOworCit2YXIgdGVzdEZpbGVOYW1lID0gJy90ZXN0RmlsZUVudHJ5LnR4
dCc7CisKK3ZhciB0ZXN0RmlsZUVudHJ5ID0gZmlsZVN5c3RlbS5yb290LmdldEZpbGUodGVzdEZp
bGVOYW1lLCB7Y3JlYXRlOnRydWV9KTsKK3ZhciB0ZXN0RmlsZSA9IHRlc3RGaWxlRW50cnkuZmls
ZSgpOworCitzaG91bGRCZSgidGVzdEZpbGUubmFtZSIsICJ0ZXN0RmlsZUVudHJ5Lm5hbWUiKTsK
K3Nob3VsZEJlKCJ0ZXN0RmlsZS50eXBlIiwgIid0ZXh0L3BsYWluJyIpOworCityZW1vdmVSZWN1
cnNpdmVseVN5bmMoZmlsZVN5c3RlbS5yb290KTsKK2ZpbmlzaEpTVGVzdCgpOwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vc2NyaXB0LXRlc3RzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LmpzIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9maWxlLWZyb20tZmlsZS1lbnRyeS5qcwpzaW1pbGFy
aXR5IGluZGV4IDcxJQpyZW5hbWUgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2Ny
aXB0LXRlc3RzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LmpzCnJlbmFtZSB0byBMYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LmpzCmluZGV4IDc1
NTI3NzhjMjY5ZDQwYTYzNjg1YzEwNTZiZTllNWYyOGIxNGU4YTkuLjEyYTc1N2I0MTQzZTQ0Yjhi
Nzg5MjVjMzkyMmZhNDYzMTJlZTViYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS9zY3JpcHQtdGVzdHMvZmlsZS1mcm9tLWZpbGUtZW50cnkuanMKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9maWxlLWZyb20tZmlsZS1lbnRyeS5qcwpA
QCAtMSw0ICsxLDkgQEAKLWRlc2NyaXB0aW9uKCJPYnRhaW5pbmcgRmlsZSBmcm9tIEZpbGVFbnRy
eSIpOworaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlwdHMoJy4uL3Jl
c291cmNlcy9mcy13b3JrZXItY29tbW9uLmpzJyk7CisgICAgaW1wb3J0U2NyaXB0cygnLi4vcmVz
b3VyY2VzL2ZzLXRlc3QtdXRpbC5qcycpOworfQorCitkZXNjcmlwdGlvbigiT2J0YWluaW5nIEZp
bGUgZnJvbSBGaWxlRW50cnkuIik7CiAKIHZhciBmaWxlU3lzdGVtID0gbnVsbDsKIHZhciB0ZXN0
RmlsZU5hbWUgPSAnL3Rlc3RGaWxlRW50cnkudHh0JzsKQEAgLTMyLDEwICszNyw2IEBAIGZ1bmN0
aW9uIGZpbGVTeXN0ZW1DYWxsYmFjayhmcykgewogICAgIHJlbW92ZVJlY3Vyc2l2ZWx5KGZpbGVT
eXN0ZW0ucm9vdCwgY3JlYXRlVGVzdEZpbGUsIGVycm9yQ2FsbGJhY2spOwogfQogCi1pZiAod2lu
ZG93LnJlcXVlc3RGaWxlU3lzdGVtKSB7Ci0gICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OwotICAgIHJlcXVlc3RGaWxlU3lzdGVtKHdpbmRvdy5URU1QT1JBUlksIDEwMCwgZmlsZVN5c3Rl
bUNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKLX0gZWxzZQotICAgIGRlYnVnKCJUaGlzIHRlc3Qg
cmVxdWlyZXMgRmlsZVN5c3RlbSBBUEkgc3VwcG9ydC4iKTsKLQotd2luZG93LnN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7Cit2YXIganNUZXN0SXNBc3luYyA9IHRydWU7CityZXF1ZXN0RmlsZVN5
c3RlbShURU1QT1JBUlksIDEwMCwgZmlsZVN5c3RlbUNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnktc3luYy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnkt
c3luYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3NTFmZGY4OTgyN2MwOGY3MTAxMzVhMWRiYTNlYmExNTg5
OWRhMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29y
a2Vycy9maWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0cyByZXR1cm5pbmcgRmlsZSBmcm9tIEZpbGVFbnRyeVN5bmMgaW4gd29ya2Vycy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcignLi4vcmVz
b3VyY2VzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LXN5bmMuanMnKTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggMDViMTcwNWYwNWMxYWMxMTQ2ZGU0ODRhZDZhNmQyNTA1MGU4ZGEyZS4u
NTc2ZTcxOGI4NDIwOThjMzljNzA3YWE3OTlkNjQyZTIyOTkwMDQyNSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAor
MjAxMC0xMC0wNyAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IEZpbGVF
bnRyeVN5bmMuZmlsZSgpIGluIEZpbGVTeXN0ZW0gQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzMxMAorCisgICAgICAgIFRlc3Q6IGZhc3QvZmls
ZXN5c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LXN5bmMuaHRtbAorCisgICAgICAg
ICogZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVFbnRy
eVN5bmM6OmZpbGUpOiBJbXBsZW1lbnRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeVN5
bmMuaDoKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsOgorCiAyMDEwLTEwLTA4
ICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlT
eW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcAppbmRleCAxZDE3NjBk
N2ExMmYyZGEzMzZlZTRmMTkxYTVmZDRjNzNjMDliN2IzLi4zYTZhZTYyYzBjNmM4MDBjMGVmNTU2
YjZhYTk2MmM1Y2QwM2QwZWZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5
U3luYy5jcHAKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwCkBAIC0zMyw2
ICszMyw4IEBACiAKICNpZiBFTkFCTEUoRklMRV9TWVNURU0pCiAKKyNpbmNsdWRlICJGaWxlLmgi
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRmlsZUVudHJ5U3luYzo6RmlsZUVudHJ5U3luYyhE
T01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKQEAg
LTQwLDYgKzQyLDEyIEBAIEZpbGVFbnRyeVN5bmM6OkZpbGVFbnRyeVN5bmMoRE9NRmlsZVN5c3Rl
bUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhCiB7CiB9CiAKK1Bhc3NSZWZQ
dHI8RmlsZT4gRmlsZUVudHJ5U3luYzo6ZmlsZShFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBl
YyA9IDA7CisgICAgcmV0dXJuIEZpbGU6OmNyZWF0ZShtX2Z1bGxQYXRoKTsKK30KKwogfQogCiAj
ZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBp
L0ZpbGVFbnRyeVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmgKaW5kZXgg
YzIyMmFmY2ViM2U4YmE3Y2YyNTdiMTFiOGVkMzEyYmM2OTEzZTY1ZS4uZDAyN2Y2MzNmZWM3NmRl
MmIyOThlMDA2YjM0ZTQyNzViMmViZWE0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0Zp
bGVFbnRyeVN5bmMuaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5oCkBAIC00
MCw2ICs0MCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRmlsZTsKKwogY2xh
c3MgRmlsZUVudHJ5U3luYyA6IHB1YmxpYyBFbnRyeVN5bmMgewogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEZpbGVFbnRyeVN5bmM+IGNyZWF0ZShET01GaWxlU3lzdGVtQmFzZSogZmls
ZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKQEAgLTQ5LDYgKzUxLDggQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCBib29sIGlzRmlsZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAor
ICAgIFBhc3NSZWZQdHI8RmlsZT4gZmlsZShFeGNlcHRpb25Db2RlJik7CisKIHByaXZhdGU6CiAg
ICAgZnJpZW5kIGNsYXNzIEVudHJ5U3luYzsKICAgICBGaWxlRW50cnlTeW5jKERPTUZpbGVTeXN0
ZW1CYXNlKiwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvRmlsZUVudHJ5U3luYy5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5p
ZGwKaW5kZXggZDg4Yzg5NzFjYmUxNWU0MWYzOWE4NTE1OGNiNjk3NjFjNTAyN2ViZS4uZTJkMjg3
MWFkNjA4MDU3ZWY2YzUwOTQ3YTdlZjVmZjBkNDEwOWI2MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9m
aWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlT
eW5jLmlkbApAQCAtMzUsNSArMzUsNiBAQCBtb2R1bGUgc3RvcmFnZSB7CiAgICAgICAgIEdlbmVy
YXRlVG9KUywKICAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAgICBdIEZpbGVFbnRyeVN5bmMgOiBF
bnRyeVN5bmMgeworICAgICAgICBGaWxlIGZpbGUoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOwog
ICAgIH07CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70578</attachid>
            <date>2010-10-12 18:02:19 -0700</date>
            <delta_ts>2010-10-14 15:27:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47310-20101012180218.patch</filename>
            <type>text/plain</type>
            <size>9747</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlOTgwYTIyNjM0MWNhMTdmNzI5NGNjYjA1NzQ2YjFkNDdiZmNjMjBhLi5hYTg2YWZl
ZjJiZDM3ZDQ2YTFiNTcxYjBiZjg1ZTMwZjk2YzI1NGFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC00MTEzLDYgKzQxMTMs
MjAgQEAKIAogMjAxMC0xMC0wOCAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+
CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVt
ZW50IEZpbGVFbnRyeVN5bmMuZmlsZSgpIGluIEZpbGVTeXN0ZW0gQVBJCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzMxMAorCisgICAgICAgICogZmFz
dC9maWxlc3lzdGVtL2ZpbGUtZnJvbS1maWxlLWVudHJ5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2ZpbGVzeXN0ZW0vZmlsZS1mcm9tLWZpbGUtZW50cnkuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LXN5bmMuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS1mcm9tLWZpbGUt
ZW50cnkuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9zY3JpcHQtdGVzdHMv
ZmlsZS1mcm9tLWZpbGUtZW50cnkuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9maWxlc3lz
dGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnktc3luYy5odG1sOiBBZGRlZC4KKworMjAx
MC0xMC0wOCAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAg
VW5yZXZpZXdlZCwgdXBkYXRpbmcgdGVzdCBleHBlY3RhdGlvbnMuCiAKICAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmlsZS1mcm9tLWZpbGUtZW50cnktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2ZpbGUtZnJvbS1maWxlLWVudHJ5LWV4cGVjdGVk
LnR4dAppbmRleCA5ZGZhZjk2ZGM1MzIyNmU2MGM5N2NiYjM2Mjg2ZGJlMDU2NTFmN2YxLi5kMmM2
NGNmNWFiNzFlNDg4ZmIyMTQ5NmU0M2JlZDNmMzQyNjA0NzE2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmlsZS1mcm9tLWZpbGUtZW50cnktZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1PYnRhaW5pbmcgRmlsZSBmcm9tIEZpbGVFbnRyeQor
T2J0YWluaW5nIEZpbGUgZnJvbSBGaWxlRW50cnkuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2ZpbGUtZnJvbS1m
aWxlLWVudHJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmlsZS1mcm9tLWZp
bGUtZW50cnkuaHRtbAppbmRleCBkYWU3MDhjMzFjMTFmZjI0ZWQ0YzIyOGUxOTMxOTAwMGQ3YzY0
NzhkLi5iYTQ2MmQwMTI0MjI3N2Q3NjFmNjI3MTRkN2FhNzE4YmU2OWZiMzdiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmlsZS1mcm9tLWZpbGUtZW50cnkuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmlsZS1mcm9tLWZpbGUtZW50cnkuaHRt
bApAQCAtNyw3ICs3LDcgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZmlsZS1mcm9t
LWZpbGUtZW50cnkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9maWxlLWZy
b20tZmlsZS1lbnRyeS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtZnJvbS1maWxlLWVu
dHJ5LXN5bmMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUt
ZnJvbS1maWxlLWVudHJ5LXN5bmMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc4NjczNzc4NzMyMGY5MmNlNzE2
MmNkOTcyZGY5ZGI2ZTc4MGExNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS1mcm9tLWZpbGUtZW50cnktc3luYy5qcwpAQCAtMCww
ICsxLDIxIEBACitpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CisgICAgaW1wb3J0U2NyaXB0cygn
Li4vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMnKTsKKyAgICBpbXBvcnRTY3JpcHRzKCcu
Li9yZXNvdXJjZXMvZnMtdGVzdC11dGlsLmpzJyk7Cit9CisKK2Rlc2NyaXB0aW9uKCJPYnRhaW5p
bmcgRmlsZSBmcm9tIEZpbGVFbnRyeVN5bmMuIik7CisKK3ZhciBmaWxlU3lzdGVtID0gcmVxdWVz
dEZpbGVTeXN0ZW1TeW5jKHRoaXMuVEVNUE9SQVJZLCAxMDApOworcmVtb3ZlUmVjdXJzaXZlbHlT
eW5jKGZpbGVTeXN0ZW0ucm9vdCk7CisKK3ZhciB0ZXN0RmlsZU5hbWUgPSAnL3Rlc3RGaWxlRW50
cnkudHh0JzsKKwordmFyIHRlc3RGaWxlRW50cnkgPSBmaWxlU3lzdGVtLnJvb3QuZ2V0RmlsZSh0
ZXN0RmlsZU5hbWUsIHtjcmVhdGU6dHJ1ZX0pOwordmFyIHRlc3RGaWxlID0gdGVzdEZpbGVFbnRy
eS5maWxlKCk7CisKK3Nob3VsZEJlKCJ0ZXN0RmlsZS5uYW1lIiwgInRlc3RGaWxlRW50cnkubmFt
ZSIpOworc2hvdWxkQmUoInRlc3RGaWxlLnR5cGUiLCAiJ3RleHQvcGxhaW4nIik7CisKK3JlbW92
ZVJlY3Vyc2l2ZWx5U3luYyhmaWxlU3lzdGVtLnJvb3QpOworZmluaXNoSlNUZXN0KCk7Cit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS9zY3JpcHQtdGVzdHMvZmlsZS1mcm9tLWZpbGUtZW50cnkuanMgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LmpzCnNp
bWlsYXJpdHkgaW5kZXggNzElCnJlbmFtZSBmcm9tIExheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS9zY3JpcHQtdGVzdHMvZmlsZS1mcm9tLWZpbGUtZW50cnkuanMKcmVuYW1lIHRvIExheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS1mcm9tLWZpbGUtZW50cnkuanMKaW5k
ZXggZDdmODZlNjdiMDYyMDA4Y2YzY2MzMDBhMTYxZTdmZDdkOWVhMDk3Ny4uODMyMzIxOWI1ZWUz
ZmRmMGFmMDc0YTZmZWRlMTZiZGViOGVjNjdkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9maWxlc3lzdGVtL3NjcmlwdC10ZXN0cy9maWxlLWZyb20tZmlsZS1lbnRyeS5qcworKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtZnJvbS1maWxlLWVudHJ5
LmpzCkBAIC0xLDQgKzEsOSBAQAotZGVzY3JpcHRpb24oIk9idGFpbmluZyBGaWxlIGZyb20gRmls
ZUVudHJ5Iik7CitpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CisgICAgaW1wb3J0U2NyaXB0cygn
Li4vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMnKTsKKyAgICBpbXBvcnRTY3JpcHRzKCcu
Li9yZXNvdXJjZXMvZnMtdGVzdC11dGlsLmpzJyk7Cit9CisKK2Rlc2NyaXB0aW9uKCJPYnRhaW5p
bmcgRmlsZSBmcm9tIEZpbGVFbnRyeS4iKTsKIAogdmFyIGZpbGVTeXN0ZW0gPSBudWxsOwogdmFy
IHRlc3RGaWxlTmFtZSA9ICcvdGVzdEZpbGVFbnRyeS50eHQnOwpAQCAtMzIsMTAgKzM3LDYgQEAg
ZnVuY3Rpb24gZmlsZVN5c3RlbUNhbGxiYWNrKGZzKSB7CiAgICAgcmVtb3ZlQWxsSW5EaXJlY3Rv
cnkoZmlsZVN5c3RlbS5yb290LCBjcmVhdGVUZXN0RmlsZSwgZXJyb3JDYWxsYmFjayk7CiB9CiAK
LWlmICh3aW5kb3cucmVxdWVzdEZpbGVTeXN0ZW0pIHsKLSAgICB3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7Ci0gICAgcmVxdWVzdEZpbGVTeXN0ZW0od2luZG93LlRFTVBPUkFSWSwgMTAwLCBm
aWxlU3lzdGVtQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwotfSBlbHNlCi0gICAgZGVidWcoIlRo
aXMgdGVzdCByZXF1aXJlcyBGaWxlU3lzdGVtIEFQSSBzdXBwb3J0LiIpOwotCi13aW5kb3cuc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3ZhciBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3JlcXVl
c3RGaWxlU3lzdGVtKFRFTVBPUkFSWSwgMTAwLCBmaWxlU3lzdGVtQ2FsbGJhY2ssIGVycm9yQ2Fs
bGJhY2spOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9maWxlLWZyb20tZmlsZS1lbnRyeS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9maWxlLWZyb20t
ZmlsZS1lbnRyeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGM4NGJlZDc5NWQ2N2ZmMDRiNDlh
ZDUyM2RjNjYwZDYwZDc3MDM5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDExIEBACitUaGlzIHRlc3RzIHJldHVybmluZyBGaWxlIGZyb20gRmlsZUVudHJ5U3lu
YyBpbiB3b3JrZXJzLgorCitTdGFydGluZyB3b3JrZXI6IC4uL3Jlc291cmNlcy9maWxlLWZyb20t
ZmlsZS1lbnRyeS5qcworRGVzY3JpcHRpb246IE9idGFpbmluZyBGaWxlIGZyb20gRmlsZUVudHJ5
LgorUEFTUzogdGVzdEZpbGUubmFtZSBpcyB0ZXN0RmlsZUVudHJ5Lm5hbWUKK1BBU1M6IHRlc3RG
aWxlLnR5cGUgaXMgJ3RleHQvcGxhaW4nCitQQVNTOiB0ZXN0RmlsZS5zaXplIGlzIDAKK0RPTkUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vd29ya2Vycy9maWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LXN5bmMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdi
ZGVkMDhiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0v
d29ya2Vycy9maWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
IEBACisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2Zp
bGUtZnJvbS1maWxlLWVudHJ5LXN5bmMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LXN5bmMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NzUx
ZmRmODk4MjdjMDhmNzEwMTM1YTFkYmEzZWJhMTU4OTlkYTE2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnkt
c3luYy5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdHMgcmV0dXJuaW5nIEZpbGUgZnJv
bSBGaWxlRW50cnlTeW5jIGluIHdvcmtlcnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0Pgorc3RhcnRXb3JrZXIoJy4uL3Jlc291cmNlcy9maWxlLWZyb20tZmlsZS1lbnRy
eS1zeW5jLmpzJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29y
a2VyLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9maWxlLWZyb20tZmlsZS1lbnRy
eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZp
bGUtZW50cnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmI4NmRiM2UyMzBlYWJlY2MwNmI4NjYwMjczZmUz
ZDA5ZGRkNTA1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVt
L3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnkuaHRtbApAQCAtMCwwICsxLDE0IEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItY29tbW9uLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3RzIHJldHVybmluZyBGaWxlIGZyb20gRmlsZUVudHJ5U3luYyBpbiB3b3JrZXJzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3N0YXJ0V29ya2VyKCcuLi9yZXNv
dXJjZXMvZmlsZS1mcm9tLWZpbGUtZW50cnkuanMnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggYWQwNWJlMmVmNjJkZTMxNWZjNWE1YTBlNDU2M2Q2MGMzNzg3YTgxMi4uNTA4Zjcw
YTM1OTc0MTdjYjAxOTFmMTczMDhiMjlmMjgzMzk0ZGE3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0x
MC0wNyAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IEZpbGVFbnRyeVN5
bmMuZmlsZSgpIGluIEZpbGVTeXN0ZW0gQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NzMxMAorCisgICAgICAgIFRlc3Q6IGZhc3QvZmlsZXN5c3Rl
bS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LXN5bmMuaHRtbAorCisgICAgICAgICogZmls
ZWFwaS9GaWxlRW50cnlTeW5jLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVFbnRyeVN5bmM6
OmZpbGUpOiBJbXBsZW1lbnRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuaDoK
KyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsOgorCiAyMDEwLTEwLTEyICBDaHJp
cyBNYXJyaW4gIDxjbWFycmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCBi
L1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcAppbmRleCAxZDE3NjBkN2ExMmYyZGEz
MzZlZTRmMTkxYTVmZDRjNzNjMDliN2IzLi42NjE2NjhjMWI5MjM3NjU5NDc4Yjc0MGYwNWQwNGFm
MzliOTUzYTM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAK
KysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwCkBAIC0zMyw2ICszMyw4IEBA
CiAKICNpZiBFTkFCTEUoRklMRV9TWVNURU0pCiAKKyNpbmNsdWRlICJGaWxlLmgiCisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogRmlsZUVudHJ5U3luYzo6RmlsZUVudHJ5U3luYyhET01GaWxlU3lz
dGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKQEAgLTQwLDYgKzQy
LDEyIEBAIEZpbGVFbnRyeVN5bmM6OkZpbGVFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZp
bGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhCiB7CiB9CiAKK1Bhc3NSZWZQdHI8RmlsZT4g
RmlsZUVudHJ5U3luYzo6ZmlsZShFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBlYyA9IDA7Cisg
ICAgcmV0dXJuIEZpbGU6OmNyZWF0ZShmaWxlc3lzdGVtKCktPmFzeW5jRmlsZVN5c3RlbSgpLT52
aXJ0dWFsVG9QbGF0Zm9ybVBhdGgobV9mdWxsUGF0aCkpOworfQorCiB9CiAKICNlbmRpZiAvLyBF
TkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5
U3luYy5oIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaAppbmRleCBjMjIyYWZjZWIz
ZThiYTdjZjI1N2IxMWI4ZWQzMTJiYzY5MTNlNjVlLi5kMDI3ZjYzM2ZlYzc2ZGUyYjI5OGUwMDZi
MzRlNDI3NWIyZWJlYTRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3lu
Yy5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmgKQEAgLTQwLDYgKzQwLDgg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBGaWxlOworCiBjbGFzcyBGaWxlRW50
cnlTeW5jIDogcHVibGljIEVudHJ5U3luYyB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8RmlsZUVudHJ5U3luYz4gY3JlYXRlKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBj
b25zdCBTdHJpbmcmIGZ1bGxQYXRoKQpAQCAtNDksNiArNTEsOCBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIGJvb2wgaXNGaWxlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCisgICAgUGFzc1Jl
ZlB0cjxGaWxlPiBmaWxlKEV4Y2VwdGlvbkNvZGUmKTsKKwogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgRW50cnlTeW5jOwogICAgIEZpbGVFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqLCBj
b25zdCBTdHJpbmcmIGZ1bGxQYXRoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxl
RW50cnlTeW5jLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlkbAppbmRleCBk
ODhjODk3MWNiZTE1ZTQxZjM5YTg1MTU4Y2I2OTc2MWM1MDI3ZWJlLi5lMmQyODcxYWQ2MDgwNTdl
ZjZjNTA5NDdhN2VmNWZmMGQ0MTA5YjYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZUVudHJ5U3luYy5pZGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsCkBA
IC0zNSw1ICszNSw2IEBAIG1vZHVsZSBzdG9yYWdlIHsKICAgICAgICAgR2VuZXJhdGVUb0pTLAog
ICAgICAgICBOb1N0YXRpY1RhYmxlcwogICAgIF0gRmlsZUVudHJ5U3luYyA6IEVudHJ5U3luYyB7
CisgICAgICAgIEZpbGUgZmlsZSgpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CiAgICAgfTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70787</attachid>
            <date>2010-10-14 15:27:07 -0700</date>
            <delta_ts>2010-10-15 16:16:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47310-20101014152706.patch</filename>
            <type>text/plain</type>
            <size>15535</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1ZjM1NzY0ZWE1YWY5NzE2YWEzMDBkNzE2YWM2NmY2NzJhZDU4NGUxLi43YzkzZDFi
MjdkZmFjN2VhMGZkYzRiZWYzMGQ2ODMzYTU0OWQwM2FkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTAtMTAtMTQgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBGaWxl
RW50cnlTeW5jLmZpbGUoKSBpbiBGaWxlU3lzdGVtIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDczMTAKKworICAgICAgICAqIGZhc3QvZmlsZXN5
c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9m
aWxlc3lzdGVtL2ZpbGUtZnJvbS1maWxlLWVudHJ5Lmh0bWw6CisgICAgICAgICogZmFzdC9maWxl
c3lzdGVtL3Jlc291cmNlcy9maWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtZnJvbS1maWxlLWVudHJ5Lmpz
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vc2NyaXB0LXRlc3RzL2ZpbGUtZnJv
bS1maWxlLWVudHJ5LmpzOiBNb3ZlZCB0bworICAgICAgICByZXNvdXJjZXMgdG8gbWFrZSBpdCBh
dmFpbGFibGUgZm9yIHdvcmtlcnMgdGVzdHMgdG9vLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3Rl
bS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnktc3luYy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2Zp
bGUtZnJvbS1maWxlLWVudHJ5LXN5bmMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxl
c3lzdGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnkuaHRtbDogQWRkZWQuCisKIDIwMTAt
MTAtMTQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2OTc5NS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmlsZS1mcm9tLWZpbGUtZW50cnktZXhwZWN0ZWQu
dHh0CmluZGV4IDlkZmFmOTZkYzUzMjI2ZTYwYzk3Y2JiMzYyODZkYmUwNTY1MWY3ZjEuLmQyYzY0
Y2Y1YWI3MWU0ODhmYjIxNDk2ZTQzYmVkM2YzNDI2MDQ3MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2ZpbGUtZnJvbS1maWxlLWVudHJ5LWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLU9idGFpbmluZyBGaWxlIGZyb20gRmlsZUVudHJ5CitP
YnRhaW5pbmcgRmlsZSBmcm9tIEZpbGVFbnRyeS4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmlsZS1mcm9tLWZp
bGUtZW50cnkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmls
ZS1lbnRyeS5odG1sCmluZGV4IGRhZTcwOGMzMWMxMWZmMjRlZDRjMjI4ZTE5MzE5MDAwZDdjNjQ3
OGQuLmJhNDYyZDAxMjQyMjc3ZDc2MWY2MjcxNGQ3YWE3MThiZTY5ZmIzN2IgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS5odG1s
CkBAIC03LDcgKzcsNyBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9maWxlLWZyb20t
ZmlsZS1lbnRyeS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ZpbGUtZnJv
bS1maWxlLWVudHJ5LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS1mcm9tLWZpbGUtZW50
cnktc3luYy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS1m
cm9tLWZpbGUtZW50cnktc3luYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNzNlMTY4NmRhYjZjMGRiNTlhYTFk
MGY2MTE5M2NmMTAyMDY1MmMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlc3lzdGVtL3Jlc291cmNlcy9maWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLmpzCkBAIC0wLDAg
KzEsMjEgQEAKK2lmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKKyAgICBpbXBvcnRTY3JpcHRzKCcu
Li9yZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcycpOworICAgIGltcG9ydFNjcmlwdHMoJy4u
L3Jlc291cmNlcy9mcy10ZXN0LXV0aWwuanMnKTsKK30KKworZGVzY3JpcHRpb24oIk9idGFpbmlu
ZyBGaWxlIGZyb20gRmlsZUVudHJ5U3luYy4iKTsKKwordmFyIGZpbGVTeXN0ZW0gPSByZXF1ZXN0
RmlsZVN5c3RlbVN5bmModGhpcy5URU1QT1JBUlksIDEwMCk7CityZW1vdmVBbGxJbkRpcmVjdG9y
eVN5bmMoZmlsZVN5c3RlbS5yb290KTsKKwordmFyIHRlc3RGaWxlTmFtZSA9ICcvdGVzdEZpbGVF
bnRyeS50eHQnOworCit2YXIgdGVzdEZpbGVFbnRyeSA9IGZpbGVTeXN0ZW0ucm9vdC5nZXRGaWxl
KHRlc3RGaWxlTmFtZSwge2NyZWF0ZTp0cnVlfSk7Cit2YXIgdGVzdEZpbGUgPSB0ZXN0RmlsZUVu
dHJ5LmZpbGUoKTsKKworc2hvdWxkQmUoInRlc3RGaWxlLm5hbWUiLCAidGVzdEZpbGVFbnRyeS5u
YW1lIik7CitzaG91bGRCZSgidGVzdEZpbGUudHlwZSIsICIndGV4dC9wbGFpbiciKTsKKworcmVt
b3ZlQWxsSW5EaXJlY3RvcnlTeW5jKGZpbGVTeXN0ZW0ucm9vdCk7CitmaW5pc2hKU1Rlc3QoKTsK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL3NjcmlwdC10ZXN0cy9maWxlLWZyb20tZmlsZS1lbnRyeS5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS1mcm9tLWZpbGUtZW50cnku
anMKc2ltaWxhcml0eSBpbmRleCA3MSUKcmVuYW1lIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9maWxl
c3lzdGVtL3NjcmlwdC10ZXN0cy9maWxlLWZyb20tZmlsZS1lbnRyeS5qcwpyZW5hbWUgdG8gTGF5
b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9maWxlLWZyb20tZmlsZS1lbnRyeS5q
cwppbmRleCBkN2Y4NmU2N2IwNjIwMDhjZjNjYzMwMGExNjFlN2ZkN2Q5ZWEwOTc3Li44MzIzMjE5
YjVlZTNmZGYwYWYwNzRhNmZlZGUxNmJkZWI4ZWM2N2RmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzeXN0ZW0vc2NyaXB0LXRlc3RzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LmpzCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS1mcm9tLWZpbGUt
ZW50cnkuanMKQEAgLTEsNCArMSw5IEBACi1kZXNjcmlwdGlvbigiT2J0YWluaW5nIEZpbGUgZnJv
bSBGaWxlRW50cnkiKTsKK2lmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKKyAgICBpbXBvcnRTY3Jp
cHRzKCcuLi9yZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcycpOworICAgIGltcG9ydFNjcmlw
dHMoJy4uL3Jlc291cmNlcy9mcy10ZXN0LXV0aWwuanMnKTsKK30KKworZGVzY3JpcHRpb24oIk9i
dGFpbmluZyBGaWxlIGZyb20gRmlsZUVudHJ5LiIpOwogCiB2YXIgZmlsZVN5c3RlbSA9IG51bGw7
CiB2YXIgdGVzdEZpbGVOYW1lID0gJy90ZXN0RmlsZUVudHJ5LnR4dCc7CkBAIC0zMiwxMCArMzcs
NiBAQCBmdW5jdGlvbiBmaWxlU3lzdGVtQ2FsbGJhY2soZnMpIHsKICAgICByZW1vdmVBbGxJbkRp
cmVjdG9yeShmaWxlU3lzdGVtLnJvb3QsIGNyZWF0ZVRlc3RGaWxlLCBlcnJvckNhbGxiYWNrKTsK
IH0KIAotaWYgKHdpbmRvdy5yZXF1ZXN0RmlsZVN5c3RlbSkgewotICAgIHdpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKLSAgICByZXF1ZXN0RmlsZVN5c3RlbSh3aW5kb3cuVEVNUE9SQVJZLCAx
MDAsIGZpbGVTeXN0ZW1DYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Ci19IGVsc2UKLSAgICBkZWJ1
ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIEZpbGVTeXN0ZW0gQVBJIHN1cHBvcnQuIik7Ci0KLXdpbmRv
dy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwordmFyIGpzVGVzdElzQXN5bmMgPSB0cnVlOwor
cmVxdWVzdEZpbGVTeXN0ZW0oVEVNUE9SQVJZLCAxMDAsIGZpbGVTeXN0ZW1DYWxsYmFjaywgZXJy
b3JDYWxsYmFjayk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2ZpbGUt
ZnJvbS1maWxlLWVudHJ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Yzg0YmVkNzk1ZDY3ZmYw
NGI0OWFkNTIzZGM2NjBkNjBkNzcwMzk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdHMgcmV0dXJuaW5nIEZpbGUgZnJvbSBGaWxlRW50
cnlTeW5jIGluIHdvcmtlcnMuCisKK1N0YXJ0aW5nIHdvcmtlcjogLi4vcmVzb3VyY2VzL2ZpbGUt
ZnJvbS1maWxlLWVudHJ5LmpzCitEZXNjcmlwdGlvbjogT2J0YWluaW5nIEZpbGUgZnJvbSBGaWxl
RW50cnkuCitQQVNTOiB0ZXN0RmlsZS5uYW1lIGlzIHRlc3RGaWxlRW50cnkubmFtZQorUEFTUzog
dGVzdEZpbGUudHlwZSBpcyAndGV4dC9wbGFpbicKK1BBU1M6IHRlc3RGaWxlLnNpemUgaXMgMAor
RE9ORQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LXN5bmMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnkt
c3luYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIw
YWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5
c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEgQEAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3dvcmtl
cnMvZmlsZS1mcm9tLWZpbGUtZW50cnktc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxl
c3lzdGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnktc3luYy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ3NTFmZGY4OTgyN2MwOGY3MTAxMzVhMWRiYTNlYmExNTg5OWRhMTYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9maWxlLWZyb20tZmlsZS1l
bnRyeS1zeW5jLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0cyByZXR1cm5pbmcgRmls
ZSBmcm9tIEZpbGVFbnRyeVN5bmMgaW4gd29ya2Vycy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CitzdGFydFdvcmtlcignLi4vcmVzb3VyY2VzL2ZpbGUtZnJvbS1maWxl
LWVudHJ5LXN5bmMuanMnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9m
cy13b3JrZXItdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1maWxl
LWVudHJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9maWxlLWZy
b20tZmlsZS1lbnRyeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2Yjg2ZGIzZTIzMGVhYmVjYzA2Yjg2NjAy
NzNmZTNkMDlkZGQ1MDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vd29ya2Vycy9maWxlLWZyb20tZmlsZS1lbnRyeS5odG1sCkBAIC0wLDAgKzEsMTQgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci1jb21t
b24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdHMgcmV0dXJuaW5nIEZpbGUgZnJvbSBGaWxlRW50cnlTeW5jIGluIHdvcmtlcnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgorc3RhcnRXb3JrZXIoJy4u
L3Jlc291cmNlcy9maWxlLWZyb20tZmlsZS1lbnRyeS5qcycpOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3MDFiZDk2N2EwNWZkODYwYjEwMzMwMjJhYTBhZTBiMGZiOWUyMTRlLi4z
NTg0N2UyMmEzZDY0MmZmNzg4OGFmYjRjYWJiZmVkYjI0OTUwYzVmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisy
MDEwLTEwLTE0ICBLaW51a28gWWFzdWRhICA8a2ludWtvQGdvb2dsZS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IEZpbGVFbnRy
eVN5bmMuZmlsZSgpIGluIEZpbGVTeXN0ZW0gQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzMxMAorCisgICAgICAgIFRlc3RzOiBmYXN0L2ZpbGVz
eXN0ZW0vd29ya2Vycy9maWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5Lmh0bWwKKwor
ICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
T01GaWxlU3lzdGVtOjpjcmVhdGVGaWxlKTogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9ET01G
aWxlU3lzdGVtLmg6CisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01GaWxlU3lzdGVtU3luYzo6Y3JlYXRlRmlsZSk6IEFkZGVkLgor
ICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaDoKKyAgICAgICAgKiBmaWxlYXBp
L0RpcmVjdG9yeVJlYWRlckJhc2UuaDogQWRkZWQgJ3ZpcnR1YWwgcGF0aCcgY29tbWVudC4KKyAg
ICAgICAgKiBmaWxlYXBpL0VudHJ5QmFzZS5oOiBBZGRlZCAndmlydHVhbCBwYXRoJyBjb21tZW50
LgorICAgICAgICAqIGZpbGVhcGkvRmlsZUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZp
bGVFbnRyeTo6ZmlsZSk6IENoYW5nZWQgdG8gdXNlIERPTUZpbGVTeXN0ZW06OmNyZWF0ZUZpbGUu
CisgICAgICAgICogZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZpbGVFbnRyeVN5bmM6OmZpbGUpOiBJbXBsZW1lbnRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0Zp
bGVFbnRyeVN5bmMuaDoKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsOiBBZGRl
ZCBmaWxlKCkuCisKIDIwMTAtMTAtMTQgIERhd2l0IEFsZW1heWVodSAgPGFkYXdpdEBrZGUub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lz
dGVtLmNwcAppbmRleCBiMmRmMTNiNmJiNzZlY2E2NmI5Njc3MWM0ZDJiYjUxYjYyMzA1YTFjLi5j
MmVkYjI2ZDM3MmMwMmIxNTYwNWMyMzM3NjE4YjUxNmFmOWE1YmFkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RPTUZp
bGVTeXN0ZW0uY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRE9NRmlsZVBhdGguaCIK
ICNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeS5oIgogI2luY2x1ZGUgIkVycm9yQ2FsbGJhY2suaCIK
KyNpbmNsdWRlICJGaWxlLmgiCiAjaW5jbHVkZSAiRmlsZUVudHJ5LmgiCiAjaW5jbHVkZSAiRmls
ZVN5c3RlbUNhbGxiYWNrcy5oIgogI2luY2x1ZGUgIkZpbGVXcml0ZXIuaCIKQEAgLTg1LDYgKzg2
LDEyIEBAIHZvaWQgRE9NRmlsZVN5c3RlbTo6Y3JlYXRlV3JpdGVyKGNvbnN0IEZpbGVFbnRyeSog
ZmlsZSwgUGFzc1JlZlB0cjxGaWxlV3JpdGVyQ2FsCiAgICAgbV9hc3luY0ZpbGVTeXN0ZW0tPmNy
ZWF0ZVdyaXRlcihmaWxlV3JpdGVyLmdldCgpLCBwbGF0Zm9ybVBhdGgsIGNhbGxiYWNrcy5yZWxl
YXNlKCkpOwogfQogCit2b2lkIERPTUZpbGVTeXN0ZW06OmNyZWF0ZUZpbGUoY29uc3QgRmlsZUVu
dHJ5KiBmaWxlLCBQYXNzUmVmUHRyPEZpbGVDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNz
UmVmUHRyPEVycm9yQ2FsbGJhY2s+KQoreworICAgIFN0cmluZyBwbGF0Zm9ybVBhdGggPSBtX2Fz
eW5jRmlsZVN5c3RlbS0+dmlydHVhbFRvUGxhdGZvcm1QYXRoKGZpbGUtPmZ1bGxQYXRoKCkpOwor
ICAgIHNjaGVkdWxlQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNrLCBGaWxlOjpjcmVhdGUocGxhdGZv
cm1QYXRoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlCiAKICNlbmRpZiAvLyBFTkFCTEUoRklMRV9T
WVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oIGIvV2Vi
Q29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaAppbmRleCA1ZjQ0YWZhYzFmMzY5Mjg4YmJmYjRk
MDQ4Mzc0ZDNjZTZkZmUzNDhkLi5jOGM1YTZkZjQ5Y2Q3NjM4YWVmYmU3YTRjNDQxYTNlMjU4NTk5
ZTZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCisrKyBiL1dl
YkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgKQEAgLTQwLDYgKzQwLDggQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRGlyZWN0b3J5RW50cnk7CitjbGFzcyBGaWxlOworY2xhc3Mg
RmlsZUNhbGxiYWNrOwogY2xhc3MgRmlsZUVudHJ5OwogY2xhc3MgRmlsZVdyaXRlckNhbGxiYWNr
OwogCkBAIC01OCw2ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY29udGV4dERl
c3Ryb3llZCgpOwogCiAgICAgdm9pZCBjcmVhdGVXcml0ZXIoY29uc3QgRmlsZUVudHJ5KiBmaWxl
LCBQYXNzUmVmUHRyPEZpbGVXcml0ZXJDYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFj
az4pOworICAgIHZvaWQgY3JlYXRlRmlsZShjb25zdCBGaWxlRW50cnkqIGZpbGUsIFBhc3NSZWZQ
dHI8RmlsZUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPik7CiAKICAgICAvLyBT
Y2hlZHVsZSBhIGNhbGxiYWNrLiBUaGlzIHNob3VsZCBub3QgY3Jvc3MgdGhyZWFkcyAoc2hvdWxk
IGJlIGNhbGxlZCBvbiB0aGUgc2FtZSBjb250ZXh0IHRocmVhZCkuCiAgICAgLy8gRklYTUU6IG1v
dmUgdGhpcyB0byBhIG1vcmUgZ2VuZXJpYyBwbGFjZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmls
ZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3Rl
bVN5bmMuY3BwCmluZGV4IDk2Yzc2ZmVmNWJhZTc2ZWFmOTRiZjE0MTYzODRkMTM2ZjE5OTY2MDEu
LjJhZTQwODZmZjZmNGM2ZTgxYWJkNjlhN2M1ZTZkMjZiMzQxOTRhMGEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5jcHAKKysrIGIvV2ViQ29yZS9maWxlYXBp
L0RPTUZpbGVTeXN0ZW1TeW5jLmNwcApAQCAtMzUsNiArMzUsOCBAQAogCiAjaW5jbHVkZSAiRE9N
RmlsZVBhdGguaCIKICNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJG
aWxlLmgiCisjaW5jbHVkZSAiRmlsZUVudHJ5U3luYy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTU3LDYgKzU5LDEzIEBAIFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiBET01G
aWxlU3lzdGVtU3luYzo6cm9vdCgpCiAgICAgcmV0dXJuIERpcmVjdG9yeUVudHJ5U3luYzo6Y3Jl
YXRlKHRoaXMsIERPTUZpbGVQYXRoOjpyb290KTsKIH0KIAorUGFzc1JlZlB0cjxGaWxlPiBET01G
aWxlU3lzdGVtU3luYzo6Y3JlYXRlRmlsZShjb25zdCBGaWxlRW50cnlTeW5jKiBmaWxlLCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBlYyA9IDA7CisgICAgU3RyaW5nIHBsYXRmb3JtUGF0aCA9
IG1fYXN5bmNGaWxlU3lzdGVtLT52aXJ0dWFsVG9QbGF0Zm9ybVBhdGgoZmlsZS0+ZnVsbFBhdGgo
KSk7CisgICAgcmV0dXJuIEZpbGU6OmNyZWF0ZShwbGF0Zm9ybVBhdGgpOworfQorCiB9CiAKICNl
bmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkv
RE9NRmlsZVN5c3RlbVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5o
CmluZGV4IDlhZWFmYzhhNjBmM2VhZjhmYmQ3MGJjM2NjZjliOGMxYWI2YmI5N2QuLmUwNzI3M2Qx
NWMzODE3ODczZmU1NGJkNGZhN2FjYmM3NzBhYTAwNjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmls
ZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lz
dGVtU3luYy5oCkBAIC0zOCw2ICszOCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IERpcmVjdG9yeUVudHJ5U3luYzsKK2NsYXNzIEZpbGU7CitjbGFzcyBGaWxlRW50cnlTeW5jOwog
CiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCkBAIC01NCw2ICs1Niw4IEBAIHB1YmxpYzoK
IAogICAgIFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiByb290KCk7CiAKKyAgICBQYXNz
UmVmUHRyPEZpbGU+IGNyZWF0ZUZpbGUoY29uc3QgRmlsZUVudHJ5U3luYyogZmlsZSwgRXhjZXB0
aW9uQ29kZSYpOworCiBwcml2YXRlOgogICAgIERPTUZpbGVTeXN0ZW1TeW5jKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+KTsKIH07CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyQmFzZS5oIGIvV2ViQ29yZS9maWxlYXBpL0Rp
cmVjdG9yeVJlYWRlckJhc2UuaAppbmRleCA3ZjczYzZiMjgwNjRkOTRhZTNmN2RkMWY0NGNmNTQw
OTQwNmFiNzk5Li41YTJjMDQ4MjRjZDQ3NzVmMjQzYmUwMDkyNmZhZDQyYzUzY2MxZDdkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyQmFzZS5oCisrKyBiL1dlYkNv
cmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJCYXNlLmgKQEAgLTU0LDcgKzU0LDEwIEBAIHByb3Rl
Y3RlZDoKICAgICB9CiAKICAgICBET01GaWxlU3lzdGVtQmFzZSogbV9maWxlU3lzdGVtOworCisg
ICAgLy8gVGhpcyBpcyBhIHZpcnR1YWwgcGF0aC4KICAgICBTdHJpbmcgbV9mdWxsUGF0aDsKKwog
ICAgIGJvb2wgbV9oYXNNb3JlRW50cmllczsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmls
ZWFwaS9FbnRyeUJhc2UuaCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuaAppbmRleCA2YWJm
NzRmMTU2MWRjOGFhYjI5ODkwYzU2YThmNmIxNGJkMDg1MzlmLi4yYWFlYmE4ZWI3NmZkMGM0YTBi
YzkxNmU1NWVkZjY2MTcwNDBlYzVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlC
YXNlLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5oCkBAIC02Nyw3ICs2NywxMCBA
QCBwcm90ZWN0ZWQ6CiAgICAgZnJpZW5kIGNsYXNzIEVudHJ5U3luYzsKIAogICAgIERPTUZpbGVT
eXN0ZW1CYXNlKiBtX2ZpbGVTeXN0ZW07CisKKyAgICAvLyBUaGlzIGlzIGEgdmlydHVhbCBwYXRo
LgogICAgIFN0cmluZyBtX2Z1bGxQYXRoOworCiAgICAgU3RyaW5nIG1fbmFtZTsKIH07CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnkuY3BwIGIvV2ViQ29yZS9maWxlYXBp
L0ZpbGVFbnRyeS5jcHAKaW5kZXggODBhZTBkMGExZmIzZGM5YTViN2FmNzVkOTU5YTc1MTUzN2Uy
NTIyNC4uMjljYmQzMzBkYWU3Y2VkNDY4MjFlZWNhNzJiYTZhYjM2YjEyZjYxNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeS5jcHAKKysrIGIvV2ViQ29yZS9maWxlYXBpL0Zp
bGVFbnRyeS5jcHAKQEAgLTUxLDkgKzUxLDkgQEAgdm9pZCBGaWxlRW50cnk6OmNyZWF0ZVdyaXRl
cihQYXNzUmVmUHRyPEZpbGVXcml0ZXJDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXMKICAg
ICBmaWxlc3lzdGVtKCktPmNyZWF0ZVdyaXRlcih0aGlzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9y
Q2FsbGJhY2spOwogfQogCi12b2lkIEZpbGVFbnRyeTo6ZmlsZShQYXNzUmVmUHRyPEZpbGVDYWxs
YmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+KQordm9pZCBG
aWxlRW50cnk6OmZpbGUoUGFzc1JlZlB0cjxGaWxlQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywg
UGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQogewotICAgIGZpbGVzeXN0
ZW0oKS0+c2NoZWR1bGVDYWxsYmFjayhzdWNjZXNzQ2FsbGJhY2ssIEZpbGU6OmNyZWF0ZShmaWxl
c3lzdGVtKCktPmFzeW5jRmlsZVN5c3RlbSgpLT52aXJ0dWFsVG9QbGF0Zm9ybVBhdGgobV9mdWxs
UGF0aCkpKTsKKyAgICBmaWxlc3lzdGVtKCktPmNyZWF0ZUZpbGUodGhpcywgc3VjY2Vzc0NhbGxi
YWNrLCBlcnJvckNhbGxiYWNrKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50
cnlTeW5jLmNwcAppbmRleCAxZDE3NjBkN2ExMmYyZGEzMzZlZTRmMTkxYTVmZDRjNzNjMDliN2Iz
Li44ZmM1YTc3MTBmOGY5OTQ4ZmJhNDdkMDI4MTk4NWQ5MGRjZWE3ZTFjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAKKysrIGIvV2ViQ29yZS9maWxlYXBpL0Zp
bGVFbnRyeVN5bmMuY3BwCkBAIC0zMyw2ICszMyw4IEBACiAKICNpZiBFTkFCTEUoRklMRV9TWVNU
RU0pCiAKKyNpbmNsdWRlICJGaWxlLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRmlsZUVu
dHJ5U3luYzo6RmlsZUVudHJ5U3luYyhET01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29u
c3QgU3RyaW5nJiBmdWxsUGF0aCkKQEAgLTQwLDYgKzQyLDExIEBAIEZpbGVFbnRyeVN5bmM6OkZp
bGVFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYg
ZnVsbFBhCiB7CiB9CiAKK1Bhc3NSZWZQdHI8RmlsZT4gRmlsZUVudHJ5U3luYzo6ZmlsZShFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICByZXR1cm4gZmlsZXN5c3RlbSgpLT5jcmVhdGVGaWxlKHRo
aXMsIGVjKTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9G
aWxlRW50cnlTeW5jLmgKaW5kZXggYzIyMmFmY2ViM2U4YmE3Y2YyNTdiMTFiOGVkMzEyYmM2OTEz
ZTY1ZS4uZDAyN2Y2MzNmZWM3NmRlMmIyOThlMDA2YjM0ZTQyNzViMmViZWE0ZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkv
RmlsZUVudHJ5U3luYy5oCkBAIC00MCw2ICs0MCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorY2xhc3MgRmlsZTsKKwogY2xhc3MgRmlsZUVudHJ5U3luYyA6IHB1YmxpYyBFbnRyeVN5bmMg
ewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZpbGVFbnRyeVN5bmM+IGNyZWF0ZShE
T01GaWxlU3lzdGVtQmFzZSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKQEAg
LTQ5LDYgKzUxLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzRmlsZSgpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KIAorICAgIFBhc3NSZWZQdHI8RmlsZT4gZmlsZShFeGNlcHRpb25D
b2RlJik7CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIEVudHJ5U3luYzsKICAgICBGaWxl
RW50cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5pZGwgYi9XZWJDb3JlL2Zp
bGVhcGkvRmlsZUVudHJ5U3luYy5pZGwKaW5kZXggZDg4Yzg5NzFjYmUxNWU0MWYzOWE4NTE1OGNi
Njk3NjFjNTAyN2ViZS4uZTJkMjg3MWFkNjA4MDU3ZWY2YzUwOTQ3YTdlZjVmZjBkNDEwOWI2MyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsCisrKyBiL1dlYkNv
cmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlkbApAQCAtMzUsNSArMzUsNiBAQCBtb2R1bGUgc3Rv
cmFnZSB7CiAgICAgICAgIEdlbmVyYXRlVG9KUywKICAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAg
ICBdIEZpbGVFbnRyeVN5bmMgOiBFbnRyeVN5bmMgeworICAgICAgICBGaWxlIGZpbGUoKSByYWlz
ZXMgKEZpbGVFeGNlcHRpb24pOwogICAgIH07CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70912</attachid>
            <date>2010-10-15 16:16:42 -0700</date>
            <delta_ts>2010-10-15 17:28:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47310-20101015161641.patch</filename>
            <type>text/plain</type>
            <size>16679</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1ZjM1NzY0ZWE1YWY5NzE2YWEzMDBkNzE2YWM2NmY2NzJhZDU4NGUxLi5mYzRlMWI4
MjYzZGEyMDkxN2M2NGJmN2UwODFhNzQ3NDQzMTUzMzI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTAtMTAtMTUgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBGaWxl
RW50cnlTeW5jLmZpbGUoKSBpbiBGaWxlU3lzdGVtIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDczMTAKKworICAgICAgICAqIGZhc3QvZmlsZXN5
c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9m
aWxlc3lzdGVtL2ZpbGUtZnJvbS1maWxlLWVudHJ5Lmh0bWw6CisgICAgICAgICogZmFzdC9maWxl
c3lzdGVtL3Jlc291cmNlcy9maWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtZnJvbS1maWxlLWVudHJ5Lmpz
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vc2NyaXB0LXRlc3RzL2ZpbGUtZnJv
bS1maWxlLWVudHJ5LmpzOiBNb3ZlZCB0bworICAgICAgICByZXNvdXJjZXMgdG8gbWFrZSBpdCBh
dmFpbGFibGUgZm9yIHdvcmtlcnMgdGVzdHMgdG9vLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3Rl
bS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnktc3luYy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2Zp
bGUtZnJvbS1maWxlLWVudHJ5LXN5bmMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9maWxl
c3lzdGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnkuaHRtbDogQWRkZWQuCisKIDIwMTAt
MTAtMTQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2OTc5NS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmlsZS1mcm9tLWZpbGUtZW50cnktZXhwZWN0ZWQu
dHh0CmluZGV4IDlkZmFmOTZkYzUzMjI2ZTYwYzk3Y2JiMzYyODZkYmUwNTY1MWY3ZjEuLmQyYzY0
Y2Y1YWI3MWU0ODhmYjIxNDk2ZTQzYmVkM2YzNDI2MDQ3MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2ZpbGUtZnJvbS1maWxlLWVudHJ5LWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLU9idGFpbmluZyBGaWxlIGZyb20gRmlsZUVudHJ5CitP
YnRhaW5pbmcgRmlsZSBmcm9tIEZpbGVFbnRyeS4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vZmlsZS1mcm9tLWZp
bGUtZW50cnkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmls
ZS1lbnRyeS5odG1sCmluZGV4IGRhZTcwOGMzMWMxMWZmMjRlZDRjMjI4ZTE5MzE5MDAwZDdjNjQ3
OGQuLmJhNDYyZDAxMjQyMjc3ZDc2MWY2MjcxNGQ3YWE3MThiZTY5ZmIzN2IgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9maWxlLWZyb20tZmlsZS1lbnRyeS5odG1s
CkBAIC03LDcgKzcsNyBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9maWxlLWZyb20t
ZmlsZS1lbnRyeS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ZpbGUtZnJv
bS1maWxlLWVudHJ5LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS1mcm9tLWZpbGUtZW50
cnktc3luYy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS1m
cm9tLWZpbGUtZW50cnktc3luYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZGQ5ZjVmZmU0YjY2MDgxZTMyMmMw
NDQ0YWZmMjQ5ZjVlMjA5ZjU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlc3lzdGVtL3Jlc291cmNlcy9maWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLmpzCkBAIC0wLDAg
KzEsMjAgQEAKKy8vIEZJWE1FOiBtb3ZlIHRoaXMgdW5kZXIgd29ya2Vycy9yZXNvdXJjZXMKK2lt
cG9ydFNjcmlwdHMoJ2ZzLXdvcmtlci1jb21tb24uanMnKTsKKworZGVzY3JpcHRpb24oIk9idGFp
bmluZyBGaWxlIGZyb20gRmlsZUVudHJ5U3luYy4iKTsKKwordmFyIGZpbGVTeXN0ZW0gPSByZXF1
ZXN0RmlsZVN5c3RlbVN5bmModGhpcy5URU1QT1JBUlksIDEwMCk7CityZW1vdmVBbGxJbkRpcmVj
dG9yeVN5bmMoZmlsZVN5c3RlbS5yb290KTsKKwordmFyIHRlc3RGaWxlTmFtZSA9ICcvdGVzdEZp
bGVFbnRyeS50eHQnOworCit2YXIgdGVzdEZpbGVFbnRyeSA9IGZpbGVTeXN0ZW0ucm9vdC5nZXRG
aWxlKHRlc3RGaWxlTmFtZSwge2NyZWF0ZTp0cnVlfSk7Cit2YXIgdGVzdEZpbGUgPSB0ZXN0Rmls
ZUVudHJ5LmZpbGUoKTsKKworc2hvdWxkQmUoInRlc3RGaWxlLm5hbWUiLCAidGVzdEZpbGVFbnRy
eS5uYW1lIik7CitzaG91bGRCZSgidGVzdEZpbGUudHlwZSIsICIndGV4dC9wbGFpbiciKTsKK3No
b3VsZEJlKCJ0ZXN0RmlsZS5zaXplIiwgIjAiKTsKKworcmVtb3ZlQWxsSW5EaXJlY3RvcnlTeW5j
KGZpbGVTeXN0ZW0ucm9vdCk7CitmaW5pc2hKU1Rlc3QoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Njcmlw
dC10ZXN0cy9maWxlLWZyb20tZmlsZS1lbnRyeS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5
c3RlbS9yZXNvdXJjZXMvZmlsZS1mcm9tLWZpbGUtZW50cnkuanMKc2ltaWxhcml0eSBpbmRleCA3
MyUKcmVuYW1lIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3NjcmlwdC10ZXN0cy9m
aWxlLWZyb20tZmlsZS1lbnRyeS5qcwpyZW5hbWUgdG8gTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lz
dGVtL3Jlc291cmNlcy9maWxlLWZyb20tZmlsZS1lbnRyeS5qcwppbmRleCBkN2Y4NmU2N2IwNjIw
MDhjZjNjYzMwMGExNjFlN2ZkN2Q5ZWEwOTc3Li43MmVjODJmODU4MmMxMjljODIyOTk0NmNlZTJk
ZmJlOWJhZDE5NzI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vc2Ny
aXB0LXRlc3RzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS1mcm9tLWZpbGUtZW50cnkuanMKQEAgLTEsNCArMSw5
IEBACi1kZXNjcmlwdGlvbigiT2J0YWluaW5nIEZpbGUgZnJvbSBGaWxlRW50cnkiKTsKK2lmICh0
aGlzLmltcG9ydFNjcmlwdHMpIHsKKyAgICBpbXBvcnRTY3JpcHRzKCdmcy13b3JrZXItY29tbW9u
LmpzJyk7CisgICAgaW1wb3J0U2NyaXB0cygnZnMtdGVzdC11dGlsLmpzJyk7Cit9CisKK2Rlc2Ny
aXB0aW9uKCJPYnRhaW5pbmcgRmlsZSBmcm9tIEZpbGVFbnRyeS4iKTsKIAogdmFyIGZpbGVTeXN0
ZW0gPSBudWxsOwogdmFyIHRlc3RGaWxlTmFtZSA9ICcvdGVzdEZpbGVFbnRyeS50eHQnOwpAQCAt
MzIsMTAgKzM3LDYgQEAgZnVuY3Rpb24gZmlsZVN5c3RlbUNhbGxiYWNrKGZzKSB7CiAgICAgcmVt
b3ZlQWxsSW5EaXJlY3RvcnkoZmlsZVN5c3RlbS5yb290LCBjcmVhdGVUZXN0RmlsZSwgZXJyb3JD
YWxsYmFjayk7CiB9CiAKLWlmICh3aW5kb3cucmVxdWVzdEZpbGVTeXN0ZW0pIHsKLSAgICB3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgcmVxdWVzdEZpbGVTeXN0ZW0od2luZG93LlRF
TVBPUkFSWSwgMTAwLCBmaWxlU3lzdGVtQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwotfSBlbHNl
Ci0gICAgZGVidWcoIlRoaXMgdGVzdCByZXF1aXJlcyBGaWxlU3lzdGVtIEFQSSBzdXBwb3J0LiIp
OwotCi13aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3ZhciBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKK3JlcXVlc3RGaWxlU3lzdGVtKFRFTVBPUkFSWSwgMTAwLCBmaWxlU3lzdGVtQ2Fs
bGJhY2ssIGVycm9yQ2FsbGJhY2spOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9maWxlLWZyb20t
ZmlsZS1lbnRyeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29y
a2Vycy9maWxlLWZyb20tZmlsZS1lbnRyeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGM4NGJl
ZDc5NWQ2N2ZmMDRiNDlhZDUyM2RjNjYwZDYwZDc3MDM5NAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3RzIHJldHVybmluZyBGaWxlIGZy
b20gRmlsZUVudHJ5U3luYyBpbiB3b3JrZXJzLgorCitTdGFydGluZyB3b3JrZXI6IC4uL3Jlc291
cmNlcy9maWxlLWZyb20tZmlsZS1lbnRyeS5qcworRGVzY3JpcHRpb246IE9idGFpbmluZyBGaWxl
IGZyb20gRmlsZUVudHJ5LgorUEFTUzogdGVzdEZpbGUubmFtZSBpcyB0ZXN0RmlsZUVudHJ5Lm5h
bWUKK1BBU1M6IHRlc3RGaWxlLnR5cGUgaXMgJ3RleHQvcGxhaW4nCitQQVNTOiB0ZXN0RmlsZS5z
aXplIGlzIDAKK0RPTkUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9maWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1m
aWxlLWVudHJ5LXN5bmMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNTk4MmYyMzYzYzU5YmM1
NzIyNDg4ZWE5MGNkOTQ4OWE3YjJjNjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9maWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3RzIHJldHVybmluZyBGaWxlIGZyb20gRmls
ZUVudHJ5U3luYyBpbiB3b3JrZXJzLgorCitTdGFydGluZyB3b3JrZXI6IC4uL3Jlc291cmNlcy9m
aWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLmpzCitEZXNjcmlwdGlvbjogT2J0YWluaW5nIEZpbGUg
ZnJvbSBGaWxlRW50cnlTeW5jLgorUEFTUzogdGVzdEZpbGUubmFtZSBpcyB0ZXN0RmlsZUVudHJ5
Lm5hbWUKK1BBU1M6IHRlc3RGaWxlLnR5cGUgaXMgJ3RleHQvcGxhaW4nCitQQVNTOiB0ZXN0Rmls
ZS5zaXplIGlzIDAKK0RPTkUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9maWxlLWZyb20tZmlsZS1lbnRyeS1zeW5jLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vd29ya2Vycy9maWxlLWZyb20tZmlsZS1l
bnRyeS1zeW5jLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDc1MWZkZjg5ODI3YzA4ZjcxMDEzNWExZGJhM2Vi
YTE1ODk5ZGExNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5LXN5bmMuaHRtbApAQCAtMCwwICsxLDE0IEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9mcy13b3JrZXItY29t
bW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3RzIHJldHVybmluZyBGaWxlIGZyb20gRmlsZUVudHJ5U3luYyBpbiB3b3JrZXJz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3N0YXJ0V29ya2VyKCcu
Li9yZXNvdXJjZXMvZmlsZS1mcm9tLWZpbGUtZW50cnktc3luYy5qcycpOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lz
dGVtL3dvcmtlcnMvZmlsZS1mcm9tLWZpbGUtZW50cnkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVudHJ5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTZiODZkYjNlMjMwZWFiZWNjMDZiODY2MDI3M2ZlM2QwOWRkZDUwNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVu
dHJ5Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvZnMtd29ya2VyLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2ZzLXdvcmtlci10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0cyByZXR1cm5pbmcgRmlsZSBmcm9t
IEZpbGVFbnRyeVN5bmMgaW4gd29ya2Vycy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CitzdGFydFdvcmtlcignLi4vcmVzb3VyY2VzL2ZpbGUtZnJvbS1maWxlLWVudHJ5
LmpzJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZnMtd29ya2VyLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDcwMWJkOTY3YTA1ZmQ4NjBi
MTAzMzAyMmFhMGFlMGIwZmI5ZTIxNGUuLjA4MzZmNGM4OTlhYWNhMjM3YjBkODI3ZmJmZmQyNjUz
MTg0MWI5NWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTAtMTAtMTUgIEtpbnVrbyBZYXN1ZGEgIDxraW51
a29AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbXBsZW1lbnQgRmlsZUVudHJ5U3luYy5maWxlKCkgaW4gRmlsZVN5c3RlbSBBUEkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MzEwCisK
KyAgICAgICAgVGVzdHM6IGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2ZpbGUtZnJvbS1maWxlLWVu
dHJ5LXN5bmMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvZmls
ZS1mcm9tLWZpbGUtZW50cnkuaHRtbAorCisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVt
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTUZpbGVTeXN0ZW06OmNyZWF0ZUZpbGUpOiBBZGRl
ZC4KKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiBmaWxlYXBp
L0RPTUZpbGVTeXN0ZW1TeW5jLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTUZpbGVTeXN0ZW1T
eW5jOjpjcmVhdGVGaWxlKTogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVt
U3luYy5oOgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyQmFzZS5oOiBBZGRlZCAn
dmlydHVhbCBwYXRoJyBjb21tZW50LgorICAgICAgICAqIGZpbGVhcGkvRW50cnlCYXNlLmg6IEFk
ZGVkICd2aXJ0dWFsIHBhdGgnIGNvbW1lbnQuCisgICAgICAgICogZmlsZWFwaS9GaWxlRW50cnku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZUVudHJ5OjpmaWxlKTogQ2hhbmdlZCB0byB1c2Ug
RE9NRmlsZVN5c3RlbTo6Y3JlYXRlRmlsZS4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFbnRyeVN5
bmMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZUVudHJ5U3luYzo6ZmlsZSk6IEltcGxlbWVu
dGVkLgorICAgICAgICAqIGZpbGVhcGkvRmlsZUVudHJ5U3luYy5oOgorICAgICAgICAqIGZpbGVh
cGkvRmlsZUVudHJ5U3luYy5pZGw6IEFkZGVkIGZpbGUoKS4KKwogMjAxMC0xMC0xNCAgRGF3aXQg
QWxlbWF5ZWh1ICA8YWRhd2l0QGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVh
cyBLbGluZwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwIGIv
V2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCmluZGV4IGIyZGYxM2I2YmI3NmVjYTY2
Yjk2NzcxYzRkMmJiNTFiNjIzMDVhMWMuLmYzOGFjYWE1MmY5N2I4ZTRmOTYxNzhhYmYzYmQ2NGM5
NmNiODg1ZTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcAor
KysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKQEAgLTM3LDYgKzM3LDcgQEAK
ICNpbmNsdWRlICJET01GaWxlUGF0aC5oIgogI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5LmgiCiAj
aW5jbHVkZSAiRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkZpbGUuaCIKICNpbmNsdWRlICJG
aWxlRW50cnkuaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtQ2FsbGJhY2tzLmgiCiAjaW5jbHVkZSAi
RmlsZVdyaXRlci5oIgpAQCAtNzQsMTcgKzc1LDIzIEBAIHZvaWQgRE9NRmlsZVN5c3RlbTo6Y29u
dGV4dERlc3Ryb3llZCgpCiAgICAgQWN0aXZlRE9NT2JqZWN0Ojpjb250ZXh0RGVzdHJveWVkKCk7
CiB9CiAKLXZvaWQgRE9NRmlsZVN5c3RlbTo6Y3JlYXRlV3JpdGVyKGNvbnN0IEZpbGVFbnRyeSog
ZmlsZSwgUGFzc1JlZlB0cjxGaWxlV3JpdGVyQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFz
c1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQordm9pZCBET01GaWxlU3lzdGVt
OjpjcmVhdGVXcml0ZXIoY29uc3QgRmlsZUVudHJ5KiBmaWxlRW50cnksIFBhc3NSZWZQdHI8Rmls
ZVdyaXRlckNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFj
az4gZXJyb3JDYWxsYmFjaykKIHsKLSAgICBBU1NFUlQoZmlsZSk7CisgICAgQVNTRVJUKGZpbGVF
bnRyeSk7CiAKLSAgICBTdHJpbmcgcGxhdGZvcm1QYXRoID0gbV9hc3luY0ZpbGVTeXN0ZW0tPnZp
cnR1YWxUb1BsYXRmb3JtUGF0aChmaWxlLT5mdWxsUGF0aCgpKTsKKyAgICBTdHJpbmcgcGxhdGZv
cm1QYXRoID0gbV9hc3luY0ZpbGVTeXN0ZW0tPnZpcnR1YWxUb1BsYXRmb3JtUGF0aChmaWxlRW50
cnktPmZ1bGxQYXRoKCkpOwogCiAgICAgUmVmUHRyPEZpbGVXcml0ZXI+IGZpbGVXcml0ZXIgPSBG
aWxlV3JpdGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKICAgICBPd25QdHI8
RmlsZVdyaXRlckNhbGxiYWNrcz4gY2FsbGJhY2tzID0gRmlsZVdyaXRlckNhbGxiYWNrczo6Y3Jl
YXRlKGZpbGVXcml0ZXIsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiAgICAgbV9h
c3luY0ZpbGVTeXN0ZW0tPmNyZWF0ZVdyaXRlcihmaWxlV3JpdGVyLmdldCgpLCBwbGF0Zm9ybVBh
dGgsIGNhbGxiYWNrcy5yZWxlYXNlKCkpOwogfQogCit2b2lkIERPTUZpbGVTeXN0ZW06OmNyZWF0
ZUZpbGUoY29uc3QgRmlsZUVudHJ5KiBmaWxlRW50cnksIFBhc3NSZWZQdHI8RmlsZUNhbGxiYWNr
PiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4pCit7CisgICAgU3Ry
aW5nIHBsYXRmb3JtUGF0aCA9IG1fYXN5bmNGaWxlU3lzdGVtLT52aXJ0dWFsVG9QbGF0Zm9ybVBh
dGgoZmlsZUVudHJ5LT5mdWxsUGF0aCgpKTsKKyAgICBzY2hlZHVsZUNhbGxiYWNrKHN1Y2Nlc3ND
YWxsYmFjaywgRmlsZTo6Y3JlYXRlKHBsYXRmb3JtUGF0aCkpOworfQorCiB9IC8vIG5hbWVzcGFj
ZQogCiAjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9m
aWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgK
aW5kZXggNWY0NGFmYWMxZjM2OTI4OGJiZmI0ZDA0ODM3NGQzY2U2ZGZlMzQ4ZC4uMWQ4MjBmMTkz
ODYyOTIzMTZmNzg3YmQyMDUyZTMzNjZjMGM3OWQzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL0RPTUZpbGVTeXN0ZW0uaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5o
CkBAIC00MCw2ICs0MCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERpcmVjdG9y
eUVudHJ5OworY2xhc3MgRmlsZTsKK2NsYXNzIEZpbGVDYWxsYmFjazsKIGNsYXNzIEZpbGVFbnRy
eTsKIGNsYXNzIEZpbGVXcml0ZXJDYWxsYmFjazsKIApAQCAtNTcsNyArNTksOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0OwogICAgIHZpcnR1
YWwgdm9pZCBjb250ZXh0RGVzdHJveWVkKCk7CiAKLSAgICB2b2lkIGNyZWF0ZVdyaXRlcihjb25z
dCBGaWxlRW50cnkqIGZpbGUsIFBhc3NSZWZQdHI8RmlsZVdyaXRlckNhbGxiYWNrPiwgUGFzc1Jl
ZlB0cjxFcnJvckNhbGxiYWNrPik7CisgICAgdm9pZCBjcmVhdGVXcml0ZXIoY29uc3QgRmlsZUVu
dHJ5KiwgUGFzc1JlZlB0cjxGaWxlV3JpdGVyQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2Fs
bGJhY2s+KTsKKyAgICB2b2lkIGNyZWF0ZUZpbGUoY29uc3QgRmlsZUVudHJ5KiwgUGFzc1JlZlB0
cjxGaWxlQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+KTsKIAogICAgIC8vIFNj
aGVkdWxlIGEgY2FsbGJhY2suIFRoaXMgc2hvdWxkIG5vdCBjcm9zcyB0aHJlYWRzIChzaG91bGQg
YmUgY2FsbGVkIG9uIHRoZSBzYW1lIGNvbnRleHQgdGhyZWFkKS4KICAgICAvLyBGSVhNRTogbW92
ZSB0aGlzIHRvIGEgbW9yZSBnZW5lcmljIHBsYWNlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxl
YXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVt
U3luYy5jcHAKaW5kZXggOTZjNzZmZWY1YmFlNzZlYWY5NGJmMTQxNjM4NGQxMzZmMTk5NjYwMS4u
M2RlNjRhNzIzMDVmMjU2NjVjZjZkNmM0MDkyNGNkNzcyMjllZDU3ZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkv
RE9NRmlsZVN5c3RlbVN5bmMuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAKICNpbmNsdWRlICJET01G
aWxlUGF0aC5oIgogI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5U3luYy5oIgorI2luY2x1ZGUgIkZp
bGUuaCIKKyNpbmNsdWRlICJGaWxlRW50cnlTeW5jLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNTcsNiArNTksMTMgQEAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IERPTUZp
bGVTeXN0ZW1TeW5jOjpyb290KCkKICAgICByZXR1cm4gRGlyZWN0b3J5RW50cnlTeW5jOjpjcmVh
dGUodGhpcywgRE9NRmlsZVBhdGg6OnJvb3QpOwogfQogCitQYXNzUmVmUHRyPEZpbGU+IERPTUZp
bGVTeXN0ZW1TeW5jOjpjcmVhdGVGaWxlKGNvbnN0IEZpbGVFbnRyeVN5bmMqIGZpbGVFbnRyeSwg
RXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgZWMgPSAwOworICAgIFN0cmluZyBwbGF0Zm9ybVBh
dGggPSBtX2FzeW5jRmlsZVN5c3RlbS0+dmlydHVhbFRvUGxhdGZvcm1QYXRoKGZpbGVFbnRyeS0+
ZnVsbFBhdGgoKSk7CisgICAgcmV0dXJuIEZpbGU6OmNyZWF0ZShwbGF0Zm9ybVBhdGgpOworfQor
CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaCBiL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lz
dGVtU3luYy5oCmluZGV4IDlhZWFmYzhhNjBmM2VhZjhmYmQ3MGJjM2NjZjliOGMxYWI2YmI5N2Qu
LjE4NTY3NDc1ODkzYmNmMDg0MmQyMmE1MzkwNWM4OGYxYTdkZWM3ZTkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9E
T01GaWxlU3lzdGVtU3luYy5oCkBAIC0zOCw2ICszOCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIERpcmVjdG9yeUVudHJ5U3luYzsKK2NsYXNzIEZpbGU7CitjbGFzcyBGaWxlRW50
cnlTeW5jOwogCiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCkBAIC01NCw2ICs1Niw4IEBA
IHB1YmxpYzoKIAogICAgIFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiByb290KCk7CiAK
KyAgICBQYXNzUmVmUHRyPEZpbGU+IGNyZWF0ZUZpbGUoY29uc3QgRmlsZUVudHJ5U3luYyosIEV4
Y2VwdGlvbkNvZGUmKTsKKwogcHJpdmF0ZToKICAgICBET01GaWxlU3lzdGVtU3luYyhjb25zdCBT
dHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPik7CiB9OwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlckJhc2UuaCBiL1dlYkNvcmUvZmlsZWFw
aS9EaXJlY3RvcnlSZWFkZXJCYXNlLmgKaW5kZXggN2Y3M2M2YjI4MDY0ZDk0YWUzZjdkZDFmNDRj
ZjU0MDk0MDZhYjc5OS4uNWEyYzA0ODI0Y2Q0Nzc1ZjI0M2JlMDA5MjZmYWQ0MmM1M2NjMWQ3ZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlckJhc2UuaAorKysgYi9X
ZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyQmFzZS5oCkBAIC01NCw3ICs1NCwxMCBAQCBw
cm90ZWN0ZWQ6CiAgICAgfQogCiAgICAgRE9NRmlsZVN5c3RlbUJhc2UqIG1fZmlsZVN5c3RlbTsK
KworICAgIC8vIFRoaXMgaXMgYSB2aXJ0dWFsIHBhdGguCiAgICAgU3RyaW5nIG1fZnVsbFBhdGg7
CisKICAgICBib29sIG1faGFzTW9yZUVudHJpZXM7CiB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2ZpbGVhcGkvRW50cnlCYXNlLmggYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlCYXNlLmgKaW5kZXgg
NmFiZjc0ZjE1NjFkYzhhYWIyOTg5MGM1NmE4ZjZiMTRiZDA4NTM5Zi4uMmFhZWJhOGViNzZmZDBj
NGEwYmM5MTZlNTVlZGY2NjE3MDQwZWM1ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0Vu
dHJ5QmFzZS5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuaApAQCAtNjcsNyArNjcs
MTAgQEAgcHJvdGVjdGVkOgogICAgIGZyaWVuZCBjbGFzcyBFbnRyeVN5bmM7CiAKICAgICBET01G
aWxlU3lzdGVtQmFzZSogbV9maWxlU3lzdGVtOworCisgICAgLy8gVGhpcyBpcyBhIHZpcnR1YWwg
cGF0aC4KICAgICBTdHJpbmcgbV9mdWxsUGF0aDsKKwogICAgIFN0cmluZyBtX25hbWU7CiB9Owog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5LmNwcCBiL1dlYkNvcmUvZmls
ZWFwaS9GaWxlRW50cnkuY3BwCmluZGV4IDgwYWUwZDBhMWZiM2RjOWE1YjdhZjc1ZDk1OWE3NTE1
MzdlMjUyMjQuLjI5Y2JkMzMwZGFlN2NlZDQ2ODIxZWVjYTcyYmE2YWIzNmIxMmY2MTQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnkuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFw
aS9GaWxlRW50cnkuY3BwCkBAIC01MSw5ICs1MSw5IEBAIHZvaWQgRmlsZUVudHJ5OjpjcmVhdGVX
cml0ZXIoUGFzc1JlZlB0cjxGaWxlV3JpdGVyQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFz
CiAgICAgZmlsZXN5c3RlbSgpLT5jcmVhdGVXcml0ZXIodGhpcywgc3VjY2Vzc0NhbGxiYWNrLCBl
cnJvckNhbGxiYWNrKTsKIH0KIAotdm9pZCBGaWxlRW50cnk6OmZpbGUoUGFzc1JlZlB0cjxGaWxl
Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPikKK3Zv
aWQgRmlsZUVudHJ5OjpmaWxlKFBhc3NSZWZQdHI8RmlsZUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJh
Y2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKIHsKLSAgICBmaWxl
c3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNrLCBGaWxlOjpjcmVhdGUo
ZmlsZXN5c3RlbSgpLT5hc3luY0ZpbGVTeXN0ZW0oKS0+dmlydHVhbFRvUGxhdGZvcm1QYXRoKG1f
ZnVsbFBhdGgpKSk7CisgICAgZmlsZXN5c3RlbSgpLT5jcmVhdGVGaWxlKHRoaXMsIHN1Y2Nlc3ND
YWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRmls
ZUVudHJ5U3luYy5jcHAKaW5kZXggMWQxNzYwZDdhMTJmMmRhMzM2ZWU0ZjE5MWE1ZmQ0YzczYzA5
YjdiMy4uOGZjNWE3NzEwZjhmOTk0OGZiYTQ3ZDAyODE5ODVkOTBkY2VhN2UxYyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFw
aS9GaWxlRW50cnlTeW5jLmNwcApAQCAtMzMsNiArMzMsOCBAQAogCiAjaWYgRU5BQkxFKEZJTEVf
U1lTVEVNKQogCisjaW5jbHVkZSAiRmlsZS5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEZp
bGVFbnRyeVN5bmM6OkZpbGVFbnRyeVN5bmMoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0s
IGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCkBAIC00MCw2ICs0MiwxMSBAQCBGaWxlRW50cnlTeW5j
OjpGaWxlRW50cnlTeW5jKERPTUZpbGVTeXN0ZW1CYXNlKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJp
bmcmIGZ1bGxQYQogewogfQogCitQYXNzUmVmUHRyPEZpbGU+IEZpbGVFbnRyeVN5bmM6OmZpbGUo
RXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgcmV0dXJuIGZpbGVzeXN0ZW0oKS0+Y3JlYXRlRmls
ZSh0aGlzLCBlYyk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmggYi9XZWJDb3JlL2ZpbGVh
cGkvRmlsZUVudHJ5U3luYy5oCmluZGV4IGMyMjJhZmNlYjNlOGJhN2NmMjU3YjExYjhlZDMxMmJj
NjkxM2U2NWUuLmQwMjdmNjMzZmVjNzZkZTJiMjk4ZTAwNmIzNGU0Mjc1YjJlYmVhNGUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmgKKysrIGIvV2ViQ29yZS9maWxl
YXBpL0ZpbGVFbnRyeVN5bmMuaApAQCAtNDAsNiArNDAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK2NsYXNzIEZpbGU7CisKIGNsYXNzIEZpbGVFbnRyeVN5bmMgOiBwdWJsaWMgRW50cnlT
eW5jIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxGaWxlRW50cnlTeW5jPiBjcmVh
dGUoRE9NRmlsZVN5c3RlbUJhc2UqIGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgp
CkBAIC00OSw2ICs1MSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBpc0ZpbGUoKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9CiAKKyAgICBQYXNzUmVmUHRyPEZpbGU+IGZpbGUoRXhjZXB0
aW9uQ29kZSYpOworCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFbnRyeVN5bmM7CiAgICAg
RmlsZUVudHJ5U3luYyhET01GaWxlU3lzdGVtQmFzZSosIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsIGIvV2ViQ29y
ZS9maWxlYXBpL0ZpbGVFbnRyeVN5bmMuaWRsCmluZGV4IGQ4OGM4OTcxY2JlMTVlNDFmMzlhODUx
NThjYjY5NzYxYzUwMjdlYmUuLmUyZDI4NzFhZDYwODA1N2VmNmM1MDk0N2E3ZWY1ZmYwZDQxMDli
NjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRW50cnlTeW5jLmlkbAorKysgYi9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZUVudHJ5U3luYy5pZGwKQEAgLTM1LDUgKzM1LDYgQEAgbW9kdWxl
IHN0b3JhZ2UgewogICAgICAgICBHZW5lcmF0ZVRvSlMsCiAgICAgICAgIE5vU3RhdGljVGFibGVz
CiAgICAgXSBGaWxlRW50cnlTeW5jIDogRW50cnlTeW5jIHsKKyAgICAgICAgRmlsZSBmaWxlKCkg
cmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKICAgICB9OwogfQo=
</data>
<flag name="review"
          id="60846"
          type_id="1"
          status="+"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>