diff mbox

loadable objectstore

Message ID 99767EA2E27DD44DB4E9F9B9ACA458C03BD7F709@SSIEXCH-MB3.ssi.samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

James (Fei) Liu-SSI Sept. 29, 2015, 5:32 p.m. UTC
Hi Varada,
  I tried to reproduce the error you faced over her and compiled your wip-plugin branch from  https://github.com/varadakari/ceph/ and always have two errors with autotools:
  1.  There is no ceph_ver.h file under ./src directory. I manually generated one and work around the error.
  2. gmock error even though I tried to run ./autogen many times. 

make[3]: *** No rule to make target `../src/gmock/lib/libgmock_main.la', needed by `unittest_librbd'.  Stop.
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/home/jamesliu/WorkSpace/ceph_varada/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/jamesliu/WorkSpace/ceph_varada/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/jamesliu/WorkSpace/ceph_varada/src'
make: *** [all-recursive] Error 1
 
By the way, CMake won't work either in your repo.

thanks,
James

-----Original Message-----
From: Varada Kari [mailto:Varada.Kari@sandisk.com] 
Sent: Tuesday, September 29, 2015 10:14 AM
To: James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
Cc: ceph-devel
Subject: RE: loadable objectstore

Hi James,

Symbol is present in bss. This is what I find

$ nm libceph_filestore.so | grep tracepoint_dlopen
000000000047f8c0 b tracepoint_dlopen


Please note you have to comment the following line to check all the symbols on the so.

Varada

> -----Original Message-----
> From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> Sent: Tuesday, September 29, 2015 10:08 PM
> To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil 
> <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic 
> Dachary <loic@dachary.org>
> Cc: ceph-devel <ceph-devel@vger.kernel.org>
> Subject: RE: loadable objectstore
>
> Hi Varada,
>   Can you use command nm to see whether " tracepoint_dlopen" is 
> defined in "./.libs/libceph_filestore.so"?
>
>
>  Regards,
>  James
>
>
> -----Original Message-----
> From: Varada Kari [mailto:Varada.Kari@sandisk.com]
> Sent: Monday, September 28, 2015 6:21 PM
> To: James (Fei) Liu-SSI; Sage Weil; Matt W. Benjamin; Loic Dachary
> Cc: ceph-devel
> Subject: RE: loadable objectstore
>
> No James, Facing library issues with libnss3 and libcommon(ceph). Will 
> resolve them, generate a new pull request soon on master.
>
> Thanks,
> Varada
>
> > -----Original Message-----
> > From: James (Fei) Liu-SSI [mailto:james.liu@ssi.samsung.com]
> > Sent: Monday, September 28, 2015 11:51 PM
> > To: Varada Kari <Varada.Kari@sandisk.com>; Sage Weil 
> > <sage@newdream.net>; Matt W. Benjamin <matt@cohortfs.com>; Loic 
> > Dachary <loic@dachary.org>
> > Cc: ceph-devel <ceph-devel@vger.kernel.org>
> > Subject: RE: loadable objectstore
> >
> > Hi Varada,
> >   Have you rebased the pull request to master already?
> >
> >   Thanks,
> >   James
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Friday, September 11, 2015 3:28 AM
> > To: Sage Weil; Matt W. Benjamin; Loic Dachary
> > Cc: ceph-devel
> > Subject: RE: loadable objectstore
> >
> > Hi Sage/ Matt,
> >
> > I have submitted the pull request based on wip-plugin branch for the 
> > object store factory implementation at
> https://github.com/ceph/ceph/pull/5884 .
> > Haven't rebased to the master yet. Working on rebase and including 
> > new store in the factory implementation.  Please have a look and let 
> > me know your comments. Will submit a rebased PR soon with new store
> integration.
> >
> > Thanks,
> > Varada
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Friday, July 03, 2015 7:31 PM
> > To: Sage Weil <sage@newdream.net>; Adam Crume
> <adamcrume@gmail.com>
> > Cc: Loic Dachary <loic@dachary.org>; ceph-devel <ceph- 
> > devel@vger.kernel.org>; Matt W. Benjamin <matt@cohortfs.com>
> > Subject: RE: loadable objectstore
> >
> > Hi All,
> >
> > Not able to make much progress after making common as a shared 
> > object along with object store.
> > Compilation of the test binaries are failing with "./.libs/libceph_filestore.so:
> > undefined reference to `tracepoint_dlopen'".
> >
> >   CXXLD    ceph_streamtest
> > ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> > collect2: error: ld returned 1 exit status
> > make[3]: *** [ceph_streamtest] Error 1
> >
> > But libfilestore.so is linked with lttng-ust.
> >
> > src/.libs$ ldd libceph_filestore.so
> >         libceph_keyvaluestore.so.1 => 
> > /home/varada/obs-factory/plugin-
> > work/src/.libs/libceph_keyvaluestore.so.1 (0x00007f5e50f50000)
> >         libceph_os.so.1 => /home/varada/obs-factory/plugin-
> > work/src/.libs/libceph_os.so.1 (0x00007f5e4f93a000)
> >         libcommon.so.1 => /home/varada/ obs-factory/plugin-
> > work/src/.libs/libcommon.so.1 (0x00007f5e4b5df000)
> >         liblttng-ust.so.0 =>
> > /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0
> > (0x00007f5e4b179000)
> >         liblttng-ust-tracepoint.so.0 =>
> > /usr/lib/x86_64-linux-gnu/liblttng-ust-
> > tracepoint.so.0 (0x00007f5e4a021000)
> >         liburcu-bp.so.1 => /usr/lib/liburcu-bp.so.1 (0x00007f5e49e1a000)
> >         liburcu-cds.so.1 => /usr/lib/liburcu-cds.so.1
> > (0x00007f5e49c12000)
> >
> > Edited the above output just show the dependencies.
> > Did anyone face this issue before?
> > Any help would be much appreciated.
> >
> > Thanks,
> > Varada
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Friday, June 26, 2015 3:34 PM
> > To: Sage Weil
> > Cc: Loic Dachary; ceph-devel; Matt W. Benjamin
> > Subject: RE: loadable objectstore
> >
> > Hi,
> >
> > Made some more changes to resolve lttng problems at 
> > https://github.com/varadakari/ceph/commits/wip-plugin.
> > But couldn’t by pass the issues. Facing some issues like mentioned below.
> >
> > ./.libs/libceph_filestore.so: undefined reference to `tracepoint_dlopen'
> >
> > Compiling with -llttng-ust is not resolving the problem. Seen some 
> > threads in devel list before, mentioning this problem.
> > Can anyone take a look and guide me to fix this problem?
> >
> > Haven't made the changes to change the plugin name etc... will be 
> > making them as part of cleanup.
> >
> > Thanks,
> > Varada
> >
> > -----Original Message-----
> > From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel- 
> > owner@vger.kernel.org] On Behalf Of Varada Kari
> > Sent: Monday, June 22, 2015 8:57 PM
> > To: Matt W. Benjamin
> > Cc: Loic Dachary; ceph-devel; Sage Weil
> > Subject: RE: loadable objectstore
> >
> > Hi Matt,
> >
> > Majority of the changes are segregating the files to corresponding 
> > shared object and creating a factory object. And the naming is 
> > mostly taken from Erasure-coding plugins. Want a good naming 
> > convention :-), hence a preliminary review. Do agree, we have lot of 
> > loadable interfaces, and I think we are in the way of making them 
> > on-demand (if
> > possible) loadable modules.
> >
> > Varada
> >
> > -----Original Message-----
> > From: Matt W. Benjamin [mailto:matt@cohortfs.com]
> > Sent: Monday, June 22, 2015 8:37 PM
> > To: Varada Kari
> > Cc: Loic Dachary; ceph-devel; Sage Weil
> > Subject: Re: loadable objectstore
> >
> > Hi,
> >
> > It's just aesthetic, but it feels clunky to change the names of well 
> > known modules to <something>Plugin--esp. if that generalizes forward 
> > to new loadable modules (and we have a lot of loadable interfaces).
> >
> > Matt
> >
> > ----- "Varada Kari" <Varada.Kari@sandisk.com> wrote:
> >
> > > Hi Sage,
> > >
> > > Please find the initial implementation of objects store factory 
> > > (initial cut) at
> > >
> >
> https://github.com/varadakari/ceph/commit/9d5fe2fecf38ba106c7c7b7a3ed
> > e
> > > 4f189ec7e1c8
> > >
> > > This is still work in progress branch. Right now I am facing Lttng 
> > > issues,
> > > LTTng-UST: Error (-17) while registering tracepoint probe. 
> > > Duplicate registration of tracepoint probes having the same name is not allowed.
> > >
> > > Might be an issue with libcommon inclusion. Trying resolving the 
> > > issue now. Seems I need to make libcommon also as a shared object 
> > > to avoid the duplicates, static linking is a problem here.
> > > Any suggestions or comments on this problem?
> > >
> > >
> > > I have commented out test binary (ceph_test_keyvaluedb_atomicity) 
> > > compilation, due to unresolved symbols for g_ceph_context and g_conf.
> > > Not able to fix/workaround the problem so far.
> > >
> > > Can you please review if this is what in your mind for the factory 
> > > implementation?
> > >
> > > We can extend this implementation to messenger and different 
> > > backend of the OSD. Will make those incremental once the base 
> > > framework is approved.
> > >
> > > Thanks,
> > > Varada
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Sage Weil [mailto:sage@newdream.net]
> > > Sent: Tuesday, May 12, 2015 5:11 AM
> > > To: Varada Kari
> > > Cc: Loic Dachary; Matt W. Benjamin; ceph-devel
> > > Subject: RE: loadable objectstore
> > >
> > > Hi Varada,
> > >
> > > Any progress on this?
> > >
> > > Thanks!
> > > sage
> > >
> > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > >
> > > > Thanks Sage and Loic. Will add the missing pieces and integrate 
> > > > the
> > > object factory and plugin changes.
> > > >
> > > > Varada
> > > >
> > > > -----Original Message-----
> > > > From: Sage Weil [mailto:sage@newdream.net]
> > > > Sent: Saturday, April 11, 2015 9:19 PM
> > > > To: Loic Dachary
> > > > Cc: Varada Kari; Matt W. Benjamin; ceph-devel
> > > > Subject: Re: loadable objectstore
> > > >
> > > > On Sat, 11 Apr 2015, Loic Dachary wrote:
> > > > > Hi Sage,
> > > > >
> > > > > It looks like common/PluginRegistry.{h,cc} are missing from 
> > > > > 18ad8df1094db52c839dc6b2dc689fc882230acb
> > > >
> > > > whoops pushed! :)
> > > >
> > > > sage
> > > >
> > > > >
> > > > > Cheers
> > > > >
> > > > > On 11/04/2015 16:51, Sage Weil wrote:
> > > > > > On Sat, 11 Apr 2015, Varada Kari wrote:
> > > > > >> Hi Matt/ Sage,
> > > > > >>
> > > > > >> Thanks for sharing the pull request. Will work on the items
> > > what
> > > > > >> sage was mentioning in the comments along with the items in 
> > > > > >> the
> > > tracker.
> > > > > >
> > > > > > I pushed a wip-plugin branch with the pattern I had in mind...
> > > > > > does this make sense?  It's only compile tested, and still
> > > needs
> > > > > > preload() methods implemented so that long-running daemons 
> > > > > > (or perhaps others?) can preload it all at once.
> > > > > >
> > > > > > Ideally we would replace ErasurePluginRegistry with this 
> > > > > > too, which means the naming of the .so's needs to be a bit 
> > > > > > more flexible as the EC plugin scheme is something like 
> > > > > > /usr/lib/ceph/erasure-code/libec_$name.so (not a strict 
> > > > > > function
> > >
> > > > > > of type and name).  Or actually, we can just rename the EC 
> > > > > > .so's
> > >
> > > > > > when this goes in?  Since they're explicitly incompatible
> > > between
> > > > > > versions there is no reason the names need to remain
> > > consistent...
> > > > > >
> > > > > > sage
> > > > > >
> > > > > >>
> > > > > >> Varada
> > > > > >>
> > > > > >> -----Original Message-----
> > > > > >> From: Sage Weil [mailto:sage@newdream.net]
> > > > > >> Sent: Saturday, April 11, 2015 4:16 AM
> > > > > >> To: Matt W. Benjamin
> > > > > >> Cc: Varada Kari; ceph-devel
> > > > > >> Subject: Re: loadable objectstore
> > > > > >>
> > > > > >> On Fri, 10 Apr 2015, Matt W. Benjamin wrote:
> > > > > >>> Hi Varada,
> > > > > >>>
> > > > > >>> I pushed branch hammer-osfactory to 
> > > > > >>> https://github.com/linuxbox2/ceph.git
> > > > > >>>
> > > > > >>> It can at least provide a starting point for discussion, 
> > > > > >>> if
> > > not
> > > > > >>> a jumping off point;  I do think it's basically what Sage
> > > described.
> > > > > >>
> > > > > >> I made a few comments on the pull request.  I think a 
> > > > > >> factory
> > > class is the way to go, but we should be able to make the plugin 
> > > loading part generic and not interface specific at all...
> > > > > >>
> > > > > >> sage
> > > > > >>
> > > > > >>>
> > > > > >>> I was able to update the CMake build system to build the 
> > > > > >>> tree,
> > > I
> > > > > >>> haven't attempted Autotools. :(
> > > > > >>>
> > > > > >>> Regards,
> > > > > >>>
> > > > > >>> Matt
> > > > > >>>
> > > > > >>> --
> > > > > >>> Matt Benjamin
> > > > > >>> CohortFS, LLC.
> > > > > >>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 
> > > > > >>> 48103
> > > > > >>>
> > > > > >>> http://cohortfs.com
> > > > > >>>
> > > > > >>> tel.  734-761-4689
> > > > > >>> fax.  734-769-8938
> > > > > >>> cel.  734-216-5309
> > > > > >>> --
> > > > > >>> To unsubscribe from this list: send the line "unsubscribe
> > > ceph-devel"
> > > > > >>> in the body of a message to majordomo@vger.kernel.org More 
> > > > > >>> majordomo info at 
> > > > > >>> http://vger.kernel.org/majordomo-info.html
> > > > > >>>
> > > > > >>>
> > > > > >>
> > > > > >> ________________________________
> > > > > >>
> > > > > >> PLEASE NOTE: The information contained in this electronic 
> > > > > >> mail
> > > message is intended only for the use of the designated 
> > > recipient(s) named above. If the reader of this message is not the 
> > > intended recipient, you are hereby notified that you have received 
> > > this message in error and that any review, dissemination, 
> > > distribution, or copying of this message is strictly prohibited. 
> > > If you have received this communication in error, please notify 
> > > the sender by telephone or e-mail (as shown above) immediately and 
> > > destroy any and all copies of this message in your possession 
> > > (whether hard copies or electronically stored copies).
> > > > > >>
> > > > > >> --
> > > > > >> To unsubscribe from this list: send the line "unsubscribe 
> > > > > >> ceph-devel" in the body of a message to
> > > majordomo@vger.kernel.org
> > > > > >> More majordomo info at
> > > > > >> http://vger.kernel.org/majordomo-info.html
> > > > > >>
> > > > > >>
> > > > > > --
> > > > > > To unsubscribe from this list: send the line "unsubscribe 
> > > > > > ceph-devel" in the body of a message to
> > > majordomo@vger.kernel.org
> > > > > > More majordomo info at
> > > http://vger.kernel.org/majordomo-info.html
> > > > > >
> > > > >
> > > > > --
> > > > > Loïc Dachary, Artisan Logiciel Libre
> > > > >
> > > > >
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe
> > > ceph-devel"
> > > > in the body of a message to majordomo@vger.kernel.org More
> > majordomo
> > >
> > > > info at  http://vger.kernel.org/majordomo-info.html
> > > >
> > > >
> >
> > --
> > Matt Benjamin
> > CohortFS, LLC.
> > 315 West Huron Street, Suite 140A
> > Ann Arbor, Michigan 48103
> >
> > http://cohortfs.com
> >
> > tel.  734-761-4689
> > fax.  734-769-8938
> > cel.  734-216-5309
> >
> > ________________________________
> >
> > PLEASE NOTE: The information contained in this electronic mail 
> > message is intended only for the use of the designated recipient(s) 
> > named above. If the reader of this message is not the intended 
> > recipient, you are hereby notified that you have received this 
> > message in error and that any review, dissemination, distribution, 
> > or copying of this message is strictly prohibited. If you have 
> > received this communication in error, please notify the sender by 
> > telephone or e-mail (as shown above) immediately and destroy any and 
> > all copies of this message in your possession (whether hard copies 
> > or electronically
> stored copies).
> >
> > N     r  y   b X  ?v ^ )?{.n +   z ]z
> > N     r  y   b X  ?v ^ )?{.n +   z ]z   {ay ?? ,j   f   h   z  w       j:+v   w j m         zZ+
> > ?j"  ! i
> >   ? & ~ &   +-  ?  w  ?   m  ^  b  ^n r   z   h    &   G   h ( ? ?j"   m
> z
> > ?   f   h   ~ m
> >  {.n +       +%  lzwm  b ?  r  y? ?zX    ?}   ?z &j:+v        zZ+  +zf   h   ~    i   z  w
> > ?    & )?f
>
> ________________________________
>
> PLEASE NOTE: The information contained in this electronic mail message 
> is intended only for the use of the designated recipient(s) named 
> above. If the reader of this message is not the intended recipient, 
> you are hereby notified that you have received this message in error 
> and that any review, dissemination, distribution, or copying of this 
> message is strictly prohibited. If you have received this 
> communication in error, please notify the sender by telephone or 
> e-mail (as shown above) immediately and destroy any and all copies of 
> this message in your possession (whether hard copies or electronically stored copies).


________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).

