<?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>29896</bug_id>
          
          <creation_ts>2009-09-29 14:08:54 -0700</creation_ts>
          <short_desc>Runtime configurable WebSocket code is detectable when turned off</short_desc>
          <delta_ts>2009-10-20 12:11:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>30240</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Fumitoshi Ukai">ukai</assigned_to>
          <cc>ap</cc>
    
    <cc>atwilson</cc>
    
    <cc>dimich</cc>
    
    <cc>jorlow</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>levin</cc>
    
    <cc>ukai</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>151043</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-09-29 14:08:54 -0700</bug_when>
    <thetext>The runtime switch for WebSockets that was added in https://bugs.webkit.org/show_bug.cgi?id=28941 does not sufficiently hide WebSockets from developer detection techniques.  For instance, (&quot;WebSocket&quot; in window) will return true.  This can be seen as a noticeable regression in LayoutTests/fast/dom/Window/window-properties-expected.txt as it now has a window.WebSocket [undefined] line.

This should either be fixed shortly or the patch that introduced this behavior should be rolled out as we don&apos;t want early adopters using the nightly builds trying to use feature detection for WebSockets and getting bad results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151077</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-09-29 15:31:22 -0700</bug_when>
    <thetext>It&apos;s also worth noting that the change turned off Web Socket support on Mac and Windows when it was on before.  Was that intentional?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151150</commentid>
    <comment_count>2</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-09-29 19:00:40 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; The runtime switch for WebSockets that was added in
&gt; https://bugs.webkit.org/show_bug.cgi?id=28941 does not sufficiently hide
&gt; WebSockets from developer detection techniques.  For instance, (&quot;WebSocket&quot; in
&gt; window) will return true.  This can be seen as a noticeable regression in
&gt; LayoutTests/fast/dom/Window/window-properties-expected.txt as it now has a
&gt; window.WebSocket [undefined] line.

Hmm, I&apos;ll try to fix it. could you give me a hint what function/method is used for &apos;&quot;WebSocket&quot; in window&apos;?

&gt; This should either be fixed shortly or the patch that introduced this behavior
&gt; should be rolled out as we don&apos;t want early adopters using the nightly builds
&gt; trying to use feature detection for WebSockets and getting bad results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151152</commentid>
    <comment_count>3</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-09-29 19:04:24 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; It&apos;s also worth noting that the change turned off Web Socket support on Mac and
&gt; Windows when it was on before.  Was that intentional?

Actually, we don&apos;t have any SocketStreamHandle implementation in any platform yet, so Web Socket is not usable at all right now.  You may call &quot;new WebSocket(url)&quot;, but it will always immediately be closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152523</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-10-05 16:59:06 -0700</bug_when>
    <thetext>&gt; 
&gt; Hmm, I&apos;ll try to fix it. could you give me a hint what function/method is used
&gt; for &apos;&quot;WebSocket&quot; in window&apos;?
&gt; 

This is handled by the getPropertyNames function in JSDOMWindow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152550</commentid>
    <comment_count>5</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-10-05 20:37:45 -0700</bug_when>
    <thetext>In case anyone&apos;s looking at this thread and not following webkit-dev, there&apos;s a thread going on right now called &quot;[webkit-dev] Runtime setting for incomplete features&quot; related to this issue.

As for this bug: We need to make it so that if WEB_SOCKETS is enabled at compile time, it&apos;s also enabled at run time by default.  Chromium should then override this default based on the presence of a run-time flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153625</commentid>
    <comment_count>6</comment_count>
      <attachid>40934</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-10-09 00:38:33 -0700</bug_when>
    <thetext>Created attachment 40934
WebCore: Enable WebSocket by default if WEB_SOCKETS is enabled at compile time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153628</commentid>
    <comment_count>7</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-10-09 00:49:55 -0700</bug_when>
    <thetext>fyi: a similar bug: https://bugs.webkit.org/show_bug.cgi?id=30240</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153695</commentid>
    <comment_count>8</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2009-10-09 09:21:10 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; fyi: a similar bug: https://bugs.webkit.org/show_bug.cgi?id=30240

Bug 30240 has a V8 implementation of turning off attributes at runtime, so you should be able to leverage that work.

I do think that it&apos;s the wrong approach to have an experimentalWebSocketsEnabled() flag in Settings, because that Settings object is not available in worker context so you can&apos;t disable WebSockets in workers. IMO, a better approach is via some kind of global static API ala SharedWorker.isAvailable() or MediaPlayer.isAvailable().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153697</commentid>
    <comment_count>9</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2009-10-09 09:38:30 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; This is handled by the getPropertyNames function in JSDOMWindow.

A couple of questions:

1) If Chrome is the only platform that does runtime enabling, is it sufficient to only address this in the V8 bindings, not JSC?

2) If we do need to deal with this in the JS bindings, is it similarly sufficient to set the DontEnum flag on the appropriate entries in JSDOMWindowTableValues? This was not sufficient in V8, but if JSC handles this correctly, that might be an easy fix for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153702</commentid>
    <comment_count>10</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-10-09 09:46:35 -0700</bug_when>
    <thetext>Note there are 2 VERY DISTINCT issues being tracked in 30240 and this bug.

This bug is about the fact that the run-time configuration should match the compile time configuration.  The patch posted above solves this, should be r+&apos;ed, and checked in.

30240 is about making the run time state 100% hidden from JavaScript when disabled at run time.  To date, not a single JSC user has said they plan to ship features behind command line flags, so at best it&apos;s a low priority and at worst we shouldn&apos;t do it.

I&apos;m sorry I wasn&apos;t more clear when I posted the link to the other thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154828</commentid>
    <comment_count>11</comment_count>
      <attachid>40934</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-10-15 10:07:08 -0700</bug_when>
    <thetext>Comment on attachment 40934
WebCore: Enable WebSocket by default if WEB_SOCKETS is enabled at compile time.

Summary: The right fix is to remove change done in https://bugs.webkit.org/show_bug.cgi?id=28941 and replace it with the mechanism from https://bugs.webkit.org/show_bug.cgi?id=30240

Details:
The change done in 28941 was to allow for runtime enabling of web sockets, but it is fundamentally broken because it allows for the feature to be detected even when it isn&apos;t enabled which breaks websites. This patch attempts to repair 28941 by enabling web sockets by default, but it does not address the core issue that this approach is broken.

There is now a better way to do what is desired: https://bugs.webkit.org/show_bug.cgi?id=30240

So instead of trying to patch code that will still be broken, it should be ripped out and replaced with a proper solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154856</commentid>
    <comment_count>12</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-10-15 11:59:22 -0700</bug_when>
    <thetext>This patch http://trac.webkit.org/changeset/49643 will also have to be undone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155037</commentid>
    <comment_count>13</comment_count>
      <attachid>41274</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-10-15 23:54:55 -0700</bug_when>
    <thetext>Created attachment 41274
Change WebSOcket EnableAtRuntime attribute in DOMWindow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155084</commentid>
    <comment_count>14</comment_count>
      <attachid>41285</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-10-16 07:03:37 -0700</bug_when>
    <thetext>Created attachment 41285
WebSocket runtime configuration for chromium/v8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155114</commentid>
    <comment_count>15</comment_count>
      <attachid>41285</attachid>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2009-10-16 09:56:15 -0700</bug_when>
    <thetext>Comment on attachment 41285
WebSocket runtime configuration for chromium/v8


&gt; diff --git a/WebCore/page/Settings.cpp b/WebCore/page/Settings.cpp
&gt;      // A Frame may not have been created yet, so we initialize the AtomicString 
&gt;      // hash before trying to use it.
&gt; @@ -535,7 +533,12 @@ void Settings::setWebGLEnabled(bool enabled)
&gt;  #if ENABLE(WEB_SOCKETS)
&gt;  void Settings::setExperimentalWebSocketsEnabled(bool enabled)
&gt;  {
&gt; -    m_experimentalWebSocketsEnabled = enabled;
&gt; +    WebSocket::setIsAvailable(enabled);
&gt; +}
&gt; +

Is it possible to entirely remove Settings::setExperimentalWebSocketsEnabled() and Settings::experimentalWebSocketsEnabled(), in favor of just using WebSocket::isAvailable() directly?


&gt; +#if USE(V8)
&gt; +bool WebSocket::m_available = false;
&gt; +
&gt; +void WebSocket::setIsAvailable(bool available)
&gt; +{
&gt; +    m_available = available;
&gt; +}
&gt; +
&gt; +bool WebSocket::isAvailable()
&gt; +{
&gt; +    return m_available;
&gt; +}
&gt; +#else
&gt; +void WebSocket::setIsAvailable(bool)
&gt; +{
&gt; +}
&gt; +
&gt; +bool WebSocket::isAvailable()
&gt; +{
&gt; +    return true;
&gt; +}
&gt; +#endif
&gt; +

I don&apos;t really like #if USE(V8) usually, but it&apos;s probably OK here. However, in this case when not using V8 you&apos;re left with a setIsAvailable() function that does nothing which seems bad.

I&apos;d prefer only defining setIsAvailable() for chromium/V8 for now - that way if someone ends up trying to use setIsAvailable() on an unsupported (non-V8) platform, they&apos;ll get a compile error.

And if you ever have platform-specific support for WebSockets, you could move WebSocket::isAvailable() into a chromium specific file, and get rid of setIsAvailable() entirely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155559</commentid>
    <comment_count>16</comment_count>
      <attachid>41395</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-10-18 21:22:10 -0700</bug_when>
    <thetext>Created attachment 41395
WebCore: Set EnabledAtRuntime for WebSocket in DOMWindow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155779</commentid>
    <comment_count>17</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2009-10-19 10:50:43 -0700</bug_when>
    <thetext>I might not be fully understanding your latest change - I see that you define isAvailable() in WebSocket.h, but the patch doesn&apos;t include an implementation anywhere (i.e. no changes to WebSocket.cpp). Where is the implementation defined?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155785</commentid>
    <comment_count>18</comment_count>
      <attachid>41395</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-10-19 11:10:41 -0700</bug_when>
    <thetext>Comment on attachment 41395
WebCore: Set EnabledAtRuntime for WebSocket in DOMWindow

Where is WebSocket::isAvailable() implemented? (And why isn&apos;t inside of some v8 guard? I don&apos;t think there needs to be an implementation for jsc.)

&gt; diff --git a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
&gt;  #include &quot;Settings.h&quot;
&gt;  #include &quot;SharedWorkerRepository.h&quot;
&gt;  #include &quot;WindowFeatures.h&quot;
&gt; +#include &quot;WebSocket.h&quot;

Out of alphabetical order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156042</commentid>
    <comment_count>19</comment_count>
      <attachid>41476</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-10-19 20:07:50 -0700</bug_when>
    <thetext>Created attachment 41476
WebCore: Set EnabledAtRuntime for WebSocket in DOMWindow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156070</commentid>
    <comment_count>20</comment_count>
      <attachid>41476</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-10-19 22:18:33 -0700</bug_when>
    <thetext>Comment on attachment 41476
WebCore: Set EnabledAtRuntime for WebSocket in DOMWindow

Thanks Ukai!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156087</commentid>
    <comment_count>21</comment_count>
      <attachid>41476</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-20 00:06:57 -0700</bug_when>
    <thetext>Comment on attachment 41476
WebCore: Set EnabledAtRuntime for WebSocket in DOMWindow

Rejecting patch 41476 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--quiet&apos;, &apos;--exit-after-n-failures=1&apos;]&quot; exit_code: 60
Last 500 characters of output:
ages while\n\trunning as root.  There are known race conditions that\n\twill allow any local user to read any file on the system.\n\tIf you still desire to serve pages as root then\n\tadd -DBIG_SECURITY_HOLE to the CFLAGS env variable\n\tand then rebuild the server.\n\tIt is strongly suggested that you instead modify the User\n\tdirective in your httpd.conf file to list a non-root\n\tuser.\n
Timed out waiting for httpd to start at WebKitTools/Scripts/run-webkit-tests line 1359, &lt;IN&gt; line 30183.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156089</commentid>
    <comment_count>22</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-10-20 00:41:21 -0700</bug_when>
    <thetext>Committed r49843: &lt;http://trac.webkit.org/changeset/49843&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156247</commentid>
    <comment_count>23</comment_count>
      <attachid>41476</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-20 12:11:13 -0700</bug_when>
    <thetext>Comment on attachment 41476
WebCore: Set EnabledAtRuntime for WebSocket in DOMWindow

Sorry about the commit-queue troubles.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40934</attachid>
            <date>2009-10-09 00:38:33 -0700</date>
            <delta_ts>2009-10-15 23:54:48 -0700</delta_ts>
            <desc>WebCore: Enable WebSocket by default if WEB_SOCKETS is enabled at compile time.</desc>
            <filename>bug-29896-20091009163831.patch</filename>
            <type>text/plain</type>
            <size>7562</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MmMxN2VlZi4uZTQwZGQ0MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0xMC0wOSAgRnVtaXRvc2hpIFVr
YWkgIDx1a2FpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBFbmFibGUgV2ViU29ja2V0IGJ5IGRlZmF1bHQgaWYgV0VCX1NPQ0tF
VFMgaXMgZW5hYmxlZCBhdCBjb21waWxlIHRpbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTg5NgorICAgICAgICAKKyAgICAgICAgc2V0RXhwZXJp
bWVudGFsV2ViU29ja2V0c0VuYWJsZWQoKSBzaG91bGQgZXhpc3QgZXZlbiBpZiBXRUJfU09DS0VU
UworICAgICAgICBpcyBub3QgZW5hYmxlZCBhdCBjb21waWxlIHRpbWUsIGJlY2F1c2UgaXQgaXMg
cmVmZXJyZWQgaW4KKyAgICAgICAgV2ViQ29yZS5iYXNlLmV4cC4KKworICAgICAgICAqIHBhZ2Uv
U2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxl
ZCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorCiAyMDA5LTEwLTA4ICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcAppbmRleCA2NzJmY2FiLi5hMDRjZmM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTEyMCw3
ICsxMjAsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fcGx1Z2lu
SGFsdGVyRW5hYmxlZChmYWxzZSkKICAgICAsIG1fd2ViR0xFbmFibGVkKGZhbHNlKQogI2lmIEVO
QUJMRShXRUJfU09DS0VUUykKLSAgICAsIG1fZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQo
ZmFsc2UpCisgICAgLCBtX2V4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKHRydWUpCiAjZW5k
aWYKIHsKICAgICAvLyBBIEZyYW1lIG1heSBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3
ZSBpbml0aWFsaXplIHRoZSBBdG9taWNTdHJpbmcgCkBAIC01NDMsMTEgKzU0MywxNCBAQCB2b2lk
IFNldHRpbmdzOjpzZXRXZWJHTEVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIG1fd2ViR0xFbmFi
bGVkID0gZW5hYmxlZDsKIH0KIAorCiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQogdm9pZCBTZXR0
aW5nczo6c2V0RXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewog
ICAgIG1fZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQgPSBlbmFibGVkOwogfQorI2Vsc2UK
K3ZvaWQgU2V0dGluZ3M6OnNldEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKGJvb2wpIHsg
fQogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggZDFkZTk2My4u
MTZlNDQ1NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKQEAgLTI3Myw4ICsyNzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHZvaWQgc2V0V2ViR0xFbmFibGVkKGJvb2wpOwogICAgICAgICBib29sIHdlYkdM
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViR0xFbmFibGVkOyB9CiAKLSNpZiBFTkFCTEUo
V0VCX1NPQ0tFVFMpCiAgICAgICAgIHZvaWQgc2V0RXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJs
ZWQoYm9vbCk7CisjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQogICAgICAgICBib29sIGV4cGVyaW1l
bnRhbFdlYlNvY2tldHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9leHBlcmltZW50YWxXZWJT
b2NrZXRzRW5hYmxlZDsgfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdl
TG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNWI0ZTZmOC4uZDg0YzYzYSAxMDA2NDQK
LS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAwOS0xMC0wOSAgRnVtaXRvc2hpIFVrYWkgIDx1a2FpQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBF
bmFibGUgV2ViU29ja2V0IGJ5IGRlZmF1bHQgaWYgV0VCX1NPQ0tFVFMgaXMgZW5hYmxlZCBhdCBj
b21waWxlIHRpbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yOTg5NgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAg
ICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorCiAyMDA5LTEwLTA4ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlk
ZWwuCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggMjkxMGQyNy4uZGQ0NDIw
NSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBi
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMzIxLDcgKzMyMSw3IEBA
IHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAg
ICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0RGF0YWJhc2VzRW5hYmxl
ZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAg
V2ViS2l0TG9jYWxTdG9yYWdlRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJl
ciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0Vu
YWJsZWRQcmVmZXJlbmNlS2V5LAotICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9d
LCAgIFdlYktpdEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkUHJlZmVyZW5jZUtleSwKKyAg
ICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRFeHBlcmltZW50YWxX
ZWJTb2NrZXRzRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJX
aXRoQm9vbDpZRVNdLCAgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlc1ByZWZlcmVuY2VLZXksCiAg
ICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0QWxsb3dBbmltYXRl
ZEltYWdlTG9vcGluZ1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRo
Qm9vbDpZRVNdLCAgV2ViS2l0RGlzcGxheUltYWdlc0tleSwKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYWQwZDUyMy4uZjg0OGIx
MCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAwOS0xMC0wOSAgRnVtaXRvc2hpIFVrYWkgIDx1a2Fp
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFbmFibGUgV2ViU29ja2V0IGJ5IGRlZmF1bHQgaWYgV0VCX1NPQ0tFVFMgaXMgZW5h
YmxlZCBhdCBjb21waWxlIHRpbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yOTg5NgorCisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAg
ICAgICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2V0dGluZ3MpOgorCiAyMDA5
LTEwLTA4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2Vz
LmNwcCBiL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IGUzNzE3N2UuLmVmOGI5
MTkgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCisrKyBiL1dlYktp
dC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBXZWJQcmVm
ZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncygpCiAgICAgQ0ZEaWN0aW9uYXJ5QWRk
VmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdERhdGFiYXNlc0VuYWJsZWRQcmVmZXJlbmNlS2V5
KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBD
RlNUUihXZWJLaXRMb2NhbFN0b3JhZ2VFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5U
cnVlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0RXhw
ZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZh
bHNlKTsKLSAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0RXhw
ZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNl
KTsKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0RXhwZXJp
bWVudGFsV2ViU29ja2V0c0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwog
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRBbGxvd0FuaW1h
dGVkSW1hZ2VzUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5UcnVlKTsKICAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlTG9vcGlu
Z1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuVHJ1ZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFs
dWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdERpc3BsYXlJbWFnZXNLZXkpLCBrQ0ZCb29sZWFuVHJ1
ZSk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFu
Z2VMb2cKaW5kZXggYzEwMThkNS4uZDBiMDNjNSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDA5
LTEwLTA5ICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBXZWJTb2NrZXQgYnkg
ZGVmYXVsdCBpZiBXRUJfU09DS0VUUyBpcyBlbmFibGVkIGF0IGNvbXBpbGUgdGltZS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5ODk2CisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNl
dERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVu
dFZhbHVlcyk6CisKIDIwMDktMTAtMDggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggMGMzMzM4MS4uYzgy
ODVhZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVy
VHJlZS5tbQpAQCAtNDA5LDcgKzQwOSw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0Nv
bnNpc3RlbnRWYWx1ZXMoKQogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNoZU1vZGVsOldlYkNhY2hl
TW9kZWxEb2N1bWVudEJyb3dzZXJdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRYU1NBdWRpdG9yRW5h
YmxlZDpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNF
bmFibGVkOk5PXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0RXhwZXJpbWVudGFsV2ViU29ja2V0c0Vu
YWJsZWQ6Tk9dOworICAgIFtwcmVmZXJlbmNlcyBzZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5h
YmxlZDpZRVNdOwogCiAgICAgW3ByZWZlcmVuY2VzIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQ6
Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZDpZRVNd
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5j
cHAKaW5kZXggN2UwMTNhNy4uMWFkNGY0ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCkBAIC03MzcsNyArNzM3LDcgQEAgc3RhdGlj
IHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyhJV2ViUHJlZmVyZW5jZXMqIHBy
ZWZlcmVuY2VzKQogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldEF1dGhvckFuZFVzZXJTdHlsZXNF
bmFibGVkKFRSVUUpOwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldERldmVsb3BlckV4dHJhc0Vu
YWJsZWQoRkFMU0UpOwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldEV4cGVyaW1lbnRhbE5vdGlm
aWNhdGlvbnNFbmFibGVkKFRSVUUpOwotICAgICAgICBwcmVmc1ByaXZhdGUtPnNldEV4cGVyaW1l
bnRhbFdlYlNvY2tldHNFbmFibGVkKEZBTFNFKTsKKyAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRF
eHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZChUUlVFKTsKICAgICAgICAgcHJlZnNQcml2YXRl
LT5zZXRTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzKEZBTFNFKTsgLy8gRklYTUUgLSBuZWVkIHRv
IG1ha2UgRFJUIHBhc3Mgd2l0aCBXaW5kb3dzIG5hdGl2ZSBjb250cm9scyA8aHR0cDovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1OTI+CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+
c2V0WFNTQXVkaXRvckVuYWJsZWQoRkFMU0UpOwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldE9m
ZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZChUUlVFKTs=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41274</attachid>
            <date>2009-10-15 23:54:55 -0700</date>
            <delta_ts>2009-10-16 07:03:30 -0700</delta_ts>
            <desc>Change WebSOcket EnableAtRuntime attribute in DOMWindow</desc>
            <filename>bug-29896-20091016155453.patch</filename>
            <type>text/plain</type>
            <size>8811</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDY4MTM5OS4uNTJjNjJhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAwOS0xMC0xNSAgRnVtaXRvc2hpIFVr
