<?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>104465</bug_id>
          
          <creation_ts>2012-12-08 20:33:11 -0800</creation_ts>
          <short_desc>[Chromium] Support for Network Information API</short_desc>
          <delta_ts>2013-01-02 10:58:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>104642</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>peter</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>786679</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-08 20:33:11 -0800</bug_when>
    <thetext>I think chrome port needs to support this spec as well as EFL and blackberry ports. Patch is coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786680</commentid>
    <comment_count>1</comment_count>
      <attachid>178393</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-08 20:43:35 -0800</bug_when>
    <thetext>Created attachment 178393
Work-in-progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787023</commentid>
    <comment_count>2</comment_count>
      <attachid>178480</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-09 23:16:33 -0800</bug_when>
    <thetext>Created attachment 178480
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787025</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-09 23:19:48 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787069</commentid>
    <comment_count>4</comment_count>
      <attachid>178480</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-10 01:14:26 -0800</bug_when>
    <thetext>Comment on attachment 178480
Patch

Attachment 178480 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15252001

New failing tests:
fast/dom/navigator-detached-no-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787118</commentid>
    <comment_count>5</comment_count>
      <attachid>178495</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-10 02:19:25 -0800</bug_when>
    <thetext>Created attachment 178495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787420</commentid>
    <comment_count>6</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-12-10 09:49:20 -0800</bug_when>
    <thetext>Hi Gyuyoung Kim, thank you for the patch.

We&apos;ve just started reviewing the Network Information API, and (at least on the Android side) have doubts about both the quality of the API and the feasibility of implementing it correctly.

To give an example, it&apos;s going to be very hard to support the &quot;bandwidth&quot; attribute in a correct way on mobile devices. Conditions can change very significantly within minutes. While the &quot;change&quot; event can be triggered when the connection type changes (i.e. from 3G to WiFi), that doesn&apos;t give us any new estimates. 
Firefox has a mapping between the connection type and the theoretically possible connection speed, but being connected to LTE doesn&apos;t guarantee that the website is actually going to get 50 Mbps.

We&apos;ll be sending an e-mail regarding the concerns as soon as possible. For now, however, I&apos;d prefer not to land this..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787570</commentid>
    <comment_count>7</comment_count>
      <attachid>178495</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-12-10 11:23:06 -0800</bug_when>
    <thetext>Comment on attachment 178495
Patch

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

R- based on Peter Beverloo&apos;s comments.

&gt; Source/WebKit/chromium/public/WebViewClient.h:372
&gt; +    virtual WebNetworkInfoClient* networkInfoClient() { return 0; }

WebKit API review notes: Network information is not a per-WebView property, so it
does not belong on WebViewClient.  There should instead be a Platform-level API
to query network information and to receive an event when network information
changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787898</commentid>
    <comment_count>8</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-10 17:48:23 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Hi Gyuyoung Kim, thank you for the patch.
&gt; 
&gt; We&apos;ve just started reviewing the Network Information API, and (at least on the Android side) have doubts about both the quality of the API and the feasibility of implementing it correctly.
&gt; 
&gt; To give an example, it&apos;s going to be very hard to support the &quot;bandwidth&quot; attribute in a correct way on mobile devices. Conditions can change very significantly within minutes. While the &quot;change&quot; event can be triggered when the connection type changes (i.e. from 3G to WiFi), that doesn&apos;t give us any new estimates.

&gt; Firefox has a mapping between the connection type and the theoretically possible connection speed, but being connected to LTE doesn&apos;t guarantee that the website is actually going to get 50 Mbps.
&gt; 
&gt; We&apos;ll be sending an e-mail regarding the concerns as soon as possible. For now, however, I&apos;d prefer not to land this..

Hi Peter, yes, Firefox and WebKit blackberry supported bandwidth property based on theoretical bandwidth speed. So, I also implemented this feature for Tizen platform as same method.

In blackberry port case, they notify network type change to JS callback by this implementation. I&apos;m considering to let WebCore know network type change via virtual interface.

void NetworkInfoClientBlackBerry::onCurrentNetworkTypeChange(BlackBerry::Platform::InternalNetworkConnectionType newInternalNetworkType)
{
    if (m_isActive) {
        RefPtr&lt;NetworkInfo&gt; newNetworkInfo = NetworkInfo::create(bandwidth(), metered());
        NetworkInfoController::from(m_webPagePrivate-&gt;m_page)-&gt;didChangeNetworkInformation(eventNames().webkitnetworkinfochangeEvent , newNetworkInfo.get());
    }
}

Anyway, if you have doubts in this implementations, I&apos;m willing to wait for your consideration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787989</commentid>
    <comment_count>9</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-10 20:45:53 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 178495 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=178495&amp;action=review
&gt; 
&gt; R- based on Peter Beverloo&apos;s comments.
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebViewClient.h:372
&gt; &gt; +    virtual WebNetworkInfoClient* networkInfoClient() { return 0; }
&gt; 
&gt; WebKit API review notes: Network information is not a per-WebView property, so it
&gt; does not belong on WebViewClient.  There should instead be a Platform-level API
&gt; to query network information and to receive an event when network information
&gt; changes.

