<?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>112397</bug_id>
          
          <creation_ts>2013-03-14 18:17:06 -0700</creation_ts>
          <short_desc>REGRESSION: -webkit-box-reflect does not show on video elements</short_desc>
          <delta_ts>2013-03-22 09:27:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>855619</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-14 18:17:06 -0700</bug_when>
    <thetext>REGRESSION: -webkit-box-reflect does not show on video elements</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856014</commentid>
    <comment_count>1</comment_count>
      <attachid>193317</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-15 08:49:56 -0700</bug_when>
    <thetext>Created attachment 193317
Patch

The pixel results are currently broken. I need to figure out why DumpRenderTree and WKTR are both generating empty images.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856029</commentid>
    <comment_count>2</comment_count>
      <attachid>193317</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-15 09:18:37 -0700</bug_when>
    <thetext>Comment on attachment 193317
Patch

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

r=me but please make sure the pixel result is correct.

&gt; Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm:277
&gt; +        [newLayer-&gt;playerLayer() setPlayer:[playerLayer() player]];

Most ridiculous-sounding line of code ever.

&gt; LayoutTests/ChangeLog:8
&gt; +        * compositing/video/video-reflection-expected.png: Added.

Is this supposed to be all dark gray?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856035</commentid>
    <comment_count>3</comment_count>
      <attachid>193317</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-15 09:24:01 -0700</bug_when>
    <thetext>Comment on attachment 193317
Patch

Attachment 193317 did not pass win-ews (win):
Output: http://webkit-commit-queue.appspot.com/results/17173588</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856051</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-15 09:42:58 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 193317 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193317&amp;action=review
&gt; 
&gt; r=me but please make sure the pixel result is correct.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm:277
&gt; &gt; +        [newLayer-&gt;playerLayer() setPlayer:[playerLayer() player]];
&gt; 
&gt; Most ridiculous-sounding line of code ever.

Very true.  But, it was worse when there was a lot more casting involved:

[(AVPlayerLayer*)newLayer-&gt;m_layer.get() setPlayer:[(AVPlayerLayer*)m_layer.get() player]];

Hence the addition of AVPlayerLayer* PlatformCALayer::playerLayer().

&gt; &gt; LayoutTests/ChangeLog:8
&gt; &gt; +        * compositing/video/video-reflection-expected.png: Added.
&gt; 
&gt; Is this supposed to be all dark gray?

No it&apos;s not; I&apos;m working on generating the results on another OS build.  That and the win/ port is busted, so I&apos;ll fix that as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856057</commentid>
    <comment_count>5</comment_count>
      <attachid>193326</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-15 09:58:13 -0700</bug_when>
    <thetext>Created attachment 193326
Patch for committing

Fixed the pixel test results and the mac/ build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856105</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-15 11:00:21 -0700</bug_when>
    <thetext>Committed r145915: &lt;http://trac.webkit.org/changeset/145915&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856115</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-15 11:07:03 -0700</bug_when>
    <thetext>Committed windows build fix in r145918: &lt;https://trac.webkit.org/changeset/145918&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856508</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-15 21:44:49 -0700</bug_when>
    <thetext>This is causing an assertion via a weird re-entrancy stack:

http://build.webkit.org/results/Apple%20Lion%20Debug%20WK2%20(Tests)/r145980%20(8104)/compositing/reflections/load-video-in-reflection-crash-log.txt

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x000000010590b705 WebCore::RenderLayerCompositor::flushPendingLayerChanges(bool) + 229 (RenderLayerCompositor.cpp:342)
1   com.apple.WebCore             	0x0000000104badd9f WebCore::FrameView::flushCompositingStateForThisFrame(WebCore::Frame*) + 255 (FrameView.cpp:908)
2   com.apple.WebCore             	0x0000000104bb80e5 WebCore::FrameView::paintContents(WebCore::GraphicsContext*, WebCore::IntRect const&amp;) + 741 (FrameView.cpp:3399)
3   com.apple.WebCore             	0x0000000105b56d89 WebCore::ScrollView::paint(WebCore::GraphicsContext*, WebCore::IntRect const&amp;) + 777 (ScrollView.cpp:1081)
4   com.apple.WebKit2             	0x00000001021cfd34 WebKit::WebPage::drawRect(WebCore::GraphicsContext&amp;, WebCore::IntRect const&amp;) + 292 (WebPage.cpp:1108)
5   com.apple.WebKit2             	0x0000000101fca3a8 WebKit::LayerTreeHostMac::paintContents(WebCore::GraphicsLayer const*, WebCore::GraphicsContext&amp;, unsigned int, WebCore::IntRect const&amp;) + 88 (LayerTreeHostMac.mm:254)
6   com.apple.WebKit2             	0x0000000101fca435 non-virtual thunk to WebKit::LayerTreeHostMac::paintContents(WebCore::GraphicsLayer const*, WebCore::GraphicsContext&amp;, unsigned int, WebCore::IntRect const&amp;) + 69
7   com.apple.WebCore             	0x0000000104c85926 WebCore::GraphicsLayer::paintGraphicsLayerContents(WebCore::GraphicsContext&amp;, WebCore::IntRect const&amp;) + 294 (GraphicsLayer.cpp:328)
8   com.apple.WebCore             	0x0000000104c93460 WebCore::GraphicsLayerCA::platformCALayerPaintContents(WebCore::GraphicsContext&amp;, WebCore::IntRect const&amp;) + 48 (GraphicsLayerCA.cpp:1059)
9   com.apple.WebCore             	0x0000000104c934a7 non-virtual thunk to WebCore::GraphicsLayerCA::platformCALayerPaintContents(WebCore::GraphicsContext&amp;, WebCore::IntRect const&amp;) + 55
10  com.apple.WebCore             	0x0000000105f2b700 drawLayerContents(CGContext*, CALayer*, WebCore::PlatformCALayer*) + 1744 (WebLayer.mm:116)
11  com.apple.WebCore             	0x0000000105f2c5e6 -[WebLayer drawInContext:] + 70 (WebLayer.mm:233)
12  com.apple.QuartzCore          	0x00007fff8f1e7225 CABackingStoreUpdate_ + 3221
13  com.apple.QuartzCore          	0x00007fff8f1e613a CA::Layer::display_() + 1086
14  com.apple.WebCore             	0x0000000105f2c536 -[WebLayer display] + 54 (WebLayer.mm:223)
15  com.apple.QuartzCore          	0x00007fff8f1de00a CA::Layer::display_if_needed(CA::Transaction*) + 560
16  com.apple.QuartzCore          	0x00007fff8f1dcfbf CA::Context::commit_transaction(CA::Transaction*) + 319
17  com.apple.QuartzCore          	0x00007fff8f1dcd3c CA::Transaction::commit() + 274
18  com.apple.MediaToolbox        	0x00007fff8f3990e3 0x7fff8f34d000 + 311523
19  com.apple.MediaToolbox        	0x00007fff8f399945 0x7fff8f34d000 + 313669
20  com.apple.MediaToolbox        	0x00007fff8f399d60 0x7fff8f34d000 + 314720
21  com.apple.MediaToolbox        	0x00007fff8f399e62 0x7fff8f34d000 + 314978
22  com.apple.MediaToolbox        	0x00007fff8f38e79a 0x7fff8f34d000 + 268186
23  com.apple.MediaToolbox        	0x00007fff8f38d057 0x7fff8f34d000 + 262231
24  com.apple.avfoundation        	0x00007fff9441ae2f -[AVPlayerLayer _updateContentLayerConnectionToPlayer] + 187
25  com.apple.avfoundation        	0x00007fff94419e76 -[AVPlayerLayer setPlayer:] + 442
26  com.apple.WebCore             	0x0000000105745642 WebCore::PlatformCALayer::clone(WebCore::PlatformCALayerClient*) const + 1202 (PlatformCALayerMac.mm:277)
27  com.apple.WebCore             	0x0000000104c9c7a3 WebCore::GraphicsLayerCA::cloneLayer(WebCore::PlatformCALayer*, WebCore::GraphicsLayerCA::CloneLevel) + 67 (GraphicsLayerCA.cpp:2892)
28  com.apple.WebCore             	0x0000000104c9c675 WebCore::GraphicsLayerCA::findOrMakeClone(WTF::String, WebCore::PlatformCALayer*, WTF::HashMap&lt;WTF::String, WTF::RefPtr&lt;WebCore::PlatformCALayer&gt;, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::PlatformCALayer&gt; &gt; &gt;*, WebCore::GraphicsLayerCA::CloneLevel) + 261 (GraphicsLayerCA.cpp:2740)
29  com.apple.WebCore             	0x0000000104c9cc34 WebCore::GraphicsLayerCA::ensureCloneLayers(WTF::String, WTF::RefPtr&lt;WebCore::PlatformCALayer&gt;&amp;, WTF::RefPtr&lt;WebCore::PlatformCALayer&gt;&amp;, WTF::RefPtr&lt;WebCore::PlatformCALayer&gt;&amp;, WebCore::GraphicsLayerCA::CloneLevel) + 916 (GraphicsLayerCA.cpp:2766)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856509</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-15 21:46:21 -0700</bug_when>
    <thetext>...only on Lion. I&apos;m going to disable media layer cloning on Lion for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856513</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-15 21:58:04 -0700</bug_when>
    <thetext>See bug 112490.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856597</commentid>
    <comment_count>11</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-16 12:29:55 -0700</bug_when>
    <thetext>Gonna have to undo this, sorry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856599</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-16 12:35:09 -0700</bug_when>
    <thetext>Disabled this in http://trac.webkit.org/changeset/146001</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856600</commentid>
    <comment_count>13</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-16 12:36:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/10562776&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860900</commentid>
    <comment_count>14</comment_count>
      <attachid>194391</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-21 17:08:03 -0700</bug_when>
    <thetext>Created attachment 194391
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861560</commentid>
    <comment_count>15</comment_count>
      <attachid>194391</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-22 09:27:13 -0700</bug_when>
    <thetext>Comment on attachment 194391
Patch

Clearing flags on attachment: 194391

Committed r146622: &lt;http://trac.webkit.org/changeset/146622&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861561</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-22 09:27:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193317</attachid>
            <date>2013-03-15 08:49:56 -0700</date>
            <delta_ts>2013-03-15 09:58:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112397-20130315084551.patch</filename>
            <type>text/plain</type>
            <size>14189</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1ODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQwMDM1NDE2ZjI0Yzkx