YWkgIDx1a2FpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDaGFuZ2UgV2ViU29ja2V0IEVuYWJsZWRBdFJ1bnRpbWUgYXR0cmli
dXRlIGluIERPTVdpbmRvdy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI5ODk2CisKKyAgICAgICAgQWRkIFdlYlNvY2tldDo6aXNBdmFpbGFibGUoKSB0
byBjb250cm9sIEphdmFTY3JpcHQgYmluZGluZ3MsCisgICAgICAgIGJ1dCBrZWVwIFNldHRpbmdz
OjpzZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZCgpIHRvIGVuYWJsZS9kaXNhYmxlCisg
ICAgICAgIGZyb20gV2ViS2l0IGNsaWVudHMgKGUuZy4gRHVtcFJlbmRlclRyZWUpLgorCisgICAg
ICAgIE9ubHkgc3VwcG9ydGVkIGJ5IGNocm9tZSBjdXJyZW50bHkuCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdp
bmRvdzo6d2ViU29ja2V0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6VjhET01XcmFwcGVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tQmluZGluZy5oOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmlk
bDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRp
bmdzOjpTZXR0aW5ncyk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0RXhwZXJpbWVu
dGFsV2ViU29ja2V0c0VuYWJsZWQpOgorICAgICAgICBkZWZpbmUgaXQgZXZlbiB1bmxlc3MgRU5B
QkxFKFdFQl9TT0NLRVRTKSwgdG8gYXZvaWQgbGluayBlcnJvcgorICAgICAgICB3aGVuIGJ1aWxk
aW5nIC0tbm8td2ViLXNvY2tldHMuCisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6ZXhwZXJp
bWVudGFsV2ViU29ja2V0c0VuYWJsZWQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAg
ICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJT
b2NrZXQ6OnNldElzQXZhaWxhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6aXNB
dmFpbGFibGUpOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Lmg6CisKIDIwMDktMTAt
MTUgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQub3JnPgogCiAgICAgICAgIE5vIHJldmll
dywgcm9sbGluZyBvdXQgcjQ5NjQ0LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3Vz
dG9tLmNwcAppbmRleCA0NzMzOWQ0Li4xZTEzMzJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93Q3VzdG9tLmNwcApAQCAtODIsNiArODIsNyBAQAogI2luY2x1ZGUgIlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2hhcmVk
V29ya2VyUmVwb3NpdG9yeS5oIgorI2luY2x1ZGUgIldlYlNvY2tldC5oIgogI2luY2x1ZGUgIldp
bmRvd0ZlYXR1cmVzLmgiCiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgogI2luY2x1ZGUgPHJ1
bnRpbWUvSlNGdW5jdGlvbi5oPgpAQCAtNzI0LDE0ICs3MjUsMTQgQEAgSlNWYWx1ZSBKU0RPTVdp
bmRvdzo6c2hhcmVkV29ya2VyKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKICNpZiBFTkFCTEUoV0VC
X1NPQ0tFVFMpCiBKU1ZhbHVlIEpTRE9NV2luZG93Ojp3ZWJTb2NrZXQoRXhlY1N0YXRlKiBleGVj
KSBjb25zdAogeworICAgIGlmICghV2ViU29ja2V0Ojppc0F2YWlsYWJsZSgpKQorICAgICAgICBy
ZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICBGcmFtZSogZnJhbWUgPSBpbXBsKCktPmZyYW1lKCk7
CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgU2V0
dGluZ3MqIHNldHRpbmdzID0gZnJhbWUtPnNldHRpbmdzKCk7CiAgICAgaWYgKCFzZXR0aW5ncykK
ICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgaWYgKCFzZXR0aW5ncy0+ZXhwZXJp
bWVudGFsV2ViU29ja2V0c0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7
CiAgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTV2ViU29ja2V0Q29uc3RydWN0b3I+KGV4
ZWMsIHRoaXMpOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RE9NV3JhcHBlci5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKaW5k
ZXggMTJjY2YyYS4uYTM2MjY1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERP
TVdyYXBwZXIuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcApA
QCAtNTk3LDE2ICs1OTcsNiBAQCB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBWOERPTVdyYXBwZXI6
OmdldENvbnN0cnVjdG9yKFY4Q2xhc3NJbmRleDo6VjhXcmFwcGVyVHlwZQogICAgIGlmICghZnJh
bWUpCiAgICAgICAgIHJldHVybiB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPigpOwogCi0jaWYgRU5B
QkxFKFdFQl9TT0NLRVRTKQotICAgIC8vIE1ha2UgdHlwZW9mKHdpbmRvdy5XZWJTb2NrZXQpID09
ICd1bmRlZmluZWQnIHdoZW4KLSAgICAvLyBleHBlcmltZW50YWxXZWJTb2NrZXRFbmFibGVkIGlz
IGZhbHNlLgotICAgIGlmICh0eXBlID09IFY4Q2xhc3NJbmRleDo6V0VCU09DS0VUKSB7Ci0gICAg
ICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IGZyYW1lLT5zZXR0aW5ncygpOwotICAgICAgICBpZiAo
IXNldHRpbmdzIHx8ICFzZXR0aW5ncy0+ZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQoKSkK
LSAgICAgICAgICAgIHJldHVybiB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPigpOwotICAgIH0KLSNl
bmRpZgotCiAgICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29udGV4dCA9IFY4UHJveHk6OmNv
bnRleHQoZnJhbWUpOwogICAgIGlmIChjb250ZXh0LklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJu
IHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEN1c3RvbUJpbmRpbmcuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q3VzdG9tQmluZGluZy5oCmluZGV4IDcxZGQ4OGUuLjIzMjJiNjEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tQmluZGluZy5oCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tQmluZGluZy5oCkBAIC02NDQsNiArNjQ0LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBERUNMQVJFX0NBTExCQUNLKFdlYlNvY2tldFJl
bW92ZUV2ZW50TGlzdGVuZXIpOwogICAgICAgICBERUNMQVJFX0NBTExCQUNLKFdlYlNvY2tldFNl
bmQpOwogICAgICAgICBERUNMQVJFX0NBTExCQUNLKFdlYlNvY2tldENsb3NlKTsKKyAgICAgICAg
REVDTEFSRV9BQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIoRE9NV2luZG93V2ViU29ja2V0KTsKICNl
bmRpZgogCiAjdW5kZWYgREVDTEFSRV9JTkRFWEVEX0FDQ0VTU19DSEVDSwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IGMzZDc4MWUu
LmZmYWMwMGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2lu
ZG93Q3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRv
d0N1c3RvbS5jcHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2lu
Y2x1ZGUgIlNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCIKICNpbmNsdWRlICJXaW5kb3dGZWF0dXJl
cy5oIgorI2luY2x1ZGUgIldlYlNvY2tldC5oIgogCiAvLyBIb3Jpem9udGFsIGFuZCB2ZXJ0aWNh
bCBvZmZzZXQsIGZyb20gdGhlIHBhcmVudCBjb250ZW50IGFyZWEsIGFyb3VuZCBuZXdseQogLy8g
b3BlbmVkIHBvcHVwcyB0aGF0IGRvbid0IHNwZWNpZnkgYSBsb2NhdGlvbi4KQEAgLTI1MSw2ICsy
NTIsMTMgQEAgQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdpbmRvd1NoYXJlZFdvcmtlcikK
IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQorQUNDRVNTT1JfUlVOVElNRV9F
TkFCTEVSKERPTVdpbmRvd1dlYlNvY2tldCkKK3sKKyAgICByZXR1cm4gV2ViU29ja2V0Ojppc0F2
YWlsYWJsZSgpOworfQorI2VuZGlmCisKIEFDQ0VTU09SX0dFVFRFUihET01XaW5kb3dJbWFnZSkK
IHsKICAgICBET01XaW5kb3cqIHdpbmRvdyA9IFY4RE9NV3JhcHBlcjo6Y29udmVydFRvTmF0aXZl
T2JqZWN0PERPTVdpbmRvdz4oVjhDbGFzc0luZGV4OjpET01XSU5ET1csIGluZm8uSG9sZGVyKCkp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAppbmRleCA5MDNlZDE4Li5jMmRhMTgzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAt
NTA2LDcgKzUwNiw3IEBAIG1vZHVsZSB3aW5kb3cgewogI2VuZGlmCiAKICNpZiBkZWZpbmVkKEVO
QUJMRV9XRUJfU09DS0VUUykgJiYgRU5BQkxFX1dFQl9TT0NLRVRTCi0gICAgICAgIGF0dHJpYnV0
ZSBbSlNDQ3VzdG9tR2V0dGVyXSBXZWJTb2NrZXRDb25zdHJ1Y3RvciBXZWJTb2NrZXQ7IC8vIFVz
YWJsZSB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21H
ZXR0ZXIsRW5hYmxlZEF0UnVudGltZV0gV2ViU29ja2V0Q29uc3RydWN0b3IgV2ViU29ja2V0OyAv
LyBVc2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCiAjZW5kaWYKIAogICAgICAgICBhdHRyaWJ1
dGUgUGx1Z2luQ29uc3RydWN0b3IgUGx1Z2luOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggYjhiOWU4ZS4uNDcz
NzU5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSGlzdG9yeUl0
ZW0uaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNhY2hlLmgiCisjaW5jbHVk
ZSAiV2ViU29ja2V0LmgiCiAjaW5jbHVkZSA8bGltaXRzPgogCiB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwpAQCAtMTE4LDkgKzExOSw2IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAg
ICwgbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCh0cnVlKQogICAgICwgbV9leHBlcmlt
ZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZChmYWxzZSkKICAgICAsIG1fd2ViR0xFbmFibGVkKGZh
bHNlKQotI2lmIEVOQUJMRShXRUJfU09DS0VUUykKLSAgICAsIG1fZXhwZXJpbWVudGFsV2ViU29j
a2V0c0VuYWJsZWQoZmFsc2UpCi0jZW5kaWYKIHsKICAgICAvLyBBIEZyYW1lIG1heSBub3QgaGF2
ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3ZSBpbml0aWFsaXplIHRoZSBBdG9taWNTdHJpbmcgCiAg
ICAgLy8gaGFzaCBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdC4KQEAgLTUzNSw3ICs1MzMsMTYgQEAg
dm9pZCBTZXR0aW5nczo6c2V0V2ViR0xFbmFibGVkKGJvb2wgZW5hYmxlZCkKICNpZiBFTkFCTEUo
V0VCX1NPQ0tFVFMpCiB2b2lkIFNldHRpbmdzOjpzZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5h
YmxlZChib29sIGVuYWJsZWQpCiB7Ci0gICAgbV9leHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxl
ZCA9IGVuYWJsZWQ7CisgICAgV2ViU29ja2V0OjpzZXRJc0F2YWlsYWJsZShlbmFibGVkKTsKK30K
KworYm9vbCBTZXR0aW5nczo6ZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQoKSBjb25zdAor
eworICAgIHJldHVybiBXZWJTb2NrZXQ6OmlzQXZhaWxhYmxlKCk7Cit9CisjZWxzZQordm9pZCBT
ZXR0aW5nczo6c2V0RXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQoYm9vbCkKK3sKIH0KICNl
bmRpZgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCmluZGV4IGMzYzM5N2UuLjVjNzVhZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0yNzAsOSAr
MjcwLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFdlYkdMRW5hYmxl
ZChib29sKTsKICAgICAgICAgYm9vbCB3ZWJHTEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dl
YkdMRW5hYmxlZDsgfQogCi0jaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQogICAgICAgICB2b2lkIHNl
dEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKGJvb2wpOwotICAgICAgICBib29sIGV4cGVy
aW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9leHBlcmltZW50YWxX
ZWJTb2NrZXRzRW5hYmxlZDsgfQorI2lmIEVOQUJMRShXRUJfU09DS0VUUykKKyAgICAgICAgYm9v
bCBleHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZCgpIGNvbnN0OwogI2VuZGlmCiAKICAgICBw
cml2YXRlOgpAQCAtMzQ0LDEwICszNDQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IGJvb2wgbV9leHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZCA6IDE7CiAgICAgICAgIGJv
b2wgbV93ZWJHTEVuYWJsZWQgOiAxOwogCi0jaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQotICAgICAg
ICBib29sIG1fZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQgOiAxOwotI2VuZGlmCi0KICNp
ZiBVU0UoU0FGQVJJX1RIRU1FKQogICAgICAgICBzdGF0aWMgYm9vbCBnU2hvdWxkUGFpbnROYXRp
dmVDb250cm9sczsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHAgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAppbmRleCAxNjIxMWE3
Li5hOGZlZDVjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAor
KysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtODYsNiArODYsMTggQEAg
c3RhdGljIGJvb2wgaXNWYWxpZFByb3RvY29sU3RyaW5nKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYg
cHJvdG9jb2wpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgV2ViU29ja2V0OjptX2F2YWls
YWJsZSA9IGZhbHNlOworCit2b2lkIFdlYlNvY2tldDo6c2V0SXNBdmFpbGFibGUoYm9vbCBhdmFp
bGFibGUpCit7CisgICAgbV9hdmFpbGFibGUgPSBhdmFpbGFibGU7Cit9CisKK2Jvb2wgV2ViU29j
a2V0Ojppc0F2YWlsYWJsZSgpCit7CisgICAgcmV0dXJuIG1fYXZhaWxhYmxlOworfQorCiBXZWJT
b2NrZXQ6OldlYlNvY2tldChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogICAgIDog
QWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCiAgICAgLCBtX3N0YXRlKENPTk5FQ1RJTkcp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmggYi9XZWJDb3JlL3dl
YnNvY2tldHMvV2ViU29ja2V0LmgKaW5kZXggYzViN2VlNy4uZTg4ZGExYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5oCisrKyBiL1dlYkNvcmUvd2Vic29ja2V0cy9X
ZWJTb2NrZXQuaApAQCAtNTAsNiArNTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBj
bGFzcyBXZWJTb2NrZXQgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXQ+LCBwdWJsaWMgRXZl
bnRUYXJnZXQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBXZWJTb2NrZXRDaGFubmVs
Q2xpZW50IHsKICAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyB2b2lkIHNldElzQXZhaWxhYmxl
KGJvb2wpOworICAgICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwogICAgICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxXZWJTb2NrZXQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2ViU29ja2V0KGNvbnRleHQpKTsgfQogICAg
ICAgICB2aXJ0dWFsIH5XZWJTb2NrZXQoKTsKIApAQCAtMTA3LDYgKzEwOSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VFdmVudChFdmVudCopOwog
ICAgICAgICB2b2lkIGRpc3BhdGNoQ2xvc2VFdmVudChFdmVudCopOwogCisgICAgICAgIHN0YXRp
YyBib29sIG1fYXZhaWxhYmxlOwogICAgICAgICBSZWZQdHI8V2ViU29ja2V0Q2hhbm5lbD4gbV9j
aGFubmVsOwogCiAgICAgICAgIFN0YXRlIG1fc3RhdGU7
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41285</attachid>
            <date>2009-10-16 07:03:37 -0700</date>
            <delta_ts>2009-10-18 21:22:04 -0700</delta_ts>
            <desc>WebSocket runtime configuration for chromium/v8</desc>
            <filename>bug-29896-20091016230335.patch</filename>
            <type>text/plain</type>
            <size>24195</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDY4MTM5OS4uOWExYzhlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAwOS0xMC0xNiAgRnVtaXRvc2hpIFVr
