<?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>54874</bug_id>
          
          <creation_ts>2011-02-21 05:03:03 -0800</creation_ts>
          <short_desc>Frame opener is not reset between tests.</short_desc>
          <delta_ts>2011-02-26 08:31:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>55295</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>atwilson</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>pfeldman</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>354532</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-02-21 05:03:03 -0800</bug_when>
    <thetext>Layout tests for XML viewer (see https://bugs.webkit.org/show_bug.cgi?id=13807) should be run in a frame with frame opener reset to null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355284</commentid>
    <comment_count>1</comment_count>
      <attachid>83319</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-02-22 08:24:33 -0800</bug_when>
    <thetext>Created attachment 83319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355286</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-22 08:25:58 -0800</bug_when>
    <thetext>Attachment 83319 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit/win/WebFrame.cpp:752:  Extra space after ( in function call  [whitespace/parens] [4]
Source/WebKit/win/WebFrame.h:147:  The parameter name &quot;frame&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/win/WebFrame.h:149:  Extra space after ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 28 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355296</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-22 08:37:30 -0800</bug_when>
    <thetext>Attachment 83319 did not build on win:
Build output: http://queues.webkit.org/results/7943323</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355304</commentid>
    <comment_count>4</comment_count>
      <attachid>83322</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-02-22 08:45:18 -0800</bug_when>
    <thetext>Created attachment 83322
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355306</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-22 08:46:36 -0800</bug_when>
    <thetext>Attachment 83322 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit/win/WebFrame.cpp:752:  Extra space after ( in function call  [whitespace/parens] [4]
Source/WebKit/win/WebFrame.h:146:  Extra space after ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 28 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355322</commentid>
    <comment_count>6</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-22 09:10:14 -0800</bug_when>
    <thetext>Attachment 83322 did not build on win:
Build output: http://queues.webkit.org/results/7943332</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355326</commentid>
    <comment_count>7</comment_count>
      <attachid>83322</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-22 09:11:28 -0800</bug_when>
    <thetext>Comment on attachment 83322
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. (no code affected)

You could as well explain what has been done, not what hasn&apos;t. E.g.: &quot;no behavior change, just exporting a method for DumpRenderTree use.&quot;

&gt; Source/WebKit/chromium/public/WebFrame.h:173
&gt; +    // Reset the frame that opened this frame to 0.
&gt; +    virtual void resetOpener() = 0;

Here an in all other ports: it&apos;s arguable whether this method resets opener or not (resets to what?). I suggest naming it clearOpener() or forgetOpener().

&gt; Source/WebKit/gtk/webkit/webkitwebframe.h:112
&gt; +WEBKIT_API void
&gt; +webkit_web_frame_reset_opener       (WebKitWebFrame       *frame);

This should probably be in webkitwebframeprivate.h - you could ask Gtk folks to be sure.

&gt; Source/WebKit/mac/WebView/WebFrame.h:195
&gt; +    @method resetOpener
&gt; +    @discussion Resets mainFrame opener to 0
&gt; +*/
&gt; +- (void)resetOpener;

Please don&apos;t change anything in WebFrame.h - it&apos;s public Apple API, and any changes need to be vetted in an internal Apple process.

New methods can be added to WebFramePrivate.h.

&gt; Source/WebKit/qt/Api/qwebframe.h:149
&gt; +    void resetOpener();

Again, not sure if it&apos;s OK to add an API method. The private interface is in qwebframe_p.h.

&gt;&gt; Source/WebKit/win/WebFrame.cpp:752
&gt;&gt; +HRESULT STDMETHODCALLTYPE WebFrame::resetOpener( void)
&gt; 
&gt; Extra space after ( in function call  [whitespace/parens] [4]

Why does this need a (void) at all? That only sometimes makes a difference in plain C.

&gt;&gt; Source/WebKit/win/WebFrame.h:146
&gt;&gt; +    virtual HRESULT STDMETHODCALLTYPE resetOpener( void);
&gt; 
&gt; Extra space after ( in function call  [whitespace/parens] [4]

Ditto - probably doesn&apos;t need (void).

&gt; Source/WebKit2/ChangeLog:9
&gt; +        (WKBundleFrameCopyChildFrames):

Please add a ChangeLog comment explaining what you did.

&gt; Source/WebKit2/ChangeLog:10
&gt; +        (WKBundleFrameResetOpener):

WebKit2 isn&apos;t an API, so we are more relaxed about adding functions there at the moment. But WKBundleFrameResetOpener doesn&apos;t look like they would ever become APIs, so it&apos;s best to put them in WKBundleFramePrivate.h right away.

&gt; Tools/ChangeLog:6
&gt; +        DumpRenderTree should reset frame opener between tests.
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=54874

Please explain what issue you are fixing. You are saying that opener needs to be cleared, but what to and when is it set, in the first place?

&gt; Tools/DumpRenderTree/win/DumpRenderTree.cpp:895
&gt; +    if (FAILED(frame-&gt;resetOpener()))
&gt; +        return;

Your implementation of resetOpener can never FAIL, as far as I can tell. Perhaps it&apos;s best to ASSERT the result - returning right before exiting the function makes no sense anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355579</commentid>
    <comment_count>8</comment_count>
      <attachid>83322</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-02-22 14:04:58 -0800</bug_when>
    <thetext>Comment on attachment 83322
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt; +        No new tests. (no code affected)
&gt; 
&gt; You could as well explain what has been done, not what hasn&apos;t. E.g.: &quot;no behavior change, just exporting a method for DumpRenderTree use.&quot;

Done

&gt;&gt; Source/WebKit/chromium/public/WebFrame.h:173
&gt;&gt; +    virtual void resetOpener() = 0;
&gt; 
&gt; Here an in all other ports: it&apos;s arguable whether this method resets opener or not (resets to what?). I suggest naming it clearOpener() or forgetOpener().

Done (clearOpener).

&gt;&gt; Source/WebKit/gtk/webkit/webkitwebframe.h:112
&gt;&gt; +webkit_web_frame_reset_opener       (WebKitWebFrame       *frame);
&gt; 
&gt; This should probably be in webkitwebframeprivate.h - you could ask Gtk folks to be sure.

Done (DumpRenderTreeSupportGTK).

&gt;&gt; Source/WebKit/mac/WebView/WebFrame.h:195
&gt;&gt; +- (void)resetOpener;
&gt; 
&gt; Please don&apos;t change anything in WebFrame.h - it&apos;s public Apple API, and any changes need to be vetted in an internal Apple process.
&gt; 
&gt; New methods can be added to WebFramePrivate.h.

Done.

&gt;&gt; Source/WebKit/qt/Api/qwebframe.h:149
&gt;&gt; +    void resetOpener();
&gt; 
&gt; Again, not sure if it&apos;s OK to add an API method. The private interface is in qwebframe_p.h.

Done (DumpRenderTreeSupportQT).

&gt;&gt;&gt; Source/WebKit/win/WebFrame.cpp:752
&gt;&gt;&gt; +HRESULT STDMETHODCALLTYPE WebFrame::resetOpener( void)
&gt;&gt; 
&gt;&gt; Extra space after ( in function call  [whitespace/parens] [4]
&gt; 
&gt; Why does this need a (void) at all? That only sometimes makes a difference in plain C.

Some methods there were written in this weird form.
I changed it to clearOpener().

&gt;&gt;&gt; Source/WebKit/win/WebFrame.h:146
&gt;&gt;&gt; +    virtual HRESULT STDMETHODCALLTYPE resetOpener( void);
&gt;&gt; 
&gt;&gt; Extra space after ( in function call  [whitespace/parens] [4]
&gt; 
&gt; Ditto - probably doesn&apos;t need (void).

Done.

&gt;&gt; Source/WebKit2/ChangeLog:9
&gt;&gt; +        (WKBundleFrameCopyChildFrames):
&gt; 
&gt; Please add a ChangeLog comment explaining what you did.

Done.

&gt;&gt; Source/WebKit2/ChangeLog:10
&gt;&gt; +        (WKBundleFrameResetOpener):
&gt; 
&gt; WebKit2 isn&apos;t an API, so we are more relaxed about adding functions there at the moment. But WKBundleFrameResetOpener doesn&apos;t look like they would ever become APIs, so it&apos;s best to put them in WKBundleFramePrivate.h right away.

Done.

&gt;&gt; Tools/ChangeLog:6
&gt;&gt; +        https://bugs.webkit.org/show_bug.cgi?id=54874
&gt; 
&gt; Please explain what issue you are fixing. You are saying that opener needs to be cleared, but what to and when is it set, in the first place?

Done.

&gt;&gt; Tools/DumpRenderTree/win/DumpRenderTree.cpp:895
&gt;&gt; +        return;
&gt; 
&gt; Your implementation of resetOpener can never FAIL, as far as I can tell. Perhaps it&apos;s best to ASSERT the result - returning right before exiting the function makes no sense anyway.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355580</commentid>
    <comment_count>9</comment_count>
      <attachid>83383</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-02-22 14:05:46 -0800</bug_when>
    <thetext>Created attachment 83383
Patch with fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355612</commentid>
    <comment_count>10</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-22 14:30:48 -0800</bug_when>
    <thetext>Attachment 83383 did not build on win:
Build output: http://queues.webkit.org/results/7946377</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355638</commentid>
    <comment_count>11</comment_count>
      <attachid>83383</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-22 15:05:55 -0800</bug_when>
    <thetext>Comment on attachment 83383
Patch with fixes

Looks fine. cq-, because this still breaks Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356362</commentid>
    <comment_count>12</comment_count>
      <attachid>83536</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-02-23 13:27:41 -0800</bug_when>
    <thetext>Created attachment 83536
Patch with fixes for win build

The only change from previous patch is touching (adding new line) Source/WebKit/win/Interfaces/WebKit.idl file to trigger build scripts.
This change is also mentioned in ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357018</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 08:24:27 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 83536:

http/tests/security/cross-frame-access-port-explicit-domain.html bug 54668 (author: sam@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357022</commentid>
    <comment_count>14</comment_count>
      <attachid>83536</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 08:26:28 -0800</bug_when>
    <thetext>Comment on attachment 83536
Patch with fixes for win build

Clearing flags on attachment: 83536

Committed r79570: &lt;http://trac.webkit.org/changeset/79570&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357023</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 08:26:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357131</commentid>
    <comment_count>16</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2011-02-24 10:08:05 -0800</bug_when>
    <thetext>Reverted r79570 for reason:

Breaks chromium build because glue/mocks/mock_web_frame.h/cc was not updated

Committed r79586: &lt;http://trac.webkit.org/changeset/79586&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358414</commentid>
    <comment_count>17</comment_count>
      <attachid>83536</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-26 00:16:47 -0800</bug_when>
    <thetext>Comment on attachment 83536
Patch with fixes for win build

Clearing flags on attachment: 83536

Committed r79764: &lt;http://trac.webkit.org/changeset/79764&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358415</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-26 00:16:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358458</commentid>
    <comment_count>19</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-26 04:38:27 -0800</bug_when>
    <thetext>Broke Chromium builds: http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win%20Builder/builds/3981/steps/compile/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358461</commentid>
    <comment_count>20</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-26 04:46:21 -0800</bug_when>
    <thetext>I&apos;m sorry but I don&apos;t know how to fix the build so I&apos;m rolling out the patch for now since the author is using @chromium.org address.  You should probably add a concrete clearOpener on the chromium side first and then land this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358526</commentid>
    <comment_count>21</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-02-26 08:31:46 -0800</bug_when>
    <thetext>Committed r79793: &lt;http://trac.webkit.org/changeset/79793&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83319</attachid>
            <date>2011-02-22 08:24:33 -0800</date>
            <delta_ts>2011-02-22 08:45:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>reset</filename>
            <type>text/plain</type>
            <size>16671</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkMzE4NGNlLi42MTY4MDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTEtMDItMjIgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVtcFJlbmRl
clRyZWUgc2hvdWxkIHJlc2V0IGZyYW1lIG9wZW5lciBiZXR3ZWVuIHRlc3RzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQKKworICAgICAgICBO
byBuZXcgdGVzdHMuIChubyBjb2RlIGFmZmVjdGVkKQorCisgICAgICAgICogV2ViQ29yZS5leHAu
aW46CisKIDIwMTEtMDItMjIgIFN0ZXZlIExhY2V5ICA8c2psQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDIw
MDJiYjkuLjg1NTJlNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzgsNiArMTc4LDcgQEAg
X19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRsb2FkRVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFUktO
M1dURjZTdHJpbmdFYgogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRsb2FkRVJLTlNfMTVSZXNv
dXJjZVJlcXVlc3RFUktOU18xNFN1YnN0aXR1dGVEYXRhRWIKIF9fWk43V2ViQ29yZTExRnJhbWVM
b2FkZXI0bG9hZEVSS05TXzE1UmVzb3VyY2VSZXF1ZXN0RWIKIF9fWk43V2ViQ29yZTExRnJhbWVM
b2FkZXI2cmVsb2FkRWIKK19fWk43V2ViQ29yZTExRnJhbWVMb2FkZXI5c2V0T3BlbmVyRVBOU181
RnJhbWVFCiBfX1pON1dlYkNvcmUxMUdlb2xvY2F0aW9uMTJzZXRJc0FsbG93ZWRFYgogX19aTjdX
ZWJDb3JlMTFHZW9sb2NhdGlvbkQxRXYKIF9fWk43V2ViQ29yZTExSGlzdG9yeUl0ZW0xMHRhcmdl
dEl0ZW1FdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAyNjkxYjc4Li5hOTIxMTNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTAyLTIyICBW
c2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER1bXBSZW5kZXJUcmVlIHNob3VsZCByZXNl
dCBmcmFtZSBvcGVuZXIgYmV0d2VlbiB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODc0CisKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUu
aDoKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVJbXBsOjpyZXNldE9wZW5lcik6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgor
CiAyMDExLTAyLTIxICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJGcmFtZS5oCmluZGV4IDg2ZmRlYzIuLjc2NmFiMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViRnJhbWUuaApAQCAtMTY5LDYgKzE2OSw5IEBAIHB1YmxpYzoKICAgICAv
LyBSZXR1cm5zIHRoZSBmcmFtZSB0aGF0IG9wZW5lZCB0aGlzIGZyYW1lIG9yIDAgaWYgdGhlcmUg
aXMgbm9uZS4KICAgICB2aXJ0dWFsIFdlYkZyYW1lKiBvcGVuZXIoKSBjb25zdCA9IDA7CiAKKyAg
ICAvLyBSZXNldCB0aGUgZnJhbWUgdGhhdCBvcGVuZWQgdGhpcyBmcmFtZSB0byAwLgorICAgIHZp
cnR1YWwgdm9pZCByZXNldE9wZW5lcigpID0gMDsKKwogICAgIC8vIFJldHVybnMgdGhlIHBhcmVu
dCBmcmFtZSBvciAwIGlmIHRoaXMgaXMgYSB0b3AtbW9zdCBmcmFtZS4KICAgICB2aXJ0dWFsIFdl
YkZyYW1lKiBwYXJlbnQoKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IDg0OWI1NWMuLjQ4OWE0ODUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAtNTc5LDYgKzU3OSwxMSBAQCBX
ZWJWaWV3KiBXZWJGcmFtZUltcGw6OnZpZXcoKSBjb25zdAogICAgIHJldHVybiB2aWV3SW1wbCgp
OwogfQogCit2b2lkIFdlYkZyYW1lSW1wbDo6cmVzZXRPcGVuZXIoKQoreworICAgIG1fZnJhbWUt
PmxvYWRlcigpLT5zZXRPcGVuZXIoMCk7Cit9CisKIFdlYkZyYW1lKiBXZWJGcmFtZUltcGw6Om9w
ZW5lcigpIGNvbnN0CiB7CiAgICAgRnJhbWUqIG9wZW5lciA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCmluZGV4IDU1YTlmNTQuLmZiOTNlMjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBAIC04MCw2ICs4MCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaGFzVmlzaWJsZUNvbnRlbnQoKSBjb25zdDsKICAgICB2
aXJ0dWFsIFdlYlZpZXcqIHZpZXcoKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYkZyYW1lKiBvcGVu
ZXIoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzZXRPcGVuZXIoKTsKICAgICB2aXJ0dWFs
IFdlYkZyYW1lKiBwYXJlbnQoKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYkZyYW1lKiB0b3AoKSBj
b25zdDsKICAgICB2aXJ0dWFsIFdlYkZyYW1lKiBmaXJzdENoaWxkKCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKaW5kZXggMzcwZDFmZS4uOTExNDgwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDExLTAyLTIyICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER1bXBS
ZW5kZXJUcmVlIHNob3VsZCByZXNldCBmcmFtZSBvcGVuZXIgYmV0d2VlbiB0ZXN0cy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODc0CisKKyAgICAg
ICAgKiB3ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwOgorICAgICAgICAod2Via2l0X3dlYl9mcmFt
ZV9yZXNldF9vcGVuZXIpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJmcmFtZS5oOgorCiAy
MDExLTAyLTIxICBBbGVqYW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2ViZnJhbWUuY3BwCmluZGV4IGZkOTBhNmMuLjFiOTBjOTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmNwcApAQCAtNDk2LDYgKzQ5NiwxOSBAQCBHX0NP
TlNUX1JFVFVSTiBnY2hhciogd2Via2l0X3dlYl9mcmFtZV9nZXRfbmFtZShXZWJLaXRXZWJGcmFt
ZSogZnJhbWUpCiB9CiAKIC8qKgorICogd2Via2l0X3dlYl9mcmFtZV9yZXNldF9vcGVuZXI6Cisg
KiBAZnJhbWU6IGEgI1dlYktpdFdlYkZyYW1lCisgKgorICogUmVzZXRzIGZyYW1lIG9wZW5lciB0
byBOVUxMCisgKi8KK3ZvaWQgd2Via2l0X3dlYl9mcmFtZV9yZXNldF9vcGVuZXIoV2ViS2l0V2Vi
RnJhbWUqIGZyYW1lKQoreworICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBjb3JlKGZyYW1lKTsKKyAg
ICBpZiAoY29yZUZyYW1lKQorICAgICAgICBjb3JlRnJhbWUtPmxvYWRlcigpLT5zZXRPcGVuZXIo
TlVMTCk7Cit9CisKKy8qKgogICogd2Via2l0X3dlYl9mcmFtZV9nZXRfcGFyZW50OgogICogQGZy
YW1lOiBhICNXZWJLaXRXZWJGcmFtZQogICoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5oIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYmZyYW1lLmgKaW5kZXggMjhkNzExMy4uODVlMDA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYmZyYW1lLmgKQEAgLTEwOCw2ICsxMDgsOSBAQCB3ZWJraXRfd2ViX2Zy
YW1lX2dldF90aXRsZSAgICAgICAgICAoV2ViS2l0V2ViRnJhbWUgICAgICAgKmZyYW1lKTsKIFdF
QktJVF9BUEkgR19DT05TVF9SRVRVUk4gZ2NoYXIgKgogd2Via2l0X3dlYl9mcmFtZV9nZXRfdXJp
ICAgICAgICAgICAgKFdlYktpdFdlYkZyYW1lICAgICAgICpmcmFtZSk7CiAKK1dFQktJVF9BUEkg
dm9pZAord2Via2l0X3dlYl9mcmFtZV9yZXNldF9vcGVuZXIgICAgICAgKFdlYktpdFdlYkZyYW1l
ICAgICAgICpmcmFtZSk7CisKIFdFQktJVF9BUEkgV2ViS2l0V2ViRnJhbWUqCiB3ZWJraXRfd2Vi
X2ZyYW1lX2dldF9wYXJlbnQgICAgICAgICAoV2ViS2l0V2ViRnJhbWUgICAgICAgKmZyYW1lKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IGY0ZGViZjguLjdkYjQ5YzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMi0yMiAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBEdW1wUmVuZGVyVHJlZSBzaG91bGQgcmVzZXQgZnJhbWUgb3BlbmVyIGJldHdlZW4gdGVz
dHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDg3
NAorCisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
RnJhbWUubW06CisgICAgICAgICgtW1dlYkZyYW1lIHJlc2V0T3BlbmVyXSk6CisKIDIwMTEtMDIt
MTcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLmgKaW5kZXggNjQw
MTVmZC4uODcxM2FjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJG
cmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUuaApAQCAtMTg5
LDYgKzE4OSwxMiBAQAogLSAoV2ViRnJhbWUgKilmaW5kRnJhbWVOYW1lZDooTlNTdHJpbmcgKilu
YW1lOwogCiAvKiEKKyAgICBAbWV0aG9kIHJlc2V0T3BlbmVyCisgICAgQGRpc2N1c3Npb24gUmVz
ZXRzIG1haW5GcmFtZSBvcGVuZXIgdG8gMAorKi8KKy0gKHZvaWQpcmVzZXRPcGVuZXI7CisKKy8q
IQogICAgIEBtZXRob2QgcGFyZW50RnJhbWUKICAgICBAcmVzdWx0IFRoZSBmcmFtZSBjb250YWlu
aW5nIHRoaXMgZnJhbWUsIG9yIG5pbCBpZiB0aGlzIGlzIGEgdG9wIGxldmVsIGZyYW1lLgogKi8K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCmluZGV4IDZmYzBjZDMuLjIzZDFlYTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQpAQCAtMTU4MSw2ICsxNTgxLDEz
IEBAIHN0YXRpYyBOU1VSTCAqY3JlYXRlVW5pcXVlV2ViRGF0YVVSTCgpCiAgICAgcmV0dXJuIGtp
dChjb3JlRnJhbWUtPnRyZWUoKS0+ZmluZChuYW1lKSk7CiB9CiAKKy0gKHZvaWQpcmVzZXRPcGVu
ZXIKK3sKKyAgICBGcmFtZSogY29yZUZyYW1lID0gX3ByaXZhdGUtPmNvcmVGcmFtZTsKKyAgICBp
ZiAoY29yZUZyYW1lKQorICAgICAgICBjb3JlRnJhbWUtPmxvYWRlcigpLT5zZXRPcGVuZXIoMCk7
Cit9CisKIC0gKFdlYkZyYW1lICopcGFyZW50RnJhbWUKIHsKICAgICBGcmFtZSogY29yZUZyYW1l
ID0gX3ByaXZhdGUtPmNvcmVGcmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBp
L3F3ZWJmcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwCmluZGV4
IGFiMzg1NGQuLjBhNzY1OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJm
cmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcApAQCAtOTg5
LDYgKzk4OSwxNCBAQCB2b2lkIFFXZWJGcmFtZTo6c2V0Q29udGVudChjb25zdCBRQnl0ZUFycmF5
ICZkYXRhLCBjb25zdCBRU3RyaW5nICZtaW1lVHlwZSwgY29ucwogfQogCiAvKiEKKyAgUmVzZXRz
IHRoZSBmcmFtZSBvcGVuZXIgdG8gMC4KKyovCit2b2lkIFFXZWJGcmFtZTo6cmVzZXRPcGVuZXIo
KQoreworICAgIHJldHVybiBkLT5mcmFtZS0+bG9hZGVyLT5zZXRPcGVuZXIoMCk7Cit9CisKKy8q
IQogICBSZXR1cm5zIHRoZSBwYXJlbnQgZnJhbWUgb2YgdGhpcyBmcmFtZSwgb3IgMCBpZiB0aGUg
ZnJhbWUgaXMgdGhlIHdlYiBwYWdlcwogICBtYWluIGZyYW1lLgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJm
cmFtZS5oCmluZGV4IDg0MTA5NjIuLmEzZTdjZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvQXBpL3F3ZWJmcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5o
CkBAIC0xNDYsNiArMTQ2LDggQEAgcHVibGljOgogCiAgICAgUVN0cmluZyBmcmFtZU5hbWUoKSBj
b25zdDsKIAorICAgIHZvaWQgcmVzZXRPcGVuZXIoKTsKKwogICAgIFFXZWJGcmFtZSAqcGFyZW50
RnJhbWUoKSBjb25zdDsKICAgICBRTGlzdDxRV2ViRnJhbWUqPiBjaGlsZEZyYW1lcygpIGNvbnN0
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nCmluZGV4IGM1MzBmMDguLjExNWE0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTEtMDItMjIgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRHVtcFJlbmRlclRyZWUgc2hvdWxkIHJlc2V0IGZyYW1lIG9wZW5lciBiZXR3ZWVuIHRlc3Rz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQK
KworICAgICAgICAqIEFwaS9xd2ViZnJhbWUuY3BwOgorICAgICAgICAoUVdlYkZyYW1lOjpyZXNl
dE9wZW5lcik6CisgICAgICAgICogQXBpL3F3ZWJmcmFtZS5oOgorCiAyMDExLTAyLTE3ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQg
VGFtdXJhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDQ3YjE4MWUuLmJlMGYzYjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMi0yMiAgVnNldm9sb2QgVmxhc292ICA8dnNl
dmlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBEdW1wUmVuZGVyVHJlZSBzaG91bGQgcmVzZXQgZnJhbWUgb3BlbmVyIGJldHdl
ZW4gdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NDg3NAorCisgICAgICAgICogV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViRnJhbWU6OnJl
c2V0T3BlbmVyKToKKyAgICAgICAgKiBXZWJGcmFtZS5oOgorCiAyMDExLTAyLTE5ICBDaGFybGll
IFJlaXMgIDxjcmVpc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWloYWkg
UGFycGFyaXRhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwIGIv
U291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCmluZGV4IDgwYjkxY2QuLjYwYTJjMjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJGcmFtZS5jcHAKQEAgLTc0OSw2ICs3NDksMTUgQEAgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBXZWJGcmFtZTo6ZmluZEZyYW1lTmFtZWQoCiAgICAgcmV0dXJuIGZvdW5kV2Vi
RnJhbWUtPlF1ZXJ5SW50ZXJmYWNlKElJRF9JV2ViRnJhbWUsICh2b2lkKiopZnJhbWUpOwogfQog
CitIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkZyYW1lOjpyZXNldE9wZW5lciggdm9pZCkK
K3sKKyAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICBpZiAoRnJhbWUqIGNvcmVGcmFtZSA9IGNv
cmUodGhpcykpCisgICAgICAgIGNvcmVGcmFtZS0+bG9hZGVyKCktPnNldE9wZW5lcigwKTsKKwor
ICAgIHJldHVybiBocjsKK30KKwogSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJGcmFtZTo6
cGFyZW50RnJhbWUoIAogICAgIC8qIFtyZXR2YWxdW291dF0gKi8gSVdlYkZyYW1lKiogZnJhbWUp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5oIGIvU291cmNlL1dl
YktpdC93aW4vV2ViRnJhbWUuaAppbmRleCAwMDk1NTkwLi41MzU1NzA3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZy
YW1lLmgKQEAgLTE0Myw4ICsxNDMsMTAgQEAgcHVibGljOgogICAgICAgICAvKiBbaW5dICovIEJT
VFIgbmFtZSwKICAgICAgICAgLyogW3JldHZhbF1bb3V0XSAqLyBJV2ViRnJhbWUgKipmcmFtZSk7
CiAgICAgCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHBhcmVudEZyYW1l
KCAKLSAgICAgICAgLyogW3JldHZhbF1bb3V0XSAqLyBJV2ViRnJhbWUgKipmcmFtZSk7CisgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHJlc2V0T3BlbmVyKAorICAgICAgICAv
KiBbaW5dICovIElXZWJGcmFtZSAqKmZyYW1lKTsKKworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBwYXJlbnRGcmFtZSggdm9pZCk7CiAgICAgCiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGNoaWxkRnJhbWVzKCAKICAgICAgICAgLyogW3JldHZhbF1b
b3V0XSAqLyBJRW51bVZBUklBTlQgKiplbnVtRnJhbWVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwMzY5MzY5
Li4yNjE5ZGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDItMjIgIFZzZXZv
bG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVtcFJlbmRlclRyZWUgc2hvdWxkIHJlc2V0IGZy
YW1lIG9wZW5lciBiZXR3ZWVuIHRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQKKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5jcHA6CisgICAgICAgIChXS0J1bmRsZUZyYW1lQ29w
eUNoaWxkRnJhbWVzKToKKyAgICAgICAgKFdLQnVuZGxlRnJhbWVSZXNldE9wZW5lcik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmg6CisK
IDIwMTEtMDItMjIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3OTI5Ni4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFt
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlRnJhbWUuY3BwCmluZGV4IDgyZjYxNmEuLjc1MjliZTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZUZyYW1lLmNwcApAQCAtODEsNyArODEsMTQgQEAgV0tGcmFtZUxvYWRTdGF0ZSBXS0J1
bmRsZUZyYW1lR2V0RnJhbWVMb2FkU3RhdGUoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZikKIAog
V0tBcnJheVJlZiBXS0J1bmRsZUZyYW1lQ29weUNoaWxkRnJhbWVzKFdLQnVuZGxlRnJhbWVSZWYg
ZnJhbWVSZWYpCiB7Ci0gICAgcmV0dXJuIHRvQVBJKHRvSW1wbChmcmFtZVJlZiktPmNoaWxkRnJh
bWVzKCkucmVsZWFzZVJlZigpKTsgICAgCisgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChmcmFtZVJl
ZiktPmNoaWxkRnJhbWVzKCkucmVsZWFzZVJlZigpKTsKK30KKwordm9pZCBXS0J1bmRsZUZyYW1l
UmVzZXRPcGVuZXIoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZikKK3sKKyAgICBGcmFtZSogY29y
ZUZyYW1lID0gdG9JbXBsKGZyYW1lUmVmKS0+Y29yZUZyYW1lKCk7CisgICAgaWYgKGNvcmVGcmFt
ZSkKKyAgICAgICAgY29yZUZyYW1lLT5sb2FkZXIoKS0+c2V0T3BlbmVyKDApOwogfQogCiB1bnNp
Z25lZCBXS0J1bmRsZUZyYW1lR2V0TnVtYmVyT2ZBY3RpdmVBbmltYXRpb25zKFdLQnVuZGxlRnJh
bWVSZWYgZnJhbWVSZWYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5oCmluZGV4IDNjN2M1MmQu
LjYxYWIzNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5oCkBAIC00MCw2ICs0MCw4IEBA
IFdLX0VYUE9SVCBXS1R5cGVJRCBXS0J1bmRsZUZyYW1lR2V0VHlwZUlEKCk7CiBXS19FWFBPUlQg
Ym9vbCBXS0J1bmRsZUZyYW1lSXNNYWluRnJhbWUoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSk7CiBX
S19FWFBPUlQgV0tBcnJheVJlZiBXS0J1bmRsZUZyYW1lQ29weUNoaWxkRnJhbWVzKFdLQnVuZGxl
RnJhbWVSZWYgZnJhbWUpOwogCitXS19FWFBPUlQgdm9pZCBXS0J1bmRsZUZyYW1lUmVzZXRPcGVu
ZXIoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSk7CisKIFdLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS0J1
bmRsZUZyYW1lQ29weU5hbWUoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSk7CiBXS19FWFBPUlQgV0tV
UkxSZWYgV0tCdW5kbGVGcmFtZUNvcHlVUkwoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSk7CiBXS19F
WFBPUlQgV0tVUkxSZWYgV0tCdW5kbGVGcmFtZUNvcHlQcm92aXNpb25hbFVSTChXS0J1bmRsZUZy
YW1lUmVmIGZyYW1lKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA0MmIwYTFjLi5jNGJjZTI0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDItMjIgIFZzZXZv
bG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVtcFJlbmRlclRyZWUgc2hvdWxkIHJlc2V0IGZy
YW1lIG9wZW5lciBiZXR3ZWVuIHRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OnJlc2V0VGVzdENvbnRyb2xs
ZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHA6Cisg
ICAgICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldFdlYlZpZXdU
b0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRy
ZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXRXZWJWaWV3
VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJl
c2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMpOgorCiAyMDExLTAyLTIxICBMdWthc3ogU2xhY2hj
aWFrICA8bC5zbGFjaGNpYWtAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50
b25pbyBHb21lcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3Bw
CmluZGV4IGQ4ODhlN2MuLmFlMDEwMTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFNoZWxsLmNwcApAQCAtMjI2LDYgKzIyNiw3IEBAIHZvaWQgVGVzdFNoZWxsOjpyZXNl
dFRlc3RDb250cm9sbGVyKCkKICAgICBtX2RydERldlRvb2xzQWdlbnQtPnJlc2V0KCk7CiAgICAg
aWYgKG1fZHJ0RGV2VG9vbHNDbGllbnQpCiAgICAgICAgIG1fZHJ0RGV2VG9vbHNDbGllbnQtPnJl
c2V0KCk7CisgICAgd2ViVmlldygpLT5tYWluRnJhbWUoKS0+cmVzZXRPcGVuZXIoKTsKIH0KIAog
dm9pZCBUZXN0U2hlbGw6OmxvYWRVUkwoY29uc3QgV2ViVVJMJiB1cmwpCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCA3OWM3OTRhLi5jYTg3MjY0IDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTQ1Nyw2
ICs0NTcsOCBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKCkK
IAogICAgIGlmIChheENvbnRyb2xsZXIpCiAgICAgICAgIGF4Q29udHJvbGxlci0+cmVzZXRUb0Nv
bnNpc3RlbnRTdGF0ZSgpOworCisgICAgd2Via2l0X3dlYl9mcmFtZV9yZXNldF9vcGVuZXIobWFp
bkZyYW1lKTsKIH0KIAogc3RhdGljIGJvb2wgdXNlTG9uZ1J1bm5pbmdTZXJ2ZXJNb2RlKGludCBh
cmdjLCBjaGFyICphcmd2W10pCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0KaW5kZXggOGYwMTFkZC4uYzVkZTFiMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtMTAzMiw2ICsxMDMyLDggQEAgc3RhdGljIHZvaWQgcmVz
ZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKCkKICAgICAKICAgICAvLyBD
bGVhciB0aGUgY29udGVudHMgb2YgdGhlIGdlbmVyYWwgcGFzdGVib2FyZAogICAgIFtbTlNQYXN0
ZWJvYXJkIGdlbmVyYWxQYXN0ZWJvYXJkXSBkZWNsYXJlVHlwZXM6W05TQXJyYXkgYXJyYXlXaXRo
T2JqZWN0Ok5TU3RyaW5nUGJvYXJkVHlwZV0gb3duZXI6bmlsXTsKKworICAgIFttYWluRnJhbWUg
cmVzZXRPcGVuZXJdOwogfQogCiBzdGF0aWMgdm9pZCBydW5UZXN0KGNvbnN0IHN0cmluZyYgdGVz
dFBhdGhPclVSTCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5k
ZXJUcmVlUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5j
cHAKaW5kZXggNjFiMmE5Yi4uNjUyZGY0YiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5jcHAKQEAgLTU4MCw2ICs1ODAsOCBAQCB2b2lkIER1bXBSZW5kZXJU
cmVlOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyhjb25zdCBRVXJsJiB1cmwp
CiAjaWZuZGVmIFFfT1NfV0lOQ0UKICAgICBzZXRsb2NhbGUoTENfQUxMLCAiIik7CiAjZW5kaWYK
KworICAgIG1fcGFnZS0+bWFpbkZyYW1lKCktPnJlc2V0T3BlbmVyKCk7CiB9CiAKIHN0YXRpYyBi
b29sIGlzR2xvYmFsSGlzdG9yeVRlc3QoY29uc3QgUVVybCYgdXJsKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggMzM1MzMxZi4uM2I0NjY1MyAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCkBAIC04OTAsNiAr
ODkwLDkgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVU
ZXN0aW5nKCkKICAgICBzaGFyZWRVSURlbGVnYXRlLT5yZXNldFVuZG9NYW5hZ2VyKCk7CiAKICAg
ICBzaGFyZWRGcmFtZUxvYWREZWxlZ2F0ZS0+cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworCisg
ICAgaWYgKEZBSUxFRChmcmFtZS0+cmVzZXRPcGVuZXIoKSkpCisgICAgICAgIHJldHVybjsKIH0K
IAogc3RhdGljIHZvaWQgcnVuVGVzdChjb25zdCBzdHJpbmcmIHRlc3RQYXRoT3JVUkwpCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDQxM2FlMzAuLjRmYjVl
MjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC0zNjgs
NiArMzY4LDggQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZh
bHVlcygpCiAKICAgICBtX21haW5XZWJWaWV3LT5mb2N1cygpOwogCisgICAgV0tCdW5kbGVGcmFt
ZVJlc2V0T3BlbmVyKFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShtX21haW5XZWJWaWV3LT5wYWdl
KCkpKTsKKwogICAgIC8vIFJlc2V0IG1haW4gcGFnZSBiYWNrIHRvIGFib3V0OmJsYW5rCiAgICAg
bV9kb25lUmVzZXR0aW5nID0gZmFsc2U7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83322</attachid>
            <date>2011-02-22 08:45:18 -0800</date>
            <delta_ts>2011-02-22 14:05:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>reset</filename>
            <type>text/plain</type>
            <size>16468</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkMzE4NGNlLi42MTY4MDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTEtMDItMjIgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVtcFJlbmRl
clRyZWUgc2hvdWxkIHJlc2V0IGZyYW1lIG9wZW5lciBiZXR3ZWVuIHRlc3RzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQKKworICAgICAgICBO
byBuZXcgdGVzdHMuIChubyBjb2RlIGFmZmVjdGVkKQorCisgICAgICAgICogV2ViQ29yZS5leHAu
aW46CisKIDIwMTEtMDItMjIgIFN0ZXZlIExhY2V5ICA8c2psQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDIw
MDJiYjkuLjg1NTJlNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzgsNiArMTc4LDcgQEAg
X19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRsb2FkRVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFUktO
M1dURjZTdHJpbmdFYgogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRsb2FkRVJLTlNfMTVSZXNv
dXJjZVJlcXVlc3RFUktOU18xNFN1YnN0aXR1dGVEYXRhRWIKIF9fWk43V2ViQ29yZTExRnJhbWVM
b2FkZXI0bG9hZEVSS05TXzE1UmVzb3VyY2VSZXF1ZXN0RWIKIF9fWk43V2ViQ29yZTExRnJhbWVM
b2FkZXI2cmVsb2FkRWIKK19fWk43V2ViQ29yZTExRnJhbWVMb2FkZXI5c2V0T3BlbmVyRVBOU181
RnJhbWVFCiBfX1pON1dlYkNvcmUxMUdlb2xvY2F0aW9uMTJzZXRJc0FsbG93ZWRFYgogX19aTjdX
ZWJDb3JlMTFHZW9sb2NhdGlvbkQxRXYKIF9fWk43V2ViQ29yZTExSGlzdG9yeUl0ZW0xMHRhcmdl
dEl0ZW1FdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAyNjkxYjc4Li5hOTIxMTNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTAyLTIyICBW
c2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER1bXBSZW5kZXJUcmVlIHNob3VsZCByZXNl
dCBmcmFtZSBvcGVuZXIgYmV0d2VlbiB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODc0CisKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUu
aDoKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVJbXBsOjpyZXNldE9wZW5lcik6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgor
CiAyMDExLTAyLTIxICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJGcmFtZS5oCmluZGV4IDg2ZmRlYzIuLjc2NmFiMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViRnJhbWUuaApAQCAtMTY5LDYgKzE2OSw5IEBAIHB1YmxpYzoKICAgICAv
LyBSZXR1cm5zIHRoZSBmcmFtZSB0aGF0IG9wZW5lZCB0aGlzIGZyYW1lIG9yIDAgaWYgdGhlcmUg
aXMgbm9uZS4KICAgICB2aXJ0dWFsIFdlYkZyYW1lKiBvcGVuZXIoKSBjb25zdCA9IDA7CiAKKyAg
ICAvLyBSZXNldCB0aGUgZnJhbWUgdGhhdCBvcGVuZWQgdGhpcyBmcmFtZSB0byAwLgorICAgIHZp
cnR1YWwgdm9pZCByZXNldE9wZW5lcigpID0gMDsKKwogICAgIC8vIFJldHVybnMgdGhlIHBhcmVu
dCBmcmFtZSBvciAwIGlmIHRoaXMgaXMgYSB0b3AtbW9zdCBmcmFtZS4KICAgICB2aXJ0dWFsIFdl
YkZyYW1lKiBwYXJlbnQoKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IDg0OWI1NWMuLjQ4OWE0ODUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAtNTc5LDYgKzU3OSwxMSBAQCBX
ZWJWaWV3KiBXZWJGcmFtZUltcGw6OnZpZXcoKSBjb25zdAogICAgIHJldHVybiB2aWV3SW1wbCgp
OwogfQogCit2b2lkIFdlYkZyYW1lSW1wbDo6cmVzZXRPcGVuZXIoKQoreworICAgIG1fZnJhbWUt
PmxvYWRlcigpLT5zZXRPcGVuZXIoMCk7Cit9CisKIFdlYkZyYW1lKiBXZWJGcmFtZUltcGw6Om9w
ZW5lcigpIGNvbnN0CiB7CiAgICAgRnJhbWUqIG9wZW5lciA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCmluZGV4IDU1YTlmNTQuLmZiOTNlMjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBAIC04MCw2ICs4MCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaGFzVmlzaWJsZUNvbnRlbnQoKSBjb25zdDsKICAgICB2
aXJ0dWFsIFdlYlZpZXcqIHZpZXcoKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYkZyYW1lKiBvcGVu
ZXIoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzZXRPcGVuZXIoKTsKICAgICB2aXJ0dWFs
IFdlYkZyYW1lKiBwYXJlbnQoKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYkZyYW1lKiB0b3AoKSBj
b25zdDsKICAgICB2aXJ0dWFsIFdlYkZyYW1lKiBmaXJzdENoaWxkKCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKaW5kZXggMzcwZDFmZS4uOTExNDgwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDExLTAyLTIyICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER1bXBS
ZW5kZXJUcmVlIHNob3VsZCByZXNldCBmcmFtZSBvcGVuZXIgYmV0d2VlbiB0ZXN0cy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODc0CisKKyAgICAg
ICAgKiB3ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwOgorICAgICAgICAod2Via2l0X3dlYl9mcmFt
ZV9yZXNldF9vcGVuZXIpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJmcmFtZS5oOgorCiAy
MDExLTAyLTIxICBBbGVqYW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2ViZnJhbWUuY3BwCmluZGV4IGZkOTBhNmMuLjFiOTBjOTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmNwcApAQCAtNDk2LDYgKzQ5NiwxOSBAQCBHX0NP
TlNUX1JFVFVSTiBnY2hhciogd2Via2l0X3dlYl9mcmFtZV9nZXRfbmFtZShXZWJLaXRXZWJGcmFt
ZSogZnJhbWUpCiB9CiAKIC8qKgorICogd2Via2l0X3dlYl9mcmFtZV9yZXNldF9vcGVuZXI6Cisg
KiBAZnJhbWU6IGEgI1dlYktpdFdlYkZyYW1lCisgKgorICogUmVzZXRzIGZyYW1lIG9wZW5lciB0
byBOVUxMCisgKi8KK3ZvaWQgd2Via2l0X3dlYl9mcmFtZV9yZXNldF9vcGVuZXIoV2ViS2l0V2Vi
RnJhbWUqIGZyYW1lKQoreworICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBjb3JlKGZyYW1lKTsKKyAg
ICBpZiAoY29yZUZyYW1lKQorICAgICAgICBjb3JlRnJhbWUtPmxvYWRlcigpLT5zZXRPcGVuZXIo
TlVMTCk7Cit9CisKKy8qKgogICogd2Via2l0X3dlYl9mcmFtZV9nZXRfcGFyZW50OgogICogQGZy
YW1lOiBhICNXZWJLaXRXZWJGcmFtZQogICoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5oIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYmZyYW1lLmgKaW5kZXggMjhkNzExMy4uODVlMDA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYmZyYW1lLmgKQEAgLTEwOCw2ICsxMDgsOSBAQCB3ZWJraXRfd2ViX2Zy
YW1lX2dldF90aXRsZSAgICAgICAgICAoV2ViS2l0V2ViRnJhbWUgICAgICAgKmZyYW1lKTsKIFdF
QktJVF9BUEkgR19DT05TVF9SRVRVUk4gZ2NoYXIgKgogd2Via2l0X3dlYl9mcmFtZV9nZXRfdXJp
ICAgICAgICAgICAgKFdlYktpdFdlYkZyYW1lICAgICAgICpmcmFtZSk7CiAKK1dFQktJVF9BUEkg
dm9pZAord2Via2l0X3dlYl9mcmFtZV9yZXNldF9vcGVuZXIgICAgICAgKFdlYktpdFdlYkZyYW1l
ICAgICAgICpmcmFtZSk7CisKIFdFQktJVF9BUEkgV2ViS2l0V2ViRnJhbWUqCiB3ZWJraXRfd2Vi
X2ZyYW1lX2dldF9wYXJlbnQgICAgICAgICAoV2ViS2l0V2ViRnJhbWUgICAgICAgKmZyYW1lKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IGY0ZGViZjguLjdkYjQ5YzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMi0yMiAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBEdW1wUmVuZGVyVHJlZSBzaG91bGQgcmVzZXQgZnJhbWUgb3BlbmVyIGJldHdlZW4gdGVz
dHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDg3
NAorCisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
RnJhbWUubW06CisgICAgICAgICgtW1dlYkZyYW1lIHJlc2V0T3BlbmVyXSk6CisKIDIwMTEtMDIt
MTcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLmgKaW5kZXggNjQw
MTVmZC4uODcxM2FjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJG
cmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUuaApAQCAtMTg5
LDYgKzE4OSwxMiBAQAogLSAoV2ViRnJhbWUgKilmaW5kRnJhbWVOYW1lZDooTlNTdHJpbmcgKilu
YW1lOwogCiAvKiEKKyAgICBAbWV0aG9kIHJlc2V0T3BlbmVyCisgICAgQGRpc2N1c3Npb24gUmVz
ZXRzIG1haW5GcmFtZSBvcGVuZXIgdG8gMAorKi8KKy0gKHZvaWQpcmVzZXRPcGVuZXI7CisKKy8q
IQogICAgIEBtZXRob2QgcGFyZW50RnJhbWUKICAgICBAcmVzdWx0IFRoZSBmcmFtZSBjb250YWlu
aW5nIHRoaXMgZnJhbWUsIG9yIG5pbCBpZiB0aGlzIGlzIGEgdG9wIGxldmVsIGZyYW1lLgogKi8K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCmluZGV4IDZmYzBjZDMuLjIzZDFlYTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQpAQCAtMTU4MSw2ICsxNTgxLDEz
IEBAIHN0YXRpYyBOU1VSTCAqY3JlYXRlVW5pcXVlV2ViRGF0YVVSTCgpCiAgICAgcmV0dXJuIGtp
dChjb3JlRnJhbWUtPnRyZWUoKS0+ZmluZChuYW1lKSk7CiB9CiAKKy0gKHZvaWQpcmVzZXRPcGVu
ZXIKK3sKKyAgICBGcmFtZSogY29yZUZyYW1lID0gX3ByaXZhdGUtPmNvcmVGcmFtZTsKKyAgICBp
ZiAoY29yZUZyYW1lKQorICAgICAgICBjb3JlRnJhbWUtPmxvYWRlcigpLT5zZXRPcGVuZXIoMCk7
Cit9CisKIC0gKFdlYkZyYW1lICopcGFyZW50RnJhbWUKIHsKICAgICBGcmFtZSogY29yZUZyYW1l
ID0gX3ByaXZhdGUtPmNvcmVGcmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBp
L3F3ZWJmcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwCmluZGV4
IGFiMzg1NGQuLjBhNzY1OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJm
cmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcApAQCAtOTg5
LDYgKzk4OSwxNCBAQCB2b2lkIFFXZWJGcmFtZTo6c2V0Q29udGVudChjb25zdCBRQnl0ZUFycmF5
ICZkYXRhLCBjb25zdCBRU3RyaW5nICZtaW1lVHlwZSwgY29ucwogfQogCiAvKiEKKyAgUmVzZXRz
IHRoZSBmcmFtZSBvcGVuZXIgdG8gMC4KKyovCit2b2lkIFFXZWJGcmFtZTo6cmVzZXRPcGVuZXIo
KQoreworICAgIHJldHVybiBkLT5mcmFtZS0+bG9hZGVyLT5zZXRPcGVuZXIoMCk7Cit9CisKKy8q
IQogICBSZXR1cm5zIHRoZSBwYXJlbnQgZnJhbWUgb2YgdGhpcyBmcmFtZSwgb3IgMCBpZiB0aGUg
ZnJhbWUgaXMgdGhlIHdlYiBwYWdlcwogICBtYWluIGZyYW1lLgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJm
cmFtZS5oCmluZGV4IDg0MTA5NjIuLmEzZTdjZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvQXBpL3F3ZWJmcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5o
CkBAIC0xNDYsNiArMTQ2LDggQEAgcHVibGljOgogCiAgICAgUVN0cmluZyBmcmFtZU5hbWUoKSBj
b25zdDsKIAorICAgIHZvaWQgcmVzZXRPcGVuZXIoKTsKKwogICAgIFFXZWJGcmFtZSAqcGFyZW50
RnJhbWUoKSBjb25zdDsKICAgICBRTGlzdDxRV2ViRnJhbWUqPiBjaGlsZEZyYW1lcygpIGNvbnN0
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nCmluZGV4IGM1MzBmMDguLjExNWE0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTEtMDItMjIgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRHVtcFJlbmRlclRyZWUgc2hvdWxkIHJlc2V0IGZyYW1lIG9wZW5lciBiZXR3ZWVuIHRlc3Rz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQK
KworICAgICAgICAqIEFwaS9xd2ViZnJhbWUuY3BwOgorICAgICAgICAoUVdlYkZyYW1lOjpyZXNl
dE9wZW5lcik6CisgICAgICAgICogQXBpL3F3ZWJmcmFtZS5oOgorCiAyMDExLTAyLTE3ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQg
VGFtdXJhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDQ3YjE4MWUuLmJlMGYzYjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMi0yMiAgVnNldm9sb2QgVmxhc292ICA8dnNl
dmlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBEdW1wUmVuZGVyVHJlZSBzaG91bGQgcmVzZXQgZnJhbWUgb3BlbmVyIGJldHdl
ZW4gdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NDg3NAorCisgICAgICAgICogV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViRnJhbWU6OnJl
c2V0T3BlbmVyKToKKyAgICAgICAgKiBXZWJGcmFtZS5oOgorCiAyMDExLTAyLTE5ICBDaGFybGll
IFJlaXMgIDxjcmVpc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWloYWkg
UGFycGFyaXRhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwIGIv
U291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCmluZGV4IDgwYjkxY2QuLjYwYTJjMjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJGcmFtZS5jcHAKQEAgLTc0OSw2ICs3NDksMTUgQEAgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBXZWJGcmFtZTo6ZmluZEZyYW1lTmFtZWQoCiAgICAgcmV0dXJuIGZvdW5kV2Vi
RnJhbWUtPlF1ZXJ5SW50ZXJmYWNlKElJRF9JV2ViRnJhbWUsICh2b2lkKiopZnJhbWUpOwogfQog
CitIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkZyYW1lOjpyZXNldE9wZW5lciggdm9pZCkK
K3sKKyAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICBpZiAoRnJhbWUqIGNvcmVGcmFtZSA9IGNv
cmUodGhpcykpCisgICAgICAgIGNvcmVGcmFtZS0+bG9hZGVyKCktPnNldE9wZW5lcigwKTsKKwor
ICAgIHJldHVybiBocjsKK30KKwogSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJGcmFtZTo6
cGFyZW50RnJhbWUoIAogICAgIC8qIFtyZXR2YWxdW291dF0gKi8gSVdlYkZyYW1lKiogZnJhbWUp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5oIGIvU291cmNlL1dl
YktpdC93aW4vV2ViRnJhbWUuaAppbmRleCAwMDk1NTkwLi5lMTQ1M2MxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZy
YW1lLmgKQEAgLTE0Myw2ICsxNDMsOCBAQCBwdWJsaWM6CiAgICAgICAgIC8qIFtpbl0gKi8gQlNU
UiBuYW1lLAogICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIElXZWJGcmFtZSAqKmZyYW1lKTsK
ICAgICAKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcmVzZXRPcGVuZXIo
IHZvaWQpOworCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHBhcmVudEZy
YW1lKCAKICAgICAgICAgLyogW3JldHZhbF1bb3V0XSAqLyBJV2ViRnJhbWUgKipmcmFtZSk7CiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggMDM2OTM2OS4uMjYxOWRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDExLTAyLTIyICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER1bXBS
ZW5kZXJUcmVlIHNob3VsZCByZXNldCBmcmFtZSBvcGVuZXIgYmV0d2VlbiB0ZXN0cy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODc0CisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuY3BwOgor
ICAgICAgICAoV0tCdW5kbGVGcmFtZUNvcHlDaGlsZEZyYW1lcyk6CisgICAgICAgIChXS0J1bmRs
ZUZyYW1lUmVzZXRPcGVuZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVGcmFtZS5oOgorCiAyMDExLTAyLTIyICBTaGVyaWZmIEJvdCAgPHdlYmtp
dC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByNzkyOTYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmNwcAppbmRleCA4MmY2MTZhLi43
NTI5YmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5jcHAKQEAgLTgxLDcgKzgxLDE0
IEBAIFdLRnJhbWVMb2FkU3RhdGUgV0tCdW5kbGVGcmFtZUdldEZyYW1lTG9hZFN0YXRlKFdLQnVu
ZGxlRnJhbWVSZWYgZnJhbWVSZWYpCiAKIFdLQXJyYXlSZWYgV0tCdW5kbGVGcmFtZUNvcHlDaGls
ZEZyYW1lcyhXS0J1bmRsZUZyYW1lUmVmIGZyYW1lUmVmKQogewotICAgIHJldHVybiB0b0FQSSh0
b0ltcGwoZnJhbWVSZWYpLT5jaGlsZEZyYW1lcygpLnJlbGVhc2VSZWYoKSk7ICAgIAorICAgIHJl
dHVybiB0b0FQSSh0b0ltcGwoZnJhbWVSZWYpLT5jaGlsZEZyYW1lcygpLnJlbGVhc2VSZWYoKSk7
Cit9CisKK3ZvaWQgV0tCdW5kbGVGcmFtZVJlc2V0T3BlbmVyKFdLQnVuZGxlRnJhbWVSZWYgZnJh
bWVSZWYpCit7CisgICAgRnJhbWUqIGNvcmVGcmFtZSA9IHRvSW1wbChmcmFtZVJlZiktPmNvcmVG
cmFtZSgpOworICAgIGlmIChjb3JlRnJhbWUpCisgICAgICAgIGNvcmVGcmFtZS0+bG9hZGVyKCkt
PnNldE9wZW5lcigwKTsKIH0KIAogdW5zaWduZWQgV0tCdW5kbGVGcmFtZUdldE51bWJlck9mQWN0
aXZlQW5pbWF0aW9ucyhXS0J1bmRsZUZyYW1lUmVmIGZyYW1lUmVmKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1l
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlRnJhbWUuaAppbmRleCAzYzdjNTJkLi42MWFiMzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
RnJhbWUuaApAQCAtNDAsNiArNDAsOCBAQCBXS19FWFBPUlQgV0tUeXBlSUQgV0tCdW5kbGVGcmFt
ZUdldFR5cGVJRCgpOwogV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVGcmFtZUlzTWFpbkZyYW1lKFdL
QnVuZGxlRnJhbWVSZWYgZnJhbWUpOwogV0tfRVhQT1JUIFdLQXJyYXlSZWYgV0tCdW5kbGVGcmFt
ZUNvcHlDaGlsZEZyYW1lcyhXS0J1bmRsZUZyYW1lUmVmIGZyYW1lKTsKIAorV0tfRVhQT1JUIHZv
aWQgV0tCdW5kbGVGcmFtZVJlc2V0T3BlbmVyKFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUpOworCiBX
S19FWFBPUlQgV0tTdHJpbmdSZWYgV0tCdW5kbGVGcmFtZUNvcHlOYW1lKFdLQnVuZGxlRnJhbWVS
ZWYgZnJhbWUpOwogV0tfRVhQT1JUIFdLVVJMUmVmIFdLQnVuZGxlRnJhbWVDb3B5VVJMKFdLQnVu
ZGxlRnJhbWVSZWYgZnJhbWUpOwogV0tfRVhQT1JUIFdLVVJMUmVmIFdLQnVuZGxlRnJhbWVDb3B5
UHJvdmlzaW9uYWxVUkwoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSk7CmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDJiMGExYy4uYzRiY2UyNCAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIzIEBACisyMDExLTAyLTIyICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER1bXBS
ZW5kZXJUcmVlIHNob3VsZCByZXNldCBmcmFtZSBvcGVuZXIgYmV0d2VlbiB0ZXN0cy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODc0CisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwOgorICAgICAgICAoVGVz
dFNoZWxsOjpyZXNldFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9n
dGsvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVu
dFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1t
OgorICAgICAgICAocmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3Jl
VGVzdGluZyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNw
cDoKKyAgICAgICAgKHJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyk6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKToKKwog
MjAxMS0wMi0yMSAgTHVrYXN6IFNsYWNoY2lhayAgPGwuc2xhY2hjaWFrQHNhbXN1bmcuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAppbmRleCBkODg4ZTdjLi5hZTAxMDE3IDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTIyNiw2ICsyMjYs
NyBAQCB2b2lkIFRlc3RTaGVsbDo6cmVzZXRUZXN0Q29udHJvbGxlcigpCiAgICAgbV9kcnREZXZU
b29sc0FnZW50LT5yZXNldCgpOwogICAgIGlmIChtX2RydERldlRvb2xzQ2xpZW50KQogICAgICAg
ICBtX2RydERldlRvb2xzQ2xpZW50LT5yZXNldCgpOworICAgIHdlYlZpZXcoKS0+bWFpbkZyYW1l
KCktPnJlc2V0T3BlbmVyKCk7CiB9CiAKIHZvaWQgVGVzdFNoZWxsOjpsb2FkVVJMKGNvbnN0IFdl
YlVSTCYgdXJsKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5k
ZXJUcmVlLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAK
aW5kZXggNzljNzk0YS4uY2E4NzI2NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Z3RrL0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVt
cFJlbmRlclRyZWUuY3BwCkBAIC00NTcsNiArNDU3LDggQEAgc3RhdGljIHZvaWQgcmVzZXREZWZh
dWx0c1RvQ29uc2lzdGVudFZhbHVlcygpCiAKICAgICBpZiAoYXhDb250cm9sbGVyKQogICAgICAg
ICBheENvbnRyb2xsZXItPnJlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKworICAgIHdlYmtpdF93
ZWJfZnJhbWVfcmVzZXRfb3BlbmVyKG1haW5GcmFtZSk7CiB9CiAKIHN0YXRpYyBib29sIHVzZUxv
bmdSdW5uaW5nU2VydmVyTW9kZShpbnQgYXJnYywgY2hhciAqYXJndltdKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDhmMDExZGQuLmM1ZGUxYjAgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTEwMzIsNiAr
MTAzMiw4IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3Jl
VGVzdGluZygpCiAgICAgCiAgICAgLy8gQ2xlYXIgdGhlIGNvbnRlbnRzIG9mIHRoZSBnZW5lcmFs
IHBhc3RlYm9hcmQKICAgICBbW05TUGFzdGVib2FyZCBnZW5lcmFsUGFzdGVib2FyZF0gZGVjbGFy
ZVR5cGVzOltOU0FycmF5IGFycmF5V2l0aE9iamVjdDpOU1N0cmluZ1Bib2FyZFR5cGVdIG93bmVy
Om5pbF07CisKKyAgICBbbWFpbkZyYW1lIHJlc2V0T3BlbmVyXTsKIH0KIAogc3RhdGljIHZvaWQg
cnVuVGVzdChjb25zdCBzdHJpbmcmIHRlc3RQYXRoT3JVUkwpCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCmluZGV4IDYxYjJhOWIuLjY1MmRmNGIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCkBAIC01ODAsNiAr
NTgwLDggQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9y
ZVRlc3RpbmcoY29uc3QgUVVybCYgdXJsKQogI2lmbmRlZiBRX09TX1dJTkNFCiAgICAgc2V0bG9j
YWxlKExDX0FMTCwgIiIpOwogI2VuZGlmCisKKyAgICBtX3BhZ2UtPm1haW5GcmFtZSgpLT5yZXNl
dE9wZW5lcigpOwogfQogCiBzdGF0aWMgYm9vbCBpc0dsb2JhbEhpc3RvcnlUZXN0KGNvbnN0IFFV
cmwmIHVybCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVy
VHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCmlu
ZGV4IDMzNTMzMWYuLjNiNDY2NTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcApAQCAtODkwLDYgKzg5MCw5IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViVmll
d1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZygpCiAgICAgc2hhcmVkVUlEZWxlZ2F0ZS0+
cmVzZXRVbmRvTWFuYWdlcigpOwogCiAgICAgc2hhcmVkRnJhbWVMb2FkRGVsZWdhdGUtPnJlc2V0
VG9Db25zaXN0ZW50U3RhdGUoKTsKKworICAgIGlmIChGQUlMRUQoZnJhbWUtPnJlc2V0T3BlbmVy
KCkpKQorICAgICAgICByZXR1cm47CiB9CiAKIHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3Ry
aW5nJiB0ZXN0UGF0aE9yVVJMKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcAppbmRleCA0MTNhZTMwLi40ZmI1ZTIyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcApAQCAtMzY4LDYgKzM2OCw4IEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6
OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoKQogCiAgICAgbV9tYWluV2ViVmlldy0+Zm9j
dXMoKTsKIAorICAgIFdLQnVuZGxlRnJhbWVSZXNldE9wZW5lcihXS0J1bmRsZVBhZ2VHZXRNYWlu
RnJhbWUobV9tYWluV2ViVmlldy0+cGFnZSgpKSk7CisKICAgICAvLyBSZXNldCBtYWluIHBhZ2Ug
YmFjayB0byBhYm91dDpibGFuawogICAgIG1fZG9uZVJlc2V0dGluZyA9IGZhbHNlOwogCg==
</data>
<flag name="review"
          id="75109"
          type_id="1"
          status="-"
          setter="ap"
    />
    <flag name="commit-queue"
          id="75110"
          type_id="3"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83383</attachid>
            <date>2011-02-22 14:05:46 -0800</date>
            <delta_ts>2011-02-23 13:27:41 -0800</delta_ts>
            <desc>Patch with fixes</desc>
            <filename>reset</filename>
            <type>text/plain</type>
            <size>18818</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkMzE4NGNlLi5iYjc3OTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTEtMDItMjIgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVtcFJlbmRl
clRyZWUgc2hvdWxkIHJlc2V0IGZyYW1lIG9wZW5lciBiZXR3ZWVuIHRlc3RzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQKKworICAgICAgICBO
byBuZXcgdGVzdHMuIChubyBjb2RlIGFmZmVjdGVkLCBqdXN0IGV4cG9ydGluZyBhIG1ldGhvZCBm
b3IgRHVtcFJlbmRlclRyZWUgdXNlKQorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisKIDIw
MTEtMDItMjIgIFN0ZXZlIExhY2V5ICA8c2psQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBGaXNoZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDIwMDJiYjkuLjg1
NTJlNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzgsNiArMTc4LDcgQEAgX19aTjdXZWJD
b3JlMTFGcmFtZUxvYWRlcjRsb2FkRVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFUktOM1dURjZTdHJp
bmdFYgogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRsb2FkRVJLTlNfMTVSZXNvdXJjZVJlcXVl
c3RFUktOU18xNFN1YnN0aXR1dGVEYXRhRWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXI0bG9h
ZEVSS05TXzE1UmVzb3VyY2VSZXF1ZXN0RWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXI2cmVs
b2FkRWIKK19fWk43V2ViQ29yZTExRnJhbWVMb2FkZXI5c2V0T3BlbmVyRVBOU181RnJhbWVFCiBf
X1pON1dlYkNvcmUxMUdlb2xvY2F0aW9uMTJzZXRJc0FsbG93ZWRFYgogX19aTjdXZWJDb3JlMTFH
ZW9sb2NhdGlvbkQxRXYKIF9fWk43V2ViQ29yZTExSGlzdG9yeUl0ZW0xMHRhcmdldEl0ZW1Fdgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAyNjkxYjc4Li44MjljM2Y0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAyLTIyICBWc2V2b2xvZCBW
bGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIER1bXBSZW5kZXJUcmVlIHNob3VsZCByZXNldCBmcmFtZSBv
cGVuZXIgYmV0d2VlbiB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTU0ODc0CisKKyAgICAgICAgQWRkZWQgY2xlYXJPcGVuZXIgbWV0aG9kIHRv
IFdlYkZyYW1lLgorCisgICAgICAgICogcHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogc3Jj
L1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y2xlYXJP
cGVuZXIpOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuaDoKKwogMjAxMS0wMi0yMSAgTmlj
byBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFt
ZXMgUm9iaW5zb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJGcmFtZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAppbmRl
eCA4NmZkZWMyLi4xODM0OTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZy
YW1lLmgKQEAgLTE2OSw2ICsxNjksMTAgQEAgcHVibGljOgogICAgIC8vIFJldHVybnMgdGhlIGZy
YW1lIHRoYXQgb3BlbmVkIHRoaXMgZnJhbWUgb3IgMCBpZiB0aGVyZSBpcyBub25lLgogICAgIHZp
cnR1YWwgV2ViRnJhbWUqIG9wZW5lcigpIGNvbnN0ID0gMDsKIAorICAgIC8vIFJlc2V0IHRoZSBm
cmFtZSB0aGF0IG9wZW5lZCB0aGlzIGZyYW1lIHRvIDAuCisgICAgLy8gVGhpcyBpcyBleGVjdXRl
ZCBiZXR3ZWVuIGxheW91dCB0ZXN0cyBydW5zCisgICAgdmlydHVhbCB2b2lkIGNsZWFyT3BlbmVy
KCkgPSAwOworCiAgICAgLy8gUmV0dXJucyB0aGUgcGFyZW50IGZyYW1lIG9yIDAgaWYgdGhpcyBp
cyBhIHRvcC1tb3N0IGZyYW1lLgogICAgIHZpcnR1YWwgV2ViRnJhbWUqIHBhcmVudCgpIGNvbnN0
ID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5k
ZXggODQ5YjU1Yy4uY2ZiYzU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwCkBAIC01NzksNiArNTc5LDExIEBAIFdlYlZpZXcqIFdlYkZyYW1lSW1wbDo6
dmlldygpIGNvbnN0CiAgICAgcmV0dXJuIHZpZXdJbXBsKCk7CiB9CiAKK3ZvaWQgV2ViRnJhbWVJ
bXBsOjpjbGVhck9wZW5lcigpCit7CisgICAgbV9mcmFtZS0+bG9hZGVyKCktPnNldE9wZW5lcigw
KTsKK30KKwogV2ViRnJhbWUqIFdlYkZyYW1lSW1wbDo6b3BlbmVyKCkgY29uc3QKIHsKICAgICBG
cmFtZSogb3BlbmVyID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmgKaW5kZXggNTVhOWY1NC4uMTY5ZGFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmgKQEAgLTgwLDYgKzgwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBoYXNWaXNpYmxlQ29udGVudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgV2ViVmlldyogdmlldygp
IGNvbnN0OwogICAgIHZpcnR1YWwgV2ViRnJhbWUqIG9wZW5lcigpIGNvbnN0OworICAgIHZpcnR1
YWwgdm9pZCBjbGVhck9wZW5lcigpOwogICAgIHZpcnR1YWwgV2ViRnJhbWUqIHBhcmVudCgpIGNv
bnN0OwogICAgIHZpcnR1YWwgV2ViRnJhbWUqIHRvcCgpIGNvbnN0OwogICAgIHZpcnR1YWwgV2Vi
RnJhbWUqIGZpcnN0Q2hpbGQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCAzNzBkMWZlLi43
MWY0YjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDItMjIgIFZz
ZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVtcFJlbmRlclRyZWUgc2hvdWxkIHJlc2V0
IGZyYW1lIG9wZW5lciBiZXR3ZWVuIHRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQKKworICAgICAgICBBZGRlZCBjbGVhck9wZW5lciBt
ZXRob2QgdG8gRHVtcFJlbmRlclRyZWVTdXBwb3J0R1RLLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0azo6Y2xlYXJPcGVuZXIpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oOgorCiAyMDExLTAyLTIxICBBbGVqYW5kcm8gRy4gQ2Fz
dHJvICA8YWxleEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCmluZGV4IGMyMjkyZGEuLjQ3ODlkZGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0R3RrLmNwcApAQCAtNjIyLDYgKzYyMiwxMyBAQCB2b2lkIER1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0azo6ZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydChXZWJLaXRXZWJWaWV3
KiB3ZWJWaQogICAgIGZwcmludGYoc3Rkb3V0LCAidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAl
ZiB3aXRoIGxpbWl0cyBbJWYsICVmXVxuIiwgYXR0cnMubGF5b3V0U2l6ZS53aWR0aCgpLCBhdHRy
cy5sYXlvdXRTaXplLmhlaWdodCgpLCBhdHRycy5pbml0aWFsU2NhbGUsIGF0dHJzLm1pbmltdW1T
Y2FsZSwgYXR0cnMubWF4aW11bVNjYWxlKTsKIH0KIAordm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBv
cnRHdGs6OmNsZWFyT3BlbmVyKFdlYktpdFdlYkZyYW1lKiBmcmFtZSkKK3sKKyAgICBGcmFtZSog
Y29yZUZyYW1lID0gY29yZShmcmFtZSk7CisgICAgaWYgKGNvcmVGcmFtZSkKKyAgICAgICAgY29y
ZUZyYW1lLT5sb2FkZXIoKS0+c2V0T3BlbmVyKDApOworfQorCiB1bnNpZ25lZCBpbnQgRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrOjp3b3JrZXJUaHJlYWRDb3VudCgpCiB7CiAjaWYgRU5BQkxFKFdP
UktFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oCmluZGV4IGZjYjVlOGUuLjkzZWE1YWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydEd0ay5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
SlNWYWx1ZVJlZiBub2Rlc0Zyb21SZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU1ZhbHVlUmVm
IHZhbHVlLCBpbnQgeCwgaW50IHksIHVuc2lnbmVkIHRvcCwgdW5zaWduZWQgcmlnaHQsIHVuc2ln
bmVkIGJvdHRvbSwgdW5zaWduZWQgbGVmdCwgYm9vbCBpZ25vcmVDbGlwcGluZyk7CiAgICAgc3Rh
dGljIHZvaWQgZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydChXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3LCBnaW50IGF2YWlsYWJsZVdpZHRoLCBnaW50IGF2YWlsYWJsZUhlaWdodCk7CiAKKyAgICBz
dGF0aWMgdm9pZCBjbGVhck9wZW5lcihXZWJLaXRXZWJGcmFtZSopOworCiAgICAgLy8gRklYTUU6
IE1vdmUgdGhlc2UgdG8gd2Via2l0d2ViZnJhbWUuaCBvbmNlIHRoZWlyIEFQSSBoYXMgYmVlbiBk
aXNjdXNzZWQuCiAgICAgc3RhdGljIEdTTGlzdCogZ2V0RnJhbWVDaGlsZHJlbihXZWJLaXRXZWJG
cmFtZSopOwogICAgIHN0YXRpYyBXVEY6OkNTdHJpbmcgZ2V0SW5uZXJUZXh0KFdlYktpdFdlYkZy
YW1lKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZjRkZWJmOC4uMmI0OTIxYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAyLTIyICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2
aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIER1bXBSZW5kZXJUcmVlIHNob3VsZCByZXNldCBmcmFtZSBvcGVuZXIgYmV0d2Vl
biB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTU0ODc0CisKKyAgICAgICAgQWRkZWQgY2xlYXJPcGVuZXIgbWV0aG9kIHRvIFdlYkZyYW1lUHJp
dmF0ZS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWUubW06CisgICAgICAgICgtW1dlYkZy
YW1lIF9jbGVhck9wZW5lcl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmg6
CisKIDIwMTEtMDItMTcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkZyYW1lLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFt
ZS5tbQppbmRleCA2ZmMwY2QzLi4wNzY0YTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
RnJhbWUubW0KQEAgLTEzNzQsNiArMTM3NCwxMyBAQCBzdGF0aWMgaW5saW5lIFdlYkRhdGFTb3Vy
Y2UgKmRhdGFTb3VyY2UoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKICNlbmRpZgogfQogCistICh2
b2lkKV9jbGVhck9wZW5lcgoreworICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBfcHJpdmF0ZS0+Y29y
ZUZyYW1lOworICAgIGlmIChjb3JlRnJhbWUpCisgICAgICAgIGNvcmVGcmFtZS0+bG9hZGVyKCkt
PnNldE9wZW5lcigwKTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViRnJhbWUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCmluZGV4IGRkZmE1Y2Mu
Ljc1YjU3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQ
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUu
aApAQCAtMTQ1LDQgKzE0NSw4IEBAIHR5cGVkZWYgZW51bSB7CiAvLyBUaGUgdG9wIG9mIHRoZSBh
Y2Nlc3NpYmlsaXR5IHRyZWUuCiAtIChpZClhY2Nlc3NpYmlsaXR5Um9vdDsKIAorLy8gQ2xlYXJz
IGZyYW1lIG9wZW5lci4gVGhpcyBpcyBleGVjdXRlZCBiZXR3ZWVuIGxheW91dCB0ZXN0cyBydW5z
CistICh2b2lkKV9jbGVhck9wZW5lcjsKKworCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGM1MzBm
MDguLjI1ZDE3MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDItMjIg
IFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVtcFJlbmRlclRyZWUgc2hvdWxkIHJl
c2V0IGZyYW1lIG9wZW5lciBiZXR3ZWVuIHRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQKKworICAgICAgICBBZGRlZCBjbGVhck9wZW5l
ciBtZXRob2QgdG8gRHVtcFJlbmRlclRyZWVTdXBwb3J0UVQuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdDo6Y2xlYXJPcGVuZXIpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydFF0Lmg6CisKIDIwMTEtMDItMTcgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQuY3BwCmluZGV4IDQwMDRhMTkuLjgwZDZiYzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQuY3BwCkBAIC05MTQsNiArOTE0LDEyIEBAIFFTdHJpbmcgRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQ6OnJlc3BvbnNlTWltZVR5cGUoUVdlYkZyYW1lKiBmcmFtZSkKICAgICByZXR1cm4gZG9jTG9h
ZGVyLT5yZXNwb25zZU1JTUVUeXBlKCk7CiB9CiAKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQ6OmNsZWFyT3BlbmVyKFFXZWJGcmFtZSogZnJhbWUpCit7CisgICAgV2ViQ29yZTo6RnJhbWUq
IGNvcmVGcmFtZSA9IFFXZWJGcmFtZVByaXZhdGU6OmNvcmUoZnJhbWUpOworICAgIGNvcmVGcmFt
ZS0+bG9hZGVyKCktPnNldE9wZW5lcigwKTsKK30KKwogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdDo6YWRkVVJMVG9SZWRpcmVjdChjb25zdCBRU3RyaW5nJiBvcmlnaW4sIGNvbnN0IFFTdHJp
bmcmIGRlc3RpbmF0aW9uKQogewogICAgIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OlVSTHNUb1JlZGly
ZWN0W29yaWdpbl0gPSBkZXN0aW5hdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaCBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAppbmRleCBlNjM5NDU2
NS4uNjlmMWI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaApAQCAtMTg4LDYgKzE4OCw3IEBAIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyBRVmFyaWFudExpc3Qgbm9kZXNGcm9tUmVjdChjb25zdCBRV2ViRWxl
bWVudCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25lZCByaWdo
dCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBwaW5nKTsK
ICAgICBzdGF0aWMgUVN0cmluZyByZXNwb25zZU1pbWVUeXBlKFFXZWJGcmFtZSopOworICAgIHN0
YXRpYyB2b2lkIGNsZWFyT3BlbmVyKFFXZWJGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGFkZFVS
TFRvUmVkaXJlY3QoY29uc3QgUVN0cmluZyYgb3JpZ2luLCBjb25zdCBRU3RyaW5nJiBkZXN0aW5h
dGlvbik7CiAgICAgc3RhdGljIFFTdHJpbmdMaXN0IGNvbnRleHRNZW51KFFXZWJQYWdlKik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwppbmRleCA0N2IxODFlLi40YzUzMTllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTEtMDItMjIgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRHVtcFJlbmRlclRyZWUgc2hvdWxkIHJlc2V0IGZyYW1lIG9wZW5lciBiZXR3ZWVuIHRlc3Rz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQK
KworICAgICAgICBBZGRlZCBjbGVhck9wZW5lciBtZXRob2QgdG8gSVdlYkZyYW1lUHJpdmF0ZS4K
KworICAgICAgICAqIEludGVyZmFjZXMvSVdlYkZyYW1lUHJpdmF0ZS5pZGw6CisgICAgICAgICog
V2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViRnJhbWU6OmNsZWFyT3BlbmVyKToKKyAgICAgICAg
KiBXZWJGcmFtZS5oOgorCiAyMDExLTAyLTE5ICBDaGFybGllIFJlaXMgIDxjcmVpc0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWloYWkgUGFycGFyaXRhLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViRnJhbWVQcml2YXRlLmlkbCBiL1Nv
dXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkZyYW1lUHJpdmF0ZS5pZGwKaW5kZXggMjc5
Y2JiZi4uOWExYzMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9J
V2ViRnJhbWVQcml2YXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lX
ZWJGcmFtZVByaXZhdGUuaWRsCkBAIC0xMTksNCArMTE5LDYgQEAgaW50ZXJmYWNlIElXZWJGcmFt
ZVByaXZhdGUgOiBJVW5rbm93bgogICAgIEhSRVNVTFQgbG9hZFBsYWluVGV4dFN0cmluZyhbaW5d
IEJTVFIgc3RyaW5nLCBbaW5dIEJTVFIgdXJsKTsKIAogICAgIEhSRVNVTFQgaGFzU3BlbGxpbmdN
YXJrZXIoW2luXSBVSU5UIGZyb20sIFtpbl0gVUlOVCBsZW5ndGgsIFtvdXQsIHJldHZhbF0gQk9P
TCogcmVzdWx0KTsKKyAgICAKKyAgICBIUkVTVUxUIGNsZWFyT3BlbmVyKCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJGcmFtZS5jcHAKaW5kZXggODBiOTFjZC4uMTZiOWE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNw
cApAQCAtMTAzMyw2ICsxMDMzLDE1IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViRnJh
bWU6Omhhc1NwZWxsaW5nTWFya2VyKAogICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIFdlYkZyYW1lOjpjbGVhck9wZW5lcigpCit7CisgICAgSFJFU1VMVCBo
ciA9IFNfT0s7CisgICAgaWYgKEZyYW1lKiBjb3JlRnJhbWUgPSBjb3JlKHRoaXMpKQorICAgICAg
ICBjb3JlRnJhbWUtPmxvYWRlcigpLT5zZXRPcGVuZXIoMCk7CisKKyAgICByZXR1cm4gaHI7Cit9
CisKIC8vIElXZWJEb2N1bWVudFRleHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBX
ZWJGcmFtZTo6c3VwcG9ydHNUZXh0RW5jb2RpbmcoIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vV2ViRnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmgKaW5kZXggMDA5
NTU5MC4uNzFmOWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5oCkBAIC0yNzgsNiArMjc4LDggQEAgcHVi
bGljOgogICAgICAgICAvKiBbaW5dICovIFVJTlQgbGVuZ3RoLAogICAgICAgICAvKiBbcmV0dmFs
XVtvdXRdICovIEJPT0wgKnJlc3VsdCk7CiAKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgY2xlYXJPcGVuZXIoKTsKKwogICAgIC8vIElXZWJEb2N1bWVudFRleHQKICAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc3VwcG9ydHNUZXh0RW5jb2RpbmcoIAog
ICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wqIHJlc3VsdCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
MDM2OTM2OS4uNmFkMzIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAyLTIy
ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER1bXBSZW5kZXJUcmVlIHNob3VsZCBy
ZXNldCBmcmFtZSBvcGVuZXIgYmV0d2VlbiB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODc0CisKKyAgICAgICAgQWRkZWQgY2xlYXJPcGVu
ZXIgbWV0aG9kIHRvIFdLQnVuZGxlV2ViRnJhbWVQcml2YXRlLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmNwcDoKKyAgICAgICAgKFdL
QnVuZGxlRnJhbWVDbGVhck9wZW5lcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lUHJpdmF0ZS5oOgorCiAyMDExLTAyLTIyICBTaGVyaWZm
IEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByNzkyOTYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmNwcAppbmRl
eCA4MmY2MTZhLi5kZDQ0ZTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5jcHAKQEAg
LTE2NCw2ICsxNjQsMTMgQEAgV0tCdW5kbGVQYWdlUmVmIFdLQnVuZGxlRnJhbWVHZXRQYWdlKFdL
QnVuZGxlRnJhbWVSZWYgZnJhbWVSZWYpCiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChmcmFtZVJl
ZiktPnBhZ2UoKSk7CiB9CiAKK3ZvaWQgV0tCdW5kbGVGcmFtZUNsZWFyT3BlbmVyKFdLQnVuZGxl
RnJhbWVSZWYgZnJhbWVSZWYpCit7CisgICAgRnJhbWUqIGNvcmVGcmFtZSA9IHRvSW1wbChmcmFt
ZVJlZiktPmNvcmVGcmFtZSgpOworICAgIGlmIChjb3JlRnJhbWUpCisgICAgICAgIGNvcmVGcmFt
ZS0+bG9hZGVyKCktPnNldE9wZW5lcigwKTsKK30KKwogV0tTdHJpbmdSZWYgV0tCdW5kbGVGcmFt
ZUNvcHlMYXllclRyZWVBc1RleHQoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZikKIHsKICAgICBy
ZXR1cm4gdG9Db3BpZWRBUEkodG9JbXBsKGZyYW1lUmVmKS0+bGF5ZXJUcmVlQXNUZXh0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZUZyYW1lUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lUHJpdmF0ZS5oCmluZGV4IDNmODNhNjEuLmEz
MWU0YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVGcmFtZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWVQcml2YXRlLmgKQEAgLTQ3
LDYgKzQ3LDcgQEAgV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVGcmFtZVN1c3BlbmRBbmltYXRpb25z
KFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVGcmFtZVJl
c3VtZUFuaW1hdGlvbnMoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSk7CiBXS19FWFBPUlQgdW5zaWdu
ZWQgV0tCdW5kbGVGcmFtZUdldFBlbmRpbmdVbmxvYWRDb3VudChXS0J1bmRsZUZyYW1lUmVmIGZy
YW1lKTsKIFdLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS0J1bmRsZUZyYW1lQ29weUxheWVyVHJlZUFz
VGV4dChXS0J1bmRsZUZyYW1lUmVmIGZyYW1lKTsKK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlRnJh
bWVDbGVhck9wZW5lcihXS0J1bmRsZUZyYW1lUmVmIGZyYW1lKTsKIAogI2lmZGVmIF9fY3BsdXNw
bHVzCiB9CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggNDJiMGExYy4uMGVlNGMyNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDExLTAyLTIyICBWc2V2b2xvZCBWbGFz
b3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIER1bXBSZW5kZXJUcmVlIHNob3VsZCByZXNldCBmcmFtZSBvcGVu
ZXIgYmV0d2VlbiB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU0ODc0CisKKyAgICAgICAgQWRkZWQgY2xlYXJPcGVuZXIoKSBjYWxscyBiZXR3
ZWVuIHRlc3RzLgorICAgICAgICBTb21lIHRlc3RzIGFyZSB1c2luZyB3aW5kb3cub3BlbigpIHRv
IGNoYW5nZSBjdXJyZW50IHdpbmRvdyBsb2NhdGlvbi4KKyAgICAgICAgVGhpcyBjaGFuZ2VzIHdp
bmRvdy5vcGVuZXIgcHJvcGVydHkgd2hvc2UgbnVsbGl0eSBpcyBjaGVja2VkIGJlZm9yZQorICAg
ICAgICBzaG93aW5nIHhtbCB2aWV3ZXIuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9UZXN0U2hlbGwuY3BwOgorICAgICAgICAoVGVzdFNoZWxsOjpyZXNldFRlc3RDb250cm9s
bGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwOgor
ICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJWaWV3
VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJU
cmVlOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0V2ViVmll
d1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwOgorICAgICAgICAoV1RS
OjpJbmplY3RlZEJ1bmRsZVBhZ2U6OnJlc2V0KToKKwogMjAxMS0wMi0yMSAgTHVrYXN6IFNsYWNo
Y2lhayAgPGwuc2xhY2hjaWFrQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFu
dG9uaW8gR29tZXMuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0U2hlbGwuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNw
cAppbmRleCBkODg4ZTdjLi4yM2JlODFjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTIyNiw2ICsyMjYsNyBAQCB2b2lkIFRlc3RTaGVsbDo6cmVz
ZXRUZXN0Q29udHJvbGxlcigpCiAgICAgbV9kcnREZXZUb29sc0FnZW50LT5yZXNldCgpOwogICAg
IGlmIChtX2RydERldlRvb2xzQ2xpZW50KQogICAgICAgICBtX2RydERldlRvb2xzQ2xpZW50LT5y
ZXNldCgpOworICAgIHdlYlZpZXcoKS0+bWFpbkZyYW1lKCktPmNsZWFyT3BlbmVyKCk7CiB9CiAK
IHZvaWQgVGVzdFNoZWxsOjpsb2FkVVJMKGNvbnN0IFdlYlVSTCYgdXJsKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggNzljNzk0YS4uOWQ5NDAwYSAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCkBAIC00NTcs
NiArNDU3LDggQEAgc3RhdGljIHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcygp
CiAKICAgICBpZiAoYXhDb250cm9sbGVyKQogICAgICAgICBheENvbnRyb2xsZXItPnJlc2V0VG9D
b25zaXN0ZW50U3RhdGUoKTsKKworICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6Y2xlYXJP
cGVuZXIobWFpbkZyYW1lKTsKIH0KIAogc3RhdGljIGJvb2wgdXNlTG9uZ1J1bm5pbmdTZXJ2ZXJN
b2RlKGludCBhcmdjLCBjaGFyICphcmd2W10pCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0KaW5kZXggOGYwMTFkZC4uYTA3OGE0MyAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtMTAzMiw2ICsxMDMyLDggQEAgc3RhdGlj
IHZvaWQgcmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKCkKICAgICAK
ICAgICAvLyBDbGVhciB0aGUgY29udGVudHMgb2YgdGhlIGdlbmVyYWwgcGFzdGVib2FyZAogICAg
IFtbTlNQYXN0ZWJvYXJkIGdlbmVyYWxQYXN0ZWJvYXJkXSBkZWNsYXJlVHlwZXM6W05TQXJyYXkg
YXJyYXlXaXRoT2JqZWN0Ok5TU3RyaW5nUGJvYXJkVHlwZV0gb3duZXI6bmlsXTsKKworICAgIFtt
YWluRnJhbWUgX2NsZWFyT3BlbmVyXTsKIH0KIAogc3RhdGljIHZvaWQgcnVuVGVzdChjb25zdCBz
dHJpbmcmIHRlc3RQYXRoT3JVUkwpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9x
dC9EdW1wUmVuZGVyVHJlZVF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5k
ZXJUcmVlUXQuY3BwCmluZGV4IDYxYjJhOWIuLmM1Y2RiOTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCkBAIC01ODAsNiArNTgwLDggQEAgdm9pZCBE
dW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoY29uc3Qg
UVVybCYgdXJsKQogI2lmbmRlZiBRX09TX1dJTkNFCiAgICAgc2V0bG9jYWxlKExDX0FMTCwgIiIp
OwogI2VuZGlmCisKKyAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Y2xlYXJPcGVuZXIobV9w
YWdlLT5tYWluRnJhbWUoKSk7CiB9CiAKIHN0YXRpYyBib29sIGlzR2xvYmFsSGlzdG9yeVRlc3Qo
Y29uc3QgUVVybCYgdXJsKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1
bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJl
ZS5jcHAKaW5kZXggMzM1MzMxZi4uYWQ1MjE0OCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUuY3BwCkBAIC04OTAsNiArODkwLDEwIEBAIHN0YXRpYyB2b2lkIHJl
c2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZygpCiAgICAgc2hhcmVkVUlE
ZWxlZ2F0ZS0+cmVzZXRVbmRvTWFuYWdlcigpOwogCiAgICAgc2hhcmVkRnJhbWVMb2FkRGVsZWdh
dGUtPnJlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKworICAgIENPTVB0cjxJV2ViRnJhbWVQcml2
YXRlPiBmcmFtZVByaXZhdGU7CisgICAgaWYgKFNVQ0NFRURFRChmcmFtZS0+UXVlcnlJbnRlcmZh
Y2UoJmZyYW1lUHJpdmF0ZSkpKQorICAgICAgICBmcmFtZVByaXZhdGUtPmNsZWFyT3BlbmVyKCk7
CiB9CiAKIHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3RyaW5nJiB0ZXN0UGF0aE9yVVJMKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVBhZ2UuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZVBhZ2UuY3BwCmluZGV4IDczOWRhM2IuLjEzMTg1ODkgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdl
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlUGFnZS5jcHAKQEAgLTI1Niw2ICsyNTYsOCBAQCB2b2lkIEluamVjdGVkQnVuZGxlUGFn
ZTo6cmVzZXQoKQogICAgIFdLQnVuZGxlUGFnZVNldFRleHRab29tRmFjdG9yKG1fcGFnZSwgMSk7
CiAKICAgICBtX3ByZXZpb3VzVGVzdEJhY2tGb3J3YXJkTGlzdEl0ZW0gPSBhZG9wdFdLKFdLQnVu
ZGxlQmFja0ZvcndhcmRMaXN0Q29weUl0ZW1BdEluZGV4KFdLQnVuZGxlUGFnZUdldEJhY2tGb3J3
YXJkTGlzdChtX3BhZ2UpLCAwKSk7CisKKyAgICBXS0J1bmRsZUZyYW1lQ2xlYXJPcGVuZXIoV0tC
dW5kbGVQYWdlR2V0TWFpbkZyYW1lKG1fcGFnZSkpOwogfQogCiAvLyBMb2FkZXIgQ2xpZW50IENh
bGxiYWNrcwo=
</data>
<flag name="review"
          id="75196"
          type_id="1"
          status="+"
          setter="ap"
    />
    <flag name="commit-queue"
          id="75197"
          type_id="3"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83536</attachid>
            <date>2011-02-23 13:27:41 -0800</date>
            <delta_ts>2011-02-26 08:29:15 -0800</delta_ts>
            <desc>Patch with fixes for win build</desc>
            <filename>reset2</filename>
            <type>text/plain</type>
            <size>19291</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkNDNiYmYwLi4xM2IyNzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTEtMDItMjMgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVtcFJlbmRl
clRyZWUgc2hvdWxkIHJlc2V0IGZyYW1lIG9wZW5lciBiZXR3ZWVuIHRlc3RzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQKKworICAgICAgICBO
byBuZXcgdGVzdHMuIChubyBjb2RlIGFmZmVjdGVkLCBqdXN0IGV4cG9ydGluZyBhIG1ldGhvZCBm
b3IgRHVtcFJlbmRlclRyZWUgdXNlKQorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisKIDIw
MTEtMDItMjMgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMDM3MWUx
Zi4uZGUzZmJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE3OCw2ICsxNzgsNyBAQCBfX1pO
N1dlYkNvcmUxMUZyYW1lTG9hZGVyNGxvYWRFUktOU18xNVJlc291cmNlUmVxdWVzdEVSS04zV1RG
NlN0cmluZ0ViCiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyNGxvYWRFUktOU18xNVJlc291cmNl
UmVxdWVzdEVSS05TXzE0U3Vic3RpdHV0ZURhdGFFYgogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjRsb2FkRVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFYgogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjZyZWxvYWRFYgorX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjlzZXRPcGVuZXJFUE5TXzVGcmFt
ZUUKIF9fWk43V2ViQ29yZTExR2VvbG9jYXRpb24xMnNldElzQWxsb3dlZEViCiBfX1pON1dlYkNv
cmUxMUdlb2xvY2F0aW9uRDFFdgogX19aTjdXZWJDb3JlMTFIaXN0b3J5SXRlbTEwdGFyZ2V0SXRl
bUV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDkzMDE0N2UuLmFlZTc0ZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDItMjMgIFZzZXZv
bG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVtcFJlbmRlclRyZWUgc2hvdWxkIHJlc2V0IGZy
YW1lIG9wZW5lciBiZXR3ZWVuIHRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQKKworICAgICAgICBBZGRlZCBjbGVhck9wZW5lciBtZXRo
b2QgdG8gV2ViRnJhbWUuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUuaDoKKyAgICAgICAg
KiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpj
bGVhck9wZW5lcik6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgorCiAyMDExLTAyLTIz
ICBUYWthc2hpIFRveW9zaGltYSAgPHRveW9zaGltQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBTaGluaWNoaXJvIEhhbWFqaS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJGcmFtZS5oCmluZGV4IDg2ZmRlYzIuLjE4MzQ5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViRnJhbWUuaApAQCAtMTY5LDYgKzE2OSwxMCBAQCBwdWJsaWM6CiAgICAg
Ly8gUmV0dXJucyB0aGUgZnJhbWUgdGhhdCBvcGVuZWQgdGhpcyBmcmFtZSBvciAwIGlmIHRoZXJl
IGlzIG5vbmUuCiAgICAgdmlydHVhbCBXZWJGcmFtZSogb3BlbmVyKCkgY29uc3QgPSAwOwogCisg
ICAgLy8gUmVzZXQgdGhlIGZyYW1lIHRoYXQgb3BlbmVkIHRoaXMgZnJhbWUgdG8gMC4KKyAgICAv
LyBUaGlzIGlzIGV4ZWN1dGVkIGJldHdlZW4gbGF5b3V0IHRlc3RzIHJ1bnMKKyAgICB2aXJ0dWFs
IHZvaWQgY2xlYXJPcGVuZXIoKSA9IDA7CisKICAgICAvLyBSZXR1cm5zIHRoZSBwYXJlbnQgZnJh
bWUgb3IgMCBpZiB0aGlzIGlzIGEgdG9wLW1vc3QgZnJhbWUuCiAgICAgdmlydHVhbCBXZWJGcmFt
ZSogcGFyZW50KCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmNwcAppbmRleCA4NDliNTVjLi5jZmJjNTVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTU3OSw2ICs1NzksMTEgQEAgV2ViVmll
dyogV2ViRnJhbWVJbXBsOjp2aWV3KCkgY29uc3QKICAgICByZXR1cm4gdmlld0ltcGwoKTsKIH0K
IAordm9pZCBXZWJGcmFtZUltcGw6OmNsZWFyT3BlbmVyKCkKK3sKKyAgICBtX2ZyYW1lLT5sb2Fk
ZXIoKS0+c2V0T3BlbmVyKDApOworfQorCiBXZWJGcmFtZSogV2ViRnJhbWVJbXBsOjpvcGVuZXIo
KSBjb25zdAogewogICAgIEZyYW1lKiBvcGVuZXIgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuaAppbmRleCA1NWE5ZjU0Li4xNjlkYWU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaApAQCAtODAsNiArODAsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBib29sIGhhc1Zpc2libGVDb250ZW50KCkgY29uc3Q7CiAgICAgdmlydHVh
bCBXZWJWaWV3KiB2aWV3KCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJGcmFtZSogb3BlbmVyKCkg
Y29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyT3BlbmVyKCk7CiAgICAgdmlydHVhbCBXZWJG
cmFtZSogcGFyZW50KCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJGcmFtZSogdG9wKCkgY29uc3Q7
CiAgICAgdmlydHVhbCBXZWJGcmFtZSogZmlyc3RDaGlsZCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CmluZGV4IGFmNzZiNzIuLmY5YzRiY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAxMS0wMi0yMyAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEdW1wUmVuZGVy
VHJlZSBzaG91bGQgcmVzZXQgZnJhbWUgb3BlbmVyIGJldHdlZW4gdGVzdHMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDg3NAorCisgICAgICAgIEFk
ZGVkIGNsZWFyT3BlbmVyIG1ldGhvZCB0byBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHVEsuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwOgorICAg
ICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpjbGVhck9wZW5lcik6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmg6CisKIDIwMTEtMDItMjIg
IExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcApp
bmRleCBhNzI1MjVjLi4zN2NiYWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAKQEAgLTYz
Myw2ICs2MzMsMTMgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OmR1bXBDb25maWd1
cmF0aW9uRm9yVmlld3BvcnQoV2ViS2l0V2ViVmlldyogd2ViVmkKICAgICBmcHJpbnRmKHN0ZG91
dCwgInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYgd2l0aCBsaW1pdHMgWyVmLCAlZl1cbiIs
IGF0dHJzLmxheW91dFNpemUud2lkdGgoKSwgYXR0cnMubGF5b3V0U2l6ZS5oZWlnaHQoKSwgYXR0
cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5pbXVtU2NhbGUsIGF0dHJzLm1heGltdW1TY2FsZSk7
CiB9CiAKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpjbGVhck9wZW5lcihXZWJLaXRX
ZWJGcmFtZSogZnJhbWUpCit7CisgICAgRnJhbWUqIGNvcmVGcmFtZSA9IGNvcmUoZnJhbWUpOwor
ICAgIGlmIChjb3JlRnJhbWUpCisgICAgICAgIGNvcmVGcmFtZS0+bG9hZGVyKCktPnNldE9wZW5l
cigwKTsKK30KKwogdW5zaWduZWQgaW50IER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6d29ya2Vy
VGhyZWFkQ291bnQoKQogewogI2lmIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmggYi9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsu
aAppbmRleCBmODVhNzg1Li4zZTVkZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaApAQCAtNjAs
NiArNjAsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTVmFsdWVSZWYgbm9kZXNGcm9tUmVjdChK
U0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiB2YWx1ZSwgaW50IHgsIGludCB5LCB1bnNp
Z25lZCB0b3AsIHVuc2lnbmVkIHJpZ2h0LCB1bnNpZ25lZCBib3R0b20sIHVuc2lnbmVkIGxlZnQs
IGJvb2wgaWdub3JlQ2xpcHBpbmcpOwogICAgIHN0YXRpYyB2b2lkIGR1bXBDb25maWd1cmF0aW9u
Rm9yVmlld3BvcnQoV2ViS2l0V2ViVmlldyogd2ViVmlldywgZ2ludCBhdmFpbGFibGVXaWR0aCwg
Z2ludCBhdmFpbGFibGVIZWlnaHQpOwogCisgICAgc3RhdGljIHZvaWQgY2xlYXJPcGVuZXIoV2Vi
S2l0V2ViRnJhbWUqKTsKKwogICAgIC8vIEZJWE1FOiBNb3ZlIHRoZXNlIHRvIHdlYmtpdHdlYmZy
YW1lLmggb25jZSB0aGVpciBBUEkgaGFzIGJlZW4gZGlzY3Vzc2VkLgogICAgIHN0YXRpYyBHU0xp
c3QqIGdldEZyYW1lQ2hpbGRyZW4oV2ViS2l0V2ViRnJhbWUqKTsKICAgICBzdGF0aWMgV1RGOjpD
U3RyaW5nIGdldElubmVyVGV4dChXZWJLaXRXZWJGcmFtZSopOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4
IDMxZThkMjguLjE2NDVkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
MS0wMi0yMyAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEdW1wUmVuZGVyVHJlZSBz
aG91bGQgcmVzZXQgZnJhbWUgb3BlbmVyIGJldHdlZW4gdGVzdHMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDg3NAorCisgICAgICAgIEFkZGVkIGNs
ZWFyT3BlbmVyIG1ldGhvZCB0byBXZWJGcmFtZVByaXZhdGUuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYkZyYW1lLm1tOgorICAgICAgICAoLVtXZWJGcmFtZSBfY2xlYXJPcGVuZXJdKToKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oOgorCiAyMDExLTAyLTIyICBMYXN6bG8gR29t
Ym9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBB
bGV4ZXkgUHJvc2t1cnlha292LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJGcmFtZS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KaW5k
ZXggNmZjMGNkMy4uMDc2NGE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJGcmFtZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1t
CkBAIC0xMzc0LDYgKzEzNzQsMTMgQEAgc3RhdGljIGlubGluZSBXZWJEYXRhU291cmNlICpkYXRh
U291cmNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAjZW5kaWYKIH0KIAorLSAodm9pZClfY2xl
YXJPcGVuZXIKK3sKKyAgICBGcmFtZSogY29yZUZyYW1lID0gX3ByaXZhdGUtPmNvcmVGcmFtZTsK
KyAgICBpZiAoY29yZUZyYW1lKQorICAgICAgICBjb3JlRnJhbWUtPmxvYWRlcigpLT5zZXRPcGVu
ZXIoMCk7Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYkZyYW1lCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaAppbmRleCBkZGZhNWNjLi43NWI1N2M3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmgKQEAgLTE0
NSw0ICsxNDUsOCBAQCB0eXBlZGVmIGVudW0gewogLy8gVGhlIHRvcCBvZiB0aGUgYWNjZXNzaWJp
bGl0eSB0cmVlLgogLSAoaWQpYWNjZXNzaWJpbGl0eVJvb3Q7CiAKKy8vIENsZWFycyBmcmFtZSBv
cGVuZXIuIFRoaXMgaXMgZXhlY3V0ZWQgYmV0d2VlbiBsYXlvdXQgdGVzdHMgcnVucworLSAodm9p
ZClfY2xlYXJPcGVuZXI7CisKKwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAxZWQwYWNiLi4yMDNk
MDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAyLTIzICBWc2V2b2xv
ZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIER1bXBSZW5kZXJUcmVlIHNob3VsZCByZXNldCBmcmFt
ZSBvcGVuZXIgYmV0d2VlbiB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTU0ODc0CisKKyAgICAgICAgQWRkZWQgY2xlYXJPcGVuZXIgbWV0aG9k
IHRvIER1bXBSZW5kZXJUcmVlU3VwcG9ydFFULgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQ6OmNsZWFyT3BlbmVyKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5oOgorCiAyMDExLTAyLTIzICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1l
bmFyZEBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQuY3BwCmluZGV4IDQwMDRhMTkuLjgwZDZiYzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQuY3BwCkBAIC05MTQsNiArOTE0LDEyIEBAIFFTdHJpbmcgRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQ6OnJlc3BvbnNlTWltZVR5cGUoUVdlYkZyYW1lKiBmcmFtZSkKICAgICByZXR1cm4g
ZG9jTG9hZGVyLT5yZXNwb25zZU1JTUVUeXBlKCk7CiB9CiAKK3ZvaWQgRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQ6OmNsZWFyT3BlbmVyKFFXZWJGcmFtZSogZnJhbWUpCit7CisgICAgV2ViQ29yZTo6
RnJhbWUqIGNvcmVGcmFtZSA9IFFXZWJGcmFtZVByaXZhdGU6OmNvcmUoZnJhbWUpOworICAgIGNv
cmVGcmFtZS0+bG9hZGVyKCktPnNldE9wZW5lcigwKTsKK30KKwogdm9pZCBEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdDo6YWRkVVJMVG9SZWRpcmVjdChjb25zdCBRU3RyaW5nJiBvcmlnaW4sIGNvbnN0
IFFTdHJpbmcmIGRlc3RpbmF0aW9uKQogewogICAgIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OlVSTHNU
b1JlZGlyZWN0W29yaWdpbl0gPSBkZXN0aW5hdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaCBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAppbmRleCBl
NjM5NDU2NS4uNjlmMWI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaApAQCAtMTg4LDYgKzE4OCw3IEBA
IHB1YmxpYzoKIAogICAgIHN0YXRpYyBRVmFyaWFudExpc3Qgbm9kZXNGcm9tUmVjdChjb25zdCBR
V2ViRWxlbWVudCYgZG9jdW1lbnQsIGludCB4LCBpbnQgeSwgdW5zaWduZWQgdG9wLCB1bnNpZ25l
ZCByaWdodCwgdW5zaWduZWQgYm90dG9tLCB1bnNpZ25lZCBsZWZ0LCBib29sIGlnbm9yZUNsaXBw
aW5nKTsKICAgICBzdGF0aWMgUVN0cmluZyByZXNwb25zZU1pbWVUeXBlKFFXZWJGcmFtZSopOwor
ICAgIHN0YXRpYyB2b2lkIGNsZWFyT3BlbmVyKFFXZWJGcmFtZSopOwogICAgIHN0YXRpYyB2b2lk
IGFkZFVSTFRvUmVkaXJlY3QoY29uc3QgUVN0cmluZyYgb3JpZ2luLCBjb25zdCBRU3RyaW5nJiBk
ZXN0aW5hdGlvbik7CiAgICAgc3RhdGljIFFTdHJpbmdMaXN0IGNvbnRleHRNZW51KFFXZWJQYWdl
Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAxYTA5OWZlLi5lYWI5NzQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDItMjMgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZp
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRHVtcFJlbmRlclRyZWUgc2hvdWxkIHJlc2V0IGZyYW1lIG9wZW5lciBiZXR3ZWVu
IHRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTQ4NzQKKworICAgICAgICBBZGRlZCBjbGVhck9wZW5lciBtZXRob2QgdG8gSVdlYkZyYW1lUHJp
dmF0ZS4KKyAgICAgICAgVG91Y2hlZCBXZWJLaXQuaWRsIHRvIHRyaWdnZXIgYnVpbGQgc2NyaXB0
cy4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYkZyYW1lUHJpdmF0ZS5pZGw6CisgICAgICAg
ICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgorICAgICAgICAqIFdlYkZyYW1lLmNwcDoKKyAgICAg
ICAgKFdlYkZyYW1lOjpjbGVhck9wZW5lcik6CisgICAgICAgICogV2ViRnJhbWUuaDoKKwogMjAx
MS0wMi0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L0ludGVyZmFjZXMvSVdlYkZyYW1lUHJpdmF0ZS5pZGwgYi9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRl
cmZhY2VzL0lXZWJGcmFtZVByaXZhdGUuaWRsCmluZGV4IDI3OWNiYmYuLjlhMWMzMzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkZyYW1lUHJpdmF0ZS5pZGwK
KysrIGIvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViRnJhbWVQcml2YXRlLmlkbApA
QCAtMTE5LDQgKzExOSw2IEBAIGludGVyZmFjZSBJV2ViRnJhbWVQcml2YXRlIDogSVVua25vd24K
ICAgICBIUkVTVUxUIGxvYWRQbGFpblRleHRTdHJpbmcoW2luXSBCU1RSIHN0cmluZywgW2luXSBC
U1RSIHVybCk7CiAKICAgICBIUkVTVUxUIGhhc1NwZWxsaW5nTWFya2VyKFtpbl0gVUlOVCBmcm9t
LCBbaW5dIFVJTlQgbGVuZ3RoLCBbb3V0LCByZXR2YWxdIEJPT0wqIHJlc3VsdCk7CisgICAgCisg
ICAgSFJFU1VMVCBjbGVhck9wZW5lcigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsIGIvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9X
ZWJLaXQuaWRsCmluZGV4IDg4MTU4YTQuLjNmNDAxYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRl
cmZhY2VzL1dlYktpdC5pZGwKQEAgLTMwMSwzICszMDEsNCBAQCBsaWJyYXJ5IFdlYktpdAogICAg
ICAgICBbZGVmYXVsdF0gaW50ZXJmYWNlIElXZWJVc2VyQ29udGVudFVSTFBhdHRlcm47CiAgICAg
fQogfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5jcHAKaW5kZXggODBiOTFjZC4uMTZiOWE4ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkZyYW1lLmNwcApAQCAtMTAzMyw2ICsxMDMzLDE1IEBAIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgV2ViRnJhbWU6Omhhc1NwZWxsaW5nTWFya2VyKAogICAgIHJldHVybiBTX09LOwog
fQogCitIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkZyYW1lOjpjbGVhck9wZW5lcigpCit7
CisgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgaWYgKEZyYW1lKiBjb3JlRnJhbWUgPSBjb3Jl
KHRoaXMpKQorICAgICAgICBjb3JlRnJhbWUtPmxvYWRlcigpLT5zZXRPcGVuZXIoMCk7CisKKyAg
ICByZXR1cm4gaHI7Cit9CisKIC8vIElXZWJEb2N1bWVudFRleHQgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBXZWJGcmFtZTo6c3VwcG9ydHNUZXh0RW5jb2RpbmcoIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZy
YW1lLmgKaW5kZXggMDA5NTU5MC4uNzFmOWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vV2ViRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5oCkBAIC0yNzgs
NiArMjc4LDggQEAgcHVibGljOgogICAgICAgICAvKiBbaW5dICovIFVJTlQgbGVuZ3RoLAogICAg
ICAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wgKnJlc3VsdCk7CiAKKyAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY2xlYXJPcGVuZXIoKTsKKwogICAgIC8vIElXZWJEb2N1
bWVudFRleHQKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc3VwcG9ydHNU
ZXh0RW5jb2RpbmcoIAogICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wqIHJlc3VsdCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggOTQzNmNiNy4uOWY5ZGMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDExLTAyLTIzICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER1bXBSZW5k
ZXJUcmVlIHNob3VsZCByZXNldCBmcmFtZSBvcGVuZXIgYmV0d2VlbiB0ZXN0cy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODc0CisKKyAgICAgICAg
QWRkZWQgY2xlYXJPcGVuZXIgbWV0aG9kIHRvIFdLQnVuZGxlV2ViRnJhbWVQcml2YXRlLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmNw
cDoKKyAgICAgICAgKFdLQnVuZGxlRnJhbWVDbGVhck9wZW5lcik6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lUHJpdmF0ZS5oOgorCiAyMDEx
LTAyLTIzICBTaWRkaGFydGggTWF0aHVyICA8c2lkZGhhcnRoLm1hdGh1ckBub2tpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgTGFzemxvIEdvbWJvcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
RnJhbWUuY3BwCmluZGV4IDgyZjYxNmEuLmRkNDRlOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZUZyYW1lLmNwcApAQCAtMTY0LDYgKzE2NCwxMyBAQCBXS0J1bmRsZVBhZ2VSZWYgV0tCdW5kbGVG
cmFtZUdldFBhZ2UoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZikKICAgICByZXR1cm4gdG9BUEko
dG9JbXBsKGZyYW1lUmVmKS0+cGFnZSgpKTsKIH0KIAordm9pZCBXS0J1bmRsZUZyYW1lQ2xlYXJP
cGVuZXIoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZikKK3sKKyAgICBGcmFtZSogY29yZUZyYW1l
ID0gdG9JbXBsKGZyYW1lUmVmKS0+Y29yZUZyYW1lKCk7CisgICAgaWYgKGNvcmVGcmFtZSkKKyAg
ICAgICAgY29yZUZyYW1lLT5sb2FkZXIoKS0+c2V0T3BlbmVyKDApOworfQorCiBXS1N0cmluZ1Jl
ZiBXS0J1bmRsZUZyYW1lQ29weUxheWVyVHJlZUFzVGV4dChXS0J1bmRsZUZyYW1lUmVmIGZyYW1l
UmVmKQogewogICAgIHJldHVybiB0b0NvcGllZEFQSSh0b0ltcGwoZnJhbWVSZWYpLT5sYXllclRy
ZWVBc1RleHQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWVQcml2YXRlLmgKaW5k
ZXggM2Y4M2E2MS4uYTMxZTRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZVBy
aXZhdGUuaApAQCAtNDcsNiArNDcsNyBAQCBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZUZyYW1lU3Vz
cGVuZEFuaW1hdGlvbnMoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSk7CiBXS19FWFBPUlQgdm9pZCBX
S0J1bmRsZUZyYW1lUmVzdW1lQW5pbWF0aW9ucyhXS0J1bmRsZUZyYW1lUmVmIGZyYW1lKTsKIFdL
X0VYUE9SVCB1bnNpZ25lZCBXS0J1bmRsZUZyYW1lR2V0UGVuZGluZ1VubG9hZENvdW50KFdLQnVu
ZGxlRnJhbWVSZWYgZnJhbWUpOwogV0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLQnVuZGxlRnJhbWVD
b3B5TGF5ZXJUcmVlQXNUZXh0KFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUpOworV0tfRVhQT1JUIHZv
aWQgV0tCdW5kbGVGcmFtZUNsZWFyT3BlbmVyKFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUpOwogCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCAyM2VjNWEyLi5kYzVlYmRmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDItMjMg
IFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVtcFJlbmRlclRyZWUgc2hvdWxkIHJl
c2V0IGZyYW1lIG9wZW5lciBiZXR3ZWVuIHRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4NzQKKworICAgICAgICBBZGRlZCBjbGVhck9wZW5l
cigpIGNhbGxzIGJldHdlZW4gdGVzdHMuCisgICAgICAgIFNvbWUgdGVzdHMgYXJlIHVzaW5nIHdp
bmRvdy5vcGVuKCkgdG8gY2hhbmdlIGN1cnJlbnQgd2luZG93IGxvY2F0aW9uLgorICAgICAgICBU
aGlzIGNoYW5nZXMgd2luZG93Lm9wZW5lciBwcm9wZXJ0eSB3aG9zZSBudWxsaXR5IGlzIGNoZWNr
ZWQgYmVmb3JlCisgICAgICAgIHNob3dpbmcgeG1sIHZpZXdlci4KKworICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OnJl
c2V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVu
ZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAg
IChyZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RHVtcFJlbmRlclRyZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAg
ICAocmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHA6
CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlUGFnZTo6cmVzZXQpOgorCiAyMDExLTAyLTIz
ICBTaWRkaGFydGggTWF0aHVyICA8c2lkZGhhcnRoLm1hdGh1ckBub2tpYS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgTGFzemxvIEdvbWJvcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9UZXN0U2hlbGwuY3BwCmluZGV4IDE0ZjlhYjguLjI0Y2FlMjQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcApAQCAtMjI3LDYgKzIyNyw3IEBAIHZv
aWQgVGVzdFNoZWxsOjpyZXNldFRlc3RDb250cm9sbGVyKCkKICAgICBtX2RydERldlRvb2xzQWdl
bnQtPnJlc2V0KCk7CiAgICAgaWYgKG1fZHJ0RGV2VG9vbHNDbGllbnQpCiAgICAgICAgIG1fZHJ0
RGV2VG9vbHNDbGllbnQtPnJlc2V0KCk7CisgICAgd2ViVmlldygpLT5tYWluRnJhbWUoKS0+Y2xl
YXJPcGVuZXIoKTsKIH0KIAogdm9pZCBUZXN0U2hlbGw6OmxvYWRVUkwoY29uc3QgV2ViVVJMJiB1
cmwpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUu
Y3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBj
YTYyNDAyLi4zZjcwYjQ5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVt
cFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVy
VHJlZS5jcHAKQEAgLTQ2Myw2ICs0NjMsOCBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9D
b25zaXN0ZW50VmFsdWVzKCkKIAogICAgIGlmIChheENvbnRyb2xsZXIpCiAgICAgICAgIGF4Q29u
dHJvbGxlci0+cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworCisgICAgRHVtcFJlbmRlclRyZWVT
dXBwb3J0R3RrOjpjbGVhck9wZW5lcihtYWluRnJhbWUpOwogfQogCiBzdGF0aWMgYm9vbCB1c2VM
b25nUnVubmluZ1NlcnZlck1vZGUoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA0OWY1OGEyLi5kY2EwZDM4IDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC0xMDM3LDYg
KzEwMzcsOCBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9y
ZVRlc3RpbmcoKQogICAgIAogICAgIC8vIENsZWFyIHRoZSBjb250ZW50cyBvZiB0aGUgZ2VuZXJh
bCBwYXN0ZWJvYXJkCiAgICAgW1tOU1Bhc3RlYm9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdIGRlY2xh
cmVUeXBlczpbTlNBcnJheSBhcnJheVdpdGhPYmplY3Q6TlNTdHJpbmdQYm9hcmRUeXBlXSBvd25l
cjpuaWxdOworCisgICAgW21haW5GcmFtZSBfY2xlYXJPcGVuZXJdOwogfQogCiBzdGF0aWMgdm9p
ZCBydW5UZXN0KGNvbnN0IHN0cmluZyYgdGVzdFBhdGhPclVSTCkKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKaW5kZXggNDkwYjFiOC4uNzliYTM5YyAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKQEAgLTU4MCw2
ICs1ODAsOCBAQCB2b2lkIER1bXBSZW5kZXJUcmVlOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlQmVm
b3JlVGVzdGluZyhjb25zdCBRVXJsJiB1cmwpCiAjaWZuZGVmIFFfT1NfV0lOQ0UKICAgICBzZXRs
b2NhbGUoTENfQUxMLCAiIik7CiAjZW5kaWYKKworICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
OjpjbGVhck9wZW5lcihtX3BhZ2UtPm1haW5GcmFtZSgpKTsKIH0KIAogc3RhdGljIGJvb2wgaXNH
bG9iYWxIaXN0b3J5VGVzdChjb25zdCBRVXJsJiB1cmwpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCAwMDJmNGFlLi4xOGRiODlhIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTg5NSw2ICs4OTUsMTAg
QEAgc3RhdGljIHZvaWQgcmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5n
KCkKICAgICBzaGFyZWRVSURlbGVnYXRlLT5yZXNldFVuZG9NYW5hZ2VyKCk7CiAKICAgICBzaGFy
ZWRGcmFtZUxvYWREZWxlZ2F0ZS0+cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworCisgICAgQ09N
UHRyPElXZWJGcmFtZVByaXZhdGU+IGZyYW1lUHJpdmF0ZTsKKyAgICBpZiAoU1VDQ0VFREVEKGZy
YW1lLT5RdWVyeUludGVyZmFjZSgmZnJhbWVQcml2YXRlKSkpCisgICAgICAgIGZyYW1lUHJpdmF0
ZS0+Y2xlYXJPcGVuZXIoKTsKIH0KIAogc3RhdGljIHZvaWQgcnVuVGVzdChjb25zdCBzdHJpbmcm
IHRlc3RQYXRoT3JVUkwpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAKaW5kZXggOTRkZTBkNy4uZjFm
NDY5MyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZVBhZ2UuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcApAQCAtMjU2LDYgKzI1Niw4IEBAIHZvaWQg
SW5qZWN0ZWRCdW5kbGVQYWdlOjpyZXNldCgpCiAgICAgV0tCdW5kbGVQYWdlU2V0VGV4dFpvb21G
YWN0b3IobV9wYWdlLCAxKTsKIAogICAgIG1fcHJldmlvdXNUZXN0QmFja0ZvcndhcmRMaXN0SXRl
bSA9IGFkb3B0V0soV0tCdW5kbGVCYWNrRm9yd2FyZExpc3RDb3B5SXRlbUF0SW5kZXgoV0tCdW5k
bGVQYWdlR2V0QmFja0ZvcndhcmRMaXN0KG1fcGFnZSksIDApKTsKKworICAgIFdLQnVuZGxlRnJh
bWVDbGVhck9wZW5lcihXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUobV9wYWdlKSk7CiB9CiAKIC8v
IExvYWRlciBDbGllbnQgQ2FsbGJhY2tzCg==
</data>
<flag name="review"
          id="75849"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>