NDE5NDdkZGVmZjcxYmI3NGVhN2I4MmY4OC4uNGNmNjM1MzIwNTNjMDVlODNjMjc1Y2UzNTIyNDA4
YmM3NThlZDc3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACiswMTMtMDMtMTQgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTjogLXdlYmtp
dC1ib3gtcmVmbGVjdCBkb2VzIG5vdCBzaG93IG9uIHZpZGVvIGVsZW1lbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzOTcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBjb21wb3NpdGluZy92
aWRlby92aWRlby1yZWZsZWN0aW9uLmh0bWwKKworICAgICAgICBTdXBwb3J0IGNsb25pbmcgc3Bl
Y2lmaWMgQ0FMYXllciBzdWJ0eXBlcyBpbiBQbGF0Zm9ybUNBTGF5ZXIsCisgICAgICAgIHdoaWNo
IGFsbG93cyByZWZsZWN0aW9ucyB0byB3b3JrIGNvcnJlY3RseSBmb3IgdGhvc2UgbGF5ZXIgdHlw
ZXMuCisgICAgICAgIFNwZWNpZmljYWxseSwgYWRkIHN1cHBvcnQgZm9yIGNsb25pbmcgQVZQbGF5
ZXJMYXllciBsYXllcnMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGlj
c0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpjbG9uZUxh
eWVyKTogTW92ZWQgbW9zdCBvZiB0aGUKKyAgICAgICAgICAgIGltcGxlbWVudGF0aW9uIHRvIFBs
YXRmb3JtQ0FMYXllcjo6Y2xvbmUoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9Q
bGF0Zm9ybUNBTGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxh
dGZvcm1DQUxheWVyTWFjLm1tOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyOjpQbGF0Zm9ybUNB
TGF5ZXIpOiBTZXQgdGhlIGxheWVyVHlwZSB0byAKKyAgICAgICAgICAgIExheWVyVHlwZUFWUGxh
eWVyTGF5ZXIgaWYgdGhlIFBsYXRmb3JtTGF5ZXIgcGFyYW1ldGVyIGlzIGFuCisgICAgICAgICAg
ICBBVlBsYXllckxheWVyLgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyOjpjbG9uZSk6IE1vdmVk
IGZyb20gR3JhcGhpY3NMYXllckNBOjpjbG9uZUxheWVyKCkuCisgICAgICAgICAgICBDb3B5IHRo
ZSBwbGF5ZXIgdmFsdWUgdG8gdGhlIG5ldyBsYXllciwgaWYgdGhlIGN1cnJlbnQgbGF5ZXIgaXMK
KyAgICAgICAgICAgIGEgTGF5ZXJUeXBlQVZQbGF5ZXJMYXllci4KKyAgICAgICAgKFBsYXRmb3Jt
Q0FMYXllcjo6cGxheWVyTGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dp
bi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyOjpjbG9u
ZSk6IE1vdmVkIGZyb20gR3JhcGhpY3NMYXllckNBOjpjbG9uZUxheWVyKCkuCisgICAgICAgICAg
ICBNYXkgd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgQVZDRlBsYXllckxheWVycyBpbiB0aGUgZnV0
dXJlLgorCiAyMDEzLTAzLTE0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+
CiAKICAgICAgICAgQVg6IENyYXNoIHdoZW4gcmVtb3ZpbmcgYXJpYS1tZW51IGl0ZW0gZnJvbSBE
T00KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBo
aWNzTGF5ZXJDQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFw
aGljc0xheWVyQ0EuY3BwCmluZGV4IDZlNWJkNzc0NjRkODFlZmQ3NDlkYTM0YzQ4ZDFhYzMyZjY2
MTAwYjcuLjE2Y2I5ZWMyOTVmMmM3ZDY5NjRlNTI5ZjM1MjM1MjFjZjA1NDM2MWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXll
ckNBLmNwcApAQCAtMjg4OSwyNCArMjg4OSw3IEBAIFBhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVy
PiBHcmFwaGljc0xheWVyQ0E6OmZldGNoQ2xvbmVMYXllcnMoR3JhcGhpY3NMYXllciogcmVwCiAK
IFBhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBHcmFwaGljc0xheWVyQ0E6OmNsb25lTGF5ZXIo
UGxhdGZvcm1DQUxheWVyICpsYXllciwgQ2xvbmVMZXZlbCBjbG9uZUxldmVsKQogewotICAgIFBs
YXRmb3JtQ0FMYXllcjo6TGF5ZXJUeXBlIGxheWVyVHlwZSA9IChsYXllci0+bGF5ZXJUeXBlKCkg
PT0gUGxhdGZvcm1DQUxheWVyOjpMYXllclR5cGVUcmFuc2Zvcm1MYXllcikgPyAKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsYXRmb3JtQ0FMYXllcjo6
TGF5ZXJUeXBlVHJhbnNmb3JtTGF5ZXIgOiBQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZUxheWVy
OwotICAgIFJlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IG5ld0xheWVyID0gUGxhdGZvcm1DQUxheWVy
OjpjcmVhdGUobGF5ZXJUeXBlLCB0aGlzKTsKLSAgICAKLSAgICBuZXdMYXllci0+c2V0UG9zaXRp
b24obGF5ZXItPnBvc2l0aW9uKCkpOwotICAgIG5ld0xheWVyLT5zZXRCb3VuZHMobGF5ZXItPmJv
dW5kcygpKTsKLSAgICBuZXdMYXllci0+c2V0QW5jaG9yUG9pbnQobGF5ZXItPmFuY2hvclBvaW50
KCkpOwotICAgIG5ld0xheWVyLT5zZXRUcmFuc2Zvcm0obGF5ZXItPnRyYW5zZm9ybSgpKTsKLSAg
ICBuZXdMYXllci0+c2V0U3VibGF5ZXJUcmFuc2Zvcm0obGF5ZXItPnN1YmxheWVyVHJhbnNmb3Jt
KCkpOwotICAgIG5ld0xheWVyLT5zZXRDb250ZW50cyhsYXllci0+Y29udGVudHMoKSk7Ci0gICAg
bmV3TGF5ZXItPnNldE1hc2tzVG9Cb3VuZHMobGF5ZXItPm1hc2tzVG9Cb3VuZHMoKSk7Ci0gICAg
bmV3TGF5ZXItPnNldERvdWJsZVNpZGVkKGxheWVyLT5pc0RvdWJsZVNpZGVkKCkpOwotICAgIG5l
d0xheWVyLT5zZXRPcGFxdWUobGF5ZXItPmlzT3BhcXVlKCkpOwotICAgIG5ld0xheWVyLT5zZXRC
YWNrZ3JvdW5kQ29sb3IobGF5ZXItPmJhY2tncm91bmRDb2xvcigpKTsKLSAgICBuZXdMYXllci0+
c2V0Q29udGVudHNTY2FsZShsYXllci0+Y29udGVudHNTY2FsZSgpKTsKLSNpZiBFTkFCTEUoQ1NT
X0ZJTFRFUlMpCi0gICAgbmV3TGF5ZXItPmNvcHlGaWx0ZXJzRnJvbShsYXllcik7Ci0jZW5kaWYK
KyAgICBSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBuZXdMYXllciA9IGxheWVyLT5jbG9uZSh0aGlz
KTsKIAogICAgIGlmIChjbG9uZUxldmVsID09IEludGVybWVkaWF0ZUNsb25lTGV2ZWwpIHsKICAg
ICAgICAgbmV3TGF5ZXItPnNldE9wYWNpdHkobGF5ZXItPm9wYWNpdHkoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oCmlu
ZGV4IGFkYWZmNWI1NDM2YjgxZmJhMmI2ZjVmMjlkMmIzMjIxYWQ2NGViNmQuLjE1NmFiMzY4Mzkx
OGQxZGUwZWExNzNmNGY4NTcxOWRiYjljNWNlZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oCkBAIC00MSw2ICs0MSw4
IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCitPQkpDX0NMQVNTIEFWUGxheWVyTGF5ZXI7CisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgUGxhdGZvcm1DQUxheWVyOwpAQCAtNjIsNiArNjQsNyBAQCBwdWJs
aWM6CiAgICAgICAgIExheWVyVHlwZVRpbGVkQmFja2luZ0xheWVyLAogICAgICAgICBMYXllclR5
cGVQYWdlVGlsZWRCYWNraW5nTGF5ZXIsCiAgICAgICAgIExheWVyVHlwZVJvb3RMYXllciwKKyAg
ICAgICAgTGF5ZXJUeXBlQVZQbGF5ZXJMYXllciwKICAgICAgICAgTGF5ZXJUeXBlQ3VzdG9tCiAg
ICAgfTsKICAgICBlbnVtIEZpbHRlclR5cGUgeyBMaW5lYXIsIE5lYXJlc3QsIFRyaWxpbmVhciB9
OwpAQCAtNzIsNiArNzUsOCBAQCBwdWJsaWM6CiAgICAgLy8gaXMgZGVmaW5lZCBkaWZmZXJlbnRs
eSBmb3IgT2JqIEMgYW5kIEMrKy4gVGhpcyBhbGxvd3MgY2FsbGVycyBmcm9tIGJvdGggbGFuZ3Vh
Z2VzLgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gY3JlYXRlKHZvaWQq
IHBsYXRmb3JtTGF5ZXIsIFBsYXRmb3JtQ0FMYXllckNsaWVudCopOwogCisgICAgUGFzc1JlZlB0
cjxQbGF0Zm9ybUNBTGF5ZXI+IGNsb25lKFBsYXRmb3JtQ0FMYXllckNsaWVudCopIGNvbnN0Owor
CiAgICAgflBsYXRmb3JtQ0FMYXllcigpOwogICAgIAogICAgIC8vIFRoaXMgZnVuY3Rpb24gcGFz
c2VzIHRoZSBsYXllciBhcyBhIHZvaWQqIHJhdGhlciB0aGFuIGEgUGxhdGZvcm1MYXllciBiZWNh
dXNlIFBsYXRmb3JtTGF5ZXIKQEAgLTIyNyw4ICsyMzIsMTAgQEAgcHVibGljOgogCiBwcm90ZWN0
ZWQ6CiAgICAgUGxhdGZvcm1DQUxheWVyKExheWVyVHlwZSwgUGxhdGZvcm1MYXllciosIFBsYXRm
b3JtQ0FMYXllckNsaWVudCopOwotICAgIAorCiBwcml2YXRlOgorICAgIEFWUGxheWVyTGF5ZXIq
IHBsYXllckxheWVyKCkgY29uc3Q7CisKICAgICBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQqIG1fb3du
ZXI7CiAgICAgTGF5ZXJUeXBlIG1fbGF5ZXJUeXBlOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJN
YWMubW0KaW5kZXggYzRlZTVmMDc0ODUwODI0NGZhNGZmMGRlZDE3MWRiZTBlYmVlOTEzMS4uNDQw
NTU5Nzc4N2Y4ZjVhMmZjNmVkMmRkMzhhZDhkZGIzYzhiNWJlYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxh
eWVyTWFjLm1tCkBAIC0zNSwxNyArMzUsMjMgQEAKICNpbXBvcnQgIkdyYXBoaWNzTGF5ZXJDQS5o
IgogI2ltcG9ydCAiTGVuZ3RoRnVuY3Rpb25zLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUNBRmlsdGVy
cy5oIgorI2ltcG9ydCAiU29mdExpbmtpbmcuaCIKICNpbXBvcnQgIlRpbGVkQmFja2luZy5oIgog
I2ltcG9ydCAiV2ViTGF5ZXIuaCIKICNpbXBvcnQgIldlYlRpbGVkTGF5ZXIuaCIKICNpbXBvcnQg
IldlYlRpbGVkQmFja2luZ0xheWVyLmgiCiAjaW1wb3J0IDxvYmpjL29iamMtYXV0by5oPgogI2lt
cG9ydCA8b2JqYy9ydW50aW1lLmg+CisjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZGb3VuZGF0aW9u
Lmg+CiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KICNpbXBvcnQgPHd0Zi9DdXJy
ZW50VGltZS5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMuaD4KKyNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCitTT0ZUX0xJTktfRlJBTUVX
T1JLX09QVElPTkFMKEFWRm91bmRhdGlvbikKK1NPRlRfTElOS19DTEFTUyhBVkZvdW5kYXRpb24s
IEFWUGxheWVyTGF5ZXIpCisKIHVzaW5nIHN0ZDo6bWluOwogdXNpbmcgc3RkOjptYXg7CiAKQEAg
LTc2LDcgKzgyLDcgQEAgc3RhdGljIGRvdWJsZSBtZWRpYVRpbWVUb0N1cnJlbnRUaW1lKENGVGlt
ZUludGVydmFsIHQpCiAgICAgLy8gaGFzTm9uWmVyb0JlZ2luVGltZSBpcyBzdG9yZWQgaW4gYSBr
ZXkgaW4gdGhlIGFuaW1hdGlvbgogICAgIGJvb2wgaGFzTm9uWmVyb0JlZ2luVGltZSA9IFtbYW5p
bWF0aW9uIHZhbHVlRm9yS2V5OldLTm9uWmVyb0JlZ2luVGltZUZsYWddIGJvb2xWYWx1ZV07CiAg
ICAgQ0ZUaW1lSW50ZXJ2YWwgc3RhcnRUaW1lOwotICAgIAorCiAgICAgaWYgKGhhc05vblplcm9C
ZWdpblRpbWUpIHsKICAgICAgICAgLy8gV2UgZG9uJ3Qga25vdyB3aGF0IHRpbWUgQ0EgdXNlZCB0
byBjb21taXQgdGhlIGFuaW1hdGlvbiwgc28ganVzdCB1c2UgdGhlIGN1cnJlbnQgdGltZQogICAg
ICAgICAvLyAoZXZlbiB0aG91Z2ggdGhpcyB3aWxsIGJlIHNsaWdodGx5IG9mZikuCkBAIC0xNzMs
NyArMTc5LDEwIEBAIFBsYXRmb3JtQ0FMYXllcjo6UGxhdGZvcm1DQUxheWVyKExheWVyVHlwZSBs
YXllclR5cGUsIFBsYXRmb3JtTGF5ZXIqIGxheWVyLCBQbGF0CiB7CiAgICAgQkVHSU5fQkxPQ0tf
T0JKQ19FWENFUFRJT05TCiAgICAgaWYgKGxheWVyKSB7Ci0gICAgICAgIG1fbGF5ZXJUeXBlID0g
TGF5ZXJUeXBlQ3VzdG9tOworICAgICAgICBpZiAoW2xheWVyIGlzS2luZE9mQ2xhc3M6Z2V0QVZQ
bGF5ZXJMYXllckNsYXNzKCldKQorICAgICAgICAgICAgbV9sYXllclR5cGUgPSBMYXllclR5cGVB
VlBsYXllckxheWVyOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2xheWVyVHlwZSA9IExh
eWVyVHlwZUN1c3RvbTsKICAgICAgICAgbV9sYXllciA9IGxheWVyOwogICAgIH0gZWxzZSB7CiAg
ICAgICAgIG1fbGF5ZXJUeXBlID0gbGF5ZXJUeXBlOwpAQCAtMTk3LDYgKzIwNiw5IEBAIFBsYXRm
b3JtQ0FMYXllcjo6UGxhdGZvcm1DQUxheWVyKExheWVyVHlwZSBsYXllclR5cGUsIFBsYXRmb3Jt
TGF5ZXIqIGxheWVyLCBQbGF0CiAgICAgICAgICAgICBjYXNlIExheWVyVHlwZVBhZ2VUaWxlZEJh
Y2tpbmdMYXllcjoKICAgICAgICAgICAgICAgICBsYXllckNsYXNzID0gW1dlYlRpbGVkQmFja2lu
Z0xheWVyIGNsYXNzXTsKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2Ug
TGF5ZXJUeXBlQVZQbGF5ZXJMYXllcjoKKyAgICAgICAgICAgICAgICBsYXllckNsYXNzID0gZ2V0
QVZQbGF5ZXJMYXllckNsYXNzKCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICBjYXNlIExheWVyVHlwZUN1c3RvbToKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQpAQCAtMjI5LDYgKzI0MSw0NCBAQCBQbGF0Zm9ybUNBTGF5ZXI6OlBsYXRmb3JtQ0FMYXllcihM
YXllclR5cGUgbGF5ZXJUeXBlLCBQbGF0Zm9ybUxheWVyKiBsYXllciwgUGxhdAogICAgIEVORF9C
TE9DS19PQkpDX0VYQ0VQVElPTlMKIH0KIAorUGFzc1JlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IFBs
YXRmb3JtQ0FMYXllcjo6Y2xvbmUoUGxhdGZvcm1DQUxheWVyQ2xpZW50KiBvd25lcikgY29uc3QK
K3sKKyAgICBMYXllclR5cGUgdHlwZTsKKyAgICBzd2l0Y2ggKGxheWVyVHlwZSgpKSB7CisgICAg
Y2FzZSBMYXllclR5cGVUcmFuc2Zvcm1MYXllcjoKKyAgICAgICAgdHlwZSA9IExheWVyVHlwZVRy
YW5zZm9ybUxheWVyOworICAgICAgICBicmVhazsKKyAgICBjYXNlIExheWVyVHlwZUFWUGxheWVy
TGF5ZXI6CisgICAgICAgIHR5cGUgPSBMYXllclR5cGVBVlBsYXllckxheWVyOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIExheWVyVHlwZUxheWVyOgorICAgIGRlZmF1bHQ6CisgICAgICAgIHR5
cGUgPSBMYXllclR5cGVMYXllcjsKKyAgICAgICAgYnJlYWs7CisgICAgfTsKKyAgICBSZWZQdHI8
UGxhdGZvcm1DQUxheWVyPiBuZXdMYXllciA9IFBsYXRmb3JtQ0FMYXllcjo6Y3JlYXRlKHR5cGUs
IG93bmVyKTsKKworICAgIG5ld0xheWVyLT5zZXRQb3NpdGlvbihwb3NpdGlvbigpKTsKKyAgICBu
ZXdMYXllci0+c2V0Qm91bmRzKGJvdW5kcygpKTsKKyAgICBuZXdMYXllci0+c2V0QW5jaG9yUG9p
bnQoYW5jaG9yUG9pbnQoKSk7CisgICAgbmV3TGF5ZXItPnNldFRyYW5zZm9ybSh0cmFuc2Zvcm0o
KSk7CisgICAgbmV3TGF5ZXItPnNldFN1YmxheWVyVHJhbnNmb3JtKHN1YmxheWVyVHJhbnNmb3Jt
KCkpOworICAgIG5ld0xheWVyLT5zZXRDb250ZW50cyhjb250ZW50cygpKTsKKyAgICBuZXdMYXll
ci0+c2V0TWFza3NUb0JvdW5kcyhtYXNrc1RvQm91bmRzKCkpOworICAgIG5ld0xheWVyLT5zZXRE
b3VibGVTaWRlZChpc0RvdWJsZVNpZGVkKCkpOworICAgIG5ld0xheWVyLT5zZXRPcGFxdWUoaXNP
cGFxdWUoKSk7CisgICAgbmV3TGF5ZXItPnNldEJhY2tncm91bmRDb2xvcihiYWNrZ3JvdW5kQ29s
b3IoKSk7CisgICAgbmV3TGF5ZXItPnNldENvbnRlbnRzU2NhbGUoY29udGVudHNTY2FsZSgpKTsK
KyNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCisgICAgbmV3TGF5ZXItPmNvcHlGaWx0ZXJzRnJvbSh0
aGlzKTsKKyNlbmRpZgorCisgICAgaWYgKHR5cGUgPT0gTGF5ZXJUeXBlQVZQbGF5ZXJMYXllcikK
KyAgICAgICAgW25ld0xheWVyLT5wbGF5ZXJMYXllcigpIHNldFBsYXllcjpbcGxheWVyTGF5ZXIo
KSBwbGF5ZXJdXTsKKworICAgIHJldHVybiBuZXdMYXllcjsKK30KKwogUGxhdGZvcm1DQUxheWVy
Ojp+UGxhdGZvcm1DQUxheWVyKCkKIHsKICAgICBbbV9sYXllci5nZXQoKSBzZXRWYWx1ZTpuaWwg
Zm9yS2V5OnBsYXRmb3JtQ0FMYXllclBvaW50ZXJdOwpAQCAtODExLDQgKzg2MSwxMCBAQCB2b2lk
IFBsYXRmb3JtQ0FMYXllcjo6c3luY2hyb25vdXNseURpc3BsYXlUaWxlc0luUmVjdChjb25zdCBG
bG9hdFJlY3QmIHJlY3QpCiB9CiAjZW5kaWYKIAorQVZQbGF5ZXJMYXllciogUGxhdGZvcm1DQUxh
eWVyOjpwbGF5ZXJMYXllcigpIGNvbnN0Cit7CisgICAgQVNTRVJUKFttX2xheWVyLmdldCgpIGlz
S2luZE9mQ2xhc3M6Z2V0QVZQbGF5ZXJMYXllckNsYXNzKCldKTsKKyAgICByZXR1cm4gKEFWUGxh
eWVyTGF5ZXIqKW1fbGF5ZXIuZ2V0KCk7Cit9CisKICNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwCmluZGV4IGJiYThmMmM1Y2E1
Y2UyNDI1ZjhhYWE2YmJkM2M1ZjEwMzlkNzY3MzAuLjAyOGVkNzgzOTcwNDEyNDEwNmEwNmU0MTc5
NWY4MDkyODdhN2VhYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwCkBAIC0xNDksNiAr
MTQ5LDMwIEBAIFBsYXRmb3JtQ0FMYXllciogUGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5
ZXIodm9pZCogcGxhdGZvcm1MYXllcikKICAgICByZXR1cm4gbGF5ZXJJbnRlcm4gPyBsYXllcklu
dGVybi0+b3duZXIoKSA6IDA7CiB9CiAKK1Bhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBQbGF0
Zm9ybUNBTGF5ZXI6OmNsb25lKFBsYXRmb3JtQ0FMYXllckNsaWVudCogb3duZXIpIGNvbnN0Cit7
CisgICAgUGxhdGZvcm1DQUxheWVyOjpMYXllclR5cGUgbGF5ZXJUeXBlID0gKGxheWVyLT5sYXll
clR5cGUoKSA9PSBQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZVRyYW5zZm9ybUxheWVyKSA/Cisg
ICAgICAgIFBsYXRmb3JtQ0FMYXllcjo6TGF5ZXJUeXBlVHJhbnNmb3JtTGF5ZXIgOiBQbGF0Zm9y
bUNBTGF5ZXI6OkxheWVyVHlwZUxheWVyOworICAgIFJlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IG5l
d0xheWVyID0gUGxhdGZvcm1DQUxheWVyOjpjcmVhdGUobGF5ZXJUeXBlLCB0aGlzKTsKKworICAg
IG5ld0xheWVyLT5zZXRQb3NpdGlvbihsYXllci0+cG9zaXRpb24oKSk7CisgICAgbmV3TGF5ZXIt
PnNldEJvdW5kcyhsYXllci0+Ym91bmRzKCkpOworICAgIG5ld0xheWVyLT5zZXRBbmNob3JQb2lu
dChsYXllci0+YW5jaG9yUG9pbnQoKSk7CisgICAgbmV3TGF5ZXItPnNldFRyYW5zZm9ybShsYXll
ci0+dHJhbnNmb3JtKCkpOworICAgIG5ld0xheWVyLT5zZXRTdWJsYXllclRyYW5zZm9ybShsYXll
ci0+c3VibGF5ZXJUcmFuc2Zvcm0oKSk7CisgICAgbmV3TGF5ZXItPnNldENvbnRlbnRzKGxheWVy
LT5jb250ZW50cygpKTsKKyAgICBuZXdMYXllci0+c2V0TWFza3NUb0JvdW5kcyhsYXllci0+bWFz
a3NUb0JvdW5kcygpKTsKKyAgICBuZXdMYXllci0+c2V0RG91YmxlU2lkZWQobGF5ZXItPmlzRG91
YmxlU2lkZWQoKSk7CisgICAgbmV3TGF5ZXItPnNldE9wYXF1ZShsYXllci0+aXNPcGFxdWUoKSk7
CisgICAgbmV3TGF5ZXItPnNldEJhY2tncm91bmRDb2xvcihsYXllci0+YmFja2dyb3VuZENvbG9y
KCkpOworICAgIG5ld0xheWVyLT5zZXRDb250ZW50c1NjYWxlKGxheWVyLT5jb250ZW50c1NjYWxl
KCkpOworI2lmIEVOQUJMRShDU1NfRklMVEVSUykKKyAgICBuZXdMYXllci0+Y29weUZpbHRlcnNG
cm9tKGxheWVyKTsKKyNlbmRpZgorCisgICAgcmV0dXJuIG5ld0xheWVyOworfQorCiBQbGF0Zm9y
bUxheWVyKiBQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAogewogICAgIHJl
dHVybiBtX2xheWVyLmdldCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU0ZGNiYWUwMzBkZDQ4OTcwMjcwNzFkOWY3OTg4
ZDhmNWYyOTM1NzAuLjEzMTUwMTczZWU4YjJhOWE3NjA4OGZkYmMzOTc0ZDNhOGU2ZjkwMDUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wMy0xNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OOiAtd2Via2l0LWJveC1yZWZsZWN0IGRvZXMg
bm90IHNob3cgb24gdmlkZW8gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExMjM5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tcmVmbGVjdGlvbi1l
eHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLXJl
ZmxlY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy92aWRl
by92aWRlby1yZWZsZWN0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAzLTE0ICBDaHJpcyBGbGVp
emFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IENyYXNoIHdoZW4gcmVt
b3ZpbmcgYXJpYS1tZW51IGl0ZW0gZnJvbSBET00KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLXJlZmxlY3Rpb24tZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tcmVmbGVjdGlvbi1leHBlY3RlZC5wbmcKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTM2MGU2ODNmZjM5MDY1ZmQ3YjZjMTZjZWY5MWJhZjFjYWU2OTI1ZQpHSVQgYmluYXJ5
IHBhdGNoCmxpdGVyYWwgOTc0NAp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkx
QiVRbFlicFJ6bmtCOWdDQ000NyQ9U3VGeGVSNyQKenJwYnZXNzhhSTxtTHtlS2hVUTYwWD1hSXJN
dXcmKW1XZ0kqRFFQWjNObmFUbFIyTy09SUVHWCh6UCl+c2xSPCVwCnojY31KJkZZJXBDdTVZcTA5
WEw0UXtKV1Z1UFlXdElHJXpxU3YyWHx8STRCNU05Qmt1K3VweHBxakVzKjJLfmhqUAp6Q3M8Zksr
O1RmJDhpMW1Wa0p2fSRONWZ8e2VTcWBPWCNOOzJBNGJjXihmUj5lcF5ueSVxd1J5eV9SKG5qYUl9
M20KeitDQ2dAOXxIVEJxd1Y5LV9WSC1AYyhpPnkrQ0J5a3hRK0c/TSo5YiZ7ZSNpfCFEIzxydzB8
KCNLTiMmRmpQe1I0Cno9TkN1a1M0WmNVTjlXaCFpeDVXRjdtVGoyNytycmR5OFpASUJvNGRyPDNA
SkI5SlZiY2FmZy16bXZ9TEZ5ODV9UwpJYjRxOWUwRiNod1dCPnBGCgpsaXRlcmFsIDAKSGNtVj9k
MDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy92aWRlby92aWRlby1y
ZWZsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3ZpZGVvL3Zp
ZGVvLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1N2YzYThiZWY3OGIwMzc1
MjIyM2I1ZmMwNWYxNTljY2ZjNWQxYTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy92aWRlby92aWRlby1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDIgQEAKK0VYUEVDVEVEICh2aWRlby5jdXJyZW50VGltZSA9PSAnMScpIE9LCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLXJlZmxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLXJlZmxlY3Rpb24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44YjhlMDBiZTlkMjc2YzRkMzBjODZmODk2YmExMmU0YWJlMDRkY2E3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tcmVmbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhl
YWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9tZWRpYS9tZWRpYS1maWxlLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL21lZGlhL3ZpZGVvLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVz
dFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgICAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndmlkZW8nKTsKKyAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCdj
YW5wbGF5dGhyb3VnaCcsIGNhbnBsYXl0aHJvdWdoLCB0cnVlKTsKKyAgICAgICAgICAgICAgICB2
aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCd2aWRlbycsICcuLi8uLi9tZWRpYS9jb250ZW50L3Rl
c3QnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhbnBsYXl0aHJvdWdo
KGUpIHsKKyAgICAgICAgICAgICAgICB2YXIgdmlkZW8gPSBlLnRhcmdldDsKKyAgICAgICAgICAg
ICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCdzZWVrZWQnLCBzZWVrZWQsIHRydWUpOworICAg
ICAgICAgICAgICAgIHZpZGVvLmN1cnJlbnRUaW1lID0gMTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGZ1bmN0aW9uIHNlZWtlZChlKSB7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCd2aWRlby5jdXJyZW50VGltZScsIDEpOworCisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZGlzcGxheSgpOwor
ICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsgfSwgMTUwKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICB2aWRlbyB7Cisg
ICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtcmVmbGVjdDogYmVsb3cgMHB4OworICAgICAgICAg
ICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHJlZDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgICAg
ICA8dmlkZW8gaWQ9InZpZGVvIj48L3ZpZGVvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193326</attachid>
            <date>2013-03-15 09:58:13 -0700</date>
            <delta_ts>2013-03-21 17:08:00 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-112397-20130315095408.patch</filename>
            <type>text/plain</type>
            <size>42341</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1ODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQwMDM1NDE2ZjI0Yzkx