YWkgIDx1a2FpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTZXQgRW5hYmxlZEF0UnVudGltZSBmb3IgV2ViU29ja2V0IGluIERP
TVdpbmRvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Mjk4OTYKKworICAgICAgICBTdXBwb3J0ZWQgYnkgY2hyb21pdW0vdjggb25seS4KKyAgICAgICAg
QWRkIFdlYlNvY2tldDo6aXNBdmFpbGFibGUoKSB0byBjb250cm9sIHY4IGJpbmRpbmdzLgorICAg
ICAgICBSZW1vdmUgU2V0dGluZ3M6OnNldEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKGJv
b2wpIGZyb20gV2ViQ29yZS5iYXNlLmV4cCwKKyAgICAgICAgYmVjYXVzZSBpdCBpcyB1c2VkIGlu
IGNocm9taXVtL3Y4IG9ubHkuCisKKyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV2luZG93Ojp3ZWJTb2NrZXQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV3Jh
cHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6OmdldENvbnN0cnVjdG9y
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5kaW5nLmg6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUik6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuaWRsOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRF
eHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6ZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQpOgorICAgICAgICAqIHBhZ2UvU2V0dGlu
Z3MuaDoKKyAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJTb2NrZXQ6OnNldElzQXZhaWxhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNv
Y2tldDo6aXNBdmFpbGFibGUpOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Lmg6CisK
IDIwMDktMTAtMTUgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQub3JnPgogCiAgICAgICAg
IE5vIHJldmlldywgcm9sbGluZyBvdXQgcjQ5NjQ0LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLmJhc2UuZXhwIGIvV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCmluZGV4IDM3MTI5MDYuLmVm
MjYyMWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAorKysgYi9XZWJDb3Jl
L1dlYkNvcmUuYmFzZS5leHAKQEAgLTY0NSw3ICs2NDUsNiBAQCBfX1pON1dlYkNvcmU4U2V0dGlu
Z3MyOXNldFdlYkFyY2hpdmVEZWJ1Z01vZGVFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5n
czMxc2V0U2hyaW5rc1N0YW5kYWxvbmVJbWFnZXNUb0ZpdEViCiBfX1pON1dlYkNvcmU4U2V0dGlu
Z3MzMnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0
aW5nczMyc2V0TmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmtFYgotX19aTjdXZWJDb3JlOFNl
dHRpbmdzMzJzZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4
U2V0dGluZ3MzM3NldERvd25sb2FkYWJsZUJpbmFyeUZvbnRzRW5hYmxlZEViCiBfX1pON1dlYkNv
cmU4U2V0dGluZ3MzM3NldEVuZm9yY2VDU1NNSU1FVHlwZUluU3RyaWN0TW9kZUViCiBfX1pON1dl
YkNvcmU4U2V0dGluZ3MzNHNldExvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWRFYgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAppbmRleCA0NzMzOWQ0Li4xMTJl
YjliIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNw
cAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcApAQCAtNzI0
LDE0ICs3MjQsNiBAQCBKU1ZhbHVlIEpTRE9NV2luZG93OjpzaGFyZWRXb3JrZXIoRXhlY1N0YXRl
KiBleGVjKSBjb25zdAogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKIEpTVmFsdWUgSlNET01XaW5k
b3c6OndlYlNvY2tldChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7Ci0gICAgRnJhbWUqIGZyYW1l
ID0gaW1wbCgpLT5mcmFtZSgpOwotICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJldHVybiBqc1Vu
ZGVmaW5lZCgpOwotICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IGZyYW1lLT5zZXR0aW5ncygpOwot
ICAgIGlmICghc2V0dGluZ3MpCi0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotICAgIGlm
ICghc2V0dGluZ3MtPmV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKCkpCi0gICAgICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOwogICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1dlYlNv
Y2tldENvbnN0cnVjdG9yPihleGVjLCB0aGlzKTsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OERPTVdyYXBwZXIuY3BwCmluZGV4IDEyY2NmMmEuLmEzNjI2NTggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4RE9NV3JhcHBlci5jcHAKQEAgLTU5NywxNiArNTk3LDYgQEAgdjg6OkxvY2FsPHY4OjpGdW5j
dGlvbj4gVjhET01XcmFwcGVyOjpnZXRDb25zdHJ1Y3RvcihWOENsYXNzSW5kZXg6OlY4V3JhcHBl
clR5cGUKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpGdW5j
dGlvbj4oKTsKIAotI2lmIEVOQUJMRShXRUJfU09DS0VUUykKLSAgICAvLyBNYWtlIHR5cGVvZih3
aW5kb3cuV2ViU29ja2V0KSA9PSAndW5kZWZpbmVkJyB3aGVuCi0gICAgLy8gZXhwZXJpbWVudGFs
V2ViU29ja2V0RW5hYmxlZCBpcyBmYWxzZS4KLSAgICBpZiAodHlwZSA9PSBWOENsYXNzSW5kZXg6
OldFQlNPQ0tFVCkgewotICAgICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBmcmFtZS0+c2V0dGlu
Z3MoKTsKLSAgICAgICAgaWYgKCFzZXR0aW5ncyB8fCAhc2V0dGluZ3MtPmV4cGVyaW1lbnRhbFdl
YlNvY2tldHNFbmFibGVkKCkpCi0gICAgICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpGdW5j
dGlvbj4oKTsKLSAgICB9Ci0jZW5kaWYKLQogICAgIHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNv
bnRleHQgPSBWOFByb3h5Ojpjb250ZXh0KGZyYW1lKTsKICAgICBpZiAoY29udGV4dC5Jc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybiB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPigpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5kaW5nLmggYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUJpbmRpbmcuaAppbmRleCA3MWRkODhlLi4yMzIy
YjYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUJpbmRp
bmcuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUJpbmRpbmcuaApA
QCAtNjQ0LDYgKzY0NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgREVDTEFSRV9D
QUxMQkFDSyhXZWJTb2NrZXRSZW1vdmVFdmVudExpc3RlbmVyKTsKICAgICAgICAgREVDTEFSRV9D
QUxMQkFDSyhXZWJTb2NrZXRTZW5kKTsKICAgICAgICAgREVDTEFSRV9DQUxMQkFDSyhXZWJTb2Nr
ZXRDbG9zZSk7CisgICAgICAgIERFQ0xBUkVfQUNDRVNTT1JfUlVOVElNRV9FTkFCTEVSKERPTVdp
bmRvd1dlYlNvY2tldCk7CiAjZW5kaWYKIAogI3VuZGVmIERFQ0xBUkVfSU5ERVhFRF9BQ0NFU1Nf
Q0hFQ0sKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93
Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9t
LmNwcAppbmRleCBjM2Q3ODFlLi5mZmFjMDBiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgiCiAjaW5j
bHVkZSAiV2luZG93RmVhdHVyZXMuaCIKKyNpbmNsdWRlICJXZWJTb2NrZXQuaCIKIAogLy8gSG9y
aXpvbnRhbCBhbmQgdmVydGljYWwgb2Zmc2V0LCBmcm9tIHRoZSBwYXJlbnQgY29udGVudCBhcmVh
LCBhcm91bmQgbmV3bHkKIC8vIG9wZW5lZCBwb3B1cHMgdGhhdCBkb24ndCBzcGVjaWZ5IGEgbG9j
YXRpb24uCkBAIC0yNTEsNiArMjUyLDEzIEBAIEFDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihET01X
aW5kb3dTaGFyZWRXb3JrZXIpCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJfU09DS0VUUykK
K0FDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dXZWJTb2NrZXQpCit7CisgICAgcmV0
dXJuIFdlYlNvY2tldDo6aXNBdmFpbGFibGUoKTsKK30KKyNlbmRpZgorCiBBQ0NFU1NPUl9HRVRU
RVIoRE9NV2luZG93SW1hZ2UpCiB7CiAgICAgRE9NV2luZG93KiB3aW5kb3cgPSBWOERPTVdyYXBw
ZXI6OmNvbnZlcnRUb05hdGl2ZU9iamVjdDxET01XaW5kb3c+KFY4Q2xhc3NJbmRleDo6RE9NV0lO
RE9XLCBpbmZvLkhvbGRlcigpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggOTAzZWQxOC4uYzJkYTE4MyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKQEAgLTUwNiw3ICs1MDYsNyBAQCBtb2R1bGUgd2luZG93IHsKICNlbmRp
ZgogCiAjaWYgZGVmaW5lZChFTkFCTEVfV0VCX1NPQ0tFVFMpICYmIEVOQUJMRV9XRUJfU09DS0VU
UwotICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcl0gV2ViU29ja2V0Q29uc3RydWN0
b3IgV2ViU29ja2V0OyAvLyBVc2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCisgICAgICAgIGF0
dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLEVuYWJsZWRBdFJ1bnRpbWVdIFdlYlNvY2tldENvbnN0
cnVjdG9yIFdlYlNvY2tldDsgLy8gVXNhYmxlIHdpdGggdGhlIG5ldyBvcGVyYXRvcgogI2VuZGlm
CiAKICAgICAgICAgYXR0cmlidXRlIFBsdWdpbkNvbnN0cnVjdG9yIFBsdWdpbjsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3Bw
CmluZGV4IGI4YjllOGUuLmFiZDliNWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBh
Z2VDYWNoZS5oIgorI2luY2x1ZGUgIldlYlNvY2tldC5oIgogI2luY2x1ZGUgPGxpbWl0cz4KIAog
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKQEAgLTExOCw5ICsxMTksNiBAQCBTZXR0aW5nczo6U2V0dGlu
Z3MoUGFnZSogcGFnZSkKICAgICAsIG1fYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQodHJ1
ZSkKICAgICAsIG1fZXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWQoZmFsc2UpCiAgICAg
LCBtX3dlYkdMRW5hYmxlZChmYWxzZSkKLSNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCi0gICAgLCBt
X2V4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKGZhbHNlKQotI2VuZGlmCiB7CiAgICAgLy8g
QSBGcmFtZSBtYXkgbm90IGhhdmUgYmVlbiBjcmVhdGVkIHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0
aGUgQXRvbWljU3RyaW5nIAogICAgIC8vIGhhc2ggYmVmb3JlIHRyeWluZyB0byB1c2UgaXQuCkBA
IC01MzUsNyArNTMzLDEyIEBAIHZvaWQgU2V0dGluZ3M6OnNldFdlYkdMRW5hYmxlZChib29sIGVu
YWJsZWQpCiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQogdm9pZCBTZXR0aW5nczo6c2V0RXhwZXJp
bWVudGFsV2ViU29ja2V0c0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewotICAgIG1fZXhwZXJpbWVu
dGFsV2ViU29ja2V0c0VuYWJsZWQgPSBlbmFibGVkOworICAgIFdlYlNvY2tldDo6c2V0SXNBdmFp
bGFibGUoZW5hYmxlZCk7Cit9CisKK2Jvb2wgU2V0dGluZ3M6OmV4cGVyaW1lbnRhbFdlYlNvY2tl
dHNFbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gV2ViU29ja2V0Ojppc0F2YWlsYWJsZSgp
OwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggYzNjMzk3ZS4uODNkNDRhNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAg
LTI3Miw3ICsyNzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoV0VCX1NP
Q0tFVFMpCiAgICAgICAgIHZvaWQgc2V0RXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQoYm9v
bCk7Ci0gICAgICAgIGJvb2wgZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQoKSBjb25zdCB7
IHJldHVybiBtX2V4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkOyB9CisgICAgICAgIGJvb2wg
ZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQoKSBjb25zdDsKICNlbmRpZgogCiAgICAgcHJp
dmF0ZToKQEAgLTM0NCwxMCArMzQ0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBi
b29sIG1fZXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWQgOiAxOwogICAgICAgICBib29s
IG1fd2ViR0xFbmFibGVkIDogMTsKIAotI2lmIEVOQUJMRShXRUJfU09DS0VUUykKLSAgICAgICAg
Ym9vbCBtX2V4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkIDogMTsKLSNlbmRpZgotCiAjaWYg
VVNFKFNBRkFSSV9USEVNRSkKICAgICAgICAgc3RhdGljIGJvb2wgZ1Nob3VsZFBhaW50TmF0aXZl
Q29udHJvbHM7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXQuY3BwIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKaW5kZXggMTYyMTFhNy4u
ZDNhZmQ0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKKysr
IGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKQEAgLTg2LDYgKzg2LDI5IEBAIHN0
YXRpYyBib29sIGlzVmFsaWRQcm90b2NvbFN0cmluZyhjb25zdCBXZWJDb3JlOjpTdHJpbmcmIHBy
b3RvY29sKQogICAgIHJldHVybiB0cnVlOwogfQogCisjaWYgVVNFKFY4KQorYm9vbCBXZWJTb2Nr
ZXQ6Om1fYXZhaWxhYmxlID0gZmFsc2U7CisKK3ZvaWQgV2ViU29ja2V0OjpzZXRJc0F2YWlsYWJs
ZShib29sIGF2YWlsYWJsZSkKK3sKKyAgICBtX2F2YWlsYWJsZSA9IGF2YWlsYWJsZTsKK30KKwor
Ym9vbCBXZWJTb2NrZXQ6OmlzQXZhaWxhYmxlKCkKK3sKKyAgICByZXR1cm4gbV9hdmFpbGFibGU7
Cit9CisjZWxzZQordm9pZCBXZWJTb2NrZXQ6OnNldElzQXZhaWxhYmxlKGJvb2wpCit7Cit9CisK
K2Jvb2wgV2ViU29ja2V0Ojppc0F2YWlsYWJsZSgpCit7CisgICAgcmV0dXJuIHRydWU7Cit9Cisj
ZW5kaWYKKwogV2ViU29ja2V0OjpXZWJTb2NrZXQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCkKICAgICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQogICAgICwgbV9zdGF0
ZShDT05ORUNUSU5HKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5o
IGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5oCmluZGV4IGM1YjdlZTcuLjVkMTdkYTcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaAorKysgYi9XZWJDb3Jl
L3dlYnNvY2tldHMvV2ViU29ja2V0LmgKQEAgLTUwLDYgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgY2xhc3MgV2ViU29ja2V0IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViU29ja2V0
PiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgV2Vi
U29ja2V0Q2hhbm5lbENsaWVudCB7CiAgICAgcHVibGljOgorICAgICAgICBzdGF0aWMgdm9pZCBz
ZXRJc0F2YWlsYWJsZShib29sKTsKKyAgICAgICAgc3RhdGljIGJvb2wgaXNBdmFpbGFibGUoKTsK
ICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViU29ja2V0PiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldChjb250
ZXh0KSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0KCk7CiAKQEAgLTEwNyw2ICsxMDks
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgZGlzcGF0Y2hNZXNzYWdlRXZl
bnQoRXZlbnQqKTsKICAgICAgICAgdm9pZCBkaXNwYXRjaENsb3NlRXZlbnQoRXZlbnQqKTsKIAor
I2lmIFVTRShWOCkKKyAgICAgICAgc3RhdGljIGJvb2wgbV9hdmFpbGFibGU7CisjZW5kaWYKICAg
ICAgICAgUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IG1fY2hhbm5lbDsKIAogICAgICAgICBTdGF0
ZSBtX3N0YXRlOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwppbmRleCA1MzhmODdiLi4xOTI2MDRlIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDA5LTEwLTE2ICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgV2ViU29ja2V0
IHJ1bnRpbWUgc2V0dGluZ3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yOTg5NgorCisgICAgICAgIFdlYlNvY2tldCBSdW50aW1lIGNvbmZpZ3VyYXRp
b24gc3VwcG9ydGVkIGJ5IGNocm9taXVtL3Y4IG9ubHkuCisKKyAgICAgICAgKiB3ZWJraXQvd2Vi
a2l0d2Vidmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpbmdz
KToKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3RpZnkpOgorCiAyMDA5LTEw
LTE1ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBHdXN0YXZvIE5vcm9uaGEuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3
ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IGZi
MmJmMzUuLjAzZmZiNDQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZp
ZXcuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC0yMzky
LDcgKzIzOTIsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpbmdz
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgICAgIGVuYWJsZVNjcmlwdHMsIGVuYWJsZVBs
dWdpbnMsIGVuYWJsZURldmVsb3BlckV4dHJhcywgcmVzaXphYmxlVGV4dEFyZWFzLAogICAgICAg
ICBlbmFibGVQcml2YXRlQnJvd3NpbmcsIGVuYWJsZUNhcmV0QnJvd3NpbmcsIGVuYWJsZUhUTUw1
RGF0YWJhc2UsIGVuYWJsZUhUTUw1TG9jYWxTdG9yYWdlLAogICAgICAgICBlbmFibGVYU1NBdWRp
dG9yLCBqYXZhc2NyaXB0Q2FuT3BlbldpbmRvd3MsIGVuYWJsZU9mZmxpbmVXZWJBcHBDYWNoZSwK
LSAgICAgICAgZW5hYmxlVW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkksIGVuYWJsZVdlYlNvY2tl
dHM7CisgICAgICAgIGVuYWJsZVVuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJJOwogCiAgICAgV2Vi
S2l0RWRpdGluZ0JlaGF2aW9yIGVkaXRpbmdCZWhhdmlvcjsKIApAQCAtMjQyMSw3ICsyNDIxLDYg
QEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3VwZGF0ZV9zZXR0aW5ncyhXZWJLaXRXZWJW
aWV3KiB3ZWJWaWV3KQogICAgICAgICAgICAgICAgICAiZW5hYmxlLW9mZmxpbmUtd2ViLWFwcGxp
Y2F0aW9uLWNhY2hlIiwgJmVuYWJsZU9mZmxpbmVXZWJBcHBDYWNoZSwKICAgICAgICAgICAgICAg
ICAgImVkaXRpbmctYmVoYXZpb3IiLCAmZWRpdGluZ0JlaGF2aW9yLAogICAgICAgICAgICAgICAg
ICAiZW5hYmxlLXVuaXZlcnNhbC1hY2Nlc3MtZnJvbS1maWxlLXVyaXMiLCAmZW5hYmxlVW5pdmVy
c2FsQWNjZXNzRnJvbUZpbGVVUkksCi0gICAgICAgICAgICAgICAgICJlbmFibGUtd2ViLXNvY2tl
dHMiLCAmZW5hYmxlV2ViU29ja2V0cywKICAgICAgICAgICAgICAgICAgTlVMTCk7CiAKICAgICBz
ZXR0aW5ncy0+c2V0RGVmYXVsdFRleHRFbmNvZGluZ05hbWUoZGVmYXVsdEVuY29kaW5nKTsKQEAg
LTI0NDgsOSArMjQ0Nyw2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld191cGRhdGVfc2V0
dGluZ3MoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICBzZXR0aW5ncy0+c2V0T2ZmbGluZVdl
YkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKGVuYWJsZU9mZmxpbmVXZWJBcHBDYWNoZSk7CiAgICAg
c2V0dGluZ3MtPnNldEVkaXRpbmdCZWhhdmlvcihjb3JlKGVkaXRpbmdCZWhhdmlvcikpOwogICAg
IHNldHRpbmdzLT5zZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhlbmFibGVVbml2
ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSSSk7Ci0jaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQotICAgIHNl
dHRpbmdzLT5zZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZChlbmFibGVXZWJTb2NrZXRz
KTsKLSNlbmRpZgogCiAgICAgZ19mcmVlKGRlZmF1bHRFbmNvZGluZyk7CiAgICAgZ19mcmVlKGN1
cnNpdmVGb250RmFtaWx5KTsKQEAgLTI1MzcsMTAgKzI1MzMsNiBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfd2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5KFdlYktpdFdlYlNldHRpbmdzKiB3ZWJTZXR0aW5n
cywgR1BhcgogICAgICAgICBzZXR0aW5ncy0+c2V0RWRpdGluZ0JlaGF2aW9yKGNvcmUoc3RhdGlj
X2Nhc3Q8V2ViS2l0RWRpdGluZ0JlaGF2aW9yPihnX3ZhbHVlX2dldF9lbnVtKCZ2YWx1ZSkpKSk7
CiAgICAgZWxzZSBpZiAobmFtZSA9PSBnX2ludGVybl9zdHJpbmcoImVuYWJsZS11bml2ZXJzYWwt
YWNjZXNzLWZyb20tZmlsZS11cmlzIikpCiAgICAgICAgIHNldHRpbmdzLT5zZXRBbGxvd1VuaXZl
cnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhnX3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1ZSkpOwotI2lm
IEVOQUJMRShXRUJfU09DS0VUUykKLSAgICBlbHNlIGlmIChuYW1lID09IGdfaW50ZXJuX3N0cmlu
ZygiZW5hYmxlLXdlYi1zb2NrZXRzIikpCi0gICAgICAgIHNldHRpbmdzLT5zZXRFeHBlcmltZW50
YWxXZWJTb2NrZXRzRW5hYmxlZChnX3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1ZSkpOwotI2VuZGlm
CiAgICAgZWxzZSBpZiAoIWdfb2JqZWN0X2NsYXNzX2ZpbmRfcHJvcGVydHkoR19PQkpFQ1RfR0VU
X0NMQVNTKHdlYlNldHRpbmdzKSwgbmFtZSkpCiAgICAgICAgIGdfd2FybmluZygiVW5leHBlY3Rl
ZCBzZXR0aW5nICclcyciLCBuYW1lKTsKICAgICBnX3ZhbHVlX3Vuc2V0KCZ2YWx1ZSk7CmRpZmYg
LS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4
IGZjZWUzNDYuLjE5ZjhkN2YgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMTAtMTYgIEZ1bWl0
b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBXZWJTb2NrZXQgcnVudGltZSBzZXR0aW5n
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5ODk2
CisKKyAgICAgICAgV2ViU29ja2V0IFJ1bnRpbWUgY29uZmlndXJhdGlvbiBzdXBwb3J0ZWQgYnkg
Y2hyb21pdW0vdjggb25seS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAg
KCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAg
ICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb246XSk6CisKIDIwMDkt
MTAtMTUgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgQWRlbGUgUGV0ZXJzb24uCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggMWY0ZDcyZS4uNGE4NzMzNyAxMDA2NDQKLS0tIGEv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtNTYsNyArNTYsNiBA
QAogI2RlZmluZSBXZWJLaXREYXRhYmFzZXNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdERh
dGFiYXNlc0VuYWJsZWRQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRMb2NhbFN0b3JhZ2VF
bmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdExvY2FsU3RvcmFnZUVuYWJsZWRQcmVmZXJlbmNl
S2V5IgogI2RlZmluZSBXZWJLaXRFeHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRFeHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZFByZWZlcmVu
Y2VLZXkiCi0jZGVmaW5lIFdlYktpdEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkUHJlZmVyZW5jZUtl
eSIKICNkZWZpbmUgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlc1ByZWZlcmVuY2VLZXkgQCJXZWJL
aXRBbGxvd0FuaW1hdGVkSW1hZ2VzUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0QWxsb3dB
bmltYXRlZEltYWdlTG9vcGluZ1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbGxvd0FuaW1hdGVkSW1h
Z2VMb29waW5nUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0RGlzcGxheUltYWdlc0tleSBA
IldlYktpdERpc3BsYXlJbWFnZXNLZXkiCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0K
aW5kZXggOGMxOWFlNC4uNDkxNDM0MCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5t
bQpAQCAtMzIxLDcgKzMyMSw2IEBAIHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JN
YWluQnVuZGxlKHZvaWQpCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAg
V2ViS2l0RGF0YWJhc2VzRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0TG9jYWxTdG9yYWdlRW5hYmxlZFByZWZlcmVuY2VL
ZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0RXhwZXJp
bWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5LAotICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFi
bGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10s
ICBXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VzUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVt
YmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VMb29waW5n
UHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBX
ZWJLaXREaXNwbGF5SW1hZ2VzS2V5LApAQCAtMTAyNSwxNiArMTAyNCw2IEBAIHN0YXRpYyBXZWJD
YWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAgW3NlbGYgX3NldEJv
b2xWYWx1ZTpleHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZCBmb3JLZXk6V2ViS2l0RXhw
ZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAoQk9P
TClleHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZAotewotICAgIHJldHVybiBbc2VsZiBfYm9v
bFZhbHVlRm9yS2V5OldlYktpdEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkUHJlZmVyZW5j
ZUtleV07Ci19Ci0KLS0gKHZvaWQpc2V0RXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQ6KEJP
T0wpZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQKLXsKLSAgICBbc2VsZiBfc2V0Qm9vbFZh
bHVlOmV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkIGZvcktleTpXZWJLaXRFeHBlcmltZW50
YWxXZWJTb2NrZXRzRW5hYmxlZFByZWZlcmVuY2VLZXldOwotfQotCiArIChXZWJQcmVmZXJlbmNl
cyAqKV9nZXRJbnN0YW5jZUZvcklkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnQKIHsKICAgICBM
T0coRW5jb2RpbmcsICJyZXF1ZXN0aW5nIGZvciAlQFxuIiwgaWRlbnQpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IGIxODUwYTIuLmM1NThjYmIgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysg
Yi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTExMCw5ICsx
MTAsNiBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNhdGlv
bjsKIC0gKEJPT0wpZXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWQ7CiAtICh2b2lkKXNl
dEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkOihCT09MKW5vdGlmaWNhdGlvbnNFbmFi
bGVkOwogCi0tIChCT09MKWV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkOwotLSAodm9pZClz
ZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZDooQk9PTCl3ZWJzb2NrZXRzRW5hYmxlZDsK
LQogLSAodW5zaWduZWQpcGx1Z2luQWxsb3dlZFJ1blRpbWU7CiAtICh2b2lkKXNldFBsdWdpbkFs
bG93ZWRSdW5UaW1lOih1bnNpZ25lZClhbGxvd2VkUnVuVGltZTsKIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQppbmRleCA0MGI2Mzc5Li44N2MxZmVmIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTI4Miw3
ICsxMjgyLDYgQEAgc3RhdGljIGJvb2wgZmFzdERvY3VtZW50VGVhcmRvd25FbmFibGVkKCkKICAg
ICBzZXR0aW5ncy0+c2V0RGF0YWJhc2VzRW5hYmxlZChbcHJlZmVyZW5jZXMgZGF0YWJhc2VzRW5h
YmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRMb2NhbFN0b3JhZ2VFbmFibGVkKFtwcmVmZXJlbmNl
cyBsb2NhbFN0b3JhZ2VFbmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNldEV4cGVyaW1lbnRhbE5v
dGlmaWNhdGlvbnNFbmFibGVkKFtwcmVmZXJlbmNlcyBleHBlcmltZW50YWxOb3RpZmljYXRpb25z
RW5hYmxlZF0pOwotICAgIHNldHRpbmdzLT5zZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxl
ZChbcHJlZmVyZW5jZXMgZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWRdKTsKICAgICBzZXR0
aW5ncy0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgcHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRTYW5zU2VyaWZGb250RmFtaWx5KFtwcmVm
ZXJlbmNlcyBzYW5zU2VyaWZGb250RmFtaWx5XSk7CiAgICAgc2V0dGluZ3MtPnNldFNlcmlmRm9u
dEZhbWlseShbcHJlZmVyZW5jZXMgc2VyaWZGb250RmFtaWx5XSk7CmRpZmYgLS1naXQgYS9XZWJL
aXQvd2luL0NoYW5nZUxvZyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDhlODEwMjcuLjdj
ZTczZjIgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93aW4v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDktMTAtMTYgIEZ1bWl0b3NoaSBVa2FpICA8
dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlZCBXZWJTb2NrZXQgcnVudGltZSBzZXR0aW5ncy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5ODk2CisKKyAgICAgICAg
V2ViU29ja2V0IFJ1bnRpbWUgY29uZmlndXJhdGlvbiBzdXBwb3J0ZWQgYnkgY2hyb21pdW0vdjgg
b25seS4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6
CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJl
ZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0
U2V0dGluZ3MpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmV4cGVyaW1lbnRhbE5vdGlmaWNh
dGlvbnNFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdl
YlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToK
KwogMjAwOS0xMC0xNCAgSm9uIEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCBTUEkgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSBub2RlIGlzIGEgaGFsdGVkIHBs
dWctaW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5pZGwgYi9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0
ZS5pZGwKaW5kZXggOTk3MzdhNC4uYmVjNzBlMiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9JbnRl
cmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCisrKyBiL1dlYktpdC93aW4vSW50ZXJm
YWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbApAQCAtODIsOSArODIsNiBAQCBpbnRlcmZh
Y2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZSA6IElVbmtub3duCiAgICAgSFJFU1VMVCBleHBlcmlt
ZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wgKmVuYWJsZWQpOwog
ICAgIEhSRVNVTFQgc2V0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWQoW2luXSBCT09M
IGVuYWJsZWQpOwogCi0gICAgSFJFU1VMVCBleHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZChb
b3V0LCByZXR2YWxdIEJPT0wgKmVuYWJsZWQpOwotICAgIEhSRVNVTFQgc2V0RXhwZXJpbWVudGFs
V2ViU29ja2V0c0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwotCiAgICAgSFJFU1VMVCBzZXRT
aG91bGRVc2VIaWdoUmVzb2x1dGlvblRpbWVycyhbaW5dIEJPT0wgdXNlSGlnaFJlc29sdXRpb25U
aW1lcnMpOwogICAgIEhSRVNVTFQgc2hvdWxkVXNlSGlnaFJlc29sdXRpb25UaW1lcnMoW291dCwg
cmV0dmFsXSBCT09MKiB1c2VIaWdoUmVzb2x1dGlvblRpbWVycyk7CiAKZGlmZiAtLWdpdCBhL1dl
YktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9XZWJLaXQvd2luL1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IGEyM2FhMjYuLjA5YWVhZmYgMTAwNjQ0Ci0tLSBhL1dl
YktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtNTQsNyArNTQsNiBAQAogI2RlZmluZSBXZWJLaXRE
YXRhYmFzZXNFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0RGF0YWJhc2VzRW5hYmxlZCIKICNk
ZWZpbmUgV2ViS2l0TG9jYWxTdG9yYWdlRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdExvY2Fs
U3RvcmFnZUVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJs
ZWQiCi0jZGVmaW5lIFdlYktpdEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkUHJlZmVyZW5j
ZUtleSAiV2ViS2l0RXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQiCiAjZGVmaW5lIFdlYktp
dEFsbG93QW5pbWF0ZWRJbWFnZXNQcmVmZXJlbmNlS2V5ICJXZWJLaXRBbGxvd0FuaW1hdGVkSW1h
Z2VzUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlTG9vcGlu
Z1ByZWZlcmVuY2VLZXkgIldlYktpdEFsbG93QW5pbWF0ZWRJbWFnZUxvb3BpbmdQcmVmZXJlbmNl
S2V5IgogI2RlZmluZSBXZWJLaXREaXNwbGF5SW1hZ2VzS2V5ICJXZWJLaXREaXNwbGF5SW1hZ2Vz
S2V5IgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9XZWJLaXQv
d2luL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCAxNWQ4ZWZiLi42NTJlNjE5IDEwMDY0NAotLS0g
YS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYlByZWZl
cmVuY2VzLmNwcApAQCAtMjEzLDcgKzIxMyw2IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OmluaXRp
YWxpemVEZWZhdWx0U2V0dGluZ3MoKQogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRz
LCBDRlNUUihXZWJLaXREYXRhYmFzZXNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5U
cnVlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TG9j
YWxTdG9yYWdlRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuVHJ1ZSk7CiAgICAgQ0ZE
aWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEV4cGVyaW1lbnRhbE5vdGlm
aWNhdGlvbnNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7Ci0gICAgQ0ZE
aWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEV4cGVyaW1lbnRhbFdlYlNv
Y2tldHNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAgICAgQ0ZEaWN0
aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEFsbG93QW5pbWF0ZWRJbWFnZXNQ
cmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVl
KGRlZmF1bHRzLCBDRlNUUihXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVyZW5j
ZUtleSksIGtDRkJvb2xlYW5UcnVlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0RGlzcGxheUltYWdlc0tleSksIGtDRkJvb2xlYW5UcnVlKTsKQEAgLTEz
MTAsMTggKzEzMDksNiBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlByZWZlcmVuY2Vz
OjpleHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZChCT09MKgogICAgIHJldHVybiBTX09L
OwogfQogCi1IUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlByZWZlcmVuY2VzOjpzZXRFeHBl
cmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZChCT09MIGVuYWJsZWQpCi17Ci0gICAgc2V0Qm9vbFZh
bHVlKENGU1RSKFdlYktpdEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkUHJlZmVyZW5jZUtl
eSksIGVuYWJsZWQpOwotICAgIHJldHVybiBTX09LOwotfQotCi1IUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIFdlYlByZWZlcmVuY2VzOjpleHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZChCT09M
KiBlbmFibGVkKQotewotICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KENGU1RSKFdlYktp
dEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkUHJlZmVyZW5jZUtleSkpOwotICAgIHJldHVy
biBTX09LOwotfQotCiBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRab29tc1RleHRPbmx5KEJP
T0wgem9vbXNUZXh0T25seSkKIHsKICAgICBzZXRCb29sVmFsdWUoQ0ZTVFIoV2ViS2l0Wm9vbXNU
ZXh0T25seVByZWZlcmVuY2VLZXkpLCB6b29tc1RleHRPbmx5KTsKZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAppbmRl
eCBiM2IzYmE5Li4yYTg5MjY5IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2Vz
LmgKKysrIGIvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0zMzIsMTIgKzMzMiw2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0RXhwZXJp
bWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWQoCiAgICAgICAgIC8qIFtpbl0gKi8gQk9PTCBlbmFi
bGVkKTsKIAotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBleHBlcmltZW50
YWxXZWJTb2NrZXRzRW5hYmxlZCgKLSAgICAgICAgLyogW3JldHZhbF1bb3V0XSAqLyBCT09MICpl
bmFibGVkKTsKLQotICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRFeHBl
cmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZCgKLSAgICAgICAgLyogW2luXSAqLyBCT09MIGVuYWJs
ZWQpOwotCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFNob3VsZFBh
aW50TmF0aXZlQ29udHJvbHMoIAogICAgIC8qIFtpbl0gKi8gQk9PTCBzaG91bGRQYWludCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVmlldy5jcHAgYi9XZWJLaXQvd2luL1dlYlZpZXcu
Y3BwCmluZGV4IDRkNWZjNTguLmQyYmFkNzYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVmll
dy5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApAQCAtNDQzNSwxMSArNDQzNSw2IEBA
IEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRp
b24qIG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJuIGhyOwogICAgIHNldHRpbmdzLT5zZXRF
eHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZChlbmFibGVkKTsKIAotICAgIGhyID0gcHJl
ZnNQcml2YXRlLT5leHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZCgmZW5hYmxlZCk7Ci0gICAg
aWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybiBocjsKLSAgICBzZXR0aW5ncy0+c2V0RXhw
ZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQoZW5hYmxlZCk7Ci0KICAgICBociA9IHByZWZzUHJp
dmF0ZS0+aXNXZWJTZWN1cml0eUVuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIp
KQogICAgICAgICByZXR1cm4gaHI7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cg
Yi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggNWY5MWY5Ny4uYmZmYTVhOCAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDA5LTEwLTE2ICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bW92ZWQgV2ViU29ja2V0IHJ1bnRpbWUgc2V0dGluZ3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTg5NgorCisgICAgICAgIFdlYlNvY2tldCBSdW50
aW1lIGNvbmZpZ3VyYXRpb24gc3VwcG9ydGVkIGJ5IGNocm9taXVtL3Y4IG9ubHkuCisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNl
dERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVu
dFZhbHVlcyk6CisKIDIwMDktMTAtMTUgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggMTEzNDhkNy4u
ZGZhZTI2NSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVu
ZGVyVHJlZS5tbQpAQCAtNDA5LDcgKzQwOSw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNU
b0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNoZU1vZGVsOldlYkNh
Y2hlTW9kZWxEb2N1bWVudEJyb3dzZXJdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRYU1NBdWRpdG9y
RW5hYmxlZDpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlv
bnNFbmFibGVkOk5PXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0RXhwZXJpbWVudGFsV2ViU29ja2V0
c0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0UGx1Z2luQWxsb3dlZFJ1blRpbWU6
MV07CiAKICAgICBbcHJlZmVyZW5jZXMgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZDpOT107CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUu
Y3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApp
bmRleCA3NmRkYjJkLi40ZDNiNzM4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTc0NCw3ICs3NDQsNiBAQCBzdGF0aWMgdm9p
ZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVy
ZW5jZXMpCiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJs
ZWQoVFJVRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxl
ZChGQUxTRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0RXhwZXJpbWVudGFsTm90aWZpY2F0
aW9uc0VuYWJsZWQoVFJVRSk7Ci0gICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0RXhwZXJpbWVudGFs
V2ViU29ja2V0c0VuYWJsZWQoVFJVRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0U2hvdWxk
UGFpbnROYXRpdmVDb250cm9scyhGQUxTRSk7IC8vIEZJWE1FIC0gbmVlZCB0byBtYWtlIERSVCBw
YXNzIHdpdGggV2luZG93cyBuYXRpdmUgY29udHJvbHMgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTI1NTkyPgogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldFhTU0F1ZGl0
b3JFbmFibGVkKEZBTFNFKTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRPZmZsaW5lV2ViQXBw
bGljYXRpb25DYWNoZUVuYWJsZWQoVFJVRSk7
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41395</attachid>
            <date>2009-10-18 21:22:10 -0700</date>
            <delta_ts>2009-10-19 20:07:43 -0700</delta_ts>
            <desc>WebCore: Set EnabledAtRuntime for WebSocket in DOMWindow</desc>
            <filename>bug-29896-20091019132208.patch</filename>
            <type>text/plain</type>
            <size>22705</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTg4OGI1Mi4uMTcxMzJmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAwOS0xMC0xOCAgRnVtaXRvc2hpIFVr