In EFL port, we placed concrete implementation to WebCore/platform/efl in order to share it with both WK1 and WK2. But, we keep an interface for metered() functionality because we wasn&apos;t convinced if all platforms can support metered(). In Mozilla and blackberry cases, they support metered() by checking if current network is cellular. I also supported metered() functionality for Tizen as mozilla and blackberry. Do you think all chromium ports(win, linux, android and so on) can support metered() in platform-level API ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788044</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-12-10 22:06:18 -0800</bug_when>
    <thetext>(In reply to comment #9)
...
&gt; In EFL port, we placed concrete implementation to WebCore/platform/efl in order to share it with both WK1 and WK2. But, we keep an interface for metered() functionality because we wasn&apos;t convinced if all platforms can support metered(). In Mozilla and blackberry cases, they support metered() by checking if current network is cellular. I also supported metered() functionality for Tizen as mozilla and blackberry. Do you think all chromium ports(win, linux, android and so on) can support metered() in platform-level API ?

I&apos;m sorry, I don&apos;t know what metered() means.  My comment is that network information does not seem to be WebView-dependent.  It seems to be a property that is global to the system, and it does not depend on any DOM constructs.  In the Chromium world, that implies that the method should live on the WebKit::Platform interface.  NOTE: That interface is implemented by Chromium via dependency injection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789133</commentid>
    <comment_count>11</comment_count>
      <attachid>178951</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-11 19:57:24 -0800</bug_when>
    <thetext>Created attachment 178951
Patch - Support network info change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789137</commentid>
    <comment_count>12</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-11 20:05:26 -0800</bug_when>
    <thetext>I add function to update network type change as battery status implementation. But, I still need to consider how to move this implementation to Platform layer. 

By the way, I doubt how was battery status implementation landed before. Because, IMHO, the battery status doesn&apos;t need to have webview dependency as well. I will check it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797752</commentid>
    <comment_count>13</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-27 21:37:01 -0800</bug_when>
    <thetext>Adam, do you think network information API should be moved to Platform layer ? I made this patch based on BatteryStatus API for chromium port (Bug 83284). Because, I&apos;m not sure that *metered* functionality can be supported by WebKit::Platform interface. If there is difference between battery status and network info, please let me know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798735</commentid>
    <comment_count>14</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-02 10:58:29 -0800</bug_when>
    <thetext>Given comment #6 I don&apos;t think it&apos;s worth using reviewer time on this patch at this time.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178393</attachid>
            <date>2012-12-08 20:43:35 -0800</date>
            <delta_ts>2012-12-09 23:16:26 -0800</delta_ts>
            <desc>Work-in-progress</desc>
            <filename>bug-104465-20121209134057.patch</filename>
            <type>text/plain</type>
            <size>17258</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk2NDY5OTFjYjdjMmEz
MTZhYjI2ZTAyZGIzOTIyYjI5NDNkMjJhMi4uZDJlNTcwN2IxYzIzMjVjOWNhMDNlMWNlNzMwZTUx
YzA3NDQ3MGQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEyLTA4ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0Nocm9taXVt
XSBTdXBwb3J0IGZvciBOZXR3b3JrIEluZm9ybWF0aW9uIEFQSQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NDY1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5ldHdvcmsgaW5mb3JtYXRpb24gZmls
ZXMgdG8gZ3lwLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyBu
ZXR3b3JrIGluZm9ybWF0aW9uIHRlc3QgY2FzZXMuCisKKyAgICAgICAgKiBNb2R1bGVzL25ldHdv
cmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViQ29yZS5neXAv
V2ViQ29yZS5neXA6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorCiAyMDEyLTEyLTA4ICBSYWtl
c2ggS04gIDxyYWtlc2hjaGFpdGFuQGdtYWlsLmNvbT4KIAogICAgICAgICBCdWlsZCBicmVhayBp
ZiBTVkcgaXMgZGlzYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMWU0OGE0YjI2
NzI0ZTY1OTU5ZmY4NTIzMWRjMTI4MGM1NmRiODdhNC4uOTQ1YTA4NzY0MWZjZGE2YzRlYTIzN2Jh
N2E3MGY1MmZiMTQ5ZTlhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
MyBAQAorMjAxMi0xMi0wOCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29t
PgorCisgICAgICAgIFtDaHJvbWl1bV0gU3VwcG9ydCBmb3IgTmV0d29yayBJbmZvcm1hdGlvbiBB
UEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDQ2
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5ldHdv
cmtJbmZvQ2xpZW50SW1wbCB3aWxsIHN1cHBvcnQgKmJhbmR3aWR0aCogYW5kICptZXRlcmVkKiBm
dW5jdGlvbmFsaXRpZXMKKyAgICAgICAgYWNjb3JkaW5nIHRvIGxhdGVzdCB0aGUgc3BlYyBjaGFu
Z2UuIFRoaXMgcGF0Y2ggc3VwcG9ydHMgYW4gaW50ZXJmYWNlIGZvciBlYWNoIGNocm9tZQorICAg
ICAgICBwb3J0LiBFYWNoIGNocm9tZSBwb3J0IHNob3VsZCBub3RpZnkgYmFuZHdpZHRoIGFuZCBt
ZXRlcmVkIGluZm9ybWF0aW9uIHRvIFdlYkNvcmUgc2lkZQorICAgICAgICBieSB1c2luZyB0aGlz
IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIFNwZWMgOiBodHRwOi8vd3d3LnczLm9yZy9UUi8y
MDEyL1dELW5ldGluZm8tYXBpLTIwMTIxMTI5LworCisgICAgICAgICogZmVhdHVyZXMuZ3lwaTog
RW5hYmxlIE5FVFdPUktfSU5GTyBtYWNyby4KKyAgICAgICAgKiBwdWJsaWMvV2ViTmV0d29ya0lu
Zm9DbGllbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViTmV0d29y
a0luZm9DbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJOZXR3b3JrSW5mb0NsaWVudDo6fldl
Yk5ldHdvcmtJbmZvQ2xpZW50KToKKyAgICAgICAgKiBwdWJsaWMvV2ViVmlld0NsaWVudC5oOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlZpZXdDbGllbnQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJWaWV3Q2xpZW50OjpuZXR3b3JrSW5mb0NsaWVudCk6CisgICAgICAgICogc3JjL05l
dHdvcmtJbmZvQ2xpZW50SW1wbC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0luZm9DbGllbnRJbXBsOjpOZXR3b3JrSW5mb0NsaWVudEltcGwp
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrSW5mb0NsaWVudEltcGw6On5OZXR3b3JrSW5mb0Ns
aWVudEltcGwpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrSW5mb0NsaWVudEltcGw6OnNldENv
bnRyb2xsZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrSW5mb0NsaWVudEltcGw6OnN0YXJ0
VXBkYXRpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrSW5mb0NsaWVudEltcGw6OnN0b3BV
cGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtJbmZvQ2xpZW50SW1wbDo6YmFuZHdp
ZHRoKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0luZm9DbGllbnRJbXBsOjptZXRlcmVkKToK
KyAgICAgICAgKiBzcmMvTmV0d29ya0luZm9DbGllbnRJbXBsLmg6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKE5ldHdvcmtJbmZvQ2xpZW50SW1wbCk6CisgICAgICAgICogc3Jj
L1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OldlYlZpZXdJ
bXBsKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdlYktpdCk6CisK
IDIwMTItMTItMDggIEdhdmluIFBldGVycyAgPGdhdmlucEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgQWRkIHN0YXR1cyBldmVudHMgb24gPGxpbmsgcmVsPXByZXJlbmRlcj4gZWxlbWVudHMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZv
Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25ldHdvcmtpbmZvL05ldHdv
cmtJbmZvQ29ubmVjdGlvbi5jcHAKaW5kZXggOWE0MjMxYzBhM2ZjZmM3M2E1ODk4NzUwZDEyNGQy
MjIzNWM0N2U2YS4uZTM5NTFlMzkxZTMwYzI1YjdhZTc1MGFlYTEyYjM5ZTE5YjMwNGM2ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0Nv
bm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmV0d29ya2luZm8vTmV0
d29ya0luZm9Db25uZWN0aW9uLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIk5ldHdv
cmtJbmZvQ29ubmVjdGlvbi5oIgogCiAjaWYgRU5BQkxFKE5FVFdPUktfSU5GTykKKyNpbmNsdWRl
ICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNp
bmNsdWRlICJOZXR3b3JrSW5mb0NsaWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cAppbmRleCA2ZGU4Zjc2Y2M3ZmZiY2I4Y2JmZTVkMTU2NjE5YmIxYjMyYjdhNzYxLi43
YzZlNmQ3ODVkNDRiNTdlOTA1MTNmN2MwOTA3NTQ5ZGQxMmExMzBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNjEsNiArNjEsNyBAQAogICAgICAgJy4uL01vZHVs
ZXMvbWVkaWFzb3VyY2UnLAogICAgICAgJy4uL01vZHVsZXMvbWVkaWFzdHJlYW0nLAogICAgICAg
Jy4uL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzJywKKyAgICAgICcuLi9Nb2R1bGVzL25l
dHdvcmtpbmZvJywKICAgICAgICcuLi9Nb2R1bGVzL25vdGlmaWNhdGlvbnMnLAogICAgICAgJy4u
L01vZHVsZXMvcXVvdGEnLAogICAgICAgJy4uL01vZHVsZXMvc3BlZWNoJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQppbmRleCBmNDU2MWJkNzNiNzUzOWQzM2Q0NjM3OWUzZmJlZWFjNDE2MmI2NjQ3Li4xYzBiNTQx
MDY1MzZmZGVkZjBmNDhjMjZmOTU1YjQyNjk1ZGQ5ZjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC04
OSw2ICs4OSw4IEBACiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1Jl
cG9ydC5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXNw
b25zZS5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05h
dmlnYXRvckNvbnRlbnRVdGlscy5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmV0d29ya2lu
Zm8vTmF2aWdhdG9yTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbCcsCisgICAgICAgICAgICAnTW9k
dWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsJywKICAgICAgICAgICAg
ICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsJywKICAgICAg
ICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCcsCkBA
IC04NTYsNiArODU4LDE1IEBACiAgICAgICAgICAgICAnTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50
dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmNwcCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9u
YXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmgnLAogICAgICAgICAg
ICAgJ01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudC5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL25ldHdvcmtpbmZvL05hdmlnYXRvck5ldHdv
cmtJbmZvQ29ubmVjdGlvbi5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmV0d29ya2luZm8v
TmF2aWdhdG9yTmV0d29ya0luZm9Db25uZWN0aW9uLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMv
bmV0d29ya2luZm8vTmV0d29ya0luZm8uY3BwJywKKyAgICAgICAgICAgICdNb2R1bGVzL25ldHdv
cmtpbmZvL05ldHdvcmtJbmZvLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmV0d29ya2luZm8v
TmV0d29ya0luZm9Db25uZWN0aW9uLmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3b3Jr
aW5mby9OZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3
b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwJywKKyAgICAgICAgICAgICdNb2R1bGVz
L25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29udHJvbGxlci5oJywKKyAgICAgICAgICAgICdNb2R1
bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ2xpZW50LmgnLAogICAgICAgICAgICAgJ01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaCcsCiAgICAg
ICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCmluZGV4IGQ4N2NjNmMzYjNhODQ1MmQ5Mzc0NmI3NjEz
YmI2OGJlZjRmMmYzN2UuLjhiNWZjMTg0MWViZDcwNDI2YjRlNmQ3ZjBjZWU4NmI1OTBlODI4NmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTkzLDYgKzkzLDcgQEAKICAg
ICAgICdFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFPTEnLAogICAgICAgJ0VOQUJMRV9NVVRBVElP
Tl9PQlNFUlZFUlM9PChlbmFibGVfbXV0YXRpb25fb2JzZXJ2ZXJzKScsCiAgICAgICAnRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTPTEnLAorICAgICAgJ0VOQUJMRV9ORVRXT1JLX0lORk89
MScsCiAgICAgICAnRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEk9MScsCiAgICAgICAnRU5BQkxF
X1BFUkZPUk1BTkNFX1RJTUVMSU5FPTEnLAogICAgICAgJ0VOQUJMRV9QT0lOVEVSX0xPQ0s9MScs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJOZXR3b3JrSW5m
b0NsaWVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTmV0d29ya0luZm9D
bGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44NTRlNGVhMjYxNTE2MGM4MTEyY2M4Y2MzNDQ5ZWMyOGRhZjU5
ZWU3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
TmV0d29ya0luZm9DbGllbnQuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQg
SVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBXZWJOZXR3b3JrSW5mb0NsaWVudF9oCisjZGVmaW5lIFdlYk5ldHdvcmtJbmZvQ2xpZW50
X2gKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYk5ldHdvcmtJbmZvQ2xpZW50IHsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5XZWJOZXR3b3JrSW5mb0NsaWVudCgpIHsgfQorCisgICAg
dmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0b3BV
cGRhdGluZygpID0gMDsKKworICAgIHZpcnR1YWwgZG91YmxlIGJhbmR3aWR0aCgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIGJvb2wgbWV0ZXJlZCgpIGNvbnN0ID0gMDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViTmV0d29ya0luZm9DbGllbnRfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCmluZGV4IGM2ZTE3NWRi
YWRlOWM1NWFlOTZlZDU4ZTQ3MjczODUyMGRkYTkyNzMuLjViNWYxMzZiOTc4OTA0YzFkMWVmNGZm
MDhmZGU1NzNiYzk5MzI0MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlZpZXdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJWaWV3Q2xpZW50LmgKQEAgLTcwLDYgKzcwLDcgQEAgY2xhc3MgV2ViSWNvbkxvYWRpbmdDb21w
bGV0aW9uOwogY2xhc3MgV2ViSW1hZ2U7CiBjbGFzcyBXZWJJbnB1dEVsZW1lbnQ7CiBjbGFzcyBX
ZWJLZXlib2FyZEV2ZW50OworY2xhc3MgV2ViTmV0d29ya0luZm9DbGllbnQ7CiBjbGFzcyBXZWJO
b2RlOwogY2xhc3MgV2ViTm90aWZpY2F0aW9uUHJlc2VudGVyOwogY2xhc3MgV2ViUmFuZ2U7CkBA
IC0zNjUsNiArMzY2LDExIEBAIHB1YmxpYzoKICAgICAvLyBBY2Nlc3MgdGhlIGVtYmVkZGVyIEFQ
SSBmb3IgYmF0dGVyeSBzdGF0dXMgc2VydmljZXMuCiAgICAgdmlydHVhbCBXZWJCYXR0ZXJ5U3Rh
dHVzQ2xpZW50KiBiYXR0ZXJ5U3RhdHVzQ2xpZW50KCkgeyByZXR1cm4gMDsgfQogCisgICAgLy8g
TmV0d29yayBJbmZvcm1hdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisKKyAgICAvLyBBY2Nlc3MgdGhlIGVtYmVkZGVyIEFQSSBmb3IgbmV0d29y
ayBpbmZvcm1hdGlvbiBzZXJ2aWNlcy4KKyAgICB2aXJ0dWFsIFdlYk5ldHdvcmtJbmZvQ2xpZW50
KiBuZXR3b3JrSW5mb0NsaWVudCgpIHsgcmV0dXJuIDA7IH0KKwogICAgIC8vIFpvb20gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogCiAgICAgLy8gSW5mb3JtcyB0aGUgYnJvd3NlciB0aGF0IHRoZSB6b29tIGxldmVscyBmb3Ig
dGhpcyBmcmFtZSBoYXZlIGNoYW5nZWQgZnJvbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvTmV0d29ya0luZm9DbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL05ldHdvcmtJbmZvQ2xpZW50SW1wbC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTU5NjE4NmRm
ZDllNDdjMWUwYjgxYWZmYjIxOTQ4NGE4MGE2ODNkNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL05ldHdvcmtJbmZvQ2xpZW50SW1wbC5jcHAKQEAgLTAsMCAr
MSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOZXR3b3JrSW5m
b0NsaWVudEltcGwuaCIKKworI2lmIEVOQUJMRShORVRXT1JLX0lORk8pCisKKyNpbmNsdWRlICJX
ZWJOZXR3b3JrSW5mb0NsaWVudC5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTmV0d29ya0lu
Zm9DbGllbnRJbXBsOjpOZXR3b3JrSW5mb0NsaWVudEltcGwoV2ViTmV0d29ya0luZm9DbGllbnQq
IGNsaWVudCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKKyAgICAsIG1fY29udHJvbGxlcigwKQor
eworfQorCitOZXR3b3JrSW5mb0NsaWVudEltcGw6On5OZXR3b3JrSW5mb0NsaWVudEltcGwoKQor
eworfQorCit2b2lkIE5ldHdvcmtJbmZvQ2xpZW50SW1wbDo6c2V0Q29udHJvbGxlcihXZWJDb3Jl
OjpOZXR3b3JrSW5mb0NvbnRyb2xsZXIqIGNvbnRyb2xsZXIpCit7CisgICAgbV9jb250cm9sbGVy
ID0gY29udHJvbGxlcjsKK30KKwordm9pZCBOZXR3b3JrSW5mb0NsaWVudEltcGw6OnN0YXJ0VXBk
YXRpbmcoKQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPnN0YXJ0VXBk
YXRpbmcoKTsKK30KKwordm9pZCBOZXR3b3JrSW5mb0NsaWVudEltcGw6OnN0b3BVcGRhdGluZygp
Cit7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+c3RvcFVwZGF0aW5nKCk7
Cit9CisKK2RvdWJsZSBOZXR3b3JrSW5mb0NsaWVudEltcGw6OmJhbmR3aWR0aCgpIGNvbnN0Cit7
CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+YmFuZHdpZHRoKCk7CisKKyAg
ICByZXR1cm4gMDsKK30KKworYm9vbCBOZXR3b3JrSW5mb0NsaWVudEltcGw6Om1ldGVyZWQoKSBj
b25zdAoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPm1ldGVyZWQoKTsK
KworICAgIHJldHVybiBmYWxzZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL05ldHdvcmtJbmZvQ2xp
ZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTmV0d29ya0luZm9DbGllbnRJ
bXBsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTJiNDYwODdlOWEyMGE1OTljMzI2MGRhNjhiOWJlZDc2NjBiNTkz
MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL05ldHdvcmtJ
bmZvQ2xpZW50SW1wbC5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5ldHdvcmtJ
bmZvQ2xpZW50SW1wbF9oCisjZGVmaW5lIE5ldHdvcmtJbmZvQ2xpZW50SW1wbF9oCisKKyNpZiBF
TkFCTEUoTkVUV09SS19JTkZPKQorCisjaW5jbHVkZSA8TmV0d29ya0luZm9DbGllbnQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBOZXR3b3JrSW5mb0NvbnRyb2xsZXI7IH0KKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYk5ldHdvcmtJbmZvQ2xpZW50OworCitjbGFzcyBO
ZXR3b3JrSW5mb0NsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6TmV0d29ya0luZm9DbGllbnQg
eworcHVibGljOgorICAgIE5ldHdvcmtJbmZvQ2xpZW50SW1wbChXZWJOZXR3b3JrSW5mb0NsaWVu
dCopOworICAgIH5OZXR3b3JrSW5mb0NsaWVudEltcGwoKTsKKworICAgIHZvaWQgc2V0Q29udHJv
bGxlcihXZWJDb3JlOjpOZXR3b3JrSW5mb0NvbnRyb2xsZXIqKTsKKworICAgIC8vIFdlYkNvcmU6
Ok5ldHdvcmtJbmZvQ2xpZW50IG1ldGhvZHM6IAorICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0
aW5nKCk7CisgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOworCisgICAgdmlydHVhbCBk
b3VibGUgYmFuZHdpZHRoKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIG1ldGVyZWQoKSBjb25z
dDsKKworcHJpdmF0ZToKKyAgICBXZWJOZXR3b3JrSW5mb0NsaWVudCogbV9jbGllbnQ7CisgICAg
V2ViQ29yZTo6TmV0d29ya0luZm9Db250cm9sbGVyKiBtX2NvbnRyb2xsZXI7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShORVRXT1JLX0lORk8pCisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IGM5
NzBjYmMzOGNkMzMxMTA1OTU5M2MxMGYyODg1YzEwZmE3MGFkMzAuLjEyY2IwMTA0MzljOTBkMzll
Y2Q2YTZkOGRhYzMxN2NhMDBhZDE2MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5jcHAKQEAgLTg0LDYgKzg0LDggQEAKICNpbmNsdWRlICJMYXllclBhaW50ZXJD
aHJvbWl1bS5oIgogI2luY2x1ZGUgIkxpbmtIaWdobGlnaHQuaCIKICNpbmNsdWRlICJNSU1FVHlw
ZVJlZ2lzdHJ5LmgiCisjaW5jbHVkZSAiTmV0d29ya0luZm9DbGllbnRJbXBsLmgiCisjaW5jbHVk
ZSAiTmV0d29ya0luZm9Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgi
CiAjaW5jbHVkZSAiTm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0LmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgpAQCAtNDM5LDYgKzQ0MSw5IEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xp
ZW50KiBjbGllbnQpCiAjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQogICAgICwgbV9iYXR0ZXJ5
Q2xpZW50KGFkb3B0UHRyKG5ldyBCYXR0ZXJ5Q2xpZW50SW1wbChjbGllbnQgPyBjbGllbnQtPmJh
dHRlcnlTdGF0dXNDbGllbnQoKSA6IDApKSkKICNlbmRpZgorI2lmIEVOQUJMRShORVRXT1JLX0lO
Rk8pCisgICAgLCBtX25ldHdvcmtJbmZvQ2xpZW50KGFkb3B0UHRyKG5ldyBOZXR3b3JrSW5mb0Ns
aWVudEltcGwoY2xpZW50ID8gY2xpZW50LT5uZXR3b3JrSW5mb0NsaWVudCgpIDogMCkpKQorI2Vu
ZGlmCiAgICAgLCBtX2VtdWxhdGVkVGV4dFpvb21GYWN0b3IoMSkKICNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQogICAgICwgbV91c2VyTWVkaWFDbGllbnRJbXBsKHRoaXMpCkBAIC00OTQsNiArNDk5
LDExIEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50KiBjbGllbnQpCiAg
ICAgbV9iYXR0ZXJ5Q2xpZW50LT5zZXRDb250cm9sbGVyKEJhdHRlcnlDb250cm9sbGVyOjpmcm9t
KG1fcGFnZS5nZXQoKSkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQorICAg
IHByb3ZpZGVOZXR3b3JrSW5mb1RvKG1fcGFnZS5nZXQoKSwgbV9uZXR3b3JrSW5mb0NsaWVudC5n
ZXQoKSk7CisgICAgbV9uZXR3b3JrSW5mb0NsaWVudC0+c2V0Q29udHJvbGxlcihOZXR3b3JrSW5m
b0NvbnRyb2xsZXI6OmZyb20obV9wYWdlLmdldCgpKSk7CisjZW5kaWYKKwogICAgIG1fcGFnZS0+
c2V0R3JvdXBOYW1lKHBhZ2VHcm91cE5hbWUpOwogCiAgICAgdW5zaWduZWQgbGF5b3V0TWlsZXN0
b25lcyA9IERpZEZpcnN0TGF5b3V0IHwgRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggODZmNTY5NDEwOWNj
NWE5YzViZjk0NTg4ZTIzNjFlMjViOWNmNGM4ZS4uZWU2ZjAxZjkwMjBlNGJiZjFiNTAwMTFiN2Ew
NDY1NzZjZTA3OWQ0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5o
CkBAIC05Myw2ICs5Myw3IEBAIGNsYXNzIERyYWdTY3JvbGxUaW1lcjsKIGNsYXNzIEdlb2xvY2F0
aW9uQ2xpZW50UHJveHk7CiBjbGFzcyBMaW5rSGlnaGxpZ2h0OwogY2xhc3MgTm9uQ29tcG9zaXRl
ZENvbnRlbnRIb3N0OworY2xhc3MgTmV0d29ya0luZm9DbGllbnRJbXBsOwogY2xhc3MgUHJlcmVu
ZGVyZXJDbGllbnRJbXBsOwogY2xhc3MgU3BlZWNoSW5wdXRDbGllbnRJbXBsOwogY2xhc3MgU3Bl
ZWNoUmVjb2duaXRpb25DbGllbnRQcm94eTsKQEAgLTg2Myw2ICs4NjQsMTAgQEAgcHJpdmF0ZToK
ICAgICBPd25QdHI8QmF0dGVyeUNsaWVudEltcGw+IG1fYmF0dGVyeUNsaWVudDsKICNlbmRpZgog
CisjaWYgRU5BQkxFKE5FVFdPUktfSU5GTykKKyAgICBPd25QdHI8TmV0d29ya0luZm9DbGllbnRJ
bXBsPiBtX25ldHdvcmtJbmZvQ2xpZW50OworI2VuZGlmCisKICAgICBmbG9hdCBtX2VtdWxhdGVk
VGV4dFpvb21GYWN0b3I7CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178480</attachid>
            <date>2012-12-09 23:16:33 -0800</date>
            <delta_ts>2012-12-10 02:19:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104465-20121210161354.patch</filename>
            <type>text/plain</type>
            <size>19323</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2QxMTM2M2FmY2Q3N2Ni
MjYwZTkwYjllMzA0Mjk0NTZhMGMwMjhiOC4uMWJjOWE5YjZjNmYzNmIwZjY2MzM0ODAzYzdkZDU0
MzdiMzkyYjc5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEyLTA5ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0Nocm9taXVt
XSBTdXBwb3J0IGZvciBOZXR3b3JrIEluZm9ybWF0aW9uIEFQSQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NDY1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5ldHdvcmsgaW5mb3JtYXRpb24gZmls
ZXMgdG8gZ3lwLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyBu
ZXR3b3JrIGluZm9ybWF0aW9uIHRlc3QgY2FzZXMuCisKKyAgICAgICAgKiBNb2R1bGVzL25ldHdv
cmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViQ29yZS5neXAv
V2ViQ29yZS5neXA6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorCiAyMDEyLTEyLTA5ICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBOYXRpdmUgTWVt
b3J5IEluc3RydW1lbnRhdGlvbjogaW5zdHJ1bWVudCBhIHBhcnQgb2YgUmVuZGVyT2JqZWN0IGNs
YXNzIHRyZWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDBiY2MyNGUwM2RmYTNkODY1
MDAyYWRiNWFjZjZhMjFmZWM5NGYwNmUuLmMyMTkyMDYxODgwY2I3ZTJlNjkyZTUzNjQzZDVjOTI4
OTRhZTEwYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIw
MTItMTItMDkgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAg
ICAgICBbQ2hyb21pdW1dIFN1cHBvcnQgZm9yIE5ldHdvcmsgSW5mb3JtYXRpb24gQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ0NjUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXR3b3JrSW5mb0Ns
aWVudEltcGwgd2lsbCBzdXBwb3J0ICpiYW5kd2lkdGgqIGFuZCAqbWV0ZXJlZCogZnVuY3Rpb25h
bGl0aWVzCisgICAgICAgIGFjY29yZGluZyB0byBsYXRlc3QgdGhlIHNwZWMgY2hhbmdlLiBUaGlz
IHBhdGNoIHN1cHBvcnRzIGludGVyZmFjZXMgZm9yIGVhY2ggY2hyb21lCisgICAgICAgIHBvcnQu
IEVhY2ggY2hyb21lIHBvcnQgc2hvdWxkIG5vdGlmeSBiYW5kd2lkdGggYW5kIG1ldGVyZWQgaW5m
b3JtYXRpb24gdG8gV2ViQ29yZSBzaWRlCisgICAgICAgIGJ5IHVzaW5nIHRoaXMgaW1wbGVtZW50
YXRpb24uCisKKyAgICAgICAgU3BlYyA6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTIvV0QtbmV0
aW5mby1hcGktMjAxMjExMjkvCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOiBFbmFibGUgTkVU
V09SS19JTkZPIG1hY3JvLgorICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogcHVibGlj
L1dlYk5ldHdvcmtJbmZvQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYk5ldHdvcmtJbmZvQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViTmV0d29ya0lu
Zm9DbGllbnQ6On5XZWJOZXR3b3JrSW5mb0NsaWVudCk6CisgICAgICAgICogcHVibGljL1dlYlZp
ZXdDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJWaWV3Q2xpZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6bmV0d29ya0luZm9DbGllbnQpOgorICAg
ICAgICAqIHNyYy9OZXR3b3JrSW5mb0NsaWVudEltcGwuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtJbmZvQ2xpZW50SW1wbDo6TmV0d29ya0lu
Zm9DbGllbnRJbXBsKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0luZm9DbGllbnRJbXBsOjp+
TmV0d29ya0luZm9DbGllbnRJbXBsKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0luZm9DbGll
bnRJbXBsOjpzZXRDb250cm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0luZm9DbGll
bnRJbXBsOjpzdGFydFVwZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0luZm9DbGll
bnRJbXBsOjpzdG9wVXBkYXRpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrSW5mb0NsaWVu
dEltcGw6OmJhbmR3aWR0aCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtJbmZvQ2xpZW50SW1w
bDo6bWV0ZXJlZCk6CisgICAgICAgICogc3JjL05ldHdvcmtJbmZvQ2xpZW50SW1wbC5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChOZXR3b3JrSW5mb0NsaWVudEltcGwpOgor
ICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJ
bXBsOjpXZWJWaWV3SW1wbCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAg
IChXZWJLaXQpOgorCiAyMDEyLTEyLTA5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90
QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM3MTAzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5m
b0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uZXR3b3JraW5mby9OZXR3
b3JrSW5mb0Nvbm5lY3Rpb24uY3BwCmluZGV4IDlhNDIzMWMwYTNmY2ZjNzNhNTg5ODc1MGQxMjRk
MjIyMzVjNDdlNmEuLmUzOTUxZTM5MWUzMGMyNWI3YWU3NTBhZWExMmIzOWUxOWIzMDRjNmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9D
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25ldHdvcmtpbmZvL05l
dHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJOZXR3
b3JrSW5mb0Nvbm5lY3Rpb24uaCIKIAogI2lmIEVOQUJMRShORVRXT1JLX0lORk8pCisjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiTmV0d29ya0luZm9DbGllbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAKaW5kZXggNmRlOGY3NmNjN2ZmYmNiOGNiZmU1ZDE1NjYxOWJiMWIzMmI3YTc2MS4u
N2M2ZTZkNzg1ZDQ0YjU3ZTkwNTEzZjdjMDkwNzU0OWRkMTJhMTMwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTYxLDYgKzYxLDcgQEAKICAgICAgICcuLi9Nb2R1
bGVzL21lZGlhc291cmNlJywKICAgICAgICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFtJywKICAgICAg
ICcuLi9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscycsCisgICAgICAnLi4vTW9kdWxlcy9u
ZXR3b3JraW5mbycsCiAgICAgICAnLi4vTW9kdWxlcy9ub3RpZmljYXRpb25zJywKICAgICAgICcu
Li9Nb2R1bGVzL3F1b3RhJywKICAgICAgICcuLi9Nb2R1bGVzL3NwZWVjaCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKaW5kZXggZjQ1NjFiZDczYjc1MzlkMzNkNDYzNzllM2ZiZWVhYzQxNjJiNjY0Ny4uNGZmZmQ5
MzVhZDIzMmRiNDBiYjMzZDU3ODM1YjQzZDM4YTIxNzA0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAt
ODksNiArODksOCBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNS
ZXBvcnQuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVz
cG9uc2UuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9O
YXZpZ2F0b3JDb250ZW50VXRpbHMuaWRsJywKKyAgICAgICAgICAgICdNb2R1bGVzL25ldHdvcmtp
bmZvL05hdmlnYXRvck5ldHdvcmtJbmZvQ29ubmVjdGlvbi5pZGwnLAorICAgICAgICAgICAgJ01v
ZHVsZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsJywKICAg
ICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCcsCiAgICAg
ICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwnLApA
QCAtODU2LDYgKzg1OCwxNSBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbmF2aWdhdG9yY29udGVu
dHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMv
bmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5oJywKICAgICAgICAg
ICAgICdNb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHND
bGllbnQuaCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3b3JraW5mby9OYXZpZ2F0b3JOZXR3
b3JrSW5mb0Nvbm5lY3Rpb24uY3BwJywKKyAgICAgICAgICAgICdNb2R1bGVzL25ldHdvcmtpbmZv
L05hdmlnYXRvck5ldHdvcmtJbmZvQ29ubmVjdGlvbi5oJywKKyAgICAgICAgICAgICdNb2R1bGVz
L25ldHdvcmtpbmZvL05ldHdvcmtJbmZvLmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3
b3JraW5mby9OZXR3b3JrSW5mby5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL25ldHdvcmtpbmZv
L05ldHdvcmtJbmZvQ2xpZW50LmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmV0d29ya2luZm8v
TmV0d29ya0luZm9Db25uZWN0aW9uLmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3b3Jr
aW5mby9OZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3
b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwJywKKyAgICAgICAgICAgICdNb2R1bGVz
L25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29udHJvbGxlci5oJywKICAgICAgICAgICAgICdNb2R1
bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAnLAogICAgICAgICAg
ICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmgnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwJywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCBmYzcwODJmZGU5NDYxMDMyZmNlMDE3NGVjYTY5NjJm
OTBmZWNkN2YyLi5kNDliNTU1MDhmZTM5ZDUzZThjMjNkYzJhZWMxYzEyZmJhMTg4MWMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC0yMDcsNiArMjA3LDcgQEAKICAgICAgICAgICAg
ICAgICAncHVibGljL1dlYk1lZGlhU3RyZWFtUmVnaXN0cnkuaCcsCiAgICAgICAgICAgICAgICAg
J3B1YmxpYy9XZWJNZW51SXRlbUluZm8uaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJO
YXZpZ2F0aW9uVHlwZS5oJywKKyAgICAgICAgICAgICAgICAncHVibGljL1dlYk5ldHdvcmtJbmZv
Q2xpZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViTmV0d29ya1N0YXRlTm90aWZp
ZXIuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJOb2RlLmgnLAogICAgICAgICAgICAg
ICAgICdwdWJsaWMvV2ViTm9kZUNvbGxlY3Rpb24uaCcsCkBAIC00MjksNiArNDMwLDggQEAKICAg
ICAgICAgICAgICAgICAnc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oJywKICAgICAg
ICAgICAgICAgICAnc3JjL0xpbmtIaWdobGlnaHQuY3BwJywKICAgICAgICAgICAgICAgICAnc3Jj
L0xpbmtIaWdobGlnaHQuaCcsCisgICAgICAgICAgICAgICAgJ3NyYy9OZXR3b3JrSW5mb0NsaWVu
dEltcGwuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL05ldHdvcmtJbmZvQ2xpZW50SW1wbC5o
JywKICAgICAgICAgICAgICAgICAnc3JjL05vbkNvbXBvc2l0ZWRDb250ZW50SG9zdC5jcHAnLAog
ICAgICAgICAgICAgICAgICdzcmMvTm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0LmgnLAogICAgICAg
ICAgICAgICAgICdzcmMvUHJlcmVuZGVyZXJDbGllbnRJbXBsLmgnLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9mZWF0dXJlcy5neXBpCmluZGV4IGQ4N2NjNmMzYjNhODQ1MmQ5Mzc0NmI3NjEzYmI2OGJlZjRm
MmYzN2UuLjhiNWZjMTg0MWViZDcwNDI2YjRlNmQ3ZjBjZWU4NmI1OTBlODI4NmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTkzLDYgKzkzLDcgQEAKICAgICAgICdFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFPTEnLAogICAgICAgJ0VOQUJMRV9NVVRBVElPTl9PQlNFUlZF
UlM9PChlbmFibGVfbXV0YXRpb25fb2JzZXJ2ZXJzKScsCiAgICAgICAnRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTPTEnLAorICAgICAgJ0VOQUJMRV9ORVRXT1JLX0lORk89MScsCiAgICAg
ICAnRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEk9MScsCiAgICAgICAnRU5BQkxFX1BFUkZPUk1B
TkNFX1RJTUVMSU5FPTEnLAogICAgICAgJ0VOQUJMRV9QT0lOVEVSX0xPQ0s9MScsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJOZXR3b3JrSW5mb0NsaWVudC5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTmV0d29ya0luZm9DbGllbnQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44NTRlNGVhMjYxNTE2MGM4MTEyY2M4Y2MzNDQ5ZWMyOGRhZjU5ZWU3Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTmV0d29ya0lu
Zm9DbGllbnQuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNh
bXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJO
ZXR3b3JrSW5mb0NsaWVudF9oCisjZGVmaW5lIFdlYk5ldHdvcmtJbmZvQ2xpZW50X2gKKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYk5ldHdvcmtJbmZvQ2xpZW50IHsKK3B1YmxpYzoK
KyAgICB2aXJ0dWFsIH5XZWJOZXR3b3JrSW5mb0NsaWVudCgpIHsgfQorCisgICAgdmlydHVhbCB2
b2lkIHN0YXJ0VXBkYXRpbmcoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygp
ID0gMDsKKworICAgIHZpcnR1YWwgZG91YmxlIGJhbmR3aWR0aCgpIGNvbnN0ID0gMDsKKyAgICB2
aXJ0dWFsIGJvb2wgbWV0ZXJlZCgpIGNvbnN0ID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gV2ViTmV0d29ya0luZm9DbGllbnRfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCmluZGV4IGM2ZTE3NWRiYWRlOWM1NWFl
OTZlZDU4ZTQ3MjczODUyMGRkYTkyNzMuLjViNWYxMzZiOTc4OTA0YzFkMWVmNGZmMDhmZGU1NzNi
Yzk5MzI0MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZp
ZXdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xp
ZW50LmgKQEAgLTcwLDYgKzcwLDcgQEAgY2xhc3MgV2ViSWNvbkxvYWRpbmdDb21wbGV0aW9uOwog
Y2xhc3MgV2ViSW1hZ2U7CiBjbGFzcyBXZWJJbnB1dEVsZW1lbnQ7CiBjbGFzcyBXZWJLZXlib2Fy
ZEV2ZW50OworY2xhc3MgV2ViTmV0d29ya0luZm9DbGllbnQ7CiBjbGFzcyBXZWJOb2RlOwogY2xh
c3MgV2ViTm90aWZpY2F0aW9uUHJlc2VudGVyOwogY2xhc3MgV2ViUmFuZ2U7CkBAIC0zNjUsNiAr
MzY2LDExIEBAIHB1YmxpYzoKICAgICAvLyBBY2Nlc3MgdGhlIGVtYmVkZGVyIEFQSSBmb3IgYmF0
dGVyeSBzdGF0dXMgc2VydmljZXMuCiAgICAgdmlydHVhbCBXZWJCYXR0ZXJ5U3RhdHVzQ2xpZW50
KiBiYXR0ZXJ5U3RhdHVzQ2xpZW50KCkgeyByZXR1cm4gMDsgfQogCisgICAgLy8gTmV0d29yayBJ
bmZvcm1hdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCisKKyAgICAvLyBBY2Nlc3MgdGhlIGVtYmVkZGVyIEFQSSBmb3IgbmV0d29yayBpbmZvcm1h
dGlvbiBzZXJ2aWNlcy4KKyAgICB2aXJ0dWFsIFdlYk5ldHdvcmtJbmZvQ2xpZW50KiBuZXR3b3Jr
SW5mb0NsaWVudCgpIHsgcmV0dXJuIDA7IH0KKwogICAgIC8vIFpvb20gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAg
Ly8gSW5mb3JtcyB0aGUgYnJvd3NlciB0aGF0IHRoZSB6b29tIGxldmVscyBmb3IgdGhpcyBmcmFt
ZSBoYXZlIGNoYW5nZWQgZnJvbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvTmV0d29ya0luZm9DbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L05ldHdvcmtJbmZvQ2xpZW50SW1wbC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmZlYThkM2YyYjZjNWQ4NjY1
ZjlhMDViOGMxOGNkZTkwMTRkM2RjNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL05ldHdvcmtJbmZvQ2xpZW50SW1wbC5jcHAKQEAgLTAsMCArMSw3OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOZXR3b3JrSW5mb0NsaWVudElt
cGwuaCIKKworI2lmIEVOQUJMRShORVRXT1JLX0lORk8pCisKKyNpbmNsdWRlICJXZWJOZXR3b3Jr
SW5mb0NsaWVudC5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTmV0d29ya0luZm9DbGllbnRJ
bXBsOjpOZXR3b3JrSW5mb0NsaWVudEltcGwoV2ViTmV0d29ya0luZm9DbGllbnQqIGNsaWVudCkK
KyAgICA6IG1fY2xpZW50KGNsaWVudCkKK3sKK30KKworTmV0d29ya0luZm9DbGllbnRJbXBsOjp+
TmV0d29ya0luZm9DbGllbnRJbXBsKCkKK3sKK30KKwordm9pZCBOZXR3b3JrSW5mb0NsaWVudElt
cGw6OnN0YXJ0VXBkYXRpbmcoKQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGll
bnQtPnN0YXJ0VXBkYXRpbmcoKTsKK30KKwordm9pZCBOZXR3b3JrSW5mb0NsaWVudEltcGw6OnN0
b3BVcGRhdGluZygpCit7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+c3Rv
cFVwZGF0aW5nKCk7Cit9CisKK2RvdWJsZSBOZXR3b3JrSW5mb0NsaWVudEltcGw6OmJhbmR3aWR0
aCgpIGNvbnN0Cit7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+YmFuZHdp
ZHRoKCk7CisKKyAgICByZXR1cm4gMDsKK30KKworYm9vbCBOZXR3b3JrSW5mb0NsaWVudEltcGw6
Om1ldGVyZWQoKSBjb25zdAoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQt
Pm1ldGVyZWQoKTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL05l
dHdvcmtJbmZvQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTmV0d29y
a0luZm9DbGllbnRJbXBsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzA3NzliMTI0YWJhNWUzMjgyMTg1YTJkMzFj
OWFkNWMzZDNhOTg2NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL05ldHdvcmtJbmZvQ2xpZW50SW1wbC5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIE5ldHdvcmtJbmZvQ2xpZW50SW1wbF9oCisjZGVmaW5lIE5ldHdvcmtJbmZvQ2xpZW50SW1w
bF9oCisKKyNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQorCisjaW5jbHVkZSA8TmV0d29ya0luZm9D
bGllbnQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBOZXR3b3JrSW5mb0NvbnRyb2xs
ZXI7IH0KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYk5ldHdvcmtJbmZvQ2xpZW50
OworCitjbGFzcyBOZXR3b3JrSW5mb0NsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6TmV0d29y
a0luZm9DbGllbnQgeworcHVibGljOgorICAgIGV4cGxpY2l0IE5ldHdvcmtJbmZvQ2xpZW50SW1w
bChXZWJOZXR3b3JrSW5mb0NsaWVudCopOworICAgIH5OZXR3b3JrSW5mb0NsaWVudEltcGwoKTsK
KworICAgIC8vIFdlYkNvcmU6Ok5ldHdvcmtJbmZvQ2xpZW50IG1ldGhvZHM6IAorICAgIHZpcnR1
YWwgdm9pZCBzdGFydFVwZGF0aW5nKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHN0b3BV
cGRhdGluZygpIE9WRVJSSURFOworCisgICAgdmlydHVhbCBkb3VibGUgYmFuZHdpZHRoKCkgY29u
c3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIG1ldGVyZWQoKSBjb25zdCBPVkVSUklERTsK
KworcHJpdmF0ZToKKyAgICBXZWJOZXR3b3JrSW5mb0NsaWVudCogbV9jbGllbnQ7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShORVRXT1JLX0lORk8pCisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4
IGM5NzBjYmMzOGNkMzMxMTA1OTU5M2MxMGYyODg1YzEwZmE3MGFkMzAuLjQ5ODI4NWM4NjYyODNl
NzYyNmI1MjZhM2Q2NTQwYTNmN2RhYjE0N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHAKQEAgLTg0LDYgKzg0LDggQEAKICNpbmNsdWRlICJMYXllclBhaW50
ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIkxpbmtIaWdobGlnaHQuaCIKICNpbmNsdWRlICJNSU1F
VHlwZVJlZ2lzdHJ5LmgiCisjaW5jbHVkZSAiTmV0d29ya0luZm9DbGllbnRJbXBsLmgiCisjaW5j
bHVkZSAiTmV0d29ya0luZm9Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxl
LmgiCiAjaW5jbHVkZSAiTm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0LmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgpAQCAtNDM5LDYgKzQ0MSw5IEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3
Q2xpZW50KiBjbGllbnQpCiAjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQogICAgICwgbV9iYXR0
ZXJ5Q2xpZW50KGFkb3B0UHRyKG5ldyBCYXR0ZXJ5Q2xpZW50SW1wbChjbGllbnQgPyBjbGllbnQt
PmJhdHRlcnlTdGF0dXNDbGllbnQoKSA6IDApKSkKICNlbmRpZgorI2lmIEVOQUJMRShORVRXT1JL
X0lORk8pCisgICAgLCBtX25ldHdvcmtJbmZvQ2xpZW50KGFkb3B0UHRyKG5ldyBOZXR3b3JrSW5m
b0NsaWVudEltcGwoY2xpZW50ID8gY2xpZW50LT5uZXR3b3JrSW5mb0NsaWVudCgpIDogMCkpKQor
I2VuZGlmCiAgICAgLCBtX2VtdWxhdGVkVGV4dFpvb21GYWN0b3IoMSkKICNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogICAgICwgbV91c2VyTWVkaWFDbGllbnRJbXBsKHRoaXMpCkBAIC00OTQsNiAr
NDk5LDEwIEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50KiBjbGllbnQp
CiAgICAgbV9iYXR0ZXJ5Q2xpZW50LT5zZXRDb250cm9sbGVyKEJhdHRlcnlDb250cm9sbGVyOjpm
cm9tKG1fcGFnZS5nZXQoKSkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQor
ICAgIHByb3ZpZGVOZXR3b3JrSW5mb1RvKG1fcGFnZS5nZXQoKSwgbV9uZXR3b3JrSW5mb0NsaWVu
dC5nZXQoKSk7CisjZW5kaWYKKwogICAgIG1fcGFnZS0+c2V0R3JvdXBOYW1lKHBhZ2VHcm91cE5h
bWUpOwogCiAgICAgdW5zaWduZWQgbGF5b3V0TWlsZXN0b25lcyA9IERpZEZpcnN0TGF5b3V0IHwg
RGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmgKaW5kZXggODZmNTY5NDEwOWNjNWE5YzViZjk0NTg4ZTIzNjFlMjViOWNm
NGM4ZS4uYTY3NjMzODU0MzA2MDlkODI4N2YyMTQ5MmFkNGMxNjhiMWEwNGY2ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC05Miw2ICs5Miw3IEBAIGNsYXNz
IERldmljZU9yaWVudGF0aW9uQ2xpZW50UHJveHk7CiBjbGFzcyBEcmFnU2Nyb2xsVGltZXI7CiBj
bGFzcyBHZW9sb2NhdGlvbkNsaWVudFByb3h5OwogY2xhc3MgTGlua0hpZ2hsaWdodDsKK2NsYXNz
IE5ldHdvcmtJbmZvQ2xpZW50SW1wbDsKIGNsYXNzIE5vbkNvbXBvc2l0ZWRDb250ZW50SG9zdDsK
IGNsYXNzIFByZXJlbmRlcmVyQ2xpZW50SW1wbDsKIGNsYXNzIFNwZWVjaElucHV0Q2xpZW50SW1w
bDsKQEAgLTg2Miw2ICs4NjMsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShCQVRURVJZX1NUQVRV
UykKICAgICBPd25QdHI8QmF0dGVyeUNsaWVudEltcGw+IG1fYmF0dGVyeUNsaWVudDsKICNlbmRp
ZgorI2lmIEVOQUJMRShORVRXT1JLX0lORk8pCisgICAgT3duUHRyPE5ldHdvcmtJbmZvQ2xpZW50
SW1wbD4gbV9uZXR3b3JrSW5mb0NsaWVudDsKKyNlbmRpZgogCiAgICAgZmxvYXQgbV9lbXVsYXRl
ZFRleHRab29tRmFjdG9yOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWVjYzdkODlkNWQwNTAwOTE4NTlkOTFkODcxMjQx
NWFhNjFlNTI2Mi4uYmQ3MzdhNTdiMDNkNjVlY2JlMzkxYWZjNjg2Y2NlZDg4MzcwOGI0YyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTEyLTA5ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5r
aW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0Nocm9taXVtXSBTdXBwb3J0IGZvciBOZXR3b3Jr
IEluZm9ybWF0aW9uIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA0NDY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBVbnNraXAgbmV0
d29ya2luZm9ybWF0aW9uLgorCiAyMDEyLTEyLTA5ICBIdWFuZyBEb25nc3VuZyAgPGx1eHRlbGxh
QGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFtRdF0gR2FyZGVuaW5nIGFmdGVyIHIxMzcwMDYu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCAxODM1ZGY1ZGVkMmM4M2M2MjNmYjNmMDZlYjU3MzRkNmI3MGEwOWZmLi5lMTlmNmVhYTAxYTdl
MmU3YWE1ZmUyM2Q5MTg2MzhlODAwY2ExNWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE5MSw5ICsxOTEsNiBAQCB3ZWJraXQub3Jn
L2IvNzIwMTAgZmFzdC9kb20vbmF2aWdhdG9yLXZpYnJhdGlvbi5odG1sCiAjIEJhdHRlcnkgU3Rh
dHVzIEFQSSBpcyBub3Qgc3VwcG9ydGVkIHlldCBpbiB0aGUgY2hyb21pdW0gcG9ydC4KIHdlYmtp
dC5vcmcvYi82MjY5OCBiYXR0ZXJ5c3RhdHVzCiAKLSMgTmV0d29yayBJbmZvcm1hdGlvbiBBUEkg
aXMgbm90IHN1cHBvcnRlZCB5ZXQgaW4gdGhlIGNocm9taXVtIHBvcnQuCi13ZWJraXQub3JnL2Iv
NzM1MjggbmV0d29ya2luZm9ybWF0aW9uCi0KICMgVGhlIGludGVudCB0YWcgaXMgbm90IHlldCBl
bmFibGVkLgogd2Via2l0Lm9yZy9iLzc1MTIzIHdlYmludGVudHMvaW50ZW50LXRhZy5odG1sCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178495</attachid>
            <date>2012-12-10 02:19:25 -0800</date>
            <delta_ts>2012-12-11 19:57:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104465-20121210191646.patch</filename>
            <type>text/plain</type>
            <size>20552</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmU4NGRkMTIwNzk0ZDU4
MjY2Yjk3YTZlZDNiOGFmYWQyM2I5NzAwYS4uODQ3ZDBhNjcwZWEwZjU3ZmMyMGQ0MWZmZGQ2NGFh
MjBkZWI2ODlhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEyLTEwICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0Nocm9taXVt
XSBTdXBwb3J0IGZvciBOZXR3b3JrIEluZm9ybWF0aW9uIEFQSQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NDY1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5ldHdvcmsgaW5mb3JtYXRpb24gZmls
ZXMgdG8gZ3lwLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyBu
ZXR3b3JrIGluZm9ybWF0aW9uIHRlc3QgY2FzZXMuCisKKyAgICAgICAgKiBNb2R1bGVzL25ldHdv
cmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViQ29yZS5neXAv
V2ViQ29yZS5neXA6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorCiAyMDEyLTEyLTEwICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGNvbnNvbGUgYnJva2VuPyAtIGNvbnNvbGUuZGlyeG1sIGJlaGF2ZXMgbGlrZSBjb25zb2xl
LmxvZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwYmNjMjRlMDNkZmEzZDg2NTAwMmFk
YjVhY2Y2YTIxZmVjOTRmMDZlLi4wMzAxOTY1MDA3NmIwZDZkNDZmODFlMTdiODUxNTU2YzM0ODFj
OWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTEy
LTEwICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0Nocm9taXVtXSBTdXBwb3J0IGZvciBOZXR3b3JrIEluZm9ybWF0aW9uIEFQSQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NDY1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV0d29ya0luZm9DbGllbnRJ
bXBsIHdpbGwgc3VwcG9ydCAqYmFuZHdpZHRoKiBhbmQgKm1ldGVyZWQqIGZ1bmN0aW9uYWxpdGll
cworICAgICAgICBhY2NvcmRpbmcgdG8gbGF0ZXN0IHRoZSBzcGVjIGNoYW5nZS4gVGhpcyBwYXRj
aCBzdXBwb3J0cyBpbnRlcmZhY2VzIGZvciBlYWNoIGNocm9tZQorICAgICAgICBwb3J0LiBFYWNo
IGNocm9tZSBwb3J0IHNob3VsZCBub3RpZnkgYmFuZHdpZHRoIGFuZCBtZXRlcmVkIGluZm9ybWF0
aW9uIHRvIFdlYkNvcmUgc2lkZQorICAgICAgICBieSB1c2luZyB0aGlzIGltcGxlbWVudGF0aW9u
LgorCisgICAgICAgIFNwZWMgOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dELW5ldGluZm8t
YXBpLTIwMTIxMTI5LworCisgICAgICAgICogZmVhdHVyZXMuZ3lwaTogRW5hYmxlIE5FVFdPUktf
SU5GTyBtYWNyby4KKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAqIHB1YmxpYy9XZWJO
ZXR3b3JrSW5mb0NsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChX
ZWJOZXR3b3JrSW5mb0NsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYk5ldHdvcmtJbmZvQ2xp
ZW50Ojp+V2ViTmV0d29ya0luZm9DbGllbnQpOgorICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Q2xp
ZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViVmlld0NsaWVudCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6Om5ldHdvcmtJbmZvQ2xpZW50KToKKyAgICAgICAg
KiBzcmMvTmV0d29ya0luZm9DbGllbnRJbXBsLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrSW5mb0NsaWVudEltcGw6Ok5ldHdvcmtJbmZvQ2xp
ZW50SW1wbCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtJbmZvQ2xpZW50SW1wbDo6fk5ldHdv
cmtJbmZvQ2xpZW50SW1wbCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtJbmZvQ2xpZW50SW1w
bDo6c2V0Q29udHJvbGxlcik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtJbmZvQ2xpZW50SW1w
bDo6c3RhcnRVcGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtJbmZvQ2xpZW50SW1w
bDo6c3RvcFVwZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0luZm9DbGllbnRJbXBs
OjpiYW5kd2lkdGgpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrSW5mb0NsaWVudEltcGw6Om1l
dGVyZWQpOgorICAgICAgICAqIHNyYy9OZXR3b3JrSW5mb0NsaWVudEltcGwuaDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAoTmV0d29ya0luZm9DbGllbnRJbXBsKToKKyAgICAg
ICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
V2ViVmlld0ltcGwpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorICAgICAgICAoV2Vi
S2l0KToKKwogMjAxMi0xMi0wOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFp
bC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNzEwMy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25u
ZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmV0d29ya2luZm8vTmV0d29ya0lu
Zm9Db25uZWN0aW9uLmNwcAppbmRleCA5YTQyMzFjMGEzZmNmYzczYTU4OTg3NTBkMTI0ZDIyMjM1
YzQ3ZTZhLi5lMzk1MWUzOTFlMzBjMjViN2FlNzUwYWVhMTJiMzllMTliMzA0YzZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVj
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3Jr
SW5mb0Nvbm5lY3Rpb24uY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiTmV0d29ya0lu
Zm9Db25uZWN0aW9uLmgiCiAKICNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQorI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1
ZGUgIk5ldHdvcmtJbmZvQ2xpZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwCmluZGV4IDZkZThmNzZjYzdmZmJjYjhjYmZlNWQxNTY2MTliYjFiMzJiN2E3NjEuLjdjNmU2
ZDc4NWQ0NGI1N2U5MDUxM2Y3YzA5MDc1NDlkZDEyYTEzMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC02MSw2ICs2MSw3IEBACiAgICAgICAnLi4vTW9kdWxlcy9t
ZWRpYXNvdXJjZScsCiAgICAgICAnLi4vTW9kdWxlcy9tZWRpYXN0cmVhbScsCiAgICAgICAnLi4v
TW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMnLAorICAgICAgJy4uL01vZHVsZXMvbmV0d29y
a2luZm8nLAogICAgICAgJy4uL01vZHVsZXMvbm90aWZpY2F0aW9ucycsCiAgICAgICAnLi4vTW9k
dWxlcy9xdW90YScsCiAgICAgICAnLi4vTW9kdWxlcy9zcGVlY2gnLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmlu
ZGV4IGY0NTYxYmQ3M2I3NTM5ZDMzZDQ2Mzc5ZTNmYmVlYWM0MTYyYjY2NDcuLjRmZmZkOTM1YWQy
MzJkYjQwYmIzM2Q1NzgzNWI0M2QzOGEyMTcwNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTg5LDYg
Kzg5LDggQEAKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0
LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1Jlc3BvbnNl
LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdh
dG9yQ29udGVudFV0aWxzLmlkbCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3b3JraW5mby9O
YXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsJywKKyAgICAgICAgICAgICdNb2R1bGVz
L25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5pZGwnLAogICAgICAgICAgICAgJ01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmlkbCcsCiAgICAgICAg
ICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwnLAogICAgICAgICAg
ICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsJywKQEAgLTg1
Niw2ICs4NTgsMTUgQEAKICAgICAgICAgICAgICdNb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGls
cy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL25hdmln
YXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuaCcsCiAgICAgICAgICAgICAn
TW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50
LmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmV0d29ya2luZm8vTmF2aWdhdG9yTmV0d29ya0lu
Zm9Db25uZWN0aW9uLmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3b3JraW5mby9OYXZp
Z2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3
b3JraW5mby9OZXR3b3JrSW5mby5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmV0d29ya2lu
Zm8vTmV0d29ya0luZm8uaCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3b3JraW5mby9OZXR3
b3JrSW5mb0NsaWVudC5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdv
cmtJbmZvQ29ubmVjdGlvbi5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmV0d29ya2luZm8v
TmV0d29ya0luZm9Db25uZWN0aW9uLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmV0d29ya2lu
Zm8vTmV0d29ya0luZm9Db250cm9sbGVyLmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3
b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9u
b3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwJywKICAgICAgICAgICAgICdN
b2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oJywKICAgICAgICAg
ICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXAKaW5kZXggZmM3MDgyZmRlOTQ2MTAzMmZjZTAxNzRlY2E2OTYyZjkwZmVj
ZDdmMi4uZDQ5YjU1NTA4ZmUzOWQ1M2U4YzIzZGMyYWVjMWMxMmZiYTE4ODFjMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtMjA3LDYgKzIwNyw3IEBACiAgICAgICAgICAgICAgICAg
J3B1YmxpYy9XZWJNZWRpYVN0cmVhbVJlZ2lzdHJ5LmgnLAogICAgICAgICAgICAgICAgICdwdWJs
aWMvV2ViTWVudUl0ZW1JbmZvLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViTmF2aWdh
dGlvblR5cGUuaCcsCisgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJOZXR3b3JrSW5mb0NsaWVu
dC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYk5ldHdvcmtTdGF0ZU5vdGlmaWVyLmgn
LAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViTm9kZS5oJywKICAgICAgICAgICAgICAgICAn
cHVibGljL1dlYk5vZGVDb2xsZWN0aW9uLmgnLApAQCAtNDI5LDYgKzQzMCw4IEBACiAgICAgICAg
ICAgICAgICAgJ3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaCcsCiAgICAgICAgICAg
ICAgICAgJ3NyYy9MaW5rSGlnaGxpZ2h0LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9MaW5r
SGlnaGxpZ2h0LmgnLAorICAgICAgICAgICAgICAgICdzcmMvTmV0d29ya0luZm9DbGllbnRJbXBs
LmNwcCcsCisgICAgICAgICAgICAgICAgJ3NyYy9OZXR3b3JrSW5mb0NsaWVudEltcGwuaCcsCiAg
ICAgICAgICAgICAgICAgJ3NyYy9Ob25Db21wb3NpdGVkQ29udGVudEhvc3QuY3BwJywKICAgICAg
ICAgICAgICAgICAnc3JjL05vbkNvbXBvc2l0ZWRDb250ZW50SG9zdC5oJywKICAgICAgICAgICAg
ICAgICAnc3JjL1ByZXJlbmRlcmVyQ2xpZW50SW1wbC5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVh
dHVyZXMuZ3lwaQppbmRleCBkODdjYzZjM2IzYTg0NTJkOTM3NDZiNzYxM2JiNjhiZWY0ZjJmMzdl
Li44YjVmYzE4NDFlYmQ3MDQyNmI0ZTZkN2YwY2VlODZiNTkwZTgyODZlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC05Myw2ICs5Myw3IEBACiAgICAgICAnRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRT0xJywKICAgICAgICdFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTPTwo
ZW5hYmxlX211dGF0aW9uX29ic2VydmVycyknLAogICAgICAgJ0VOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUz0xJywKKyAgICAgICdFTkFCTEVfTkVUV09SS19JTkZPPTEnLAogICAgICAgJ0VO
QUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJPTEnLAogICAgICAgJ0VOQUJMRV9QRVJGT1JNQU5DRV9U
SU1FTElORT0xJywKICAgICAgICdFTkFCTEVfUE9JTlRFUl9MT0NLPTEnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTmV0d29ya0luZm9DbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5ldHdvcmtJbmZvQ2xpZW50LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODU0ZTRlYTI2MTUxNjBjODExMmNjOGNjMzQ0OWVjMjhkYWY1OWVlNwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5ldHdvcmtJbmZvQ2xp
ZW50LmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5n
IEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViTmV0d29y
a0luZm9DbGllbnRfaAorI2RlZmluZSBXZWJOZXR3b3JrSW5mb0NsaWVudF9oCisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitjbGFzcyBXZWJOZXR3b3JrSW5mb0NsaWVudCB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+V2ViTmV0d29ya0luZm9DbGllbnQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBz
dGFydFVwZGF0aW5nKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKSA9IDA7
CisKKyAgICB2aXJ0dWFsIGRvdWJsZSBiYW5kd2lkdGgoKSBjb25zdCA9IDA7CisgICAgdmlydHVh
bCBib29sIG1ldGVyZWQoKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
KworI2VuZGlmIC8vIFdlYk5ldHdvcmtJbmZvQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAppbmRleCBjNmUxNzVkYmFkZTljNTVhZTk2ZWQ1
OGU0NzI3Mzg1MjBkZGE5MjczLi41YjVmMTM2Yjk3ODkwNGMxZDFlZjRmZjA4ZmRlNTczYmM5OTMy
NDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5o
CkBAIC03MCw2ICs3MCw3IEBAIGNsYXNzIFdlYkljb25Mb2FkaW5nQ29tcGxldGlvbjsKIGNsYXNz
IFdlYkltYWdlOwogY2xhc3MgV2ViSW5wdXRFbGVtZW50OwogY2xhc3MgV2ViS2V5Ym9hcmRFdmVu
dDsKK2NsYXNzIFdlYk5ldHdvcmtJbmZvQ2xpZW50OwogY2xhc3MgV2ViTm9kZTsKIGNsYXNzIFdl
Yk5vdGlmaWNhdGlvblByZXNlbnRlcjsKIGNsYXNzIFdlYlJhbmdlOwpAQCAtMzY1LDYgKzM2Niwx
MSBAQCBwdWJsaWM6CiAgICAgLy8gQWNjZXNzIHRoZSBlbWJlZGRlciBBUEkgZm9yIGJhdHRlcnkg
c3RhdHVzIHNlcnZpY2VzLgogICAgIHZpcnR1YWwgV2ViQmF0dGVyeVN0YXR1c0NsaWVudCogYmF0
dGVyeVN0YXR1c0NsaWVudCgpIHsgcmV0dXJuIDA7IH0KIAorICAgIC8vIE5ldHdvcmsgSW5mb3Jt
YXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
CisgICAgLy8gQWNjZXNzIHRoZSBlbWJlZGRlciBBUEkgZm9yIG5ldHdvcmsgaW5mb3JtYXRpb24g
c2VydmljZXMuCisgICAgdmlydHVhbCBXZWJOZXR3b3JrSW5mb0NsaWVudCogbmV0d29ya0luZm9D
bGllbnQoKSB7IHJldHVybiAwOyB9CisKICAgICAvLyBab29tIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIElu
Zm9ybXMgdGhlIGJyb3dzZXIgdGhhdCB0aGUgem9vbSBsZXZlbHMgZm9yIHRoaXMgZnJhbWUgaGF2
ZSBjaGFuZ2VkIGZyb20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL05l
dHdvcmtJbmZvQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9OZXR3
b3JrSW5mb0NsaWVudEltcGwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmZWE4ZDNmMmI2YzVkODY2NWY5YTA1
YjhjMThjZGU5MDE0ZDNkYzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9OZXR3b3JrSW5mb0NsaWVudEltcGwuY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmV0d29ya0luZm9DbGllbnRJbXBsLmgi
CisKKyNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQorCisjaW5jbHVkZSAiV2ViTmV0d29ya0luZm9D
bGllbnQuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK05ldHdvcmtJbmZvQ2xpZW50SW1wbDo6
TmV0d29ya0luZm9DbGllbnRJbXBsKFdlYk5ldHdvcmtJbmZvQ2xpZW50KiBjbGllbnQpCisgICAg
OiBtX2NsaWVudChjbGllbnQpCit7Cit9CisKK05ldHdvcmtJbmZvQ2xpZW50SW1wbDo6fk5ldHdv
cmtJbmZvQ2xpZW50SW1wbCgpCit7Cit9CisKK3ZvaWQgTmV0d29ya0luZm9DbGllbnRJbXBsOjpz
dGFydFVwZGF0aW5nKCkKK3sKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5z
dGFydFVwZGF0aW5nKCk7Cit9CisKK3ZvaWQgTmV0d29ya0luZm9DbGllbnRJbXBsOjpzdG9wVXBk
YXRpbmcoKQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPnN0b3BVcGRh
dGluZygpOworfQorCitkb3VibGUgTmV0d29ya0luZm9DbGllbnRJbXBsOjpiYW5kd2lkdGgoKSBj
b25zdAoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPmJhbmR3aWR0aCgp
OworCisgICAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgTmV0d29ya0luZm9DbGllbnRJbXBsOjptZXRl
cmVkKCkgY29uc3QKK3sKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5tZXRl
cmVkKCk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9OZXR3b3Jr
SW5mb0NsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL05ldHdvcmtJbmZv
Q2xpZW50SW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwNzc5YjEyNGFiYTVlMzI4MjE4NWEyZDMxYzlhZDVj
M2QzYTk4NjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9O
ZXR3b3JrSW5mb0NsaWVudEltcGwuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBO
ZXR3b3JrSW5mb0NsaWVudEltcGxfaAorI2RlZmluZSBOZXR3b3JrSW5mb0NsaWVudEltcGxfaAor
CisjaWYgRU5BQkxFKE5FVFdPUktfSU5GTykKKworI2luY2x1ZGUgPE5ldHdvcmtJbmZvQ2xpZW50
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsgY2xhc3MgTmV0d29ya0luZm9Db250cm9sbGVyOyB9
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJOZXR3b3JrSW5mb0NsaWVudDsKKwor
Y2xhc3MgTmV0d29ya0luZm9DbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6Ok5ldHdvcmtJbmZv
Q2xpZW50IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBOZXR3b3JrSW5mb0NsaWVudEltcGwoV2Vi
TmV0d29ya0luZm9DbGllbnQqKTsKKyAgICB+TmV0d29ya0luZm9DbGllbnRJbXBsKCk7CisKKyAg
ICAvLyBXZWJDb3JlOjpOZXR3b3JrSW5mb0NsaWVudCBtZXRob2RzOiAKKyAgICB2aXJ0dWFsIHZv
aWQgc3RhcnRVcGRhdGluZygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRp
bmcoKSBPVkVSUklERTsKKworICAgIHZpcnR1YWwgZG91YmxlIGJhbmR3aWR0aCgpIGNvbnN0IE9W
RVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBtZXRlcmVkKCkgY29uc3QgT1ZFUlJJREU7CisKK3By
aXZhdGU6CisgICAgV2ViTmV0d29ya0luZm9DbGllbnQqIG1fY2xpZW50OworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoTkVUV09SS19JTkZPKQorCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCBjOTcw
Y2JjMzhjZDMzMTEwNTk1OTNjMTBmMjg4NWMxMGZhNzBhZDMwLi40OTgyODVjODY2MjgzZTc2MjZi
NTI2YTNkNjU0MGEzZjdkYWIxNDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuY3BwCkBAIC04NCw2ICs4NCw4IEBACiAjaW5jbHVkZSAiTGF5ZXJQYWludGVyQ2hy
b21pdW0uaCIKICNpbmNsdWRlICJMaW5rSGlnaGxpZ2h0LmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVS
ZWdpc3RyeS5oIgorI2luY2x1ZGUgIk5ldHdvcmtJbmZvQ2xpZW50SW1wbC5oIgorI2luY2x1ZGUg
Ik5ldHdvcmtJbmZvQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgog
I2luY2x1ZGUgIk5vbkNvbXBvc2l0ZWRDb250ZW50SG9zdC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIK
QEAgLTQzOSw2ICs0NDEsOSBAQCBXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwoV2ViVmlld0NsaWVu
dCogY2xpZW50KQogI2lmIEVOQUJMRShCQVRURVJZX1NUQVRVUykKICAgICAsIG1fYmF0dGVyeUNs
aWVudChhZG9wdFB0cihuZXcgQmF0dGVyeUNsaWVudEltcGwoY2xpZW50ID8gY2xpZW50LT5iYXR0
ZXJ5U3RhdHVzQ2xpZW50KCkgOiAwKSkpCiAjZW5kaWYKKyNpZiBFTkFCTEUoTkVUV09SS19JTkZP
KQorICAgICwgbV9uZXR3b3JrSW5mb0NsaWVudChhZG9wdFB0cihuZXcgTmV0d29ya0luZm9DbGll
bnRJbXBsKGNsaWVudCA/IGNsaWVudC0+bmV0d29ya0luZm9DbGllbnQoKSA6IDApKSkKKyNlbmRp
ZgogICAgICwgbV9lbXVsYXRlZFRleHRab29tRmFjdG9yKDEpCiAjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKICAgICAsIG1fdXNlck1lZGlhQ2xpZW50SW1wbCh0aGlzKQpAQCAtNDk0LDYgKzQ5OSwx
MCBAQCBXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwoV2ViVmlld0NsaWVudCogY2xpZW50KQogICAg
IG1fYmF0dGVyeUNsaWVudC0+c2V0Q29udHJvbGxlcihCYXR0ZXJ5Q29udHJvbGxlcjo6ZnJvbSht
X3BhZ2UuZ2V0KCkpKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE5FVFdPUktfSU5GTykKKyAgICBw
cm92aWRlTmV0d29ya0luZm9UbyhtX3BhZ2UuZ2V0KCksIG1fbmV0d29ya0luZm9DbGllbnQuZ2V0
KCkpOworI2VuZGlmCisKICAgICBtX3BhZ2UtPnNldEdyb3VwTmFtZShwYWdlR3JvdXBOYW1lKTsK
IAogICAgIHVuc2lnbmVkIGxheW91dE1pbGVzdG9uZXMgPSBEaWRGaXJzdExheW91dCB8IERpZEZp
cnN0VmlzdWFsbHlOb25FbXB0eUxheW91dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oCmluZGV4IDg2ZjU2OTQxMDljYzVhOWM1YmY5NDU4OGUyMzYxZTI1YjljZjRjOGUu
LmE2NzYzMzg1NDMwNjA5ZDgyODdmMjE0OTJhZDRjMTY4YjFhMDRmNmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtOTIsNiArOTIsNyBAQCBjbGFzcyBEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudFByb3h5OwogY2xhc3MgRHJhZ1Njcm9sbFRpbWVyOwogY2xhc3Mg
R2VvbG9jYXRpb25DbGllbnRQcm94eTsKIGNsYXNzIExpbmtIaWdobGlnaHQ7CitjbGFzcyBOZXR3
b3JrSW5mb0NsaWVudEltcGw7CiBjbGFzcyBOb25Db21wb3NpdGVkQ29udGVudEhvc3Q7CiBjbGFz
cyBQcmVyZW5kZXJlckNsaWVudEltcGw7CiBjbGFzcyBTcGVlY2hJbnB1dENsaWVudEltcGw7CkBA
IC04NjIsNiArODYzLDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCiAg
ICAgT3duUHRyPEJhdHRlcnlDbGllbnRJbXBsPiBtX2JhdHRlcnlDbGllbnQ7CiAjZW5kaWYKKyNp
ZiBFTkFCTEUoTkVUV09SS19JTkZPKQorICAgIE93blB0cjxOZXR3b3JrSW5mb0NsaWVudEltcGw+
IG1fbmV0d29ya0luZm9DbGllbnQ7CisjZW5kaWYKIAogICAgIGZsb2F0IG1fZW11bGF0ZWRUZXh0
Wm9vbUZhY3RvcjsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA3NGY2ODk3MDBkMzM5MTI3MmVmNjJiMzRhOGU4OWYyYTIy
MGE2YmYuLmMxN2E4NTliYmVhNmNiNTlmNGMwNDAzYjNiYTc1ODU1MjMxNjA1MTMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxMi0xMi0xMCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNh
bXN1bmcuY29tPgorCisgICAgICAgIFtDaHJvbWl1bV0gU3VwcG9ydCBmb3IgTmV0d29yayBJbmZv
cm1hdGlvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNDQ2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNy
YXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zOiBVbnNraXAgbmV0d29ya2luZm9ybWF0aW9uLgorCiAyMDEyLTEyLTEwICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IGNvbnNvbGUgYnJva2VuPyAtIGNvbnNvbGUuZGlyeG1sIGJlaGF2ZXMgbGlrZSBjb25zb2xlLmxv
ZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggMDU5NDRkMWQyZjAwYTQyM2ZjZDNmNDY5ZTYxYjY2YjYwZjkxOTY4MS4uMDM4ZDYzNzA2N2Y3
ZmNkNGViZWI0YzE2ZGQ3NjA0MWVkNTkyYWNlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xOTEsOSArMTkxLDYgQEAgd2Via2l0Lm9y
Zy9iLzcyMDEwIGZhc3QvZG9tL25hdmlnYXRvci12aWJyYXRpb24uaHRtbAogIyBCYXR0ZXJ5IFN0
YXR1cyBBUEkgaXMgbm90IHN1cHBvcnRlZCB5ZXQgaW4gdGhlIGNocm9taXVtIHBvcnQuCiB3ZWJr
aXQub3JnL2IvNjI2OTggYmF0dGVyeXN0YXR1cwogCi0jIE5ldHdvcmsgSW5mb3JtYXRpb24gQVBJ
IGlzIG5vdCBzdXBwb3J0ZWQgeWV0IGluIHRoZSBjaHJvbWl1bSBwb3J0Lgotd2Via2l0Lm9yZy9i
LzczNTI4IG5ldHdvcmtpbmZvcm1hdGlvbgotCiAjIFRoZSBpbnRlbnQgdGFnIGlzIG5vdCB5ZXQg
ZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi83NTEyMyB3ZWJpbnRlbnRzL2ludGVudC10YWcuaHRtbAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVk
LnR4dAppbmRleCA0NjU4ZDVlYWEyZjQ0OGNjNWVlN2U3MWMzOTFkYzM2NTg4ZGYwYjcyLi40ODY3
YzY1M2Y2YzU2NDE3ZDhhN2NhMmM3ZjdhY2QwNTMzMjllOGE5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jh
c2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qv
ZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTE3LDYgKzE3
LDcgQEAgbmF2aWdhdG9yLnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgdGhyZXcgZXJyIFR5cGVF
cnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMKIG5hdmlnYXRvci51c2VyQWdlbnQgaXMgT0sKIG5h
dmlnYXRvci52ZW5kb3IgaXMgT0sKIG5hdmlnYXRvci52ZW5kb3JTdWIgaXMgT0sKK25hdmlnYXRv
ci53ZWJraXRDb25uZWN0aW9uIGlzIE9LCiBuYXZpZ2F0b3Iud2Via2l0R2V0R2FtZXBhZHMoKSBp
cyBPSwogbmF2aWdhdG9yLndlYmtpdFN0YXJ0QWN0aXZpdHkoKSB0aHJldyBlcnIgVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cwogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCkBAIC0z
Niw2ICszNyw3IEBAIG5hdmlnYXRvci5yZWdpc3RlclByb3RvY29sSGFuZGxlcigpIHRocmV3IGVy
ciBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzCiBuYXZpZ2F0b3IudXNlckFnZW50IGlz
IE9LCiBuYXZpZ2F0b3IudmVuZG9yIGlzIE9LCiBuYXZpZ2F0b3IudmVuZG9yU3ViIGlzIE9LCitu
YXZpZ2F0b3Iud2Via2l0Q29ubmVjdGlvbiBpcyBPSwogbmF2aWdhdG9yLndlYmtpdEdldEdhbWVw
YWRzKCkgaXMgT0sKIG5hdmlnYXRvci53ZWJraXRTdGFydEFjdGl2aXR5KCkgdGhyZXcgZXJyIFR5
cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178951</attachid>
            <date>2012-12-11 19:57:24 -0800</date>
            <delta_ts>2012-12-11 19:57:24 -0800</delta_ts>
            <desc>Patch - Support network info change</desc>
            <filename>bug-104465-20121212125445.patch</filename>
            <type>text/plain</type>
            <size>19730</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NDA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzhiYmM5ZjQzZTFjOTI4
NGEyODYxYmZjZjE2NWUxZWJhNGJlY2E5ZS4uMDlmZmExZDFjMTA5Mjg1ZmJjOTk4OTdmMWIxMTI1
ODVmNjJlOTJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEyLTExICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0Nocm9taXVt
XSBTdXBwb3J0IGZvciBOZXR3b3JrIEluZm9ybWF0aW9uIEFQSQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NDY1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5ldHdvcmsgaW5mb3JtYXRpb24gZmls
ZXMgdG8gZ3lwLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyBu
ZXR3b3JrIGluZm9ybWF0aW9uIHRlc3QgY2FzZXMuCisKKyAgICAgICAgKiBNb2R1bGVzL25ldHdv
cmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViQ29yZS5neXAv
V2ViQ29yZS5neXA6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorCiAyMDEyLTEyLTExICBLeXVu
Z1RhZSBLaW0gIDxrdGYua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtzb3VwXSBVbnVzZWQg
cGFyYW1ldGVyIGluIFJlc291cmNlSGFuZGxlU291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKaW5kZXggOGYyNjAyZGEwMDViNzQ3YzIyMTIxMzg2ZjI5ZDRmMTlmNTNiZmUwOC4uNDJjYWI2
MWQ0ZDEyY2M5ZTkxYTFkMGFkZmM2MzFjYTk0OTNkN2UyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw0NCBAQAorMjAxMi0xMi0xMSAgR3l1eW91bmcgS2ltICA8Z3l1eW91
bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtDaHJvbWl1bV0gU3VwcG9ydCBmb3IgTmV0
d29yayBJbmZvcm1hdGlvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNDQ2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5ldHdvcmtJbmZvQ2xpZW50SW1wbCB3aWxsIHN1cHBvcnQgKmJhbmR3aWR0
aCogYW5kICptZXRlcmVkKiBmdW5jdGlvbmFsaXRpZXMKKyAgICAgICAgYWNjb3JkaW5nIHRvIGxh
dGVzdCB0aGUgc3BlYyBjaGFuZ2UuIFRoaXMgcGF0Y2ggc3VwcG9ydHMgaW50ZXJmYWNlcyBmb3Ig
ZWFjaCBjaHJvbWUKKyAgICAgICAgcG9ydC4gRWFjaCBjaHJvbWUgcG9ydCBzaG91bGQgbm90aWZ5
IGJhbmR3aWR0aCBhbmQgbWV0ZXJlZCBpbmZvcm1hdGlvbiB0byBXZWJDb3JlIHNpZGUKKyAgICAg
ICAgYnkgdXNpbmcgdGhpcyBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICBTcGVjIDogaHR0cDov
L3d3dy53My5vcmcvVFIvMjAxMi9XRC1uZXRpbmZvLWFwaS0yMDEyMTEyOS8KKworICAgICAgICAq
IGZlYXR1cmVzLmd5cGk6IEFkZCBORVRXT1JLX0lORk8gbWFjcm8uCisgICAgICAgICogV2ViS2l0
Lmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViTmV0d29ya0luZm9DbGllbnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViTmV0d29ya0luZm9DbGllbnQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJOZXR3b3JrSW5mb0NsaWVudDo6fldlYk5ldHdvcmtJbmZvQ2xpZW50KToK
KyAgICAgICAgKiBwdWJsaWMvV2ViVmlld0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0KToKKyAg
ICAgICAgKFdlYlZpZXdDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50Ojpu
ZXR3b3JrSW5mb0NsaWVudCk6CisgICAgICAgICogc3JjL05ldHdvcmtJbmZvQ2xpZW50SW1wbC5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0lu
Zm9DbGllbnRJbXBsOjpOZXR3b3JrSW5mb0NsaWVudEltcGwpOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrSW5mb0NsaWVudEltcGw6On5OZXR3b3JrSW5mb0NsaWVudEltcGwpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrSW5mb0NsaWVudEltcGw6OnNldENvbnRyb2xsZXIpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrSW5mb0NsaWVudEltcGw6OnN0YXJ0VXBkYXRpbmcpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrSW5mb0NsaWVudEltcGw6OnN0b3BVcGRhdGluZyk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtJbmZvQ2xpZW50SW1wbDo6YmFuZHdpZHRoKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0luZm9DbGllbnRJbXBsOjptZXRlcmVkKToKKyAgICAgICAgKiBzcmMvTmV0d29y
a0luZm9DbGllbnRJbXBsLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKE5l
dHdvcmtJbmZvQ2xpZW50SW1wbCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKToKKyAgICAgICAgKiBzcmMv
V2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdlYktpdCk6CisKIDIwMTItMTItMTEgIEFsZWMgRmxl
dHQgIDxhbGVjZmxldHRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogU3R1YiBv
dXQgZGF0YSBvcGVyYXRpb25zIG9uIElEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0Nvbm5l
Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5m
b0Nvbm5lY3Rpb24uY3BwCmluZGV4IDlhNDIzMWMwYTNmY2ZjNzNhNTg5ODc1MGQxMjRkMjIyMzVj
NDdlNmEuLmUzOTUxZTM5MWUzMGMyNWI3YWU3NTBhZWExMmIzOWUxOWIzMDRjNmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJ
bmZvQ29ubmVjdGlvbi5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJOZXR3b3JrSW5m
b0Nvbm5lY3Rpb24uaCIKIAogI2lmIEVOQUJMRShORVRXT1JLX0lORk8pCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVk
ZSAiTmV0d29ya0luZm9DbGllbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXAKaW5kZXggNmRlOGY3NmNjN2ZmYmNiOGNiZmU1ZDE1NjYxOWJiMWIzMmI3YTc2MS4uN2M2ZTZk
Nzg1ZDQ0YjU3ZTkwNTEzZjdjMDkwNzU0OWRkMTJhMTMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXAKQEAgLTYxLDYgKzYxLDcgQEAKICAgICAgICcuLi9Nb2R1bGVzL21l
ZGlhc291cmNlJywKICAgICAgICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFtJywKICAgICAgICcuLi9N
b2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscycsCisgICAgICAnLi4vTW9kdWxlcy9uZXR3b3Jr
aW5mbycsCiAgICAgICAnLi4vTW9kdWxlcy9ub3RpZmljYXRpb25zJywKICAgICAgICcuLi9Nb2R1
bGVzL3F1b3RhJywKICAgICAgICcuLi9Nb2R1bGVzL3NwZWVjaCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5k
ZXggYTRmNDE2NGZlMjJhMzhhMDVhMWVhNDFmMjczMjdmMmMxMjU1MmIwMy4uMmI2OGM3OGJmYzkz
OGFhMGRlZjE1MGYwMGMzZDY3ZmZiNTc3Y2JiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtODksNiAr
ODksOCBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQu
aWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVzcG9uc2Uu
aWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0
b3JDb250ZW50VXRpbHMuaWRsJywKKyAgICAgICAgICAgICdNb2R1bGVzL25ldHdvcmtpbmZvL05h
dmlnYXRvck5ldHdvcmtJbmZvQ29ubmVjdGlvbi5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMv
bmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsJywKICAgICAgICAg
ICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwnLApAQCAtODU1
LDYgKzg1NywxNSBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxz
L05hdmlnYXRvckNvbnRlbnRVdGlscy5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvbmF2aWdh
dG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRVdGlscy5oJywKICAgICAgICAgICAgICdN
b2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQu
aCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5m
b0Nvbm5lY3Rpb24uY3BwJywKKyAgICAgICAgICAgICdNb2R1bGVzL25ldHdvcmtpbmZvL05hdmln
YXRvck5ldHdvcmtJbmZvQ29ubmVjdGlvbi5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL25ldHdv
cmtpbmZvL05ldHdvcmtJbmZvLmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3b3JraW5m
by9OZXR3b3JrSW5mby5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdv
cmtJbmZvQ2xpZW50LmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvbmV0d29ya2luZm8vTmV0d29y
a0luZm9Db25uZWN0aW9uLmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3b3JraW5mby9O
ZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaCcsCisgICAgICAgICAgICAnTW9kdWxlcy9uZXR3b3JraW5m
by9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwJywKKyAgICAgICAgICAgICdNb2R1bGVzL25ldHdv
cmtpbmZvL05ldHdvcmtJbmZvQ29udHJvbGxlci5oJywKICAgICAgICAgICAgICdNb2R1bGVzL25v
dGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAnLAogICAgICAgICAgICAgJ01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmgnLAogICAgICAgICAg
ICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vV2ViS2l0Lmd5cAppbmRleCA1ZTVlOWI2ZGI5ZTY4YjQ5ZmMxNWZhYTY3OGZkNTVjYmJlNmUx
MmVlLi4yNzhlNDBlYjQzNTY5YmIzOTU2OWM5Mzg5ZDUwZTY4YmU4MmNiZDdhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC0yMDcsNiArMjA3LDcgQEAKICAgICAgICAgICAgICAgICAn
cHVibGljL1dlYk1lZGlhU3RyZWFtUmVnaXN0cnkuaCcsCiAgICAgICAgICAgICAgICAgJ3B1Ymxp
Yy9XZWJNZW51SXRlbUluZm8uaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJOYXZpZ2F0
aW9uVHlwZS5oJywKKyAgICAgICAgICAgICAgICAncHVibGljL1dlYk5ldHdvcmtJbmZvQ2xpZW50
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViTmV0d29ya1N0YXRlTm90aWZpZXIuaCcs
CiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJOb2RlLmgnLAogICAgICAgICAgICAgICAgICdw
dWJsaWMvV2ViTm9kZUNvbGxlY3Rpb24uaCcsCkBAIC00MjksNiArNDMwLDggQEAKICAgICAgICAg
ICAgICAgICAnc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oJywKICAgICAgICAgICAg
ICAgICAnc3JjL0xpbmtIaWdobGlnaHQuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL0xpbmtI
aWdobGlnaHQuaCcsCisgICAgICAgICAgICAgICAgJ3NyYy9OZXR3b3JrSW5mb0NsaWVudEltcGwu
Y3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL05ldHdvcmtJbmZvQ2xpZW50SW1wbC5oJywKICAg
ICAgICAgICAgICAgICAnc3JjL05vbkNvbXBvc2l0ZWRDb250ZW50SG9zdC5jcHAnLAogICAgICAg
ICAgICAgICAgICdzcmMvTm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0LmgnLAogICAgICAgICAgICAg
ICAgICdzcmMvUHJlcmVuZGVyZXJDbGllbnRJbXBsLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0
dXJlcy5neXBpCmluZGV4IDcyMTM0MDVjYzI5MjFjNDAwYmQxOWY4ZWZhYWU4ZWY1YTgzODI2ZDYu
LjliMmM0NjI5NGEwMjMzMTNjMDhhY2Y3MjkxMDFlYTk1ZWZlMDNlOGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTkyLDYgKzkyLDcgQEAKICAgICAgICdFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFPTEnLAogICAgICAgJ0VOQUJMRV9NVVRBVElPTl9PQlNFUlZFUlM9PChl
bmFibGVfbXV0YXRpb25fb2JzZXJ2ZXJzKScsCiAgICAgICAnRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTPTEnLAorICAgICAgJ0VOQUJMRV9ORVRXT1JLX0lORk89MCcsCiAgICAgICAnRU5B
QkxFX1BBR0VfVklTSUJJTElUWV9BUEk9MScsCiAgICAgICAnRU5BQkxFX1BFUkZPUk1BTkNFX1RJ
TUVMSU5FPTEnLAogICAgICAgJ0VOQUJMRV9QT0lOVEVSX0xPQ0s9MScsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJOZXR3b3JrSW5mb0NsaWVudC5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTmV0d29ya0luZm9DbGllbnQuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NTRlNGVhMjYxNTE2MGM4MTEyY2M4Y2MzNDQ5ZWMyOGRhZjU5ZWU3Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTmV0d29ya0luZm9DbGll
bnQuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcg
RWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJOZXR3b3Jr
SW5mb0NsaWVudF9oCisjZGVmaW5lIFdlYk5ldHdvcmtJbmZvQ2xpZW50X2gKKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2NsYXNzIFdlYk5ldHdvcmtJbmZvQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2
aXJ0dWFsIH5XZWJOZXR3b3JrSW5mb0NsaWVudCgpIHsgfQorCisgICAgdmlydHVhbCB2b2lkIHN0
YXJ0VXBkYXRpbmcoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpID0gMDsK
KworICAgIHZpcnR1YWwgZG91YmxlIGJhbmR3aWR0aCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFs
IGJvb2wgbWV0ZXJlZCgpIGNvbnN0ID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CisjZW5kaWYgLy8gV2ViTmV0d29ya0luZm9DbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCmluZGV4IGM2ZTE3NWRiYWRlOWM1NWFlOTZlZDU4
ZTQ3MjczODUyMGRkYTkyNzMuLjViNWYxMzZiOTc4OTA0YzFkMWVmNGZmMDhmZGU1NzNiYzk5MzI0
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgK
QEAgLTcwLDYgKzcwLDcgQEAgY2xhc3MgV2ViSWNvbkxvYWRpbmdDb21wbGV0aW9uOwogY2xhc3Mg
V2ViSW1hZ2U7CiBjbGFzcyBXZWJJbnB1dEVsZW1lbnQ7CiBjbGFzcyBXZWJLZXlib2FyZEV2ZW50
OworY2xhc3MgV2ViTmV0d29ya0luZm9DbGllbnQ7CiBjbGFzcyBXZWJOb2RlOwogY2xhc3MgV2Vi
Tm90aWZpY2F0aW9uUHJlc2VudGVyOwogY2xhc3MgV2ViUmFuZ2U7CkBAIC0zNjUsNiArMzY2LDEx
IEBAIHB1YmxpYzoKICAgICAvLyBBY2Nlc3MgdGhlIGVtYmVkZGVyIEFQSSBmb3IgYmF0dGVyeSBz
dGF0dXMgc2VydmljZXMuCiAgICAgdmlydHVhbCBXZWJCYXR0ZXJ5U3RhdHVzQ2xpZW50KiBiYXR0
ZXJ5U3RhdHVzQ2xpZW50KCkgeyByZXR1cm4gMDsgfQogCisgICAgLy8gTmV0d29yayBJbmZvcm1h
dGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisK
KyAgICAvLyBBY2Nlc3MgdGhlIGVtYmVkZGVyIEFQSSBmb3IgbmV0d29yayBpbmZvcm1hdGlvbiBz
ZXJ2aWNlcy4KKyAgICB2aXJ0dWFsIFdlYk5ldHdvcmtJbmZvQ2xpZW50KiBuZXR3b3JrSW5mb0Ns
aWVudCgpIHsgcmV0dXJuIDA7IH0KKwogICAgIC8vIFpvb20gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAgLy8gSW5m
b3JtcyB0aGUgYnJvd3NlciB0aGF0IHRoZSB6b29tIGxldmVscyBmb3IgdGhpcyBmcmFtZSBoYXZl
IGNoYW5nZWQgZnJvbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTmV0
d29ya0luZm9DbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL05ldHdv
cmtJbmZvQ2xpZW50SW1wbC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI0MGRiOTA5M2RkZGRjZjBjMmM1Yjc3
ZTg1MGJhMWI3ZmM3YzQ5MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL05ldHdvcmtJbmZvQ2xpZW50SW1wbC5jcHAKQEAgLTAsMCArMSwxMDAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmV0d29ya0luZm9DbGllbnRJbXBsLmgi
CisKKyNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQorCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgor
I2luY2x1ZGUgIk5ldHdvcmtJbmZvLmgiCisjaW5jbHVkZSAiTmV0d29ya0luZm9Db250cm9sbGVy
LmgiCisjaW5jbHVkZSAiV2ViTmV0d29ya0luZm9DbGllbnQuaCIKKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK05ldHdvcmtJbmZvQ2xpZW50SW1wbDo6TmV0d29ya0luZm9DbGllbnRJbXBsKFdlYk5l
dHdvcmtJbmZvQ2xpZW50KiBjbGllbnQpCisgICAgOiBtX2NsaWVudChjbGllbnQpCit7Cit9CisK
K05ldHdvcmtJbmZvQ2xpZW50SW1wbDo6fk5ldHdvcmtJbmZvQ2xpZW50SW1wbCgpCit7Cit9CisK
K3ZvaWQgTmV0d29ya0luZm9DbGllbnRJbXBsOjpjaGFuZ2VDdXJyZW50TmV0d29ya0luZm9ybWF0
aW9uKCkKK3sKKyAgICBpZiAobV9jb250cm9sbGVyKSB7CisgICAgICAgIFJlZlB0cjxXZWJDb3Jl
OjpOZXR3b3JrSW5mbz4gbmV3TmV0d29ya0luZm8gPSBXZWJDb3JlOjpOZXR3b3JrSW5mbzo6Y3Jl
YXRlKGJhbmR3aWR0aCgpLCBtZXRlcmVkKCkpOworICAgICAgICBtX2NvbnRyb2xsZXItPmRpZENo
YW5nZU5ldHdvcmtJbmZvcm1hdGlvbihXZWJDb3JlOjpldmVudE5hbWVzKCkud2Via2l0bmV0d29y
a2luZm9jaGFuZ2VFdmVudCwgbmV3TmV0d29ya0luZm8uZ2V0KCkpOworICAgIH0KK30KKwordm9p
ZCBOZXR3b3JrSW5mb0NsaWVudEltcGw6OnNldENvbnRyb2xsZXIoV2ViQ29yZTo6TmV0d29ya0lu
Zm9Db250cm9sbGVyKiBjb250cm9sbGVyKQoreworICAgIG1fY29udHJvbGxlciA9IGNvbnRyb2xs
ZXI7Cit9CisKK3ZvaWQgTmV0d29ya0luZm9DbGllbnRJbXBsOjpuZXR3b3JrSW5mb0NvbnRyb2xs
ZXJEZXN0cm95ZWQoKQoreworICAgIG1fY29udHJvbGxlciA9IDA7Cit9CisKK3ZvaWQgTmV0d29y
a0luZm9DbGllbnRJbXBsOjpzdGFydFVwZGF0aW5nKCkKK3sKKyAgICBpZiAobV9jbGllbnQpCisg
ICAgICAgIG1fY2xpZW50LT5zdGFydFVwZGF0aW5nKCk7Cit9CisKK3ZvaWQgTmV0d29ya0luZm9D
bGllbnRJbXBsOjpzdG9wVXBkYXRpbmcoKQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAg
bV9jbGllbnQtPnN0b3BVcGRhdGluZygpOworfQorCitkb3VibGUgTmV0d29ya0luZm9DbGllbnRJ
bXBsOjpiYW5kd2lkdGgoKSBjb25zdAoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9j
bGllbnQtPmJhbmR3aWR0aCgpOworCisgICAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgTmV0d29ya0lu
Zm9DbGllbnRJbXBsOjptZXRlcmVkKCkgY29uc3QKK3sKKyAgICBpZiAobV9jbGllbnQpCisgICAg
ICAgIG1fY2xpZW50LT5tZXRlcmVkKCk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9OZXR3b3JrSW5mb0NsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL05ldHdvcmtJbmZvQ2xpZW50SW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViMzIwMTk3YzVjN2M2
YmZmZjM2NDI0MzU4NDZmZjM3ZTlkZjIwMGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9OZXR3b3JrSW5mb0NsaWVudEltcGwuaApAQCAtMCwwICsxLDcwIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBOZXR3b3JrSW5mb0NsaWVudEltcGxfaAorI2RlZmluZSBOZXR3b3Jr
SW5mb0NsaWVudEltcGxfaAorCisjaWYgRU5BQkxFKE5FVFdPUktfSU5GTykKKworI2luY2x1ZGUg
PE5ldHdvcmtJbmZvQ2xpZW50Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsgY2xhc3MgTmV0d29y
a0luZm9Db250cm9sbGVyOyB9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJOZXR3
b3JrSW5mb0NsaWVudDsKKworY2xhc3MgTmV0d29ya0luZm9DbGllbnRJbXBsIDogcHVibGljIFdl
YkNvcmU6Ok5ldHdvcmtJbmZvQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBOZXR3b3Jr
SW5mb0NsaWVudEltcGwoV2ViTmV0d29ya0luZm9DbGllbnQqKTsKKyAgICB+TmV0d29ya0luZm9D
bGllbnRJbXBsKCk7CisKKyAgICB2b2lkIGNoYW5nZUN1cnJlbnROZXR3b3JrSW5mb3JtYXRpb24o
KTsKKyAgICB2b2lkIHNldENvbnRyb2xsZXIoV2ViQ29yZTo6TmV0d29ya0luZm9Db250cm9sbGVy
Kik7CisKKyAgICAvLyBXZWJDb3JlOjpOZXR3b3JrSW5mb0NsaWVudCBtZXRob2RzOgorICAgIHZp
cnR1YWwgdm9pZCBuZXR3b3JrSW5mb0NvbnRyb2xsZXJEZXN0cm95ZWQoKSBPVkVSUklERTsKKwor
ICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIHN0b3BVcGRhdGluZygpIE9WRVJSSURFOworCisgICAgdmlydHVhbCBkb3VibGUgYmFuZHdp
ZHRoKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIG1ldGVyZWQoKSBjb25zdCBP
VkVSUklERTsKKworcHJpdmF0ZToKKyAgICBXZWJOZXR3b3JrSW5mb0NsaWVudCogbV9jbGllbnQ7
CisgICAgV2ViQ29yZTo6TmV0d29ya0luZm9Db250cm9sbGVyKiBtX2NvbnRyb2xsZXI7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShORVRXT1JLX0lORk8p
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmlu
ZGV4IDY5OTM0MWMzZmM0ZGI4YThmM2YzYTFlNjdkYjY4N2M5ODcyOGM4ZjkuLjMwNzhkMjM5NTkw
ZDNiNzBkYWNiOTQ2ODM5OTg2NDk3NWYxZWQ1OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTg0LDYgKzg0LDggQEAKICNpbmNsdWRlICJMYXllclBh
aW50ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIkxpbmtIaWdobGlnaHQuaCIKICNpbmNsdWRlICJN
SU1FVHlwZVJlZ2lzdHJ5LmgiCisjaW5jbHVkZSAiTmV0d29ya0luZm9DbGllbnRJbXBsLmgiCisj
aW5jbHVkZSAiTmV0d29ya0luZm9Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0
eWxlLmgiCiAjaW5jbHVkZSAiTm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0LmgiCiAjaW5jbHVkZSAi
UGFnZS5oIgpAQCAtNDM5LDYgKzQ0MSw5IEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJW
aWV3Q2xpZW50KiBjbGllbnQpCiAjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQogICAgICwgbV9i
YXR0ZXJ5Q2xpZW50KGFkb3B0UHRyKG5ldyBCYXR0ZXJ5Q2xpZW50SW1wbChjbGllbnQgPyBjbGll
bnQtPmJhdHRlcnlTdGF0dXNDbGllbnQoKSA6IDApKSkKICNlbmRpZgorI2lmIEVOQUJMRShORVRX
T1JLX0lORk8pCisgICAgLCBtX25ldHdvcmtJbmZvQ2xpZW50KGFkb3B0UHRyKG5ldyBOZXR3b3Jr
SW5mb0NsaWVudEltcGwoY2xpZW50ID8gY2xpZW50LT5uZXR3b3JrSW5mb0NsaWVudCgpIDogMCkp
KQorI2VuZGlmCiAgICAgLCBtX2VtdWxhdGVkVGV4dFpvb21GYWN0b3IoMSkKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogICAgICwgbV91c2VyTWVkaWFDbGllbnRJbXBsKHRoaXMpCkBAIC00OTQs
NiArNDk5LDExIEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50KiBjbGll
bnQpCiAgICAgbV9iYXR0ZXJ5Q2xpZW50LT5zZXRDb250cm9sbGVyKEJhdHRlcnlDb250cm9sbGVy
Ojpmcm9tKG1fcGFnZS5nZXQoKSkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTkVUV09SS19JTkZP
KQorICAgIHByb3ZpZGVOZXR3b3JrSW5mb1RvKG1fcGFnZS5nZXQoKSwgbV9uZXR3b3JrSW5mb0Ns
aWVudC5nZXQoKSk7CisgICAgbV9uZXR3b3JrSW5mb0NsaWVudC0+c2V0Q29udHJvbGxlcihOZXR3
b3JrSW5mb0NvbnRyb2xsZXI6OmZyb20obV9wYWdlLmdldCgpKSk7CisjZW5kaWYKKwogICAgIG1f
cGFnZS0+c2V0R3JvdXBOYW1lKHBhZ2VHcm91cE5hbWUpOwogCiAgICAgdW5zaWduZWQgbGF5b3V0
TWlsZXN0b25lcyA9IERpZEZpcnN0TGF5b3V0IHwgRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5
b3V0OwpAQCAtMTcxNyw2ICsxNzI3LDEzIEBAIHZvaWQgV2ViVmlld0ltcGw6OnVwZGF0ZUJhdHRl
cnlTdGF0dXMoY29uc3QgV2ViQmF0dGVyeVN0YXR1cyYgc3RhdHVzKQogfQogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoTkVUV09SS19JTkZPKQordm9pZCBXZWJWaWV3SW1wbDo6Y2hhbmdlQ3VycmVudE5l
dHdvcmtJbmZvcm1hdGlvbigpCit7CisgICAgbV9uZXR3b3JrSW5mb0NsaWVudC0+Y2hhbmdlQ3Vy
cmVudE5ldHdvcmtJbmZvcm1hdGlvbigpOworfQorI2VuZGlmCisKIHZvaWQgV2ViVmlld0ltcGw6
OnNldENvbXBvc2l0b3JTdXJmYWNlUmVhZHkoKQogewogICAgIG1fY29tcG9zaXRvclN1cmZhY2VS
ZWFkeSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRl
eCA4NmY1Njk0MTA5Y2M1YTljNWJmOTQ1ODhlMjM2MWUyNWI5Y2Y0YzhlLi5mNTczZTljMTRlMDE2
NjQ3OTNiOTNjOTZiY2MzYTczZjEwYmJkMTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmgKQEAgLTkyLDYgKzkyLDcgQEAgY2xhc3MgRGV2aWNlT3JpZW50YXRpb25D
bGllbnRQcm94eTsKIGNsYXNzIERyYWdTY3JvbGxUaW1lcjsKIGNsYXNzIEdlb2xvY2F0aW9uQ2xp
ZW50UHJveHk7CiBjbGFzcyBMaW5rSGlnaGxpZ2h0OworY2xhc3MgTmV0d29ya0luZm9DbGllbnRJ
bXBsOwogY2xhc3MgTm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0OwogY2xhc3MgUHJlcmVuZGVyZXJD
bGllbnRJbXBsOwogY2xhc3MgU3BlZWNoSW5wdXRDbGllbnRJbXBsOwpAQCAtMzA3LDYgKzMwOCw5
IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCiAgICAgdmlydHVhbCB2b2lk
IHVwZGF0ZUJhdHRlcnlTdGF0dXMoY29uc3QgV2ViQmF0dGVyeVN0YXR1cyYpOwogI2VuZGlmCisj
aWYgRU5BQkxFKE5FVFdPUktfSU5GTykKKyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlQ3VycmVudE5l
dHdvcmtJbmZvcm1hdGlvbigpOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyQWN0
aXZlV2hlZWxGbGluZ0FuaW1hdGlvbihjb25zdCBXZWJBY3RpdmVXaGVlbEZsaW5nUGFyYW1ldGVy
cyYpOwogICAgIHZpcnR1YWwgV2ViVmlld0JlbmNobWFya1N1cHBvcnQqIGJlbmNobWFya1N1cHBv
cnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd1BhaW50UmVjdHMoYm9vbCk7CkBAIC04NjIs
NiArODY2LDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCiAgICAgT3du
UHRyPEJhdHRlcnlDbGllbnRJbXBsPiBtX2JhdHRlcnlDbGllbnQ7CiAjZW5kaWYKKyNpZiBFTkFC
TEUoTkVUV09SS19JTkZPKQorICAgIE93blB0cjxOZXR3b3JrSW5mb0NsaWVudEltcGw+IG1fbmV0
d29ya0luZm9DbGllbnQ7CisjZW5kaWYKIAogICAgIGZsb2F0IG1fZW11bGF0ZWRUZXh0Wm9vbUZh
Y3RvcjsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>