NDE5NDdkZGVmZjcxYmI3NGVhN2I4MmY4OC4uNGNmNjM1MzIwNTNjMDVlODNjMjc1Y2UzNTIyNDA4
YmM3NThlZDc3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACiswMTMtMDMtMTQgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTjogLXdlYmtp
dC1ib3gtcmVmbGVjdCBkb2VzIG5vdCBzaG93IG9uIHZpZGVvIGVsZW1lbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzOTcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBjb21wb3NpdGluZy92
aWRlby92aWRlby1yZWZsZWN0aW9uLmh0bWwKKworICAgICAgICBTdXBwb3J0IGNsb25pbmcgc3Bl
Y2lmaWMgQ0FMYXllciBzdWJ0eXBlcyBpbiBQbGF0Zm9ybUNBTGF5ZXIsCisgICAgICAgIHdoaWNo
IGFsbG93cyByZWZsZWN0aW9ucyB0byB3b3JrIGNvcnJlY3RseSBmb3IgdGhvc2UgbGF5ZXIgdHlw
ZXMuCisgICAgICAgIFNwZWNpZmljYWxseSwgYWRkIHN1cHBvcnQgZm9yIGNsb25pbmcgQVZQbGF5
ZXJMYXllciBsYXllcnMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGlj
c0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpjbG9uZUxh
eWVyKTogTW92ZWQgbW9zdCBvZiB0aGUKKyAgICAgICAgICAgIGltcGxlbWVudGF0aW9uIHRvIFBs
YXRmb3JtQ0FMYXllcjo6Y2xvbmUoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9Q
bGF0Zm9ybUNBTGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxh
dGZvcm1DQUxheWVyTWFjLm1tOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyOjpQbGF0Zm9ybUNB
TGF5ZXIpOiBTZXQgdGhlIGxheWVyVHlwZSB0byAKKyAgICAgICAgICAgIExheWVyVHlwZUFWUGxh
eWVyTGF5ZXIgaWYgdGhlIFBsYXRmb3JtTGF5ZXIgcGFyYW1ldGVyIGlzIGFuCisgICAgICAgICAg
ICBBVlBsYXllckxheWVyLgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyOjpjbG9uZSk6IE1vdmVk
IGZyb20gR3JhcGhpY3NMYXllckNBOjpjbG9uZUxheWVyKCkuCisgICAgICAgICAgICBDb3B5IHRo
ZSBwbGF5ZXIgdmFsdWUgdG8gdGhlIG5ldyBsYXllciwgaWYgdGhlIGN1cnJlbnQgbGF5ZXIgaXMK
KyAgICAgICAgICAgIGEgTGF5ZXJUeXBlQVZQbGF5ZXJMYXllci4KKyAgICAgICAgKFBsYXRmb3Jt
Q0FMYXllcjo6cGxheWVyTGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dp
bi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyOjpjbG9u
ZSk6IE1vdmVkIGZyb20gR3JhcGhpY3NMYXllckNBOjpjbG9uZUxheWVyKCkuCisgICAgICAgICAg
ICBNYXkgd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgQVZDRlBsYXllckxheWVycyBpbiB0aGUgZnV0
dXJlLgorCiAyMDEzLTAzLTE0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+
CiAKICAgICAgICAgQVg6IENyYXNoIHdoZW4gcmVtb3ZpbmcgYXJpYS1tZW51IGl0ZW0gZnJvbSBE
T00KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBo
aWNzTGF5ZXJDQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFw
aGljc0xheWVyQ0EuY3BwCmluZGV4IDZlNWJkNzc0NjRkODFlZmQ3NDlkYTM0YzQ4ZDFhYzMyZjY2
MTAwYjcuLjE2Y2I5ZWMyOTVmMmM3ZDY5NjRlNTI5ZjM1MjM1MjFjZjA1NDM2MWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXll
ckNBLmNwcApAQCAtMjg4OSwyNCArMjg4OSw3IEBAIFBhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVy
PiBHcmFwaGljc0xheWVyQ0E6OmZldGNoQ2xvbmVMYXllcnMoR3JhcGhpY3NMYXllciogcmVwCiAK
IFBhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBHcmFwaGljc0xheWVyQ0E6OmNsb25lTGF5ZXIo
UGxhdGZvcm1DQUxheWVyICpsYXllciwgQ2xvbmVMZXZlbCBjbG9uZUxldmVsKQogewotICAgIFBs
YXRmb3JtQ0FMYXllcjo6TGF5ZXJUeXBlIGxheWVyVHlwZSA9IChsYXllci0+bGF5ZXJUeXBlKCkg
PT0gUGxhdGZvcm1DQUxheWVyOjpMYXllclR5cGVUcmFuc2Zvcm1MYXllcikgPyAKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsYXRmb3JtQ0FMYXllcjo6
TGF5ZXJUeXBlVHJhbnNmb3JtTGF5ZXIgOiBQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZUxheWVy
OwotICAgIFJlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IG5ld0xheWVyID0gUGxhdGZvcm1DQUxheWVy
OjpjcmVhdGUobGF5ZXJUeXBlLCB0aGlzKTsKLSAgICAKLSAgICBuZXdMYXllci0+c2V0UG9zaXRp
b24obGF5ZXItPnBvc2l0aW9uKCkpOwotICAgIG5ld0xheWVyLT5zZXRCb3VuZHMobGF5ZXItPmJv
dW5kcygpKTsKLSAgICBuZXdMYXllci0+c2V0QW5jaG9yUG9pbnQobGF5ZXItPmFuY2hvclBvaW50
KCkpOwotICAgIG5ld0xheWVyLT5zZXRUcmFuc2Zvcm0obGF5ZXItPnRyYW5zZm9ybSgpKTsKLSAg
ICBuZXdMYXllci0+c2V0U3VibGF5ZXJUcmFuc2Zvcm0obGF5ZXItPnN1YmxheWVyVHJhbnNmb3Jt
KCkpOwotICAgIG5ld0xheWVyLT5zZXRDb250ZW50cyhsYXllci0+Y29udGVudHMoKSk7Ci0gICAg
bmV3TGF5ZXItPnNldE1hc2tzVG9Cb3VuZHMobGF5ZXItPm1hc2tzVG9Cb3VuZHMoKSk7Ci0gICAg
bmV3TGF5ZXItPnNldERvdWJsZVNpZGVkKGxheWVyLT5pc0RvdWJsZVNpZGVkKCkpOwotICAgIG5l
d0xheWVyLT5zZXRPcGFxdWUobGF5ZXItPmlzT3BhcXVlKCkpOwotICAgIG5ld0xheWVyLT5zZXRC
YWNrZ3JvdW5kQ29sb3IobGF5ZXItPmJhY2tncm91bmRDb2xvcigpKTsKLSAgICBuZXdMYXllci0+
c2V0Q29udGVudHNTY2FsZShsYXllci0+Y29udGVudHNTY2FsZSgpKTsKLSNpZiBFTkFCTEUoQ1NT
X0ZJTFRFUlMpCi0gICAgbmV3TGF5ZXItPmNvcHlGaWx0ZXJzRnJvbShsYXllcik7Ci0jZW5kaWYK
KyAgICBSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBuZXdMYXllciA9IGxheWVyLT5jbG9uZSh0aGlz
KTsKIAogICAgIGlmIChjbG9uZUxldmVsID09IEludGVybWVkaWF0ZUNsb25lTGV2ZWwpIHsKICAg
ICAgICAgbmV3TGF5ZXItPnNldE9wYWNpdHkobGF5ZXItPm9wYWNpdHkoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oCmlu
ZGV4IGFkYWZmNWI1NDM2YjgxZmJhMmI2ZjVmMjlkMmIzMjIxYWQ2NGViNmQuLjE1NmFiMzY4Mzkx
OGQxZGUwZWExNzNmNGY4NTcxOWRiYjljNWNlZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oCkBAIC00MSw2ICs0MSw4
IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCitPQkpDX0NMQVNTIEFWUGxheWVyTGF5ZXI7CisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgUGxhdGZvcm1DQUxheWVyOwpAQCAtNjIsNiArNjQsNyBAQCBwdWJs
aWM6CiAgICAgICAgIExheWVyVHlwZVRpbGVkQmFja2luZ0xheWVyLAogICAgICAgICBMYXllclR5
cGVQYWdlVGlsZWRCYWNraW5nTGF5ZXIsCiAgICAgICAgIExheWVyVHlwZVJvb3RMYXllciwKKyAg
ICAgICAgTGF5ZXJUeXBlQVZQbGF5ZXJMYXllciwKICAgICAgICAgTGF5ZXJUeXBlQ3VzdG9tCiAg
ICAgfTsKICAgICBlbnVtIEZpbHRlclR5cGUgeyBMaW5lYXIsIE5lYXJlc3QsIFRyaWxpbmVhciB9
OwpAQCAtNzIsNiArNzUsOCBAQCBwdWJsaWM6CiAgICAgLy8gaXMgZGVmaW5lZCBkaWZmZXJlbnRs
eSBmb3IgT2JqIEMgYW5kIEMrKy4gVGhpcyBhbGxvd3MgY2FsbGVycyBmcm9tIGJvdGggbGFuZ3Vh
Z2VzLgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gY3JlYXRlKHZvaWQq
IHBsYXRmb3JtTGF5ZXIsIFBsYXRmb3JtQ0FMYXllckNsaWVudCopOwogCisgICAgUGFzc1JlZlB0
cjxQbGF0Zm9ybUNBTGF5ZXI+IGNsb25lKFBsYXRmb3JtQ0FMYXllckNsaWVudCopIGNvbnN0Owor
CiAgICAgflBsYXRmb3JtQ0FMYXllcigpOwogICAgIAogICAgIC8vIFRoaXMgZnVuY3Rpb24gcGFz
c2VzIHRoZSBsYXllciBhcyBhIHZvaWQqIHJhdGhlciB0aGFuIGEgUGxhdGZvcm1MYXllciBiZWNh
dXNlIFBsYXRmb3JtTGF5ZXIKQEAgLTIyNyw4ICsyMzIsMTAgQEAgcHVibGljOgogCiBwcm90ZWN0
ZWQ6CiAgICAgUGxhdGZvcm1DQUxheWVyKExheWVyVHlwZSwgUGxhdGZvcm1MYXllciosIFBsYXRm
b3JtQ0FMYXllckNsaWVudCopOwotICAgIAorCiBwcml2YXRlOgorICAgIEFWUGxheWVyTGF5ZXIq
IHBsYXllckxheWVyKCkgY29uc3Q7CisKICAgICBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQqIG1fb3du
ZXI7CiAgICAgTGF5ZXJUeXBlIG1fbGF5ZXJUeXBlOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJN
YWMubW0KaW5kZXggYzRlZTVmMDc0ODUwODI0NGZhNGZmMGRlZDE3MWRiZTBlYmVlOTEzMS4uNDQw
NTU5Nzc4N2Y4ZjVhMmZjNmVkMmRkMzhhZDhkZGIzYzhiNWJlYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxh
eWVyTWFjLm1tCkBAIC0zNSwxNyArMzUsMjMgQEAKICNpbXBvcnQgIkdyYXBoaWNzTGF5ZXJDQS5o
IgogI2ltcG9ydCAiTGVuZ3RoRnVuY3Rpb25zLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUNBRmlsdGVy
cy5oIgorI2ltcG9ydCAiU29mdExpbmtpbmcuaCIKICNpbXBvcnQgIlRpbGVkQmFja2luZy5oIgog
I2ltcG9ydCAiV2ViTGF5ZXIuaCIKICNpbXBvcnQgIldlYlRpbGVkTGF5ZXIuaCIKICNpbXBvcnQg
IldlYlRpbGVkQmFja2luZ0xheWVyLmgiCiAjaW1wb3J0IDxvYmpjL29iamMtYXV0by5oPgogI2lt
cG9ydCA8b2JqYy9ydW50aW1lLmg+CisjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZGb3VuZGF0aW9u
Lmg+CiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KICNpbXBvcnQgPHd0Zi9DdXJy
ZW50VGltZS5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMuaD4KKyNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCitTT0ZUX0xJTktfRlJBTUVX
T1JLX09QVElPTkFMKEFWRm91bmRhdGlvbikKK1NPRlRfTElOS19DTEFTUyhBVkZvdW5kYXRpb24s
IEFWUGxheWVyTGF5ZXIpCisKIHVzaW5nIHN0ZDo6bWluOwogdXNpbmcgc3RkOjptYXg7CiAKQEAg
LTc2LDcgKzgyLDcgQEAgc3RhdGljIGRvdWJsZSBtZWRpYVRpbWVUb0N1cnJlbnRUaW1lKENGVGlt
ZUludGVydmFsIHQpCiAgICAgLy8gaGFzTm9uWmVyb0JlZ2luVGltZSBpcyBzdG9yZWQgaW4gYSBr
ZXkgaW4gdGhlIGFuaW1hdGlvbgogICAgIGJvb2wgaGFzTm9uWmVyb0JlZ2luVGltZSA9IFtbYW5p
bWF0aW9uIHZhbHVlRm9yS2V5OldLTm9uWmVyb0JlZ2luVGltZUZsYWddIGJvb2xWYWx1ZV07CiAg
ICAgQ0ZUaW1lSW50ZXJ2YWwgc3RhcnRUaW1lOwotICAgIAorCiAgICAgaWYgKGhhc05vblplcm9C
ZWdpblRpbWUpIHsKICAgICAgICAgLy8gV2UgZG9uJ3Qga25vdyB3aGF0IHRpbWUgQ0EgdXNlZCB0
byBjb21taXQgdGhlIGFuaW1hdGlvbiwgc28ganVzdCB1c2UgdGhlIGN1cnJlbnQgdGltZQogICAg
ICAgICAvLyAoZXZlbiB0aG91Z2ggdGhpcyB3aWxsIGJlIHNsaWdodGx5IG9mZikuCkBAIC0xNzMs
NyArMTc5LDEwIEBAIFBsYXRmb3JtQ0FMYXllcjo6UGxhdGZvcm1DQUxheWVyKExheWVyVHlwZSBs
YXllclR5cGUsIFBsYXRmb3JtTGF5ZXIqIGxheWVyLCBQbGF0CiB7CiAgICAgQkVHSU5fQkxPQ0tf
T0JKQ19FWENFUFRJT05TCiAgICAgaWYgKGxheWVyKSB7Ci0gICAgICAgIG1fbGF5ZXJUeXBlID0g
TGF5ZXJUeXBlQ3VzdG9tOworICAgICAgICBpZiAoW2xheWVyIGlzS2luZE9mQ2xhc3M6Z2V0QVZQ
bGF5ZXJMYXllckNsYXNzKCldKQorICAgICAgICAgICAgbV9sYXllclR5cGUgPSBMYXllclR5cGVB
VlBsYXllckxheWVyOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2xheWVyVHlwZSA9IExh
eWVyVHlwZUN1c3RvbTsKICAgICAgICAgbV9sYXllciA9IGxheWVyOwogICAgIH0gZWxzZSB7CiAg
ICAgICAgIG1fbGF5ZXJUeXBlID0gbGF5ZXJUeXBlOwpAQCAtMTk3LDYgKzIwNiw5IEBAIFBsYXRm
b3JtQ0FMYXllcjo6UGxhdGZvcm1DQUxheWVyKExheWVyVHlwZSBsYXllclR5cGUsIFBsYXRmb3Jt
TGF5ZXIqIGxheWVyLCBQbGF0CiAgICAgICAgICAgICBjYXNlIExheWVyVHlwZVBhZ2VUaWxlZEJh
Y2tpbmdMYXllcjoKICAgICAgICAgICAgICAgICBsYXllckNsYXNzID0gW1dlYlRpbGVkQmFja2lu
Z0xheWVyIGNsYXNzXTsKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2Ug
TGF5ZXJUeXBlQVZQbGF5ZXJMYXllcjoKKyAgICAgICAgICAgICAgICBsYXllckNsYXNzID0gZ2V0
QVZQbGF5ZXJMYXllckNsYXNzKCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICBjYXNlIExheWVyVHlwZUN1c3RvbToKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQpAQCAtMjI5LDYgKzI0MSw0NCBAQCBQbGF0Zm9ybUNBTGF5ZXI6OlBsYXRmb3JtQ0FMYXllcihM
YXllclR5cGUgbGF5ZXJUeXBlLCBQbGF0Zm9ybUxheWVyKiBsYXllciwgUGxhdAogICAgIEVORF9C
TE9DS19PQkpDX0VYQ0VQVElPTlMKIH0KIAorUGFzc1JlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IFBs
YXRmb3JtQ0FMYXllcjo6Y2xvbmUoUGxhdGZvcm1DQUxheWVyQ2xpZW50KiBvd25lcikgY29uc3QK
K3sKKyAgICBMYXllclR5cGUgdHlwZTsKKyAgICBzd2l0Y2ggKGxheWVyVHlwZSgpKSB7CisgICAg
Y2FzZSBMYXllclR5cGVUcmFuc2Zvcm1MYXllcjoKKyAgICAgICAgdHlwZSA9IExheWVyVHlwZVRy
YW5zZm9ybUxheWVyOworICAgICAgICBicmVhazsKKyAgICBjYXNlIExheWVyVHlwZUFWUGxheWVy
TGF5ZXI6CisgICAgICAgIHR5cGUgPSBMYXllclR5cGVBVlBsYXllckxheWVyOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIExheWVyVHlwZUxheWVyOgorICAgIGRlZmF1bHQ6CisgICAgICAgIHR5
cGUgPSBMYXllclR5cGVMYXllcjsKKyAgICAgICAgYnJlYWs7CisgICAgfTsKKyAgICBSZWZQdHI8
UGxhdGZvcm1DQUxheWVyPiBuZXdMYXllciA9IFBsYXRmb3JtQ0FMYXllcjo6Y3JlYXRlKHR5cGUs
IG93bmVyKTsKKworICAgIG5ld0xheWVyLT5zZXRQb3NpdGlvbihwb3NpdGlvbigpKTsKKyAgICBu
ZXdMYXllci0+c2V0Qm91bmRzKGJvdW5kcygpKTsKKyAgICBuZXdMYXllci0+c2V0QW5jaG9yUG9p
bnQoYW5jaG9yUG9pbnQoKSk7CisgICAgbmV3TGF5ZXItPnNldFRyYW5zZm9ybSh0cmFuc2Zvcm0o
KSk7CisgICAgbmV3TGF5ZXItPnNldFN1YmxheWVyVHJhbnNmb3JtKHN1YmxheWVyVHJhbnNmb3Jt
KCkpOworICAgIG5ld0xheWVyLT5zZXRDb250ZW50cyhjb250ZW50cygpKTsKKyAgICBuZXdMYXll
ci0+c2V0TWFza3NUb0JvdW5kcyhtYXNrc1RvQm91bmRzKCkpOworICAgIG5ld0xheWVyLT5zZXRE
b3VibGVTaWRlZChpc0RvdWJsZVNpZGVkKCkpOworICAgIG5ld0xheWVyLT5zZXRPcGFxdWUoaXNP
cGFxdWUoKSk7CisgICAgbmV3TGF5ZXItPnNldEJhY2tncm91bmRDb2xvcihiYWNrZ3JvdW5kQ29s
b3IoKSk7CisgICAgbmV3TGF5ZXItPnNldENvbnRlbnRzU2NhbGUoY29udGVudHNTY2FsZSgpKTsK
KyNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCisgICAgbmV3TGF5ZXItPmNvcHlGaWx0ZXJzRnJvbSh0
aGlzKTsKKyNlbmRpZgorCisgICAgaWYgKHR5cGUgPT0gTGF5ZXJUeXBlQVZQbGF5ZXJMYXllcikK
KyAgICAgICAgW25ld0xheWVyLT5wbGF5ZXJMYXllcigpIHNldFBsYXllcjpbcGxheWVyTGF5ZXIo
KSBwbGF5ZXJdXTsKKworICAgIHJldHVybiBuZXdMYXllcjsKK30KKwogUGxhdGZvcm1DQUxheWVy
Ojp+UGxhdGZvcm1DQUxheWVyKCkKIHsKICAgICBbbV9sYXllci5nZXQoKSBzZXRWYWx1ZTpuaWwg
Zm9yS2V5OnBsYXRmb3JtQ0FMYXllclBvaW50ZXJdOwpAQCAtODExLDQgKzg2MSwxMCBAQCB2b2lk
IFBsYXRmb3JtQ0FMYXllcjo6c3luY2hyb25vdXNseURpc3BsYXlUaWxlc0luUmVjdChjb25zdCBG
bG9hdFJlY3QmIHJlY3QpCiB9CiAjZW5kaWYKIAorQVZQbGF5ZXJMYXllciogUGxhdGZvcm1DQUxh
eWVyOjpwbGF5ZXJMYXllcigpIGNvbnN0Cit7CisgICAgQVNTRVJUKFttX2xheWVyLmdldCgpIGlz
S2luZE9mQ2xhc3M6Z2V0QVZQbGF5ZXJMYXllckNsYXNzKCldKTsKKyAgICByZXR1cm4gKEFWUGxh
eWVyTGF5ZXIqKW1fbGF5ZXIuZ2V0KCk7Cit9CisKICNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwCmluZGV4IGJiYThmMmM1Y2E1
Y2UyNDI1ZjhhYWE2YmJkM2M1ZjEwMzlkNzY3MzAuLmRkMDA2MzIwZjJjODQ4YzJmNjg2NmU0OGEz
M2FmMWVhNzZiZGVhZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwCkBAIC0xNDksNiAr
MTQ5LDMwIEBAIFBsYXRmb3JtQ0FMYXllciogUGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5
ZXIodm9pZCogcGxhdGZvcm1MYXllcikKICAgICByZXR1cm4gbGF5ZXJJbnRlcm4gPyBsYXllcklu
dGVybi0+b3duZXIoKSA6IDA7CiB9CiAKK1Bhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBQbGF0
Zm9ybUNBTGF5ZXI6OmNsb25lKFBsYXRmb3JtQ0FMYXllckNsaWVudCogb3duZXIpIGNvbnN0Cit7
CisgICAgUGxhdGZvcm1DQUxheWVyOjpMYXllclR5cGUgbGF5ZXJUeXBlID0gKGxheWVyVHlwZSgp
ID09IFBsYXRmb3JtQ0FMYXllcjo6TGF5ZXJUeXBlVHJhbnNmb3JtTGF5ZXIpID8KKyAgICAgICAg
UGxhdGZvcm1DQUxheWVyOjpMYXllclR5cGVUcmFuc2Zvcm1MYXllciA6IFBsYXRmb3JtQ0FMYXll
cjo6TGF5ZXJUeXBlTGF5ZXI7CisgICAgUmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gbmV3TGF5ZXIg
PSBQbGF0Zm9ybUNBTGF5ZXI6OmNyZWF0ZShsYXllclR5cGUsIG93bmVyKTsKKworICAgIG5ld0xh
eWVyLT5zZXRQb3NpdGlvbihwb3NpdGlvbigpKTsKKyAgICBuZXdMYXllci0+c2V0Qm91bmRzKGJv
dW5kcygpKTsKKyAgICBuZXdMYXllci0+c2V0QW5jaG9yUG9pbnQoYW5jaG9yUG9pbnQoKSk7Cisg
ICAgbmV3TGF5ZXItPnNldFRyYW5zZm9ybSh0cmFuc2Zvcm0oKSk7CisgICAgbmV3TGF5ZXItPnNl
dFN1YmxheWVyVHJhbnNmb3JtKHN1YmxheWVyVHJhbnNmb3JtKCkpOworICAgIG5ld0xheWVyLT5z
ZXRDb250ZW50cyhjb250ZW50cygpKTsKKyAgICBuZXdMYXllci0+c2V0TWFza3NUb0JvdW5kcyht
YXNrc1RvQm91bmRzKCkpOworICAgIG5ld0xheWVyLT5zZXREb3VibGVTaWRlZChpc0RvdWJsZVNp
ZGVkKCkpOworICAgIG5ld0xheWVyLT5zZXRPcGFxdWUoaXNPcGFxdWUoKSk7CisgICAgbmV3TGF5
ZXItPnNldEJhY2tncm91bmRDb2xvcihiYWNrZ3JvdW5kQ29sb3IoKSk7CisgICAgbmV3TGF5ZXIt
PnNldENvbnRlbnRzU2NhbGUoY29udGVudHNTY2FsZSgpKTsKKyNpZiBFTkFCTEUoQ1NTX0ZJTFRF
UlMpCisgICAgbmV3TGF5ZXItPmNvcHlGaWx0ZXJzRnJvbSh0aGlzKTsKKyNlbmRpZgorCisgICAg
cmV0dXJuIG5ld0xheWVyOworfQorCiBQbGF0Zm9ybUxheWVyKiBQbGF0Zm9ybUNBTGF5ZXI6OnBs
YXRmb3JtTGF5ZXIoKSBjb25zdAogewogICAgIHJldHVybiBtX2xheWVyLmdldCgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGU0ZGNiYWUwMzBkZDQ4OTcwMjcwNzFkOWY3OTg4ZDhmNWYyOTM1NzAuLjEzMTUwMTczZWU4YjJh
OWE3NjA4OGZkYmMzOTc0ZDNhOGU2ZjkwMDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0w
My0xNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNT
SU9OOiAtd2Via2l0LWJveC1yZWZsZWN0IGRvZXMgbm90IHNob3cgb24gdmlkZW8gZWxlbWVudHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjM5Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY29tcG9z
aXRpbmcvdmlkZW8vdmlkZW8tcmVmbGVjdGlvbi1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAg
ICAqIGNvbXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy92aWRlby92aWRlby1yZWZsZWN0aW9uLmh0bWw6IEFk
ZGVkLgorCiAyMDEzLTAzLTE0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+
CiAKICAgICAgICAgQVg6IENyYXNoIHdoZW4gcmVtb3ZpbmcgYXJpYS1tZW51IGl0ZW0gZnJvbSBE
T00KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLXJlZmxl
Y3Rpb24tZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8t
cmVmbGVjdGlvbi1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU3NGI4N2I1ZWRmZGFhNWZiNzJi
MmI3NmY4ZjUxMDVkYzFhYjNhOApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjc4NTIKemNtZUZa
Y1JiWl57NkN4I0ROJDVYUnZ9MyF2Uy1zeWt2K0BHanZSWlBeaHJ8byVzNz5teV5sU0xCSUo7OVlf
aikwCnokMmBZPHowWG5sSzdQT1prTmFgfGB+M0BWP3tRdFBAcUZ6bztLNjtsPDQ0YU9KI15eTWFS
dkUxWUtJUHl1Xmw9QAp6cyhwazRUelQqTzt1LWtDP1F+YiQkPmdiLWlTPWBzP0lBSS1ZcjthTlZ1
RFd1MWpTNW1oPzx6Mm4rVGJoaUpGKisKei03cW5JRUdBYUs3WElZV0E9eUk7Y1d5cCVDMFE4cyRk
YWAxViNQfmdPVm0hc0E8fEVec041bTN4dDt2Izx4OXRzCno+cyN6TWRNcG9KY3c9akd0RX45QW1Q
RmBmbjlWaDw7Uk9sfXhUWTAtJmhlQWMtQGpZRUMlMzZSQGdiemBOYDRMVQp6TEpifUReKytxVXJf
Wnw9M3YyeHdKKmJzPHNsc1RuM0orJnp0a0FFTyNhNzkrbU1KJT5EVVYlRz1mdjNGSntDVCoKelY8
ZT5ITV4zUUdgV156bSg4IUtfQ0tHKmlgX0pGZEtSKGNmXy1AfGF6WDdeMVFjS1JrTXROXlJfVGFm
QV4wSz0kCnp8MipgfW4zT0pyRVhrU2VwTGNWeGN+ayFWKDIqME8qR1EtdTtTVktGe1BUVlBSSiE7
Z3Eya3hqUSQzZ0FidTVVWQp6aHEmeH49c1M1Mk5HeFF9R15HcHReVHRiNV4wSnBeZGhRWEhQSXpf
Z3Q7NENSVW94Mk89QSEhaWZBX1FFbTtFYT0Kem5MT3Q2RTJMUyk5OEk2MHEmRFdXQm88NEBvUUl9
VmRTJVJMbjhrMEw5anZrOG1uYV9lTWpOPGpSSXFyaHhCRiNoCnpYTWVmZ3pAKG0kVmMzbElZK1I4
bVFJK3Q8c3QjQHBkRHhIUFF9Q1MkIVlvY1peZ2o3Mj1pXyRpSmZlentFSW89Pgp6O0NwWlQ2VUM3
d0M2dSZZKTNAaW9RQ2oqfmRJLU9AX1VYME0kMDNMTFliYGQwcWI+S09ydj9yMlVVRCklR1QhcVIK
ekVfPUFrSFBNRHQxbHF4IU4laVhCVzgqKHNpbWhldShUNnp1dEd4JFluZDEmSW9zOGleKTNLcF92
bj1HXkstYjh7CnpGQmwpeTxTTV47ZzhZYismV0N2SmRCP1g7KmE9TFd5VnohUlI1UntnU0s2QFk/
OVhZWipQUiomSE1MWnBjbFNGaQp6cFNQJFhyQ31FdiZifntyXmhqbGtPc1VzK2ElR05RdVVBQX1w
eUB9RlQ2RnxaRX5kY0RVNWx5N0lDWkdvRj5BWUEKek98PjhHSUtYNjRSQmUtKThARXhLZ245Uzx5
YGAmeilmPTstRVl4MlN6JWV8SF5mZ19Vdzk3THtKSUFYPEZeR1hMCnpDOWgmXlpITGpwMl4kenhk
WnM1fFpWTFdhUDhQcT9YZnx6THZvenpRPSREX1VOMUNONGltUSNmQylURTZYSHUlJgp6ZGtiPHBK
RnZ3cGRmMDNxbVVxUzgxS1Q/fiFENzBAKTgzWCE0b3lmTGxTJEVpMVhiMjhIbEpmaVJzQzxGJTs2
OTwKemo7eVBHJj4kN0NVVFlURlA0UjMhVzRmRmBWeVNiRmE8XkFnQ2k5dnVwQzd0MlI2dkVuRFM4
IXlXLXtxeDZQc3g2Cno0SG5xVXJIeSFnNX5reGctKV5SX0NTLUAzI3VzfD9OaSgpX3I4bGF2NG4o
Xio+QlAzOVFkRz1fMyMjekNPTmdUNAp6YmlBNmt6TCVMLVE9fk5DJmZEKnItNSM3byNSMmxsMWdE
ZmtBRzNNeHdWWkkld25HKzRqVE15N19FQUR5b0F2OWQKek01Kk4jPlJ6OWVOemJLRG1aUGpTYVpW
Mz16bTBWTjZeYVNxX25aMF4jMzhGQXFJQl5RbWlabSQhWmAhMjtLJUQ7CnpPPWtrQDE/K35tdztr
VkJvfmZ5cXdFSXo9VngqUUBaUkNZO2s4UiY+YT02IzVzYFBZcnFLZk8hNX5nISYpJWI2cgp6TWs9
Silhcy0xQ0luKFdWRUkxMUltSU9jbHsyK3BmOVJGbkt6M3ZzSEwoemRMenQ8ZHpWcjtYPk9OZGVZ
OGlMWGgKenNPMVpnPDNALVY9MiskI0cpMTV6bCYrPiFYUihVcEAkYkMjO0g0UTtwNDw3QlVMV25j
UkBUI0hsRDtIM3c8RFNvCnpxJSleZj4yUF8lTE1xN2RLbiY9QzdfPG0xXldJXiFpR3E4bWszTFlQ
ekx6JUhuSTt+MkN4IWFTbnokdktnbUB8Ngp6UElUI2VMLWs4NXJuUUUydWk3Mk8/RHw0ZVNjYSFw
biFKPGRsc3BRbklWZSg7YWNgVEdVRGRzSGNiQE82PD1+fXYKekNlbiVvYHhUV2o4eU11RSVkbDUo
ayVod1U3R3QpMyhhMkw3Nnw0VH5ZSDlsRXUtZlMqJExKXllMe1FUZmZ1fjRQCnpDUjFubWgyRkhJ
Tk15ezVEbSpzdm9MZ2kmdVk0Q0paQn02S1JjbH0qTEw8SW9lIT44ZWBZMT8hbVMtbyp3ZHMxbgp6
QFUjZUtaMXhLNVpNUlBNUkJAK355P3MrIXN7cVhNMXx2Nk80bTBqJGNeZXUxPC1zVjZLQCYzNzxW
SjdBWUQmJigKelMtcXNMNUFNMFRTM3UjPUReRVVLSn1TIzlua0F8JUtVcl9JNnMwTSV5Vygye2o/
c2BSRGFjT1J5NWNSMkRDKmFgCnpISEt2e3RwYSZET05FdzhhYGRsTnRaVDR6UFhYZklOWXxEbDsy
TT8tc0I8QC1ycmo9PStCY2tJOU0tTWBNNWttZQp6RnZuK2JqPm0jMD5UJTdZQGFTSXwoMChoTURh
YTtRb2dYaHFBODdlVDdsS1lueEItZXB0Z0A8LUVJcFF9RSYzbXgKelRnYlhFWDFvMW05SiNRckVO
TWFlVkQ4R25CXnBneFFwZGNacGFYejRQQ0JnMSQ8fHlkKm1aQnRUOVNtK2BhKCNCCnp1P2BXeztv
cHVGRGF4TENFP0BrUUE7P1B5aENwUyhaUTtAJUEhVy1XMTtCcl9qWDh8NDZ6SmFDKVQ3fFphc2tA
eQp6dWdDYkExe3xBdHtwIU9KbHtGKFRqX0cwXkgoQXQzSWBQOD4rfj4wV05+JHMwKnxYWXJlIURY
VGE5JUhkWEw2RHkKeig1QVQoN2dqQ21JTm9ARklNRH5jNj9udmNRaGR+ez9sPmFYVFpCJC1kKlli
VT1HVCNFQDBuPXg5RndBdkJ2I3lYCnpNcSghbmhkfkcxVmF2dXliQTBBcERYRF4/KXBSUXdGUjxL
a1Rfe0c9Kz9UPzFldiNUMzVFT05xWmxpSVFfUTlfcQp6U21WOTdYQyZzblM4ZSVPPVA8QFF1S3d1
NF9ieUUqMT9NRElDISRmX2lfaVV4NTxkbnh6KUV5e2VxSVlJOyNCb1UKejwoRDlsNiNmMUVUfnBN
cXN1QnhEPjBQe0VPPWZTSlV3JEI+YT1zdH0+dUw4P1QmYnBoWjJXUEpEWXV1TnIxP1U+Cnopc3o+
V09YMWNORGc1U2BpI0hkWW9WUSQpPDRqNjQmQ3BoPk9Ie0M2JjgzZjl1P1YrY19wMkoxVD9TZnF1
Smp4eQp6cH1qYk5Qdi1SdCFYfUo5YlROaSNoLUBfUjxZck9LR2UoJVJ4d2MkeWNxOXw4QDJEVlQ/
NnZxREF5Sy0hK1JYTEoKenQ9QkMyYyVsVDt4PHhHbEN2YypyQnUtMTs7Y2xASlFZRik1bCpEYD5N
bHtVUkckZTcxXkh0R1Epc21PfVgrMCFvCnp3TDxlbiR4QkBfYkk1d2MlYmJ7MC1ZdGIpZ2BCV1El
N1ZOcz5GaXopd31ufUJNbmVVZl4mUVBHeyphNXhefShJQAp6aT5fV3ooT313Slgyc1dpWF5fVXxU
ajZyfHdzVUQpckZaNk1hYW5yYEdQblZoUkdESWtRaTBmOWI8QGR4U0hxcF8KejhkSG1eO2U5ND0/
ITgqbkdiQCRxS0VvZDxjR2opTjF0dVRTfElCdT4zUzBaPT56V08qMXFsbXZfNX5YQHNzbE8qCnpv
UFVRRSglLUw5JUIrQnxwJUdPb2V4QEJ5Qy09bmk0WkgwUldjfHUoSW1zdWdAZDF5NCsmb25weV98
bih2MGMyUQp6eCZVYFEqc1VkVGYhaiMoKlU8QTtGJD5qTDltI3ZhNiRxND1fWT5ULW9KPXtfdElp
R2xNb21xaHdET35LQl9obWcKejNfZEZpbk88dTRlRipkfVVNUkJJUFJLe2s5TERjTW5UaGA0QlZA
YTg3QV9yTzY1MiY5d0oyNDA4RnNEcXB7dFNOCno+bUBhfmcpamF4eVQ3RiNkcnNlR0p2WlJGX09t
TkNNNX1XMnY8SzRTODt7WGUpMiFhTXpReEtIVEpMQTd2MDJUPwp6dEdWOG8lbmNpKCZOcDsmSWsy
Wi1EKyZeWW05cllUUisyVVdfQUo1US17fEVpR2xeTkJFVUF8JlB4ZWFUPEBlY1kKem1KYHVKMWpA
fkI0aTRpNnJPZWNwQWwwJExTc1Nqc20rRUlJOV5EejwhO2JfPkVTYDxgU1MpKnxWZCZJO3dgJmBM
Cno+cVhjTzM+QkBHYytadCY0RkF4ZFRUNTgtT2U7OHRfcHJIUVcjRTdLKWVsU21CPkhtJW1yYWA9
dTFWRStCQFA+bQp6Wjxvb1MqJFl0aGR9NEVVWiVieHhZV0NiNDMmfUNZY1Y+eSRxQk07O25YTW5I
IWdpPnBmKDMzPngyN0hldilnPSUKel9rUmlRWUYzPXttRCRAdUB5QWBOejcoV2Z3WXtEdUJaYnVP
aXhuOF9Ua1RBZkY3OSgtM0V1d0Y1eWYkY0BvOT1tCnpBIyEzeSl5R31xWFBQdTctNXBqancxOzJY
XlR4Ujg+Yj0zYEIoUUZWKnNmZXx1KVpSPVI4RF9pXnpwT04wNHwjOQp6ampBT2ZQMFprdWNabmp+
SVQ3S2ttWkkkNnkkTjRAY0k9SDxefVI0JSQycWV1P2p3XjtWcj9HPjgmYHNwVDk/RWAKeis7VkQ4
NlhTblpSYjlXKnpaYSR6c0JMbFZ3PUVGQG85SU5xN3dIazNfNCNIXnVSSlRIO3hCMyhTTSptOEhE
QHVzCnpSUEF8OG5tWl83c1BQKnJXcEU7OXFQV09gQzBJPyVGdD5hKjw3UXQ3cnxxYEwtc0pHM3I4
RkVEOFAtK0JUNHxPTQp6OWk9X2hfZ1ZxU3JVRmFIc0QzP21mU0lRbXY5fjNYcm54YUdRc1h4RGIh
VHw8b2VASVVrVSg8K1NSTkBWS2kxdWkKekQtNzNzNT8pQkhsUjdBTWQzZU1eSGE7KiRGMWo7eD0y
a34pU2gxOTVTT0FrP1pwWjk+VyF1clM0RUJBb0grTGppCnpWMkp0JTNGKmswbn13WVFlUEwpejJX
MGA8andxZTZqMXQ/RU9PVWc/I0ckamRpYFpOSEs0VSYxc3hXUj5LOWt4Ywp6czQlTkh2Pkh7QUU/
eVR3VGV6RHpLUl5Ebj5GfXpBZHJQPnJgVUJkeWRuSyMpUFpGPl5EO3Umc1RaclkxREMhYD0KenZq
fTl3OWJeNDZZVTRFQ0xNQVNsWH51b1Z5czc+ejxAUSlKP3ZqYFVPPHsqKkRIV3d8Nnk0Tn5VXlNO
PHVna1VwCno1MmFCQjlJdGZ4MWhXVU8hWjtGam50IyZtV1NOQ003KUxoaElLfmE3U3t1eTV5ZTAo
Xj43JllZWU8yeitXfGM8Iwp6QnZmUFduQ1BkRjM7bSY9R0BDOSZMcFgmeEREQiQ9QU0/N1d5KmQ+
MHkleWJIYUpqZz9Ubno8eiM9TSV9JEwtSGIKempyWDdtSWQxajNidnAtM3Z+ZEopT1JwN35NVlRs
b3kpP0o5WGZmeTN2UFZ9ZzJ7SkZkSSZiJG1IRXJWSnMteGdiCnoyaDV+JVU5OG9hYTcoaj51RSRk
UXtQPSgoXzN1dGBENVU4TEgjTj1jRktXQDFxYk10a3p9M21AKjNFdkpOSHROPgp6TVZwX0g7c2I2
TUY1cSNQb1laJDVHS0RHMFBeKTd7Vkl9b2w7VSlodSRAZjhHT1hkMnFoQWhmNFQlVkBJMWsyUkIK
emxQNmpQUUNWVFpkK1B7JSRCNERqUEc5bVRLTGBmPTlIMExlYU0rZShVdWY2bWpjcj9mQmUtdWAj
NTtWfiN7WFdzCnptQCNmTFZEUSNeKl5sKVIrMkhUemNmTk9yK0Ewe1VJcU43PDxURX1+NFA8Wk5V
dG9FY1FaRXdSQEhBbShEO2A7SQp6dClAcTMoa0dGX3RBaH1+UkxuYFhxWDMpZCFZYl9TZSZ5ZiZJ
PkxgMTwpO1hDP0BYZkQrdHxZb2Y2MndxPUg2RzQKelJ2VyZ9dktuJXcpbns5RSZrfmw2Tl5sdntz
V1JWd1FidSFXViUyLSM/cENrZWcrRlc1MEtSIWFsVXRpVkVvO3RYCnpta2ZSLW42O213N2RUX0Y5
PlljQiphRjdzYHghfEMrfThUY0RqMXxlRypVUypYfjV2aGJySWVHZXpIe3MrdHx0Vwp6TkF+QCYw
UVNqbSpfTTBNTUlBJE4tLXxlSG02XmpTI3liRzxEdSFYZSUqO2Bpcjk5Nk9EWl5wPUdZZTBGU1or
fGMKellsMiF1T2VxfCUhMGc2NUh5V35HeHBYQnJ7ZUFsTnFZRm8tR250UnQ2R08lVU5NXzF7aDI7
KCNaVTJoU3hZLXxRCnp2XiR6I1QpRiVvZS0/I0hZflFiPC01Q1ZsUWI9bUBGMkRRM2ohNyRuKish
PzJ4dDxkfENlMERZUTY1OFUmUWc+ZAp6czkhTj1UZFVERWBvKDV5TyNINTJqJUEzZEF1WT5Sek1z
JFJUNjY4M1cwdWJNbT1hQGlWYDxEbmtwI2RmSXZ2aUoKekw/Q3goVnZ6T1hXTlZmJSkzJXtoQll+
Jk5kY1JaKWBLQXkpX3p7NC03Tj1GaWc1Iy12NnRmb2NtN1VrI1F1dTE8CnotQmlBNyRJMHltRVFo
V1h5SkAkM0JyKW0oQTwjV3ooYSYqfUB1RXlUR1J1TkNQSyMxeVZUailldWFXKl9PJCl5fQp6Qk5x
c1Vqb0pkP2c+QStEezskcGgkK2clU2l0fUlGSXpNO3pLNj9mLXQ+cWNzJEFsUyFyS0sjPCpzNzAy
ezEofCMKei19ciR+bWpIKEpTemt9MFMzeW5AT3JKQHxDQDJuejkmNmdzayh9TTNNd3ZlMW48JVpE
YS1VQnhHXzAtK2hWX053CnotdURTOEZAMG1se2R5JFZlTEJ+SGcpXn0tMiYqS0dFKCFMS0B6aXlM
I3M0bCEmakBPZW9WK2YkQWQqdl5pdXNtZAp6ODMpVlU+SzYjfkBVQ2Vke3hTPCZIQiE7cmtCWF5D
dz1RfEZ7dDZ9TUBPIzxKUzdCcXB3JXVKKTRZUFBBeTQmcTsKemFaUzROU2JPVnNEKlJpaXhTQTBv
UT50PURiPCYpZ3dCSUU0e2llQzZ1P35wYigkT353TkRqUE80KXFLNXNVbD1ACnpQPXBkd1oqRkol
X29WcjdjU1ZEVlZ3KlZaZChtY1Q0M2U2NEtyMClDdzZxT3lZbm4oS2lXJl9TUE9hKkFAJm8mZQp6
ZT9rYSR6a2tWU0hfI2ApVl4yWmJkekgobHp5Wk53d0gyIzVUKUdmbzhSaHpZITUoSzc3T0Beblpv
MGE2I2ZJbnQKejZkbztkS2srLSVlKXJofj9TcDIpR2xeXlFRYDhOUXtqQT1vT2A8SitvSnZHX1Yr
JG96NWptUGNUUFB2NHpNJHlWCnpjejk7RSpgNnxjKTZNezlkYzh4SHdReT4mc302MWpeWE8qc0lB
UzskQ1c1fXdRWFV+SHp7I319P094enhoWkFxVQp6QCEyfUolNldPLUxaOyQ8Y2xlQ2RndTk8eFV6
b2ROPXVZeVNfYFV1WldXNClxeDxxRTZne0coVCk5cSUjbX5OP0EKelRMb3F5PT9vVUReMWJXTEQt
RW9PbDFNb18jY1NDe3VMNXByQXAweV5lMTZJMyhEZkhsQF5AI0pWIUhKKmhyYD4yCnpJZGRjcjQ7
OFNHKXsmMllgUX4/b3dQLW5yZmMtX013QnhMMDYpT1pUYD1CZF5Hel4mSDtUe3lfakV4NUZHYnde
eAp6R3ohO1Y0TDU0fSZDZXFjKVRSN288NipJTEB7K2s4Z0xCUi1faEtxO1BVeEpvamo5aFZlViU8
WUR5K1R8U25VTTIKekpnK3s+d0J2bCRvMStGU1d0cEFKWipPSEgjfkNqPHc2S1pvT3g+Q25SX2Rk
eD0/dndoZE41PSRjPWQtSW1LI1NHCno5NDV+aFJiKEchZEtHND5BWSlve0hRKW03aFYyJVI3N1pM
ciNJUyFWVDF+RXVPbE0xU0s/cyYmLTt2NjM5ck47ZQp6VXAxMGAte3N1Q2w7PjxBeVdMSUZjaVhx
dHtmSD04MFNrXnA1ejA3Q1NKKEM+a2p6TUBBMFl9UTBzWVQld090fDYKem5ScVZ5VTh2Ul8rO3Zz
WSohQVJnMHFzWGBMWHMtKUkpcDZtOT0xT3F7N0ZRXnNFY2VRSSE3fVZ8OVE+LTI9fERYCnpxKCU8
SHRqVX1GRFlUQ2llUHRVQz4rZn4xKDlwMyFVKEplPyVfTDllO1hOPD94V2NfaHBNXiFsbGhoNF54
MyV9cwp6JVVwaD8rTE1ELVFqMGBMUkAhWnpUR0U2P2h8PCt2b1IjPEpgeUx2VFRaNy1laVJIRTNg
cFF0PEhwfEdDXnYtKWQKemlCK219dHlMbHVBJGgzbio1NXB1QGszSlU0Vzx5dUVlWHxJc0pnK1h5
NGZiT3AqfjN9RGI8QT44OF53THdHLTdTCno1RCpDLUFDZzF0Q2VVeldlczE1dXRkMXwkOCR9aUkm
fUp3eHlFVHJLYXdePHZsQUxgUSt+Oz1EUV9PcHwoZWN9OQp6RSRTZ1d3aj88NyReMTZRNFZrPylu
Vkpya1ZTRz9aIURCeWlObEheY2FYb2QyRjI/RGspLVZiVlJlc2djNUU1cSEKekd+LSFUbWpRPmFq
ezAhUGN1eD4/KGJzWVhxeSRZI1o8Sns7eU0xK0BaQiFreTcodiprZDtBSlpkcG83Z3hJQ3BXCnpv
RCNIQUlWR2hiNUYranZ1Yl9sZyhoS3dLb05NJjlZJVdDTDxeeTI2P1gwLT1rPGVnSVFfUlorJGE/
cmlTQmBWfgp6bkZOV01GVGRvSGU3dzk4PntEc2dUc0Q7YDtvOTQ1RDlyczxze2E9QE8+JTxVQDRR
ezwkM0QlbFNnRkk9YChndmQKeipzU21jJWpTVCg+eCpQRWI9eEljNyhwZipkKWw8S3d6TyZJWSFS
Py05Z2s3YnZBMlI1dyFMXkwxVkxmejZFTnhRCnpHQWdpbWZYVj0wU0tqeERPUmhiTFdWfk98Kkxx
IzluVk5EfWdHdWFPUTs7Mk0kYFVBUXh7TkkmZ0ImdVkxJldgKAp6bnxPfHB2Mz8ke3tRVXxnVnJU
em1aVlBaRD0mX3xtVTtDcihALUNkN3ZDbEdnJWpFJXtNbC1ocVpgWEk5JGs/fjEKendjYFpZQVNj
M3FFYSVJSi10Y3ohTkY2S3c4S3hTSzJuTTNpZ15ZamIrTGRYakY8aThVTjhrIzVHXj1XVytNa356
CnojMU9PUi1rIVNCKEJIY1M3cysrfiMqXlUhdFUxZWdPajVKSV4hbXB1TDBMVyVKVnMqV1chdiE+
RiVOK3AtZ0lfTQp6OHQ+Ul9ES04qQkp+Kl9HKWFFPGokYkw2NW96LVlIKy0qVGdyYU8zYUctYypp
bXkxNlNuPWA1MjhDKClSb2xuRlAKekxRWClSKUg+VyhhPX10SGxWU21aVXIlY2ctYygweUtQcH5g
TVJ9VD0jOUJ6cj4yeihZZFhDYis+bnt8NW5Ue2FGCnpnbV9WfC12dStlNVdDfUNhbCVAMmljSTBO
WEgjR0xEWm90aSFYbmFTYTVMezN3JGMmWD1+bUBrRjRiIVoteHFBQAp6VXZzRTh1PT95MEpTP189
KlomYylqUFFLe142cEN7VmwmQyU4UEBFTShWcmNmWkElNjxaTipwVz5DWG95MmdSUz4KeiNGbz95
bVArd0ZjamhueW1ZeTNuS0w0JGg2SzNpKk57e0gjPTBJRFQjLTVWMVJPMFR9Wmhza1I/PWAyRmQx
bl4yCnp3O007Vkk5TXxTMUpHd0lpcCNobnYtcX5EUX1OVitBWUpwVD9IZjMzP2ZVYiFrWmtNVztx
YSo2YFVfVWkpeXNybwp6OTheQ0pGRDVsN1pfay09TWFDN2A3Nm15dGJUK0BNX0d2TDs1aUZmYWpt
dm5zZmM5UU1RXmZ1ZnZTVCE0NVJAK24KejdaaDBYKzFzSTwwXlpzRV9XQ2whKndVa3M8OFQoTChx
byN6O19CKVUqY2hqZmBmSXY3UTV1IVgrTShrNVBlJHQ8CnpSYUtPQlQlT0NSJGhpXyVjcFdwJi1Y
Rz5VLWZEZDIwTDIzN3dCeHc3MUZmRFI8YHs+clhTeGZeOGBjMktLNW4/dgp6aHJWeFBYSUI8Q1Ze
dWFlQShaUihHcUZISEk7PkhmMEJaIXxVUjRCbnJwckgwcXUwaHtATUIlS1BsYkRxYjVGWFIKemBC
OE1OOVI8bzBTN3ZgX2RzMmNSU25DcFVCLTAydFRmWlBvX21ANX5jWSFiWSVnTnh8Ulo1Klp2OD1s
emxvfj9lCnpFTHFYRVd6UWN+PExxX1M8ZDcmZUlrQk9xUXQyTUwlKXItaSl8aUFzLVJaQHlEWjFn
UzRnKEdpJTxve0dUR0M1eQp6c1Buc0JNITJxIyRGdj9qWjBOR19HaFpqcFZqUG99bHpjJENmfWVU
WkotOGpBJmspOHIqSSpES3FubX56LUBZODsKekwkKiVeVio8OCtWey1IPDl7KTZ9QUhLWlZBbWVS
d0lNYCFnRUYmO3xqcnZ7YyNBS1goUFU8UCN4R0xUaGF2RzZsCnplR2krMmREQTd4KSlYOGh2SDhL
LU8mcFZ7RFYrKGY0Wkl6cm12P1pASzNue2hINShvXlQzKlV1IX4zemBBa057QQp6Vl59QDZRR0BI
UkZfMVU3XjJlYiooUElOSVIqLUV2Xl51YF5gOUJrbmRCYHk+VVFqYUhSeF5uJHo8PVpTYntOQkUK
elVGfSF3WkdUfmd5WHBgVEJSNXdIZDdgRlBZUm0hYlhtalFGK2ZLaiNXMXR5WU9XYihXSFRBWHVJ
UXNuNS09IUUjCnpaQGx0c1dlaWJ9UUlNcCZ5LTB5d19MciRsS1JTMjd5Jn1NUUBeUDc2fEdmdTdT
MWxNPyNwa2w1LWJuJnZxdWAydgp6YzF0TGEtJVJkVUIhKExlOTZ2TD9DXmNreTVPc0Bzal4kQn1a
azBAcyUkam5edXpGNngoTlRPYW5vY2ZnNE5tSzYKej9EUVA3I2NTYEBKVG1ZY2x8NXdmekJAZkZR
NV5GZ0JzREgmRFgpZn15P1QoM0phZyQ8e1FWbmxWaCpCbCh7UkxaCnokIVl5bGM/RjJ5MjYwSUd4
QEI/eWc9MmlCIyN9Kl9zUGJLWEAydkBteHd0MVAlcWpFQilMLXhTUmBTb09yJjxuIQp6b1JFQlB5
O3xfdD9pd24kOCE4RHxGLTAzVj5sRSlqV2xySk1AJWgwU2VkR0plSG9DQHBZT3tffigyZj9kKTI/
a04KeitHUT0jdVFYdDUpYmFpSTtmMC17bnVWMUpxcm48cFl7JGE/PjhvMD12Mz5vMEN8eChGWjFW
az1BNnk4MURhNGJXCnpvWjBpK3A2WkIrPVpLd3c1I1pBMDR5a1VWaXFWRjgzRCtDKDcqMi1odzRq
ZHI2NH0rfEU0WmdqREd5ckRkajM5VQp6NnE2cExwU2hBe0EhVihsPVEhNzJQZUBzMm81YUxGVmtu
IV5qZFlDcWJUJmVDXip1SEAkMSZme3RHeyVeP1UoMGIKenZJYlZBdGNhVW9CM2UqbDN8cEtpaSNS
TyNJdUJLcVgkI1R1U3FRMU07Tmk+PDlBOFM7ZTxAe0ZOU1liUGxYJkYjCnpHP3dkeDEkVHkla0J0
V001NWR3dGNaUnxXSWF0JSM4PTlXcXo7RWE3bTduey02LUMjTzEoTzhuOGRocGxEeiNrPQp6NCpO
KWxsaXFEXyhXUz1ZMzZsYXttfWk3UGNAI1AkdGp7T1JsT3ErVzFtMXsxN3JlYj5aQzBncWZFfjh2
LUhYKW4KemFvQFI+ZH4yVk96dkBgWUFUS2xRZV56ZGM4eWwoS1N2Oz1+PihaI2AjPzFIJHZVJHlf
KmdgVDcqRXFeI14/WEBhCnotTDA9UF5DfTdIQWwrSFJoOHY9QHBPWXdqSGU3czR4S18/R1NUO3FV
WE85cE5RfGpeTz58bWkobH02STR2e01qMQp6bzk3NUdqKGJ0O2MlOV9MYmJoVmRSRHpiMnRBR2xT
dHJAUmEheCNpb0RScUpLZj9HJTJQXll1aiNEMmBkYTshKzQKej8zVzNwM1ZVOFY9fHN6MlRzZVkr
UnBEYU9KRE5WeWlNUjRtbURPODY/UUAyViskSktzR1dRXlowbCtQZVhOMDxPCno1P2Q4VHxDd0JJ
SEklazJoI2w9YmV1LVFgeCt5anx3SVdNcHRRbnVxdWI+aFpsRkZeeUZgSmhfdl5MV1NDflhvOwp6
eGdae2IkSSg0KUgkUGdyXjNIeXM/NjZhfkVTPGxqZT0hSUJqKmVReGJUI0wxb3dUe3p0MWtCRnlW
RTtnQEBSPUUKemh6Q0BuV1RPbzVUOGc2X1JBOzMhTCteWXt5ZiVLZFE2TV8oXzBfZXJ2LV5xbmF4
T05LOEFIVkQqUl5WZ285X05yCno1Tit4VzBOTEZwamEwPnxHM0tTdWJQLXViPGAqd2c9fiF1SCN1
TGAlcSRXJUg+eGJSUlF9QnIrOTkhfSlMSXMoKAp6ZXlEezdTRTYpNiE8O3g2Nj1LXjNJa2AoLXIh
WDFPNiZ6ODQ1cl9jQ29DRjErUW9NPG14TW5pPnl+NkArcztpLSMKejNpckdWQkpRdilISjRZYE9u
KFlvUldvPlAkZ2lIUVUrWGo1RnpaZ0kyST9hdXd3aX5EYD8qJG1gd31AUnh2O3dOCnpqcjdsNDxa
Y0tGWjhNIzIjKm0rbiZ7amsta3xpQj1AdldzZTU7NjVtKn4qSVU5UzVnXndCdHIqSm5zKSlII3oh
OQp6MXoxYT1aUGVNUl54PGtFY0YybD1nN3g0dTwtLSUmP2B5TmpjSCZwJFMzX1NXUmlkVXFFa0xk
ISl0cn43allIQV4KekB1b05ubkhmI2t5aUZNSnZnOytNUmtwakB4fnFAT1BmXzNOPDt0REY2LVlI
ajxlSVRzJFkzaCl3bFk+JkF8KEhXCno5UjB+RlMpOCZUR0QqZERMSlFDQz1vQT0qeT98MV5KSDFz
SD40YD1DKSl6Jm9nPUI7K1lWJnshaCVQTUpuNXV+Vwp6dmZwK2socVBzPytFSG85UHJLPDxvfVh4
eCQtWD5nb19zMkVNTW90KjIqZHpOQE9YdHIjPCVWbCtmKDFUM3B9djwKeihRbSRvaSVgaURUTGMx
S2YqNCU1Tz8yfEk7S1lSc08rVU9xX25CKEVNVUc7OSVkKD1BSzYpTmUkVHAhWT9gRXF2CnoxcSFw
Rzh9diliPHhfKWArYSsjPzdnUHhrdnohOUZsUHJ5TUF3T2RDekUpeXJDMV5JNU8rbmMpJmhTckBm
VXlpSAp6PWlvbH5gVTdiKjcxd0lAMWZWVC16UTxpPFUmX3ZLZzZKazkrNUwhPHltN2FNJnBnKzdK
V2xqQXdfM0FKb3AreHQKekUwS0shK2ooTmAxQXx9QThCJDhseXY5MmgpTl9ZMElXRWxkc30ydk8z
dDFYNF9KeFl2I1BWMF9GO0UmeClrLTVMCnpBQHc/PXtyJWdON3h0SSV7KEV3TCR4VSt1Z3ZnS0ZJ
NUtYZE5FY0Y0d099alpRZkdEOXs0YE9OV1F7KzhUUF9CXwp6QlJ8cjQqaW1tLXxFPjNXeUJ1MX1n
U2cpI0N0YEdmSk1ufk55KFEtO29wIW5gaiorR0wkb1B3NmVBQFNsRGB4ZWIKeiZwUntRRypPfiFS
N2VWbGd8bmcpZkk+eHx3SF57ektxVUc2JHE/VzkzO0JmTjMoLT0tJXxLXkQ2bGJSNEtldTZfCno+
UjV+NCgzcih4YDJDfm56biNtPGRhOEg9PVo0RkYoVF9zLTBoZm1FKmxzaG5XeV8tPylpVXpKXm9n
dXhXYWpBWgp6MnRPcVAxelZtTEBTVnswPWwqJFo2YkdPPFU2JDI5QG5qRFYydXJXaXk3UFkhQX1f
eGhrezBiVTw5NG5paV9aR1YKelYmQ1g/TmU8PzxFM3sxRzFnTXJiSH1Ee3p6VUt5PEMjVW9ZKlZn
cHQyayM7byNrVUgjPXFtUG87cHNHQUA/LT1xCnpMeGNQWmRfZHN9Ki1sYz5FTTVqdkFFUkMydzgy
d3prRW1qYHFsZTNadGFgP0UkczMhSEo5NEV2bm09WWZtIUxnfQp6di0ocntscmBRMVk2QUdhTDJJ
aURZSGVEejgyaDw/bXkxeTg2MjM/VVJSOV5QVWp2PzhkTnZXTW1HZXl9QnB4VDkKendlTjN6N3pU
cHB5Xi01fUAtdW4mP0B4PWMqWF9DVmAqPXxVYzxnOyFYa1RmZF47fUNMRGdtUiRZNCowOEBOTEZk
CnplM0l2clMjQz1xWD9gNkN2R2d+P2xaMXp9R1FvWU8ySXNsJE5YWnUmRXxjTi0xe2dFekEzWFVi
eDQkY00oQVhsSgp6Z2VWVEg0VSZ6ZipmbkAjTSVqM05VOzNjUlgzQTx0eXNYSUtAQHZhV3gyT2xf
bkk5NjBTOChyUkhwa08kK05qISQKekQoRmVYMSQmUDlsY0N9QiZzPVlSVT84PmtVVz8xKk58flk+
JDhlPnA/c1F5SjhkSTBeUjsrVFgkdG1kQGwrTiFTCnp0cWIzPz1+aUBDQjErZD1rY0pRLTljNzJC
JnxnTVRhV25rS2V7dHBWdE1vT2Y+PStnVHlEelFpUU12Q1F1Tj8hbwp6KV9nbiVRaHxeKyNtciU7
ZVRPYmdUK3Z8OHkqcF9yenR5KT5zRkdNSC1lQ1lESktVTmA/I31hVSRaZCszZ0tETSYKeiN6R2V8
Z2ZGKX4zejN5NjUyRE9tNmpATn5aOzxfWERWc3lqdHpQdX5hRD1zZDR5YX4wI0cmMjI2M0hBfSFo
Xmw/CnpqXn5pTHdTQVEha2ZqWVc4ZyRBSTBLWmoldGgjeVNlMWt9dENyUUhha3NxYmBsU28mQklL
S3Q3eShqRFdDekIwSAp6cSNKfnolRDN+Ti0jZkA5X252bVI+dzZGfjA8cUE0JXFUdHFNaUVzRUVP
TUo0bV4yPyY+a0lxSjQjY1B4UWxUPnwKeiZrOTxMXnd8I1hKaT01OHdsalcjKX55anZJcWVKbnA8
VjFkSD5eMkc3RFBZLUZGSyZzPio+R3k0cEpiI3dPQHxPCnolaEMpRG9JS0Robj1Cd3tDS1pOdFIz
fkNJZmJ7LVBrWlNRdXF7I3A8Z2A8Q2wpNyNzQTZpODRxN197KU58N0lIaAp6UzxVKVFLcVA7fFBO
STg0YTI+Mks1X01MXlRfZmg7UFZwOyp0S35ebW0jPm5OTV9uMSZFYGNOdEJBPjdfbHZJQiMKentD
OzBkQW5DN3RhaFFZYzc9O0cmVXhKWDNqKTY7S3dsPV57JCNSWnRpX3t6O3l4cko9c0VRMWZ4dEQr
eyUwYTV3CnpwPit7VFM7N3x+IzRSNllJKFpPdnY5KzB6UHt+Sm8ka2BtTSZIV05fWjVDQ3pWaDJ9
Z3cyNlI5dkpxNXdsQzYhMwp6MVlIQ0JiZXtZc0IrRjhlWXB8YUReRjg0Jjt4bn54Zk5BRD07aTcl
TypTTzFVQikjPjlYbWU2PlU4KylpX1VZKWEKeiM1STIrRHM/fjxoekh4JCFKOUVmQ1BJTV9GKkc2
Uz1fdElVUTYlYU5MPTBKYkBhQyErI3A4ZFlDYmwqJlBfY2FOCnopOzc1RztHZk0rN3UwP2Z7Xzww
VFJ2YUF5d1RrKVNzKXhLYjI1cjklc3lrYS1YWC18dUVyX3R6P2Vvclk5JX1HdQp6YT1fK2k4VVhx
RUQycGk+e2pzcShzUXZnWGpTQXRqP2laant6eWNYVTVCPTwqdTwpSTFGWGFFcjNIVFJkQVA4PEsK
ei08Sk8wWW5ObyNLO0crc1lUWDhlZjcxSTNPanIje3NPJHAkJWtuS21QfGh0cGc+R3VJMmtWd0Vi
MmljNyRkbzElCnp1cVBjbTdvdmZpNnk8fCZrKmBpUFU8MX49OUBgVE1JTn1XeldpIzN9eShzRVNL
NGp2TEtsQSlVU3ZaVkE4fFpZRwp6aDN1cT9aI09SYkY4QjtZRDJSWlFydllvU3d5QTM/c2NJfExL
VG0hYCR7ZWcqMSMwYlRpOTZJMVNUIXJpd3N6QFMKejRvVTJXTkcrYVJsbD1qJUFMSSRVTWtLQzR4
M0F4YVdPQjl9Nj9mPW9vR2ZAPFRMejk5MGxsQl9xMXNBUFlyPEM9CnpFMi1LbDZVPT02dFBIZmNA
I1RTS0xtIykwP1hEe1Byc0BrYEFDRFZBIzhuWDxsPz9+SD1PRWtFRmxAKnB0fDdDPwp6ZGUjI0py
WkZtUE0mN1A4alcoSyFNQ2BTTTZ3V2V8KkpDRkc8LTIqdHNhR25DbjJ2Pkh5WlRyYnZfZmJYdlIt
PjsKenpvWllBJjtnfWYwZVA/NGxSbiNjYzJ2aSFIXj04fUgzSTlGVHBEfnBzM1MkRWRkXilzb2l3
Jk1zMWFYT3l5aTkrCnpePF5aZFZsaExTUmxNX3hPRkRMSVglQVBrKUxEIVcoZXExTnZNNVJMOGdn
M0thdjU1aGBZRU55TVpCO3ZkIUJGcwp6bn4qalMtUW01fTx9Pko0Z0FmX1VlXipfeTVaTzdRdHBv
PT5oJlM8KVFEfkR7KDdQa0tnX19oQSlAfnkjV1c8LWUKeiYqRWZWWklKbHZYUSlMKnleN15RSldV
NCkrX0tEeV40MkwqXzx2TkpVUGZuQS1WbXdJMmspazgxWmpfdyVvb0N9Cnopdz5oP0NFUGhTNGRq
eXZyMEQjfkJtVDg1cS0jU1lfTEY0WEAmciozMX0maCtwQygtYitIY0g5VnNVJE52YH49MQp6ITUm
VF4tWWRLI2Q9ampuK3dCQzIjaCEzLWtgU1Qmal4rK3Z5ZCZGNXVfSiRZNFZZZWFJPmRKIVgpV35q
dUs+dHkKejVZeVQmeG55X217TUEoQjFtZXxQYkBaRmFMLTR5bT1XUVFgJUBXbk5QUj9DK1VxKj8k
eGR9V2c4cFM+YiFlN0tVCnpLY2xFJGZfX1Zkb19ycyZLcD5LX0doRVhHXyo7cTBuaEw7RnVta0FD
dWN0JjJVfigzNmRAXmFaJHA3Sk1SdzJPbAp6MVB8NXVnS09RJkJNOyhTcnhHWm9taGlTdVoyMmsl
RThWK2BwRCMrRVpQRUpUPjRFQiNwRXl7PlJhSWxfbXtaQ3UKej0pfEpwPWorKmUmT2AzTkJadDJg
KkAmQGtrbGdCXz9EdWU4TWZ7e1o9MSVsJGtHd3FeXkZydiNEM1B8ckVoXkU2CnpfK0VYZE53QW5p
eSMjandCWUQ+b3hZeEM+WWx+dHQqdVEhMDhfWXxQc1JLIyM3cylDPl5FN0xwJWV3YSRwQ2h6dAp6
QGp6WmA3TXJ5SEtlcUxROUJAfXlWNXpCcFIzMkZNYXc0R1N4VEl8IVl7V15BZlokRmc2NiNLJXF5
ZD9SVyhOJSgKemhfTj1RLX5tJj9mRmVRJUQpQUEoRkx+S0JvYXJuRm5uYSFvN00pN1I0SztRaDEx
I3pBQXVBJUZ6IWAzVyQjNCV7CnpwUz50K1koVEVSaHZidnV5Ym5GOE8kcChhX3ppaE5saWRGMW9x
KVVoWXEwdHg8Nm8oUTQ/JXVuaXtHTmJwN2xaRgp6RnF7bTZ1Tlg/TjRfOyUmcGRhPVFTVHBtP2s7
ZW94eno8MVIpemtjWTJPRFMwNjk1NU4oPT5DO1UodXxjMWx0aEsKek1IUjshZj03WHRGbCh3KlFO
bVlhKm9iVFhMdVFQOSlxP0pFc09BYms0Ukp2ODFtZ0M7aExSbF4lMEg9OXFLRz5nCno1REFLfFEx
PzYjdTV3PCZkJn5QMXhXJDJLaHZhampHJFJzUGtneiVncXBeMiVpRHJkQj1oeyFlbmd4YkUrSz40
Twp6MVgyZzRUfEVIZ2oqVUEmZmUxTk1MKClnXlcmKXV3RXszdjctV18oNUVzcWNFTWxVKiVqdGts
aj10Y3dfV0lvNG4Kej87bSFSXjhpMX1adXM+LWluPkhwJCZIKm5xMU9qQWY8dFkzRXE+QiUpZWhH
ezJsN1IqPHsrbisqUHNPZyN9PmVACnpWVWFmYmZoMypLanMtZXB3b2FwYnB6Q1gzOColNjxVMWJv
XzB0O1NEdTEtdWdDX15GfUxuKEZoN3d8e2lkQkJeOAp6b1U+bStoK2NhWFNfe3U+KVAofl8/OEl+
XjJ1a0Q8KHopWjx1ZyYhfnJhSE98IXFBaGxtZlM+MVglbUNydyFKN28KelRtQ01wME1QYz8jLUl4
PTV7WFJKT21zfEFRb2tqamBgdSFIfEZyXiNicllhcURjMGJsOWNqZzMkSjlecCs0Nz9nCnpoTmd5
cFVwMW4qZiVBflVfTCNWXil+Q2dpYkp6KTk9TypIb0lwaT81Slc5RitHfn5gbT1+JlF0Q2VTeW9W
RWBKJAp6bSlIPXpgKW1kbEheZXV+Z1o1MWducDhvdXB2Q2NmNjhnbHNlZj9qKl9ufUxPdDsofGEp
ZF84U2NzIT1ER3FiJnIKendOUmd8O0Y1fWQ7NUFOUD52b2tGa09JU25QQ2tXRWZMdyZvaksqV0Vx
T3NGKit7PHcmUSNKcjF8QjYxSG9SaSE8CnolflB4SUYldz5IeWs9R1ImcGEocEcrJCp3P25+dHVJ
cjVjWCs9OWRUT2JuTmxZZUBxOEBhRkhAeUlKKGJIWE8xYQp6KG4kTmN5M2FYNyRmVD1hUGI0dD5C
IXJ5enUkYSlsb0NtKlRMdE47JUE1fG4/QGJ5NTdrSiFXJEczNEQydUZhVH4KensxcChrSEVXeyFv
KmA2NjJPZjdGSylyQTZCPilZPWBSSE98STFRPWZLT1clISNTYUNsPyhQMzM8UGlLRGdkezdlCnpS
c0BSdGchSjhwRkZmaWA7VDh5OC1WdmJGN2YqSGw+cyVAbXk8N19jalJQcUAxY3lAaEFQakF8Mz1+
V0A3cGtxIQp6RXB+fVEwd0hQKXAlNipLPGc8VWF4VUxMUHNGMD9NWDx1WGpGJH5VeF8mU3hqKVpn
PSE8cEw8eTliazY/SVF7XkoKejMzZD9sbz93IURBdWt1KzMqSWhWNWdBNSFvJC00PnQ4b3l3QzJB
c3dNcnZPIyZPIWtAcWg4P2dmNCtKbT1IXkhuCnp3VkNyOTgoWjdzanVLNUNPSTBQaHBiRlpzVkFD
QWV1Qlg4UUpYSXVgZH4tSzFfND9VTy0xMVRxeyNaTjRoWlVwIQp6cnltXjRwQz9wVj5nWH1MJFly
WkNWOGFkO0QxM2lwZDBaeSR7TTUlVWdpbjM9JnpEPTlIfUJObkNVJEAmKHR3UGYKei1xP2VGVTBI
QSFkR2dfP1B5ZWowMSFOT3JRSytHUkUpfF4hQGh6JVZpI1FNKDtHT0NZelNgS15EUDtFPnhZMkN1
Cnp4K0xkdlVaKjU5ZHY5JVMrdCYxKCRndTUpNjRrNT88T2NDSXdjZHhKYHhgflBPUSg4fD8/fm4w
QWh6Qm90KU0kbQp6XjRsT1NobmBAQm9SbiklV2QqQHJLUlc9TGJ0c0ZZbVRISiR5d2lWaF5ATWdK
TH5vIytkV0laVVVfWXtRaHd0U2cKeld9ZTE7Q0FSIW82YTRrU0dnSnFpJFJMNlEweEk0d01FYSt6
MjYqMngwTWhAJmJOaTY0TnJaSFpvcmwyUVR6elB+Cno5eEowSDhJZUl5QWxXNnp5e0pPQiRzUHl7
aH19UyU9MU9rVUtOJDhJI0Z3K0BoVy1gZE0/bX5RZTQ/filFUnZxQgp6P0k5RkE2YDghZTN3X2lZ
dllrNTNYTzh9QmRzeyZXRSM3Z09ecSZ5TjJVX2ZvX09YS3hJbztifD82d0xCaUozbHQKeno/Ykdr
fDNgPldBMnVNPTk8cU1RTSNOMm07d2t+Wj9Qe2RmIzZQXzQxZU9NTmUyTDJHMHAjb1VventASDVJ
NjFFCnpjSz4xezFLT14wOTk4Q0tjVSVkITJSeCpXQnRuOWppfmx5MkdKYDBYd3hRNnwpQU90Qmoh
czJeUFV3b0psJFBtbwp6Y2poNHhwd2lqQi0qZ0ZOMHRJeFNkZnFnfkFXNFlqNC1xYDBhUEEoO25J
aXpvMXJVaGR7U2YzNmZ+cWJ9ekI/KHAKekopSTx5bnRnNlIrT3Y1RCUjN2YrNGlFWVBufXlWMyl5
Qn0zUmdRfkU3Qns9fDZtST5JVmBgZT4+eTQ2NihlUj5eCno+UVN9JCE/UzNvJmJgNWo7bTA3RExF
YlBaMj9fa0FHV2BCaGlIcFo+aVJ3VmIoMC0yWEx6Uy19K3JyUUpvMWplRQp6VyRnT09UNlJgSmlF
MTsoQiZiJmBRPzErV2tMRUJYYDt3MmQ2KkM5Y3o5NEBlN01QazUqVktpfHkwS3ZMQ2wpdTMKejFe
JD1XWSkwSGFgZTZXM0toPDh7ckUzeU80Nyo9JGJDT2JfalowU2BrYlhvS2Y/UF92UGBeSlUwNCFf
TTFOXm5HCnooNXlSPGIwPzUhYEJmIS1eNWtEMCFpUns0ZFUwVjE0czdWUG80X0JVZWBaNkpkUnxD
NmRGTTJWYzZhflA2fkhXNAp6aDxmZ204aFpFdCtqOz9UeTdYPVYqblZ7YzBQPH5kVHxyM0Z7JiVn
VXw0WX5aS2t+fEMpbG1SfndKR3Jzc0NWNiMKenJYKzI/ZHR9Qz15STV4PkhMMGRBYnUkdDRfYXtf
Wjd7cn1rXjEhXmFlWTM8fTtXZm9neFNgbn1aeWgpNChTI3B+Cnp2WTZLYT4yO004amwpJDdeZGNX
cWBpTD1ZNmhBMTt0LWZRMXxEJH1BSzsqcW9BRT9wKWJzIVB3cig0ZFJFTzVsKAp6dSt6Ji1BK1FC
ODJNRGxiODZZaCh1PD8hZz1MT29Wejt0ZX1ONkheeVombnE2cmlGP0pXQ3lvcDFyeTtCR291fCEK
eiRDZjd3SyVUYyU0YTlJampRfik7QVNBVEArYGF8P3socSNBQVYtWFlFeFl2OEE2JGJ9bTQjP0Yp
KmtkbkwrZ0JvCno+bzNRfm1xTSVmNUN9bUdwUmxhKktXTHM2VD5CQ0VhUmBQc0BKa0FvYzdMezF3
VnwxN2lgYEAwOH1saDU8T1YjQwp6NGRtMERZPXN8em9EVlMyTklSfWdMcmplZC1+MGUwckhrTlRe
YH17fE15cCl3MClkMSg4ezVrQ08pZWBeMiFOY18KempJQjMrNHZwdHhAQXZnbD9FKyZpOFV3aU0+
NmVKeCplUiFQbHBjPC1Vc2dLYj1SR3ZfY21lb053QiQoREVUS2B6CnpFaCFFZytWQCU2TEkybWVC
bzFuSit2Ul9wUH5ackkxWGdsPFN4QGRsQn4/cjE0KGp9I2NmWU83ZnRmWGNaWkk3cAp6fEcrYSVE
NSgkOzV6SFV+QjUzJmQkdDxsKnNUZmE2O1p5TnBtTGtBQXxCUURBcCpoVXspaDI7dXo/bFBGJT94
cksKekI3ZjRnQXxaVk1zNDlmaSpedUF+a297VSlsKEZCOSEjOEsoez9jQGdlP05WLT9Haytra2JV
MjsoPGJFWT16S04yCnoxNygpLWlKeH1nJVhwbndKOSVfYDdAc28qZUF4ZXBKfWtUcDV+JH5fd3lq
NGVSb0VzYUQrZHBSPXRQVjxGP1Q1Mgp6NT85KyZ1filmKj5QMCpNbyVtdmQ+ZjRHU3NkcT4taHhn
Q3tHMHlXcjlzQD5YYkIpRGtofT9XPSV6a3N9e1VwNyUKejkoPmxgZjY2ekBjOGBpKzFJblNpanQq
Pms/YjM8TnB5OEUrQDdrMnRmO0Z1ciFlZDA+dWBZWFZXNWVyNG5oU3J3Cnp0TD9NQCszdVEocVd2
OSV0PUdDQXYkM1UoNHAwJWJ3Njw2YXdhPnpldX1RI1BwPTFjem5IfiZOMnZwdStkRz9mcwp6N3pj
R0xqKGplRHFuWT1ZbUxOemkyMT03JXB9S3I8dHk+OGdlP3VINihOYGVRKkJUMC05VD9KejdwPWUw
dipvRmgKemh9OENRI1Nhb1JNLX5jbWxPT3dKez9RfW9QMW0zZGtOSzZ1Mk9CJlEwfT4xWnhnVCk8
VWl6bVoka3hVVld0bCQ8CnozSzQyeW5nb0tuNl9OZ0JGd25oaDsySyNFZGNGOGQ3UGRTP1ZDZ1ps
e090IzYwY35yZGhGVEF6IUh2Y1U1R0QyaAp6P15eJUEoLW8tayFvbVdeRHVGUVZ1YGhHZTVzO2U/
WUNIMDJGQnF0UyZlR2Zoe3RvNUdgTGh0JF5TQn05U0duMHYKek5IZ3RvRXtZdl48M1g5YXxNMzBr
M0RNNUgpKzwxTD1JTEQ1OylXJUFgdWg1Yz9iaG8rREx8eGpIWTQrJSoyWll6CnorXn5FNXlLe3NQ
bGxmJU5JZWFpfEhGQVBXTl8xTHVeJktuQzBCc0dzNmM7dEEoa2FvVSR+QjQoe0VaZ0pPe2xPTQp6
Xn5DejJgQSlyVmo2Y18yWiZ1YGI2dX1PMFRuQFEmPStJUik9cSFLfVhGKEQ5dD8jRDFhcm9nQGtr
ZyUyWm55fmcKelhGPn12eG1CJDtAdF9reU1oSSowbkZRS1crZXpSOSU4QjFQT1JtV3NRcVFpV2FK
RmdnO3VBJUsqdStTKTFwMVI4CnozaWR3Vk5lcUsyezRfemBaQip+IUcoY3ZoNUJrRm9AbV5leXdM
OFBhMHE3NTEkeWNiRiY8QE5ua3xKdGE/S1R6WQp6ZE1TVzRad28hQjJVWWNCNXJyJjJeYGRLPjZM
TSZPSmVMaH1UZ3w4YVI3eD5eXlZrd1d1fFFKLSRRMDt5WE08RTMKel5KIzZePmQ3ZCtgbkxBUGxW
PUZYSVN1cVU4OWtXa0sjbzE/V0h+YU5xSyNHNSo+NiswZEspTS13RlpvQ2BtLSRLCnpHWEpXMEZp
eUFfUjleZStyNn1gXyVBX2FSZitoKDNsbGB5K0Z8ZnJDMzMhPUVpaCtBR1A7X0Y+JmdSMSZaYV9S
fAp6c0d9cCtma0RhfjFRNUUmMmdEPmZROD05TDBwQjxfPWZufkMxZUZ0eGBuR08wJjJfJDl8NHcy
P04+fm54OHhhRWUKelZzfl5FampJbEtQeFBMajVXNnMhJkZmQnRROXtISEdCMXwjcGhkaCo0ZyFP
R3Q+T1RQZHp1OCkpQ2RVelpBXkliCnpxNGlWfDRiPTw3ISRYdWNUQ0ZjUSU9YTU2K0tkM0plMERV
T2s1RUl8YFlSLTVPVnZCI3h1SXZuZWdDfkBGS3grdwp6KnNBeHt2R0dyZmopUihSbGxQKCg2eUZB
dlN1LVJ2SDFPPk55ZCVnPFJ2XilIZlghJCsoM0tqb2BFQTNfTnBmfEUKenk+PzJjSFE0Sjs4OUc3
dVlFfWlmJjI7Y1EmKT4yS3Z8TnptKTUpJCRJKjJ5R2AzZ3xSUmJgXip2dGckO0RMYmpYCno9aCU2
PD95Ty1zbXBhYFZZNU1Cfjl1b1IzTDQoQkE8ZmFxYVJraUpNdFgxMT1sVyN2THh6c3UwYHJ7S1VU
P213Vgp6MEY4WmpWJUxhKnk+OV5fWHczZEd8SG0zYXchc0AqK0tEVj1nJiNqTkoofSRwLU9DSjts
Y19vN2tScFBMRkVCVGcKekh8X2che2pvV2p3RlEoZF9DN29QKGYxNElnXk1nZilZfHRIXm8mODJ4
Q0Ipd0ZLTDs5ZTFJMjJEV0U3dFN1R0FeCnotV0VMNml3U2VRQVA1YnN7bTl2czNHOVhZcjRVT2sx
IT15QDwqJGp3JUZoWGNka0Y0IzNncHoxbUREZk4oRVozaQp6YS0hNXxyMHY0NiZaZmFXS3Vralcw
cUlDcVdFQi10UVNDK2tHYm59PVAhbGdAVkFrM1BEWGZQaXhASk1FKXRqSTwKeiM8PnV8bWxuSCRZ
VGt3TzxXQFJiSnt8O3BGX2Q5MXVORUZ4cyhWTnpDRUdRUFRGKkQ+Y2FFTjVJfDB8PDNxYDAlCnps
OHVWJmdQMythaCUqQlZBSk19TmtIdiFfPUJ+azlmenZ6fEgtIy03YVEmQXNOSjJLUndnN1N4eipz
PHFNNW41OAp6SzUzYilVOTB4fFJNdVV1SG19WnlhdHJZITNOT1h6MyNMPDhybzJaRG9GcDtaYGdA
d188d1N6P3ZfUj4mKnJmKmAKenZvcGVXSTB3d2MrQCRqZD9MP0VDM1p6WmRIQ3U1dHoyPDFJPSR8
VyYxSV8kM3AyTSk3ZWI7TG0+MSE9cEp9QzJ2Cnp7YVVuYXRGSXxIKl5ZMno8VHlMazdsQnNTOHtn
RGEtUU9laV9MR2BmSEJjKj9uUVFfNlhFIU5uKz1VUGMxK3hiPQp6MitvfWU+WlpkQ2Bndz4heWBe
d2RaWFhsSiQ/eUJNX0hge3tkY3chJldLbVdQPkNWPlpoeHVeeXMoMEAjMT9UY3wKemtSaXlGViZ7
V3xPansxVmgtZFgtN1ckX0EhSD18MVQ5dXRqSGtNUmxYYlE4MHRFd3FrRCFnbmY+UFMpRjghWV4h
CnppQ311K217VERBWUVjdkxVWH07MDZCWXRlWGY5S19wIyRiM1JBMmdzQG1Na21HNkFLeCsyXnZh
NWsjRz5PI3Z0Pwp6U0g7fjI8V2M8QiNFVWIkdiptfVBrRDxiMllfPGlnaWYzNGUqPiY8c3NFaUZ7
Z1NPYTxEb2N+Q0JkKkNIS2c+QWQKeldzLUMkLTwpSHdkbHwtI0Y0UjV0WnQqODM5dF9OREhnYXpH
T3hONmdKPElRQUNPSjlpdSRiZTApfV41WjFgX0dzCnpnZ3hSb2Qzb3RNa3t2O05KYV59RUt0bGwt
PXJlSmErUnxRUFZJWW5mUEEzOCtfMypsUWt5UG9sSlk1KVB6Jil7Sgp6NTVxekBuOGxQRkBtb3sw
JlM5YXFuPzNZSCMhYj08dks8SzsqYEAmMFRZbD8lS3spVHBReldFPCQ0cDBMK3w4M1gKekVedTst
NzFoX1gheGcyPzd4ez9Ka1pkbHd1Mi09b2kmTzVscF4zMm0kWlRlQTRtbzZuNENwdlhlbFhBfHM1
TzA/Cnp0fm1PMF44JjBCdUBzNyRpKmJFfnU5NGQ2VmJzZWViYytEek4meS09UzIqMiE0Pio4RkpM
ejk9OTBQUHtfMnhMcQp6e2k5KkpIJXYkT0p4PCp5RUolNS1OZm9ERSohZEFNKVF+TmNmbFNDWStM
UU85RUVfNTNiO3hqTHl1OSReY0gtZiUKekl+PSg/SSRfVX02RHk8VT9xaykxejRtcTJvNjY+Uk9+
T0U4UGphfjk/YmU7PllgckZsVCMkVSNWTih4cyNFIzB6CnpZKEs9anp3XllZNDRmWnVQaXRYSXBE
c0A3ZTdEVXZhQjc1PEQwWWZ2KXdtT34hPThCYEslKk9rUmtmY1hzYiEyewp6XjJsOylPTHxSLTZa
ODlHPXs5ej1WY1pvKmNOUGNRbUo/aFNsXmYyWGVAUD18S3N+UllFNkJQR0x3cntESlZmV1gKekhf
PHg2Qn1aXmpMOzA2RjdIcG8/bzVxRWJWZD4yX2Y5WGQqNEdAXnBFaTg3djVYQjw3OFhCREN5Znc1
QEV3Vlg2CnpESTsxNis5QSFlcEZEJVF2N3k2eHpPYntieXRZRHNCV2deUkMySDBye0dkU3ZMM0kx
NjJBfCNGSiV7QlNtbnYlOwp6V34wNHJHJG88ZTlMYVN1SFg8YjFmR2JnU3IqUzRxJnlKQldhdWUk
dnpBZDtYVns1SUI+S1U7R3JWJCNfdXgyZHoKeks9Z1FeY0J9VTxWQl9hQVd5bDwlKCsoMUdeQTx+
ejlLNkhqPHs5ITd6dEtpTXhSSWljYCo5aCYoNnEmSntGRyRjCnpgIzN9WGN6M21pSE5AV1RfVSFr
S0IhYEd3MGFNVmRxJXVxJmx3YlRUcX1PNkFgcWNRZ3RBNCphNTJqOU0qYUMhfQp6dWM9RUAtSTVP
Ryh9XmEzdmZlLTY/dWJEX1E9bmw1K1l4YjBRPE81QmFQbmxEM0VYJDhkMnpCUU40dmpjWUE3SFIK
elJYYStLNGJ0VzZ0ZVVseShLMioxaXhsT2s1OUZfUTRZNTI0b3B+QDRyb0Aqe0Btb1BUXnsxRkJH
cz9aWUZ5cVRrCnpPMD1QRlNFJjF7R30oZlVRbWxlZlBeZ0tTdWhGUEheT0R6K045SkpJZk82bmlL
e0chcUcodUR7RTNjPCFNRTZHaAp6ekYzTnRtTzJ2ej9KaSl7XjdrZWZeXylwPzxfS0RhQ2ZfWVc3
SHAlIT9+QUFSJHRXbXx6RS1IbEliKU9GZUpVV2IKejk+QSl9O2EzWFojd1k1M01eRHI0UXVGK1hq
T04rZTNQNVpJRUwxRihYS3N0RndHPzlPbXchYms9MVchSE9YPFZNCnpHKVM4NyY7Q3JqcEtVQWBo
US02V28zVHQ+YjgyJGxia0Q9SjBAKDhfPWdtQ2tKfnltRCN9NEVObH5oamZPMGQqZgp6cyUhTVc0
LSFJXktlP3tUajVZWEshPnx8I0wpSEFaPlhQVDR1JmRSZk56ZikpO30/KTUqV0xXdDZzNWx3SXN1
e0YKejJza2w7SU81fHFwWDhAIVM1XkV6WSNqYCRSI3NiMWRGZGI9UmJaeElIaTZzQiNvMnBBclE0
IVV5fiU1e2pgaUgyCnplcyU+MEYwUjs7XmsxdmtSSj5JZUgyent4QXk4Z2JBMzZxfEpwa19UWVZE
MGBfUDJPZ3p+cjtMO3dRNWVGMmhKbwp6QTIrLTkyX0Z1T2ZNVTw1KkBKcHp0QCpKbTcxR3RCR155
O19iWEQpd2E0QHpJakBaMFklIX01eiFFMShGXjRUM3oKemlPWW5VPjJYV3c9NElgNXo3JjtTayE5
a1hPY2ZXJStYSUlJMiRmcS1KcypgUFQ/VzZ5RUMjM0pec252Wjs9NWB4CnpHXmRfeSVXTm1mb1RF
bVN6ZGR0KSQ4OXJ2KGZGNkA2Sl9jO0tfTmZMdXJjWmR8NUk4cTJWK3A9PDVhNHl3PWxONQp6KihG
MjVOVSR8Kl9Vd34mMlE8KDRfQTUjNDF1KX5oJEUqaiZ0JnxCOTh3XmlYLTtDKUVtJipqejQtYGR8
KD1VfnAKej1geHdzYDBVdjRFc1N2VHlEN2woLTQ/JU5RdXdfcnBLWl5pTWdKNzZxQ3RnZD47elh3
QnxPaD05XlR2V3NxdEpfCnpHIyg+Z3dYZlNaZHNwdW4rYitJe3dFdztLWm5zRTZlQndPcnM+KCFQ
WFEofj9gTlBkPWZwb2xrdWZvSjcrdzw4Ygp6YGItIXt3PkBaQk1xQFFwQFBlZzlZck4tMSNWfDgz
YSZCIy1XKUlnaVc1VCtsSkB6UDxUYHVTbSFeZWktJjxQVXQKemgxVjt0VkJ4Wn5oWClSNGBYXikl
UXAkT0JATTFCdDA9Zmh0QCMoIzdxckpAWD1iRFN8a3JrU183MXE2I1BVfkNKCnowRyVIM2RkP15y
aTNecCorJkZGWEY2UU9tbWE0b2JBaWVjUSFaXzRsYj02QHVKeCNNQD14MSFtRm4oYjtRNXkjaAp6
JH44V2hhZzNURVc4Skp4RUdSb3twUElDUEZic3RCUn1+M1hlKklIVnczY2VCZnooREJEbXlpRUxX
aUBpZkFfd20KekhjTlIteC1GTz5gST19RVpSITw5Yll1eGBCPEw+eSZmY25UZyQ2SUVlI3YxfWE1
QCRWTGMlV3ZkUlI3PXRKRTVMCnpFZjctM3BpWUQhRFIrTlNAfWRvWWdWaCFGQ3JtQz1wWT1VTDBo
YEt0eSE0cT04aEdiYzR9RXAxKiV7UCR2SH41JAp6ayE5enBhPCRJbCVfQ2QpcFZvJGo3RlJVRU44
dV9BbShqTWk8JGhSI24rKDU4PXE3WmkjZFV8Sy0tQE5WdX1HdHAKeno1eGFVSnZESTRVcChMV0Q9
OyVZa083bEN3Z1pXZ1YpUCpiVTxERTRFRX1aX0xiZl5HRE00MzcyQSRMfjtAZ05nCnpgfDJgWEE/
fjFHUUVKWGJMNiEqTXs2QlI2NmBwdF9kd0srNSk5Xl4yYiM4VyhrI256XmROYT5+eUtHem9qbGcr
cwp6SDU9dkZvITtUOFM+LVk1LStzWVJgSm9SQk10dCh+bTM4KCRGO3NuYUBYJDtScThAbCZuTDY/
UHluVTh0NEgjVXYKej5DP35WYVp0YCt3LUNBMTY+MXkxOHI0NTUlPEhvaT9JUn1kRDZtK0BZUmp0
Vkl2SHowdnZeaXxaZndkMktTZ1FwCnotVnlobiNffl9TMDtGclU0IWBtbl95TDkqOWhTalJXNzM1
QUNlSWU1O2lEPUw1eGR5YStGdThVVXlLJVV5JUtCewp6UDNudFVzR0U4YC08dyFrQz1IYGRRQF8h
RC1TZGBQRil3Vn5SbUlpfE9xbSpWVTlZXm1mTXY5WkY5VCFkUl44YVcKekV0JFF2RTh6dHlGbEJI
S2hDRDhPdj1KRz5JQ1FJSTw/UDwjRnM+cWxTN2hNWD9KO2E+PV98Q357ODx8TTdeXipQCnohWnxC
QEdeTSVVckY9eDF7PzlTLUQ2ZHNEQzBSfFd2c0xxfSZIakYpSkN1X1FoT1dPYFlla20/Ki0kODhB
PDdHQAp6RSVQKlUkM1R5RjR8bSlLVl9POz8zZVlYUSlTMVFaRElBKUdMQyR4LSVhRUllaEg2a3Br
LWQofiR+VDUzakB1YVYKeikjQFRNSEQtdX1gUWREeSpoMGkwaT9uQit4Rk1hdCZtUVJjeD07R05U
WmNkSHRYeDFeVyRKPU0+MDxldV5YJXBSCnoke2gzTT1CbzNIYlJqP1hHVj0pUzlZPFFPPE8kUFdX
VE4/KyFISz5TQDdUb2N4M2dIMFRkdjhUPiEjKXNnI3Jpawp6MnVkQl5lR2lUcGxBSURsckRNPEUo
JTNPcWU2K1peNCgyP29ISkUjSXVldT56YkhGcmo+Pk9jUSsmTXlBMExPIz0KemtXM2dOJHtKYnxt
I2sxTDdBZmlILTVLQXNSRiQ/VTFJUFZQRzhqMHVDd2lyMkh8N2hUJmc/fDVLV01Pb18xeW5wCnpQ
WjtIJVNqUEU/dTt+QlpYYUJYIytDRl9Vd1F+X1N4MGIyenorNjVIRVZtfTQ3dWRPO2BFViszXlN4
czxJNyRlVQp6eWlERCo3VCU5R0g7NUI9WTtrUEo/c1Y4JEQ0YHdOOFFNVCp1cSloM1hKN2JYa1BG
UzJESng2PUR5QCRAd3lLVXIKejtwYjVxJD9RSz1NPmkpJFlRITI3TzBuVWQkJjMyNXRLZVghcl5f
eTJwaHNnKyRLcyUoblJmKjg1V1AxczZfbEJrCnpyPFgzQyVjMjJ6R0F+IWxORWsjUSM1VkolS3tS
KH5ISl9ta2w8bF9wTjV0NTBPRDRSOFJzbGFLbDRIYD40Kkk3SAp6TDYjTVNwPGVTRXd0dFIoMGU8
TDFENW9ORVBhRVYoPGsmPTl7KilhOWlPem8yUypLITxlPXIxekpIMT55OVdNbEYKemdocmBmMyNx
U3pXTCp4PXE1QH5eQX07PV44ZWNVcz1Be3F1IVI3OEBNailxKjhxcChsUiQ4ZGllR2dldWxeeGw9
Cno5NUNqbVhKMXZeQ2olU3owITBxfGlWVko/RUMwRnE8c0JJP25QXj87cTJhdV96TWRlaXJySCs/
dnlIbXozSnFUNgp6MXtwfU1sYFlXSylGWWZEa1ZRaC09IVpgZmNLV1cpX300JGdzPi1QN1JmRDtx
YENVSEtucERKWV4jcXNLcG4yS1cKeldFPj9wRXpRTURaNUE1enJxcj9qTHN+SDYoSS1WWVVPdHpU
bmZOa010az48Q2s9cyNzISE/ZHwxeXglOWd0KVlICnpuVm51I2omdX5SSWxMPVAzU1FZNmlsJW00
PDUqcC1VelU3dWpnflNWI19obCk/KTJJSGg1SGkpcmdWTikpNGRkPAp6P1VaeTQ9ITZ6ViR2R1dW
TXE7OSY8Zk5AcTsqbVcrKT9NUmdVI1ltMXJNJFVBa21FQ31XO3ZjdTxVTXt4dHY2cSMKemItbHtz
TSgwX0BFQjVgSiRkRzhiVHZNdTFrUExwYUdGI3QjQ1lwbXUldVl2OXFHX3JVOTV4a3owLWNPbiEj
N3NFCnp3eGtyfDYjTGJETXpeN24taGlGSDklZDMwJDteR0QqRG9RTj0rK35nZmAjJnt3JVAxbGhK
NGVtTChBWUNBUXp6ewp6JUYxcnJ0YHdEd2htMEopb3U+RVRmSktaJGI4azU7U3V4X2tkI25kWDFy
fWFxOTU8Skp8SGFmV3tCMjlRS0E3XjcKemE3Z0EyX3ptajU+NTFQSE1laj4qamktYUw/NmkxQ01P
YjQhOy08c3c1QmZwK2o7ayEzTHYkV3NWeDI9fnt4TDAyCnpUeCNgcSRwKiFOblpXdUc/YllQWGRk
UDB4d15lRlVta1d6PipXO18wRlBQbiYqKGg+fTs+M2p8XkVHR1RSLTtOUAp6UXtLcXphOW5vPDJC
SylLQXswQTUpbmdMT3lvJjtlbmFNU2pIanQkaF9HfHVwYy1Ud0heXmRmWG8tSWR2O0VyTlIKemU+
Q097JDJCSWxgezJ+OXBiTTs8ajRUMnJGTFp2T3Bma0BGZXpPXlNZXnE/ZXorelQkeV41fXlIPFJm
MV9uVlJHCnpyKzFsYyNNZkN+ZGsyZW1vN0N5VE0hMTJBO3RwLU9EcU5qQ0dJS1M2TUBENFd2IW0w
aXotUEFnYFlIci17ZWBPQwp6azt0R3hfUEooPDR5P1BybkBwZ2I3YjREWHlTWFdhWCM/NEIqUk82
LTw+fCZjU0ghKn1SQlJSe2BiR31PTU5rJXgKejtoM2JOcSNOQD52PnB2PlZtZEc2b2FyIUloKVFL
LWpCJEM3YSsmdyNkZTIpZjEkR3JWQjZCQn5UMH1RP3lgeVhWCnp5NWAxZi12OC1tcTkrRnBUYTAq
PW83dy08LWckPkxtOUtleDlHJjJkRnR8N34zTDwhPTg2Y3BjT05tfClMX2kjeAp6SyFoTD1CRTQ2
USRafVQpNWx+N0g1dSNUSyhuTU5sKHVRZ1JNMClRO0FUamglNSg0YD47SGRsVGVmSFY/ZColUTAK
emdtWkd2ZCoxSyZlWlFZajw/SSZrR3h8bjN0MGpDOzVfcWtDQHdwKVdoQnRNdS0hZitUTmlUUkV7
UiZ9UHZmMFQoCnpvI3N2WUkhb2l7NyZPekV0TjBfISNOTnVlZmJKNmRoOSE0KCZgYlI3dGcpQXZu
ZVE1LUU0N2VjcVgqRXJvKH5fcgp6TStDZVJJdm9ybyheJUYlcGJJdTxgZjJ9dEsmUU5BO2BoO00w
azJAaz96YGpqbHJnV1o0Xyt7Y0E7MyYmcyM1SFUKekVYaFBmUEEtaHNiI0ZDPDYlXzxlSi1EIVFA
PCprMDZSbEhqOD15TkJeSFRCPV5UQUQ7UyV2eDxaY0RIOXdPdHAwCnp6SDVyT0VgJGBCeUdBcSV4
LUlgblZ1VHcqLUt3T1NIYDFIUzFEJUlFMkc1OG09RDsjZEBDPnR+UjR2fUROZ2t7bQp6O0hZRm9O
Xm4/NHZwdU55SHdPUz50MWZJcWFUfmkoRlFiJEgjS3kwfkt0e2s5UG0hbDhyN2I/bExKKiVHWXwy
MmYKekdpNzVFSlp2VCYoSUA9P3A9SzlaIzdRKCN4ckZ4aGNxZWF8Nkt+WXVGfC03alRqajJYbjwp
ZTw4U0N8X2dma3U2Cno5LVE8ZERWe1FPMzg+TlJAKm1IVlIjLUFXM2E1P3RtRUZPdz1XZXc5dXp8
KHJBWF5jS3BORH0pSEMwOFBaWWxxOAp6KVp+KlZgc042dm18XkRHSHBwMD15KE5SNStAOExKb3xT
Qn10TmtgV0ZGZW1UZzdwWXJkXnVEfkMhcHU1PilLMXQKekdfcmJ+QGRIUmlPeC09Tk9laSVpd01j
S0ZZS2lVOGc0RS1WezhCPlZjfnh6QWNOMlVfRXs9P2dXajw4cFNud3t3CnpAd3w5RlVJTXIyUzh1
MHRAUDxONS1GZGVJUEJDcTM8THN3bzNefih+USgkNTgrUVdjMm8jOVJrXyMxKEpARkxSZgp6UStA
blI7eXB2Yk8yMkJjal5ReFNBWDt2VipubndKaXopPUEzQEctaGh5N3l9SlEmU21KX0dyQk9ke0xR
O2M1RG8KejBlenFkYD9NKSVAdmBqSXhESjx5UyVYRHFHPnBGN2JzRkJ0XkVfJiZXSWtMZ2Nlcj8p
MSR5USZULVlpdTh5KnpUCnpwI0phP3dkI21jVTlUTUZSQE9wK2NrSyZJSjFHQVNuezRaMF58Iytv
Sld6VXxoZjtDJkpMc054ZStZVVZUSzBlNwp6czhLPUJSSEhNQlI3MjJIcmIhO2AwTzI8QCg/QXEw
clA7QEhKQk0xVGp4PV4zQjhMdmdZY2M0MGdHaT5ANzZ8a3sKekNMNyVrQV9PTEkxYGBuNms4M0pz
Rk1aVnRIMUdELU9Gcmt0MHx7NVZhQUd+TzheMTBnbz1IbG5vUlUlJDJGd2VTCnpXR2w8MSh+cGB5
Wkg8RHBMMTQtST9CenpoTmUrMFE3Q3Uqc0M0fkV+OGYpVTxUdEhtUURgJEpjOGE0PTx6KCoxYgp6
biRjJEJqJE5iOyV4VXVsK2MkaGhaUG9qbXFOUDNMZD5ZKmV6VWlBTT8wfUcmN3JaUHlCQnFYMGpr
fnFFPmIxUkUKej87NkdmWlYoQFQ7fW5wRyt3fXo/X3AjZEB0TnNxdTFWb2Y3K2oxbmx2PiFNZEw8
cnhPWitmUl9uM25vR3RYfG1MCnpuYkliMklEbithc1coZEQzI0FQQHdKd1IkbGNqK2JsdlV1LTtS
ZTFmP01fT29zczY7ezstUXoxMlIjaiE5XnNubQp6a3UrSzE1dTBGI1VxZztLUHFZYTl2fj13a0Qo
NjUjclhPPXUyKGtPbyotI2NEMlJRQGBuaW5FUk9oaChRMG8lamsKejU4K2QpaHooVXU+ZFB8KWg8
Q2JhYCpiYEVAWXU2WVlpSE4pbWZUOWshVUt8bVEmeHBfbUBqUiNBPFVOVWJ5TV51CnotWCFDZF8h
QHV7ajllfj1jWTBvTHJQI1RtIXhQR0xAc2FFU2tFSnMhWCgtdlhyfVJtVDYwTG1iaU1wVT0zamAx
aAp6YmcpPndKdmNhR3NWJUJoOytqVHB2cHBuTl53Kkk1eX5HWHxwaW1NTEE8PVp5XyYqTTFkNFNe
Vz1he1VlQnRlfU4Kei0oR0tJU3RvUGlqZlZVP2pVandoaEB+RFoxel8xaTR0ZD1JUDlgWmJGSCNZ
QVMtTjRkdVN0aDIodzd0JVlpVHYwCno5Ozt2M3JkMjJEQGslSzNkZGtTY1U5flE/U1VlRkk8VjFB
d0YhKjZ8SyFfPU1HSllWPTFGck5zQ1Z2bVA/QEY2PAp6XmRTQThRM19lQWJvZ3YxTDkzVnROdTJ3
TThEJURlT0BYXiExeX1+JTRfTnw8PEdFSn4tX0JmNjZkNj85bys1Nj4KenlWezNNTXlzaDNjNXFz
YFZJVD9MMlJJdjRhXjd2MCtzXit5cl9hK2tVWnxyZjtwNmxeNFA2PDc/cjJLQEJzfjxiCno2T3xq
NytWdFl+JDBEaGN4Pm5faUI5fFVBcS1MfFNMVFY0I1VDSHo4PHNQbkhafERYezc1SGllRmcodGE4
KHhVIQp6V3d5TCEjdT9GWkwrMGh6X1FwQitfMFdOb3BJeHZQMmhAQD5CRFpZKHllIVZ9R0E8V2c3
ViZISWVBPWdBcX05V2sKemd8TTlYQiZ+dnA5VD5xVENSaHFwJDMmMzlLd14kSGp6RXsoR21CY1NL
bFN3Y3FTVztReSF4Rz9MVHcpJG8oeGUzCnpabUt1OTBKTmp3Rl4jdFduTldFIyRII0UhTUYwc3Y5
cWFhTj9ocTxYbi0rZVl6ZSNEQ0kyfTV+eVFOVCNmPG53fAp6XiQkNVozKm16MTklV2tgPUZ1O05O
ezNVb3ZPP0s5KW5VZmlUeSpPdyFGdT89Qk1VWXhMcTZmUCMpfUIhWFYpJk8Kel5sNUt6RShnSlVm
T0Apflh6bnpLT35PPEc8eiM+UVglan1ecWYlZVg/UjI5Tm9HcHlrJHZEWXZTKzwjSXdxSm9ICnpS
aXAmI2xCZiV7O1Z8WkhWYiFjdilXVklkNT58T3xxTkchb0dJTHB9d0o3KyhzLWFkdjcpSl5fKEFZ
IVRUPT1MVAp6a1J2KHxkNVd0R21pNjY+YXEwPEVqX2RvRDgrRnx9ZUNGbWUjNjFOd29MSzZ7dlIt
STRYdFgpQ1pQQjt1TkkqNlkKei1AcENMaHdZOUZWVjUySG8lSDlfI0J7LXchQH5HOHBCKSMqIVYk
QVFDYih0cU9AVXthYjgqJHomPHtDRk1HUXpeCnpNUFJuKjdfb31eNktkRHxUMihDMnpDSG1DJV97
cnJWek0wfElNUykrO1JGJlFZVDxGPDE4WmB4YXB6cm03bjE+MQp6RXlxKTQpJTZtejtidjB+SWs7
dEBxYFFyfk5uMD4jOEgxMlFXODtFaD51dk04NkRRUn5FKjFsUV5scj57S0orUzYKelYjdkVyQWM2
Pmh0Xkp1bilgRGczI352U1p7X1RrTGFZMlE5XlZgUzV5I00xYjZGVFNuK31DXkhkI1RvUDdgLXhu
CnppcWlnO1Z+TlBwUnVpISFOZUEjYTEwNWtWcCQ3QEgzJSVBSXVlO1hMME50bzJFPj1gK2slVEMj
R1psS3E/fC1Pcwp6cHsyPl9vaiR8ckFOcXtzQVVKNkBEKUB0cGhYRUg8a181eCpteHwhQnN+K0Fj
JCNoSCRsdzdeVz1lSSNtNjBGKXsKej1VdWdzaWpnMVB7R2k1SE1zaD59a2BAWl5KZUV3XiVNY0ZL
VnhEKHpNYEhvYDZadzVeK2EzNGVmPUp4fkJQaVIhCnpwOEAtTVhERXpSLUBFa2UofV9Hd2hiK2tk
JVl0RkotVG5sKEBYKz1uKFlyTlA/bCh8bG95M1p1PVBYNn5BKWh9NAp6RiRSVkllLTlXMjRGKmBG
bTdEcTdSfHl6VTh+TWJnYms0dXs4SF9VbDlrQlJOV1g2VTBFMjdPUWVNdVJBN05RUk4KekA+dzRX
WEsrZTVlckowbUorSlNNa1E5Q2I2TEheejA/anBRNW8xe1hKNCUxTmwyUFl0UFlYRHMqUnJnO2l0
V3BiCnprRmZmQE1uSTV4Jil7Iyl4ISVSTXA/QHIoMyp1UjEhOzFBfExeRFR7WHo0QEcmKTxXczRm
JlpeO0R0OXE+TmVIbAp6THxtWilCK2lOdi0xSTV+b0M3N2I5QkdAQUFsTE0rKyUhenFzTmVNVSRE
b2gtT19vaUEwfFF5KSNDMWQ0TlYhMnUKem9ELWFAajQpO3laXiNTSjtOWGkxTjJ0QFRqd30/TCNW
JlFia1g0Y3x5QklBZEZ7bjNhPTVFTHAhdF5CU2h+IXBwCnptMVMwfkx5QlAtUEFLKGpzYUl9dSQj
fHBvKn5xUnVZPDIxVHhPNHVuNEQ2TVpKJF5ka2VsNGRwcElLanB5JHIjSwp6Mmprd0AwQzsyI0Eo
WWFfRX5sMCsqPSltNT4+Z0J4ayVuaFRZZE54MWFkOWZ4SV9XWFI0TD5VUlRSSCtlPllrQCkKempp
RVQ8SFM4KkAzZyZPJTFFTmZFa3kxcCU0cyZ1aGhNQUFVWXZfJk8mPVYpcXEpNl5eXlVUT1V4M0A7
T1ohUVJLCnopdU5nfEctOFhZZXYjITcpP1Y8O3k+NjF4YEAhSVF0TSRLN3JZWGsqMjxNWShVMGBn
aUohVWxUbUxAVFBldn1JKwp6P0leQnE8TUR8OGdjUmxWd2s+dztPJHZjJElCYzg7an1KemtSaUhC
JHZCYzBwPTM7bTMpeDRZal97PTs+QXJQNk0Kel5iPGN+VmxhOHhaJXNEWiYqQSRtISpZfFQrPEgz
KTF5JjEzJFpRb2NaJjtRP09eemFeT1JEdFM8I2Bwazh+OVQ9CnpLSX14Ni1ILWtqJEUmRz5HSnpe
KmUwSmw5WUByKXMqQS1wfjctJTh3SiNDfX5eci1nZ1QmI0U2OXh2RTtuT149Xgp6MkYtJjIzWTVW
dmU/b0QjNi13YzZSJDhaPnJjQXEyU0tlXkcoX3h6OGRKQEJmZCFvXzRmZkQmSXcrZzBzQD82M2EK
enk7eXkhdWFsc2o9dmFTPjctZyRYRmtwQVpLTUV+ZHYxTDNpdHx+JkUyMy01e1B0azdobUc7UilK
KSgyXnlQNlZ5CnpVIXxGcjw2MDVAb0k3TkdKdGcmNCZSYz8jc0sjWC05R3FeN2dIXiVmX2RWO3Z7
RigpYnc4SkROaDJqJThNK2xgOQp6SHtKdT9wT1FFZl5HciE4X04+S0MqX187eWJmR1c8PypmZyps
RX51cWdzZGhPOGlQVVUmQm9YM2NuWShrSV9CRCEKelg1K3luVllCZzwjQUVFbE8lKjQxTjA7RWl0
I1JKfUtzO0t0c0c5JSVRQntfV05AJD9PVmRkRDBSfml3V3tJe3NiCnoxRmx7dTdNdjd7djNiUHMm
fkReIVdEP0VuU053VnMzbmUzOz4pZkd7THk+Vys0LXx+fCZMeX5yeFd8ZyFUPTgzVgp6dnFAcUg1
UGMlZ1FLSGNrTm1mampGYW5LZ29GVFc8Q0s9Z2xvajBuYkx5QzR2MklTTVlsV1Rnc1ljd3wpbHox
XncKeld6Uyl4clhfNF9nSXhKRXg3cHF3dFdFP2dza2ZQbSpUZkomOF8kcTZ4RHhZLXJvcH05VkJr
KS1pN0tjfXBxOypTCnpPXlcwQGdxJV5wSXM5WWAkNTBZYGg0Zih+UVo5ZC03ZlN3IXVDfWliYiRp
Nn15MlNCKSR+cFooZCtyODRva2NIfQp6M14mZUNLIU97QF9JVU81SHFBYHpzaCk7OWg7Y2dpNG9k
OCVQVHlQI1BZMnRFP2dAXi1aTUpefG1jfWwpWDY8WiQKenNAbUZUOSk5azE8fjh1NC13VEhPSFdy
RUp3KlIhI0hOQ00zeDlxKzE7Tz4pSTY/VkZqa31UNz1KJl5ZI2c0MER6CnpmTzlqOU5OJit7Nzsr
TTR6KkRnXjNLYHQye0wxJVNhQXV4NlpKS218bnNFJXBQMEYtMjx8YzZwNWd1QUl0MT8+LQp6RFhP
WClpQStwSzQyY0Q3I1l1OFRPZ2tMZ0ZUK3l3cGlUUipYa19fR01zLSo9PnNCQ1khRWQwTjdFK1FG
SG9DI3sKejxDJCg7byUhVHVEbmZrdiYzazQkRTl9UnxMPmBMeXw1SktydGVVbVlzTWFSJj9jYHI9
SkdlOD9mKkFyVnV3NDRmCno5KlJ8QiU/aktxYCtrZWg9UTBZU2lLJD42cUxPSlVAUmRWbjNtbSMy
dUFiQjluemIoIVYlcGR5eHFnKWRvQ0VRVgp6QDxGeEZNalF9S24mN3prYWBUQVltJmxIRF9wZnE9
N3RlPEZyaSotVzM3PUpmWik5I1l5N3xqLUUwQDdHUUg0VkgKelNIRWc5NDhqdXJDMEBFOzVjJHU3
ejtQbzFuWHNMRDBEYXVTbmIlLV5VeEFuUz5iRlpPTERYflF3YyVJa0kkJENLCnpORGJAZ3FweXhq
MTsrKjFXfVcrVCVLdEt9MlhnTTtGNGViNzF0UW5xP2tjZUp7X096LU1kdz9zZil2OUROT2t8ZQpk
RTk7eHYkPy05cXlPWT05LStAMWEzenYwWXxLMHhJe31We05JWWE7ZQoKbGl0ZXJhbCAwCkhjbVY/
ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8t
cmVmbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy92aWRlby92
aWRlby1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNTdmM2E4YmVmNzhiMDM3
NTIyMjNiNWZjMDVmMTU5Y2NmYzVkMWExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tcmVmbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyIEBACitFWFBFQ1RFRCAodmlkZW8uY3VycmVudFRpbWUgPT0gJzEnKSBPSworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy92aWRlby92aWRlby1yZWZsZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy92aWRlby92aWRlby1yZWZsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTg2ZWRiNDI4MTFmOTJmYWYwZTQzOGYyM2E0MDRiMGVhODQ5ZjEzZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLXJlZmxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxo
ZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vbWVkaWEvbWVkaWEtZmlsZS5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9tZWRpYS92aWRlby10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICAgICAgd2luZG93LnRl
c3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICAgICAgICAgIHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3ZpZGVvJyk7CisgICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcign
Y2FucGxheXRocm91Z2gnLCBjYW5wbGF5dGhyb3VnaCwgdHJ1ZSk7CisgICAgICAgICAgICAgICAg
dmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgndmlkZW8nLCAnLi4vLi4vbWVkaWEvY29udGVudC90
ZXN0Jyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3Vn
aChlKSB7CisgICAgICAgICAgICAgICAgdmFyIHZpZGVvID0gZS50YXJnZXQ7CisgICAgICAgICAg
ICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgc2Vla2VkLCB0cnVlKTsKKyAg
ICAgICAgICAgICAgICB2aWRlby5jdXJyZW50VGltZSA9IDE7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBmdW5jdGlvbiBzZWVrZWQoZSkgeworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgndmlkZW8uY3VycmVudFRpbWUnLCAxKTsKKworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7IH0sIDE1MCk7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICB2aWRlbyB7CisgICAgICAg
ICAgICAgICAgLXdlYmtpdC1ib3gtcmVmbGVjdDogYmVsb3cgMHB4OworICAgICAgICAgICAgICAg
IGJvcmRlcjogM3B4IHNvbGlkIHJlZDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgICAgICA8dmlk
ZW8gaWQ9InZpZGVvIj48L3ZpZGVvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194391</attachid>
            <date>2013-03-21 17:08:03 -0700</date>
            <delta_ts>2013-03-22 09:27:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112397-20130321170351.patch</filename>
            <type>text/plain</type>
            <size>2435</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmRkNWU2NmIyYjM4ODEz