YWkgIDx1a2FpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTZXQgRW5hYmxlZEF0UnVudGltZSBmb3IgV2ViU29ja2V0IGluIERP
TVdpbmRvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Mjk4OTYKKworICAgICAgICBTdXBwb3J0ZWQgYnkgY2hyb21pdW0vdjggb25seS4KKyAgICAgICAg
QWRkIFdlYlNvY2tldDo6aXNBdmFpbGFibGUoKSB0byBjb250cm9sIHY4IGJpbmRpbmdzLgorICAg
ICAgICBSZW1vdmUgU2V0dGluZ3M6OmV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkIGFuZAor
ICAgICAgICBzZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZChib29sKS4KKworICAgICAg
ICAqIFdlYkNvcmUuYmFzZS5leHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dD
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OndlYlNvY2tldCk6Cisg
ICAgICAgICogYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlY4RE9NV3JhcHBlcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEN1c3RvbUJpbmRpbmcuaDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhE
T01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QUNDRVNTT1JfUlVOVElNRV9F
TkFCTEVSKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICogcGFnZS9T
ZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAg
ICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldC5o
OgorCiAyMDA5LTEwLTE4ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS5iYXNlLmV4cCBiL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAppbmRleCAzNzEy
OTA2Li5lZjI2MjFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKKysrIGIv
V2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCkBAIC02NDUsNyArNjQ1LDYgQEAgX19aTjdXZWJDb3Jl
OFNldHRpbmdzMjlzZXRXZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4
U2V0dGluZ3MzMXNldFNocmlua3NTdGFuZGFsb25lSW1hZ2VzVG9GaXRFYgogX19aTjdXZWJDb3Jl
OFNldHRpbmdzMzJzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZEViCiBfX1pON1dlYkNv
cmU4U2V0dGluZ3MzMnNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrRWIKLV9fWk43V2Vi
Q29yZThTZXR0aW5nczMyc2V0RXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWRFYgogX19aTjdX
ZWJDb3JlOFNldHRpbmdzMzNzZXREb3dubG9hZGFibGVCaW5hcnlGb250c0VuYWJsZWRFYgogX19a
TjdXZWJDb3JlOFNldHRpbmdzMzNzZXRFbmZvcmNlQ1NTTUlNRVR5cGVJblN0cmljdE1vZGVFYgog
X19aTjdXZWJDb3JlOFNldHRpbmdzMzRzZXRMb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVk
RWIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3Bw
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggNDczMzlk
NC4uMTEyZWI5YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1
c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAK
QEAgLTcyNCwxNCArNzI0LDYgQEAgSlNWYWx1ZSBKU0RPTVdpbmRvdzo6c2hhcmVkV29ya2VyKEV4
ZWNTdGF0ZSogZXhlYykgY29uc3QKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiBKU1ZhbHVlIEpT
RE9NV2luZG93Ojp3ZWJTb2NrZXQoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogewotICAgIEZyYW1l
KiBmcmFtZSA9IGltcGwoKS0+ZnJhbWUoKTsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1
cm4ganNVbmRlZmluZWQoKTsKLSAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBmcmFtZS0+c2V0dGlu
Z3MoKTsKLSAgICBpZiAoIXNldHRpbmdzKQotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsK
LSAgICBpZiAoIXNldHRpbmdzLT5leHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZCgpKQotICAg
ICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNXZWJTb2NrZXRDb25zdHJ1Y3Rvcj4oZXhlYywgdGhpcyk7CiB9CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcCBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhET01XcmFwcGVyLmNwcAppbmRleCBjZDQ4YWE3Li4zNzdmMjc5IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCkBAIC01OTcsMTYgKzU5Nyw2IEBAIHY4OjpMb2NhbDx2
ODo6RnVuY3Rpb24+IFY4RE9NV3JhcHBlcjo6Z2V0Q29uc3RydWN0b3IoVjhDbGFzc0luZGV4OjpW
OFdyYXBwZXJUeXBlCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2
ODo6RnVuY3Rpb24+KCk7CiAKLSNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCi0gICAgLy8gTWFrZSB0
eXBlb2Yod2luZG93LldlYlNvY2tldCkgPT0gJ3VuZGVmaW5lZCcgd2hlbgotICAgIC8vIGV4cGVy
aW1lbnRhbFdlYlNvY2tldEVuYWJsZWQgaXMgZmFsc2UuCi0gICAgaWYgKHR5cGUgPT0gVjhDbGFz
c0luZGV4OjpXRUJTT0NLRVQpIHsKLSAgICAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZnJhbWUt
PnNldHRpbmdzKCk7Ci0gICAgICAgIGlmICghc2V0dGluZ3MgfHwgIXNldHRpbmdzLT5leHBlcmlt
ZW50YWxXZWJTb2NrZXRzRW5hYmxlZCgpKQotICAgICAgICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2
ODo6RnVuY3Rpb24+KCk7Ci0gICAgfQotI2VuZGlmCi0KICAgICB2ODo6SGFuZGxlPHY4OjpDb250
ZXh0PiBjb250ZXh0ID0gVjhQcm94eTo6Y29udGV4dChmcmFtZSk7CiAgICAgaWYgKGNvbnRleHQu
SXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpGdW5jdGlvbj4oKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tQmluZGluZy5oIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5kaW5nLmgKaW5kZXggNzFkZDg4
ZS4uMjMyMmI2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0
b21CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5k
aW5nLmgKQEAgLTY0NCw2ICs2NDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERF
Q0xBUkVfQ0FMTEJBQ0soV2ViU29ja2V0UmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgIERF
Q0xBUkVfQ0FMTEJBQ0soV2ViU29ja2V0U2VuZCk7CiAgICAgICAgIERFQ0xBUkVfQ0FMTEJBQ0so
V2ViU29ja2V0Q2xvc2UpOworICAgICAgICBERUNMQVJFX0FDQ0VTU09SX1JVTlRJTUVfRU5BQkxF
UihET01XaW5kb3dXZWJTb2NrZXQpOwogI2VuZGlmCiAKICN1bmRlZiBERUNMQVJFX0lOREVYRURf
QUNDRVNTX0NIRUNLCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVdpbmRvd0N1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRv
d0N1c3RvbS5jcHAKaW5kZXggYzNkNzgxZS4uZmZhYzAwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcApAQCAtNTQsNiArNTQsNyBAQAog
I2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5o
IgogI2luY2x1ZGUgIldpbmRvd0ZlYXR1cmVzLmgiCisjaW5jbHVkZSAiV2ViU29ja2V0LmgiCiAK
IC8vIEhvcml6b250YWwgYW5kIHZlcnRpY2FsIG9mZnNldCwgZnJvbSB0aGUgcGFyZW50IGNvbnRl
bnQgYXJlYSwgYXJvdW5kIG5ld2x5CiAvLyBvcGVuZWQgcG9wdXBzIHRoYXQgZG9uJ3Qgc3BlY2lm
eSBhIGxvY2F0aW9uLgpAQCAtMjUxLDYgKzI1MiwxMyBAQCBBQ0NFU1NPUl9SVU5USU1FX0VOQUJM
RVIoRE9NV2luZG93U2hhcmVkV29ya2VyKQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCX1NP
Q0tFVFMpCitBQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIoRE9NV2luZG93V2ViU29ja2V0KQorewor
ICAgIHJldHVybiBXZWJTb2NrZXQ6OmlzQXZhaWxhYmxlKCk7Cit9CisjZW5kaWYKKwogQUNDRVNT
T1JfR0VUVEVSKERPTVdpbmRvd0ltYWdlKQogewogICAgIERPTVdpbmRvdyogd2luZG93ID0gVjhE
T01XcmFwcGVyOjpjb252ZXJ0VG9OYXRpdmVPYmplY3Q8RE9NV2luZG93PihWOENsYXNzSW5kZXg6
OkRPTVdJTkRPVywgaW5mby5Ib2xkZXIoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDkwM2VkMTguLmMy
ZGExODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC01MDYsNyArNTA2LDcgQEAgbW9kdWxlIHdpbmRvdyB7
CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoRU5BQkxFX1dFQl9TT0NLRVRTKSAmJiBFTkFCTEVfV0VC
X1NPQ0tFVFMKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXJdIFdlYlNvY2tldENv
bnN0cnVjdG9yIFdlYlNvY2tldDsgLy8gVXNhYmxlIHdpdGggdGhlIG5ldyBvcGVyYXRvcgorICAg
ICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixFbmFibGVkQXRSdW50aW1lXSBXZWJTb2Nr
ZXRDb25zdHJ1Y3RvciBXZWJTb2NrZXQ7IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcgb3BlcmF0b3IK
ICNlbmRpZgogCiAgICAgICAgIGF0dHJpYnV0ZSBQbHVnaW5Db25zdHJ1Y3RvciBQbHVnaW47CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmNwcAppbmRleCBiOGI5ZThlLi5mNTI4ZjM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTExOCw5ICsx
MTgsNiBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fYWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0VuYWJsZWQodHJ1ZSkKICAgICAsIG1fZXhwZXJpbWVudGFsTm90aWZpY2F0
aW9uc0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX3dlYkdMRW5hYmxlZChmYWxzZSkKLSNpZiBFTkFC
TEUoV0VCX1NPQ0tFVFMpCi0gICAgLCBtX2V4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKGZh
bHNlKQotI2VuZGlmCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkgbm90IGhhdmUgYmVlbiBjcmVhdGVk
IHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3RyaW5nIAogICAgIC8vIGhhc2ggYmVm
b3JlIHRyeWluZyB0byB1c2UgaXQuCkBAIC01MzIsMTEgKzUyOSw0IEBAIHZvaWQgU2V0dGluZ3M6
OnNldFdlYkdMRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgbV93ZWJHTEVuYWJsZWQgPSBlbmFi
bGVkOwogfQogCi0jaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQotdm9pZCBTZXR0aW5nczo6c2V0RXhw
ZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIG1fZXhwZXJp
bWVudGFsV2ViU29ja2V0c0VuYWJsZWQgPSBlbmFibGVkOwotfQotI2VuZGlmCi0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggYzNjMzk3ZS4uMDliNWJlYyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAg
LTI3MCwxMSArMjcwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFdl
YkdMRW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCB3ZWJHTEVuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX3dlYkdMRW5hYmxlZDsgfQogCi0jaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQotICAgICAg
ICB2b2lkIHNldEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKGJvb2wpOwotICAgICAgICBi
b29sIGV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9leHBl
cmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZDsgfQotI2VuZGlmCi0KICAgICBwcml2YXRlOgogICAg
ICAgICBQYWdlKiBtX3BhZ2U7CiAgICAgICAgIApAQCAtMzQ0LDEwICszMzksNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV9leHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5h
YmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV93ZWJHTEVuYWJsZWQgOiAxOwogCi0jaWYgRU5BQkxF
KFdFQl9TT0NLRVRTKQotICAgICAgICBib29sIG1fZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJs
ZWQgOiAxOwotI2VuZGlmCi0KICNpZiBVU0UoU0FGQVJJX1RIRU1FKQogICAgICAgICBzdGF0aWMg
Ym9vbCBnU2hvdWxkUGFpbnROYXRpdmVDb250cm9sczsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5oCmluZGV4IGM1YjdlZTcuLjgzMTg0NGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXQuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmgKQEAgLTUw
LDYgKzUwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgV2ViU29ja2V0IDog
cHVibGljIFJlZkNvdW50ZWQ8V2ViU29ja2V0PiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJsaWMg
QWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCB7CiAgICAgcHVi
bGljOgorICAgICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwogICAgICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxXZWJTb2NrZXQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2ViU29ja2V0KGNvbnRleHQpKTsgfQogICAgICAg
ICB2aXJ0dWFsIH5XZWJTb2NrZXQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA1MzhmODdiLi44YWVkMDBjIDEwMDY0NAot
LS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDA5LTEwLTE4ICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bW92ZWQgV2ViU29ja2V0IHJ1bnRpbWUgc2V0dGluZ3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTg5NgorCisgICAgICAgIFdlYlNvY2tldCBydW50
aW1lIGNvbmZpZ3VyYXRpb24gaXMgc3VwcG9ydGVkIGJ5IGNocm9taXVtL3Y4IG9ubHkuCisKKyAg
ICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3Zp
ZXdfdXBkYXRlX3NldHRpbmdzKToKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19zZXR0aW5nc19u
b3RpZnkpOgorCiAyMDA5LTEwLTE1ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEuCmRpZmYgLS1naXQgYS9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnZpZXcuY3BwCmluZGV4IGZiMmJmMzUuLjAzZmZiNDQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnZpZXcuY3BwCkBAIC0yMzkyLDcgKzIzOTIsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3Zp
ZXdfdXBkYXRlX3NldHRpbmdzKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgICAgIGVuYWJs
ZVNjcmlwdHMsIGVuYWJsZVBsdWdpbnMsIGVuYWJsZURldmVsb3BlckV4dHJhcywgcmVzaXphYmxl
VGV4dEFyZWFzLAogICAgICAgICBlbmFibGVQcml2YXRlQnJvd3NpbmcsIGVuYWJsZUNhcmV0QnJv
d3NpbmcsIGVuYWJsZUhUTUw1RGF0YWJhc2UsIGVuYWJsZUhUTUw1TG9jYWxTdG9yYWdlLAogICAg
ICAgICBlbmFibGVYU1NBdWRpdG9yLCBqYXZhc2NyaXB0Q2FuT3BlbldpbmRvd3MsIGVuYWJsZU9m
ZmxpbmVXZWJBcHBDYWNoZSwKLSAgICAgICAgZW5hYmxlVW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVV
UkksIGVuYWJsZVdlYlNvY2tldHM7CisgICAgICAgIGVuYWJsZVVuaXZlcnNhbEFjY2Vzc0Zyb21G
aWxlVVJJOwogCiAgICAgV2ViS2l0RWRpdGluZ0JlaGF2aW9yIGVkaXRpbmdCZWhhdmlvcjsKIApA
QCAtMjQyMSw3ICsyNDIxLDYgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3VwZGF0ZV9z
ZXR0aW5ncyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgICAgICAgICAgICAgICAiZW5hYmxl
LW9mZmxpbmUtd2ViLWFwcGxpY2F0aW9uLWNhY2hlIiwgJmVuYWJsZU9mZmxpbmVXZWJBcHBDYWNo
ZSwKICAgICAgICAgICAgICAgICAgImVkaXRpbmctYmVoYXZpb3IiLCAmZWRpdGluZ0JlaGF2aW9y
LAogICAgICAgICAgICAgICAgICAiZW5hYmxlLXVuaXZlcnNhbC1hY2Nlc3MtZnJvbS1maWxlLXVy
aXMiLCAmZW5hYmxlVW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkksCi0gICAgICAgICAgICAgICAg
ICJlbmFibGUtd2ViLXNvY2tldHMiLCAmZW5hYmxlV2ViU29ja2V0cywKICAgICAgICAgICAgICAg
ICAgTlVMTCk7CiAKICAgICBzZXR0aW5ncy0+c2V0RGVmYXVsdFRleHRFbmNvZGluZ05hbWUoZGVm
YXVsdEVuY29kaW5nKTsKQEAgLTI0NDgsOSArMjQ0Nyw2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93
ZWJfdmlld191cGRhdGVfc2V0dGluZ3MoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICBzZXR0
aW5ncy0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKGVuYWJsZU9mZmxpbmVX
ZWJBcHBDYWNoZSk7CiAgICAgc2V0dGluZ3MtPnNldEVkaXRpbmdCZWhhdmlvcihjb3JlKGVkaXRp
bmdCZWhhdmlvcikpOwogICAgIHNldHRpbmdzLT5zZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21G
aWxlVVJMcyhlbmFibGVVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSSSk7Ci0jaWYgRU5BQkxFKFdF
Ql9TT0NLRVRTKQotICAgIHNldHRpbmdzLT5zZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxl
ZChlbmFibGVXZWJTb2NrZXRzKTsKLSNlbmRpZgogCiAgICAgZ19mcmVlKGRlZmF1bHRFbmNvZGlu
Zyk7CiAgICAgZ19mcmVlKGN1cnNpdmVGb250RmFtaWx5KTsKQEAgLTI1MzcsMTAgKzI1MzMsNiBA
QCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5KFdlYktpdFdlYlNl
dHRpbmdzKiB3ZWJTZXR0aW5ncywgR1BhcgogICAgICAgICBzZXR0aW5ncy0+c2V0RWRpdGluZ0Jl
aGF2aW9yKGNvcmUoc3RhdGljX2Nhc3Q8V2ViS2l0RWRpdGluZ0JlaGF2aW9yPihnX3ZhbHVlX2dl
dF9lbnVtKCZ2YWx1ZSkpKSk7CiAgICAgZWxzZSBpZiAobmFtZSA9PSBnX2ludGVybl9zdHJpbmco
ImVuYWJsZS11bml2ZXJzYWwtYWNjZXNzLWZyb20tZmlsZS11cmlzIikpCiAgICAgICAgIHNldHRp
bmdzLT5zZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhnX3ZhbHVlX2dldF9ib29s
ZWFuKCZ2YWx1ZSkpOwotI2lmIEVOQUJMRShXRUJfU09DS0VUUykKLSAgICBlbHNlIGlmIChuYW1l
ID09IGdfaW50ZXJuX3N0cmluZygiZW5hYmxlLXdlYi1zb2NrZXRzIikpCi0gICAgICAgIHNldHRp
bmdzLT5zZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZChnX3ZhbHVlX2dldF9ib29sZWFu
KCZ2YWx1ZSkpOwotI2VuZGlmCiAgICAgZWxzZSBpZiAoIWdfb2JqZWN0X2NsYXNzX2ZpbmRfcHJv
cGVydHkoR19PQkpFQ1RfR0VUX0NMQVNTKHdlYlNldHRpbmdzKSwgbmFtZSkpCiAgICAgICAgIGdf
d2FybmluZygiVW5leHBlY3RlZCBzZXR0aW5nICclcyciLCBuYW1lKTsKICAgICBnX3ZhbHVlX3Vu
c2V0KCZ2YWx1ZSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IDgzZjRlYTMuLmViNDIwZDUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMDktMTAtMTggIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBXZWJTb2Nr
ZXQgcnVudGltZSBzZXR0aW5ncy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTI5ODk2CisKKyAgICAgICAgV2ViU29ja2V0IHJ1bnRpbWUgY29uZmlndXJh
dGlvbiBpcyBzdXBwb3J0ZWQgYnkgY2hyb21pdW0vdjggb25seS4KKworICAgICAgICAqIFdlYlZp
ZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVm
ZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmll
dy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWROb3Rp
ZmljYXRpb246XSk6CisKIDIwMDktMTAtMTYgIEtldmluIERlY2tlciAgPGtkZWNrZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvbiBIb25leWN1dHQuCmRpZmYgLS1naXQgYS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggMWY0ZDcyZS4uNGE4NzMz
NyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApA
QCAtNTYsNyArNTYsNiBAQAogI2RlZmluZSBXZWJLaXREYXRhYmFzZXNFbmFibGVkUHJlZmVyZW5j
ZUtleSBAIldlYktpdERhdGFiYXNlc0VuYWJsZWRQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJL
aXRMb2NhbFN0b3JhZ2VFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdExvY2FsU3RvcmFnZUVu
YWJsZWRQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRFeHBlcmltZW50YWxOb3RpZmljYXRp
b25zRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRFeHBlcmltZW50YWxOb3RpZmljYXRpb25z
RW5hYmxlZFByZWZlcmVuY2VLZXkiCi0jZGVmaW5lIFdlYktpdEV4cGVyaW1lbnRhbFdlYlNvY2tl
dHNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFi
bGVkUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlc1ByZWZl
cmVuY2VLZXkgQCJXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VzUHJlZmVyZW5jZUtleSIKICNkZWZp
bmUgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlTG9vcGluZ1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRB
bGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0RGlz
cGxheUltYWdlc0tleSBAIldlYktpdERpc3BsYXlJbWFnZXNLZXkiCmRpZmYgLS1naXQgYS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KaW5kZXggOGMxOWFlNC4uNDkxNDM0MCAxMDA2NDQKLS0tIGEvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbQpAQCAtMzIxLDcgKzMyMSw2IEBAIHN0YXRpYyBXZWJDYWNoZU1vZGVs
IGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAgICAgIFtOU051bWJlciBudW1iZXJX
aXRoQm9vbDpZRVNdLCAgV2ViS2l0RGF0YWJhc2VzRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAg
ICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0TG9jYWxTdG9yYWdlRW5h
YmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10s
ICAgV2ViS2l0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5LAot
ICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdEV4cGVyaW1lbnRh
bFdlYlNvY2tldHNFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJl
cldpdGhCb29sOllFU10sICBXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VzUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRBbGxvd0FuaW1h
dGVkSW1hZ2VMb29waW5nUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldp
dGhCb29sOllFU10sICBXZWJLaXREaXNwbGF5SW1hZ2VzS2V5LApAQCAtMTAyNSwxNiArMTAyNCw2
IEBAIHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAg
ICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpleHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZCBm
b3JLZXk6V2ViS2l0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKIH0KIAotLSAoQk9PTClleHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZAotewotICAgIHJl
dHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEV4cGVyaW1lbnRhbFdlYlNvY2tldHNF
bmFibGVkUHJlZmVyZW5jZUtleV07Ci19Ci0KLS0gKHZvaWQpc2V0RXhwZXJpbWVudGFsV2ViU29j
a2V0c0VuYWJsZWQ6KEJPT0wpZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQKLXsKLSAgICBb
c2VsZiBfc2V0Qm9vbFZhbHVlOmV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkIGZvcktleTpX
ZWJLaXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZFByZWZlcmVuY2VLZXldOwotfQotCiAr
IChXZWJQcmVmZXJlbmNlcyAqKV9nZXRJbnN0YW5jZUZvcklkZW50aWZpZXI6KE5TU3RyaW5nICop
aWRlbnQKIHsKICAgICBMT0coRW5jb2RpbmcsICJyZXF1ZXN0aW5nIGZvciAlQFxuIiwgaWRlbnQp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5o
IGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IGIxODUw
YTIuLmM1NThjYmIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaAorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmgKQEAgLTExMCw5ICsxMTAsNiBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzUmVt
b3ZlZE5vdGlmaWNhdGlvbjsKIC0gKEJPT0wpZXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJs
ZWQ7CiAtICh2b2lkKXNldEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkOihCT09MKW5v
dGlmaWNhdGlvbnNFbmFibGVkOwogCi0tIChCT09MKWV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFi
bGVkOwotLSAodm9pZClzZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZDooQk9PTCl3ZWJz
b2NrZXRzRW5hYmxlZDsKLQogLSAodW5zaWduZWQpcGx1Z2luQWxsb3dlZFJ1blRpbWU7CiAtICh2
b2lkKXNldFBsdWdpbkFsbG93ZWRSdW5UaW1lOih1bnNpZ25lZClhbGxvd2VkUnVuVGltZTsKIApk
aWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQppbmRleCAxOWI0NDFjLi5mYmU4NzZmIDEwMDY0NAotLS0gYS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQpAQCAtMTI4NCw3ICsxMjg0LDYgQEAgc3RhdGljIGJvb2wgZmFzdERvY3VtZW50VGVhcmRv
d25FbmFibGVkKCkKICAgICBzZXR0aW5ncy0+c2V0RGF0YWJhc2VzRW5hYmxlZChbcHJlZmVyZW5j
ZXMgZGF0YWJhc2VzRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRMb2NhbFN0b3JhZ2VFbmFi
bGVkKFtwcmVmZXJlbmNlcyBsb2NhbFN0b3JhZ2VFbmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNl
dEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkKFtwcmVmZXJlbmNlcyBleHBlcmltZW50
YWxOb3RpZmljYXRpb25zRW5hYmxlZF0pOwotICAgIHNldHRpbmdzLT5zZXRFeHBlcmltZW50YWxX
ZWJTb2NrZXRzRW5hYmxlZChbcHJlZmVyZW5jZXMgZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJs
ZWRdKTsKICAgICBzZXR0aW5ncy0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChbcHJlZmVyZW5j
ZXMgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRTYW5zU2VyaWZG
b250RmFtaWx5KFtwcmVmZXJlbmNlcyBzYW5zU2VyaWZGb250RmFtaWx5XSk7CiAgICAgc2V0dGlu
Z3MtPnNldFNlcmlmRm9udEZhbWlseShbcHJlZmVyZW5jZXMgc2VyaWZGb250RmFtaWx5XSk7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCmlu
ZGV4IDRlNDRmMmQuLmE0OTkwZmYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDktMTAtMTggIEZ1
bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBXZWJTb2NrZXQgcnVudGltZSBzZXR0
aW5ncy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5
ODk2CisKKyAgICAgICAgV2ViU29ja2V0IHJ1bnRpbWUgY29uZmlndXJhdGlvbiBpcyBzdXBwb3J0
ZWQgYnkgY2hyb21pdW0vdjggb25seS4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZl
cmVuY2VzUHJpdmF0ZS5pZGw6CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6
CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6
OmluaXRpYWxpemVEZWZhdWx0U2V0dGluZ3MpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmV4
cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNl
cy5oOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJl
ZmVyZW5jZXNDaGFuZ2VkKToKKwogMjAwOS0xMC0xNiAgU3RldmUgRmFsa2VuYnVyZyAgPHNmYWxr
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYg
LS1naXQgYS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwg
Yi9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKaW5kZXgg
OTk3MzdhNC4uYmVjNzBlMiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaWRsCisrKyBiL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmlkbApAQCAtODIsOSArODIsNiBAQCBpbnRlcmZhY2UgSVdlYlByZWZl
cmVuY2VzUHJpdmF0ZSA6IElVbmtub3duCiAgICAgSFJFU1VMVCBleHBlcmltZW50YWxOb3RpZmlj
YXRpb25zRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wgKmVuYWJsZWQpOwogICAgIEhSRVNVTFQg
c2V0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwog
Ci0gICAgSFJFU1VMVCBleHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZChbb3V0LCByZXR2YWxd
IEJPT0wgKmVuYWJsZWQpOwotICAgIEhSRVNVTFQgc2V0RXhwZXJpbWVudGFsV2ViU29ja2V0c0Vu
YWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwotCiAgICAgSFJFU1VMVCBzZXRTaG91bGRVc2VIaWdo
UmVzb2x1dGlvblRpbWVycyhbaW5dIEJPT0wgdXNlSGlnaFJlc29sdXRpb25UaW1lcnMpOwogICAg
IEhSRVNVTFQgc2hvdWxkVXNlSGlnaFJlc29sdXRpb25UaW1lcnMoW291dCwgcmV0dmFsXSBCT09M
KiB1c2VIaWdoUmVzb2x1dGlvblRpbWVycyk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2Vi
UHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJp
dmF0ZS5oCmluZGV4IGEyM2FhMjYuLjA5YWVhZmYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2Vi
UHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaApAQCAtNTQsNyArNTQsNiBAQAogI2RlZmluZSBXZWJLaXREYXRhYmFzZXNFbmFi
bGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0RGF0YWJhc2VzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0
TG9jYWxTdG9yYWdlRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdExvY2FsU3RvcmFnZUVuYWJs
ZWQiCiAjZGVmaW5lIFdlYktpdEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkUHJlZmVy
ZW5jZUtleSAiV2ViS2l0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWQiCi0jZGVmaW5l
IFdlYktpdEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0
RXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEFsbG93QW5pbWF0
ZWRJbWFnZXNQcmVmZXJlbmNlS2V5ICJXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VzUHJlZmVyZW5j
ZUtleSIKICNkZWZpbmUgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlTG9vcGluZ1ByZWZlcmVuY2VL
ZXkgIldlYktpdEFsbG93QW5pbWF0ZWRJbWFnZUxvb3BpbmdQcmVmZXJlbmNlS2V5IgogI2RlZmlu
ZSBXZWJLaXREaXNwbGF5SW1hZ2VzS2V5ICJXZWJLaXREaXNwbGF5SW1hZ2VzS2V5IgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9XZWJLaXQvd2luL1dlYlByZWZl
cmVuY2VzLmNwcAppbmRleCAxNWQ4ZWZiLi42NTJlNjE5IDEwMDY0NAotLS0gYS9XZWJLaXQvd2lu
L1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcApA
QCAtMjEzLDcgKzIxMyw2IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0
U2V0dGluZ3MoKQogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJL
aXREYXRhYmFzZXNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5UcnVlKTsKICAgICBD
RkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TG9jYWxTdG9yYWdlRW5h
YmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuVHJ1ZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRk
VmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFi
bGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7Ci0gICAgQ0ZEaWN0aW9uYXJ5QWRk
VmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVk
UHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFs
dWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEFsbG93QW5pbWF0ZWRJbWFnZXNQcmVmZXJlbmNlS2V5
KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBD
RlNUUihXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVyZW5jZUtleSksIGtDRkJv
b2xlYW5UcnVlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2Vi
S2l0RGlzcGxheUltYWdlc0tleSksIGtDRkJvb2xlYW5UcnVlKTsKQEAgLTEzMTAsMTggKzEzMDks
NiBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlByZWZlcmVuY2VzOjpleHBlcmltZW50
YWxOb3RpZmljYXRpb25zRW5hYmxlZChCT09MKgogICAgIHJldHVybiBTX09LOwogfQogCi1IUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlByZWZlcmVuY2VzOjpzZXRFeHBlcmltZW50YWxXZWJT
b2NrZXRzRW5hYmxlZChCT09MIGVuYWJsZWQpCi17Ci0gICAgc2V0Qm9vbFZhbHVlKENGU1RSKFdl
YktpdEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkUHJlZmVyZW5jZUtleSksIGVuYWJsZWQp
OwotICAgIHJldHVybiBTX09LOwotfQotCi1IUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlBy
ZWZlcmVuY2VzOjpleHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZChCT09MKiBlbmFibGVkKQot
ewotICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KENGU1RSKFdlYktpdEV4cGVyaW1lbnRh
bFdlYlNvY2tldHNFbmFibGVkUHJlZmVyZW5jZUtleSkpOwotICAgIHJldHVybiBTX09LOwotfQot
CiBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRab29tc1RleHRPbmx5KEJPT0wgem9vbXNUZXh0
T25seSkKIHsKICAgICBzZXRCb29sVmFsdWUoQ0ZTVFIoV2ViS2l0Wm9vbXNUZXh0T25seVByZWZl
cmVuY2VLZXkpLCB6b29tc1RleHRPbmx5KTsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViUHJl
ZmVyZW5jZXMuaCBiL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAppbmRleCBiM2IzYmE5Li4y
YTg5MjY5IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvV2Vi
S2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0zMzIsMTIgKzMzMiw2IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0RXhwZXJpbWVudGFsTm90aWZp
Y2F0aW9uc0VuYWJsZWQoCiAgICAgICAgIC8qIFtpbl0gKi8gQk9PTCBlbmFibGVkKTsKIAotICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBleHBlcmltZW50YWxXZWJTb2NrZXRz
RW5hYmxlZCgKLSAgICAgICAgLyogW3JldHZhbF1bb3V0XSAqLyBCT09MICplbmFibGVkKTsKLQot
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRFeHBlcmltZW50YWxXZWJT
b2NrZXRzRW5hYmxlZCgKLSAgICAgICAgLyogW2luXSAqLyBCT09MIGVuYWJsZWQpOwotCiAgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFNob3VsZFBhaW50TmF0aXZlQ29u
dHJvbHMoIAogICAgIC8qIFtpbl0gKi8gQk9PTCBzaG91bGRQYWludCk7CiAKZGlmZiAtLWdpdCBh
L1dlYktpdC93aW4vV2ViVmlldy5jcHAgYi9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IDhk
OWU2MTcuLjc2MDJmNjEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIv
V2ViS2l0L3dpbi9XZWJWaWV3LmNwcApAQCAtNDQzNSwxMSArNDQzNSw2IEBAIEhSRVNVTFQgV2Vi
Vmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNh
dGlvbikKICAgICAgICAgcmV0dXJuIGhyOwogICAgIHNldHRpbmdzLT5zZXRFeHBlcmltZW50YWxO
b3RpZmljYXRpb25zRW5hYmxlZChlbmFibGVkKTsKIAotICAgIGhyID0gcHJlZnNQcml2YXRlLT5l
eHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZCgmZW5hYmxlZCk7Ci0gICAgaWYgKEZBSUxFRCho
cikpCi0gICAgICAgIHJldHVybiBocjsKLSAgICBzZXR0aW5ncy0+c2V0RXhwZXJpbWVudGFsV2Vi
U29ja2V0c0VuYWJsZWQoZW5hYmxlZCk7Ci0KICAgICBociA9IHByZWZzUHJpdmF0ZS0+aXNXZWJT
ZWN1cml0eUVuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICBy
ZXR1cm4gaHI7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKaW5kZXggNmZmMmY1Yy4uNzczZjRiNiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDA5LTEwLTE4ICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgV2ViU29j
a2V0IHJ1bnRpbWUgc2V0dGluZ3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yOTg5NgorCisgICAgICAgIFdlYlNvY2tldCBydW50aW1lIGNvbmZpZ3Vy
YXRpb24gaXMgc3VwcG9ydGVkIGJ5IGNocm9taXVtL3Y4IG9ubHkuCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldERlZmF1bHRz
VG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJl
bmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6
CisKIDIwMDktMTAtMTYgIFN0ZXZlIEZhbGtlbmJ1cmcgIDxzZmFsa2VuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDExMzQ4ZDcuLmRmYWUyNjUg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0KQEAgLTQwOSw3ICs0MDksNiBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0
ZW50VmFsdWVzKCkKICAgICBbcHJlZmVyZW5jZXMgc2V0Q2FjaGVNb2RlbDpXZWJDYWNoZU1vZGVs
RG9jdW1lbnRCcm93c2VyXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0WFNTQXVkaXRvckVuYWJsZWQ6
Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRFeHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxl
ZDpOT107Ci0gICAgW3ByZWZlcmVuY2VzIHNldEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVk
OllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFBsdWdpbkFsbG93ZWRSdW5UaW1lOjFdOwogCiAg
ICAgW3ByZWZlcmVuY2VzIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQ6Tk9dOwpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggNWIy
MzQxMy4uZDQ4NmQwNiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4v
RHVtcFJlbmRlclRyZWUuY3BwCkBAIC03NDQsNyArNzQ0LDYgQEAgc3RhdGljIHZvaWQgcmVzZXRE
ZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyhJV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQog
ICAgICAgICBwcmVmc1ByaXZhdGUtPnNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKFRSVUUp
OwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoRkFMU0Up
OwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFi
bGVkKFRSVUUpOwotICAgICAgICBwcmVmc1ByaXZhdGUtPnNldEV4cGVyaW1lbnRhbFdlYlNvY2tl
dHNFbmFibGVkKFRSVUUpOwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldFNob3VsZFBhaW50TmF0
aXZlQ29udHJvbHMoRkFMU0UpOyAvLyBGSVhNRSAtIG5lZWQgdG8gbWFrZSBEUlQgcGFzcyB3aXRo
IFdpbmRvd3MgbmF0aXZlIGNvbnRyb2xzIDxodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNTU5Mj4KICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxl
ZChGQUxTRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9u
Q2FjaGVFbmFibGVkKFRSVUUpOw==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41476</attachid>
            <date>2009-10-19 20:07:50 -0700</date>
            <delta_ts>2009-10-20 12:11:12 -0700</delta_ts>
            <desc>WebCore: Set EnabledAtRuntime for WebSocket in DOMWindow</desc>
            <filename>bug-29896-20091020120748.patch</filename>
            <type>text/plain</type>
            <size>23769</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTllZDJiMC4uOTI3NjJlOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAwOS0xMC0xOSAgRnVtaXRvc2hpIFVr
