You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
(1) |
Nov
(11) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(20) |
Feb
(3) |
Mar
|
Apr
|
May
(4) |
Jun
(5) |
Jul
(12) |
Aug
|
Sep
(4) |
Oct
(5) |
Nov
(10) |
Dec
(3) |
2003 |
Jan
|
Feb
|
Mar
(9) |
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(6) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: Andrew J. <an...@la...> - 2002-11-22 02:44:44
|
I ran into a few more issues then expected. But thats cool because they are all now solved/fixed. The various packages should start drifting in soon. A |
From: <the...@ya...> - 2002-11-20 23:11:21
|
Sweeeeeet ! :-) --- Andrew Jones <an...@la...> escribió: > Pretty much there still might me a few > inconsistencies but I should spot > them when writing the docs. > > Just one issue defining the zip hotspots needs to be > improved but that > can wait. > > Tomorrow after I clean up a few loose ends I will > package pyzzle-0.8. No > big release, I just want to get the new API out > there. > > Straight after 0.8 is done I will write the docs and > release > pyzzle-0.8.5.Because there is not much point of > having a shiny new API > if no one knows how to use it. > > Have fun > A > > > > > > > ------------------------------------------------------- > This sf.net email is sponsored by: To learn the > basics of securing > your web site with SSL, click here to get a FREE > TRIAL of a Thawte > Server Certificate: > http://www.gothawte.com/rd524.html > _______________________________________________ > Pyzzle-users mailing list > Pyz...@li... > https://lists.sourceforge.net/lists/listinfo/pyzzle-users Ahora podés usar Yahoo! Messenger desde tu celular. Aprendé cómo hacerlo en Yahoo! Móvil: http://ar.mobile.yahoo.com/sms.html |
From: Andrew J. <an...@la...> - 2002-11-20 15:04:55
|
Pretty much there still might me a few inconsistencies but I should spot them when writing the docs. Just one issue defining the zip hotspots needs to be improved but that can wait. Tomorrow after I clean up a few loose ends I will package pyzzle-0.8. No big release, I just want to get the new API out there. Straight after 0.8 is done I will write the docs and release pyzzle-0.8.5.Because there is not much point of having a shiny new API if no one knows how to use it. Have fun A |
From: Andrew J. <an...@la...> - 2002-11-18 14:17:04
|
Well most of it. Its still pretty rough but shaping up API work Still to do: - Objects - Text - Game parameters - Check for completeness - Remove the slidechage function - Improve the zip functions - Make sure it is consistent Some notables: - API now extends to defining slides rather then just logic. All the old Node elements have been replaced by API calls. - Nodes are now referred to as Slides, to avoid confusion - Node.contains element array has been removed from defining slides. (Finally). - Added OnExitSlide() method to replace slidechange function. - Over slide images, ambient sounds, sounds and movies are all declare independently of slides then added to each slide. And much more... All suggestions are most welcome. Also if anyone has trouble converting scripts please send them over. |
From: Andrew J. <an...@la...> - 2002-11-11 15:27:17
|
That rather long development pause has finally ended. I have been coding away the last two days. What was only to be a small API review has turned into a total API rewrite. My main goal for the rewrite is to provide a better more abstract and consistent interface for game building.With a more abstract interface it should become more powerful and flexible for game building and easier for myself to add features/modify features without altering the API. I will hopefully get a rough version in CVS in a few days, hence im calling for people to: have a look/review/test/suggest modifications/find bugs. I want to finally get the API right and set in concrete so I can get on with getting 1.0 out. For that I do need some beta testing done. After I am happy with the new API (even if it still has some rough bits) I will get cracking on the documentation. If anyone has any feature additions/API calls/suggestion now would be a very good time to suggest them.As always I am all ears. Have fun Andy |
From: Andrew J. <an...@la...> - 2002-11-02 11:03:36
|
I recently updated to Mandrake 9.0. Pyzzle did not work correctly with mandrakes version of SDL + SMPEG. It kept seg. faulting on the second mpeg. After rebuilding and installing the latest version of SDL and SMPEG-0.4.4. Pyzzle ran perfectly and faster then on my old mandrake 8.1 box :). But this has forced me to update Pyzzles current dependencies to: * Python - 2.2.1 - http://www.python.org * Pygame - 1.5.3 - http://pygame.org/ * SDL - 1.2.5 - http://www.libsdl.org * SDL_ttf - 2.05 - http://www.libsdl.org/projects/SDL_ttf * SDL_mixer - 1.2.4 - http://www.libsdl.org/projects/SDL_mixer * SMPEG - 0.4.4 - http://www.lokigames.com/development/smpeg.php3 So if Pyzzle flops, make sure you have the above installed. I am interested to hear how people fair with Pyzzle on the new round of linux distros. Its a pity it still does not run well with a clean install on my box anyway. But what can you do. BTW when updating SDL I recommend rebuilding and installing the src.rpm's. But if you stick with the binaries do not forget the devel rpm's |
From: Andrew J. <an...@la...> - 2002-10-31 09:25:32
|
With my summer break now only a week away, I thought it would be a good time to update everyone on my plans for Pyzzle development. The main goal is to get Pyzzle to 1.0. Its only a mile stone but a symbolic one. 1.0 will be the stage people can really start using Pyzzle with a complete feature set and documentation for their large projects. To get to 1.0 I have made the following plan: - Ive pushed implementation of usable (non-riven like) objects to post 1.0. If anyone really wants this feature then I can tackle it sooner. But It will be the 1st post 1.0 feature I add. - Complete review of the API. Once Pyzzle gets to 1.0 the API will be set in concrete. So I want to get it right the 1st time. A more consistent and flexible API will be the goal. - Implementation of the Saving and loading functions. Im going to investigate better ways to do this. Rather then dumping the python objects into a file, which worked but was quite fiddly (hence loading and saving being disabled) im going to figure out a more solid method. If any of you Python heads has any suggestions im all ears. - Implementation of the start/end game screens. - Add the 1st draft documentation. This time for efficiency im going to use a docgen program. - Release Pyzzle-1.0RC1. - Testing and bug fixing. - Release of Pyzzle-1.0. Im always open to suggestions, so if there is somthing i have missed pleased fire away. Andy |
From: Andrew J. <an...@la...> - 2002-10-16 16:22:37
|
Exellent news. The soon to be released version of SDL_mixer-1.2.5 will support ogg music files. That means pygame + pyzzle will soon support ogg music files. The most kick arse open music compression format anywhere. I just downloaded the latest version of SDL_mixer from CVS to test it out and it works very well, for music. At present it does not work for sound fx, but that should change. No more of those chuncky wav music files (: libvorbis will become another dependency but ill make the neccassary noise when it is actually required. Anyway you people better get encoding Get everything you need from here: http://www.vorbis.com/ Have fun A |
From: Andrew J. <an...@la...> - 2002-10-07 04:49:43
|
malefico andauer wrote: >Cool. Now it has a misterious look... > >Can pyzzle show a movie with alpha channel ? I'm >thinking about mixing character animation into some >slides. > >Cheers. > >malefico. > Not currently, I dont think mpegs can have an alpha channel. But... because in Pyzzle mpegs are rendered of screen and blitted onto the slide I could probally produce somthing that was equivelent using the old fashioned blue screen effect. If you could email me a mpeg that had blue/green or what ever colour for the alpha channel, I could have a look into it. But from my experence with with that technique you have to be carefull of compression artifacts stuffing up the alpha channel screen. ill have a better look into it. A |
From: <the...@ya...> - 2002-10-06 22:34:23
|
Cool. Now it has a misterious look... Can pyzzle show a movie with alpha channel ? I'm thinking about mixing character animation into some slides. Cheers. malefico. Ahora podés usar Yahoo! Messenger desde tu celular. Aprendé cómo hacerlo en Yahoo! Móvil: http://ar.mobile.yahoo.com/sms.html |
From: Andrew J. <an...@la...> - 2002-10-06 16:03:25
|
More soon. Andy |
From: <the...@ya...> - 2002-09-16 15:46:08
|
Hey Happy Birthday PYZZLE !!! It's funny how fast time goes by when you're having fun. Wow, a year ! Pyzzle have made great progress during this time. I wonder where it would evolve...how about the 3D accelerated look of Exhile ? Do you think that maybe Pyzzle 2.x could do that ? Cheers to all. malefico. --- Andrew Jones <an...@la...> escribió: > Last Wednesday it was Pyzzles 1st birthday. What a > day to have it on ): > > Well I thought that event would be a good > opportunity to fill you all in on > Pyzzles position and progress. Since I was very busy > on wed & thu it had to > wait until now. > > Well im happy with the direction the project has > taken. Diverging far from > its origins as a private small game engine, into a > full-blown open source > project for any and all to use. The project still > has a few issues but they > all will be solved. > > You know that Pyzzle should have been post 1.0 long > before now. Its not > finished yet but that's open source. The good news > is that spring is coming > hence holidays are only 2mths off. Hence Pyzzle work > will begin again in > full force soon enough. Then you will be sick of > hearing from me. (: > > Approaching the 1.0 release I will be adding new > demonstration environments > to CVS for the use of tuts and feature > demonstration. While extraction > orbius tertius from CVS and using it as a small demo > game. Ill be making > requests for people to model up these little enviros > later on. If anyone is > interested in building one now please email me for > more details. > > That's all from me. > Back to uni. > > Hang in there and have fun > > Andy > Ahora podés usar Yahoo! Messenger desde tu celular. Aprendé cómo hacerlo en Yahoo! Móvil: http://ar.mobile.yahoo.com/sms.html |
From: Andrew J. <an...@la...> - 2002-09-13 07:47:03
|
Last Wednesday it was Pyzzles 1st birthday. What a day to have it on ): Well I thought that event would be a good opportunity to fill you all in = on Pyzzles position and progress. Since I was very busy on wed & thu it had = to wait until now. Well im happy with the direction the project has taken. Diverging far = from its origins as a private small game engine, into a full-blown open = source project for any and all to use. The project still has a few issues but = they all will be solved. You know that Pyzzle should have been post 1.0 long before now. Its not finished yet but that's open source. The good news is that spring is = coming hence holidays are only 2mths off. Hence Pyzzle work will begin again in full force soon enough. Then you will be sick of hearing from me. (: Approaching the 1.0 release I will be adding new demonstration = environments to CVS for the use of tuts and feature demonstration. While extraction orbius tertius from CVS and using it as a small demo game. Ill be making requests for people to model up these little enviros later on. If anyone = is interested in building one now please email me for more details. That's all from me. Back to uni. Hang in there and have fun Andy |
From: Andrew J. <an...@la...> - 2002-09-12 11:03:05
|
----- Original Message ----- From: "Sarah Wise" <eem...@ao...> To: "Pyzzle Users" <pyz...@li...> Sent: Wednesday, September 11, 2002 5:55 PM Subject: [Pyzzle-users] eempire.com wants to link to you! > Dear pyz...@li..., > > I have visited your website Pyzzle > > I'm the marketing consultant for a website at http://eempire.com. I am collecting quality links to other Internet resources on my links page http://eempire.com/links.htm. I came across your site and feel that it would be very relevant in my collection of quality links. > > I will place a link to your web site along with a description at <a href='http://eempire.com/links.htm'>Links</a> . I'd appreciate if you'd place a link back to my site using the following link and description: > > <a href='http://www.eempire.com'>Low Cost Web Hosting Solutions</a> > > If you'd like the description of your site modified or if you have any other cross-promotion ideas just drop me a line. > > Best regards > Sarah Wise > Eem...@ao... > > > > ------------------------------------------------------- > In remembrance > www.osdn.com/911/ > _______________________________________________ > Pyzzle-users mailing list > Pyz...@li... > https://lists.sourceforge.net/lists/listinfo/pyzzle-users > > > This sender is blocked Im not going to tollerate futher spamming of this list. I have changed this list to member post only. If I any problem with legit posting occur ill fwd them to the list and inform the sender of the problem Thanks Andy |
From: Sarah W. <eem...@ao...> - 2002-09-11 07:55:09
|
Dear pyz...@li..., I have visited your website Pyzzle I'm the marketing consultant for a website at http://eempire.com. I am collecting quality links to other Internet resources on my links page http://eempire.com/links.htm. I came across your site and feel that it would be very relevant in my collection of quality links. I will place a link to your web site along with a description at <a href='http://eempire.com/links.htm'>Links</a> . I'd appreciate if you'd place a link back to my site using the following link and description: <a href='http://www.eempire.com'>Low Cost Web Hosting Solutions</a> If you'd like the description of your site modified or if you have any other cross-promotion ideas just drop me a line. Best regards Sarah Wise Eem...@ao... |
From: Andrew J. <an...@la...> - 2002-07-09 09:46:04
|
Drake Wilson wrote: >I have Pyzzle's files installed in /usr/src/pyzzle-cvs; I have an >experimental thing I'm working on in ~/programs/pyzpov. I'm wondering >what the best way is to indicate where Pyzzle's core files are; moving >the client program into Pyzzle's directory is good for the demo game, >since it's a part of the distribution, but doesn't seem correct for my >situation. Currently I'm just adding '/usr/src/pyzzle-cvs' to the >library searchpath at the beginning of the program, but this will >likely fail if moved to another system, and in fact is starting to >fail now; Pyzzle can't find its pyzzledata directory unless I symlink >it into mine, which is again not workable across systems. Is there a >better way? > > -------> Drake Wilson > OK long answer: I designed Pyzzle as an engine so I always thought that game authors would package pyzzle without the demogame and demodata with their own game for shipping. The alternative could be that users and game authors install pyzzle into their own python module directory, then game creators just import pyzzle assuming that the users all ready has pyzzle correctly installed. Id have to write a custom setup script for end user installation. I don't want to do this just yet for 2 reasons: 1. I don't have any experience in that area of scripting yet. 2. Pyzzle currently does not really have a large enough user base yet for testing the installation. I only have relibe access two rather modified linux boxes. So testing would be tricky my end also. I can rebut my own points very well 1. It would be an excellent way to learn. With a proper installation pyzzle would receive a more professional edge. 2. As Pyzzles user community grows so will the script testing. Hence no need for a larger testing base. my re-rebut: 1. It would be a very nice feature. But currently Pyzzle has higher proities: Fixing the bugs/design problems and then getting it to 1.0. Without the demo game data pyzzle is currently only 650KB. I will probably trim that down further. So packaging it with your own game which is going to be xMB in size is not really a problem. 2. Yeah but that would result in keeping it in beta for longer, something I dont really want. short answer: Currently no. I dont really want things going in that direction, you should place pyzzle alongside your game scripts. Its just simpler and less can go wrong. But post 1.0 I might add this feature. Andy |
From: Andrew J. <an...@la...> - 2002-07-09 04:52:58
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> The sender is now blocked.<br> <br> If further spamming occurs. I will change the list post option to <i>member post only</i>. This can be sometimes be inconvenient for legitimate list users. So I will make the necessary noise if and when I do change it.<br> <br> </body> </html> |
From: <fry...@bi...> - 2002-07-09 03:07:05
|
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4NCjxIVE1MPjxIRUFEPjxUSVRMRT5mZ2ZnPC9USVRMRT4NCjxNRVRBIGNvbnRlbnQ9InRl eHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIiBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZT4NCjxN RVRBIGNvbnRlbnQ9c2FtIG5hbWU9QXV0aG9yPg0KPE1FVEEgY29udGVudD0iTVNIVE1MIDUuMDAu MjYxNC4zNTAwIiBuYW1lPUdFTkVSQVRPUj48L0hFQUQ+DQo8Qk9EWT4mbmJzcDsgDQo8VEFCTEUg YmdDb2xvcj0jNDA4MDgwIGJvcmRlcj0xIGNvbHM9MSBoZWlnaHQ9IjE1JSIgd2lkdGg9IjEwMCUi Pg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgYmdDb2xvcj0jNDA4MDgwPg0KICAgICAgPENF TlRFUj48Qj48Rk9OVCBjb2xvcj0jZmZmZmZmPjxGT05UIHNpemU9KzM+VkVSVEVYIExBU0VSIA0K ICAgICAgQU5EJm5ic3A7PC9GT05UPjwvRk9OVD48L0I+IDxCUj48Qj48Rk9OVCBjb2xvcj0jZmZm ZmZmPjxGT05UIA0KICAgICAgc2l6ZT0rMz5DT1BJRVIgDQpTVVBQTElFUzwvRk9OVD48L0ZPTlQ+ PC9CPjwvQ0VOVEVSPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PEJSPiZuYnNwOyANCjxDRU5U RVI+DQo8UD48Rk9OVCBjb2xvcj0jMDAwMDAwPjxGT05UIHNpemU9KzI+VEFLRSBBRFZBTlRBR0Ug T0YgVEhFIFNBVklOR1MgV0hJTEUgVEhFWSANCkxBU1QhISE8L0ZPTlQ+PC9GT05UPiA8QlI+PEZP TlQgY29sb3I9IzAwMDAwMD48Rk9OVCBzaXplPSsyPldFIEFSRSBSRURVQ0lORyANCk9VUiANCklO VkVOVE9SWSBGT1I8L0ZPTlQ+PC9GT05UPiA8QlI+PEZPTlQgY29sb3I9IzAwMDAwMD48Rk9OVCBz aXplPSsyPlRIRSBTVU1NRVIgDQpPRiANCjIwMDIgT04gT1VSIExBU0VSPC9GT05UPjwvRk9OVD4g PEJSPjxGT05UIGNvbG9yPSMwMDAwMDA+PEZPTlQgc2l6ZT0rMj5QUklOVEVSIA0KQU5EIENPUElF UiBTVVBQTElFUzwvRk9OVD48L0ZPTlQ+IDxCUj4mbmJzcDsgDQo8UD48Rk9OVCBjb2xvcj0jMDAw MDAwPjxGT05UIHNpemU9KzI+Jm5ic3A7T1JERVIgQlkgUEhPTkU6IA0KMS04ODgtMjg4LTkwNDM8 L0ZPTlQ+PC9GT05UPiA8QlI+PEZPTlQgY29sb3I9IzAwMDAwMD48Rk9OVCBzaXplPSsyPk9SREVS IEJZIEZBWDogDQoxLTg4OC05NzctMTU3NzwvRk9OVD48L0ZPTlQ+IA0KPFA+PEI+PEZPTlQgY29s b3I9IzAwMDBhMD48Rk9OVCBzaXplPSsyPioqKkVNQUlMIFJFTU9WQUwgTElORTogDQoxLTg4OC0y NDgtNDkzMCoqKjwvRk9OVD48L0ZPTlQ+PC9CPiANCjxQPiZuYnNwO09SREVSIEJZIFBBR0UgTlVN QkVSIEFORC9PUiBJVEVNIE5VTUJFUiA8QlI+Jm5ic3A7IDxCUj4mbmJzcDsgDQo8UD4mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDs8Rk9OVCBmYWNlPSJDb21pYyBTYW5zIE1TIj4mbmJzcDsgPC9GT05U PjxVPjxGT05UIA0KZmFjZT1BcmlhbCxIZWx2ZXRpY2E+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9O VCBzaXplPSsyPkZvciBIZXdsZXR0IFBhY2thcmQgDQpQcmludGVyczo8ST4gPC9JPihQYWdlIDIp PC9GT05UPjwvRk9OVD48L0ZPTlQ+PC9VPjwvQ0VOVEVSPg0KPFA+PEJSPg0KPENFTlRFUj4NCjxU QUJMRSBiZ0NvbG9yPSNmZmZmY2MgYm9yZGVyPTEgaGVpZ2h0PSIxMCUiIHdpZHRoPSI4MCUiPg0K ICA8VEJPRFk+DQogIDxUUiBiZ0NvbG9yPSM0MDgwODA+DQogICAgPFREIGJnQ29sb3I9IzQwODA4 MD4NCiAgICAgIDxDRU5URVI+PEI+PEZPTlQgY29sb3I9I2ZmZmZmZj48Rk9OVCANCiAgICAgIHNp emU9KzE+SVRFTTwvRk9OVD48L0ZPTlQ+PC9CPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREIGJnQ29s b3I9IzQwODA4MD4NCiAgICAgIDxDRU5URVI+PEZPTlQgc2l6ZT0rMT4mbmJzcDs8Qj48Rk9OVCAN CiAgICAgIGNvbG9yPSNmZmZmZmY+REVTQ1JJUFRJT048L0ZPTlQ+PC9CPjwvRk9OVD48L0NFTlRF Uj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEI+PEZPTlQgY29sb3I9I2ZmZmZmZj48 Rk9OVCBzaXplPSsxPk1GRyANCiAgICAgICM8L0ZPTlQ+PC9GT05UPjwvQj48L0NFTlRFUj48L1RE Pg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEI+PEZPTlQgY29sb3I9I2ZmZmZmZj48Rk9OVCAN CiAgICAgIHNpemU9KzE+UFJJQ0U8L0ZPTlQ+PC9GT05UPjwvQj48L0NFTlRFUj48L1REPjwvVFI+ DQogIDxUUj4NCiAgICA8VEQgYmdDb2xvcj0jZmZmZmNjPg0KICAgICAgPENFTlRFUj48Rk9OVCBj b2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+SXRlbSANCiMxPC9GT05UPjwvRk9OVD48L0NFTlRF Uj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9O VCBzaXplPSsxPkxhc2VyamV0IFNlcmllcyA0TCwgDQogICAgICA0UCZuYnNwOzwvRk9OVD48L0ZP TlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMw MDAwOTk+PEZPTlQgDQogICAgICBzaXplPSsxPiZuYnNwOzkyMjc0QTwvRk9OVD48L0ZPTlQ+PC9D RU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+ PEZPTlQgDQpzaXplPSsxPiQ0NDwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD48L1RSPg0KICA8 VFI+DQogICAgPFREIGJnQ29sb3I9I2ZmZmZjYz4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9 IzAwMDA5OT48Rk9OVCBzaXplPSsxPkl0ZW0gDQojMjwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9U RD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6 ZT0rMT5MYXNlcmpldCBTZXJpZXMgDQogICAgICAxMTAwLDMyMDA8L0ZPTlQ+PC9GT05UPjwvQ0VO VEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxG T05UIA0KICAgICAgc2l6ZT0rMT4mbmJzcDtDNDA5MjwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9U RD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQog ICAgc2l6ZT0rMT4mbmJzcDskNDQ8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+PC9UUj4NCiAg PFRSPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBz aXplPSsxPkl0ZW0gDQojMzwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQog ICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT4mbmJzcDtMYXNl cmpldCBTZXJpZXMmbmJzcDsgDQogICAgICAyPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0K ICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsx PiZuYnNwOyANCiAgICAgIDkyMjk1QTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8 VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT4mbmJz cDsgDQogICAgJDQ5PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPjwvVFI+DQogIDxUUj4NCiAg ICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT4m bmJzcDtJdGVtICMgDQogICAgICA0PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxU RCB3aWR0aD0iNzAlIj4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBz aXplPSsxPiZuYnNwO0xhc2VyamV0IFNlcmllcyZuYnNwOyANCiAgICAgIDJQPC9GT05UPjwvRk9O VD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAw MDA5OT48Rk9OVCANCiAgICAgIHNpemU9KzE+Jm5ic3A7OTIyNzVBPC9GT05UPjwvRk9OVD48L0NF TlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48 Rk9OVCBzaXplPSsxPiZuYnNwOyANCiAgICAkNTQ8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+ PC9UUj4NCiAgPFRSPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5 OT48Rk9OVCBzaXplPSsxPiZuYnNwO0l0ZW0gDQogICAgICAjNTwvRk9OVD48L0ZPTlQ+PC9DRU5U RVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZP TlQgc2l6ZT0rMT4mbmJzcDtMYXNlcmpldCBTZXJpZXMgNVAsNlAsIA0KICAgICAgNU1QLCA2TVA8 L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9O VCBjb2xvcj0jMDAwMDk5PjxGT05UIA0KICAgICAgc2l6ZT0rMT4mbmJzcDszNjAzQTwvRk9OVD48 L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9y PSMwMDAwOTk+PEZPTlQgDQogICAgc2l6ZT0rMT4mbmJzcDskNDQ8L0ZPTlQ+PC9GT05UPjwvQ0VO VEVSPjwvVEQ+PC9UUj4NCiAgPFRSPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29s b3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPkl0ZW0gDQojNjwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+ PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQg c2l6ZT0rMT4mbmJzcDtMYXNlcmpldCBTZXJpZXMgDQogICAgICA1U0ksODAwMDwvRk9OVD48L0ZP TlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMw MDAwOTk+PEZPTlQgDQogICAgICBzaXplPSsxPiZuYnNwOzM5MDlBPC9GT05UPjwvRk9OVD48L0NF TlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48 Rk9OVCANCnNpemU9KzE+JDk1PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPjwvVFI+DQogIDxU Uj4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6 ZT0rMT4mbmJzcDtJdGVtIA0KICAgICAgIzcmbmJzcDs8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwv VEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNp emU9KzE+Jm5ic3A7TGFzZXJqZXQgU2VyaWVzIDIxMDAsIA0KICAgICAgMjIwMCZuYnNwOzwvRk9O VD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNv bG9yPSMwMDAwOTk+PEZPTlQgDQogICAgICBzaXplPSsxPiZuYnNwO0M0MDk2PC9GT05UPjwvRk9O VD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAw MDA5OT48Rk9OVCANCiAgICBzaXplPSsxPiZuYnNwOyQ3NDwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+ PC9URD48L1RSPg0KICA8VFI+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0j MDAwMDk5PjxGT05UIHNpemU9KzE+Jm5ic3A7SXRlbSANCiAgICAgICM4PC9GT05UPjwvRk9OVD48 L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5 OT48Rk9OVCBzaXplPSsxPiZuYnNwO0xhc2VyamV0IFNlcmllcyANCiAgICAgIDgxMDA8L0ZPTlQ+ PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xv cj0jMDAwMDk5PjxGT05UIA0KICAgICAgc2l6ZT0rMT4mbmJzcDtDNDE4MjwvRk9OVD48L0ZPTlQ+ PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAw OTk+PEZPTlQgDQogICAgc2l6ZT0rMT4mbmJzcDskMTE1PC9GT05UPjwvRk9OVD48L0NFTlRFUj48 L1REPjwvVFI+DQogIDxUUj4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMw MDAwOTk+PEZPTlQgc2l6ZT0rMT4mbmJzcDtJdGVtIA0KICAgICAgIzk8L0ZPTlQ+PC9GT05UPjwv Q0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5 PjxGT05UIHNpemU9KzE+TGFzZXJqZXQgU2VyaWVzIA0KICAgICAgNUwvNkw8L0ZPTlQ+PC9GT05U PjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAw MDk5PjxGT05UIA0KICAgICAgc2l6ZT0rMT4mbmJzcDszOTA2QTwvRk9OVD48L0ZPTlQ+PC9DRU5U RVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZP TlQgDQogICAgc2l6ZT0rMT4mbmJzcDskMzk8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+PC9U Uj4NCiAgPFRSPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48 Rk9OVCBzaXplPSsxPiZuYnNwO0l0ZW0gDQogICAgICAjMTAmbmJzcDs8L0ZPTlQ+PC9GT05UPjwv Q0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5 PjxGT05UIHNpemU9KzE+TGFzZXJqZXQgU2VyaWVzJm5ic3A7IA0KICAgICAgNFY8L0ZPTlQ+PC9G T05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0j MDAwMDk5PjxGT05UIA0KICAgICAgc2l6ZT0rMT5DMzkwMCZuYnNwOzwvRk9OVD48L0ZPTlQ+PC9D RU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+ PEZPTlQgDQogICAgc2l6ZT0rMT4mbmJzcDskOTU8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+ PC9UUj4NCiAgPFRSPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5 OT48Rk9OVCBzaXplPSsxPiZuYnNwO0l0ZW0gDQogICAgICAjMTE8L0ZPTlQ+PC9GT05UPjwvQ0VO VEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxG T05UIHNpemU9KzE+TGFzZXJqZXQgU2VyaWVzIA0KICAgICAgNDAwMDwvRk9OVD48L0ZPTlQ+PC9D RU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+ PEZPTlQgDQpzaXplPSsxPkM0MTI3WDwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8 VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQogICAgc2l6ZT0r MT4mbmJzcDskNzk8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+PC9UUj4NCiAgPFRSPg0KICAg IDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPiZu YnNwO0l0ZW0gDQogICAgICAjMTI8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFRE Pg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+TGFzZXJq ZXQgU2VyaWVzIA0KICAgICAgM1NJLzRTSTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAg ICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQogICAgICBz aXplPSsxPiZuYnNwOzkyMjkxQSZuYnNwOzwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAg ICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQpzaXplPSsx PiQ1NDwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD48L1RSPg0KICA8VFI+DQogICAgPFREPg0K ICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+Jm5ic3A7SXRl bSANCiAgICAgICMxMzwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAg ICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT5MYXNlcmpldCBTZXJp ZXMgDQogICAgICA0LDRNLDUsNU0mbmJzcDs8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQog ICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIA0Kc2l6ZT0r MT45MjI5OEE8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENF TlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIA0Kc2l6ZT0rMT4kNDk8L0ZPTlQ+PC9GT05U PjwvQ0VOVEVSPjwvVEQ+PC9UUj4NCiAgPFRSPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZP TlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPiZuYnNwO0l0ZW0gDQogICAgICAjMTNBPC9G T05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQg Y29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPkxhc2VyamV0IFNlcmllcyANCiAgICAgIDUwMDA8 L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9O VCBjb2xvcj0jMDAwMDk5PjxGT05UIA0Kc2l6ZT0rMT5DNDEyOVg8L0ZPTlQ+PC9GT05UPjwvQ0VO VEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxG T05UIA0Kc2l6ZT0rMT4kMTI1PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPjwvVFI+DQogIDxU Uj4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6 ZT0rMT4mbmJzcDtJdGVtIA0KICAgICAgIzEzQjwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4N CiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0r MT5MYXNlcmpldCBTZXJpZXMgMTIwMCwgMzMwMCANCiAgICAgIHNlcmllczwvRk9OVD48L0ZPTlQ+ PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAw OTk+PEZPTlQgDQpzaXplPSsxPkM3MTE1QTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAg ICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQpzaXplPSsx PiQ1OTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD48L1RSPg0KICA8VFI+DQogICAgPFREPg0K ICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+Jm5ic3A7SXRl bSANCiAgICAgICMxM0M8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAg ICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+TGFzZXJqZXQgU2Vy aWVzIA0KICAgICAgNDEwMDwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQog ICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQpzaXplPSsxPkM4MDYxWDwv Rk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05U IGNvbG9yPSMwMDAwOTk+PEZPTlQgDQpzaXplPSsxPiQ5OTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+ PC9URD48L1RSPg0KICA8VFI+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0j MDAwMDk5PjxGT05UIHNpemU9KzE+Jm5ic3A7SXRlbSANCiAgICAgICMxODwvRk9OVD48L0ZPTlQ+ PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAw OTk+PEZPTlQgc2l6ZT0rMT5MYXNlcmpldCBTZXJpZXMmbmJzcDsgDQogICAgICAzMTAwPC9GT05U PjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29s b3I9IzAwMDA5OT48Rk9OVCANCnNpemU9KzE+MzkwNkE8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwv VEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIA0K c2l6ZT0rMT4kMzk8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+PC9UUj4NCiAgPFRSPg0KICAg IDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPiZu YnNwO0l0ZW0gDQogICAgICAjMTk8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFRE Pg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+TGFzZXJq ZXQgU2VyaWVzIDQ1MDAgDQogICAgICBCbGFjazwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4N CiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQogICAg ICBzaXplPSsxPkM0MTkxJm5ic3A7PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxU RD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCnNpemU9KzE+JDY5 PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPjwvVFI+DQogIDxUUj4NCiAgICA8VEQ+DQogICAg ICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT4mbmJzcDtJdGVtIA0K ICAgICAgIzIwPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxD RU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPkxhc2VyamV0IFNlcmllcyA0 NTAwIA0KICAgICAgQ29sb3I8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0K ICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+Q0FMTDwvRk9O VD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNv bG9yPSMwMDAwOTk+PEZPTlQgDQogIHNpemU9KzE+JDg5PC9GT05UPjwvRk9OVD48L0NFTlRFUj48 L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPjwvQ0VOVEVSPg0KPENFTlRFUj48UFJFPjxVPjxGT05U IGZhY2U9QXJpYWwsSGVsdmV0aWNhPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMz5G b3IgDQpIZXdsZXR0IFBhY2thbmQgQ2Fubm9uIEZheCA8ST4ob24gUGFnZSANCjI8Qj4pPC9CPjwv ST48L0ZPTlQ+PC9GT05UPjwvRk9OVD48L1U+PC9QUkU+PC9DRU5URVI+DQo8Q0VOVEVSPg0KPFRB QkxFIGJnQ29sb3I9I2ZmZmZjYyBib3JkZXI9MSBoZWlnaHQ9IjEwJSIgd2lkdGg9IjgwJSI+DQog IDxUQk9EWT4NCiAgPFRSIGFsaWduPW1pZGRsZSBiZ0NvbG9yPSM0MDgwODA+DQogICAgPFREPg0K ICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jZmZmZmZmPjxGT05UIHNpemU9KzE+SVRFTTwvRk9O VD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNv bG9yPSNmZmZmZmY+PEZPTlQgDQogICAgICBzaXplPSsxPkRFU0NSSVBUSU9OPC9GT05UPjwvRk9O VD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9I2Zm ZmZmZj48Rk9OVCBzaXplPSsxPk1GRyAjPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAg IDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9I2ZmZmZmZj48Rk9OVCANCiAgc2l6ZT0r MT5QUklDRTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD48L1RSPg0KICA8VFI+DQogICAgPFRE Pg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+SXRlbSAj IA0KICAgIDE0PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxD RU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPkxlc2VyZmF4IDUwMCwgDQog ICAgICA3MDA8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENF TlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+RlgxPC9GT05UPjwvRk9OVD48 L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5 OT48Rk9OVCANCnNpemU9KzE+JDU5PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPjwvVFI+DQog IDxUUj4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQg c2l6ZT0rMT5JdGVtICMgDQogICAgMTU8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAg PFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+TGFz ZXJmYXggNTAwMCwgDQogICAgICA3MDAwPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAg IDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPkZY MjwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxG T05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQpzaXplPSsxPiQ2NDwvRk9OVD48L0ZPTlQ+PC9DRU5U RVI+PC9URD48L1RSPg0KICA8VFI+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xv cj0jMDAwMDk5PjxGT05UIHNpemU9KzE+SXRlbSAjIA0KICAgIDE2PC9GT05UPjwvRk9OVD48L0NF TlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48 Rk9OVCBzaXplPSsxPkxhc2VyZmF4IA0KICAgICAgNjAwMDwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+ PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQg c2l6ZT0rMT5GWDM8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAg PENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIA0Kc2l6ZT0rMT4kNTk8L0ZPTlQ+PC9G T05UPjwvQ0VOVEVSPjwvVEQ+PC9UUj4NCiAgPFRSPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+ PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPkl0ZW0gDQogICAgIzE3PC9GT05UPjwv Rk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9 IzAwMDA5OT48Rk9OVCBzaXplPSsxPkxhc2VyZmF4IDg1MDAsIA0KICAgICAgOTAwMDwvRk9OVD48 L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9y PSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT5GWDQ8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQog ICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIA0Kc2l6ZT0r MT4kNTQ8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+PC9UUj4NCiAgPFRSPg0KICAgIDxURD4N CiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPkl0ZW0gDQog ICAgIzE4PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5U RVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPkxhc2VyZmF4IA0KICAgICAgMzIw MDwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxG T05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQpzaXplPSsxPjM5MDZBPC9GT05UPjwvRk9OVD48L0NF TlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48 Rk9OVCANCiAgc2l6ZT0rMT4kNDQ8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+PC9UUj48L1RC T0RZPjwvVEFCTEU+PC9DRU5URVI+DQo8Q0VOVEVSPg0KPFA+PFU+PEZPTlQgZmFjZT1BcmlhbCxI ZWx2ZXRpY2E+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsyPkZvciBMZXhtYXJrIC8g DQpJQk0gTWFjaGluZXM6PEk+IChvbiBQYWdlIDMpPC9JPjwvRk9OVD48L0ZPTlQ+PC9GT05UPjwv VT48L0NFTlRFUj4NCjxDRU5URVI+DQo8VEFCTEUgYmdDb2xvcj0jZmZmZmNjIGJvcmRlcj0xIGhl aWdodD0iMTklIiB3aWR0aD0iODAlIj4NCiAgPFRCT0RZPg0KICA8VFIgYmdDb2xvcj0jNDA4MDgw Pg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9I2ZmZmZmZj48Qj48Rk9OVCAN CiAgICAgIGZhY2U9IkJvb2ttYW4gT2xkIFN0eWxlIj4mbmJzcDs8L0ZPTlQ+PC9CPjxGT05UIA0K ICAgICAgc2l6ZT0rMT5JVEVNPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4N CiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9I2ZmZmZmZj48Rk9OVCANCiAgICAgIHNpemU9KzE+ REVTQ1JJUFRJT048L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAg PENFTlRFUj48Rk9OVCBjb2xvcj0jZmZmZmZmPjxGT05UIHNpemU9KzE+TUZHICM8L0ZPTlQ+PC9G T05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0j ZmZmZmZmPjxGT05UIA0KICBzaXplPSsxPlBSSUNFPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1RE PjwvVFI+DQogIDxUUj4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAw OTk+PEZPTlQgc2l6ZT0rMT5JdGVtIA0KIzE8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQog ICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+ SUJNIA0KICAgICAgNDAxOS80MDI5Jm5ic3A7PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0K ICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCiAgICAg IHNpemU9KzE+MTM4MDIwMCZuYnNwOzwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8 VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQpzaXplPSsxPiQ5 NTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD48L1RSPg0KICA8VFI+DQogICAgPFREPg0KICAg ICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+SXRlbSANCiMyPC9G T05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQg Y29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPk9wdHJhIFIsNDAzOSwgDQogICAgICA0MDQ5PC9G T05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQg Y29sb3I9IzAwMDA5OT48Rk9OVCANCnNpemU9KzE+MTM4MjE1MDwvRk9OVD48L0ZPTlQ+PC9DRU5U RVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZP TlQgDQpzaXplPSsxPiQxMTc8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+PC9UUj4NCiAgPFRS Pg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXpl PSsxPkl0ZW0gDQojMzwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAg ICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT5PcHRyYSBFMzEwLCAN CiAgICAgIEUzMTI8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAg PENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIA0KICAgICAgc2l6ZT0rMT4mbmJzcDsx MkEyMjAyPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5U RVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCnNpemU9KzE+JDg5PC9GT05UPjwvRk9OVD48 L0NFTlRFUj48L1REPjwvVFI+DQogIDxUUj4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05U IGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT5JdGVtIA0KIzQ8L0ZPTlQ+PC9GT05UPjwvQ0VO VEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxG T05UIHNpemU9KzE+T3B0cmEgDQpFPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxU RD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCiAgICAgIHNpemU9 KzE+Jm5ic3A7NjlHODI1NiZuYnNwOzwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8 VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQpzaXplPSsxPiQ1 OTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD48L1RSPg0KICA8VFI+DQogICAgPFREPg0KICAg ICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+SXRlbSANCiM1PC9G T05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQg Y29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPk9wdHJhIA0KUzwvRk9OVD48L0ZPTlQ+PC9DRU5U RVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZP TlQgDQogICAgICBzaXplPSsxPiZuYnNwOzEzODI2MjUmbmJzcDs8L0ZPTlQ+PC9GT05UPjwvQ0VO VEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxG T05UIA0Kc2l6ZT0rMT4kMTM1PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPjwvVFI+DQogIDxU Uj4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6 ZT0rMT5JdGVtIA0KIzY8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAg ICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+T3B0cmEgDQpUPC9G T05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQg Y29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPiZuYnNwOyANCiAgICAgIDEyQTU4NDA8L0ZPTlQ+ PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xv cj0jMDAwMDk5PjxGT05UIA0Kc2l6ZT0rMT4kMTY1PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1RE PjwvVFI+DQogIDxUUj4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAw OTk+PEZPTlQgc2l6ZT0rMT5JdGVtIA0KIzc8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQog ICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+ T3B0cmEgDQogICAgICBFNDEwLzQxMjwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8 VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT4mbmJz cDsgDQogICAgICA0SzAwMTk4Jm5ic3A7PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAg IDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCiAgc2l6ZT0r MT4kMTE1PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPjwv Q0VOVEVSPg0KPENFTlRFUj4NCjxQPjxVPjxGT05UIGZhY2U9QXJpYWwsSGVsdmV0aWNhPjxGT05U IGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMj5Gb3IgQXBwbGUgDQpQcmludGVyczo8ST4gKG9u IFBhZ2UgOCk8L0k+PC9GT05UPjwvRk9OVD48L0ZPTlQ+PC9VPjwvQ0VOVEVSPg0KPENFTlRFUj4N CjxUQUJMRSBiZ0NvbG9yPSNmZmZmY2MgYm9yZGVyPTEgaGVpZ2h0PSIxMCUiIHdpZHRoPSI4MCUi Pg0KICA8VEJPRFk+DQogIDxUUiBhbGlnbj1sZWZ0IGJnQ29sb3I9IzQwODA4MD4NCiAgICA8VEQ+ DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSNmZmZmZmY+PEZPTlQgc2l6ZT0rMT5JVEVNPC9G T05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQg Y29sb3I9I2ZmZmZmZj48Rk9OVCANCiAgICAgIHNpemU9KzE+REVTQ1JJUFRJT048L0ZPTlQ+PC9G T05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0j ZmZmZmZmPjxGT05UIHNpemU9KzE+TUZHIzwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAg ICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSNmZmZmZmY+PEZPTlQgDQogIHNpemU9 KzE+UFJJQ0U8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+PC9UUj4NCiAgPFRSPg0KICAgIDxU RD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPkl0ZW0m bmJzcDsgDQogICAgICAjMTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQog ICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT5QZXJzb25hbCAN CiAgICAgIExhc2VyV3JpdGVyPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4N CiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCiAgICBzaXplPSsxPk0w MDg5TExBPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5U RVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCnNpemU9KzE+JDU0PC9GT05UPjwvRk9OVD48 L0NFTlRFUj48L1REPjwvVFI+DQogIDxUUj4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05U IGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT5JdGVtIA0KIzI8L0ZPTlQ+PC9GT05UPjwvQ0VO VEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxG T05UIHNpemU9KzE+TGFzZXJXcml0ZXIgMzAwUFgvIA0KICAgICAgMzIwLTRMLCs0TUw8L0ZPTlQ+ PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xv cj0jMDAwMDk5PjxGT05UIA0Kc2l6ZT0rMT5NMjA0NUdBPC9GT05UPjwvRk9OVD48L0NFTlRFUj48 L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCAN CnNpemU9KzE+JDU0PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPjwvVFI+DQogIDxUUj4NCiAg ICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT5J dGVtIA0KIzM8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENF TlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+TGFzZXJXcml0ZXIgU2VsZWN0 IA0KICAgICAgMzYwPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAg IDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCnNpemU9KzE+TTE5NjBHQTwvRk9O VD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNv bG9yPSMwMDAwOTk+PEZPTlQgDQpzaXplPSsxPiQ3NDwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9U RD48L1RSPg0KICA8VFI+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAw MDk5PjxGT05UIHNpemU9KzE+SXRlbSANCiM0PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0K ICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsx Pkxhc2VyV3JpdGVyIDE2LyA2MDAgDQogICAgICBQcm8mbmJzcDs8L0ZPTlQ+PC9GT05UPjwvQ0VO VEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxG T05UIA0Kc2l6ZT0rMT5NMjQ3M0dBPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxU RD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCnNpemU9KzE+JDU5 PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPjwvVFI+DQogIDxUUj4NCiAgICA8VEQ+DQogICAg ICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT5JdGVtIA0KIzU8L0ZP TlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBj b2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+TGFzZXJXcml0ZXIgMTIvIDY0MCANCiAgICAgIFBT PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZP TlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCiAgICAgIHNpemU9KzE+TTQ2ODNHQSZuYnNwOzwvRk9O VD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNv bG9yPSMwMDAwOTk+PEZPTlQgDQpzaXplPSsxPiQ4OTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9U RD48L1RSPg0KICA8VFI+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAw MDk5PjxGT05UIHNpemU9KzE+SXRlbSANCiM2PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0K ICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsx Pkxhc2VyIFdyaXRlciANCiAgICAgIE5ULzJOVDwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4N CiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQpzaXpl PSsxPk00NTMyR0E8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAg PENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIA0KICBzaXplPSsxPiQ0OTwvRk9OVD48 L0ZPTlQ+PC9DRU5URVI+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48L0NFTlRFUj4NCjxDRU5U RVI+DQo8UD48Rk9OVCBmYWNlPUFyaWFsLEhlbHZldGljYT4mbmJzcDs8VT48Rk9OVCBjb2xvcj0j MDAwMDk5PjxGT05UIHNpemU9KzI+Rm9yIA0KQ2Fubm9uIENvcGllcnM6IChQYWdlIDEwKTwvRk9O VD48L0ZPTlQ+PC9VPjwvRk9OVD48L0NFTlRFUj4NCjxQPjxCUj4NCjxDRU5URVI+DQo8VEFCTEUg YmdDb2xvcj0jZmZmZmNjIGJvcmRlcj0xIGhlaWdodD0iMTAlIiB3aWR0aD0iODAlIj4NCiAgPFRC T0RZPg0KICA8VFIgYmdDb2xvcj0jNDA4MDgwPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZP TlQgY29sb3I9I2ZmZmZmZj48Rk9OVCBzaXplPSsxPklURU08L0ZPTlQ+PC9GT05UPjwvQ0VOVEVS PjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jZmZmZmZmPjxGT05U IA0KICAgICAgc2l6ZT0rMT5ERVNDUklQVElPTjwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4N CiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSNmZmZmZmY+PEZPTlQgc2l6ZT0r MT5NRkcgIzwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VO VEVSPjxGT05UIGNvbG9yPSNmZmZmZmY+PEZPTlQgDQogIHNpemU9KzE+UFJJQ0U8L0ZPTlQ+PC9G T05UPjwvQ0VOVEVSPjwvVEQ+PC9UUj4NCiAgPFRSPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+ PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPkl0ZW0gIyANCiAgICAxPC9GT05UPjwv Rk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9 IzAwMDA5OT48Rk9OVCBzaXplPSsxPlBDIDYvIDZSRS8gNy8gOC8gMTEvIDEyLyANCiAgICAgIDY1 PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZP TlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCiAgICAgIHNpemU9KzE+Jm5ic3A7QTMwJm5ic3A7PC9G T05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQg Y29sb3I9IzAwMDA5OT48Rk9OVCANCnNpemU9KzE+JDY5PC9GT05UPjwvRk9OVD48L0NFTlRFUj48 L1REPjwvVFI+DQogIDxUUj4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMw MDAwOTk+PEZPTlQgc2l6ZT0rMT5JdGVtICMgDQogICAgMjwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+ PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQg c2l6ZT0rMT5QQyAzMDAvMzIwLzM0MC8zNjAmbmJzcDsgQWxsIDMwMCANCiAgICAgIFNlcmllczwv Rk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05U IGNvbG9yPSMwMDAwOTk+PEZPTlQgDQogICAgICBzaXplPSsxPiZuYnNwO0U0MCZuYnNwOzwvRk9O VD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNv bG9yPSMwMDAwOTk+PEZPTlQgDQpzaXplPSsxPiQ4OTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9U RD48L1RSPg0KICA8VFI+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAw MDk5PjxGT05UIHNpemU9KzE+SXRlbSANCiMzPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0K ICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsx PlBDIDcwMC83MjAvNzYwJm5ic3A7IEFsbCA3MDAgDQogICAgICBTZXJpZXM8L0ZPTlQ+PC9GT05U PjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAw MDk5PjxGT05UIA0KICAgICAgc2l6ZT0rMT4mbmJzcDtFNDAmbmJzcDs8L0ZPTlQ+PC9GT05UPjwv Q0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5 PjxGT05UIA0Kc2l6ZT0rMT4kODk8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+PC9UUj4NCiAg PFRSPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBz aXplPSsxPkl0ZW0gDQojNDwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQog ICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT5QQyA5MDAvOTEw LzkyMCZuYnNwOyBBbGwgOTAwIA0KICAgICAgU2VyaWVzPC9GT05UPjwvRk9OVD48L0NFTlRFUj48 L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCAN CiAgICBzaXplPSsxPiZuYnNwO0U0MDwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8 VEQ+DQogICAgICA8Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQogIHNpemU9KzE+ JDg5PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPjwvQ0VO VEVSPg0KPENFTlRFUj4NCjxQPjxVPjxGT05UIGZhY2U9QXJpYWwsSGVsdmV0aWNhPjxGT05UIGNv bG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMj5Gb3IgRXBzb24gYW5kIA0KUGFuYXNvbmljIFByaW50 ZXJzOihvbiBQYWdlcyA0ICZhbXA7IDcpPC9GT05UPjwvRk9OVD48L0ZPTlQ+PC9VPjwvQ0VOVEVS Pg0KPFA+PEJSPg0KPENFTlRFUj4NCjxUQUJMRSBiZ0NvbG9yPSNmZmZmY2MgYm9yZGVyPTEgaGVp Z2h0PSIxMCUiIHdpZHRoPSI4MCUiPg0KICA8VEJPRFk+DQogIDxUUiBiZ0NvbG9yPSM0MDgwODA+ DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jZmZmZmZmPjxGT05UIHNpemU9 KzE+SVRFTTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VO VEVSPjxGT05UIHNpemU9KzE+Jm5ic3A7PEZPTlQgDQogICAgICBjb2xvcj0jZmZmZmZmPkRFU0NS SVBUSU9OPC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5U RVI+PEZPTlQgY29sb3I9I2ZmZmZmZj48Rk9OVCBzaXplPSsxPk1GRyAjPC9GT05UPjwvRk9OVD48 L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9I2ZmZmZm Zj48Rk9OVCANCiAgc2l6ZT0rMT5QUklDRTwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD48L1RS Pg0KICA8VFI+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxG T05UIHNpemU9KzE+SXRlbSAjIA0KICAgIDE8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQog ICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+ RXBzb24gDQogICAgICAxMDAwLzE1MDA8L0ZPTlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAg PFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIA0KICAgICAgc2l6 ZT0rMT5TMDUxMDExJm5ic3A7PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4N CiAgICAgIDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCnNpemU9KzE+JDEwNTwv Rk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD48L1RSPg0KICA8VFI+DQogICAgPFREPg0KICAgICAg PENFTlRFUj48Rk9OVCBjb2xvcj0jMDAwMDk5PjxGT05UIHNpemU9KzE+SXRlbSANCiAgICAgICMy Jm5ic3A7PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAgIDxDRU5U RVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCBzaXplPSsxPkVwc29uIA0KICAgICAgRVBMNzAw MC84MDAwJm5ic3A7PC9GT05UPjwvRk9OVD48L0NFTlRFUj48L1REPg0KICAgIDxURD4NCiAgICAg IDxDRU5URVI+PEZPTlQgY29sb3I9IzAwMDA5OT48Rk9OVCANCiAgICAgIHNpemU9KzE+UzA1MTIw MCZuYnNwOzwvRk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VO VEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgDQogICAgc2l6ZT0rMT4kMTA1Jm5ic3A7PC9G T05UPjwvRk9OVD48L0NFTlRFUj48L1REPjwvVFI+DQogIDxUUj4NCiAgICA8VEQ+DQogICAgICA8 Q0VOVEVSPjxGT05UIGNvbG9yPSMwMDAwOTk+PEZPTlQgc2l6ZT0rMT5JdGVtIA0KIzM8L0ZPTlQ+ PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBjb2xv cj0jMDAwMDk5PjxGT05UIHNpemU9KzE+UGFuYXNvbmljIA0KICAgICAgOTAvOTUmbmJzcDs8L0ZP TlQ+PC9GT05UPjwvQ0VOVEVSPjwvVEQ+DQogICAgPFREPg0KICAgICAgPENFTlRFUj48Rk9OVCBj b2xvcj0jMDAwMDk5PjxGT05UIA0KICAgICAgc2l6ZT0rMT4tLS0tLS0tLS0tLS0tLS0tJmd0Ozwv Rk9OVD48L0ZPTlQ+PC9DRU5URVI+PC9URD4NCiAgICA8VEQ+DQogICAgICA8Q0VOVEVSPjxGT05U IGNvbG9yPSMwMDAwOTk+PEZPTlQgDQogIHNpemU9KzE+JDEwNTwvRk9OVD48L0ZPTlQ+PC9DRU5U RVI+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48L0NFTlRFUj4NCjxDRU5URVI+DQo8UD48VT48 Rk9OVCBzaXplPSszPlNvcnJ5LDwvRk9OVD48L1U+PEZPTlQgc2l6ZT0rMj4mbmJzcDsgU3RpbGwg bm8gSW5ramV0cywgDQpidWJibGUgamV0cyBvciBYZXJveCBpbiBzdG9jazwvRk9OVD4gPEJSPiZu YnNwOyA8QlI+Jm5ic3A7IDxCUj4mbmJzcDsgDQo8UD48VT48Qj5ESVNDTEFJTUVSUzwvQj46PC9V PiANCjxQPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBBbGwgdHJhZGVtYXJrcywgYnJhbmQgbmFt ZXMgYW5kIGRpYWdyYW1zIGxpc3RlZCBvciANCnNob3duIGFib3ZlIDxCUj5hcmUgcHJvcGVydHkg b2YgdGhlaXIgcmVzcGVjdGl2ZSBob2xkZXJzJm5ic3A7Jm5ic3A7IGFuZCB1c2VkIA0KZm9yIGRl c2NyaXB0aXZlIHB1cnBvc2VzIG9ubHkgPEJSPi5XZSBkbyBub3QgY2FycnkgYW55IEhQIE9FTSZu YnNwOyBQcm9kdWN0cy4gDQo8UD48Rk9OVCBmYWNlPSJDb21pYyBTYW5zIE1TIj48VT5OT1RFUzwv VT46PC9GT05UPiANCjxQPlVuaXZlcnNpdHkgYW5kIFNjaG9vbCBQdXJjaGFzZSBvcmRlcnMgd2Vs Y29tZS4gKE5vIENyZWRpdCBhcHByb3ZhbCByZXF1aXJlZC4gDQpBbGwgb3RoZXIgUHVyY2hhc2Ug PEJSPiZuYnNwOyZuYnNwOyZuYnNwOyBvcmRlcnMgcmVxdWlyZSBjcmVkaXQgYXBwcm92YWwgDQo8 QlI+Jm5ic3A7UGF5IGJ5IGNoZWNrIChDLk8uRC4pLCBDcmVkaXQgY2FyZCBvciBwdXJjaGFzZSBv cmRlciAoTmV0IDMwIERheXMpIA0KPEJSPlNoaXBwaW5nIGNoYXJnZXMgc3RhcnQgYXQgJDQuNSBw ZXIgY2FydHJpZGdlLiBBZGQgJDEuNSBmb3IgZWFjaCBhZGRpdGlvbmFsIA0KY2FydHJpZGdlLiBD YXJ0cmlkZ2VzIDxCUj4mbmJzcDsmbmJzcDsmbmJzcDsgZGVsaXZlcmVkIGJ5IEZlZGVyYWwgRXhw cmVzcyB3aXRoaW4gDQoyIHRvIDUgd29ya2luZyBkYXlzIGRlcGVuZGluZyBvbiB5b3VyIGxvY2F0 aW9uLiA8QlI+U2hpcHBpbmcgYW5kIGJpbGxpbmcgDQphZGRyZXNzZXMgYXJlIHJlcXVpcmVkIGZv ciBQdXJjaGFzZSBPcmRlciB0cmFuc2FjdGlvbnMuIFlvdXIgaW52b2ljZSB3aWxsIA0KPEJSPiZu YnNwOyZuYnNwOyZuYnNwOyBiZSBhdHRhY2hlZCB0byB5b3VyIHBhY2thZ2luZy4gUGxlYXNlIHBl YWwgYW5kIHBheSB3aXRoaW4gDQozMCBkYXlzLiA8QlI+MzAgZGF5IHN0YW5kYXJkIHJldHVybiBw b2xpY3kgKG1vbmV5IGJhY2sgZ3VhcmFudGVlKSBvbiBhbGwgDQptZXJjaGFuZGlzZS4gOTAgZGF5 IHVubGltaXRlZCBleGNoYW5nZSBwb2xpY3kgPEJSPiZuYnNwOyZuYnNwOyZuYnNwOyBmb3IgDQpk ZWZlY3RpdmUgbWVyY2hhbmRpc2U8Rk9OVCBmYWNlPSJDb21pYyBTYW5zIE1TIj4uPC9GT05UPiAN CjxQPjxCPjxVPkVYQ0xVU0lPTlM6PC9VPjwvQj4gDQo8UD48VT5XZSBkbyBub3QgY2Fycnk6PC9V PiANCjxQPiZuYnNwOyZuYnNwOyZuYnNwOyAtIFhlcm94LCBCcm90aGVyLCBQYW5hc29uaWMsIG9y IEZ1aml0c3UgUHJvZHVjdHMgDQo8QlI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IC0gRGVza2pldC9Jbmtq ZXQgb3IgQnViYmxlamV0IHByb2R1Y3RzIA0KPEJSPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAt QW55IE9mZmJyYW5kcyBiZXNpZGVzIHRoZSBvbmVzIGxpc3RlZCBhYm92ZS4gQWxsIA0KY2FydHJp ZGdlcyA8QlI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGFyZSANCmNvbXBhdGlibGUgaGlnaCB5aWVsZCBwcm9kdWN0cy48L0NFTlRFUj4NCjxQ PjxCUj48QlI+Jm5ic3A7IDxCUj4mbmJzcDsgPEJSPiZuYnNwOyA8QlI+Jm5ic3A7IDxCUj4mbmJz cDsgPEJSPiZuYnNwOyANCjxCUj4mbmJzcDsgPEJSPiZuYnNwOyA8QlI+Jm5ic3A7IDxCUj4mbmJz cDsgPEJSPiZuYnNwOyA8QlI+Jm5ic3A7IDxCUj4mbmJzcDsgDQo8QlI+Jm5ic3A7IDxCUj4mbmJz cDsgPEJSPiZuYnNwOyA8QlI+Jm5ic3A7IDxCUj4mbmJzcDsgPEJSPiZuYnNwOyA8QlI+Jm5ic3A7 IA0KPEJSPiZuYnNwOyA8QlI+Jm5ic3A7IDxCUj4mbmJzcDsgPEJSPiZuYnNwOyA8QlI+Jm5ic3A7 IDxCUj4mbmJzcDsgPEJSPiZuYnNwOyANCjxCUj4mbmJzcDsgPEJSPiZuYnNwOyA8QlI+Jm5ic3A7 IA0KPERMPg0KICA8RFQ+PC9EVD48L0RMPjxCUj4mbmJzcDsgPEJSPiZuYnNwOyA8QlI+Jm5ic3A7 IDxCUj4mbmJzcDsgPEJSPiZuYnNwOyA8QlI+Jm5ic3A7IA0KPEJSPiZuYnNwOyA8QlI+Jm5ic3A7 IDxCUj4mbmJzcDsgPEJSPiZuYnNwOyA8L0JPRFk+PC9IVE1MPg0K |
From: Drake W. <dr...@li...> - 2002-07-08 21:30:08
|
I have Pyzzle's files installed in /usr/src/pyzzle-cvs; I have an experimental thing I'm working on in ~/programs/pyzpov. I'm wondering what the best way is to indicate where Pyzzle's core files are; moving the client program into Pyzzle's directory is good for the demo game, since it's a part of the distribution, but doesn't seem correct for my situation. Currently I'm just adding '/usr/src/pyzzle-cvs' to the library searchpath at the beginning of the program, but this will likely fail if moved to another system, and in fact is starting to fail now; Pyzzle can't find its pyzzledata directory unless I symlink it into mine, which is again not workable across systems. Is there a better way? -------> Drake Wilson |
From: Andrew J. <an...@la...> - 2002-07-08 16:08:57
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> It has been a massive Pyzzle weekend. 1st on the list:<br> <br> ------Zip Mode feature addition.------------------------------------<br> <br> I personally did not like or use the zip mode in Riven or Myst, but I<br> would be unfaithful to the interface if I did not include it. Its now<br> in CVS. Switch it on via the options sub-menu. Currently I have 4<br> examples of its use in the demo game. 3 basic navigation uses and one<br> control function use.<br> <br> To use it:<br> <br> <i>Node</i>.contains = ['std','zip'] <br> <i>Node</i>.slidefile = ('slidefile.xxx')<br> <i>Node</i>.navdata = [<i>Node1</i> , <i>Node2</i> , <i>Node3</i> ]<br> <i>Node</i>.zip_custmaps = [<i>Rect1</i> , <i>Rect2 </i> , <i>Rect3</i> , <i>Rect4</i>]<br> <i>Node</i>.zip_navdata = [<i>Node1</i> , <i>Node2</i> , <i>Node3</i> , <i>Node4</i>]<br> <i>Node</i>.zip_which_cursor = ['<i>Cursor</i>' ,'<i>Cusor2'</i> ,'<i>Cursor3</i>','<i>Cursor4</i>']<br> <br> Basically you place a 'zip' in <i>Node</i>.contains array then provide 3 custom zip<br> navigation declarations for when the slide is being viewed with zip<br> mode switched on. The <i>Node</i>.zip_* declarations are exactly the same as<br> the normal 'custom' ones but have a zip_ prefix. Use the cursor 'zip' for that little lightning bolt. <br> Transition that use the cursor 'zip' will use the 'fade' transition.<br> <br> parameters.ZIPMODE (default 0)<br> Is used to check or change the state of if zip<br> mode. You can set zip mode on by default if you wish. I highly recommend<br> only doing this for testing, for the obvious reasons.<br> <br> parameters.DISABLE_ZIPMODE (default 0)<br> Switch this to true if you do not want to use zip mode in your game at<br> all.<br> <br> -----2. Bug fixes--------------------------------------------------------------------<br> Drake Wilson spotted a bug with chaining delay slides<br> together. Reported it then wrote and submitted a patch to fix it and a<br> couple of other design errors. I've applied his patch and the updated<br> code is now in CVS. When applying his patch i gave me an excuse to<br> rework the slidechage functions. Coming up next. Excellent work<br> Drake. I now cannot say that pyzzle is %100 my code.<br> <br> ----3. API changes-------------------------------<br> I have reworked the slidechage calls. slidechange, onEntrance and<br> onExit are no longer grouped together but split off into separate Node<br> function calls:<br> <br> <br> <i>Node</i>.contains = [...,'slidechange'] <br> ...<br> <i>Node</i>.slidechange = <i>mySlideChangeFn</i><br> <br> <i>mySlideChangeFn</i> is called each time the <i>Node</i> exits. Use this in conjunction with tripwire.slidechange to detect<br> transitions between two specific nodes. It is used to detect going<br> from the current node to the next node.<br> <br> <br> <br> <i>Node</i>.contains = [...,'onEntrance'] <br> ...<br> <i>Node</i>.onEntrance = <i>myOnEntranceFn</i><br> <br> <i>myOnEntranceFn </i>is called when the user enters the Node.<br> <br> <br> <br> <i> Node</i>.contains = [...,'onExit'] <br> ...<br> <i>Node</i>.onEntrance = <i>myOnExitFn</i><br> <br> <i>myOnExitFn</i> is called when the user exits the Node. It is called in the<br> same place as slidechange so the two are interchangeable. I included it<br> for completeness.<br> <br> The demogame has been modified for the new function calls.<br> <br> Enjoy.<br> Andy<br> <br> </body> </html> |
From: Andrew J. <an...@la...> - 2002-07-06 17:22:07
|
I picked up 2 minor but nasty bugs. The fixes are now in CVS. If anyone checked out in the last 8 hours please update you code with: $cvs update -dP Thanks Andy |
From: Andrew J. <an...@la...> - 2002-07-06 09:27:17
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> Because Drake Wilson asked for a work around for a non existent feature I decided just to simply write it in. You can now trigger a function at the end of a movie. Its now in CVS download via:<br> <a class="moz-txt-link-freetext" href="http://pyzzle.sourceforge.net/download.html#cvs">http://pyzzle.sourceforge.net/download.html#cvs</a> or just update your CVS repository.<br> <br> Use it via the function call: <br> <font color="#ff0000">movie.play_trigger(<i>ArrayPos</i>, <i>myMovietriggerFn</i>, <i>useCursor</i>)</font> -> None <br> <br> where: <i>ArrayPos</i> is the movies position in the array <i>Node</i>.moviefile.<br> <i>myMovietriggerFn</i> is a Pointer to the function you wish to call at the end of the movie<br> <i>useCursor</i> = 0, 1 Give player cursor control while movie is playing. Only use this when neccessary. It defults to 0.<br> <br> A few notes:<br> - I was having trouble with logical node changes with the new trigger function so I have written a new node change function:<br> <br> <font color="#ff0000">pyzzle.change_node(<i>Node</i>)</font> -> None<br> <br> Use this function now when ever a logic node change is required. You now cannot hardwire the new node in via nodedata.nextslide = <i>Node</i>. Well you can but things might get interesting.<br> <br> - Currently the trigger function it only exists for non-looping movie. <br> <br> - Remember only one mpeg can be played at one time in pyzzle. So do not try to use the trigger function to play two or more movies simultaneously. <br> <br> - Because at the moment I do not have any good way to demonstrate it ive commented out its call in the demogame.py file. <br> To see it in action change line 157 in demogame.py: <br> from movie.play(0,1,1) <br> to movie.play_trigger(0,myMovietrigger,1) <br> (The commented out function behind the 1st function)<br> <br> then run demogame.py. I hope you like it (;<br> <br> - Its fresh in CVS so please report any bugs.<br> <br> In game objects bugs squashed BTW.<br> <br> Have fun. Anymore feature requests please fire them off. Im very happy to consider them.<br> <br> Andy<br> <br> </body> </html> |
From: Andrew J. <an...@la...> - 2002-07-05 16:12:08
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> In game objects has been added to CVS.<br> <br> A few notes:<br> <br> - Object icons, the little images a the bottom of the players screen<br> can be a maximum of 40x40 pixels.<br> - There is a current limit of 12 objects the user can 'carry' at<br> once. Ill extent this to unlimited post 0.9 or before if I feel like<br> it.<br> - Users can view an object by clicking on it. The view is just a slide<br> using the same node containers as the other slides. Care must be<br> taken with transitions or you will get some interesting scrolling<br> happening. Its best to override them with 'fade' or None. <br> <br> - The object slides have a special hot-spot called object_return. This returns the<br> player back to the node where they click on the hot-spot. Do not<br> forget to use this. <br> - Because viewing objects is viewing a node, you<br> get all the power of nodes for you objects. Things like moves,<br> sounds, logic anything. Pretty cool.<br> <br> - At the moment like Riven objects cannot be used on the slides. Im<br> going to add this before 0.9. Since riven has no usable<br> objects i have no reference on how to do this. But the way I was<br> thinking to do it was for example: a player drags a key out of the<br> objects icon area and drops it over a lock. The object is then removed<br> from the players object array and pyzzle calls a game author defined<br> control function. <br> <br> The following API definitions and functions exits:<br> <br> <i>Object</i> = object()<br> Define a new object container. Like node().<br> <br> <i>Object</i>.iconfile = 'objectIconfile.xxx'<br> State which file to use<br> <br> <i>Object</i>.node = Node<br> Point to which node for the object.<br> <br> gameobjects.append(<i>Object</i>)<br> Adds the object object to the players object array.<br> <br> gameobjects.remove(<i>Object</i>) -> Bool<br> removes the object object from the players object array. If the object<br> is removed it returns 1. If the object is not in the players object<br> array it returns 0.<br> <br> gameobjectsprobe(<i>Object</i>) -> Bool<br> Returns 1 if the object object is in the players object array. 0<br> Otherwise.<br> <br> If there are any more functions/features please fire away. Ive also got a few minor bugs to squash.<br> <br> Have fun<br> Andy.<br> </body> </html> |
From: Andrew J. <an...@la...> - 2002-07-05 06:14:09
|
Drake Wilson wrote: >Greetings. Is it possible, in Pyzzle, to play a movie, and have some >function trigger after the movie is finished? I haven't found any way >to, looking through the Pyzzle source, and my current workaround, >starting a new thread and trying to time it correctly, or using the >movie object to time it, which causes a race condition that 90% of the >time doesn't work, is very very kludgy. Any pointers? > > -----> Drake Wilson > > Not currently. I did not think any one was ready for that much control for movies. I start writing one straight after I finish the objects class. It should be in CVS by tomorrow. Hope you do not mind waiting another 24 hours or so. Thanks Andy |
From: Drake W. <pre...@bi...> - 2002-07-04 20:29:40
|
Greetings. Is it possible, in Pyzzle, to play a movie, and have some function trigger after the movie is finished? I haven't found any way to, looking through the Pyzzle source, and my current workaround, starting a new thread and trying to time it correctly, or using the movie object to time it, which causes a race condition that 90% of the time doesn't work, is very very kludgy. Any pointers? -----> Drake Wilson |