ZTJmYzMxMWQxNmE1YjU4NzU0MjM3YzdkYi4uZmM5NmE4ZmM1YWNhMTk5Yjk4OTk0M2ZlZjQxOGQy
Zjc5ZmIzNTA3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAzLTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IC13ZWJr
aXQtYm94LXJlZmxlY3QgZG9lcyBub3Qgc2hvdyBvbiB2aWRlbyBlbGVtZW50cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMzk3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV29yayBhcm91bmQgdGhlIEFT
U0VSVHMgZ2VuZXJhdGVkIHdoZW4gc2V0dGluZyBhbiBBVlBsYXllckxheWVyJ3MgcGxheWVyIHBy
b3BlcnR5CisgICAgICAgIGR1cmluZyBhIENBIGZsdXNoIGJ5IHNldHRpbmcgdGhlIHBsYXllciBw
cm9wZXJ0eSBkdXJpbmcgdGhlIG5leHQgcnVubG9vcCwgb3V0c2lkZQorICAgICAgICBvZiBhIENB
IGZsdXNoLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FM
YXllck1hYy5tbToKKyAgICAgICAgKFBsYXRmb3JtQ0FMYXllcjo6Y2xvbmUpOgorCiAyMDEzLTAz
LTE4ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogUGFpbnQgcmVjdGFuZ2xlcyBzaG93biBvbiBob3ZlciBvdmVyIFRpbWVsaW5l
J3MgcGFpbnQgcmVjb3JkcyBvY2Nhc2lvbmFsbHkgaGF2ZSB3cm9uZyBvZmZzZXRzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxh
eWVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRm
b3JtQ0FMYXllck1hYy5tbQppbmRleCBiM2I4MjM5MGNiYThkMWFhZmU5M2JlYjA3ZDIxY2NmMDZh
YjZkYThjLi5mYjQ3OGE3MTk0ZWRhYzY1YTFlMjgwZmMwMWQ0MjNjMjU5ZmNjYjk3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxh
eWVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9Q
bGF0Zm9ybUNBTGF5ZXJNYWMubW0KQEAgLTI0OSwxMCArMjQ5LDggQEAgUGFzc1JlZlB0cjxQbGF0
Zm9ybUNBTGF5ZXI+IFBsYXRmb3JtQ0FMYXllcjo6Y2xvbmUoUGxhdGZvcm1DQUxheWVyQ2xpZW50
KiBvd25lcikKICAgICAgICAgdHlwZSA9IExheWVyVHlwZVRyYW5zZm9ybUxheWVyOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIExheWVyVHlwZUFWUGxheWVyTGF5ZXI6Ci0vLyBGSVhNRTogVGhp
cyBpcyBjYXVzaW5nIGFzc2VydGlvbnMsIHNvIGRpc2FibGUgZm9yIG5vdwotLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjQ5MAotLy8gICAgICAgIHR5cGUgPSBM
YXllclR5cGVBVlBsYXllckxheWVyOwotLy8gICAgICAgIGJyZWFrOworICAgICAgICB0eXBlID0g
TGF5ZXJUeXBlQVZQbGF5ZXJMYXllcjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBMYXllclR5
cGVMYXllcjoKICAgICBkZWZhdWx0OgogICAgICAgICB0eXBlID0gTGF5ZXJUeXBlTGF5ZXI7CkBA
IC0yNzUsOCArMjczLDEzIEBAIFBhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBQbGF0Zm9ybUNB
TGF5ZXI6OmNsb25lKFBsYXRmb3JtQ0FMYXllckNsaWVudCogb3duZXIpCiAgICAgbmV3TGF5ZXIt
PmNvcHlGaWx0ZXJzRnJvbSh0aGlzKTsKICNlbmRpZgogCi0gICAgaWYgKHR5cGUgPT0gTGF5ZXJU
eXBlQVZQbGF5ZXJMYXllcikKLSAgICAgICAgW25ld0xheWVyLT5wbGF5ZXJMYXllcigpIHNldFBs
YXllcjpbcGxheWVyTGF5ZXIoKSBwbGF5ZXJdXTsKKyAgICBpZiAodHlwZSA9PSBMYXllclR5cGVB
VlBsYXllckxheWVyKSB7CisgICAgICAgIEFWUGxheWVyTGF5ZXIqIGRlc3RpbmF0aW9uUGxheWVy
TGF5ZXIgPSBuZXdMYXllci0+cGxheWVyTGF5ZXIoKTsKKyAgICAgICAgQVZQbGF5ZXJMYXllciog
c291cmNlUGxheWVyTGF5ZXIgPSBwbGF5ZXJMYXllcigpOworICAgICAgICBkaXNwYXRjaF9hc3lu
YyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeeworICAgICAgICAgICAgW2Rlc3RpbmF0aW9u
UGxheWVyTGF5ZXIgc2V0UGxheWVyOltzb3VyY2VQbGF5ZXJMYXllciBwbGF5ZXJdXTsKKyAgICAg
ICAgfSk7CisgICAgfQogCiAgICAgcmV0dXJuIG5ld0xheWVyOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>