From sarah.diehl@uni.lu Mon Aug 8 03:44:29 2016 From: Sarah DIEHL To: galaxy-dev@lists.galaxyproject.org Subject: [galaxy-dev] External user auth and API Date: Mon, 08 Aug 2016 07:44:26 +0000 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6057085815675536922==" --===============6057085815675536922== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Dear all, since no one replied so far to the main problem I had and it might have gotte= n lost in the conversation, I ask again: Does somebody know how to configure = external user auth with apache such that API (from external, e.g. bioblend) a= nd dataset import in the data libraries work? When I configure apache to requ= ire auth for everything, the API does not work. If I except the API from the = apache auth, the dataset import does not work. If I switch to the new galaxy-internal LDAP auth features, will that solve th= is problem? Any hints are appreciated! Best regards, Sarah ---- Sarah Diehl HPC System Administrator UNIVERSIT=C3=89 DU LUXEMBOURG LUXEMBOURG CENTRE FOR SYSTEMS BIOMEDICINE Campus Belval | Biotech II 6, avenue du Swing L-4371 Belvaux T +352 46 66 44 5360 sarah.diehl(a)uni.lu http://lcsb.uni.lu ----- This message is confidential and may contain privileged information. It is in= tended for the named recipient only. If you receive it in error please notify= me and permanently delete the original message and any copies. ----- From: galaxy-dev > on behalf of Sarah DIEHL > Date: Monday 1 August 2016 13:06 To: Nicola Soranzo >, "ga= laxy-dev(a)lists.galaxyproject.org" > Subject: Re: [galaxy-dev] Remote user auth and API Hi Nicola, thanks a lot for the help! Yes, it's a self-signed certificate, I didn't both= er with letsencrypt yet ;-). So now the error turned to ConnectionError: GET: error 401: b'\n\n401 Authorization Required\n\n

Authorization Required

\n

This server could not verify that yo= u\nare authorized to access the document\nrequested. Either you supplied the= wrong\ncredentials (e.g., bad password), or your\nbrowser doesn\'t understan= d how to supply\nthe credentials required.