YWkgIDx1a2FpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTZXQgRW5hYmxlZEF0UnVudGltZSBmb3IgV2ViU29ja2V0IGluIERP
TVdpbmRvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Mjk4OTYKKworICAgICAgICBTdXBwb3J0ZWQgYnkgY2hyb21pdW0vdjggb25seS4KKyAgICAgICAg
QWRkIFdlYlNvY2tldDo6aXNBdmFpbGFibGUoKS9zZXRJc0F2YWlsYWJsZShib29sKSB0byBjb250
cm9sIHY4CisgICAgICAgIGJpbmRpbmdzLgorICAgICAgICBSZW1vdmUgU2V0dGluZ3M6OmV4cGVy
aW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKCkgYW5kCisgICAgICAgIHNldEV4cGVyaW1lbnRhbFdl
YlNvY2tldHNFbmFibGVkKGJvb2wpLgorCisgICAgICAgICogV2ViQ29yZS5iYXNlLmV4cDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpKU0RPTVdpbmRvdzo6d2ViU29ja2V0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERP
TVdyYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XcmFwcGVyOjpnZXRDb25zdHJ1
Y3Rvcik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tQmluZGluZy5oOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBQ0NFU1NPUl9SVU5USU1FX0VOQUJMRVIpOgorICAgICAgICAqIHBhZ2Uv
RE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgor
ICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlNvY2tldDo6c2V0SXNBdmFpbGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Ojpp
c0F2YWlsYWJsZSk6CisgICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXQuaDoKKwogMjAwOS0x
MC0xOSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
YmFzZS5leHAgYi9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKaW5kZXggMjVlYmM2Ni4uZDllZTEy
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS5iYXNlLmV4cApAQCAtNjQ1LDcgKzY0NSw2IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczI5
c2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMzFz
ZXRTaHJpbmtzU3RhbmRhbG9uZUltYWdlc1RvRml0RWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczMy
c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdz
MzJzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlya0ViCi1fX1pON1dlYkNvcmU4U2V0dGlu
Z3MzMnNldEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0
aW5nczMzc2V0RG93bmxvYWRhYmxlQmluYXJ5Rm9udHNFbmFibGVkRWIKIF9fWk43V2ViQ29yZThT
ZXR0aW5nczMzc2V0RW5mb3JjZUNTU01JTUVUeXBlSW5TdHJpY3RNb2RlRWIKIF9fWk43V2ViQ29y
ZThTZXR0aW5nczM0c2V0TG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZEViCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcCBiL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDQ3MzM5ZDQuLmRlYjkyY2Ig
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCkBAIC03MzAsOCAr
NzMwLDYgQEAgSlNWYWx1ZSBKU0RPTVdpbmRvdzo6d2ViU29ja2V0KEV4ZWNTdGF0ZSogZXhlYykg
Y29uc3QKICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBmcmFtZS0+c2V0dGluZ3MoKTsKICAgICBp
ZiAoIXNldHRpbmdzKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSAgICBpZiAoIXNl
dHRpbmdzLT5leHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZCgpKQotICAgICAgICByZXR1cm4g
anNVbmRlZmluZWQoKTsKICAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNXZWJTb2NrZXRD
b25zdHJ1Y3Rvcj4oZXhlYywgdGhpcyk7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01X
cmFwcGVyLmNwcAppbmRleCBjZDQ4YWE3Li4zNzdmMjc5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERP
TVdyYXBwZXIuY3BwCkBAIC01OTcsMTYgKzU5Nyw2IEBAIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+
IFY4RE9NV3JhcHBlcjo6Z2V0Q29uc3RydWN0b3IoVjhDbGFzc0luZGV4OjpWOFdyYXBwZXJUeXBl
CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+
KCk7CiAKLSNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCi0gICAgLy8gTWFrZSB0eXBlb2Yod2luZG93
LldlYlNvY2tldCkgPT0gJ3VuZGVmaW5lZCcgd2hlbgotICAgIC8vIGV4cGVyaW1lbnRhbFdlYlNv
Y2tldEVuYWJsZWQgaXMgZmFsc2UuCi0gICAgaWYgKHR5cGUgPT0gVjhDbGFzc0luZGV4OjpXRUJT
T0NLRVQpIHsKLSAgICAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZnJhbWUtPnNldHRpbmdzKCk7
Ci0gICAgICAgIGlmICghc2V0dGluZ3MgfHwgIXNldHRpbmdzLT5leHBlcmltZW50YWxXZWJTb2Nr
ZXRzRW5hYmxlZCgpKQotICAgICAgICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+
KCk7Ci0gICAgfQotI2VuZGlmCi0KICAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0
ID0gVjhQcm94eTo6Y29udGV4dChmcmFtZSk7CiAgICAgaWYgKGNvbnRleHQuSXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpGdW5jdGlvbj4oKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tQmluZGluZy5oIGIvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5kaW5nLmgKaW5kZXggZDVlMDJhYy4uMzIyNjhjOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5kaW5nLmgK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5kaW5nLmgKQEAgLTY0
OCw2ICs2NDgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERFQ0xBUkVfQ0FMTEJB
Q0soV2ViU29ja2V0UmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgIERFQ0xBUkVfQ0FMTEJB
Q0soV2ViU29ja2V0U2VuZCk7CiAgICAgICAgIERFQ0xBUkVfQ0FMTEJBQ0soV2ViU29ja2V0Q2xv
c2UpOworICAgICAgICBERUNMQVJFX0FDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dX
ZWJTb2NrZXQpOwogI2VuZGlmCiAKICN1bmRlZiBERUNMQVJFX0lOREVYRURfQUNDRVNTX0NIRUNL
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3Rv
bS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAK
aW5kZXggMDNkNDgwZS4uM2QzZDg0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcApAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgIlNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAi
U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oIgorI2luY2x1ZGUgIldlYlNvY2tldC5oIgogI2luY2x1
ZGUgIldpbmRvd0ZlYXR1cmVzLmgiCiAKIC8vIEhvcml6b250YWwgYW5kIHZlcnRpY2FsIG9mZnNl
dCwgZnJvbSB0aGUgcGFyZW50IGNvbnRlbnQgYXJlYSwgYXJvdW5kIG5ld2x5CkBAIC0yNzEsNiAr
MjcyLDEzIEBAIEFDQ0VTU09SX1JVTlRJTUVfRU5BQkxFUihET01XaW5kb3dTaGFyZWRXb3JrZXIp
CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJfU09DS0VUUykKK0FDQ0VTU09SX1JVTlRJTUVf
RU5BQkxFUihET01XaW5kb3dXZWJTb2NrZXQpCit7CisgICAgcmV0dXJuIFdlYlNvY2tldDo6aXNB
dmFpbGFibGUoKTsKK30KKyNlbmRpZgorCiBBQ0NFU1NPUl9HRVRURVIoRE9NV2luZG93SW1hZ2Up
CiB7CiAgICAgRE9NV2luZG93KiB3aW5kb3cgPSBWOERPTVdyYXBwZXI6OmNvbnZlcnRUb05hdGl2
ZU9iamVjdDxET01XaW5kb3c+KFY4Q2xhc3NJbmRleDo6RE9NV0lORE9XLCBpbmZvLkhvbGRlcigp
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKaW5kZXggMmQ2NzBjMC4uNDU4NzAwMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAg
LTUwNiw3ICs1MDYsNyBAQCBtb2R1bGUgd2luZG93IHsKICNlbmRpZgogCiAjaWYgZGVmaW5lZChF
TkFCTEVfV0VCX1NPQ0tFVFMpICYmIEVOQUJMRV9XRUJfU09DS0VUUwotICAgICAgICBhdHRyaWJ1
dGUgW0pTQ0N1c3RvbUdldHRlcl0gV2ViU29ja2V0Q29uc3RydWN0b3IgV2ViU29ja2V0OyAvLyBV
c2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9t
R2V0dGVyLEVuYWJsZWRBdFJ1bnRpbWVdIFdlYlNvY2tldENvbnN0cnVjdG9yIFdlYlNvY2tldDsg
Ly8gVXNhYmxlIHdpdGggdGhlIG5ldyBvcGVyYXRvcgogI2VuZGlmCiAKICAgICAgICAgYXR0cmli
dXRlIFBsdWdpbkNvbnN0cnVjdG9yIFBsdWdpbjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAgYi9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IGRkZGJmMDUuLjQ4
ZjMxMGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTIwLDkgKzEyMCw2IEBAIFNldHRpbmdzOjpTZXR0aW5n
cyhQYWdlKiBwYWdlKQogICAgICwgbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCh0cnVl
KQogICAgICwgbV9leHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZChmYWxzZSkKICAgICAs
IG1fd2ViR0xFbmFibGVkKGZhbHNlKQotI2lmIEVOQUJMRShXRUJfU09DS0VUUykKLSAgICAsIG1f
ZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQoZmFsc2UpCi0jZW5kaWYKIHsKICAgICAvLyBB
IEZyYW1lIG1heSBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3ZSBpbml0aWFsaXplIHRo
ZSBBdG9taWNTdHJpbmcgCiAgICAgLy8gaGFzaCBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdC4KQEAg
LTUzNCwxMyArNTMxLDYgQEAgdm9pZCBTZXR0aW5nczo6c2V0V2ViR0xFbmFibGVkKGJvb2wgZW5h
YmxlZCkKICAgICBtX3dlYkdMRW5hYmxlZCA9IGVuYWJsZWQ7CiB9CiAKLSNpZiBFTkFCTEUoV0VC
X1NPQ0tFVFMpCi12b2lkIFNldHRpbmdzOjpzZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxl
ZChib29sIGVuYWJsZWQpCi17Ci0gICAgbV9leHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZCA9
IGVuYWJsZWQ7Ci19Ci0jZW5kaWYKLQogdm9pZCBTZXR0aW5nczo6c2V0UHJpbnRpbmdNaW5pbXVt
U2hyaW5rRmFjdG9yKGZsb2F0IHByaW50aW5nTWluaW11bVNocmlua0ZhY3RvcikKIHsKICAgICBt
X3ByaW50aW5nTWluaW11bVNocmlua0ZhY3RvciA9IHByaW50aW5nTWluaW11bVNocmlua0ZhY3Rv
cjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgKaW5kZXggZjA2NmRhNC4uYmRiMDdiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTI3MCwxMSArMjcw
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFdlYkdMRW5hYmxlZChi
b29sKTsKICAgICAgICAgYm9vbCB3ZWJHTEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYkdM
RW5hYmxlZDsgfQogCi0jaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQotICAgICAgICB2b2lkIHNldEV4
cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKGJvb2wpOwotICAgICAgICBib29sIGV4cGVyaW1l
bnRhbFdlYlNvY2tldHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9leHBlcmltZW50YWxXZWJT
b2NrZXRzRW5hYmxlZDsgfQotI2VuZGlmCi0KICAgICAgICAgdm9pZCBzZXRQcmludGluZ01pbmlt
dW1TaHJpbmtGYWN0b3IoZmxvYXQpOwogICAgICAgICBmbG9hdCBwcmludGluZ01pbmltdW1TaHJp
bmtGYWN0b3IoKSBjb25zdCB7IHJldHVybiBtX3ByaW50aW5nTWluaW11bVNocmlua0ZhY3Rvcjsg
fQogCkBAIC0zNTIsMTAgKzM0Nyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9v
bCBtX2V4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBt
X3dlYkdMRW5hYmxlZCA6IDE7CiAKLSNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCi0gICAgICAgIGJv
b2wgbV9leHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZCA6IDE7Ci0jZW5kaWYKLQogI2lmIFVT
RShTQUZBUklfVEhFTUUpCiAgICAgICAgIHN0YXRpYyBib29sIGdTaG91bGRQYWludE5hdGl2ZUNv
bnRyb2xzOwogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0
LmNwcCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCmluZGV4IDE2MjExYTcuLmYz
YmJkZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBi
L1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC04Niw2ICs4NiwyMiBAQCBzdGF0
aWMgYm9vbCBpc1ZhbGlkUHJvdG9jb2xTdHJpbmcoY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBwcm90
b2NvbCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIFVTRShWOCkKKworc3RhdGljIGJvb2wg
d2ViU29ja2V0c0F2YWlsYWJsZSA9IGZhbHNlOworCit2b2lkIFdlYlNvY2tldDo6c2V0SXNBdmFp
bGFibGUoYm9vbCBhdmFpbGFibGUpCit7CisgICAgd2ViU29ja2V0c0F2YWlsYWJsZSA9IGF2YWls
YWJsZTsKK30KKworYm9vbCBXZWJTb2NrZXQ6OmlzQXZhaWxhYmxlKCkKK3sKKyAgICByZXR1cm4g
d2ViU29ja2V0c0F2YWlsYWJsZTsKK30KKworI2VuZGlmCisKIFdlYlNvY2tldDo6V2ViU29ja2V0
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAgOiBBY3RpdmVET01PYmplY3Qo
Y29udGV4dCwgdGhpcykKICAgICAsIG1fc3RhdGUoQ09OTkVDVElORykKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXQuaAppbmRleCBjNWI3ZWU3Li45ZWNiZWQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5oCkBAIC01
MCw2ICs1MCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBXZWJTb2NrZXQg
OiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXQ+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1Ymxp
YyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50IHsKICAgICBw
dWJsaWM6CisjaWYgVVNFKFY4KQorICAgICAgICBzdGF0aWMgdm9pZCBzZXRJc0F2YWlsYWJsZShi
b29sKTsKKyAgICAgICAgc3RhdGljIGJvb2wgaXNBdmFpbGFibGUoKTsKKyNlbmRpZgogICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJTb2NrZXQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2ViU29ja2V0KGNvbnRleHQpKTsg
fQogICAgICAgICB2aXJ0dWFsIH5XZWJTb2NrZXQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBmNjIxMTM0Li4zMTQ0MzYy
IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDA5LTEwLTE5ICBGdW1pdG9zaGkgVWthaSAgPHVrYWlA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlbW92ZWQgV2ViU29ja2V0IHJ1bnRpbWUgc2V0dGluZ3MuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTg5NgorCisgICAgICAgIFdlYlNv
Y2tldCBydW50aW1lIGNvbmZpZ3VyYXRpb24gaXMgc3VwcG9ydGVkIGJ5IGNocm9taXVtL3Y4IG9u
bHkuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgICh3ZWJr
aXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpbmdzKToKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19z
ZXR0aW5nc19ub3RpZnkpOgorCiAyMDA5LTEwLTE5ICBKYW4gTWljaGFlbCBBbG9uem8gIDxqbWFs
b256b0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFr
b3YuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IDhlNWU1NzUuLjlmNjY4ZjQg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC0yMzkyLDcgKzIzOTIsNyBAQCBz
dGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpbmdzKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcpCiAgICAgICAgIGVuYWJsZVNjcmlwdHMsIGVuYWJsZVBsdWdpbnMsIGVuYWJsZURl
dmVsb3BlckV4dHJhcywgcmVzaXphYmxlVGV4dEFyZWFzLAogICAgICAgICBlbmFibGVQcml2YXRl
QnJvd3NpbmcsIGVuYWJsZUNhcmV0QnJvd3NpbmcsIGVuYWJsZUhUTUw1RGF0YWJhc2UsIGVuYWJs
ZUhUTUw1TG9jYWxTdG9yYWdlLAogICAgICAgICBlbmFibGVYU1NBdWRpdG9yLCBqYXZhc2NyaXB0
Q2FuT3BlbldpbmRvd3MsIGVuYWJsZU9mZmxpbmVXZWJBcHBDYWNoZSwKLSAgICAgICAgZW5hYmxl
VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkksIGVuYWJsZVdlYlNvY2tldHMsIGVuYWJsZURPTVBh
c3RlOworICAgICAgICBlbmFibGVVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSSSwgZW5hYmxlRE9N
UGFzdGU7CiAKICAgICBXZWJLaXRFZGl0aW5nQmVoYXZpb3IgZWRpdGluZ0JlaGF2aW9yOwogCkBA
IC0yNDIxLDcgKzI0MjEsNiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3Nl
dHRpbmdzKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgICAgICAgICAgICAgICJlbmFibGUt
b2ZmbGluZS13ZWItYXBwbGljYXRpb24tY2FjaGUiLCAmZW5hYmxlT2ZmbGluZVdlYkFwcENhY2hl
LAogICAgICAgICAgICAgICAgICAiZWRpdGluZy1iZWhhdmlvciIsICZlZGl0aW5nQmVoYXZpb3Is
CiAgICAgICAgICAgICAgICAgICJlbmFibGUtdW5pdmVyc2FsLWFjY2Vzcy1mcm9tLWZpbGUtdXJp
cyIsICZlbmFibGVVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSSSwKLSAgICAgICAgICAgICAgICAg
ImVuYWJsZS13ZWItc29ja2V0cyIsICZlbmFibGVXZWJTb2NrZXRzLAogICAgICAgICAgICAgICAg
ICAiZW5hYmxlLWRvbS1wYXN0ZSIsICZlbmFibGVET01QYXN0ZSwKICAgICAgICAgICAgICAgICAg
TlVMTCk7CiAKQEAgLTI0NDksOSArMjQ0OCw2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmll
d191cGRhdGVfc2V0dGluZ3MoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICBzZXR0aW5ncy0+
c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKGVuYWJsZU9mZmxpbmVXZWJBcHBD
YWNoZSk7CiAgICAgc2V0dGluZ3MtPnNldEVkaXRpbmdCZWhhdmlvcihjb3JlKGVkaXRpbmdCZWhh
dmlvcikpOwogICAgIHNldHRpbmdzLT5zZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJM
cyhlbmFibGVVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSSSk7Ci0jaWYgRU5BQkxFKFdFQl9TT0NL
RVRTKQotICAgIHNldHRpbmdzLT5zZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZChlbmFi
bGVXZWJTb2NrZXRzKTsKLSNlbmRpZgogICAgIHNldHRpbmdzLT5zZXRET01QYXN0ZUFsbG93ZWQo
ZW5hYmxlRE9NUGFzdGUpOwogCiAgICAgZ19mcmVlKGRlZmF1bHRFbmNvZGluZyk7CkBAIC0yNTM5
LDEwICsyNTM1LDYgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3NldHRpbmdzX25vdGlm
eShXZWJLaXRXZWJTZXR0aW5ncyogd2ViU2V0dGluZ3MsIEdQYXIKICAgICAgICAgc2V0dGluZ3Mt
PnNldEVkaXRpbmdCZWhhdmlvcihjb3JlKHN0YXRpY19jYXN0PFdlYktpdEVkaXRpbmdCZWhhdmlv
cj4oZ192YWx1ZV9nZXRfZW51bSgmdmFsdWUpKSkpOwogICAgIGVsc2UgaWYgKG5hbWUgPT0gZ19p
bnRlcm5fc3RyaW5nKCJlbmFibGUtdW5pdmVyc2FsLWFjY2Vzcy1mcm9tLWZpbGUtdXJpcyIpKQog
ICAgICAgICBzZXR0aW5ncy0+c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoZ192
YWx1ZV9nZXRfYm9vbGVhbigmdmFsdWUpKTsKLSNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCi0gICAg
ZWxzZSBpZiAobmFtZSA9PSBnX2ludGVybl9zdHJpbmcoImVuYWJsZS13ZWItc29ja2V0cyIpKQot
ICAgICAgICBzZXR0aW5ncy0+c2V0RXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQoZ192YWx1
ZV9nZXRfYm9vbGVhbigmdmFsdWUpKTsKLSNlbmRpZgogICAgIGVsc2UgaWYgKG5hbWUgPT0gZ19p
bnRlcm5fc3RyaW5nKCJlbmFibGUtZG9tLXBhc3RlIikpCiAgICAgICAgIHNldHRpbmdzLT5zZXRE
T01QYXN0ZUFsbG93ZWQoZ192YWx1ZV9nZXRfYm9vbGVhbigmdmFsdWUpKTsKICAgICBlbHNlIGlm
ICghZ19vYmplY3RfY2xhc3NfZmluZF9wcm9wZXJ0eShHX09CSkVDVF9HRVRfQ0xBU1Mod2ViU2V0
dGluZ3MpLCBuYW1lKSkKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKaW5kZXggMGE0Mzk3NS4uN2U0MWNhYiAxMDA2NDQKLS0tIGEvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAwOS0xMC0xOSAgRnVtaXRvc2hpIFVrYWkgIDx1a2FpQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIFdlYlNv
Y2tldCBydW50aW1lIHNldHRpbmdzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Mjk4OTYKKworICAgICAgICBXZWJTb2NrZXQgcnVudGltZSBjb25maWd1
cmF0aW9uIGlzIHN1cHBvcnRlZCBieSBjaHJvbWl1bS92OCBvbmx5LgorCisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6Cisg
ICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZE5v
dGlmaWNhdGlvbjpdKToKKwogMjAwOS0xMC0xOSAgTmF0ZSBDaGFwaW4gIDxqYXBoZXRAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYg
LS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggMWY0ZDcy
ZS4uNGE4NzMzNyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaApAQCAtNTYsNyArNTYsNiBAQAogI2RlZmluZSBXZWJLaXREYXRhYmFzZXNFbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdERhdGFiYXNlc0VuYWJsZWRQcmVmZXJlbmNlS2V5IgogI2Rl
ZmluZSBXZWJLaXRMb2NhbFN0b3JhZ2VFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdExvY2Fs
U3RvcmFnZUVuYWJsZWRQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRFeHBlcmltZW50YWxO
b3RpZmljYXRpb25zRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRFeHBlcmltZW50YWxOb3Rp
ZmljYXRpb25zRW5hYmxlZFByZWZlcmVuY2VLZXkiCi0jZGVmaW5lIFdlYktpdEV4cGVyaW1lbnRh
bFdlYlNvY2tldHNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEV4cGVyaW1lbnRhbFdlYlNv
Y2tldHNFbmFibGVkUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0QWxsb3dBbmltYXRlZElt
YWdlc1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VzUHJlZmVyZW5jZUtl
eSIKICNkZWZpbmUgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlTG9vcGluZ1ByZWZlcmVuY2VLZXkg
QCJXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVyZW5jZUtleSIKICNkZWZpbmUg
V2ViS2l0RGlzcGxheUltYWdlc0tleSBAIldlYktpdERpc3BsYXlJbWFnZXNLZXkiCmRpZmYgLS1n
aXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggOGMxOWFlNC4uNDkxNDM0MCAxMDA2NDQKLS0t
IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBiL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMzIxLDcgKzMyMSw2IEBAIHN0YXRpYyBXZWJD
YWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAgICAgIFtOU051bWJl
ciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0RGF0YWJhc2VzRW5hYmxlZFByZWZlcmVuY2VL
ZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0TG9jYWxT
dG9yYWdlRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRo
Qm9vbDpOT10sICAgV2ViS2l0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWRQcmVmZXJl
bmNlS2V5LAotICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdEV4
cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVt
YmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VzUHJlZmVy
ZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRB
bGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXREaXNwbGF5SW1hZ2VzS2V5LApAQCAtMTAyNSwx
NiArMTAyNCw2IEBAIHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxl
KHZvaWQpCiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpleHBlcmltZW50YWxOb3RpZmljYXRpb25z
RW5hYmxlZCBmb3JLZXk6V2ViS2l0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWRQcmVm
ZXJlbmNlS2V5XTsKIH0KIAotLSAoQk9PTClleHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZAot
ewotICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEV4cGVyaW1lbnRhbFdl
YlNvY2tldHNFbmFibGVkUHJlZmVyZW5jZUtleV07Ci19Ci0KLS0gKHZvaWQpc2V0RXhwZXJpbWVu
dGFsV2ViU29ja2V0c0VuYWJsZWQ6KEJPT0wpZXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQK
LXsKLSAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVk
IGZvcktleTpXZWJLaXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZFByZWZlcmVuY2VLZXld
OwotfQotCiArIChXZWJQcmVmZXJlbmNlcyAqKV9nZXRJbnN0YW5jZUZvcklkZW50aWZpZXI6KE5T
U3RyaW5nICopaWRlbnQKIHsKICAgICBMT0coRW5jb2RpbmcsICJyZXF1ZXN0aW5nIGZvciAlQFxu
IiwgaWRlbnQpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmlu
ZGV4IGIxODUwYTIuLmM1NThjYmIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmgKQEAgLTExMCw5ICsxMTAsNiBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZl
cmVuY2VzUmVtb3ZlZE5vdGlmaWNhdGlvbjsKIC0gKEJPT0wpZXhwZXJpbWVudGFsTm90aWZpY2F0
aW9uc0VuYWJsZWQ7CiAtICh2b2lkKXNldEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVk
OihCT09MKW5vdGlmaWNhdGlvbnNFbmFibGVkOwogCi0tIChCT09MKWV4cGVyaW1lbnRhbFdlYlNv
Y2tldHNFbmFibGVkOwotLSAodm9pZClzZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZDoo
Qk9PTCl3ZWJzb2NrZXRzRW5hYmxlZDsKLQogLSAodW5zaWduZWQpcGx1Z2luQWxsb3dlZFJ1blRp
bWU7CiAtICh2b2lkKXNldFBsdWdpbkFsbG93ZWRSdW5UaW1lOih1bnNpZ25lZClhbGxvd2VkUnVu
VGltZTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAxOWI0NDFjLi5mYmU4NzZmIDEwMDY0NAot
LS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQpAQCAtMTI4NCw3ICsxMjg0LDYgQEAgc3RhdGljIGJvb2wgZmFzdERvY3Vt
ZW50VGVhcmRvd25FbmFibGVkKCkKICAgICBzZXR0aW5ncy0+c2V0RGF0YWJhc2VzRW5hYmxlZChb
cHJlZmVyZW5jZXMgZGF0YWJhc2VzRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRMb2NhbFN0
b3JhZ2VFbmFibGVkKFtwcmVmZXJlbmNlcyBsb2NhbFN0b3JhZ2VFbmFibGVkXSk7CiAgICAgc2V0
dGluZ3MtPnNldEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkKFtwcmVmZXJlbmNlcyBl
eHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZF0pOwotICAgIHNldHRpbmdzLT5zZXRFeHBl
cmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZChbcHJlZmVyZW5jZXMgZXhwZXJpbWVudGFsV2ViU29j
a2V0c0VuYWJsZWRdKTsKICAgICBzZXR0aW5ncy0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChb
cHJlZmVyZW5jZXMgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRT
YW5zU2VyaWZGb250RmFtaWx5KFtwcmVmZXJlbmNlcyBzYW5zU2VyaWZGb250RmFtaWx5XSk7CiAg
ICAgc2V0dGluZ3MtPnNldFNlcmlmRm9udEZhbWlseShbcHJlZmVyZW5jZXMgc2VyaWZGb250RmFt
aWx5XSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1dlYktpdC93aW4vQ2hh
bmdlTG9nCmluZGV4IGY4YWE1YTguLmQxMGEwOGEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDkt
MTAtMTkgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBXZWJTb2NrZXQgcnVu
dGltZSBzZXR0aW5ncy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI5ODk2CisKKyAgICAgICAgV2ViU29ja2V0IHJ1bnRpbWUgY29uZmlndXJhdGlvbiBp
cyBzdXBwb3J0ZWQgYnkgY2hyb21pdW0vdjggb25seS4KKworICAgICAgICAqIEludGVyZmFjZXMv
SVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJl
ZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2V0dGluZ3MpOgorICAgICAgICAoV2ViUHJlZmVy
ZW5jZXM6OmV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkKToKKyAgICAgICAgKiBXZWJQ
cmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6
bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwogMjAwOS0xMC0xOSAgQWRhbSBSb2JlbiAgPGFy
b2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGNyYXNoZXMvYXNzZXJ0aW9ucyB3aGVuIGNh
bGxpbmcgV2ViTG9jYWxpemVkU3RyaW5nIGZyb20gbXVsdGlwbGUKZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbCBiL1dlYktpdC93aW4v
SW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAppbmRleCA5OTczN2E0Li5iZWM3
MGUyIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZS5pZGwKKysrIGIvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaWRsCkBAIC04Miw5ICs4Miw2IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRl
IDogSVVua25vd24KICAgICBIUkVTVUxUIGV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVk
KFtvdXQsIHJldHZhbF0gQk9PTCAqZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRFeHBlcmltZW50
YWxOb3RpZmljYXRpb25zRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiAKLSAgICBIUkVTVUxU
IGV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCAqZW5hYmxl
ZCk7Ci0gICAgSFJFU1VMVCBzZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxlZChbaW5dIEJP
T0wgZW5hYmxlZCk7Ci0KICAgICBIUkVTVUxUIHNldFNob3VsZFVzZUhpZ2hSZXNvbHV0aW9uVGlt
ZXJzKFtpbl0gQk9PTCB1c2VIaWdoUmVzb2x1dGlvblRpbWVycyk7CiAgICAgSFJFU1VMVCBzaG91
bGRVc2VIaWdoUmVzb2x1dGlvblRpbWVycyhbb3V0LCByZXR2YWxdIEJPT0wqIHVzZUhpZ2hSZXNv
bHV0aW9uVGltZXJzKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaCBiL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXgg
YTIzYWEyNi4uMDlhZWFmZiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAorKysgYi9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBA
IC01NCw3ICs1NCw2IEBACiAjZGVmaW5lIFdlYktpdERhdGFiYXNlc0VuYWJsZWRQcmVmZXJlbmNl
S2V5ICJXZWJLaXREYXRhYmFzZXNFbmFibGVkIgogI2RlZmluZSBXZWJLaXRMb2NhbFN0b3JhZ2VF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0TG9jYWxTdG9yYWdlRW5hYmxlZCIKICNkZWZpbmUg
V2ViS2l0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJL
aXRFeHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZCIKLSNkZWZpbmUgV2ViS2l0RXhwZXJp
bWVudGFsV2ViU29ja2V0c0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRFeHBlcmltZW50YWxX
ZWJTb2NrZXRzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlc1ByZWZl
cmVuY2VLZXkgIldlYktpdEFsbG93QW5pbWF0ZWRJbWFnZXNQcmVmZXJlbmNlS2V5IgogI2RlZmlu
ZSBXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVyZW5jZUtleSAiV2ViS2l0QWxs
b3dBbmltYXRlZEltYWdlTG9vcGluZ1ByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdERpc3Bs
YXlJbWFnZXNLZXkgIldlYktpdERpc3BsYXlJbWFnZXNLZXkiCmRpZmYgLS1naXQgYS9XZWJLaXQv
d2luL1dlYlByZWZlcmVuY2VzLmNwcCBiL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCmlu
ZGV4IDE1ZDhlZmIuLjY1MmU2MTkgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViUHJlZmVyZW5j
ZXMuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0yMTMsNyArMjEz
LDYgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncygpCiAg
ICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdERhdGFiYXNlc0Vu
YWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFk
ZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRMb2NhbFN0b3JhZ2VFbmFibGVkUHJlZmVyZW5j
ZUtleSksIGtDRkJvb2xlYW5UcnVlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWRQcmVmZXJlbmNl
S2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKLSAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0
cywgQ0ZTVFIoV2ViS2l0RXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWRQcmVmZXJlbmNlS2V5
KSwga0NGQm9vbGVhbkZhbHNlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywg
Q0ZTVFIoV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlc1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFu
VHJ1ZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEFs
bG93QW5pbWF0ZWRJbWFnZUxvb3BpbmdQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwog
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXREaXNwbGF5SW1h
Z2VzS2V5KSwga0NGQm9vbGVhblRydWUpOwpAQCAtMTMxMCwxOCArMTMwOSw2IEBAIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgV2ViUHJlZmVyZW5jZXM6OmV4cGVyaW1lbnRhbE5vdGlmaWNhdGlv
bnNFbmFibGVkKEJPT0wqCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKLUhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgV2ViUHJlZmVyZW5jZXM6OnNldEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVk
KEJPT0wgZW5hYmxlZCkKLXsKLSAgICBzZXRCb29sVmFsdWUoQ0ZTVFIoV2ViS2l0RXhwZXJpbWVu
dGFsV2ViU29ja2V0c0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwgZW5hYmxlZCk7Ci0gICAgcmV0dXJu
IFNfT0s7Ci19Ci0KLUhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViUHJlZmVyZW5jZXM6OmV4
cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKEJPT0wqIGVuYWJsZWQpCi17Ci0gICAgKmVuYWJs
ZWQgPSBib29sVmFsdWVGb3JLZXkoQ0ZTVFIoV2ViS2l0RXhwZXJpbWVudGFsV2ViU29ja2V0c0Vu
YWJsZWRQcmVmZXJlbmNlS2V5KSk7Ci0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KIEhSRVNVTFQgV2Vi
UHJlZmVyZW5jZXM6OnNldFpvb21zVGV4dE9ubHkoQk9PTCB6b29tc1RleHRPbmx5KQogewogICAg
IHNldEJvb2xWYWx1ZShDRlNUUihXZWJLaXRab29tc1RleHRPbmx5UHJlZmVyZW5jZUtleSksIHpv
b21zVGV4dE9ubHkpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oIGIv
V2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGIzYjNiYTkuLjJhODkyNjkgMTAwNjQ0
Ci0tLSBhL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VzLmgKQEAgLTMzMiwxMiArMzMyLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRFeHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxl
ZCgKICAgICAgICAgLyogW2luXSAqLyBCT09MIGVuYWJsZWQpOwogCi0gICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVkKAotICAg
ICAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wgKmVuYWJsZWQpOwotCi0gICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldEV4cGVyaW1lbnRhbFdlYlNvY2tldHNFbmFibGVk
KAotICAgICAgICAvKiBbaW5dICovIEJPT0wgZW5hYmxlZCk7Ci0KICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0U2hvdWxkUGFpbnROYXRpdmVDb250cm9scyggCiAgICAg
LyogW2luXSAqLyBCT09MIHNob3VsZFBhaW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9X
ZWJWaWV3LmNwcCBiL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggOGQ5ZTYxNy4uNzYwMmY2
MSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9XZWJLaXQvd2luL1dl
YlZpZXcuY3BwCkBAIC00NDM1LDExICs0NDM1LDYgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQ
cmVmZXJlbmNlc0NoYW5nZWQoSVdlYk5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAgICAg
ICByZXR1cm4gaHI7CiAgICAgc2V0dGluZ3MtPnNldEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNF
bmFibGVkKGVuYWJsZWQpOwogCi0gICAgaHIgPSBwcmVmc1ByaXZhdGUtPmV4cGVyaW1lbnRhbFdl
YlNvY2tldHNFbmFibGVkKCZlbmFibGVkKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAg
cmV0dXJuIGhyOwotICAgIHNldHRpbmdzLT5zZXRFeHBlcmltZW50YWxXZWJTb2NrZXRzRW5hYmxl
ZChlbmFibGVkKTsKLQogICAgIGhyID0gcHJlZnNQcml2YXRlLT5pc1dlYlNlY3VyaXR5RW5hYmxl
ZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpp
bmRleCA4OTQyYWViLi43MzdmZmM0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMTAtMTkg
IEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBXZWJTb2NrZXQgcnVudGltZSBz
ZXR0aW5ncy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI5ODk2CisKKyAgICAgICAgV2ViU29ja2V0IHJ1bnRpbWUgY29uZmlndXJhdGlvbiBpcyBzdXBw
b3J0ZWQgYnkgY2hyb21pdW0vdjggb25seS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRW
YWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6
CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAwOS0xMC0x
OSAgTmF0ZSBDaGFwaW4gIDxqYXBoZXRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0gYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0KaW5kZXggMTEzNDhkNy4uZGZhZTI2NSAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtNDA5LDcgKzQwOSw2
IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgIFtw
cmVmZXJlbmNlcyBzZXRDYWNoZU1vZGVsOldlYkNhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXJdOwog
ICAgIFtwcmVmZXJlbmNlcyBzZXRYU1NBdWRpdG9yRW5hYmxlZDpOT107CiAgICAgW3ByZWZlcmVu
Y2VzIHNldEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkOk5PXTsKLSAgICBbcHJlZmVy
ZW5jZXMgc2V0RXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVy
ZW5jZXMgc2V0UGx1Z2luQWxsb3dlZFJ1blRpbWU6MV07CiAKICAgICBbcHJlZmVyZW5jZXMgc2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZDpOT107CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCA1YjIzNDEzLi5kNDg2ZDA2IDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3Bw
CisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAK
QEAgLTc0NCw3ICs3NDQsNiBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50
VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgICAgIHByZWZzUHJpdmF0
ZS0+c2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQoVFJVRSk7CiAgICAgICAgIHByZWZzUHJp
dmF0ZS0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChGQUxTRSk7CiAgICAgICAgIHByZWZzUHJp
dmF0ZS0+c2V0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWQoVFJVRSk7Ci0gICAgICAg
IHByZWZzUHJpdmF0ZS0+c2V0RXhwZXJpbWVudGFsV2ViU29ja2V0c0VuYWJsZWQoVFJVRSk7CiAg
ICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0U2hvdWxkUGFpbnROYXRpdmVDb250cm9scyhGQUxTRSk7
IC8vIEZJWE1FIC0gbmVlZCB0byBtYWtlIERSVCBwYXNzIHdpdGggV2luZG93cyBuYXRpdmUgY29u
dHJvbHMgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NTkyPgogICAg
ICAgICBwcmVmc1ByaXZhdGUtPnNldFhTU0F1ZGl0b3JFbmFibGVkKEZBTFNFKTsKICAgICAgICAg
cHJlZnNQcml2YXRlLT5zZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQoVFJVRSk7
</data>
<flag name="review"
          id="22882"
          type_id="1"
          status="+"
          setter="levin"
    />
    <flag name="commit-queue"
          id="22888"
          type_id="3"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>