From: "Saved by Internet Explorer 11"
Subject: Sites Fluidra
Date: Fri, 8 Aug 2014 15:40:20 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----=_NextPart_000_0000_01CFB31F.0F98BD60"
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7601.17609

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.fluidra.pt/export/sites/fluidrasites/Resources/img/blank.gif

R0lGODlhAQABAJH/AP///wAAAMDAwAAAACH5BAEAAAIALAAAAAABAAEAAAICVAEAOw==

------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.fluidra.pt/export/sites/fluidrasites/Resources/img/corner_der_inf.gif

R0lGODlhBQAFALMAAOTk5M7OzvX19djY2NLS0tDQ0Nra2tfX1+np6fPz8+3t7fj4+AAAAAAAAAAA
AAAAACH5BAEAAAsALAAAAAAFAAUAAAQQcElR5EJHpqASGoBAGIogRAA7

------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.fluidra.pt/export/sites/fluidrasites/Resources/img/Images/idrania_cs2.jpg

/9j/4AAQSkZJRgABAgEASABIAAD/4QiSRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA
AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodp
AAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENTMiBXaW5kb3dz
ADIwMDk6MDg6MDQgMTM6MTg6MjEAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAc6ADAAQAAAAB
AAAAHgAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEA
AgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAAdcAAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklG
AAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBEL
CgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsN
Dg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
DAwM/8AAEQgAHgBzAwEiAAIRAQMRAf/dAAQACP/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH
CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQh
EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXi
ZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIE
BAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy
gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dX
Z3eHl6e3x//aAAwDAQACEQMRAD8A9Ruuqoqdba4NYwS5xXM5v1qyHuLcRgrZ2e7Vx+X0Wo31synA
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
AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAABzAAAAHgAAAAAAAAAAAAAAAAAAAAAB
AAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEA
AAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25n
AAAAHgAAAABSZ2h0bG9uZwAAAHMAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNl
AAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0A
AAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlw
ZQAAAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAA
AAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAB4AAAAAUmdodGxvbmcAAABzAAAAA3VybFRF
WFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVY
VAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlo
b3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVu
dW0AAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVT
bGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNl
dGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAA
OEJJTQQoAAAAAAAMAAAAAT/wAAAAAAAAOEJJTQQUAAAAAAAEAAAAAjhCSU0EDAAAAAAHeAAAAAEA
AABzAAAAHgAAAVwAACjIAAAHXAAYAAH/2P/gABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAB
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
iJEDdkkDx/eWmAoDiFUKv/uW6kkkoGZ//9k4QklNBCEAAAAAAFUAAAABAQAAAA8AQQBkAG8AYgBl
ACAAUABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAA
QwBTADIAAAABADhCSU0EBgAAAAAABwAEAAAAAQEA/+E6sGh0dHA6Ly9ucy5hZG9iZS5jb20veGFw
LzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi
Pz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iMy4xLjEtMTEx
Ij4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJk
Zi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAg
ICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAg
ICAgPGRjOmZvcm1hdD5pbWFnZS9qcGVnPC9kYzpmb3JtYXQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0
aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxu
czp4YXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eGFwOkNyZWF0
b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDUzIgV2luZG93czwveGFwOkNyZWF0b3JUb29sPgogICAg
ICAgICA8eGFwOkNyZWF0ZURhdGU+MjAwOS0wOC0wNFQxMToyMDoxNSswMjowMDwveGFwOkNyZWF0
ZURhdGU+CiAgICAgICAgIDx4YXA6TW9kaWZ5RGF0ZT4yMDA5LTA4LTA0VDEzOjE4OjIxKzAyOjAw
PC94YXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhhcDpNZXRhZGF0YURhdGU+MjAwOS0wOC0wNFQx
MzoxODoyMSswMjowMDwveGFwOk1ldGFkYXRhRGF0ZT4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+
CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhh
cE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpz
dFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyI+CiAg
ICAgICAgIDx4YXBNTTpEb2N1bWVudElEPnV1aWQ6Mjk2NjI0RUJENzgwREUxMTkwRjhEOUUxNTQ2
MkY3NzA8L3hhcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4YXBNTTpJbnN0YW5jZUlEPnV1aWQ6
ODM2NjdBNkRFODgwREUxMTkxRUQ5RUU4Q0I4Mjk4RDU8L3hhcE1NOkluc3RhbmNlSUQ+CiAgICAg
ICAgIDx4YXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAg
ICAgIDxzdFJlZjppbnN0YW5jZUlEPnV1aWQ6Mjg2NjI0RUJENzgwREUxMTkwRjhEOUUxNTQ2MkY3
NzA8L3N0UmVmOmluc3RhbmNlSUQ+CiAgICAgICAgICAgIDxzdFJlZjpkb2N1bWVudElEPnV1aWQ6
Mjg2NjI0RUJENzgwREUxMTkwRjhEOUUxNTQ2MkY3NzA8L3N0UmVmOmRvY3VtZW50SUQ+CiAgICAg
ICAgIDwveGFwTU06RGVyaXZlZEZyb20+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8
cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRw
Oi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8
L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDAwMC8xMDAw
MDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEw
MDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90
aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8dGlmZjpOYXRpdmVEaWdlc3Q+MjU2LDI1Nywy
NTgsMjU5LDI2MiwyNzQsMjc3LDI4NCw1MzAsNTMxLDI4MiwyODMsMjk2LDMwMSwzMTgsMzE5LDUy
OSw1MzIsMzA2LDI3MCwyNzEsMjcyLDMwNSwzMTUsMzM0MzI7REQzODM4OTQxREFFQjA1NjAzMzYy
NjY4MURERTMxQ0U8L3RpZmY6TmF0aXZlRGlnZXN0PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4K
ICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhp
Zj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhE
aW1lbnNpb24+MTE1PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZ
RGltZW5zaW9uPjMwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JT
cGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOk5hdGl2ZURpZ2VzdD4zNjg2
NCw0MDk2MCw0MDk2MSwzNzEyMSwzNzEyMiw0MDk2Miw0MDk2MywzNzUxMCw0MDk2NCwzNjg2Nywz
Njg2OCwzMzQzNCwzMzQzNywzNDg1MCwzNDg1MiwzNDg1NSwzNDg1NiwzNzM3NywzNzM3OCwzNzM3
OSwzNzM4MCwzNzM4MSwzNzM4MiwzNzM4MywzNzM4NCwzNzM4NSwzNzM4NiwzNzM5Niw0MTQ4Myw0
MTQ4NCw0MTQ4Niw0MTQ4Nyw0MTQ4OCw0MTQ5Miw0MTQ5Myw0MTQ5NSw0MTcyOCw0MTcyOSw0MTcz
MCw0MTk4NSw0MTk4Niw0MTk4Nyw0MTk4OCw0MTk4OSw0MTk5MCw0MTk5MSw0MTk5Miw0MTk5Myw0
MTk5NCw0MTk5NSw0MTk5Niw0MjAxNiwwLDIsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUs
MTYsMTcsMTgsMjAsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMzA7QTdDMkIwRDRFQjg4NDAyRjVCQ0M3
NTNCOEZGODU5REY8L2V4aWY6TmF0aXZlRGlnZXN0PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4K
ICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6cGhv
dG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIj4KICAgICAgICAgPHBo
b3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rv
c2hvcDpJQ0NQcm9maWxlPnNSR0IgSUVDNjE5NjYtMi4xPC9waG90b3Nob3A6SUNDUHJvZmlsZT4K
ICAgICAgICAgPHBob3Rvc2hvcDpIaXN0b3J5Lz4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAg
IDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBl
bmQ9InciPz7/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkA
BgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLUhQICAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNk
ZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAA
ABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD
1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJD
AAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBh
Y2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJz
UkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAA
AABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MA
AAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3Lmll
Yy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
AAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAA
AAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGlu
IElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJ
RUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8U
AAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAA
AAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAo
AC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIA
twC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZ
AWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgC
QQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNm
A3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME
4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAad
Bq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoI
vgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsi
CzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N
+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RET
ETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsU
rRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiK
GK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc
9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGh
Ic4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm
6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxu
LKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMy
mzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkF
OUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JA
I0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7
R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lP
k0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfg
WC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg
/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpI
ap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0
cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7C
fyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ
/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVf
lcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUeh
tqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4t
rqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67
p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6
ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX
4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW
5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72
bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////7gAOQWRvYmUAZAAAAAAB/9sAhAAG
BAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
DAwMDAwMAQcHBw0MDRgQEBgUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAz/wAARCAAeAHMDAREAAhEBAxEB/90ABAAP/8QBogAAAAcBAQEBAQAAAAAA
AAAABAUDAgYBAAcICQoLAQACAgMBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAIBAwMCBAIGBwME
AgYCcwECAxEEAAUhEjFBUQYTYSJxgRQykaEHFbFCI8FS0eEzFmLwJHKC8SVDNFOSorJjc8I1RCeT
o7M2F1RkdMPS4ggmgwkKGBmElEVGpLRW01UoGvLj88TU5PRldYWVpbXF1eX1ZnaGlqa2xtbm9jdH
V2d3h5ent8fX5/c4SFhoeIiYqLjI2Oj4KTlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+hEAAgIB
AgMFBQQFBgQIAwNtAQACEQMEIRIxQQVRE2EiBnGBkTKhsfAUwdHhI0IVUmJy8TMkNEOCFpJTJaJj
ssIHc9I14kSDF1STCAkKGBkmNkUaJ2R0VTfyo7PDKCnT4/OElKS0xNTk9GV1hZWltcXV5fVGVmZ2
hpamtsbW5vZHV2d3h5ent8fX5/c4SFhoeIiYqLjI2Oj4OUlZaXmJmam5ydnp+So6SlpqeoqaqrrK
2ur6/9oADAMBAAIRAxEAPwD1Fe3ttZ2st1cyCOCJeTuegAwxiZGgxlIRFl5prP5p6hNI0elwrbwD
ZZpKtIfen2Vza4uz4j6ju6jL2jI7RCA07zj521G7S0s5jLcSV4oAo6CpJJoBlk9NhiLPJrhqc0zQ
O6f+T/MHmWfzU+l6tIQYopDJEQAQy8abj55j6nDjGPii5WmzZDk4ZMv8x+ZNE8uaTNq2tXS2lhBQ
PKwLbsaKqqoZmYnoFGa+EDI0ObsZzERZVdE1vStb0q21XSrhbqwu15wTrUBhWh2IBBBFCDjKJiaK
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
qf8ADYTxdbYjh6UnO1OuR3ZbP//Z

------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.fluidra.pt/export/sites/fluidrasites/Resources/img/Images/logo_cepex.jpg

/9j/4AAQSkZJRgABAgEASABIAAD/4QnCRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA
AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodp
AAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENTMiBXaW5kb3dz
ADIwMDk6MDg6MDQgMTM6MTg6MDgAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAsKADAAQAAAAB
AAAAHgAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEA
AgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAAiMAAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklG
AAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBEL
CgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsN
Dg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
DAwM/8AAEQgAGwCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH
CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQh
EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXi
ZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIE
BAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy
gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dX
Z3eHl6e3x//aAAwDAQACEQMRAD8A9I6jmnGfh1t+llZDafltfa7/AKNSuLl/rNnNr+tH1bxCdPXs
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
AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAA
AAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////
A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D
6AAAAAD/////////////////////////////A+gAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAA
AAA4QklNBB4AAAAAAAQAAAAAOEJJTQQaAAAAAANJAAAABgAAAAAAAAAAAAAAHgAAALAAAAAKAGwA
bwBnAG8AIABjAGUAcABlAHgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAALAAAAAe
AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAA
AAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9u
ZwAAAAAAAAAAQnRvbWxvbmcAAAAeAAAAAFJnaHRsb25nAAAAsAAAAAZzbGljZXNWbExzAAAAAU9i
amMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURsb25nAAAAAAAAAAdncm91cElEbG9uZwAA
AAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAANYXV0b0dlbmVyYXRlZAAAAABUeXBl
ZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAA
BAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAHgAAAABSZ2h0
bG9uZwAAALAAAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAAAABNc2dlVEVYVAAA
AAEAAAAAAAZhbHRUYWdURVhUAAAAAQAAAAAADmNlbGxUZXh0SXNIVE1MYm9vbAEAAAAIY2VsbFRl
eHRURVhUAAAAAQAAAAAACWhvcnpBbGlnbmVudW0AAAAPRVNsaWNlSG9yekFsaWduAAAAB2RlZmF1
bHQAAAAJdmVydEFsaWduZW51bQAAAA9FU2xpY2VWZXJ0QWxpZ24AAAAHZGVmYXVsdAAAAAtiZ0Nv
bG9yVHlwZWVudW0AAAARRVNsaWNlQkdDb2xvclR5cGUAAAAATm9uZQAAAAl0b3BPdXRzZXRsb25n
AAAAAAAAAApsZWZ0T3V0c2V0bG9uZwAAAAAAAAAMYm90dG9tT3V0c2V0bG9uZwAAAAAAAAALcmln
aHRPdXRzZXRsb25nAAAAAAA4QklNBCgAAAAAAAwAAAABP/AAAAAAAAA4QklNBBQAAAAAAAQAAAAC
OEJJTQQMAAAAAAioAAAAAQAAAKAAAAAbAAAB4AAAMqAAAAiMABgAAf/Y/+AAEEpGSUYAAQIAAEgA
SAAA/+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwM
DxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAU
Dg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAAR
CAAbAKADASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQAB
BQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWET
InGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N1
4/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcH
BgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJE
k1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH
/9oADAMBAAIRAxEAPwD0jqOacZ+HW36WVkNp+W19rv8Ao1K4uX+s2c2v60fVvEJ09ey148zW7Gp/
6dr11KSnlv8AGDmZmH0fHsw8izGsdlMY59Ti0lpZadmn5vtXA/t/6wDnqmX/ANuler9Y6JgdaxmY
2cHOrrsFrQxxYdwDmDVv8l64z64/VDpfS+mU2dOZYMjIya8cb3ueIsDx9F38oJkgd3T5HPgEY4pR
uZJ1MQR/jPVfVH7Wfq9hWZttl99zDa+y1xc6HkvZ7j/we1XuodU6d02oW5+RXjMdo31DBcR2rZ9O
z+wjY9DMfHqx6/oUsbW34NGxq856NiU/Wf63Zr+suNgp9QsxySJayz0GUCPc2mlvusYz+ct/nE8D
Tyc7JPinKQHzSJH1esZ9e/qq9+wZ7W/ynMsa3/PdWGt/tLcpupvrbdQ9ttTxLLGEOaR4te32uWVk
fVH6t5FHouwKaxENfU303jzbZXtehfVj6uYvRKrfsmZdlVXOMtc5pqBaSN1ddbdrbf8AB3P/AMJs
R0Wap8n61/V7EybMXJzq676TtsrO6WmN3Zv7rkL/AJ6fVf8A8sK/ud/5BcJ1dzG/XXPNmCeqtFpn
CbMv/RM93sa936L+c+itTo9HTOodTowsj6ouwqbd+7Js37WbWOsbu3V1/Tc30/ppUiy91i5+HmYb
c3GtFuM8FzbRMENJa4/9FZg+uv1WIkdRrj4O/wDILQZhYuB012Jh1CnHqreK628CdzjH9py8n6Bn
/VzCZb+3cJ2b6gZ9n2gHbG71PpPq+nLEgEk0+lV/XH6sWPDG9RpBcYBcS0f57w1i078rHx8azKue
GY9TDZZYdQGNG9z9P5K8r6t1T6n5mGcfo3SbKc17m7LA3UAEb/0dVlz7t7P0fp7Pz112JiZ2H/i6
vx89pZezByP0btXMaW2Oqqd/xdWxqRCgXR/56fVf/wAsa/ud/wCRU6Prd9W8i+vHpzq33XPFdbAH
SXOMNb9FeddFsx2Yjxb9XX9aPqGMlu6GAgfq/srs+h9Jdh9VuldGz6zn29AHSsjFvHots3bpYG2M
vZvbX+c5IgIBJd/qXWumdKbW/qN4x2XEtre4O2lw12b2tc1rv3dyLg9Qwuo47crCubfQ4kB7DIkf
Sa79138lTy8TGzMezFyq23UXDbZW8SCF5hm32/U/reRT0XPbbU9sW1P94YT9CvJ1a2zIp+nVb/Of
6dIC0k0+h9S+sXROlWCrqGZXj2Fu8McSTt/eIbu2oxDsz7Pl41rm0kB4adzNzTDvdW7a76P764z6
i9D6f1J9nW8/IGfntsl1LzJrf+bdkh385c6P1f8A7T1f4H/g++SOihq//9CX14zrX/Wux9Ltr+nt
pZS7wez9b/8APlu167/oH1gwet4bb6HBt7QPtGMT763/AJwLfzq/9Hb/AIRcF1r9lftrqHqfsz1P
tD9/rftH1J9v876H6D1P+I/RIGB+xv2jRP7N/wDQT9qfaP8ArG1OOwWi7L6wsjr+J9su6TTEhuey
53wprvv1/tsY1W+m+h6A9D7Rs7favW3/APs7+n/zke2PWp+jy76X0vo/4NNLLiMuMcIuVGv8VJ2X
Kdd+o/2vPPVukZR6fnk73xOxz42+q11cWUvf/hvpst/0S6xJEX0YzXV4i36v/wCMLKr+z5HWKm0H
RxYS1xH9amimx3/bjFufVj6rYv1ex3sqtffdfBusPtZp9EVY7Tsr/wDPr/8ASLbSSNqFW8R1H6mf
WGzr+T1fp2bRjOueXVO929rSxtT2n9G9nu2qX/N3/GD/AOXrPx/9ILtUkdUaeLl9Hweq4/SPsvVM
luXmn1AbxwQ4n0x9Gv6Df5KzPqX9V8/6vjLGZbTb9oFez0t2mz1N271Gt/0i6dJDXVOmiyqdXw7M
7pWZhVFrbMmiyljnTtBe1zAXbfdt9yuJIJeCwvqd9c+n1GnB6tTjVOcXuYzdBcfpO99TvBWq/q99
fm21uf1xjmNe0vbrq0EF7f5j85q7NJO1W6eLk/WDH6/lY32bot1OIbARdk2F3qNH7uO1jHNa93+m
d/N/4P8AfVD6sfUvF6Mw35W3K6hY1zXWESxjXfzjKWv936T/AA1z/wBJaulSQ1pOlvF5P1GzsLqr
eo/VjKrwed1Fu4sGs+kzZO/Fs/0Fn81/gf8Ag+uxvtJorOW1jcjb+lFRLmbv+Dc9rH7f6zUZJI31
UK6P/9k4QklNBCEAAAAAAFUAAAABAQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAA
AAATAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAAQwBTADIAAAABADhCSU0EBgAAAAAA
BwAEAAAAAQEA/+E6sGh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2lu
PSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4
PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iMy4xLjEtMTExIj4KICAgPHJkZjpSREYgeG1sbnM6
cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAg
PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6
Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9q
cGVnPC9kYzpmb3JtYXQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2Ny
aXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4YXA9Imh0dHA6Ly9ucy5hZG9i
ZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eGFwOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hv
cCBDUzIgV2luZG93czwveGFwOkNyZWF0b3JUb29sPgogICAgICAgICA8eGFwOkNyZWF0ZURhdGU+
MjAwOS0wOC0wNFQxMToxNzo0NyswMjowMDwveGFwOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4YXA6
TW9kaWZ5RGF0ZT4yMDA5LTA4LTA0VDEzOjE4OjA4KzAyOjAwPC94YXA6TW9kaWZ5RGF0ZT4KICAg
ICAgICAgPHhhcDpNZXRhZGF0YURhdGU+MjAwOS0wOC0wNFQxMzoxODowOCswMjowMDwveGFwOk1l
dGFkYXRhRGF0ZT4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRp
b24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhhcE1NPSJodHRwOi8vbnMuYWRvYmUu
Y29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2Jl
LmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyI+CiAgICAgICAgIDx4YXBNTTpEb2N1bWVu
dElEPnV1aWQ6MkI4RDk0M0JENzgwREUxMTkwRjhEOUUxNTQ2MkY3NzA8L3hhcE1NOkRvY3VtZW50
SUQ+CiAgICAgICAgIDx4YXBNTTpJbnN0YW5jZUlEPnV1aWQ6ODE2NjdBNkRFODgwREUxMTkxRUQ5
RUU4Q0I4Mjk4RDU8L3hhcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4YXBNTTpEZXJpdmVkRnJv
bSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxzdFJlZjppbnN0YW5jZUlE
PnV1aWQ6MTY3NzkzRTMwNjQwREMxMThFMkJCMEQ5MDQzMkMxMjg8L3N0UmVmOmluc3RhbmNlSUQ+
CiAgICAgICAgICAgIDxzdFJlZjpkb2N1bWVudElEPnV1aWQ6MTU3NzkzRTMwNjQwREMxMThFMkJC
MEQ5MDQzMkMxMjg8L3N0UmVmOmRvY3VtZW50SUQ+CiAgICAgICAgIDwveGFwTU06RGVyaXZlZEZy
b20+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjph
Ym91dD0iIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20v
cGhvdG9zaG9wLzEuMC8iPgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3No
b3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2
Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8cGhvdG9zaG9wOkhpc3Rvcnkv
PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv
dXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEu
MC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAg
ICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAg
ICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4K
ICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAg
ICAgICAgPHRpZmY6TmF0aXZlRGlnZXN0PjI1NiwyNTcsMjU4LDI1OSwyNjIsMjc0LDI3NywyODQs
NTMwLDUzMSwyODIsMjgzLDI5NiwzMDEsMzE4LDMxOSw1MjksNTMyLDMwNiwyNzAsMjcxLDI3Miwz
MDUsMzE1LDMzNDMyOzk3QTk3OTY1NEM0NUU5QTM0MDM5NUFENDg5MzFFOEREPC90aWZmOk5hdGl2
ZURpZ2VzdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24g
cmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v
ZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE3NjwvZXhpZjpQaXhl
bFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMDwvZXhpZjpQaXhl
bFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNl
PgogICAgICAgICA8ZXhpZjpOYXRpdmVEaWdlc3Q+MzY4NjQsNDA5NjAsNDA5NjEsMzcxMjEsMzcx
MjIsNDA5NjIsNDA5NjMsMzc1MTAsNDA5NjQsMzY4NjcsMzY4NjgsMzM0MzQsMzM0MzcsMzQ4NTAs
MzQ4NTIsMzQ4NTUsMzQ4NTYsMzczNzcsMzczNzgsMzczNzksMzczODAsMzczODEsMzczODIsMzcz
ODMsMzczODQsMzczODUsMzczODYsMzczOTYsNDE0ODMsNDE0ODQsNDE0ODYsNDE0ODcsNDE0ODgs
NDE0OTIsNDE0OTMsNDE0OTUsNDE3MjgsNDE3MjksNDE3MzAsNDE5ODUsNDE5ODYsNDE5ODcsNDE5
ODgsNDE5ODksNDE5OTAsNDE5OTEsNDE5OTIsNDE5OTMsNDE5OTQsNDE5OTUsNDE5OTYsNDIwMTYs
MCwyLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDIwLDIyLDIzLDI0LDI1
LDI2LDI3LDI4LDMwO0M0NDU5RUM1MkIxNUQ0QUFBMEU4ODI0RTE1QUNEQjBFPC9leGlmOk5hdGl2
ZURpZ2VzdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1l
dGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz7/4gxYSUNDX1BST0ZJ
TEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMg
c1JHQgAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAA
ABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAAC
VAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFz
AAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0
ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAA
AAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNR
AAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAA
AGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3
LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERl
ZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERl
ZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAA
AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAA
AAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAA
AAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAA
AABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkA
XgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDr
APAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEB
qQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKi
AqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD
7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3
BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08H
YQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmP
CaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIM
KgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8J
DyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUS
ZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYD
FiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQa
KhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6U
Hr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2Yj
lCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijU
KQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIu
ty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTY
NRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7
qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1
QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdK
fUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8
UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVb
RVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RA
ZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbblu
Em5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gR
eG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC
9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/
jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ
/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYa
poum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKz
OLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBw
wOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbO
ts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q
3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vs
hu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH
/Jj9Kf26/kv+3P9t////7gAOQWRvYmUAZAAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsM
CgoLCgoMEAwMDAwMDBAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQcHBw0MDRgQEBgUDg4O
FBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAe
ALADAREAAhEBAxEB/90ABAAW/8QBogAAAAcBAQEBAQAAAAAAAAAABAUDAgYBAAcICQoLAQACAgMB
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

------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.fluidra.pt/export/sites/fluidrasites/Resources/img/Images/AstralPool.jpg

/9j/4AAQSkZJRgABAgEASABIAAD/4QynRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA
AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodp
AAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENTMiBXaW5kb3dz
ADIwMDk6MDg6MDQgMTM6MTc6NTMAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAp6ADAAQAAAAB
AAAAHgAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEA
AgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAAtxAAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklG
AAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBEL
CgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsN
Dg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
DAwM/8AAEQgAHQCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH
CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQh
EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXi
ZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIE
BAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy
gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dX
Z3eHl6e3x//aAAwDAQACEQMRAD8A3vrz9dOr/V7qePiYFeO+u6g2vN7Hudu3mv2+ldT7dq5z/wAd
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
3/L/APhgl/65v+X/APDBPjlgKrHl8LuX/dIlCZsccR5aPGdL6hTiMycTLpOT0/Pa1uVSx2ywOYfU
x8vHu923Jx7P9J+jt/m7EfI6ri41DMXoTL8dgvry7MrJcx99l1P9E9tLWU14+M9z3sq/PsXWf+ub
/l//AAwS/wDXN/y//hgic0LJOPJ46em/FAxzoATj4H9J5sdY6HVlftfHwLmdW3+syg2NODXefd9q
rr2fanMbd+nqxPU9Ot6DV1Lo93TsTE6rj5l1uGbiLse9jA/13i55sbbVa7fuC6r/ANc3/L/+GCX/
AK5v+X/8MEPdhp6Mt9NNfp6k8M9fVCuv9rxuCzGt6lYyl5xcWyu9rbLz6hqrNT91l5qb+ldW33/o
2LpfrfkfVHM6J0/F6Jns9TpDXMpx3MsabK7Az1v0jqmM+0ufUy7/AIT9ItGj/wAaHe70d+70rd39
P/m9jvX+l/wO5D/9c3/L/wDhghLKDOJMco4flHDuqMKiRxQN7m3kfq43p/7Zxb+p5TcPExbGXve4
Oc55rO+uiplTX+5zx73fmMXpP1fv6Bm/XDO6n0TKZcMrEb9rqax7C21rw1tw9RlbNtzPp/8ACV7/
APCrE/8AXN/y/wD4YLe+qH/MT7df/wA2d32r0h68/af5vd7f6d7P5z9z3pmfIJWeHJE8NURUOHxX
Yo0AAYkXuO7/AP/Z/+0RWlBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAHHAIAAAIAAgA4QklNBCUA
AAAAABBGDPKJJrhW2rCcAaGwp5B3OEJJTQPtAAAAAAAQAEgAAAABAAIASAAAAAEAAjhCSU0EJgAA
AAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAAHjhCSU0EGQAAAAAABAAAAB44QklNA/MA
AAAAAAkAAAAAAAAAAAEAOEJJTQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1
AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAA
AAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////
A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D
6AAAAAD/////////////////////////////A+gAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAA
AAA4QklNBB4AAAAAAAQAAAAAOEJJTQQaAAAAAANJAAAABgAAAAAAAAAAAAAAHgAAAKcAAAAKAEEA
cwB0AHIAYQBsAFAAbwBvAGwAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAKcAAAAe
AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAA
AAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9u
ZwAAAAAAAAAAQnRvbWxvbmcAAAAeAAAAAFJnaHRsb25nAAAApwAAAAZzbGljZXNWbExzAAAAAU9i
amMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURsb25nAAAAAAAAAAdncm91cElEbG9uZwAA
AAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAANYXV0b0dlbmVyYXRlZAAAAABUeXBl
ZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAA
BAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAHgAAAABSZ2h0
bG9uZwAAAKcAAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAAAABNc2dlVEVYVAAA
AAEAAAAAAAZhbHRUYWdURVhUAAAAAQAAAAAADmNlbGxUZXh0SXNIVE1MYm9vbAEAAAAIY2VsbFRl
eHRURVhUAAAAAQAAAAAACWhvcnpBbGlnbmVudW0AAAAPRVNsaWNlSG9yekFsaWduAAAAB2RlZmF1
bHQAAAAJdmVydEFsaWduZW51bQAAAA9FU2xpY2VWZXJ0QWxpZ24AAAAHZGVmYXVsdAAAAAtiZ0Nv
bG9yVHlwZWVudW0AAAARRVNsaWNlQkdDb2xvclR5cGUAAAAATm9uZQAAAAl0b3BPdXRzZXRsb25n
AAAAAAAAAApsZWZ0T3V0c2V0bG9uZwAAAAAAAAAMYm90dG9tT3V0c2V0bG9uZwAAAAAAAAALcmln
aHRPdXRzZXRsb25nAAAAAAA4QklNBCgAAAAAAAwAAAABP/AAAAAAAAA4QklNBBQAAAAAAAQAAAAC
OEJJTQQMAAAAAAuNAAAAAQAAAKAAAAAdAAAB4AAANmAAAAtxABgAAf/Y/+AAEEpGSUYAAQIAAEgA
SAAA/+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwM
DxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAU
Dg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAAR
CAAdAKADASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQAB
BQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWET
InGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N1
4/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcH
BgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJE
k1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH
/9oADAMBAAIRAxEAPwDe+vP106v9Xup4+JgV4767qDa83se527ea/b6V1Pt2rnP/AB1vrP8A6DB/
7bt/96kX/Gz/AMvYX/hQ/wDnxyH9Vem9GwejM6117D+2M6lksxcOss9TZUCW2Zez9zdv3/8AB11/
6RXoQxDDGcoCRP2yLWlLIchjGXCAt/4631n/ANBg/wDbVv8A71Jf+Ov9Zpj0cCf+Lt/96lmdQ6Bh
dJ+uDeldUsNPSnXtf6xMfq1hLqt1vt2+/wDVbrf8H+keu4t6C3c5vTugdIzul6ek5tsXvZH0vVdQ
9m//AK//ANcRn7EeGoA8Qu/lCo+6budUa2ea/wDHW+s/ejBHxrt/96kv/HX+s3+hwP8Atu3/AN6l
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
Q92Gnoy3001+nqTwz19UK6/2vG4LMa3qVjKXnFxbK72tsvPqGqs1P3WXmpv6V1bff+jYul+t+R9U
czonT8Xomez1OkNcynHcyxpsrsDPW/SOqYz7S59TLv8AhP0i0aP/ABod7vR37vSt3f0/+b2O9f6X
/A7kP/1zf8v/AOGCEsoM4kxyjh+UcO6owqJHFA3ubeR+rjen/tnFv6nlNw8TFsZe97g5znms766K
mVNf7nPHvd+Yxek/V+/oGb9cM7qfRMplwysRv2uprHsLbWvDW3D1GVs23M+n/wAJXv8A8KsT/wBc
3/L/APhgt76of8xPt1//ADZ3favSHrz9p/m93t/p3s/nP3PemZ8glZ4ckTw1RFQ4fFdijQABiRe4
7v8A/9kAOEJJTQQhAAAAAABVAAAAAQEAAAAPAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBw
AAAAEwBBAGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAgAEMAUwAyAAAAAQA4QklNBAYAAAAA
AAcABAAAAAEBAP/hOrBodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdp
bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6
eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IjMuMS4xLTExMSI+CiAgIDxyZGY6UkRGIHhtbG5z
OnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAg
IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhhcE1NPSJo
dHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdFJlZj0i
aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyI+CiAgICAgICAg
IDx4YXBNTTpEb2N1bWVudElEPnV1aWQ6Mjg4RDk0M0JENzgwREUxMTkwRjhEOUUxNTQ2MkY3NzA8
L3hhcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4YXBNTTpJbnN0YW5jZUlEPnV1aWQ6N0Q2NjdB
NkRFODgwREUxMTkxRUQ5RUU4Q0I4Mjk4RDU8L3hhcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4
YXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxz
dFJlZjppbnN0YW5jZUlEPnV1aWQ6MjU4RDk0M0JENzgwREUxMTkwRjhEOUUxNTQ2MkY3NzA8L3N0
UmVmOmluc3RhbmNlSUQ+CiAgICAgICAgICAgIDxzdFJlZjpkb2N1bWVudElEPnV1aWQ6MjU4RDk0
M0JENzgwREUxMTkwRjhEOUUxNTQ2MkY3NzA8L3N0UmVmOmRvY3VtZW50SUQ+CiAgICAgICAgIDwv
eGFwTU06RGVyaXZlZEZyb20+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRl
c2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4YXA9Imh0dHA6Ly9ucy5h
ZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eGFwOkNyZWF0ZURhdGU+MjAwOS0wOC0wNFQx
MToxNzoxNSswMjowMDwveGFwOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4YXA6TW9kaWZ5RGF0ZT4y
MDA5LTA4LTA0VDEzOjE3OjUzKzAyOjAwPC94YXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhhcDpN
ZXRhZGF0YURhdGU+MjAwOS0wOC0wNFQxMzoxNzo1MyswMjowMDwveGFwOk1ldGFkYXRhRGF0ZT4K
ICAgICAgICAgPHhhcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ1MyIFdpbmRvd3M8L3hh
cDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3Jp
cHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcv
ZGMvZWxlbWVudHMvMS4xLyI+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvanBlZzwvZGM6Zm9y
bWF0PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6
YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29t
L3Bob3Rvc2hvcC8xLjAvIj4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9z
aG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPnNSR0IgSUVDNjE5
NjYtMi4xPC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHBob3Rvc2hvcDpIaXN0b3J5
Lz4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFi
b3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8x
LjAvIj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAg
ICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgog
ICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+
CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAg
ICAgICAgIDx0aWZmOk5hdGl2ZURpZ2VzdD4yNTYsMjU3LDI1OCwyNTksMjYyLDI3NCwyNzcsMjg0
LDUzMCw1MzEsMjgyLDI4MywyOTYsMzAxLDMxOCwzMTksNTI5LDUzMiwzMDYsMjcwLDI3MSwyNzIs
MzA1LDMxNSwzMzQzMjsxNDVDNTg5NEYxQzQ3MjIwRURFNzVGRDg0NDRBOUIyMzwvdGlmZjpOYXRp
dmVEaWdlc3Q+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9u
IHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29t
L2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xNjc8L2V4aWY6UGl4
ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzA8L2V4aWY6UGl4
ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFj
ZT4KICAgICAgICAgPGV4aWY6TmF0aXZlRGlnZXN0PjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3
MTIyLDQwOTYyLDQwOTYzLDM3NTEwLDQwOTY0LDM2ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUw
LDM0ODUyLDM0ODU1LDM0ODU2LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3
MzgzLDM3Mzg0LDM3Mzg1LDM3Mzg2LDM3Mzk2LDQxNDgzLDQxNDg0LDQxNDg2LDQxNDg3LDQxNDg4
LDQxNDkyLDQxNDkzLDQxNDk1LDQxNzI4LDQxNzI5LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg3LDQx
OTg4LDQxOTg5LDQxOTkwLDQxOTkxLDQxOTkyLDQxOTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2
LDAsMiw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwyMywyNCwy
NSwyNiwyNywyOCwzMDs4MzEwOUFBMjA0RTkxMkJGODdFNUExQjhGN0M3RkUzRDwvZXhpZjpOYXRp
dmVEaWdlc3Q+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBt
ZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/+IMWElDQ19QUk9G
SUxFAAEBAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVD
IHNSR0IAAAAAAAAAAAAAAAEAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAA
AAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAA
AlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gAAAAUbWVh
cwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgM
dGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkAAGRlc2MA
AAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADz
UQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAA
AABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3
dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBE
ZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBE
ZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MA
AAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAA
AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVog
AAAAAABMCVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAA
AAAAQ1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZ
AF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA
6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGh
AakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgC
ogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPg
A+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcF
dwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdP
B2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJ
jwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwS
DCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4P
CQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF
EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAW
AxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoE
GioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoe
lB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNm
I5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo
1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6C
Lrcu7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ40
2DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtr
O6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJC
tUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3
Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFS
fFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1
W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tk
QGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25
bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4
EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKS
gvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN
/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQ
mfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pamm
GqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LC
szizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XA
cMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42
zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3Ird
EN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv7
7IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8
B/yY/Sn9uv5L/tz/bf///+4ADkFkb2JlAGQAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggL
DAoKCwoKDBAMDAwMDAwQDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEHBwcNDA0YEBAYFA4O
DhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgA
HgCnAwERAAIRAQMRAf/dAAQAFf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgID
AQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2Ei
cYEUMpGhBxWxQiPBUtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRF
RqS0VtNVKBry4/PE1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4
yNjo+Ck5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCES
MUEFURNhIgZxgZEyobHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZF
GidkdFU38qOzwygp0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3
OEhYaHiImKi4yNjo+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A6J+e
H5x+ZvIetabY6TbWk8V5bNPKbpJGYMsnAAcHTambHRaOOWJMidi4eq1BxkU83/6Gs/MH/q36X/yK
n/6rZm/yXj75OJ/KEu53/Q1n5g/9W/S/+Rc//VbH+S8ffJf5Ql3Nf9DW/mD/ANW/S/8AkVP/ANVs
f5Lx98k/n5dzf/Q1n5g/9W/S/wDkVP8A9Vsf5Lx98l/Py7nf9DWfmD/1b9L/AORU/wD1Wx/kvH3y
R/KEu53/AENZ+YP/AFb9L/5Fz/8AVbH+S8ffJP5+Xc1/0Nb+YP8A1b9L/wCRU/8A1Wx/kvH3yX8/
Lub/AOhrPzB/6t+l/wDIuf8A6rY/yXj75L/KEu53/Q1n5g/9W/S/+RU//VbH+S8ffJfz8u53/Q1n
5g/9W/S/+RU//VbH+S8ffJf5Ql3O/wChrPzB/wCrfpf/ACLn/wCq2P8AJePvkv8AKEu5r/oa38wf
+rfpf/Iuf/qtj/JePvkv5+Xc3/0NZ+YP/Vv0v/kVP/1Wx/kvH3yX8/Lud/0NZ+YP/Vv0v/kVP/1W
x/kvH3yX8/Lud/0NZ+YP/Vv0v/kVP/1Wx/kvH3yX8/Lua/6Gt/MH/q36X/yKn/6rY/yXj75L+fl3
Iof85RefTpUl59Q0z1EuEhC+nPx4tG71/vetUyP8mY+Krkz/ADsuG6TTyP8An/8Amf5t80WGg2en
6YrXcg9eYRTkRQrvJIf337K9P8rjlefQ4scDImTLDq5zlQCI81fnl+aXl7zrc+V7my0pZI5aW9y8
VwEkhf4o5f779pftf5XLBi0WKePjBkynqJifDQZl+X/5meafMHljzbf38dgmoaEJBZtAsgt2Zbdp
VMgaRmK8x8XFl+HMbUaaMJRAupt2LLIg3zD/AP/QE/8AOWv/AClWhf8AMDJ/yeObvsr6D/WdX2hz
CRflP5U8nWvlbVPPPnq0+t6JFLHYadasG/eSu4EkihSvLhWn+xly3WZZmYx4z6vqLHS4oiJlLkkf
5qeQ7Pyx5+FjC/oeXdUaK6066HxKlrMwD0JrX0Pi/wBjwy3S5zPHf8cWrPhEZ/0S9wufyw8u6dFb
w+WvIOn+ZtKaJGbVZ9RVZpCRuRyRx78ldVzWDUylfHOUJfzeF2HggfTESeT+ax5N8pef+Wo+QriH
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
/e5eKOPgNH0v/9k=

------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.fluidra.pt/export/sites/fluidrasites/Resources/css/Styles.css

body {
	text-align: center; color: rgb(39, 39, 39); font-family: Arial, =
Helvetica, sans-serif; font-size: 12px; behavior: =
url(../js/csshover3.htc);
}
div.arriba {
	height: 20px;
}
div.abajo {
	height: 20px;
}
.legal {
	height: 573px; overflow: hidden;
}
img {
	border: 0px currentColor; border-image: none; behavior: =
url(../js/iepngfix.htc);
}
p {
	padding: 0px; margin-top: 14px;
}
form {
	margin: 0px; padding: 0px;
}
input {
	border: 2px inset rgb(164, 164, 164);
}
select {
	border: 2px inset rgb(164, 164, 164); font-size: 11px;
}
textarea {
	border: 2px inset rgb(164, 164, 164);
}
.clearfix::after {
	margin: 0px; padding: 0px; height: 0px; clear: both; font-size: 0px; =
display: block; visibility: hidden; content: ".";
}
.clearfix {
	padding: 0px; display: inline-block;
}
.derecha {
	float: right;
}
#header {
	background-position: 0px 0px; width: 960px; height: 109px; =
margin-right: auto; margin-left: auto; background-image: =
url("../img/logo_fluidra.gif"); background-repeat: no-repeat;
}
.idiomas {
	width: 958px; height: 52px; text-align: right; color: rgb(1, 156, 223); =
line-height: 18px; padding-top: 20px; padding-right: 2px; font-size: =
14px; float: left;
}
.idiomas a {
	color: rgb(153, 153, 153); text-decoration: none;
}
.idiomas a:hover {
	color: rgb(1, 156, 223); text-decoration: none;
}
#menu {
	width: 960px; height: 34px; float: left; z-index: 30;
}
.menu2 {
	list-style: none; margin: 0px; padding: 0px; width: 960px; height: =
34px; float: left; position: relative;
}
.menu2 li.top {
	background: url("../img/btn_sep.png") no-repeat right top; height: =
34px; padding-right: 3px; float: left; display: block; position: =
relative;
}
.menu2 li.top2 {
	height: 34px; float: right; display: block; position: relative;
}
.menu2 li a.top_link {
	background: url("../img/btn_gral.png") repeat-x left top; padding: 0px; =
width: 144px; height: 34px; color: rgb(47, 47, 47); line-height: 34px; =
font-family: Arial, Helvetica, sans-serif; font-size: 14px; =
text-decoration: none; float: left; display: block; cursor: pointer;
}
.menu2 li a.top_link_act {
	background: url("../img/btn_gral.png") repeat-x left bottom; padding: =
0px; height: 34px; color: rgb(255, 255, 255); line-height: 34px; =
font-family: Arial, Helvetica, sans-serif; font-size: 14px; =
text-decoration: none; float: left; display: block; cursor: pointer;
}
.menu2 li a.top_link:hover {
	background: url("../img/btn_gral.png") repeat-x left -34px; color: =
rgb(255, 255, 255);
}
.menu2 li:hover > a.top_link {
	background: url("../img/btn_gral.png") repeat-x left -34px; color: =
rgb(255, 255, 255);
}
.menu2 table {
	left: 0px; top: 0px; width: 0px; height: 0px; border-collapse: =
collapse; position: absolute;
}
.menu2 li a.top_link1 {
	background: url("../img/btn_home.png") no-repeat left top; padding: =
0px; width: 195px; height: 34px; color: rgb(47, 47, 47); line-height: =
34px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; =
text-decoration: none; float: left; display: block; cursor: pointer;
}
.menu2 li a.top_link1_act {
	background: url("../img/btn_home.png") no-repeat left bottom; padding: =
0px; width: 195px; height: 34px; color: rgb(255, 255, 255); line-height: =
34px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; =
text-decoration: none; float: left; display: block; cursor: pointer;
}
.menu2 li a.top_link1:hover {
	background: url("../img/btn_home.png") no-repeat left -34px; color: =
rgb(255, 255, 255);
}
.menu2 li:hover > a.top_link1 {
	background: url("../img/btn_home.png") no-repeat left -34px; color: =
rgb(255, 255, 255);
}
.menu2 li a.top_link2 {
	background: url("../img/btn_der.png") no-repeat right top; padding: =
0px; width: 174px; height: 34px; color: rgb(47, 47, 47); line-height: =
34px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; =
text-decoration: none; float: left; display: block; cursor: pointer;
}
.menu2 li a.top_link2_act {
	background: url("../img/btn_der.png") no-repeat right bottom; padding: =
0px; width: 174px; height: 34px; color: rgb(255, 255, 255); line-height: =
34px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; =
text-decoration: none; float: left; display: block; cursor: pointer;
}
.menu2 li a.top_link2:hover {
	background: url("../img/btn_der.png") no-repeat right -34px; color: =
rgb(255, 255, 255);
}
.menu2 li:hover > a.top_link2 {
	background: url("../img/btn_der.png") no-repeat right -34px; color: =
rgb(255, 255, 255);
}
.menu2 a:hover {
	visibility: visible;
}
.menu2 li:hover {
	position: relative; z-index: 200;
}
.menu2 ul {
	list-style: none; margin: 0px; padding: 0px; left: -9999px; top: =
-9999px; width: 0px; height: 0px; position: absolute; background-color: =
rgb(195, 195, 195);
}
.menu2 :hover ul ul {
	list-style: none; margin: 0px; padding: 0px; left: -9999px; top: =
-9999px; width: 0px; height: 0px; position: absolute; background-color: =
rgb(195, 195, 195);
}
.menu2 :hover ul :hover ul ul {
	list-style: none; margin: 0px; padding: 0px; left: -9999px; top: =
-9999px; width: 0px; height: 0px; position: absolute; background-color: =
rgb(195, 195, 195);
}
.menu2 :hover ul :hover ul :hover ul ul {
	list-style: none; margin: 0px; padding: 0px; left: -9999px; top: =
-9999px; width: 0px; height: 0px; position: absolute; background-color: =
rgb(195, 195, 195);
}
.menu2 :hover ul :hover ul :hover ul :hover ul ul {
	list-style: none; margin: 0px; padding: 0px; left: -9999px; top: =
-9999px; width: 0px; height: 0px; position: absolute; background-color: =
rgb(195, 195, 195);
}
.menu2 :hover ul.sub {
	left: 0px; top: 34px; width: 144px; height: auto; padding-top: 1px; =
white-space: nowrap;
}
.menu2 :hover ul.sub li {
	height: 22px; margin-bottom: 1px; margin-left: 1px; float: left; =
display: block; position: relative;
}
.menu2 :hover ul.sub li a {
	background: rgb(206, 206, 206); width: 142px; height: 22px; text-align: =
center; color: rgb(53, 53, 53); line-height: 22px; font-size: 13px; =
text-decoration: none; display: block;
}
.menu2 :hover ul.sub li a:hover {
	background: rgb(236, 236, 236); color: rgb(53, 53, 53);
}
.menu2 :hover ul :hover ul {
	left: 178px; top: -4px; width: 178px; height: auto; white-space: =
nowrap; z-index: 200;
}
.menu2 :hover ul :hover ul :hover ul {
	left: 178px; top: -4px; width: 178px; height: auto; white-space: =
nowrap; z-index: 200;
}
.menu2 :hover ul :hover ul :hover ul :hover ul {
	left: 178px; top: -4px; width: 178px; height: auto; white-space: =
nowrap; z-index: 200;
}
.menu2 :hover ul :hover ul :hover ul :hover ul :hover ul {
	left: 178px; top: -4px; width: 178px; height: auto; white-space: =
nowrap; z-index: 200;
}
#Slideshow {
	width: 714px; height: 386px; overflow: hidden; margin-left: 12px; =
float: left; position: relative;
}
#SlideRepeat {
	position: relative;
}
.slidePrev {
	position: relative;
}
.slideNext {
	position: relative;
}
#SlideRepeat {
	background-position: 0px 0px; width: 714px; height: 386px; overflow: =
hidden; z-index: 29; background-image: url("../img/over_slide.png"); =
background-repeat: no-repeat; behavior: url(../js/iepngfix.htc);
}
#Slides {
	background: rgb(244, 245, 246); width: 714px; height: 386px; overflow: =
hidden; margin-top: -386px; position: relative; -ms-overflow-x: hidden; =
-ms-overflow-y: hidden;
}
a.slidePrev {
	width: 58px; height: 386px; margin-top: -386px; display: block; =
z-index: 30;
}
a.slideNext {
	width: 58px; height: 386px; margin-top: -386px; display: block; =
z-index: 30;
}
a.slidePrev {
	background-position: 0px 0px; margin-left: 0px; float: left; z-index: =
30; background-image: url("../img/slide_fleha_izq.png"); =
background-repeat: no-repeat; behavior: url(../js/iepngfix.htc);
}
a.slideNext {
	background-position: 0px 0px; margin-right: 0px; float: right; z-index: =
31; background-image: url("../img/slide_fleha_der.png"); =
background-repeat: no-repeat; behavior: url(../js/iepngfix.htc);
}
a.slidePrev:hover {
	background-position: 0px -386px; behavior: url(Scripts/iepngfix.htc);
}
a.slideNext:hover {
	background-position: 0px -386px; behavior: url(Scripts/iepngfix.htc);
}
.slide_inf {
	width: 714px; height: 50px; margin-top: 14px; margin-left: 12px; float: =
left; position: relative;
}
.slide_inf_in {
	width: 652px; height: 50px; overflow: hidden; float: left; position: =
relative;
}
a.slide_inf_Prev {
	width: 31px; height: 50px; display: block; position: relative; z-index: =
30;
}
a.slide_inf_Next {
	width: 31px; height: 50px; display: block; position: relative; z-index: =
30;
}
a.slide_inf_Prev {
	background-position: 0px 0px; margin-left: 0px; float: left; z-index: =
30; background-image: url("../img/flecha_izq_silide_inf.png"); =
background-repeat: no-repeat;
}
a.slide_inf_Next {
	background-position: 0px 0px; margin-right: 0px; float: right; z-index: =
31; background-image: url("../img/flecha_der_silide_inf.png"); =
background-repeat: no-repeat;
}
a.slide_inf_Prev:hover {
	background-position: 0px -50px;
}
a.slide_inf_Next:hover {
	background-position: 0px -50px;
}
a.slide_img_inf {
	background-position: 0px 0px; width: 146px; height: 48px; =
padding-bottom: 2px; margin-right: 22px; float: left; background-repeat: =
no-repeat;
}
#contenido {
	width: 960px; margin-right: auto; margin-left: auto; z-index: 200; =
min-height: 598px;
}
.todo {
	background-position: left bottom; width: 960px; padding-top: 19px; =
float: left; background-image: url("../img/bg_home.jpg"); =
background-repeat: no-repeat;
}
.home_izq {
	width: 197px; padding-right: 19px; float: left;
}
.home_der {
	width: 743px; float: right;
}
.lateral_izq {
	background-position: 154px -150px; width: 175px; height: 143px; =
padding-top: 7px; padding-bottom: 10px; padding-left: 13px; float: left; =
background-image: url("../img/btn_lateral_izq.png"); background-repeat: =
no-repeat;
}
.vertical {
	visibility: hidden;
}
.lateral_izq:hover {
	background-position: 154px 7px; width: 175px; height: 143px; float: =
left; background-image: url("../img/btn_lateral_izq.png"); =
background-repeat: no-repeat;
}
.lateral_izq a {
	background-position: 0px 9px; width: 175px; height: 143px; float: left; =
display: block; background-repeat: no-repeat;
}
.lateral_izq a img {
	background-position: center; margin-top: 8px; float: left;
}
.lateral_izq a {
	opacity: 0.8; -moz-opacity: 0.8;
}
.lateral_izq a:hover {
	opacity: 1; -moz-opacity: 1;
}
* html .lateral_izq a {
=09
}
* html .lateral_izq a:hover {
=09
}
.box {
	background: url("../img/corner_der.gif") no-repeat right top; width: =
742px; padding-left: 1px; float: left;
}
.box_top {
	background: url("../img/corner_izq.gif") no-repeat left top; width: =
737px; height: 5px; float: left;
}
.box_top img {
	float: left;
}
.box_linea_top {
	width: 732px; border-top-color: rgb(205, 205, 205); border-top-width: =
1px; border-top-style: solid; float: right;
}
.box_mid {
	width: 740px; border-right-color: rgb(205, 205, 205); =
border-left-color: rgb(205, 205, 205); border-right-width: 1px; =
border-left-width: 1px; border-right-style: solid; border-left-style: =
solid; float: left;
}
.box_bot {
	background: url("../img/corner_izq_inf.gif") no-repeat left top; width: =
742px; height: 5px; float: left;
}
.box_bot img {
	float: right;
}
.box_linea_bot {
	width: 732px; height: 4px; border-bottom-color: rgb(205, 205, 205); =
border-bottom-width: 1px; border-bottom-style: solid; float: right;
}
.box1 {
	height: 32px;
}
.box_bg1 {
	background-position: left 1px; width: 742px; height: 32px; =
margin-bottom: 18px; float: left; background-image: =
url("../img/bg_box_home_der_sup.gif"); background-repeat: repeat-x;
}
.box1_a {
	background-position: 5px 1px; width: 742px; height: 32px; float: left; =
background-repeat: no-repeat;
}
.box_bg1_a {
	background-image: url("../img/bg_home_tit.jpg");
}
.box_mid1 {
	height: 22px; text-align: left; color: rgb(120, 120, 120); line-height: =
22px;
}
.box_mid1 span {
	padding-left: 90px;
}
.box_bg2 {
	float: left; background-color: rgb(255, 255, 255);
}
.box_mid2 {
	width: 704px; text-align: left; padding-right: 18px; padding-bottom: =
18px; padding-left: 18px; border-right-color: rgb(205, 205, 205); =
border-left-color: rgb(205, 205, 205); border-right-width: 1px; =
border-left-width: 1px; border-right-style: solid; border-left-style: =
solid; float: left;
}
#loading {
	width: 35px; margin-right: auto; margin-left: auto;
}
span.info {
	position: relative; z-index: 24;
}
span.info:hover {
	z-index: 25;
}
span.info span {
	display: none;
}
span.info:hover span {
	padding: 2px; border: 1px solid rgb(73, 96, 129); border-image: none; =
left: 3em; top: 2em; text-align: center; color: rgb(0, 0, 0); display: =
block; position: absolute; background-color: rgb(237, 248, 254);
}
.box_bg3 {
	background-position: 0px 0px; margin-bottom: 140px; background-repeat: =
repeat-x; background-color: rgb(247, 247, 247);
}
.box3 {
	background: url("../img/corner_der.gif") no-repeat right top; width: =
196px; padding-left: 1px; float: left;
}
.box_top3 {
	background: url("../img/corner_izq.gif") no-repeat left top; width: =
192px; height: 5px; padding-left: 5px; float: left;
}
.box_linea_top3 {
	width: 187px; border-top-color: rgb(205, 205, 205); border-top-width: =
1px; border-top-style: solid; float: left;
}
.box_mid3 {
	width: 194px !important; border-right-color: rgb(205, 205, 205); =
border-left-color: rgb(205, 205, 205); border-right-width: 1px; =
border-left-width: 1px; border-right-style: solid; border-left-style: =
solid; float: left;
}
.box_bot3 {
	background: url("../img/corner_izq_inf.gif") no-repeat left top; width: =
196px; height: 5px; float: left;
}
.box_bot3 img {
	float: right;
}
.box_linea_bot3 {
	width: 187px; height: 4px; border-bottom-color: rgb(205, 205, 205); =
border-bottom-width: 1px; border-bottom-style: solid; float: right;
}
.box_tit1 {
	background-position: left 1px; width: 100%; height: 32px; =
margin-bottom: 18px; float: left; background-image: =
url("../img/bg_box_home_der_sup.gif"); background-repeat: repeat-x;
}
a.backwards {
	color: rgb(48, 48, 48); padding-top: 1px; padding-right: 5px; =
padding-left: 5px; font-size: 12px; font-weight: bold; text-decoration: =
none; margin-top: 0px; display: block;
}
.news {
	color: rgb(48, 48, 48); padding-top: 1px; padding-right: 5px; =
padding-left: 5px; font-size: 12px; font-weight: bold; text-decoration: =
none; margin-top: 0px; display: block;
}
a.backwards:hover {
	color: rgb(88, 88, 88);
}
.news:hover {
	color: rgb(88, 88, 88);
}
.box_bg1_b {
	background-image: url("../img/bg_noticias_tit.jpg");
}
.noticia {
	width: 704px; padding-top: 20px; float: left;
}
.noticia_tit {
	background-position: 0px 0px; width: 699px; padding-left: 5px; float: =
left; background-image: url("../img/bg_izq_solapa_tit_noticas.gif"); =
background-repeat: no-repeat; background-color: rgb(237, 248, 254);
}
.noticia_tit img {
	float: right;
}
.descargas_tit img {
	float: right;
}
.delegaciones_tit_in img {
	float: right;
}
.noticia_tit span {
	line-height: 20px; font-weight: bold; float: left;
}
.noticia_txt {
	width: 668px; padding-top: 1px; padding-right: 18px; padding-left: =
18px; font-size: 12px; float: left;
}
.noticia_year {
	width: 75px; height: 18px; text-align: center; line-height: 18px; =
font-size: 12px; font-weight: bold; float: left;
}
.noticia_year a {
	background-position: 0px 0px; width: 100%; color: rgb(67, 67, 67); =
text-decoration: none; display: block; background-image: =
url("../img/btn_year.gif"); background-repeat: no-repeat;
}
.btn_year {
	background-position: right 0px; color: rgb(255, 255, 255); =
background-image: url("../img/btn_year.gif");
}
.noticia_year a:hover {
	background-position: right 0px; color: rgb(255, 255, 255); =
background-repeat: no-repeat;
}
.noticia_pie {
	width: 704px; height: 20px; padding-top: 20px; float: left;
}
.noticia_pagina {
	width: 280px; height: 18px; text-align: center; padding-left: 267px; =
margin-top: 3px; float: left;
}
.btn_pag {
	width: 19px; height: 20px; color: rgb(67, 67, 67); line-height: 20px; =
font-size: 12px; text-decoration: none; margin-right: 6px !important; =
float: left; display: block; background-image: =
url("../img/btn_pag.gif"); background-repeat: no-repeat;
}
.btn_pag:hover {
	background-position: right 0px; width: 19px; height: 20px; color: =
rgb(67, 67, 67); line-height: 20px; font-size: 12px; text-decoration: =
none; margin-right: 3px; float: left; display: block; background-repeat: =
no-repeat; argin-right: 6px;
}
.descargas_tit {
	background-position: 0px 18px; width: 704px; height: 24px; color: =
rgb(0, 0, 0); line-height: 24px; padding-top: 18px; padding-bottom: =
30px; font-size: 10px; float: left; background-image: =
url("../img/bg_solapa_tit_descargas.gif"); background-repeat: repeat-x;
}
img.descargas_tit_izq {
	float: left;
}
.descargas_tit_cen {
	padding-right: 25px; padding-left: 5px; float: left;
}
.descargas_columna1 {
	width: 90px;
}
.descargas_columna1_bold {
	width: 90px; font-weight: bold;
}
.descargas_columna2 {
	width: 210px; font-size: 10px;
}
.descargas_columna3 {
	width: 80px;
}
.descargas_columna4 {
	width: 80px;
}
img.descargas_tit_der {
	float: right;
}
.descargas_columna5 {
	float: right;
}
.descargas_columna5 img {
	margin-right: 6px;
}
.descargas_pie {
	width: 100%; height: 20px; padding-top: 20px; float: left;
}
.descargas_pagina {
	height: 18px; text-align: center; float: right;
}
.box_descargas {
	background: url("../img/corner_der_descargas.gif") no-repeat right top; =
width: 704px; float: left;
}
.box_descargas1 {
	width: 704px; float: left;
}
.box_bg_descargas {
	height: 81px; float: left; background-color: rgb(236, 248, 253);
}
.box_bg_descargas1 {
	float: left;
}
.box_mid_descargas {
	width: 704px; text-align: left; float: left;
}
.box_top_descargas {
	background: url("../img/corner_izq_descargas.gif") no-repeat left top; =
width: 704px; height: 9px; float: left;
}
.box_top_descargas1 {
	width: 704px; height: 9px; float: left;
}
.box_top_descargas img {
	float: left;
}
.box_top_descargas1 img {
	float: left;
}
.box_bot_descargas {
	background: url("../img/corner_izq_inf_descargas.gif") no-repeat left =
top; width: 704px; height: 9px; float: left;
}
.box_bot_descargas1 {
	width: 704px; height: 9px; float: left;
}
.box_bot_descargas img {
	float: right;
}
.box_bot_descargas1 img {
	float: right;
}
.descargas {
	width: 694px; height: 63px; text-align: justify; padding-right: 5px; =
padding-left: 5px; font-size: 12px; float: left;
}
.marcas {
	width: 694px; text-align: justify; padding-right: 5px; padding-left: =
5px; font-size: 12px; float: left;
}
.marcas_columna1 {
	width: 160px;
}
.marcas_columna2 {
	width: 474px; font-size: 12px; float: right;
}
.marcas_tit {
	line-height: 18px; clear: both; font-size: 16px; font-weight: bold;
}
.marcas_tit a {
	color: rgb(120, 120, 120); text-decoration: none;
}
.marcas_tit a:hover {
	font-size: 18px; text-decoration: underline;
}
.marcas_desc {
	margin-bottom: 0px;
}
input[type=3D'select'] {
=09
}
.box_bg_delegaciones {
	background-position: 0px 0px; background-repeat: repeat-x;
}
.delegaciones_txt {
	width: 440px; text-align: justify; padding-top: 10px; padding-right: =
35px; float: left;
}
.delegaciones_tit {
	width: 24px; height: 101px; float: left; background-image: =
url("../img/btn_lateral.png"); background-repeat: no-repeat;
}
.delegaciones_buscar {
	height: 80px; padding-top: 10px; padding-left: 10px; float: left; =
position: relative;
}
.delegaciones_buscar span {
	line-height: 22px;
}
.delegaciones_buscar select {
	margin: 0px 0px 0px 6px; width: 135px; height: 22px;
}
.buscar {
	bottom: 0px; margin-left: 96px !important; position: absolute;
}
.delegaciones_box {
	width: 215px; padding-right: 14px; font-size: 10px; float: left;
}
.delegaciones_box_der {
	width: 225px; font-size: 10px; float: right;
}
.delegaciones_tit_in {
	background-position: 0px 0px; width: 219px; height: 16px; padding-left: =
6px; font-weight: bold; float: left; background-image: =
url("../img/bg_izq_solapa_tit_noticas.gif"); background-repeat: =
no-repeat; background-color: rgb(237, 248, 254);
}
.delegaciones_txt_in {
	width: 219px; padding-top: 5px; padding-left: 6px; float: left;
}
.delegaciones_tit_in span {
	line-height: 16px; float: left;
}
#ok {
	margin: 15px 10px; border: 3px solid rgb(21, 251, 59); text-align: =
center; color: rgb(95, 106, 95); font-size: 14px; font-weight: bold;
}
#Error {
	margin: 15px 10px; border: 3px solid rgb(248, 67, 31); text-align: =
center; color: rgb(95, 106, 95); font-size: 14px; font-weight: bold;
}
.contacto form td {
	margin: 0px; color: rgb(99, 99, 99); padding-right: 13px; =
padding-bottom: 18px;
}
.required {
	margin: 0px; padding: 0px; width: 250px;
}
.required email {
	margin: 0px; padding: 0px; width: 250px;
}
.form_contacto_txt {
	margin: 0px; padding: 0px; width: 250px;
}
em.error {
	margin: 5px 0px 0px; color: rgb(255, 0, 0); clear: both; font-size: =
12px; display: block;
}
.form_contacto_txt2 {
	margin: 0px; padding: 0px; width: 250px; height: 100px;
}
.box_contacto_der {
	width: 326px; text-align: justify; color: rgb(160, 160, 160); =
font-size: 9px; float: right;
}
.box_contacto_der img {
	margin-bottom: 20px; float: left;
}
.box_contacto_der span {
	width: 326px; float: left;
}
.box_contacto {
	background: url("../img/corner_der_descargas.gif") no-repeat right top; =
width: 370px; float: left;
}
.box_bg_contacto {
	float: left; background-color: rgb(236, 248, 253);
}
.box_mid_contacto {
	width: 370px; text-align: left; padding-top: 20px; float: left;
}
.box_bot_contacto {
	background: url("../img/corner_izq_inf_descargas.gif") no-repeat left =
top; width: 370px; height: 9px; float: left;
}
.box_bot_contacto img {
	float: right;
}
.adress {
	left: 0px; top: 0px; width: 190px; height: 79px; text-align: right; =
color: rgb(100, 100, 100); line-height: 14px; padding-top: 5px; =
font-size: 9px; margin-top: 30px; margin-bottom: 0px; margin-left: =
136px; position: absolute; z-index: 12; background-image: =
url("../img/bg_adress.png"); background-repeat: no-repeat;
}
.adress a {
	color: rgb(1, 156, 223); text-decoration: none;
}
.adress a:hover {
	text-decoration: underline;
}
.arrow {
	text-align: left; margin-top: -55px; margin-left: 5px;
}
.iframe_adress {
	left: 0px; top: 0px; position: absolute; z-index: 11;
}
.footer {
	width: 1024px; height: 50px; float: left;
}
.footer span a {
	text-align: left; color: rgb(153, 153, 153); padding-top: 20px; =
padding-left: 13px; font-size: 14px; text-decoration: none; float: left; =
display: block;
}
.footer span a:hover {
	text-decoration: underline; float: left; display: block;
}
.footer img {
	margin-top: 10px; margin-right: 20px !important; float: right;
}
ul.map {
	padding-left: 0px; margin-left: 0px; list-style-type: none;
}
ul.seccion {
	margin-bottom: 41px; margin-left: 15px; float: left; display: block; =
disk-style-type: none;
}
a.bsub {
	color: rgb(57, 57, 57); font-size: 13px; font-weight: bold; =
text-decoration: none; margin-bottom: 9px;
}
a.bsub:hover {
	color: rgb(110, 110, 110); padding-left: 2px; margin-left: -5px; =
border-left-color: rgb(110, 110, 110); border-left-style: solid; =
border-left-size: 2px;
}
li.subseccion {
	margin-left: 9px; list-style-type: none;
}
a.asub {
	color: rgb(57, 57, 57); font-size: 12px; font-weight: bold; =
text-decoration: none;
}
a.asub:hover {
	color: rgb(110, 110, 110); padding-left: 2px; margin-left: -5px; =
border-left-color: rgb(110, 110, 110); border-left-style: solid; =
border-left-size: 2px;
}
.banner_pdb {
	width: 722px; height: 81px; margin-top: 15px; margin-left: 12px; float: =
left;
}
.banner_pdb h2 {
	margin: 0px; padding: 0px; color: rgb(255, 255, 255); line-height: =
81px; letter-spacing: -1px; font-family: "Lucida Sans Unicode", "Lucida =
Grande", sans-serif; font-size: 28px; font-weight: normal;
}
.banner_pdb h2 a {
	background-position: top; margin: 0px; padding: 0px; width: 722px; =
color: rgb(255, 255, 255); text-decoration: none; display: block; =
background-image: url("../img/bkg_banner_pdb.png"); background-repeat: =
no-repeat;
}
.banner_pdb h2 a:hover {
	background-position: bottom; color: rgb(0, 82, 183);
}
video {
	-webkit-transform-style: preserve-3d;
}

------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://catalogo.astralpool.com/por/files/assets/flash/pages/page0001_s.jpg

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCADIAI0DASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD43ooo
qgCiiigAooooAKKKKACiiigB8Mck0qQxKXkdgqqOpJ6Cr/8AYOrf8+T/APfQ/wAag0WWOHWbKaVg
scdxGzMewDAk171oPxJ8B6dHpKyeGdPuHsIXieSWSN/tBdQXZxtBJDglfmyAxGcDFdmFoUqsW5yt
80vzJk2jwz+wdW/58n/76H+NH9g6t/z5P/30P8a9xt/ih4etpEf+wNClgWW7khimtoCNsmBErMEB
by/m+pPbAp8nxI+HsvnRt4Xso1lvJrrfHNEGTzN6iNRs+4qMuB03IGAGSK6vqOH/AOfn4x/zJ5n2
PC/7B1b/AJ8n/wC+h/jSroGsMwVbGQknAAI5/WvWY/GHh2yEdmtnai2jyVkmVGuGIkJIYkbcEZQ8
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

------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://catalogo.astralpool.com/por/files/flash/swfobject.js

/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> =0A=
	is released under the MIT License =
<http://www.opensource.org/licenses/mit-license.php> =0A=
*/=0A=
var swfobject=3Dfunction(){var =
D=3D"undefined",r=3D"object",S=3D"Shockwave =
Flash",W=3D"ShockwaveFlash.ShockwaveFlash",q=3D"application/x-shockwave-f=
lash",R=3D"SWFObjectExprInst",x=3D"onreadystatechange",O=3Dwindow,j=3Ddoc=
ument,t=3Dnavigator,T=3Dfalse,U=3D[h],o=3D[],N=3D[],I=3D[],l,Q,E,B,J=3Dfa=
lse,a=3Dfalse,n,G,m=3Dtrue,M=3Dfunction(){var aa=3Dtypeof =
j.getElementById!=3DD&&typeof j.getElementsByTagName!=3DD&&typeof =
j.createElement!=3DD,ah=3Dt.userAgent.toLowerCase(),Y=3Dt.platform.toLowe=
rCase(),ae=3DY?/win/.test(Y):/win/.test(ah),ac=3DY?/mac/.test(Y):/mac/.te=
st(ah),af=3D/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d=
+)?).*$/,"$1")):false,X=3D!+"\v1",ag=3D[0,0,0],ab=3Dnull;if(typeof =
t.plugins!=3DD&&typeof =
t.plugins[S]=3D=3Dr){ab=3Dt.plugins[S].description;if(ab&&!(typeof =
t.mimeTypes!=3DD&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=3Dtru=
e;X=3Dfalse;ab=3Dab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=3DparseInt(a=
b.replace(/^(.*)\..*$/,"$1"),10);ag[1]=3DparseInt(ab.replace(/^.*\.(.*)\s=
.*$/,"$1"),10);ag[2]=3D/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-=
Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=3DD){try{var =
ad=3Dnew =
ActiveXObject(W);if(ad){ab=3Dad.GetVariable("$version");if(ab){X=3Dtrue;a=
b=3Dab.split(" =
")[1].split(",");ag=3D[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[=
2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=3D=
function(){if(!M.w3){return}if((typeof =
j.readyState!=3DD&&j.readyState=3D=3D"complete")||(typeof =
j.readyState=3D=3DD&&(j.getElementsByTagName("body")[0]||j.body))){f()}if=
(!J){if(typeof =
j.addEventListener!=3DD){j.addEventListener("DOMContentLoaded",f,false)}i=
f(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=3D=3D"complete"=
){j.detachEvent(x,arguments.callee);f()}});if(O=3D=3Dtop){(function(){if(=
J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(argu=
ments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/lo=
aded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}=
f()})()}s(f)}}();function f(){if(J){return}try{var =
Z=3Dj.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode=
.removeChild(Z)}catch(aa){return}J=3Dtrue;var X=3DU.length;for(var =
Y=3D0;Y<X;Y++){U[Y]()}}function =
K(X){if(J){X()}else{U[U.length]=3DX}}function s(Y){if(typeof =
O.addEventListener!=3DD){O.addEventListener("load",Y,false)}else{if(typeo=
f =
j.addEventListener!=3DD){j.addEventListener("load",Y,false)}else{if(typeo=
f O.attachEvent!=3DD){i(O,"onload",Y)}else{if(typeof =
O.onload=3D=3D"function"){var =
X=3DO.onload;O.onload=3Dfunction(){X();Y()}}else{O.onload=3DY}}}}}functio=
n h(){if(T){V()}else{H()}}function V(){var =
X=3Dj.getElementsByTagName("body")[0];var =
aa=3DC(r);aa.setAttribute("type",q);var Z=3DX.appendChild(aa);if(Z){var =
Y=3D0;(function(){if(typeof Z.GetVariable!=3DD){var =
ab=3DZ.GetVariable("$version");if(ab){ab=3Dab.split(" =
")[1].split(",");M.pv=3D[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(a=
b[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.re=
moveChild(aa);Z=3Dnull;H()})()}else{H()}}function H(){var =
ag=3Do.length;if(ag>0){for(var af=3D0;af<ag;af++){var Y=3Do[af].id;var =
ab=3Do[af].callbackFn;var aa=3D{success:false,id:Y};if(M.pv[0]>0){var =
ae=3Dc(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(=
ab){aa.success=3Dtrue;aa.ref=3Dz(Y);ab(aa)}}else{if(o[af].expressInstall&=
&A()){var =
ai=3D{};ai.data=3Do[af].expressInstall;ai.width=3Dae.getAttribute("width"=
)||"0";ai.height=3Dae.getAttribute("height")||"0";if(ae.getAttribute("cla=
ss")){ai.styleclass=3Dae.getAttribute("class")}if(ae.getAttribute("align"=
)){ai.align=3Dae.getAttribute("align")}var ah=3D{};var =
X=3Dae.getElementsByTagName("param");var ac=3DX.length;for(var =
ad=3D0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!=3D"movie"=
){ah[X[ad].getAttribute("name")]=3DX[ad].getAttribute("value")}}P(ai,ah,Y=
,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var =
Z=3Dz(Y);if(Z&&typeof =
Z.SetVariable!=3DD){aa.success=3Dtrue;aa.ref=3DZ}ab(aa)}}}}}function =
z(aa){var X=3Dnull;var =
Y=3Dc(aa);if(Y&&Y.nodeName=3D=3D"OBJECT"){if(typeof =
Y.SetVariable!=3DD){X=3DY}else{var =
Z=3DY.getElementsByTagName(r)[0];if(Z){X=3DZ}}}return X}function =
A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function =
P(aa,ab,X,Z){a=3Dtrue;E=3DZ||null;B=3D{success:false,id:X};var =
ae=3Dc(X);if(ae){if(ae.nodeName=3D=3D"OBJECT"){l=3Dg(ae);Q=3Dnull}else{l=3D=
ae;Q=3DX}aa.id=3DR;if(typeof =
aa.width=3D=3DD||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.wi=
dth=3D"310"}if(typeof =
aa.height=3D=3DD||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa=
.height=3D"137"}j.title=3Dj.title.slice(0,47)+" - Flash Player =
Installation";var =
ad=3DM.ie&&M.win?"ActiveX":"PlugIn",ac=3D"MMredirectURL=3D"+O.location.to=
String().replace(/&/g,"%26")+"&MMplayerType=3D"+ad+"&MMdoctitle=3D"+j.tit=
le;if(typeof =
ab.flashvars!=3DD){ab.flashvars+=3D"&"+ac}else{ab.flashvars=3Dac}if(M.ie&=
&M.win&&ae.readyState!=3D4){var =
Y=3DC("div");X+=3D"SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.ins=
ertBefore(Y,ae);ae.style.display=3D"none";(function(){if(ae.readyState=3D=
=3D4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}=
})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=3D4){var =
X=3DC("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y=
),X);Y.style.display=3D"none";(function(){if(Y.readyState=3D=3D4){Y.paren=
tNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.par=
entNode.replaceChild(g(Y),Y)}}function g(ab){var =
aa=3DC("div");if(M.win&&M.ie){aa.innerHTML=3Dab.innerHTML}else{var =
Y=3Dab.getElementsByTagName(r)[0];if(Y){var ad=3DY.childNodes;if(ad){var =
X=3Dad.length;for(var =
Z=3D0;Z<X;Z++){if(!(ad[Z].nodeType=3D=3D1&&ad[Z].nodeName=3D=3D"PARAM")&&=
!(ad[Z].nodeType=3D=3D8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}retur=
n aa}function u(ai,ag,Y){var X,aa=3Dc(Y);if(M.wk&&M.wk<312){return =
X}if(aa){if(typeof ai.id=3D=3DD){ai.id=3DY}if(M.ie&&M.win){var =
ah=3D"";for(var ae in =
ai){if(ai[ae]!=3DObject.prototype[ae]){if(ae.toLowerCase()=3D=3D"data"){a=
g.movie=3Dai[ae]}else{if(ae.toLowerCase()=3D=3D"styleclass"){ah+=3D' =
class=3D"'+ai[ae]+'"'}else{if(ae.toLowerCase()!=3D"classid"){ah+=3D" =
"+ae+'=3D"'+ai[ae]+'"'}}}}}var af=3D"";for(var ad in =
ag){if(ag[ad]!=3DObject.prototype[ad]){af+=3D'<param name=3D"'+ad+'" =
value=3D"'+ag[ad]+'" />'}}aa.outerHTML=3D'<object =
classid=3D"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</obje=
ct>";N[N.length]=3Dai.id;X=3Dc(ai.id)}else{var =
Z=3DC(r);Z.setAttribute("type",q);for(var ac in =
ai){if(ai[ac]!=3DObject.prototype[ac]){if(ac.toLowerCase()=3D=3D"stylecla=
ss"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!=3D"classid"=
){Z.setAttribute(ac,ai[ac])}}}}for(var ab in =
ag){if(ag[ab]!=3DObject.prototype[ab]&&ab.toLowerCase()!=3D"movie"){e(Z,a=
b,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=3DZ}}return X}function =
e(Z,X,Y){var =
aa=3DC("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.ap=
pendChild(aa)}function y(Y){var =
X=3Dc(Y);if(X&&X.nodeName=3D=3D"OBJECT"){if(M.ie&&M.win){X.style.display=3D=
"none";(function(){if(X.readyState=3D=3D4){b(Y)}else{setTimeout(arguments=
.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var =
Y=3Dc(Z);if(Y){for(var X in Y){if(typeof =
Y[X]=3D=3D"function"){Y[X]=3Dnull}}Y.parentNode.removeChild(Y)}}function =
c(Z){var X=3Dnull;try{X=3Dj.getElementById(Z)}catch(Y){}return =
X}function C(X){return j.createElement(X)}function =
i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=3D[Z,X,Y]}function F(Z){var =
Y=3DM.pv,X=3DZ.split(".");X[0]=3DparseInt(X[0],10);X[1]=3DparseInt(X[1],1=
0)||0;X[2]=3DparseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]=3D=3DX[0]&&Y[1]=
>X[1])||(Y[0]=3D=3DX[0]&&Y[1]=3D=3DX[1]&&Y[2]>=3DX[2]))?true:false}functi=
on v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var =
aa=3Dj.getElementsByTagName("head")[0];if(!aa){return}var =
X=3D(ad&&typeof =
ad=3D=3D"string")?ad:"screen";if(ab){n=3Dnull;G=3Dnull}if(!n||G!=3DX){var=
 =
Z=3DC("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X=
);n=3Daa.appendChild(Z);if(M.ie&&M.win&&typeof =
j.styleSheets!=3DD&&j.styleSheets.length>0){n=3Dj.styleSheets[j.styleShee=
ts.length-1]}G=3DX}if(M.ie&&M.win){if(n&&typeof =
n.addRule=3D=3Dr){n.addRule(ac,Y)}}else{if(n&&typeof =
j.createTextNode!=3DD){n.appendChild(j.createTextNode(ac+" =
{"+Y+"}"))}}}function w(Z,X){if(!m){return}var =
Y=3DX?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=3DY}else{v("#"=
+Z,"visibility:"+Y)}}function L(Y){var Z=3D/[\\\"<>\.;]/;var =
X=3DZ.exec(Y)!=3Dnull;return X&&typeof =
encodeURIComponent!=3DD?encodeURIComponent(Y):Y}var =
d=3Dfunction(){if(M.ie&&M.win){window.attachEvent("onunload",function(){v=
ar ac=3DI.length;for(var =
ab=3D0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var =
Z=3DN.length;for(var aa=3D0;aa<Z;aa++){y(N[aa])}for(var Y in =
M){M[Y]=3Dnull}M=3Dnull;for(var X in =
swfobject){swfobject[X]=3Dnull}swfobject=3Dnull})}}();return{registerObje=
ct:function(ab,X,aa,Z){if(M.w3&&ab&&X){var =
Y=3D{};Y.id=3Dab;Y.swfVersion=3DX;Y.expressInstall=3Daa;Y.callbackFn=3DZ;=
o[o.length]=3DY;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObj=
ectById:function(X){if(M.w3){return =
z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var =
X=3D{success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){=
w(ah,false);K(function(){ae+=3D"";ag+=3D"";var aj=3D{};if(af&&typeof =
af=3D=3D=3Dr){for(var al in =
af){aj[al]=3Daf[al]}}aj.data=3Dab;aj.width=3Dae;aj.height=3Dag;var =
am=3D{};if(ad&&typeof ad=3D=3D=3Dr){for(var ak in =
ad){am[ak]=3Dad[ak]}}if(Z&&typeof Z=3D=3D=3Dr){for(var ai in =
Z){if(typeof =
am.flashvars!=3DD){am.flashvars+=3D"&"+ai+"=3D"+Z[ai]}else{am.flashvars=3D=
ai+"=3D"+Z[ai]}}}if(F(Y)){var =
an=3Du(aj,am,ah);if(aj.id=3D=3Dah){w(ah,true)}X.success=3Dtrue;X.ref=3Dan=
}else{if(aa&&A()){aj.data=3Daa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(=
ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=3Dfa=
lse},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.p=
v[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){=
if(M.w3){return u(Z,Y,X)}else{return =
undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,=
Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){i=
f(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue=
:function(aa){var =
Z=3Dj.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=3DZ.split=
("?")[1]}if(aa=3D=3Dnull){return L(Z)}var Y=3DZ.split("&");for(var =
X=3D0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("=3D"))=3D=3Daa){r=
eturn =
L(Y[X].substring((Y[X].indexOf("=3D")+1)))}}}return""},expressInstallCall=
back:function(){if(a){var =
X=3Dc(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&=
&M.win){l.style.display=3D"block"}}if(E){E(B)}}a=3Dfalse}}}}();
------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://catalogo.astralpool.com/por/files/flash/swfaddress.js

/**=0D * SWFAddress 2.4m: Deep linking for Flash and Ajax =
<http://www.asual.com/swfaddress/>=0D *=0D * SWFAddress is (c) 2006-2009 =
Rostislav Hristov and contributors=0D * This software is released under =
the MIT License <http://www.opensource.org/licenses/mit-license.php>=0D =
*=0D */=0Dif("undefined"=3D=3Dtypeof asual)var =
asual=3D{};"undefined"=3D=3Dtypeof =
asual.util&&(asual.util=3D{});=0Dasual.util.Browser=3Dnew function(){var =
b=3Dnavigator.userAgent.toLowerCase(),e=3D/webkit/.test(b),m=3D/opera/.te=
st(b),k=3D/msie/.test(b)&&!/opera/.test(b),h=3D/mozilla/.test(b)&&!/(comp=
atible|webkit)/.test(b),s=3DparseFloat(k?b.substr(b.indexOf("msie")+4):(b=
.match(/.+(?:rv|it|ra|ie)[\/: =
]([\d.]+)/)||[0,"0"])[1]);this.toString=3Dfunction(){return"[class =
Browser]"};this.getVersion=3Dfunction(){return =
s};this.isMSIE=3Dfunction(){return k};this.isSafari=3Dfunction(){return =
e};this.isOpera=3Dfunction(){return =
m};this.isMozilla=3D=0Dfunction(){return h}};=0Dasual.util.Events=3Dnew =
function(){var =
b=3Dwindow,e=3Ddocument,m=3D[],k=3Dasual.util,h=3Dk.Browser,s=3Dh.isMSIE(=
),L=3Dh.isSafari();this.toString=3Dfunction(){return"[class =
Events]"};this.addListener=3Dfunction(b,x,e){m.push({o:b,t:x,l:e});"DOMCo=
ntentLoaded"=3D=3Dx&&(s||L)||(b.addEventListener?b.addEventListener(x,e,!=
1):b.attachEvent&&b.attachEvent("on"+x,e))};this.removeListener=3Dfunctio=
n(b,e,h){for(var =
k=3D0,G;G=3Dm[k];k++)if(G.o=3D=3Db&&G.t=3D=3De&&G.l=3D=3Dh){m.splice(k,1)=
;break}"DOMContentLoaded"=3D=3De&&(s||L)||(b.removeEventListener?b.remove=
EventListener(e,=0Dh,!1):b.detachEvent&&b.detachEvent("on"+e,h))};var =
N=3Dfunction(){for(var =
b=3D0,e;e=3Dm[b];b++)"DOMContentLoaded"!=3De.t&&k.Events.removeListener(e=
.o,e.t,e.l)},h=3Dfunction(){if("interactive"=3D=3De.readyState){var =
h=3Dfunction(){e.detachEvent("onstop",h);N()};e.attachEvent("onstop",h);b=
.setTimeout(function(){e.detachEvent("onstop",h)},0)}};(s||L)&&function()=
{try{(s&&e.body||!/loaded|complete/.test(e.readyState))&&e.documentElemen=
t.doScroll("left")}catch(b){return =
setTimeout(arguments.callee,0)}for(var =
h=3D0,k;k=3Dm[h];h++)"DOMContentLoaded"=3D=3D=0Dk.t&&k.l.call(null)}();s&=
&b.attachEvent("onbeforeunload",h);this.addListener(b,"unload",N)};asual.=
util.Functions=3Dnew function(){this.toString=3Dfunction(){return"[class =
Functions]"};this.bind=3Dfunction(b,e,m){for(var =
k=3D2,h,s=3D[];h=3Darguments[k];k++)s.push(h);return function(){return =
b.apply(e,s)}}};=0Dvar =
SWFAddressEvent=3Dfunction(b){this.toString=3Dfunction(){return"[object =
SWFAddressEvent]"};this.type=3Db;this.target=3DSWFAddress;this.value=3DSW=
FAddress.getValue();this.path=3DSWFAddress.getPath();this.pathNames=3DSWF=
Address.getPathNames();this.parameters=3D{};for(var =
b=3DSWFAddress.getParameterNames(),e=3D0,m=3Db.length;e<m;e++)this.parame=
ters[b[e]]=3DSWFAddress.getParameter(b[e]);this.parameterNames=3Db};SWFAd=
dressEvent.INIT=3D"init";SWFAddressEvent.CHANGE=3D"change";SWFAddressEven=
t.INTERNAL_CHANGE=3D"internalChange";=0DSWFAddressEvent.EXTERNAL_CHANGE=3D=
"externalChange";=0Dvar SWFAddress=3Dnew function(){var =
b=3Dfunction(){var =
a=3Dc.href.indexOf("#");return-1!=3Da?Z(C(c.href.substr(a+1))):""},e=3Dfu=
nction(a,d){t.strict&&(a=3Dd?"/"!=3Da.substr(0,1)?"/"+a:a:""=3D=3Da?"/":a=
);return a},m=3Dfunction(a,d){return =
w&&"file:"=3D=3Dc.protocol?d?j.replace(/\?/,"%3F"):j.replace(/%253F/,"?")=
:a},k=3Dfunction(a){if(a.childNodes)for(var =
d=3D0,b=3Da.childNodes.length,c;d<b;d++)if(a.childNodes[d].src&&(O=3DStri=
ng(a.childNodes[d].src)),c=3Dk(a.childNodes[d]))return =
c},h=3Dfunction(){i.title!=3DU&&-1!=3Di.title.indexOf("#")&&=0D(i.title=3D=
U)},s=3Dfunction(){if(!P){var =
a=3Db(),d=3Dj!=3Da;D&&523>n?H!=3Dz.length&&(H=3Dz.length,typeof =
E[H-1]!=3Df&&(j=3DE[H-1]),x.call(this,!1)):w&&d?7>n?c.reload():this.setVa=
lue(a):d&&(j=3Da,x.call(this,!1));w&&h.call(this)}},L=3Dfunction(){0<A.le=
ngth&&(window.open(A[0],A[1],eval(A[2])),typeof =
A[3]!=3Df&&eval(A[3]));A=3D[]},N=3Dfunction(){for(var =
a=3D0,d,b,c=3DSWFAddress.getValue();d=3DB[a];a++)if(b=3Ddocument.getEleme=
ntById(d))if(b.parentNode&&typeof =
b.parentNode.so!=3Df)b.parentNode.so.call("setSWFAddressValue",c);else{b&=
&typeof =
b.setSWFAddressValue!=3D=0Df||(d=3Db.getElementsByTagName("object"),b=3Db=
.getElementsByTagName("embed"),b=3Dd[0]&&typeof =
d[0].setSWFAddressValue!=3Df?d[0]:b[0]&&typeof =
b[0].setSWFAddressValue!=3Df?b[0]:null);try{b&&b.setSWFAddressValue(c)}ca=
tch(e){}}else(b=3Ddocument[d])&&typeof =
b.setSWFAddressValue!=3Df&&b.setSWFAddressValue(c)},M=3Dfunction(a){this.=
dispatchEvent(new =
SWFAddressEvent(a));a=3Da.substr(0,1).toUpperCase()+a.substr(1);if(typeof=
 =
this["on"+a]=3D=3DQ)this["on"+a]()},x=3Dfunction(a){N();M.call(this,"chan=
ge");a?M.call(this,"internalChange"):=0DM.call(this,"externalChange");I(F=
.bind(T,this),10)},T=3Dfunction(){var =
a=3D(c.pathname+(/\/$/.test(c.pathname)?"":"/")+this.getValue()).replace(=
/\/\//,"/").replace(/^\/$/,""),d=3Dp[t.tracker];typeof =
d=3D=3DQ?d(a):typeof p.pageTracker!=3Df&&typeof =
p.pageTracker._trackPageview=3D=3DQ?p.pageTracker._trackPageview(a):typeo=
f p.urchinTracker=3D=3DQ&&p.urchinTracker(a)},Y=3Dfunction(){var =
a=3Dl.contentWindow.document;a.open();a.write("<html><head><title>"+i.tit=
le+"</title><script>var "+u+' =3D =
"'+b()+'";<\/script></head></html>');=0Da.close()},G=3Dfunction(){var =
a=3Dl.contentWindow;j=3Dtypeof =
a[u]!=3Df?a[u]:"";j!=3Db()&&(x.call(SWFAddress,!1),c.hash=3Dm(j,q))},ba=3D=
function(){if(!$){$=3Dq;if(w&&8>n){var =
a=3Di.getElementsByTagName("frameset")[0];l=3Di.createElement((a?"":"i")+=
"frame");a?(a.insertAdjacentElement("beforeEnd",l),a[a.cols?"cols":"rows"=
]+=3D",0",l.src=3D"javascript:false",l.noResize=3D!0,l.frameBorder=3Dl.fr=
ameSpacing=3D0):(l.src=3D"javascript:false",l.style.display=3D"none",i.bo=
dy.insertAdjacentElement("afterBegin",l));I(function(){V.addListener(l,=0D=
"load",G);typeof l.contentWindow[u]=3D=3Df&&Y()},50)}else =
D&&(418>n&&(i.body.innerHTML+=3D'<form id=3D"'+u+'" =
style=3D"position:absolute;top:-9999px;" =
method=3D"get"></form>',W=3Di.getElementById(u)),typeof =
c[u]=3D=3Df&&(c[u]=3D{}),typeof =
c[u][c.pathname]!=3Df&&(E=3Dc[u][c.pathname].split(",")));I(F.bind(functi=
on(){R.Browser.isSafari()&&i.body.addEventListener("click",L);M.call(this=
,"init");N();M.call(this,"change");T.call(this)},this),1);w&&8<=3Dn?(i.bo=
dy.onhashchange=3DF.bind(s,this),aa(F.bind(h,this),50)):aa(F.bind(s,this)=
,=0D50)}},u=3D"swfaddress",Q=3D"function",f=3D"undefined",q=3D!0,R=3Dasua=
l.util,r=3DR.Browser,V=3DR.Events,F=3DR.Functions,n=3Dr.getVersion(),w=3D=
r.isMSIE(),ca=3Dr.isMozilla(),S=3Dr.isOpera(),D=3Dr.isSafari(),J=3D!1,p=3D=
window,i=3Dp.document,z=3Dp.history,c=3Dp.location,aa=3DsetInterval,I=3Ds=
etTimeout,C=3DdecodeURI,Z=3DencodeURI,l,W,O,U=3Di.title,H=3Dz.length,P=3D=
!1,$=3D!1,X=3Dq,da=3Dq,K=3Dthis,E=3D[],B=3D[],A=3D[],y=3D{},j=3Db(),t=3D{=
history:q,strict:q};w&&(i.documentMode&&i.documentMode!=3Dn)&&(n=3D8!=3Di=
.documentMode?7:8);if(J=3Dca&&1<=3Dn||w&&6<=3Dn||S&&9.5<=3Dn||D&&312<=3Dn=
){S&&(history.navigationMode=3D=0D"compatible");for(r=3D1;r<H;r++)E.push(=
"");E.push(b());w&&c.hash!=3Db()&&(c.hash=3D"#"+m(b(),q));k(document);r=3D=
O?O.indexOf("?"):-1;if(-1!=3Dr)for(var =
v,S=3DO.substr(r+1).split("&"),r=3D0;v=3DS[r];r++)v=3Dv.split("=3D"),/^(h=
istory|strict)$/.test(v[0])&&(t[v[0]]=3DisNaN(v[1])?/^(true|yes)$/i.test(=
v[1]):0!=3DparseInt(v[1])),/^tracker$/.test(v[0])&&(t[v[0]]=3Dv[1]);w&&h.=
call(this);window=3D=3Dp&&V.addListener(document,"DOMContentLoaded",F.bin=
d(ba,this));V.addListener(p,"load",F.bind(ba,this))}else!J&&-1!=3Dc.href.=
indexOf("#")||D&&=0D418>n&&-1!=3Dc.href.indexOf("#")&&""!=3Dc.search?(i.o=
pen(),i.write('<html><head><meta http-equiv=3D"refresh" =
content=3D"0;url=3D'+c.href.substr(0,c.href.indexOf("#"))+'" =
/></head></html>'),i.close()):T();this.toString=3Dfunction(){return"[clas=
s =
SWFAddress]"};this.back=3Dfunction(){z.back()};this.forward=3Dfunction(){=
z.forward()};this.up=3Dfunction(){var =
a=3Dthis.getPath();this.setValue(a.substr(0,a.lastIndexOf("/",a.length-2)=
+("/"=3D=3Da.substr(a.length-1)?1:0)))};this.go=3Dfunction(a){z.go(a)};th=
is.href=3Dfunction(a,d){d=3Dtypeof =
d!=3D=0Df?d:"_self";"_self"=3D=3Dd?self.location.href=3Da:"_top"=3D=3Dd?c=
.href=3Da:"_blank"=3D=3Dd?window.open(a):p.frames[d].location.href=3Da};t=
his.popup=3Dfunction(a,d,b,c){try{window.open(a,d,eval(b)),typeof =
c!=3Df&&eval(c)}catch(e){}A=3Darguments};this.getIds=3Dfunction(){return =
B};this.getId=3Dfunction(){return =
B[0]};this.setId=3Dfunction(a){B[0]=3Da};this.addId=3Dfunction(a){this.re=
moveId(a);B.push(a)};this.removeId=3Dfunction(a){for(var =
d=3D0;d<B.length;d++)if(a=3D=3DB[d]){B.splice(d,1);break}};this.addEventL=
istener=3Dfunction(a,d){typeof =
y[a]=3D=3D=0Df&&(y[a]=3D[]);y[a].push(d)};this.removeEventListener=3Dfunc=
tion(a,d){if(typeof y[a]!=3Df){for(var =
b=3D0,c;(c=3Dy[a][b])&&c!=3Dd;b++);y[a].splice(b,1)}};this.dispatchEvent=3D=
function(a){if(this.hasEventListener(a.type)){a.target=3Dthis;for(var =
d=3D0,b;b=3Dy[a.type][d];d++)b(a);return =
q}return!1};this.hasEventListener=3Dfunction(a){return typeof =
y[a]!=3Df&&0<y[a].length};this.getBaseURL=3Dfunction(){var =
a=3Dc.href;-1!=3Da.indexOf("#")&&(a=3Da.substr(0,a.indexOf("#")));"/"=3D=3D=
a.substr(a.length-1)&&(a=3Da.substr(0,a.length-1));return =
a};=0Dthis.getStrict=3Dfunction(){return =
t.strict};this.setStrict=3Dfunction(a){t.strict=3Da};this.getHistory=3Dfu=
nction(){return =
t.history};this.setHistory=3Dfunction(a){t.history=3Da};this.getTracker=3D=
function(){return =
t.tracker};this.setTracker=3Dfunction(a){t.tracker=3Da};this.getTitle=3Df=
unction(){return i.title};this.setTitle=3Dfunction(a){if(!J)return =
null;typeof =
a!=3Df&&("null"=3D=3Da&&(a=3D""),a=3DC(a),I(function(){U=3Di.title=3Da;da=
&&(l&&l.contentWindow&&l.contentWindow.document)&&(l.contentWindow.docume=
nt.title=3Da,da=3D!1);!X&&ca&&=0Dc.replace(-1!=3Dc.href.indexOf("#")?c.hr=
ef:c.href+"#");X=3D!1},10))};this.getStatus=3Dfunction(){return =
p.status};this.setStatus=3Dfunction(a){if(!J)return null;if(typeof =
a!=3Df&&("null"=3D=3Da&&(a=3D""),a=3DC(a),!D)){a=3De("null"!=3Da?a:"",q);=
"/"=3D=3Da&&(a=3D"");if(!/http(s)?:\/\//.test(a))var =
b=3Dc.href.indexOf("#"),a=3D(-1=3D=3Db?c.href:c.href.substr(0,b))+"#"+a;p=
.status=3Da}};this.resetStatus=3Dfunction(){p.status=3D""};this.getValue=3D=
function(){return!J?null:C(e(m(j,!1),!1))};this.setValue=3Dfunction(a){if=
(!J)return null;if(typeof =
a!=3D=0Df&&("null"=3D=3Da&&(a=3D""),a=3DZ(C(e(a,q))),"/"=3D=3Da&&(a=3D"")=
,j!=3Da)){X=3Dq;j=3Da;P=3Dq;x.call(SWFAddress,!0);E[z.length]=3Dj;if(D)if=
(t.history)if(c[u][c.pathname]=3DE.toString(),H=3Dz.length+1,418>n)""=3D=3D=
c.search&&(W.action=3D"#"+j,W.submit());else =
if(523>n||""=3D=3Dj){a=3Di.createEvent("MouseEvents");a.initEvent("click"=
,q,q);var =
d=3Di.createElement("a");d.href=3D"#"+j;d.dispatchEvent(a)}else =
c.hash=3D"#"+j;else c.replace("#"+j);else =
j!=3Db()&&(t.history?c.hash=3D"#"+C(m(j,q)):c.replace("#"+C(j)));w&&8>n&&=
t.history&&I(Y,50);D?I(function(){P=3D=0D!1},1):P=3D!1}};this.getPath=3Df=
unction(){var =
a=3Dthis.getValue();return-1!=3Da.indexOf("?")?a.split("?")[0]:-1!=3Da.in=
dexOf("#")?a.split("#")[0]:a};this.getPathNames=3Dfunction(){var =
a=3Dthis.getPath(),b=3Da.split("/");("/"=3D=3Da.substr(0,1)||0=3D=3Da.len=
gth)&&b.splice(0,1);"/"=3D=3Da.substr(a.length-1,1)&&b.splice(b.length-1,=
1);return b};this.getQueryString=3Dfunction(){var =
a=3Dthis.getValue(),b=3Da.indexOf("?");if(-1!=3Db&&b<a.length)return =
a.substr(b+1)};this.getParameter=3Dfunction(a){var =
b=3Dthis.getValue(),c=3Db.indexOf("?");if(-1!=3D=0Dc){for(var =
b=3Db.substr(c+1),c=3Db.split("&"),e=3Dc.length,f=3D[];e--;)b=3Dc[e].spli=
t("=3D"),b[0]=3D=3Da&&f.push(b[1]);if(0!=3Df.length)return =
1!=3Df.length?f:f[0]}};this.getParameterNames=3Dfunction(){var =
a=3Dthis.getValue(),b=3Da.indexOf("?"),c=3D[];if(-1!=3Db&&(a=3Da.substr(b=
+1),""!=3Da&&-1!=3Da.indexOf("=3D"))){a=3Da.split("&");for(b=3D0;b<a.leng=
th;)c.push(a[b].split("=3D")[0]),b++}return =
c};this.onExternalChange=3Dthis.onInternalChange=3Dthis.onChange=3Dthis.o=
nInit=3Dnull;var g;typeof =
FlashObject!=3Df&&(SWFObject=3DFlashObject);if(typeof =
SWFObject!=3D=0Df&&SWFObject.prototype&&SWFObject.prototype.write){var =
ea=3DSWFObject.prototype.write;SWFObject.prototype.write=3Dfunction(){g=3D=
arguments;8>this.getAttribute("version").major&&(this.addVariable("$swfad=
dress",SWFAddress.getValue()),("string"=3D=3Dtypeof =
g[0]?document.getElementById(g[0]):g[0]).so=3Dthis);var =
a;(a=3Dea.apply(this,g))&&K.addId(this.getAttribute("id"));return =
a}}if(typeof swfobject!=3Df){var =
fa=3Dswfobject.registerObject;swfobject.registerObject=3Dfunction(){g=3Da=
rguments;fa.apply(this,g);K.addId(g[0])};=0Dvar =
ga=3Dswfobject.createSWF;swfobject.createSWF=3Dfunction(){g=3Darguments;v=
ar a=3Dga.apply(this,g);a&&K.addId(g[0].id);return a};var =
ha=3Dswfobject.embedSWF;swfobject.embedSWF=3Dfunction(){g=3Darguments;typ=
eof g[8]=3D=3Df&&(g[8]=3D{});typeof =
g[8].id=3D=3Df&&(g[8].id=3Dg[1]);ha.apply(this,g);K.addId(g[8].id)}}if(ty=
peof UFO!=3Df){var =
ia=3DUFO.create;UFO.create=3Dfunction(){g=3Darguments;ia.apply(this,g);K.=
addId(g[0].id)}}if(typeof AC_FL_RunContent!=3Df){var =
ja=3DAC_FL_RunContent;AC_FL_RunContent=3Dfunction(){g=3Darguments;ja.appl=
y(this,g);=0Dfor(var =
a=3D0,b=3Dg.length;a<b;a++)"id"=3D=3Dg[a]&&K.addId(g[a+1])}}};
------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://catalogo.astralpool.com/por/files/flash/fbscript.js

function =
Detect(){playerVersion=3D[0,0,0];this.ua=3Dnavigator.userAgent.toLowerCas=
e();var =
b=3Dnavigator.platform.toLowerCase(),a=3Dthis.ua.match(/(opera|ie|firefox=
|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|version[\s\/:]([\w\d\.]+)|$=
)/)||[null,"unknown",0];if("undefined"!=3Dtypeof =
navigator.plugins&&"object"=3D=3Dtypeof navigator.plugins["Shockwave =
Flash"]){if((d=3Dnavigator.plugins["Shockwave =
Flash"].description)&&!("undefined"!=3Dtypeof =
navigator.mimeTypes&&navigator.mimeTypes["application/x-shockwave-flash"]=
&&=0A=
    =
!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin))plug=
in=3D!0,ie=3D!1,d=3Dd.replace(/^.*\s+(\S+\s+\S+$)/,"$1"),playerVersion[0]=
=3DparseInt(d.replace(/^(.*)\..*$/,"$1"),10),playerVersion[1]=3DparseInt(=
d.replace(/^.*\.(.*)\s.*$/,"$1"),10),playerVersion[2]=3D/[a-zA-Z]/.test(d=
)?parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}else =
if("undefined"!=3Dtypeof window.ActiveXObject)try{var c=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash");if(c&&(d=3Dc.GetVariable("=
$version")))ie=3D!0,d=3Dd.split(" ")[1].split(","),=0A=
    =
playerVersion=3D[parseInt(d[0],10),parseInt(d[1],10),parseInt(d[2],10)]}c=
atch(e){}this.flash=3D0=3D=3D=3DplayerVersion[0]&&0=3D=3D=3DplayerVersion=
[1]&&0=3D=3D=3DplayerVersion[2]?!1:!0;this.flashVer=3DplayerVersion[0]+".=
"+playerVersion[1]+"."+playerVersion[2];this.browser=3D{};this.platform=3D=
{};this.device=3D{};this.browser.name=3D"version"=3D=3Da[1]?a[3]:a[1];thi=
s.browser[this.browser.name]=3D!0;mode=3D"ie"=3D=3Da[1]&&document.documen=
tMode;this.browser.version=3Dmode||parseFloat("opera"=3D=3Da[1]&&a[4]?a[4=
]:a[2]);this.platform.name=3Dthis.ua.match(/ip(?:ad|od|hone)/)?=0A=
    "ios":this.ua.match(/(?:msie =
9)/)?"wphone":(this.ua.match(/(?:webos|android|bada|symbian|palm|blackber=
ry)/)||b.match(/mac|win|linux/)||["other"])[0];this.platform[this.platfor=
m.name]=3D!0;this.platform.mac&&(this.browser.safari||this.browser.chrome=
?this.platform.version=3Dthis.ua.match(/10_\d*/)[0].split("_"):this.brows=
er.firefox?this.platform.version=3Dthis.ua.match(/10\.\d*/)[0].split(".")=
:this.browser.opera&&(this.platform.version=3Dthis.ua.match(/10\.\d*/)[0]=
.split(".")));this.device.name=3Dthis.ua.match(/ipad/)?=0A=
    =
"ipad":this.ua.match(/ipad/)?"ipad":this.ua.match(/iphone/)?"iphone":this=
.ua.match(/android/)?"android":this.ua.match(/silk/)?"silk":this.ua.match=
(/kindle/)?"kindle":b.match(/mac|win|linux/)?"pc":"other";this.device[thi=
s.device.name]=3D!0;this.device.version=3D"android"=3D=3D=3Dthis.device.n=
ame&&this.ua.match(/android =
2/)?2:"android"=3D=3D=3Dthis.device.name&&this.ua.match(/android =
3/)?3:"android"=3D=3D=3Dthis.device.name&&this.ua.match(/android =
4/)?4:0;this.isBasic=3Dthis.isFlash=3Dthis.isMobile=3D!1;"silk"=3D=3Dthis=
.device.name||=0A=
    =
"kindle"=3D=3Dthis.device.name?this.isMobile=3D!0:this.platform.ios||this=
.platform.blackberry?this.isMobile=3D!0:(this.platform.ios||this.platform=
.android)&&(this.browser.safari||this.browser.chrome)?this.isMobile=3D!0:=
this.platform.android?this.isBasic=3D!0:(this.device.pc||this.device.othe=
r)&&!this.flash?this.isBasic=3D!0:this.isFlash=3D!0;this.isTablet=3D"ipad=
"=3D=3Dthis.device.name||3=3D=3Dthis.device.version?!0:!1};=0A=
var browser =3D new Detect();=0A=
if(browser.isMobile){=0A=
	var page =3D getParameterByName("p") || getParameterByName("page");=0A=
	var productID =3D getParameterByName("id");=0A=
	page =3D page ? '#'+page:window.location.hash;=0A=
=0A=
	page =3D productID ? page + '/' + productID : page;=0A=
	window.location =3D "./" + mobileFolder + "/index.html" + page;=0A=
}=0A=
/*          =0A=
 var changeURL =3D function(){=0A=
=0A=
 =
if(document.getElementById('hrefMobile'))document.getElementById('hrefMob=
ile').href =3D dir+mobileFolder+'/index.html';=0A=
 =
if(document.getElementById('hrefSEO'))document.getElementById('hrefSEO').=
href =3D dir+assetsFolder +'/basic-html/toc.html';=0A=
 delete changeURL;=0A=
 }=0A=
=0A=
 if (document.addEventListener){=0A=
 document.addEventListener("DOMContentLoaded", changeURL, false);=0A=
 } else {=0A=
 document.attachEvent("onDOMContentLoaded", changeURL);=0A=
 }=0A=
 */=0A=
=0A=
function getParameterByName(name) {=0A=
    name =3D name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");=0A=
    var regexS =3D "[\\?&]" + name + "=3D([^&#]*)";=0A=
    var regex =3D new RegExp(regexS);=0A=
    var results =3D regex.exec(window.location.href);=0A=
    if (results =3D=3D null)=0A=
        return "";=0A=
    else=0A=
        return results[1];=0A=
}=0A=
=0A=
function checkPage() {=0A=
	var url =3D "";=0A=
	var page =3D (getParameterByName("p") || getParameterByName("page"));=0A=
	var zoomed =3D (getParameterByName("z") || =
getParameterByName("zoomed"));=0A=
	var productID =3D getParameterByName("id");=0A=
=0A=
	if (page) {=0A=
		url =3D "#" + page;=0A=
		if (zoomed)=0A=
			url +=3D "/z";=0A=
		if (productID)=0A=
			url +=3D "/" + productID;=0A=
		var curURL =3D window.location.href;=0A=
		window.location.replace(curURL.substring(0, curURL.indexOf("?")) + =
url);=0A=
	}=0A=
}=0A=
=0A=
=0A=
var MAXIMUM_SIZE =3D 35;=0A=
var MINIMUM_SIZE =3D 5;=0A=
var BOUND_SIZE =3D 14;=0A=
=0A=
var knownDevices =3D [{name:"gt-p1000", size:17.5}];=0A=
function getScreenSize() {=0A=
    var currentDevice =3D null;=0A=
    var UALower =3D navigator.userAgent.toLowerCase();=0A=
    knownDevices.forEach(function(device){=0A=
        if(UALower.indexOf(device.name) !=3D -1){=0A=
            currentDevice =3D device;=0A=
        }=0A=
    });=0A=
=0A=
    if(currentDevice !=3D null) {=0A=
        return currentDevice.size;=0A=
    } else if (typeof(Storage)!=3D"undefined" && =
localStorage.getItem("detectedDisplaySize")){=0A=
        return parseFloat(localStorage.getItem("detectedDisplaySize"));=0A=
    } else {=0A=
        return undefined;=0A=
    }=0A=
}=0A=
=0A=
function checkViewportSize(onDetect, justAfterDetect) {=0A=
    setTimeout(function(){=0A=
        var screenSize =3D Math.sqrt(Math.pow(innerWidth, 2) + =
Math.pow(innerHeight, 2)) / 100 * 2.54;=0A=
=0A=
        if(justAfterDetect) {=0A=
            justAfterDetect();=0A=
        }=0A=
=0A=
        if(typeof(Storage)!=3D"undefined"){=0A=
            localStorage.detectedDisplaySize =3D screenSize;=0A=
        }=0A=
=0A=
        onDetect(screenSize);=0A=
=0A=
    }, 200);=0A=
}=0A=
function isViewportCheckNeeded() {=0A=
    var isKnown =3D false;=0A=
    var UALower =3D navigator.userAgent.toLowerCase();=0A=
    knownDevices.forEach(function(device){=0A=
        if(UALower.indexOf(device.name) !=3D -1){=0A=
            isKnown =3D true;=0A=
        }=0A=
    });=0A=
=0A=
    return !isKnown && (typeof(Storage)=3D=3D"undefined" || =
!localStorage.getItem("detectedDisplaySize"));=0A=
}=0A=
=0A=
function afterLoad(){=0A=
    if(browser.isMobile){=0A=
=0A=
        document.body.style.visibility =3D "hidden";=0A=
        var page =3D parseInt(window.location.hash.substring(2, =
window.location.hash.length-1));=0A=
        page =3D page?'#'+page:'';=0A=
		window.location =3D "./" + mobileFolder + "/index.html" + page;=0A=
    }else{=0A=
        checkPage();=0A=
        if(!(browser.platform.mac && =
browser.browser.chrome))setFocusOnFlash();=0A=
    }=0A=
}=0A=
=0A=
function setFocusOnFlash()=0A=
{=0A=
    var f =3D swfobject.getObjectById('flashbook');=0A=
    if (f) { f.tabIndex =3D 0; f.focus(); }=0A=
}=0A=
function getURLParam()=0A=
{=0A=
    var returnObject =3D {};=0A=
    var href =3D window.location.href;=0A=
    if ( href.indexOf("?") > -1 )=0A=
    {=0A=
        var param =3D href.substr(href.indexOf("?"));=0A=
        var arrayParam =3D param.split("&");=0A=
=0A=
        for ( var i =3D 0; i < arrayParam.length; i++ )=0A=
        {=0A=
            var value =3D arrayParam[i].split("=3D");=0A=
            returnObject[value[0]] =3D value[1];=0A=
        }=0A=
    }=0A=
    returnObject['assets'] =3D assetsFolder;=0A=
    return returnObject;=0A=
}=0A=
=0A=
if(!browser.isMobile){=0A=
    var dir =3D "./" + filesFolderName + "/";=0A=
=0A=
    var getURI =3D function() {=0A=
        var URIArray =3D document.location.href.split('/');=0A=
=0A=
        URIArray.length =3D URIArray.length - 1;=0A=
        var URIstr =3D URIArray.join('/');=0A=
=0A=
        URIArray =3D null;=0A=
=0A=
        var URIarr =3D dir.split('/');=0A=
        URIarr[0] =3D URIarr[0] =3D=3D '.' ? '' : URIarr[0];=0A=
        var dirStr =3D URIarr.join('/');=0A=
=0A=
        URIstr =3D URIstr + dirStr;=0A=
=0A=
        return URIstr;=0A=
    };=0A=
=0A=
    var swfName =3D "preloader.swf?rnd=3D"+projectGUID;=0A=
=0A=
    //if (browser.isBasic) window.location =3D "./" + SEOFolder + =
"/toc.html";  =
//=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=
=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD =
=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD =
=EF=BF=BD SEO =EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD =
=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD =
FALSH=0A=
=0A=
    var flashvars =3D getURLParam();=0A=
=0A=
    var params =3D {baseURI: getURI(), base: dir, allowFullScreen: true, =
allowScriptAccess: "always", quality: "high", scale: "noscale", =
bgcolor:documentBackColor, allowFullScreenInteractive:true};=0A=
    var attributes =3D {align: "middle"};=0A=
=0A=
    swfobject.embedSWF(dir + swfName, "flashbook", "100%", "100%", =
"10.3.0", dir + "expressInstall.swf", flashvars, params, attributes, =
outputStatus);=0A=
}=0A=
=0A=
=0A=
if ( document.addEventListener ){=0A=
    document.addEventListener("DOMContentLoaded", afterLoad);=0A=
}else{=0A=
    document.attachEvent("onreadystatechange", afterLoad);=0A=
}=0A=

------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://catalogo.astralpool.com/por/files/flash/checkflash.js

(function (window, undefined) {=0A=
    String.prototype.format =3D String.prototype.format || (function () {=0A=
        var s =3D '%';=0A=
        var replaceExpr =3D new RegExp(['(', s, '(.+?)', s, =
')'].join(''), 'g');=0A=
=0A=
        return function (replaceObj) {=0A=
            return this.replace(replaceExpr, function (subStr, fullExpr, =
expr) {=0A=
                return (expr in replaceObj) ? replaceObj[expr] : =
fullExpr;=0A=
            });=0A=
        }=0A=
    })();=0A=
=0A=
    var CheckFlash =3D function (options) {=0A=
        options =3D options || {};=0A=
=0A=
        this.requiredVersion =3D options.requiredVersion || "11.3.0";=0A=
        this.title =3D options.title || "Adobe Flash Player Update =
required!";=0A=
        this.description =3D options.description || "This installation =
will only take a few moments. Using the current version may cause =
performance problems and publication errors.";=0A=
        this.updateUrl =3D options.updateUrl || =
"http://get.adobe.com/flashplayer/";=0A=
        this.buttonSrc =3D options.buttonSrc || =
"http://www.adobe.com/macromedia/style_guide/images/160x41_Get_Flash_Play=
er.jpg";=0A=
        this.mbClass =3D options.mbClass || "flash-notification";=0A=
        this.cookieName =3D options.cookieName || =
"flippingbook-flash_version_checked";=0A=
        this.parentElem =3D options.parentElem || =
document.getElementById("container"); =
//document.getElementsByTagName("body")[0];=0A=
=0A=
        this.box =3D null;=0A=
        this.boxStyle =3D options.boxStyle || "margin:3px;padding:12px =
24px 12px 12px;overflow:hidden;background:#f9f6c4;border:1px solid =
#bab893;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7p=
x;font:11px/14px Arial;position: relative;";=0A=
        this.titleStyle =3D options.titleStyle || =
"font-weight:bold;padding-top:2px;padding-bottom:4px;";=0A=
        this.closeButtonStyle =3D options.closeButtonStyle || =
"display:block;width:8px;height:8px;text-decoration:none;font:0/0 =
a;cursor:pointer;background:url(http://d2b44id80uvcdw.cloudfront.net/site=
/close.png);position:absolute;top:12px;right:12px;left:auto;bottom:auto;"=
;=0A=
        this.downloadButtonStyle =3D options.downloadButtonStyle || =
"display:block;float:left;text-decoration:none;position:absolute;top:50%;=
left:12px;margin-top:-20px;";=0A=
        this.rightColStyle =3D options.rightColStyle || "margin-left: =
170px;";=0A=
=0A=
        this.tpl =3D options.tpl || '<a href=3D"javascript:void(0)" =
style=3D"%closeButtonStyle%"></a>' +=0A=
            '<a href=3D"%updateUrl%" style=3D"%downloadButtonStyle%" =
target=3D"_blank"><img src=3D"%buttonSrc%" alt=3D"" border=3D"0" =
style=3D"border:0;display:block;" width=3D"160" height=3D"41"/></a>' +=0A=
            '<div style=3D"%rightColStyle%"><div =
style=3D"%titleStyle%">%title%</div><div>%description%</div></div>';=0A=
=0A=
        this.onShow =3D options.onShow || function (box) { };=0A=
        this.onClose =3D options.onClose || function (box) {=0A=
            box.style.display =3D 'none';=0A=
        };=0A=
=0A=
        this.init();=0A=
    };=0A=
=0A=
    CheckFlash.prototype.init =3D function () {=0A=
        this.requiredVersion =3D this.requiredVersion.split(".");=0A=
        this.userVersion =3D this.userPlayerVersion() || false;=0A=
=0A=
        if (!this.userVersion || !this.userVersion.length) return;=0A=
=0A=
        this.showMessageBox();=0A=
    };=0A=
    CheckFlash.prototype.userPlayerVersion =3D function () {=0A=
        var u =3D navigator.userAgent.toLowerCase(),=0A=
            p =3D navigator.platform.toLowerCase(),=0A=
            playerVersion =3D [0, 0, 0],=0A=
            d =3D null;=0A=
        if (typeof navigator.plugins !=3D "undefined" && typeof =
navigator.plugins["Shockwave Flash"] =3D=3D "object") {=0A=
            d =3D navigator.plugins["Shockwave Flash"].description;=0A=
            if (d && !(typeof navigator.mimeTypes !=3D "undefined" && =
navigator.mimeTypes["application/x-shockwave-flash"] && =
!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)) {=0A=
                d =3D d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");=0A=
                playerVersion[0] =3D parseInt(d.replace(/^(.*)\..*$/, =
"$1"), 10);=0A=
                playerVersion[1] =3D =
parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);=0A=
                playerVersion[2] =3D /[a-zA-Z]/.test(d) ? =
parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0;=0A=
            }=0A=
        }=0A=
        else if (typeof window.ActiveXObject !=3D "undefined") {=0A=
            try {=0A=
                var a =3D new =
ActiveXObject("ShockwaveFlash.ShockwaveFlash");=0A=
                if (a) {=0A=
                    d =3D a.GetVariable("$version");=0A=
                    if (d) {=0A=
                        d =3D d.split(" ")[1].split(",");=0A=
                        playerVersion =3D [parseInt(d[0], 10), =
parseInt(d[1], 10), parseInt(d[2], 10)];=0A=
                    }=0A=
                }=0A=
            }=0A=
            catch (e) { }=0A=
        }=0A=
        return playerVersion;=0A=
    };=0A=
=0A=
    CheckFlash.prototype.createMessageBox =3D function () {=0A=
        var self =3D this;=0A=
        var box =3D document.createElement("DIV");=0A=
        box.setAttribute("id", this.mbClass);=0A=
        box.setAttribute("class", this.mbClass);=0A=
        box.style.cssText =3D this.boxStyle;=0A=
=0A=
        box.innerHTML =3D this.tpl.format({=0A=
            title: this.title,=0A=
            description: this.description,=0A=
            updateUrl: this.updateUrl,=0A=
            buttonSrc: this.buttonSrc,=0A=
            titleStyle: this.titleStyle,=0A=
            closeButtonStyle: this.closeButtonStyle,=0A=
            downloadButtonStyle: this.downloadButtonStyle,=0A=
            rightColStyle: this.rightColStyle=0A=
        });=0A=
=0A=
        box.getElementsByTagName('a')[0].onclick =3D function () {=0A=
            self.onClose(box);=0A=
        };=0A=
=0A=
        return box;=0A=
    };=0A=
=0A=
    CheckFlash.prototype.showMessageBox =3D function () {=0A=
        if (this.cookie(this.cookieName) || !this.pluginIsOutOfDate()) =
return;=0A=
=0A=
        var date =3D new Date();=0A=
        date =3D new Date(date.setTime(date.getTime() + (1000 * 60 * 60 =
* 24 * 14))).toGMTString();=0A=
=0A=
        this.cookie(this.cookieName, true, date);=0A=
=0A=
        this.box =3D this.createMessageBox();=0A=
        if (this.parentElem.childNodes.length) {=0A=
            this.parentElem.insertBefore(this.box, =
this.parentElem.childNodes[0]);=0A=
        } else {=0A=
            this.parentElem.appendChild(this.box);=0A=
        }=0A=
=0A=
        this.onShow();=0A=
    };=0A=
=0A=
    CheckFlash.prototype.cookie =3D function (name, value, expires, =
path, domain, secure) {=0A=
        // get=0A=
        if (arguments.length =3D=3D 1 && typeof name =3D=3D "string") {=0A=
            var results =3D document.cookie.match('(^|;) ?' + name + =
'=3D([^;]*)(;|$)');=0A=
            return results ? decodeURI(results[2]) : null;=0A=
        }=0A=
        // remove=0A=
        if (arguments.length =3D=3D 2 && typeof name =3D=3D "string" && =
value =3D=3D=3D null) {=0A=
            var cookie_date =3D new Date();=0A=
            cookie_date.setTime(cookie_date.getTime() - 1);=0A=
            document.cookie =3D name +=3D "=3D; expires=3D" + =
cookie_date.toGMTString();=0A=
            return null;=0A=
        }=0A=
        // set=0A=
        var cookie =3D name + "=3D" + encodeURI(value) +=0A=
            (expires ? "; expires=3D" + expires : "") +=0A=
            (path ? "; path=3D" + path : "") +=0A=
            (domain ? "; domain=3D" + domain : "") +=0A=
            (secure ? "; secure" : "");=0A=
        document.cookie =3D cookie;=0A=
=0A=
        return cookie;=0A=
    };=0A=
=0A=
    CheckFlash.prototype.pluginIsOutOfDate =3D function () {=0A=
        return !(this.userVersion[0] >=3D this.requiredVersion[0] && =
this.userVersion[1] >=3D this.requiredVersion[1]);=0A=
    };=0A=
=0A=
    window["CheckFlash"] =3D CheckFlash;=0A=
})(window);
------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0017_01CFB31F.0FA54080"


------=_NextPart_001_0017_01CFB31F.0FA54080
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.fluidra.pt/sites/PT/pt/ebook_AstralPool_2014.html

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" =
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><HTML=20
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><META =
content=3D"IE=3D11.0000"=20
http-equiv=3D"X-UA-Compatible">
		 <TITLE>Sites Fluidra</TITLE>		=20
<META http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8">
<SCRIPT>(function(H){H.className=3DH.className.replace(/\bno-js\b/,'js');=
})(document.documentElement);</SCRIPT>
		=20
<SCRIPT language=3D"JavaScript" =
src=3D"http://www.fluidra.pt/export/sites/fluidrasites/Resources/js/jquer=
y.js" type=3D"text/javascript"></SCRIPT>
		 <LINK =
href=3D"http://www.fluidra.pt/export/sites/fluidrasites/Resources/css/Sty=
les.css"=20
rel=3D"stylesheet" type=3D"text/css">	=20
<META name=3D"GENERATOR" content=3D"MSHTML 11.00.9600.17207"></HEAD>	=20
<BODY>
<DIV id=3D"fade" style=3D'left: 0px; top: 0px; display: none; position: =
absolute; z-index: 1000; background-image: =
url("/sites/Resources/img/fade.png");'></DIV>
<SCRIPT =
src=3D"http://www.fluidra.pt/export/sites/fluidrasites/Resources/js/cooki=
e.js" type=3D"text/javascript"></SCRIPT>
=20
<SCRIPT type=3D"text/javascript">=0A=
	function changeLanguage(nextLang, pagename, paramsurl) {=0A=
		if (nextLang !=3D 'pt') {=0A=
			setLanguage(nextLang);=0A=
			if (paramsurl!=3Dundefined && paramsurl!=3D"?" && =
paramsurl!=3D"null") {=0A=
				var idxlangparm =3D paramsurl.toLowerCase().indexOf("/PT/" + "/pt/");=0A=
				if (idxlangparm!=3D-1) {=0A=
					paramsurl =3D paramsurl.substring(0,idxlangparm) + '/PT/' + '/' + =
nextLang + '/' + paramsurl.substring(idxlangparm+4);=0A=
				}=0A=
			} else {=0A=
				paramsurl=3D"";=0A=
			}=0A=
			window.location.href =3D '/sites/PT/' +  nextLang + '/' + pagename + =
paramsurl;=0A=
		}=0A=
	}=0A=
=0A=
	setLanguage('pt');=0A=
</SCRIPT>
			=20
<SCRIPT type=3D"text/javascript">=0A=
		  var _gaq =3D _gaq || [];=0A=
		  _gaq.push(['_setAccount', 'UA-4654688-4']);=0A=
		  _gaq.push(['_trackPageview']);=0A=
		=0A=
		  (function() {=0A=
		    var ga =3D document.createElement('script'); ga.type =3D =
'text/javascript'; ga.async =3D true;=0A=
		    ga.src =3D ('https:' =3D=3D document.location.protocol ? =
'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';=0A=
		    var s =3D document.getElementsByTagName('script')[0]; =
s.parentNode.insertBefore(ga, s);=0A=
		  })();=0A=
		=0A=
		</SCRIPT>
	 		=20
<DIV id=3D"header" style=3D'background-image: =
url("/export/sites/fluidrasites/Resources/img/Images/FLUIDRA_PORTUGAL.jpg=
");'>
<DIV class=3D"idiomas"></DIV><!--[if IE 7]><div =
style=3D"position:relative;z-index:1;>"<![endif]-->
<DIV id=3D"menu">						=20
<UL class=3D"menu2">
  <LI class=3D"top"><A class=3D"top_link1" id=3D"opc1" =
href=3D"http://www.fluidra.pt/sites/PT/pt/index.html">
  							Home						 </A></LI>
  <LI class=3D"top"><A class=3D"top_link" id=3D"opc2">							Empresa					=
	 </A><!--[if lte IE 6]></td></tr></table></a><![endif]-->
  							=20
  <UL class=3D"sub">
    <LI class=3D"sub"><A title=3D"" =
href=3D"http://www.fluidra.pt/sites/PT/pt/Who.html"=20
    alt=3D"Quem somos?">											Quem somos?										 </A>									 =
</LI>
    <LI class=3D"sub"><A title=3D"" =
href=3D"http://www.fluidra.pt/sites/PT/pt/history.html"=20
    alt=3D"Hist=C3=B3ria">											Hist=C3=B3ria										 </A>								=
	 </LI>
    <LI class=3D"sub"><A title=3D"" =
href=3D"http://www.fluidra.pt/sites/PT/pt/News.html"=20
    alt=3D"Not=C3=ADcias">											Not=C3=ADcias										 </A>								=
	 </LI></UL><!--[if lte IE 6]></td></tr></table></a><![endif]-->
  											 </LI>
  <LI class=3D"top"><A class=3D"top_link" id=3D"opc3" =
href=3D"http://www.fluidra.pt/sites/PT/pt/Contact.html">
  							Contacte-nos						 </A></LI>
  <LI class=3D"top"><A class=3D"top_link" id=3D"opc4">							Downloads			=
			 </A><!--[if lte IE 6]></td></tr></table></a><![endif]-->
  							=20
  <UL class=3D"sub">
    <LI class=3D"sub"><A title=3D"" =
href=3D"http://www.fluidra.pt/sites/PT/pt/Downloads.html"=20
    alt=3D"Downloads">											Downloads										 </A>									 </LI>
    <LI class=3D"sub"><A title=3D"" =
href=3D"http://www.fluidra.pt/sites/PT/pt/ebook_AstralPool_2014.html"=20
    alt=3D"Cat. AstralPool 2014">											Cat. AstralPool 2014									=
	 </A>
    									 </LI>
    <LI class=3D"sub"><A title=3D"" =
href=3D"http://www.fluidra.pt/sites/PT/pt/ebook_Idrania_2014.html"=20
    alt=3D"Cat. Idrania 2014">											Cat. Idrania 2014										 =
</A>
    									 </LI>
    <LI class=3D"sub"><A title=3D"" =
href=3D"http://www.fluidra.pt/sites/PT/pt/Ebookcatalogocepex2014"=20
    alt=3D"Cat. Cepex 2014">											Cat. Cepex 2014										 </A>
    									 </LI>
    <LI class=3D"sub"><A title=3D"" =
href=3D"http://www.fluidra.pt/sites/PT/pt/Proludic"=20
    alt=3D"Cat. Proludic 2014">											Cat. Proludic 2014										 =
</A>
    									 </LI></UL><!--[if lte IE =
6]></td></tr></table></a><![endif]-->					=09
  					 </LI>
  <LI class=3D"top"><A class=3D"top_link" id=3D"opc5">							Marcas						=
 </A><!--[if lte IE 6]></td></tr></table></a><![endif]-->
  							=20
  <UL class=3D"sub">
    <LI class=3D"sub"><A title=3D"" href=3D"http://www.astralpool.com/" =
target=3D"_blank"=20
    alt=3D"Astralpool">											Astralpool										 </A>									 =
</LI>
    <LI class=3D"sub"><A title=3D"" =
href=3D"http://www.cepex.com/worldwide/portugal/"=20
    target=3D"_blank" alt=3D"Cepex">											Cepex										 </A>						=
			 </LI>
    <LI class=3D"sub"><A title=3D"" =
href=3D"http://www.idrania.com/port/index.html"=20
    target=3D"_blank" alt=3D"Idrania">											Idrania										 </A>
    									 </LI>
    <LI class=3D"sub"><A title=3D"" =
href=3D"http://www.fluidra.pt/sites/PT/pt/Proludic"=20
    alt=3D"Proludic">											Proludic										 </A>									 =
</LI></UL><!--[if lte IE 6]></td></tr></table></a><![endif]-->
  											 </LI>
  <LI class=3D"top2"><A class=3D"top_link2" id=3D"opc6" =
href=3D"http://www.fluidra.pt/sites/PT/pt/Job.html">
  							Carreira						 </A></LI></UL></DIV><!--[if IE =
7]></div><![endif]-->
	 </DIV>
<DIV class=3D"clearfix" id=3D"contenido">
<DIV class=3D"todo clearfix" style=3D"padding-bottom: 40px;">
<DIV class=3D"clearfix" style=3D"width: 959px;">
<DIV class=3D"box_bg1" style=3D"width: 958px;">
<DIV class=3D"box1_a box_bg1_a" style=3D"width: 958px;">
<DIV class=3D"box box1 clearfix" style=3D"width: 958px;">
<DIV class=3D"box_top" style=3D"width: 953px;">
<DIV class=3D"box_linea_top" style=3D"width: 948px;"><IMG width=3D"4" =
height=3D"4" =
src=3D"http://www.fluidra.pt/export/sites/fluidrasites/Resources/img/blan=
k.gif"></DIV></DIV>
<DIV class=3D"box_mid box_mid1 clearfix" style=3D"width: =
956px;"><SPAN>Cat=C3=A1logo=20
2014</SPAN></DIV>
<DIV class=3D"box_bot" style=3D"width: 958px;"><IMG width=3D"5" =
height=3D"5" =
src=3D"http://www.fluidra.pt/export/sites/fluidrasites/Resources/img/corn=
er_der_inf.gif">
<DIV class=3D"box_linea_bot" style=3D"width: 948px;"><IMG width=3D"4" =
height=3D"4" =
src=3D"http://www.fluidra.pt/export/sites/fluidrasites/Resources/img/blan=
k.gif"></DIV></DIV></DIV></DIV></DIV>
<DIV class=3D"box_bg2 clearfix"><IFRAME width=3D"959" height=3D"796" =
src=3D"http://catalogo.astralpool.com/por/"=20
frameborder=3D"0" scrolling=3D"no"></IFRAME>						 </DIV></DIV></DIV>
<DIV class=3D"footer"><SPAN><A =
href=3D"http://www.fluidra.pt/sites/PT/pt/webmap.html">Web=20
Map</A></SPAN>				 <SPAN><A=20
href=3D"http://www.fluidra.pt/sites/PT/pt/Legal.html">Termos e=20
Condi=C3=A7=C3=B5es</A></SPAN>											 <A =
href=3D"http://www.idrania.com/" target=3D"_blank"><IMG=20
alt=3D"/sites/system/modules/com.fluidrasites.portal/templates/Idrania" =
src=3D"http://www.fluidra.pt/export/sites/fluidrasites/Resources/img/Imag=
es/idrania_cs2.jpg">
		 </A>														 <A href=3D"http://www.cepex.com/" =
target=3D"_blank"><IMG =
alt=3D"/sites/system/modules/com.fluidrasites.portal/templates/Cepex"=20
src=3D"http://www.fluidra.pt/export/sites/fluidrasites/Resources/img/Imag=
es/logo_cepex.jpg">
		 </A>														 <A href=3D"http://www.astralpool.com/" =
target=3D"_blank"><IMG=20
alt=3D"/sites/system/modules/com.fluidrasites.portal/templates/Astral =
Pool" =
src=3D"http://www.fluidra.pt/export/sites/fluidrasites/Resources/img/Imag=
es/AstralPool.jpg">
		 </A>								 </DIV></DIV></BODY></HTML>

------=_NextPart_001_0017_01CFB31F.0FA54080
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://catalogo.astralpool.com/por/

<!DOCTYPE HTML>
<!DOCTYPE html PUBLIC "" "about:legacy-compat"><HTML =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><META=20
content=3D"IE=3D11.0000" http-equiv=3D"X-UA-Compatible">
     <TITLE>CAT=C3=81LOGO- TABELA PISCINA E SPAS 2014</TITLE>
<META http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Diso-8859-1">			=20
<META content=3D"CAT=C3=81LOGO- TABELA PISCINA E SPAS 2014" =
property=3D"og:title">	     =20
  =20
<META content=3D"article" property=3D"og:type">			=20
<META content=3D"CAT=C3=81LOGO- TABELA PISCINA E SPAS 2014" =
property=3D"og:description">
	        =20
<META content=3D"./files/assets/flash/pages/page0001_s.jpg" =
property=3D"og:image">	 =20
      =20
<META content=3D"auto" property=3D"og:determiner">	        =20
<META name=3D"viewport" content=3D"initial-scale=3D1.0">
<SCRIPT type=3D"text/javascript"> =0A=
	  		var assetsFolder =3D '../assets';=0A=
	  		var mobileFolder =3D 'files/mobile';=0A=
    		var SEOFolder =3D 'files/assets/basic-html';=0A=
    		var filesFolderName	 =3D 'files/flash';=0A=
	  		var projectGUID =3D 'cb5f834a192faadc32829ed2770690a5';=0A=
    		var documentBackColor =3D '2E598F';=0A=
			var flashContainerName =3D 'flashbook';=0A=
					=0A=
			function outputStatus(e) {=0A=
				if(!e.success){ 	=0A=
					if(document.getElementById("flash-notification")) {=0A=
						document.getElementById("flash-notification").style.display =3D =
'none';=0A=
					}=0A=
					=0A=
					window.location.replace("./files/assets/basic-html/index.html" + =
window.location.hash + "#noFlash");=0A=
					=0A=
				}=0A=
			}</SCRIPT>
    =20
<SCRIPT =
src=3D"http://catalogo.astralpool.com/por/files/flash/swfobject.js" =
type=3D"text/javascript"></SCRIPT>
    =20
<SCRIPT =
src=3D"http://catalogo.astralpool.com/por/files/flash/swfaddress.js" =
type=3D"text/javascript"></SCRIPT>
    =20
<SCRIPT =
src=3D"http://catalogo.astralpool.com/por/files/flash/fbscript.js" =
type=3D"text/javascript"></SCRIPT>
    =20
<SCRIPT =
src=3D"http://catalogo.astralpool.com/por/files/flash/checkflash.js" =
type=3D"text/javascript"></SCRIPT>
    =20
<STYLE type=3D"text/css">=0A=
			html, body, div, span, applet, object, iframe,=0A=
			h1, h2, h3, h4, h5, h6, p, blockquote, pre,=0A=
			a, abbr, acronym, address, big, cite, code,=0A=
			del, dfn, em, font, img, ins, kbd, q, s, samp,=0A=
			small, strike, sub, sup, tt, var,=0A=
			dl, dt, dd, ol, ul, li,=0A=
			fieldset, form, label, legend,=0A=
			table, caption, tbody, tfoot, thead, tr, th, td {=0A=
			=0A=
				border: 0;=0A=
				outline: 0;=0A=
			=0A=
			}=0A=
			:focus {=0A=
				outline: 0;=0A=
			}=0A=
=0A=
			html { width :100%;height:100%;}=0A=
			body{font-family:Lucida Grande,Helvetica,Lucida =
Sans,Arial,sans-serif;margin:0;font-size:12px;color:#3f5154;background:#d=
1e1e8}=0A=
			.flashbook-content {width : 724px; height: 200px; margin: 20px auto; =
padding: 10px; text-align: left; background:white;border:1px solid =
#ccc;border-radius:5px;padding:20px;}=0A=
			.placeholder-text{background:url('files/flash/flash.gif') no-repeat =
#f5e9e9;border:1px solid =
#d0c1c1;border-radius:5px;min-height:50px;padding:11px 13px 11px 83px}=0A=
			.placeholder-text a{color:#a24c4c}=0A=
			h4{color:#303030;font-size:14px;text-align:left; margin: 0px;}=0A=
			p{color:#464646;font-size:11px;font-weight:bold;text-align:left;}=0A=
			p a{color:#0768b3;text-decoration:underline}=0A=
			</STYLE>
    =20
<SCRIPT type=3D"text/javascript">=0A=
					var _gaq =3D _gaq || []; _gaq.push(['_setAccount', =
'UA-18695720-2']); _gaq.push(['_trackPageview']);=0A=
	            	=0A=
					=0A=
					(function() {var ga =3D document.createElement('script'); ga.type =
=3D 'text/javascript'; ga.async =3D true;=0A=
					ga.src =3D ('https:' =3D=3D document.location.protocol ? =
'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';=0A=
					var s =3D document.getElementsByTagName('script')[0]; =
s.parentNode.insertBefore(ga, s);})();=0A=
					function _trackEvent(category, =
action,label){_gaq.push(['_trackEvent', category, action, label]);}=0A=
					function _trackPageview(path){_gaq.push(['_trackPageview', path]);}=0A=
				</SCRIPT>
  =20
<META name=3D"GENERATOR" content=3D"MSHTML 11.00.9600.17207"></HEAD>  =20
<BODY style=3D"background: rgb(46, 89, 143); margin: 0px; padding: 0px; =
width: 100%; height: 100%; overflow: hidden;"><!--=0A=
          ProductVersion=3D2.5.6--><!--=0A=
          FBID=3Daf96a9a53a2c352d4a207ecc5cc59c5e-->
<DIV id=3D"container" style=3D"background: rgb(46, 89, 143); overflow: =
hidden;">    =20
 =20
<DIV id=3D"content" style=3D"left: 0px; top: 0px; right: 0px; bottom: =
0px; position: absolute;">
<TABLE id=3D"flashbook" style=3D"left: 0px; top: 0px; width: 100%; =
height: 100%; right: 0px; bottom: 0px; position: absolute;">
  <TBODY>
  <TR>
    <TD style=3D"text-align: center; vertical-align: middle;">
      <TABLE class=3D"flashbook-content">
        <TBODY>
        <TR>
          <TD style=3D"vertical-align: top;"><A style=3D"padding: 0px =
20px 0px 0px; float: left;"=20
            href=3D"http://catalogo.astralpool.com/por/index.html"><IMG =
style=3D"background: white; padding: 0px 1px 1px 0px; box-shadow: 1px =
1px 4px rgba(0,0,0,0.6);"=20
            alt=3D"cover" =
src=3D"http://catalogo.astralpool.com/por/files/assets/flash/pages/page00=
01_s.jpg"></A>=20
                              </TD>
          <TD id=3D"error-text" style=3D"vertical-align: top;">
            <H4>CAT=C3=81LOGO- TABELA PISCINA E SPAS 2014</H4>
            <P class=3D"placeholder-text">						                        =
To=20
            maximize your viewing experience of this 						              =
       =20
              digital catalog, we recommend installing <A =
href=3D"http://get.adobe.com/flashplayer/"=20
            target=3D"_blank">Adobe Flash Player Plugin</A>. This =
installation=20
            will only take a few moments. Should you experience any =
issues with=20
            installation, please contact your System Administrator.
            											 </P>
            <P>                        Besides, it's possible to <A =
id=3D"hrefSEO"=20
            =
href=3D"http://catalogo.astralpool.com/por/files/assets/basic-html/page1.=
html">view=20
            a simplified version of the book on any device</A>.          =
       =20
                 =
</P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV></DIV>
<SCRIPT type=3D"text/javascript">=0A=
          new CheckFlash({=0A=
          onShow: function () {=0A=
          document.getElementById('content').style.top =3D=0A=
          this.box.clientHeight + (parseInt(this.box.style.marginTop) || =
0) + (parseInt(this.box.style.marginBottom) || 0) + =
(parseInt(this.box.style.borderTopWidth) || 0) + =
(parseInt(this.box.style.borderBottomWidth) || 0) + "px";=0A=
          },=0A=
          onClose: function() {=0A=
          this.box.style.display =3D "none";=0A=
          document.getElementById('content').style.top =3D "0px";=0A=
          }=0A=
          });=0A=
        </SCRIPT>
   </BODY></HTML>

------=_NextPart_001_0017_01CFB31F.0FA54080--

------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.fluidra.pt/export/sites/fluidrasites/Resources/js/jquery.js

/*!
 * jQuery JavaScript Library v1.4.2
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Sat Feb 13 22:33:48 2010 -0500
 */
(function( window, undefined ) {

// Define a local copy of jQuery
var jQuery =3D function( selector, context ) {
		// The jQuery object is actually just the init constructor 'enhanced'
		return new jQuery.fn.init( selector, context );
	},

	// Map over jQuery in case of overwrite
	_jQuery =3D window.jQuery,

	// Map over the $ in case of overwrite
	_$ =3D window.$,

	// Use the correct document accordingly with window argument (sandbox)
	document =3D window.document,

	// A central reference to the root jQuery(document)
	rootjQuery,

	// A simple way to check for HTML strings or ID strings
	// (both of which we optimize for)
	quickExpr =3D /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,

	// Is it a simple selector
	isSimple =3D /^.[^:#\[\.,]*$/,

	// Check if a string has a non-whitespace character in it
	rnotwhite =3D /\S/,

	// Used for trimming whitespace
	rtrim =3D /^(\s|\u00A0)+|(\s|\u00A0)+$/g,

	// Match a standalone tag
	rsingleTag =3D /^<(\w+)\s*\/?>(?:<\/\1>)?$/,

	// Keep a UserAgent string for use with jQuery.browser
	userAgent =3D navigator.userAgent,

	// For matching the engine and version of the browser
	browserMatch,
=09
	// Has the ready events already been bound?
	readyBound =3D false,
=09
	// The functions to execute on DOM ready
	readyList =3D [],

	// The ready event handler
	DOMContentLoaded,

	// Save a reference to some core methods
	toString =3D Object.prototype.toString,
	hasOwnProperty =3D Object.prototype.hasOwnProperty,
	push =3D Array.prototype.push,
	slice =3D Array.prototype.slice,
	indexOf =3D Array.prototype.indexOf;

jQuery.fn =3D jQuery.prototype =3D {
	init: function( selector, context ) {
		var match, elem, ret, doc;

		// Handle $(""), $(null), or $(undefined)
		if ( !selector ) {
			return this;
		}

		// Handle $(DOMElement)
		if ( selector.nodeType ) {
			this.context =3D this[0] =3D selector;
			this.length =3D 1;
			return this;
		}
	=09
		// The body element only exists once, optimize finding it
		if ( selector =3D=3D=3D "body" && !context ) {
			this.context =3D document;
			this[0] =3D document.body;
			this.selector =3D "body";
			this.length =3D 1;
			return this;
		}

		// Handle HTML strings
		if ( typeof selector =3D=3D=3D "string" ) {
			// Are we dealing with HTML string or an ID?
			match =3D quickExpr.exec( selector );

			// Verify a match, and that no context was specified for #id
			if ( match && (match[1] || !context) ) {

				// HANDLE: $(html) -> $(array)
				if ( match[1] ) {
					doc =3D (context ? context.ownerDocument || context : document);

					// If a single string is passed in and it's a single tag
					// just do a createElement and skip the rest
					ret =3D rsingleTag.exec( selector );

					if ( ret ) {
						if ( jQuery.isPlainObject( context ) ) {
							selector =3D [ document.createElement( ret[1] ) ];
							jQuery.fn.attr.call( selector, context, true );

						} else {
							selector =3D [ doc.createElement( ret[1] ) ];
						}

					} else {
						ret =3D buildFragment( [ match[1] ], [ doc ] );
						selector =3D (ret.cacheable ? ret.fragment.cloneNode(true) : =
ret.fragment).childNodes;
					}
				=09
					return jQuery.merge( this, selector );
				=09
				// HANDLE: $("#id")
				} else {
					elem =3D document.getElementById( match[2] );

					if ( elem ) {
						// Handle the case where IE and Opera return items
						// by name instead of ID
						if ( elem.id !=3D=3D match[2] ) {
							return rootjQuery.find( selector );
						}

						// Otherwise, we inject the element directly into the jQuery =
object
						this.length =3D 1;
						this[0] =3D elem;
					}

					this.context =3D document;
					this.selector =3D selector;
					return this;
				}

			// HANDLE: $("TAG")
			} else if ( !context && /^\w+$/.test( selector ) ) {
				this.selector =3D selector;
				this.context =3D document;
				selector =3D document.getElementsByTagName( selector );
				return jQuery.merge( this, selector );

			// HANDLE: $(expr, $(...))
			} else if ( !context || context.jquery ) {
				return (context || rootjQuery).find( selector );

			// HANDLE: $(expr, context)
			// (which is just equivalent to: $(context).find(expr)
			} else {
				return jQuery( context ).find( selector );
			}

		// HANDLE: $(function)
		// Shortcut for document ready
		} else if ( jQuery.isFunction( selector ) ) {
			return rootjQuery.ready( selector );
		}

		if (selector.selector !=3D=3D undefined) {
			this.selector =3D selector.selector;
			this.context =3D selector.context;
		}

		return jQuery.makeArray( selector, this );
	},

	// Start with an empty selector
	selector: "",

	// The current version of jQuery being used
	jquery: "1.4.2",

	// The default length of a jQuery object is 0
	length: 0,

	// The number of elements contained in the matched element set
	size: function() {
		return this.length;
	},

	toArray: function() {
		return slice.call( this, 0 );
	},

	// Get the Nth element in the matched element set OR
	// Get the whole matched element set as a clean array
	get: function( num ) {
		return num =3D=3D null ?

			// Return a 'clean' array
			this.toArray() :

			// Return just the object
			( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );
	},

	// Take an array of elements and push it onto the stack
	// (returning the new matched element set)
	pushStack: function( elems, name, selector ) {
		// Build a new jQuery matched element set
		var ret =3D jQuery();

		if ( jQuery.isArray( elems ) ) {
			push.apply( ret, elems );
	=09
		} else {
			jQuery.merge( ret, elems );
		}

		// Add the old object onto the stack (as a reference)
		ret.prevObject =3D this;

		ret.context =3D this.context;

		if ( name =3D=3D=3D "find" ) {
			ret.selector =3D this.selector + (this.selector ? " " : "") + =
selector;
		} else if ( name ) {
			ret.selector =3D this.selector + "." + name + "(" + selector + ")";
		}

		// Return the newly-formed element set
		return ret;
	},

	// Execute a callback for every element in the matched set.
	// (You can seed the arguments with an array of args, but this is
	// only used internally.)
	each: function( callback, args ) {
		return jQuery.each( this, callback, args );
	},
=09
	ready: function( fn ) {
		// Attach the listeners
		jQuery.bindReady();

		// If the DOM is already ready
		if ( jQuery.isReady ) {
			// Execute the function immediately
			fn.call( document, jQuery );

		// Otherwise, remember the function for later
		} else if ( readyList ) {
			// Add the function to the wait list
			readyList.push( fn );
		}

		return this;
	},
=09
	eq: function( i ) {
		return i =3D=3D=3D -1 ?
			this.slice( i ) :
			this.slice( i, +i + 1 );
	},

	first: function() {
		return this.eq( 0 );
	},

	last: function() {
		return this.eq( -1 );
	},

	slice: function() {
		return this.pushStack( slice.apply( this, arguments ),
			"slice", slice.call(arguments).join(",") );
	},

	map: function( callback ) {
		return this.pushStack( jQuery.map(this, function( elem, i ) {
			return callback.call( elem, i, elem );
		}));
	},
=09
	end: function() {
		return this.prevObject || jQuery(null);
	},

	// For internal use only.
	// Behaves like an Array's method, not like a jQuery method.
	push: push,
	sort: [].sort,
	splice: [].splice
};

// Give the init function the jQuery prototype for later instantiation
jQuery.fn.init.prototype =3D jQuery.fn;

jQuery.extend =3D jQuery.fn.extend =3D function() {
	// copy reference to target object
	var target =3D arguments[0] || {}, i =3D 1, length =3D =
arguments.length, deep =3D false, options, name, src, copy;

	// Handle a deep copy situation
	if ( typeof target =3D=3D=3D "boolean" ) {
		deep =3D target;
		target =3D arguments[1] || {};
		// skip the boolean and the target
		i =3D 2;
	}

	// Handle case when target is a string or something (possible in deep =
copy)
	if ( typeof target !=3D=3D "object" && !jQuery.isFunction(target) ) {
		target =3D {};
	}

	// extend jQuery itself if only one argument is passed
	if ( length =3D=3D=3D i ) {
		target =3D this;
		--i;
	}

	for ( ; i < length; i++ ) {
		// Only deal with non-null/undefined values
		if ( (options =3D arguments[ i ]) !=3D null ) {
			// Extend the base object
			for ( name in options ) {
				src =3D target[ name ];
				copy =3D options[ name ];

				// Prevent never-ending loop
				if ( target =3D=3D=3D copy ) {
					continue;
				}

				// Recurse if we're merging object literal values or arrays
				if ( deep && copy && ( jQuery.isPlainObject(copy) || =
jQuery.isArray(copy) ) ) {
					var clone =3D src && ( jQuery.isPlainObject(src) || =
jQuery.isArray(src) ) ? src
						: jQuery.isArray(copy) ? [] : {};

					// Never move original objects, clone them
					target[ name ] =3D jQuery.extend( deep, clone, copy );

				// Don't bring in undefined values
				} else if ( copy !=3D=3D undefined ) {
					target[ name ] =3D copy;
				}
			}
		}
	}

	// Return the modified object
	return target;
};

jQuery.extend({
	noConflict: function( deep ) {
		window.$ =3D _$;

		if ( deep ) {
			window.jQuery =3D _jQuery;
		}

		return jQuery;
	},
=09
	// Is the DOM ready to be used? Set to true once it occurs.
	isReady: false,
=09
	// Handle when the DOM is ready
	ready: function() {
		// Make sure that the DOM is not already loaded
		if ( !jQuery.isReady ) {
			// Make sure body exists, at least, in case IE gets a little =
overzealous (ticket #5443).
			if ( !document.body ) {
				return setTimeout( jQuery.ready, 13 );
			}

			// Remember that the DOM is ready
			jQuery.isReady =3D true;

			// If there are functions bound, to execute
			if ( readyList ) {
				// Execute all of them
				var fn, i =3D 0;
				while ( (fn =3D readyList[ i++ ]) ) {
					fn.call( document, jQuery );
				}

				// Reset the list of functions
				readyList =3D null;
			}

			// Trigger any bound ready events
			if ( jQuery.fn.triggerHandler ) {
				jQuery( document ).triggerHandler( "ready" );
			}
		}
	},
=09
	bindReady: function() {
		if ( readyBound ) {
			return;
		}

		readyBound =3D true;

		// Catch cases where $(document).ready() is called after the
		// browser event has already occurred.
		if ( document.readyState =3D=3D=3D "complete" ) {
			return jQuery.ready();
		}

		// Mozilla, Opera and webkit nightlies currently support this event
		if ( document.addEventListener ) {
			// Use the handy event callback
			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, =
false );
		=09
			// A fallback to window.onload, that will always work
			window.addEventListener( "load", jQuery.ready, false );

		// If IE event model is used
		} else if ( document.attachEvent ) {
			// ensure firing before onload,
			// maybe late but safe also for iframes
			document.attachEvent("onreadystatechange", DOMContentLoaded);
		=09
			// A fallback to window.onload, that will always work
			window.attachEvent( "onload", jQuery.ready );

			// If IE and not a frame
			// continually check to see if the document is ready
			var toplevel =3D false;

			try {
				toplevel =3D window.frameElement =3D=3D null;
			} catch(e) {}

			if ( document.documentElement.doScroll && toplevel ) {
				doScrollCheck();
			}
		}
	},

	// See test/unit/core.js for details concerning isFunction.
	// Since version 1.3, DOM methods and functions like alert
	// aren't supported. They return false on IE (#2968).
	isFunction: function( obj ) {
		return toString.call(obj) =3D=3D=3D "[object Function]";
	},

	isArray: function( obj ) {
		return toString.call(obj) =3D=3D=3D "[object Array]";
	},

	isPlainObject: function( obj ) {
		// Must be an Object.
		// Because of IE, we also have to check the presence of the =
constructor property.
		// Make sure that DOM nodes and window objects don't pass through, as =
well
		if ( !obj || toString.call(obj) !=3D=3D "[object Object]" || =
obj.nodeType || obj.setInterval ) {
			return false;
		}
	=09
		// Not own constructor property must be Object
		if ( obj.constructor
			&& !hasOwnProperty.call(obj, "constructor")
			&& !hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf") ) =
{
			return false;
		}
	=09
		// Own properties are enumerated firstly, so to speed up,
		// if last one is own, then all properties are own.
=09
		var key;
		for ( key in obj ) {}
	=09
		return key =3D=3D=3D undefined || hasOwnProperty.call( obj, key );
	},

	isEmptyObject: function( obj ) {
		for ( var name in obj ) {
			return false;
		}
		return true;
	},
=09
	error: function( msg ) {
		throw msg;
	},
=09
	parseJSON: function( data ) {
		if ( typeof data !=3D=3D "string" || !data ) {
			return null;
		}

		// Make sure leading/trailing whitespace is removed (IE can't handle =
it)
		data =3D jQuery.trim( data );
	=09
		// Make sure the incoming data is actual JSON
		// Logic borrowed from http://json.org/json2.js
		if ( =
/^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, =
"@")
			=
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?=
/g, "]")
			.replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) {

			// Try to use the native JSON parser first
			return window.JSON && window.JSON.parse ?
				window.JSON.parse( data ) :
				(new Function("return " + data))();

		} else {
			jQuery.error( "Invalid JSON: " + data );
		}
	},

	noop: function() {},

	// Evalulates a script in a global context
	globalEval: function( data ) {
		if ( data && rnotwhite.test(data) ) {
			// Inspired by code by Andrea Giammarchi
			// =
http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom=
.html
			var head =3D document.getElementsByTagName("head")[0] || =
document.documentElement,
				script =3D document.createElement("script");

			script.type =3D "text/javascript";

			if ( jQuery.support.scriptEval ) {
				script.appendChild( document.createTextNode( data ) );
			} else {
				script.text =3D data;
			}

			// Use insertBefore instead of appendChild to circumvent an IE6 bug.
			// This arises when a base node is used (#2709).
			head.insertBefore( script, head.firstChild );
			head.removeChild( script );
		}
	},

	nodeName: function( elem, name ) {
		return elem.nodeName && elem.nodeName.toUpperCase() =3D=3D=3D =
name.toUpperCase();
	},

	// args is for internal usage only
	each: function( object, callback, args ) {
		var name, i =3D 0,
			length =3D object.length,
			isObj =3D length =3D=3D=3D undefined || jQuery.isFunction(object);

		if ( args ) {
			if ( isObj ) {
				for ( name in object ) {
					if ( callback.apply( object[ name ], args ) =3D=3D=3D false ) {
						break;
					}
				}
			} else {
				for ( ; i < length; ) {
					if ( callback.apply( object[ i++ ], args ) =3D=3D=3D false ) {
						break;
					}
				}
			}

		// A special, fast, case for the most common use of each
		} else {
			if ( isObj ) {
				for ( name in object ) {
					if ( callback.call( object[ name ], name, object[ name ] ) =
=3D=3D=3D false ) {
						break;
					}
				}
			} else {
				for ( var value =3D object[0];
					i < length && callback.call( value, i, value ) !=3D=3D false; value =
=3D object[++i] ) {}
			}
		}

		return object;
	},

	trim: function( text ) {
		return (text || "").replace( rtrim, "" );
	},

	// results is for internal usage only
	makeArray: function( array, results ) {
		var ret =3D results || [];

		if ( array !=3D null ) {
			// The window, strings (and functions) also have 'length'
			// The extra typeof function check is to prevent crashes
			// in Safari 2 (See: #3039)
			if ( array.length =3D=3D null || typeof array =3D=3D=3D "string" || =
jQuery.isFunction(array) || (typeof array !=3D=3D "function" && =
array.setInterval) ) {
				push.call( ret, array );
			} else {
				jQuery.merge( ret, array );
			}
		}

		return ret;
	},

	inArray: function( elem, array ) {
		if ( array.indexOf ) {
			return array.indexOf( elem );
		}

		for ( var i =3D 0, length =3D array.length; i < length; i++ ) {
			if ( array[ i ] =3D=3D=3D elem ) {
				return i;
			}
		}

		return -1;
	},

	merge: function( first, second ) {
		var i =3D first.length, j =3D 0;

		if ( typeof second.length =3D=3D=3D "number" ) {
			for ( var l =3D second.length; j < l; j++ ) {
				first[ i++ ] =3D second[ j ];
			}
	=09
		} else {
			while ( second[j] !=3D=3D undefined ) {
				first[ i++ ] =3D second[ j++ ];
			}
		}

		first.length =3D i;

		return first;
	},

	grep: function( elems, callback, inv ) {
		var ret =3D [];

		// Go through the array, only saving the items
		// that pass the validator function
		for ( var i =3D 0, length =3D elems.length; i < length; i++ ) {
			if ( !inv !=3D=3D !callback( elems[ i ], i ) ) {
				ret.push( elems[ i ] );
			}
		}

		return ret;
	},

	// arg is for internal usage only
	map: function( elems, callback, arg ) {
		var ret =3D [], value;

		// Go through the array, translating each of the items to their
		// new value (or values).
		for ( var i =3D 0, length =3D elems.length; i < length; i++ ) {
			value =3D callback( elems[ i ], i, arg );

			if ( value !=3D null ) {
				ret[ ret.length ] =3D value;
			}
		}

		return ret.concat.apply( [], ret );
	},

	// A global GUID counter for objects
	guid: 1,

	proxy: function( fn, proxy, thisObject ) {
		if ( arguments.length =3D=3D=3D 2 ) {
			if ( typeof proxy =3D=3D=3D "string" ) {
				thisObject =3D fn;
				fn =3D thisObject[ proxy ];
				proxy =3D undefined;

			} else if ( proxy && !jQuery.isFunction( proxy ) ) {
				thisObject =3D proxy;
				proxy =3D undefined;
			}
		}

		if ( !proxy && fn ) {
			proxy =3D function() {
				return fn.apply( thisObject || this, arguments );
			};
		}

		// Set the guid of unique handler to the same of original handler, so =
it can be removed
		if ( fn ) {
			proxy.guid =3D fn.guid =3D fn.guid || proxy.guid || jQuery.guid++;
		}

		// So proxy can be declared as an argument
		return proxy;
	},

	// Use of jQuery.browser is frowned upon.
	// More details: http://docs.jquery.com/Utilities/jQuery.browser
	uaMatch: function( ua ) {
		ua =3D ua.toLowerCase();

		var match =3D /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
			/(opera)(?:.*version)?[ \/]([\w.]+)/.exec( ua ) ||
			/(msie) ([\w.]+)/.exec( ua ) ||
			!/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec( ua =
) ||
		  	[];

		return { browser: match[1] || "", version: match[2] || "0" };
	},

	browser: {}
});

browserMatch =3D jQuery.uaMatch( userAgent );
if ( browserMatch.browser ) {
	jQuery.browser[ browserMatch.browser ] =3D true;
	jQuery.browser.version =3D browserMatch.version;
}

// Deprecated, use jQuery.browser.webkit instead
if ( jQuery.browser.webkit ) {
	jQuery.browser.safari =3D true;
}

if ( indexOf ) {
	jQuery.inArray =3D function( elem, array ) {
		return indexOf.call( array, elem );
	};
}

// All jQuery objects should point back to these
rootjQuery =3D jQuery(document);

// Cleanup functions for the document ready method
if ( document.addEventListener ) {
	DOMContentLoaded =3D function() {
		document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, =
false );
		jQuery.ready();
	};

} else if ( document.attachEvent ) {
	DOMContentLoaded =3D function() {
		// Make sure body exists, at least, in case IE gets a little =
overzealous (ticket #5443).
		if ( document.readyState =3D=3D=3D "complete" ) {
			document.detachEvent( "onreadystatechange", DOMContentLoaded );
			jQuery.ready();
		}
	};
}

// The DOM ready check for Internet Explorer
function doScrollCheck() {
	if ( jQuery.isReady ) {
		return;
	}

	try {
		// If IE is used, use the trick by Diego Perini
		// http://javascript.nwbox.com/IEContentLoaded/
		document.documentElement.doScroll("left");
	} catch( error ) {
		setTimeout( doScrollCheck, 1 );
		return;
	}

	// and execute any waiting functions
	jQuery.ready();
}

function evalScript( i, elem ) {
	if ( elem.src ) {
		jQuery.ajax({
			url: elem.src,
			async: false,
			dataType: "script"
		});
	} else {
		jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || =
"" );
	}

	if ( elem.parentNode ) {
		elem.parentNode.removeChild( elem );
	}
}

// Mutifunctional method to get and set values to a collection
// The value/s can be optionally by executed if its a function
function access( elems, key, value, exec, fn, pass ) {
	var length =3D elems.length;
=09
	// Setting many attributes
	if ( typeof key =3D=3D=3D "object" ) {
		for ( var k in key ) {
			access( elems, k, key[k], exec, fn, value );
		}
		return elems;
	}
=09
	// Setting one attribute
	if ( value !=3D=3D undefined ) {
		// Optionally, function values get executed if exec is true
		exec =3D !pass && exec && jQuery.isFunction(value);
	=09
		for ( var i =3D 0; i < length; i++ ) {
			fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key =
) ) : value, pass );
		}
	=09
		return elems;
	}
=09
	// Getting an attribute
	return length ? fn( elems[0], key ) : undefined;
}

function now() {
	return (new Date).getTime();
}
(function() {

	jQuery.support =3D {};

	var root =3D document.documentElement,
		script =3D document.createElement("script"),
		div =3D document.createElement("div"),
		id =3D "script" + now();

	div.style.display =3D "none";
	div.innerHTML =3D "   <link/><table></table><a href=3D'/a' =
style=3D'color:red;float:left;opacity:.55;'>a</a><input =
type=3D'checkbox'/>";

	var all =3D div.getElementsByTagName("*"),
		a =3D div.getElementsByTagName("a")[0];

	// Can't get basic test support
	if ( !all || !all.length || !a ) {
		return;
	}

	jQuery.support =3D {
		// IE strips leading whitespace when .innerHTML is used
		leadingWhitespace: div.firstChild.nodeType =3D=3D=3D 3,

		// Make sure that tbody elements aren't automatically inserted
		// IE will insert them into empty tables
		tbody: !div.getElementsByTagName("tbody").length,

		// Make sure that link elements get serialized correctly by innerHTML
		// This requires a wrapper element in IE
		htmlSerialize: !!div.getElementsByTagName("link").length,

		// Get the style information from getAttribute
		// (IE uses .cssText insted)
		style: /red/.test( a.getAttribute("style") ),

		// Make sure that URLs aren't manipulated
		// (IE normalizes it by default)
		hrefNormalized: a.getAttribute("href") =3D=3D=3D "/a",

		// Make sure that element opacity exists
		// (IE uses filter instead)
		// Use a regex to work around a WebKit issue. See #5145
		opacity: /^0.55$/.test( a.style.opacity ),

		// Verify style float existence
		// (IE uses styleFloat instead of cssFloat)
		cssFloat: !!a.style.cssFloat,

		// Make sure that if no value is specified for a checkbox
		// that it defaults to "on".
		// (WebKit defaults to "" instead)
		checkOn: div.getElementsByTagName("input")[0].value =3D=3D=3D "on",

		// Make sure that a selected-by-default option has a working selected =
property.
		// (WebKit defaults to false instead of true, IE too, if it's in an =
optgroup)
		optSelected: document.createElement("select").appendChild( =
document.createElement("option") ).selected,

		parentNode: div.removeChild( div.appendChild( =
document.createElement("div") ) ).parentNode =3D=3D=3D null,

		// Will be defined later
		deleteExpando: true,
		checkClone: false,
		scriptEval: false,
		noCloneEvent: true,
		boxModel: null
	};

	script.type =3D "text/javascript";
	try {
		script.appendChild( document.createTextNode( "window." + id + "=3D1;" =
) );
	} catch(e) {}

	root.insertBefore( script, root.firstChild );

	// Make sure that the execution of code works by injecting a script
	// tag with appendChild/createTextNode
	// (IE doesn't support this, fails, and uses .text instead)
	if ( window[ id ] ) {
		jQuery.support.scriptEval =3D true;
		delete window[ id ];
	}

	// Test to see if it's possible to delete an expando from an element
	// Fails in Internet Explorer
	try {
		delete script.test;
=09
	} catch(e) {
		jQuery.support.deleteExpando =3D false;
	}

	root.removeChild( script );

	if ( div.attachEvent && div.fireEvent ) {
		div.attachEvent("onclick", function click() {
			// Cloning a node shouldn't copy over any
			// bound event handlers (IE does this)
			jQuery.support.noCloneEvent =3D false;
			div.detachEvent("onclick", click);
		});
		div.cloneNode(true).fireEvent("onclick");
	}

	div =3D document.createElement("div");
	div.innerHTML =3D "<input type=3D'radio' name=3D'radiotest' =
checked=3D'checked'/>";

	var fragment =3D document.createDocumentFragment();
	fragment.appendChild( div.firstChild );

	// WebKit doesn't clone checked state correctly in fragments
	jQuery.support.checkClone =3D =
fragment.cloneNode(true).cloneNode(true).lastChild.checked;

	// Figure out if the W3C box model works as expected
	// document.body must exist before we can do this
	jQuery(function() {
		var div =3D document.createElement("div");
		div.style.width =3D div.style.paddingLeft =3D "1px";

		document.body.appendChild( div );
		jQuery.boxModel =3D jQuery.support.boxModel =3D div.offsetWidth =
=3D=3D=3D 2;
		document.body.removeChild( div ).style.display =3D 'none';

		div =3D null;
	});

	// Technique from Juriy Zaytsev
	// =
http://thinkweb2.com/projects/prototype/detecting-event-support-without-b=
rowser-sniffing/
	var eventSupported =3D function( eventName ) {=20
		var el =3D document.createElement("div");=20
		eventName =3D "on" + eventName;=20

		var isSupported =3D (eventName in el);=20
		if ( !isSupported ) {=20
			el.setAttribute(eventName, "return;");=20
			isSupported =3D typeof el[eventName] =3D=3D=3D "function";=20
		}=20
		el =3D null;=20

		return isSupported;=20
	};
=09
	jQuery.support.submitBubbles =3D eventSupported("submit");
	jQuery.support.changeBubbles =3D eventSupported("change");

	// release memory in IE
	root =3D script =3D div =3D all =3D a =3D null;
})();

jQuery.props =3D {
	"for": "htmlFor",
	"class": "className",
	readonly: "readOnly",
	maxlength: "maxLength",
	cellspacing: "cellSpacing",
	rowspan: "rowSpan",
	colspan: "colSpan",
	tabindex: "tabIndex",
	usemap: "useMap",
	frameborder: "frameBorder"
};
var expando =3D "jQuery" + now(), uuid =3D 0, windowData =3D {};

jQuery.extend({
	cache: {},
=09
	expando:expando,

	// The following elements throw uncatchable exceptions if you
	// attempt to add expando properties to them.
	noData: {
		"embed": true,
		"object": true,
		"applet": true
	},

	data: function( elem, name, data ) {
		if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
			return;
		}

		elem =3D elem =3D=3D window ?
			windowData :
			elem;

		var id =3D elem[ expando ], cache =3D jQuery.cache, thisCache;

		if ( !id && typeof name =3D=3D=3D "string" && data =3D=3D=3D undefined =
) {
			return null;
		}

		// Compute a unique ID for the element
		if ( !id ) {=20
			id =3D ++uuid;
		}

		// Avoid generating a new cache unless none exists and we
		// want to manipulate it.
		if ( typeof name =3D=3D=3D "object" ) {
			elem[ expando ] =3D id;
			thisCache =3D cache[ id ] =3D jQuery.extend(true, {}, name);

		} else if ( !cache[ id ] ) {
			elem[ expando ] =3D id;
			cache[ id ] =3D {};
		}

		thisCache =3D cache[ id ];

		// Prevent overriding the named cache with undefined values
		if ( data !=3D=3D undefined ) {
			thisCache[ name ] =3D data;
		}

		return typeof name =3D=3D=3D "string" ? thisCache[ name ] : thisCache;
	},

	removeData: function( elem, name ) {
		if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
			return;
		}

		elem =3D elem =3D=3D window ?
			windowData :
			elem;

		var id =3D elem[ expando ], cache =3D jQuery.cache, thisCache =3D =
cache[ id ];

		// If we want to remove a specific section of the element's data
		if ( name ) {
			if ( thisCache ) {
				// Remove the section of cache data
				delete thisCache[ name ];

				// If we've removed all the data, remove the element's cache
				if ( jQuery.isEmptyObject(thisCache) ) {
					jQuery.removeData( elem );
				}
			}

		// Otherwise, we want to remove all of the element's data
		} else {
			if ( jQuery.support.deleteExpando ) {
				delete elem[ jQuery.expando ];

			} else if ( elem.removeAttribute ) {
				elem.removeAttribute( jQuery.expando );
			}

			// Completely remove the data cache
			delete cache[ id ];
		}
	}
});

jQuery.fn.extend({
	data: function( key, value ) {
		if ( typeof key =3D=3D=3D "undefined" && this.length ) {
			return jQuery.data( this[0] );

		} else if ( typeof key =3D=3D=3D "object" ) {
			return this.each(function() {
				jQuery.data( this, key );
			});
		}

		var parts =3D key.split(".");
		parts[1] =3D parts[1] ? "." + parts[1] : "";

		if ( value =3D=3D=3D undefined ) {
			var data =3D this.triggerHandler("getData" + parts[1] + "!", =
[parts[0]]);

			if ( data =3D=3D=3D undefined && this.length ) {
				data =3D jQuery.data( this[0], key );
			}
			return data =3D=3D=3D undefined && parts[1] ?
				this.data( parts[0] ) :
				data;
		} else {
			return this.trigger("setData" + parts[1] + "!", [parts[0], =
value]).each(function() {
				jQuery.data( this, key, value );
			});
		}
	},

	removeData: function( key ) {
		return this.each(function() {
			jQuery.removeData( this, key );
		});
	}
});
jQuery.extend({
	queue: function( elem, type, data ) {
		if ( !elem ) {
			return;
		}

		type =3D (type || "fx") + "queue";
		var q =3D jQuery.data( elem, type );

		// Speed up dequeue by getting out quickly if this is just a lookup
		if ( !data ) {
			return q || [];
		}

		if ( !q || jQuery.isArray(data) ) {
			q =3D jQuery.data( elem, type, jQuery.makeArray(data) );

		} else {
			q.push( data );
		}

		return q;
	},

	dequeue: function( elem, type ) {
		type =3D type || "fx";

		var queue =3D jQuery.queue( elem, type ), fn =3D queue.shift();

		// If the fx queue is dequeued, always remove the progress sentinel
		if ( fn =3D=3D=3D "inprogress" ) {
			fn =3D queue.shift();
		}

		if ( fn ) {
			// Add a progress sentinel to prevent the fx queue from being
			// automatically dequeued
			if ( type =3D=3D=3D "fx" ) {
				queue.unshift("inprogress");
			}

			fn.call(elem, function() {
				jQuery.dequeue(elem, type);
			});
		}
	}
});

jQuery.fn.extend({
	queue: function( type, data ) {
		if ( typeof type !=3D=3D "string" ) {
			data =3D type;
			type =3D "fx";
		}

		if ( data =3D=3D=3D undefined ) {
			return jQuery.queue( this[0], type );
		}
		return this.each(function( i, elem ) {
			var queue =3D jQuery.queue( this, type, data );

			if ( type =3D=3D=3D "fx" && queue[0] !=3D=3D "inprogress" ) {
				jQuery.dequeue( this, type );
			}
		});
	},
	dequeue: function( type ) {
		return this.each(function() {
			jQuery.dequeue( this, type );
		});
	},

	// Based off of the plugin by Clint Helfers, with permission.
	// http://blindsignals.com/index.php/2009/07/jquery-delay/
	delay: function( time, type ) {
		time =3D jQuery.fx ? jQuery.fx.speeds[time] || time : time;
		type =3D type || "fx";

		return this.queue( type, function() {
			var elem =3D this;
			setTimeout(function() {
				jQuery.dequeue( elem, type );
			}, time );
		});
	},

	clearQueue: function( type ) {
		return this.queue( type || "fx", [] );
	}
});
var rclass =3D /[\n\t]/g,
	rspace =3D /\s+/,
	rreturn =3D /\r/g,
	rspecialurl =3D /href|src|style/,
	rtype =3D /(button|input)/i,
	rfocusable =3D /(button|input|object|select|textarea)/i,
	rclickable =3D /^(a|area)$/i,
	rradiocheck =3D /radio|checkbox/;

jQuery.fn.extend({
	attr: function( name, value ) {
		return access( this, name, value, true, jQuery.attr );
	},

	removeAttr: function( name, fn ) {
		return this.each(function(){
			jQuery.attr( this, name, "" );
			if ( this.nodeType =3D=3D=3D 1 ) {
				this.removeAttribute( name );
			}
		});
	},

	addClass: function( value ) {
		if ( jQuery.isFunction(value) ) {
			return this.each(function(i) {
				var self =3D jQuery(this);
				self.addClass( value.call(this, i, self.attr("class")) );
			});
		}

		if ( value && typeof value =3D=3D=3D "string" ) {
			var classNames =3D (value || "").split( rspace );

			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {
				var elem =3D this[i];

				if ( elem.nodeType =3D=3D=3D 1 ) {
					if ( !elem.className ) {
						elem.className =3D value;

					} else {
						var className =3D " " + elem.className + " ", setClass =3D =
elem.className;
						for ( var c =3D 0, cl =3D classNames.length; c < cl; c++ ) {
							if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
								setClass +=3D " " + classNames[c];
							}
						}
						elem.className =3D jQuery.trim( setClass );
					}
				}
			}
		}

		return this;
	},

	removeClass: function( value ) {
		if ( jQuery.isFunction(value) ) {
			return this.each(function(i) {
				var self =3D jQuery(this);
				self.removeClass( value.call(this, i, self.attr("class")) );
			});
		}

		if ( (value && typeof value =3D=3D=3D "string") || value =3D=3D=3D =
undefined ) {
			var classNames =3D (value || "").split(rspace);

			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {
				var elem =3D this[i];

				if ( elem.nodeType =3D=3D=3D 1 && elem.className ) {
					if ( value ) {
						var className =3D (" " + elem.className + " ").replace(rclass, " =
");
						for ( var c =3D 0, cl =3D classNames.length; c < cl; c++ ) {
							className =3D className.replace(" " + classNames[c] + " ", " ");
						}
						elem.className =3D jQuery.trim( className );

					} else {
						elem.className =3D "";
					}
				}
			}
		}

		return this;
	},

	toggleClass: function( value, stateVal ) {
		var type =3D typeof value, isBool =3D typeof stateVal =3D=3D=3D =
"boolean";

		if ( jQuery.isFunction( value ) ) {
			return this.each(function(i) {
				var self =3D jQuery(this);
				self.toggleClass( value.call(this, i, self.attr("class"), stateVal), =
stateVal );
			});
		}

		return this.each(function() {
			if ( type =3D=3D=3D "string" ) {
				// toggle individual class names
				var className, i =3D 0, self =3D jQuery(this),
					state =3D stateVal,
					classNames =3D value.split( rspace );

				while ( (className =3D classNames[ i++ ]) ) {
					// check each className given, space seperated list
					state =3D isBool ? state : !self.hasClass( className );
					self[ state ? "addClass" : "removeClass" ]( className );
				}

			} else if ( type =3D=3D=3D "undefined" || type =3D=3D=3D "boolean" ) =
{
				if ( this.className ) {
					// store className if set
					jQuery.data( this, "__className__", this.className );
				}

				// toggle whole className
				this.className =3D this.className || value =3D=3D=3D false ? "" : =
jQuery.data( this, "__className__" ) || "";
			}
		});
	},

	hasClass: function( selector ) {
		var className =3D " " + selector + " ";
		for ( var i =3D 0, l =3D this.length; i < l; i++ ) {
			if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( =
className ) > -1 ) {
				return true;
			}
		}

		return false;
	},

	val: function( value ) {
		if ( value =3D=3D=3D undefined ) {
			var elem =3D this[0];

			if ( elem ) {
				if ( jQuery.nodeName( elem, "option" ) ) {
					return (elem.attributes.value || {}).specified ? elem.value : =
elem.text;
				}

				// We need to handle select boxes special
				if ( jQuery.nodeName( elem, "select" ) ) {
					var index =3D elem.selectedIndex,
						values =3D [],
						options =3D elem.options,
						one =3D elem.type =3D=3D=3D "select-one";

					// Nothing was selected
					if ( index < 0 ) {
						return null;
					}

					// Loop through all the selected options
					for ( var i =3D one ? index : 0, max =3D one ? index + 1 : =
options.length; i < max; i++ ) {
						var option =3D options[ i ];

						if ( option.selected ) {
							// Get the specifc value for the option
							value =3D jQuery(option).val();

							// We don't need an array for one selects
							if ( one ) {
								return value;
							}

							// Multi-Selects return an array
							values.push( value );
						}
					}

					return values;
				}

				// Handle the case where in Webkit "" is returned instead of "on" if =
a value isn't specified
				if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) {
					return elem.getAttribute("value") =3D=3D=3D null ? "on" : =
elem.value;
				}
			=09

				// Everything else, we just grab the value
				return (elem.value || "").replace(rreturn, "");

			}

			return undefined;
		}

		var isFunction =3D jQuery.isFunction(value);

		return this.each(function(i) {
			var self =3D jQuery(this), val =3D value;

			if ( this.nodeType !=3D=3D 1 ) {
				return;
			}

			if ( isFunction ) {
				val =3D value.call(this, i, self.val());
			}

			// Typecast each time if the value is a Function and the appended
			// value is therefore different each time.
			if ( typeof val =3D=3D=3D "number" ) {
				val +=3D "";
			}

			if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {
				this.checked =3D jQuery.inArray( self.val(), val ) >=3D 0;

			} else if ( jQuery.nodeName( this, "select" ) ) {
				var values =3D jQuery.makeArray(val);

				jQuery( "option", this ).each(function() {
					this.selected =3D jQuery.inArray( jQuery(this).val(), values ) >=3D =
0;
				});

				if ( !values.length ) {
					this.selectedIndex =3D -1;
				}

			} else {
				this.value =3D val;
			}
		});
	}
});

jQuery.extend({
	attrFn: {
		val: true,
		css: true,
		html: true,
		text: true,
		data: true,
		width: true,
		height: true,
		offset: true
	},
	=09
	attr: function( elem, name, value, pass ) {
		// don't set attributes on text and comment nodes
		if ( !elem || elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) =
{
			return undefined;
		}

		if ( pass && name in jQuery.attrFn ) {
			return jQuery(elem)[name](value);
		}

		var notxml =3D elem.nodeType !=3D=3D 1 || !jQuery.isXMLDoc( elem ),
			// Whether we are setting (or getting)
			set =3D value !=3D=3D undefined;

		// Try to normalize/fix the name
		name =3D notxml && jQuery.props[ name ] || name;

		// Only do all the following if this is a node (faster for style)
		if ( elem.nodeType =3D=3D=3D 1 ) {
			// These attributes require special treatment
			var special =3D rspecialurl.test( name );

			// Safari mis-reports the default selected property of an option
			// Accessing the parent's selectedIndex property fixes it
			if ( name =3D=3D=3D "selected" && !jQuery.support.optSelected ) {
				var parent =3D elem.parentNode;
				if ( parent ) {
					parent.selectedIndex;
=09
					// Make sure that it also works with optgroups, see #5701
					if ( parent.parentNode ) {
						parent.parentNode.selectedIndex;
					}
				}
			}

			// If applicable, access the attribute via the DOM 0 way
			if ( name in elem && notxml && !special ) {
				if ( set ) {
					// We can't allow the type property to be changed (since it causes =
problems in IE)
					if ( name =3D=3D=3D "type" && rtype.test( elem.nodeName ) && =
elem.parentNode ) {
						jQuery.error( "type property can't be changed" );
					}

					elem[ name ] =3D value;
				}

				// browsers index elements by id/name on forms, give priority to =
attributes.
				if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) =
) {
					return elem.getAttributeNode( name ).nodeValue;
				}

				// elem.tabIndex doesn't always return the correct value when it =
hasn't been explicitly set
				// =
http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabi=
ndex-values-with-javascript/
				if ( name =3D=3D=3D "tabIndex" ) {
					var attributeNode =3D elem.getAttributeNode( "tabIndex" );

					return attributeNode && attributeNode.specified ?
						attributeNode.value :
						rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName =
) && elem.href ?
							0 :
							undefined;
				}

				return elem[ name ];
			}

			if ( !jQuery.support.style && notxml && name =3D=3D=3D "style" ) {
				if ( set ) {
					elem.style.cssText =3D "" + value;
				}

				return elem.style.cssText;
			}

			if ( set ) {
				// convert the value to a string (all browsers do this but IE) see =
#1070
				elem.setAttribute( name, "" + value );
			}

			var attr =3D !jQuery.support.hrefNormalized && notxml && special ?
					// Some attributes require a special call on IE
					elem.getAttribute( name, 2 ) :
					elem.getAttribute( name );

			// Non-existent attributes return null, we normalize to undefined
			return attr =3D=3D=3D null ? undefined : attr;
		}

		// elem is actually elem.style ... set the style
		// Using attr for specific style information is now deprecated. Use =
style instead.
		return jQuery.style( elem, name, value );
	}
});
var rnamespaces =3D /\.(.*)$/,
	fcleanup =3D function( nm ) {
		return nm.replace(/[^\w\s\.\|`]/g, function( ch ) {
			return "\\" + ch;
		});
	};

/*
 * A number of helper functions used for managing events.
 * Many of the ideas behind this code originated from
 * Dean Edwards' addEvent library.
 */
jQuery.event =3D {

	// Bind an event to an element
	// Original by Dean Edwards
	add: function( elem, types, handler, data ) {
		if ( elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) {
			return;
		}

		// For whatever reason, IE has trouble passing the window object
		// around, causing it to be cloned in the process
		if ( elem.setInterval && ( elem !=3D=3D window && !elem.frameElement ) =
) {
			elem =3D window;
		}

		var handleObjIn, handleObj;

		if ( handler.handler ) {
			handleObjIn =3D handler;
			handler =3D handleObjIn.handler;
		}

		// Make sure that the function being executed has a unique ID
		if ( !handler.guid ) {
			handler.guid =3D jQuery.guid++;
		}

		// Init the element's event structure
		var elemData =3D jQuery.data( elem );

		// If no elemData is found then we must be trying to bind to one of =
the
		// banned noData elements
		if ( !elemData ) {
			return;
		}

		var events =3D elemData.events =3D elemData.events || {},
			eventHandle =3D elemData.handle, eventHandle;

		if ( !eventHandle ) {
			elemData.handle =3D eventHandle =3D function() {
				// Handle the second event of a trigger and when
				// an event is called after a page has unloaded
				return typeof jQuery !=3D=3D "undefined" && !jQuery.event.triggered =
?
					jQuery.event.handle.apply( eventHandle.elem, arguments ) :
					undefined;
			};
		}

		// Add elem as a property of the handle function
		// This is to prevent a memory leak with non-native events in IE.
		eventHandle.elem =3D elem;

		// Handle multiple events separated by a space
		// jQuery(...).bind("mouseover mouseout", fn);
		types =3D types.split(" ");

		var type, i =3D 0, namespaces;

		while ( (type =3D types[ i++ ]) ) {
			handleObj =3D handleObjIn ?
				jQuery.extend({}, handleObjIn) :
				{ handler: handler, data: data };

			// Namespaced event handlers
			if ( type.indexOf(".") > -1 ) {
				namespaces =3D type.split(".");
				type =3D namespaces.shift();
				handleObj.namespace =3D namespaces.slice(0).sort().join(".");

			} else {
				namespaces =3D [];
				handleObj.namespace =3D "";
			}

			handleObj.type =3D type;
			handleObj.guid =3D handler.guid;

			// Get the current list of functions bound to this event
			var handlers =3D events[ type ],
				special =3D jQuery.event.special[ type ] || {};

			// Init the event handler queue
			if ( !handlers ) {
				handlers =3D events[ type ] =3D [];

				// Check for a special event handler
				// Only use addEventListener/attachEvent if the special
				// events handler returns false
				if ( !special.setup || special.setup.call( elem, data, namespaces, =
eventHandle ) =3D=3D=3D false ) {
					// Bind the global event handler to the element
					if ( elem.addEventListener ) {
						elem.addEventListener( type, eventHandle, false );

					} else if ( elem.attachEvent ) {
						elem.attachEvent( "on" + type, eventHandle );
					}
				}
			}
		=09
			if ( special.add ) {=20
				special.add.call( elem, handleObj );=20

				if ( !handleObj.handler.guid ) {
					handleObj.handler.guid =3D handler.guid;
				}
			}

			// Add the function to the element's handler list
			handlers.push( handleObj );

			// Keep track of which events have been used, for global triggering
			jQuery.event.global[ type ] =3D true;
		}

		// Nullify elem to prevent memory leaks in IE
		elem =3D null;
	},

	global: {},

	// Detach an event or set of events from an element
	remove: function( elem, types, handler, pos ) {
		// don't do events on text and comment nodes
		if ( elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) {
			return;
		}

		var ret, type, fn, i =3D 0, all, namespaces, namespace, special, =
eventType, handleObj, origType,
			elemData =3D jQuery.data( elem ),
			events =3D elemData && elemData.events;

		if ( !elemData || !events ) {
			return;
		}

		// types is actually an event object here
		if ( types && types.type ) {
			handler =3D types.handler;
			types =3D types.type;
		}

		// Unbind all events for the element
		if ( !types || typeof types =3D=3D=3D "string" && types.charAt(0) =
=3D=3D=3D "." ) {
			types =3D types || "";

			for ( type in events ) {
				jQuery.event.remove( elem, type + types );
			}

			return;
		}

		// Handle multiple events separated by a space
		// jQuery(...).unbind("mouseover mouseout", fn);
		types =3D types.split(" ");

		while ( (type =3D types[ i++ ]) ) {
			origType =3D type;
			handleObj =3D null;
			all =3D type.indexOf(".") < 0;
			namespaces =3D [];

			if ( !all ) {
				// Namespaced event handlers
				namespaces =3D type.split(".");
				type =3D namespaces.shift();

				namespace =3D new RegExp("(^|\\.)" +=20
					jQuery.map( namespaces.slice(0).sort(), fcleanup =
).join("\\.(?:.*\\.)?") + "(\\.|$)")
			}

			eventType =3D events[ type ];

			if ( !eventType ) {
				continue;
			}

			if ( !handler ) {
				for ( var j =3D 0; j < eventType.length; j++ ) {
					handleObj =3D eventType[ j ];

					if ( all || namespace.test( handleObj.namespace ) ) {
						jQuery.event.remove( elem, origType, handleObj.handler, j );
						eventType.splice( j--, 1 );
					}
				}

				continue;
			}

			special =3D jQuery.event.special[ type ] || {};

			for ( var j =3D pos || 0; j < eventType.length; j++ ) {
				handleObj =3D eventType[ j ];

				if ( handler.guid =3D=3D=3D handleObj.guid ) {
					// remove the given handler for the given type
					if ( all || namespace.test( handleObj.namespace ) ) {
						if ( pos =3D=3D null ) {
							eventType.splice( j--, 1 );
						}

						if ( special.remove ) {
							special.remove.call( elem, handleObj );
						}
					}

					if ( pos !=3D null ) {
						break;
					}
				}
			}

			// remove generic event handler if no more handlers exist
			if ( eventType.length =3D=3D=3D 0 || pos !=3D null && =
eventType.length =3D=3D=3D 1 ) {
				if ( !special.teardown || special.teardown.call( elem, namespaces ) =
=3D=3D=3D false ) {
					removeEvent( elem, type, elemData.handle );
				}

				ret =3D null;
				delete events[ type ];
			}
		}

		// Remove the expando if it's no longer used
		if ( jQuery.isEmptyObject( events ) ) {
			var handle =3D elemData.handle;
			if ( handle ) {
				handle.elem =3D null;
			}

			delete elemData.events;
			delete elemData.handle;

			if ( jQuery.isEmptyObject( elemData ) ) {
				jQuery.removeData( elem );
			}
		}
	},

	// bubbling is internal
	trigger: function( event, data, elem /*, bubbling */ ) {
		// Event object or event type
		var type =3D event.type || event,
			bubbling =3D arguments[3];

		if ( !bubbling ) {
			event =3D typeof event =3D=3D=3D "object" ?
				// jQuery.Event object
				event[expando] ? event :
				// Object literal
				jQuery.extend( jQuery.Event(type), event ) :
				// Just the event type (string)
				jQuery.Event(type);

			if ( type.indexOf("!") >=3D 0 ) {
				event.type =3D type =3D type.slice(0, -1);
				event.exclusive =3D true;
			}

			// Handle a global trigger
			if ( !elem ) {
				// Don't bubble custom events when global (to avoid too much =
overhead)
				event.stopPropagation();

				// Only trigger if we've ever bound an event for it
				if ( jQuery.event.global[ type ] ) {
					jQuery.each( jQuery.cache, function() {
						if ( this.events && this.events[type] ) {
							jQuery.event.trigger( event, data, this.handle.elem );
						}
					});
				}
			}

			// Handle triggering a single element

			// don't do events on text and comment nodes
			if ( !elem || elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 =
) {
				return undefined;
			}

			// Clean up in case it is reused
			event.result =3D undefined;
			event.target =3D elem;

			// Clone the incoming data, if any
			data =3D jQuery.makeArray( data );
			data.unshift( event );
		}

		event.currentTarget =3D elem;

		// Trigger the event, it is assumed that "handle" is a function
		var handle =3D jQuery.data( elem, "handle" );
		if ( handle ) {
			handle.apply( elem, data );
		}

		var parent =3D elem.parentNode || elem.ownerDocument;

		// Trigger an inline bound script
		try {
			if ( !(elem && elem.nodeName && =
jQuery.noData[elem.nodeName.toLowerCase()]) ) {
				if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) =
=3D=3D=3D false ) {
					event.result =3D false;
				}
			}

		// prevent IE from throwing an error for some elements with some event =
types, see #3533
		} catch (e) {}

		if ( !event.isPropagationStopped() && parent ) {
			jQuery.event.trigger( event, data, parent, true );

		} else if ( !event.isDefaultPrevented() ) {
			var target =3D event.target, old,
				isClick =3D jQuery.nodeName(target, "a") && type =3D=3D=3D "click",
				special =3D jQuery.event.special[ type ] || {};

			if ( (!special._default || special._default.call( elem, event ) =
=3D=3D=3D false) &&=20
				!isClick && !(target && target.nodeName && =
jQuery.noData[target.nodeName.toLowerCase()]) ) {

				try {
					if ( target[ type ] ) {
						// Make sure that we don't accidentally re-trigger the onFOO =
events
						old =3D target[ "on" + type ];

						if ( old ) {
							target[ "on" + type ] =3D null;
						}

						jQuery.event.triggered =3D true;
						target[ type ]();
					}

				// prevent IE from throwing an error for some elements with some =
event types, see #3533
				} catch (e) {}

				if ( old ) {
					target[ "on" + type ] =3D old;
				}

				jQuery.event.triggered =3D false;
			}
		}
	},

	handle: function( event ) {
		var all, handlers, namespaces, namespace, events;

		event =3D arguments[0] =3D jQuery.event.fix( event || window.event );
		event.currentTarget =3D this;

		// Namespaced event handlers
		all =3D event.type.indexOf(".") < 0 && !event.exclusive;

		if ( !all ) {
			namespaces =3D event.type.split(".");
			event.type =3D namespaces.shift();
			namespace =3D new RegExp("(^|\\.)" + =
namespaces.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)");
		}

		var events =3D jQuery.data(this, "events"), handlers =3D events[ =
event.type ];

		if ( events && handlers ) {
			// Clone the handlers to prevent manipulation
			handlers =3D handlers.slice(0);

			for ( var j =3D 0, l =3D handlers.length; j < l; j++ ) {
				var handleObj =3D handlers[ j ];

				// Filter the functions by class
				if ( all || namespace.test( handleObj.namespace ) ) {
					// Pass in a reference to the handler function itself
					// So that we can later remove it
					event.handler =3D handleObj.handler;
					event.data =3D handleObj.data;
					event.handleObj =3D handleObj;
=09
					var ret =3D handleObj.handler.apply( this, arguments );

					if ( ret !=3D=3D undefined ) {
						event.result =3D ret;
						if ( ret =3D=3D=3D false ) {
							event.preventDefault();
							event.stopPropagation();
						}
					}

					if ( event.isImmediatePropagationStopped() ) {
						break;
					}
				}
			}
		}

		return event.result;
	},

	props: "altKey attrChange attrName bubbles button cancelable charCode =
clientX clientY ctrlKey currentTarget data detail eventPhase fromElement =
handler keyCode layerX layerY metaKey newValue offsetX offsetY =
originalTarget pageX pageY prevValue relatedNode relatedTarget screenX =
screenY shiftKey srcElement target toElement view wheelDelta =
which".split(" "),

	fix: function( event ) {
		if ( event[ expando ] ) {
			return event;
		}

		// store a copy of the original event object
		// and "clone" to set read-only properties
		var originalEvent =3D event;
		event =3D jQuery.Event( originalEvent );

		for ( var i =3D this.props.length, prop; i; ) {
			prop =3D this.props[ --i ];
			event[ prop ] =3D originalEvent[ prop ];
		}

		// Fix target property, if necessary
		if ( !event.target ) {
			event.target =3D event.srcElement || document; // Fixes #1925 where =
srcElement might not be defined either
		}

		// check if target is a textnode (safari)
		if ( event.target.nodeType =3D=3D=3D 3 ) {
			event.target =3D event.target.parentNode;
		}

		// Add relatedTarget, if necessary
		if ( !event.relatedTarget && event.fromElement ) {
			event.relatedTarget =3D event.fromElement =3D=3D=3D event.target ? =
event.toElement : event.fromElement;
		}

		// Calculate pageX/Y if missing and clientX/Y available
		if ( event.pageX =3D=3D null && event.clientX !=3D null ) {
			var doc =3D document.documentElement, body =3D document.body;
			event.pageX =3D event.clientX + (doc && doc.scrollLeft || body && =
body.scrollLeft || 0) - (doc && doc.clientLeft || body && =
body.clientLeft || 0);
			event.pageY =3D event.clientY + (doc && doc.scrollTop  || body && =
body.scrollTop  || 0) - (doc && doc.clientTop  || body && body.clientTop =
 || 0);
		}

		// Add which for key events
		if ( !event.which && ((event.charCode || event.charCode =3D=3D=3D 0) ? =
event.charCode : event.keyCode) ) {
			event.which =3D event.charCode || event.keyCode;
		}

		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for =
Macs)
		if ( !event.metaKey && event.ctrlKey ) {
			event.metaKey =3D event.ctrlKey;
		}

		// Add which for click: 1 =3D=3D=3D left; 2 =3D=3D=3D middle; 3 =
=3D=3D=3D right
		// Note: button is not normalized, so don't use it
		if ( !event.which && event.button !=3D=3D undefined ) {
			event.which =3D (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( =
event.button & 4 ? 2 : 0 ) ));
		}

		return event;
	},

	// Deprecated, use jQuery.guid instead
	guid: 1E8,

	// Deprecated, use jQuery.proxy instead
	proxy: jQuery.proxy,

	special: {
		ready: {
			// Make sure the ready event is setup
			setup: jQuery.bindReady,
			teardown: jQuery.noop
		},

		live: {
			add: function( handleObj ) {
				jQuery.event.add( this, handleObj.origType, jQuery.extend({}, =
handleObj, {handler: liveHandler}) );=20
			},

			remove: function( handleObj ) {
				var remove =3D true,
					type =3D handleObj.origType.replace(rnamespaces, "");
			=09
				jQuery.each( jQuery.data(this, "events").live || [], function() {
					if ( type =3D=3D=3D this.origType.replace(rnamespaces, "") ) {
						remove =3D false;
						return false;
					}
				});

				if ( remove ) {
					jQuery.event.remove( this, handleObj.origType, liveHandler );
				}
			}

		},

		beforeunload: {
			setup: function( data, namespaces, eventHandle ) {
				// We only want to do this special case on windows
				if ( this.setInterval ) {
					this.onbeforeunload =3D eventHandle;
				}

				return false;
			},
			teardown: function( namespaces, eventHandle ) {
				if ( this.onbeforeunload =3D=3D=3D eventHandle ) {
					this.onbeforeunload =3D null;
				}
			}
		}
	}
};

var removeEvent =3D document.removeEventListener ?
	function( elem, type, handle ) {
		elem.removeEventListener( type, handle, false );
	} :=20
	function( elem, type, handle ) {
		elem.detachEvent( "on" + type, handle );
	};

jQuery.Event =3D function( src ) {
	// Allow instantiation without the 'new' keyword
	if ( !this.preventDefault ) {
		return new jQuery.Event( src );
	}

	// Event object
	if ( src && src.type ) {
		this.originalEvent =3D src;
		this.type =3D src.type;
	// Event type
	} else {
		this.type =3D src;
	}

	// timeStamp is buggy for some events on Firefox(#3843)
	// So we won't rely on the native value
	this.timeStamp =3D now();

	// Mark it as fixed
	this[ expando ] =3D true;
};

function returnFalse() {
	return false;
}
function returnTrue() {
	return true;
}

// jQuery.Event is based on DOM3 Events as specified by the ECMAScript =
Language Binding
// =
http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-bind=
ing.html
jQuery.Event.prototype =3D {
	preventDefault: function() {
		this.isDefaultPrevented =3D returnTrue;

		var e =3D this.originalEvent;
		if ( !e ) {
			return;
		}
	=09
		// if preventDefault exists run it on the original event
		if ( e.preventDefault ) {
			e.preventDefault();
		}
		// otherwise set the returnValue property of the original event to =
false (IE)
		e.returnValue =3D false;
	},
	stopPropagation: function() {
		this.isPropagationStopped =3D returnTrue;

		var e =3D this.originalEvent;
		if ( !e ) {
			return;
		}
		// if stopPropagation exists run it on the original event
		if ( e.stopPropagation ) {
			e.stopPropagation();
		}
		// otherwise set the cancelBubble property of the original event to =
true (IE)
		e.cancelBubble =3D true;
	},
	stopImmediatePropagation: function() {
		this.isImmediatePropagationStopped =3D returnTrue;
		this.stopPropagation();
	},
	isDefaultPrevented: returnFalse,
	isPropagationStopped: returnFalse,
	isImmediatePropagationStopped: returnFalse
};

// Checks if an event happened on an element within another element
// Used in jQuery.event.special.mouseenter and mouseleave handlers
var withinElement =3D function( event ) {
	// Check if mouse(over|out) are still within the same parent element
	var parent =3D event.relatedTarget;

	// Firefox sometimes assigns relatedTarget a XUL element
	// which we cannot access the parentNode property of
	try {
		// Traverse up the tree
		while ( parent && parent !=3D=3D this ) {
			parent =3D parent.parentNode;
		}

		if ( parent !=3D=3D this ) {
			// set the correct event type
			event.type =3D event.data;

			// handle event if we actually just moused on to a non sub-element
			jQuery.event.handle.apply( this, arguments );
		}

	// assuming we've left the element since we most likely mousedover a =
xul element
	} catch(e) { }
},

// In case of event delegation, we only need to rename the event.type,
// liveHandler will take care of the rest.
delegate =3D function( event ) {
	event.type =3D event.data;
	jQuery.event.handle.apply( this, arguments );
};

// Create mouseenter and mouseleave events
jQuery.each({
	mouseenter: "mouseover",
	mouseleave: "mouseout"
}, function( orig, fix ) {
	jQuery.event.special[ orig ] =3D {
		setup: function( data ) {
			jQuery.event.add( this, fix, data && data.selector ? delegate : =
withinElement, orig );
		},
		teardown: function( data ) {
			jQuery.event.remove( this, fix, data && data.selector ? delegate : =
withinElement );
		}
	};
});

// submit delegation
if ( !jQuery.support.submitBubbles ) {

	jQuery.event.special.submit =3D {
		setup: function( data, namespaces ) {
			if ( this.nodeName.toLowerCase() !=3D=3D "form" ) {
				jQuery.event.add(this, "click.specialSubmit", function( e ) {
					var elem =3D e.target, type =3D elem.type;

					if ( (type =3D=3D=3D "submit" || type =3D=3D=3D "image") && jQuery( =
elem ).closest("form").length ) {
						return trigger( "submit", this, arguments );
					}
				});
	=20
				jQuery.event.add(this, "keypress.specialSubmit", function( e ) {
					var elem =3D e.target, type =3D elem.type;

					if ( (type =3D=3D=3D "text" || type =3D=3D=3D "password") && =
jQuery( elem ).closest("form").length && e.keyCode =3D=3D=3D 13 ) {
						return trigger( "submit", this, arguments );
					}
				});

			} else {
				return false;
			}
		},

		teardown: function( namespaces ) {
			jQuery.event.remove( this, ".specialSubmit" );
		}
	};

}

// change delegation, happens here so we have bind.
if ( !jQuery.support.changeBubbles ) {

	var formElems =3D /textarea|input|select/i,

	changeFilters,

	getVal =3D function( elem ) {
		var type =3D elem.type, val =3D elem.value;

		if ( type =3D=3D=3D "radio" || type =3D=3D=3D "checkbox" ) {
			val =3D elem.checked;

		} else if ( type =3D=3D=3D "select-multiple" ) {
			val =3D elem.selectedIndex > -1 ?
				jQuery.map( elem.options, function( elem ) {
					return elem.selected;
				}).join("-") :
				"";

		} else if ( elem.nodeName.toLowerCase() =3D=3D=3D "select" ) {
			val =3D elem.selectedIndex;
		}

		return val;
	},

	testChange =3D function testChange( e ) {
		var elem =3D e.target, data, val;

		if ( !formElems.test( elem.nodeName ) || elem.readOnly ) {
			return;
		}

		data =3D jQuery.data( elem, "_change_data" );
		val =3D getVal(elem);

		// the current data will be also retrieved by beforeactivate
		if ( e.type !=3D=3D "focusout" || elem.type !=3D=3D "radio" ) {
			jQuery.data( elem, "_change_data", val );
		}
	=09
		if ( data =3D=3D=3D undefined || val =3D=3D=3D data ) {
			return;
		}

		if ( data !=3D null || val ) {
			e.type =3D "change";
			return jQuery.event.trigger( e, arguments[1], elem );
		}
	};

	jQuery.event.special.change =3D {
		filters: {
			focusout: testChange,=20

			click: function( e ) {
				var elem =3D e.target, type =3D elem.type;

				if ( type =3D=3D=3D "radio" || type =3D=3D=3D "checkbox" || =
elem.nodeName.toLowerCase() =3D=3D=3D "select" ) {
					return testChange.call( this, e );
				}
			},

			// Change has to be called before submit
			// Keydown will be called before keypress, which is used in =
submit-event delegation
			keydown: function( e ) {
				var elem =3D e.target, type =3D elem.type;

				if ( (e.keyCode =3D=3D=3D 13 && elem.nodeName.toLowerCase() !=3D=3D =
"textarea") ||
					(e.keyCode =3D=3D=3D 32 && (type =3D=3D=3D "checkbox" || type =
=3D=3D=3D "radio")) ||
					type =3D=3D=3D "select-multiple" ) {
					return testChange.call( this, e );
				}
			},

			// Beforeactivate happens also before the previous element is blurred
			// with this event you can't trigger a change event, but you can =
store
			// information/focus[in] is not needed anymore
			beforeactivate: function( e ) {
				var elem =3D e.target;
				jQuery.data( elem, "_change_data", getVal(elem) );
			}
		},

		setup: function( data, namespaces ) {
			if ( this.type =3D=3D=3D "file" ) {
				return false;
			}

			for ( var type in changeFilters ) {
				jQuery.event.add( this, type + ".specialChange", changeFilters[type] =
);
			}

			return formElems.test( this.nodeName );
		},

		teardown: function( namespaces ) {
			jQuery.event.remove( this, ".specialChange" );

			return formElems.test( this.nodeName );
		}
	};

	changeFilters =3D jQuery.event.special.change.filters;
}

function trigger( type, elem, args ) {
	args[0].type =3D type;
	return jQuery.event.handle.apply( elem, args );
}

// Create "bubbling" focus and blur events
if ( document.addEventListener ) {
	jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix =
) {
		jQuery.event.special[ fix ] =3D {
			setup: function() {
				this.addEventListener( orig, handler, true );
			},=20
			teardown: function() {=20
				this.removeEventListener( orig, handler, true );
			}
		};

		function handler( e ) {=20
			e =3D jQuery.event.fix( e );
			e.type =3D fix;
			return jQuery.event.handle.call( this, e );
		}
	});
}

jQuery.each(["bind", "one"], function( i, name ) {
	jQuery.fn[ name ] =3D function( type, data, fn ) {
		// Handle object literals
		if ( typeof type =3D=3D=3D "object" ) {
			for ( var key in type ) {
				this[ name ](key, data, type[key], fn);
			}
			return this;
		}
	=09
		if ( jQuery.isFunction( data ) ) {
			fn =3D data;
			data =3D undefined;
		}

		var handler =3D name =3D=3D=3D "one" ? jQuery.proxy( fn, function( =
event ) {
			jQuery( this ).unbind( event, handler );
			return fn.apply( this, arguments );
		}) : fn;

		if ( type =3D=3D=3D "unload" && name !=3D=3D "one" ) {
			this.one( type, data, fn );

		} else {
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {
				jQuery.event.add( this[i], type, handler, data );
			}
		}

		return this;
	};
});

jQuery.fn.extend({
	unbind: function( type, fn ) {
		// Handle object literals
		if ( typeof type =3D=3D=3D "object" && !type.preventDefault ) {
			for ( var key in type ) {
				this.unbind(key, type[key]);
			}

		} else {
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {
				jQuery.event.remove( this[i], type, fn );
			}
		}

		return this;
	},
=09
	delegate: function( selector, types, data, fn ) {
		return this.live( types, data, fn, selector );
	},
=09
	undelegate: function( selector, types, fn ) {
		if ( arguments.length =3D=3D=3D 0 ) {
				return this.unbind( "live" );
	=09
		} else {
			return this.die( types, null, fn, selector );
		}
	},
=09
	trigger: function( type, data ) {
		return this.each(function() {
			jQuery.event.trigger( type, data, this );
		});
	},

	triggerHandler: function( type, data ) {
		if ( this[0] ) {
			var event =3D jQuery.Event( type );
			event.preventDefault();
			event.stopPropagation();
			jQuery.event.trigger( event, data, this[0] );
			return event.result;
		}
	},

	toggle: function( fn ) {
		// Save reference to arguments for access in closure
		var args =3D arguments, i =3D 1;

		// link all the functions, so any of them can unbind this click =
handler
		while ( i < args.length ) {
			jQuery.proxy( fn, args[ i++ ] );
		}

		return this.click( jQuery.proxy( fn, function( event ) {
			// Figure out which function to execute
			var lastToggle =3D ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 =
) % i;
			jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 );

			// Make sure that clicks stop
			event.preventDefault();

			// and execute the function
			return args[ lastToggle ].apply( this, arguments ) || false;
		}));
	},

	hover: function( fnOver, fnOut ) {
		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
	}
});

var liveMap =3D {
	focus: "focusin",
	blur: "focusout",
	mouseenter: "mouseover",
	mouseleave: "mouseout"
};

jQuery.each(["live", "die"], function( i, name ) {
	jQuery.fn[ name ] =3D function( types, data, fn, origSelector /* =
Internal Use Only */ ) {
		var type, i =3D 0, match, namespaces, preType,
			selector =3D origSelector || this.selector,
			context =3D origSelector ? this : jQuery( this.context );

		if ( jQuery.isFunction( data ) ) {
			fn =3D data;
			data =3D undefined;
		}

		types =3D (types || "").split(" ");

		while ( (type =3D types[ i++ ]) !=3D null ) {
			match =3D rnamespaces.exec( type );
			namespaces =3D "";

			if ( match )  {
				namespaces =3D match[0];
				type =3D type.replace( rnamespaces, "" );
			}

			if ( type =3D=3D=3D "hover" ) {
				types.push( "mouseenter" + namespaces, "mouseleave" + namespaces );
				continue;
			}

			preType =3D type;

			if ( type =3D=3D=3D "focus" || type =3D=3D=3D "blur" ) {
				types.push( liveMap[ type ] + namespaces );
				type =3D type + namespaces;

			} else {
				type =3D (liveMap[ type ] || type) + namespaces;
			}

			if ( name =3D=3D=3D "live" ) {
				// bind live handler
				context.each(function(){
					jQuery.event.add( this, liveConvert( type, selector ),
						{ data: data, selector: selector, handler: fn, origType: type, =
origHandler: fn, preType: preType } );
				});

			} else {
				// unbind live handler
				context.unbind( liveConvert( type, selector ), fn );
			}
		}
	=09
		return this;
	}
});

function liveHandler( event ) {
	var stop, elems =3D [], selectors =3D [], args =3D arguments,
		related, match, handleObj, elem, j, i, l, data,
		events =3D jQuery.data( this, "events" );

	// Make sure we avoid non-left-click bubbling in Firefox (#3861)
	if ( event.liveFired =3D=3D=3D this || !events || !events.live || =
event.button && event.type =3D=3D=3D "click" ) {
		return;
	}

	event.liveFired =3D this;

	var live =3D events.live.slice(0);

	for ( j =3D 0; j < live.length; j++ ) {
		handleObj =3D live[j];

		if ( handleObj.origType.replace( rnamespaces, "" ) =3D=3D=3D =
event.type ) {
			selectors.push( handleObj.selector );

		} else {
			live.splice( j--, 1 );
		}
	}

	match =3D jQuery( event.target ).closest( selectors, =
event.currentTarget );

	for ( i =3D 0, l =3D match.length; i < l; i++ ) {
		for ( j =3D 0; j < live.length; j++ ) {
			handleObj =3D live[j];

			if ( match[i].selector =3D=3D=3D handleObj.selector ) {
				elem =3D match[i].elem;
				related =3D null;

				// Those two events require additional checking
				if ( handleObj.preType =3D=3D=3D "mouseenter" || handleObj.preType =
=3D=3D=3D "mouseleave" ) {
					related =3D jQuery( event.relatedTarget ).closest( =
handleObj.selector )[0];
				}

				if ( !related || related !=3D=3D elem ) {
					elems.push({ elem: elem, handleObj: handleObj });
				}
			}
		}
	}

	for ( i =3D 0, l =3D elems.length; i < l; i++ ) {
		match =3D elems[i];
		event.currentTarget =3D match.elem;
		event.data =3D match.handleObj.data;
		event.handleObj =3D match.handleObj;

		if ( match.handleObj.origHandler.apply( match.elem, args ) =3D=3D=3D =
false ) {
			stop =3D false;
			break;
		}
	}

	return stop;
}

function liveConvert( type, selector ) {
	return "live." + (type && type !=3D=3D "*" ? type + "." : "") + =
selector.replace(/\./g, "`").replace(/ /g, "&");
}

jQuery.each( ("blur focus focusin focusout load resize scroll unload =
click dblclick " +
	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " =
+
	"change select submit keydown keypress keyup error").split(" "), =
function( i, name ) {

	// Handle event binding
	jQuery.fn[ name ] =3D function( fn ) {
		return fn ? this.bind( name, fn ) : this.trigger( name );
	};

	if ( jQuery.attrFn ) {
		jQuery.attrFn[ name ] =3D true;
	}
});

// Prevent memory leaks in IE
// Window isn't included so as not to unbind existing unload events
// More info:
//  - http://isaacschlueter.com/2006/10/msie-memory-leaks/
if ( window.attachEvent && !window.addEventListener ) {
	window.attachEvent("onunload", function() {
		for ( var id in jQuery.cache ) {
			if ( jQuery.cache[ id ].handle ) {
				// Try/Catch is to handle iframes being unloaded, see #4280
				try {
					jQuery.event.remove( jQuery.cache[ id ].handle.elem );
				} catch(e) {}
			}
		}
	});
}
/*!
 * Sizzle CSS Selector Engine - v1.0
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){

var chunker =3D =
/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+=
)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
	done =3D 0,
	toString =3D Object.prototype.toString,
	hasDuplicate =3D false,
	baseHasDuplicate =3D true;

// Here we check if the JavaScript engine is using some sort of
// optimization where it does not always call our comparision
// function. If that is the case, discard the hasDuplicate value.
//   Thus far that includes Google Chrome.
[0, 0].sort(function(){
	baseHasDuplicate =3D false;
	return 0;
});

var Sizzle =3D function(selector, context, results, seed) {
	results =3D results || [];
	var origContext =3D context =3D context || document;

	if ( context.nodeType !=3D=3D 1 && context.nodeType !=3D=3D 9 ) {
		return [];
	}
=09
	if ( !selector || typeof selector !=3D=3D "string" ) {
		return results;
	}

	var parts =3D [], m, set, checkSet, extra, prune =3D true, contextXML =
=3D isXML(context),
		soFar =3D selector;
=09
	// Reset the position of the chunker regexp (start from head)
	while ( (chunker.exec(""), m =3D chunker.exec(soFar)) !=3D=3D null ) {
		soFar =3D m[3];
	=09
		parts.push( m[1] );
	=09
		if ( m[2] ) {
			extra =3D m[3];
			break;
		}
	}

	if ( parts.length > 1 && origPOS.exec( selector ) ) {
		if ( parts.length =3D=3D=3D 2 && Expr.relative[ parts[0] ] ) {
			set =3D posProcess( parts[0] + parts[1], context );
		} else {
			set =3D Expr.relative[ parts[0] ] ?
				[ context ] :
				Sizzle( parts.shift(), context );

			while ( parts.length ) {
				selector =3D parts.shift();

				if ( Expr.relative[ selector ] ) {
					selector +=3D parts.shift();
				}
			=09
				set =3D posProcess( selector, set );
			}
		}
	} else {
		// Take a shortcut and set the context if the root selector is an ID
		// (but not if it'll be faster if the inner selector is an ID)
		if ( !seed && parts.length > 1 && context.nodeType =3D=3D=3D 9 && =
!contextXML &&
				Expr.match.ID.test(parts[0]) && =
!Expr.match.ID.test(parts[parts.length - 1]) ) {
			var ret =3D Sizzle.find( parts.shift(), context, contextXML );
			context =3D ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : =
ret.set[0];
		}

		if ( context ) {
			var ret =3D seed ?
				{ expr: parts.pop(), set: makeArray(seed) } :
				Sizzle.find( parts.pop(), parts.length =3D=3D=3D 1 && (parts[0] =
=3D=3D=3D "~" || parts[0] =3D=3D=3D "+") && context.parentNode ? =
context.parentNode : context, contextXML );
			set =3D ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;

			if ( parts.length > 0 ) {
				checkSet =3D makeArray(set);
			} else {
				prune =3D false;
			}

			while ( parts.length ) {
				var cur =3D parts.pop(), pop =3D cur;

				if ( !Expr.relative[ cur ] ) {
					cur =3D "";
				} else {
					pop =3D parts.pop();
				}

				if ( pop =3D=3D null ) {
					pop =3D context;
				}

				Expr.relative[ cur ]( checkSet, pop, contextXML );
			}
		} else {
			checkSet =3D parts =3D [];
		}
	}

	if ( !checkSet ) {
		checkSet =3D set;
	}

	if ( !checkSet ) {
		Sizzle.error( cur || selector );
	}

	if ( toString.call(checkSet) =3D=3D=3D "[object Array]" ) {
		if ( !prune ) {
			results.push.apply( results, checkSet );
		} else if ( context && context.nodeType =3D=3D=3D 1 ) {
			for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {
				if ( checkSet[i] && (checkSet[i] =3D=3D=3D true || =
checkSet[i].nodeType =3D=3D=3D 1 && contains(context, checkSet[i])) ) {
					results.push( set[i] );
				}
			}
		} else {
			for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {
				if ( checkSet[i] && checkSet[i].nodeType =3D=3D=3D 1 ) {
					results.push( set[i] );
				}
			}
		}
	} else {
		makeArray( checkSet, results );
	}

	if ( extra ) {
		Sizzle( extra, origContext, results, seed );
		Sizzle.uniqueSort( results );
	}

	return results;
};

Sizzle.uniqueSort =3D function(results){
	if ( sortOrder ) {
		hasDuplicate =3D baseHasDuplicate;
		results.sort(sortOrder);

		if ( hasDuplicate ) {
			for ( var i =3D 1; i < results.length; i++ ) {
				if ( results[i] =3D=3D=3D results[i-1] ) {
					results.splice(i--, 1);
				}
			}
		}
	}

	return results;
};

Sizzle.matches =3D function(expr, set){
	return Sizzle(expr, null, null, set);
};

Sizzle.find =3D function(expr, context, isXML){
	var set, match;

	if ( !expr ) {
		return [];
	}

	for ( var i =3D 0, l =3D Expr.order.length; i < l; i++ ) {
		var type =3D Expr.order[i], match;
	=09
		if ( (match =3D Expr.leftMatch[ type ].exec( expr )) ) {
			var left =3D match[1];
			match.splice(1,1);

			if ( left.substr( left.length - 1 ) !=3D=3D "\\" ) {
				match[1] =3D (match[1] || "").replace(/\\/g, "");
				set =3D Expr.find[ type ]( match, context, isXML );
				if ( set !=3D null ) {
					expr =3D expr.replace( Expr.match[ type ], "" );
					break;
				}
			}
		}
	}

	if ( !set ) {
		set =3D context.getElementsByTagName("*");
	}

	return {set: set, expr: expr};
};

Sizzle.filter =3D function(expr, set, inplace, not){
	var old =3D expr, result =3D [], curLoop =3D set, match, anyFound,
		isXMLFilter =3D set && set[0] && isXML(set[0]);

	while ( expr && set.length ) {
		for ( var type in Expr.filter ) {
			if ( (match =3D Expr.leftMatch[ type ].exec( expr )) !=3D null && =
match[2] ) {
				var filter =3D Expr.filter[ type ], found, item, left =3D match[1];
				anyFound =3D false;

				match.splice(1,1);

				if ( left.substr( left.length - 1 ) =3D=3D=3D "\\" ) {
					continue;
				}

				if ( curLoop =3D=3D=3D result ) {
					result =3D [];
				}

				if ( Expr.preFilter[ type ] ) {
					match =3D Expr.preFilter[ type ]( match, curLoop, inplace, result, =
not, isXMLFilter );

					if ( !match ) {
						anyFound =3D found =3D true;
					} else if ( match =3D=3D=3D true ) {
						continue;
					}
				}

				if ( match ) {
					for ( var i =3D 0; (item =3D curLoop[i]) !=3D null; i++ ) {
						if ( item ) {
							found =3D filter( item, match, i, curLoop );
							var pass =3D not ^ !!found;

							if ( inplace && found !=3D null ) {
								if ( pass ) {
									anyFound =3D true;
								} else {
									curLoop[i] =3D false;
								}
							} else if ( pass ) {
								result.push( item );
								anyFound =3D true;
							}
						}
					}
				}

				if ( found !=3D=3D undefined ) {
					if ( !inplace ) {
						curLoop =3D result;
					}

					expr =3D expr.replace( Expr.match[ type ], "" );

					if ( !anyFound ) {
						return [];
					}

					break;
				}
			}
		}

		// Improper expression
		if ( expr =3D=3D=3D old ) {
			if ( anyFound =3D=3D null ) {
				Sizzle.error( expr );
			} else {
				break;
			}
		}

		old =3D expr;
	}

	return curLoop;
};

Sizzle.error =3D function( msg ) {
	throw "Syntax error, unrecognized expression: " + msg;
};

var Expr =3D Sizzle.selectors =3D {
	order: [ "ID", "NAME", "TAG" ],
	match: {
		ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
		CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
		NAME: /\[name=3D['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,
		ATTR: =
/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=3D)\s*(['"]*)(.*?)\3|)\s*\]=
/,
		TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,
		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=3D[^-]|$)/,
		PSEUDO: =
/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\)=
)?/
	},
	leftMatch: {},
	attrMap: {
		"class": "className",
		"for": "htmlFor"
	},
	attrHandle: {
		href: function(elem){
			return elem.getAttribute("href");
		}
	},
	relative: {
		"+": function(checkSet, part){
			var isPartStr =3D typeof part =3D=3D=3D "string",
				isTag =3D isPartStr && !/\W/.test(part),
				isPartStrNotTag =3D isPartStr && !isTag;

			if ( isTag ) {
				part =3D part.toLowerCase();
			}

			for ( var i =3D 0, l =3D checkSet.length, elem; i < l; i++ ) {
				if ( (elem =3D checkSet[i]) ) {
					while ( (elem =3D elem.previousSibling) && elem.nodeType !=3D=3D 1 =
) {}

					checkSet[i] =3D isPartStrNotTag || elem && =
elem.nodeName.toLowerCase() =3D=3D=3D part ?
						elem || false :
						elem =3D=3D=3D part;
				}
			}

			if ( isPartStrNotTag ) {
				Sizzle.filter( part, checkSet, true );
			}
		},
		">": function(checkSet, part){
			var isPartStr =3D typeof part =3D=3D=3D "string";

			if ( isPartStr && !/\W/.test(part) ) {
				part =3D part.toLowerCase();

				for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {
					var elem =3D checkSet[i];
					if ( elem ) {
						var parent =3D elem.parentNode;
						checkSet[i] =3D parent.nodeName.toLowerCase() =3D=3D=3D part ? =
parent : false;
					}
				}
			} else {
				for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {
					var elem =3D checkSet[i];
					if ( elem ) {
						checkSet[i] =3D isPartStr ?
							elem.parentNode :
							elem.parentNode =3D=3D=3D part;
					}
				}

				if ( isPartStr ) {
					Sizzle.filter( part, checkSet, true );
				}
			}
		},
		"": function(checkSet, part, isXML){
			var doneName =3D done++, checkFn =3D dirCheck;

			if ( typeof part =3D=3D=3D "string" && !/\W/.test(part) ) {
				var nodeCheck =3D part =3D part.toLowerCase();
				checkFn =3D dirNodeCheck;
			}

			checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);
		},
		"~": function(checkSet, part, isXML){
			var doneName =3D done++, checkFn =3D dirCheck;

			if ( typeof part =3D=3D=3D "string" && !/\W/.test(part) ) {
				var nodeCheck =3D part =3D part.toLowerCase();
				checkFn =3D dirNodeCheck;
			}

			checkFn("previousSibling", part, doneName, checkSet, nodeCheck, =
isXML);
		}
	},
	find: {
		ID: function(match, context, isXML){
			if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {
				var m =3D context.getElementById(match[1]);
				return m ? [m] : [];
			}
		},
		NAME: function(match, context){
			if ( typeof context.getElementsByName !=3D=3D "undefined" ) {
				var ret =3D [], results =3D context.getElementsByName(match[1]);

				for ( var i =3D 0, l =3D results.length; i < l; i++ ) {
					if ( results[i].getAttribute("name") =3D=3D=3D match[1] ) {
						ret.push( results[i] );
					}
				}

				return ret.length =3D=3D=3D 0 ? null : ret;
			}
		},
		TAG: function(match, context){
			return context.getElementsByTagName(match[1]);
		}
	},
	preFilter: {
		CLASS: function(match, curLoop, inplace, result, not, isXML){
			match =3D " " + match[1].replace(/\\/g, "") + " ";

			if ( isXML ) {
				return match;
			}

			for ( var i =3D 0, elem; (elem =3D curLoop[i]) !=3D null; i++ ) {
				if ( elem ) {
					if ( not ^ (elem.className && (" " + elem.className + " =
").replace(/[\t\n]/g, " ").indexOf(match) >=3D 0) ) {
						if ( !inplace ) {
							result.push( elem );
						}
					} else if ( inplace ) {
						curLoop[i] =3D false;
					}
				}
			}

			return false;
		},
		ID: function(match){
			return match[1].replace(/\\/g, "");
		},
		TAG: function(match, curLoop){
			return match[1].toLowerCase();
		},
		CHILD: function(match){
			if ( match[1] =3D=3D=3D "nth" ) {
				// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', =
'-n+6'
				var test =3D /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
					match[2] =3D=3D=3D "even" && "2n" || match[2] =3D=3D=3D "odd" && =
"2n+1" ||
					!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);

				// calculate the numbers (first)n+(last) including if they are =
negative
				match[2] =3D (test[1] + (test[2] || 1)) - 0;
				match[3] =3D test[3] - 0;
			}

			// TODO: Move to normal caching system
			match[0] =3D done++;

			return match;
		},
		ATTR: function(match, curLoop, inplace, result, not, isXML){
			var name =3D match[1].replace(/\\/g, "");
		=09
			if ( !isXML && Expr.attrMap[name] ) {
				match[1] =3D Expr.attrMap[name];
			}

			if ( match[2] =3D=3D=3D "~=3D" ) {
				match[4] =3D " " + match[4] + " ";
			}

			return match;
		},
		PSEUDO: function(match, curLoop, inplace, result, not){
			if ( match[1] =3D=3D=3D "not" ) {
				// If we're dealing with a complex expression, or a simple one
				if ( ( chunker.exec(match[3]) || "" ).length > 1 || =
/^\w/.test(match[3]) ) {
					match[3] =3D Sizzle(match[3], null, null, curLoop);
				} else {
					var ret =3D Sizzle.filter(match[3], curLoop, inplace, true ^ not);
					if ( !inplace ) {
						result.push.apply( result, ret );
					}
					return false;
				}
			} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( =
match[0] ) ) {
				return true;
			}
		=09
			return match;
		},
		POS: function(match){
			match.unshift( true );
			return match;
		}
	},
	filters: {
		enabled: function(elem){
			return elem.disabled =3D=3D=3D false && elem.type !=3D=3D "hidden";
		},
		disabled: function(elem){
			return elem.disabled =3D=3D=3D true;
		},
		checked: function(elem){
			return elem.checked =3D=3D=3D true;
		},
		selected: function(elem){
			// Accessing this property makes selected-by-default
			// options in Safari work properly
			elem.parentNode.selectedIndex;
			return elem.selected =3D=3D=3D true;
		},
		parent: function(elem){
			return !!elem.firstChild;
		},
		empty: function(elem){
			return !elem.firstChild;
		},
		has: function(elem, i, match){
			return !!Sizzle( match[3], elem ).length;
		},
		header: function(elem){
			return /h\d/i.test( elem.nodeName );
		},
		text: function(elem){
			return "text" =3D=3D=3D elem.type;
		},
		radio: function(elem){
			return "radio" =3D=3D=3D elem.type;
		},
		checkbox: function(elem){
			return "checkbox" =3D=3D=3D elem.type;
		},
		file: function(elem){
			return "file" =3D=3D=3D elem.type;
		},
		password: function(elem){
			return "password" =3D=3D=3D elem.type;
		},
		submit: function(elem){
			return "submit" =3D=3D=3D elem.type;
		},
		image: function(elem){
			return "image" =3D=3D=3D elem.type;
		},
		reset: function(elem){
			return "reset" =3D=3D=3D elem.type;
		},
		button: function(elem){
			return "button" =3D=3D=3D elem.type || elem.nodeName.toLowerCase() =
=3D=3D=3D "button";
		},
		input: function(elem){
			return /input|select|textarea|button/i.test(elem.nodeName);
		}
	},
	setFilters: {
		first: function(elem, i){
			return i =3D=3D=3D 0;
		},
		last: function(elem, i, match, array){
			return i =3D=3D=3D array.length - 1;
		},
		even: function(elem, i){
			return i % 2 =3D=3D=3D 0;
		},
		odd: function(elem, i){
			return i % 2 =3D=3D=3D 1;
		},
		lt: function(elem, i, match){
			return i < match[3] - 0;
		},
		gt: function(elem, i, match){
			return i > match[3] - 0;
		},
		nth: function(elem, i, match){
			return match[3] - 0 =3D=3D=3D i;
		},
		eq: function(elem, i, match){
			return match[3] - 0 =3D=3D=3D i;
		}
	},
	filter: {
		PSEUDO: function(elem, match, i, array){
			var name =3D match[1], filter =3D Expr.filters[ name ];

			if ( filter ) {
				return filter( elem, i, match, array );
			} else if ( name =3D=3D=3D "contains" ) {
				return (elem.textContent || elem.innerText || getText([ elem ]) || =
"").indexOf(match[3]) >=3D 0;
			} else if ( name =3D=3D=3D "not" ) {
				var not =3D match[3];

				for ( var i =3D 0, l =3D not.length; i < l; i++ ) {
					if ( not[i] =3D=3D=3D elem ) {
						return false;
					}
				}

				return true;
			} else {
				Sizzle.error( "Syntax error, unrecognized expression: " + name );
			}
		},
		CHILD: function(elem, match){
			var type =3D match[1], node =3D elem;
			switch (type) {
				case 'only':
				case 'first':
					while ( (node =3D node.previousSibling) )	 {
						if ( node.nodeType =3D=3D=3D 1 ) {=20
							return false;=20
						}
					}
					if ( type =3D=3D=3D "first" ) {=20
						return true;=20
					}
					node =3D elem;
				case 'last':
					while ( (node =3D node.nextSibling) )	 {
						if ( node.nodeType =3D=3D=3D 1 ) {=20
							return false;=20
						}
					}
					return true;
				case 'nth':
					var first =3D match[2], last =3D match[3];

					if ( first =3D=3D=3D 1 && last =3D=3D=3D 0 ) {
						return true;
					}
				=09
					var doneName =3D match[0],
						parent =3D elem.parentNode;
=09
					if ( parent && (parent.sizcache !=3D=3D doneName || =
!elem.nodeIndex) ) {
						var count =3D 0;
						for ( node =3D parent.firstChild; node; node =3D node.nextSibling =
) {
							if ( node.nodeType =3D=3D=3D 1 ) {
								node.nodeIndex =3D ++count;
							}
						}=20
						parent.sizcache =3D doneName;
					}
				=09
					var diff =3D elem.nodeIndex - last;
					if ( first =3D=3D=3D 0 ) {
						return diff =3D=3D=3D 0;
					} else {
						return ( diff % first =3D=3D=3D 0 && diff / first >=3D 0 );
					}
			}
		},
		ID: function(elem, match){
			return elem.nodeType =3D=3D=3D 1 && elem.getAttribute("id") =3D=3D=3D =
match;
		},
		TAG: function(elem, match){
			return (match =3D=3D=3D "*" && elem.nodeType =3D=3D=3D 1) || =
elem.nodeName.toLowerCase() =3D=3D=3D match;
		},
		CLASS: function(elem, match){
			return (" " + (elem.className || elem.getAttribute("class")) + " ")
				.indexOf( match ) > -1;
		},
		ATTR: function(elem, match){
			var name =3D match[1],
				result =3D Expr.attrHandle[ name ] ?
					Expr.attrHandle[ name ]( elem ) :
					elem[ name ] !=3D null ?
						elem[ name ] :
						elem.getAttribute( name ),
				value =3D result + "",
				type =3D match[2],
				check =3D match[4];

			return result =3D=3D null ?
				type =3D=3D=3D "!=3D" :
				type =3D=3D=3D "=3D" ?
				value =3D=3D=3D check :
				type =3D=3D=3D "*=3D" ?
				value.indexOf(check) >=3D 0 :
				type =3D=3D=3D "~=3D" ?
				(" " + value + " ").indexOf(check) >=3D 0 :
				!check ?
				value && result !=3D=3D false :
				type =3D=3D=3D "!=3D" ?
				value !=3D=3D check :
				type =3D=3D=3D "^=3D" ?
				value.indexOf(check) =3D=3D=3D 0 :
				type =3D=3D=3D "$=3D" ?
				value.substr(value.length - check.length) =3D=3D=3D check :
				type =3D=3D=3D "|=3D" ?
				value =3D=3D=3D check || value.substr(0, check.length + 1) =3D=3D=3D =
check + "-" :
				false;
		},
		POS: function(elem, match, i, array){
			var name =3D match[2], filter =3D Expr.setFilters[ name ];

			if ( filter ) {
				return filter( elem, i, match, array );
			}
		}
	}
};

var origPOS =3D Expr.match.POS;

for ( var type in Expr.match ) {
	Expr.match[ type ] =3D new RegExp( Expr.match[ type ].source + =
/(?![^\[]*\])(?![^\(]*\))/.source );
	Expr.leftMatch[ type ] =3D new RegExp( /(^(?:.|\r|\n)*?)/.source + =
Expr.match[ type ].source.replace(/\\(\d+)/g, function(all, num){
		return "\\" + (num - 0 + 1);
	}));
}

var makeArray =3D function(array, results) {
	array =3D Array.prototype.slice.call( array, 0 );

	if ( results ) {
		results.push.apply( results, array );
		return results;
	}
=09
	return array;
};

// Perform a simple check to determine if the browser is capable of
// converting a NodeList to an array using builtin methods.
// Also verifies that the returned array holds DOM nodes
// (which is not the case in the Blackberry browser)
try {
	Array.prototype.slice.call( document.documentElement.childNodes, 0 =
)[0].nodeType;

// Provide a fallback method if it does not work
} catch(e){
	makeArray =3D function(array, results) {
		var ret =3D results || [];

		if ( toString.call(array) =3D=3D=3D "[object Array]" ) {
			Array.prototype.push.apply( ret, array );
		} else {
			if ( typeof array.length =3D=3D=3D "number" ) {
				for ( var i =3D 0, l =3D array.length; i < l; i++ ) {
					ret.push( array[i] );
				}
			} else {
				for ( var i =3D 0; array[i]; i++ ) {
					ret.push( array[i] );
				}
			}
		}

		return ret;
	};
}

var sortOrder;

if ( document.documentElement.compareDocumentPosition ) {
	sortOrder =3D function( a, b ) {
		if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
			if ( a =3D=3D b ) {
				hasDuplicate =3D true;
			}
			return a.compareDocumentPosition ? -1 : 1;
		}

		var ret =3D a.compareDocumentPosition(b) & 4 ? -1 : a =3D=3D=3D b ? 0 =
: 1;
		if ( ret =3D=3D=3D 0 ) {
			hasDuplicate =3D true;
		}
		return ret;
	};
} else if ( "sourceIndex" in document.documentElement ) {
	sortOrder =3D function( a, b ) {
		if ( !a.sourceIndex || !b.sourceIndex ) {
			if ( a =3D=3D b ) {
				hasDuplicate =3D true;
			}
			return a.sourceIndex ? -1 : 1;
		}

		var ret =3D a.sourceIndex - b.sourceIndex;
		if ( ret =3D=3D=3D 0 ) {
			hasDuplicate =3D true;
		}
		return ret;
	};
} else if ( document.createRange ) {
	sortOrder =3D function( a, b ) {
		if ( !a.ownerDocument || !b.ownerDocument ) {
			if ( a =3D=3D b ) {
				hasDuplicate =3D true;
			}
			return a.ownerDocument ? -1 : 1;
		}

		var aRange =3D a.ownerDocument.createRange(), bRange =3D =
b.ownerDocument.createRange();
		aRange.setStart(a, 0);
		aRange.setEnd(a, 0);
		bRange.setStart(b, 0);
		bRange.setEnd(b, 0);
		var ret =3D aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
		if ( ret =3D=3D=3D 0 ) {
			hasDuplicate =3D true;
		}
		return ret;
	};
}

// Utility function for retreiving the text value of an array of DOM =
nodes
function getText( elems ) {
	var ret =3D "", elem;

	for ( var i =3D 0; elems[i]; i++ ) {
		elem =3D elems[i];

		// Get the text from text nodes and CDATA nodes
		if ( elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 4 ) {
			ret +=3D elem.nodeValue;

		// Traverse everything else, except comment nodes
		} else if ( elem.nodeType !=3D=3D 8 ) {
			ret +=3D getText( elem.childNodes );
		}
	}

	return ret;
}

// Check to see if the browser returns elements by name when
// querying by getElementById (and provide a workaround)
(function(){
	// We're going to inject a fake input element with a specified name
	var form =3D document.createElement("div"),
		id =3D "script" + (new Date).getTime();
	form.innerHTML =3D "<a name=3D'" + id + "'/>";

	// Inject it into the root element, check its status, and remove it =
quickly
	var root =3D document.documentElement;
	root.insertBefore( form, root.firstChild );

	// The workaround has to do additional checks after a getElementById
	// Which slows things down for other browsers (hence the branching)
	if ( document.getElementById( id ) ) {
		Expr.find.ID =3D function(match, context, isXML){
			if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {
				var m =3D context.getElementById(match[1]);
				return m ? m.id =3D=3D=3D match[1] || typeof m.getAttributeNode =
!=3D=3D "undefined" && m.getAttributeNode("id").nodeValue =3D=3D=3D =
match[1] ? [m] : undefined : [];
			}
		};

		Expr.filter.ID =3D function(elem, match){
			var node =3D typeof elem.getAttributeNode !=3D=3D "undefined" && =
elem.getAttributeNode("id");
			return elem.nodeType =3D=3D=3D 1 && node && node.nodeValue =3D=3D=3D =
match;
		};
	}

	root.removeChild( form );
	root =3D form =3D null; // release memory in IE
})();

(function(){
	// Check to see if the browser returns only elements
	// when doing getElementsByTagName("*")

	// Create a fake element
	var div =3D document.createElement("div");
	div.appendChild( document.createComment("") );

	// Make sure no comments are found
	if ( div.getElementsByTagName("*").length > 0 ) {
		Expr.find.TAG =3D function(match, context){
			var results =3D context.getElementsByTagName(match[1]);

			// Filter out possible comments
			if ( match[1] =3D=3D=3D "*" ) {
				var tmp =3D [];

				for ( var i =3D 0; results[i]; i++ ) {
					if ( results[i].nodeType =3D=3D=3D 1 ) {
						tmp.push( results[i] );
					}
				}

				results =3D tmp;
			}

			return results;
		};
	}

	// Check to see if an attribute returns normalized href attributes
	div.innerHTML =3D "<a href=3D'#'></a>";
	if ( div.firstChild && typeof div.firstChild.getAttribute !=3D=3D =
"undefined" &&
			div.firstChild.getAttribute("href") !=3D=3D "#" ) {
		Expr.attrHandle.href =3D function(elem){
			return elem.getAttribute("href", 2);
		};
	}

	div =3D null; // release memory in IE
})();

if ( document.querySelectorAll ) {
	(function(){
		var oldSizzle =3D Sizzle, div =3D document.createElement("div");
		div.innerHTML =3D "<p class=3D'TEST'></p>";

		// Safari can't handle uppercase or unicode characters when
		// in quirks mode.
		if ( div.querySelectorAll && div.querySelectorAll(".TEST").length =
=3D=3D=3D 0 ) {
			return;
		}
=09
		Sizzle =3D function(query, context, extra, seed){
			context =3D context || document;

			// Only use querySelectorAll on non-XML documents
			// (ID selectors don't work in non-HTML documents)
			if ( !seed && context.nodeType =3D=3D=3D 9 && !isXML(context) ) {
				try {
					return makeArray( context.querySelectorAll(query), extra );
				} catch(e){}
			}
	=09
			return oldSizzle(query, context, extra, seed);
		};

		for ( var prop in oldSizzle ) {
			Sizzle[ prop ] =3D oldSizzle[ prop ];
		}

		div =3D null; // release memory in IE
	})();
}

(function(){
	var div =3D document.createElement("div");

	div.innerHTML =3D "<div class=3D'test e'></div><div =
class=3D'test'></div>";

	// Opera can't find a second classname (in 9.6)
	// Also, make sure that getElementsByClassName actually exists
	if ( !div.getElementsByClassName || =
div.getElementsByClassName("e").length =3D=3D=3D 0 ) {
		return;
	}

	// Safari caches class attributes, doesn't catch changes (in 3.2)
	div.lastChild.className =3D "e";

	if ( div.getElementsByClassName("e").length =3D=3D=3D 1 ) {
		return;
	}
=09
	Expr.order.splice(1, 0, "CLASS");
	Expr.find.CLASS =3D function(match, context, isXML) {
		if ( typeof context.getElementsByClassName !=3D=3D "undefined" && =
!isXML ) {
			return context.getElementsByClassName(match[1]);
		}
	};

	div =3D null; // release memory in IE
})();

function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) =
{
	for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {
		var elem =3D checkSet[i];
		if ( elem ) {
			elem =3D elem[dir];
			var match =3D false;

			while ( elem ) {
				if ( elem.sizcache =3D=3D=3D doneName ) {
					match =3D checkSet[elem.sizset];
					break;
				}

				if ( elem.nodeType =3D=3D=3D 1 && !isXML ){
					elem.sizcache =3D doneName;
					elem.sizset =3D i;
				}

				if ( elem.nodeName.toLowerCase() =3D=3D=3D cur ) {
					match =3D elem;
					break;
				}

				elem =3D elem[dir];
			}

			checkSet[i] =3D match;
		}
	}
}

function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
	for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {
		var elem =3D checkSet[i];
		if ( elem ) {
			elem =3D elem[dir];
			var match =3D false;

			while ( elem ) {
				if ( elem.sizcache =3D=3D=3D doneName ) {
					match =3D checkSet[elem.sizset];
					break;
				}

				if ( elem.nodeType =3D=3D=3D 1 ) {
					if ( !isXML ) {
						elem.sizcache =3D doneName;
						elem.sizset =3D i;
					}
					if ( typeof cur !=3D=3D "string" ) {
						if ( elem =3D=3D=3D cur ) {
							match =3D true;
							break;
						}

					} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
						match =3D elem;
						break;
					}
				}

				elem =3D elem[dir];
			}

			checkSet[i] =3D match;
		}
	}
}

var contains =3D document.compareDocumentPosition ? function(a, b){
	return !!(a.compareDocumentPosition(b) & 16);
} : function(a, b){
	return a !=3D=3D b && (a.contains ? a.contains(b) : true);
};

var isXML =3D function(elem){
	// documentElement is verified for cases where it doesn't yet exist
	// (such as loading iframes in IE - #4833)=20
	var documentElement =3D (elem ? elem.ownerDocument || elem : =
0).documentElement;
	return documentElement ? documentElement.nodeName !=3D=3D "HTML" : =
false;
};

var posProcess =3D function(selector, context){
	var tmpSet =3D [], later =3D "", match,
		root =3D context.nodeType ? [context] : context;

	// Position selectors must be done after the filter
	// And so must :not(positional) so we move all PSEUDOs to the end
	while ( (match =3D Expr.match.PSEUDO.exec( selector )) ) {
		later +=3D match[0];
		selector =3D selector.replace( Expr.match.PSEUDO, "" );
	}

	selector =3D Expr.relative[selector] ? selector + "*" : selector;

	for ( var i =3D 0, l =3D root.length; i < l; i++ ) {
		Sizzle( selector, root[i], tmpSet );
	}

	return Sizzle.filter( later, tmpSet );
};

// EXPOSE
jQuery.find =3D Sizzle;
jQuery.expr =3D Sizzle.selectors;
jQuery.expr[":"] =3D jQuery.expr.filters;
jQuery.unique =3D Sizzle.uniqueSort;
jQuery.text =3D getText;
jQuery.isXMLDoc =3D isXML;
jQuery.contains =3D contains;

return;

window.Sizzle =3D Sizzle;

})();
var runtil =3D /Until$/,
	rparentsprev =3D /^(?:parents|prevUntil|prevAll)/,
	// Note: This RegExp should be improved, or likely pulled from Sizzle
	rmultiselector =3D /,/,
	slice =3D Array.prototype.slice;

// Implement the identical functionality for filter and not
var winnow =3D function( elements, qualifier, keep ) {
	if ( jQuery.isFunction( qualifier ) ) {
		return jQuery.grep(elements, function( elem, i ) {
			return !!qualifier.call( elem, i, elem ) =3D=3D=3D keep;
		});

	} else if ( qualifier.nodeType ) {
		return jQuery.grep(elements, function( elem, i ) {
			return (elem =3D=3D=3D qualifier) =3D=3D=3D keep;
		});

	} else if ( typeof qualifier =3D=3D=3D "string" ) {
		var filtered =3D jQuery.grep(elements, function( elem ) {
			return elem.nodeType =3D=3D=3D 1;
		});

		if ( isSimple.test( qualifier ) ) {
			return jQuery.filter(qualifier, filtered, !keep);
		} else {
			qualifier =3D jQuery.filter( qualifier, filtered );
		}
	}

	return jQuery.grep(elements, function( elem, i ) {
		return (jQuery.inArray( elem, qualifier ) >=3D 0) =3D=3D=3D keep;
	});
};

jQuery.fn.extend({
	find: function( selector ) {
		var ret =3D this.pushStack( "", "find", selector ), length =3D 0;

		for ( var i =3D 0, l =3D this.length; i < l; i++ ) {
			length =3D ret.length;
			jQuery.find( selector, this[i], ret );

			if ( i > 0 ) {
				// Make sure that the results are unique
				for ( var n =3D length; n < ret.length; n++ ) {
					for ( var r =3D 0; r < length; r++ ) {
						if ( ret[r] =3D=3D=3D ret[n] ) {
							ret.splice(n--, 1);
							break;
						}
					}
				}
			}
		}

		return ret;
	},

	has: function( target ) {
		var targets =3D jQuery( target );
		return this.filter(function() {
			for ( var i =3D 0, l =3D targets.length; i < l; i++ ) {
				if ( jQuery.contains( this, targets[i] ) ) {
					return true;
				}
			}
		});
	},

	not: function( selector ) {
		return this.pushStack( winnow(this, selector, false), "not", =
selector);
	},

	filter: function( selector ) {
		return this.pushStack( winnow(this, selector, true), "filter", =
selector );
	},
=09
	is: function( selector ) {
		return !!selector && jQuery.filter( selector, this ).length > 0;
	},

	closest: function( selectors, context ) {
		if ( jQuery.isArray( selectors ) ) {
			var ret =3D [], cur =3D this[0], match, matches =3D {}, selector;

			if ( cur && selectors.length ) {
				for ( var i =3D 0, l =3D selectors.length; i < l; i++ ) {
					selector =3D selectors[i];

					if ( !matches[selector] ) {
						matches[selector] =3D jQuery.expr.match.POS.test( selector ) ?=20
							jQuery( selector, context || this.context ) :
							selector;
					}
				}

				while ( cur && cur.ownerDocument && cur !=3D=3D context ) {
					for ( selector in matches ) {
						match =3D matches[selector];

						if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) =
) {
							ret.push({ selector: selector, elem: cur });
							delete matches[selector];
						}
					}
					cur =3D cur.parentNode;
				}
			}

			return ret;
		}

		var pos =3D jQuery.expr.match.POS.test( selectors ) ?=20
			jQuery( selectors, context || this.context ) : null;

		return this.map(function( i, cur ) {
			while ( cur && cur.ownerDocument && cur !=3D=3D context ) {
				if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selectors) ) {
					return cur;
				}
				cur =3D cur.parentNode;
			}
			return null;
		});
	},
=09
	// Determine the position of an element within
	// the matched set of elements
	index: function( elem ) {
		if ( !elem || typeof elem =3D=3D=3D "string" ) {
			return jQuery.inArray( this[0],
				// If it receives a string, the selector is used
				// If it receives nothing, the siblings are used
				elem ? jQuery( elem ) : this.parent().children() );
		}
		// Locate the position of the desired element
		return jQuery.inArray(
			// If it receives a jQuery object, the first element is used
			elem.jquery ? elem[0] : elem, this );
	},

	add: function( selector, context ) {
		var set =3D typeof selector =3D=3D=3D "string" ?
				jQuery( selector, context || this.context ) :
				jQuery.makeArray( selector ),
			all =3D jQuery.merge( this.get(), set );

		return this.pushStack( isDisconnected( set[0] ) || isDisconnected( =
all[0] ) ?
			all :
			jQuery.unique( all ) );
	},

	andSelf: function() {
		return this.add( this.prevObject );
	}
});

// A painfully simple check to see if an element is disconnected
// from a document (should be improved, where feasible).
function isDisconnected( node ) {
	return !node || !node.parentNode || node.parentNode.nodeType =3D=3D=3D =
11;
}

jQuery.each({
	parent: function( elem ) {
		var parent =3D elem.parentNode;
		return parent && parent.nodeType !=3D=3D 11 ? parent : null;
	},
	parents: function( elem ) {
		return jQuery.dir( elem, "parentNode" );
	},
	parentsUntil: function( elem, i, until ) {
		return jQuery.dir( elem, "parentNode", until );
	},
	next: function( elem ) {
		return jQuery.nth( elem, 2, "nextSibling" );
	},
	prev: function( elem ) {
		return jQuery.nth( elem, 2, "previousSibling" );
	},
	nextAll: function( elem ) {
		return jQuery.dir( elem, "nextSibling" );
	},
	prevAll: function( elem ) {
		return jQuery.dir( elem, "previousSibling" );
	},
	nextUntil: function( elem, i, until ) {
		return jQuery.dir( elem, "nextSibling", until );
	},
	prevUntil: function( elem, i, until ) {
		return jQuery.dir( elem, "previousSibling", until );
	},
	siblings: function( elem ) {
		return jQuery.sibling( elem.parentNode.firstChild, elem );
	},
	children: function( elem ) {
		return jQuery.sibling( elem.firstChild );
	},
	contents: function( elem ) {
		return jQuery.nodeName( elem, "iframe" ) ?
			elem.contentDocument || elem.contentWindow.document :
			jQuery.makeArray( elem.childNodes );
	}
}, function( name, fn ) {
	jQuery.fn[ name ] =3D function( until, selector ) {
		var ret =3D jQuery.map( this, fn, until );
	=09
		if ( !runtil.test( name ) ) {
			selector =3D until;
		}

		if ( selector && typeof selector =3D=3D=3D "string" ) {
			ret =3D jQuery.filter( selector, ret );
		}

		ret =3D this.length > 1 ? jQuery.unique( ret ) : ret;

		if ( (this.length > 1 || rmultiselector.test( selector )) && =
rparentsprev.test( name ) ) {
			ret =3D ret.reverse();
		}

		return this.pushStack( ret, name, slice.call(arguments).join(",") );
	};
});

jQuery.extend({
	filter: function( expr, elems, not ) {
		if ( not ) {
			expr =3D ":not(" + expr + ")";
		}

		return jQuery.find.matches(expr, elems);
	},
=09
	dir: function( elem, dir, until ) {
		var matched =3D [], cur =3D elem[dir];
		while ( cur && cur.nodeType !=3D=3D 9 && (until =3D=3D=3D undefined || =
cur.nodeType !=3D=3D 1 || !jQuery( cur ).is( until )) ) {
			if ( cur.nodeType =3D=3D=3D 1 ) {
				matched.push( cur );
			}
			cur =3D cur[dir];
		}
		return matched;
	},

	nth: function( cur, result, dir, elem ) {
		result =3D result || 1;
		var num =3D 0;

		for ( ; cur; cur =3D cur[dir] ) {
			if ( cur.nodeType =3D=3D=3D 1 && ++num =3D=3D=3D result ) {
				break;
			}
		}

		return cur;
	},

	sibling: function( n, elem ) {
		var r =3D [];

		for ( ; n; n =3D n.nextSibling ) {
			if ( n.nodeType =3D=3D=3D 1 && n !=3D=3D elem ) {
				r.push( n );
			}
		}

		return r;
	}
});
var rinlinejQuery =3D / jQuery\d+=3D"(?:\d+|null)"/g,
	rleadingWhitespace =3D /^\s+/,
	rxhtmlTag =3D /(<([\w:]+)[^>]*?)\/>/g,
	rselfClosing =3D =
/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,
	rtagName =3D /<([\w:]+)/,
	rtbody =3D /<tbody/i,
	rhtml =3D /<|&#?\w+;/,
	rnocache =3D /<script|<object|<embed|<option|<style/i,
	rchecked =3D /checked\s*(?:[^=3D]|=3D\s*.checked.)/i,  // =
checked=3D"checked" or checked (html5)
	fcloseTag =3D function( all, front, tag ) {
		return rselfClosing.test( tag ) ?
			all :
			front + "></" + tag + ">";
	},
	wrapMap =3D {
		option: [ 1, "<select multiple=3D'multiple'>", "</select>" ],
		legend: [ 1, "<fieldset>", "</fieldset>" ],
		thead: [ 1, "<table>", "</table>" ],
		tr: [ 2, "<table><tbody>", "</tbody></table>" ],
		td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
		col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
		area: [ 1, "<map>", "</map>" ],
		_default: [ 0, "", "" ]
	};

wrapMap.optgroup =3D wrapMap.option;
wrapMap.tbody =3D wrapMap.tfoot =3D wrapMap.colgroup =3D wrapMap.caption =
=3D wrapMap.thead;
wrapMap.th =3D wrapMap.td;

// IE can't serialize <link> and <script> tags normally
if ( !jQuery.support.htmlSerialize ) {
	wrapMap._default =3D [ 1, "div<div>", "</div>" ];
}

jQuery.fn.extend({
	text: function( text ) {
		if ( jQuery.isFunction(text) ) {
			return this.each(function(i) {
				var self =3D jQuery(this);
				self.text( text.call(this, i, self.text()) );
			});
		}

		if ( typeof text !=3D=3D "object" && text !=3D=3D undefined ) {
			return this.empty().append( (this[0] && this[0].ownerDocument || =
document).createTextNode( text ) );
		}

		return jQuery.text( this );
	},

	wrapAll: function( html ) {
		if ( jQuery.isFunction( html ) ) {
			return this.each(function(i) {
				jQuery(this).wrapAll( html.call(this, i) );
			});
		}

		if ( this[0] ) {
			// The elements to wrap the target around
			var wrap =3D jQuery( html, this[0].ownerDocument ).eq(0).clone(true);

			if ( this[0].parentNode ) {
				wrap.insertBefore( this[0] );
			}

			wrap.map(function() {
				var elem =3D this;

				while ( elem.firstChild && elem.firstChild.nodeType =3D=3D=3D 1 ) {
					elem =3D elem.firstChild;
				}

				return elem;
			}).append(this);
		}

		return this;
	},

	wrapInner: function( html ) {
		if ( jQuery.isFunction( html ) ) {
			return this.each(function(i) {
				jQuery(this).wrapInner( html.call(this, i) );
			});
		}

		return this.each(function() {
			var self =3D jQuery( this ), contents =3D self.contents();

			if ( contents.length ) {
				contents.wrapAll( html );

			} else {
				self.append( html );
			}
		});
	},

	wrap: function( html ) {
		return this.each(function() {
			jQuery( this ).wrapAll( html );
		});
	},

	unwrap: function() {
		return this.parent().each(function() {
			if ( !jQuery.nodeName( this, "body" ) ) {
				jQuery( this ).replaceWith( this.childNodes );
			}
		}).end();
	},

	append: function() {
		return this.domManip(arguments, true, function( elem ) {
			if ( this.nodeType =3D=3D=3D 1 ) {
				this.appendChild( elem );
			}
		});
	},

	prepend: function() {
		return this.domManip(arguments, true, function( elem ) {
			if ( this.nodeType =3D=3D=3D 1 ) {
				this.insertBefore( elem, this.firstChild );
			}
		});
	},

	before: function() {
		if ( this[0] && this[0].parentNode ) {
			return this.domManip(arguments, false, function( elem ) {
				this.parentNode.insertBefore( elem, this );
			});
		} else if ( arguments.length ) {
			var set =3D jQuery(arguments[0]);
			set.push.apply( set, this.toArray() );
			return this.pushStack( set, "before", arguments );
		}
	},

	after: function() {
		if ( this[0] && this[0].parentNode ) {
			return this.domManip(arguments, false, function( elem ) {
				this.parentNode.insertBefore( elem, this.nextSibling );
			});
		} else if ( arguments.length ) {
			var set =3D this.pushStack( this, "after", arguments );
			set.push.apply( set, jQuery(arguments[0]).toArray() );
			return set;
		}
	},
=09
	// keepData is for internal use only--do not document
	remove: function( selector, keepData ) {
		for ( var i =3D 0, elem; (elem =3D this[i]) !=3D null; i++ ) {
			if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {
				if ( !keepData && elem.nodeType =3D=3D=3D 1 ) {
					jQuery.cleanData( elem.getElementsByTagName("*") );
					jQuery.cleanData( [ elem ] );
				}

				if ( elem.parentNode ) {
					 elem.parentNode.removeChild( elem );
				}
			}
		}
	=09
		return this;
	},

	empty: function() {
		for ( var i =3D 0, elem; (elem =3D this[i]) !=3D null; i++ ) {
			// Remove element nodes and prevent memory leaks
			if ( elem.nodeType =3D=3D=3D 1 ) {
				jQuery.cleanData( elem.getElementsByTagName("*") );
			}

			// Remove any remaining nodes
			while ( elem.firstChild ) {
				elem.removeChild( elem.firstChild );
			}
		}
	=09
		return this;
	},

	clone: function( events ) {
		// Do the clone
		var ret =3D this.map(function() {
			if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {
				// IE copies events bound via attachEvent when
				// using cloneNode. Calling detachEvent on the
				// clone will also remove the events from the orignal
				// In order to get around this, we use innerHTML.
				// Unfortunately, this means some modifications to
				// attributes in IE that are actually only stored
				// as properties will not be copied (such as the
				// the name attribute on an input).
				var html =3D this.outerHTML, ownerDocument =3D this.ownerDocument;
				if ( !html ) {
					var div =3D ownerDocument.createElement("div");
					div.appendChild( this.cloneNode(true) );
					html =3D div.innerHTML;
				}

				return jQuery.clean([html.replace(rinlinejQuery, "")
					// Handle the case in IE 8 where action=3D/test/> self-closes a tag
					.replace(/=3D([^=3D"'>\s]+\/)>/g, '=3D"$1">')
					.replace(rleadingWhitespace, "")], ownerDocument)[0];
			} else {
				return this.cloneNode(true);
			}
		});

		// Copy the events from the original to the clone
		if ( events =3D=3D=3D true ) {
			cloneCopyEvent( this, ret );
			cloneCopyEvent( this.find("*"), ret.find("*") );
		}

		// Return the cloned set
		return ret;
	},

	html: function( value ) {
		if ( value =3D=3D=3D undefined ) {
			return this[0] && this[0].nodeType =3D=3D=3D 1 ?
				this[0].innerHTML.replace(rinlinejQuery, "") :
				null;

		// See if we can take a shortcut and just use innerHTML
		} else if ( typeof value =3D=3D=3D "string" && !rnocache.test( value ) =
&&
			(jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value =
)) &&
			!wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {

			value =3D value.replace(rxhtmlTag, fcloseTag);

			try {
				for ( var i =3D 0, l =3D this.length; i < l; i++ ) {
					// Remove element nodes and prevent memory leaks
					if ( this[i].nodeType =3D=3D=3D 1 ) {
						jQuery.cleanData( this[i].getElementsByTagName("*") );
						this[i].innerHTML =3D value;
					}
				}

			// If using innerHTML throws an exception, use the fallback method
			} catch(e) {
				this.empty().append( value );
			}

		} else if ( jQuery.isFunction( value ) ) {
			this.each(function(i){
				var self =3D jQuery(this), old =3D self.html();
				self.empty().append(function(){
					return value.call( this, i, old );
				});
			});

		} else {
			this.empty().append( value );
		}

		return this;
	},

	replaceWith: function( value ) {
		if ( this[0] && this[0].parentNode ) {
			// Make sure that the elements are removed from the DOM before they =
are inserted
			// this can help fix replacing a parent with child elements
			if ( jQuery.isFunction( value ) ) {
				return this.each(function(i) {
					var self =3D jQuery(this), old =3D self.html();
					self.replaceWith( value.call( this, i, old ) );
				});
			}

			if ( typeof value !=3D=3D "string" ) {
				value =3D jQuery(value).detach();
			}

			return this.each(function() {
				var next =3D this.nextSibling, parent =3D this.parentNode;

				jQuery(this).remove();

				if ( next ) {
					jQuery(next).before( value );
				} else {
					jQuery(parent).append( value );
				}
			});
		} else {
			return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : =
value), "replaceWith", value );
		}
	},

	detach: function( selector ) {
		return this.remove( selector, true );
	},

	domManip: function( args, table, callback ) {
		var results, first, value =3D args[0], scripts =3D [], fragment, =
parent;

		// We can't cloneNode fragments that contain checked, in WebKit
		if ( !jQuery.support.checkClone && arguments.length =3D=3D=3D 3 && =
typeof value =3D=3D=3D "string" && rchecked.test( value ) ) {
			return this.each(function() {
				jQuery(this).domManip( args, table, callback, true );
			});
		}

		if ( jQuery.isFunction(value) ) {
			return this.each(function(i) {
				var self =3D jQuery(this);
				args[0] =3D value.call(this, i, table ? self.html() : undefined);
				self.domManip( args, table, callback );
			});
		}

		if ( this[0] ) {
			parent =3D value && value.parentNode;

			// If we're in a fragment, just use that instead of building a new =
one
			if ( jQuery.support.parentNode && parent && parent.nodeType =3D=3D=3D =
11 && parent.childNodes.length =3D=3D=3D this.length ) {
				results =3D { fragment: parent };

			} else {
				results =3D buildFragment( args, this, scripts );
			}
		=09
			fragment =3D results.fragment;
		=09
			if ( fragment.childNodes.length =3D=3D=3D 1 ) {
				first =3D fragment =3D fragment.firstChild;
			} else {
				first =3D fragment.firstChild;
			}

			if ( first ) {
				table =3D table && jQuery.nodeName( first, "tr" );

				for ( var i =3D 0, l =3D this.length; i < l; i++ ) {
					callback.call(
						table ?
							root(this[i], first) :
							this[i],
						i > 0 || results.cacheable || this.length > 1  ?
							fragment.cloneNode(true) :
							fragment
					);
				}
			}

			if ( scripts.length ) {
				jQuery.each( scripts, evalScript );
			}
		}

		return this;

		function root( elem, cur ) {
			return jQuery.nodeName(elem, "table") ?
				(elem.getElementsByTagName("tbody")[0] ||
				elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
				elem;
		}
	}
});

function cloneCopyEvent(orig, ret) {
	var i =3D 0;

	ret.each(function() {
		if ( this.nodeName !=3D=3D (orig[i] && orig[i].nodeName) ) {
			return;
		}

		var oldData =3D jQuery.data( orig[i++] ), curData =3D jQuery.data( =
this, oldData ), events =3D oldData && oldData.events;

		if ( events ) {
			delete curData.handle;
			curData.events =3D {};

			for ( var type in events ) {
				for ( var handler in events[ type ] ) {
					jQuery.event.add( this, type, events[ type ][ handler ], events[ =
type ][ handler ].data );
				}
			}
		}
	});
}

function buildFragment( args, nodes, scripts ) {
	var fragment, cacheable, cacheresults,
		doc =3D (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : =
document);

	// Only cache "small" (1/2 KB) strings that are associated with the =
main document
	// Cloning options loses the selected state, so don't cache them
	// IE 6 doesn't like it when you put <object> or <embed> elements in a =
fragment
	// Also, WebKit does not clone 'checked' attributes on cloneNode, so =
don't cache
	if ( args.length =3D=3D=3D 1 && typeof args[0] =3D=3D=3D "string" && =
args[0].length < 512 && doc =3D=3D=3D document &&
		!rnocache.test( args[0] ) && (jQuery.support.checkClone || =
!rchecked.test( args[0] )) ) {

		cacheable =3D true;
		cacheresults =3D jQuery.fragments[ args[0] ];
		if ( cacheresults ) {
			if ( cacheresults !=3D=3D 1 ) {
				fragment =3D cacheresults;
			}
		}
	}

	if ( !fragment ) {
		fragment =3D doc.createDocumentFragment();
		jQuery.clean( args, doc, fragment, scripts );
	}

	if ( cacheable ) {
		jQuery.fragments[ args[0] ] =3D cacheresults ? fragment : 1;
	}

	return { fragment: fragment, cacheable: cacheable };
}

jQuery.fragments =3D {};

jQuery.each({
	appendTo: "append",
	prependTo: "prepend",
	insertBefore: "before",
	insertAfter: "after",
	replaceAll: "replaceWith"
}, function( name, original ) {
	jQuery.fn[ name ] =3D function( selector ) {
		var ret =3D [], insert =3D jQuery( selector ),
			parent =3D this.length =3D=3D=3D 1 && this[0].parentNode;
	=09
		if ( parent && parent.nodeType =3D=3D=3D 11 && =
parent.childNodes.length =3D=3D=3D 1 && insert.length =3D=3D=3D 1 ) {
			insert[ original ]( this[0] );
			return this;
		=09
		} else {
			for ( var i =3D 0, l =3D insert.length; i < l; i++ ) {
				var elems =3D (i > 0 ? this.clone(true) : this).get();
				jQuery.fn[ original ].apply( jQuery(insert[i]), elems );
				ret =3D ret.concat( elems );
			}
	=09
			return this.pushStack( ret, name, insert.selector );
		}
	};
});

jQuery.extend({
	clean: function( elems, context, fragment, scripts ) {
		context =3D context || document;

		// !context.createElement fails in IE with an error but returns typeof =
'object'
		if ( typeof context.createElement =3D=3D=3D "undefined" ) {
			context =3D context.ownerDocument || context[0] && =
context[0].ownerDocument || document;
		}

		var ret =3D [];

		for ( var i =3D 0, elem; (elem =3D elems[i]) !=3D null; i++ ) {
			if ( typeof elem =3D=3D=3D "number" ) {
				elem +=3D "";
			}

			if ( !elem ) {
				continue;
			}

			// Convert html string into DOM nodes
			if ( typeof elem =3D=3D=3D "string" && !rhtml.test( elem ) ) {
				elem =3D context.createTextNode( elem );

			} else if ( typeof elem =3D=3D=3D "string" ) {
				// Fix "XHTML"-style tags in all browsers
				elem =3D elem.replace(rxhtmlTag, fcloseTag);

				// Trim whitespace, otherwise indexOf won't work as expected
				var tag =3D (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(),
					wrap =3D wrapMap[ tag ] || wrapMap._default,
					depth =3D wrap[0],
					div =3D context.createElement("div");

				// Go to html and back, then peel off extra wrappers
				div.innerHTML =3D wrap[1] + elem + wrap[2];

				// Move to the right depth
				while ( depth-- ) {
					div =3D div.lastChild;
				}

				// Remove IE's autoinserted <tbody> from table fragments
				if ( !jQuery.support.tbody ) {

					// String was a <table>, *may* have spurious <tbody>
					var hasBody =3D rtbody.test(elem),
						tbody =3D tag =3D=3D=3D "table" && !hasBody ?
							div.firstChild && div.firstChild.childNodes :

							// String was a bare <thead> or <tfoot>
							wrap[1] =3D=3D=3D "<table>" && !hasBody ?
								div.childNodes :
								[];

					for ( var j =3D tbody.length - 1; j >=3D 0 ; --j ) {
						if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j =
].childNodes.length ) {
							tbody[ j ].parentNode.removeChild( tbody[ j ] );
						}
					}

				}

				// IE completely kills leading whitespace when innerHTML is used
				if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( =
elem ) ) {
					div.insertBefore( context.createTextNode( =
rleadingWhitespace.exec(elem)[0] ), div.firstChild );
				}

				elem =3D div.childNodes;
			}

			if ( elem.nodeType ) {
				ret.push( elem );
			} else {
				ret =3D jQuery.merge( ret, elem );
			}
		}

		if ( fragment ) {
			for ( var i =3D 0; ret[i]; i++ ) {
				if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type =
|| ret[i].type.toLowerCase() =3D=3D=3D "text/javascript") ) {
					scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( =
ret[i] ) : ret[i] );
			=09
				} else {
					if ( ret[i].nodeType =3D=3D=3D 1 ) {
						ret.splice.apply( ret, [i + 1, =
0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
					}
					fragment.appendChild( ret[i] );
				}
			}
		}

		return ret;
	},
=09
	cleanData: function( elems ) {
		var data, id, cache =3D jQuery.cache,
			special =3D jQuery.event.special,
			deleteExpando =3D jQuery.support.deleteExpando;
	=09
		for ( var i =3D 0, elem; (elem =3D elems[i]) !=3D null; i++ ) {
			id =3D elem[ jQuery.expando ];
		=09
			if ( id ) {
				data =3D cache[ id ];
			=09
				if ( data.events ) {
					for ( var type in data.events ) {
						if ( special[ type ] ) {
							jQuery.event.remove( elem, type );

						} else {
							removeEvent( elem, type, data.handle );
						}
					}
				}
			=09
				if ( deleteExpando ) {
					delete elem[ jQuery.expando ];

				} else if ( elem.removeAttribute ) {
					elem.removeAttribute( jQuery.expando );
				}
			=09
				delete cache[ id ];
			}
		}
	}
});
// exclude the following css properties to add px
var rexclude =3D /z-?index|font-?weight|opacity|zoom|line-?height/i,
	ralpha =3D /alpha\([^)]*\)/,
	ropacity =3D /opacity=3D([^)]*)/,
	rfloat =3D /float/i,
	rdashAlpha =3D /-([a-z])/ig,
	rupper =3D /([A-Z])/g,
	rnumpx =3D /^-?\d+(?:px)?$/i,
	rnum =3D /^-?\d/,

	cssShow =3D { position: "absolute", visibility: "hidden", =
display:"block" },
	cssWidth =3D [ "Left", "Right" ],
	cssHeight =3D [ "Top", "Bottom" ],

	// cache check for defaultView.getComputedStyle
	getComputedStyle =3D document.defaultView && =
document.defaultView.getComputedStyle,
	// normalize float css property
	styleFloat =3D jQuery.support.cssFloat ? "cssFloat" : "styleFloat",
	fcamelCase =3D function( all, letter ) {
		return letter.toUpperCase();
	};

jQuery.fn.css =3D function( name, value ) {
	return access( this, name, value, true, function( elem, name, value ) {
		if ( value =3D=3D=3D undefined ) {
			return jQuery.curCSS( elem, name );
		}
	=09
		if ( typeof value =3D=3D=3D "number" && !rexclude.test(name) ) {
			value +=3D "px";
		}

		jQuery.style( elem, name, value );
	});
};

jQuery.extend({
	style: function( elem, name, value ) {
		// don't set styles on text and comment nodes
		if ( !elem || elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) =
{
			return undefined;
		}

		// ignore negative width and height values #1599
		if ( (name =3D=3D=3D "width" || name =3D=3D=3D "height") && =
parseFloat(value) < 0 ) {
			value =3D undefined;
		}

		var style =3D elem.style || elem, set =3D value !=3D=3D undefined;

		// IE uses filters for opacity
		if ( !jQuery.support.opacity && name =3D=3D=3D "opacity" ) {
			if ( set ) {
				// IE has trouble with opacity if it does not have layout
				// Force it by setting the zoom level
				style.zoom =3D 1;

				// Set the alpha filter to set the opacity
				var opacity =3D parseInt( value, 10 ) + "" =3D=3D=3D "NaN" ? "" : =
"alpha(opacity=3D" + value * 100 + ")";
				var filter =3D style.filter || jQuery.curCSS( elem, "filter" ) || =
"";
				style.filter =3D ralpha.test(filter) ? filter.replace(ralpha, =
opacity) : opacity;
			}

			return style.filter && style.filter.indexOf("opacity=3D") >=3D 0 ?
				(parseFloat( ropacity.exec(style.filter)[1] ) / 100) + "":
				"";
		}

		// Make sure we're using the right name for getting the float value
		if ( rfloat.test( name ) ) {
			name =3D styleFloat;
		}

		name =3D name.replace(rdashAlpha, fcamelCase);

		if ( set ) {
			style[ name ] =3D value;
		}

		return style[ name ];
	},

	css: function( elem, name, force, extra ) {
		if ( name =3D=3D=3D "width" || name =3D=3D=3D "height" ) {
			var val, props =3D cssShow, which =3D name =3D=3D=3D "width" ? =
cssWidth : cssHeight;

			function getWH() {
				val =3D name =3D=3D=3D "width" ? elem.offsetWidth : =
elem.offsetHeight;

				if ( extra =3D=3D=3D "border" ) {
					return;
				}

				jQuery.each( which, function() {
					if ( !extra ) {
						val -=3D parseFloat(jQuery.curCSS( elem, "padding" + this, true)) =
|| 0;
					}

					if ( extra =3D=3D=3D "margin" ) {
						val +=3D parseFloat(jQuery.curCSS( elem, "margin" + this, true)) =
|| 0;
					} else {
						val -=3D parseFloat(jQuery.curCSS( elem, "border" + this + =
"Width", true)) || 0;
					}
				});
			}

			if ( elem.offsetWidth !=3D=3D 0 ) {
				getWH();
			} else {
				jQuery.swap( elem, props, getWH );
			}

			return Math.max(0, Math.round(val));
		}

		return jQuery.curCSS( elem, name, force );
	},

	curCSS: function( elem, name, force ) {
		var ret, style =3D elem.style, filter;

		// IE uses filters for opacity
		if ( !jQuery.support.opacity && name =3D=3D=3D "opacity" && =
elem.currentStyle ) {
			ret =3D ropacity.test(elem.currentStyle.filter || "") ?
				(parseFloat(RegExp.$1) / 100) + "" :
				"";

			return ret =3D=3D=3D "" ?
				"1" :
				ret;
		}

		// Make sure we're using the right name for getting the float value
		if ( rfloat.test( name ) ) {
			name =3D styleFloat;
		}

		if ( !force && style && style[ name ] ) {
			ret =3D style[ name ];

		} else if ( getComputedStyle ) {

			// Only "float" is needed here
			if ( rfloat.test( name ) ) {
				name =3D "float";
			}

			name =3D name.replace( rupper, "-$1" ).toLowerCase();

			var defaultView =3D elem.ownerDocument.defaultView;

			if ( !defaultView ) {
				return null;
			}

			var computedStyle =3D defaultView.getComputedStyle( elem, null );

			if ( computedStyle ) {
				ret =3D computedStyle.getPropertyValue( name );
			}

			// We should always get a number back from opacity
			if ( name =3D=3D=3D "opacity" && ret =3D=3D=3D "" ) {
				ret =3D "1";
			}

		} else if ( elem.currentStyle ) {
			var camelCase =3D name.replace(rdashAlpha, fcamelCase);

			ret =3D elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];

			// From the awesome hack by Dean Edwards
			// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291

			// If we're not dealing with a regular pixel number
			// but a number that has a weird ending, we need to convert it to =
pixels
			if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {
				// Remember the original values
				var left =3D style.left, rsLeft =3D elem.runtimeStyle.left;

				// Put in the new values to get a computed value out
				elem.runtimeStyle.left =3D elem.currentStyle.left;
				style.left =3D camelCase =3D=3D=3D "fontSize" ? "1em" : (ret || 0);
				ret =3D style.pixelLeft + "px";

				// Revert the changed values
				style.left =3D left;
				elem.runtimeStyle.left =3D rsLeft;
			}
		}

		return ret;
	},

	// A method for quickly swapping in/out CSS properties to get correct =
calculations
	swap: function( elem, options, callback ) {
		var old =3D {};

		// Remember the old values, and insert the new ones
		for ( var name in options ) {
			old[ name ] =3D elem.style[ name ];
			elem.style[ name ] =3D options[ name ];
		}

		callback.call( elem );

		// Revert the old values
		for ( var name in options ) {
			elem.style[ name ] =3D old[ name ];
		}
	}
});

if ( jQuery.expr && jQuery.expr.filters ) {
	jQuery.expr.filters.hidden =3D function( elem ) {
		var width =3D elem.offsetWidth, height =3D elem.offsetHeight,
			skip =3D elem.nodeName.toLowerCase() =3D=3D=3D "tr";

		return width =3D=3D=3D 0 && height =3D=3D=3D 0 && !skip ?
			true :
			width > 0 && height > 0 && !skip ?
				false :
				jQuery.curCSS(elem, "display") =3D=3D=3D "none";
	};

	jQuery.expr.filters.visible =3D function( elem ) {
		return !jQuery.expr.filters.hidden( elem );
	};
}
var jsc =3D now(),
	rscript =3D /<script(.|\s)*?\/script>/gi,
	rselectTextarea =3D /select|textarea/i,
	rinput =3D =
/color|date|datetime|email|hidden|month|number|password|range|search|tel|=
text|time|url|week/i,
	jsre =3D /=3D\?(&|$)/,
	rquery =3D /\?/,
	rts =3D /(\?|&)_=3D.*?(&|$)/,
	rurl =3D /^(\w+:)?\/\/([^\/?#]+)/,
	r20 =3D /%20/g,

	// Keep a copy of the old load method
	_load =3D jQuery.fn.load;

jQuery.fn.extend({
	load: function( url, params, callback ) {
		if ( typeof url !=3D=3D "string" ) {
			return _load.call( this, url );

		// Don't do a request if no elements are being requested
		} else if ( !this.length ) {
			return this;
		}

		var off =3D url.indexOf(" ");
		if ( off >=3D 0 ) {
			var selector =3D url.slice(off, url.length);
			url =3D url.slice(0, off);
		}

		// Default to a GET request
		var type =3D "GET";

		// If the second parameter was provided
		if ( params ) {
			// If it's a function
			if ( jQuery.isFunction( params ) ) {
				// We assume that it's the callback
				callback =3D params;
				params =3D null;

			// Otherwise, build a param string
			} else if ( typeof params =3D=3D=3D "object" ) {
				params =3D jQuery.param( params, jQuery.ajaxSettings.traditional );
				type =3D "POST";
			}
		}

		var self =3D this;

		// Request the remote document
		jQuery.ajax({
			url: url,
			type: type,
			dataType: "html",
			data: params,
			complete: function( res, status ) {
				// If successful, inject the HTML into all the matched elements
				if ( status =3D=3D=3D "success" || status =3D=3D=3D "notmodified" ) =
{
					// See if a selector was specified
					self.html( selector ?
						// Create a dummy div to hold the results
						jQuery("<div />")
							// inject the contents of the document in, removing the scripts
							// to avoid any 'Permission Denied' errors in IE
							.append(res.responseText.replace(rscript, ""))

							// Locate the specified elements
							.find(selector) :

						// If not, just inject the full result
						res.responseText );
				}

				if ( callback ) {
					self.each( callback, [res.responseText, status, res] );
				}
			}
		});

		return this;
	},

	serialize: function() {
		return jQuery.param(this.serializeArray());
	},
	serializeArray: function() {
		return this.map(function() {
			return this.elements ? jQuery.makeArray(this.elements) : this;
		})
		.filter(function() {
			return this.name && !this.disabled &&
				(this.checked || rselectTextarea.test(this.nodeName) ||
					rinput.test(this.type));
		})
		.map(function( i, elem ) {
			var val =3D jQuery(this).val();

			return val =3D=3D null ?
				null :
				jQuery.isArray(val) ?
					jQuery.map( val, function( val, i ) {
						return { name: elem.name, value: val };
					}) :
					{ name: elem.name, value: val };
		}).get();
	}
});

// Attach a bunch of functions for handling common AJAX events
jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess =
ajaxSend".split(" "), function( i, o ) {
	jQuery.fn[o] =3D function( f ) {
		return this.bind(o, f);
	};
});

jQuery.extend({

	get: function( url, data, callback, type ) {
		// shift arguments if data argument was omited
		if ( jQuery.isFunction( data ) ) {
			type =3D type || callback;
			callback =3D data;
			data =3D null;
		}

		return jQuery.ajax({
			type: "GET",
			url: url,
			data: data,
			success: callback,
			dataType: type
		});
	},

	getScript: function( url, callback ) {
		return jQuery.get(url, null, callback, "script");
	},

	getJSON: function( url, data, callback ) {
		return jQuery.get(url, data, callback, "json");
	},

	post: function( url, data, callback, type ) {
		// shift arguments if data argument was omited
		if ( jQuery.isFunction( data ) ) {
			type =3D type || callback;
			callback =3D data;
			data =3D {};
		}

		return jQuery.ajax({
			type: "POST",
			url: url,
			data: data,
			success: callback,
			dataType: type
		});
	},

	ajaxSetup: function( settings ) {
		jQuery.extend( jQuery.ajaxSettings, settings );
	},

	ajaxSettings: {
		url: location.href,
		global: true,
		type: "GET",
		contentType: "application/x-www-form-urlencoded",
		processData: true,
		async: true,
		/*
		timeout: 0,
		data: null,
		username: null,
		password: null,
		traditional: false,
		*/
		// Create the request object; Microsoft failed to properly
		// implement the XMLHttpRequest in IE7 (can't request local files),
		// so we use the ActiveXObject when it is available
		// This function can be overriden by calling jQuery.ajaxSetup
		xhr: window.XMLHttpRequest && (window.location.protocol !=3D=3D =
"file:" || !window.ActiveXObject) ?
			function() {
				return new window.XMLHttpRequest();
			} :
			function() {
				try {
					return new window.ActiveXObject("Microsoft.XMLHTTP");
				} catch(e) {}
			},
		accepts: {
			xml: "application/xml, text/xml",
			html: "text/html",
			script: "text/javascript, application/javascript",
			json: "application/json, text/javascript",
			text: "text/plain",
			_default: "*/*"
		}
	},

	// Last-Modified header cache for next request
	lastModified: {},
	etag: {},

	ajax: function( origSettings ) {
		var s =3D jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings);
	=09
		var jsonp, status, data,
			callbackContext =3D origSettings && origSettings.context || s,
			type =3D s.type.toUpperCase();

		// convert data if not already a string
		if ( s.data && s.processData && typeof s.data !=3D=3D "string" ) {
			s.data =3D jQuery.param( s.data, s.traditional );
		}

		// Handle JSONP Parameter Callbacks
		if ( s.dataType =3D=3D=3D "jsonp" ) {
			if ( type =3D=3D=3D "GET" ) {
				if ( !jsre.test( s.url ) ) {
					s.url +=3D (rquery.test( s.url ) ? "&" : "?") + (s.jsonp || =
"callback") + "=3D?";
				}
			} else if ( !s.data || !jsre.test(s.data) ) {
				s.data =3D (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + =
"=3D?";
			}
			s.dataType =3D "json";
		}

		// Build temporary JSONP function
		if ( s.dataType =3D=3D=3D "json" && (s.data && jsre.test(s.data) || =
jsre.test(s.url)) ) {
			jsonp =3D s.jsonpCallback || ("jsonp" + jsc++);

			// Replace the =3D? sequence both in the query string and the data
			if ( s.data ) {
				s.data =3D (s.data + "").replace(jsre, "=3D" + jsonp + "$1");
			}

			s.url =3D s.url.replace(jsre, "=3D" + jsonp + "$1");

			// We need to make sure
			// that a JSONP style response is executed properly
			s.dataType =3D "script";

			// Handle JSONP-style loading
			window[ jsonp ] =3D window[ jsonp ] || function( tmp ) {
				data =3D tmp;
				success();
				complete();
				// Garbage collect
				window[ jsonp ] =3D undefined;

				try {
					delete window[ jsonp ];
				} catch(e) {}

				if ( head ) {
					head.removeChild( script );
				}
			};
		}

		if ( s.dataType =3D=3D=3D "script" && s.cache =3D=3D=3D null ) {
			s.cache =3D false;
		}

		if ( s.cache =3D=3D=3D false && type =3D=3D=3D "GET" ) {
			var ts =3D now();

			// try replacing _=3D if it is there
			var ret =3D s.url.replace(rts, "$1_=3D" + ts + "$2");

			// if nothing was replaced, add timestamp to the end
			s.url =3D ret + ((ret =3D=3D=3D s.url) ? (rquery.test(s.url) ? "&" : =
"?") + "_=3D" + ts : "");
		}

		// If data is available, append data to url for get requests
		if ( s.data && type =3D=3D=3D "GET" ) {
			s.url +=3D (rquery.test(s.url) ? "&" : "?") + s.data;
		}

		// Watch for a new set of requests
		if ( s.global && ! jQuery.active++ ) {
			jQuery.event.trigger( "ajaxStart" );
		}

		// Matches an absolute URL, and saves the domain
		var parts =3D rurl.exec( s.url ),
			remote =3D parts && (parts[1] && parts[1] !=3D=3D location.protocol =
|| parts[2] !=3D=3D location.host);

		// If we're requesting a remote document
		// and trying to load JSON or Script with a GET
		if ( s.dataType =3D=3D=3D "script" && type =3D=3D=3D "GET" && remote ) =
{
			var head =3D document.getElementsByTagName("head")[0] || =
document.documentElement;
			var script =3D document.createElement("script");
			script.src =3D s.url;
			if ( s.scriptCharset ) {
				script.charset =3D s.scriptCharset;
			}

			// Handle Script loading
			if ( !jsonp ) {
				var done =3D false;

				// Attach handlers for all browsers
				script.onload =3D script.onreadystatechange =3D function() {
					if ( !done && (!this.readyState ||
							this.readyState =3D=3D=3D "loaded" || this.readyState =3D=3D=3D =
"complete") ) {
						done =3D true;
						success();
						complete();

						// Handle memory leak in IE
						script.onload =3D script.onreadystatechange =3D null;
						if ( head && script.parentNode ) {
							head.removeChild( script );
						}
					}
				};
			}

			// Use insertBefore instead of appendChild  to circumvent an IE6 bug.
			// This arises when a base node is used (#2709 and #4378).
			head.insertBefore( script, head.firstChild );

			// We handle everything using the script element injection
			return undefined;
		}

		var requestDone =3D false;

		// Create the request object
		var xhr =3D s.xhr();

		if ( !xhr ) {
			return;
		}

		// Open the socket
		// Passing null username, generates a login popup on Opera (#2865)
		if ( s.username ) {
			xhr.open(type, s.url, s.async, s.username, s.password);
		} else {
			xhr.open(type, s.url, s.async);
		}

		// Need an extra try/catch for cross domain requests in Firefox 3
		try {
			// Set the correct header, if data is being sent
			if ( s.data || origSettings && origSettings.contentType ) {
				xhr.setRequestHeader("Content-Type", s.contentType);
			}

			// Set the If-Modified-Since and/or If-None-Match header, if in =
ifModified mode.
			if ( s.ifModified ) {
				if ( jQuery.lastModified[s.url] ) {
					xhr.setRequestHeader("If-Modified-Since", =
jQuery.lastModified[s.url]);
				}

				if ( jQuery.etag[s.url] ) {
					xhr.setRequestHeader("If-None-Match", jQuery.etag[s.url]);
				}
			}

			// Set header so the called script knows that it's an XMLHttpRequest
			// Only send the header if it's not a remote XHR
			if ( !remote ) {
				xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
			}

			// Set the Accepts header for the server, depending on the dataType
			xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] =
?
				s.accepts[ s.dataType ] + ", */*" :
				s.accepts._default );
		} catch(e) {}

		// Allow custom headers/mimetypes and early abort
		if ( s.beforeSend && s.beforeSend.call(callbackContext, xhr, s) =
=3D=3D=3D false ) {
			// Handle the global AJAX counter
			if ( s.global && ! --jQuery.active ) {
				jQuery.event.trigger( "ajaxStop" );
			}

			// close opended socket
			xhr.abort();
			return false;
		}

		if ( s.global ) {
			trigger("ajaxSend", [xhr, s]);
		}

		// Wait for a response to come back
		var onreadystatechange =3D xhr.onreadystatechange =3D function( =
isTimeout ) {
			// The request was aborted
			if ( !xhr || xhr.readyState =3D=3D=3D 0 || isTimeout =3D=3D=3D =
"abort" ) {
				// Opera doesn't call onreadystatechange before this point
				// so we simulate the call
				if ( !requestDone ) {
					complete();
				}

				requestDone =3D true;
				if ( xhr ) {
					xhr.onreadystatechange =3D jQuery.noop;
				}

			// The transfer is complete and the data is available, or the request =
timed out
			} else if ( !requestDone && xhr && (xhr.readyState =3D=3D=3D 4 || =
isTimeout =3D=3D=3D "timeout") ) {
				requestDone =3D true;
				xhr.onreadystatechange =3D jQuery.noop;

				status =3D isTimeout =3D=3D=3D "timeout" ?
					"timeout" :
					!jQuery.httpSuccess( xhr ) ?
						"error" :
						s.ifModified && jQuery.httpNotModified( xhr, s.url ) ?
							"notmodified" :
							"success";

				var errMsg;

				if ( status =3D=3D=3D "success" ) {
					// Watch for, and catch, XML document parse errors
					try {
						// process the data (runs the xml through httpData regardless of =
callback)
						data =3D jQuery.httpData( xhr, s.dataType, s );
					} catch(err) {
						status =3D "parsererror";
						errMsg =3D err;
					}
				}

				// Make sure that the request was successful or notmodified
				if ( status =3D=3D=3D "success" || status =3D=3D=3D "notmodified" ) =
{
					// JSONP handles its own success callback
					if ( !jsonp ) {
						success();
					}
				} else {
					jQuery.handleError(s, xhr, status, errMsg);
				}

				// Fire the complete handlers
				complete();

				if ( isTimeout =3D=3D=3D "timeout" ) {
					xhr.abort();
				}

				// Stop memory leaks
				if ( s.async ) {
					xhr =3D null;
				}
			}
		};

		// Override the abort handler, if we can (IE doesn't allow it, but =
that's OK)
		// Opera doesn't fire onreadystatechange at all on abort
		try {
			var oldAbort =3D xhr.abort;
			xhr.abort =3D function() {
				if ( xhr ) {
					oldAbort.call( xhr );
				}

				onreadystatechange( "abort" );
			};
		} catch(e) { }

		// Timeout checker
		if ( s.async && s.timeout > 0 ) {
			setTimeout(function() {
				// Check to see if the request is still happening
				if ( xhr && !requestDone ) {
					onreadystatechange( "timeout" );
				}
			}, s.timeout);
		}

		// Send the data
		try {
			xhr.send( type =3D=3D=3D "POST" || type =3D=3D=3D "PUT" || type =
=3D=3D=3D "DELETE" ? s.data : null );
		} catch(e) {
			jQuery.handleError(s, xhr, null, e);
			// Fire the complete handlers
			complete();
		}

		// firefox 1.5 doesn't fire statechange for sync requests
		if ( !s.async ) {
			onreadystatechange();
		}

		function success() {
			// If a local callback was specified, fire it and pass it the data
			if ( s.success ) {
				s.success.call( callbackContext, data, status, xhr );
			}

			// Fire the global callback
			if ( s.global ) {
				trigger( "ajaxSuccess", [xhr, s] );
			}
		}

		function complete() {
			// Process result
			if ( s.complete ) {
				s.complete.call( callbackContext, xhr, status);
			}

			// The request was completed
			if ( s.global ) {
				trigger( "ajaxComplete", [xhr, s] );
			}

			// Handle the global AJAX counter
			if ( s.global && ! --jQuery.active ) {
				jQuery.event.trigger( "ajaxStop" );
			}
		}
	=09
		function trigger(type, args) {
			(s.context ? jQuery(s.context) : jQuery.event).trigger(type, args);
		}

		// return XMLHttpRequest to allow aborting the request etc.
		return xhr;
	},

	handleError: function( s, xhr, status, e ) {
		// If a local callback was specified, fire it
		if ( s.error ) {
			s.error.call( s.context || s, xhr, status, e );
		}

		// Fire the global callback
		if ( s.global ) {
			(s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", =
[xhr, s, e] );
		}
	},

	// Counter for holding the number of active queries
	active: 0,

	// Determines if an XMLHttpRequest was successful or not
	httpSuccess: function( xhr ) {
		try {
			// IE error sometimes returns 1223 when it should be 204 so treat it =
as success, see #1450
			return !xhr.status && location.protocol =3D=3D=3D "file:" ||
				// Opera returns 0 when status is 304
				( xhr.status >=3D 200 && xhr.status < 300 ) ||
				xhr.status =3D=3D=3D 304 || xhr.status =3D=3D=3D 1223 || xhr.status =
=3D=3D=3D 0;
		} catch(e) {}

		return false;
	},

	// Determines if an XMLHttpRequest returns NotModified
	httpNotModified: function( xhr, url ) {
		var lastModified =3D xhr.getResponseHeader("Last-Modified"),
			etag =3D xhr.getResponseHeader("Etag");

		if ( lastModified ) {
			jQuery.lastModified[url] =3D lastModified;
		}

		if ( etag ) {
			jQuery.etag[url] =3D etag;
		}

		// Opera returns 0 when status is 304
		return xhr.status =3D=3D=3D 304 || xhr.status =3D=3D=3D 0;
	},

	httpData: function( xhr, type, s ) {
		var ct =3D xhr.getResponseHeader("content-type") || "",
			xml =3D type =3D=3D=3D "xml" || !type && ct.indexOf("xml") >=3D 0,
			data =3D xml ? xhr.responseXML : xhr.responseText;

		if ( xml && data.documentElement.nodeName =3D=3D=3D "parsererror" ) {
			jQuery.error( "parsererror" );
		}

		// Allow a pre-filtering function to sanitize the response
		// s is checked to keep backwards compatibility
		if ( s && s.dataFilter ) {
			data =3D s.dataFilter( data, type );
		}

		// The filter can actually parse the response
		if ( typeof data =3D=3D=3D "string" ) {
			// Get the JavaScript object, if JSON is used.
			if ( type =3D=3D=3D "json" || !type && ct.indexOf("json") >=3D 0 ) {
				data =3D jQuery.parseJSON( data );

			// If the type is "script", eval it in global context
			} else if ( type =3D=3D=3D "script" || !type && =
ct.indexOf("javascript") >=3D 0 ) {
				jQuery.globalEval( data );
			}
		}

		return data;
	},

	// Serialize an array of form elements or a set of
	// key/values into a query string
	param: function( a, traditional ) {
		var s =3D [];
	=09
		// Set traditional to true for jQuery <=3D 1.3.2 behavior.
		if ( traditional =3D=3D=3D undefined ) {
			traditional =3D jQuery.ajaxSettings.traditional;
		}
	=09
		// If an array was passed in, assume that it is an array of form =
elements.
		if ( jQuery.isArray(a) || a.jquery ) {
			// Serialize the form elements
			jQuery.each( a, function() {
				add( this.name, this.value );
			});
		=09
		} else {
			// If traditional, encode the "old" way (the way 1.3.2 or older
			// did it), otherwise encode params recursively.
			for ( var prefix in a ) {
				buildParams( prefix, a[prefix] );
			}
		}

		// Return the resulting serialization
		return s.join("&").replace(r20, "+");

		function buildParams( prefix, obj ) {
			if ( jQuery.isArray(obj) ) {
				// Serialize array item.
				jQuery.each( obj, function( i, v ) {
					if ( traditional || /\[\]$/.test( prefix ) ) {
						// Treat each array item as a scalar.
						add( prefix, v );
					} else {
						// If array item is non-scalar (array or object), encode its
						// numeric index to resolve deserialization ambiguity issues.
						// Note that rack (as of 1.0.0) can't currently deserialize
						// nested arrays properly, and attempting to do so may cause
						// a server error. Possible fixes are to modify rack's
						// deserialization algorithm or to provide an option or flag
						// to force array serialization to be shallow.
						buildParams( prefix + "[" + ( typeof v =3D=3D=3D "object" || =
jQuery.isArray(v) ? i : "" ) + "]", v );
					}
				});
				=09
			} else if ( !traditional && obj !=3D null && typeof obj =3D=3D=3D =
"object" ) {
				// Serialize object item.
				jQuery.each( obj, function( k, v ) {
					buildParams( prefix + "[" + k + "]", v );
				});
				=09
			} else {
				// Serialize scalar item.
				add( prefix, obj );
			}
		}

		function add( key, value ) {
			// If value is a function, invoke it and return its value
			value =3D jQuery.isFunction(value) ? value() : value;
			s[ s.length ] =3D encodeURIComponent(key) + "=3D" + =
encodeURIComponent(value);
		}
	}
});
var elemdisplay =3D {},
	rfxtypes =3D /toggle|show|hide/,
	rfxnum =3D /^([+-]=3D)?([\d+-.]+)(.*)$/,
	timerId,
	fxAttrs =3D [
		// height animations
		[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" =
],
		// width animations
		[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" =
],
		// opacity animations
		[ "opacity" ]
	];

jQuery.fn.extend({
	show: function( speed, callback ) {
		if ( speed || speed =3D=3D=3D 0) {
			return this.animate( genFx("show", 3), speed, callback);

		} else {
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {
				var old =3D jQuery.data(this[i], "olddisplay");

				this[i].style.display =3D old || "";

				if ( jQuery.css(this[i], "display") =3D=3D=3D "none" ) {
					var nodeName =3D this[i].nodeName, display;

					if ( elemdisplay[ nodeName ] ) {
						display =3D elemdisplay[ nodeName ];

					} else {
						var elem =3D jQuery("<" + nodeName + " />").appendTo("body");

						display =3D elem.css("display");

						if ( display =3D=3D=3D "none" ) {
							display =3D "block";
						}

						elem.remove();

						elemdisplay[ nodeName ] =3D display;
					}

					jQuery.data(this[i], "olddisplay", display);
				}
			}

			// Set the display of the elements in a second loop
			// to avoid the constant reflow
			for ( var j =3D 0, k =3D this.length; j < k; j++ ) {
				this[j].style.display =3D jQuery.data(this[j], "olddisplay") || "";
			}

			return this;
		}
	},

	hide: function( speed, callback ) {
		if ( speed || speed =3D=3D=3D 0 ) {
			return this.animate( genFx("hide", 3), speed, callback);

		} else {
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {
				var old =3D jQuery.data(this[i], "olddisplay");
				if ( !old && old !=3D=3D "none" ) {
					jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));
				}
			}

			// Set the display of the elements in a second loop
			// to avoid the constant reflow
			for ( var j =3D 0, k =3D this.length; j < k; j++ ) {
				this[j].style.display =3D "none";
			}

			return this;
		}
	},

	// Save the old toggle function
	_toggle: jQuery.fn.toggle,

	toggle: function( fn, fn2 ) {
		var bool =3D typeof fn =3D=3D=3D "boolean";

		if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {
			this._toggle.apply( this, arguments );

		} else if ( fn =3D=3D null || bool ) {
			this.each(function() {
				var state =3D bool ? fn : jQuery(this).is(":hidden");
				jQuery(this)[ state ? "show" : "hide" ]();
			});

		} else {
			this.animate(genFx("toggle", 3), fn, fn2);
		}

		return this;
	},

	fadeTo: function( speed, to, callback ) {
		return this.filter(":hidden").css("opacity", 0).show().end()
					.animate({opacity: to}, speed, callback);
	},

	animate: function( prop, speed, easing, callback ) {
		var optall =3D jQuery.speed(speed, easing, callback);

		if ( jQuery.isEmptyObject( prop ) ) {
			return this.each( optall.complete );
		}

		return this[ optall.queue =3D=3D=3D false ? "each" : "queue" =
](function() {
			var opt =3D jQuery.extend({}, optall), p,
				hidden =3D this.nodeType =3D=3D=3D 1 && jQuery(this).is(":hidden"),
				self =3D this;

			for ( p in prop ) {
				var name =3D p.replace(rdashAlpha, fcamelCase);

				if ( p !=3D=3D name ) {
					prop[ name ] =3D prop[ p ];
					delete prop[ p ];
					p =3D name;
				}

				if ( prop[p] =3D=3D=3D "hide" && hidden || prop[p] =3D=3D=3D "show" =
&& !hidden ) {
					return opt.complete.call(this);
				}

				if ( ( p =3D=3D=3D "height" || p =3D=3D=3D "width" ) && this.style ) =
{
					// Store display property
					opt.display =3D jQuery.css(this, "display");

					// Make sure that nothing sneaks out
					opt.overflow =3D this.style.overflow;
				}

				if ( jQuery.isArray( prop[p] ) ) {
					// Create (if needed) and add to specialEasing
					(opt.specialEasing =3D opt.specialEasing || {})[p] =3D prop[p][1];
					prop[p] =3D prop[p][0];
				}
			}

			if ( opt.overflow !=3D null ) {
				this.style.overflow =3D "hidden";
			}

			opt.curAnim =3D jQuery.extend({}, prop);

			jQuery.each( prop, function( name, val ) {
				var e =3D new jQuery.fx( self, opt, name );

				if ( rfxtypes.test(val) ) {
					e[ val =3D=3D=3D "toggle" ? hidden ? "show" : "hide" : val ]( prop =
);

				} else {
					var parts =3D rfxnum.exec(val),
						start =3D e.cur(true) || 0;

					if ( parts ) {
						var end =3D parseFloat( parts[2] ),
							unit =3D parts[3] || "px";

						// We need to compute starting value
						if ( unit !=3D=3D "px" ) {
							self.style[ name ] =3D (end || 1) + unit;
							start =3D ((end || 1) / e.cur(true)) * start;
							self.style[ name ] =3D start + unit;
						}

						// If a +=3D/-=3D token was provided, we're doing a relative =
animation
						if ( parts[1] ) {
							end =3D ((parts[1] =3D=3D=3D "-=3D" ? -1 : 1) * end) + start;
						}

						e.custom( start, end, unit );

					} else {
						e.custom( start, val, "" );
					}
				}
			});

			// For JS strict compliance
			return true;
		});
	},

	stop: function( clearQueue, gotoEnd ) {
		var timers =3D jQuery.timers;

		if ( clearQueue ) {
			this.queue([]);
		}

		this.each(function() {
			// go in reverse order so anything added to the queue during the loop =
is ignored
			for ( var i =3D timers.length - 1; i >=3D 0; i-- ) {
				if ( timers[i].elem =3D=3D=3D this ) {
					if (gotoEnd) {
						// force the next step to be the last
						timers[i](true);
					}

					timers.splice(i, 1);
				}
			}
		});

		// start the next in the queue if the last step wasn't forced
		if ( !gotoEnd ) {
			this.dequeue();
		}

		return this;
	}

});

// Generate shortcuts for custom animations
jQuery.each({
	slideDown: genFx("show", 1),
	slideUp: genFx("hide", 1),
	slideToggle: genFx("toggle", 1),
	fadeIn: { opacity: "show" },
	fadeOut: { opacity: "hide" }
}, function( name, props ) {
	jQuery.fn[ name ] =3D function( speed, callback ) {
		return this.animate( props, speed, callback );
	};
});

jQuery.extend({
	speed: function( speed, easing, fn ) {
		var opt =3D speed && typeof speed =3D=3D=3D "object" ? speed : {
			complete: fn || !fn && easing ||
				jQuery.isFunction( speed ) && speed,
			duration: speed,
			easing: fn && easing || easing && !jQuery.isFunction(easing) && =
easing
		};

		opt.duration =3D jQuery.fx.off ? 0 : typeof opt.duration =3D=3D=3D =
"number" ? opt.duration :
			jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;

		// Queueing
		opt.old =3D opt.complete;
		opt.complete =3D function() {
			if ( opt.queue !=3D=3D false ) {
				jQuery(this).dequeue();
			}
			if ( jQuery.isFunction( opt.old ) ) {
				opt.old.call( this );
			}
		};

		return opt;
	},

	easing: {
		linear: function( p, n, firstNum, diff ) {
			return firstNum + diff * p;
		},
		swing: function( p, n, firstNum, diff ) {
			return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;
		}
	},

	timers: [],

	fx: function( elem, options, prop ) {
		this.options =3D options;
		this.elem =3D elem;
		this.prop =3D prop;

		if ( !options.orig ) {
			options.orig =3D {};
		}
	}

});

jQuery.fx.prototype =3D {
	// Simple function for setting a style value
	update: function() {
		if ( this.options.step ) {
			this.options.step.call( this.elem, this.now, this );
		}

		(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );

		// Set display property to block for height/width animations
		if ( ( this.prop =3D=3D=3D "height" || this.prop =3D=3D=3D "width" ) =
&& this.elem.style ) {
			this.elem.style.display =3D "block";
		}
	},

	// Get the current size
	cur: function( force ) {
		if ( this.elem[this.prop] !=3D null && (!this.elem.style || =
this.elem.style[this.prop] =3D=3D null) ) {
			return this.elem[ this.prop ];
		}

		var r =3D parseFloat(jQuery.css(this.elem, this.prop, force));
		return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, =
this.prop)) || 0;
	},

	// Start an animation from one number to another
	custom: function( from, to, unit ) {
		this.startTime =3D now();
		this.start =3D from;
		this.end =3D to;
		this.unit =3D unit || this.unit || "px";
		this.now =3D this.start;
		this.pos =3D this.state =3D 0;

		var self =3D this;
		function t( gotoEnd ) {
			return self.step(gotoEnd);
		}

		t.elem =3D this.elem;

		if ( t() && jQuery.timers.push(t) && !timerId ) {
			timerId =3D setInterval(jQuery.fx.tick, 13);
		}
	},

	// Simple 'show' function
	show: function() {
		// Remember where we started, so that we can go back to it later
		this.options.orig[this.prop] =3D jQuery.style( this.elem, this.prop );
		this.options.show =3D true;

		// Begin the animation
		// Make sure that we start at a small width/height to avoid any
		// flash of content
		this.custom(this.prop =3D=3D=3D "width" || this.prop =3D=3D=3D =
"height" ? 1 : 0, this.cur());

		// Start by showing the element
		jQuery( this.elem ).show();
	},

	// Simple 'hide' function
	hide: function() {
		// Remember where we started, so that we can go back to it later
		this.options.orig[this.prop] =3D jQuery.style( this.elem, this.prop );
		this.options.hide =3D true;

		// Begin the animation
		this.custom(this.cur(), 0);
	},

	// Each step of an animation
	step: function( gotoEnd ) {
		var t =3D now(), done =3D true;

		if ( gotoEnd || t >=3D this.options.duration + this.startTime ) {
			this.now =3D this.end;
			this.pos =3D this.state =3D 1;
			this.update();

			this.options.curAnim[ this.prop ] =3D true;

			for ( var i in this.options.curAnim ) {
				if ( this.options.curAnim[i] !=3D=3D true ) {
					done =3D false;
				}
			}

			if ( done ) {
				if ( this.options.display !=3D null ) {
					// Reset the overflow
					this.elem.style.overflow =3D this.options.overflow;

					// Reset the display
					var old =3D jQuery.data(this.elem, "olddisplay");
					this.elem.style.display =3D old ? old : this.options.display;

					if ( jQuery.css(this.elem, "display") =3D=3D=3D "none" ) {
						this.elem.style.display =3D "block";
					}
				}

				// Hide the element if the "hide" operation was done
				if ( this.options.hide ) {
					jQuery(this.elem).hide();
				}

				// Reset the properties, if the item has been hidden or shown
				if ( this.options.hide || this.options.show ) {
					for ( var p in this.options.curAnim ) {
						jQuery.style(this.elem, p, this.options.orig[p]);
					}
				}

				// Execute the complete function
				this.options.complete.call( this.elem );
			}

			return false;

		} else {
			var n =3D t - this.startTime;
			this.state =3D n / this.options.duration;

			// Perform the easing function, defaults to swing
			var specialEasing =3D this.options.specialEasing && =
this.options.specialEasing[this.prop];
			var defaultEasing =3D this.options.easing || (jQuery.easing.swing ? =
"swing" : "linear");
			this.pos =3D jQuery.easing[specialEasing || =
defaultEasing](this.state, n, 0, 1, this.options.duration);
			this.now =3D this.start + ((this.end - this.start) * this.pos);

			// Perform the next step of the animation
			this.update();
		}

		return true;
	}
};

jQuery.extend( jQuery.fx, {
	tick: function() {
		var timers =3D jQuery.timers;

		for ( var i =3D 0; i < timers.length; i++ ) {
			if ( !timers[i]() ) {
				timers.splice(i--, 1);
			}
		}

		if ( !timers.length ) {
			jQuery.fx.stop();
		}
	},
	=09
	stop: function() {
		clearInterval( timerId );
		timerId =3D null;
	},
=09
	speeds: {
		slow: 600,
 		fast: 200,
 		// Default speed
 		_default: 400
	},

	step: {
		opacity: function( fx ) {
			jQuery.style(fx.elem, "opacity", fx.now);
		},

		_default: function( fx ) {
			if ( fx.elem.style && fx.elem.style[ fx.prop ] !=3D null ) {
				fx.elem.style[ fx.prop ] =3D (fx.prop =3D=3D=3D "width" || fx.prop =
=3D=3D=3D "height" ? Math.max(0, fx.now) : fx.now) + fx.unit;
			} else {
				fx.elem[ fx.prop ] =3D fx.now;
			}
		}
	}
});

if ( jQuery.expr && jQuery.expr.filters ) {
	jQuery.expr.filters.animated =3D function( elem ) {
		return jQuery.grep(jQuery.timers, function( fn ) {
			return elem =3D=3D=3D fn.elem;
		}).length;
	};
}

function genFx( type, num ) {
	var obj =3D {};

	jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() =
{
		obj[ this ] =3D type;
	});

	return obj;
}
if ( "getBoundingClientRect" in document.documentElement ) {
	jQuery.fn.offset =3D function( options ) {
		var elem =3D this[0];

		if ( options ) {=20
			return this.each(function( i ) {
				jQuery.offset.setOffset( this, options, i );
			});
		}

		if ( !elem || !elem.ownerDocument ) {
			return null;
		}

		if ( elem =3D=3D=3D elem.ownerDocument.body ) {
			return jQuery.offset.bodyOffset( elem );
		}

		var box =3D elem.getBoundingClientRect(), doc =3D elem.ownerDocument, =
body =3D doc.body, docElem =3D doc.documentElement,
			clientTop =3D docElem.clientTop || body.clientTop || 0, clientLeft =
=3D docElem.clientLeft || body.clientLeft || 0,
			top  =3D box.top  + (self.pageYOffset || jQuery.support.boxModel && =
docElem.scrollTop  || body.scrollTop ) - clientTop,
			left =3D box.left + (self.pageXOffset || jQuery.support.boxModel && =
docElem.scrollLeft || body.scrollLeft) - clientLeft;

		return { top: top, left: left };
	};

} else {
	jQuery.fn.offset =3D function( options ) {
		var elem =3D this[0];

		if ( options ) {=20
			return this.each(function( i ) {
				jQuery.offset.setOffset( this, options, i );
			});
		}

		if ( !elem || !elem.ownerDocument ) {
			return null;
		}

		if ( elem =3D=3D=3D elem.ownerDocument.body ) {
			return jQuery.offset.bodyOffset( elem );
		}

		jQuery.offset.initialize();

		var offsetParent =3D elem.offsetParent, prevOffsetParent =3D elem,
			doc =3D elem.ownerDocument, computedStyle, docElem =3D =
doc.documentElement,
			body =3D doc.body, defaultView =3D doc.defaultView,
			prevComputedStyle =3D defaultView ? defaultView.getComputedStyle( =
elem, null ) : elem.currentStyle,
			top =3D elem.offsetTop, left =3D elem.offsetLeft;

		while ( (elem =3D elem.parentNode) && elem !=3D=3D body && elem =
!=3D=3D docElem ) {
			if ( jQuery.offset.supportsFixedPosition && =
prevComputedStyle.position =3D=3D=3D "fixed" ) {
				break;
			}

			computedStyle =3D defaultView ? defaultView.getComputedStyle(elem, =
null) : elem.currentStyle;
			top  -=3D elem.scrollTop;
			left -=3D elem.scrollLeft;

			if ( elem =3D=3D=3D offsetParent ) {
				top  +=3D elem.offsetTop;
				left +=3D elem.offsetLeft;

				if ( jQuery.offset.doesNotAddBorder && =
!(jQuery.offset.doesAddBorderForTableAndCells && =
/^t(able|d|h)$/i.test(elem.nodeName)) ) {
					top  +=3D parseFloat( computedStyle.borderTopWidth  ) || 0;
					left +=3D parseFloat( computedStyle.borderLeftWidth ) || 0;
				}

				prevOffsetParent =3D offsetParent, offsetParent =3D =
elem.offsetParent;
			}

			if ( jQuery.offset.subtractsBorderForOverflowNotVisible && =
computedStyle.overflow !=3D=3D "visible" ) {
				top  +=3D parseFloat( computedStyle.borderTopWidth  ) || 0;
				left +=3D parseFloat( computedStyle.borderLeftWidth ) || 0;
			}

			prevComputedStyle =3D computedStyle;
		}

		if ( prevComputedStyle.position =3D=3D=3D "relative" || =
prevComputedStyle.position =3D=3D=3D "static" ) {
			top  +=3D body.offsetTop;
			left +=3D body.offsetLeft;
		}

		if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position =
=3D=3D=3D "fixed" ) {
			top  +=3D Math.max( docElem.scrollTop, body.scrollTop );
			left +=3D Math.max( docElem.scrollLeft, body.scrollLeft );
		}

		return { top: top, left: left };
	};
}

jQuery.offset =3D {
	initialize: function() {
		var body =3D document.body, container =3D =
document.createElement("div"), innerDiv, checkDiv, table, td, =
bodyMarginTop =3D parseFloat( jQuery.curCSS(body, "marginTop", true) ) =
|| 0,
			html =3D "<div =
style=3D'position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;'><div></div></div><table =
style=3D'position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;' cellpadding=3D'0' =
cellspacing=3D'0'><tr><td></td></tr></table>";

		jQuery.extend( container.style, { position: "absolute", top: 0, left: =
0, margin: 0, border: 0, width: "1px", height: "1px", visibility: =
"hidden" } );

		container.innerHTML =3D html;
		body.insertBefore( container, body.firstChild );
		innerDiv =3D container.firstChild;
		checkDiv =3D innerDiv.firstChild;
		td =3D innerDiv.nextSibling.firstChild.firstChild;

		this.doesNotAddBorder =3D (checkDiv.offsetTop !=3D=3D 5);
		this.doesAddBorderForTableAndCells =3D (td.offsetTop =3D=3D=3D 5);

		checkDiv.style.position =3D "fixed", checkDiv.style.top =3D "20px";
		// safari subtracts parent border width here which is 5px
		this.supportsFixedPosition =3D (checkDiv.offsetTop =3D=3D=3D 20 || =
checkDiv.offsetTop =3D=3D=3D 15);
		checkDiv.style.position =3D checkDiv.style.top =3D "";

		innerDiv.style.overflow =3D "hidden", innerDiv.style.position =3D =
"relative";
		this.subtractsBorderForOverflowNotVisible =3D (checkDiv.offsetTop =
=3D=3D=3D -5);

		this.doesNotIncludeMarginInBodyOffset =3D (body.offsetTop !=3D=3D =
bodyMarginTop);

		body.removeChild( container );
		body =3D container =3D innerDiv =3D checkDiv =3D table =3D td =3D =
null;
		jQuery.offset.initialize =3D jQuery.noop;
	},

	bodyOffset: function( body ) {
		var top =3D body.offsetTop, left =3D body.offsetLeft;

		jQuery.offset.initialize();

		if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) {
			top  +=3D parseFloat( jQuery.curCSS(body, "marginTop",  true) ) || 0;
			left +=3D parseFloat( jQuery.curCSS(body, "marginLeft", true) ) || 0;
		}

		return { top: top, left: left };
	},
=09
	setOffset: function( elem, options, i ) {
		// set position first, in-case top/left are set even on static elem
		if ( /static/.test( jQuery.curCSS( elem, "position" ) ) ) {
			elem.style.position =3D "relative";
		}
		var curElem   =3D jQuery( elem ),
			curOffset =3D curElem.offset(),
			curTop    =3D parseInt( jQuery.curCSS( elem, "top",  true ), 10 ) || =
0,
			curLeft   =3D parseInt( jQuery.curCSS( elem, "left", true ), 10 ) || =
0;

		if ( jQuery.isFunction( options ) ) {
			options =3D options.call( elem, i, curOffset );
		}

		var props =3D {
			top:  (options.top  - curOffset.top)  + curTop,
			left: (options.left - curOffset.left) + curLeft
		};
	=09
		if ( "using" in options ) {
			options.using.call( elem, props );
		} else {
			curElem.css( props );
		}
	}
};


jQuery.fn.extend({
	position: function() {
		if ( !this[0] ) {
			return null;
		}

		var elem =3D this[0],

		// Get *real* offsetParent
		offsetParent =3D this.offsetParent(),

		// Get correct offsets
		offset       =3D this.offset(),
		parentOffset =3D /^body|html$/i.test(offsetParent[0].nodeName) ? { =
top: 0, left: 0 } : offsetParent.offset();

		// Subtract element margins
		// note: when an element has margin: auto the offsetLeft and =
marginLeft
		// are the same in Safari causing offset.left to incorrectly be 0
		offset.top  -=3D parseFloat( jQuery.curCSS(elem, "marginTop",  true) ) =
|| 0;
		offset.left -=3D parseFloat( jQuery.curCSS(elem, "marginLeft", true) ) =
|| 0;

		// Add offsetParent borders
		parentOffset.top  +=3D parseFloat( jQuery.curCSS(offsetParent[0], =
"borderTopWidth",  true) ) || 0;
		parentOffset.left +=3D parseFloat( jQuery.curCSS(offsetParent[0], =
"borderLeftWidth", true) ) || 0;

		// Subtract the two offsets
		return {
			top:  offset.top  - parentOffset.top,
			left: offset.left - parentOffset.left
		};
	},

	offsetParent: function() {
		return this.map(function() {
			var offsetParent =3D this.offsetParent || document.body;
			while ( offsetParent && (!/^body|html$/i.test(offsetParent.nodeName) =
&& jQuery.css(offsetParent, "position") =3D=3D=3D "static") ) {
				offsetParent =3D offsetParent.offsetParent;
			}
			return offsetParent;
		});
	}
});


// Create scrollLeft and scrollTop methods
jQuery.each( ["Left", "Top"], function( i, name ) {
	var method =3D "scroll" + name;

	jQuery.fn[ method ] =3D function(val) {
		var elem =3D this[0], win;
	=09
		if ( !elem ) {
			return null;
		}

		if ( val !=3D=3D undefined ) {
			// Set the scroll offset
			return this.each(function() {
				win =3D getWindow( this );

				if ( win ) {
					win.scrollTo(
						!i ? val : jQuery(win).scrollLeft(),
						 i ? val : jQuery(win).scrollTop()
					);

				} else {
					this[ method ] =3D val;
				}
			});
		} else {
			win =3D getWindow( elem );

			// Return the scroll offset
			return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : =
"pageXOffset" ] :
				jQuery.support.boxModel && win.document.documentElement[ method ] ||
					win.document.body[ method ] :
				elem[ method ];
		}
	};
});

function getWindow( elem ) {
	return ("scrollTo" in elem && elem.document) ?
		elem :
		elem.nodeType =3D=3D=3D 9 ?
			elem.defaultView || elem.parentWindow :
			false;
}
// Create innerHeight, innerWidth, outerHeight and outerWidth methods
jQuery.each([ "Height", "Width" ], function( i, name ) {

	var type =3D name.toLowerCase();

	// innerHeight and innerWidth
	jQuery.fn["inner" + name] =3D function() {
		return this[0] ?
			jQuery.css( this[0], type, false, "padding" ) :
			null;
	};

	// outerHeight and outerWidth
	jQuery.fn["outer" + name] =3D function( margin ) {
		return this[0] ?
			jQuery.css( this[0], type, false, margin ? "margin" : "border" ) :
			null;
	};

	jQuery.fn[ type ] =3D function( size ) {
		// Get window width or height
		var elem =3D this[0];
		if ( !elem ) {
			return size =3D=3D null ? null : this;
		}
	=09
		if ( jQuery.isFunction( size ) ) {
			return this.each(function( i ) {
				var self =3D jQuery( this );
				self[ type ]( size.call( this, i, self[ type ]() ) );
			});
		}

		return ("scrollTo" in elem && elem.document) ? // does it walk and =
quack like a window?
			// Everyone else use document.documentElement or document.body =
depending on Quirks vs Standards mode
			elem.document.compatMode =3D=3D=3D "CSS1Compat" && =
elem.document.documentElement[ "client" + name ] ||
			elem.document.body[ "client" + name ] :

			// Get document width or height
			(elem.nodeType =3D=3D=3D 9) ? // is it a document
				// Either scroll[Width/Height] or offset[Width/Height], whichever is =
greater
				Math.max(
					elem.documentElement["client" + name],
					elem.body["scroll" + name], elem.documentElement["scroll" + name],
					elem.body["offset" + name], elem.documentElement["offset" + name]
				) :

				// Get or set width or height on the element
				size =3D=3D=3D undefined ?
					// Get width or height on the element
					jQuery.css( elem, type ) :

					// Set the width or height on the element (default to pixels if =
value is unitless)
					this.css( type, typeof size =3D=3D=3D "string" ? size : size + "px" =
);
	};

});
// Expose jQuery to the global object
window.jQuery =3D window.$ =3D jQuery;

})(window);
------=_NextPart_000_0000_01CFB31F.0F98BD60
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.fluidra.pt/export/sites/fluidrasites/Resources/js/cookie.js

function getCookie(name) {=0A=
	var cname =3D name + "=3D";=0A=
	var dc =3D document.cookie;  =0A=
	if(dc.length > 0) {=0A=
		begin =3D dc.indexOf(cname);=0A=
		if(begin !=3D -1) {=0A=
			begin +=3D cname.length;=0A=
			end =3D dc.indexOf(";", begin);=0A=
			if(end =3D=3D -1) {=0A=
				end =3D dc.length;=0A=
			}=0A=
			return(dc.substring(begin, end));=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function setCookie(name,values,expires,path,domain,secure) {=0A=
	document.cookie =3D=0A=
		name + "=3D" + escape(values)=0A=
		+ ((expires=3D=3Dnull)?"":";expires=3D" + expires.toGMTString())=0A=
		+ ((path=3D=3Dnull)?"":";path=3D" + path)=0A=
		+ ((domain=3D=3Dnull)?"":";domain=3D" + domain)=0A=
		+ ((secure=3D=3Dnull)?"":";secure");=0A=
}=0A=
=0A=
function delCookie(name,path,domain) {=0A=
	if(getCookie(name)) {=0A=
		document.cookie=3D=0A=
		name + "=3D"=0A=
		+ ((path=3D=3Dnull)?"":";path=3D"+path)=0A=
		+ ((domain=3D=3Dnull)?"":";domain=3D"+domain)=0A=
		+ ";expires=3DThu,01-Jan-70 00:00:01 GMT";=0A=
	}=0A=
}=0A=
=0A=
function setLanguage(language) {=0A=
	delCookie('FluidraSites_lang_' + document.domain);=0A=
	setCookie('FluidraSites_lang_' + document.domain, language, =
getCaducity('30'), '/');=0A=
}=0A=
=0A=
function getLanguage() {=0A=
	return getCookie('FluidraSites_lang_' + document.domain);=0A=
}=0A=
=0A=
function setSize(size) {=0A=
	delCookie('indexSize');=0A=
	setCookie('indexSize', size, getCaducity('30'), '/');=0A=
}=0A=
=0A=
function getSize() {=0A=
	var position =3D getCookie('indexSize');=0A=
	if(position < 0 || position > 2 || position =3D=3D undefined) {=0A=
		return 0;=0A=
	} else {=0A=
		return position;=0A=
	}=0A=
}=0A=
=0A=
function getCaducity(nDays) {=0A=
	var now =3D new Date();				//coge la fecha actual=0A=
	var millis =3D eval(nDays) * 24 * 60 * 60 * 1000;	//pasa los dias a =
mseg.=0A=
=0A=
	now.setTime(now.getTime() + millis);		//fecha de caducidad: actual + =
caducidad=0A=
	return now;=0A=
	//return (now.toGMTString());=0A=
}=0A=
=0A=
function redirect() {=0A=
	var language =3D getCookie('FluidraSites_lang_' + document.domain);=0A=
	=0A=
	if(language =3D=3D null || language =3D=3D '') {=0A=
		var tmp =3D navigator.language || navigator.userLanguage;=0A=
		language =3D tmp.substring(0,2);=0A=
	}=0A=
=0A=
	if (language=3D=3D"es" || language=3D=3D"en" || language=3D=3D"it" || =
language=3D=3D"de" || language=3D=3D"fr") {=0A=
		goIndex(language,pais);=0A=
	} else {=0A=
		goIndex("en");=0A=
	}=0A=
}=0A=
=0A=
function goIndex(language) {=0A=
	window.location.href=3D"/sites/" + language + "/Index.html";=0A=
}
------=_NextPart_000_0000_01CFB31F.0F98BD60--