Comments

Varada Kari Sept. 29, 2015, 5:37 p.m. UTC | #1
SGkgSmFtZXMsDQoNCkkgYW0gYWxzbyBmYWNpbmcgdGhlIGNlcGhfdmVyLmggcHJvYmxlbSwgd2ls
bCBjbGVhbiB0aGUgYnJhbmNoIGFuZCB0cnkgdG8gcmViYXNlIHRoYXQuIEJ1dCBJIGFtIG5vdCBm
YWNpbmcgdGhlIHNlY29uZCBwcm9ibGVtIHlvdSBhcmUgbWVudGlvbmluZy4gSSBoYXZlIHRyaWVk
IGp1c3Qgbm93LCB0aGF0IHNlZW1zIHRvIGJlIHdvcmtpbmcgZmluZS4gSSB1c2UgZG9fYXV0b2dl
bi5zaCB3aXRoIC1kIDIgYW5kIC1PIDAuIFdpbGwgY2hlY2sgd2l0aCBhdXRvZ2VuLnNoIGFuZCBm
aXggaWYgdGhlcmUgaXMgYW55IHByb2JsZW0uDQoNCkFuZCB5ZXMsIEkgaGF2ZSBub3QgbWFkZSBh
bnkgY2hhbmdlcyB0byBjbWFrZSB5ZXQsIG9uY2UgSSBoYXZlIGFsbCB0aGUgY2hhbmdlcyBmb3Ig
YXV0b21ha2UsIHdpbGwgbWFrZSBjbWFrZSBjaGFuZ2VzLg0KDQpWYXJhZGENCg0KPiAtLS0tLU9y
aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKYW1lcyAoRmVpKSBMaXUtU1NJIFttYWlsdG86
amFtZXMubGl1QHNzaS5zYW1zdW5nLmNvbV0NCj4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDI5
LCAyMDE1IDExOjAyIFBNDQo+IFRvOiBWYXJhZGEgS2FyaSA8VmFyYWRhLkthcmlAc2FuZGlzay5j
b20+OyBTYWdlIFdlaWwNCj4gPHNhZ2VAbmV3ZHJlYW0ubmV0PjsgTWF0dCBXLiBCZW5qYW1pbiA8
bWF0dEBjb2hvcnRmcy5jb20+OyBMb2ljDQo+IERhY2hhcnkgPGxvaWNAZGFjaGFyeS5vcmc+DQo+
IENjOiBjZXBoLWRldmVsIDxjZXBoLWRldmVsQHZnZXIua2VybmVsLm9yZz4NCj4gU3ViamVjdDog
UkU6IGxvYWRhYmxlIG9iamVjdHN0b3JlDQo+DQo+IEhpIFZhcmFkYSwNCj4gICBJIHRyaWVkIHRv
IHJlcHJvZHVjZSB0aGUgZXJyb3IgeW91IGZhY2VkIG92ZXIgaGVyIGFuZCBjb21waWxlZCB5b3Vy
IHdpcC0NCj4gcGx1Z2luIGJyYW5jaCBmcm9tICBodHRwczovL2dpdGh1Yi5jb20vdmFyYWRha2Fy
aS9jZXBoLyBhbmQgYWx3YXlzIGhhdmUNCj4gdHdvIGVycm9ycyB3aXRoIGF1dG90b29sczoNCj4g
ICAxLiAgVGhlcmUgaXMgbm8gY2VwaF92ZXIuaCBmaWxlIHVuZGVyIC4vc3JjIGRpcmVjdG9yeS4g
SSBtYW51YWxseSBnZW5lcmF0ZWQNCj4gb25lIGFuZCB3b3JrIGFyb3VuZCB0aGUgZXJyb3IuDQo+
ICAgMi4gZ21vY2sgZXJyb3IgZXZlbiB0aG91Z2ggSSB0cmllZCB0byBydW4gLi9hdXRvZ2VuIG1h
bnkgdGltZXMuDQo+DQo+IG1ha2VbM106ICoqKiBObyBydWxlIHRvIG1ha2UgdGFyZ2V0IGAuLi9z
cmMvZ21vY2svbGliL2xpYmdtb2NrX21haW4ubGEnLA0KPiBuZWVkZWQgYnkgYHVuaXR0ZXN0X2xp
YnJiZCcuICBTdG9wLg0KPiBtYWtlWzNdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2Jz
Li4uLg0KPiBtYWtlWzNdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2hvbWUvamFtZXNsaXUvV29ya1Nw
YWNlL2NlcGhfdmFyYWRhL3NyYycNCj4gbWFrZVsyXTogKioqIFthbGwtcmVjdXJzaXZlXSBFcnJv
ciAxDQo+IG1ha2VbMl06IExlYXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9qYW1lc2xpdS9Xb3JrU3Bh
Y2UvY2VwaF92YXJhZGEvc3JjJw0KPiBtYWtlWzFdOiAqKiogW2FsbF0gRXJyb3IgMg0KPiBtYWtl
WzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2hvbWUvamFtZXNsaXUvV29ya1NwYWNlL2NlcGhfdmFy
YWRhL3NyYycNCj4gbWFrZTogKioqIFthbGwtcmVjdXJzaXZlXSBFcnJvciAxDQo+DQo+IEJ5IHRo
ZSB3YXksIENNYWtlIHdvbid0IHdvcmsgZWl0aGVyIGluIHlvdXIgcmVwby4NCj4NCj4gdGhhbmtz
LA0KPiBKYW1lcw0KPg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBWYXJh
ZGEgS2FyaSBbbWFpbHRvOlZhcmFkYS5LYXJpQHNhbmRpc2suY29tXQ0KPiBTZW50OiBUdWVzZGF5
LCBTZXB0ZW1iZXIgMjksIDIwMTUgMTA6MTQgQU0NCj4gVG86IEphbWVzIChGZWkpIExpdS1TU0k7
IFNhZ2UgV2VpbDsgTWF0dCBXLiBCZW5qYW1pbjsgTG9pYyBEYWNoYXJ5DQo+IENjOiBjZXBoLWRl
dmVsDQo+IFN1YmplY3Q6IFJFOiBsb2FkYWJsZSBvYmplY3RzdG9yZQ0KPg0KPiBIaSBKYW1lcywN
Cj4NCj4gU3ltYm9sIGlzIHByZXNlbnQgaW4gYnNzLiBUaGlzIGlzIHdoYXQgSSBmaW5kDQo+DQo+
ICQgbm0gbGliY2VwaF9maWxlc3RvcmUuc28gfCBncmVwIHRyYWNlcG9pbnRfZGxvcGVuDQo+IDAw
MDAwMDAwMDA0N2Y4YzAgYiB0cmFjZXBvaW50X2Rsb3Blbg0KPg0KPg0KPiBQbGVhc2Ugbm90ZSB5
b3UgaGF2ZSB0byBjb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZSB0byBjaGVjayBhbGwgdGhlIHN5
bWJvbHMNCj4gb24gdGhlIHNvLg0KPg0KPiBkaWZmIC0tZ2l0IGEvc3JjL29zL2ZpbGVzdG9yZS9N
YWtlZmlsZS5hbSBiL3NyYy9vcy9maWxlc3RvcmUvTWFrZWZpbGUuYW0NCj4gaW5kZXggZGU4ZWMw
Ny4uNzdkYmM0ZCAxMDA2NDQNCj4gLS0tIGEvc3JjL29zL2ZpbGVzdG9yZS9NYWtlZmlsZS5hbQ0K
PiArKysgYi9zcmMvb3MvZmlsZXN0b3JlL01ha2VmaWxlLmFtDQo+IEBAIC03MSw3ICs3MSw3IEBA
IGVuZGlmDQo+DQo+ICBsaWJjZXBoX2ZpbGVzdG9yZV9sYV9MREZMQUdTID0gJHtBTV9MREZMQUdT
fSAtdmVyc2lvbi1pbmZvIDE6MDowICBpZiBMSU5VWA0KPiAtbGliY2VwaF9maWxlc3RvcmVfbGFf
TERGTEFHUyArPSAtZXhwb3J0LXN5bWJvbHMtcmVnZXgNCj4gJy4qX19jZXBoX3BsdWdpbl8uKicN
Cj4gKyNsaWJjZXBoX2ZpbGVzdG9yZV9sYV9MREZMQUdTICs9IC1leHBvcnQtc3ltYm9scy1yZWdl
eA0KPiAnLipfX2NlcGhfcGx1Z2luXy4qJw0KPiAgZW5kaWYNCj4NCj4gIGxpYl9MVExJQlJBUklF
UyArPSBsaWJjZXBoX2ZpbGVzdG9yZS5sYQ0KPg0KPiBUaGFua3MsDQo+IFZhcmFkYQ0KPg0KPiA+
IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogSmFtZXMgKEZlaSkgTGl1LVNT
SSBbbWFpbHRvOmphbWVzLmxpdUBzc2kuc2Ftc3VuZy5jb21dDQo+ID4gU2VudDogVHVlc2RheSwg
U2VwdGVtYmVyIDI5LCAyMDE1IDEwOjA4IFBNDQo+ID4gVG86IFZhcmFkYSBLYXJpIDxWYXJhZGEu
S2FyaUBzYW5kaXNrLmNvbT47IFNhZ2UgV2VpbA0KPiA+IDxzYWdlQG5ld2RyZWFtLm5ldD47IE1h
dHQgVy4gQmVuamFtaW4gPG1hdHRAY29ob3J0ZnMuY29tPjsgTG9pYw0KPiA+IERhY2hhcnkgPGxv
aWNAZGFjaGFyeS5vcmc+DQo+ID4gQ2M6IGNlcGgtZGV2ZWwgPGNlcGgtZGV2ZWxAdmdlci5rZXJu
ZWwub3JnPg0KPiA+IFN1YmplY3Q6IFJFOiBsb2FkYWJsZSBvYmplY3RzdG9yZQ0KPiA+DQo+ID4g
SGkgVmFyYWRhLA0KPiA+ICAgQ2FuIHlvdSB1c2UgY29tbWFuZCBubSB0byBzZWUgd2hldGhlciAi
IHRyYWNlcG9pbnRfZGxvcGVuIiBpcw0KPiA+IGRlZmluZWQgaW4gIi4vLmxpYnMvbGliY2VwaF9m
aWxlc3RvcmUuc28iPw0KPiA+DQo+ID4NCj4gPiAgUmVnYXJkcywNCj4gPiAgSmFtZXMNCj4gPg0K
PiA+DQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBWYXJhZGEgS2Fy
aSBbbWFpbHRvOlZhcmFkYS5LYXJpQHNhbmRpc2suY29tXQ0KPiA+IFNlbnQ6IE1vbmRheSwgU2Vw
dGVtYmVyIDI4LCAyMDE1IDY6MjEgUE0NCj4gPiBUbzogSmFtZXMgKEZlaSkgTGl1LVNTSTsgU2Fn
ZSBXZWlsOyBNYXR0IFcuIEJlbmphbWluOyBMb2ljIERhY2hhcnkNCj4gPiBDYzogY2VwaC1kZXZl
bA0KPiA+IFN1YmplY3Q6IFJFOiBsb2FkYWJsZSBvYmplY3RzdG9yZQ0KPiA+DQo+ID4gTm8gSmFt
ZXMsIEZhY2luZyBsaWJyYXJ5IGlzc3VlcyB3aXRoIGxpYm5zczMgYW5kIGxpYmNvbW1vbihjZXBo
KS4gV2lsbA0KPiA+IHJlc29sdmUgdGhlbSwgZ2VuZXJhdGUgYSBuZXcgcHVsbCByZXF1ZXN0IHNv
b24gb24gbWFzdGVyLg0KPiA+DQo+ID4gVGhhbmtzLA0KPiA+IFZhcmFkYQ0KPiA+DQo+ID4gPiAt
LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogSmFtZXMgKEZlaSkgTGl1LVNT
SSBbbWFpbHRvOmphbWVzLmxpdUBzc2kuc2Ftc3VuZy5jb21dDQo+ID4gPiBTZW50OiBNb25kYXks
IFNlcHRlbWJlciAyOCwgMjAxNSAxMTo1MSBQTQ0KPiA+ID4gVG86IFZhcmFkYSBLYXJpIDxWYXJh
ZGEuS2FyaUBzYW5kaXNrLmNvbT47IFNhZ2UgV2VpbA0KPiA+ID4gPHNhZ2VAbmV3ZHJlYW0ubmV0
PjsgTWF0dCBXLiBCZW5qYW1pbiA8bWF0dEBjb2hvcnRmcy5jb20+OyBMb2ljDQo+ID4gPiBEYWNo
YXJ5IDxsb2ljQGRhY2hhcnkub3JnPg0KPiA+ID4gQ2M6IGNlcGgtZGV2ZWwgPGNlcGgtZGV2ZWxA
dmdlci5rZXJuZWwub3JnPg0KPiA+ID4gU3ViamVjdDogUkU6IGxvYWRhYmxlIG9iamVjdHN0b3Jl
DQo+ID4gPg0KPiA+ID4gSGkgVmFyYWRhLA0KPiA+ID4gICBIYXZlIHlvdSByZWJhc2VkIHRoZSBw
dWxsIHJlcXVlc3QgdG8gbWFzdGVyIGFscmVhZHk/DQo+ID4gPg0KPiA+ID4gICBUaGFua3MsDQo+
ID4gPiAgIEphbWVzDQo+ID4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g
PiA+IEZyb206IGNlcGgtZGV2ZWwtb3duZXJAdmdlci5rZXJuZWwub3JnIFttYWlsdG86Y2VwaC1k
ZXZlbC0NCj4gPiA+IG93bmVyQHZnZXIua2VybmVsLm9yZ10gT24gQmVoYWxmIE9mIFZhcmFkYSBL
YXJpDQo+ID4gPiBTZW50OiBGcmlkYXksIFNlcHRlbWJlciAxMSwgMjAxNSAzOjI4IEFNDQo+ID4g
PiBUbzogU2FnZSBXZWlsOyBNYXR0IFcuIEJlbmphbWluOyBMb2ljIERhY2hhcnkNCj4gPiA+IENj
OiBjZXBoLWRldmVsDQo+ID4gPiBTdWJqZWN0OiBSRTogbG9hZGFibGUgb2JqZWN0c3RvcmUNCj4g
PiA+DQo+ID4gPiBIaSBTYWdlLyBNYXR0LA0KPiA+ID4NCj4gPiA+IEkgaGF2ZSBzdWJtaXR0ZWQg
dGhlIHB1bGwgcmVxdWVzdCBiYXNlZCBvbiB3aXAtcGx1Z2luIGJyYW5jaCBmb3IgdGhlDQo+ID4g
PiBvYmplY3Qgc3RvcmUgZmFjdG9yeSBpbXBsZW1lbnRhdGlvbiBhdA0KPiA+IGh0dHBzOi8vZ2l0
aHViLmNvbS9jZXBoL2NlcGgvcHVsbC81ODg0IC4NCj4gPiA+IEhhdmVuJ3QgcmViYXNlZCB0byB0
aGUgbWFzdGVyIHlldC4gV29ya2luZyBvbiByZWJhc2UgYW5kIGluY2x1ZGluZw0KPiA+ID4gbmV3
IHN0b3JlIGluIHRoZSBmYWN0b3J5IGltcGxlbWVudGF0aW9uLiAgUGxlYXNlIGhhdmUgYSBsb29r
IGFuZCBsZXQNCj4gPiA+IG1lIGtub3cgeW91ciBjb21tZW50cy4gV2lsbCBzdWJtaXQgYSByZWJh
c2VkIFBSIHNvb24gd2l0aCBuZXcgc3RvcmUNCj4gPiBpbnRlZ3JhdGlvbi4NCj4gPiA+DQo+ID4g
PiBUaGFua3MsDQo+ID4gPiBWYXJhZGENCj4gPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh
Z2UtLS0tLQ0KPiA+ID4gRnJvbTogY2VwaC1kZXZlbC1vd25lckB2Z2VyLmtlcm5lbC5vcmcgW21h
aWx0bzpjZXBoLWRldmVsLQ0KPiA+ID4gb3duZXJAdmdlci5rZXJuZWwub3JnXSBPbiBCZWhhbGYg
T2YgVmFyYWRhIEthcmkNCj4gPiA+IFNlbnQ6IEZyaWRheSwgSnVseSAwMywgMjAxNSA3OjMxIFBN
DQo+ID4gPiBUbzogU2FnZSBXZWlsIDxzYWdlQG5ld2RyZWFtLm5ldD47IEFkYW0gQ3J1bWUNCj4g
PiA8YWRhbWNydW1lQGdtYWlsLmNvbT4NCj4gPiA+IENjOiBMb2ljIERhY2hhcnkgPGxvaWNAZGFj
aGFyeS5vcmc+OyBjZXBoLWRldmVsIDxjZXBoLQ0KPiA+ID4gZGV2ZWxAdmdlci5rZXJuZWwub3Jn
PjsgTWF0dCBXLiBCZW5qYW1pbiA8bWF0dEBjb2hvcnRmcy5jb20+DQo+ID4gPiBTdWJqZWN0OiBS
RTogbG9hZGFibGUgb2JqZWN0c3RvcmUNCj4gPiA+DQo+ID4gPiBIaSBBbGwsDQo+ID4gPg0KPiA+
ID4gTm90IGFibGUgdG8gbWFrZSBtdWNoIHByb2dyZXNzIGFmdGVyIG1ha2luZyBjb21tb24gYXMg
YSBzaGFyZWQNCj4gPiA+IG9iamVjdCBhbG9uZyB3aXRoIG9iamVjdCBzdG9yZS4NCj4gPiA+IENv
bXBpbGF0aW9uIG9mIHRoZSB0ZXN0IGJpbmFyaWVzIGFyZSBmYWlsaW5nIHdpdGgNCj4gIi4vLmxp
YnMvbGliY2VwaF9maWxlc3RvcmUuc286DQo+ID4gPiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB0
cmFjZXBvaW50X2Rsb3BlbiciLg0KPiA+ID4NCj4gPiA+ICAgQ1hYTEQgICAgY2VwaF9zdHJlYW10
ZXN0DQo+ID4gPiAuLy5saWJzL2xpYmNlcGhfZmlsZXN0b3JlLnNvOiB1bmRlZmluZWQgcmVmZXJl
bmNlIHRvIGB0cmFjZXBvaW50X2Rsb3BlbicNCj4gPiA+IGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0
dXJuZWQgMSBleGl0IHN0YXR1cw0KPiA+ID4gbWFrZVszXTogKioqIFtjZXBoX3N0cmVhbXRlc3Rd
IEVycm9yIDENCj4gPiA+DQo+ID4gPiBCdXQgbGliZmlsZXN0b3JlLnNvIGlzIGxpbmtlZCB3aXRo
IGx0dG5nLXVzdC4NCj4gPiA+DQo+ID4gPiBzcmMvLmxpYnMkIGxkZCBsaWJjZXBoX2ZpbGVzdG9y
ZS5zbw0KPiA+ID4gICAgICAgICBsaWJjZXBoX2tleXZhbHVlc3RvcmUuc28uMSA9Pg0KPiA+ID4g
L2hvbWUvdmFyYWRhL29icy1mYWN0b3J5L3BsdWdpbi0NCj4gPiA+IHdvcmsvc3JjLy5saWJzL2xp
YmNlcGhfa2V5dmFsdWVzdG9yZS5zby4xICgweDAwMDA3ZjVlNTBmNTAwMDApDQo+ID4gPiAgICAg
ICAgIGxpYmNlcGhfb3Muc28uMSA9PiAvaG9tZS92YXJhZGEvb2JzLWZhY3RvcnkvcGx1Z2luLQ0K
PiA+ID4gd29yay9zcmMvLmxpYnMvbGliY2VwaF9vcy5zby4xICgweDAwMDA3ZjVlNGY5M2EwMDAp
DQo+ID4gPiAgICAgICAgIGxpYmNvbW1vbi5zby4xID0+IC9ob21lL3ZhcmFkYS8gb2JzLWZhY3Rv
cnkvcGx1Z2luLQ0KPiA+ID4gd29yay9zcmMvLmxpYnMvbGliY29tbW9uLnNvLjEgKDB4MDAwMDdm
NWU0YjVkZjAwMCkNCj4gPiA+ICAgICAgICAgbGlibHR0bmctdXN0LnNvLjAgPT4NCj4gPiA+IC91
c3IvbGliL3g4Nl82NC1saW51eC1nbnUvbGlibHR0bmctdXN0LnNvLjANCj4gPiA+ICgweDAwMDA3
ZjVlNGIxNzkwMDApDQo+ID4gPiAgICAgICAgIGxpYmx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjAg
PT4NCj4gPiA+IC91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvbGlibHR0bmctdXN0LQ0KPiA+ID4g
dHJhY2Vwb2ludC5zby4wICgweDAwMDA3ZjVlNGEwMjEwMDApDQo+ID4gPiAgICAgICAgIGxpYnVy
Y3UtYnAuc28uMSA9PiAvdXNyL2xpYi9saWJ1cmN1LWJwLnNvLjEgKDB4MDAwMDdmNWU0OWUxYTAw
MCkNCj4gPiA+ICAgICAgICAgbGlidXJjdS1jZHMuc28uMSA9PiAvdXNyL2xpYi9saWJ1cmN1LWNk
cy5zby4xDQo+ID4gPiAoMHgwMDAwN2Y1ZTQ5YzEyMDAwKQ0KPiA+ID4NCj4gPiA+IEVkaXRlZCB0
aGUgYWJvdmUgb3V0cHV0IGp1c3Qgc2hvdyB0aGUgZGVwZW5kZW5jaWVzLg0KPiA+ID4gRGlkIGFu
eW9uZSBmYWNlIHRoaXMgaXNzdWUgYmVmb3JlPw0KPiA+ID4gQW55IGhlbHAgd291bGQgYmUgbXVj
aCBhcHByZWNpYXRlZC4NCj4gPiA+DQo+ID4gPiBUaGFua3MsDQo+ID4gPiBWYXJhZGENCj4gPiA+
DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogY2VwaC1kZXZl
bC1vd25lckB2Z2VyLmtlcm5lbC5vcmcgW21haWx0bzpjZXBoLWRldmVsLQ0KPiA+ID4gb3duZXJA
dmdlci5rZXJuZWwub3JnXSBPbiBCZWhhbGYgT2YgVmFyYWRhIEthcmkNCj4gPiA+IFNlbnQ6IEZy
aWRheSwgSnVuZSAyNiwgMjAxNSAzOjM0IFBNDQo+ID4gPiBUbzogU2FnZSBXZWlsDQo+ID4gPiBD
YzogTG9pYyBEYWNoYXJ5OyBjZXBoLWRldmVsOyBNYXR0IFcuIEJlbmphbWluDQo+ID4gPiBTdWJq
ZWN0OiBSRTogbG9hZGFibGUgb2JqZWN0c3RvcmUNCj4gPiA+DQo+ID4gPiBIaSwNCj4gPiA+DQo+
ID4gPiBNYWRlIHNvbWUgbW9yZSBjaGFuZ2VzIHRvIHJlc29sdmUgbHR0bmcgcHJvYmxlbXMgYXQN
Cj4gPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS92YXJhZGFrYXJpL2NlcGgvY29tbWl0cy93aXAtcGx1
Z2luLg0KPiA+ID4gQnV0IGNvdWxkbuKAmXQgYnkgcGFzcyB0aGUgaXNzdWVzLiBGYWNpbmcgc29t
ZSBpc3N1ZXMgbGlrZSBtZW50aW9uZWQgYmVsb3cuDQo+ID4gPg0KPiA+ID4gLi8ubGlicy9saWJj
ZXBoX2ZpbGVzdG9yZS5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgdHJhY2Vwb2ludF9kbG9w
ZW4nDQo+ID4gPg0KPiA+ID4gQ29tcGlsaW5nIHdpdGggLWxsdHRuZy11c3QgaXMgbm90IHJlc29s
dmluZyB0aGUgcHJvYmxlbS4gU2VlbiBzb21lDQo+ID4gPiB0aHJlYWRzIGluIGRldmVsIGxpc3Qg
YmVmb3JlLCBtZW50aW9uaW5nIHRoaXMgcHJvYmxlbS4NCj4gPiA+IENhbiBhbnlvbmUgdGFrZSBh
IGxvb2sgYW5kIGd1aWRlIG1lIHRvIGZpeCB0aGlzIHByb2JsZW0/DQo+ID4gPg0KPiA+ID4gSGF2
ZW4ndCBtYWRlIHRoZSBjaGFuZ2VzIHRvIGNoYW5nZSB0aGUgcGx1Z2luIG5hbWUgZXRjLi4uIHdp
bGwgYmUNCj4gPiA+IG1ha2luZyB0aGVtIGFzIHBhcnQgb2YgY2xlYW51cC4NCj4gPiA+DQo+ID4g
PiBUaGFua3MsDQo+ID4gPiBWYXJhZGENCj4gPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh
Z2UtLS0tLQ0KPiA+ID4gRnJvbTogY2VwaC1kZXZlbC1vd25lckB2Z2VyLmtlcm5lbC5vcmcgW21h
aWx0bzpjZXBoLWRldmVsLQ0KPiA+ID4gb3duZXJAdmdlci5rZXJuZWwub3JnXSBPbiBCZWhhbGYg
T2YgVmFyYWRhIEthcmkNCj4gPiA+IFNlbnQ6IE1vbmRheSwgSnVuZSAyMiwgMjAxNSA4OjU3IFBN
DQo+ID4gPiBUbzogTWF0dCBXLiBCZW5qYW1pbg0KPiA+ID4gQ2M6IExvaWMgRGFjaGFyeTsgY2Vw
aC1kZXZlbDsgU2FnZSBXZWlsDQo+ID4gPiBTdWJqZWN0OiBSRTogbG9hZGFibGUgb2JqZWN0c3Rv
cmUNCj4gPiA+DQo+ID4gPiBIaSBNYXR0LA0KPiA+ID4NCj4gPiA+IE1ham9yaXR5IG9mIHRoZSBj
aGFuZ2VzIGFyZSBzZWdyZWdhdGluZyB0aGUgZmlsZXMgdG8gY29ycmVzcG9uZGluZw0KPiA+ID4g
c2hhcmVkIG9iamVjdCBhbmQgY3JlYXRpbmcgYSBmYWN0b3J5IG9iamVjdC4gQW5kIHRoZSBuYW1p
bmcgaXMNCj4gPiA+IG1vc3RseSB0YWtlbiBmcm9tIEVyYXN1cmUtY29kaW5nIHBsdWdpbnMuIFdh
bnQgYSBnb29kIG5hbWluZw0KPiA+ID4gY29udmVudGlvbiA6LSksIGhlbmNlIGEgcHJlbGltaW5h
cnkgcmV2aWV3LiBEbyBhZ3JlZSwgd2UgaGF2ZSBsb3Qgb2YNCj4gPiA+IGxvYWRhYmxlIGludGVy
ZmFjZXMsIGFuZCBJIHRoaW5rIHdlIGFyZSBpbiB0aGUgd2F5IG9mIG1ha2luZyB0aGVtDQo+ID4g
PiBvbi1kZW1hbmQgKGlmDQo+ID4gPiBwb3NzaWJsZSkgbG9hZGFibGUgbW9kdWxlcy4NCj4gPiA+
DQo+ID4gPiBWYXJhZGENCj4gPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K
PiA+ID4gRnJvbTogTWF0dCBXLiBCZW5qYW1pbiBbbWFpbHRvOm1hdHRAY29ob3J0ZnMuY29tXQ0K
PiA+ID4gU2VudDogTW9uZGF5LCBKdW5lIDIyLCAyMDE1IDg6MzcgUE0NCj4gPiA+IFRvOiBWYXJh
ZGEgS2FyaQ0KPiA+ID4gQ2M6IExvaWMgRGFjaGFyeTsgY2VwaC1kZXZlbDsgU2FnZSBXZWlsDQo+
ID4gPiBTdWJqZWN0OiBSZTogbG9hZGFibGUgb2JqZWN0c3RvcmUNCj4gPiA+DQo+ID4gPiBIaSwN
Cj4gPiA+DQo+ID4gPiBJdCdzIGp1c3QgYWVzdGhldGljLCBidXQgaXQgZmVlbHMgY2x1bmt5IHRv
IGNoYW5nZSB0aGUgbmFtZXMgb2Ygd2VsbA0KPiA+ID4ga25vd24gbW9kdWxlcyB0byA8c29tZXRo
aW5nPlBsdWdpbi0tZXNwLiBpZiB0aGF0IGdlbmVyYWxpemVzIGZvcndhcmQNCj4gPiA+IHRvIG5l
dyBsb2FkYWJsZSBtb2R1bGVzIChhbmQgd2UgaGF2ZSBhIGxvdCBvZiBsb2FkYWJsZSBpbnRlcmZh
Y2VzKS4NCj4gPiA+DQo+ID4gPiBNYXR0DQo+ID4gPg0KPiA+ID4gLS0tLS0gIlZhcmFkYSBLYXJp
IiA8VmFyYWRhLkthcmlAc2FuZGlzay5jb20+IHdyb3RlOg0KPiA+ID4NCj4gPiA+ID4gSGkgU2Fn
ZSwNCj4gPiA+ID4NCj4gPiA+ID4gUGxlYXNlIGZpbmQgdGhlIGluaXRpYWwgaW1wbGVtZW50YXRp
b24gb2Ygb2JqZWN0cyBzdG9yZSBmYWN0b3J5DQo+ID4gPiA+IChpbml0aWFsIGN1dCkgYXQNCj4g
PiA+ID4NCj4gPiA+DQo+ID4NCj4gaHR0cHM6Ly9naXRodWIuY29tL3ZhcmFkYWthcmkvY2VwaC9j
b21taXQvOWQ1ZmUyZmVjZjM4YmExMDZjN2M3YjdhM2VkDQo+ID4gPiBlDQo+ID4gPiA+IDRmMTg5
ZWM3ZTFjOA0KPiA+ID4gPg0KPiA+ID4gPiBUaGlzIGlzIHN0aWxsIHdvcmsgaW4gcHJvZ3Jlc3Mg
YnJhbmNoLiBSaWdodCBub3cgSSBhbSBmYWNpbmcgTHR0bmcNCj4gPiA+ID4gaXNzdWVzLA0KPiA+
ID4gPiBMVFRuZy1VU1Q6IEVycm9yICgtMTcpIHdoaWxlIHJlZ2lzdGVyaW5nIHRyYWNlcG9pbnQg
cHJvYmUuDQo+ID4gPiA+IER1cGxpY2F0ZSByZWdpc3RyYXRpb24gb2YgdHJhY2Vwb2ludCBwcm9i
ZXMgaGF2aW5nIHRoZSBzYW1lIG5hbWUgaXMgbm90DQo+IGFsbG93ZWQuDQo+ID4gPiA+DQo+ID4g
PiA+IE1pZ2h0IGJlIGFuIGlzc3VlIHdpdGggbGliY29tbW9uIGluY2x1c2lvbi4gVHJ5aW5nIHJl
c29sdmluZyB0aGUNCj4gPiA+ID4gaXNzdWUgbm93LiBTZWVtcyBJIG5lZWQgdG8gbWFrZSBsaWJj
b21tb24gYWxzbyBhcyBhIHNoYXJlZCBvYmplY3QNCj4gPiA+ID4gdG8gYXZvaWQgdGhlIGR1cGxp
Y2F0ZXMsIHN0YXRpYyBsaW5raW5nIGlzIGEgcHJvYmxlbSBoZXJlLg0KPiA+ID4gPiBBbnkgc3Vn
Z2VzdGlvbnMgb3IgY29tbWVudHMgb24gdGhpcyBwcm9ibGVtPw0KPiA+ID4gPg0KPiA+ID4gPg0K
PiA+ID4gPiBJIGhhdmUgY29tbWVudGVkIG91dCB0ZXN0IGJpbmFyeSAoY2VwaF90ZXN0X2tleXZh
bHVlZGJfYXRvbWljaXR5KQ0KPiA+ID4gPiBjb21waWxhdGlvbiwgZHVlIHRvIHVucmVzb2x2ZWQg
c3ltYm9scyBmb3IgZ19jZXBoX2NvbnRleHQgYW5kDQo+IGdfY29uZi4NCj4gPiA+ID4gTm90IGFi
bGUgdG8gZml4L3dvcmthcm91bmQgdGhlIHByb2JsZW0gc28gZmFyLg0KPiA+ID4gPg0KPiA+ID4g
PiBDYW4geW91IHBsZWFzZSByZXZpZXcgaWYgdGhpcyBpcyB3aGF0IGluIHlvdXIgbWluZCBmb3Ig
dGhlIGZhY3RvcnkNCj4gPiA+ID4gaW1wbGVtZW50YXRpb24/DQo+ID4gPiA+DQo+ID4gPiA+IFdl
IGNhbiBleHRlbmQgdGhpcyBpbXBsZW1lbnRhdGlvbiB0byBtZXNzZW5nZXIgYW5kIGRpZmZlcmVu
dA0KPiA+ID4gPiBiYWNrZW5kIG9mIHRoZSBPU0QuIFdpbGwgbWFrZSB0aG9zZSBpbmNyZW1lbnRh
bCBvbmNlIHRoZSBiYXNlDQo+ID4gPiA+IGZyYW1ld29yayBpcyBhcHByb3ZlZC4NCj4gPiA+ID4N
Cj4gPiA+ID4gVGhhbmtzLA0KPiA+ID4gPiBWYXJhZGENCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+
ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJvbTogU2Fn
ZSBXZWlsIFttYWlsdG86c2FnZUBuZXdkcmVhbS5uZXRdDQo+ID4gPiA+IFNlbnQ6IFR1ZXNkYXks
IE1heSAxMiwgMjAxNSA1OjExIEFNDQo+ID4gPiA+IFRvOiBWYXJhZGEgS2FyaQ0KPiA+ID4gPiBD
YzogTG9pYyBEYWNoYXJ5OyBNYXR0IFcuIEJlbmphbWluOyBjZXBoLWRldmVsDQo+ID4gPiA+IFN1
YmplY3Q6IFJFOiBsb2FkYWJsZSBvYmplY3RzdG9yZQ0KPiA+ID4gPg0KPiA+ID4gPiBIaSBWYXJh
ZGEsDQo+ID4gPiA+DQo+ID4gPiA+IEFueSBwcm9ncmVzcyBvbiB0aGlzPw0KPiA+ID4gPg0KPiA+
ID4gPiBUaGFua3MhDQo+ID4gPiA+IHNhZ2UNCj4gPiA+ID4NCj4gPiA+ID4gT24gU2F0LCAxMSBB
cHIgMjAxNSwgVmFyYWRhIEthcmkgd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+ID4gVGhhbmtzIFNh
Z2UgYW5kIExvaWMuIFdpbGwgYWRkIHRoZSBtaXNzaW5nIHBpZWNlcyBhbmQgaW50ZWdyYXRlDQo+
ID4gPiA+ID4gdGhlDQo+ID4gPiA+IG9iamVjdCBmYWN0b3J5IGFuZCBwbHVnaW4gY2hhbmdlcy4N
Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IFZhcmFkYQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gLS0tLS1P
cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBTYWdlIFdlaWwgW21haWx0bzpz
YWdlQG5ld2RyZWFtLm5ldF0NCj4gPiA+ID4gPiBTZW50OiBTYXR1cmRheSwgQXByaWwgMTEsIDIw
MTUgOToxOSBQTQ0KPiA+ID4gPiA+IFRvOiBMb2ljIERhY2hhcnkNCj4gPiA+ID4gPiBDYzogVmFy
YWRhIEthcmk7IE1hdHQgVy4gQmVuamFtaW47IGNlcGgtZGV2ZWwNCj4gPiA+ID4gPiBTdWJqZWN0
OiBSZTogbG9hZGFibGUgb2JqZWN0c3RvcmUNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE9uIFNhdCwg
MTEgQXByIDIwMTUsIExvaWMgRGFjaGFyeSB3cm90ZToNCj4gPiA+ID4gPiA+IEhpIFNhZ2UsDQo+
ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSXQgbG9va3MgbGlrZSBjb21tb24vUGx1Z2luUmVnaXN0
cnkue2gsY2N9IGFyZSBtaXNzaW5nIGZyb20NCj4gPiA+ID4gPiA+IDE4YWQ4ZGYxMDk0ZGI1MmM4
MzlkYzZiMmRjNjg5ZmM4ODIyMzBhY2INCj4gPiA+ID4gPg0KPiA+ID4gPiA+IHdob29wcyBwdXNo
ZWQhIDopDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBzYWdlDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+
DQo+ID4gPiA+ID4gPiBDaGVlcnMNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBPbiAxMS8wNC8y
MDE1IDE2OjUxLCBTYWdlIFdlaWwgd3JvdGU6DQo+ID4gPiA+ID4gPiA+IE9uIFNhdCwgMTEgQXBy
IDIwMTUsIFZhcmFkYSBLYXJpIHdyb3RlOg0KPiA+ID4gPiA+ID4gPj4gSGkgTWF0dC8gU2FnZSwN
Cj4gPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPiA+PiBUaGFua3MgZm9yIHNoYXJpbmcgdGhlIHB1
bGwgcmVxdWVzdC4gV2lsbCB3b3JrIG9uIHRoZSBpdGVtcw0KPiA+ID4gPiB3aGF0DQo+ID4gPiA+
ID4gPiA+PiBzYWdlIHdhcyBtZW50aW9uaW5nIGluIHRoZSBjb21tZW50cyBhbG9uZyB3aXRoIHRo
ZSBpdGVtcyBpbg0KPiA+ID4gPiA+ID4gPj4gdGhlDQo+ID4gPiA+IHRyYWNrZXIuDQo+ID4gPiA+
ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEkgcHVzaGVkIGEgd2lwLXBsdWdpbiBicmFuY2ggd2l0aCB0
aGUgcGF0dGVybiBJIGhhZCBpbiBtaW5kLi4uDQo+ID4gPiA+ID4gPiA+IGRvZXMgdGhpcyBtYWtl
IHNlbnNlPyAgSXQncyBvbmx5IGNvbXBpbGUgdGVzdGVkLCBhbmQgc3RpbGwNCj4gPiA+ID4gbmVl
ZHMNCj4gPiA+ID4gPiA+ID4gcHJlbG9hZCgpIG1ldGhvZHMgaW1wbGVtZW50ZWQgc28gdGhhdCBs
b25nLXJ1bm5pbmcgZGFlbW9ucw0KPiA+ID4gPiA+ID4gPiAob3IgcGVyaGFwcyBvdGhlcnM/KSBj
YW4gcHJlbG9hZCBpdCBhbGwgYXQgb25jZS4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g
SWRlYWxseSB3ZSB3b3VsZCByZXBsYWNlIEVyYXN1cmVQbHVnaW5SZWdpc3RyeSB3aXRoIHRoaXMN
Cj4gPiA+ID4gPiA+ID4gdG9vLCB3aGljaCBtZWFucyB0aGUgbmFtaW5nIG9mIHRoZSAuc28ncyBu
ZWVkcyB0byBiZSBhIGJpdA0KPiA+ID4gPiA+ID4gPiBtb3JlIGZsZXhpYmxlIGFzIHRoZSBFQyBw
bHVnaW4gc2NoZW1lIGlzIHNvbWV0aGluZyBsaWtlDQo+ID4gPiA+ID4gPiA+IC91c3IvbGliL2Nl
cGgvZXJhc3VyZS1jb2RlL2xpYmVjXyRuYW1lLnNvIChub3QgYSBzdHJpY3QNCj4gPiA+ID4gPiA+
ID4gZnVuY3Rpb24NCj4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gb2YgdHlwZSBhbmQgbmFtZSkuICBP
ciBhY3R1YWxseSwgd2UgY2FuIGp1c3QgcmVuYW1lIHRoZSBFQw0KPiA+ID4gPiA+ID4gPiAuc28n
cw0KPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiB3aGVuIHRoaXMgZ29lcyBpbj8gIFNpbmNlIHRoZXkn
cmUgZXhwbGljaXRseSBpbmNvbXBhdGlibGUNCj4gPiA+ID4gYmV0d2Vlbg0KPiA+ID4gPiA+ID4g
PiB2ZXJzaW9ucyB0aGVyZSBpcyBubyByZWFzb24gdGhlIG5hbWVzIG5lZWQgdG8gcmVtYWluDQo+
ID4gPiA+IGNvbnNpc3RlbnQuLi4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gc2FnZQ0K
PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4+IFZhcmFkYQ0KPiA+
ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+
ID4gPiA+ID4gPiA+PiBGcm9tOiBTYWdlIFdlaWwgW21haWx0bzpzYWdlQG5ld2RyZWFtLm5ldF0N
Cj4gPiA+ID4gPiA+ID4+IFNlbnQ6IFNhdHVyZGF5LCBBcHJpbCAxMSwgMjAxNSA0OjE2IEFNDQo+
ID4gPiA+ID4gPiA+PiBUbzogTWF0dCBXLiBCZW5qYW1pbg0KPiA+ID4gPiA+ID4gPj4gQ2M6IFZh
cmFkYSBLYXJpOyBjZXBoLWRldmVsDQo+ID4gPiA+ID4gPiA+PiBTdWJqZWN0OiBSZTogbG9hZGFi
bGUgb2JqZWN0c3RvcmUNCj4gPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPiA+PiBPbiBGcmksIDEw
IEFwciAyMDE1LCBNYXR0IFcuIEJlbmphbWluIHdyb3RlOg0KPiA+ID4gPiA+ID4gPj4+IEhpIFZh
cmFkYSwNCj4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPj4+IEkgcHVzaGVkIGJyYW5jaCBo
YW1tZXItb3NmYWN0b3J5IHRvDQo+ID4gPiA+ID4gPiA+Pj4gaHR0cHM6Ly9naXRodWIuY29tL2xp
bnV4Ym94Mi9jZXBoLmdpdA0KPiA+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ID4gPiA+Pj4gSXQgY2Fu
IGF0IGxlYXN0IHByb3ZpZGUgYSBzdGFydGluZyBwb2ludCBmb3IgZGlzY3Vzc2lvbiwNCj4gPiA+
ID4gPiA+ID4+PiBpZg0KPiA+ID4gPiBub3QNCj4gPiA+ID4gPiA+ID4+PiBhIGp1bXBpbmcgb2Zm
IHBvaW50OyAgSSBkbyB0aGluayBpdCdzIGJhc2ljYWxseSB3aGF0IFNhZ2UNCj4gPiA+ID4gZGVz
Y3JpYmVkLg0KPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4+IEkgbWFkZSBhIGZldyBjb21t
ZW50cyBvbiB0aGUgcHVsbCByZXF1ZXN0LiAgSSB0aGluayBhDQo+ID4gPiA+ID4gPiA+PiBmYWN0
b3J5DQo+ID4gPiA+IGNsYXNzIGlzIHRoZSB3YXkgdG8gZ28sIGJ1dCB3ZSBzaG91bGQgYmUgYWJs
ZSB0byBtYWtlIHRoZSBwbHVnaW4NCj4gPiA+ID4gbG9hZGluZyBwYXJ0IGdlbmVyaWMgYW5kIG5v
dCBpbnRlcmZhY2Ugc3BlY2lmaWMgYXQgYWxsLi4uDQo+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+
ID4gPj4gc2FnZQ0KPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4g
Pj4+IEkgd2FzIGFibGUgdG8gdXBkYXRlIHRoZSBDTWFrZSBidWlsZCBzeXN0ZW0gdG8gYnVpbGQg
dGhlDQo+ID4gPiA+ID4gPiA+Pj4gdHJlZSwNCj4gPiA+ID4gSQ0KPiA+ID4gPiA+ID4gPj4+IGhh
dmVuJ3QgYXR0ZW1wdGVkIEF1dG90b29scy4gOigNCj4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+
ID4gPj4+IFJlZ2FyZHMsDQo+ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4+PiBNYXR0DQo+
ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4+PiAtLQ0KPiA+ID4gPiA+ID4gPj4+IE1hdHQg
QmVuamFtaW4NCj4gPiA+ID4gPiA+ID4+PiBDb2hvcnRGUywgTExDLg0KPiA+ID4gPiA+ID4gPj4+
IDMxNSBXZXN0IEh1cm9uIFN0cmVldCwgU3VpdGUgMTQwQSBBbm4gQXJib3IsIE1pY2hpZ2FuDQo+
ID4gPiA+ID4gPiA+Pj4gNDgxMDMNCj4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPj4+IGh0
dHA6Ly9jb2hvcnRmcy5jb20NCj4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPj4+IHRlbC4g
IDczNC03NjEtNDY4OQ0KPiA+ID4gPiA+ID4gPj4+IGZheC4gIDczNC03NjktODkzOA0KPiA+ID4g
PiA+ID4gPj4+IGNlbC4gIDczNC0yMTYtNTMwOQ0KPiA+ID4gPiA+ID4gPj4+IC0tDQo+ID4gPiA+
ID4gPiA+Pj4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVu
c3Vic2NyaWJlDQo+ID4gPiA+IGNlcGgtZGV2ZWwiDQo+ID4gPiA+ID4gPiA+Pj4gaW4gdGhlIGJv
ZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcgTW9yZQ0KPiA+ID4g
PiA+ID4gPj4+IG1ham9yZG9tbyBpbmZvIGF0DQo+ID4gPiA+ID4gPiA+Pj4gaHR0cDovL3ZnZXIu
a2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sDQo+ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4g
PiA+ID4+Pg0KPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4+IF9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fDQo+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPj4gUExFQVNFIE5P
VEU6IFRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhpcyBlbGVjdHJvbmljDQo+ID4gPiA+
ID4gPiA+PiBtYWlsDQo+ID4gPiA+IG1lc3NhZ2UgaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHVz
ZSBvZiB0aGUgZGVzaWduYXRlZA0KPiA+ID4gPiByZWNpcGllbnQocykgbmFtZWQgYWJvdmUuIElm
IHRoZSByZWFkZXIgb2YgdGhpcyBtZXNzYWdlIGlzIG5vdCB0aGUNCj4gPiA+ID4gaW50ZW5kZWQg
cmVjaXBpZW50LCB5b3UgYXJlIGhlcmVieSBub3RpZmllZCB0aGF0IHlvdSBoYXZlIHJlY2VpdmVk
DQo+ID4gPiA+IHRoaXMgbWVzc2FnZSBpbiBlcnJvciBhbmQgdGhhdCBhbnkgcmV2aWV3LCBkaXNz
ZW1pbmF0aW9uLA0KPiA+ID4gPiBkaXN0cmlidXRpb24sIG9yIGNvcHlpbmcgb2YgdGhpcyBtZXNz
YWdlIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuDQo+ID4gPiA+IElmIHlvdSBoYXZlIHJlY2VpdmVk
IHRoaXMgY29tbXVuaWNhdGlvbiBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeQ0KPiA+ID4gPiB0aGUg
c2VuZGVyIGJ5IHRlbGVwaG9uZSBvciBlLW1haWwgKGFzIHNob3duIGFib3ZlKSBpbW1lZGlhdGVs
eSBhbmQNCj4gPiA+ID4gZGVzdHJveSBhbnkgYW5kIGFsbCBjb3BpZXMgb2YgdGhpcyBtZXNzYWdl
IGluIHlvdXIgcG9zc2Vzc2lvbg0KPiA+ID4gPiAod2hldGhlciBoYXJkIGNvcGllcyBvciBlbGVj
dHJvbmljYWxseSBzdG9yZWQgY29waWVzKS4NCj4gPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPiA+
PiAtLQ0KPiA+ID4gPiA+ID4gPj4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQg
dGhlIGxpbmUgInVuc3Vic2NyaWJlDQo+ID4gPiA+ID4gPiA+PiBjZXBoLWRldmVsIiBpbiB0aGUg
Ym9keSBvZiBhIG1lc3NhZ2UgdG8NCj4gPiA+ID4gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZw0K
PiA+ID4gPiA+ID4gPj4gTW9yZSBtYWpvcmRvbW8gaW5mbyBhdA0KPiA+ID4gPiA+ID4gPj4gaHR0
cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sDQo+ID4gPiA+ID4gPiA+Pg0K
PiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiA+ID4gVG8gdW5zdWJz
Y3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlDQo+ID4gPiA+
ID4gPiA+IGNlcGgtZGV2ZWwiIGluIHRoZSBib2R5IG9mIGEgbWVzc2FnZSB0bw0KPiA+ID4gPiBt
YWpvcmRvbW9Admdlci5rZXJuZWwub3JnDQo+ID4gPiA+ID4gPiA+IE1vcmUgbWFqb3Jkb21vIGlu
Zm8gYXQNCj4gPiA+ID4gaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1s
DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiA+
IExvw69jIERhY2hhcnksIEFydGlzYW4gTG9naWNpZWwgTGlicmUNCj4gPiA+ID4gPiA+DQo+ID4g
PiA+ID4gPg0KPiA+ID4gPiA+IC0tDQo+ID4gPiA+ID4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlz
IGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlDQo+ID4gPiA+IGNlcGgtZGV2ZWwiDQo+
ID4gPiA+ID4gaW4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5l
bC5vcmcgTW9yZQ0KPiA+ID4gbWFqb3Jkb21vDQo+ID4gPiA+DQo+ID4gPiA+ID4gaW5mbyBhdCAg
aHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sDQo+ID4gPiA+ID4NCj4g
PiA+ID4gPg0KPiA+ID4NCj4gPiA+IC0tDQo+ID4gPiBNYXR0IEJlbmphbWluDQo+ID4gPiBDb2hv
cnRGUywgTExDLg0KPiA+ID4gMzE1IFdlc3QgSHVyb24gU3RyZWV0LCBTdWl0ZSAxNDBBDQo+ID4g
PiBBbm4gQXJib3IsIE1pY2hpZ2FuIDQ4MTAzDQo+ID4gPg0KPiA+ID4gaHR0cDovL2NvaG9ydGZz
LmNvbQ0KPiA+ID4NCj4gPiA+IHRlbC4gIDczNC03NjEtNDY4OQ0KPiA+ID4gZmF4LiAgNzM0LTc2
OS04OTM4DQo+ID4gPiBjZWwuICA3MzQtMjE2LTUzMDkNCj4gPiA+DQo+ID4gPiBfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXw0KPiA+ID4NCj4gPiA+IFBMRUFTRSBOT1RFOiBUaGUgaW5m
b3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMgZWxlY3Ryb25pYyBtYWlsDQo+ID4gPiBtZXNzYWdl
IGlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSB1c2Ugb2YgdGhlIGRlc2lnbmF0ZWQgcmVjaXBpZW50
KHMpDQo+ID4gPiBuYW1lZCBhYm92ZS4gSWYgdGhlIHJlYWRlciBvZiB0aGlzIG1lc3NhZ2UgaXMg
bm90IHRoZSBpbnRlbmRlZA0KPiA+ID4gcmVjaXBpZW50LCB5b3UgYXJlIGhlcmVieSBub3RpZmll
ZCB0aGF0IHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMNCj4gPiA+IG1lc3NhZ2UgaW4gZXJyb3IgYW5k
IHRoYXQgYW55IHJldmlldywgZGlzc2VtaW5hdGlvbiwgZGlzdHJpYnV0aW9uLA0KPiA+ID4gb3Ig
Y29weWluZyBvZiB0aGlzIG1lc3NhZ2UgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IGhh
dmUNCj4gPiA+IHJlY2VpdmVkIHRoaXMgY29tbXVuaWNhdGlvbiBpbiBlcnJvciwgcGxlYXNlIG5v
dGlmeSB0aGUgc2VuZGVyIGJ5DQo+ID4gPiB0ZWxlcGhvbmUgb3IgZS1tYWlsIChhcyBzaG93biBh
Ym92ZSkgaW1tZWRpYXRlbHkgYW5kIGRlc3Ryb3kgYW55IGFuZA0KPiA+ID4gYWxsIGNvcGllcyBv
ZiB0aGlzIG1lc3NhZ2UgaW4geW91ciBwb3NzZXNzaW9uICh3aGV0aGVyIGhhcmQgY29waWVzDQo+
ID4gPiBvciBlbGVjdHJvbmljYWxseQ0KPiA+IHN0b3JlZCBjb3BpZXMpLg0KPiA+ID4NCj4gPiA+
IE4gICAgIHIgIHkgICBiIFggIMendiBeICneunsubiArICAgeiBdeg0KPiA+ID4gTiAgICAgciAg
eSAgIGIgWCAgx6d2IF4gKd66ey5uICsgICB6IF16ICAge2F5IB3Kh9qZICxqICAgZiAgIGggICB6
IB4gdyAgICAgICBqOit2ICAgdyBqIG0gICAgICAgICB6WisNCj4gPiA+IN2iaiIgICEgaQ0KPiA+
ID4gEyAg7Lm7HCAmIH4gJiAYICArLSAg3bYXICB3ICDLmyAgIG0gHiAXXiAgYiAgXm4gciAgIHog
GiAgaCAgICAmICAeIEcgICBoIAMoIOmajiDdomoiICAaIBttDQo+ID4geg0KPiA+ID4g3pYgICBm
ICAgaCAgIH4gbQ0KPiA+ID4gBCB7Lm4gKyAgICAgICArJSAgbHp3bSAgYiDrp7IgIHIgIHnHqSDX
r3pYICAXICDcqH0gICDGoHogJmo6K3YgICAgICAgIHpaKyAgK3pmICAgaCAgIH4gICAgaQ0KPiB6
IB4gdw0KPiA+ID4gPyAgICAmICnfohtmDQo+ID4NCj4gPiBfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXw0KPiA+DQo+ID4gUExFQVNFIE5PVEU6IFRoZSBpbmZvcm1hdGlvbiBjb250YWlu
ZWQgaW4gdGhpcyBlbGVjdHJvbmljIG1haWwgbWVzc2FnZQ0KPiA+IGlzIGludGVuZGVkIG9ubHkg
Zm9yIHRoZSB1c2Ugb2YgdGhlIGRlc2lnbmF0ZWQgcmVjaXBpZW50KHMpIG5hbWVkDQo+ID4gYWJv
dmUuIElmIHRoZSByZWFkZXIgb2YgdGhpcyBtZXNzYWdlIGlzIG5vdCB0aGUgaW50ZW5kZWQgcmVj
aXBpZW50LA0KPiA+IHlvdSBhcmUgaGVyZWJ5IG5vdGlmaWVkIHRoYXQgeW91IGhhdmUgcmVjZWl2
ZWQgdGhpcyBtZXNzYWdlIGluIGVycm9yDQo+ID4gYW5kIHRoYXQgYW55IHJldmlldywgZGlzc2Vt
aW5hdGlvbiwgZGlzdHJpYnV0aW9uLCBvciBjb3B5aW5nIG9mIHRoaXMNCj4gPiBtZXNzYWdlIGlz
IHN0cmljdGx5IHByb2hpYml0ZWQuIElmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMNCj4gPiBjb21t
dW5pY2F0aW9uIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgYnkgdGVsZXBob25l
IG9yDQo+ID4gZS1tYWlsIChhcyBzaG93biBhYm92ZSkgaW1tZWRpYXRlbHkgYW5kIGRlc3Ryb3kg
YW55IGFuZCBhbGwgY29waWVzIG9mDQo+ID4gdGhpcyBtZXNzYWdlIGluIHlvdXIgcG9zc2Vzc2lv
biAod2hldGhlciBoYXJkIGNvcGllcyBvciBlbGVjdHJvbmljYWxseQ0KPiBzdG9yZWQgY29waWVz
KS4NCj4NCj4NCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4NCj4gUExFQVNF
IE5PVEU6IFRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhpcyBlbGVjdHJvbmljIG1haWwg
bWVzc2FnZSBpcw0KPiBpbnRlbmRlZCBvbmx5IGZvciB0aGUgdXNlIG9mIHRoZSBkZXNpZ25hdGVk
IHJlY2lwaWVudChzKSBuYW1lZCBhYm92ZS4gSWYgdGhlDQo+IHJlYWRlciBvZiB0aGlzIG1lc3Nh
Z2UgaXMgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHlvdSBhcmUgaGVyZWJ5IG5vdGlmaWVk
DQo+IHRoYXQgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBtZXNzYWdlIGluIGVycm9yIGFuZCB0aGF0
IGFueSByZXZpZXcsDQo+IGRpc3NlbWluYXRpb24sIGRpc3RyaWJ1dGlvbiwgb3IgY29weWluZyBv
ZiB0aGlzIG1lc3NhZ2UgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYNCj4geW91IGhhdmUgcmVj
ZWl2ZWQgdGhpcyBjb21tdW5pY2F0aW9uIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5k
ZXIgYnkNCj4gdGVsZXBob25lIG9yIGUtbWFpbCAoYXMgc2hvd24gYWJvdmUpIGltbWVkaWF0ZWx5
IGFuZCBkZXN0cm95IGFueSBhbmQgYWxsDQo+IGNvcGllcyBvZiB0aGlzIG1lc3NhZ2UgaW4geW91
ciBwb3NzZXNzaW9uICh3aGV0aGVyIGhhcmQgY29waWVzIG9yDQo+IGVsZWN0cm9uaWNhbGx5IHN0
b3JlZCBjb3BpZXMpLg0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoNClBM
RUFTRSBOT1RFOiBUaGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMgZWxlY3Ryb25pYyBt
YWlsIG1lc3NhZ2UgaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHVzZSBvZiB0aGUgZGVzaWduYXRl
ZCByZWNpcGllbnQocykgbmFtZWQgYWJvdmUuIElmIHRoZSByZWFkZXIgb2YgdGhpcyBtZXNzYWdl
IGlzIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCB5b3UgYXJlIGhlcmVieSBub3RpZmllZCB0
aGF0IHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgbWVzc2FnZSBpbiBlcnJvciBhbmQgdGhhdCBhbnkg
cmV2aWV3LCBkaXNzZW1pbmF0aW9uLCBkaXN0cmlidXRpb24sIG9yIGNvcHlpbmcgb2YgdGhpcyBt
ZXNzYWdlIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuIElmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMg
Y29tbXVuaWNhdGlvbiBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGJ5IHRlbGVw
aG9uZSBvciBlLW1haWwgKGFzIHNob3duIGFib3ZlKSBpbW1lZGlhdGVseSBhbmQgZGVzdHJveSBh
bnkgYW5kIGFsbCBjb3BpZXMgb2YgdGhpcyBtZXNzYWdlIGluIHlvdXIgcG9zc2Vzc2lvbiAod2hl
dGhlciBoYXJkIGNvcGllcyBvciBlbGVjdHJvbmljYWxseSBzdG9yZWQgY29waWVzKS4NCg0K
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
James (Fei) Liu-SSI Sept. 29, 2015, 5:39 p.m. UTC | #2
SGkgVmFyYWRhLA0KICBMZXQgbWUga25vdyB3aGVuIHlvdSBjb21wbGV0ZSB0aGUgcmViYXNlLiBU
aGVuIEkgY2FuIGhlbHAgeW91IG92ZXIgaGVyZSB0byByZXByb2R1Y2UgYW5kIGZpeCB0aGUgaXNz
dWUuDQoNCiAgUmVnYXJkcywNCiAgSmFtZXMNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N
CkZyb206IFZhcmFkYSBLYXJpIFttYWlsdG86VmFyYWRhLkthcmlAc2FuZGlzay5jb21dIA0KU2Vu
dDogVHVlc2RheSwgU2VwdGVtYmVyIDI5LCAyMDE1IDEwOjM4IEFNDQpUbzogSmFtZXMgKEZlaSkg
TGl1LVNTSTsgU2FnZSBXZWlsOyBNYXR0IFcuIEJlbmphbWluOyBMb2ljIERhY2hhcnkNCkNjOiBj
ZXBoLWRldmVsDQpTdWJqZWN0OiBSRTogbG9hZGFibGUgb2JqZWN0c3RvcmUNCg0KSGkgSmFtZXMs
DQoNCkkgYW0gYWxzbyBmYWNpbmcgdGhlIGNlcGhfdmVyLmggcHJvYmxlbSwgd2lsbCBjbGVhbiB0
aGUgYnJhbmNoIGFuZCB0cnkgdG8gcmViYXNlIHRoYXQuIEJ1dCBJIGFtIG5vdCBmYWNpbmcgdGhl
IHNlY29uZCBwcm9ibGVtIHlvdSBhcmUgbWVudGlvbmluZy4gSSBoYXZlIHRyaWVkIGp1c3Qgbm93
LCB0aGF0IHNlZW1zIHRvIGJlIHdvcmtpbmcgZmluZS4gSSB1c2UgZG9fYXV0b2dlbi5zaCB3aXRo
IC1kIDIgYW5kIC1PIDAuIFdpbGwgY2hlY2sgd2l0aCBhdXRvZ2VuLnNoIGFuZCBmaXggaWYgdGhl
cmUgaXMgYW55IHByb2JsZW0uDQoNCkFuZCB5ZXMsIEkgaGF2ZSBub3QgbWFkZSBhbnkgY2hhbmdl
cyB0byBjbWFrZSB5ZXQsIG9uY2UgSSBoYXZlIGFsbCB0aGUgY2hhbmdlcyBmb3IgYXV0b21ha2Us
IHdpbGwgbWFrZSBjbWFrZSBjaGFuZ2VzLg0KDQpWYXJhZGENCg0KPiAtLS0tLU9yaWdpbmFsIE1l
c3NhZ2UtLS0tLQ0KPiBGcm9tOiBKYW1lcyAoRmVpKSBMaXUtU1NJIFttYWlsdG86amFtZXMubGl1
QHNzaS5zYW1zdW5nLmNvbV0NCj4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDI5LCAyMDE1IDEx
OjAyIFBNDQo+IFRvOiBWYXJhZGEgS2FyaSA8VmFyYWRhLkthcmlAc2FuZGlzay5jb20+OyBTYWdl
IFdlaWwgDQo+IDxzYWdlQG5ld2RyZWFtLm5ldD47IE1hdHQgVy4gQmVuamFtaW4gPG1hdHRAY29o
b3J0ZnMuY29tPjsgTG9pYyANCj4gRGFjaGFyeSA8bG9pY0BkYWNoYXJ5Lm9yZz4NCj4gQ2M6IGNl
cGgtZGV2ZWwgPGNlcGgtZGV2ZWxAdmdlci5rZXJuZWwub3JnPg0KPiBTdWJqZWN0OiBSRTogbG9h
ZGFibGUgb2JqZWN0c3RvcmUNCj4NCj4gSGkgVmFyYWRhLA0KPiAgIEkgdHJpZWQgdG8gcmVwcm9k
dWNlIHRoZSBlcnJvciB5b3UgZmFjZWQgb3ZlciBoZXIgYW5kIGNvbXBpbGVkIHlvdXIgDQo+IHdp
cC0gcGx1Z2luIGJyYW5jaCBmcm9tICBodHRwczovL2dpdGh1Yi5jb20vdmFyYWRha2FyaS9jZXBo
LyBhbmQgDQo+IGFsd2F5cyBoYXZlIHR3byBlcnJvcnMgd2l0aCBhdXRvdG9vbHM6DQo+ICAgMS4g
IFRoZXJlIGlzIG5vIGNlcGhfdmVyLmggZmlsZSB1bmRlciAuL3NyYyBkaXJlY3RvcnkuIEkgbWFu
dWFsbHkgDQo+IGdlbmVyYXRlZCBvbmUgYW5kIHdvcmsgYXJvdW5kIHRoZSBlcnJvci4NCj4gICAy
LiBnbW9jayBlcnJvciBldmVuIHRob3VnaCBJIHRyaWVkIHRvIHJ1biAuL2F1dG9nZW4gbWFueSB0
aW1lcy4NCj4NCj4gbWFrZVszXTogKioqIE5vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgDQo+IGAuLi9z
cmMvZ21vY2svbGliL2xpYmdtb2NrX21haW4ubGEnLA0KPiBuZWVkZWQgYnkgYHVuaXR0ZXN0X2xp
YnJiZCcuICBTdG9wLg0KPiBtYWtlWzNdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2Jz
Li4uLg0KPiBtYWtlWzNdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2hvbWUvamFtZXNsaXUvV29ya1Nw
YWNlL2NlcGhfdmFyYWRhL3NyYycNCj4gbWFrZVsyXTogKioqIFthbGwtcmVjdXJzaXZlXSBFcnJv
ciAxDQo+IG1ha2VbMl06IExlYXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9qYW1lc2xpdS9Xb3JrU3Bh
Y2UvY2VwaF92YXJhZGEvc3JjJw0KPiBtYWtlWzFdOiAqKiogW2FsbF0gRXJyb3IgMg0KPiBtYWtl
WzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2hvbWUvamFtZXNsaXUvV29ya1NwYWNlL2NlcGhfdmFy
YWRhL3NyYycNCj4gbWFrZTogKioqIFthbGwtcmVjdXJzaXZlXSBFcnJvciAxDQo+DQo+IEJ5IHRo
ZSB3YXksIENNYWtlIHdvbid0IHdvcmsgZWl0aGVyIGluIHlvdXIgcmVwby4NCj4NCj4gdGhhbmtz
LA0KPiBKYW1lcw0KPg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBWYXJh
ZGEgS2FyaSBbbWFpbHRvOlZhcmFkYS5LYXJpQHNhbmRpc2suY29tXQ0KPiBTZW50OiBUdWVzZGF5
LCBTZXB0ZW1iZXIgMjksIDIwMTUgMTA6MTQgQU0NCj4gVG86IEphbWVzIChGZWkpIExpdS1TU0k7
IFNhZ2UgV2VpbDsgTWF0dCBXLiBCZW5qYW1pbjsgTG9pYyBEYWNoYXJ5DQo+IENjOiBjZXBoLWRl
dmVsDQo+IFN1YmplY3Q6IFJFOiBsb2FkYWJsZSBvYmplY3RzdG9yZQ0KPg0KPiBIaSBKYW1lcywN
Cj4NCj4gU3ltYm9sIGlzIHByZXNlbnQgaW4gYnNzLiBUaGlzIGlzIHdoYXQgSSBmaW5kDQo+DQo+
ICQgbm0gbGliY2VwaF9maWxlc3RvcmUuc28gfCBncmVwIHRyYWNlcG9pbnRfZGxvcGVuDQo+IDAw
MDAwMDAwMDA0N2Y4YzAgYiB0cmFjZXBvaW50X2Rsb3Blbg0KPg0KPg0KPiBQbGVhc2Ugbm90ZSB5
b3UgaGF2ZSB0byBjb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZSB0byBjaGVjayBhbGwgdGhlIA0K
PiBzeW1ib2xzIG9uIHRoZSBzby4NCj4NCj4gZGlmZiAtLWdpdCBhL3NyYy9vcy9maWxlc3RvcmUv
TWFrZWZpbGUuYW0gDQo+IGIvc3JjL29zL2ZpbGVzdG9yZS9NYWtlZmlsZS5hbSBpbmRleCBkZThl
YzA3Li43N2RiYzRkIDEwMDY0NA0KPiAtLS0gYS9zcmMvb3MvZmlsZXN0b3JlL01ha2VmaWxlLmFt
DQo+ICsrKyBiL3NyYy9vcy9maWxlc3RvcmUvTWFrZWZpbGUuYW0NCj4gQEAgLTcxLDcgKzcxLDcg
QEAgZW5kaWYNCj4NCj4gIGxpYmNlcGhfZmlsZXN0b3JlX2xhX0xERkxBR1MgPSAke0FNX0xERkxB
R1N9IC12ZXJzaW9uLWluZm8gMTowOjAgIGlmIA0KPiBMSU5VWCAtbGliY2VwaF9maWxlc3RvcmVf
bGFfTERGTEFHUyArPSAtZXhwb3J0LXN5bWJvbHMtcmVnZXggDQo+ICcuKl9fY2VwaF9wbHVnaW5f
LionDQo+ICsjbGliY2VwaF9maWxlc3RvcmVfbGFfTERGTEFHUyArPSAtZXhwb3J0LXN5bWJvbHMt
cmVnZXgNCj4gJy4qX19jZXBoX3BsdWdpbl8uKicNCj4gIGVuZGlmDQo+DQo+ICBsaWJfTFRMSUJS
QVJJRVMgKz0gbGliY2VwaF9maWxlc3RvcmUubGENCj4NCj4gVGhhbmtzLA0KPiBWYXJhZGENCj4N
Cj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IEphbWVzIChGZWkpIExp
dS1TU0kgW21haWx0bzpqYW1lcy5saXVAc3NpLnNhbXN1bmcuY29tXQ0KPiA+IFNlbnQ6IFR1ZXNk
YXksIFNlcHRlbWJlciAyOSwgMjAxNSAxMDowOCBQTQ0KPiA+IFRvOiBWYXJhZGEgS2FyaSA8VmFy
YWRhLkthcmlAc2FuZGlzay5jb20+OyBTYWdlIFdlaWwgDQo+ID4gPHNhZ2VAbmV3ZHJlYW0ubmV0
PjsgTWF0dCBXLiBCZW5qYW1pbiA8bWF0dEBjb2hvcnRmcy5jb20+OyBMb2ljIA0KPiA+IERhY2hh
cnkgPGxvaWNAZGFjaGFyeS5vcmc+DQo+ID4gQ2M6IGNlcGgtZGV2ZWwgPGNlcGgtZGV2ZWxAdmdl
ci5rZXJuZWwub3JnPg0KPiA+IFN1YmplY3Q6IFJFOiBsb2FkYWJsZSBvYmplY3RzdG9yZQ0KPiA+
DQo+ID4gSGkgVmFyYWRhLA0KPiA+ICAgQ2FuIHlvdSB1c2UgY29tbWFuZCBubSB0byBzZWUgd2hl
dGhlciAiIHRyYWNlcG9pbnRfZGxvcGVuIiBpcyANCj4gPiBkZWZpbmVkIGluICIuLy5saWJzL2xp
YmNlcGhfZmlsZXN0b3JlLnNvIj8NCj4gPg0KPiA+DQo+ID4gIFJlZ2FyZHMsDQo+ID4gIEphbWVz
DQo+ID4NCj4gPg0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogVmFy
YWRhIEthcmkgW21haWx0bzpWYXJhZGEuS2FyaUBzYW5kaXNrLmNvbV0NCj4gPiBTZW50OiBNb25k
YXksIFNlcHRlbWJlciAyOCwgMjAxNSA2OjIxIFBNDQo+ID4gVG86IEphbWVzIChGZWkpIExpdS1T
U0k7IFNhZ2UgV2VpbDsgTWF0dCBXLiBCZW5qYW1pbjsgTG9pYyBEYWNoYXJ5DQo+ID4gQ2M6IGNl
cGgtZGV2ZWwNCj4gPiBTdWJqZWN0OiBSRTogbG9hZGFibGUgb2JqZWN0c3RvcmUNCj4gPg0KPiA+
IE5vIEphbWVzLCBGYWNpbmcgbGlicmFyeSBpc3N1ZXMgd2l0aCBsaWJuc3MzIGFuZCBsaWJjb21t
b24oY2VwaCkuIA0KPiA+IFdpbGwgcmVzb2x2ZSB0aGVtLCBnZW5lcmF0ZSBhIG5ldyBwdWxsIHJl
cXVlc3Qgc29vbiBvbiBtYXN0ZXIuDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gVmFyYWRhDQo+ID4N
Cj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBKYW1lcyAoRmVp
KSBMaXUtU1NJIFttYWlsdG86amFtZXMubGl1QHNzaS5zYW1zdW5nLmNvbV0NCj4gPiA+IFNlbnQ6
IE1vbmRheSwgU2VwdGVtYmVyIDI4LCAyMDE1IDExOjUxIFBNDQo+ID4gPiBUbzogVmFyYWRhIEth
cmkgPFZhcmFkYS5LYXJpQHNhbmRpc2suY29tPjsgU2FnZSBXZWlsIA0KPiA+ID4gPHNhZ2VAbmV3
ZHJlYW0ubmV0PjsgTWF0dCBXLiBCZW5qYW1pbiA8bWF0dEBjb2hvcnRmcy5jb20+OyBMb2ljIA0K
PiA+ID4gRGFjaGFyeSA8bG9pY0BkYWNoYXJ5Lm9yZz4NCj4gPiA+IENjOiBjZXBoLWRldmVsIDxj
ZXBoLWRldmVsQHZnZXIua2VybmVsLm9yZz4NCj4gPiA+IFN1YmplY3Q6IFJFOiBsb2FkYWJsZSBv
YmplY3RzdG9yZQ0KPiA+ID4NCj4gPiA+IEhpIFZhcmFkYSwNCj4gPiA+ICAgSGF2ZSB5b3UgcmVi
YXNlZCB0aGUgcHVsbCByZXF1ZXN0IHRvIG1hc3RlciBhbHJlYWR5Pw0KPiA+ID4NCj4gPiA+ICAg
VGhhbmtzLA0KPiA+ID4gICBKYW1lcw0KPiA+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn
ZS0tLS0tDQo+ID4gPiBGcm9tOiBjZXBoLWRldmVsLW93bmVyQHZnZXIua2VybmVsLm9yZyBbbWFp
bHRvOmNlcGgtZGV2ZWwtIA0KPiA+ID4gb3duZXJAdmdlci5rZXJuZWwub3JnXSBPbiBCZWhhbGYg
T2YgVmFyYWRhIEthcmkNCj4gPiA+IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDExLCAyMDE1IDM6
MjggQU0NCj4gPiA+IFRvOiBTYWdlIFdlaWw7IE1hdHQgVy4gQmVuamFtaW47IExvaWMgRGFjaGFy
eQ0KPiA+ID4gQ2M6IGNlcGgtZGV2ZWwNCj4gPiA+IFN1YmplY3Q6IFJFOiBsb2FkYWJsZSBvYmpl
Y3RzdG9yZQ0KPiA+ID4NCj4gPiA+IEhpIFNhZ2UvIE1hdHQsDQo+ID4gPg0KPiA+ID4gSSBoYXZl
IHN1Ym1pdHRlZCB0aGUgcHVsbCByZXF1ZXN0IGJhc2VkIG9uIHdpcC1wbHVnaW4gYnJhbmNoIGZv
ciANCj4gPiA+IHRoZSBvYmplY3Qgc3RvcmUgZmFjdG9yeSBpbXBsZW1lbnRhdGlvbiBhdA0KPiA+
IGh0dHBzOi8vZ2l0aHViLmNvbS9jZXBoL2NlcGgvcHVsbC81ODg0IC4NCj4gPiA+IEhhdmVuJ3Qg
cmViYXNlZCB0byB0aGUgbWFzdGVyIHlldC4gV29ya2luZyBvbiByZWJhc2UgYW5kIGluY2x1ZGlu
ZyANCj4gPiA+IG5ldyBzdG9yZSBpbiB0aGUgZmFjdG9yeSBpbXBsZW1lbnRhdGlvbi4gIFBsZWFz
ZSBoYXZlIGEgbG9vayBhbmQgDQo+ID4gPiBsZXQgbWUga25vdyB5b3VyIGNvbW1lbnRzLiBXaWxs
IHN1Ym1pdCBhIHJlYmFzZWQgUFIgc29vbiB3aXRoIG5ldyANCj4gPiA+IHN0b3JlDQo+ID4gaW50
ZWdyYXRpb24uDQo+ID4gPg0KPiA+ID4gVGhhbmtzLA0KPiA+ID4gVmFyYWRhDQo+ID4gPg0KPiA+
ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IGNlcGgtZGV2ZWwtb3du
ZXJAdmdlci5rZXJuZWwub3JnIFttYWlsdG86Y2VwaC1kZXZlbC0gDQo+ID4gPiBvd25lckB2Z2Vy
Lmtlcm5lbC5vcmddIE9uIEJlaGFsZiBPZiBWYXJhZGEgS2FyaQ0KPiA+ID4gU2VudDogRnJpZGF5
LCBKdWx5IDAzLCAyMDE1IDc6MzEgUE0NCj4gPiA+IFRvOiBTYWdlIFdlaWwgPHNhZ2VAbmV3ZHJl
YW0ubmV0PjsgQWRhbSBDcnVtZQ0KPiA+IDxhZGFtY3J1bWVAZ21haWwuY29tPg0KPiA+ID4gQ2M6
IExvaWMgRGFjaGFyeSA8bG9pY0BkYWNoYXJ5Lm9yZz47IGNlcGgtZGV2ZWwgPGNlcGgtIA0KPiA+
ID4gZGV2ZWxAdmdlci5rZXJuZWwub3JnPjsgTWF0dCBXLiBCZW5qYW1pbiA8bWF0dEBjb2hvcnRm
cy5jb20+DQo+ID4gPiBTdWJqZWN0OiBSRTogbG9hZGFibGUgb2JqZWN0c3RvcmUNCj4gPiA+DQo+
ID4gPiBIaSBBbGwsDQo+ID4gPg0KPiA+ID4gTm90IGFibGUgdG8gbWFrZSBtdWNoIHByb2dyZXNz
IGFmdGVyIG1ha2luZyBjb21tb24gYXMgYSBzaGFyZWQgDQo+ID4gPiBvYmplY3QgYWxvbmcgd2l0
aCBvYmplY3Qgc3RvcmUuDQo+ID4gPiBDb21waWxhdGlvbiBvZiB0aGUgdGVzdCBiaW5hcmllcyBh
cmUgZmFpbGluZyB3aXRoDQo+ICIuLy5saWJzL2xpYmNlcGhfZmlsZXN0b3JlLnNvOg0KPiA+ID4g
dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgdHJhY2Vwb2ludF9kbG9wZW4nIi4NCj4gPiA+DQo+ID4g
PiAgIENYWExEICAgIGNlcGhfc3RyZWFtdGVzdA0KPiA+ID4gLi8ubGlicy9saWJjZXBoX2ZpbGVz
dG9yZS5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgdHJhY2Vwb2ludF9kbG9wZW4nDQo+ID4g
PiBjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCj4gPiA+IG1ha2Vb
M106ICoqKiBbY2VwaF9zdHJlYW10ZXN0XSBFcnJvciAxDQo+ID4gPg0KPiA+ID4gQnV0IGxpYmZp
bGVzdG9yZS5zbyBpcyBsaW5rZWQgd2l0aCBsdHRuZy11c3QuDQo+ID4gPg0KPiA+ID4gc3JjLy5s
aWJzJCBsZGQgbGliY2VwaF9maWxlc3RvcmUuc28NCj4gPiA+ICAgICAgICAgbGliY2VwaF9rZXl2
YWx1ZXN0b3JlLnNvLjEgPT4NCj4gPiA+IC9ob21lL3ZhcmFkYS9vYnMtZmFjdG9yeS9wbHVnaW4t
DQo+ID4gPiB3b3JrL3NyYy8ubGlicy9saWJjZXBoX2tleXZhbHVlc3RvcmUuc28uMSAoMHgwMDAw
N2Y1ZTUwZjUwMDAwKQ0KPiA+ID4gICAgICAgICBsaWJjZXBoX29zLnNvLjEgPT4gL2hvbWUvdmFy
YWRhL29icy1mYWN0b3J5L3BsdWdpbi0NCj4gPiA+IHdvcmsvc3JjLy5saWJzL2xpYmNlcGhfb3Mu
c28uMSAoMHgwMDAwN2Y1ZTRmOTNhMDAwKQ0KPiA+ID4gICAgICAgICBsaWJjb21tb24uc28uMSA9
PiAvaG9tZS92YXJhZGEvIG9icy1mYWN0b3J5L3BsdWdpbi0NCj4gPiA+IHdvcmsvc3JjLy5saWJz
L2xpYmNvbW1vbi5zby4xICgweDAwMDA3ZjVlNGI1ZGYwMDApDQo+ID4gPiAgICAgICAgIGxpYmx0
dG5nLXVzdC5zby4wID0+DQo+ID4gPiAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYmx0dG5n
LXVzdC5zby4wDQo+ID4gPiAoMHgwMDAwN2Y1ZTRiMTc5MDAwKQ0KPiA+ID4gICAgICAgICBsaWJs
dHRuZy11c3QtdHJhY2Vwb2ludC5zby4wID0+DQo+ID4gPiAvdXNyL2xpYi94ODZfNjQtbGludXgt
Z251L2xpYmx0dG5nLXVzdC0NCj4gPiA+IHRyYWNlcG9pbnQuc28uMCAoMHgwMDAwN2Y1ZTRhMDIx
MDAwKQ0KPiA+ID4gICAgICAgICBsaWJ1cmN1LWJwLnNvLjEgPT4gL3Vzci9saWIvbGlidXJjdS1i
cC5zby4xICgweDAwMDA3ZjVlNDllMWEwMDApDQo+ID4gPiAgICAgICAgIGxpYnVyY3UtY2RzLnNv
LjEgPT4gL3Vzci9saWIvbGlidXJjdS1jZHMuc28uMQ0KPiA+ID4gKDB4MDAwMDdmNWU0OWMxMjAw
MCkNCj4gPiA+DQo+ID4gPiBFZGl0ZWQgdGhlIGFib3ZlIG91dHB1dCBqdXN0IHNob3cgdGhlIGRl
cGVuZGVuY2llcy4NCj4gPiA+IERpZCBhbnlvbmUgZmFjZSB0aGlzIGlzc3VlIGJlZm9yZT8NCj4g
PiA+IEFueSBoZWxwIHdvdWxkIGJlIG11Y2ggYXBwcmVjaWF0ZWQuDQo+ID4gPg0KPiA+ID4gVGhh
bmtzLA0KPiA+ID4gVmFyYWRhDQo+ID4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t
LS0NCj4gPiA+IEZyb206IGNlcGgtZGV2ZWwtb3duZXJAdmdlci5rZXJuZWwub3JnIFttYWlsdG86
Y2VwaC1kZXZlbC0gDQo+ID4gPiBvd25lckB2Z2VyLmtlcm5lbC5vcmddIE9uIEJlaGFsZiBPZiBW
YXJhZGEgS2FyaQ0KPiA+ID4gU2VudDogRnJpZGF5LCBKdW5lIDI2LCAyMDE1IDM6MzQgUE0NCj4g
PiA+IFRvOiBTYWdlIFdlaWwNCj4gPiA+IENjOiBMb2ljIERhY2hhcnk7IGNlcGgtZGV2ZWw7IE1h
dHQgVy4gQmVuamFtaW4NCj4gPiA+IFN1YmplY3Q6IFJFOiBsb2FkYWJsZSBvYmplY3RzdG9yZQ0K
PiA+ID4NCj4gPiA+IEhpLA0KPiA+ID4NCj4gPiA+IE1hZGUgc29tZSBtb3JlIGNoYW5nZXMgdG8g
cmVzb2x2ZSBsdHRuZyBwcm9ibGVtcyBhdCANCj4gPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS92YXJh
ZGFrYXJpL2NlcGgvY29tbWl0cy93aXAtcGx1Z2luLg0KPiA+ID4gQnV0IGNvdWxkbuKAmXQgYnkg
cGFzcyB0aGUgaXNzdWVzLiBGYWNpbmcgc29tZSBpc3N1ZXMgbGlrZSBtZW50aW9uZWQgYmVsb3cu
DQo+ID4gPg0KPiA+ID4gLi8ubGlicy9saWJjZXBoX2ZpbGVzdG9yZS5zbzogdW5kZWZpbmVkIHJl
ZmVyZW5jZSB0byBgdHJhY2Vwb2ludF9kbG9wZW4nDQo+ID4gPg0KPiA+ID4gQ29tcGlsaW5nIHdp
dGggLWxsdHRuZy11c3QgaXMgbm90IHJlc29sdmluZyB0aGUgcHJvYmxlbS4gU2VlbiBzb21lIA0K
PiA+ID4gdGhyZWFkcyBpbiBkZXZlbCBsaXN0IGJlZm9yZSwgbWVudGlvbmluZyB0aGlzIHByb2Js
ZW0uDQo+ID4gPiBDYW4gYW55b25lIHRha2UgYSBsb29rIGFuZCBndWlkZSBtZSB0byBmaXggdGhp
cyBwcm9ibGVtPw0KPiA+ID4NCj4gPiA+IEhhdmVuJ3QgbWFkZSB0aGUgY2hhbmdlcyB0byBjaGFu
Z2UgdGhlIHBsdWdpbiBuYW1lIGV0Yy4uLiB3aWxsIGJlIA0KPiA+ID4gbWFraW5nIHRoZW0gYXMg
cGFydCBvZiBjbGVhbnVwLg0KPiA+ID4NCj4gPiA+IFRoYW5rcywNCj4gPiA+IFZhcmFkYQ0KPiA+
ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBjZXBoLWRl
dmVsLW93bmVyQHZnZXIua2VybmVsLm9yZyBbbWFpbHRvOmNlcGgtZGV2ZWwtIA0KPiA+ID4gb3du
ZXJAdmdlci5rZXJuZWwub3JnXSBPbiBCZWhhbGYgT2YgVmFyYWRhIEthcmkNCj4gPiA+IFNlbnQ6
IE1vbmRheSwgSnVuZSAyMiwgMjAxNSA4OjU3IFBNDQo+ID4gPiBUbzogTWF0dCBXLiBCZW5qYW1p
bg0KPiA+ID4gQ2M6IExvaWMgRGFjaGFyeTsgY2VwaC1kZXZlbDsgU2FnZSBXZWlsDQo+ID4gPiBT
dWJqZWN0OiBSRTogbG9hZGFibGUgb2JqZWN0c3RvcmUNCj4gPiA+DQo+ID4gPiBIaSBNYXR0LA0K
PiA+ID4NCj4gPiA+IE1ham9yaXR5IG9mIHRoZSBjaGFuZ2VzIGFyZSBzZWdyZWdhdGluZyB0aGUg
ZmlsZXMgdG8gY29ycmVzcG9uZGluZyANCj4gPiA+IHNoYXJlZCBvYmplY3QgYW5kIGNyZWF0aW5n
IGEgZmFjdG9yeSBvYmplY3QuIEFuZCB0aGUgbmFtaW5nIGlzIA0KPiA+ID4gbW9zdGx5IHRha2Vu
IGZyb20gRXJhc3VyZS1jb2RpbmcgcGx1Z2lucy4gV2FudCBhIGdvb2QgbmFtaW5nIA0KPiA+ID4g
Y29udmVudGlvbiA6LSksIGhlbmNlIGEgcHJlbGltaW5hcnkgcmV2aWV3LiBEbyBhZ3JlZSwgd2Ug
aGF2ZSBsb3QgDQo+ID4gPiBvZiBsb2FkYWJsZSBpbnRlcmZhY2VzLCBhbmQgSSB0aGluayB3ZSBh
cmUgaW4gdGhlIHdheSBvZiBtYWtpbmcgDQo+ID4gPiB0aGVtIG9uLWRlbWFuZCAoaWYNCj4gPiA+
IHBvc3NpYmxlKSBsb2FkYWJsZSBtb2R1bGVzLg0KPiA+ID4NCj4gPiA+IFZhcmFkYQ0KPiA+ID4N
Cj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBNYXR0IFcuIEJl
bmphbWluIFttYWlsdG86bWF0dEBjb2hvcnRmcy5jb21dDQo+ID4gPiBTZW50OiBNb25kYXksIEp1
bmUgMjIsIDIwMTUgODozNyBQTQ0KPiA+ID4gVG86IFZhcmFkYSBLYXJpDQo+ID4gPiBDYzogTG9p
YyBEYWNoYXJ5OyBjZXBoLWRldmVsOyBTYWdlIFdlaWwNCj4gPiA+IFN1YmplY3Q6IFJlOiBsb2Fk
YWJsZSBvYmplY3RzdG9yZQ0KPiA+ID4NCj4gPiA+IEhpLA0KPiA+ID4NCj4gPiA+IEl0J3MganVz
dCBhZXN0aGV0aWMsIGJ1dCBpdCBmZWVscyBjbHVua3kgdG8gY2hhbmdlIHRoZSBuYW1lcyBvZiAN
Cj4gPiA+IHdlbGwga25vd24gbW9kdWxlcyB0byA8c29tZXRoaW5nPlBsdWdpbi0tZXNwLiBpZiB0
aGF0IGdlbmVyYWxpemVzIA0KPiA+ID4gZm9yd2FyZCB0byBuZXcgbG9hZGFibGUgbW9kdWxlcyAo
YW5kIHdlIGhhdmUgYSBsb3Qgb2YgbG9hZGFibGUgaW50ZXJmYWNlcykuDQo+ID4gPg0KPiA+ID4g
TWF0dA0KPiA+ID4NCj4gPiA+IC0tLS0tICJWYXJhZGEgS2FyaSIgPFZhcmFkYS5LYXJpQHNhbmRp
c2suY29tPiB3cm90ZToNCj4gPiA+DQo+ID4gPiA+IEhpIFNhZ2UsDQo+ID4gPiA+DQo+ID4gPiA+
IFBsZWFzZSBmaW5kIHRoZSBpbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIG9iamVjdHMgc3RvcmUg
ZmFjdG9yeSANCj4gPiA+ID4gKGluaXRpYWwgY3V0KSBhdA0KPiA+ID4gPg0KPiA+ID4NCj4gPg0K
PiBodHRwczovL2dpdGh1Yi5jb20vdmFyYWRha2FyaS9jZXBoL2NvbW1pdC85ZDVmZTJmZWNmMzhi
YTEwNmM3YzdiN2EzZWQNCj4gPiA+IGUNCj4gPiA+ID4gNGYxODllYzdlMWM4DQo+ID4gPiA+DQo+
ID4gPiA+IFRoaXMgaXMgc3RpbGwgd29yayBpbiBwcm9ncmVzcyBicmFuY2guIFJpZ2h0IG5vdyBJ
IGFtIGZhY2luZyANCj4gPiA+ID4gTHR0bmcgaXNzdWVzLA0KPiA+ID4gPiBMVFRuZy1VU1Q6IEVy
cm9yICgtMTcpIHdoaWxlIHJlZ2lzdGVyaW5nIHRyYWNlcG9pbnQgcHJvYmUuDQo+ID4gPiA+IER1
cGxpY2F0ZSByZWdpc3RyYXRpb24gb2YgdHJhY2Vwb2ludCBwcm9iZXMgaGF2aW5nIHRoZSBzYW1l
IG5hbWUgDQo+ID4gPiA+IGlzIG5vdA0KPiBhbGxvd2VkLg0KPiA+ID4gPg0KPiA+ID4gPiBNaWdo
dCBiZSBhbiBpc3N1ZSB3aXRoIGxpYmNvbW1vbiBpbmNsdXNpb24uIFRyeWluZyByZXNvbHZpbmcg
dGhlIA0KPiA+ID4gPiBpc3N1ZSBub3cuIFNlZW1zIEkgbmVlZCB0byBtYWtlIGxpYmNvbW1vbiBh
bHNvIGFzIGEgc2hhcmVkIA0KPiA+ID4gPiBvYmplY3QgdG8gYXZvaWQgdGhlIGR1cGxpY2F0ZXMs
IHN0YXRpYyBsaW5raW5nIGlzIGEgcHJvYmxlbSBoZXJlLg0KPiA+ID4gPiBBbnkgc3VnZ2VzdGlv
bnMgb3IgY29tbWVudHMgb24gdGhpcyBwcm9ibGVtPw0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4g
PiBJIGhhdmUgY29tbWVudGVkIG91dCB0ZXN0IGJpbmFyeSANCj4gPiA+ID4gKGNlcGhfdGVzdF9r
ZXl2YWx1ZWRiX2F0b21pY2l0eSkgY29tcGlsYXRpb24sIGR1ZSB0byB1bnJlc29sdmVkIA0KPiA+
ID4gPiBzeW1ib2xzIGZvciBnX2NlcGhfY29udGV4dCBhbmQNCj4gZ19jb25mLg0KPiA+ID4gPiBO
b3QgYWJsZSB0byBmaXgvd29ya2Fyb3VuZCB0aGUgcHJvYmxlbSBzbyBmYXIuDQo+ID4gPiA+DQo+
ID4gPiA+IENhbiB5b3UgcGxlYXNlIHJldmlldyBpZiB0aGlzIGlzIHdoYXQgaW4geW91ciBtaW5k
IGZvciB0aGUgDQo+ID4gPiA+IGZhY3RvcnkgaW1wbGVtZW50YXRpb24/DQo+ID4gPiA+DQo+ID4g
PiA+IFdlIGNhbiBleHRlbmQgdGhpcyBpbXBsZW1lbnRhdGlvbiB0byBtZXNzZW5nZXIgYW5kIGRp
ZmZlcmVudCANCj4gPiA+ID4gYmFja2VuZCBvZiB0aGUgT1NELiBXaWxsIG1ha2UgdGhvc2UgaW5j
cmVtZW50YWwgb25jZSB0aGUgYmFzZSANCj4gPiA+ID4gZnJhbWV3b3JrIGlzIGFwcHJvdmVkLg0K
PiA+ID4gPg0KPiA+ID4gPiBUaGFua3MsDQo+ID4gPiA+IFZhcmFkYQ0KPiA+ID4gPg0KPiA+ID4g
Pg0KPiA+ID4gPg0KPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBG
cm9tOiBTYWdlIFdlaWwgW21haWx0bzpzYWdlQG5ld2RyZWFtLm5ldF0NCj4gPiA+ID4gU2VudDog
VHVlc2RheSwgTWF5IDEyLCAyMDE1IDU6MTEgQU0NCj4gPiA+ID4gVG86IFZhcmFkYSBLYXJpDQo+
ID4gPiA+IENjOiBMb2ljIERhY2hhcnk7IE1hdHQgVy4gQmVuamFtaW47IGNlcGgtZGV2ZWwNCj4g
PiA+ID4gU3ViamVjdDogUkU6IGxvYWRhYmxlIG9iamVjdHN0b3JlDQo+ID4gPiA+DQo+ID4gPiA+
IEhpIFZhcmFkYSwNCj4gPiA+ID4NCj4gPiA+ID4gQW55IHByb2dyZXNzIG9uIHRoaXM/DQo+ID4g
PiA+DQo+ID4gPiA+IFRoYW5rcyENCj4gPiA+ID4gc2FnZQ0KPiA+ID4gPg0KPiA+ID4gPiBPbiBT
YXQsIDExIEFwciAyMDE1LCBWYXJhZGEgS2FyaSB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gPiBU
aGFua3MgU2FnZSBhbmQgTG9pYy4gV2lsbCBhZGQgdGhlIG1pc3NpbmcgcGllY2VzIGFuZCANCj4g
PiA+ID4gPiBpbnRlZ3JhdGUgdGhlDQo+ID4gPiA+IG9iamVjdCBmYWN0b3J5IGFuZCBwbHVnaW4g
Y2hhbmdlcy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFZhcmFkYQ0KPiA+ID4gPiA+DQo+ID4gPiA+
ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBTYWdlIFdlaWwg
W21haWx0bzpzYWdlQG5ld2RyZWFtLm5ldF0NCj4gPiA+ID4gPiBTZW50OiBTYXR1cmRheSwgQXBy
aWwgMTEsIDIwMTUgOToxOSBQTQ0KPiA+ID4gPiA+IFRvOiBMb2ljIERhY2hhcnkNCj4gPiA+ID4g
PiBDYzogVmFyYWRhIEthcmk7IE1hdHQgVy4gQmVuamFtaW47IGNlcGgtZGV2ZWwNCj4gPiA+ID4g
PiBTdWJqZWN0OiBSZTogbG9hZGFibGUgb2JqZWN0c3RvcmUNCj4gPiA+ID4gPg0KPiA+ID4gPiA+
IE9uIFNhdCwgMTEgQXByIDIwMTUsIExvaWMgRGFjaGFyeSB3cm90ZToNCj4gPiA+ID4gPiA+IEhp
IFNhZ2UsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSXQgbG9va3MgbGlrZSBjb21tb24vUGx1
Z2luUmVnaXN0cnkue2gsY2N9IGFyZSBtaXNzaW5nIGZyb20gDQo+ID4gPiA+ID4gPiAxOGFkOGRm
MTA5NGRiNTJjODM5ZGM2YjJkYzY4OWZjODgyMjMwYWNiDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiB3
aG9vcHMgcHVzaGVkISA6KQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gc2FnZQ0KPiA+ID4gPiA+DQo+
ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gQ2hlZXJzDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g
T24gMTEvMDQvMjAxNSAxNjo1MSwgU2FnZSBXZWlsIHdyb3RlOg0KPiA+ID4gPiA+ID4gPiBPbiBT
YXQsIDExIEFwciAyMDE1LCBWYXJhZGEgS2FyaSB3cm90ZToNCj4gPiA+ID4gPiA+ID4+IEhpIE1h
dHQvIFNhZ2UsDQo+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPj4gVGhhbmtzIGZvciBzaGFy
aW5nIHRoZSBwdWxsIHJlcXVlc3QuIFdpbGwgd29yayBvbiB0aGUgDQo+ID4gPiA+ID4gPiA+PiBp
dGVtcw0KPiA+ID4gPiB3aGF0DQo+ID4gPiA+ID4gPiA+PiBzYWdlIHdhcyBtZW50aW9uaW5nIGlu
IHRoZSBjb21tZW50cyBhbG9uZyB3aXRoIHRoZSBpdGVtcyANCj4gPiA+ID4gPiA+ID4+IGluIHRo
ZQ0KPiA+ID4gPiB0cmFja2VyLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBJIHB1c2hl
ZCBhIHdpcC1wbHVnaW4gYnJhbmNoIHdpdGggdGhlIHBhdHRlcm4gSSBoYWQgaW4gbWluZC4uLg0K
PiA+ID4gPiA+ID4gPiBkb2VzIHRoaXMgbWFrZSBzZW5zZT8gIEl0J3Mgb25seSBjb21waWxlIHRl
c3RlZCwgYW5kIHN0aWxsDQo+ID4gPiA+IG5lZWRzDQo+ID4gPiA+ID4gPiA+IHByZWxvYWQoKSBt
ZXRob2RzIGltcGxlbWVudGVkIHNvIHRoYXQgbG9uZy1ydW5uaW5nIGRhZW1vbnMgDQo+ID4gPiA+
ID4gPiA+IChvciBwZXJoYXBzIG90aGVycz8pIGNhbiBwcmVsb2FkIGl0IGFsbCBhdCBvbmNlLg0K
PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBJZGVhbGx5IHdlIHdvdWxkIHJlcGxhY2UgRXJh
c3VyZVBsdWdpblJlZ2lzdHJ5IHdpdGggdGhpcyANCj4gPiA+ID4gPiA+ID4gdG9vLCB3aGljaCBt
ZWFucyB0aGUgbmFtaW5nIG9mIHRoZSAuc28ncyBuZWVkcyB0byBiZSBhIGJpdCANCj4gPiA+ID4g
PiA+ID4gbW9yZSBmbGV4aWJsZSBhcyB0aGUgRUMgcGx1Z2luIHNjaGVtZSBpcyBzb21ldGhpbmcg
bGlrZSANCj4gPiA+ID4gPiA+ID4gL3Vzci9saWIvY2VwaC9lcmFzdXJlLWNvZGUvbGliZWNfJG5h
bWUuc28gKG5vdCBhIHN0cmljdCANCj4gPiA+ID4gPiA+ID4gZnVuY3Rpb24NCj4gPiA+ID4NCj4g
PiA+ID4gPiA+ID4gb2YgdHlwZSBhbmQgbmFtZSkuICBPciBhY3R1YWxseSwgd2UgY2FuIGp1c3Qg
cmVuYW1lIHRoZSBFQyANCj4gPiA+ID4gPiA+ID4gLnNvJ3MNCj4gPiA+ID4NCj4gPiA+ID4gPiA+
ID4gd2hlbiB0aGlzIGdvZXMgaW4/ICBTaW5jZSB0aGV5J3JlIGV4cGxpY2l0bHkgaW5jb21wYXRp
YmxlDQo+ID4gPiA+IGJldHdlZW4NCj4gPiA+ID4gPiA+ID4gdmVyc2lvbnMgdGhlcmUgaXMgbm8g
cmVhc29uIHRoZSBuYW1lcyBuZWVkIHRvIHJlbWFpbg0KPiA+ID4gPiBjb25zaXN0ZW50Li4uDQo+
ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IHNhZ2UNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4g
PiA+ID4+DQo+ID4gPiA+ID4gPiA+PiBWYXJhZGENCj4gPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4g
PiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ID4gPj4gRnJvbTogU2Fn
ZSBXZWlsIFttYWlsdG86c2FnZUBuZXdkcmVhbS5uZXRdDQo+ID4gPiA+ID4gPiA+PiBTZW50OiBT
YXR1cmRheSwgQXByaWwgMTEsIDIwMTUgNDoxNiBBTQ0KPiA+ID4gPiA+ID4gPj4gVG86IE1hdHQg
Vy4gQmVuamFtaW4NCj4gPiA+ID4gPiA+ID4+IENjOiBWYXJhZGEgS2FyaTsgY2VwaC1kZXZlbA0K
PiA+ID4gPiA+ID4gPj4gU3ViamVjdDogUmU6IGxvYWRhYmxlIG9iamVjdHN0b3JlDQo+ID4gPiA+
ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPj4gT24gRnJpLCAxMCBBcHIgMjAxNSwgTWF0dCBXLiBCZW5q
YW1pbiB3cm90ZToNCj4gPiA+ID4gPiA+ID4+PiBIaSBWYXJhZGEsDQo+ID4gPiA+ID4gPiA+Pj4N
Cj4gPiA+ID4gPiA+ID4+PiBJIHB1c2hlZCBicmFuY2ggaGFtbWVyLW9zZmFjdG9yeSB0byANCj4g
PiA+ID4gPiA+ID4+PiBodHRwczovL2dpdGh1Yi5jb20vbGludXhib3gyL2NlcGguZ2l0DQo+ID4g
PiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4+PiBJdCBjYW4gYXQgbGVhc3QgcHJvdmlkZSBhIHN0
YXJ0aW5nIHBvaW50IGZvciBkaXNjdXNzaW9uLCANCj4gPiA+ID4gPiA+ID4+PiBpZg0KPiA+ID4g
PiBub3QNCj4gPiA+ID4gPiA+ID4+PiBhIGp1bXBpbmcgb2ZmIHBvaW50OyAgSSBkbyB0aGluayBp
dCdzIGJhc2ljYWxseSB3aGF0IA0KPiA+ID4gPiA+ID4gPj4+IFNhZ2UNCj4gPiA+ID4gZGVzY3Jp
YmVkLg0KPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4+IEkgbWFkZSBhIGZldyBjb21tZW50
cyBvbiB0aGUgcHVsbCByZXF1ZXN0LiAgSSB0aGluayBhIA0KPiA+ID4gPiA+ID4gPj4gZmFjdG9y
eQ0KPiA+ID4gPiBjbGFzcyBpcyB0aGUgd2F5IHRvIGdvLCBidXQgd2Ugc2hvdWxkIGJlIGFibGUg
dG8gbWFrZSB0aGUgcGx1Z2luIA0KPiA+ID4gPiBsb2FkaW5nIHBhcnQgZ2VuZXJpYyBhbmQgbm90
IGludGVyZmFjZSBzcGVjaWZpYyBhdCBhbGwuLi4NCj4gPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4g
PiA+PiBzYWdlDQo+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ID4gPiA+
Pj4gSSB3YXMgYWJsZSB0byB1cGRhdGUgdGhlIENNYWtlIGJ1aWxkIHN5c3RlbSB0byBidWlsZCB0
aGUgDQo+ID4gPiA+ID4gPiA+Pj4gdHJlZSwNCj4gPiA+ID4gSQ0KPiA+ID4gPiA+ID4gPj4+IGhh
dmVuJ3QgYXR0ZW1wdGVkIEF1dG90b29scy4gOigNCj4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+
ID4gPj4+IFJlZ2FyZHMsDQo+ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4+PiBNYXR0DQo+
ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4+PiAtLQ0KPiA+ID4gPiA+ID4gPj4+IE1hdHQg
QmVuamFtaW4NCj4gPiA+ID4gPiA+ID4+PiBDb2hvcnRGUywgTExDLg0KPiA+ID4gPiA+ID4gPj4+
IDMxNSBXZXN0IEh1cm9uIFN0cmVldCwgU3VpdGUgMTQwQSBBbm4gQXJib3IsIE1pY2hpZ2FuDQo+
ID4gPiA+ID4gPiA+Pj4gNDgxMDMNCj4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPj4+IGh0
dHA6Ly9jb2hvcnRmcy5jb20NCj4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPj4+IHRlbC4g
IDczNC03NjEtNDY4OQ0KPiA+ID4gPiA+ID4gPj4+IGZheC4gIDczNC03NjktODkzOA0KPiA+ID4g
PiA+ID4gPj4+IGNlbC4gIDczNC0yMTYtNTMwOQ0KPiA+ID4gPiA+ID4gPj4+IC0tDQo+ID4gPiA+
ID4gPiA+Pj4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgDQo+
ID4gPiA+ID4gPiA+Pj4gInVuc3Vic2NyaWJlDQo+ID4gPiA+IGNlcGgtZGV2ZWwiDQo+ID4gPiA+
ID4gPiA+Pj4gaW4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5l
bC5vcmcgDQo+ID4gPiA+ID4gPiA+Pj4gTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCANCj4gPiA+ID4g
PiA+ID4+PiBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwNCj4gPiA+
ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4g
Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiA+ID4gPiA+ID4+DQo+ID4g
PiA+ID4gPiA+PiBQTEVBU0UgTk9URTogVGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGlz
IGVsZWN0cm9uaWMgDQo+ID4gPiA+ID4gPiA+PiBtYWlsDQo+ID4gPiA+IG1lc3NhZ2UgaXMgaW50
ZW5kZWQgb25seSBmb3IgdGhlIHVzZSBvZiB0aGUgZGVzaWduYXRlZA0KPiA+ID4gPiByZWNpcGll
bnQocykgbmFtZWQgYWJvdmUuIElmIHRoZSByZWFkZXIgb2YgdGhpcyBtZXNzYWdlIGlzIG5vdCAN
Cj4gPiA+ID4gdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZSBoZXJlYnkgbm90aWZpZWQg
dGhhdCB5b3UgaGF2ZSANCj4gPiA+ID4gcmVjZWl2ZWQgdGhpcyBtZXNzYWdlIGluIGVycm9yIGFu
ZCB0aGF0IGFueSByZXZpZXcsIA0KPiA+ID4gPiBkaXNzZW1pbmF0aW9uLCBkaXN0cmlidXRpb24s
IG9yIGNvcHlpbmcgb2YgdGhpcyBtZXNzYWdlIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuDQo+ID4g
PiA+IElmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgY29tbXVuaWNhdGlvbiBpbiBlcnJvciwgcGxl
YXNlIG5vdGlmeSANCj4gPiA+ID4gdGhlIHNlbmRlciBieSB0ZWxlcGhvbmUgb3IgZS1tYWlsIChh
cyBzaG93biBhYm92ZSkgaW1tZWRpYXRlbHkgDQo+ID4gPiA+IGFuZCBkZXN0cm95IGFueSBhbmQg
YWxsIGNvcGllcyBvZiB0aGlzIG1lc3NhZ2UgaW4geW91ciANCj4gPiA+ID4gcG9zc2Vzc2lvbiAo
d2hldGhlciBoYXJkIGNvcGllcyBvciBlbGVjdHJvbmljYWxseSBzdG9yZWQgY29waWVzKS4NCj4g
PiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPiA+PiAtLQ0KPiA+ID4gPiA+ID4gPj4gVG8gdW5zdWJz
Y3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIA0KPiA+ID4g
PiA+ID4gPj4gY2VwaC1kZXZlbCIgaW4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvDQo+ID4gPiA+
IG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcNCj4gPiA+ID4gPiA+ID4+IE1vcmUgbWFqb3Jkb21v
IGluZm8gYXQNCj4gPiA+ID4gPiA+ID4+IGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21v
LWluZm8uaHRtbA0KPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPiA+
IC0tDQo+ID4gPiA+ID4gPiA+IFRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBzZW5kIHRo
ZSBsaW5lICJ1bnN1YnNjcmliZSANCj4gPiA+ID4gPiA+ID4gY2VwaC1kZXZlbCIgaW4gdGhlIGJv
ZHkgb2YgYSBtZXNzYWdlIHRvDQo+ID4gPiA+IG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcNCj4g
PiA+ID4gPiA+ID4gTW9yZSBtYWpvcmRvbW8gaW5mbyBhdA0KPiA+ID4gPiBodHRwOi8vdmdlci5r
ZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+
DQo+ID4gPiA+ID4gPiAtLQ0KPiA+ID4gPiA+ID4gTG/Dr2MgRGFjaGFyeSwgQXJ0aXNhbiBMb2dp
Y2llbCBMaWJyZQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gLS0NCj4gPiA+
ID4gPiBUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJz
Y3JpYmUNCj4gPiA+ID4gY2VwaC1kZXZlbCINCj4gPiA+ID4gPiBpbiB0aGUgYm9keSBvZiBhIG1l
c3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZyBNb3JlDQo+ID4gPiBtYWpvcmRvbW8N
Cj4gPiA+ID4NCj4gPiA+ID4gPiBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9y
ZG9tby1pbmZvLmh0bWwNCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiA+ID4gLS0NCj4g
PiA+IE1hdHQgQmVuamFtaW4NCj4gPiA+IENvaG9ydEZTLCBMTEMuDQo+ID4gPiAzMTUgV2VzdCBI
dXJvbiBTdHJlZXQsIFN1aXRlIDE0MEENCj4gPiA+IEFubiBBcmJvciwgTWljaGlnYW4gNDgxMDMN
Cj4gPiA+DQo+ID4gPiBodHRwOi8vY29ob3J0ZnMuY29tDQo+ID4gPg0KPiA+ID4gdGVsLiAgNzM0
LTc2MS00Njg5DQo+ID4gPiBmYXguICA3MzQtNzY5LTg5MzgNCj4gPiA+IGNlbC4gIDczNC0yMTYt
NTMwOQ0KPiA+ID4NCj4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4g
Pg0KPiA+ID4gUExFQVNFIE5PVEU6IFRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhpcyBl
bGVjdHJvbmljIG1haWwgDQo+ID4gPiBtZXNzYWdlIGlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSB1
c2Ugb2YgdGhlIGRlc2lnbmF0ZWQgDQo+ID4gPiByZWNpcGllbnQocykgbmFtZWQgYWJvdmUuIElm
IHRoZSByZWFkZXIgb2YgdGhpcyBtZXNzYWdlIGlzIG5vdCB0aGUgDQo+ID4gPiBpbnRlbmRlZCBy
ZWNpcGllbnQsIHlvdSBhcmUgaGVyZWJ5IG5vdGlmaWVkIHRoYXQgeW91IGhhdmUgcmVjZWl2ZWQg
DQo+ID4gPiB0aGlzIG1lc3NhZ2UgaW4gZXJyb3IgYW5kIHRoYXQgYW55IHJldmlldywgZGlzc2Vt
aW5hdGlvbiwgDQo+ID4gPiBkaXN0cmlidXRpb24sIG9yIGNvcHlpbmcgb2YgdGhpcyBtZXNzYWdl
IGlzIHN0cmljdGx5IHByb2hpYml0ZWQuIA0KPiA+ID4gSWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhp
cyBjb21tdW5pY2F0aW9uIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IA0KPiA+ID4gdGhlIHNlbmRl
ciBieSB0ZWxlcGhvbmUgb3IgZS1tYWlsIChhcyBzaG93biBhYm92ZSkgaW1tZWRpYXRlbHkgYW5k
IA0KPiA+ID4gZGVzdHJveSBhbnkgYW5kIGFsbCBjb3BpZXMgb2YgdGhpcyBtZXNzYWdlIGluIHlv
dXIgcG9zc2Vzc2lvbiANCj4gPiA+ICh3aGV0aGVyIGhhcmQgY29waWVzIG9yIGVsZWN0cm9uaWNh
bGx5DQo+ID4gc3RvcmVkIGNvcGllcykuDQo+ID4gPg0KPiA+ID4gTiAgICAgciAgeSAgIGIgWCAg
x6d2IF4gKd66ey5uICsgICB6IF16DQo+ID4gPiBOICAgICByICB5ICAgYiBYICDHp3YgXiAp3rp7
Lm4gKyAgIHogXXogICB7YXkgHcqH2pkgLGogICBmICAgaCAgIHogHiB3ICAgICAgIGo6K3YgICB3
IGogbSAgICAgICAgIHpaKw0KPiA+ID4g3aJqIiAgISBpDQo+ID4gPiATICDsubscICYgfiAmIBgg
ICstICDdthcgIHcgIMubICAgbSAeIBdeICBiICBebiByICAgeiAaICBoICAgICYgIB4gRyAgIGgg
Aygg6ZqOIN2iaiIgIBogG20NCj4gPiB6DQo+ID4gPiDeliAgIGYgICBoICAgfiBtDQo+ID4gPiAE
IHsubiArICAgICAgICslICBsendtICBiIOunsiAgciAgecepINevelggIBcgINyofSAgIMageiAm
ajordiAgICAgICAgelorICAremYgICBoICAgfiAgICBpDQo+IHogHiB3DQo+ID4gPiA/ICAgICYg
Kd+iG2YNCj4gPg0KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4NCj4g
PiBQTEVBU0UgTk9URTogVGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGlzIGVsZWN0cm9u
aWMgbWFpbCANCj4gPiBtZXNzYWdlIGlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSB1c2Ugb2YgdGhl
IGRlc2lnbmF0ZWQgcmVjaXBpZW50KHMpIA0KPiA+IG5hbWVkIGFib3ZlLiBJZiB0aGUgcmVhZGVy
IG9mIHRoaXMgbWVzc2FnZSBpcyBub3QgdGhlIGludGVuZGVkIA0KPiA+IHJlY2lwaWVudCwgeW91
IGFyZSBoZXJlYnkgbm90aWZpZWQgdGhhdCB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIA0KPiA+IG1l
c3NhZ2UgaW4gZXJyb3IgYW5kIHRoYXQgYW55IHJldmlldywgZGlzc2VtaW5hdGlvbiwgZGlzdHJp
YnV0aW9uLCANCj4gPiBvciBjb3B5aW5nIG9mIHRoaXMgbWVzc2FnZSBpcyBzdHJpY3RseSBwcm9o
aWJpdGVkLiBJZiB5b3UgaGF2ZSANCj4gPiByZWNlaXZlZCB0aGlzIGNvbW11bmljYXRpb24gaW4g
ZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieSANCj4gPiB0ZWxlcGhvbmUgb3IgZS1t
YWlsIChhcyBzaG93biBhYm92ZSkgaW1tZWRpYXRlbHkgYW5kIGRlc3Ryb3kgYW55IGFuZCANCj4g
PiBhbGwgY29waWVzIG9mIHRoaXMgbWVzc2FnZSBpbiB5b3VyIHBvc3Nlc3Npb24gKHdoZXRoZXIg
aGFyZCBjb3BpZXMgDQo+ID4gb3IgZWxlY3Ryb25pY2FsbHkNCj4gc3RvcmVkIGNvcGllcykuDQo+
DQo+DQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+DQo+IFBMRUFTRSBOT1RF
OiBUaGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMgZWxlY3Ryb25pYyBtYWlsIG1lc3Nh
Z2UgDQo+IGlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSB1c2Ugb2YgdGhlIGRlc2lnbmF0ZWQgcmVj
aXBpZW50KHMpIG5hbWVkIA0KPiBhYm92ZS4gSWYgdGhlIHJlYWRlciBvZiB0aGlzIG1lc3NhZ2Ug
aXMgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIA0KPiB5b3UgYXJlIGhlcmVieSBub3RpZmll
ZCB0aGF0IHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgbWVzc2FnZSBpbiBlcnJvciANCj4gYW5kIHRo
YXQgYW55IHJldmlldywgZGlzc2VtaW5hdGlvbiwgZGlzdHJpYnV0aW9uLCBvciBjb3B5aW5nIG9m
IHRoaXMgDQo+IG1lc3NhZ2UgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IGhhdmUgcmVj
ZWl2ZWQgdGhpcyANCj4gY29tbXVuaWNhdGlvbiBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUg
c2VuZGVyIGJ5IHRlbGVwaG9uZSBvciANCj4gZS1tYWlsIChhcyBzaG93biBhYm92ZSkgaW1tZWRp
YXRlbHkgYW5kIGRlc3Ryb3kgYW55IGFuZCBhbGwgY29waWVzIG9mIA0KPiB0aGlzIG1lc3NhZ2Ug
aW4geW91ciBwb3NzZXNzaW9uICh3aGV0aGVyIGhhcmQgY29waWVzIG9yIGVsZWN0cm9uaWNhbGx5
IHN0b3JlZCBjb3BpZXMpLg0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoN
ClBMRUFTRSBOT1RFOiBUaGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMgZWxlY3Ryb25p
YyBtYWlsIG1lc3NhZ2UgaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHVzZSBvZiB0aGUgZGVzaWdu
YXRlZCByZWNpcGllbnQocykgbmFtZWQgYWJvdmUuIElmIHRoZSByZWFkZXIgb2YgdGhpcyBtZXNz
YWdlIGlzIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCB5b3UgYXJlIGhlcmVieSBub3RpZmll
ZCB0aGF0IHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgbWVzc2FnZSBpbiBlcnJvciBhbmQgdGhhdCBh
bnkgcmV2aWV3LCBkaXNzZW1pbmF0aW9uLCBkaXN0cmlidXRpb24sIG9yIGNvcHlpbmcgb2YgdGhp
cyBtZXNzYWdlIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuIElmIHlvdSBoYXZlIHJlY2VpdmVkIHRo
aXMgY29tbXVuaWNhdGlvbiBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGJ5IHRl
bGVwaG9uZSBvciBlLW1haWwgKGFzIHNob3duIGFib3ZlKSBpbW1lZGlhdGVseSBhbmQgZGVzdHJv
eSBhbnkgYW5kIGFsbCBjb3BpZXMgb2YgdGhpcyBtZXNzYWdlIGluIHlvdXIgcG9zc2Vzc2lvbiAo
d2hldGhlciBoYXJkIGNvcGllcyBvciBlbGVjdHJvbmljYWxseSBzdG9yZWQgY29waWVzKS4NCg0K
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/src/os/filestore/Makefile.am b/src/os/filestore/Makefile.am index de8ec07..77dbc4d 100644
--- a/src/os/filestore/Makefile.am
+++ b/src/os/filestore/Makefile.am
@@ -71,7 +71,7 @@  endif

 libceph_filestore_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0  if LINUX -libceph_filestore_la_LDFLAGS += -export-symbols-regex '.*__ceph_plugin_.*'
+#libceph_filestore_la_LDFLAGS += -export-symbols-regex '.*__ceph_plugin_.*'
 endif

 lib_LTLIBRARIES += libceph_filestore.la

Thanks,