\n\n', 0 attempts= left: None which is what I expected, since apache now wants the authentication through L= DAP. So anybody know what the right settings are to get both the dataset import an= d the API working with external user auth over apache and LDAP? Thanks, Sarah ---- Sarah Diehl HPC System Administrator UNIVERSIT=C3=89 DU LUXEMBOURG LUXEMBOURG CENTRE FOR SYSTEMS BIOMEDICINE Campus Belval | Biotech II 6, avenue du Swing L-4371 Belvaux T +352 46 66 44 5360 sarah.diehl(a)uni.lu http://lcsb.uni.lu ----- This message is confidential and may contain privileged information. It is in= tended for the named recipient only. If you receive it in error please notify= me and permanently delete the original message and any copies. ----- From: Nicola Soranzo > on behalf of Nicola Soranzo > Date: Monday 1 August 2016 12:58 To: Sarah DIEHL >, "galaxy-= dev(a)lists.galaxyproject.org" <= galaxy-dev(a)lists.galaxyproject.org> Subject: Re: [galaxy-dev] Remote user auth and API Hi Sarah! I guess that your problem is with an untrusted certificate, you can get one f= or free at https://letsencrypt.org/ You can disable certificate verification in bioblend as in the example below: import bioblend.galaxy gi =3D bioblend.galaxy.GalaxyInstance(url=3Dmy_server, key=3Dmy_key) gi.verify =3D False Cheers, Nicola On 01/08/16 09:08, Sarah DIEHL wrote: Dear all, since the recent update to 16.04 I get the following error when trying to imp= ort a file from a user directory to a data library: AssertionError: use_remote_user is set but HTTP_REMOTE_USER header was not pr= ovided I use apache as a proxy and use an LDAP server for authentication. In order t= o get the API to work previously the apache had to be set to not check authen= tication for the requests to /api. In the logs I can see that the dataset imp= ort is an request to the API, so since the auth is not checked then, there is= also no REMOTE_USER header set. What is the recommended way to solve this issue with the current Galaxy versi= on? I disabled the special settings for /api and the dataset import works now. I tried to check the API with an old test script based on bioblend, but I now= get the following error: ConnectionError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (= _ssl.c:645), 0 attempts left: None Previously I could disable it with import requests requests.packages.urllib3.disable_warnings() but that doesn't seem to work anymore (switched to Python 3 now). Since biobl= end wraps all the requests methods, I cannot apply any of the common solution= s I found online (e.g. set verify=3DFalse). Any help to solve these issues is highly appreciated :-). Best regards, Sarah ---- Sarah Diehl HPC System Administrator UNIVERSIT=C3=89 DU LUXEMBOURG LUXEMBOURG CENTRE FOR SYSTEMS BIOMEDICINE Campus Belval | Biotech II 6, avenue du Swing L-4371 Belvaux T +352 46 66 44 5360 sarah.diehl(a)uni.lu http://lcsb.uni.lu ----- This message is confidential and may contain privileged information. It is in= tended for the named recipient only. If you receive it in error please notify= me and permanently delete the original message and any copies. ----- ___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: https://lists.galaxyproject.org/ To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/ --===============6057085815675536922== Content-Type: text/html Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.htm" MIME-Version: 1.0 PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl eHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9oZWFkPgo8Ym9keSBzdHlsZT0id29yZC13 cmFwOiBicmVhay13b3JkOyAtd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7IC13ZWJraXQtbGluZS1i cmVhazogYWZ0ZXItd2hpdGUtc3BhY2U7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtc2l6ZTog MTNweDsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyI+CjxkaXY+CjxkaXY+RGVhciBh bGwsPC9kaXY+CjxkaXY+PGJyPgo8L2Rpdj4KPGRpdj5zaW5jZSBubyBvbmUgcmVwbGllZCBzbyBm YXIgdG8gdGhlIG1haW4gcHJvYmxlbSBJIGhhZCBhbmQgaXQgbWlnaHQgaGF2ZSBnb3R0ZW4gbG9z dCBpbiB0aGUgY29udmVyc2F0aW9uLCBJIGFzayBhZ2FpbjogRG9lcyBzb21lYm9keSBrbm93IGhv dyB0byBjb25maWd1cmUgZXh0ZXJuYWwgdXNlciBhdXRoIHdpdGggYXBhY2hlIHN1Y2ggdGhhdCBB UEkgKGZyb20gZXh0ZXJuYWwsIGUuZy4gYmlvYmxlbmQpIGFuZCBkYXRhc2V0IGltcG9ydCBpbgog dGhlIGRhdGEgbGlicmFyaWVzIHdvcms/IFdoZW4gSSBjb25maWd1cmUgYXBhY2hlIHRvIHJlcXVp cmUgYXV0aCBmb3IgZXZlcnl0aGluZywgdGhlIEFQSSBkb2VzIG5vdCB3b3JrLiBJZiBJIGV4Y2Vw dCB0aGUgQVBJIGZyb20gdGhlIGFwYWNoZSBhdXRoLCB0aGUgZGF0YXNldCBpbXBvcnQgZG9lcyBu b3Qgd29yay48L2Rpdj4KPGRpdj48YnI+CjwvZGl2Pgo8ZGl2PklmIEkgc3dpdGNoIHRvIHRoZSBu ZXcgZ2FsYXh5LWludGVybmFsIExEQVAgYXV0aCBmZWF0dXJlcywgd2lsbCB0aGF0IHNvbHZlIHRo aXMgcHJvYmxlbT88L2Rpdj4KPGRpdj48YnI+CjwvZGl2Pgo8ZGl2PkFueSBoaW50cyBhcmUgYXBw cmVjaWF0ZWQhPC9kaXY+CjxkaXY+PGJyPgo8L2Rpdj4KPGRpdj5CZXN0IHJlZ2FyZHMsPC9kaXY+ CjxkaXY+U2FyYWg8L2Rpdj4KPGRpdj4KPGRpdj4KPGRpdiBzdHlsZT0ib3JwaGFuczogMjsgd2lk b3dzOiAyOyI+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywgc2Vy aWY7IGZvbnQtc2l6ZTogMTJwdDsgbWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyI+CjxzcGFuIHN0 eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsiPjxi cj4KPC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21h bicsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsiPgo8 c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2Vy aWY7Ij48YnI+Cjwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBO ZXcgUm9tYW4nLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyBtYXJnaW46IDBjbSAwY20gMC4wMDAx cHQ7Ij4KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyI+LS0tLTwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdU aW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyBtYXJnaW46IDBjbSAwY20g MC4wMDAxcHQ7Ij4KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFy aWFsLCBzYW5zLXNlcmlmOyI+U2FyYWggRGllaGw8L3NwYW4+PC9kaXY+CjxkaXYgc3R5bGU9ImZv bnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgbWFy Z2luOiAwY20gMGNtIDAuMDAwMXB0OyI+CjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDcuNXB0OyBm b250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij5IUEMgU3lzdGVtIEFkbWluaXN0cmF0b3I8 bzpwPjwvbzpwPjwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBO ZXcgUm9tYW4nLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyBtYXJnaW46IDBjbSAwY20gMC4wMDAx cHQ7Ij4KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogNy41cHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCwg c2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6 ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyBtYXJnaW46IDBjbSAw Y20gMC4wMDAxcHQ7Ij4KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogNy41cHQ7IGZvbnQtZmFtaWx5 OiBBcmlhbCwgc2Fucy1zZXJpZjsiPlVOSVZFUlNJVMkgRFUgTFVYRU1CT1VSRzxvOnA+PC9vOnA+ PC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbics IHNlcmlmOyBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsiPgo8c3Bh biBzdHlsZT0iZm9udC1zaXplOiA3LjVwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlm OyI+Jm5ic3A7PC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogJ1RpbWVzIE5l dyBSb21hbicsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFw dDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3LjVwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyI+TFVYRU1CT1VSRyBDRU5UUkUgRk9SIFNZU1RFTVMgQklPTUVESUNJTkU8bzpw PjwvbzpwPjwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcg Um9tYW4nLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyBtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7 Ij4KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogNy41cHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fu cy1zZXJpZjsiPkNhbXB1cyBCZWx2YWwgfCBCaW90ZWNoIElJPG86cD48L286cD48L3NwYW4+PC9k aXY+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7IGZv bnQtc2l6ZTogMTJwdDsgbWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyI+CjxzcGFuIHN0eWxlPSJm b250LXNpemU6IDcuNXB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij42LCBhdmVu dWUgZHUgU3dpbmc8bzpwPjwvbzpwPjwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1p bHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyBtYXJnaW46IDBj bSAwY20gMC4wMDAxcHQ7Ij4KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogNy41cHQ7IGZvbnQtZmFt aWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsiPkwtNDM3MSBCZWx2YXV4PG86cD48L286cD48L3NwYW4+ PC9kaXY+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7 IGZvbnQtc2l6ZTogMTJwdDsgbWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyI+CjxzcGFuIHN0eWxl PSJmb250LXNpemU6IDcuNXB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij5UICYj NDM7MzUyIDQ2IDY2IDQ0IDUzNjA8L3NwYW4+PC9kaXY+CjxkaXYgc3R5bGU9Im1hcmdpbjogMGNt IDBjbSAwLjAwMDFwdDsiPjxhIGhyZWY9Im1haWx0bzpzYXJhaC5kaWVobEB1bmkubHUiIHN0eWxl PSJvcnBoYW5zOiBhdXRvOyB3aWRvd3M6IGF1dG87Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAx MHB4OyI+c2FyYWguZGllaGxAdW5pLmx1PC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC1zaXpl OiA3LjVwdDsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9Imh0dHA6Ly9s Y3NiLnVuaS5sdS8iIHN0eWxlPSJjb2xvcjogcHVycGxlOyI+aHR0cDovL2xjc2IudW5pLmx1PC9h Pjwvc3Bhbj48L2Rpdj4KPC9kaXY+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBDb25zb2xhczsg Zm9udC1zaXplOiAxNHB4OyBvcnBoYW5zOiAyOyB3aWRvd3M6IDI7Ij4KPGRpdiBzdHlsZT0ibWFy Z2luOiAwcHggMGNtOyBmb250LXNpemU6IDE1cHg7IGZvbnQtZmFtaWx5OiBUYWhvbWE7IGNvbG9y OiByZ2IoMTUzLCAxNTMsIDE1Myk7Ij4KPGZvbnQgZmFjZT0iQ2FsaWJyaSxzYW5zLXNlcmlmIj48 c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyI+LS0tLS08L3NwYW4+PC9mb250PjwvZGl2Pgo8 ZGl2IHN0eWxlPSJtYXJnaW46IDBweCAwY207IGZvbnQtc2l6ZTogMTVweDsgZm9udC1mYW1pbHk6 IFRhaG9tYTsgY29sb3I6IHJnYigxNTMsIDE1MywgMTUzKTsiPgo8Zm9udCBmYWNlPSJDYWxpYnJp LHNhbnMtc2VyaWYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHg7Ij5UaGlzIG1lc3NhZ2Ug aXMgY29uZmlkZW50aWFsIGFuZCBtYXkgY29udGFpbiBwcml2aWxlZ2VkIGluZm9ybWF0aW9uLiBJ dCBpcyBpbnRlbmRlZCBmb3IgdGhlIG5hbWVkIHJlY2lwaWVudCBvbmx5LiBJZiB5b3UgcmVjZWl2 ZSBpdCBpbiBlcnJvciBwbGVhc2Ugbm90aWZ5IG1lIGFuZCBwZXJtYW5lbnRseSBkZWxldGUgdGhl IG9yaWdpbmFsCiBtZXNzYWdlIGFuZCBhbnkgY29waWVzLjwvc3Bhbj48L2ZvbnQ+PC9kaXY+Cjxk aXYgc3R5bGU9Im1hcmdpbjogMHB4IDBjbTsgZm9udC1zaXplOiAxNXB4OyBmb250LWZhbWlseTog VGFob21hOyBjb2xvcjogcmdiKDE1MywgMTUzLCAxNTMpOyI+CjxzcGFuIHN0eWxlPSJmb250LXNp emU6IDEycHg7Ij4tLS0tLTwvc3Bhbj48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8YnI+CjwvZGl2Pgo8 L2Rpdj4KPGRpdj48YnI+CjwvZGl2Pgo8c3BhbiBpZD0iT0xLX1NSQ19CT0RZX1NFQ1RJT04iPgo8 ZGl2IHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpOyBmb250LXNpemU6MTFwdDsgdGV4dC1hbGln bjpsZWZ0OyBjb2xvcjpibGFjazsgQk9SREVSLUJPVFRPTTogbWVkaXVtIG5vbmU7IEJPUkRFUi1M RUZUOiBtZWRpdW0gbm9uZTsgUEFERElORy1CT1RUT006IDBpbjsgUEFERElORy1MRUZUOiAwaW47 IFBBRERJTkctUklHSFQ6IDBpbjsgQk9SREVSLVRPUDogI2I1YzRkZiAxcHQgc29saWQ7IEJPUkRF Ui1SSUdIVDogbWVkaXVtIG5vbmU7IFBBRERJTkctVE9QOiAzcHQiPgo8c3BhbiBzdHlsZT0iZm9u dC13ZWlnaHQ6Ym9sZCI+RnJvbTogPC9zcGFuPmdhbGF4eS1kZXYgJmx0OzxhIGhyZWY9Im1haWx0 bzpnYWxheHktZGV2LWJvdW5jZXNAbGlzdHMuZ2FsYXh5cHJvamVjdC5vcmciPmdhbGF4eS1kZXYt Ym91bmNlc0BsaXN0cy5nYWxheHlwcm9qZWN0Lm9yZzwvYT4mZ3Q7IG9uIGJlaGFsZiBvZiBTYXJh aCBESUVITCAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNhcmFoLmRpZWhsQHVuaS5sdSI+c2FyYWguZGll aGxAdW5pLmx1PC9hPiZndDs8YnI+CjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5EYXRl OiA8L3NwYW4+TW9uZGF5IDEgQXVndXN0IDIwMTYgMTM6MDY8YnI+CjxzcGFuIHN0eWxlPSJmb250 LXdlaWdodDpib2xkIj5UbzogPC9zcGFuPk5pY29sYSBTb3JhbnpvICZsdDs8YSBocmVmPSJtYWls dG86bnNvcmFuem9AdGlzY2FsaS5pdCI+bnNvcmFuem9AdGlzY2FsaS5pdDwvYT4mZ3Q7LCAmcXVv dDs8YSBocmVmPSJtYWlsdG86Z2FsYXh5LWRldkBsaXN0cy5nYWxheHlwcm9qZWN0Lm9yZyI+Z2Fs YXh5LWRldkBsaXN0cy5nYWxheHlwcm9qZWN0Lm9yZzwvYT4mcXVvdDsgJmx0OzxhIGhyZWY9Im1h aWx0bzpnYWxheHktZGV2QGxpc3RzLmdhbGF4eXByb2plY3Qub3JnIj5nYWxheHktZGV2QGxpc3Rz LmdhbGF4eXByb2plY3Qub3JnPC9hPiZndDs8YnI+CjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpi b2xkIj5TdWJqZWN0OiA8L3NwYW4+UmU6IFtnYWxheHktZGV2XSBSZW1vdGUgdXNlciBhdXRoIGFu ZCBBUEk8YnI+CjwvZGl2Pgo8ZGl2Pjxicj4KPC9kaXY+CjxkaXY+CjxkaXYgc3R5bGU9IndvcmQt d3JhcDogYnJlYWstd29yZDsgLXdlYmtpdC1uYnNwLW1vZGU6IHNwYWNlOyAtd2Via2l0LWxpbmUt YnJlYWs6IGFmdGVyLXdoaXRlLXNwYWNlOyBjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LXNpemU6 IDEzcHg7IGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsiPgo8ZGl2Pgo8ZGl2Pgo8ZGl2 PkhpIE5pY29sYSw8L2Rpdj4KPGRpdj48YnI+CjwvZGl2Pgo8ZGl2PnRoYW5rcyBhIGxvdCBmb3Ig dGhlIGhlbHAhIFllcywgaXQncyBhIHNlbGYtc2lnbmVkIGNlcnRpZmljYXRlLCBJIGRpZG4ndCBi b3RoZXIgd2l0aCBsZXRzZW5jcnlwdCB5ZXQgOy0pLjwvZGl2Pgo8ZGl2Pjxicj4KPC9kaXY+Cjxk aXY+U28gbm93IHRoZSBlcnJvciB0dXJuZWQgdG88L2Rpdj4KPGRpdj4KPHByZT48c3BhbiBjbGFz cz0iYW5zaWN5YW4iPjxzcGFuIGNsYXNzPSJhbnNpcmVkIj5Db25uZWN0aW9uRXJyb3I8L3NwYW4+ OiBHRVQ6IGVycm9yIDQwMTogYicmbHQ7IURPQ1RZUEUgSFRNTCBQVUJMSUMgJnF1b3Q7LS8vSUVU Ri8vRFREIEhUTUwgMi4wLy9FTiZxdW90OyZndDtcbiZsdDtodG1sJmd0OyZsdDtoZWFkJmd0O1xu Jmx0O3RpdGxlJmd0OzQwMSBBdXRob3JpemF0aW9uIFJlcXVpcmVkJmx0Oy90aXRsZSZndDtcbiZs dDsvaGVhZCZndDsmbHQ7Ym9keSZndDtcbiZsdDtoMSZndDtBdXRob3JpemF0aW9uIFJlcXVpcmVk Jmx0Oy9oMSZndDtcbiZsdDtwJmd0O1RoaXMgc2VydmVyIGNvdWxkIG5vdCB2ZXJpZnkgdGhhdCB5 b3VcbmFyZSBhdXRob3JpemVkIHRvIGFjY2VzcyB0aGUgZG9jdW1lbnRcbnJlcXVlc3RlZC4gIEVp dGhlciB5b3Ugc3VwcGxpZWQgdGhlIHdyb25nXG5jcmVkZW50aWFscyAoZS5nLiwgYmFkIHBhc3N3 b3JkKSwgb3IgeW91clxuYnJvd3NlciBkb2VzblwndCB1bmRlcnN0YW5kIGhvdyB0byBzdXBwbHlc bnRoZSBjcmVkZW50aWFscyByZXF1aXJlZC4mbHQ7L3AmZ3Q7XG4mbHQ7L2JvZHkmZ3Q7Jmx0Oy9o dG1sJmd0O1xuJywgMCBhdHRlbXB0cyBsZWZ0OiBOb25lPC9zcGFuPjwvcHJlPgo8L2Rpdj4KPGRp dj4KPGRpdj4KPGRpdiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyI+CjxkaXYgc3R5bGU9 ImZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsg bWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyI+CjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7 IGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsiPndoaWNoIGlzIHdoYXQgSSBleHBlY3Rl ZCwgc2luY2UgYXBhY2hlIG5vdyB3YW50cyB0aGUgYXV0aGVudGljYXRpb24gdGhyb3VnaCBMREFQ Ljwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4n LCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyBtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7Ij4KPHNw YW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlm OyI+PGJyPgo8L3NwYW4+PC9kaXY+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiAnVGltZXMgTmV3 IFJvbWFuJywgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgbWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0 OyI+CjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fu cy1zZXJpZjsiPlNvIGFueWJvZHkga25vdyB3aGF0IHRoZSByaWdodCBzZXR0aW5ncyBhcmUgdG8g Z2V0IGJvdGggdGhlIGRhdGFzZXQgaW1wb3J0IGFuZCB0aGUgQVBJIHdvcmtpbmcgd2l0aCBleHRl cm5hbCB1c2VyIGF1dGggb3ZlciBhcGFjaGUgYW5kIExEQVA/PC9zcGFuPjwvZGl2Pgo8ZGl2IHN0 eWxlPSJmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmOyBmb250LXNpemU6IDEy cHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAx MHB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij48YnI+Cjwvc3Bhbj48L2Rpdj4K PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsgZm9udC1z aXplOiAxMnB0OyBtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7Ij4KPHNwYW4gc3R5bGU9ImZvbnQt c2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyI+VGhhbmtzLDwvc3Bh bj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJp ZjsgZm9udC1zaXplOiAxMnB0OyBtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7Ij4KPHNwYW4gc3R5 bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyI+U2Fy YWg8L3NwYW4+PC9kaXY+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFu Jywgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgbWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyI+Cjxz cGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJp ZjsiPjxicj4KPC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogJ1RpbWVzIE5l dyBSb21hbicsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFw dDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogQXJpYWwsIHNh bnMtc2VyaWY7Ij4tLS0tPC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogJ1Rp bWVzIE5ldyBSb21hbicsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAw LjAwMDFwdDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogQXJp YWwsIHNhbnMtc2VyaWY7Ij5TYXJhaCBEaWVobDwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9u dC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsgZm9udC1zaXplOiAxMnB0OyBtYXJn aW46IDBjbSAwY20gMC4wMDAxcHQ7Ij4KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogNy41cHQ7IGZv bnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsiPkhQQyBTeXN0ZW0gQWRtaW5pc3RyYXRvcjxv OnA+PC9vOnA+PC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogJ1RpbWVzIE5l dyBSb21hbicsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFw dDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3LjVwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTog J1RpbWVzIE5ldyBSb21hbicsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBj bSAwLjAwMDFwdDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3LjVwdDsgZm9udC1mYW1pbHk6 IEFyaWFsLCBzYW5zLXNlcmlmOyI+VU5JVkVSU0lUySBEVSBMVVhFTUJPVVJHPG86cD48L286cD48 L3NwYW4+PC9kaXY+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywg c2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgbWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyI+CjxzcGFu IHN0eWxlPSJmb250LXNpemU6IDcuNXB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7 Ij4mbmJzcDs8L3NwYW4+PC9kaXY+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiAnVGltZXMgTmV3 IFJvbWFuJywgc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgbWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0 OyI+CjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDcuNXB0OyBmb250LWZhbWlseTogQXJpYWwsIHNh bnMtc2VyaWY7Ij5MVVhFTUJPVVJHIENFTlRSRSBGT1IgU1lTVEVNUyBCSU9NRURJQ0lORTxvOnA+ PC9vOnA+PC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogJ1RpbWVzIE5ldyBS b21hbicsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsi Pgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3LjVwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5z LXNlcmlmOyI+Q2FtcHVzIEJlbHZhbCB8IEJpb3RlY2ggSUk8bzpwPjwvbzpwPjwvc3Bhbj48L2Rp dj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsgZm9u dC1zaXplOiAxMnB0OyBtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7Ij4KPHNwYW4gc3R5bGU9ImZv bnQtc2l6ZTogNy41cHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsiPjYsIGF2ZW51 ZSBkdSBTd2luZzxvOnA+PC9vOnA+PC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWls eTogJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmOyBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNt IDBjbSAwLjAwMDFwdDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3LjVwdDsgZm9udC1mYW1p bHk6IEFyaWFsLCBzYW5zLXNlcmlmOyI+TC00MzcxIEJlbHZhdXg8bzpwPjwvbzpwPjwvc3Bhbj48 L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsg Zm9udC1zaXplOiAxMnB0OyBtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7Ij4KPHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZTogNy41cHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsiPlQgJiM0 MzszNTIgNDYgNjYgNDQgNTM2MDwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0ibWFyZ2luOiAwY20g MGNtIDAuMDAwMXB0OyI+PGEgaHJlZj0ibWFpbHRvOnNhcmFoLmRpZWhsQHVuaS5sdSIgc3R5bGU9 Im9ycGhhbnM6IGF1dG87IHdpZG93czogYXV0bzsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEw cHg7Ij5zYXJhaC5kaWVobEB1bmkubHU8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 IDcuNXB0OyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iaHR0cDovL2xj c2IudW5pLmx1LyIgc3R5bGU9ImNvbG9yOiBwdXJwbGU7Ij5odHRwOi8vbGNzYi51bmkubHU8L2E+ PC9zcGFuPjwvZGl2Pgo8L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IENvbnNvbGFzOyBm b250LXNpemU6IDE0cHg7IG9ycGhhbnM6IDI7IHdpZG93czogMjsiPgo8ZGl2IHN0eWxlPSJtYXJn aW46IDBweCAwY207IGZvbnQtc2l6ZTogMTVweDsgZm9udC1mYW1pbHk6IFRhaG9tYTsgY29sb3I6 IHJnYigxNTMsIDE1MywgMTUzKTsiPgo8Zm9udCBmYWNlPSJDYWxpYnJpLHNhbnMtc2VyaWYiPjxz cGFuIHN0eWxlPSJmb250LXNpemU6IDEycHg7Ij4tLS0tLTwvc3Bhbj48L2ZvbnQ+PC9kaXY+Cjxk aXYgc3R5bGU9Im1hcmdpbjogMHB4IDBjbTsgZm9udC1zaXplOiAxNXB4OyBmb250LWZhbWlseTog VGFob21hOyBjb2xvcjogcmdiKDE1MywgMTUzLCAxNTMpOyI+Cjxmb250IGZhY2U9IkNhbGlicmks c2Fucy1zZXJpZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJweDsiPlRoaXMgbWVzc2FnZSBp cyBjb25maWRlbnRpYWwgYW5kIG1heSBjb250YWluIHByaXZpbGVnZWQgaW5mb3JtYXRpb24uIEl0 IGlzIGludGVuZGVkIGZvciB0aGUgbmFtZWQgcmVjaXBpZW50IG9ubHkuIElmIHlvdSByZWNlaXZl IGl0IGluIGVycm9yIHBsZWFzZSBub3RpZnkgbWUgYW5kIHBlcm1hbmVudGx5IGRlbGV0ZSB0aGUg b3JpZ2luYWwKIG1lc3NhZ2UgYW5kIGFueSBjb3BpZXMuPC9zcGFuPjwvZm9udD48L2Rpdj4KPGRp diBzdHlsZT0ibWFyZ2luOiAwcHggMGNtOyBmb250LXNpemU6IDE1cHg7IGZvbnQtZmFtaWx5OiBU YWhvbWE7IGNvbG9yOiByZ2IoMTUzLCAxNTMsIDE1Myk7Ij4KPHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZTogMTJweDsiPi0tLS0tPC9zcGFuPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cjxicj4KPC9kaXY+Cjwv ZGl2Pgo8L2Rpdj4KPGRpdj48YnI+CjwvZGl2Pgo8c3BhbiBpZD0iT0xLX1NSQ19CT0RZX1NFQ1RJ T04iPgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpOyBmb250LXNpemU6MTFwdDsgdGV4 dC1hbGlnbjpsZWZ0OyBjb2xvcjpibGFjazsgQk9SREVSLUJPVFRPTTogbWVkaXVtIG5vbmU7IEJP UkRFUi1MRUZUOiBtZWRpdW0gbm9uZTsgUEFERElORy1CT1RUT006IDBpbjsgUEFERElORy1MRUZU OiAwaW47IFBBRERJTkctUklHSFQ6IDBpbjsgQk9SREVSLVRPUDogI2I1YzRkZiAxcHQgc29saWQ7 IEJPUkRFUi1SSUdIVDogbWVkaXVtIG5vbmU7IFBBRERJTkctVE9QOiAzcHQiPgo8c3BhbiBzdHls ZT0iZm9udC13ZWlnaHQ6Ym9sZCI+RnJvbTogPC9zcGFuPk5pY29sYSBTb3JhbnpvICZsdDs8YSBo cmVmPSJtYWlsdG86bmljb2xhLnNvcmFuem9AZ21haWwuY29tIj5uaWNvbGEuc29yYW56b0BnbWFp bC5jb208L2E+Jmd0OyBvbiBiZWhhbGYgb2YgTmljb2xhIFNvcmFuem8gJmx0OzxhIGhyZWY9Im1h aWx0bzpuc29yYW56b0B0aXNjYWxpLml0Ij5uc29yYW56b0B0aXNjYWxpLml0PC9hPiZndDs8YnI+ CjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5EYXRlOiA8L3NwYW4+TW9uZGF5IDEgQXVn dXN0IDIwMTYgMTI6NTg8YnI+CjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5UbzogPC9z cGFuPlNhcmFoIERJRUhMICZsdDs8YSBocmVmPSJtYWlsdG86c2FyYWguZGllaGxAdW5pLmx1Ij5z YXJhaC5kaWVobEB1bmkubHU8L2E+Jmd0OywgJnF1b3Q7PGEgaHJlZj0ibWFpbHRvOmdhbGF4eS1k ZXZAbGlzdHMuZ2FsYXh5cHJvamVjdC5vcmciPmdhbGF4eS1kZXZAbGlzdHMuZ2FsYXh5cHJvamVj dC5vcmc8L2E+JnF1b3Q7ICZsdDs8YSBocmVmPSJtYWlsdG86Z2FsYXh5LWRldkBsaXN0cy5nYWxh eHlwcm9qZWN0Lm9yZyI+Z2FsYXh5LWRldkBsaXN0cy5nYWxheHlwcm9qZWN0Lm9yZzwvYT4mZ3Q7 PGJyPgo8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+U3ViamVjdDogPC9zcGFuPlJlOiBb Z2FsYXh5LWRldl0gUmVtb3RlIHVzZXIgYXV0aCBhbmQgQVBJPGJyPgo8L2Rpdj4KPGRpdj48YnI+ CjwvZGl2Pgo8ZGl2Pgo8ZGl2IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiPkhpIFNh cmFoITxicj4KSSBndWVzcyB0aGF0IHlvdXIgcHJvYmxlbSBpcyB3aXRoIGFuIHVudHJ1c3RlZCBj ZXJ0aWZpY2F0ZSwgeW91IGNhbiBnZXQgb25lIGZvciBmcmVlIGF0CjxhIGNsYXNzPSJtb3otdHh0 LWxpbmstZnJlZXRleHQiIGhyZWY9Imh0dHBzOi8vbGV0c2VuY3J5cHQub3JnLyI+aHR0cHM6Ly9s ZXRzZW5jcnlwdC5vcmcvPC9hPjxicj4KPGJyPgpZb3UgY2FuIGRpc2FibGUgY2VydGlmaWNhdGUg dmVyaWZpY2F0aW9uIGluIGJpb2JsZW5kIGFzIGluIHRoZSBleGFtcGxlIGJlbG93Ojxicj4KPGJy PgppbXBvcnQgYmlvYmxlbmQuZ2FsYXh5PGJyPgpnaSA9IGJpb2JsZW5kLmdhbGF4eS5HYWxheHlJ bnN0YW5jZSh1cmw9bXlfc2VydmVyLCBrZXk9bXlfa2V5KTxicj4KZ2kudmVyaWZ5ID0gRmFsc2U8 YnI+Cjxicj4KQ2hlZXJzLDxicj4KTmljb2xhPGJyPgo8YnI+CjxkaXYgY2xhc3M9Im1vei1jaXRl LXByZWZpeCI+T24gMDEvMDgvMTYgMDk6MDgsIFNhcmFoIERJRUhMIHdyb3RlOjxicj4KPC9kaXY+ CjxibG9ja3F1b3RlIGNpdGU9Im1pZDpEM0M0RDAyOS41MTc1NiUyNXNhcmFoLmRpZWhsQHVuaS5s dSIgdHlwZT0iY2l0ZSI+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJp ZjsiPkRlYXIgYWxsLDwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMt c2VyaWY7Ij48YnI+CjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMt c2VyaWY7Ij5zaW5jZSB0aGUgcmVjZW50IHVwZGF0ZSB0byAxNi4wNCBJIGdldCB0aGUgZm9sbG93 aW5nIGVycm9yIHdoZW4gdHJ5aW5nIHRvIGltcG9ydCBhIGZpbGUgZnJvbSBhIHVzZXIgZGlyZWN0 b3J5IHRvIGEgZGF0YSBsaWJyYXJ5OjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJp YWwsIHNhbnMtc2VyaWY7Ij48YnI+CjwvZGl2Pgo8ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPkFz c2VydGlvbkVycm9yOiB1c2VfcmVtb3RlX3VzZXIgaXMgc2V0IGJ1dCBIVFRQX1JFTU9URV9VU0VS IGhlYWRlciB3YXMgbm90IHByb3ZpZGVkPC9mb250PjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZh bWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij48YnI+CjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZh bWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij5JIHVzZSBhcGFjaGUgYXMgYSBwcm94eSBhbmQgdXNl IGFuIExEQVAgc2VydmVyIGZvciBhdXRoZW50aWNhdGlvbi4gSW4gb3JkZXIgdG8gZ2V0IHRoZSBB UEkgdG8gd29yayBwcmV2aW91c2x5IHRoZSBhcGFjaGUgaGFkIHRvIGJlIHNldCB0byBub3QgY2hl Y2sgYXV0aGVudGljYXRpb24gZm9yIHRoZSByZXF1ZXN0cyB0byAvYXBpLiBJbiB0aGUgbG9ncyBJ IGNhbiBzZWUgdGhhdAogdGhlIGRhdGFzZXQgaW1wb3J0IGlzIGFuIHJlcXVlc3QgdG8gdGhlIEFQ SSwgc28gc2luY2UgdGhlIGF1dGggaXMgbm90IGNoZWNrZWQgdGhlbiwgdGhlcmUgaXMgYWxzbyBu byBSRU1PVEVfVVNFUiBoZWFkZXIgc2V0LjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7Ij48YnI+CjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7Ij5XaGF0IGlzIHRoZSByZWNvbW1lbmRlZCB3YXkgdG8gc29sdmUg dGhpcyBpc3N1ZSB3aXRoIHRoZSBjdXJyZW50IEdhbGF4eSB2ZXJzaW9uPyBJIGRpc2FibGVkIHRo ZSBzcGVjaWFsIHNldHRpbmdzIGZvciAvYXBpIGFuZCB0aGUgZGF0YXNldCBpbXBvcnQgd29ya3Mg bm93LjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij48 YnI+CjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij5J IHRyaWVkIHRvIGNoZWNrIHRoZSBBUEkgd2l0aCBhbiBvbGQgdGVzdCBzY3JpcHQgYmFzZWQgb24g YmlvYmxlbmQsIGJ1dCBJIG5vdyBnZXQgdGhlIGZvbGxvd2luZyBlcnJvcjo8L2Rpdj4KPGRpdiBz dHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyI+PHNwYW4gY2xhc3M9ImFuc2ly ZWQiPjxicj4KPC9zcGFuPjwvZGl2Pgo8ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFuIGNs YXNzPSJhbnNpcmVkIj5Db25uZWN0aW9uRXJyb3I8L3NwYW4+OiBbU1NMOiBDRVJUSUZJQ0FURV9W RVJJRllfRkFJTEVEXSBjZXJ0aWZpY2F0ZSB2ZXJpZnkgZmFpbGVkIChfc3NsLmM6NjQ1KSwgMCBh dHRlbXB0cyBsZWZ0OiBOb25lPC9mb250PjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7Ij48YnI+CjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7Ij5QcmV2aW91c2x5IEkgY291bGQgZGlzYWJsZSBpdCB3aXRoJm5i c3A7PC9kaXY+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsiPjxi cj4KPC9kaXY+CjxkaXY+CjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+aW1wb3J0IHJlcXVlc3Rz PC9mb250PjwvZGl2Pgo8ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPnJlcXVlc3RzLnBhY2thZ2Vz LnVybGxpYjMuZGlzYWJsZV93YXJuaW5ncygpPC9mb250PjwvZGl2Pgo8L2Rpdj4KPGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyI+PGJyPgo8L2Rpdj4KPGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyI+CjxkaXY+CjxkaXYgc3R5bGU9Im9y cGhhbnM6IDI7IHdpZG93czogMjsiPgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogJ1RpbWVzIE5l dyBSb21hbicsIHNlcmlmOwogICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJwdDsgbWFyZ2luOiAw Y20gMGNtIDAuMDAwMXB0OyI+CjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFt aWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsiPmJ1dCB0aGF0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrIGFu eW1vcmUgKHN3aXRjaGVkIHRvIFB5dGhvbiAzIG5vdykuIFNpbmNlIGJpb2JsZW5kIHdyYXBzIGFs bCB0aGUgcmVxdWVzdHMgbWV0aG9kcywgSSBjYW5ub3QgYXBwbHkgYW55IG9mIHRoZSBjb21tb24g c29sdXRpb25zIEkgZm91bmQgb25saW5lIChlLmcuIHNldCB2ZXJpZnk9RmFsc2UpLjwvc3Bhbj48 L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsK ICAgICAgICAgICAgICBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsi Pgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMt c2VyaWY7Ij48YnI+Cjwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1l cyBOZXcgUm9tYW4nLCBzZXJpZjsKICAgICAgICAgICAgICBmb250LXNpemU6IDEycHQ7IG1hcmdp bjogMGNtIDBjbSAwLjAwMDFwdDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250 LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij5BbnkgaGVscCB0byBzb2x2ZSB0aGVzZSBpc3N1 ZXMgaXMgaGlnaGx5IGFwcHJlY2lhdGVkIDotKS48L3NwYW4+PC9kaXY+CjxkaXYgc3R5bGU9ImZv bnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7CiAgICAgICAgICAgICAgZm9udC1z aXplOiAxMnB0OyBtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7Ij4KPHNwYW4gc3R5bGU9ImZvbnQt c2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyI+PGJyPgo8L3NwYW4+ PC9kaXY+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7 CiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB0OyBtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7 Ij4KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5z LXNlcmlmOyI+QmVzdCByZWdhcmRzLDwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1p bHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsKICAgICAgICAgICAgICBmb250LXNpemU6IDEy cHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAx MHB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij5TYXJhaDwvc3Bhbj48L2Rpdj4K PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsKICAgICAg ICAgICAgICBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsiPgo8c3Bh biBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7 Ij48YnI+Cjwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcg Um9tYW4nLCBzZXJpZjsKICAgICAgICAgICAgICBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNt IDBjbSAwLjAwMDFwdDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWls eTogQXJpYWwsIHNhbnMtc2VyaWY7Ij48YnI+Cjwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9u dC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsKICAgICAgICAgICAgICBmb250LXNp emU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsiPgo8c3BhbiBzdHlsZT0iZm9udC1z aXplOiAxMHB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij48YnI+Cjwvc3Bhbj48 L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsK ICAgICAgICAgICAgICBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsi Pgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMt c2VyaWY7Ij4tLS0tPC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogJ1RpbWVz IE5ldyBSb21hbicsIHNlcmlmOwogICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJwdDsgbWFyZ2lu OiAwY20gMGNtIDAuMDAwMXB0OyI+CjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQt ZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsiPlNhcmFoIERpZWhsPC9zcGFuPjwvZGl2Pgo8ZGl2 IHN0eWxlPSJmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmOwogICAgICAgICAg ICAgIGZvbnQtc2l6ZTogMTJwdDsgbWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyI+CjxzcGFuIHN0 eWxlPSJmb250LXNpemU6IDcuNXB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij5I UEMgU3lzdGVtIEFkbWluaXN0cmF0b3I8bzpwPjwvbzpwPjwvc3Bhbj48L2Rpdj4KPGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsKICAgICAgICAgICAgICBm b250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFwdDsiPgo8c3BhbiBzdHlsZT0i Zm9udC1zaXplOiA3LjVwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyI+Jm5ic3A7 PC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbics IHNlcmlmOwogICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJwdDsgbWFyZ2luOiAwY20gMGNtIDAu MDAwMXB0OyI+CjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDcuNXB0OyBmb250LWZhbWlseTogQXJp YWwsIHNhbnMtc2VyaWY7Ij5VTklWRVJTSVTJIERVIExVWEVNQk9VUkc8bzpwPjwvbzpwPjwvc3Bh bj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJp ZjsKICAgICAgICAgICAgICBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAwLjAwMDFw dDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3LjVwdDsgZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTog J1RpbWVzIE5ldyBSb21hbicsIHNlcmlmOwogICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJwdDsg bWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyI+CjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDcuNXB0 OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij5MVVhFTUJPVVJHIENFTlRSRSBGT1Ig U1lTVEVNUyBCSU9NRURJQ0lORTxvOnA+PC9vOnA+PC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJm b250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmOwogICAgICAgICAgICAgIGZvbnQt c2l6ZTogMTJwdDsgbWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyI+CjxzcGFuIHN0eWxlPSJmb250 LXNpemU6IDcuNXB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij5DYW1wdXMgQmVs dmFsIHwgQmlvdGVjaCBJSTxvOnA+PC9vOnA+PC9zcGFuPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250 LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmOwogICAgICAgICAgICAgIGZvbnQtc2l6 ZTogMTJwdDsgbWFyZ2luOiAwY20gMGNtIDAuMDAwMXB0OyI+CjxzcGFuIHN0eWxlPSJmb250LXNp emU6IDcuNXB0OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Ij42LCBhdmVudWUgZHUg U3dpbmc8bzpwPjwvbzpwPjwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdU aW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsKICAgICAgICAgICAgICBmb250LXNpemU6IDEycHQ7IG1h cmdpbjogMGNtIDBjbSAwLjAwMDFwdDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3LjVwdDsg Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyI+TC00MzcxIEJlbHZhdXg8bzpwPjwvbzpw Pjwvc3Bhbj48L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4n LCBzZXJpZjsKICAgICAgICAgICAgICBmb250LXNpemU6IDEycHQ7IG1hcmdpbjogMGNtIDBjbSAw LjAwMDFwdDsiPgo8c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3LjVwdDsgZm9udC1mYW1pbHk6IEFy aWFsLCBzYW5zLXNlcmlmOyI+VCAmIzQzOzM1MiA0NiA2NiA0NCA1MzYwPC9zcGFuPjwvZGl2Pgo8 ZGl2IHN0eWxlPSJtYXJnaW46IDBjbSAwY20gMC4wMDAxcHQ7Ij48YSBtb3otZG8tbm90LXNlbmQ9 InRydWUiIGhyZWY9Im1haWx0bzpzYXJhaC5kaWVobEB1bmkubHUiIHN0eWxlPSJvcnBoYW5zOiBh dXRvOyB3aWRvd3M6IGF1dG87Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB4OyI+PC9zcGFu PjwvYT48YSBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVkIiBocmVmPSJtYWlsdG86c2Fy YWguZGllaGxAdW5pLmx1Ij5zYXJhaC5kaWVobEB1bmkubHU8L2E+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZTogNy41cHQ7Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBtb3otZG8tbm90 LXNlbmQ9InRydWUiIGhyZWY9Imh0dHA6Ly9sY3NiLnVuaS5sdS8iIHN0eWxlPSJjb2xvcjogcHVy cGxlOyI+aHR0cDovL2xjc2IudW5pLmx1PC9hPjwvc3Bhbj48L2Rpdj4KPC9kaXY+CjxkaXYgc3R5 bGU9ImZvbnQtZmFtaWx5OiBDb25zb2xhczsgZm9udC1zaXplOiAxNHB4OyBvcnBoYW5zOgogICAg ICAgICAgICAyOyB3aWRvd3M6IDI7Ij4KPGRpdiBzdHlsZT0ibWFyZ2luOiAwcHggMGNtOyBmb250 LXNpemU6IDE1cHg7IGZvbnQtZmFtaWx5OgogICAgICAgICAgICAgIFRhaG9tYTsgY29sb3I6IHJn YigxNTMsIDE1MywgMTUzKTsiPgo8Zm9udCBmYWNlPSJDYWxpYnJpLHNhbnMtc2VyaWYiPjxzcGFu IHN0eWxlPSJmb250LXNpemU6CiAgICAgICAgICAgICAgICAgIDEycHg7Ij4tLS0tLTwvc3Bhbj48 L2ZvbnQ+PC9kaXY+CjxkaXYgc3R5bGU9Im1hcmdpbjogMHB4IDBjbTsgZm9udC1zaXplOiAxNXB4 OyBmb250LWZhbWlseToKICAgICAgICAgICAgICBUYWhvbWE7IGNvbG9yOiByZ2IoMTUzLCAxNTMs IDE1Myk7Ij4KPGZvbnQgZmFjZT0iQ2FsaWJyaSxzYW5zLXNlcmlmIj48c3BhbiBzdHlsZT0iZm9u dC1zaXplOgogICAgICAgICAgICAgICAgICAxMnB4OyI+VGhpcyBtZXNzYWdlIGlzIGNvbmZpZGVu dGlhbCBhbmQgbWF5IGNvbnRhaW4gcHJpdmlsZWdlZCBpbmZvcm1hdGlvbi4gSXQgaXMgaW50ZW5k ZWQgZm9yIHRoZSBuYW1lZCByZWNpcGllbnQgb25seS4gSWYgeW91IHJlY2VpdmUgaXQgaW4gZXJy b3IgcGxlYXNlIG5vdGlmeSBtZSBhbmQgcGVybWFuZW50bHkgZGVsZXRlCiB0aGUgb3JpZ2luYWwg bWVzc2FnZSBhbmQgYW55IGNvcGllcy48L3NwYW4+PC9mb250PjwvZGl2Pgo8ZGl2IHN0eWxlPSJt YXJnaW46IDBweCAwY207IGZvbnQtc2l6ZTogMTVweDsgZm9udC1mYW1pbHk6CiAgICAgICAgICAg ICAgVGFob21hOyBjb2xvcjogcmdiKDE1MywgMTUzLCAxNTMpOyI+CjxzcGFuIHN0eWxlPSJmb250 LXNpemU6IDEycHg7Ij4tLS0tLTwvc3Bhbj48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8YnI+CjwvZGl2 Pgo8YnI+CjxmaWVsZHNldCBjbGFzcz0ibWltZUF0dGFjaG1lbnRIZWFkZXIiPjwvZmllbGRzZXQ+ IDxicj4KPHByZSB3cmFwPSIiPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClBsZWFzZSBrZWVwIGFsbCByZXBsaWVzIG9uIHRoZSBsaXN0 IGJ5IHVzaW5nICZxdW90O3JlcGx5IGFsbCZxdW90OwppbiB5b3VyIG1haWwgY2xpZW50LiAgVG8g bWFuYWdlIHlvdXIgc3Vic2NyaXB0aW9ucyB0byB0aGlzCmFuZCBvdGhlciBHYWxheHkgbGlzdHMs IHBsZWFzZSB1c2UgdGhlIGludGVyZmFjZSBhdDoKICA8YSBjbGFzcz0ibW96LXR4dC1saW5rLWZy ZWV0ZXh0IiBocmVmPSJodHRwczovL2xpc3RzLmdhbGF4eXByb2plY3Qub3JnLyI+aHR0cHM6Ly9s aXN0cy5nYWxheHlwcm9qZWN0Lm9yZy88L2E+CgpUbyBzZWFyY2ggR2FsYXh5IG1haWxpbmcgbGlz dHMgdXNlIHRoZSB1bmlmaWVkIHNlYXJjaCBhdDoKICA8YSBjbGFzcz0ibW96LXR4dC1saW5rLWZy ZWV0ZXh0IiBocmVmPSJodHRwOi8vZ2FsYXh5cHJvamVjdC5vcmcvc2VhcmNoL21haWxpbmdsaXN0 cy8iPmh0dHA6Ly9nYWxheHlwcm9qZWN0Lm9yZy9zZWFyY2gvbWFpbGluZ2xpc3RzLzwvYT48L3By ZT4KPC9ibG9ja3F1b3RlPgo8YnI+CjwvZGl2Pgo8L2Rpdj4KPC9zcGFuPjwvZGl2Pgo8L2Rpdj4K PC9zcGFuPgo8L2JvZHk+CjwvaHRtbD4K --===============6057085815675536922==--