Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8
[0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8
[1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560
[2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85
[3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50
[4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13
[5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
403WebShell
403Webshell
Server IP : 94.177.8.99  /  Your IP : 216.73.217.165
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.1.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/mono/4.5/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/mono/4.5/System.Web.Extensions.dll
MZ����@���	�!�L�!This program cannot be run in DOS mode.

$PEL�!z$^� �@ @��K�(�  H.textdy z `.sdata0�~@�.rsrc(��@@.reloc��@B@�H����p�y���0�(
o
o

:*o
rp(
�<%rp�%(
o
�%r3p�%�%rOp�%
�;o
�(	
��<%rp�%(
o
�%r3p�%�%rOp�%�;o
�(	
�*(
*0�
9;8~
8~
8rSps

z:*(rwpo
�&
�)9o
�(

(
9*t*	*?Y0S\o
�i
~

8-�o
::*�o

X	?���*0�:*
9;8~
8~
8rSps

z:*(rwpo
r�p(
(
�Eo
r�p�;o
o
�
9o
��
(
r�p	o
�*KI�
Cc�(
*0n~:*~
:>(

(*�
~
o
:��
*~
(-o
~
9
~
o
~
*0�( 
9~!
*~o"
~o#
9�h~o$
~o#
9�E(%
o&
o'
((

~o)
�~o*
��~o+
�**4K~�0	F�(

o,
t 
o-

8	�o.
( 
:�(rGpo/
9
r[p8~!
r_p(0
rcp(0
	{o1
:Bs$}}(}
{
o2
{	o1
:Bs$}}	(}{	o2
	X
	�i?��*0�Q_o

�i;*��~
o3
~	o4
9P:
�tP{o5
9:F�rcp(6
:
�<P{o7
Yo8
o5
:
�
�~
o9
�	* ���~(:
9
rgp8o;
o<
QP(Q(Q*0Y	~	o4
9:?~
o$
s%}
(	~	o=
�~
o*
�*4L0a
(:
9~!
*(
9
(*(
(*%
(-o
(
�
9o
�	*7R
0E(
~
o"
(rGpo/

	9
r[p8~!
9
rcp8r_p(0
({	o5
9	9	{8y	9po7
	Yo8
rkp(>
(9
rcp8r_p(>
{	o5
9	9	{88�~
o+
�:o-
	(*A0~!

~!
&�Prsp9
rcp8r_p(?
9d( 
:5(@
9*&�Pryp(A
(
�E(?

8$&�Pryp(B

(
�E(?

rp9
r�p8r�p(C
(D
r�p(C
(E
9oF
89oG
(H
(>
*0]
oI
r�poJ

( 
9
~K
�*r�p(L
9��&~K
��**)H:0+oM

oN
 0oO
oP
oQ
oR
*0oF

oS
r[poJ
( 
: +oT
(
QP9P{8: �r�psU
z	{rgp(6
9~Q8
	{(V
Q(9 Po-
(A
(W
9(*oM
oX
oP
(B
oY
r	pr�p(Z
o[
(\
o]
r%po^
PP{o_
:! �r3pP{rGp(0
sU
zo`
9;sa
	ob

Ps 	
(!�	9	o
�8�oc
u^97t_oc
t^od
se
of
iog
8: �a
oc

 oh

oi
=���*e�
*o*"o*0�{(:
:{9{( 
9*{{o_

:  �r�p{r�p(0
sU
z{o`
90sa
{s (!�
9o
�89sa
oj

8	on
oj

	:���
9o
��
9o
�*(|�
�%�
?��
0�{( 
9*(w
:%{(x

(@
:*(y
oz
*({
{o|
:*{o}
:*o~

	sa
oj
8on
oj
:���9o
��
	9	o
�*{+�sG�
�{(
9
(8(*0�o�
: �r�psU
zoF
(9jo�
8-(�

	:�99	o<9(�
:�����$o
�9(*s�
s�
o�
8(�
:�
((�
:�����$o
��9o
�o�
: �r�psU
zoM
	(B

	r�poP
	oY
r	p
r�p(Z
o[
	
(\
o]
	r%po^
	ob
o
oz
9
	ob
(*(<C�5��Q�Jo�
rpon
*0ToF

oS
r�poJ
rcp(6
o�
(B9(*(oM
ob
П(

o,
	8�	�t�o�	{(�
:�o�

s�
(�
o�
o�
�S&
r�p(�
o/
95

o7

Yo8


s�
(�
o�
o�
8��:8o�
o�.o�


> r�p
o8
r�p(0
on
r�po�o�
o�
8fo�
�t(�
u<9C98	,o�
o�
r�p(�
t<((o�
o�
:�����uF%9o
�o�
r
pon
8	X		�i?2���9(*�!�Sr�|0rpo�

:*R*
*0�( 
9rprp(0
*rps�

8�o�

YEPa";&';
\;'8Urpo�
&8Qr,po�
&8@r2po�
&8/r8po�
&8r>po�
&8
o�
&8Xo7
?P���rpo�
&o
*0M�(

o�
�(s
s�
�	s�
�
s�
�(s
s�
��*:(
}*0Uoj

8Bo7
>(~ok
9~�"sl
om

on
oj

:����*0 oo
op
oq

{(
*Br]psr
�*(
*�~!
}(s
st
}(
*0o0?9=0Y�
8Ga?f=aY
X�
8)A?F=AY
X�
8rDps

z9b�
*0@[�a
8'[o�
(&Xo�
(&XҜX?���*0y�iZs�

78T�
	_	c_	>	X80X�o�
&	>	X80X�o�
&X�i?����o
*0�
9frpp(6
:5rxp(6
:%r�p(6
: r�p(6
:8!(�

8>(�

83(�

8(r�po�
9o�
(�

8s�
z*0�
o�
E&1<8`s�

8Us�

8Js�

8?s�

84s�

8)o�
r�po�
9
o�
(�

8*o�
*o�
*o�
*2�i(/*01(+
(,o�
(0�
9o
�*"
0Vo�
�i�a
�i(�
o�
o�
�iX�iYo�
�&�
9o
�*(?�(G
0/(+
(,o�
(2�
9o
�* 
0`o�

o�
o�
�io�
�i�iX�a
	�i(�
	�i�i(�
	�
9o
�*;P
2�i(4*0R(*
(-o
o�
�iX�a(�
�i(�

�
9o
�	*<C
0� 
(*(-o
o�
c
�i	Y(48��i�iYX�;X�i?����i	Y�a
�i(�
�
9o
�98*r}
0!(1
(3*0�"
(*(-o
o�
c�iY(4
8	��i	�iYX�;
X	�i?����
9o
��iY(/98�	&�*	W`
m$�	:r(
(:(<(>*{*"}*{*"}*{*"}*2(�
s�
z0*#{
|(�
t(+
@���*0*#{
|(�
t(+
@���*s�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
z2(�
s�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
z2(�
s�
z0*${
|(�
t(+
@���*0*${
|(�
t(+
@���*s�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
z2(�
s�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zs�
zb(�
s�
s�
(�*{*"}*:(�
(�*{*"}*�(
(�(�(�(�(�(�*{*"}*{*"}*{*"}*{ *"} *{!*"}!*{"*"}"*s�
zs�
z:(
(�*{#*"}#*s�
zs�
zs�
z(�
*Fr�p(�
t<*6r�p(�
*Fr�p(�
t<*6r�p(�
*(�
*6(�
t*r(�
9(�
o�
*"o�
*(�
*s�*2to�*j(�
?o�(�
*(�
*Fr�p(�
��*Jr�p��(�
*Fr�p(�
��*Jr�p��(�
*(�
*Fr�p(�
t*Fr�p(�
�;*Jr�p�;(�
*Fr
p(�
�;*Jr
p�;(�
*(�
*Fr�p(�
��*Jr�p��(�
*0%(�
o�
t'*n9
o�
t'(�*Fr(p(�
t'*6r(p(�
*0%(�
o�
t'*n9
o�
t'(�*FrRp(�
t'*6rRp(�
*�r�pГ(

��s�
�$s�
�%~%~$o�
*(�
*~%*F~$(�
��*J~$��(�
*(�
*Fr~p(�
��*Jr~p��(�
*Fr�p(�
��*Jr�p��(�
*(�
*Z(�
r�po�
t*Z(�
r�po�
t*(�
*Z(�
rpo�
t*Z(�
r.po�
t*Z(�
rRpo�
t*(�
*Z(�
rppo�
t*�(�
:r�ps�
z(�(�*{,*"},*{-*"}-*(
*��s�
o�
�s�
o�
�
s�
o�
**0�&tZ
o�
:*oF
o�

o�
:*o
М(

o�
9:	( 
:/	r�po�
9o�
(�ov
oR
*0
'tZ
o�
oF
oI
r�poJ
r�p(6
9�o�
u�(�
oM
o�
 .@toM
 �oO
oM
o�
o�
9	9+	o�9 oM
ob
oM
o�
(8	oM
ob
o�
(8>o�
93oM
 �oO
oM
o�
	oM
ob
o�
(**o
*"o	*(
*s�
z>(�
(*s�
z{.*"}.*."(*0K(9o�
( 
:%
8o�
(X
o7
?��9o�
*�9o�
(9o�
*0^(YEr2BbR<YEm}";�';�\;�8�r�poz
8�r8poz
8�r>poz
8�r�poz
8�r�poz
8�rpoz
8�rpoz
8�"@r,poz
8o�
8wrpoz
8gr2poz
8W>o�
8>rpoz

0cX�o�
_

<	0X8a
YX�o�
8*0I(�
9rcps�
zo�
:o�
:o�
9*(:**�(�
9rcps�
z~�
o�
(�
*0P(�
9r(ps�
zo�
9*o�
9o
9o
o
o�
**0�)(�
:(�
9*(�
9*o�
9-o
8�
(9*X�i?��o�
9o
:o
(9*o
(*0b(�
9r�ps�
zo�
9o
*o�
9#�(

o
o�
9	o
�*r.ps�
z0U*(�
9r�ps�
z( 
(
9	o
�*Т(

o�
9*r.ps�
z0\+o�
9~/o
o�
9*o

9+8�( (
9*X�i?���*0\,o

YE%
;8$t�o
*t�o	
*t�o

*r@pr�ps
z03-(
9r�ps�
zu�
(

9(#**�(
9r�ps�
zo
�i�*0_.o

;
;82t�o
*t�o
�"r�pr�ps
zr pr�ps
z*(;�0Q,o

;
;8%t�o
8#t�o
8r�pr�ps
z*0+,o

;
;8*t�o
**0+,o

;
;8*t�o
**0/s�
}�}�%�}�*B�%(

�/*(
*00{�
}�EO�8�{�{�o
}�}�85{�{��}�{�-}�8�{�X}�{�{��i?����{�{�o
}�}�85{�{��}�{�-}�8*{�X}�{�{��i?����}�**{�*{�*>}�}�*s
z(�*04/|��(
�3*s�
{�}�{�}�*(
*&(0*&(0*0)1(
}4r�p(
t
:  }2d}38�o�}2o�}39�o�9�o 
>�s!
o"
8to�
t9o�8:�D(#

	(�
:�'(

	o�
:�	($
u'o%
o�
:�����uF%9o
�(G*��
{2*"}2*{3*"}3*{4*0'2:
�+*�+(

(7�+*0y3:*u,9N(�
9t,(>8"(H
9t,(>o,*t,(A*u+9t+(@*(�
9*o
o�
9*o&
9!u<9t<('
*((
*()
o*
9 u<9
t<o+
*o,
*o�
9jo
�3(

(�
9Pu<9t<( 
9*8.�<(

o*
9(-

	o.
o+
*(/
*:(E(+*04(E
:*(7*"(;*�u,9t,(?8u+9t+(=*"(=*0^5s0

o1
8o�
(;o2
&o�
:���uF%
9	o
�9o3
8*
*7"(?*0W6(s
s4

o5
8!o6
(7
(8
(;o9
o�
:����
9o
�*6H
0�7
(
9o:
9o

(�
:0o�
:%~6(�
:�+(

o�
9s0
8�(9(;
t"8g~7(9<o�
9&o
�
~7o
($
t"8s0
8rn	po<
o=
(>
s?
zo@
9	(<&*(�
9�:(


o1
8o�

	(7oA
&o�
:����uF%9o
�(
9o�
9
t+oB
*-K0e8{492oC
r�	poD
9{4r�	poE
t<oNo�
9�o
�%(

o�
9�o

97�i@.��:(

(
9-��<(

(
9r�	pr�	p(?
s?
zo�
9%�(

�%��%��o
8!Т(

o�
9�-(

(;
o5
8o6

(8
u�9O(9�:(

(�
9	o
t�(7
(7oF
ݱ(7
oG
9	�i:
(:&݃�(':
(:&�d(!		o�
9=	o�
9	(B	8
	(C		(�
9r�
ps?
z	(7(%o�
:����9o
�*A"2T0�9o

�%(

(9�(

o
*Ќ(

(:*в(

(:�(

(9�(

o
*г(

(9д(

o
*�i(

(9е(

o
**0�Т(

o�
9�(

*�"(

o�
:*�0(

o�
:�/(

o�
9�+(

*ж(

o�
9з(

**0Q:(E(;
u�94r�	poH
9${4:rFprXpsI
z(7
*"(R*"(S*�:r�ps�
z{1:sJ
}1{1oK
*0�;{19�
8�{1oL
oM
8UoN
o+oO
8oP

	o�
9�To�
:����9o
�o�
:�����
9o
�X
{1oQ
?b���**=2o$j�
0<s�

(Jo
*&(P*&(Q*�s0�5�:(

�6�(

�7*(
*0=sh
oi
*0=sh
oj
*z:r�ps�
zsR
(S*0 >:r�ps�
zsT
oV*0h(
}�o1}�o3}�o5}�sS
}�sT
}�sU
}�}�}�}�*z:r�ps�
zsR
(V*0�?:r�ps�
zs�
}�oV

<8G%{�X}�{�{�>rps

z�(b:reps?
z8����(_{�o�
>&(a99(f8(\{�oW
>reps?
z(^
	*0n@{�o�

< r�p{��;r�p(?
s

z{�o
Yo�
 (X
{�YoY
{��o�
&*0tYEV ;8Qr�p{��;r�p(?
*rQ
p{��;r�p(?
*r�
p{��;r�p(?
*rp*0(A([
;
(Xs

z{�oZ
&*6{�o[
*z{�o\
:*{�o]
*6{�o^
*0/({�oW

:*9	@*{�o_
*"(]*z{�oW
:*{�o`
*0"({�o�

:*{�YoY
*0DBQ{�:{�oY
*{�o

{�YE�3�	P8�(a
(b
9
�;Q8d(a
(c
9
	�EQ8D(a
(d
9��Q8#(a
(e
9��Q88> �(a
(d
9��Q8' �(a
(e
9��Q88�of
rAp(�
:
��Q88�of
rKp(�
:
��Q88�of
rWp(�
98|rapo�
9Hropo/
97o7
Yo8
(g
 'jZ~�Xsh
�Q8Q8rup{��-(>
s?
z:r�p(>
s

z{�oY
*0{C �?
8~��
=*{�9�}�(`rYEm��";�/;�\;{b;f;n;*8�{�o�
&8v{�o�
&8c{�
o�
&8P{�
o�
&8={�	o�
&8*{�o�
&8{�r�po�
&8*8%{�:
9;
{�o�
&~�{�(i
?	}�*XE���>fR*��z%N9b��;Z%�8�(W}�8�}�}�8�}�
}�8p}�
}�8\}�}�8H}�}�84}�}�8 }�}�8{�oY
}�
}�}�8�
}� }�8�(`(a9(e}�(Y(Z}�{�oY
8�}�}�8u	}�}�8`}�}�8L(]9(f(Y}�8$(`(a9(f(]9(f(Y}�}�8�(`(a9(f(Y(]9(f}�}�8�(`(d(Z}�8s(`(c(Z}�8T{�@�(`([
	E_8�88�(a9(e}�}�{�oY
8[(a9(f}�}�84
}�}�(a9(\8rps

z8�(`}�(a([;
;48P9(f(Y(Z}�}�8,}�}�9(f8rUps

z8�(`%{�X%}�{�?r�ps

z(Y(Z}�8�}�([E,TT8O(a9(f}�}�83}�}�(a9(\8r�ps

z{�oY
8([(Xs

z*0Ds0

(\*0Esj

(\*0\Fu<
9of

( 
9rGps?
z{�ok
(_u-:r�ps?
zol
*0zG(_u-
:&(_u+:rps?
zo2
&*{�om
:8{�on
( 
9r�ps?
zol
*� ��;%��(o
��+$sp
%��(o
��*0C(
:rps�
z}�o5}�o3}�o1}�*j:r%ps�
z(k*0,<:r%ps�
zs�

(ko
oz
*n}�sq
}�(l*�%{�X}�(m%{�Y}�*0H{�{�>&r3p9o
o
8r�ps
z9~r
os
9{�rWp(�&*o

{�oH9_{�o-:{�rWp(�&*{�9${�oO
	( 
:r�	p	ot
(l*(u
YE!////////JXft�8}t<(�*�P(*��(~*o&
9(w*8��(x*��(y*u�(}*�(|*��(

o�
9t�({*��(

o�
9��(z*u�9
(}*{�ov
9r�ps?
z{�ow
(n(
9~{�:sx
}�{�oy
:8o
~��%��%��oz
{�o{
�:%�%�o|
&�Vu�		9	(t�9u/

9
(s�(q�{�o}
&�*A0o)o�
9�%(

o
o�
9*o
8/�
o�
9�%(

o
o�
9*X�i?���*0~IQ(
9*�/(

o~
9*u�
(
9*u�(
9*o�
QP(�
:Po�
�i>Q**0�Ju�
(
9o
*u(�
9rps?
zo|
�5
	o�
u�9"r`p(�
	(�
r�p(�
��**9G5�0~K{�rmp(�&
{�9({�oO( 
:r�	p(v
o
(+o
(+{�rqp(�&*0�L8o�=
	�=(o98G�=o=
(�
9
8	�=
F(p(vF9RX�i?����*0�M{�rup(�&
o
8,o�
:{�,(�&(l9
o�
:����uF%
9	o
�{�ryp(�&*A\0�N{�rmp(�&
o�
8/o�
�t(�
u<(�
(v9
o�
:����uF%
9	o
�{�rqp(�&*D_0�O{�rmp(�&
o�
84o�
(�
�Au<(�
�B(v9
o�
:�����
9o
�{�rqp(�&*Id
0G:r}ps?
z:{�,(�&(�{�:(�&(l*0�YEU-Ai}�8�{���(�&*{���(�&*{���(�&*{��;(�&*{��a(�&*{���(�&*{��E(�&*{���(�&*rp��(>
s?
z~{�r�p(a
(�
(�&*~{�r�p(a
(�
(�&*V��o
(�*:o�
(�*0XP(�
~�(�
9~�(
~�Y 'j[
{�r@p�ErRp(?
(�&*f{�(a
o�
(�&*�{�9
rAp8rKp(�&*�:{�rWp(�&*�Po
(�*0Q( 
9{�r\p(�&*{�rp(�&8�o�

YE�2Iw`<YE��";�';�\;�8�{�r�p(�&8<{�r8p(�&8%{�r>p(�&8{�r�p(�&8�{�r�p(�&8�{�rp(�&8�{�rp(�&8�{�r,p(�&8�{�rp(�&8�{�r2p(�&8m>{�(�&8Mrpo�
&{�0cX�(�&_{�
<	0X8a
YX�(�&8Xo7
?C���{�rp(�&*0LR �(�
(
��ds�
���.(

rbp$o�
��*(�
*(M*(�
*o�
*bo�
>r�ps?
z*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*0<o�

(�*r(
r�p(�
t}�*0V{�9{�o�:rOps?
z{�o�9(E
oF
o�
:r�ps�
z*�(�(�
o�
:*(�
*2(�(�
*n(
}�(�}�*
*0�SoM

{��E(

o�
�i:r�poP
r�ps?
zr�poP
o�
(B
(\
o�
o�
o�
o�
o�
ob
{�o�oz
*�(�
(�
9r�ps�
z}�*r{�:
~!
8{�*"}�*{�*:(
}�*0NT(
}�{�М(

o�

o�o�
s�
}�8"{�o�
o�o�
o�
Xo�
?���o�s�
s�
	(�r�pr�p(0
o�
&8)>
,o�
&o�
o�Xo�
?���r�po�
&	8	o�
o�	X		o�
?���o�o�
&o
}�*���(

o�
�i>s�*s�*0-U~�
o�
t69*(�o�
*�( 
9rRp(>
*o�
:o�
r\po�
&*�9
~!
8o�
Q9
r�p8o�
Q*0Vs
}�%�}�*0�Wo�
+_oT

o�
(�r$po�
&o&
9Frb$p~�(�oI��(

(�
9
rAp8rKpo�
&81( 
9o�
8
r�pr7%p(0
	o�
&}o�
&*0:Xsj

(�
(�

8	�	o�
o9
	X
	�i?��*0�Yo&
9*(u
;*��(

(�
9*~�o�
:&~�o�
:o�
:o�
9
9(�*o�
9*~�
o�

(�
:o�
:
9(�**.r�%ps?
z{�*J{�o�
t7*�s�
(�
���/(

��Т(

��*0{((
}�(�o�
}�}�(�9J{��i(s
s�
}�
8{�{��o�
o�
X
{��i?���*{�*j{�9
{��i�+*0Zs�
}�%�}�*0�[{�(�o�
o�o�9
rAp8rKp(�
(�91r�p�:%�%o��%�%	�%�o�
&8rKpo�o�
&*0y\(�:*s�

869
r:p8rJp{��o�
o�
&,o�
&X{��i?����9%o�
YoY
o
*(
*0�0{�
}�ER�8�{�(�9c}�8?{�{�{��o�
}�{�-}�8Y{�X}�{�{�{��i?����{�(�o�
}�{�-}�8	}�**{�*{�*>}�}�*s
z(*0(Z|��(
�3*s�
{�}�*(
*0]{�
}�E#�8�{�{�o�
o
}��
YEB8={�o�
t7}�{�o�}�{�-}��l{�o�
:�����),�{�uF%}�9{�o
�{�{�}�{�-}�8	}�**Ec�){�*{�*0W^{�
}�}�E//8*�%{�uF%}�9{�o
�*,1%s
z(*0(V|��(
�3*s
{�}�*&(�*0_9X84
{�o�
�is�
8��
	o�
9+	�(

o�
�i>	s�o�
8�{�o
8k���(

o�
�i>D	(�		(�
9-	�(

o�
�i>	s�o�
8X�i?����X�i?(���*0`s	
}�%�}�*0Io�
9o
*o�
9*8
o
�o�
9o
�i;���**0a
o�
9Do=
.o�

<
8(o�
+.oT
o=
(�
9*X
o�

8�	�to�
o�
(�
9�o=
o=
o=
o7
(�
:ho�
o�
�i�i@K8,�o�
�o�
(
98X�i?���9*	X
	�i?I���*0ob
(�o�
8>o�
:o�o&
:r�'po�
&
o�o�(�o�
:�����
9o
�*Sa
6s0��*0�*(�}��(

(�
t}��D(

(�
tD}�{�:~�}�(�o�@T(�o�
��(

(
95(�o�

(u
@(�o�9s�
}�*0Hr�'po�
(�
9oS
(�8 ~5o�
o�
s�
oFt,*05csj

o�
Y8o�
o�
o9
Y<��*0Edob

(�(�9�{��i�:o5
8po6
{�(7
o�
:�I(8
{��o�

	�:(

(�
9�8~�	o7�o�
:�����9o
�(�o�
98{�{�($
(�o|
	{�9$s�


o�
{�
	o�
8	s�	~�	oK*2���(�o�
( 
9(�o=
8(�o�
*{�*{�*2(�o�*2(�o�
*2(�o�*(
*0]{�
}�E)�8�s�
}�{�(�o
}��
YE�8{�o
}�{��4(

o�
tG}�{�9
{��i:��}�8�{�{�{��o�o�
:u{�{��o�(�9X{�{�{��o�{�{��o�o�
{�{��}�{�-}�ݾ{�X}�{�{��i?H���{�o�
:����,�{�9{�o
�{�{�o�
o
}��
YE48�{�o�
t7}�{�o�oO
}��
YE�8�{�oP
}�{�(�}�{�{�o�
:O{�(�9>{�{�{�o�
{�s�}�{�-}��w{�o�
:i����,�{�9{�o
�{�o�
:�����),�{�uF%}�9{�o
�}�**ALK9������){�*{�*0�^{�
}�}�El&8g�{�9{�o
�8F�{�9{�o
��%{�uF%}�9{�o
�*(,1MRM!n%s
z(*0(`|��(
�3*s	
{�}�*&(�*�{�:{�(�
}�{�*0es
}�%�}�*09fo�

.o�
>
Xo�

QrR(po=
(0
Q*0rg
(�o�
8Ao�
:(�
o&
:r�'po�
&
(�
(�
(�o�
:�����
9o
�*Vd
0[h9s
zs�

(�o�
o�
8o�
s�o�
o�
:���
9o
�*#)L
Vo�
(�}�*
*
*
*2{�o�
*s
z(
*09i{�
}�E##8{�(�o�
o�
}��
YE//8�{�o�
}�{�o�
o�
}��
YE4580{�o�
}�{�o�
o�
o
}��
YEY8T{�o
}�{�o
(�9-{�o
s
}�{�-}��
{�o�
:�����,�{�9{�o
�{�o�
o
9W{�o�
o
o
(�97{�o�
o
o
s
}�{�-}��n{�o�
:�����,�{�9{�o
�{�o�
:Q����,�{�9{�o
�8}�**AL�zB�Z�E�{�*2{��J*0�0{�
}�}�En8iYE!8�{�9{�o
��{�9{�o
��{�9{�o
�*(AF,6b,R~s
z(*0(e|��(
�3*s
{�}�*r(
rV(p(�
t}�*�{�9{�o�:r�(ps?
z{�*0�jsj

9�i8=*(E
o
8R�
	.o
>#	o8
o
	Xo�
o
8	o	
	o9
X?����*J(�o�(�*0�k:(�*(�o�
8x�
	:r)p�;ryp(?
s�
z	(�99	o�
81:+�iYs

8�o�
X?��X�i?���9o
8(�*0�l:�<*(�o�
s�
(E
o
o
8�(


(7
(�:�f.o
>,o8
o
Xo�
(8
o
8(8
o
�&(7
o�
�(
:k�����Qo
�o
*?n�:2��01m:*
8�o�

X:	�i?��*6(�o�*0Xn(
(�
oF
o
o�
9( 
9(�o�}�{�:(�*Fr)p(>
s?
z0kos�
{�o�o�
97~�o�
9"~�o�
9s�8s�*8o�9s�**
*0�poF

oM
{�o�:
r�p8r�)poP
o�
o�
o�
~
o
{�o��Mr�)prApo
r�poP
 �oO
~5o
s�ob
oKo
�*OaM�~��(

����(

��*:(
}�*2{�ou
*6{�ov
*"(�*:(
}�*2{�o
*2{�o
*F{�o
o�
*J(
s
}�*0�qoF

o�
( 
:yr�po�
9hr�)po/
9�<(

8<r�)po/
9�2(

8(
(�
9(
(�*o
r@*po�
9(
s�*{�o
**(�
*{�*"}�*{�*"}�*{�*"}�*.s���*(�
*0]�<%rH*p�%r�+p�%r:,p�%r�,p�%r�,p�}
}}}	($
sN}*0�ro%
9o&
o'
{9j{o(
>Y{o)
o
8o�
t<
{o*
o+
o�
:����uF%9o
�*F4z�:r-ps�
z%�s,
ou*0�s}
o-

o.
{o/

8Q	o�
tHsko0
oA9+{{{{oWo4o1
	o�
:�����	uF%9o
�}
* f�b~2
o3
o4
o5
*0�to
o6
9�( 
:�o7

8(	o8
98	@8
	o7

	:���	:{�s?
z:{�(>
s?
zuN:{�(>
s?
z*o7

8*	:{�s?
z	uN9*	o7

	@���*0�uuR
9T�i@K�(9
�%9�;}�%9�;}�%9�;}{:1o}{:{�s?
z{o(*07uuR
9	�i;*�(:
�9oo;
*08vuK
9)oi9oo89	o7**0I{9{o}{	9{{{or}	*0Bw(<
o6

9o=
o}{9(}*0@{:o}{:{�s?
z((>
*0�(o}o}o}{>L{{=;{{Y
?{?
{{or8{
:o*s�
zVooo?
*Rooo@
*"(A
*0rx�:
(B
�{=8{�;�{=8{�;�{=8{�;�*01x�:
(C
�{9{oD
8�*�{:{�s?
z}}}	{or*v(E
{9{oF
*�{:sI
sJ
}{*6o4
(-
*{*{*0$oR
r2-poS
u<
:~!
**JoR
r2-poT
*{*0K<rP-psV
z{@*}{9o{{o*0$oR
r\-poS
u<
:~!
**JoR
r\-poT
*{*L*{*6(o*
*:(oY
*o*�([
(&(((*(,(.*{*"}*{*"}*{
*"}
*{*"}*{*"}*JsI
}(
*6~(J*6~(K*0yo5
o3*6(AoB*0z{:�{9�(E

9oF
8{o9�o\
r~-p(>
s�

oS
o]
8K�(�
:8+	(D
r�-poJ
(D
r�-p(C
o�
&X�i?����	r�-p(>
o�
&	o
}8~!
}{(a
(^
(>
*R:*(@o;
*F~~2
(L*2(@oD
*N}(@oF
*{*{*"}*0M{{:~!
*(E

9oF
8:~!
*oS
{ooJ
*{*0 4(@r�-poS

:*��*�(A;(@r�-p��oT
o9*{*o;*(C*o:*"o8*"}*0q|(<o( 
�
9(=9*(>(?(`
�&�?!Y?Y[=	ZTR*.?:�{:sa
}{ob
*j{:*{oc
*0.}{:*{od
u!
:*oe
*.s
�*V(f
}}*6~(b*6~(c*:{oA
&*s�
z6{og
**��J(

�;(h
:r�-psV
z~�($
*~*6{oi
*:{oj
*^(k
~~2
(d*0Ey(l
uH
:*{oH�as�
o0~~2
(d*0@y(m
uH
:*oH�as�
o1~~2
(d*0%y(n
uH
:r�-prI.ps
z*6{oo
*6{op
**J{oq
uH*F~~2
(d*�{:sa
}{ob
*j{:*{oc
*0.}{:*{od
u!
:*oe
*��%�r(

�%�s(

�%�v(

��s
�*Z([
(j(h*{ *"} *{!*"}!*V($
(n(p*0 ~u
9sf(r
**{"*"}"*{#*"}#*0c9ot
:*ou
8 o�
�t
(�
(�
oF
o�
:����uF%9o
�*5N(x
*bo6
�ys�
oy
*0[(�oz
o{
(�oz
o{
(�oz
o{
(�oz
o{
(�oz
o{
*"(|
*�{):"o|})(}
9{)oF
{)*02�(~
��o
(E
s
(}
9oF
*�( 
:~(�(�
:({*rM.ps

z~(*2({o*6({o*2({o*6({o*2({o*6({o*2({o*6({o*{**"}**0�{+(
9"{+o�
(�(6
9{+*(�( 
9*(�(�}+{+(�
9r�.p(�(>
s

z{+*�(�
9rP-ps�
z}+{+o�
(�*0_�(
o�
8B�
o�
8�
	o�
(6
9	*X�i?���X�i?����*(�*"(�*2({o+*6({o,*2({o#*6({o$*2({o%*6({o&*2({o'*6({o(*2({o)*6({o**2({o-*6({o.*2({o/*6({o0*2({o1*6({o2*2({o3*6({o4*2({o5*6({o6*2({o:*2({o;*2({o<*2({o=*2({o>*2({o7*2({o8*2({o9*:({oB*6({oC*>({oE*2({oZ*6({o[*0+�u
9{�
(:
({{�
o;
*0)�(C

({oD
:9s�
**v(E
{)9{)oF
*6({ob*6({oc*6({od*6({oe*6({of*6({og*6({oh*6({oi*6({oj*6({ok*6({ol*6({om*6({on*6({oo*6({op*6({oq*6({or*6({os*6({ot*6({ou*6({ov*6({ow*6({ox*6({oy*R�<%r�.p��(*"(�*:(�
(�*{,*"},*{-*"}-*:(�
(�*:(�
(�*{.*"}.*{/*"}/*{0*"}0*:(�
(�*{1*"}1*:(�
(�*:(�
(�*{2*"}2*{3*"}3*{4*"}4*�(�
(�(�(�(�(�(�*{5*"}5*{6*"}6*{7*"}7*{8*"}8*{9*"}9*{:*"}:*{;*"};*:(�
(�*:(�
(�*V(�
(�(�*{<*"}<*{=*"}=*{>*"}>*{?*"}?*:(�
(*V(�
((*{@*"}@*{A*"}A*{B*"}B*{C*"}C*2r�.p(	*"(�
*:(�
s�
z&(�
*�(�
:r?/ps�
z(*:(�
s�
z{D*"}D*B(�
}E*0�s
}�%�}�*{O*"}O*{P*"}P*{Q*"}Q*{R*"}R*(#*(%*
*
*
*()*2{Eo�*2{Eo�*6{Eo�*{S*"}S*{T*"}T*{U*"}U*{V*"}V*{W*"}W*{X*"}X*{Y*"}Y*{Z*"}Z*{[*"}[*{\*"}\*>|G(?*>|H(?*>|J(?*>|I(?*>|N(?*>|K(?*>|L(?*>|M(?*0EP9P*s�
Q9P�@s�
o�
(Y9
9PoF
P*2~2
o�
*�{]:o oN}]{]*&o�
*"o�
*"o�
**o�
*s�
z0�(At
o�
o�
o�
8�o�
o�
(+(�
9ݔo�
o�

	o�
	($
o�
8/o�
�t	(�
t<o�
(�
o
o�
:����uF%9o
�oK	�9o�
:?����
9o
�r_/p(+o (�
s?
z	*iE���
s�
z0�s!
}�}�%�}*0�to
o�

o�
*0�to
o�

o�
*0*�(A
to
o�
o�
oM*RoJoK*0 4s�o{($

s�oz*s�
z0��(�
9r�/ps�
z(+( 
9r�/p{Eo%
(>
s?
z{^(�
9{^o�
(�
9{^*(+ oG

9�i:"r�0p(+{Eo%
(�
s?
z�}^{^*s�
zs�
zs�
zs�
zs�
zs�
zs�
z(Y*{F*s�
zs�
z"o_*o`*oa*0[�uR
:*(o�

8	o�
�9	�o;
X	o�
:����
	9	o
�*1M
0��:
(o�

8	o�
9	oD
�X	o�
:����
	9	o
�8�9*X�i?���*/D
0I�}F(o�
8o�

9oF
o�
:���
9o
�*(;
0*�{_
|_(�
t(+
@���*0*�{_
|_(�
t(+
@���*0*�{`
|`(�
t(+
@���*0*�{`
|`(�
t(+
@���*0*�{a
|a(�
t(+
@���*0*�{a
|a(�
t(+
@���*0*�{b
|b(�
t(+
@���*0*�{b
|b(�
t(+
@���*0*�{c
|c(�
t(	+
@���*0*�{c
|c(�
t(	+
@���*0*�{d
|d(�
t(
+
@���*0*�{d
|d(�
t(
+
@���*0*�{e
|e(�
t(+
@���*0*�{e
|e(�
t(+
@���*0*�{f
|f(�
t	(+
@���*0*�{f
|f(�
t	(+
@���*0*�{g
|g(�
t(+
@���*0*�{g
|g(�
t(+
@���*0*�{h
|h(�
t
(+
@���*0*�{h
|h(�
t
(+
@���*0*�{i
|i(�
t(+
@���*0*�{i
|i(�
t(+
@���*0*�{j
|j(�
t(
+
@���*0*�{j
|j(�
t(
+
@���*f{_9
{_o�
*f{`9
{`o�
*f{a9
{ao�
*f{b9
{bo�
*f{c9
{co�
*f{d9
{do�
*f{e9
{eo�
*f{f9
{fo�
*f{g9
{go�
*f{h9
{ho�
*f{i9
{io�
*f{j9
{jo�
*(
*0p0{�
}�E	*Ot���-8/{�{G}�{�-}�8{�{H}�{�-}�8�{�{I}�{�-}�8�{�{J}�{�-}�8�{�{K}�{�-}�8x{�{L}�{�-}�8S{�{M}�{�-}�8.{�{N}�{�-}�8	}�**{�*{�*>}�}�*s
z( *0(�|��(
�3*s
{�}�*(
*0��{
}E�8n{�o�
}�{�:
 ���8{�}�{�o�
}�{�<
 ���8{�}�{� ���@{�8{�o�
{�X}�{�o (;
u}�{�{�o
oP}�{�{Eo�9a{�{�u�9{�t�o
8{�t�o	
{�{Eo��:o�
}�8M{�u�9{�t�{�o
8{�t�{�o
t/}�}�{�o
}��
YEo8j{�o�
}�{�%X}�{�o�
<�3{�{�<"{�}�{-}�G{�o�
:�����),�{�uF%
}�	9{�o
�}**��a){�*{�*0S^{
}}E/8*�%{�uF%}�9{�o
�*(-%s
z((*04�|�(
�3*s!
{�}�{�}�*�}�}�~!
}�}�}�(�
o�(�*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*J(�
~�ob
*J(�
~�oc
*v{�:s�
}�{�*(�
*(Sz{}*"}}*(�
*(Sz(�
*(Sz(�
*(Sz(�
*(Sz6o4
(-
*0 4oR
r�1poS

9��**^oR
r�1p��oT
*(�
*(Szf{�9{�*�<*0D:}�8o�
t'}�}�}�(�
9(�
*�{�:'(�s�
}�(}
9{�oF
{�*v{�:s0
}�{�*{�*�<rP-psV
z{�;}�(�
9(�
*03�o�
{�?{�o�
<
{�o�
**{~*"}~*{u*"}u*{v*"}v*0 4oR
r�1poS

:*��*v9oR
r�1p��oT
*(Sz(�
*(Sz{�*�<rP-psV
z{�;}�(�
9(�
*0$oR
r�1poS
u<
9*r2p*�( 
9rP-psV
zoR
r�1poT
*{x*"}x*{y*"}y*(�
*(Sz{�*"}�*{�*"}�*{w*"}w*0$oR
r52poS
u<
9*rY2p*�( 
9rP-psV
zoR
r52poT
*v{�:s�
}�{�*{z*"}z*{{*"}{*{*"}*{�*0^�{�9
{��i:ry2po%
r�2p(0
s?
zo�
o�>o�
<o�
**{�*"}�*{�*�<rP-psV
z{�;}�(�
9(�
*{|*"}|*0�o�
9o�
**{�*{�*V{�<*{�*o�*o�*
*.r�3ps�
z(�
*(Sz(�
*(Szv}�}�}�}�*0e�:r�3ps�
zu$9s�
o-
o0
8$u%9s�
o-
o0
8
o-
o�
*0f�oR
r4poS

97�;?$�:}�o&�}��8(�
9o�
(�
*3A0�
ooI{�={��+s�9�o�

	:r 4ps?
z9Y	o�
9No�	o�
9(�
o�
8*u0:r�4ps?
zot
o�Xo�}�(�o�
8)u0:r5ps?
z{�o�}�o�o�o�o�o�9�o�=%o�:o�(�o

8o�(�o
9o�
:9o�}�87:{�>o�
}�8{�>}�{�{�{�soF8{�:9o-
o.
o:*{�*(Sz"se*0��(�

o�
o�
96{�o�
o�
9o�
{�o�
8o�
(�
9B{�( 
:2{�:{�o�
8{�r�5p(>
o�
*00�{u9$o
os�o6o�*0*�{v9o
os�o6**0J�{w:r�5po%
r�5p(0
s?
zo
os�o6(�*s�*0�o
oo�*0��JXJo
Jo9wo�s�
o�8�
		(�
o�
X�i?���s�
o�
J@o2
&8Jo�
s�o6o�9o1
s�o7JXT*0
��s)
}
{y:*{�:o�o}�{�:('z{�o�
{�@q}9So-
{�o�
}o-
{�o�
}�{�{�;{�{�o�{}�8{�}{�(�
o�o�
}||(}o�}{}{}}	{z��@<o
	{{%X}o�{Y}}	o�o�{[{]XY}�*sU	o�8�o�

	oV{	9&9{{%X}(	
{{%X}(
o�
{Y}{	:}	o�
:e����uF%9o
�	oV@m{	9&9{{%X}(		oVo
	{{%X}o�{Y}{>w{v9l8[9{{%X}(	o
	{{%X}o�{Y}{=����*��~0��sc
oo�o:('zo�
o-
o�
T9Ks$

	o	o-
o�
>+	{�J%XTo�%{�X}�8
o-
Jo�
{�J%XTo�*0
0�{�:o�o}�}�{�:('z{�o�

{�@b9No-
{�o�
o-
{�o�
}�{�{�;{�{�o�}�8{�{�(�
o�o�
@*o
	{�%Xo�%{�X}�{z��o�o�
8n
o�
	9&9{�%X(	%{�X}�	{�%X(
o�
%{�X}�:
o�
:�����
uF%9o
�@e9790s�o{�%Xo�%{�X}�o
	{�%Xo�%{�X}�*'��0D{9-s$
}�{{�o�
o-
{�o0
~2
o?*04�<rW6ps?
zo�
o�
<o�
()*�o-
o�
9*o(�
}�*0��:r�6ps�
z
o�:�u`:r�6ps?
zo�{~9o�@{~t'
8X{|9o�@{|t'
80{}9]9{}t'
8{{t'
8#{w9o�@{wt'
:*o�

	9	ot
:*98o�9	�i�+o�		ou
8lo�
�t

(�
:9H(+;9
(�
	9u<9o7
:o�
o�
:�����uF%9o
�*=��0��( 
9*o%
(6
9*o8

9*o-
o�
8"o�
t-o
9
�(o�
:����uF%9o
�*	*<7s0:�o�
:r�6ps?
z9o6
9o�
($*0O�<rW6ps?
zo�
o�
>*9o6
9o�
o�
(,*b{u9{uo�
*b{v9{vo�
*b{x9{xo�
*b{y9{yo�
*b{w9{wo�
*b{z9{zo�
*0{�{{:rU7ps?
z{{
{}9]9{}
{|9{�@{|
{~9{�@{~
o�
*0j�uR
9�i8:*(�o�8%s�
s�

	�o;
	o2
&X?���}�*0�u(�uR
9
�i	;*�(9
�%9t'o��(�%9�;o��%9�;}��%9�;o��%9�;o��%9�,}��%9t<}�{�{�{�soF*0��uR
9�i8:*�(�
�uR9�i:*(�o�
83�u
	:8	{�
	{�
oF
X�i?���*0l�u^
:ous^
9<o_u(9o�
9o6
o�
o�
( *(�
*0	�o5o�

o�
u<r�7p(�
:(0oQ8�r�7p(�
:(/8�r�7p(�
:(.8�r�7p(�
:((8sr�7p(�
:
(#8Ur�7p(�
:("88r�7p(�
:'9o6
9o�
:*(+*0(:*o�
<**0N�oau`
(!<*s�oCo�
9*o�o�~2
oB*0�oa
:*($*0��9o6

9o�
:*(�

	9-o�
:(&zsyo|o8	syo<	9o�
9*o|}�{��%s�
o�
*05�{�s}
o;}�o�:(�
o�*.r�7ps?
*0irI8p�:%9
~!
8r�p�%9
r�9p8r�9p�%o%
�%9o�8o��(
s?
*0%�oau`
(!<*()*0��(�

sg98o�o�
<o�
o
oj(qokoo99o�
9*o�

	:(&zoj}�ok}�	{�{��*s�
o
*00�{�{�sl
o8o�(�
or*0&�oau`
(!<*(,*0��9o6

9o�
:*(�
s�9Io�
	o�
<	o�
o
o�(q(�o�(qo�oo>9o�
9*o�
:(&zo�}�o�}�o�{�{��-s�
o
*0I�{�{�s�
o=o�:o�(�
}�}�o�*0}�oau`
(!<*o�@8o�@8r�9ps?
zsY
	o4	o�
9*:o�(�
*0N�oau`(!
<*svo:o�
9*(�
9o�(�
*0)�o�(�
9*o�:
8
*Ro6
o=
(
*0)�(�

9od
u\9o
*0)�(�

9od
u!9oe
*6~�(+*6~�(+*6~�(+*6~�(+*6~�(+*6~�(+*6~�(+*6~�(+*6~�(+*6~�(+*6~�(+*6~�(3*6~�(3*6~�(+*6~�(3*6~�(+*6~�(3*6~�(+*6~�(+*0�(
oE
(�
9@o�
o�>+o�
<(�o�
(�o�
oo(
oR
r4p�;oT
*6o(
*0G{�9{�{�{�(J{�9{�{�{�(J*0(
8o-
o�
%Y
=��*"(	
*0d�o�
9o�
8:*�:8)o�

	:
�8
	oD
�X?���*0�	�:
o�(L(B
��i>8�98�{�>{��;8�{�?{��;8�{�;{��;8�{�;{��;8�{�9{��,8�{�( 
98{��*0��(�
ot
:*�:ou
8.o�
X�t
(�
(�
s�
�o�
:����uF%9o
�*(Dl0x�:
(

�(N�*0��<r^:psV
z<rv:psV
z{�@{�;Q9,s
oAo}�o}�8}�}�9~2
o@9(�
*0w�s�
oEo�
9*(�
9>o�
:r�:ps?
zo�}�o�}�}�o�~2
oD(�
**oP*.r�:ps�
*0�s
��s
��s
��s
��s
��s
��s
��s
��s
��s
��s
��s
��s
��s
��s
��s
��s
��s
��s
��*(
*0v{=i{}{
{��||(}{Y}{}{
%{�X}�}	*V(�
([(]*{�*"}�*{�*"}�*Z([
(`(b*{�*"}�*{�*"}�*($
*0~u
:*(r
*"(�*:($
(�*0'~u
9s^(r
*(�
*{�*"}�*{�*"}�*{�*"}�*{�*"}�*r(�o�o�o�*0'~u
9s^(r
*(�*:(�
(i*{�*"}�*v{�:s�
}�{�*v{�:s�
}�{�*b(m}�}�*r(�
(o(q(s*{�*"}�*{�*"}�*{�*"}�*v{�:s�
}�{�*v{�:s�
}�{�*:(�
(x*{�*"}�*:(�
({*{�*"}�*v{�:s�
}�{�*B(~}�*�(�
(�(�(�(�*{�*"}�*{�*"}�*{�*"}�*{�*"}�*v{�:s�
}�{�*:(�
(�*{�*"}�*�(
(�(�(�(�**0x�(�
:*u"9$(�98(�(�s�*u09$(�98(�(�s�*o
*0'�(�
9u+:*t+o
*~!
*{�*"}�*0:�(�
:*(�(�:	?*(�(�Y*{�*"}�*0C�(�
:*u0:r�;ps?
z(�9(�*t0ot
*
*(�*
*{�*"}�*{�*"}�*
*{�*"}�*f(�(�X(���*�(
}�}�}�X}�*f{�{�{�Xoq
*�%{�X}�{�{�X{��*"}�*�(
}�}�}�}�*f{�9{�o�
**0o({�:4{�o
}�
8{�o�
&X
{�?��%{�X}�{�o�
&{�{�X{��*>}�}�*:(�
(�*{�*"}�*V(�
(�(�*{�*"}�*{�*"}�*(
*"o

*(
*s
*"o

*:(�
(�*{�*"}�*v{�:s�
}�{�*v{�:s�
}�{�*v{�:s�
}�{�*b(�}�}�*�(�
(�(�(�(�*{�*"}�*{�*"}�*{�*"}�*{�*"}�*v{�:s�
}�{�*v{�:s�
}�{�*(/*0��(3ur
:*(�o�(�o�(�o�(�o�(�o�(�o�(�o�(�o�(�o�(�o�(�o�(�o�(�o�(�o�*0	��}�}�}�}�
{�{�|�(I{�{���{�{�X{��
(�(�9r\<p(�(�(�(�959{�{�[Yrh<p(�(�(�(�9:9{�{�X{�[rr<p(�(�	(�(�9K9'{�{�[{�{�]:Yr|<p(�(�	(�9(<{�{�o*0B�
9DXs
o
o
o
(6o
(�o

8�:(�9s
o

8�(�
	9	;+	;C8fs
o
o

8Gs
o
o

8(s
o 
o!
o"

89o
(�o
9(o-
o0
9o-
r�<ps#
o0
*s�*0H�ur
:*o�(�(�
9*o�(�;*o�(�(�
9*o�(�(�
9*o�(�(�
9*o�(�(�
9*o�(�(�
9*o�(�(�
9*o�(�(�
9*o�(�(�
9*o�(�;*o�(�;*o�(�;*o�(�;**0��
(�o
`
(��1o
`
(�o
`
(�o
`
(�o
`
(�o
`
(�o
`
(�o
`
(�o
`
(�o
`
(���o
`
(�
��o
`
(���o
`
(���o
`
*0��o�

(<or\<p(�
:8�r|<p(�
:+{�]
	:{�Y8	{�	Y8crr<p(�
:/{�X{�?{�>	{�Y8#rh<p(�
:{�Y<?(<o*0$(@r�<poS
u<
9*~!
*J(@r�<poT
*0 4(@r�<poS

9�1**^(@r�<p�1oT
*0$(@r�<poS
u<
9*~!
*J(@r�<poT
*0$(@r�<poS
u<
9*r\<p*J(@r�<poT
*0$(@r=poS
u<
9*~!
*J(@r=poT
*0$(@r*=poS
u<
9*r|<p*J(@r*=poT
*0$(@rD=poS
u<
9*~!
*J(@rD=poT
*0$(@rf=poS
u<
9*rr<p*J(@rf=poT
*0$(@r�=poS
u<
9*~!
*J(@r�=poT
*0$(@r�=poS
u<
9*r�=p*J(@r�=poT
*0 4(@r�=poS

9��**^(@r�=p��oT
*0 4(@r>poS

9��**^(@r>p��oT
*0 4(@rh>poS

9��**^(@rh>p��oT
*0 4(@r�>poS

9��**^(@r�>p��oT
*0 4(@r�>poS

9��**^(@r�>p��oT
*0 4(@r�>poS

9��**^(@r�>p��oT
*:}�(/*0��(3us
:*(o(o(o(	o
(o(
o(o(o(o(o*0��}�}�}�}�
{�{�|�(I((
[]>8X:8[X	Z[	ZX	XY	�Y	��	>95Y

<
rh<p(((

(�(8J��(a
(^



~!
98((�X>����	99o-
r�<ps#
o0
	9$rr<p((	(
(�9(<{�{�o*0��
9d
9#:s
o
o

85s
o
o
o
(6o
o

8�:s

	o
	o
	
8�(9;=;h8�s
o
�;o
o$
o
8os
o
�;o
o%
o

8<s
o 
�;o
o&
o!
o"

89o
9(o-
o0
	9o-
r�<ps#
o0
*s�*0��us
:*o(;*o(;*o((�
9*o	(	(�
9*o((�
9*o
(
(�
9*o((�
9*o((�
9*o((�
9*o(;**0��
(�;o
`
(�1o
`
(o
`
(	o
`
(o
`
(
o
`
(o
`
(o
`
(o
`
(
��o
`
*0��o�

o�
u<('
:8?	Y8	<(<o
	Zrr<p(�
9rh<p(�
:8(`
Y	Z;(<	o*0 4(@r
?poS

9�;**�<rP-pr"?ps(
z(@r
?p�;oT
*0 4(@r�<poS

9�1**0A�1(

�1(h
:rP-pr�?ps(
z(@r�<p�1oT
*0$(@r)@poS
u<
9*~!
*z( 
9*(@r)@poT
*0$(@rD=poS
u<
9*~!
*z( 
9*(@rD=poT
*0$(@rf=poS
u<
9*r[@p*�( 
:r[@p(�
:*(@rf=poT
*0$(@rc@poS
u<
9*~!
*z( 
9*(@rc@poT
*0$(@r�@poS
u<
9*~!
*z( 
9*(@r�@poT
*0$(@r�=poS
u<
9*~!
*z( 
9*(@r�=poT
*0$(@r�=poS
u<
9*r[@p*�( 
:r[@p(�
:*(@r�=poT
*{�*"}�*r(�
}�}�}�*{�*{�*{�*V(�
((*{�*"}�*{�*"}�*Jsa
}�(/*J{�~�ob
*J{�~�oc
*{�*"}�*0"�(3uv
:*o#o$*0�o#
:*o�
*s *0N�uG
:*(<o o%s$o)o)
	<*	o'o*0%�{�~�od
u
9o)
*.s
��*:(�
}�*{�*(
*{�*"}�**(�*b{�:~!
*{�*"}�*0X�(�( 
9sR
z(�o7

(�o8
o7

9::���:sR
z*(�*(�*"(�*b{:~!
*{*"}*0o�(�
9o*
8:*(�o�o�(�
:*~o+

	>o7
(,
:**0��(�
(�o�(0( 
9?o
�(

o�

	9"	�i>	�u9o-
( 
:�o
o.
(/
9"r�@po%
(�o%
(�
s?
zo

~�(0
�&r�Apo
o%
(�
s?
zo1
o�*��?0�(�
9o�9o�*^rWBp(.(0(�
*��x(

r�Bpo2
���P%_�%$��*(
*b{:~!
*{*"}*(
*�{(
9{o-
*{( 
:{(x
*~!
*J(;(A
(4
*0R(;(A

(
�*0<(
{(
9{o
a
{9{o
a
*�Л(

o�
(|(�
s�
��*V(
(t(z*{�*"}�*r{�9{�8~!
*"}�*{�*"}�*{�*"}�*~�*��*
*�:s�
zo7
Yo8
r�Zp(>
*0��(
9(�8Q:9�i:*o7
?rkpo/
:r�Zp(>
s?
zs�

%o�
YoY
9r[po�
&(�
o�
o�
9($+?
r[po�
&rkpo�
&o
(�:*	Q*0��s3
}}s�{}�{}�}~�o
�4s�
o�
:!r([p{o�
{(�
s?
z{Q*0���(

o,
8[�t
o.
(�
:<o_

	:r�[po�
(�
s?
z�
	9	o
�Q*X�i?����Q*<"^
(
*0<(
{�(
9{�o
a
{�9{�o
a
*(
*b{{|(�*B(s
s6
�*(r*v{:s�}{*08�( 
:~o7
:*~o
o8
:**0n�:r�Bps9
zrps�

(Ao:
8�o;
:ݼoj( 
:�ofol(�o�oh:( 
9)s:		}	}	}	
8co;

s:		�:%(H
�%
o<
�%/�P�%
o=
�%/�P�%�(>
}	}	
8�ou%( 
:�olo�9(w8(�(w
:(x
(@
�8({
o|
�9r�Bpr�Bp(0
s�
zs:		}	
8
	93:s?
	o@
	o
rp(
o�
&
o�
:#����9o
�9o�
:~!
*({o
(s(

~
o

oA
&
*A,�
*0t�{9{oC
:*({
{o:
8o;
of(:
9
�o�
:����
9o
�*	*/4c
v{9{oC
�+*:(�
(I*{	*"}	*($
*b{:~!
*{*"}*(F
*s�
z0D{
:2o6
(�}
{
:rCpo%
(>
s?
z{
*0j�(G
(K( 
9rDpo%
(>
s?
z(Ko8

:r�Dpo%
(K(�
s?
z(Oo+*R(Oo(A
*"oP*oQ*(�*(�*"(�*
*0�(�
(�o�o*FrNEp([(>
*(
*s�
zs�
zb{:~!
*{*"}*r(
}
}}*{
*{*{*r(
}}}*{*{*{*�(
}}}}}*{*{*{*{*{*r(
}}}*{*{*{*�(
}} }}!}}}*{*{*{*{*{*{ *{!*(
*{0*"}0*�(�( 
9rjEpr�ps
z}**o�*{)*"})*b{+:~!
*{+*"}+*{**�( 
9rjEprP-ps
z}**0O:rjEpr�ps
z:rjEpr�Eps
z|.r�Ep(>
r�Ep(>
(�*0O:rjEpr�ps
z:rjEpr�Eps
z|,r�Ep(>
r�Ep(>
(�*0E:rjEpr�ps
z:rjEprFps
z|-r�Ep(>
(�*0L:rjEpr�ps
z:rWp
8~5oI
|,r�Ep(>
(�*0E:rjEpr�ps
z:rjEprFps
z|,r�Ep(>
(�*�P:sH
QPoI
:PoJ
8	PoK
*0��o�
~!
(�
9r&Fp(�(�( 
�(�( 
�r,Fps�

9	r>Fpo�
&	(�o�
&9	rLFpo�
&	(�	(�	(�9	rRFp(�o�
&	rnFpo�
&	o
*0��9oL
:rWp*rmps�

oM
oN
8oO
rtFpoP
o�
&o�
:����
9o
�%o�
YoY
rqpo�
&o
*.0^
~r�Fpo�
&{,(�o�
&*~r�Fpo�
&{-(�o�
&*~r�Fpo�
&{.(�o�
&*�(�( 
9rjEpr�Eps
z(�*0+(�
( 
9r�Ep(�(�(�
**(�*�{'( 
9(�(�}'{'*>}'}(*0((.o�
X
>o7
<o�
**�{(9!{'( 
:r�p{'(�(�*(Q
*0D{/:2o6
(�}/{/:rCpo%
(>
s?
z{/*R(G
(�o+*R(�o(	
*o�*o�*�(�( 
9rjEpr�Eps
z(�*(�*(�*(�*.r�Fps?
z�Z}J}c}i}m($
*{i*"}i*v{j( 
9~!
*{j*"}j*b{U:~!
*{U*{J*"}J*v{n:s7}n{n*{g*"}g*{c*f{d9sR
z}c*{W*"}W*{X*"}X*0@(�9*(S
:(�9(�@*(�@**0�r�Gp(�
t<
oT
*{S*{T*"}T*{m*"}m*v{o:s`}o{o*{V*J@}V*b{Y:~!
*{Y*"}Y*v{P:s�}P{P*v{Q:s@}Q{Q*v{R:s�}R{R*�|b(U
:(�sV
}b|b(W
*�{d9sR
z(�:9r�Gps?
zsV
}b*>(�:**
*s�
z0*�{q
|q(�
t(+
@���*0*�{q
|q(�
t(+
@���*0*�{r
|r(�
t( +
@���*0*�{r
|r(�
t( +
@���*0*�{s
|s(�
t(!+
@���*0*�{s
|s(�
t(!+
@���*b:rtHps�
z(�*z:*oX
~IoY
t�*voX
~Io�
oZ
o[
*0a�{O:*{Oo\
8 (]

o%
(6
9�!(^
:�����go
�**6O0o�}SoJ

( 
:S|o
�i;;8%�}U8"�}e�}U8r~Hps?
z**f{q9
{qo_
*0M(<
o6
(�9r�Hps?
zo6
(�o6
��s�
o`
}d*�(�9oz
o�
s+o�*0��(G
o6
��s�
oa
(�9o6
�sb
oc
8O(�9=(�
od

r<Ip~5sLoI(>
Ѝ(

rrIp(�{k9�{koe
>�s�
o�
&
8�{k	of
(�9+r�Ipo6
og
o&
rJp(0
o�
&8r:Jpo�
&olo&
o�
&r�Jpo�
&~5okoIo�
&rnFpoh
&	X
	{koe
?X����}(

r�Jpo
(o6
oZ
oi
&*0#�sc
:ots�o�**(�*0��r�Jp~!
(�
rKp~!
(�
(�9"rEKp~!
(�ryKp~!
(�
(�oj
8>ok
oRs�o�{l:sl
}l{lom
o�
:�����9o
�(�:�(�(�9>(�Ѝ(

r�Kpr�Kpo6
og
o&
rKLp(0
(�s�
rWLpoh
&rV(p(�
t9.o�9"r(Mpr�Mp(n
r�Mp(0
oh
&(�( 
:r�Mpr&Np(0
oh
&r�p(�
t		9U	o�9Ir.Npr�Np(n
r�Mp(0
oh
&o6
oo
op
oq
9
r�Npoh
&(�

( 
:rlOp
r&Np(0
oh
&Ѝ(

r�Opo
(�(�(�9		(�{Q9/{QoF9{QsGo�{Q(�{l9\8B{lor
oQ{lor
oR{lor
oS(�X{los
?����(�:|{R9E{Rot
>48{Rou
(�X{Rot
?���{p9w{pov
>f
8L{p
ow
8o\ou
(�Xo\ot
?���
X

{pov
?����(�9?o6
o
o6
ox
o�
(�Ѝ(

r�po�(�(�9:�}(

r�OprPpo6
og
o&
r^Pp(0
(8�}(

r�Opr�Pp(*bT�0�({o9'{ooc( 
:{ooc(n
*{p9u{pov
>d
8L{pow
oYoc( 
:({pow
{pow
oYocon
*X
{pov
?����*0�({n9'{no8( 
:{no8(n
*{p9u{pov
>d
8L{pow
oXo8( 
:({pow
{pow
oXo8on
*X
{pov
?����*�{]:sy
}]{]sz
*�{Z:s{
}Z{Zs|
*�{k:s}
}k{ks~
*�{^:s
}^{^s�
*�{_:s�
}_{_s�
*�{\:s{
}\{\s|
*�{[:s{
}[{[s|
*
*�9{N9{No�
:*{No�
*0*�:*u�
(�9*o�
(�*0�s+
}%�}*0�{s
9o�
*f{r9
{ro�
**&(�*0W�o6

(�:*{]:sy
}]{]seo�
o�:
oZ
o�
*�:*{K:s�
}K{Ko�
9*{Ko�
*2(�*0D�o6

(�:*|Z(o�:oZ
o�
**(�*0A�o6

(�:*|Z(o�:oZ
o�
*&(�*Zo�
(
(�*0�ou
( 
9
o8;( 
:on
( 
9*9Ѝ(

(�8Ѝ(

r�Pp(>
(*0��o�9po�o�

oz
(
(
9%�E(

o�
�i:r�ps?
z(�
Ѝ(

	o�(�8Ir@*p(�9r(Qp(>
o�on
(>
Ѝ(

(�**(�*0}(�:r4Qps?
z:r�3ps�
z{f:s�
}f{fo�
9r�Qpo%
(>
r�3ps
z{fsTo�
*0Z�:r�3ps�
z:rRps�
z(�
:*{k:s}
}k{ksio�
*0(�:*o�
u�
9*o�
(�*0]�o6

(�:*{^:s
}^{^smo�
o�:oZ
o�
*&(*0W�o6

(�:*{_:s�
}_{_sso�
o�:
oZ
o�
**(*0A�o6

(�:*|\(o�:oZ
o�
*�:*{L:s�
}L{Lo�
9*{Lo�
*�{O:s�
}O{Oo�
9*{Oo�
*0E�:*{a9{ao�
:*{ao�

t-oV(	*�:*{`9{`o�
:*t-oX(	*0��:*s�

o�
8�o�
(�9Ao6
og
o&
o�rPpo6
og
o&
r Rp(0
oh
&8rTRpoh
&r�Rpo�
&o�oh
&r�Rpoh
&o�
:q����
9o
�o

Ќ(

		(*��
2(*0D�o6

(�:*|[(o�:oZ
o�
*0T�}:r�Rps�
z{`:s�
}`{`�}o�
:{`�}o�
*0f�~:r�Rps�
z:r�Rps�
z{a:s�
}a{a�~o�
:{a�~o�
*�P:s{
QPswo�
*0(�9rSpon
rDSpon
r\Spo*
o6
og
o&
o�
(�9frTp�:%o6
og
o&
�%{O(�%{K("+�%{L("+�%(��;�o�
8Nr�Tp�:%{O(�%{K("+�%{L("+�%(��;�o�
r�Upon
r�Upon
(A
*&(*0��9o�
:*9
r�Up8~!

s�
o\
8[(]

	oF
:�C	o*
r�Up	o�9
rcp8r_po�
&9r�Upo�
&(^
:������go
�o�
>%o�
YoY
o
*7q�0��9o�
:*s�

8_9o�
��oF
:86r�Up9
r�Up8~!
o�

��o*
o�
&Xo�
?����o�
>%o�
YoY
o
*0@:r�3ps�
z(�9(o&
}h8o6
o�
*0@( 
9r�3ps�
z(�9(}h8o6
o�
**&o�*o�*0��u[
9o�8( 
9:949o�::(S
9o
8o
r�Up:
r�Up8o�
�;o
(*:r�Up(*0A{N:s�
}N8{No�
9*{No�
(*NrVpo&
(*�{M:s�
}M{Mo�
*0��u<
:u89o7
8
9o�
o�
|o�
oz
|o�
oz
|o�

8)9	o�
o�
8
	o�
o�
	X
	?���|o�
*0z�t�
{O9�{Oo�
>�{Oo\

8W(]
o�:'{e( 
:{eo*
(�
:8o�9((^
:������go
�og
�$sb
oc
s1og
o�
o39Oo�
8"(�
rVp(�
(�
((�
:������o
�r3Vp{K("+(rcVp{L("+(r�Vp{O((r�Vp{M(#+(r�Vp{N(#+(r�Vp(��;o
((�:rWpo6
o�
({f9}{fo�
o�

8G
(�
	{f	o�
oV9
r3Wp8rMWp	o&
oU(
(�
:�����
��o
�( ({Z(!{[(!{\(!("{h( 
:r_Wp{h({k9�8y{kof

{N9{N
olo�
<#{M96{M
olo�
?rkWp
olo&

ok(X{koe
?u���*(/m��8']o0��{^9�
8�{^o�
on(�9�or9s�

op	(	o
8rpoprp(0
r�Wp�<%r�Wp�%oq�%r�Wp�%oo�%r�Wp�(	
(X
{^o�
?M���*0n�{]9b
8J{]o�
o6
of;of(�9r�Wpogoh(X
{]o�
?����*0W�:*s�

o6

8/	o�
ozo�
98oy;(�9�ozo�
o|E�I�8�ox9r�WprXpo{(8r�Wpr=Xp(#(8xox9riXprXpo{(8riXpr=Xp(#(84r�Wpr�Xpo~(8r�Xpo{(8	X
	o�
?���*0��{_:*s�

8m{_o�
ouo�
98Fo6
ot;ot(�9$ouo�
rVpouov(X{_o�
?����*0��o{sR
s�

8�o�
;8lrFpo�
(�
:Qs�
8o�
o�
o)
o�
:��o�
&r�Xpo�
o)
~5oI
�B��o�
:q����&�r�Xpo}ozo{(�
s?
z	*��:0q�t�o0t@
sIo�
9Jo-
o�

8	o�
t-o�
	o�
:���	uF%9o
�*2(Z�{p:s�
}p{po�
*.(*6(*&(*6(*&(�*6(�*.(�*&(�*B�J(

�I*>(�
}t*{t*:s;(2*n(/�4sEo<*{v*�{v:s�
}v{vo7o9o�
*�{u:+rZp(�
:}u(0rZp(*(�
*V(�
(8(:*{w*"}w*{x*"}x*� �}zs�
}|(�
}*"}�*"}�*(%
*0E({y
9;;8$(B8(A8(@8*0m>;
";8E(C8L{}{~{|o
o)
}y{|oY
(D8{|o�
&8*0v YE %=;>;89(C8@8;{|o
}~}y{|oY
8{|o�
&8*0&�{z
nYE��t;�u;�<;,i;C �;8�<@}z8�i@}z8(C8�n@}z8(C8�p@}z8(C8hu@}z8(C8It@}z8(C8* @}ys�
}}8(C8*~ �}z}y{|oY
*0�{}r�po�
:*{}rP-po�
:*{}rP-po�

:*{�9,{�{}r�po�
(�
s6oF8&{rVp{}r�po�
(�
(*6sJ(/*(�
*(%
*~(
:r2Zps�
z}�*2{�o�
*2{�o�
*2{�o�
*r(
}�}�}�*{�*{�*{�*V(
}�}�*{�*{�*(
*0Wi{
}E}F
8${{P9�{{PoC
>{}8T{{{P{o�
{(�sP}{-}8�{X}{{{PoC
?����{{p9�{{pov
>�}8�{{p{ow
}
}8T{
{
oZ{o�
{(�sP}{-}8�{X}{{
oZoC
?����{X}{{{pov
?@���{{`9*{{`o�
>}8�{{`{o�
oY}{9�{o�
}�
YEc8^{o;
}{{`{o�
t-{{(�sP}{-}ݲ{o�
:�����,�{9{o
�{X}{{{`o�
?����{{a9@{{ao�
>*{{ao�
o�
}�
YEF8�|(�
}{oW}{9�{o�
}�
YES8N{o;
}{t-{{(�sP}{-}�d{o�
:�����,�{9{o
�|(�
: ����,�|��o
�}**(4���t@�6{*{*0�0{
}}EYYY&8T�{9{o
�83�{9{o
��|��o
�*(49UZU!vs
z(2*0(�|�(
�3*s+
{}*($
*v{�:s7}�{�*v{�:s`}�{�*v{�:s�}�{�*v{�:s@}�{�*v{�:s�}�{�*0D{�:2o6
(�}�{�:rCpo%
(>
s?
z{�*(F
*s�
zR(<
(]o%*(r*:(r(v*V(r}�}�*{�*>}�}�*0P{�(:
98(d
( 
9Ѝ(

o�
}�8(V
}�{�*�(y:(j( 
:**(y*{�*"}�*r{�9{�8~!
*"}�*0B�:
(g�*o�9*(g
;;8	o�***0�(l
~!
(j
	( 
:�(f	(�
o�(h:( 
9	(s(
8Po;
�:%(H
�%o<
�%/�P�%o=
�%/�P�%	�(>
on
8D(u%( 
:'o�9(w8(�8r8Zps?
z*
*F(f({(:
*�(jo7
>(j8(u*(�
*:(�
}�*{�*r(�
}�}�}�*{�*{�*{�*(
*:(
}�*{�*"}�*r{�9{�8~!
*"}�*(�*(�
*:(�
}�*{�*($
*0 4oR
r�\poS

:*��*^oR
r�\p��oT
*0$4oR
r�\poS

: `�*�;*^oR
r�\p�;oT
*(F
*s�
z0D{�:2o6
(�}�{�:rCpo%
(>
s?
z{�*0*�{�
|�(�
t(%+
@���*0*�{�
|�(�
t(%+
@���*0�s5
} %�}#*0�s=
%�}'*R(G
(�o&+*f{�9
{�o�
*2~2
o�*0`o6
oZ
o*
o�
r�\po�
(r�\po�
o&
o'
Lo@
(A
o?
(�o*"o�*o�*o�*(
*0�0{#
}#E�8�r�\p{ o&
s�}{r�p{ (���o�{r�\p{ (��;o�{r�\p{ o*
o�{}!{"-}#8	}#**{!*{!*>}"}#*s
z(<*0(�|#�(
�3*s5
{ } *(
*0m0{'
}'EF8Hr]p~!
sc}${$ot{$}%{&-}'8	}'**{%*{%*>}&}'*s
z(D*j|'�(
�3*s=*:}�($
*0@�o�

{�@{�9{�*}�(�}�{�*{�*"}�*{�*"}�*�{�:"o�}�o-
t�{�o�{�*(-
*{�*{�*"}�*�(�9{�:(�+*0D{�:2o6
(�}�{�:rCpo%
(>
s?
z{�*z{�:s�}�{�*0h�{�9{�o�
:*{�o
8o

o�9�o�
:����
9o
�**).W
{�*"}�*{�*"}�*s$
*s�*�{�9 {�o�
9(�o�:*{�o�*0G(<
(�o(�9(�o(�9(�(�o�
*:(>
o�*�(G
(�:!(�:r�^po%
(>
s?
z*"(|
*�o&
o'
(�:
o@
8Lo@
o

o?
*0+�}�8u�
9*o�
:��*0��(�(�9�u�
:o
u�
:(�9o�
:rm_ps?
z(�o0s�

	s�
s�
(

o
(�9o�9	o
oz
8(�	o�(��8(

*]h�"}�*�(�:r�_po%
r7`p(0
s?
z}�*"(
*"(0
*(�z(�z(�z(�z(�z�r3]p(�
o%
r�]p(0
s?
*:(
}�*{�*(
*�(
(�o�{�9:*o�*"(
*V(
(�o�*07({�9*
8(	
o�X
(�
?��}�*($
*�oR
r�`poS
t<%:&~!
*JoR
r�`poT
*0$4oR
r�`poS

: �*�;*^oR
r�`p�;oT
*0 4oR
r�`poS

:*��*^oR
r�`p��oT
*{�*"}�*0D{�:2o6
(�}�{�:rCpo%
(>
s?
z{�*0�sE
}*%�}-*0�sM
%�}0*0S�(G
(�o'+{�:r�`po%
(>
s?
zs$

{�o�
o-
o0
*0g(�9r�\po�
8r�apo�
(r�\po�
o&
o'
o@
(A
o?
(�o*o�*o�*(
*0,�{-
}-E8{*(�( 
9}(8N{*{*(�o8
u�: r�ap{*(�r�ap(0
s?
zo&
}(rbp{*o&
s�}){)r2bp{(o�{)rbbp{*(��;o�{)r|bp{*(���o�{)}+{,-}-8	}-**{+*{+*>},}-*s
z(L*0(�|-�(
�3*sE
{*}**(
*f{0}0:8*{.*{.**s
z(T*j|0�(
�3*sM*�`//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjax.js
// Microsoft AJAX Framework.
 
Function.__typeName = 'Function';
Function.__class = true;
Function.createCallback = function Function$createCallback(method, context) {
    /// <summary locid="M:J#Function.createCallback" />
    /// <param name="method" type="Function"></param>
    /// <param name="context" mayBeNull="true"></param>
    /// <returns type="Function"></returns>
    var e = Function._validateParams(arguments, [
        {name: "method", type: Function},
        {name: "context", mayBeNull: true}
    ]);
    if (e) throw e;
    return function() {
        var l = arguments.length;
        if (l > 0) {
            var args = [];
            for (var i = 0; i < l; i++) {
                args[i] = arguments[i];
            }
            args[l] = context;
            return method.apply(this, args);
        }
        return method.call(this, context);
    }
}
Function.createDelegate = function Function$createDelegate(instance, method) {
    /// <summary locid="M:J#Function.createDelegate" />
    /// <param name="instance" mayBeNull="true"></param>
    /// <param name="method" type="Function"></param>
    /// <returns type="Function"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true},
        {name: "method", type: Function}
    ]);
    if (e) throw e;
    return function() {
        return method.apply(instance, arguments);
    }
}
Function.emptyFunction = Function.emptyMethod = function Function$emptyMethod() {
    /// <summary locid="M:J#Function.emptyMethod" />
    if (arguments.length !== 0) throw Error.parameterCount();
}
Function._validateParams = function Function$_validateParams(params, expectedParams) {
    var e;
    e = Function._validateParameterCount(params, expectedParams);
    if (e) {
        e.popStackFrame();
        return e;
    }
    for (var i=0; i < params.length; i++) {
        var expectedParam = expectedParams[Math.min(i, expectedParams.length - 1)];
        var paramName = expectedParam.name;
        if (expectedParam.parameterArray) {
            paramName += "[" + (i - expectedParams.length + 1) + "]";
        }
        e = Function._validateParameter(params[i], expectedParam, paramName);
        if (e) {
            e.popStackFrame();
            return e;
        }
    }
    return null;
}
Function._validateParameterCount = function Function$_validateParameterCount(params, expectedParams) {
    var maxParams = expectedParams.length;
    var minParams = 0;
    for (var i=0; i < expectedParams.length; i++) {
        if (expectedParams[i].parameterArray) {
            maxParams = Number.MAX_VALUE;
        }
        else if (!expectedParams[i].optional) {
            minParams++;
        }
    }
    if (params.length < minParams || params.length > maxParams) {
        var e = Error.parameterCount();
        e.popStackFrame();
        return e;
    }
    return null;
}
Function._validateParameter = function Function$_validateParameter(param, expectedParam, paramName) {
    var e;
    var expectedType = expectedParam.type;
    var expectedInteger = !!expectedParam.integer;
    var expectedDomElement = !!expectedParam.domElement;
    var mayBeNull = !!expectedParam.mayBeNull;
    e = Function._validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName);
    if (e) {
        e.popStackFrame();
        return e;
    }
    var expectedElementType = expectedParam.elementType;
    var elementMayBeNull = !!expectedParam.elementMayBeNull;
    if (expectedType === Array && typeof(param) !== "undefined" && param !== null &&
        (expectedElementType || !elementMayBeNull)) {
        var expectedElementInteger = !!expectedParam.elementInteger;
        var expectedElementDomElement = !!expectedParam.elementDomElement;
        for (var i=0; i < param.length; i++) {
            var elem = param[i];
            e = Function._validateParameterType(elem, expectedElementType,
                expectedElementInteger, expectedElementDomElement, elementMayBeNull,
                paramName + "[" + i + "]");
            if (e) {
                e.popStackFrame();
                return e;
            }
        }
    }
    return null;
}
Function._validateParameterType = function Function$_validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName) {
    var e;
    if (typeof(param) === "undefined") {
        if (mayBeNull) {
            return null;
        }
        else {
            e = Error.argumentUndefined(paramName);
            e.popStackFrame();
            return e;
        }
    }
    if (param === null) {
        if (mayBeNull) {
            return null;
        }
        else {
            e = Error.argumentNull(paramName);
            e.popStackFrame();
            return e;
        }
    }
    if (expectedType && expectedType.__enum) {
        if (typeof(param) !== 'number') {
            e = Error.argumentType(paramName, Object.getType(param), expectedType);
            e.popStackFrame();
            return e;
        }
        if ((param % 1) === 0) {
            var values = expectedType.prototype;
            if (!expectedType.__flags || (param === 0)) {
                for (var i in values) {
                    if (values[i] === param) return null;
                }
            }
            else {
                var v = param;
                for (var i in values) {
                    var vali = values[i];
                    if (vali === 0) continue;
                    if ((vali & param) === vali) {
                        v -= vali;
                    }
                    if (v === 0) return null;
                }
            }
        }
        e = Error.argumentOutOfRange(paramName, param, String.format(Sys.Res.enumInvalidValue, param, expectedType.getName()));
        e.popStackFrame();
        return e;
    }
    if (expectedDomElement) {
        var val;
        if (typeof(param.nodeType) !== 'number') {
            var doc = param.ownerDocument || param.document || param;
            if (doc != param) {
                var w = doc.defaultView || doc.parentWindow;
                val = (w != param) && !(w.document && param.document && (w.document === param.document));
            }
            else {
                val = (typeof(doc.body) === 'undefined');
            }
        }
        else {
            val = (param.nodeType === 3);
        }
        if (val) {
            e = Error.argument(paramName, Sys.Res.argumentDomElement);
            e.popStackFrame();
            return e;
        }
    }
    if (expectedType && !expectedType.isInstanceOfType(param)) {
        e = Error.argumentType(paramName, Object.getType(param), expectedType);
        e.popStackFrame();
        return e;
    }
    if (expectedType === Number && expectedInteger) {
        if ((param % 1) !== 0) {
            e = Error.argumentOutOfRange(paramName, param, Sys.Res.argumentInteger);
            e.popStackFrame();
            return e;
        }
    }
    return null;
}
 
Error.__typeName = 'Error';
Error.__class = true;
Error.create = function Error$create(message, errorInfo) {
    /// <summary locid="M:J#Error.create" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="errorInfo" optional="true" mayBeNull="true"></param>
    /// <returns type="Error"></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true},
        {name: "errorInfo", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var e = new Error(message);
    e.message = message;
    if (errorInfo) {
        for (var v in errorInfo) {
            e[v] = errorInfo[v];
        }
    }
    e.popStackFrame();
    return e;
}
Error.argument = function Error$argument(paramName, message) {
    /// <summary locid="M:J#Error.argument" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.ArgumentException: " + (message ? message : Sys.Res.argument);
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    var e = Error.create(displayMessage, { name: "Sys.ArgumentException", paramName: paramName });
    e.popStackFrame();
    return e;
}
Error.argumentNull = function Error$argumentNull(paramName, message) {
    /// <summary locid="M:J#Error.argumentNull" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.ArgumentNullException: " + (message ? message : Sys.Res.argumentNull);
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    var e = Error.create(displayMessage, { name: "Sys.ArgumentNullException", paramName: paramName });
    e.popStackFrame();
    return e;
}
Error.argumentOutOfRange = function Error$argumentOutOfRange(paramName, actualValue, message) {
    /// <summary locid="M:J#Error.argumentOutOfRange" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="actualValue" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: true},
        {name: "actualValue", mayBeNull: true, optional: true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.ArgumentOutOfRangeException: " + (message ? message : Sys.Res.argumentOutOfRange);
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    if (typeof(actualValue) !== "undefined" && actualValue !== null) {
        displayMessage += "\n" + String.format(Sys.Res.actualValue, actualValue);
    }
    var e = Error.create(displayMessage, {
        name: "Sys.ArgumentOutOfRangeException",
        paramName: paramName,
        actualValue: actualValue
    });
    e.popStackFrame();
    return e;
}
Error.argumentType = function Error$argumentType(paramName, actualType, expectedType, message) {
    /// <summary locid="M:J#Error.argumentType" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="actualType" type="Type" optional="true" mayBeNull="true"></param>
    /// <param name="expectedType" type="Type" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: true},
        {name: "actualType", type: Type, mayBeNull: true, optional: true},
        {name: "expectedType", type: Type, mayBeNull: true, optional: true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.ArgumentTypeException: ";
    if (message) {
        displayMessage += message;
    }
    else if (actualType && expectedType) {
        displayMessage +=
            String.format(Sys.Res.argumentTypeWithTypes, actualType.getName(), expectedType.getName());
    }
    else {
        displayMessage += Sys.Res.argumentType;
    }
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    var e = Error.create(displayMessage, {
        name: "Sys.ArgumentTypeException",
        paramName: paramName,
        actualType: actualType,
        expectedType: expectedType
    });
    e.popStackFrame();
    return e;
}
Error.argumentUndefined = function Error$argumentUndefined(paramName, message) {
    /// <summary locid="M:J#Error.argumentUndefined" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.ArgumentUndefinedException: " + (message ? message : Sys.Res.argumentUndefined);
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    var e = Error.create(displayMessage, { name: "Sys.ArgumentUndefinedException", paramName: paramName });
    e.popStackFrame();
    return e;
}
Error.format = function Error$format(message) {
    /// <summary locid="M:J#Error.format" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.FormatException: " + (message ? message : Sys.Res.format);
    var e = Error.create(displayMessage, {name: 'Sys.FormatException'});
    e.popStackFrame();
    return e;
}
Error.invalidOperation = function Error$invalidOperation(message) {
    /// <summary locid="M:J#Error.invalidOperation" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.InvalidOperationException: " + (message ? message : Sys.Res.invalidOperation);
    var e = Error.create(displayMessage, {name: 'Sys.InvalidOperationException'});
    e.popStackFrame();
    return e;
}
Error.notImplemented = function Error$notImplemented(message) {
    /// <summary locid="M:J#Error.notImplemented" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.NotImplementedException: " + (message ? message : Sys.Res.notImplemented);
    var e = Error.create(displayMessage, {name: 'Sys.NotImplementedException'});
    e.popStackFrame();
    return e;
}
Error.parameterCount = function Error$parameterCount(message) {
    /// <summary locid="M:J#Error.parameterCount" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.ParameterCountException: " + (message ? message : Sys.Res.parameterCount);
    var e = Error.create(displayMessage, {name: 'Sys.ParameterCountException'});
    e.popStackFrame();
    return e;
}
Error.prototype.popStackFrame = function Error$popStackFrame() {
    /// <summary locid="M:J#checkParam" />
    if (arguments.length !== 0) throw Error.parameterCount();
    if (typeof(this.stack) === "undefined" || this.stack === null ||
        typeof(this.fileName) === "undefined" || this.fileName === null ||
        typeof(this.lineNumber) === "undefined" || this.lineNumber === null) {
        return;
    }
    var stackFrames = this.stack.split("\n");
    var currentFrame = stackFrames[0];
    var pattern = this.fileName + ":" + this.lineNumber;
    while(typeof(currentFrame) !== "undefined" &&
          currentFrame !== null &&
          currentFrame.indexOf(pattern) === -1) {
        stackFrames.shift();
        currentFrame = stackFrames[0];
    }
    var nextFrame = stackFrames[1];
    if (typeof(nextFrame) === "undefined" || nextFrame === null) {
        return;
    }
    var nextFrameParts = nextFrame.match(/@(.*):(\d+)$/);
    if (typeof(nextFrameParts) === "undefined" || nextFrameParts === null) {
        return;
    }
    this.fileName = nextFrameParts[1];
    this.lineNumber = parseInt(nextFrameParts[2]);
    stackFrames.shift();
    this.stack = stackFrames.join("\n");
}
 
Object.__typeName = 'Object';
Object.__class = true;
Object.getType = function Object$getType(instance) {
    /// <summary locid="M:J#Object.getType" />
    /// <param name="instance"></param>
    /// <returns type="Type"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;
    var ctor = instance.constructor;
    if (!ctor || (typeof(ctor) !== "function") || !ctor.__typeName || (ctor.__typeName === 'Object')) {
        return Object;
    }
    return ctor;
}
Object.getTypeName = function Object$getTypeName(instance) {
    /// <summary locid="M:J#Object.getTypeName" />
    /// <param name="instance"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;
    return Object.getType(instance).getName();
}
 
String.__typeName = 'String';
String.__class = true;
String.prototype.endsWith = function String$endsWith(suffix) {
    /// <summary locid="M:J#String.endsWith" />
    /// <param name="suffix" type="String"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "suffix", type: String}
    ]);
    if (e) throw e;
    return (this.substr(this.length - suffix.length) === suffix);
}
String.prototype.startsWith = function String$startsWith(prefix) {
    /// <summary locid="M:J#String.startsWith" />
    /// <param name="prefix" type="String"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "prefix", type: String}
    ]);
    if (e) throw e;
    return (this.substr(0, prefix.length) === prefix);
}
String.prototype.trim = function String$trim() {
    /// <summary locid="M:J#String.trim" />
    /// <returns type="String"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return this.replace(/^\s+|\s+$/g, '');
}
String.prototype.trimEnd = function String$trimEnd() {
    /// <summary locid="M:J#String.trimEnd" />
    /// <returns type="String"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return this.replace(/\s+$/, '');
}
String.prototype.trimStart = function String$trimStart() {
    /// <summary locid="M:J#String.trimStart" />
    /// <returns type="String"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return this.replace(/^\s+/, '');
}
String.format = function String$format(format, args) {
    /// <summary locid="M:J#String.format" />
    /// <param name="format" type="String"></param>
    /// <param name="args" parameterArray="true" mayBeNull="true"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;
    return String._toFormattedString(false, arguments);
}
String.localeFormat = function String$localeFormat(format, args) {
    /// <summary locid="M:J#String.localeFormat" />
    /// <param name="format" type="String"></param>
    /// <param name="args" parameterArray="true" mayBeNull="true"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;
    return String._toFormattedString(true, arguments);
}
String._toFormattedString = function String$_toFormattedString(useLocale, args) {
    var result = '';
    var format = args[0];
    for (var i=0;;) {
        var open = format.indexOf('{', i);
        var close = format.indexOf('}', i);
        if ((open < 0) && (close < 0)) {
            result += format.slice(i);
            break;
        }
        if ((close > 0) && ((close < open) || (open < 0))) {
            if (format.charAt(close + 1) !== '}') {
                throw Error.argument('format', Sys.Res.stringFormatBraceMismatch);
            }
            result += format.slice(i, close + 1);
            i = close + 2;
            continue;
        }
        result += format.slice(i, open);
        i = open + 1;
        if (format.charAt(i) === '{') {
            result += '{';
            i++;
            continue;
        }
        if (close < 0) throw Error.argument('format', Sys.Res.stringFormatBraceMismatch);
        var brace = format.substring(i, close);
        var colonIndex = brace.indexOf(':');
        var argNumber = parseInt((colonIndex < 0)? brace : brace.substring(0, colonIndex), 10) + 1;
        if (isNaN(argNumber)) throw Error.argument('format', Sys.Res.stringFormatInvalid);
        var argFormat = (colonIndex < 0)? '' : brace.substring(colonIndex + 1);
        var arg = args[argNumber];
        if (typeof(arg) === "undefined" || arg === null) {
            arg = '';
        }
        if (arg.toFormattedString) {
            result += arg.toFormattedString(argFormat);
        }
        else if (useLocale && arg.localeFormat) {
            result += arg.localeFormat(argFormat);
        }
        else if (arg.format) {
            result += arg.format(argFormat);
        }
        else
            result += arg.toString();
        i = close + 1;
    }
    return result;
}
 
Boolean.__typeName = 'Boolean';
Boolean.__class = true;
Boolean.parse = function Boolean$parse(value) {
    /// <summary locid="M:J#Boolean.parse" />
    /// <param name="value" type="String"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    var v = value.trim().toLowerCase();
    if (v === 'false') return false;
    if (v === 'true') return true;
    throw Error.argumentOutOfRange('value', value, Sys.Res.boolTrueOrFalse);
}
 
Date.__typeName = 'Date';
Date.__class = true;
Date._appendPreOrPostMatch = function Date$_appendPreOrPostMatch(preMatch, strBuilder) {
    var quoteCount = 0;
    var escaped = false;
    for (var i = 0, il = preMatch.length; i < il; i++) {
        var c = preMatch.charAt(i);
        switch (c) {
        case '\'':
            if (escaped) strBuilder.append("'");
            else quoteCount++;
            escaped = false;
            break;
        case '\\':
            if (escaped) strBuilder.append("\\");
            escaped = !escaped;
            break;
        default:
            strBuilder.append(c);
            escaped = false;
            break;
        }
    }
    return quoteCount;
}
Date._expandFormat = function Date$_expandFormat(dtf, format) {
    if (!format) {
        format = "F";
    }
    if (format.length === 1) {
        switch (format) {
        case "d":
            return dtf.ShortDatePattern;
        case "D":
            return dtf.LongDatePattern;
        case "t":
            return dtf.ShortTimePattern;
        case "T":
            return dtf.LongTimePattern;
        case "F":
            return dtf.FullDateTimePattern;
        case "M": case "m":
            return dtf.MonthDayPattern;
        case "s":
            return dtf.SortableDateTimePattern;
        case "Y": case "y":
            return dtf.YearMonthPattern;
        default:
            throw Error.format(Sys.Res.formatInvalidString);
        }
    }
    return format;
}
Date._expandYear = function Date$_expandYear(dtf, year) {
    if (year < 100) {
        var curr = new Date().getFullYear();
        year += curr - (curr % 100);
        if (year > dtf.Calendar.TwoDigitYearMax) {
            return year - 100;
        }
    }
    return year;
}
Date._getParseRegExp = function Date$_getParseRegExp(dtf, format) {
    if (!dtf._parseRegExp) {
        dtf._parseRegExp = {};
    }
    else if (dtf._parseRegExp[format]) {
        return dtf._parseRegExp[format];
    }
    var expFormat = Date._expandFormat(dtf, format);
    expFormat = expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1");
    var regexp = new Sys.StringBuilder("^");
    var groups = [];
    var index = 0;
    var quoteCount = 0;
    var tokenRegExp = Date._getTokenRegExp();
    var match;
    while ((match = tokenRegExp.exec(expFormat)) !== null) {
        var preMatch = expFormat.slice(index, match.index);
        index = tokenRegExp.lastIndex;
        quoteCount += Date._appendPreOrPostMatch(preMatch, regexp);
        if ((quoteCount%2) === 1) {
            regexp.append(match[0]);
            continue;
        }
        switch (match[0]) {
            case 'dddd': case 'ddd':
            case 'MMMM': case 'MMM':
                regexp.append("(\\D+)");
                break;
            case 'tt': case 't':
                regexp.append("(\\D*)");
                break;
            case 'yyyy':
                regexp.append("(\\d{4})");
                break;
            case 'fff':
                regexp.append("(\\d{3})");
                break;
            case 'ff':
                regexp.append("(\\d{2})");
                break;
            case 'f':
                regexp.append("(\\d)");
                break;
            case 'dd': case 'd':
            case 'MM': case 'M':
            case 'yy': case 'y':
            case 'HH': case 'H':
            case 'hh': case 'h':
            case 'mm': case 'm':
            case 'ss': case 's':
                regexp.append("(\\d\\d?)");
                break;
            case 'zzz':
                regexp.append("([+-]?\\d\\d?:\\d{2})");
                break;
            case 'zz': case 'z':
                regexp.append("([+-]?\\d\\d?)");
                break;
        }
        Array.add(groups, match[0]);
    }
    Date._appendPreOrPostMatch(expFormat.slice(index), regexp);
    regexp.append("$");
    var regexpStr = regexp.toString().replace(/\s+/g, "\\s+");
    var parseRegExp = {'regExp': regexpStr, 'groups': groups};
    dtf._parseRegExp[format] = parseRegExp;
    return parseRegExp;
}
Date._getTokenRegExp = function Date$_getTokenRegExp() {
    return /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g;
}
Date.parseLocale = function Date$parseLocale(value, formats) {
    /// <summary locid="M:J#Date.parseLocale" />
    /// <param name="value" type="String"></param>
    /// <param name="formats" parameterArray="true" optional="true" mayBeNull="true"></param>
    /// <returns type="Date"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, parameterArray: true}
    ]);
    if (e) throw e;
    return Date._parse(value, Sys.CultureInfo.CurrentCulture, arguments);
}
Date.parseInvariant = function Date$parseInvariant(value, formats) {
    /// <summary locid="M:J#Date.parseInvariant" />
    /// <param name="value" type="String"></param>
    /// <param name="formats" parameterArray="true" optional="true" mayBeNull="true"></param>
    /// <returns type="Date"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, parameterArray: true}
    ]);
    if (e) throw e;
    return Date._parse(value, Sys.CultureInfo.InvariantCulture, arguments);
}
Date._parse = function Date$_parse(value, cultureInfo, args) {
    var custom = false;
    for (var i = 1, il = args.length; i < il; i++) {
        var format = args[i];
        if (format) {
            custom = true;
            var date = Date._parseExact(value, format, cultureInfo);
            if (date) return date;
        }
    }
    if (! custom) {
        var formats = cultureInfo._getDateTimeFormats();
        for (var i = 0, il = formats.length; i < il; i++) {
            var date = Date._parseExact(value, formats[i], cultureInfo);
            if (date) return date;
        }
    }
    return null;
}
Date._parseExact = function Date$_parseExact(value, format, cultureInfo) {
    value = value.trim();
    var dtf = cultureInfo.dateTimeFormat;
    var parseInfo = Date._getParseRegExp(dtf, format);
    var match = new RegExp(parseInfo.regExp).exec(value);
    if (match === null) return null;
    
    var groups = parseInfo.groups;
    var year = null, month = null, date = null, weekDay = null;
    var hour = 0, min = 0, sec = 0, msec = 0, tzMinOffset = null;
    var pmHour = false;
    for (var j = 0, jl = groups.length; j < jl; j++) {
        var matchGroup = match[j+1];
        if (matchGroup) {
            switch (groups[j]) {
                case 'dd': case 'd':
                    date = parseInt(matchGroup, 10);
                    if ((date < 1) || (date > 31)) return null;
                    break;
                case 'MMMM':
                    month = cultureInfo._getMonthIndex(matchGroup);
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'MMM':
                    month = cultureInfo._getAbbrMonthIndex(matchGroup);
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'M': case 'MM':
                    var month = parseInt(matchGroup, 10) - 1;
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'y': case 'yy':
                    year = Date._expandYear(dtf,parseInt(matchGroup, 10));
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'yyyy':
                    year = parseInt(matchGroup, 10);
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'h': case 'hh':
                    hour = parseInt(matchGroup, 10);
                    if (hour === 12) hour = 0;
                    if ((hour < 0) || (hour > 11)) return null;
                    break;
                case 'H': case 'HH':
                    hour = parseInt(matchGroup, 10);
                    if ((hour < 0) || (hour > 23)) return null;
                    break;
                case 'm': case 'mm':
                    min = parseInt(matchGroup, 10);
                    if ((min < 0) || (min > 59)) return null;
                    break;
                case 's': case 'ss':
                    sec = parseInt(matchGroup, 10);
                    if ((sec < 0) || (sec > 59)) return null;
                    break;
                case 'tt': case 't':
                    var upperToken = matchGroup.toUpperCase();
                    pmHour = (upperToken === dtf.PMDesignator.toUpperCase());
                    if (!pmHour && (upperToken !== dtf.AMDesignator.toUpperCase())) return null;
                    break;
                case 'f':
                    msec = parseInt(matchGroup, 10) * 100;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'ff':
                    msec = parseInt(matchGroup, 10) * 10;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'fff':
                    msec = parseInt(matchGroup, 10);
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'dddd':
                    weekDay = cultureInfo._getDayIndex(matchGroup);
                    if ((weekDay < 0) || (weekDay > 6)) return null;
                    break;
                case 'ddd':
                    weekDay = cultureInfo._getAbbrDayIndex(matchGroup);
                    if ((weekDay < 0) || (weekDay > 6)) return null;
                    break;
                case 'zzz':
                    var offsets = matchGroup.split(/:/);
                    if (offsets.length !== 2) return null;
                    var hourOffset = parseInt(offsets[0], 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return null;
                    var minOffset = parseInt(offsets[1], 10);
                    if ((minOffset < 0) || (minOffset > 59)) return null;
                    tzMinOffset = (hourOffset * 60) + (matchGroup.startsWith('-')? -minOffset : minOffset);
                    break;
                case 'z': case 'zz':
                    var hourOffset = parseInt(matchGroup, 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return null;
                    tzMinOffset = hourOffset * 60;
                    break;
            }
        }
    }
    var result = new Date();
    if (year === null) {
        year = result.getFullYear();
    }
    if (month === null) {
        month = result.getMonth();
    }
    if (date === null) {
        date = result.getDate();
    }
    result.setFullYear(year, month, date);
    if (result.getDate() !== date) return null;
    if ((weekDay !== null) && (result.getDay() !== weekDay)) {
        return null;
    }
    if (pmHour && (hour < 12)) {
        hour += 12;
    }
    result.setHours(hour, min, sec, msec);
    if (tzMinOffset !== null) {
        var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset());
        result.setHours(result.getHours() + parseInt(adjustedMin/60, 10), adjustedMin%60);
    }
    return result;
}
Date.prototype.format = function Date$format(format) {
    /// <summary locid="M:J#Date.format" />
    /// <param name="format" type="String"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture);
}
Date.prototype.localeFormat = function Date$localeFormat(format) {
    /// <summary locid="M:J#Date.localeFormat" />
    /// <param name="format" type="String"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture);
}
Date.prototype._toFormattedString = function Date$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length === 0) || (format === 'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }
    var dtf = cultureInfo.dateTimeFormat;
    format = Date._expandFormat(dtf, format);
    var ret = new Sys.StringBuilder();
    var hour;
    function addLeadingZero(num) {
        if (num < 10) {
            return '0' + num;
        }
        return num.toString();
    }
    function addLeadingZeros(num) {
        if (num < 10) {
            return '00' + num;
        }
        if (num < 100) {
            return '0' + num;
        }
        return num.toString();
    }
    var quoteCount = 0;
    var tokenRegExp = Date._getTokenRegExp();
    for (;;) {
        var index = tokenRegExp.lastIndex;
        var ar = tokenRegExp.exec(format);
        var preMatch = format.slice(index, ar ? ar.index : format.length);
        quoteCount += Date._appendPreOrPostMatch(preMatch, ret);
        if (!ar) break;
        if ((quoteCount%2) === 1) {
            ret.append(ar[0]);
            continue;
        }
        switch (ar[0]) {
        case "dddd":
            ret.append(dtf.DayNames[this.getDay()]);
            break;
        case "ddd":
            ret.append(dtf.AbbreviatedDayNames[this.getDay()]);
            break;
        case "dd":
            ret.append(addLeadingZero(this.getDate()));
            break;
        case "d":
            ret.append(this.getDate());
            break;
        case "MMMM":
            ret.append(dtf.MonthNames[this.getMonth()]);
            break;
        case "MMM":
            ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);
            break;
        case "MM":
            ret.append(addLeadingZero(this.getMonth() + 1));
            break;
        case "M":
            ret.append(this.getMonth() + 1);
            break;
        case "yyyy":
            ret.append(this.getFullYear());
            break;
        case "yy":
            ret.append(addLeadingZero(this.getFullYear() % 100));
            break;
        case "y":
            ret.append(this.getFullYear() % 100);
            break;
        case "hh":
            hour = this.getHours() % 12;
            if (hour === 0) hour = 12;
            ret.append(addLeadingZero(hour));
            break;
        case "h":
            hour = this.getHours() % 12;
            if (hour === 0) hour = 12;
            ret.append(hour);
            break;
        case "HH":
            ret.append(addLeadingZero(this.getHours()));
            break;
        case "H":
            ret.append(this.getHours());
            break;
        case "mm":
            ret.append(addLeadingZero(this.getMinutes()));
            break;
        case "m":
            ret.append(this.getMinutes());
            break;
        case "ss":
            ret.append(addLeadingZero(this.getSeconds()));
            break;
        case "s":
            ret.append(this.getSeconds());
            break;
        case "tt":
            ret.append((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator);
            break;
        case "t":
            ret.append(((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator).charAt(0));
            break;
        case "f":
            ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));
            break;
        case "ff":
            ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, 2));
            break;
        case "fff":
            ret.append(addLeadingZeros(this.getMilliseconds()));
            break;
        case "z":
            hour = this.getTimezoneOffset() / 60;
            ret.append(((hour <= 0) ? '+' : '-') + Math.floor(Math.abs(hour)));
            break;
        case "zz":
            hour = this.getTimezoneOffset() / 60;
            ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))));
            break;
        case "zzz":
            hour = this.getTimezoneOffset() / 60;
            ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))) +
                dtf.TimeSeparator + addLeadingZero(Math.abs(this.getTimezoneOffset() % 60)));
            break;
        }
    }
    return ret.toString();
}
 
Number.__typeName = 'Number';
Number.__class = true;
Number.parseLocale = function Number$parseLocale(value) {
    /// <summary locid="M:J#Number.parseLocale" />
    /// <param name="value" type="String"></param>
    /// <returns type="Number"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    return Number._parse(value, Sys.CultureInfo.CurrentCulture);
}
Number.parseInvariant = function Number$parseInvariant(value) {
    /// <summary locid="M:J#Number.parseInvariant" />
    /// <param name="value" type="String"></param>
    /// <returns type="Number"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    return Number._parse(value, Sys.CultureInfo.InvariantCulture);
}
Number._parse = function Number$_parse(value, cultureInfo) {
    value = value.trim();
    
    if (value.match(/^[+-]?infinity$/i)) {
        return parseFloat(value);
    }
    if (value.match(/^0x[a-f0-9]+$/i)) {
        return parseInt(value);
    }
    var numFormat = cultureInfo.numberFormat;
    var signInfo = Number._parseNumberNegativePattern(value, numFormat, numFormat.NumberNegativePattern);
    var sign = signInfo[0];
    var num = signInfo[1];
    
    if ((sign === '') && (numFormat.NumberNegativePattern !== 1)) {
        signInfo = Number._parseNumberNegativePattern(value, numFormat, 1);
        sign = signInfo[0];
        num = signInfo[1];
    }
    if (sign === '') sign = '+';
    
    var exponent;
    var intAndFraction;
    var exponentPos = num.indexOf('e');
    if (exponentPos < 0) exponentPos = num.indexOf('E');
    if (exponentPos < 0) {
        intAndFraction = num;
        exponent = null;
    }
    else {
        intAndFraction = num.substr(0, exponentPos);
        exponent = num.substr(exponentPos + 1);
    }
    
    var integer;
    var fraction;
    var decimalPos = intAndFraction.indexOf(numFormat.NumberDecimalSeparator);
    if (decimalPos < 0) {
        integer = intAndFraction;
        fraction = null;
    }
    else {
        integer = intAndFraction.substr(0, decimalPos);
        fraction = intAndFraction.substr(decimalPos + numFormat.NumberDecimalSeparator.length);
    }
    
    integer = integer.split(numFormat.NumberGroupSeparator).join('');
    
    var p = sign + integer;
    if (fraction !== null) {
        p += '.' + fraction;
    }
    if (exponent !== null) {
        var expSignInfo = Number._parseNumberNegativePattern(exponent, numFormat, 1);
        if (expSignInfo[0] === '') {
            expSignInfo[0] = '+';
        }
        p += 'e' + expSignInfo[0] + expSignInfo[1];
    }
    if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) {
        return parseFloat(p);
    }
    return Number.NaN;
}
Number._parseNumberNegativePattern = function Number$_parseNumberNegativePattern(value, numFormat, numberNegativePattern) {
    var neg = numFormat.NegativeSign;
    var pos = numFormat.PositiveSign;    
    switch (numberNegativePattern) {
        case 4: 
            neg = ' ' + neg;
            pos = ' ' + pos;
        case 3: 
            if (value.endsWith(neg)) {
                return ['-', value.substr(0, value.length - neg.length)];
            }
            else if (value.endsWith(pos)) {
                return ['+', value.substr(0, value.length - pos.length)];
            }
            break;
        case 2: 
            neg += ' ';
            pos += ' ';
        case 1: 
            if (value.startsWith(neg)) {
                return ['-', value.substr(neg.length)];
            }
            else if (value.startsWith(pos)) {
                return ['+', value.substr(pos.length)];
            }
            break;
        case 0: 
            if (value.startsWith('(') && value.endsWith(')')) {
                return ['-', value.substr(1, value.length - 2)];
            }
            break;
    }
    return ['', value];
}
Number.prototype.format = function Number$format(format) {
    /// <summary locid="M:J#Number.format" />
    /// <param name="format" type="String"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture);
}
Number.prototype.localeFormat = function Number$localeFormat(format) {
    /// <summary locid="M:J#Number.localeFormat" />
    /// <param name="format" type="String"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture);
}
Number.prototype._toFormattedString = function Number$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length === 0) || (format === 'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }
    var _percentPositivePattern = ["n %", "n%", "%n" ];
    var _percentNegativePattern = ["-n %", "-n%", "-%n"];
    var _numberNegativePattern = ["(n)","-n","- n","n-","n -"];
    var _currencyPositivePattern = ["$n","n$","$ n","n $"];
    var _currencyNegativePattern = ["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];
    function expandNumber(number, precision, groupSizes, sep, decimalChar) {
        
        var curSize = groupSizes[0];
        var curGroupIndex = 1;
        var numberString = number.toString();
        var right = "";
        var exponent = "";
        var decimalSplit = numberString.split('.');
        if (decimalSplit.length > 1) {
            numberString = decimalSplit[0];
            right = decimalSplit[1];
            var exponentSplit = right.split(/e/i);
            if (exponentSplit.length > 1) {
                right = exponentSplit[0];
                exponent = "e" + exponentSplit[1];
            }
        }
        if (precision > 0) {
            var rightDifference = right.length - precision;
            if (rightDifference > 0) {
                right = right.slice(0, precision);
            } else if (rightDifference < 0) {
                for (var i=0; i<Math.abs(rightDifference); i++) {
                    right += '0';
                }
            }
            right = decimalChar + right;
        }
        else { 
            right = "";
        }
        right += exponent;
        var stringIndex = numberString.length-1;
        var ret = "";
        while (stringIndex >= 0) {
            if (curSize === 0 || curSize > stringIndex) {
                if (ret.length > 0)
                    return numberString.slice(0, stringIndex + 1) + sep + ret + right;
                else
                    return numberString.slice(0, stringIndex + 1) + right;
            }
            if (ret.length > 0)
                ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1) + sep + ret;
            else
                ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1);
            stringIndex -= curSize;
            if (curGroupIndex < groupSizes.length) {
                curSize = groupSizes[curGroupIndex];
                curGroupIndex++;
            }
        }
        return numberString.slice(0, stringIndex + 1) + sep + ret + right;
    }
    var nf = cultureInfo.numberFormat;
    var number = Math.abs(this);
    if (!format)
        format = "D";
    var precision = -1;
    if (format.length > 1) precision = parseInt(format.slice(1), 10);
    var pattern;
    switch (format.charAt(0)) {
    case "d":
    case "D":
        pattern = 'n';
        if (precision !== -1) {
            var numberStr = ""+number;
            var zerosToAdd = precision - numberStr.length;
            if (zerosToAdd > 0) {
                for (var i=0; i<zerosToAdd; i++) {
                    numberStr = '0'+numberStr;
                }
            }
            number = numberStr;
        }
        if (this < 0) number = -number;
        break;
    case "c":
    case "C":
        if (this < 0) pattern = _currencyNegativePattern[nf.CurrencyNegativePattern];
        else pattern = _currencyPositivePattern[nf.CurrencyPositivePattern];
        if (precision === -1) precision = nf.CurrencyDecimalDigits;
        number = expandNumber(Math.abs(this), precision, nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, nf.CurrencyDecimalSeparator);
        break;
    case "n":
    case "N":
        if (this < 0) pattern = _numberNegativePattern[nf.NumberNegativePattern];
        else pattern = 'n';
        if (precision === -1) precision = nf.NumberDecimalDigits;
        number = expandNumber(Math.abs(this), precision, nf.NumberGroupSizes, nf.NumberGroupSeparator, nf.NumberDecimalSeparator);
        break;
    case "p":
    case "P":
        if (this < 0) pattern = _percentNegativePattern[nf.PercentNegativePattern];
        else pattern = _percentPositivePattern[nf.PercentPositivePattern];
        if (precision === -1) precision = nf.PercentDecimalDigits;
        number = expandNumber(Math.abs(this), precision, nf.PercentGroupSizes, nf.PercentGroupSeparator, nf.PercentDecimalSeparator);
        break;
    default:
        throw Error.format(Sys.Res.formatBadFormatSpecifier);
    }
    var regex = /n|\$|-|%/g;
    var ret = "";
    for (;;) {
        var index = regex.lastIndex;
        var ar = regex.exec(pattern);
        ret += pattern.slice(index, ar ? ar.index : pattern.length);
        if (!ar)
            break;
        switch (ar[0]) {
        case "n":
            ret += number;
            break;
        case "$":
            ret += nf.CurrencySymbol;
            break;
        case "-":
            ret += nf.NegativeSign;
            break;
        case "%":
            ret += nf.PercentSymbol;
            break;
        }
    }
    return ret;
}
 
RegExp.__typeName = 'RegExp';
RegExp.__class = true;
 
Array.__typeName = 'Array';
Array.__class = true;
Array.add = Array.enqueue = function Array$enqueue(array, item) {
    /// <summary locid="M:J#Array.enqueue" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    array[array.length] = item;
}
Array.addRange = function Array$addRange(array, items) {
    /// <summary locid="M:J#Array.addRange" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="items" type="Array" elementMayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "items", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    array.push.apply(array, items);
}
Array.clear = function Array$clear(array) {
    /// <summary locid="M:J#Array.clear" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    array.length = 0;
}
Array.clone = function Array$clone(array) {
    /// <summary locid="M:J#Array.clone" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <returns type="Array" elementMayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    if (array.length === 1) {
        return [array[0]];
    }
    else {
        return Array.apply(null, array);
    }
}
Array.contains = function Array$contains(array, item) {
    /// <summary locid="M:J#Array.contains" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    return (Array.indexOf(array, item) >= 0);
}
Array.dequeue = function Array$dequeue(array) {
    /// <summary locid="M:J#Array.dequeue" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <returns mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    return array.shift();
}
Array.forEach = function Array$forEach(array, method, instance) {
    /// <summary locid="M:J#Array.forEach" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="method" type="Function"></param>
    /// <param name="instance" optional="true" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "method", type: Function},
        {name: "instance", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    for (var i = 0, l = array.length; i < l; i++) {
        var elt = array[i];
        if (typeof(elt) !== 'undefined') method.call(instance, elt, i, array);
    }
}
Array.indexOf = function Array$indexOf(array, item, start) {
    /// <summary locid="M:J#Array.indexOf" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" optional="true" mayBeNull="true"></param>
    /// <param name="start" optional="true" mayBeNull="true"></param>
    /// <returns type="Number"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true, optional: true},
        {name: "start", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if (typeof(item) === "undefined") return -1;
    var length = array.length;
    if (length !== 0) {
        start = start - 0;
        if (isNaN(start)) {
            start = 0;
        }
        else {
            if (isFinite(start)) {
                start = start - (start % 1);
            }
            if (start < 0) {
                start = Math.max(0, length + start);
            }
        }
        for (var i = start; i < length; i++) {
            if ((typeof(array[i]) !== "undefined") && (array[i] === item)) {
                return i;
            }
        }
    }
    return -1;
}
Array.insert = function Array$insert(array, index, item) {
    /// <summary locid="M:J#Array.insert" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="index" mayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    array.splice(index, 0, item);
}
Array.parse = function Array$parse(value) {
    /// <summary locid="M:J#Array.parse" />
    /// <param name="value" type="String" mayBeNull="true"></param>
    /// <returns type="Array" elementMayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String, mayBeNull: true}
    ]);
    if (e) throw e;
    if (!value) return [];
    var v = eval(value);
    if (!Array.isInstanceOfType(v)) throw Error.argument('value', Sys.Res.arrayParseBadFormat);
    return v;
}
Array.remove = function Array$remove(array, item) {
    /// <summary locid="M:J#Array.remove" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    var index = Array.indexOf(array, item);
    if (index >= 0) {
        array.splice(index, 1);
    }
    return (index >= 0);
}
Array.removeAt = function Array$removeAt(array, index) {
    /// <summary locid="M:J#Array.removeAt" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="index" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true}
    ]);
    if (e) throw e;
    array.splice(index, 1);
}
 
if (!window) this.window = this;
window.Type = Function;
Type.__fullyQualifiedIdentifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i");
Type.__identifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i");
Type.prototype.callBaseMethod = function Type$callBaseMethod(instance, name, baseArguments) {
    /// <summary locid="M:J#Type.callBaseMethod" />
    /// <param name="instance"></param>
    /// <param name="name" type="String"></param>
    /// <param name="baseArguments" type="Array" optional="true" mayBeNull="true" elementMayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true}
    ]);
    if (e) throw e;
    var baseMethod = this.getBaseMethod(instance, name);
    if (!baseMethod) throw Error.invalidOperation(String.format(Sys.Res.methodNotFound, name));
    if (!baseArguments) {
        return baseMethod.apply(instance);
    }
    else {
        return baseMethod.apply(instance, baseArguments);
    }
}
Type.prototype.getBaseMethod = function Type$getBaseMethod(instance, name) {
    /// <summary locid="M:J#Type.getBaseMethod" />
    /// <param name="instance"></param>
    /// <param name="name" type="String"></param>
    /// <returns type="Function" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String}
    ]);
    if (e) throw e;
    if (!this.isInstanceOfType(instance)) throw Error.argumentType('instance', Object.getType(instance), this);
    var baseType = this.getBaseType();
    if (baseType) {
        var baseMethod = baseType.prototype[name];
        return (baseMethod instanceof Function) ? baseMethod : null;
    }
    return null;
}
Type.prototype.getBaseType = function Type$getBaseType() {
    /// <summary locid="M:J#Type.getBaseType" />
    /// <returns type="Type" mayBeNull="true"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return (typeof(this.__baseType) === "undefined") ? null : this.__baseType;
}
Type.prototype.getInterfaces = function Type$getInterfaces() {
    /// <summary locid="M:J#Type.getInterfaces" />
    /// <returns type="Array" elementType="Type" mayBeNull="false" elementMayBeNull="false"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    var result = [];
    var type = this;
    while(type) {
        var interfaces = type.__interfaces;
        if (interfaces) {
            for (var i = 0, l = interfaces.length; i < l; i++) {
                var interfaceType = interfaces[i];
                if (!Array.contains(result, interfaceType)) {
                    result[result.length] = interfaceType;
                }
            }
        }
        type = type.__baseType;
    }
    return result;
}
Type.prototype.getName = function Type$getName() {
    /// <summary locid="M:J#Type.getName" />
    /// <returns type="String"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return (typeof(this.__typeName) === "undefined") ? "" : this.__typeName;
}
Type.prototype.implementsInterface = function Type$implementsInterface(interfaceType) {
    /// <summary locid="M:J#Type.implementsInterface" />
    /// <param name="interfaceType" type="Type"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "interfaceType", type: Type}
    ]);
    if (e) throw e;
    this.resolveInheritance();
    var interfaceName = interfaceType.getName();
    var cache = this.__interfaceCache;
    if (cache) {
        var cacheEntry = cache[interfaceName];
        if (typeof(cacheEntry) !== 'undefined') return cacheEntry;
    }
    else {
        cache = this.__interfaceCache = {};
    }
    var baseType = this;
    while (baseType) {
        var interfaces = baseType.__interfaces;
        if (interfaces) {
            if (Array.indexOf(interfaces, interfaceType) !== -1) {
                return cache[interfaceName] = true;
            }
        }
        baseType = baseType.__baseType;
    }
    return cache[interfaceName] = false;
}
Type.prototype.inheritsFrom = function Type$inheritsFrom(parentType) {
    /// <summary locid="M:J#Type.inheritsFrom" />
    /// <param name="parentType" type="Type"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "parentType", type: Type}
    ]);
    if (e) throw e;
    this.resolveInheritance();
    var baseType = this.__baseType;
    while (baseType) {
        if (baseType === parentType) {
            return true;
        }
        baseType = baseType.__baseType;
    }
    return false;
}
Type.prototype.initializeBase = function Type$initializeBase(instance, baseArguments) {
    /// <summary locid="M:J#Type.initializeBase" />
    /// <param name="instance"></param>
    /// <param name="baseArguments" type="Array" optional="true" mayBeNull="true" elementMayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true}
    ]);
    if (e) throw e;
    if (!this.isInstanceOfType(instance)) throw Error.argumentType('instance', Object.getType(instance), this);
    this.resolveInheritance();
    if (this.__baseType) {
        if (!baseArguments) {
            this.__baseType.apply(instance);
        }
        else {
            this.__baseType.apply(instance, baseArguments);
        }
    }
    return instance;
}
Type.prototype.isImplementedBy = function Type$isImplementedBy(instance) {
    /// <summary locid="M:J#Type.isImplementedBy" />
    /// <param name="instance" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;
    if (typeof(instance) === "undefined" || instance === null) return false;
    var instanceType = Object.getType(instance);
    return !!(instanceType.implementsInterface && instanceType.implementsInterface(this));
}
Type.prototype.isInstanceOfType = function Type$isInstanceOfType(instance) {
    /// <summary locid="M:J#Type.isInstanceOfType" />
    /// <param name="instance" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;
    if (typeof(instance) === "undefined" || instance === null) return false;
    if (instance instanceof this) return true;
    var instanceType = Object.getType(instance);
    return !!(instanceType === this) ||
           (instanceType.inheritsFrom && instanceType.inheritsFrom(this)) ||
           (instanceType.implementsInterface && instanceType.implementsInterface(this));
}
Type.prototype.registerClass = function Type$registerClass(typeName, baseType, interfaceTypes) {
    /// <summary locid="M:J#Type.registerClass" />
    /// <param name="typeName" type="String"></param>
    /// <param name="baseType" type="Type" optional="true" mayBeNull="true"></param>
    /// <param name="interfaceTypes" parameterArray="true" type="Type"></param>
    /// <returns type="Type"></returns>
    var e = Function._validateParams(arguments, [
        {name: "typeName", type: String},
        {name: "baseType", type: Type, mayBeNull: true, optional: true},
        {name: "interfaceTypes", type: Type, parameterArray: true}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName);
    var parsedName;
    try {
        parsedName = eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName);
    if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName));
    if ((arguments.length > 1) && (typeof(baseType) === 'undefined')) throw Error.argumentUndefined('baseType');
    if (baseType && !baseType.__class) throw Error.argument('baseType', Sys.Res.baseNotAClass);
    this.prototype.constructor = this;
    this.__typeName = typeName;
    this.__class = true;
    if (baseType) {
        this.__baseType = baseType;
        this.__basePrototypePending = true;
    }
    Sys.__upperCaseTypes[typeName.toUpperCase()] = this;
    if (interfaceTypes) {
        this.__interfaces = [];
        this.resolveInheritance();
        for (var i = 2, l = arguments.length; i < l; i++) {
            var interfaceType = arguments[i];
            if (!interfaceType.__interface) throw Error.argument('interfaceTypes[' + (i - 2) + ']', Sys.Res.notAnInterface);
            for (var methodName in interfaceType.prototype) {
                var method = interfaceType.prototype[methodName];
                if (!this.prototype[methodName]) {
                    this.prototype[methodName] = method;
                }
            }
            this.__interfaces.push(interfaceType);
        }
    }
    Sys.__registeredTypes[typeName] = true;
    return this;
}
Type.prototype.registerInterface = function Type$registerInterface(typeName) {
    /// <summary locid="M:J#Type.registerInterface" />
    /// <param name="typeName" type="String"></param>
    /// <returns type="Type"></returns>
    var e = Function._validateParams(arguments, [
        {name: "typeName", type: String}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName);
    var parsedName;
    try {
        parsedName = eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName);
    if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName));
    Sys.__upperCaseTypes[typeName.toUpperCase()] = this;
    this.prototype.constructor = this;
    this.__typeName = typeName;
    this.__interface = true;
    Sys.__registeredTypes[typeName] = true;
    return this;
}
Type.prototype.resolveInheritance = function Type$resolveInheritance() {
    /// <summary locid="M:J#Type.resolveInheritance" />
    if (arguments.length !== 0) throw Error.parameterCount();
    if (this.__basePrototypePending) {
        var baseType = this.__baseType;
        baseType.resolveInheritance();
        for (var memberName in baseType.prototype) {
            var memberValue = baseType.prototype[memberName];
            if (!this.prototype[memberName]) {
                this.prototype[memberName] = memberValue;
            }
        }
        delete this.__basePrototypePending;
    }
}
Type.getRootNamespaces = function Type$getRootNamespaces() {
    /// <summary locid="M:J#Type.getRootNamespaces" />
    /// <returns type="Array"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return Array.clone(Sys.__rootNamespaces);
}
Type.isClass = function Type$isClass(type) {
    /// <summary locid="M:J#Type.isClass" />
    /// <param name="type" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) === 'undefined') || (type === null)) return false;
    return !!type.__class;
}
Type.isInterface = function Type$isInterface(type) {
    /// <summary locid="M:J#Type.isInterface" />
    /// <param name="type" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) === 'undefined') || (type === null)) return false;
    return !!type.__interface;
}
Type.isNamespace = function Type$isNamespace(object) {
    /// <summary locid="M:J#Type.isNamespace" />
    /// <param name="object" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(object) === 'undefined') || (object === null)) return false;
    return !!object.__namespace;
}
Type.parse = function Type$parse(typeName, ns) {
    /// <summary locid="M:J#Type.parse" />
    /// <param name="typeName" type="String" mayBeNull="true"></param>
    /// <param name="ns" optional="true" mayBeNull="true"></param>
    /// <returns type="Type" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "typeName", type: String, mayBeNull: true},
        {name: "ns", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var fn;
    if (ns) {
        fn = Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + typeName.toUpperCase()];
        return fn || null;
    }
    if (!typeName) return null;
    if (!Type.__htClasses) {
        Type.__htClasses = {};
    }
    fn = Type.__htClasses[typeName];
    if (!fn) {
        fn = eval(typeName);
        if (typeof(fn) !== 'function') throw Error.argument('typeName', Sys.Res.notATypeName);
        Type.__htClasses[typeName] = fn;
    }
    return fn;
}
Type.registerNamespace = function Type$registerNamespace(namespacePath) {
    /// <summary locid="M:J#Type.registerNamespace" />
    /// <param name="namespacePath" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "namespacePath", type: String}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
    var rootObject = window;
    var namespaceParts = namespacePath.split('.');
    for (var i = 0; i < namespaceParts.length; i++) {
        var currentPart = namespaceParts[i];
        var ns = rootObject[currentPart];
        if (ns && !ns.__namespace) {
            throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject, namespaceParts.splice(0, i + 1).join('.')));
        }
        if (!ns) {
            ns = rootObject[currentPart] = {
                __namespace: true,
                __typeName: namespaceParts.slice(0, i + 1).join('.')
            };
            if (i === 0) {
                Sys.__rootNamespaces[Sys.__rootNamespaces.length] = ns;
            }
            var parsedName;
            try {
                parsedName = eval(ns.__typeName);
            }
            catch(e) {
                parsedName = null;
            }
            if (parsedName !== ns) {
                delete rootObject[currentPart];
                throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
            }
            ns.getName = function ns$getName() {return this.__typeName;}
        }
        rootObject = ns;
    }
}
window.Sys = {
    __namespace: true,
    __typeName: "Sys",
    getName: function() {return "Sys";},
    __upperCaseTypes: {}
};
Sys.__rootNamespaces = [Sys];
Sys.__registeredTypes = {};
 
Sys.IDisposable = function Sys$IDisposable() {
    throw Error.notImplemented();
}
    function Sys$IDisposable$dispose() {
        throw Error.notImplemented();
    }
Sys.IDisposable.prototype = {
    dispose: Sys$IDisposable$dispose
}
Sys.IDisposable.registerInterface('Sys.IDisposable');
 
Sys.StringBuilder = function Sys$StringBuilder(initialText) {
    /// <summary locid="M:J#Sys.StringBuilder.#ctor" />
    /// <param name="initialText" optional="true" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "initialText", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    this._parts = (typeof(initialText) !== 'undefined' && initialText !== null && initialText !== '') ?
        [initialText.toString()] : [];
    this._value = {};
    this._len = 0;
}
    function Sys$StringBuilder$append(text) {
        /// <summary locid="M:J#Sys.StringBuilder.append" />
        /// <param name="text" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "text", mayBeNull: true}
        ]);
        if (e) throw e;
        this._parts[this._parts.length] = text;
    }
    function Sys$StringBuilder$appendLine(text) {
        /// <summary locid="M:J#Sys.StringBuilder.appendLine" />
        /// <param name="text" optional="true" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "text", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        this._parts[this._parts.length] =
            ((typeof(text) === 'undefined') || (text === null) || (text === '')) ?
            '\r\n' : text + '\r\n';
    }
    function Sys$StringBuilder$clear() {
        /// <summary locid="M:J#Sys.StringBuilder.clear" />
        if (arguments.length !== 0) throw Error.parameterCount();
        this._parts = [];
        this._value = {};
        this._len = 0;
    }
    function Sys$StringBuilder$isEmpty() {
        /// <summary locid="M:J#Sys.StringBuilder.isEmpty" />
        /// <returns type="Boolean"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._parts.length === 0) return true;
        return this.toString() === '';
    }
    function Sys$StringBuilder$toString(separator) {
        /// <summary locid="M:J#Sys.StringBuilder.toString" />
        /// <param name="separator" type="String" optional="true" mayBeNull="true"></param>
        /// <returns type="String"></returns>
        var e = Function._validateParams(arguments, [
            {name: "separator", type: String, mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        separator = separator || '';
        var parts = this._parts;
        if (this._len !== parts.length) {
            this._value = {};
            this._len = parts.length;
        }
        var val = this._value;
        if (typeof(val[separator]) === 'undefined') {
            if (separator !== '') {
                for (var i = 0; i < parts.length;) {
                    if ((typeof(parts[i]) === 'undefined') || (parts[i] === '') || (parts[i] === null)) {
                        parts.splice(i, 1);
                    }
                    else {
                        i++;
                    }
                }
            }
            val[separator] = this._parts.join(separator);
        }
        return val[separator];
    }
Sys.StringBuilder.prototype = {
    append: Sys$StringBuilder$append,
    appendLine: Sys$StringBuilder$appendLine,
    clear: Sys$StringBuilder$clear,
    isEmpty: Sys$StringBuilder$isEmpty,
    toString: Sys$StringBuilder$toString
}
Sys.StringBuilder.registerClass('Sys.StringBuilder');
 
if (!window.XMLHttpRequest) {
    window.XMLHttpRequest = function window$XMLHttpRequest() {
        var progIDs = [ 'Mxsml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ];
        for (var i = 0, l = progIDs.length; i < l; i++) {
            try {
                return new ActiveXObject(progIDs[i]);
            }
            catch (ex) {
            }
        }
        return null;
    }
}
 
Sys.Browser = {};
Sys.Browser.InternetExplorer = {};
Sys.Browser.Firefox = {};
Sys.Browser.Safari = {};
Sys.Browser.Opera = {};
Sys.Browser.agent = null;
Sys.Browser.hasDebuggerStatement = false;
Sys.Browser.name = navigator.appName;
Sys.Browser.version = parseFloat(navigator.appVersion);
if (navigator.userAgent.indexOf(' MSIE ') > -1) {
    Sys.Browser.agent = Sys.Browser.InternetExplorer;
    Sys.Browser.version = parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);
    Sys.Browser.hasDebuggerStatement = true;
}
else if (navigator.userAgent.indexOf(' Firefox/') > -1) {
    Sys.Browser.agent = Sys.Browser.Firefox;
    Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]);
    Sys.Browser.name = 'Firefox';
    Sys.Browser.hasDebuggerStatement = true;
}
else if (navigator.userAgent.indexOf(' Safari/') > -1) {
    Sys.Browser.agent = Sys.Browser.Safari;
    Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Safari\/(\d+(\.\d+)?)/)[1]);
    Sys.Browser.name = 'Safari';
}
else if (navigator.userAgent.indexOf('Opera/') > -1) {
    Sys.Browser.agent = Sys.Browser.Opera;
}
Type.registerNamespace('Sys.UI');
 
Sys._Debug = function Sys$_Debug() {
    /// <summary locid="M:J#Sys._Debug.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
}
    function Sys$_Debug$_appendConsole(text) {
        if ((typeof(Debug) !== 'undefined') && Debug.writeln) {
            Debug.writeln(text);
        }
        if (window.console && window.console.log) {
            window.console.log(text);
        }
        if (window.opera) {
            window.opera.postError(text);
        }
        if (window.debugService) {
            window.debugService.trace(text);
        }
    }
    function Sys$_Debug$_appendTrace(text) {
        var traceElement = document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) {
            traceElement.value += text + '\n';
        }
    }
    function Sys$_Debug$assert(condition, message, displayCaller) {
        /// <summary locid="M:J#Sys._Debug.assert" />
        /// <param name="condition" type="Boolean"></param>
        /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
        /// <param name="displayCaller" type="Boolean" optional="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "condition", type: Boolean},
            {name: "message", type: String, mayBeNull: true, optional: true},
            {name: "displayCaller", type: Boolean, optional: true}
        ]);
        if (e) throw e;
        if (!condition) {
            message = (displayCaller && this.assert.caller) ?
                String.format(Sys.Res.assertFailedCaller, message, this.assert.caller) :
                String.format(Sys.Res.assertFailed, message);
            if (confirm(String.format(Sys.Res.breakIntoDebugger, message))) {
                this.fail(message);
            }
        }
    }
    function Sys$_Debug$clearTrace() {
        var traceElement = document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) {
            traceElement.value = '';
        }
    }
    function Sys$_Debug$fail(message) {
        /// <summary locid="M:J#Sys._Debug.fail" />
        /// <param name="message" type="String" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "message", type: String, mayBeNull: true}
        ]);
        if (e) throw e;
        this._appendConsole(message);
        if (Sys.Browser.hasDebuggerStatement) {
            eval('debugger');
        }
    }
    function Sys$_Debug$trace(text) {
        /// <summary locid="M:J#Sys._Debug.trace" />
        /// <param name="text"></param>
        var e = Function._validateParams(arguments, [
            {name: "text"}
        ]);
        if (e) throw e;
        this._appendConsole(text);
        this._appendTrace(text);
    }
    function Sys$_Debug$traceDump(object, name) {
        /// <summary locid="M:J#Sys._Debug.traceDump" />
        /// <param name="object" mayBeNull="true"></param>
        /// <param name="name" type="String" mayBeNull="true" optional="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "object", mayBeNull: true},
            {name: "name", type: String, mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        var text = this._traceDump(object, name, true);
    }
    function Sys$_Debug$_traceDump(object, name, recursive, indentationPadding, loopArray) {
        name = name? name : 'traceDump';
        indentationPadding = indentationPadding? indentationPadding : '';
        if (object === null) {
            this.trace(indentationPadding + name + ': null');
            return;
        }
        switch(typeof(object)) {
            case 'undefined':
                this.trace(indentationPadding + name + ': Undefined');
                break;
            case 'number': case 'string': case 'boolean':
                this.trace(indentationPadding + name + ': ' + object);
                break;
            default:
                if (Date.isInstanceOfType(object) || RegExp.isInstanceOfType(object)) {
                    this.trace(indentationPadding + name + ': ' + object.toString());
                    break;
                }
                if (!loopArray) {
                    loopArray = [];
                }
                else if (Array.contains(loopArray, object)) {
                    this.trace(indentationPadding + name + ': ...');
                    return;
                }
                Array.add(loopArray, object);
                if ((object == window) || (object === document) ||
                    (window.HTMLElement && (object instanceof HTMLElement)) ||
                    (typeof(object.nodeName) === 'string')) {
                    var tag = object.tagName? object.tagName : 'DomElement';
                    if (object.id) {
                        tag += ' - ' + object.id;
                    }
                    this.trace(indentationPadding + name + ' {' +  tag + '}');
                }
                else {
                    var typeName = Object.getTypeName(object);
                    this.trace(indentationPadding + name + (typeof(typeName) === 'string' ? ' {' + typeName + '}' : ''));
                    if ((indentationPadding === '') || recursive) {
                        indentationPadding += "    ";
                        var i, length, properties, p, v;
                        if (Array.isInstanceOfType(object)) {
                            length = object.length;
                            for (i = 0; i < length; i++) {
                                this._traceDump(object[i], '[' + i + ']', recursive, indentationPadding, loopArray);
                            }
                        }
                        else {
                            for (p in object) {
                                v = object[p];
                                if (!Function.isInstanceOfType(v)) {
                                    this._traceDump(v, p, recursive, indentationPadding, loopArray);
                                }
                            }
                        }
                    }
                }
                Array.remove(loopArray, object);
        }
    }
Sys._Debug.prototype = {
    _appendConsole: Sys$_Debug$_appendConsole,
    _appendTrace: Sys$_Debug$_appendTrace,
    assert: Sys$_Debug$assert,
    clearTrace: Sys$_Debug$clearTrace,
    fail: Sys$_Debug$fail,
    trace: Sys$_Debug$trace,
    traceDump: Sys$_Debug$traceDump,
    _traceDump: Sys$_Debug$_traceDump
}
Sys._Debug.registerClass('Sys._Debug');
Sys.Debug = new Sys._Debug();
    Sys.Debug.isDebug = true;
 
function Sys$Enum$parse(value, ignoreCase) {
    /// <summary locid="M:J#Sys.Enum.parse" />
    /// <param name="value" type="String"></param>
    /// <param name="ignoreCase" type="Boolean" optional="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "ignoreCase", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    var values, parsed, val;
    if (ignoreCase) {
        values = this.__lowerCaseValues;
        if (!values) {
            this.__lowerCaseValues = values = {};
            var prototype = this.prototype;
            for (var name in prototype) {
                values[name.toLowerCase()] = prototype[name];
            }
        }
    }
    else {
        values = this.prototype;
    }
    if (!this.__flags) {
        val = (ignoreCase ? value.toLowerCase() : value);
        parsed = values[val.trim()];
        if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
        return parsed;
    }
    else {
        var parts = (ignoreCase ? value.toLowerCase() : value).split(',');
        var v = 0;
        for (var i = parts.length - 1; i >= 0; i--) {
            var part = parts[i].trim();
            parsed = values[part];
            if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value.split(',')[i].trim(), this.__typeName));
            v |= parsed;
        }
        return v;
    }
}
function Sys$Enum$toString(value) {
    /// <summary locid="M:J#Sys.Enum.toString" />
    /// <param name="value" optional="true" mayBeNull="true"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if ((typeof(value) === 'undefined') || (value === null)) return this.__string;
    if ((typeof(value) != 'number') || ((value % 1) !== 0)) throw Error.argumentType('value', Object.getType(value), this);
    var values = this.prototype;
    var i;
    if (!this.__flags || (value === 0)) {
        for (i in values) {
            if (values[i] === value) {
                return i;
            }
        }
    }
    else {
        var sorted = this.__sortedValues;
        if (!sorted) {
            sorted = [];
            for (i in values) {
                sorted[sorted.length] = {key: i, value: values[i]};
            }
            sorted.sort(function(a, b) {
                return a.value - b.value;
            });
            this.__sortedValues = sorted;
        }
        var parts = [];
        var v = value;
        for (i = sorted.length - 1; i >= 0; i--) {
            var kvp = sorted[i];
            var vali = kvp.value;
            if (vali === 0) continue;
            if ((vali & value) === vali) {
                parts[parts.length] = kvp.key;
                v -= vali;
                if (v === 0) break;
            }
        }
        if (parts.length && v === 0) return parts.reverse().join(', ');
    }
    throw Error.argumentOutOfRange('value', value, String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
}
Type.prototype.registerEnum = function Type$registerEnum(name, flags) {
    /// <summary locid="M:J#Sys.UI.LineType.#ctor" />
    /// <param name="name" type="String"></param>
    /// <param name="flags" type="Boolean" optional="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "flags", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw Error.argument('name', Sys.Res.notATypeName);
    var parsedName;
    try {
        parsedName = eval(name);
    }
    catch(e) {
        throw Error.argument('name', Sys.Res.argumentTypeName);
    }
    if (parsedName !== this) throw Error.argument('name', Sys.Res.badTypeName);
    if (Sys.__registeredTypes[name]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, name));
    for (var i in this.prototype) {
        var val = this.prototype[i];
        if (!Type.__identifierRegExp.test(i)) throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, i));
        if (typeof(val) !== 'number' || (val % 1) !== 0) throw Error.invalidOperation(Sys.Res.enumValueNotInteger);
        if (typeof(this[i]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.enumReservedName, i));
    }
    Sys.__upperCaseTypes[name.toUpperCase()] = this;
    for (var i in this.prototype) {
        this[i] = this.prototype[i];
    }
    this.__typeName = name;
    this.parse = Sys$Enum$parse;
    this.__string = this.toString();
    this.toString = Sys$Enum$toString;
    this.__flags = flags;
    this.__enum = true;
    Sys.__registeredTypes[name] = true;
}
Type.isEnum = function Type$isEnum(type) {
    /// <summary locid="M:J#Type.isEnum" />
    /// <param name="type" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) === 'undefined') || (type === null)) return false;
    return !!type.__enum;
}
Type.isFlags = function Type$isFlags(type) {
    /// <summary locid="M:J#Type.isFlags" />
    /// <param name="type" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) === 'undefined') || (type === null)) return false;
    return !!type.__flags;
}
 
Sys.EventHandlerList = function Sys$EventHandlerList() {
    /// <summary locid="M:J#Sys.EventHandlerList.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    this._list = {};
}
    function Sys$EventHandlerList$addHandler(id, handler) {
        /// <summary locid="M:J#Sys.EventHandlerList.addHandler" />
        /// <param name="id" type="String"></param>
        /// <param name="handler" type="Function"></param>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        Array.add(this._getEvent(id, true), handler);
    }
    function Sys$EventHandlerList$removeHandler(id, handler) {
        /// <summary locid="M:J#Sys.EventHandlerList.removeHandler" />
        /// <param name="id" type="String"></param>
        /// <param name="handler" type="Function"></param>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        var evt = this._getEvent(id);
        if (!evt) return;
        Array.remove(evt, handler);
    }
    function Sys$EventHandlerList$getHandler(id) {
        /// <summary locid="M:J#Sys.EventHandlerList.getHandler" />
        /// <param name="id" type="String"></param>
        /// <returns type="Function"></returns>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;
        var evt = this._getEvent(id);
        if (!evt || (evt.length === 0)) return null;
        evt = Array.clone(evt);
        return function(source, args) {
            for (var i = 0, l = evt.length; i < l; i++) {
                evt[i](source, args);
            }
        };
    }
    function Sys$EventHandlerList$_getEvent(id, create) {
        if (!this._list[id]) {
            if (!create) return null;
            this._list[id] = [];
        }
        return this._list[id];
    }
Sys.EventHandlerList.prototype = {
    addHandler: Sys$EventHandlerList$addHandler,
    removeHandler: Sys$EventHandlerList$removeHandler,
    getHandler: Sys$EventHandlerList$getHandler,
    _getEvent: Sys$EventHandlerList$_getEvent
}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');
 
Sys.EventArgs = function Sys$EventArgs() {
    /// <summary locid="M:J#Sys.EventArgs.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
}
Sys.EventArgs.registerClass('Sys.EventArgs');
Sys.EventArgs.Empty = new Sys.EventArgs();
 
Sys.CancelEventArgs = function Sys$CancelEventArgs() {
    /// <summary locid="M:J#Sys.CancelEventArgs.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    Sys.CancelEventArgs.initializeBase(this);
    this._cancel = false;
}
    function Sys$CancelEventArgs$get_cancel() {
        /// <value type="Boolean" locid="P:J#Sys.CancelEventArgs.cancel"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._cancel;
    }
    function Sys$CancelEventArgs$set_cancel(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);
        if (e) throw e;
        this._cancel = value;
    }
Sys.CancelEventArgs.prototype = {
    get_cancel: Sys$CancelEventArgs$get_cancel,
    set_cancel: Sys$CancelEventArgs$set_cancel
}
Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs);
 
Sys.INotifyPropertyChange = function Sys$INotifyPropertyChange() {
    /// <summary locid="M:J#Sys.INotifyPropertyChange.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyPropertyChange$add_propertyChanged(handler) {
    /// <summary locid="E:J#Sys.INotifyPropertyChange.propertyChanged" />
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$INotifyPropertyChange$remove_propertyChanged(handler) {
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
Sys.INotifyPropertyChange.prototype = {
    add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged,
    remove_propertyChanged: Sys$INotifyPropertyChange$remove_propertyChanged
}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');
 
Sys.PropertyChangedEventArgs = function Sys$PropertyChangedEventArgs(propertyName) {
    /// <summary locid="M:J#Sys.PropertyChangedEventArgs.#ctor" />
    /// <param name="propertyName" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "propertyName", type: String}
    ]);
    if (e) throw e;
    Sys.PropertyChangedEventArgs.initializeBase(this);
    this._propertyName = propertyName;
}
 
    function Sys$PropertyChangedEventArgs$get_propertyName() {
        /// <value type="String" locid="P:J#Sys.PropertyChangedEventArgs.propertyName"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._propertyName;
    }
Sys.PropertyChangedEventArgs.prototype = {
    get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName
}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs', Sys.EventArgs);
 
Sys.INotifyDisposing = function Sys$INotifyDisposing() {
    /// <summary locid="M:J#Sys.INotifyDisposing.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyDisposing$add_disposing(handler) {
    /// <summary locid="E:J#Sys.INotifyDisposing.disposing" />
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$INotifyDisposing$remove_disposing(handler) {
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
Sys.INotifyDisposing.prototype = {
    add_disposing: Sys$INotifyDisposing$add_disposing,
    remove_disposing: Sys$INotifyDisposing$remove_disposing
}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");
 
Sys.Component = function Sys$Component() {
    /// <summary locid="M:J#Sys.Component.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    if (Sys.Application) Sys.Application.registerDisposableObject(this);
}
    function Sys$Component$get_events() {
        /// <value type="Sys.EventHandlerList" locid="P:J#Sys.Component.events"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._events) {
            this._events = new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Component$get_id() {
        /// <value type="String" locid="P:J#Sys.Component.id"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._id;
    }
    function Sys$Component$set_id(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        if (this._idSet) throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice);
        this._idSet = true;
        var oldId = this.get_id();
        if (oldId && Sys.Application.findComponent(oldId)) throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);
        this._id = value;
    }
    function Sys$Component$get_isInitialized() {
        /// <value type="Boolean" locid="P:J#Sys.Component.isInitialized"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._initialized;
    }
    function Sys$Component$get_isUpdating() {
        /// <value type="Boolean" locid="P:J#Sys.Component.isUpdating"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._updating;
    }
    function Sys$Component$add_disposing(handler) {
        /// <summary locid="E:J#Sys.Component.disposing" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("disposing", handler);
    }
    function Sys$Component$remove_disposing(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("disposing", handler);
    }
    function Sys$Component$add_propertyChanged(handler) {
        /// <summary locid="E:J#Sys.Component.propertyChanged" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("propertyChanged", handler);
    }
    function Sys$Component$remove_propertyChanged(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("propertyChanged", handler);
    }
    function Sys$Component$beginUpdate() {
        this._updating = true;
    }
    function Sys$Component$dispose() {
        if (this._events) {
            var handler = this._events.getHandler("disposing");
            if (handler) {
                handler(this, Sys.EventArgs.Empty);
            }
        }
        delete this._events;
        Sys.Application.unregisterDisposableObject(this);
        Sys.Application.removeComponent(this);
    }
    function Sys$Component$endUpdate() {
        this._updating = false;
        if (!this._initialized) this.initialize();
        this.updated();
    }
    function Sys$Component$initialize() {
        this._initialized = true;
    }
    function Sys$Component$raisePropertyChanged(propertyName) {
        /// <summary locid="M:J#Sys.Component.raisePropertyChanged" />
        /// <param name="propertyName" type="String"></param>
        var e = Function._validateParams(arguments, [
            {name: "propertyName", type: String}
        ]);
        if (e) throw e;
        if (!this._events) return;
        var handler = this._events.getHandler("propertyChanged");
        if (handler) {
            handler(this, new Sys.PropertyChangedEventArgs(propertyName));
        }
    }
    function Sys$Component$updated() {
    }
Sys.Component.prototype = {
    _id: null,
    _idSet: false,
    _initialized: false,
    _updating: false,
    get_events: Sys$Component$get_events,
    get_id: Sys$Component$get_id,
    set_id: Sys$Component$set_id,
    get_isInitialized: Sys$Component$get_isInitialized,
    get_isUpdating: Sys$Component$get_isUpdating,
    add_disposing: Sys$Component$add_disposing,
    remove_disposing: Sys$Component$remove_disposing,
    add_propertyChanged: Sys$Component$add_propertyChanged,
    remove_propertyChanged: Sys$Component$remove_propertyChanged,
    beginUpdate: Sys$Component$beginUpdate,
    dispose: Sys$Component$dispose,
    endUpdate: Sys$Component$endUpdate,
    initialize: Sys$Component$initialize,
    raisePropertyChanged: Sys$Component$raisePropertyChanged,
    updated: Sys$Component$updated
}
Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, Sys.INotifyPropertyChange, Sys.INotifyDisposing);
function Sys$Component$_setProperties(target, properties) {
    /// <summary locid="M:J#Sys.Component._setProperties" />
    /// <param name="target"></param>
    /// <param name="properties"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "properties"}
    ]);
    if (e) throw e;
    var current;
    var targetType = Object.getType(target);
    var isObject = (targetType === Object) || (targetType === Sys.UI.DomElement);
    var isComponent = Sys.Component.isInstanceOfType(target) && !target.get_isUpdating();
    if (isComponent) target.beginUpdate();
    for (var name in properties) {
        var val = properties[name];
        var getter = isObject ? null : target["get_" + name];
        if (isObject || typeof(getter) !== 'function') {
            var targetVal = target[name];
            if (!isObject && typeof(targetVal) === 'undefined') throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, name));
            if (!val || (typeof(val) !== 'object') || (isObject && !targetVal)) {
                target[name] = val;
            }
            else {
                Sys$Component$_setProperties(targetVal, val);
            }
        }
        else {
            var setter = target["set_" + name];
            if (typeof(setter) === 'function') {
                setter.apply(target, [val]);
            }
            else if (val instanceof Array) {
                current = getter.apply(target);
                if (!(current instanceof Array)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name));
                for (var i = 0, j = current.length, l= val.length; i < l; i++, j++) {
                    current[j] = val[i];
                }
            }
            else if ((typeof(val) === 'object') && (Object.getType(val) === Object)) {
                current = getter.apply(target);
                if ((typeof(current) === 'undefined') || (current === null)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, name));
                Sys$Component$_setProperties(current, val);
            }
            else {
                throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name));
            }
        }
    }
    if (isComponent) target.endUpdate();
}
function Sys$Component$_setReferences(component, references) {
    for (var name in references) {
        var setter = component["set_" + name];
        var reference = $find(references[name]);
        if (typeof(setter) !== 'function') throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name));
        if (!reference) throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound, references[name]));
        setter.apply(component, [reference]);
    }
}
var $create = Sys.Component.create = function Sys$Component$create(type, properties, events, references, element) {
    /// <summary locid="M:J#Sys.Component.create" />
    /// <param name="type" type="Type"></param>
    /// <param name="properties" optional="true" mayBeNull="true"></param>
    /// <param name="events" optional="true" mayBeNull="true"></param>
    /// <param name="references" optional="true" mayBeNull="true"></param>
    /// <param name="element" domElement="true" optional="true" mayBeNull="true"></param>
    /// <returns type="Sys.UI.Component"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", type: Type},
        {name: "properties", mayBeNull: true, optional: true},
        {name: "events", mayBeNull: true, optional: true},
        {name: "references", mayBeNull: true, optional: true},
        {name: "element", mayBeNull: true, domElement: true, optional: true}
    ]);
    if (e) throw e;
    if (!type.inheritsFrom(Sys.Component)) {
        throw Error.argument('type', String.format(Sys.Res.createNotComponent, type.getName()));
    }
    if (type.inheritsFrom(Sys.UI.Behavior) || type.inheritsFrom(Sys.UI.Control)) {
        if (!element) throw Error.argument('element', Sys.Res.createNoDom);
    }
    else if (element) throw Error.argument('element', Sys.Res.createComponentOnDom);
    var component = (element ? new type(element): new type());
    var app = Sys.Application;
    var creatingComponents = app.get_isCreatingComponents();
    component.beginUpdate();
    if (properties) {
        Sys$Component$_setProperties(component, properties);
    }
    if (events) {
        for (var name in events) {
            if (!(component["add_" + name] instanceof Function)) throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name));
            if (!(events[name] instanceof Function)) throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction);
            component["add_" + name](events[name]);
        }
    }
    if (component.get_id()) {
        app.addComponent(component);
    }
    if (creatingComponents) {
        app._createdComponents[app._createdComponents.length] = component;
        if (references) {
            app._addComponentToSecondPass(component, references);
        }
        else {
            component.endUpdate();
        }
    }
    else {
        if (references) {
            Sys$Component$_setReferences(component, references);
        }
        component.endUpdate();
    }
    return component;
}
 
Sys.UI.MouseButton = function Sys$UI$MouseButton() {
    /// <summary locid="M:J#Sys.UI.MouseButton.#ctor" />
    /// <field name="leftButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.leftButton"></field>
    /// <field name="middleButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.middleButton"></field>
    /// <field name="rightButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.rightButton"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.MouseButton.prototype = {
    leftButton: 0,
    middleButton: 1,
    rightButton: 2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");
 
Sys.UI.Key = function Sys$UI$Key() {
    /// <summary locid="M:J#Sys.UI.Key.#ctor" />
    /// <field name="backspace" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.backspace"></field>
    /// <field name="tab" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.tab"></field>
    /// <field name="enter" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.enter"></field>
    /// <field name="esc" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.esc"></field>
    /// <field name="space" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.space"></field>
    /// <field name="pageUp" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.pageUp"></field>
    /// <field name="pageDown" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.pageDown"></field>
    /// <field name="end" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.end"></field>
    /// <field name="home" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.home"></field>
    /// <field name="left" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.left"></field>
    /// <field name="up" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.up"></field>
    /// <field name="right" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.right"></field>
    /// <field name="down" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.down"></field>
    /// <field name="del" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.del"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.Key.prototype = {
    backspace: 8,
    tab: 9,
    enter: 13,
    esc: 27,
    space: 32,
    pageUp: 33,
    pageDown: 34,
    end: 35,
    home: 36,
    left: 37,
    up: 38,
    right: 39,
    down: 40,
    del: 127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");
 
Sys.UI.Point = function Sys$UI$Point(x, y) {
    /// <summary locid="M:J#Sys.UI.Point.#ctor" />
    /// <param name="x" type="Number" integer="true"></param>
    /// <param name="y" type="Number" integer="true"></param>
    /// <field name="x" type="Number" integer="true" locid="F:J#Sys.UI.Point.x"></field>
    /// <field name="y" type="Number" integer="true" locid="F:J#Sys.UI.Point.y"></field>
    var e = Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;
    this.x = x;
    this.y = y;
}
Sys.UI.Point.registerClass('Sys.UI.Point');
 
Sys.UI.Bounds = function Sys$UI$Bounds(x, y, width, height) {
    /// <summary locid="M:J#Sys.UI.Bounds.#ctor" />
    /// <param name="x" type="Number" integer="true"></param>
    /// <param name="y" type="Number" integer="true"></param>
    /// <param name="height" type="Number" integer="true"></param>
    /// <param name="width" type="Number" integer="true"></param>
    /// <field name="x" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.x"></field>
    /// <field name="y" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.y"></field>
    /// <field name="height" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.height"></field>
    /// <field name="width" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.width"></field>
    var e = Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true},
        {name: "height", type: Number, integer: true},
        {name: "width", type: Number, integer: true}
    ]);
    if (e) throw e;
    this.x = x;
    this.y = y;
    this.height = height;
    this.width = width;
}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');
 
Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject) {
    /// <summary locid="M:J#Sys.UI.DomEvent.#ctor" />
    /// <param name="eventObject"></param>
    /// <field name="altKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.altKey"></field>
    /// <field name="button" type="Sys.UI.MouseButton" locid="F:J#Sys.UI.DomEvent.button"></field>
    /// <field name="charCode" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.charCode"></field>
    /// <field name="clientX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.clientX"></field>
    /// <field name="clientY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.clientY"></field>
    /// <field name="ctrlKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.ctrlKey"></field>
    /// <field name="keyCode" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.keyCode"></field>
    /// <field name="offsetX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.offsetX"></field>
    /// <field name="offsetY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.offsetY"></field>
    /// <field name="screenX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.screenX"></field>
    /// <field name="screenY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.screenY"></field>
    /// <field name="shiftKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.shiftKey"></field>
    /// <field name="target" locid="F:J#Sys.UI.DomEvent.target"></field>
    /// <field name="type" type="String" locid="F:J#Sys.UI.DomEvent.type"></field>
    var e = Function._validateParams(arguments, [
        {name: "eventObject"}
    ]);
    if (e) throw e;
    var e = eventObject;
    this.rawEvent = e;
    this.altKey = e.altKey;
    if (typeof(e.button) !== 'undefined') {
        this.button = (typeof(e.which) !== 'undefined') ? e.button :
            (e.button === 4) ? Sys.UI.MouseButton.middleButton :
            (e.button === 2) ? Sys.UI.MouseButton.rightButton :
            Sys.UI.MouseButton.leftButton;
    }
    if (e.type === 'keypress') {
        this.charCode = e.charCode || e.keyCode;
    }
    else if (e.keyCode && (e.keyCode === 46)) {
        this.keyCode = 127;
    }
    else {
        this.keyCode = e.keyCode;
    }
    this.clientX = e.clientX;
    this.clientY = e.clientY;
    this.ctrlKey = e.ctrlKey;
    this.target = e.target ? e.target : e.srcElement;
    if ((typeof(e.offsetX) !== 'undefined') && (typeof(e.offsetY) !== 'undefined')) {
        this.offsetX = e.offsetX;
        this.offsetY = e.offsetY;
    }
    else if (this.target && (this.target.nodeType !== 3) && (typeof(e.clientX) === 'number')) {
        var loc = Sys.UI.DomElement.getLocation(this.target);
        var w = Sys.UI.DomElement._getWindow(this.target);
        this.offsetX = (w.pageXOffset || 0) + e.clientX - loc.x;
        this.offsetY = (w.pageYOffset || 0) + e.clientY - loc.y;
    }
    this.screenX = e.screenX;
    this.screenY = e.screenY;
    this.shiftKey = e.shiftKey;
    this.type = e.type;
}
    function Sys$UI$DomEvent$preventDefault() {
        /// <summary locid="M:J#Sys.UI.DomEvent.preventDefault" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this.rawEvent.preventDefault) {
            this.rawEvent.preventDefault();
        }
        else if (window.event) {
            this.rawEvent.returnValue = false;
        }
    }
    function Sys$UI$DomEvent$stopPropagation() {
        /// <summary locid="M:J#Sys.UI.DomEvent.stopPropagation" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this.rawEvent.stopPropagation) {
            this.rawEvent.stopPropagation();
        }
        else if (window.event) {
            this.rawEvent.cancelBubble = true;
        }
    }
Sys.UI.DomEvent.prototype = {
    preventDefault: Sys$UI$DomEvent$preventDefault,
    stopPropagation: Sys$UI$DomEvent$stopPropagation
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');
var $addHandler = Sys.UI.DomEvent.addHandler = function Sys$UI$DomEvent$addHandler(element, eventName, handler) {
    /// <summary locid="M:J#Sys.UI.DomEvent.addHandler" />
    /// <param name="element"></param>
    /// <param name="eventName" type="String"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "element"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    if (eventName === "error") throw Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError);
    if (!element._events) {
        element._events = {};
    }
    var eventCache = element._events[eventName];
    if (!eventCache) {
        element._events[eventName] = eventCache = [];
    }
    var browserHandler;
    if (element.addEventListener) {
        browserHandler = function(e) {
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.addEventListener(eventName, browserHandler, false);
    }
    else if (element.attachEvent) {
        browserHandler = function() {
            var e = {};
            try {e = Sys.UI.DomElement._getWindow(element).event} catch(ex) {}
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.attachEvent('on' + eventName, browserHandler);
    }
    eventCache[eventCache.length] = {handler: handler, browserHandler: browserHandler};
}
var $addHandlers = Sys.UI.DomEvent.addHandlers = function Sys$UI$DomEvent$addHandlers(element, events, handlerOwner) {
    /// <summary locid="M:J#Sys.UI.DomEvent.addHandlers" />
    /// <param name="element"></param>
    /// <param name="events" type="Object"></param>
    /// <param name="handlerOwner" optional="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "element"},
        {name: "events", type: Object},
        {name: "handlerOwner", optional: true}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    for (var name in events) {
        var handler = events[name];
        if (typeof(handler) !== 'function') throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);
        if (handlerOwner) {
            handler = Function.createDelegate(handlerOwner, handler);
        }
        $addHandler(element, name, handler);
    }
}
var $clearHandlers = Sys.UI.DomEvent.clearHandlers = function Sys$UI$DomEvent$clearHandlers(element) {
    /// <summary locid="M:J#Sys.UI.DomEvent.clearHandlers" />
    /// <param name="element"></param>
    var e = Function._validateParams(arguments, [
        {name: "element"}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    if (element._events) {
        var cache = element._events;
        for (var name in cache) {
            var handlers = cache[name];
            for (var i = handlers.length - 1; i >= 0; i--) {
                $removeHandler(element, name, handlers[i].handler);
            }
        }
        element._events = null;
    }
}
var $removeHandler = Sys.UI.DomEvent.removeHandler = function Sys$UI$DomEvent$removeHandler(element, eventName, handler) {
    /// <summary locid="M:J#Sys.UI.DomEvent.removeHandler" />
    /// <param name="element"></param>
    /// <param name="eventName" type="String"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "element"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    var browserHandler = null;
    if ((typeof(element._events) !== 'object') || (element._events == null)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var cache = element._events[eventName];
    if (!(cache instanceof Array)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    for (var i = 0, l = cache.length; i < l; i++) {
        if (cache[i].handler === handler) {
            browserHandler = cache[i].browserHandler;
            break;
        }
    }
    if (typeof(browserHandler) !== 'function') throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    if (element.removeEventListener) {
        element.removeEventListener(eventName, browserHandler, false);
    }
    else if (element.detachEvent) {
        element.detachEvent('on' + eventName, browserHandler);
    }
    cache.splice(i, 1);
}
Sys.UI.DomEvent._ensureDomNode = function Sys$UI$DomEvent$_ensureDomNode(element) {
    if (element.tagName && (element.tagName === "SCRIPT")) return;
    
    var doc = element.ownerDocument || element.document || element;
    if ((typeof(element.document) !== 'object') && (element != doc) && (typeof(element.nodeType) !== 'number')) {
        throw Error.argument("element", Sys.Res.argumentDomNode);
    }
}
 
Sys.UI.DomElement = function Sys$UI$DomElement() {
    /// <summary locid="M:J#Sys.UI.DomElement.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');
Sys.UI.DomElement.addCssClass = function Sys$UI$DomElement$addCssClass(element, className) {
    /// <summary locid="M:J#Sys.UI.DomElement.addCssClass" />
    /// <param name="element" domElement="true"></param>
    /// <param name="className" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    if (!Sys.UI.DomElement.containsCssClass(element, className)) {
        if (element.className === '') {
            element.className = className;
        }
        else {
            element.className += ' ' + className;
        }
    }
}
Sys.UI.DomElement.containsCssClass = function Sys$UI$DomElement$containsCssClass(element, className) {
    /// <summary locid="M:J#Sys.UI.DomElement.containsCssClass" />
    /// <param name="element" domElement="true"></param>
    /// <param name="className" type="String"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    return Array.contains(element.className.split(' '), className);
}
Sys.UI.DomElement.getBounds = function Sys$UI$DomElement$getBounds(element) {
    /// <summary locid="M:J#Sys.UI.DomElement.getBounds" />
    /// <param name="element" domElement="true"></param>
    /// <returns type="Sys.UI.Bounds"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var offset = Sys.UI.DomElement.getLocation(element);
    return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0);
}
var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id, element) {
    /// <summary locid="M:J#Sys.UI.DomElement.getElementById" />
    /// <param name="id" type="String"></param>
    /// <param name="element" domElement="true" optional="true" mayBeNull="true"></param>
    /// <returns domElement="true" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "id", type: String},
        {name: "element", mayBeNull: true, domElement: true, optional: true}
    ]);
    if (e) throw e;
    if (!element) return document.getElementById(id);
    if (element.getElementById) return element.getElementById(id);
    var nodeQueue = [];
    var childNodes = element.childNodes;
    for (var i = 0; i < childNodes.length; i++) {
        var node = childNodes[i];
        if (node.nodeType == 1) {
            nodeQueue[nodeQueue.length] = node;
        }
    }
    while (nodeQueue.length) {
        node = nodeQueue.shift();
        if (node.id == id) {
            return node;
        }
        childNodes = node.childNodes;
        for (i = 0; i < childNodes.length; i++) {
            node = childNodes[i];
            if (node.nodeType == 1) {
                nodeQueue[nodeQueue.length] = node;
            }
        }
    }
    return null;
}
switch(Sys.Browser.agent) {
    case Sys.Browser.InternetExplorer:
        Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {
            /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />
            /// <param name="element" domElement="true"></param>
            /// <returns type="Sys.UI.Point"></returns>
            var e = Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if (element.self || element.nodeType === 9) return new Sys.UI.Point(0,0);
            var clientRect = element.getBoundingClientRect();
            if (!clientRect) {
                return new Sys.UI.Point(0,0);
            }
            var documentElement = element.ownerDocument.documentElement;
            var offsetX = clientRect.left - 2 + documentElement.scrollLeft,
                offsetY = clientRect.top - 2 + documentElement.scrollTop;
            
            try {
                var f = element.ownerDocument.parentWindow.frameElement || null;
                if (f) {
                    var offset = (f.frameBorder === "0" || f.frameBorder === "no") ? 2 : 0;
                    offsetX += offset;
                    offsetY += offset;
                }
            }
            catch(ex) {
            }    
            
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    case Sys.Browser.Safari:
        Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {
            /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />
            /// <param name="element" domElement="true"></param>
            /// <returns type="Sys.UI.Point"></returns>
            var e = Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0);
            var offsetX = 0;
            var offsetY = 0;
            var previous = null;
            var previousStyle = null;
            var currentStyle;
            for (var parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) {
                currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);
                var tagName = parent.tagName;
                if ((parent.offsetLeft || parent.offsetTop) &&
                    ((tagName !== "BODY") || (!previousStyle || previousStyle.position !== "absolute"))) {
                    offsetX += parent.offsetLeft;
                    offsetY += parent.offsetTop;
                }
            }
            currentStyle = Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition = currentStyle ? currentStyle.position : null;
            if (!elementPosition || (elementPosition !== "absolute")) {
                for (var parent = element.parentNode; parent; parent = parent.parentNode) {
                    tagName = parent.tagName;
                    if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) {
                        offsetX -= (parent.scrollLeft || 0);
                        offsetY -= (parent.scrollTop || 0);
                    }
                    currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);
                    var parentPosition = currentStyle ? currentStyle.position : null;
                    if (parentPosition && (parentPosition === "absolute")) break;
                }
            }
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    case Sys.Browser.Opera:
        Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {
            /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />
            /// <param name="element" domElement="true"></param>
            /// <returns type="Sys.UI.Point"></returns>
            var e = Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0);
            var offsetX = 0;
            var offsetY = 0;
            var previous = null;
            for (var parent = element; parent; previous = parent, parent = parent.offsetParent) {
                var tagName = parent.tagName;
                offsetX += parent.offsetLeft || 0;
                offsetY += parent.offsetTop || 0;
            }
            var elementPosition = element.style.position;
            var elementPositioned = elementPosition && (elementPosition !== "static");
            for (var parent = element.parentNode; parent; parent = parent.parentNode) {
                tagName = parent.tagName;
                if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop) &&
                    ((elementPositioned &&
                    ((parent.style.overflow === "scroll") || (parent.style.overflow === "auto"))))) {
                    offsetX -= (parent.scrollLeft || 0);
                    offsetY -= (parent.scrollTop || 0);
                }
                var parentPosition = (parent && parent.style) ? parent.style.position : null;
                elementPositioned = elementPositioned || (parentPosition && (parentPosition !== "static"));
            }
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    default:
        Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {
            /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />
            /// <param name="element" domElement="true"></param>
            /// <returns type="Sys.UI.Point"></returns>
            var e = Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0);
            var offsetX = 0;
            var offsetY = 0;
            var previous = null;
            var previousStyle = null;
            var currentStyle = null;
            for (var parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) {
                var tagName = parent.tagName;
                currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);
                if ((parent.offsetLeft || parent.offsetTop) &&
                    !((tagName === "BODY") &&
                    (!previousStyle || previousStyle.position !== "absolute"))) {
                    offsetX += parent.offsetLeft;
                    offsetY += parent.offsetTop;
                }
                if (previous !== null && currentStyle) {
                    if ((tagName !== "TABLE") && (tagName !== "TD") && (tagName !== "HTML")) {
                        offsetX += parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY += parseInt(currentStyle.borderTopWidth) || 0;
                    }
                    if (tagName === "TABLE" &&
                        (currentStyle.position === "relative" || currentStyle.position === "absolute")) {
                        offsetX += parseInt(currentStyle.marginLeft) || 0;
                        offsetY += parseInt(currentStyle.marginTop) || 0;
                    }
                }
            }
            currentStyle = Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition = currentStyle ? currentStyle.position : null;
            if (!elementPosition || (elementPosition !== "absolute")) {
                for (var parent = element.parentNode; parent; parent = parent.parentNode) {
                    tagName = parent.tagName;
                    if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) {
                        offsetX -= (parent.scrollLeft || 0);
                        offsetY -= (parent.scrollTop || 0);
                        currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);
                        if (currentStyle) {
                            offsetX += parseInt(currentStyle.borderLeftWidth) || 0;
                            offsetY += parseInt(currentStyle.borderTopWidth) || 0;
                        }
                    }
                }
            }
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
}
Sys.UI.DomElement.removeCssClass = function Sys$UI$DomElement$removeCssClass(element, className) {
    /// <summary locid="M:J#Sys.UI.DomElement.removeCssClass" />
    /// <param name="element" domElement="true"></param>
    /// <param name="className" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    var currentClassName = ' ' + element.className + ' ';
    var index = currentClassName.indexOf(' ' + className + ' ');
    if (index >= 0) {
        element.className = (currentClassName.substr(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, currentClassName.length)).trim();
    }
}
Sys.UI.DomElement.setLocation = function Sys$UI$DomElement$setLocation(element, x, y) {
    /// <summary locid="M:J#Sys.UI.DomElement.setLocation" />
    /// <param name="element" domElement="true"></param>
    /// <param name="x" type="Number" integer="true"></param>
    /// <param name="y" type="Number" integer="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;
    var style = element.style;
    style.position = 'absolute';
    style.left = x + "px";
    style.top = y + "px";
}
Sys.UI.DomElement.toggleCssClass = function Sys$UI$DomElement$toggleCssClass(element, className) {
    /// <summary locid="M:J#Sys.UI.DomElement.toggleCssClass" />
    /// <param name="element" domElement="true"></param>
    /// <param name="className" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    if (Sys.UI.DomElement.containsCssClass(element, className)) {
        Sys.UI.DomElement.removeCssClass(element, className);
    }
    else {
        Sys.UI.DomElement.addCssClass(element, className);
    }
}
Sys.UI.DomElement.getVisibilityMode = function Sys$UI$DomElement$getVisibilityMode(element) {
    /// <summary locid="M:J#Sys.UI.DomElement.getVisibilityMode" />
    /// <param name="element" domElement="true"></param>
    /// <returns type="Sys.UI.VisibilityMode"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    return (element._visibilityMode === Sys.UI.VisibilityMode.hide) ?
        Sys.UI.VisibilityMode.hide :
        Sys.UI.VisibilityMode.collapse;
}
Sys.UI.DomElement.setVisibilityMode = function Sys$UI$DomElement$setVisibilityMode(element, value) {
    /// <summary locid="M:J#Sys.UI.DomElement.setVisibilityMode" />
    /// <param name="element" domElement="true"></param>
    /// <param name="value" type="Sys.UI.VisibilityMode"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "value", type: Sys.UI.VisibilityMode}
    ]);
    if (e) throw e;
    Sys.UI.DomElement._ensureOldDisplayMode(element);
    if (element._visibilityMode !== value) {
        element._visibilityMode = value;
        if (Sys.UI.DomElement.getVisible(element) === false) {
            if (element._visibilityMode === Sys.UI.VisibilityMode.hide) {
                element.style.display = element._oldDisplayMode;
            }
            else {
                element.style.display = 'none';
            }
        }
        element._visibilityMode = value;
    }
}
Sys.UI.DomElement.getVisible = function Sys$UI$DomElement$getVisible(element) {
    /// <summary locid="M:J#Sys.UI.DomElement.getVisible" />
    /// <param name="element" domElement="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element);
    if (!style) return true;
    return (style.visibility !== 'hidden') && (style.display !== 'none');
}
Sys.UI.DomElement.setVisible = function Sys$UI$DomElement$setVisible(element, value) {
    /// <summary locid="M:J#Sys.UI.DomElement.setVisible" />
    /// <param name="element" domElement="true"></param>
    /// <param name="value" type="Boolean"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "value", type: Boolean}
    ]);
    if (e) throw e;
    if (value !== Sys.UI.DomElement.getVisible(element)) {
        Sys.UI.DomElement._ensureOldDisplayMode(element);
        element.style.visibility = value ? 'visible' : 'hidden';
        if (value || (element._visibilityMode === Sys.UI.VisibilityMode.hide)) {
            element.style.display = element._oldDisplayMode;
        }
        else {
            element.style.display = 'none';
        }
    }
}
Sys.UI.DomElement._ensureOldDisplayMode = function Sys$UI$DomElement$_ensureOldDisplayMode(element) {
    if (!element._oldDisplayMode) {
        var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element);
        element._oldDisplayMode = style ? style.display : null;
        if (!element._oldDisplayMode || element._oldDisplayMode === 'none') {
            switch(element.tagName.toUpperCase()) {
                case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': case 'BODY': case 'COL':
                case 'COLGROUP': case 'DD': case 'DL': case 'DT': case 'FIELDSET': case 'FORM':
                case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': case 'H6': case 'HR':
                case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': case 'TABLE': case 'TD':
                case 'TH': case 'TR': case 'UL':
                    element._oldDisplayMode = 'block';
                    break;
                case 'LI':
                    element._oldDisplayMode = 'list-item';
                    break;
                default:
                    element._oldDisplayMode = 'inline';
            }
        }
    }
}
Sys.UI.DomElement._getWindow = function Sys$UI$DomElement$_getWindow(element) {
    var doc = element.ownerDocument || element.document || element;
    return doc.defaultView || doc.parentWindow;
}
Sys.UI.DomElement._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element) {
    if (element.nodeType === 3) return null;
    var w = Sys.UI.DomElement._getWindow(element);
    if (element.documentElement) element = element.documentElement;
    var computedStyle = (w && (element !== w) && w.getComputedStyle) ?
        w.getComputedStyle(element, null) :
        element.currentStyle || element.style;
    if (!computedStyle && (Sys.Browser.agent === Sys.Browser.Safari) && element.style) {
        var oldDisplay = element.style.display;
        var oldPosition = element.style.position;
        element.style.position = 'absolute';
        element.style.display = 'block';
        var style = w.getComputedStyle(element, null);
        element.style.display = oldDisplay;
        element.style.position = oldPosition;
        computedStyle = {};
        for (var n in style) {
            computedStyle[n] = style[n];
        }
        computedStyle.display = 'none';
    }
    return computedStyle;
}
 
Sys.IContainer = function Sys$IContainer() {
    throw Error.notImplemented();
}
    function Sys$IContainer$addComponent(component) {
        /// <summary locid="M:J#Sys.IContainer.addComponent" />
        /// <param name="component" type="Sys.Component"></param>
        var e = Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$removeComponent(component) {
        /// <summary locid="M:J#Sys.IContainer.removeComponent" />
        /// <param name="component" type="Sys.Component"></param>
        var e = Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$findComponent(id) {
        /// <summary locid="M:J#Sys.IContainer.findComponent" />
        /// <param name="id" type="String"></param>
        /// <returns type="Sys.Component"></returns>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$getComponents() {
        /// <summary locid="M:J#Sys.IContainer.getComponents" />
        /// <returns type="Array" elementType="Sys.Component"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.IContainer.prototype = {
    addComponent: Sys$IContainer$addComponent,
    removeComponent: Sys$IContainer$removeComponent,
    findComponent: Sys$IContainer$findComponent,
    getComponents: Sys$IContainer$getComponents
}
Sys.IContainer.registerInterface("Sys.IContainer");
 
Sys._ScriptLoader = function Sys$_ScriptLoader() {
    this._scriptsToLoad = null;
    this._scriptLoadedDelegate = Function.createDelegate(this, this._scriptLoadedHandler);
}
    function Sys$_ScriptLoader$dispose() {
        this._stopLoading();
        if(this._events) {
            delete this._events;
        }
        this._scriptLoadedDelegate = null;        
    }
    function Sys$_ScriptLoader$loadScripts(scriptTimeout, allScriptsLoadedCallback, scriptLoadFailedCallback, scriptLoadTimeoutCallback) {
        /// <summary locid="M:J#Sys._ScriptLoader.loadScripts" />
        /// <param name="scriptTimeout" type="Number" integer="true"></param>
        /// <param name="allScriptsLoadedCallback" type="Function" mayBeNull="true"></param>
        /// <param name="scriptLoadFailedCallback" type="Function" mayBeNull="true"></param>
        /// <param name="scriptLoadTimeoutCallback" type="Function" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "scriptTimeout", type: Number, integer: true},
            {name: "allScriptsLoadedCallback", type: Function, mayBeNull: true},
            {name: "scriptLoadFailedCallback", type: Function, mayBeNull: true},
            {name: "scriptLoadTimeoutCallback", type: Function, mayBeNull: true}
        ]);
        if (e) throw e;
        if(this._loading) {
            throw Error.invalidOperation(Sys.Res.scriptLoaderAlreadyLoading);
        }
        this._loading = true;
        this._allScriptsLoadedCallback = allScriptsLoadedCallback;
        this._scriptLoadFailedCallback = scriptLoadFailedCallback;
        this._scriptLoadTimeoutCallback = scriptLoadTimeoutCallback;
        
        this._loadScriptsInternal();
    }
    function Sys$_ScriptLoader$notifyScriptLoaded() {
        /// <summary locid="M:J#Sys._ScriptLoader.notifyScriptLoaded" />
        if (arguments.length !== 0) throw Error.parameterCount();
        
        if(!this._loading) {
            return;
        }
        this._currentTask._notified++;
        
        if(Sys.Browser.agent === Sys.Browser.Safari) {           
            if(this._currentTask._notified === 1) {
                window.setTimeout(Function.createDelegate(this, function() {
                    this._scriptLoadedHandler(this._currentTask.get_scriptElement(), true);
                }), 0);
            }
        }
    }
    function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) {
        /// <summary locid="M:J#Sys._ScriptLoader.queueCustomScriptTag" />
        /// <param name="scriptAttributes" mayBeNull="false"></param>
        var e = Function._validateParams(arguments, [
            {name: "scriptAttributes"}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad = [];
        }
        Array.add(this._scriptsToLoad, scriptAttributes);
    }
    function Sys$_ScriptLoader$queueScriptBlock(scriptContent) {
        /// <summary locid="M:J#Sys._ScriptLoader.queueScriptBlock" />
        /// <param name="scriptContent" type="String" mayBeNull="false"></param>
        var e = Function._validateParams(arguments, [
            {name: "scriptContent", type: String}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad = [];
        }
        Array.add(this._scriptsToLoad, {text: scriptContent});
    }
    function Sys$_ScriptLoader$queueScriptReference(scriptUrl) {
        /// <summary locid="M:J#Sys._ScriptLoader.queueScriptReference" />
        /// <param name="scriptUrl" type="String" mayBeNull="false"></param>
        var e = Function._validateParams(arguments, [
            {name: "scriptUrl", type: String}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad = [];
        }
        Array.add(this._scriptsToLoad, {src: scriptUrl});
    }
    function Sys$_ScriptLoader$_createScriptElement(queuedScript) {
        var scriptElement = document.createElement('SCRIPT');
        scriptElement.type = 'text/javascript';
        for (var attr in queuedScript) {
            scriptElement[attr] = queuedScript[attr];
        }
        
        return scriptElement;
    }
    function Sys$_ScriptLoader$_loadScriptsInternal() {
        if (this._scriptsToLoad && this._scriptsToLoad.length > 0) {
            var nextScript = Array.dequeue(this._scriptsToLoad);
            var scriptElement = this._createScriptElement(nextScript);
            
            if (scriptElement.text && Sys.Browser.agent === Sys.Browser.Safari) {
                scriptElement.innerHTML = scriptElement.text;
                delete scriptElement.text;
            }            
            if (typeof(nextScript.src) === "string") {
                this._currentTask = new Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate);
                this._currentTask.execute();
            }
            else {
                document.getElementsByTagName('HEAD')[0].appendChild(scriptElement);
                
                var scriptLoader = this; 
                window.setTimeout(function() {
                    Sys._ScriptLoader._clearScript(scriptElement);
                    scriptLoader._loadScriptsInternal();
                }, 0);
            }
        }
        else {
            var callback = this._allScriptsLoadedCallback;
            this._stopLoading();
            if(callback) {
                callback(this);
            }
        }
    }
    function Sys$_ScriptLoader$_raiseError(multipleCallbacks) {
        var callback = this._scriptLoadFailedCallback;
        var scriptElement = this._currentTask.get_scriptElement();
        this._stopLoading();
        
        if(callback) {
            callback(this, scriptElement, multipleCallbacks);
        }
        else {
            throw Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src, multipleCallbacks);
        }
    }
    function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, loaded) {
        if(loaded && this._currentTask._notified) {
            if(this._currentTask._notified > 1) {
                this._raiseError(true);
            }
            else {
                Array.add(Sys._ScriptLoader._getLoadedScripts(), scriptElement.src);
                this._currentTask.dispose();
                this._currentTask = null;
                this._loadScriptsInternal();
            }
        }
        else {
            this._raiseError(false);
        }
    }
    function Sys$_ScriptLoader$_scriptLoadTimeoutHandler() {
        var callback = this._scriptLoadTimeoutCallback;
        this._stopLoading();
        if(callback) {
            callback(this);
        }
    }
    function Sys$_ScriptLoader$_stopLoading() {
        if(this._timeoutCookie) {
            window.clearTimeout(this._timeoutCookie);
            this._timeoutCookie = null;
        }
        if(this._currentTask) {
            this._currentTask.dispose();
            this._currentTask = null;
        }
        this._scriptsToLoad = null;
        this._loading = null;
        
        this._allScriptsLoadedCallback = null;
        this._scriptLoadFailedCallback = null;
        this._scriptLoadTimeoutCallback = null;
    }
Sys._ScriptLoader.prototype = {
    dispose: Sys$_ScriptLoader$dispose,
    loadScripts: Sys$_ScriptLoader$loadScripts,
    notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded,
    queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag,
    queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock,
    queueScriptReference: Sys$_ScriptLoader$queueScriptReference,
    _createScriptElement: Sys$_ScriptLoader$_createScriptElement,   
    _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal,
    _raiseError: Sys$_ScriptLoader$_raiseError,
    _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler,
    _scriptLoadTimeoutHandler: Sys$_ScriptLoader$_scriptLoadTimeoutHandler,
    _stopLoading: Sys$_ScriptLoader$_stopLoading    
}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, Sys.IDisposable);
Sys._ScriptLoader.getInstance = function Sys$_ScriptLoader$getInstance() {
    var sl = Sys._ScriptLoader._activeInstance;
    if(!sl) {
        sl = Sys._ScriptLoader._activeInstance = new Sys._ScriptLoader();
    }
    return sl;
}
Sys._ScriptLoader.isScriptLoaded = function Sys$_ScriptLoader$isScriptLoaded(scriptSrc) {
    var dummyScript = document.createElement('script');
    dummyScript.src = scriptSrc;
    return Array.contains(Sys._ScriptLoader._getLoadedScripts(), dummyScript.src);
}
Sys._ScriptLoader.readLoadedScripts = function Sys$_ScriptLoader$readLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        var referencedScripts = Sys._ScriptLoader._referencedScripts = [];
        var existingScripts = document.getElementsByTagName('SCRIPT');
        for (i = existingScripts.length - 1; i >= 0; i--) {
            var scriptNode = existingScripts[i];
            var scriptSrc = scriptNode.src;
            if (scriptSrc.length) {
                if (!Array.contains(referencedScripts, scriptSrc)) {
                    Array.add(referencedScripts, scriptSrc);
                }
            }
        }
    }
}
Sys._ScriptLoader._clearScript = function Sys$_ScriptLoader$_clearScript(scriptElement) {
    if (!Sys.Debug.isDebug) {
        scriptElement.parentNode.removeChild(scriptElement);
    }
}
Sys._ScriptLoader._errorScriptLoadFailed = function Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl, multipleCallbacks) {
    var errorMessage;
    if(multipleCallbacks) {
        errorMessage = Sys.Res.scriptLoadMultipleCallbacks;
    }
    else {
        errorMessage = Sys.Res.scriptLoadFailedDebug;
    }
    var displayMessage = "Sys.ScriptLoadFailedException: " + String.format(errorMessage, scriptUrl);
    var e = Error.create(displayMessage, {name: 'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl });
    e.popStackFrame();
    return e;
}
Sys._ScriptLoader._getLoadedScripts = function Sys$_ScriptLoader$_getLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        Sys._ScriptLoader._referencedScripts = [];
        Sys._ScriptLoader.readLoadedScripts();
    }
    return Sys._ScriptLoader._referencedScripts;
}
 
Sys._ScriptLoaderTask = function Sys$_ScriptLoaderTask(scriptElement, completedCallback) {
    /// <summary locid="M:J#Sys._ScriptLoaderTask.#ctor" />
    /// <param name="scriptElement" domElement="true"></param>
    /// <param name="completedCallback" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "scriptElement", domElement: true},
        {name: "completedCallback", type: Function}
    ]);
    if (e) throw e;
    this._scriptElement = scriptElement;
    this._completedCallback = completedCallback;
    this._notified = 0;
}
    function Sys$_ScriptLoaderTask$get_scriptElement() {
        /// <value domElement="true" locid="P:J#Sys._ScriptLoaderTask.scriptElement"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._scriptElement;
    }
    function Sys$_ScriptLoaderTask$dispose() {
        if(this._disposed) {
            return;
        }
        this._disposed = true;
        this._removeScriptElementHandlers();
        Sys._ScriptLoader._clearScript(this._scriptElement);
        this._scriptElement = null;
    }
    function Sys$_ScriptLoaderTask$execute() {
        /// <summary locid="M:J#Sys._ScriptLoaderTask.execute" />
        if (arguments.length !== 0) throw Error.parameterCount();
        this._addScriptElementHandlers();
        document.getElementsByTagName('HEAD')[0].appendChild(this._scriptElement);
    }
    function Sys$_ScriptLoaderTask$_addScriptElementHandlers() {
        this._scriptLoadDelegate = Function.createDelegate(this, this._scriptLoadHandler);
        
        if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) {
            this._scriptElement.readyState = 'loaded';
            $addHandler(this._scriptElement, 'load', this._scriptLoadDelegate);
        }
        else {
            $addHandler(this._scriptElement, 'readystatechange', this._scriptLoadDelegate);
        }    
        if (this._scriptElement.addEventListener) {
            this._scriptErrorDelegate = Function.createDelegate(this, this._scriptErrorHandler);
            this._scriptElement.addEventListener('error', this._scriptErrorDelegate, false);
        }
    }
    function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() {
        if(this._scriptLoadDelegate) {
            var scriptElement = this.get_scriptElement();
            if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) {
                $removeHandler(scriptElement, 'load', this._scriptLoadDelegate);
            }
            else {
                $removeHandler(scriptElement, 'readystatechange', this._scriptLoadDelegate);
            }
            if (this._scriptErrorDelegate) {
                this._scriptElement.removeEventListener('error', this._scriptErrorDelegate, false);
                this._scriptErrorDelegate = null;
            }
            this._scriptLoadDelegate = null;
        }
    }
    function Sys$_ScriptLoaderTask$_scriptErrorHandler() {
        if(this._disposed) {
            return;
        }
        
        this._completedCallback(this.get_scriptElement(), false);
    }
    function Sys$_ScriptLoaderTask$_scriptLoadHandler() {
        if(this._disposed) {
            return;
        }
        var scriptElement = this.get_scriptElement();
        if ((scriptElement.readyState !== 'loaded') &&
            (scriptElement.readyState !== 'complete')) {
            return;
        }
        
        var _this = this;
        window.setTimeout(function() {
            _this._completedCallback(scriptElement, true);
        }, 0);
    }
Sys._ScriptLoaderTask.prototype = {
    get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement,
    dispose: Sys$_ScriptLoaderTask$dispose,
    execute: Sys$_ScriptLoaderTask$execute,
    _addScriptElementHandlers: Sys$_ScriptLoaderTask$_addScriptElementHandlers,    
    _removeScriptElementHandlers: Sys$_ScriptLoaderTask$_removeScriptElementHandlers,    
    _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,
    _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler  
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, Sys.IDisposable);
 
Sys.ApplicationLoadEventArgs = function Sys$ApplicationLoadEventArgs(components, isPartialLoad) {
    /// <summary locid="M:J#Sys.ApplicationLoadEventArgs.#ctor" />
    /// <param name="components" type="Array" elementType="Sys.Component"></param>
    /// <param name="isPartialLoad" type="Boolean"></param>
    var e = Function._validateParams(arguments, [
        {name: "components", type: Array, elementType: Sys.Component},
        {name: "isPartialLoad", type: Boolean}
    ]);
    if (e) throw e;
    Sys.ApplicationLoadEventArgs.initializeBase(this);
    this._components = components;
    this._isPartialLoad = isPartialLoad;
}
 
    function Sys$ApplicationLoadEventArgs$get_components() {
        /// <value type="Array" elementType="Sys.Component" locid="P:J#Sys.ApplicationLoadEventArgs.components"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._components;
    }
    function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {
        /// <value type="Boolean" locid="P:J#Sys.ApplicationLoadEventArgs.isPartialLoad"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._isPartialLoad;
    }
Sys.ApplicationLoadEventArgs.prototype = {
    get_components: Sys$ApplicationLoadEventArgs$get_components,
    get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs', Sys.EventArgs);
 
Sys._Application = function Sys$_Application() {
    Sys._Application.initializeBase(this);
    this._disposableObjects = [];
    this._components = {};
    this._createdComponents = [];
    this._secondPassComponents = [];
    this._unloadHandlerDelegate = Function.createDelegate(this, this._unloadHandler);
    this._loadHandlerDelegate = Function.createDelegate(this, this._loadHandler);
    Sys.UI.DomEvent.addHandler(window, "unload", this._unloadHandlerDelegate);
    Sys.UI.DomEvent.addHandler(window, "load", this._loadHandlerDelegate);
}
    function Sys$_Application$get_isCreatingComponents() {
        /// <value type="Boolean" locid="P:J#Sys._Application.isCreatingComponents"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._creatingComponents;
    }
    function Sys$_Application$add_load(handler) {
        /// <summary locid="E:J#Sys._Application.load" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("load", handler);
    }
    function Sys$_Application$remove_load(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("load", handler);
    }
    function Sys$_Application$add_init(handler) {
        /// <summary locid="E:J#Sys._Application.init" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        if (this._initialized) {
            handler(this, Sys.EventArgs.Empty);
        }
        else {
            this.get_events().addHandler("init", handler);
        }
    }
    function Sys$_Application$remove_init(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("init", handler);
    }
    function Sys$_Application$add_unload(handler) {
        /// <summary locid="E:J#Sys._Application.unload" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("unload", handler);
    }
    function Sys$_Application$remove_unload(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("unload", handler);
    }
    function Sys$_Application$addComponent(component) {
        /// <summary locid="M:J#Sys._Application.addComponent" />
        /// <param name="component" type="Sys.Component"></param>
        var e = Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        var id = component.get_id();
        if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId);
        if (typeof(this._components[id]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, id));
        this._components[id] = component;
    }
    function Sys$_Application$beginCreateComponents() {
        this._creatingComponents = true;
    }
    function Sys$_Application$dispose() {
        if (!this._disposing) {
            this._disposing = true;
            if (window.pageUnload) {
                window.pageUnload(this, Sys.EventArgs.Empty);
            }
            var unloadHandler = this.get_events().getHandler("unload");
            if (unloadHandler) {
                unloadHandler(this, Sys.EventArgs.Empty);
            }
            var disposableObjects = Array.clone(this._disposableObjects);
            for (var i = 0, l = disposableObjects.length; i < l; i++) {
                disposableObjects[i].dispose();
            }
            Array.clear(this._disposableObjects);
            Sys.UI.DomEvent.removeHandler(window, "unload", this._unloadHandlerDelegate);
            if(this._loadHandlerDelegate) {
                Sys.UI.DomEvent.removeHandler(window, "load", this._loadHandlerDelegate);
                this._loadHandlerDelegate = null;
            }
            var sl = Sys._ScriptLoader.getInstance();
            if(sl) {
                sl.dispose();
            }
            Sys._Application.callBaseMethod(this, 'dispose');
        }
    }
    function Sys$_Application$endCreateComponents() {
        var components = this._secondPassComponents;
        for (var i = 0, l = components.length; i < l; i++) {
            var component = components[i].component;
            Sys$Component$_setReferences(component, components[i].references);
            component.endUpdate();
        }
        this._secondPassComponents = [];
        this._creatingComponents = false;
    }
    function Sys$_Application$findComponent(id, parent) {
        /// <summary locid="M:J#Sys._Application.findComponent" />
        /// <param name="id" type="String"></param>
        /// <param name="parent" optional="true" mayBeNull="true"></param>
        /// <returns type="Sys.Component" mayBeNull="true"></returns>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "parent", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        return (parent ?
            ((Sys.IContainer.isInstanceOfType(parent)) ?
                parent.findComponent(id) :
                parent[id] || null) :
            Sys.Application._components[id] || null);
    }
    function Sys$_Application$getComponents() {
        /// <summary locid="M:J#Sys._Application.getComponents" />
        /// <returns type="Array" elementType="Sys.Component"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        var res = [];
        var components = this._components;
        for (var name in components) {
            res[res.length] = components[name];
        }
        return res;
    }
    function Sys$_Application$initialize() {
        if(!this._initialized && !this._initializing) {
            this._initializing = true;
            window.setTimeout(Function.createDelegate(this, this._doInitialize), 0);
        }
    }
    function Sys$_Application$notifyScriptLoaded() {
        /// <summary locid="M:J#Sys._Application.notifyScriptLoaded" />
        if (arguments.length !== 0) throw Error.parameterCount();
        var sl = Sys._ScriptLoader.getInstance();
        if(sl) {
            sl.notifyScriptLoaded();
        }
    }
    function Sys$_Application$registerDisposableObject(object) {
        /// <summary locid="M:J#Sys._Application.registerDisposableObject" />
        /// <param name="object" type="Sys.IDisposable"></param>
        var e = Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;
        if (!this._disposing) {
            this._disposableObjects[this._disposableObjects.length] = object;
        }
    }
    function Sys$_Application$raiseLoad() {
        var h = this.get_events().getHandler("load");
        var args = new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), !this._initializing);
        if (h) {
            h(this, args);
        }
        if (window.pageLoad) {
            window.pageLoad(this, args);
        }
        this._createdComponents = [];
    }
    function Sys$_Application$removeComponent(component) {
        /// <summary locid="M:J#Sys._Application.removeComponent" />
        /// <param name="component" type="Sys.Component"></param>
        var e = Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        var id = component.get_id();
        if (id) delete this._components[id];
    }
    function Sys$_Application$unregisterDisposableObject(object) {
        /// <summary locid="M:J#Sys._Application.unregisterDisposableObject" />
        /// <param name="object" type="Sys.IDisposable"></param>
        var e = Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;
        if (!this._disposing) {
            Array.remove(this._disposableObjects, object);
        }
    }
    function Sys$_Application$_addComponentToSecondPass(component, references) {
        this._secondPassComponents[this._secondPassComponents.length] = {component: component, references: references};
    }
    function Sys$_Application$_doInitialize() {
        Sys._Application.callBaseMethod(this, 'initialize');
        var handler = this.get_events().getHandler("init");
        if (handler) {
            this.beginCreateComponents();
            handler(this, Sys.EventArgs.Empty);
            this.endCreateComponents();
        }
        this.raiseLoad();
        this._initializing = false;
    }
    function Sys$_Application$_loadHandler() {
        if(this._loadHandlerDelegate) {
            Sys.UI.DomEvent.removeHandler(window, "load", this._loadHandlerDelegate);
            this._loadHandlerDelegate = null;
        }
        this.initialize();
    }
    function Sys$_Application$_unloadHandler(event) {
        this.dispose();
    }
Sys._Application.prototype = {
    _creatingComponents: false,
    _disposing: false,
    get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,
    add_load: Sys$_Application$add_load,
    remove_load: Sys$_Application$remove_load,
    add_init: Sys$_Application$add_init,
    remove_init: Sys$_Application$remove_init,
    add_unload: Sys$_Application$add_unload,
    remove_unload: Sys$_Application$remove_unload,
    addComponent: Sys$_Application$addComponent,
    beginCreateComponents: Sys$_Application$beginCreateComponents,
    dispose: Sys$_Application$dispose,
    endCreateComponents: Sys$_Application$endCreateComponents,
    findComponent: Sys$_Application$findComponent,
    getComponents: Sys$_Application$getComponents,
    initialize: Sys$_Application$initialize,
    notifyScriptLoaded: Sys$_Application$notifyScriptLoaded,
    registerDisposableObject: Sys$_Application$registerDisposableObject,
    raiseLoad: Sys$_Application$raiseLoad,
    removeComponent: Sys$_Application$removeComponent,
    unregisterDisposableObject: Sys$_Application$unregisterDisposableObject,
    _addComponentToSecondPass: Sys$_Application$_addComponentToSecondPass,
    _doInitialize: Sys$_Application$_doInitialize,    
    _loadHandler: Sys$_Application$_loadHandler,
    _unloadHandler: Sys$_Application$_unloadHandler
}
Sys._Application.registerClass('Sys._Application', Sys.Component, Sys.IContainer);
Sys.Application = new Sys._Application();
var $find = Sys.Application.findComponent;
Type.registerNamespace('Sys.Net');
 
Sys.Net.WebRequestExecutor = function Sys$Net$WebRequestExecutor() {
    /// <summary locid="M:J#Sys.Net.WebRequestExecutor.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    this._webRequest = null;
    this._resultObject = null;
}
    function Sys$Net$WebRequestExecutor$get_webRequest() {
        /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.Net.WebRequestExecutor.webRequest"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._webRequest;
    }
    function Sys$Net$WebRequestExecutor$_set_webRequest(value) {
        if (this.get_started()) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'set_webRequest'));
        }
        this._webRequest = value;
    }
    function Sys$Net$WebRequestExecutor$get_started() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.started"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseAvailable() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.responseAvailable"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_timedOut() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.timedOut"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_aborted() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.aborted"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseData() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequestExecutor.responseData"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusCode() {
        /// <value type="Number" locid="P:J#Sys.Net.WebRequestExecutor.statusCode"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusText() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequestExecutor.statusText"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_xml() {
        /// <value locid="P:J#Sys.Net.WebRequestExecutor.xml"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_object() {
        /// <value locid="P:J#Sys.Net.WebRequestExecutor.object"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._resultObject) {
            this._resultObject = Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());
        }
        return this._resultObject;
    }
    function Sys$Net$WebRequestExecutor$executeRequest() {
        /// <summary locid="M:J#Sys.Net.WebRequestExecutor.executeRequest" />
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$abort() {
        /// <summary locid="M:J#Sys.Net.WebRequestExecutor.abort" />
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getResponseHeader(header) {
        /// <summary locid="M:J#Sys.Net.WebRequestExecutor.getResponseHeader" />
        /// <param name="header" type="String"></param>
        var e = Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getAllResponseHeaders() {
        /// <summary locid="M:J#Sys.Net.WebRequestExecutor.getAllResponseHeaders" />
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.Net.WebRequestExecutor.prototype = {
    get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest,
    _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest,
    get_started: Sys$Net$WebRequestExecutor$get_started,
    get_responseAvailable: Sys$Net$WebRequestExecutor$get_responseAvailable,
    get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut,
    get_aborted: Sys$Net$WebRequestExecutor$get_aborted,
    get_responseData: Sys$Net$WebRequestExecutor$get_responseData,
    get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode,
    get_statusText: Sys$Net$WebRequestExecutor$get_statusText,
    get_xml: Sys$Net$WebRequestExecutor$get_xml,
    get_object: Sys$Net$WebRequestExecutor$get_object,
    executeRequest: Sys$Net$WebRequestExecutor$executeRequest,
    abort: Sys$Net$WebRequestExecutor$abort,
    getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader,
    getAllResponseHeaders: Sys$Net$WebRequestExecutor$getAllResponseHeaders
}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');
 
Sys.Net.XMLDOM = function Sys$Net$XMLDOM(markup) {
    if (!window.DOMParser) {
        var progIDs = [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' ];
        for (var i = 0, l = progIDs.length; i < l; i++) {
            try {
                var xmlDOM = new ActiveXObject(progIDs[i]);
                xmlDOM.async = false;
                xmlDOM.loadXML(markup);
                xmlDOM.setProperty('SelectionLanguage', 'XPath');
                return xmlDOM;
            }
            catch (ex) {
            }
        }
    }
    else {
        try {
            var domParser = new window.DOMParser();
            return domParser.parseFromString(markup, 'text/xml');
        }
        catch (ex) {
        }
    }
    return null;
}
Sys.Net.XMLHttpExecutor = function Sys$Net$XMLHttpExecutor() {
    /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    Sys.Net.XMLHttpExecutor.initializeBase(this);
    var _this = this;
    this._xmlHttpRequest = null;
    this._webRequest = null;
    this._responseAvailable = false;
    this._timedOut = false;
    this._timer = null;
    this._aborted = false;
    this._started = false;
    this._onReadyStateChange = function this$_onReadyStateChange() {
        
        if (_this._xmlHttpRequest.readyState === 4 ) {
            try {
                if (typeof(_this._xmlHttpRequest.status) === "undefined") {
                    return;
                }
            }
            catch(ex) {
                return;
            }
            
            _this._clearTimer();
            _this._responseAvailable = true;
            _this._webRequest.completed(Sys.EventArgs.Empty);
            if (_this._xmlHttpRequest != null) {
                _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
                _this._xmlHttpRequest = null;
            }
        }
    }
    this._clearTimer = function this$_clearTimer() {
        if (_this._timer != null) {
            window.clearTimeout(_this._timer);
            _this._timer = null;
        }
    }
    this._onTimeout = function this$_onTimeout() {
        if (!_this._responseAvailable) {
            _this._clearTimer();
            _this._timedOut = true;
            _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
            _this._xmlHttpRequest.abort();
            _this._webRequest.completed(Sys.EventArgs.Empty);
            _this._xmlHttpRequest = null;
        }
    }
}
    function Sys$Net$XMLHttpExecutor$get_timedOut() {
        /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.timedOut"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$XMLHttpExecutor$get_started() {
        /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.started"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._started;
    }
    function Sys$Net$XMLHttpExecutor$get_responseAvailable() {
        /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.responseAvailable"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._responseAvailable;
    }
    function Sys$Net$XMLHttpExecutor$get_aborted() {
        /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.aborted"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._aborted;
    }
    function Sys$Net$XMLHttpExecutor$executeRequest() {
        /// <summary locid="M:J#this._onTimeout" />
        if (arguments.length !== 0) throw Error.parameterCount();
        this._webRequest = this.get_webRequest();
        if (this._started) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'executeRequest'));
        }
        if (this._webRequest === null) {
            throw Error.invalidOperation(Sys.Res.nullWebRequest);
        }
        var body = this._webRequest.get_body();
        var headers = this._webRequest.get_headers();
        this._xmlHttpRequest = new XMLHttpRequest();
        this._xmlHttpRequest.onreadystatechange = this._onReadyStateChange;
        var verb = this._webRequest.get_httpVerb();
        this._xmlHttpRequest.open(verb, this._webRequest.getResolvedUrl(), true );
        if (headers) {
            for (var header in headers) {
                var val = headers[header];
                if (typeof(val) !== "function")
                    this._xmlHttpRequest.setRequestHeader(header, val);
            }
        }
        if (verb.toLowerCase() === "post") {
            if ((headers === null) || !headers['Content-Type']) {
                this._xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
            }
            if (!body) {
                body = "";
            }
        }
        var timeout = this._webRequest.get_timeout();
        if (timeout > 0) {
            this._timer = window.setTimeout(Function.createDelegate(this, this._onTimeout), timeout);
        }
        this._xmlHttpRequest.send(body);
        this._started = true;
    }
    function Sys$Net$XMLHttpExecutor$getResponseHeader(header) {
        /// <summary locid="M:J#this._onTimeout" />
        /// <param name="header" type="String"></param>
        /// <returns type="String"></returns>
        var e = Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;
        if (!this._responseAvailable) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getResponseHeader'));
        }
        if (!this._xmlHttpRequest) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getResponseHeader'));
        }
        var result;
        try {
            result = this._xmlHttpRequest.getResponseHeader(header);
        } catch (e) {
        }
        if (!result) result = "";
        return result;
    }
    function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() {
        /// <summary locid="M:J#this._onTimeout" />
        /// <returns type="String"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getAllResponseHeaders'));
        }
        if (!this._xmlHttpRequest) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getAllResponseHeaders'));
        }
        return this._xmlHttpRequest.getAllResponseHeaders();
    }
    function Sys$Net$XMLHttpExecutor$get_responseData() {
        /// <value type="String" locid="P:J#Sys.Net.XMLHttpExecutor.responseData"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_responseData'));
        }
        if (!this._xmlHttpRequest) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_responseData'));
        }
        return this._xmlHttpRequest.responseText;
    }
    function Sys$Net$XMLHttpExecutor$get_statusCode() {
        /// <value type="Number" locid="P:J#Sys.Net.XMLHttpExecutor.statusCode"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusCode'));
        }
        if (!this._xmlHttpRequest) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusCode'));
        }
        var result = 0;
        try {
            result = this._xmlHttpRequest.status;
        }
        catch(ex) {
        }
        return result;
    }
    function Sys$Net$XMLHttpExecutor$get_statusText() {
        /// <value type="String" locid="P:J#Sys.Net.XMLHttpExecutor.statusText"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusText'));
        }
        if (!this._xmlHttpRequest) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusText'));
        }
        return this._xmlHttpRequest.statusText;
    }
    function Sys$Net$XMLHttpExecutor$get_xml() {
        /// <value locid="P:J#Sys.Net.XMLHttpExecutor.xml"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_xml'));
        }
        if (!this._xmlHttpRequest) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_xml'));
        }
        var xml = this._xmlHttpRequest.responseXML;
        if (!xml || !xml.documentElement) {
            xml = Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);
            if (!xml || !xml.documentElement)
                return null;
        }
        else if (navigator.userAgent.indexOf('MSIE') !== -1) {
            xml.setProperty('SelectionLanguage', 'XPath');
        }
        if (xml.documentElement.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml" &&
            xml.documentElement.tagName === "parsererror") {
            return null;
        }
        
        if (xml.documentElement.firstChild && xml.documentElement.firstChild.tagName === "parsererror") {
            return null;
        }
        
        return xml;
    }
    function Sys$Net$XMLHttpExecutor$abort() {
        /// <summary locid="M:J#this._onTimeout" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._started) {
            throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);
        }
        if (this._aborted || this._responseAvailable || this._timedOut)
            return;
        this._aborted = true;
        this._clearTimer();
        if (this._xmlHttpRequest && !this._responseAvailable) {
            this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
            this._xmlHttpRequest.abort();
            
            this._xmlHttpRequest = null;            
            this._webRequest.completed(Sys.EventArgs.Empty);
        }
    }
Sys.Net.XMLHttpExecutor.prototype = {
    get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut,
    get_started: Sys$Net$XMLHttpExecutor$get_started,
    get_responseAvailable: Sys$Net$XMLHttpExecutor$get_responseAvailable,
    get_aborted: Sys$Net$XMLHttpExecutor$get_aborted,
    executeRequest: Sys$Net$XMLHttpExecutor$executeRequest,
    getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader,
    getAllResponseHeaders: Sys$Net$XMLHttpExecutor$getAllResponseHeaders,
    get_responseData: Sys$Net$XMLHttpExecutor$get_responseData,
    get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode,
    get_statusText: Sys$Net$XMLHttpExecutor$get_statusText,
    get_xml: Sys$Net$XMLHttpExecutor$get_xml,
    abort: Sys$Net$XMLHttpExecutor$abort
}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', Sys.Net.WebRequestExecutor);
 
Sys.Net._WebRequestManager = function Sys$Net$_WebRequestManager() {
    this._this = this;
    this._defaultTimeout = 0;
    this._defaultExecutorType = "Sys.Net.XMLHttpExecutor";
}
    function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {
        /// <summary locid="E:J#Sys.Net._WebRequestManager.invokingRequest" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("invokingRequest", handler);
    }
    function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("invokingRequest", handler);
    }
    function Sys$Net$_WebRequestManager$add_completedRequest(handler) {
        /// <summary locid="E:J#Sys.Net._WebRequestManager.completedRequest" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("completedRequest", handler);
    }
    function Sys$Net$_WebRequestManager$remove_completedRequest(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("completedRequest", handler);
    }
    function Sys$Net$_WebRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events = new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Net$_WebRequestManager$get_defaultTimeout() {
        /// <value type="Number" locid="P:J#Sys.Net._WebRequestManager.defaultTimeout"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultTimeout;
    }
    function Sys$Net$_WebRequestManager$set_defaultTimeout(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout);
        }
        this._defaultTimeout = value;
    }
    function Sys$Net$_WebRequestManager$get_defaultExecutorType() {
        /// <value type="String" locid="P:J#Sys.Net._WebRequestManager.defaultExecutorType"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultExecutorType;
    }
    function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._defaultExecutorType = value;
    }
    function Sys$Net$_WebRequestManager$executeRequest(webRequest) {
        /// <summary locid="M:J#Sys.Net._WebRequestManager.executeRequest" />
        /// <param name="webRequest" type="Sys.Net.WebRequest"></param>
        var e = Function._validateParams(arguments, [
            {name: "webRequest", type: Sys.Net.WebRequest}
        ]);
        if (e) throw e;
        var executor = webRequest.get_executor();
        if (!executor) {
            var failed = false;
            try {
                var executorType = eval(this._defaultExecutorType);
                executor = new executorType();
            } catch (e) {
                failed = true;
            }
            if (failed  || !Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) {
                throw Error.argument("defaultExecutorType", String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType));
            }
            webRequest.set_executor(executor);
        }
        if (executor.get_aborted()) {
            return;
        }
        var evArgs = new Sys.Net.NetworkRequestEventArgs(webRequest);
        var handler = this._get_eventHandlerList().getHandler("invokingRequest");
        if (handler) {
            handler(this, evArgs);
        }
        if (!evArgs.get_cancel()) {
            executor.executeRequest();
        }
    }
Sys.Net._WebRequestManager.prototype = {
    add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest,
    remove_invokingRequest: Sys$Net$_WebRequestManager$remove_invokingRequest,
    add_completedRequest: Sys$Net$_WebRequestManager$add_completedRequest,
    remove_completedRequest: Sys$Net$_WebRequestManager$remove_completedRequest,
    _get_eventHandlerList: Sys$Net$_WebRequestManager$_get_eventHandlerList,
    get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout,
    set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout,
    get_defaultExecutorType: Sys$Net$_WebRequestManager$get_defaultExecutorType,
    set_defaultExecutorType: Sys$Net$_WebRequestManager$set_defaultExecutorType,
    executeRequest: Sys$Net$_WebRequestManager$executeRequest
}
Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');
Sys.Net.WebRequestManager = new Sys.Net._WebRequestManager();
 
Sys.Net.NetworkRequestEventArgs = function Sys$Net$NetworkRequestEventArgs(webRequest) {
    /// <summary locid="M:J#Sys.Net.NetworkRequestEventArgs.#ctor" />
    /// <param name="webRequest" type="Sys.Net.WebRequest"></param>
    var e = Function._validateParams(arguments, [
        {name: "webRequest", type: Sys.Net.WebRequest}
    ]);
    if (e) throw e;
    Sys.Net.NetworkRequestEventArgs.initializeBase(this);
    this._webRequest = webRequest;
}
    function Sys$Net$NetworkRequestEventArgs$get_webRequest() {
        /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.Net.NetworkRequestEventArgs.webRequest"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._webRequest;
    }
Sys.Net.NetworkRequestEventArgs.prototype = {
    get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest
}
Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs', Sys.CancelEventArgs);
 
Sys.Net.WebRequest = function Sys$Net$WebRequest() {
    /// <summary locid="M:J#Sys.Net.WebRequest.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    this._url = "";
    this._headers = { };
    this._body = null;
    this._userContext = null;
    this._httpVerb = null;
    this._executor = null;
    this._invokeCalled = false;
    this._timeout = 0;
}
    function Sys$Net$WebRequest$add_completed(handler) {
    /// <summary locid="E:J#Sys.Net.WebRequest.completed" />
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        this._get_eventHandlerList().addHandler("completed", handler);
    }
    function Sys$Net$WebRequest$remove_completed(handler) {
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        this._get_eventHandlerList().removeHandler("completed", handler);
    }
    function Sys$Net$WebRequest$completed(eventArgs) {
        /// <summary locid="M:J#Sys.Net.WebRequest.completed" />
        /// <param name="eventArgs" type="Sys.EventArgs"></param>
        var e = Function._validateParams(arguments, [
            {name: "eventArgs", type: Sys.EventArgs}
        ]);
        if (e) throw e;
        var handler = Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");
        if (handler) {
            handler(this._executor, eventArgs);
        }
        handler = this._get_eventHandlerList().getHandler("completed");
        if (handler) {
            handler(this._executor, eventArgs);
        }
    }
    function Sys$Net$WebRequest$_get_eventHandlerList() {
        if (!this._events) {
            this._events = new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Net$WebRequest$get_url() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequest.url"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._url;
    }
    function Sys$Net$WebRequest$set_url(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._url = value;
    }
    function Sys$Net$WebRequest$get_headers() {
        /// <value locid="P:J#Sys.Net.WebRequest.headers"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._headers;
    }
    function Sys$Net$WebRequest$get_httpVerb() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequest.httpVerb"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._httpVerb === null) {
            if (this._body === null) {
                return "GET";
            }
            return "POST";
        }
        return this._httpVerb;
    }
    function Sys$Net$WebRequest$set_httpVerb(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        if (value.length === 0) {
            throw Error.argument('value', Sys.Res.invalidHttpVerb);
        }
        this._httpVerb = value;
    }
    function Sys$Net$WebRequest$get_body() {
        /// <value mayBeNull="true" locid="P:J#Sys.Net.WebRequest.body"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._body;
    }
    function Sys$Net$WebRequest$set_body(value) {
        var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]);
        if (e) throw e;
        this._body = value;
    }
    function Sys$Net$WebRequest$get_userContext() {
        /// <value mayBeNull="true" locid="P:J#Sys.Net.WebRequest.userContext"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebRequest$set_userContext(value) {
        var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]);
        if (e) throw e;
        this._userContext = value;
    }
    function Sys$Net$WebRequest$get_executor() {
        /// <value type="Sys.Net.WebRequestExecutor" locid="P:J#Sys.Net.WebRequest.executor"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._executor;
    }
    function Sys$Net$WebRequest$set_executor(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Sys.Net.WebRequestExecutor}]);
        if (e) throw e;
        if (this._executor !== null && this._executor.get_started()) {
            throw Error.invalidOperation(Sys.Res.setExecutorAfterActive);
        }
        this._executor = value;
        this._executor._set_webRequest(this);
    }
    function Sys$Net$WebRequest$get_timeout() {
        /// <value type="Number" locid="P:J#Sys.Net.WebRequest.timeout"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._timeout === 0) {
            return Sys.Net.WebRequestManager.get_defaultTimeout();
        }
        return this._timeout;
    }
    function Sys$Net$WebRequest$set_timeout(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout);
        }
        this._timeout = value;
    }
    function Sys$Net$WebRequest$getResolvedUrl() {
        /// <summary locid="M:J#Sys.Net.WebRequest.getResolvedUrl" />
        /// <returns type="String"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        return Sys.Net.WebRequest._resolveUrl(this._url);
    }
    function Sys$Net$WebRequest$invoke() {
        /// <summary locid="M:J#Sys.Net.WebRequest.invoke" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._invokeCalled) {
            throw Error.invalidOperation(Sys.Res.invokeCalledTwice);
        }
        Sys.Net.WebRequestManager.executeRequest(this);
        this._invokeCalled = true;
    }
Sys.Net.WebRequest.prototype = {
    add_completed: Sys$Net$WebRequest$add_completed,
    remove_completed: Sys$Net$WebRequest$remove_completed,
    completed: Sys$Net$WebRequest$completed,
    _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList,
    get_url: Sys$Net$WebRequest$get_url,
    set_url: Sys$Net$WebRequest$set_url,
    get_headers: Sys$Net$WebRequest$get_headers,
    get_httpVerb: Sys$Net$WebRequest$get_httpVerb,
    set_httpVerb: Sys$Net$WebRequest$set_httpVerb,
    get_body: Sys$Net$WebRequest$get_body,
    set_body: Sys$Net$WebRequest$set_body,
    get_userContext: Sys$Net$WebRequest$get_userContext,
    set_userContext: Sys$Net$WebRequest$set_userContext,
    get_executor: Sys$Net$WebRequest$get_executor,
    set_executor: Sys$Net$WebRequest$set_executor,
    get_timeout: Sys$Net$WebRequest$get_timeout,
    set_timeout: Sys$Net$WebRequest$set_timeout,
    getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl,
    invoke: Sys$Net$WebRequest$invoke
}
Sys.Net.WebRequest._resolveUrl = function Sys$Net$WebRequest$_resolveUrl(url, baseUrl) {
    if (url && url.indexOf('://') !== -1) {
        return url;
    }
    if (!baseUrl || baseUrl.length === 0) {
        var baseElement = document.getElementsByTagName('base')[0];
        if (baseElement && baseElement.href && baseElement.href.length > 0) {
            baseUrl = baseElement.href;
        }
        else {
            baseUrl = document.URL;
        }
    }
    var qsStart = baseUrl.indexOf('?');
    if (qsStart !== -1) {
        baseUrl = baseUrl.substr(0, qsStart);
    }
    baseUrl = baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1);
    if (!url || url.length === 0) {
        return baseUrl;
    }
    if (url.charAt(0) === '/') {
        var slashslash = baseUrl.indexOf('://');
        if (slashslash === -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl1);
        }
        var nextSlash = baseUrl.indexOf('/', slashslash + 3);
        if (nextSlash === -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl2);
        }
        return baseUrl.substr(0, nextSlash) + url;
    }
    else {
        var lastSlash = baseUrl.lastIndexOf('/');
        if (lastSlash === -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl3);
        }
        return baseUrl.substr(0, lastSlash+1) + url;
    }
}
Sys.Net.WebRequest._createQueryString = function Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod) {
    if (!encodeMethod)
        encodeMethod = encodeURIComponent;
    var sb = new Sys.StringBuilder();
    var i = 0;
    for (var arg in queryString) {
        var obj = queryString[arg];
        if (typeof(obj) === "function") continue;
        var val = Sys.Serialization.JavaScriptSerializer.serialize(obj);
        if (i !== 0) {
            sb.append('&');
        }
        sb.append(arg);
        sb.append('=');
        sb.append(encodeMethod(val));
        i++;
    }
    return sb.toString();
}
Sys.Net.WebRequest._createUrl = function Sys$Net$WebRequest$_createUrl(url, queryString) {
    if (!queryString) {
        return url;
    }
    var qs = Sys.Net.WebRequest._createQueryString(queryString);
    if (qs.length > 0) {
        var sep = '?';
        if (url && url.indexOf('?') !== -1)
            sep = '&';
        return url + sep + qs;
    } else {
        return url;
    }
}
Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');
 
Sys.Net.WebServiceProxy = function Sys$Net$WebServiceProxy() {
}
    function Sys$Net$WebServiceProxy$get_timeout() {
        /// <value type="Number" locid="P:J#Sys.Net.WebServiceProxy.timeout"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Net$WebServiceProxy$set_timeout(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        if (value < 0) { throw Error.argumentOutOfRange('value', value, Sys.Res.invalidTimeout); }
        this._timeout = value;
    }
    function Sys$Net$WebServiceProxy$get_defaultUserContext() {
        /// <value mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultUserContext"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {
        var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]);
        if (e) throw e;
        this._userContext = value;
    }
    function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultSucceededCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._succeeded;
    }
    function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._succeeded = value;
    }
    function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultFailedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._failed;
    }
    function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._failed = value;
    }
    function Sys$Net$WebServiceProxy$get_path() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceProxy.path"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Net$WebServiceProxy$set_path(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._path = value;
    }
    function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext) {
        /// <summary locid="M:J#Sys.Net.WebServiceProxy._invoke" />
        /// <param name="servicePath" type="String"></param>
        /// <param name="methodName" type="String"></param>
        /// <param name="useGet" type="Boolean"></param>
        /// <param name="params"></param>
        /// <param name="onSuccess" type="Function" mayBeNull="true" optional="true"></param>
        /// <param name="onFailure" type="Function" mayBeNull="true" optional="true"></param>
        /// <param name="userContext" mayBeNull="true" optional="true"></param>
        /// <returns type="Sys.Net.WebRequest"></returns>
        var e = Function._validateParams(arguments, [
            {name: "servicePath", type: String},
            {name: "methodName", type: String},
            {name: "useGet", type: Boolean},
            {name: "params"},
            {name: "onSuccess", type: Function, mayBeNull: true, optional: true},
            {name: "onFailure", type: Function, mayBeNull: true, optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        if (onSuccess === null || typeof onSuccess === 'undefined') onSuccess = this.get_defaultSucceededCallback();
        if (onFailure === null || typeof onFailure === 'undefined') onFailure = this.get_defaultFailedCallback();
        if (userContext === null || typeof userContext === 'undefined') userContext = this.get_defaultUserContext();
        
        return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, this.get_timeout());
    }
Sys.Net.WebServiceProxy.prototype = {
    get_timeout: Sys$Net$WebServiceProxy$get_timeout,
    set_timeout: Sys$Net$WebServiceProxy$set_timeout,
    get_defaultUserContext: Sys$Net$WebServiceProxy$get_defaultUserContext,
    set_defaultUserContext: Sys$Net$WebServiceProxy$set_defaultUserContext,
    get_defaultSucceededCallback: Sys$Net$WebServiceProxy$get_defaultSucceededCallback,
    set_defaultSucceededCallback: Sys$Net$WebServiceProxy$set_defaultSucceededCallback,
    get_defaultFailedCallback: Sys$Net$WebServiceProxy$get_defaultFailedCallback,
    set_defaultFailedCallback: Sys$Net$WebServiceProxy$set_defaultFailedCallback,
    get_path: Sys$Net$WebServiceProxy$get_path,
    set_path: Sys$Net$WebServiceProxy$set_path,
    _invoke: Sys$Net$WebServiceProxy$_invoke
}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');
Sys.Net.WebServiceProxy.invoke = function Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, timeout) {
    /// <summary locid="M:J#Sys.Net.WebServiceProxy.invoke" />
    /// <param name="servicePath" type="String"></param>
    /// <param name="methodName" type="String"></param>
    /// <param name="useGet" type="Boolean" optional="true"></param>
    /// <param name="params" mayBeNull="true" optional="true"></param>
    /// <param name="onSuccess" type="Function" mayBeNull="true" optional="true"></param>
    /// <param name="onFailure" type="Function" mayBeNull="true" optional="true"></param>
    /// <param name="userContext" mayBeNull="true" optional="true"></param>
    /// <param name="timeout" type="Number" optional="true"></param>
    /// <returns type="Sys.Net.WebRequest"></returns>
    var e = Function._validateParams(arguments, [
        {name: "servicePath", type: String},
        {name: "methodName", type: String},
        {name: "useGet", type: Boolean, optional: true},
        {name: "params", mayBeNull: true, optional: true},
        {name: "onSuccess", type: Function, mayBeNull: true, optional: true},
        {name: "onFailure", type: Function, mayBeNull: true, optional: true},
        {name: "userContext", mayBeNull: true, optional: true},
        {name: "timeout", type: Number, optional: true}
    ]);
    if (e) throw e;
    var request = new Sys.Net.WebRequest();
    request.get_headers()['Content-Type'] = 'application/json; charset=utf-8';
    if (!params) params = {};
    var urlParams = params;
    if (!useGet || !urlParams) urlParams = {};
    request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+encodeURIComponent(methodName), urlParams));
    var body = null;
    if (!useGet) {
        body = Sys.Serialization.JavaScriptSerializer.serialize(params);
        if (body === "{}") body = "";
    }
    request.set_body(body);
    request.add_completed(onComplete);
    if (timeout && timeout > 0) request.set_timeout(timeout);
    request.invoke();
    function onComplete(response, eventArgs) {
        if (response.get_responseAvailable()) {
            var statusCode = response.get_statusCode();
            var result = null;
           
            try {
                var contentType = response.getResponseHeader("Content-Type");
                if (contentType.startsWith("application/json")) {
                    result = response.get_object();
                }
                else if (contentType.startsWith("text/xml")) {
                    result = response.get_xml();
                }
                else {
                    result = response.get_responseData();
                }
            } catch (ex) {
            }
            var error = response.getResponseHeader("jsonerror");
            var errorObj = (error === "true");
            if (errorObj) {
                if (result) {
                    result = new Sys.Net.WebServiceError(false, result.Message, result.StackTrace, result.ExceptionType);
                }
            }
            else if (contentType.startsWith("application/json")) {
                if (!result || typeof(result.d) === "undefined") {
                    throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceInvalidJsonWrapper, methodName));
                }
                result = result.d;
            }
            if (((statusCode < 200) || (statusCode >= 300)) || errorObj) {
                if (onFailure) {
                    if (!result || !errorObj) {
                        result = new Sys.Net.WebServiceError(false , String.format(Sys.Res.webServiceFailedNoMsg, methodName), "", "");
                    }
                    result._statusCode = statusCode;
                    onFailure(result, userContext, methodName);
                }
                else {
                    var error;
                    if (result && errorObj) {
                        error = result.get_exceptionType() + "-- " + result.get_message();
                    }
                    else {
                        error = response.get_responseData();
                    }
                    throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error));
                }
            }
            else if (onSuccess) {
                onSuccess(result, userContext, methodName);
            }
        }
        else {
            var msg;
            if (response.get_timedOut()) {
                msg = String.format(Sys.Res.webServiceTimedOut, methodName);
            }
            else {
                msg = String.format(Sys.Res.webServiceFailedNoMsg, methodName)
            }
            if (onFailure) {
                onFailure(new Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), userContext, methodName);
            }
            else {
                throw Sys.Net.WebServiceProxy._createFailedError(methodName, msg);
            }
        }
    }
    return request;
}
Sys.Net.WebServiceProxy._createFailedError = function Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) {
    var displayMessage = "Sys.Net.WebServiceFailedException: " + errorMessage;
    var e = Error.create(displayMessage, { 'name': 'Sys.Net.WebServiceFailedException', 'methodName': methodName });
    e.popStackFrame();
    return e;
}
Sys.Net.WebServiceProxy._defaultFailedCallback = function Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) {
    var error = err.get_exceptionType() + "-- " + err.get_message();
    throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error));
}
Sys.Net.WebServiceProxy._generateTypedConstructor = function Sys$Net$WebServiceProxy$_generateTypedConstructor(type) {
    return function(properties) {
        if (properties) {
            for (var name in properties) {
                this[name] = properties[name];
            }
        }
        this.__type = type;
    }
}
 
Sys.Net.WebServiceError = function Sys$Net$WebServiceError(timedOut, message, stackTrace, exceptionType) {
    /// <summary locid="M:J#Sys.Net.WebServiceError.#ctor" />
    /// <param name="timedOut" type="Boolean"></param>
    /// <param name="message" type="String" mayBeNull="true"></param>
    /// <param name="stackTrace" type="String" mayBeNull="true"></param>
    /// <param name="exceptionType" type="String" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "timedOut", type: Boolean},
        {name: "message", type: String, mayBeNull: true},
        {name: "stackTrace", type: String, mayBeNull: true},
        {name: "exceptionType", type: String, mayBeNull: true}
    ]);
    if (e) throw e;
    this._timedOut = timedOut;
    this._message = message;
    this._stackTrace = stackTrace;
    this._exceptionType = exceptionType;
    this._statusCode = -1;
}
    function Sys$Net$WebServiceError$get_timedOut() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebServiceError.timedOut"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$WebServiceError$get_statusCode() {
        /// <value type="Number" locid="P:J#Sys.Net.WebServiceError.statusCode"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._statusCode;
    }
    function Sys$Net$WebServiceError$get_message() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceError.message"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._message;
    }
    function Sys$Net$WebServiceError$get_stackTrace() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceError.stackTrace"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._stackTrace;
    }
    function Sys$Net$WebServiceError$get_exceptionType() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceError.exceptionType"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._exceptionType;
    }
Sys.Net.WebServiceError.prototype = {
    get_timedOut: Sys$Net$WebServiceError$get_timedOut,
    get_statusCode: Sys$Net$WebServiceError$get_statusCode,
    get_message: Sys$Net$WebServiceError$get_message,
    get_stackTrace: Sys$Net$WebServiceError$get_stackTrace,
    get_exceptionType: Sys$Net$WebServiceError$get_exceptionType
}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');
Type.registerNamespace('Sys.Services');
Sys.Services._ProfileService = function Sys$Services$_ProfileService() {
    Sys.Services._ProfileService.initializeBase(this);
    this.properties = {};
}
Sys.Services._ProfileService.DefaultWebServicePath = '';
    function Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services._ProfileService.defaultLoadCompletedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultLoadCompletedCallback;
    }
    function Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLoadCompletedCallback = value;
    }
    function Sys$Services$_ProfileService$get_defaultSaveCompletedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services._ProfileService.defaultSaveCompletedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultSaveCompletedCallback;
    }
    function Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultSaveCompletedCallback = value;
    }
    function Sys$Services$_ProfileService$get_path() {
        /// <value type="String" mayBeNull="true" locid="P:J#Sys.Services._ProfileService.path"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_ProfileService$load(propertyNames, loadCompletedCallback, failedCallback, userContext) {
        /// <summary locid="M:J#Sys.Services._ProfileService.load" />
        /// <param name="propertyNames" type="Array" elementType="String" optional="true" elementMayBeNull="false" mayBeNull="true"></param>
        /// <param name="loadCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="userContext" optional="true" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "propertyNames", type: Array, mayBeNull: true, optional: true, elementType: String},
            {name: "loadCompletedCallback", type: Function, mayBeNull: true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        var parameters;
        var methodName;
        if (!propertyNames) {
            methodName = "GetAllPropertiesForCurrentUser";
            parameters = { authenticatedUserOnly: false };
        }
        else {
            methodName = "GetPropertiesForCurrentUser";
            parameters = { properties: this._clonePropertyNames(propertyNames), authenticatedUserOnly: false };
        }
        this._invoke(this._get_path(),
                                        methodName,
                                        false,
                                        parameters,
                                        Function.createDelegate(this, this._onLoadComplete),
                                        Function.createDelegate(this, this._onLoadFailed),
                                        [loadCompletedCallback, failedCallback, userContext]);
    }
    function Sys$Services$_ProfileService$save(propertyNames, saveCompletedCallback, failedCallback, userContext) {
        /// <summary locid="M:J#Sys.Services._ProfileService.save" />
        /// <param name="propertyNames" type="Array" elementType="String" optional="true" elementMayBeNull="false" mayBeNull="true"></param>
        /// <param name="saveCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="userContext" optional="true" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "propertyNames", type: Array, mayBeNull: true, optional: true, elementType: String},
            {name: "saveCompletedCallback", type: Function, mayBeNull: true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        var flattenedProperties = this._flattenProperties(propertyNames, this.properties);
        this._invoke(this._get_path(),
                                        "SetPropertiesForCurrentUser",
                                        false,
                                        { values: flattenedProperties.value, authenticatedUserOnly: false },
                                        Function.createDelegate(this, this._onSaveComplete),
                                        Function.createDelegate(this, this._onSaveFailed),
                                        [saveCompletedCallback, failedCallback, userContext, flattenedProperties.count]);
    }
    function Sys$Services$_ProfileService$_clonePropertyNames(arr) {
        var nodups = [];
        var seen = {};
        for (var i=0; i < arr.length; i++) {
            var prop = arr[i];
            if(!seen[prop]) { Array.add(nodups, prop); seen[prop]=true; };
        }
        return nodups;
    }
    function Sys$Services$_ProfileService$_flattenProperties(propertyNames, properties, groupName) {
        var flattenedProperties = {};
        var val;
        var key;
        var count = 0;
        if (propertyNames && propertyNames.length === 0) {
            return { value: flattenedProperties, count: 0 };
        }
        for (var property in properties) {
            val = properties[property];
            key = groupName ? groupName + "." + property : property;
            if(Sys.Services.ProfileGroup.isInstanceOfType(val)) {
                var obj = this._flattenProperties(propertyNames, val, key);
                var groupProperties = obj.value;
                count += obj.count; 
                for(var subKey in groupProperties) {
                    var subVal = groupProperties[subKey];
                    flattenedProperties[subKey] = subVal;
                }
            }
            else {
                if(!propertyNames || Array.indexOf(propertyNames, key) !== -1) {
                    flattenedProperties[key] = val;
                    count++; 
                }
            }
        }
        return { value: flattenedProperties, count: count };
    }
    function Sys$Services$_ProfileService$_get_path() {
        var path = this.get_path();
        if (!path.length) {
            path = Sys.Services._ProfileService.DefaultWebServicePath;
        }
        if (!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }
    function Sys$Services$_ProfileService$_onLoadComplete(result, context, methodName) {
        if (typeof(result) !== "object") {
            throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Object"));
        }
        var unflattened = this._unflattenProperties(result);
        for (var name in unflattened) {
            this.properties[name] = unflattened[name];
        }
        
        var callback = context[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback();
        if (callback) {
            var userContext = context[2] || this.get_defaultUserContext();        
            callback(result.length, userContext, "Sys.Services.ProfileService.load");
        }
    }
    function Sys$Services$_ProfileService$_onLoadFailed(err, context, methodName) {
        var callback = context[1] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext = context[2] || this.get_defaultUserContext();        
            callback(err, userContext, "Sys.Services.ProfileService.load");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName);
        }
    }
    function Sys$Services$_ProfileService$_onSaveComplete(result, context, methodName) {
        var count = context[3];
        if (result !== null) { 
            if (result instanceof Array) {
                count -= result.length;
            }
            else if (typeof(result) === 'number') {
                count = result;
            }
            else {
                throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Array"));
            }
        }
        
        var callback = context[0] || this.get_defaultSaveCompletedCallback() || this.get_defaultSucceededCallback();
        if (callback) {
            var userContext = context[2] || this.get_defaultUserContext();
            callback(count, userContext, "Sys.Services.ProfileService.save");
        }
    }
    function Sys$Services$_ProfileService$_onSaveFailed(err, context, methodName) {
        var callback = context[1] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext = context[2] || this.get_defaultUserContext();
            callback(err, userContext, "Sys.Services.ProfileService.save");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName);
        }
    }
    function Sys$Services$_ProfileService$_unflattenProperties(properties) {
        var unflattenedProperties = {};
        var dotIndex;
        var val;
        var count = 0;
        for (var key in properties) {
            count++;
            val = properties[key];
            dotIndex = key.indexOf('.');
            if (dotIndex !== -1) {
                var groupName = key.substr(0, dotIndex);
                key = key.substr(dotIndex+1);
                var group = unflattenedProperties[groupName];
                if (!group || !Sys.Services.ProfileGroup.isInstanceOfType(group)) {
                    group = new Sys.Services.ProfileGroup();
                    unflattenedProperties[groupName] = group;
                }
                group[key] = val;
            }
            else {
                unflattenedProperties[key] = val;
            }
        }
        properties.length = count;
        return unflattenedProperties;
    }
Sys.Services._ProfileService.prototype = {
    _defaultLoadCompletedCallback: null,
    _defaultSaveCompletedCallback: null,
    _path: '',
    _timeout: 0,
    get_defaultLoadCompletedCallback: Sys$Services$_ProfileService$get_defaultLoadCompletedCallback,
    set_defaultLoadCompletedCallback: Sys$Services$_ProfileService$set_defaultLoadCompletedCallback,
    get_defaultSaveCompletedCallback: Sys$Services$_ProfileService$get_defaultSaveCompletedCallback,
    set_defaultSaveCompletedCallback: Sys$Services$_ProfileService$set_defaultSaveCompletedCallback,
    get_path: Sys$Services$_ProfileService$get_path,
    load: Sys$Services$_ProfileService$load,
    save: Sys$Services$_ProfileService$save,
    _clonePropertyNames: Sys$Services$_ProfileService$_clonePropertyNames,    
    _flattenProperties: Sys$Services$_ProfileService$_flattenProperties,
    _get_path: Sys$Services$_ProfileService$_get_path,    
    _onLoadComplete: Sys$Services$_ProfileService$_onLoadComplete,
    _onLoadFailed: Sys$Services$_ProfileService$_onLoadFailed,
    _onSaveComplete: Sys$Services$_ProfileService$_onSaveComplete,
    _onSaveFailed: Sys$Services$_ProfileService$_onSaveFailed,
    _unflattenProperties: Sys$Services$_ProfileService$_unflattenProperties
}
Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService', Sys.Net.WebServiceProxy);
Sys.Services.ProfileService = new Sys.Services._ProfileService();
Sys.Services.ProfileGroup = function Sys$Services$ProfileGroup(properties) {
    /// <summary locid="M:J#Sys.Services.ProfileGroup.#ctor" />
    /// <param name="properties" optional="true" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "properties", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if (properties) {
        for (var property in properties) {
            this[property] = properties[property];
        }
    }
}
Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup');
Sys.Services._AuthenticationService = function Sys$Services$_AuthenticationService() {
    /// <summary locid="M:J#Sys.Services._AuthenticationService.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    Sys.Services._AuthenticationService.initializeBase(this);
}
Sys.Services._AuthenticationService.DefaultWebServicePath = '';
    function Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services._AuthenticationService.defaultLoginCompletedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultLoginCompletedCallback;
    }
    function Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLoginCompletedCallback = value;
    }
    function Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services._AuthenticationService.defaultLogoutCompletedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultLogoutCompletedCallback;
    }
    function Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLogoutCompletedCallback = value;
    }
    function Sys$Services$_AuthenticationService$get_isLoggedIn() {
        /// <value type="Boolean" locid="P:J#Sys.Services._AuthenticationService.isLoggedIn"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._authenticated;
    }
    function Sys$Services$_AuthenticationService$get_path() {
        /// <value type="String" mayBeNull="true" locid="P:J#Sys.Services._AuthenticationService.path"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_AuthenticationService$login(username, password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, failedCallback, userContext) {
        /// <summary locid="M:J#Sys.Services._AuthenticationService.login" />
        /// <param name="username" type="String" mayBeNull="false"></param>
        /// <param name="password" type="String" mayBeNull="true"></param>
        /// <param name="isPersistent" type="Boolean" optional="true" mayBeNull="true"></param>
        /// <param name="customInfo" type="String" optional="true" mayBeNull="true"></param>
        /// <param name="redirectUrl" type="String" optional="true" mayBeNull="true"></param>
        /// <param name="loginCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="userContext" optional="true" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "username", type: String},
            {name: "password", type: String, mayBeNull: true},
            {name: "isPersistent", type: Boolean, mayBeNull: true, optional: true},
            {name: "customInfo", type: String, mayBeNull: true, optional: true},
            {name: "redirectUrl", type: String, mayBeNull: true, optional: true},
            {name: "loginCompletedCallback", type: Function, mayBeNull: true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        this._invoke(this._get_path(), "Login", false,
                                        { userName: username, password: password, createPersistentCookie: isPersistent },
                                        Function.createDelegate(this, this._onLoginComplete),
                                        Function.createDelegate(this, this._onLoginFailed),
                                        [username, password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, failedCallback, userContext]);
    }
    function Sys$Services$_AuthenticationService$logout(redirectUrl, logoutCompletedCallback, failedCallback, userContext) {
        /// <summary locid="M:J#Sys.Services._AuthenticationService.logout" />
        /// <param name="redirectUrl" type="String" optional="true" mayBeNull="true"></param>
        /// <param name="logoutCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="userContext" optional="true" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "redirectUrl", type: String, mayBeNull: true, optional: true},
            {name: "logoutCompletedCallback", type: Function, mayBeNull: true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        this._invoke(this._get_path(), "Logout", false, {}, 
                                        Function.createDelegate(this, this._onLogoutComplete),
                                        Function.createDelegate(this, this._onLogoutFailed),
                                        [redirectUrl, logoutCompletedCallback, failedCallback, userContext]);
    }
    function Sys$Services$_AuthenticationService$_get_path() {
        var path = this.get_path();
        if(!path.length) {
            path = Sys.Services._AuthenticationService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }
    function Sys$Services$_AuthenticationService$_onLoginComplete(result, context, methodName) {
        if(typeof(result) !== "boolean") {
            throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Boolean"));
        }
        
        var redirectUrl = context[4];
        var userContext = context[7] || this.get_defaultUserContext();
        var callback = context[5] || this.get_defaultLoginCompletedCallback() || this.get_defaultSucceededCallback();
        
        if(result) {
            this._authenticated = true;
            if (callback) {
                callback(true, userContext, "Sys.Services.AuthenticationService.login");
            }
            
            if (typeof(redirectUrl) !== "undefined" && redirectUrl !== null) {
                window.location.href = redirectUrl;
            }
        }
        else if (callback) {
            callback(false, userContext, "Sys.Services.AuthenticationService.login");
        }
    }
    function Sys$Services$_AuthenticationService$_onLoginFailed(err, context, methodName) {
        var callback = context[6] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext = context[7] || this.get_defaultUserContext();
            callback(err, userContext, "Sys.Services.AuthenticationService.login");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName);
        }
    }
    function Sys$Services$_AuthenticationService$_onLogoutComplete(result, context, methodName) {
        if(result !== null) {
            throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "null"));
        }
        
        var redirectUrl = context[0];
        var userContext = context[3] || this.get_defaultUserContext();
        var callback = context[1] || this.get_defaultLogoutCompletedCallback() || this.get_defaultSucceededCallback();
        this._authenticated = false;
        
        if (callback) {
            callback(null, userContext, "Sys.Services.AuthenticationService.logout");
        }
        
        if(!redirectUrl) {
            window.location.reload();
        }
        else {
            window.location.href = redirectUrl;
        }
    }
    function Sys$Services$_AuthenticationService$_onLogoutFailed(err, context, methodName) {
        var callback = context[2] || this.get_defaultFailedCallback();
        if (callback) {
            callback(err, context[3], "Sys.Services.AuthenticationService.logout");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName);
        }
    }
    function Sys$Services$_AuthenticationService$_setAuthenticated(authenticated) {
        this._authenticated = authenticated;
    }
Sys.Services._AuthenticationService.prototype = {
    _defaultLoginCompletedCallback: null,
    _defaultLogoutCompletedCallback: null,
    _path: '',
    _timeout: 0,
    _authenticated: false,
    get_defaultLoginCompletedCallback: Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback,
    set_defaultLoginCompletedCallback: Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback,
    get_defaultLogoutCompletedCallback: Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback,
    set_defaultLogoutCompletedCallback: Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback,
    get_isLoggedIn: Sys$Services$_AuthenticationService$get_isLoggedIn,
    get_path: Sys$Services$_AuthenticationService$get_path,  
    login: Sys$Services$_AuthenticationService$login,
    logout: Sys$Services$_AuthenticationService$logout,
    _get_path: Sys$Services$_AuthenticationService$_get_path,
    _onLoginComplete: Sys$Services$_AuthenticationService$_onLoginComplete,
    _onLoginFailed: Sys$Services$_AuthenticationService$_onLoginFailed,
    _onLogoutComplete: Sys$Services$_AuthenticationService$_onLogoutComplete,
    _onLogoutFailed: Sys$Services$_AuthenticationService$_onLogoutFailed,
    _setAuthenticated: Sys$Services$_AuthenticationService$_setAuthenticated    
}
Sys.Services._AuthenticationService.registerClass('Sys.Services._AuthenticationService', Sys.Net.WebServiceProxy);
Sys.Services.AuthenticationService = new Sys.Services._AuthenticationService();
Sys.Services._RoleService = function Sys$Services$_RoleService() {
    Sys.Services._RoleService.initializeBase(this);
    this._roles = [];
}
Sys.Services._RoleService.DefaultWebServicePath = '';
    function Sys$Services$_RoleService$get_defaultLoadCompletedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services._RoleService.defaultLoadCompletedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultLoadCompletedCallback;
    }
    function Sys$Services$_RoleService$set_defaultLoadCompletedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLoadCompletedCallback = value;
    }
    function Sys$Services$_RoleService$get_path() {
        /// <value type="String" mayBeNull="true" locid="P:J#Sys.Services._RoleService.path"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_RoleService$get_roles() {
        /// <value type="Array" elementType="String" mayBeNull="false" locid="P:J#Sys.Services._RoleService.roles"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return Array.clone(this._roles);
    }
    function Sys$Services$_RoleService$isUserInRole(role) {
        /// <summary locid="M:J#Sys.Services._RoleService.isUserInRole" />
        /// <param name="role" type="String" mayBeNull="false"></param>
        var e = Function._validateParams(arguments, [
            {name: "role", type: String}
        ]);
        if (e) throw e;
        var v = this._get_rolesIndex()[role.trim().toLowerCase()];
        return !!v;
    }
    function Sys$Services$_RoleService$load(loadCompletedCallback, failedCallback, userContext) {
        /// <summary locid="M:J#Sys.Services._RoleService.load" />
        /// <param name="loadCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="userContext" optional="true" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "loadCompletedCallback", type: Function, mayBeNull: true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        Sys.Net.WebServiceProxy.invoke(
                    this._get_path(),
                    "GetRolesForCurrentUser",
                    false,
                    {} ,
                    Function.createDelegate(this, this._onLoadComplete),
                    Function.createDelegate(this, this._onLoadFailed),
                    [loadCompletedCallback, failedCallback, userContext],
                    this.get_timeout());
    }
    function Sys$Services$_RoleService$_get_path() {
        var path = this.get_path();
        if(!path || !path.length) {
            path = Sys.Services._RoleService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }
    function Sys$Services$_RoleService$_get_rolesIndex() {
        if (!this._rolesIndex) {
            var index = {};
            for(var i=0; i < this._roles.length; i++) {
                index[this._roles[i].toLowerCase()] = true;
            }
            this._rolesIndex = index;
        }
        return this._rolesIndex;
    }
    function Sys$Services$_RoleService$_onLoadComplete(result, context, methodName) {
        if(result && !(result instanceof Array)) {
            throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Array"));
        }
        this._roles = result;
        this._rolesIndex = null;
        var callback = context[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback();
        if (callback) {
            var userContext = context[2] || this.get_defaultUserContext();
            var clonedResult = Array.clone(result);
            callback(clonedResult, userContext, "Sys.Services.RoleService.load");
        }
    }
    function Sys$Services$_RoleService$_onLoadFailed(err, context, methodName) {
        var callback = context[1] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext = context[2] || this.get_defaultUserContext();
            callback(err, userContext, "Sys.Services.RoleService.load");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName);
        }
    }
Sys.Services._RoleService.prototype = {
    _defaultLoadCompletedCallback: null,
    _rolesIndex: null,
    _timeout: 0,
    _path: '',
    get_defaultLoadCompletedCallback: Sys$Services$_RoleService$get_defaultLoadCompletedCallback,
    set_defaultLoadCompletedCallback: Sys$Services$_RoleService$set_defaultLoadCompletedCallback,
    get_path: Sys$Services$_RoleService$get_path,
    get_roles: Sys$Services$_RoleService$get_roles,
    isUserInRole: Sys$Services$_RoleService$isUserInRole,
    load: Sys$Services$_RoleService$load,
    _get_path: Sys$Services$_RoleService$_get_path,  
    _get_rolesIndex: Sys$Services$_RoleService$_get_rolesIndex,
    _onLoadComplete: Sys$Services$_RoleService$_onLoadComplete,
    _onLoadFailed: Sys$Services$_RoleService$_onLoadFailed
}
Sys.Services._RoleService.registerClass('Sys.Services._RoleService', Sys.Net.WebServiceProxy);
Sys.Services.RoleService = new Sys.Services._RoleService();
Type.registerNamespace('Sys.Serialization');
Sys.Serialization.JavaScriptSerializer = function Sys$Serialization$JavaScriptSerializer() {
    /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer');
Sys.Serialization.JavaScriptSerializer._serverTypeFieldName = '__type';
Sys.Serialization.JavaScriptSerializer._stringRegEx = new RegExp('["\\b\\f\\n\\r\\t\\\\\\x00-\\x1F]', 'i');
Sys.Serialization.JavaScriptSerializer._dateRegEx = new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"', 'g');
Sys.Serialization.JavaScriptSerializer._jsonRegEx = new RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]', 'g');
Sys.Serialization.JavaScriptSerializer._jsonStringRegEx = new RegExp('"(\\\\.|[^"\\\\])*"', 'g');
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object, stringBuilder) {
    stringBuilder.append(object.toString());
}
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object, stringBuilder) {
    if (isFinite(object)) {
        stringBuilder.append(String(object));
    }
    else {
        throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);
    }
}
Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(object, stringBuilder) {
    stringBuilder.append('"');
    if (Sys.Serialization.JavaScriptSerializer._stringRegEx.test(object)) {
        var length = object.length;
        for (i = 0; i < length; ++i) {
            var curChar = object.charAt(i);
            if (curChar >= ' ') {
                if (curChar === '\\' || curChar === '"') {
                    stringBuilder.append('\\');
                }
                stringBuilder.append(curChar);
            }
            else {
                switch (curChar) {
                    case '\b':
                        stringBuilder.append('\\b');
                        break;
                    case '\f':
                        stringBuilder.append('\\f');
                        break;
                    case '\n':
                        stringBuilder.append('\\n');
                        break;
                    case '\r':
                        stringBuilder.append('\\r');
                        break;
                    case '\t':
                        stringBuilder.append('\\t');
                        break;
                    default:
                        stringBuilder.append('\\u00');
                        if (curChar.charCodeAt() < 16) stringBuilder.append('0');
                        stringBuilder.append(curChar.charCodeAt().toString(16));
                }
            }
        }
    } else {
        stringBuilder.append(object);
    }
    stringBuilder.append('"');    
}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, stringBuilder, sort, prevObjects) {
    var i;
    switch (typeof object) {
    case 'object':
        if (object) {
            if (prevObjects){
                for( var j = 0; j < prevObjects.length; j++) {
                    if (prevObjects[j] === object) {
                        throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle);
                    }
                }
            }
            else {
                prevObjects = new Array();
            }
            try {
                Array.add(prevObjects, object);
                
                if (Number.isInstanceOfType(object)){
                    Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder);
                }
                else if (Boolean.isInstanceOfType(object)){
                    Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder);
                }
                else if (String.isInstanceOfType(object)){
                    Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder);
                }
            
                else if (Array.isInstanceOfType(object)) {
                    stringBuilder.append('[');
                   
                    for (i = 0; i < object.length; ++i) {
                        if (i > 0) {
                            stringBuilder.append(',');
                        }
                        Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], stringBuilder,false,prevObjects);
                    }
                    stringBuilder.append(']');
                }
                else {
                    if (Date.isInstanceOfType(object)) {
                        stringBuilder.append('"\\/Date(');
                        stringBuilder.append(object.getTime());
                        stringBuilder.append(')\\/"');
                        break;
                    }
                    var properties = [];
                    var propertyCount = 0;
                    for (var name in object) {
                        if (name.startsWith('$')) {
                            continue;
                        }
                        if (name === Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && propertyCount !== 0){
                            properties[propertyCount++] = properties[0];
                            properties[0] = name;
                        }
                        else{
                            properties[propertyCount++] = name;
                        }
                    }
                    if (sort) properties.sort();
                    stringBuilder.append('{');
                    var needComma = false;
                     
                    for (i=0; i<propertyCount; i++) {
                        var value = object[properties[i]];
                        if (typeof value !== 'undefined' && typeof value !== 'function') {
                            if (needComma) {
                                stringBuilder.append(',');
                            }
                            else {
                                needComma = true;
                            }
                           
                            Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i], stringBuilder, sort, prevObjects);
                            stringBuilder.append(':');
                            Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value, stringBuilder, sort, prevObjects);
                          
                        }
                    }
                stringBuilder.append('}');
                }
            }
            finally {
                Array.removeAt(prevObjects, prevObjects.length - 1);
            }
        }
        else {
            stringBuilder.append('null');
        }
        break;
    case 'number':
        Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder);
        break;
    case 'string':
        Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder);
        break;
    case 'boolean':
        Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder);
        break;
    default:
        stringBuilder.append('null');
        break;
    }
}
Sys.Serialization.JavaScriptSerializer.serialize = function Sys$Serialization$JavaScriptSerializer$serialize(object) {
    /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.serialize" />
    /// <param name="object" mayBeNull="true"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;
    var stringBuilder = new Sys.StringBuilder();
    Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, stringBuilder, false);
    return stringBuilder.toString();
}
Sys.Serialization.JavaScriptSerializer.deserialize = function Sys$Serialization$JavaScriptSerializer$deserialize(data, secure) {
    /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.deserialize" />
    /// <param name="data" type="String"></param>
    /// <param name="secure" type="Boolean" optional="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "data", type: String},
        {name: "secure", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    
    if (data.length === 0) throw Error.argument('data', Sys.Res.cannotDeserializeEmptyString);
    try {    
        var exp = data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx, "$1new Date($2)");
        
        if (secure && Sys.Serialization.JavaScriptSerializer._jsonRegEx.test(
             exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx, ''))) throw null;
        return eval('(' + exp + ')');
    }
    catch (e) {
         throw Error.argument('data', Sys.Res.cannotDeserializeInvalidJson);
    }
}
 
Sys.CultureInfo = function Sys$CultureInfo(name, numberFormat, dateTimeFormat) {
    /// <summary locid="M:J#Sys.CultureInfo.#ctor" />
    /// <param name="name" type="String"></param>
    /// <param name="numberFormat" type="Object"></param>
    /// <param name="dateTimeFormat" type="Object"></param>
    var e = Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "numberFormat", type: Object},
        {name: "dateTimeFormat", type: Object}
    ]);
    if (e) throw e;
    this.name = name;
    this.numberFormat = numberFormat;
    this.dateTimeFormat = dateTimeFormat;
}
    function Sys$CultureInfo$_getDateTimeFormats() {
        if (! this._dateTimeFormats) {
            var dtf = this.dateTimeFormat;
            this._dateTimeFormats =
              [ dtf.MonthDayPattern,
                dtf.YearMonthPattern,
                dtf.ShortDatePattern,
                dtf.ShortTimePattern,
                dtf.LongDatePattern,
                dtf.LongTimePattern,
                dtf.FullDateTimePattern,
                dtf.RFC1123Pattern,
                dtf.SortableDateTimePattern,
                dtf.UniversalSortableDateTimePattern ];
        }
        return this._dateTimeFormats;
    }
    function Sys$CultureInfo$_getMonthIndex(value) {
        if (!this._upperMonths) {
            this._upperMonths = this._toUpperArray(this.dateTimeFormat.MonthNames);
        }
        return Array.indexOf(this._upperMonths, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrMonthIndex(value) {
        if (!this._upperAbbrMonths) {
            this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);
        }
        return Array.indexOf(this._upperAbbrMonths, this._toUpper(value));
    }
    function Sys$CultureInfo$_getDayIndex(value) {
        if (!this._upperDays) {
            this._upperDays = this._toUpperArray(this.dateTimeFormat.DayNames);
        }
        return Array.indexOf(this._upperDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrDayIndex(value) {
        if (!this._upperAbbrDays) {
            this._upperAbbrDays = this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);
        }
        return Array.indexOf(this._upperAbbrDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_toUpperArray(arr) {
        var result = [];
        for (var i = 0, il = arr.length; i < il; i++) {
            result[i] = this._toUpper(arr[i]);
        }
        return result;
    }
    function Sys$CultureInfo$_toUpper(value) {
        return value.split("\u00A0").join(' ').toUpperCase();
    }
Sys.CultureInfo.prototype = {
    _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats,
    _getMonthIndex: Sys$CultureInfo$_getMonthIndex,
    _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex,
    _getDayIndex: Sys$CultureInfo$_getDayIndex,
    _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex,
    _toUpperArray: Sys$CultureInfo$_toUpperArray,
    _toUpper: Sys$CultureInfo$_toUpper
}
Sys.CultureInfo._parse = function Sys$CultureInfo$_parse(value) {
    var cultureInfo = Sys.Serialization.JavaScriptSerializer.deserialize(value);
    return new Sys.CultureInfo(cultureInfo.name, cultureInfo.numberFormat, cultureInfo.dateTimeFormat);
}
Sys.CultureInfo.registerClass('Sys.CultureInfo');
Sys.CultureInfo.InvariantCulture = Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}');
if (typeof(__cultureInfo) === 'undefined') {
    var __cultureInfo = '{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}';
}
Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse(__cultureInfo);
delete __cultureInfo;
 
Sys.UI.Behavior = function Sys$UI$Behavior(element) {
    /// <summary locid="M:J#Sys.UI.Behavior.#ctor" />
    /// <param name="element" domElement="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    Sys.UI.Behavior.initializeBase(this);
    this._element = element;
    var behaviors = element._behaviors;
    if (!behaviors) {
        element._behaviors = [this];
    }
    else {
        behaviors[behaviors.length] = this;
    }
}
    function Sys$UI$Behavior$get_element() {
        /// <value domElement="true" locid="P:J#Sys.UI.Behavior.element"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Behavior$get_id() {
        /// <value type="String" locid="P:J#Sys.UI.Behavior.id"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        var baseId = Sys.UI.Behavior.callBaseMethod(this, 'get_id');
        if (baseId) return baseId;
        if (!this._element || !this._element.id) return '';
        return this._element.id + '$' + this.get_name();
    }
    function Sys$UI$Behavior$get_name() {
        /// <value type="String" locid="P:J#Sys.UI.Behavior.name"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._name) return this._name;
        var name = Object.getTypeName(this);
        var i = name.lastIndexOf('.');
        if (i != -1) name = name.substr(i + 1);
        if (!this.get_isInitialized()) this._name = name;
        return name;
    }
    function Sys$UI$Behavior$set_name(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        if ((value === '') || (value.charAt(0) === ' ') || (value.charAt(value.length - 1) === ' '))
            throw Error.argument('value', Sys.Res.invalidId);
        if (typeof(this._element[value]) !== 'undefined')
            throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, value));
        if (this.get_isInitialized()) throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit);
        this._name = value;
    }
    function Sys$UI$Behavior$initialize() {
        Sys.UI.Behavior.callBaseMethod(this, 'initialize');
        var name = this.get_name();
        if (name) this._element[name] = this;
    }
    function Sys$UI$Behavior$dispose() {
        Sys.UI.Behavior.callBaseMethod(this, 'dispose');
        if (this._element) {
            var name = this.get_name();
            if (name) {
                this._element[name] = null;
            }
            Array.remove(this._element._behaviors, this);
            delete this._element;
        }
    }
Sys.UI.Behavior.prototype = {
    _name: null,
    get_element: Sys$UI$Behavior$get_element,
    get_id: Sys$UI$Behavior$get_id,
    get_name: Sys$UI$Behavior$get_name,
    set_name: Sys$UI$Behavior$set_name,
    initialize: Sys$UI$Behavior$initialize,
    dispose: Sys$UI$Behavior$dispose
}
Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component);
Sys.UI.Behavior.getBehaviorByName = function Sys$UI$Behavior$getBehaviorByName(element, name) {
    /// <summary locid="M:J#Sys.UI.Behavior.getBehaviorByName" />
    /// <param name="element" domElement="true"></param>
    /// <param name="name" type="String"></param>
    /// <returns type="Sys.UI.Behavior" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "name", type: String}
    ]);
    if (e) throw e;
    var b = element[name];
    return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null;
}
Sys.UI.Behavior.getBehaviors = function Sys$UI$Behavior$getBehaviors(element) {
    /// <summary locid="M:J#Sys.UI.Behavior.getBehaviors" />
    /// <param name="element" domElement="true"></param>
    /// <returns type="Array" elementType="Sys.UI.Behavior"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    if (!element._behaviors) return [];
    return Array.clone(element._behaviors);
}
Sys.UI.Behavior.getBehaviorsByType = function Sys$UI$Behavior$getBehaviorsByType(element, type) {
    /// <summary locid="M:J#Sys.UI.Behavior.getBehaviorsByType" />
    /// <param name="element" domElement="true"></param>
    /// <param name="type" type="Type"></param>
    /// <returns type="Array" elementType="Sys.UI.Behavior"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "type", type: Type}
    ]);
    if (e) throw e;
    var behaviors = element._behaviors;
    var results = [];
    if (behaviors) {
        for (var i = 0, l = behaviors.length; i < l; i++) {
            if (type.isInstanceOfType(behaviors[i])) {
                results[results.length] = behaviors[i];
            }
        }
    }
    return results;
}
 
Sys.UI.VisibilityMode = function Sys$UI$VisibilityMode() {
    /// <summary locid="M:J#Sys.UI.VisibilityMode.#ctor" />
    /// <field name="hide" type="Number" integer="true" static="true" locid="F:J#Sys.UI.VisibilityMode.hide"></field>
    /// <field name="collapse" type="Number" integer="true" static="true" locid="F:J#Sys.UI.VisibilityMode.collapse"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.VisibilityMode.prototype = {
    hide: 0,
    collapse: 1
}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");
 
Sys.UI.Control = function Sys$UI$Control(element) {
    /// <summary locid="M:J#Sys.UI.Control.#ctor" />
    /// <param name="element" domElement="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    if (typeof(element.control) != 'undefined') throw Error.invalidOperation(Sys.Res.controlAlreadyDefined);
    Sys.UI.Control.initializeBase(this);
    this._element = element;
    element.control = this;
}
    function Sys$UI$Control$get_element() {
        /// <value domElement="true" locid="P:J#Sys.UI.Control.element"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Control$get_id() {
        /// <value type="String" locid="P:J#Sys.UI.Control.id"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._element) return '';
        return this._element.id;
    }
    function Sys$UI$Control$set_id(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        throw Error.invalidOperation(Sys.Res.cantSetId);
    }
    function Sys$UI$Control$get_parent() {
        /// <value type="Sys.UI.Control" locid="P:J#Sys.UI.Control.parent"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._parent) return this._parent;
        if (!this._element) return null;
        
        var parentElement = this._element.parentNode;
        while (parentElement) {
            if (parentElement.control) {
                return parentElement.control;
            }
            parentElement = parentElement.parentNode;
        }
        return null;
    }
    function Sys$UI$Control$set_parent(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.Control}]);
        if (e) throw e;
        if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        var parents = [this];
        var current = value;
        while (current) {
            if (Array.contains(parents, current)) throw Error.invalidOperation(Sys.Res.circularParentChain);
            parents[parents.length] = current;
            current = current.get_parent();
        }
        this._parent = value;
    }
    function Sys$UI$Control$get_visibilityMode() {
        /// <value type="Sys.UI.VisibilityMode" locid="P:J#Sys.UI.Control.visibilityMode"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        return Sys.UI.DomElement.getVisibilityMode(this._element);
    }
    function Sys$UI$Control$set_visibilityMode(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.VisibilityMode}]);
        if (e) throw e;
        if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.setVisibilityMode(this._element, value);
    }
    function Sys$UI$Control$get_visible() {
        /// <value type="Boolean" locid="P:J#Sys.UI.Control.visible"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        return Sys.UI.DomElement.getVisible(this._element);
    }
    function Sys$UI$Control$set_visible(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);
        if (e) throw e;
        if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.setVisible(this._element, value)
    }
    function Sys$UI$Control$addCssClass(className) {
        /// <summary locid="M:J#Sys.UI.Control.addCssClass" />
        /// <param name="className" type="String"></param>
        var e = Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;
        if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.addCssClass(this._element, className);
    }
    function Sys$UI$Control$dispose() {
        Sys.UI.Control.callBaseMethod(this, 'dispose');
        if (this._element) {
            this._element.control = undefined;
            delete this._element;
        }
        if (this._parent) delete this._parent;
    }
    function Sys$UI$Control$onBubbleEvent(source, args) {
        /// <summary locid="M:J#Sys.UI.Control.onBubbleEvent" />
        /// <param name="source"></param>
        /// <param name="args" type="Sys.EventArgs"></param>
        /// <returns type="Boolean"></returns>
        var e = Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;
        return false;
    }
    function Sys$UI$Control$raiseBubbleEvent(source, args) {
        /// <summary locid="M:J#Sys.UI.Control.raiseBubbleEvent" />
        /// <param name="source"></param>
        /// <param name="args" type="Sys.EventArgs"></param>
        var e = Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;
        var currentTarget = this.get_parent();
        while (currentTarget) {
            if (currentTarget.onBubbleEvent(source, args)) {
                return;
            }
            currentTarget = currentTarget.get_parent();
        }
    }
    function Sys$UI$Control$removeCssClass(className) {
        /// <summary locid="M:J#Sys.UI.Control.removeCssClass" />
        /// <param name="className" type="String"></param>
        var e = Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;
        if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.removeCssClass(this._element, className);
    }
    function Sys$UI$Control$toggleCssClass(className) {
        /// <summary locid="M:J#Sys.UI.Control.toggleCssClass" />
        /// <param name="className" type="String"></param>
        var e = Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;
        if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.toggleCssClass(this._element, className);
    }
Sys.UI.Control.prototype = {
    _parent: null,
    _visibilityMode: Sys.UI.VisibilityMode.hide,
    get_element: Sys$UI$Control$get_element,
    get_id: Sys$UI$Control$get_id,
    set_id: Sys$UI$Control$set_id,
    get_parent: Sys$UI$Control$get_parent,
    set_parent: Sys$UI$Control$set_parent,
    get_visibilityMode: Sys$UI$Control$get_visibilityMode,
    set_visibilityMode: Sys$UI$Control$set_visibilityMode,
    get_visible: Sys$UI$Control$get_visible,
    set_visible: Sys$UI$Control$set_visible,
    addCssClass: Sys$UI$Control$addCssClass,
    dispose: Sys$UI$Control$dispose,
    onBubbleEvent: Sys$UI$Control$onBubbleEvent,
    raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent,
    removeCssClass: Sys$UI$Control$removeCssClass,
    toggleCssClass: Sys$UI$Control$toggleCssClass
}
Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component);
Type.registerNamespace('Sys');
Sys.Res={
'argumentTypeName':'Value is not the name of an existing type.',
'methodRegisteredTwice':'Method {0} has already been registered.',
'cantSetIdAfterInit':'The id property can\'t be set on this object after initialization.',
'cantBeCalledAfterDispose':'Can\'t be called after dispose.',
'componentCantSetIdAfterAddedToApp':'The id property of a component can\'t be set after it\'s been added to the Application object.',
'behaviorDuplicateName':'A behavior with name \'{0}\' already exists or it is the name of an existing property on the target element.',
'notATypeName':'Value is not a valid type name.',
'typeShouldBeTypeOrString':'Value is not a valid type or a valid type name.',
'boolTrueOrFalse':'Value must be \'true\' or \'false\'.',
'stringFormatInvalid':'The format string is invalid.',
'referenceNotFound':'Component \'{0}\' was not found.',
'enumReservedName':'\'{0}\' is a reserved name that can\'t be used as an enum value name.',
'eventHandlerNotFound':'Handler not found.',
'circularParentChain':'The chain of control parents can\'t have circular references.',
'undefinedEvent':'\'{0}\' is not an event.',
'notAMethod':'{0} is not a method.',
'propertyUndefined':'\'{0}\' is not a property or an existing field.',
'eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.',
'scriptLoadFailedDebug':'The script \'{0}\' failed to load. Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable \'Display a notification about every script error\' under advanced settings.\r\n Missing call to Sys.Application.notifyScriptLoaded().',
'propertyNotWritable':'\'{0}\' is not a writable property.',
'enumInvalidValueName':'\'{0}\' is not a valid name for an enum value.',
'controlAlreadyDefined':'A control is already associated with the element.',
'addHandlerCantBeUsedForError':'Can\'t add a handler for the error event using this method. Please set the window.onerror property instead.',
'namespaceContainsObject':'Object {0} already exists and is not a namespace.',
'cantAddNonFunctionhandler':'Can\'t add a handler that is not a function.',
'scriptLoaderAlreadyLoading':'ScriptLoader.loadScripts cannot be called while the ScriptLoader is already loading scripts.',
'invalidNameSpace':'Value is not a valid namespace identifier.',
'notAnInterface':'Value is not a valid interface.',
'eventHandlerNotFunction':'Handler must be a function.',
'propertyNotAnArray':'\'{0}\' is not an Array property.',
'typeRegisteredTwice':'Type {0} has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update.',
'cantSetNameAfterInit':'The name property can\'t be set on this object after initialization.',
'appDuplicateComponent':'Two components with the same id \'{0}\' can\'t be added to the application.',
'appComponentMustBeInitialized':'Components must be initialized before they are added to the Application object.',
'baseNotAClass':'Value is not a class.',
'methodNotFound':'No method found with name \'{0}\'.',
'arrayParseBadFormat':'Value must be a valid string representation for an array. It must start with a \'[\' and end with a \']\'.',
'cantSetId':'The id property can\'t be set on this object.',
'stringFormatBraceMismatch':'The format string contains an unmatched opening or closing brace.',
'enumValueNotInteger':'An enumeration definition can only contain integer values.',
'propertyNullOrUndefined':'Cannot set the properties of \'{0}\' because it returned a null value.',
'argumentDomNode':'Value must be a DOM element or a text node.',
'componentCantSetIdTwice':'The id property of a component can\'t be set more than once.',
'createComponentOnDom':'Value must be null for Components that are not Controls or Behaviors.',
'createNotComponent':'{0} does not derive from Sys.Component.',
'createNoDom':'Value must not be null for Controls and Behaviors.',
'cantAddWithoutId':'Can\'t add a component that doesn\'t have an id.',
'badTypeName':'Value is not the name of the type being registered or the name is a reserved word.',
'argumentInteger':'Value must be an integer.',
'scriptLoadMultipleCallbacks':'The script \'{0}\' contains multiple calls to Sys.Application.notifyScriptLoaded(). Only one is allowed.',
'invokeCalledTwice':'Cannot call invoke more than once.',
'webServiceFailed':'The server method \'{0}\' failed with the following error: {1}',
'webServiceInvalidJsonWrapper':'The server method \'{0}\' returned invalid data. The \'d\' property is missing from the JSON wrapper.',
'argumentType':'Object cannot be converted to the required type.',
'argumentNull':'Value cannot be null.',
'controlCantSetId':'The id property can\'t be set on a control.',
'formatBadFormatSpecifier':'Format specifier was invalid.',
'webServiceFailedNoMsg':'The server method \'{0}\' failed.',
'argumentDomElement':'Value must be a DOM element.',
'invalidExecutorType':'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.',
'cannotCallBeforeResponse':'Cannot call {0} when responseAvailable is false.',
'actualValue':'Actual value was {0}.',
'enumInvalidValue':'\'{0}\' is not a valid value for enum {1}.',
'scriptLoadFailed':'The script \'{0}\' could not be loaded.',
'parameterCount':'Parameter count mismatch.',
'cannotDeserializeEmptyString':'Cannot deserialize empty string.',
'formatInvalidString':'Input string was not in a correct format.',
'invalidTimeout':'Value must be greater than or equal to zero.',
'cannotAbortBeforeStart':'Cannot abort when executor has not started.',
'argument':'Value does not fall within the expected range.',
'cannotDeserializeInvalidJson':'Cannot deserialize. The data does not correspond to valid JSON.',
'invalidHttpVerb':'httpVerb cannot be set to an empty or null string.',
'nullWebRequest':'Cannot call executeRequest with a null webRequest.',
'eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.',
'cannotSerializeNonFiniteNumbers':'Cannot serialize non finite numbers.',
'argumentUndefined':'Value cannot be undefined.',
'webServiceInvalidReturnType':'The server method \'{0}\' returned an invalid type. Expected type: {1}',
'servicePathNotSet':'The path to the web service has not been set.',
'argumentTypeWithTypes':'Object of type \'{0}\' cannot be converted to type \'{1}\'.',
'cannotCallOnceStarted':'Cannot call {0} once started.',
'badBaseUrl1':'Base URL does not contain ://.',
'badBaseUrl2':'Base URL does not contain another /.',
'badBaseUrl3':'Cannot find last / in base URL.',
'setExecutorAfterActive':'Cannot set executor after it has become active.',
'paramName':'Parameter name: {0}',
'cannotCallOutsideHandler':'Cannot call {0} outside of a completed event handler.',
'cannotSerializeObjectWithCycle':'Cannot serialize object with cyclic reference within child properties.',
'format':'One of the identified items was in an invalid format.',
'assertFailedCaller':'Assertion Failed: {0}\r\nat {1}',
'argumentOutOfRange':'Specified argument was out of the range of valid values.',
'webServiceTimedOut':'The server method \'{0}\' timed out.',
'notImplemented':'The method or operation is not implemented.',
'assertFailed':'Assertion Failed: {0}',
'invalidOperation':'Operation is not valid due to the current state of the object.',
'breakIntoDebugger':'{0}\r\n\r\nBreak into debugger?'
};
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
8`//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjax.js
Function.__typeName="Function";Function.__class=true;Function.createCallback=function(b,a){return function(){var e=arguments.length;if(e>0){var d=[];for(var c=0;c<e;c++)d[c]=arguments[c];d[e]=a;return b.apply(this,d)}return b.call(this,a)}};Function.createDelegate=function(a,b){return function(){return b.apply(a,arguments)}};Function.emptyFunction=Function.emptyMethod=function(){};Function._validateParams=function(e,c){var a;a=Function._validateParameterCount(e,c);if(a){a.popStackFrame();return a}for(var b=0;b<e.length;b++){var d=c[Math.min(b,c.length-1)],f=d.name;if(d.parameterArray)f+="["+(b-c.length+1)+"]";a=Function._validateParameter(e[b],d,f);if(a){a.popStackFrame();return a}}return null};Function._validateParameterCount=function(e,a){var c=a.length,d=0;for(var b=0;b<a.length;b++)if(a[b].parameterArray)c=Number.MAX_VALUE;else if(!a[b].optional)d++;if(e.length<d||e.length>c){var f=Error.parameterCount();f.popStackFrame();return f}return null};Function._validateParameter=function(c,a,h){var b,g=a.type,l=!!a.integer,k=!!a.domElement,m=!!a.mayBeNull;b=Function._validateParameterType(c,g,l,k,m,h);if(b){b.popStackFrame();return b}var e=a.elementType,f=!!a.elementMayBeNull;if(g===Array&&typeof c!=="undefined"&&c!==null&&(e||!f)){var j=!!a.elementInteger,i=!!a.elementDomElement;for(var d=0;d<c.length;d++){var n=c[d];b=Function._validateParameterType(n,e,j,i,f,h+"["+d+"]");if(b){b.popStackFrame();return b}}}return null};Function._validateParameterType=function(a,c,n,m,k,d){var b;if(typeof a==="undefined")if(k)return null;else{b=Error.argumentUndefined(d);b.popStackFrame();return b}if(a===null)if(k)return null;else{b=Error.argumentNull(d);b.popStackFrame();return b}if(c&&c.__enum){if(typeof a!=="number"){b=Error.argumentType(d,Object.getType(a),c);b.popStackFrame();return b}if(a%1===0){var e=c.prototype;if(!c.__flags||a===0){for(var i in e)if(e[i]===a)return null}else{var l=a;for(var i in e){var f=e[i];if(f===0)continue;if((f&a)===f)l-=f;if(l===0)return null}}}b=Error.argumentOutOfRange(d,a,String.format(Sys.Res.enumInvalidValue,a,c.getName()));b.popStackFrame();return b}if(m){var h;if(typeof a.nodeType!=="number"){var g=a.ownerDocument||a.document||a;if(g!=a){var j=g.defaultView||g.parentWindow;h=j!=a&&!(j.document&&a.document&&j.document===a.document)}else h=typeof g.body==="undefined"}else h=a.nodeType===3;if(h){b=Error.argument(d,Sys.Res.argumentDomElement);b.popStackFrame();return b}}if(c&&!c.isInstanceOfType(a)){b=Error.argumentType(d,Object.getType(a),c);b.popStackFrame();return b}if(c===Number&&n)if(a%1!==0){b=Error.argumentOutOfRange(d,a,Sys.Res.argumentInteger);b.popStackFrame();return b}return null};Error.__typeName="Error";Error.__class=true;Error.create=function(d,b){var a=new Error(d);a.message=d;if(b)for(var c in b)a[c]=b[c];a.popStackFrame();return a};Error.argument=function(a,c){var b="Sys.ArgumentException: "+(c?c:Sys.Res.argument);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentException",paramName:a});d.popStackFrame();return d};Error.argumentNull=function(a,c){var b="Sys.ArgumentNullException: "+(c?c:Sys.Res.argumentNull);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentNullException",paramName:a});d.popStackFrame();return d};Error.argumentOutOfRange=function(c,a,d){var b="Sys.ArgumentOutOfRangeException: "+(d?d:Sys.Res.argumentOutOfRange);if(c)b+="\n"+String.format(Sys.Res.paramName,c);if(typeof a!=="undefined"&&a!==null)b+="\n"+String.format(Sys.Res.actualValue,a);var e=Error.create(b,{name:"Sys.ArgumentOutOfRangeException",paramName:c,actualValue:a});e.popStackFrame();return e};Error.argumentType=function(d,c,b,e){var a="Sys.ArgumentTypeException: ";if(e)a+=e;else if(c&&b)a+=String.format(Sys.Res.argumentTypeWithTypes,c.getName(),b.getName());else a+=Sys.Res.argumentType;if(d)a+="\n"+String.format(Sys.Res.paramName,d);var f=Error.create(a,{name:"Sys.ArgumentTypeException",paramName:d,actualType:c,expectedType:b});f.popStackFrame();return f};Error.argumentUndefined=function(a,c){var b="Sys.ArgumentUndefinedException: "+(c?c:Sys.Res.argumentUndefined);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentUndefinedException",paramName:a});d.popStackFrame();return d};Error.format=function(a){var c="Sys.FormatException: "+(a?a:Sys.Res.format),b=Error.create(c,{name:"Sys.FormatException"});b.popStackFrame();return b};Error.invalidOperation=function(a){var c="Sys.InvalidOperationException: "+(a?a:Sys.Res.invalidOperation),b=Error.create(c,{name:"Sys.InvalidOperationException"});b.popStackFrame();return b};Error.notImplemented=function(a){var c="Sys.NotImplementedException: "+(a?a:Sys.Res.notImplemented),b=Error.create(c,{name:"Sys.NotImplementedException"});b.popStackFrame();return b};Error.parameterCount=function(a){var c="Sys.ParameterCountException: "+(a?a:Sys.Res.parameterCount),b=Error.create(c,{name:"Sys.ParameterCountException"});b.popStackFrame();return b};Error.prototype.popStackFrame=function(){if(typeof this.stack==="undefined"||this.stack===null||typeof this.fileName==="undefined"||this.fileName===null||typeof this.lineNumber==="undefined"||this.lineNumber===null)return;var a=this.stack.split("\n"),c=a[0],e=this.fileName+":"+this.lineNumber;while(typeof c!=="undefined"&&c!==null&&c.indexOf(e)===-1){a.shift();c=a[0]}var d=a[1];if(typeof d==="undefined"||d===null)return;var b=d.match(/@(.*):(\d+)$/);if(typeof b==="undefined"||b===null)return;this.fileName=b[1];this.lineNumber=parseInt(b[2]);a.shift();this.stack=a.join("\n")};Object.__typeName="Object";Object.__class=true;Object.getType=function(b){var a=b.constructor;if(!a||typeof a!=="function"||!a.__typeName||a.__typeName==="Object")return Object;return a};Object.getTypeName=function(a){return Object.getType(a).getName()};String.__typeName="String";String.__class=true;String.prototype.endsWith=function(a){return this.substr(this.length-a.length)===a};String.prototype.startsWith=function(a){return this.substr(0,a.length)===a};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};String.prototype.trimEnd=function(){return this.replace(/\s+$/,"")};String.prototype.trimStart=function(){return this.replace(/^\s+/,"")};String.format=function(){return String._toFormattedString(false,arguments)};String.localeFormat=function(){return String._toFormattedString(true,arguments)};String._toFormattedString=function(l,j){var c="",e=j[0];for(var a=0;true;){var f=e.indexOf("{",a),d=e.indexOf("}",a);if(f<0&&d<0){c+=e.slice(a);break}if(d>0&&(d<f||f<0)){c+=e.slice(a,d+1);a=d+2;continue}c+=e.slice(a,f);a=f+1;if(e.charAt(a)==="{"){c+="{";a++;continue}if(d<0)break;var h=e.substring(a,d),g=h.indexOf(":"),k=parseInt(g<0?h:h.substring(0,g),10)+1,i=g<0?"":h.substring(g+1),b=j[k];if(typeof b==="undefined"||b===null)b="";if(b.toFormattedString)c+=b.toFormattedString(i);else if(l&&b.localeFormat)c+=b.localeFormat(i);else if(b.format)c+=b.format(i);else c+=b.toString();a=d+1}return c};Boolean.__typeName="Boolean";Boolean.__class=true;Boolean.parse=function(b){var a=b.trim().toLowerCase();if(a==="false")return false;if(a==="true")return true};Date.__typeName="Date";Date.__class=true;Date._appendPreOrPostMatch=function(e,b){var d=0,a=false;for(var c=0,g=e.length;c<g;c++){var f=e.charAt(c);switch(f){case "'":if(a)b.append("'");else d++;a=false;break;case "\\":if(a)b.append("\\");a=!a;break;default:b.append(f);a=false}}return d};Date._expandFormat=function(a,b){if(!b)b="F";if(b.length===1)switch(b){case "d":return a.ShortDatePattern;case "D":return a.LongDatePattern;case "t":return a.ShortTimePattern;case "T":return a.LongTimePattern;case "F":return a.FullDateTimePattern;case "M":case "m":return a.MonthDayPattern;case "s":return a.SortableDateTimePattern;case "Y":case "y":return a.YearMonthPattern;default:throw Error.format(Sys.Res.formatInvalidString)}return b};Date._expandYear=function(c,a){if(a<100){var b=(new Date).getFullYear();a+=b-b%100;if(a>c.Calendar.TwoDigitYearMax)return a-100}return a};Date._getParseRegExp=function(b,e){if(!b._parseRegExp)b._parseRegExp={};else if(b._parseRegExp[e])return b._parseRegExp[e];var c=Date._expandFormat(b,e);c=c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var a=new Sys.StringBuilder("^"),j=[],f=0,i=0,h=Date._getTokenRegExp(),d;while((d=h.exec(c))!==null){var l=c.slice(f,d.index);f=h.lastIndex;i+=Date._appendPreOrPostMatch(l,a);if(i%2===1){a.append(d[0]);continue}switch(d[0]){case "dddd":case "ddd":case "MMMM":case "MMM":a.append("(\\D+)");break;case "tt":case "t":a.append("(\\D*)");break;case "yyyy":a.append("(\\d{4})");break;case "fff":a.append("(\\d{3})");break;case "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":a.append("(\\d\\d?)");break;case "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case "z":a.append("([+-]?\\d\\d?)")}Array.add(j,d[0])}Date._appendPreOrPostMatch(c.slice(f),a);a.append("$");var k=a.toString().replace(/\s+/g,"\\s+"),g={"regExp":k,"groups":j};b._parseRegExp[e]=g;return g};Date._getTokenRegExp=function(){return /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g};Date.parseLocale=function(a){return Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvariant=function(a){return Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=function(g,c,h){var e=false;for(var a=1,i=h.length;a<i;a++){var f=h[a];if(f){e=true;var b=Date._parseExact(g,f,c);if(b)return b}}if(!e){var d=c._getDateTimeFormats();for(var a=0,i=d.length;a<i;a++){var b=Date._parseExact(g,d[a],c);if(b)return b}}return null};Date._parseExact=function(s,y,j){s=s.trim();var m=j.dateTimeFormat,v=Date._getParseRegExp(m,y),x=(new RegExp(v.regExp)).exec(s);if(x===null)return null;var w=v.groups,f=null,c=null,h=null,g=null,d=0,n=0,o=0,e=0,k=null,r=false;for(var p=0,z=w.length;p<z;p++){var a=x[p+1];if(a)switch(w[p]){case "dd":case "d":h=parseInt(a,10);if(h<1||h>31)return null;break;case "MMMM":c=j._getMonthIndex(a);if(c<0||c>11)return null;break;case "MMM":c=j._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case "M":case "MM":var c=parseInt(a,10)-1;if(c<0||c>11)return null;break;case "y":case "yy":f=Date._expandYear(m,parseInt(a,10));if(f<0||f>9999)return null;break;case "yyyy":f=parseInt(a,10);if(f<0||f>9999)return null;break;case "h":case "hh":d=parseInt(a,10);if(d===12)d=0;if(d<0||d>11)return null;break;case "H":case "HH":d=parseInt(a,10);if(d<0||d>23)return null;break;case "m":case "mm":n=parseInt(a,10);if(n<0||n>59)return null;break;case "s":case "ss":o=parseInt(a,10);if(o<0||o>59)return null;break;case "tt":case "t":var u=a.toUpperCase();r=u===m.PMDesignator.toUpperCase();if(!r&&u!==m.AMDesignator.toUpperCase())return null;break;case "f":e=parseInt(a,10)*100;if(e<0||e>999)return null;break;case "ff":e=parseInt(a,10)*10;if(e<0||e>999)return null;break;case "fff":e=parseInt(a,10);if(e<0||e>999)return null;break;case "dddd":g=j._getDayIndex(a);if(g<0||g>6)return null;break;case "ddd":g=j._getAbbrDayIndex(a);if(g<0||g>6)return null;break;case "zzz":var q=a.split(/:/);if(q.length!==2)return null;var i=parseInt(q[0],10);if(i<-12||i>13)return null;var l=parseInt(q[1],10);if(l<0||l>59)return null;k=i*60+(a.startsWith("-")?-l:l);break;case "z":case "zz":var i=parseInt(a,10);if(i<-12||i>13)return null;k=i*60}}var b=new Date;if(f===null)f=b.getFullYear();if(c===null)c=b.getMonth();if(h===null)h=b.getDate();b.setFullYear(f,c,h);if(b.getDate()!==h)return null;if(g!==null&&b.getDay()!==g)return null;if(r&&d<12)d+=12;b.setHours(d,n,o,e);if(k!==null){var t=b.getMinutes()-(k+b.getTimezoneOffset());b.setHours(b.getHours()+parseInt(t/60,10),t%60)}return b};Date.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Date.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Date.prototype._toFormattedString=function(e,h){if(!e||e.length===0||e==="i")if(h&&h.name.length>0)return this.toLocaleString();else return this.toString();var d=h.dateTimeFormat;e=Date._expandFormat(d,e);var a=new Sys.StringBuilder,b;function c(a){if(a<10)return "0"+a;return a.toString()}function g(a){if(a<10)return "00"+a;if(a<100)return "0"+a;return a.toString()}var j=0,i=Date._getTokenRegExp();for(;true;){var l=i.lastIndex,f=i.exec(e),k=e.slice(l,f?f.index:e.length);j+=Date._appendPreOrPostMatch(k,a);if(!f)break;if(j%2===1){a.append(f[0]);continue}switch(f[0]){case "dddd":a.append(d.DayNames[this.getDay()]);break;case "ddd":a.append(d.AbbreviatedDayNames[this.getDay()]);break;case "dd":a.append(c(this.getDate()));break;case "d":a.append(this.getDate());break;case "MMMM":a.append(d.MonthNames[this.getMonth()]);break;case "MMM":a.append(d.AbbreviatedMonthNames[this.getMonth()]);break;case "MM":a.append(c(this.getMonth()+1));break;case "M":a.append(this.getMonth()+1);break;case "yyyy":a.append(this.getFullYear());break;case "yy":a.append(c(this.getFullYear()%100));break;case "y":a.append(this.getFullYear()%100);break;case "hh":b=this.getHours()%12;if(b===0)b=12;a.append(c(b));break;case "h":b=this.getHours()%12;if(b===0)b=12;a.append(b);break;case "HH":a.append(c(this.getHours()));break;case "H":a.append(this.getHours());break;case "mm":a.append(c(this.getMinutes()));break;case "m":a.append(this.getMinutes());break;case "ss":a.append(c(this.getSeconds()));break;case "s":a.append(this.getSeconds());break;case "tt":a.append(this.getHours()<12?d.AMDesignator:d.PMDesignator);break;case "t":a.append((this.getHours()<12?d.AMDesignator:d.PMDesignator).charAt(0));break;case "f":a.append(g(this.getMilliseconds()).charAt(0));break;case "ff":a.append(g(this.getMilliseconds()).substr(0,2));break;case "fff":a.append(g(this.getMilliseconds()));break;case "z":b=this.getTimezoneOffset()/60;a.append((b<=0?"+":"-")+Math.floor(Math.abs(b)));break;case "zz":b=this.getTimezoneOffset()/60;a.append((b<=0?"+":"-")+c(Math.floor(Math.abs(b))));break;case "zzz":b=this.getTimezoneOffset()/60;a.append((b<=0?"+":"-")+c(Math.floor(Math.abs(b)))+d.TimeSeparator+c(Math.abs(this.getTimezoneOffset()%60)))}}return a.toString()};Number.__typeName="Number";Number.__class=true;Number.parseLocale=function(a){return Number._parse(a,Sys.CultureInfo.CurrentCulture)};Number.parseInvariant=function(a){return Number._parse(a,Sys.CultureInfo.InvariantCulture)};Number._parse=function(b,n){b=b.trim();if(b.match(/^[+-]?infinity$/i))return parseFloat(b);if(b.match(/^0x[a-f0-9]+$/i))return parseInt(b);var a=n.numberFormat,f=Number._parseNumberNegativePattern(b,a,a.NumberNegativePattern),h=f[0],d=f[1];if(h===""&&a.NumberNegativePattern!==1){f=Number._parseNumberNegativePattern(b,a,1);h=f[0];d=f[1]}if(h==="")h="+";var j,c,e=d.indexOf("e");if(e<0)e=d.indexOf("E");if(e<0){c=d;j=null}else{c=d.substr(0,e);j=d.substr(e+1)}var g,k,m=c.indexOf(a.NumberDecimalSeparator);if(m<0){g=c;k=null}else{g=c.substr(0,m);k=c.substr(m+a.NumberDecimalSeparator.length)}g=g.split(a.NumberGroupSeparator).join("");var l=h+g;if(k!==null)l+="."+k;if(j!==null){var i=Number._parseNumberNegativePattern(j,a,1);if(i[0]==="")i[0]="+";l+="e"+i[0]+i[1]}if(l.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/))return parseFloat(l);return Number.NaN};Number._parseNumberNegativePattern=function(a,d,e){var b=d.NegativeSign,c=d.PositiveSign;switch(e){case 4:b=" "+b;c=" "+c;case 3:if(a.endsWith(b))return ["-",a.substr(0,a.length-b.length)];else if(a.endsWith(c))return ["+",a.substr(0,a.length-c.length)];break;case 2:b+=" ";c+=" ";case 1:if(a.startsWith(b))return ["-",a.substr(b.length)];else if(a.startsWith(c))return ["+",a.substr(c.length)];break;case 0:if(a.startsWith("(")&&a.endsWith(")"))return ["-",a.substr(1,a.length-2)]}return ["",a]};Number.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Number.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Number.prototype._toFormattedString=function(d,j){if(!d||d.length===0||d==="i")if(j&&j.name.length>0)return this.toLocaleString();else return this.toString();var q=["n %","n%","%n"],p=["-n %","-n%","-%n"],r=["(n)","-n","- n","n-","n -"],o=["$n","n$","$ n","n $"],n=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function i(p,k,j,l,o){var e=j[0],g=1,c=p.toString(),a="",m="",i=c.split(".");if(i.length>1){c=i[0];a=i[1];var h=a.split(/e/i);if(h.length>1){a=h[0];m="e"+h[1]}}if(k>0){var f=a.length-k;if(f>0)a=a.slice(0,k);else if(f<0)for(var n=0;n<Math.abs(f);n++)a+="0";a=o+a}else a="";a+=m;var b=c.length-1,d="";while(b>=0){if(e===0||e>b)if(d.length>0)return c.slice(0,b+1)+l+d+a;else return c.slice(0,b+1)+a;if(d.length>0)d=c.slice(b-e+1,b+1)+l+d;else d=c.slice(b-e+1,b+1);b-=e;if(g<j.length){e=j[g];g++}}return c.slice(0,b+1)+l+d+a}var a=j.numberFormat,e=Math.abs(this);if(!d)d="D";var b=-1;if(d.length>1)b=parseInt(d.slice(1),10);var c;switch(d.charAt(0)){case "d":case "D":c="n";if(b!==-1){var g=""+e,k=b-g.length;if(k>0)for(var m=0;m<k;m++)g="0"+g;e=g}if(this<0)e=-e;break;case "c":case "C":if(this<0)c=n[a.CurrencyNegativePattern];else c=o[a.CurrencyPositivePattern];if(b===-1)b=a.CurrencyDecimalDigits;e=i(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,a.CurrencyDecimalSeparator);break;case "n":case "N":if(this<0)c=r[a.NumberNegativePattern];else c="n";if(b===-1)b=a.NumberDecimalDigits;e=i(Math.abs(this),b,a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break;case "p":case "P":if(this<0)c=p[a.PercentNegativePattern];else c=q[a.PercentPositivePattern];if(b===-1)b=a.PercentDecimalDigits;e=i(Math.abs(this),b,a.PercentGroupSizes,a.PercentGroupSeparator,a.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier)}var l=/n|\$|-|%/g,f="";for(;true;){var s=l.lastIndex,h=l.exec(c);f+=c.slice(s,h?h.index:c.length);if(!h)break;switch(h[0]){case "n":f+=e;break;case "$":f+=a.CurrencySymbol;break;case "-":f+=a.NegativeSign;break;case "%":f+=a.PercentSymbol}}return f};RegExp.__typeName="RegExp";RegExp.__class=true;Array.__typeName="Array";Array.__class=true;Array.add=Array.enqueue=function(a,b){a[a.length]=b};Array.addRange=function(a,b){a.push.apply(a,b)};Array.clear=function(a){a.length=0};Array.clone=function(a){if(a.length===1)return [a[0]];else return Array.apply(null,a)};Array.contains=function(a,b){return Array.indexOf(a,b)>=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a<f;a++){var c=b[a];if(typeof c!=="undefined")e.call(d,c,a,b)}};Array.indexOf=function(d,e,a){if(typeof e==="undefined")return -1;var c=d.length;if(c!==0){a=a-0;if(isNaN(a))a=0;else{if(isFinite(a))a=a-a%1;if(a<0)a=Math.max(0,c+a)}for(var b=a;b<c;b++)if(typeof d[b]!=="undefined"&&d[b]===e)return b}return -1};Array.insert=function(a,b,c){a.splice(b,0,c)};Array.parse=function(value){if(!value)return [];return eval(value)};Array.remove=function(b,c){var a=Array.indexOf(b,c);if(a>=0)b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};if(!window)this.window=this;window.Type=Function;Type.prototype.callBaseMethod=function(a,d,b){var c=this.getBaseMethod(a,d);if(!b)return c.apply(a);else return c.apply(a,b)};Type.prototype.getBaseMethod=function(d,c){var b=this.getBaseType();if(b){var a=b.prototype[c];return a instanceof Function?a:null}return null};Type.prototype.getBaseType=function(){return typeof this.__baseType==="undefined"?null:this.__baseType};Type.prototype.getInterfaces=function(){var a=[],b=this;while(b){var c=b.__interfaces;if(c)for(var d=0,f=c.length;d<f;d++){var e=c[d];if(!Array.contains(a,e))a[a.length]=e}b=b.__baseType}return a};Type.prototype.getName=function(){return typeof this.__typeName==="undefined"?"":this.__typeName};Type.prototype.implementsInterface=function(d){this.resolveInheritance();var c=d.getName(),a=this.__interfaceCache;if(a){var e=a[c];if(typeof e!=="undefined")return e}else a=this.__interfaceCache={};var b=this;while(b){var f=b.__interfaces;if(f)if(Array.indexOf(f,d)!==-1)return a[c]=true;b=b.__baseType}return a[c]=false};Type.prototype.inheritsFrom=function(b){this.resolveInheritance();var a=this.__baseType;while(a){if(a===b)return true;a=a.__baseType}return false};Type.prototype.initializeBase=function(a,b){this.resolveInheritance();if(this.__baseType)if(!b)this.__baseType.apply(a);else this.__baseType.apply(a,b);return a};Type.prototype.isImplementedBy=function(a){if(typeof a==="undefined"||a===null)return false;var b=Object.getType(a);return !!(b.implementsInterface&&b.implementsInterface(this))};Type.prototype.isInstanceOfType=function(b){if(typeof b==="undefined"||b===null)return false;if(b instanceof this)return true;var a=Object.getType(b);return !!(a===this)||a.inheritsFrom&&a.inheritsFrom(this)||a.implementsInterface&&a.implementsInterface(this)};Type.prototype.registerClass=function(c,b,d){this.prototype.constructor=this;this.__typeName=c;this.__class=true;if(b){this.__baseType=b;this.__basePrototypePending=true}Sys.__upperCaseTypes[c.toUpperCase()]=this;if(d){this.__interfaces=[];for(var a=2,f=arguments.length;a<f;a++){var e=arguments[a];this.__interfaces.push(e)}}return this};Type.prototype.registerInterface=function(a){Sys.__upperCaseTypes[a.toUpperCase()]=this;this.prototype.constructor=this;this.__typeName=a;this.__interface=true;return this};Type.prototype.resolveInheritance=function(){if(this.__basePrototypePending){var b=this.__baseType;b.resolveInheritance();for(var a in b.prototype){var c=b.prototype[a];if(!this.prototype[a])this.prototype[a]=c}delete this.__basePrototypePending}};Type.getRootNamespaces=function(){return Array.clone(Sys.__rootNamespaces)};Type.isClass=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__class};Type.isInterface=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__interface};Type.isNamespace=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__namespace};Type.parse=function(typeName,ns){var fn;if(ns){fn=Sys.__upperCaseTypes[ns.getName().toUpperCase()+"."+typeName.toUpperCase()];return fn||null}if(!typeName)return null;if(!Type.__htClasses)Type.__htClasses={};fn=Type.__htClasses[typeName];if(!fn){fn=eval(typeName);Type.__htClasses[typeName]=fn}return fn};Type.registerNamespace=function(f){var d=window,c=f.split(".");for(var b=0;b<c.length;b++){var e=c[b],a=d[e];if(!a){a=d[e]={__namespace:true,__typeName:c.slice(0,b+1).join(".")};if(b===0)Sys.__rootNamespaces[Sys.__rootNamespaces.length]=a;a.getName=function(){return this.__typeName}}d=a}};window.Sys={__namespace:true,__typeName:"Sys",getName:function(){return "Sys"},__upperCaseTypes:{}};Sys.__rootNamespaces=[Sys];Sys.IDisposable=function(){};Sys.IDisposable.prototype={};Sys.IDisposable.registerInterface("Sys.IDisposable");Sys.StringBuilder=function(a){this._parts=typeof a!=="undefined"&&a!==null&&a!==""?[a.toString()]:[];this._value={};this._len=0};Sys.StringBuilder.prototype={append:function(a){this._parts[this._parts.length]=a},appendLine:function(a){this._parts[this._parts.length]=typeof a==="undefined"||a===null||a===""?"\r\n":a+"\r\n"},clear:function(){this._parts=[];this._value={};this._len=0},isEmpty:function(){if(this._parts.length===0)return true;return this.toString()===""},toString:function(a){a=a||"";var b=this._parts;if(this._len!==b.length){this._value={};this._len=b.length}var d=this._value;if(typeof d[a]==="undefined"){if(a!=="")for(var c=0;c<b.length;)if(typeof b[c]==="undefined"||b[c]===""||b[c]===null)b.splice(c,1);else c++;d[a]=this._parts.join(a)}return d[a]}};Sys.StringBuilder.registerClass("Sys.StringBuilder");if(!window.XMLHttpRequest)window.XMLHttpRequest=function(){var b=["Mxsml2.XMLHTTP.3.0","Msxml2.XMLHTTP"];for(var a=0,c=b.length;a<c;a++)try{return new ActiveXObject(b[a])}catch(d){}return null};Sys.Browser={};Sys.Browser.InternetExplorer={};Sys.Browser.Firefox={};Sys.Browser.Safari={};Sys.Browser.Opera={};Sys.Browser.agent=null;Sys.Browser.hasDebuggerStatement=false;Sys.Browser.name=navigator.appName;Sys.Browser.version=parseFloat(navigator.appVersion);if(navigator.userAgent.indexOf(" MSIE ")>-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Firefox/")>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name="Firefox";Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Safari/")>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Safari\/(\d+(\.\d+)?)/)[1]);Sys.Browser.name="Safari"}else if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=Sys.Browser.Opera;Type.registerNamespace("Sys.UI");Sys._Debug=function(){};Sys._Debug.prototype={_appendConsole:function(a){if(typeof Debug!=="undefined"&&Debug.writeln)Debug.writeln(a);if(window.console&&window.console.log)window.console.log(a);if(window.opera)window.opera.postError(a);if(window.debugService)window.debugService.trace(a)},_appendTrace:function(b){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value+=b+"\n"},assert:function(c,a,b){if(!c){a=b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.assert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.format(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value=""},fail:function(message){this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){var c=this._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=c?c:"traceDump";b=b?b:"";if(a===null){this.trace(b+c+": null");return}switch(typeof a){case "undefined":this.trace(b+c+": Undefined");break;case "number":case "string":case "boolean":this.trace(b+c+": "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a)){this.trace(b+c+": "+a.toString());break}if(!d)d=[];else if(Array.contains(d,a)){this.trace(b+c+": ...");return}Array.add(d,a);if(a==window||a===document||window.HTMLElement&&a instanceof HTMLElement||typeof a.nodeName==="string"){var k=a.tagName?a.tagName:"DomElement";if(a.id)k+=" - "+a.id;this.trace(b+c+" {"+k+"}")}else{var i=Object.getTypeName(a);this.trace(b+c+(typeof i==="string"?" {"+i+"}":""));if(b===""||f){b+="    ";var e,j,l,g,h;if(Array.isInstanceOfType(a)){j=a.length;for(e=0;e<j;e++)this._traceDump(a[e],"["+e+"]",f,b,d)}else for(g in a){h=a[g];if(!Function.isInstanceOfType(h))this._traceDump(h,g,f,b,d)}}}Array.remove(d,a)}}};Sys._Debug.registerClass("Sys._Debug");Sys.Debug=new Sys._Debug;Sys.Debug.isDebug=false;function Sys$Enum$parse(c,e){var a,b,i;if(e){a=this.__lowerCaseValues;if(!a){this.__lowerCaseValues=a={};var g=this.prototype;for(var f in g)a[f.toLowerCase()]=g[f]}}else a=this.prototype;if(!this.__flags){i=e?c.toLowerCase():c;b=a[i.trim()];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c,this.__typeName));return b}else{var h=(e?c.toLowerCase():c).split(","),j=0;for(var d=h.length-1;d>=0;d--){var k=h[d].trim();b=a[k];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(",")[d].trim(),this.__typeName));j|=b}return j}}function Sys$Enum$toString(c){if(typeof c==="undefined"||c===null)return this.__string;var d=this.prototype,a;if(!this.__flags||c===0){for(a in d)if(d[a]===c)return a}else{var b=this.__sortedValues;if(!b){b=[];for(a in d)b[b.length]={key:a,value:d[a]};b.sort(function(a,b){return a.value-b.value});this.__sortedValues=b}var e=[],g=c;for(a=b.length-1;a>=0;a--){var h=b[a],f=h.value;if(f===0)continue;if((f&c)===f){e[e.length]=h.key;g-=f;if(g===0)break}}if(e.length&&g===0)return e.reverse().join(", ")}return ""}Type.prototype.registerEnum=function(b,c){Sys.__upperCaseTypes[b.toUpperCase()]=this;for(var a in this.prototype)this[a]=this.prototype[a];this.__typeName=b;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=c;this.__enum=true};Type.isEnum=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__enum};Type.isFlags=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__flags};Sys.EventHandlerList=function(){this._list={}};Sys.EventHandlerList.prototype={addHandler:function(b,a){Array.add(this._getEvent(b,true),a)},removeHandler:function(c,b){var a=this._getEvent(c);if(!a)return;Array.remove(a,b)},getHandler:function(b){var a=this._getEvent(b);if(!a||a.length===0)return null;a=Array.clone(a);return function(c,d){for(var b=0,e=a.length;b<e;b++)a[b](c,d)}},_getEvent:function(a,b){if(!this._list[a]){if(!b)return null;this._list[a]=[]}return this._list[a]}};Sys.EventHandlerList.registerClass("Sys.EventHandlerList");Sys.EventArgs=function(){};Sys.EventArgs.registerClass("Sys.EventArgs");Sys.EventArgs.Empty=new Sys.EventArgs;Sys.CancelEventArgs=function(){Sys.CancelEventArgs.initializeBase(this);this._cancel=false};Sys.CancelEventArgs.prototype={get_cancel:function(){return this._cancel},set_cancel:function(a){this._cancel=a}};Sys.CancelEventArgs.registerClass("Sys.CancelEventArgs",Sys.EventArgs);Sys.INotifyPropertyChange=function(){};Sys.INotifyPropertyChange.prototype={};Sys.INotifyPropertyChange.registerInterface("Sys.INotifyPropertyChange");Sys.PropertyChangedEventArgs=function(a){Sys.PropertyChangedEventArgs.initializeBase(this);this._propertyName=a};Sys.PropertyChangedEventArgs.prototype={get_propertyName:function(){return this._propertyName}};Sys.PropertyChangedEventArgs.registerClass("Sys.PropertyChangedEventArgs",Sys.EventArgs);Sys.INotifyDisposing=function(){};Sys.INotifyDisposing.prototype={};Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");Sys.Component=function(){if(Sys.Application)Sys.Application.registerDisposableObject(this)};Sys.Component.prototype={_id:null,_initialized:false,_updating:false,get_events:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_id:function(){return this._id},set_id:function(a){this._id=a},get_isInitialized:function(){return this._initialized},get_isUpdating:function(){return this._updating},add_disposing:function(a){this.get_events().addHandler("disposing",a)},remove_disposing:function(a){this.get_events().removeHandler("disposing",a)},add_propertyChanged:function(a){this.get_events().addHandler("propertyChanged",a)},remove_propertyChanged:function(a){this.get_events().removeHandler("propertyChanged",a)},beginUpdate:function(){this._updating=true},dispose:function(){if(this._events){var a=this._events.getHandler("disposing");if(a)a(this,Sys.EventArgs.Empty)}delete this._events;Sys.Application.unregisterDisposableObject(this);Sys.Application.removeComponent(this)},endUpdate:function(){this._updating=false;if(!this._initialized)this.initialize();this.updated()},initialize:function(){this._initialized=true},raisePropertyChanged:function(b){if(!this._events)return;var a=this._events.getHandler("propertyChanged");if(a)a(this,new Sys.PropertyChangedEventArgs(b))},updated:function(){}};Sys.Component.registerClass("Sys.Component",null,Sys.IDisposable,Sys.INotifyPropertyChange,Sys.INotifyDisposing);function Sys$Component$_setProperties(a,i){var d,j=Object.getType(a),e=j===Object||j===Sys.UI.DomElement,h=Sys.Component.isInstanceOfType(a)&&!a.get_isUpdating();if(h)a.beginUpdate();for(var c in i){var b=i[c],f=e?null:a["get_"+c];if(e||typeof f!=="function"){var k=a[c];if(!b||typeof b!=="object"||e&&!k)a[c]=b;else Sys$Component$_setProperties(k,b)}else{var l=a["set_"+c];if(typeof l==="function")l.apply(a,[b]);else if(b instanceof Array){d=f.apply(a);for(var g=0,m=d.length,n=b.length;g<n;g++,m++)d[m]=b[g]}else if(typeof b==="object"&&Object.getType(b)===Object){d=f.apply(a);Sys$Component$_setProperties(d,b)}}}if(h)a.endUpdate()}function Sys$Component$_setReferences(c,b){for(var a in b){var e=c["set_"+a],d=$find(b[a]);e.apply(c,[d])}}var $create=Sys.Component.create=function(h,f,d,c,g){var a=g?new h(g):new h,b=Sys.Application,i=b.get_isCreatingComponents();a.beginUpdate();if(f)Sys$Component$_setProperties(a,f);if(d)for(var e in d)a["add_"+e](d[e]);if(a.get_id())b.addComponent(a);if(i){b._createdComponents[b._createdComponents.length]=a;if(c)b._addComponentToSecondPass(a,c);else a.endUpdate()}else{if(c)Sys$Component$_setReferences(a,c);a.endUpdate()}return a};Sys.UI.MouseButton=function(){throw Error.notImplemented()};Sys.UI.MouseButton.prototype={leftButton:0,middleButton:1,rightButton:2};Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");Sys.UI.Key=function(){throw Error.notImplemented()};Sys.UI.Key.prototype={backspace:8,tab:9,enter:13,esc:27,space:32,pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40,del:127};Sys.UI.Key.registerEnum("Sys.UI.Key");Sys.UI.Point=function(a,b){this.x=a;this.y=b};Sys.UI.Point.registerClass("Sys.UI.Point");Sys.UI.Bounds=function(c,d,b,a){this.x=c;this.y=d;this.height=a;this.width=b};Sys.UI.Bounds.registerClass("Sys.UI.Bounds");Sys.UI.DomEvent=function(d){var a=d;this.rawEvent=a;this.altKey=a.altKey;if(typeof a.button!=="undefined")this.button=typeof a.which!=="undefined"?a.button:a.button===4?Sys.UI.MouseButton.middleButton:a.button===2?Sys.UI.MouseButton.rightButton:Sys.UI.MouseButton.leftButton;if(a.type==="keypress")this.charCode=a.charCode||a.keyCode;else if(a.keyCode&&a.keyCode===46)this.keyCode=127;else this.keyCode=a.keyCode;this.clientX=a.clientX;this.clientY=a.clientY;this.ctrlKey=a.ctrlKey;this.target=a.target?a.target:a.srcElement;if(typeof a.offsetX!=="undefined"&&typeof a.offsetY!=="undefined"){this.offsetX=a.offsetX;this.offsetY=a.offsetY}else if(this.target&&this.target.nodeType!==3&&typeof a.clientX==="number"){var b=Sys.UI.DomElement.getLocation(this.target),c=Sys.UI.DomElement._getWindow(this.target);this.offsetX=(c.pageXOffset||0)+a.clientX-b.x;this.offsetY=(c.pageYOffset||0)+a.clientY-b.y}this.screenX=a.screenX;this.screenY=a.screenY;this.shiftKey=a.shiftKey;this.type=a.type};Sys.UI.DomEvent.prototype={preventDefault:function(){if(this.rawEvent.preventDefault)this.rawEvent.preventDefault();else if(window.event)this.rawEvent.returnValue=false},stopPropagation:function(){if(this.rawEvent.stopPropagation)this.rawEvent.stopPropagation();else if(window.event)this.rawEvent.cancelBubble=true}};Sys.UI.DomEvent.registerClass("Sys.UI.DomEvent");var $addHandler=Sys.UI.DomEvent.addHandler=function(a,d,e){if(!a._events)a._events={};var c=a._events[d];if(!c)a._events[d]=c=[];var b;if(a.addEventListener){b=function(b){return e.call(a,new Sys.UI.DomEvent(b))};a.addEventListener(d,b,false)}else if(a.attachEvent){b=function(){var b={};try{b=Sys.UI.DomElement._getWindow(a).event}catch(c){}return e.call(a,new Sys.UI.DomEvent(b))};a.attachEvent("on"+d,b)}c[c.length]={handler:e,browserHandler:b}},$addHandlers=Sys.UI.DomEvent.addHandlers=function(e,d,c){for(var b in d){var a=d[b];if(c)a=Function.createDelegate(c,a);$addHandler(e,b,a)}},$clearHandlers=Sys.UI.DomEvent.clearHandlers=function(a){if(a._events){var e=a._events;for(var b in e){var d=e[b];for(var c=d.length-1;c>=0;c--)$removeHandler(a,b,d[c].handler)}a._events=null}},$removeHandler=Sys.UI.DomEvent.removeHandler=function(a,e,f){var d=null,c=a._events[e];for(var b=0,g=c.length;b<g;b++)if(c[b].handler===f){d=c[b].browserHandler;break}if(a.removeEventListener)a.removeEventListener(e,d,false);else if(a.detachEvent)a.detachEvent("on"+e,d);c.splice(b,1)};Sys.UI.DomElement=function(){};Sys.UI.DomElement.registerClass("Sys.UI.DomElement");Sys.UI.DomElement.addCssClass=function(a,b){if(!Sys.UI.DomElement.containsCssClass(a,b))if(a.className==="")a.className=b;else a.className+=" "+b};Sys.UI.DomElement.containsCssClass=function(b,a){return Array.contains(b.className.split(" "),a)};Sys.UI.DomElement.getBounds=function(a){var b=Sys.UI.DomElement.getLocation(a);return new Sys.UI.Bounds(b.x,b.y,a.offsetWidth||0,a.offsetHeight||0)};var $get=Sys.UI.DomElement.getElementById=function(f,e){if(!e)return document.getElementById(f);if(e.getElementById)return e.getElementById(f);var c=[],d=e.childNodes;for(var b=0;b<d.length;b++){var a=d[b];if(a.nodeType==1)c[c.length]=a}while(c.length){a=c.shift();if(a.id==f)return a;d=a.childNodes;for(b=0;b<d.length;b++){a=d[b];if(a.nodeType==1)c[c.length]=a}}return null};switch(Sys.Browser.agent){case Sys.Browser.InternetExplorer:Sys.UI.DomElement.getLocation=function(a){if(a.self||a.nodeType===9)return new Sys.UI.Point(0,0);var b=a.getBoundingClientRect();if(!b)return new Sys.UI.Point(0,0);var d=a.ownerDocument.documentElement,e=b.left-2+d.scrollLeft,f=b.top-2+d.scrollTop;try{var c=a.ownerDocument.parentWindow.frameElement||null;if(c){var g=c.frameBorder==="0"||c.frameBorder==="no"?2:0;e+=g;f+=g}}catch(h){}return new Sys.UI.Point(e,f)};break;case Sys.Browser.Safari:Sys.UI.DomElement.getLocation=function(c){if(c.window&&c.window===c||c.nodeType===9)return new Sys.UI.Point(0,0);var f=0,g=0,j=null,e=null,b;for(var a=c;a;j=a,(e=b,a=a.offsetParent)){b=Sys.UI.DomElement._getCurrentStyle(a);var d=a.tagName;if((a.offsetLeft||a.offsetTop)&&(d!=="BODY"||(!e||e.position!=="absolute"))){f+=a.offsetLeft;g+=a.offsetTop}}b=Sys.UI.DomElement._getCurrentStyle(c);var h=b?b.position:null;if(!h||h!=="absolute")for(var a=c.parentNode;a;a=a.parentNode){d=a.tagName;if(d!=="BODY"&&d!=="HTML"&&(a.scrollLeft||a.scrollTop)){f-=a.scrollLeft||0;g-=a.scrollTop||0}b=Sys.UI.DomElement._getCurrentStyle(a);var i=b?b.position:null;if(i&&i==="absolute")break}return new Sys.UI.Point(f,g)};break;case Sys.Browser.Opera:Sys.UI.DomElement.getLocation=function(b){if(b.window&&b.window===b||b.nodeType===9)return new Sys.UI.Point(0,0);var d=0,e=0,i=null;for(var a=b;a;i=a,a=a.offsetParent){var f=a.tagName;d+=a.offsetLeft||0;e+=a.offsetTop||0}var g=b.style.position,c=g&&g!=="static";for(var a=b.parentNode;a;a=a.parentNode){f=a.tagName;if(f!=="BODY"&&f!=="HTML"&&(a.scrollLeft||a.scrollTop)&&(c&&(a.style.overflow==="scroll"||a.style.overflow==="auto"))){d-=a.scrollLeft||0;e-=a.scrollTop||0}var h=a&&a.style?a.style.position:null;c=c||h&&h!=="static"}return new Sys.UI.Point(d,e)};break;default:Sys.UI.DomElement.getLocation=function(d){if(d.window&&d.window===d||d.nodeType===9)return new Sys.UI.Point(0,0);var e=0,f=0,i=null,g=null,b=null;for(var a=d;a;i=a,(g=b,a=a.offsetParent)){var c=a.tagName;b=Sys.UI.DomElement._getCurrentStyle(a);if((a.offsetLeft||a.offsetTop)&&!(c==="BODY"&&(!g||g.position!=="absolute"))){e+=a.offsetLeft;f+=a.offsetTop}if(i!==null&&b){if(c!=="TABLE"&&c!=="TD"&&c!=="HTML"){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}if(c==="TABLE"&&(b.position==="relative"||b.position==="absolute")){e+=parseInt(b.marginLeft)||0;f+=parseInt(b.marginTop)||0}}}b=Sys.UI.DomElement._getCurrentStyle(d);var h=b?b.position:null;if(!h||h!=="absolute")for(var a=d.parentNode;a;a=a.parentNode){c=a.tagName;if(c!=="BODY"&&c!=="HTML"&&(a.scrollLeft||a.scrollTop)){e-=a.scrollLeft||0;f-=a.scrollTop||0;b=Sys.UI.DomElement._getCurrentStyle(a);if(b){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}}}return new Sys.UI.Point(e,f)}}Sys.UI.DomElement.removeCssClass=function(d,c){var a=" "+d.className+" ",b=a.indexOf(" "+c+" ");if(b>=0)d.className=(a.substr(0,b)+" "+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.setLocation=function(b,c,d){var a=b.style;a.position="absolute";a.left=c+"px";a.top=d+"px"};Sys.UI.DomElement.toggleCssClass=function(b,a){if(Sys.UI.DomElement.containsCssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement.getVisibilityMode=function(a){return a._visibilityMode===Sys.UI.VisibilityMode.hide?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse};Sys.UI.DomElement.setVisibilityMode=function(a,b){Sys.UI.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!==b){a._visibilityMode=b;if(Sys.UI.DomElement.getVisible(a)===false)if(a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none";a._visibilityMode=b}};Sys.UI.DomElement.getVisible=function(b){var a=b.currentStyle||Sys.UI.DomElement._getCurrentStyle(b);if(!a)return true;return a.visibility!=="hidden"&&a.display!=="none"};Sys.UI.DomElement.setVisible=function(a,b){if(b!==Sys.UI.DomElement.getVisible(a)){Sys.UI.DomElement._ensureOldDisplayMode(a);a.style.visibility=b?"visible":"hidden";if(b||a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none"}};Sys.UI.DomElement._ensureOldDisplayMode=function(a){if(!a._oldDisplayMode){var b=a.currentStyle||Sys.UI.DomElement._getCurrentStyle(a);a._oldDisplayMode=b?b.display:null;if(!a._oldDisplayMode||a._oldDisplayMode==="none")switch(a.tagName.toUpperCase()){case "DIV":case "P":case "ADDRESS":case "BLOCKQUOTE":case "BODY":case "COL":case "COLGROUP":case "DD":case "DL":case "DT":case "FIELDSET":case "FORM":case "H1":case "H2":case "H3":case "H4":case "H5":case "H6":case "HR":case "IFRAME":case "LEGEND":case "OL":case "PRE":case "TABLE":case "TD":case "TH":case "TR":case "UL":a._oldDisplayMode="block";break;case "LI":a._oldDisplayMode="list-item";break;default:a._oldDisplayMode="inline"}}};Sys.UI.DomElement._getWindow=function(a){var b=a.ownerDocument||a.document||a;return b.defaultView||b.parentWindow};Sys.UI.DomElement._getCurrentStyle=function(a){if(a.nodeType===3)return null;var c=Sys.UI.DomElement._getWindow(a);if(a.documentElement)a=a.documentElement;var b=c&&a!==c&&c.getComputedStyle?c.getComputedStyle(a,null):a.currentStyle||a.style;if(!b&&Sys.Browser.agent===Sys.Browser.Safari&&a.style){var g=a.style.display,f=a.style.position;a.style.position="absolute";a.style.display="block";var e=c.getComputedStyle(a,null);a.style.display=g;a.style.position=f;b={};for(var d in e)b[d]=e[d];b.display="none"}return b};Sys.IContainer=function(){};Sys.IContainer.prototype={};Sys.IContainer.registerInterface("Sys.IContainer");Sys._ScriptLoader=function(){this._scriptsToLoad=null;this._scriptLoadedDelegate=Function.createDelegate(this,this._scriptLoadedHandler)};Sys._ScriptLoader.prototype={dispose:function(){this._stopLoading();if(this._events)delete this._events;this._scriptLoadedDelegate=null},loadScripts:function(a,c,d,b){this._loading=true;this._allScriptsLoadedCallback=c;this._scriptLoadFailedCallback=d;this._scriptLoadTimeoutCallback=b;if(a>0)this._timeoutCookie=window.setTimeout(Function.createDelegate(this,this._scriptLoadTimeoutHandler),a*1000);this._loadScriptsInternal()},notifyScriptLoaded:function(){if(!this._loading)return;this._currentTask._notified++;if(Sys.Browser.agent===Sys.Browser.Safari)if(this._currentTask._notified===1)window.setTimeout(Function.createDelegate(this,function(){this._scriptLoadedHandler(this._currentTask.get_scriptElement(),true)}),0)},queueCustomScriptTag:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,a)},queueScriptBlock:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{text:a})},queueScriptReference:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{src:a})},_createScriptElement:function(c){var a=document.createElement("SCRIPT");a.type="text/javascript";for(var b in c)a[b]=c[b];return a},_loadScriptsInternal:function(){if(this._scriptsToLoad&&this._scriptsToLoad.length>0){var b=Array.dequeue(this._scriptsToLoad),a=this._createScriptElement(b);if(a.text&&Sys.Browser.agent===Sys.Browser.Safari){a.innerHTML=a.text;delete a.text}if(typeof b.src==="string"){this._currentTask=new Sys._ScriptLoaderTask(a,this._scriptLoadedDelegate);this._currentTask.execute()}else{document.getElementsByTagName("HEAD")[0].appendChild(a);var d=this;window.setTimeout(function(){Sys._ScriptLoader._clearScript(a);d._loadScriptsInternal()},0)}}else{var c=this._allScriptsLoadedCallback;this._stopLoading();if(c)c(this)}},_raiseError:function(a){var c=this._scriptLoadFailedCallback,b=this._currentTask.get_scriptElement();this._stopLoading();if(c)c(this,b,a);else throw Sys._ScriptLoader._errorScriptLoadFailed(b.src,a)},_scriptLoadedHandler:function(a,b){if(b&&this._currentTask._notified)if(this._currentTask._notified>1)this._raiseError(true);else{Array.add(Sys._ScriptLoader._getLoadedScripts(),a.src);this._currentTask.dispose();this._currentTask=null;this._loadScriptsInternal()}else this._raiseError(false)},_scriptLoadTimeoutHandler:function(){var a=this._scriptLoadTimeoutCallback;this._stopLoading();if(a)a(this)},_stopLoading:function(){if(this._timeoutCookie){window.clearTimeout(this._timeoutCookie);this._timeoutCookie=null}if(this._currentTask){this._currentTask.dispose();this._currentTask=null}this._scriptsToLoad=null;this._loading=null;this._allScriptsLoadedCallback=null;this._scriptLoadFailedCallback=null;this._scriptLoadTimeoutCallback=null}};Sys._ScriptLoader.registerClass("Sys._ScriptLoader",null,Sys.IDisposable);Sys._ScriptLoader.getInstance=function(){var a=Sys._ScriptLoader._activeInstance;if(!a)a=Sys._ScriptLoader._activeInstance=new Sys._ScriptLoader;return a};Sys._ScriptLoader.isScriptLoaded=function(b){var a=document.createElement("script");a.src=b;return Array.contains(Sys._ScriptLoader._getLoadedScripts(),a.src)};Sys._ScriptLoader.readLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){var b=Sys._ScriptLoader._referencedScripts=[],c=document.getElementsByTagName("SCRIPT");for(i=c.length-1;i>=0;i--){var d=c[i],a=d.src;if(a.length)if(!Array.contains(b,a))Array.add(b,a)}}};Sys._ScriptLoader._clearScript=function(a){if(!Sys.Debug.isDebug)a.parentNode.removeChild(a)};Sys._ScriptLoader._errorScriptLoadFailed=function(b,d){var a;if(d)a=Sys.Res.scriptLoadMultipleCallbacks;else a=Sys.Res.scriptLoadFailed;var e="Sys.ScriptLoadFailedException: "+String.format(a,b),c=Error.create(e,{name:"Sys.ScriptLoadFailedException","scriptUrl":b});c.popStackFrame();return c};Sys._ScriptLoader._getLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){Sys._ScriptLoader._referencedScripts=[];Sys._ScriptLoader.readLoadedScripts()}return Sys._ScriptLoader._referencedScripts};Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a;this._notified=0};Sys._ScriptLoaderTask.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){if(this._disposed)return;this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoader._clearScript(this._scriptElement);this._scriptElement=null},execute:function(){this._addScriptElementHandlers();document.getElementsByTagName("HEAD")[0].appendChild(this._scriptElement)},_addScriptElementHandlers:function(){this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){this._scriptElement.readyState="loaded";$addHandler(this._scriptElement,"load",this._scriptLoadDelegate)}else $addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelegate);if(this._scriptElement.addEventListener){this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);this._scriptElement.addEventListener("error",this._scriptErrorDelegate,false)}},_removeScriptElementHandlers:function(){if(this._scriptLoadDelegate){var a=this.get_scriptElement();if(Sys.Browser.agent!==Sys.Browser.InternetExplorer)$removeHandler(a,"load",this._scriptLoadDelegate);else $removeHandler(a,"readystatechange",this._scriptLoadDelegate);if(this._scriptErrorDelegate){this._scriptElement.removeEventListener("error",this._scriptErrorDelegate,false);this._scriptErrorDelegate=null}this._scriptLoadDelegate=null}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),false)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(a.readyState!=="loaded"&&a.readyState!=="complete")return;var b=this;window.setTimeout(function(){b._completedCallback(a,true)},0)}};Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys.ApplicationLoadEventArgs=function(b,a){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=b;this._isPartialLoad=a};Sys.ApplicationLoadEventArgs.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs",Sys.EventArgs);Sys._Application=function(){Sys._Application.initializeBase(this);this._disposableObjects=[];this._components={};this._createdComponents=[];this._secondPassComponents=[];this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);this._loadHandlerDelegate=Function.createDelegate(this,this._loadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);Sys.UI.DomEvent.addHandler(window,"load",this._loadHandlerDelegate)};Sys._Application.prototype={_creatingComponents:false,_disposing:false,get_isCreatingComponents:function(){return this._creatingComponents},add_load:function(a){this.get_events().addHandler("load",a)},remove_load:function(a){this.get_events().removeHandler("load",a)},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Empty);else this.get_events().addHandler("init",a)},remove_init:function(a){this.get_events().removeHandler("init",a)},add_unload:function(a){this.get_events().addHandler("unload",a)},remove_unload:function(a){this.get_events().removeHandler("unload",a)},addComponent:function(a){this._components[a.get_id()]=a},beginCreateComponents:function(){this._creatingComponents=true},dispose:function(){if(!this._disposing){this._disposing=true;if(window.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var c=this.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empty);var b=Array.clone(this._disposableObjects);for(var a=0,e=b.length;a<e;a++)b[a].dispose();Array.clear(this._disposableObjects);Sys.UI.DomEvent.removeHandler(window,"unload",this._unloadHandlerDelegate);if(this._loadHandlerDelegate){Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);this._loadHandlerDelegate=null}var d=Sys._ScriptLoader.getInstance();if(d)d.dispose();Sys._Application.callBaseMethod(this,"dispose")}},endCreateComponents:function(){var b=this._secondPassComponents;for(var a=0,d=b.length;a<d;a++){var c=b[a].component;Sys$Component$_setReferences(c,b[a].references);c.endUpdate()}this._secondPassComponents=[];this._creatingComponents=false},findComponent:function(b,a){return a?Sys.IContainer.isInstanceOfType(a)?a.findComponent(b):a[b]||null:Sys.Application._components[b]||null},getComponents:function(){var a=[],b=this._components;for(var c in b)a[a.length]=b[c];return a},initialize:function(){if(!this._initialized&&!this._initializing){this._initializing=true;window.setTimeout(Function.createDelegate(this,this._doInitialize),0)}},notifyScriptLoaded:function(){var a=Sys._ScriptLoader.getInstance();if(a)a.notifyScriptLoaded()},registerDisposableObject:function(a){if(!this._disposing)this._disposableObjects[this._disposableObjects.length]=a},raiseLoad:function(){var b=this.get_events().getHandler("load"),a=new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents),!this._initializing);if(b)b(this,a);if(window.pageLoad)window.pageLoad(this,a);this._createdComponents=[]},removeComponent:function(b){var a=b.get_id();if(a)delete this._components[a]},unregisterDisposableObject:function(a){if(!this._disposing)Array.remove(this._disposableObjects,a)},_addComponentToSecondPass:function(b,a){this._secondPassComponents[this._secondPassComponents.length]={component:b,references:a}},_doInitialize:function(){Sys._Application.callBaseMethod(this,"initialize");var a=this.get_events().getHandler("init");if(a){this.beginCreateComponents();a(this,Sys.EventArgs.Empty);this.endCreateComponents()}this.raiseLoad();this._initializing=false},_loadHandler:function(){if(this._loadHandlerDelegate){Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);this._loadHandlerDelegate=null}this.initialize()},_unloadHandler:function(){this.dispose()}};Sys._Application.registerClass("Sys._Application",Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application;var $find=Sys.Application.findComponent;Type.registerNamespace("Sys.Net");Sys.Net.WebRequestExecutor=function(){this._webRequest=null;this._resultObject=null};Sys.Net.WebRequestExecutor.prototype={get_webRequest:function(){return this._webRequest},_set_webRequest:function(a){this._webRequest=a},get_started:function(){throw Error.notImplemented()},get_responseAvailable:function(){throw Error.notImplemented()},get_timedOut:function(){throw Error.notImplemented()},get_aborted:function(){throw Error.notImplemented()},get_responseData:function(){throw Error.notImplemented()},get_statusCode:function(){throw Error.notImplemented()},get_statusText:function(){throw Error.notImplemented()},get_xml:function(){throw Error.notImplemented()},get_object:function(){if(!this._resultObject)this._resultObject=Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());return this._resultObject},executeRequest:function(){throw Error.notImplemented()},abort:function(){throw Error.notImplemented()},getResponseHeader:function(){throw Error.notImplemented()},getAllResponseHeaders:function(){throw Error.notImplemented()}};Sys.Net.WebRequestExecutor.registerClass("Sys.Net.WebRequestExecutor");Sys.Net.XMLDOM=function(d){if(!window.DOMParser){var c=["Msxml2.DOMDocument.3.0","Msxml2.DOMDocument"];for(var b=0,f=c.length;b<f;b++)try{var a=new ActiveXObject(c[b]);a.async=false;a.loadXML(d);a.setProperty("SelectionLanguage","XPath");return a}catch(g){}}else try{var e=new window.DOMParser;return e.parseFromString(d,"text/xml")}catch(g){}return null};Sys.Net.XMLHttpExecutor=function(){Sys.Net.XMLHttpExecutor.initializeBase(this);var a=this;this._xmlHttpRequest=null;this._webRequest=null;this._responseAvailable=false;this._timedOut=false;this._timer=null;this._aborted=false;this._started=false;this._onReadyStateChange=function(){if(a._xmlHttpRequest.readyState===4){try{if(typeof a._xmlHttpRequest.status==="undefined")return}catch(b){return}a._clearTimer();a._responseAvailable=true;a._webRequest.completed(Sys.EventArgs.Empty);if(a._xmlHttpRequest!=null){a._xmlHttpRequest.onreadystatechange=Function.emptyMethod;a._xmlHttpRequest=null}}};this._clearTimer=function(){if(a._timer!=null){window.clearTimeout(a._timer);a._timer=null}};this._onTimeout=function(){if(!a._responseAvailable){a._clearTimer();a._timedOut=true;a._xmlHttpRequest.onreadystatechange=Function.emptyMethod;a._xmlHttpRequest.abort();a._webRequest.completed(Sys.EventArgs.Empty);a._xmlHttpRequest=null}}};Sys.Net.XMLHttpExecutor.prototype={get_timedOut:function(){return this._timedOut},get_started:function(){return this._started},get_responseAvailable:function(){return this._responseAvailable},get_aborted:function(){return this._aborted},executeRequest:function(){this._webRequest=this.get_webRequest();var c=this._webRequest.get_body(),a=this._webRequest.get_headers();this._xmlHttpRequest=new XMLHttpRequest;this._xmlHttpRequest.onreadystatechange=this._onReadyStateChange;var e=this._webRequest.get_httpVerb();this._xmlHttpRequest.open(e,this._webRequest.getResolvedUrl(),true);if(a)for(var b in a){var f=a[b];if(typeof f!=="function")this._xmlHttpRequest.setRequestHeader(b,f)}if(e.toLowerCase()==="post"){if(a===null||!a["Content-Type"])this._xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");if(!c)c=""}var d=this._webRequest.get_timeout();if(d>0)this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.send(c);this._started=true},getResponseHeader:function(b){var a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a="";return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){var a=0;try{a=this._xmlHttpRequest.status}catch(b){}return a},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var a=this._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)return null}else if(navigator.userAgent.indexOf("MSIE")!==-1)a.setProperty("SelectionLanguage","XPath");if(a.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName==="parsererror")return null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagName==="parsererror")return null;return a},abort:function(){if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;this._webRequest.completed(Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sys.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function(){this._this=this;this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.prototype={add_invokingRequest:function(a){this._get_eventHandlerList().addHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._get_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRequest:function(a){this._get_eventHandlerList().addHandler("completedRequest",a)},remove_completedRequest:function(a){this._get_eventHandlerList().removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_defaultTimeout:function(){return this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType}catch(a){failed=true}webRequest.set_executor(executor)}if(executor.get_aborted())return;var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest),handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);if(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=function(a){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function(){return this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=function(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0};Sys.Net.WebRequest.prototype={add_completed:function(a){this._get_eventHandlerList().addHandler("completed",a)},remove_completed:function(a){this._get_eventHandlerList().removeHandler("completed",a)},completed:function(b){var a=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(a)a(this._executor,b);a=this._get_eventHandlerList().getHandler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){if(this._httpVerb===null){if(this._body===null)return "GET";return "POST"}return this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor},set_executor:function(a){this._executor=a;this._executor._set_webRequest(this)},get_timeout:function(){if(this._timeout===0)return Sys.Net.WebRequestManager.get_defaultTimeout();return this._timeout},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true}};Sys.Net.WebRequest._resolveUrl=function(b,a){if(b&&b.indexOf("://")!==-1)return b;if(!a||a.length===0){var c=document.getElementsByTagName("base")[0];if(c&&c.href&&c.href.length>0)a=c.href;else a=document.URL}var d=a.indexOf("?");if(d!==-1)a=a.substr(0,d);a=a.substr(0,a.lastIndexOf("/")+1);if(!b||b.length===0)return a;if(b.charAt(0)==="/"){var e=a.indexOf("://"),g=a.indexOf("/",e+3);return a.substr(0,g)+b}else{var f=a.lastIndexOf("/");return a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=function(d,b){if(!b)b=encodeURIComponent;var a=new Sys.StringBuilder,f=0;for(var c in d){var e=d[c];if(typeof e==="function")continue;var g=Sys.Serialization.JavaScriptSerializer.serialize(e);if(f!==0)a.append("&");a.append(c);a.append("=");a.append(b(g));f++}return a.toString()};Sys.Net.WebRequest._createUrl=function(a,b){if(!b)return a;var d=Sys.Net.WebRequest._createQueryString(b);if(d.length>0){var c="?";if(a&&a.indexOf("?")!==-1)c="&";return a+c+d}else return a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys.Net.WebServiceProxy=function(){};Sys.Net.WebServiceProxy.prototype={get_timeout:function(){return this._timeout},set_timeout:function(a){if(a<0)throw Error.argumentOutOfRange("value",a,Sys.Res.invalidTimeout);this._timeout=a},get_defaultUserContext:function(){return this._userContext},set_defaultUserContext:function(a){this._userContext=a},get_defaultSucceededCallback:function(){return this._succeeded},set_defaultSucceededCallback:function(a){this._succeeded=a},get_defaultFailedCallback:function(){return this._failed},set_defaultFailedCallback:function(a){this._failed=a},get_path:function(){return this._path},set_path:function(a){this._path=a},_invoke:function(d,e,g,f,c,b,a){if(c===null||typeof c==="undefined")c=this.get_defaultSucceededCallback();if(b===null||typeof b==="undefined")b=this.get_defaultFailedCallback();if(a===null||typeof a==="undefined")a=this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout())}};Sys.Net.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebServiceProxy.invoke=function(k,a,j,d,i,c,f,h){var b=new Sys.Net.WebRequest;b.get_headers()["Content-Type"]="application/json; charset=utf-8";if(!d)d={};var g=d;if(!j||!g)g={};b.set_url(Sys.Net.WebRequest._createUrl(k+"/"+encodeURIComponent(a),g));var e=null;if(!j){e=Sys.Serialization.JavaScriptSerializer.serialize(d);if(e==="{}")e=""}b.set_body(e);b.add_completed(l);if(h&&h>0)b.set_timeout(h);b.invoke();function l(d){if(d.get_responseAvailable()){var g=d.get_statusCode(),b=null;try{var e=d.getResponseHeader("Content-Type");if(e.startsWith("application/json"))b=d.get_object();else if(e.startsWith("text/xml"))b=d.get_xml();else b=d.get_responseData()}catch(m){}var k=d.getResponseHeader("jsonerror"),h=k==="true";if(h){if(b)b=new Sys.Net.WebServiceError(false,b.Message,b.StackTrace,b.ExceptionType)}else if(e.startsWith("application/json"))b=b.d;if(g<200||g>=300||h){if(c){if(!b||!h)b=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,a),"","");b._statusCode=g;c(b,f,a)}}else if(i)i(b,f,a)}else{var j;if(d.get_timedOut())j=String.format(Sys.Res.webServiceTimedOut,a);else j=String.format(Sys.Res.webServiceFailedNoMsg,a);if(c)c(new Sys.Net.WebServiceError(d.get_timedOut(),j,"",""),f,a)}}return b};Sys.Net.WebServiceProxy._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};Sys.Net.WebServiceError=function(c,d,b,a){this._timedOut=c;this._message=d;this._stackTrace=b;this._exceptionType=a;this._statusCode=-1};Sys.Net.WebServiceError.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace},get_exceptionType:function(){return this._exceptionType}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError");Type.registerNamespace("Sys.Services");Sys.Services._ProfileService=function(){Sys.Services._ProfileService.initializeBase(this);this.properties={}};Sys.Services._ProfileService.DefaultWebServicePath="";Sys.Services._ProfileService.prototype={_defaultLoadCompletedCallback:null,_defaultSaveCompletedCallback:null,_path:"",_timeout:0,get_defaultLoadCompletedCallback:function(){return this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:function(a){this._defaultLoadCompletedCallback=a},get_defaultSaveCompletedCallback:function(){return this._defaultSaveCompletedCallback},set_defaultSaveCompletedCallback:function(a){this._defaultSaveCompletedCallback=a},get_path:function(){return this._path||""},load:function(c,d,e,f){var b,a;if(!c){a="GetAllPropertiesForCurrentUser";b={authenticatedUserOnly:false}}else{a="GetPropertiesForCurrentUser";b={properties:this._clonePropertyNames(c),authenticatedUserOnly:false}}this._invoke(this._get_path(),a,false,b,Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[d,e,f])},save:function(d,b,c,e){var a=this._flattenProperties(d,this.properties);this._invoke(this._get_path(),"SetPropertiesForCurrentUser",false,{values:a.value,authenticatedUserOnly:false},Function.createDelegate(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFailed),[b,c,e,a.count])},_clonePropertyNames:function(e){var c=[],d={};for(var b=0;b<e.length;b++){var a=e[b];if(!d[a]){Array.add(c,a);d[a]=true}}return c},_flattenProperties:function(a,i,j){var b={},e,d,g=0;if(a&&a.length===0)return {value:b,count:0};for(var c in i){e=i[c];d=j?j+"."+c:c;if(Sys.Services.ProfileGroup.isInstanceOfType(e)){var k=this._flattenProperties(a,e,d),h=k.value;g+=k.count;for(var f in h){var l=h[f];b[f]=l}}else if(!a||Array.indexOf(a,d)!==-1){b[d]=e;g++}}return {value:b,count:g}},_get_path:function(){var a=this.get_path();if(!a.length)a=Sys.Services._ProfileService.DefaultWebServicePath;if(!a||!a.length)throw Error.invalidOperation(Sys.Res.servicePathNotSet);return a},_onLoadComplete:function(a,e,g){if(typeof a!=="object")throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,g,"Object"));var c=this._unflattenProperties(a);for(var b in c)this.properties[b]=c[b];var d=e[0]||this.get_defaultLoadCompletedCallback()||this.get_defaultSucceededCallback();if(d){var f=e[2]||this.get_defaultUserContext();d(a.length,f,"Sys.Services.ProfileService.load")}},_onLoadFailed:function(d,b){var a=b[1]||this.get_defaultFailedCallback();if(a){var c=b[2]||this.get_defaultUserContext();a(d,c,"Sys.Services.ProfileService.load")}},_onSaveComplete:function(a,b,f){var c=b[3];if(a!==null)if(a instanceof Array)c-=a.length;else if(typeof a==="number")c=a;else throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,f,"Array"));var d=b[0]||this.get_defaultSaveCompletedCallback()||this.get_defaultSucceededCallback();if(d){var e=b[2]||this.get_defaultUserContext();d(c,e,"Sys.Services.ProfileService.save")}},_onSaveFailed:function(d,b){var a=b[1]||this.get_defaultFailedCallback();if(a){var c=b[2]||this.get_defaultUserContext();a(d,c,"Sys.Services.ProfileService.save")}},_unflattenProperties:function(e){var c={},d,f,h=0;for(var a in e){h++;f=e[a];d=a.indexOf(".");if(d!==-1){var g=a.substr(0,d);a=a.substr(d+1);var b=c[g];if(!b||!Sys.Services.ProfileGroup.isInstanceOfType(b)){b=new Sys.Services.ProfileGroup;c[g]=b}b[a]=f}else c[a]=f}e.length=h;return c}};Sys.Services._ProfileService.registerClass("Sys.Services._ProfileService",Sys.Net.WebServiceProxy);Sys.Services.ProfileService=new Sys.Services._ProfileService;Sys.Services.ProfileGroup=function(a){if(a)for(var b in a)this[b]=a[b]};Sys.Services.ProfileGroup.registerClass("Sys.Services.ProfileGroup");Sys.Services._AuthenticationService=function(){Sys.Services._AuthenticationService.initializeBase(this)};Sys.Services._AuthenticationService.DefaultWebServicePath="";Sys.Services._AuthenticationService.prototype={_defaultLoginCompletedCallback:null,_defaultLogoutCompletedCallback:null,_path:"",_timeout:0,_authenticated:false,get_defaultLoginCompletedCallback:function(){return this._defaultLoginCompletedCallback},set_defaultLoginCompletedCallback:function(a){this._defaultLoginCompletedCallback=a},get_defaultLogoutCompletedCallback:function(){return this._defaultLogoutCompletedCallback},set_defaultLogoutCompletedCallback:function(a){this._defaultLogoutCompletedCallback=a},get_isLoggedIn:function(){return this._authenticated},get_path:function(){return this._path||""},login:function(c,b,a,h,f,d,e,g){this._invoke(this._get_path(),"Login",false,{userName:c,password:b,createPersistentCookie:a},Function.createDelegate(this,this._onLoginComplete),Function.createDelegate(this,this._onLoginFailed),[c,b,a,h,f,d,e,g])},logout:function(c,a,b,d){this._invoke(this._get_path(),"Logout",false,{},Function.createDelegate(this,this._onLogoutComplete),Function.createDelegate(this,this._onLogoutFailed),[c,a,b,d])},_get_path:function(){var a=this.get_path();if(!a.length)a=Sys.Services._AuthenticationService.DefaultWebServicePath;if(!a||!a.length)throw Error.invalidOperation(Sys.Res.servicePathNotSet);return a},_onLoginComplete:function(e,c,f){if(typeof e!=="boolean")throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,f,"Boolean"));var b=c[4],d=c[7]||this.get_defaultUserContext(),a=c[5]||this.get_defaultLoginCompletedCallback()||this.get_defaultSucceededCallback();if(e){this._authenticated=true;if(a)a(true,d,"Sys.Services.AuthenticationService.login");if(typeof b!=="undefined"&&b!==null)window.location.href=b}else if(a)a(false,d,"Sys.Services.AuthenticationService.login")},_onLoginFailed:function(d,b){var a=b[6]||this.get_defaultFailedCallback();if(a){var c=b[7]||this.get_defaultUserContext();a(d,c,"Sys.Services.AuthenticationService.login")}},_onLogoutComplete:function(f,a,e){if(f!==null)throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,e,"null"));var b=a[0],d=a[3]||this.get_defaultUserContext(),c=a[1]||this.get_defaultLogoutCompletedCallback()||this.get_defaultSucceededCallback();this._authenticated=false;if(c)c(null,d,"Sys.Services.AuthenticationService.logout");if(!b)window.location.reload();else window.location.href=b},_onLogoutFailed:function(c,b){var a=b[2]||this.get_defaultFailedCallback();if(a)a(c,b[3],"Sys.Services.AuthenticationService.logout")},_setAuthenticated:function(a){this._authenticated=a}};Sys.Services._AuthenticationService.registerClass("Sys.Services._AuthenticationService",Sys.Net.WebServiceProxy);Sys.Services.AuthenticationService=new Sys.Services._AuthenticationService;Sys.Services._RoleService=function(){Sys.Services._RoleService.initializeBase(this);this._roles=[]};Sys.Services._RoleService.DefaultWebServicePath="";Sys.Services._RoleService.prototype={_defaultLoadCompletedCallback:null,_rolesIndex:null,_timeout:0,_path:"",get_defaultLoadCompletedCallback:function(){return this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:function(a){this._defaultLoadCompletedCallback=a},get_path:function(){return this._path||""},get_roles:function(){return Array.clone(this._roles)},isUserInRole:function(a){var b=this._get_rolesIndex()[a.trim().toLowerCase()];return !!b},load:function(a,b,c){Sys.Net.WebServiceProxy.invoke(this._get_path(),"GetRolesForCurrentUser",false,{},Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[a,b,c],this.get_timeout())},_get_path:function(){var a=this.get_path();if(!a||!a.length)a=Sys.Services._RoleService.DefaultWebServicePath;if(!a||!a.length)throw Error.invalidOperation(Sys.Res.servicePathNotSet);return a},_get_rolesIndex:function(){if(!this._rolesIndex){var b={};for(var a=0;a<this._roles.length;a++)b[this._roles[a].toLowerCase()]=true;this._rolesIndex=b}return this._rolesIndex},_onLoadComplete:function(a,c,f){if(a&&!(a instanceof Array))throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,f,"Array"));this._roles=a;this._rolesIndex=null;var b=c[0]||this.get_defaultLoadCompletedCallback()||this.get_defaultSucceededCallback();if(b){var e=c[2]||this.get_defaultUserContext(),d=Array.clone(a);b(d,e,"Sys.Services.RoleService.load")}},_onLoadFailed:function(d,b){var a=b[1]||this.get_defaultFailedCallback();if(a){var c=b[2]||this.get_defaultUserContext();a(d,c,"Sys.Services.RoleService.load")}}};Sys.Services._RoleService.registerClass("Sys.Services._RoleService",Sys.Net.WebServiceProxy);Sys.Services.RoleService=new Sys.Services._RoleService;Type.registerNamespace("Sys.Serialization");Sys.Serialization.JavaScriptSerializer=function(){};Sys.Serialization.JavaScriptSerializer.registerClass("Sys.Serialization.JavaScriptSerializer");Sys.Serialization.JavaScriptSerializer._serverTypeFieldName="__type";Sys.Serialization.JavaScriptSerializer._stringRegEx=new RegExp('["\\b\\f\\n\\r\\t\\\\\\x00-\\x1F]',"i");Sys.Serialization.JavaScriptSerializer._dateRegEx=new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"',"g");Sys.Serialization.JavaScriptSerializer._jsonRegEx=new RegExp("[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]","g");Sys.Serialization.JavaScriptSerializer._jsonStringRegEx=new RegExp('"(\\\\.|[^"\\\\])*"',"g");Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder=function(b,a){a.append(b.toString())};Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder=function(a,b){if(isFinite(a))b.append(String(a));else throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers)};Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder=function(c,a){a.append('"');if(Sys.Serialization.JavaScriptSerializer._stringRegEx.test(c)){var d=c.length;for(i=0;i<d;++i){var b=c.charAt(i);if(b>=" "){if(b==="\\"||b==='"')a.append("\\");a.append(b)}else switch(b){case "\b":a.append("\\b");break;case "\f":a.append("\\f");break;case "\n":a.append("\\n");break;case "\r":a.append("\\r");break;case "\t":a.append("\\t");break;default:a.append("\\u00");if(b.charCodeAt()<16)a.append("0");a.append(b.charCodeAt().toString(16))}}}else a.append(c);a.append('"')};Sys.Serialization.JavaScriptSerializer._serializeWithBuilder=function(b,a,i,g){var c;switch(typeof b){case "object":if(b)if(Number.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(b,a);else if(Boolean.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(b,a);else if(String.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(b,a);else if(Array.isInstanceOfType(b)){a.append("[");for(c=0;c<b.length;++c){if(c>0)a.append(",");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c],a,false,g)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}var d=[],f=0;for(var e in b){if(e.startsWith("$"))continue;if(e===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&f!==0){d[f++]=d[0];d[0]=e}else d[f++]=e}if(i)d.sort();a.append("{");var j=false;for(c=0;c<f;c++){var h=b[d[c]];if(typeof h!=="undefined"&&typeof h!=="function"){if(j)a.append(",");else j=true;Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(d[c],a,i,g);a.append(":");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(h,a,i,g)}}a.append("}")}else a.append("null");break;case "number":Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(b,a);break;case "string":Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(b,a);break;case "boolean":Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(b,a);break;default:a.append("null")}};Sys.Serialization.JavaScriptSerializer.serialize=function(b){var a=new Sys.StringBuilder;Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b,a,false);return a.toString()};Sys.Serialization.JavaScriptSerializer.deserialize=function(data,secure){if(data.length===0)throw Error.argument("data",Sys.Res.cannotDeserializeEmptyString);try{var exp=data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx,"$1new Date($2)");if(secure&&Sys.Serialization.JavaScriptSerializer._jsonRegEx.test(exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx,"")))throw null;return eval("("+exp+")")}catch(a){throw Error.argument("data",Sys.Res.cannotDeserializeInvalidJson)}};Sys.CultureInfo=function(c,b,a){this.name=c;this.numberFormat=b;this.dateTimeFormat=a};Sys.CultureInfo.prototype={_getDateTimeFormats:function(){if(!this._dateTimeFormats){var a=this.dateTimeFormat;this._dateTimeFormats=[a.MonthDayPattern,a.YearMonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.LongTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePattern,a.UniversalSortableDateTimePattern]}return this._dateTimeFormats},_getMonthIndex:function(a){if(!this._upperMonths)this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);return Array.indexOf(this._upperMonths,this._toUpper(a))},_getAbbrMonthIndex:function(a){if(!this._upperAbbrMonths)this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);return Array.indexOf(this._upperAbbrMonths,this._toUpper(a))},_getDayIndex:function(a){if(!this._upperDays)this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);return Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:function(a){if(!this._upperAbbrDays)this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);return Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:function(c){var b=[];for(var a=0,d=c.length;a<d;a++)b[a]=this._toUpper(c[a]);return b},_toUpper:function(a){return a.split("\u00a0").join(" ").toUpperCase()}};Sys.CultureInfo._parse=function(b){var a=Sys.Serialization.JavaScriptSerializer.deserialize(b);return new Sys.CultureInfo(a.name,a.numberFormat,a.dateTimeFormat)};Sys.CultureInfo.registerClass("Sys.CultureInfo");Sys.CultureInfo.InvariantCulture=Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00a4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}');if(typeof __cultureInfo==="undefined")var __cultureInfo='{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}';Sys.CultureInfo.CurrentCulture=Sys.CultureInfo._parse(__cultureInfo);delete __cultureInfo;Sys.UI.Behavior=function(b){Sys.UI.Behavior.initializeBase(this);this._element=b;var a=b._behaviors;if(!a)b._behaviors=[this];else a[a.length]=this};Sys.UI.Behavior.prototype={_name:null,get_element:function(){return this._element},get_id:function(){var a=Sys.UI.Behavior.callBaseMethod(this,"get_id");if(a)return a;if(!this._element||!this._element.id)return "";return this._element.id+"$"+this.get_name()},get_name:function(){if(this._name)return this._name;var a=Object.getTypeName(this),b=a.lastIndexOf(".");if(b!=-1)a=a.substr(b+1);if(!this.get_isInitialized())this._name=a;return a},set_name:function(a){this._name=a},initialize:function(){Sys.UI.Behavior.callBaseMethod(this,"initialize");var a=this.get_name();if(a)this._element[a]=this},dispose:function(){Sys.UI.Behavior.callBaseMethod(this,"dispose");if(this._element){var a=this.get_name();if(a)this._element[a]=null;Array.remove(this._element._behaviors,this);delete this._element}}};Sys.UI.Behavior.registerClass("Sys.UI.Behavior",Sys.Component);Sys.UI.Behavior.getBehaviorByName=function(b,c){var a=b[c];return a&&Sys.UI.Behavior.isInstanceOfType(a)?a:null};Sys.UI.Behavior.getBehaviors=function(a){if(!a._behaviors)return [];return Array.clone(a._behaviors)};Sys.UI.Behavior.getBehaviorsByType=function(d,e){var a=d._behaviors,c=[];if(a)for(var b=0,f=a.length;b<f;b++)if(e.isInstanceOfType(a[b]))c[c.length]=a[b];return c};Sys.UI.VisibilityMode=function(){throw Error.notImplemented()};Sys.UI.VisibilityMode.prototype={hide:0,collapse:1};Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");Sys.UI.Control=function(a){Sys.UI.Control.initializeBase(this);this._element=a;a.control=this};Sys.UI.Control.prototype={_parent:null,_visibilityMode:Sys.UI.VisibilityMode.hide,get_element:function(){return this._element},get_id:function(){if(!this._element)return "";return this._element.id},set_id:function(){throw Error.invalidOperation(Sys.Res.cantSetId)},get_parent:function(){if(this._parent)return this._parent;if(!this._element)return null;var a=this._element.parentNode;while(a){if(a.control)return a.control;a=a.parentNode}return null},set_parent:function(a){this._parent=a},get_visibilityMode:function(){return Sys.UI.DomElement.getVisibilityMode(this._element)},set_visibilityMode:function(a){Sys.UI.DomElement.setVisibilityMode(this._element,a)},get_visible:function(){return Sys.UI.DomElement.getVisible(this._element)},set_visible:function(a){Sys.UI.DomElement.setVisible(this._element,a)},addCssClass:function(a){Sys.UI.DomElement.addCssClass(this._element,a)},dispose:function(){Sys.UI.Control.callBaseMethod(this,"dispose");if(this._element){this._element.control=undefined;delete this._element}if(this._parent)delete this._parent},onBubbleEvent:function(){return false},raiseBubbleEvent:function(b,c){var a=this.get_parent();while(a){if(a.onBubbleEvent(b,c))return;a=a.get_parent()}},removeCssClass:function(a){Sys.UI.DomElement.removeCssClass(this._element,a)},toggleCssClass:function(a){Sys.UI.DomElement.toggleCssClass(this._element,a)}};Sys.UI.Control.registerClass("Sys.UI.Control",Sys.Component);
Type.registerNamespace('Sys');Sys.Res={'argumentInteger':'Value must be an integer.','scriptLoadMultipleCallbacks':'The script \'{0}\' contains multiple calls to Sys.Application.notifyScriptLoaded(). Only one is allowed.','invokeCalledTwice':'Cannot call invoke more than once.','webServiceFailed':'The server method \'{0}\' failed with the following error: {1}','webServiceInvalidJsonWrapper':'The server method \'{0}\' returned invalid data. The \'d\' property is missing from the JSON wrapper.','argumentType':'Object cannot be converted to the required type.','argumentNull':'Value cannot be null.','controlCantSetId':'The id property can\'t be set on a control.','formatBadFormatSpecifier':'Format specifier was invalid.','webServiceFailedNoMsg':'The server method \'{0}\' failed.','argumentDomElement':'Value must be a DOM element.','invalidExecutorType':'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.','cannotCallBeforeResponse':'Cannot call {0} when responseAvailable is false.','actualValue':'Actual value was {0}.','enumInvalidValue':'\'{0}\' is not a valid value for enum {1}.','scriptLoadFailed':'The script \'{0}\' could not be loaded.','parameterCount':'Parameter count mismatch.','cannotDeserializeEmptyString':'Cannot deserialize empty string.','formatInvalidString':'Input string was not in a correct format.','invalidTimeout':'Value must be greater than or equal to zero.','cannotAbortBeforeStart':'Cannot abort when executor has not started.','argument':'Value does not fall within the expected range.','cannotDeserializeInvalidJson':'Cannot deserialize. The data does not correspond to valid JSON.','invalidHttpVerb':'httpVerb cannot be set to an empty or null string.','nullWebRequest':'Cannot call executeRequest with a null webRequest.','eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.','cannotSerializeNonFiniteNumbers':'Cannot serialize non finite numbers.','argumentUndefined':'Value cannot be undefined.','webServiceInvalidReturnType':'The server method \'{0}\' returned an invalid type. Expected type: {1}','servicePathNotSet':'The path to the web service has not been set.','argumentTypeWithTypes':'Object of type \'{0}\' cannot be converted to type \'{1}\'.','cannotCallOnceStarted':'Cannot call {0} once started.','badBaseUrl1':'Base URL does not contain ://.','badBaseUrl2':'Base URL does not contain another /.','badBaseUrl3':'Cannot find last / in base URL.','setExecutorAfterActive':'Cannot set executor after it has become active.','paramName':'Parameter name: {0}','cannotCallOutsideHandler':'Cannot call {0} outside of a completed event handler.','cannotSerializeObjectWithCycle':'Cannot serialize object with cyclic reference within child properties.','format':'One of the identified items was in an invalid format.','assertFailedCaller':'Assertion Failed: {0}\r\nat {1}','argumentOutOfRange':'Specified argument was out of the range of valid values.','webServiceTimedOut':'The server method \'{0}\' timed out.','notImplemented':'The method or operation is not implemented.','assertFailed':'Assertion Failed: {0}','invalidOperation':'Operation is not valid due to the current state of the object.','breakIntoDebugger':'{0}\r\n\r\nBreak into debugger?'};
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
�//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxTimer.js
// Sys.UI._Timer component
Sys.UI._Timer = function Sys$UI$_Timer(element) {
    Sys.UI._Timer.initializeBase(this,[element]);
    this._interval = 60000;
    this._enabled = true;
    this._postbackPending = false;
    this._raiseTickDelegate = null;
    this._endRequestHandlerDelegate = null;
    this._timer = null;
    this._pageRequestManager = null;
    this._uniqueID = null;
}
    function Sys$UI$_Timer$get_enabled() {
        /// <value type="Boolean" locid="P:J#Sys.UI._Timer.enabled"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._enabled;
    }
    function Sys$UI$_Timer$set_enabled(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);
        if (e) throw e;
        this._enabled = value;
    }
    function Sys$UI$_Timer$get_interval() {
        /// <value type="Number" locid="P:J#Sys.UI._Timer.interval"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._interval;
    }
    function Sys$UI$_Timer$set_interval(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        this._interval = value;
    }
    function Sys$UI$_Timer$get_uniqueID(){
        /// <value type="String" locid="P:J#Sys.UI._Timer.uniqueID"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._uniqueID;
    }
    function Sys$UI$_Timer$set_uniqueID(value){
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._uniqueID = value;
    }
    function Sys$UI$_Timer$dispose(){
       this._stopTimer();
       if(this._pageRequestManager !== null){
           this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate);
       }
       Sys.UI._Timer.callBaseMethod(this,"dispose");
    }
    function Sys$UI$_Timer$_doPostback(){
        __doPostBack(this.get_uniqueID(),'');
    }
    function Sys$UI$_Timer$_handleEndRequest(sender, arg){
        var dataItem = arg.get_dataItems()[this.get_id()];
	    if (dataItem){
            this._update(dataItem[0],dataItem[1]);
	  	}
	  
	    if ((this._postbackPending === true) && (this._pageRequestManager !== null)&&(this._pageRequestManager.get_isInAsyncPostBack() === false)){
    	   	this._postbackPending = false;
            this._doPostback();
        }
	   
    }
    function Sys$UI$_Timer$initialize(){
        Sys.UI._Timer.callBaseMethod(this, 'initialize');
    	this._raiseTickDelegate = Function.createDelegate(this,this._raiseTick);
    	this._endRequestHandlerDelegate = Function.createDelegate(this,this._handleEndRequest);
    	if (Sys.WebForms && Sys.WebForms.PageRequestManager){
           this._pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();  
    	}
    	if (this._pageRequestManager !== null ){
    	    this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate);
    	}
        if(this.get_enabled()) {
            this._startTimer();
        }
    }
    function Sys$UI$_Timer$_raiseTick() {
        this._startTimer();
        if ((this._pageRequestManager === null) || (!this._pageRequestManager.get_isInAsyncPostBack())){
            this._doPostback();
            this._postbackPending = false;
        } 
        else {
            this._postbackPending = true;
        }
    }
    function Sys$UI$_Timer$_startTimer(){
        this._timer = window.setTimeout(Function.createDelegate(this,this._raiseTick),this.get_interval());
    }
    function Sys$UI$_Timer$_stopTimer(){
	    if (this._timer !== null){
	 	    window.clearTimeout(this._timer);
		    this._timer = null;
       } 	
    }
    function Sys$UI$_Timer$_update(enabled,interval) {
        var stopped = !this.get_enabled();
        var intervalChanged= (this.get_interval() !== interval);
	    if ((!stopped) && ((!enabled)||(intervalChanged))){
    	  	this._stopTimer();
    		stopped = true;
       	} 
    	this.set_enabled(enabled);
    	this.set_interval(interval);
    	if ((this.get_enabled()) && (stopped)){
    	    this._startTimer();
    	}
    }
Sys.UI._Timer.prototype = {
    get_enabled: Sys$UI$_Timer$get_enabled,
    set_enabled: Sys$UI$_Timer$set_enabled,
    get_interval: Sys$UI$_Timer$get_interval,
    set_interval: Sys$UI$_Timer$set_interval,
    get_uniqueID: Sys$UI$_Timer$get_uniqueID,
    set_uniqueID: Sys$UI$_Timer$set_uniqueID,
    dispose: Sys$UI$_Timer$dispose,
    _doPostback: Sys$UI$_Timer$_doPostback,
    _handleEndRequest: Sys$UI$_Timer$_handleEndRequest,
    initialize: Sys$UI$_Timer$initialize,
    _raiseTick: Sys$UI$_Timer$_raiseTick,
    _startTimer: Sys$UI$_Timer$_startTimer,
    _stopTimer: Sys$UI$_Timer$_stopTimer,
    _update: Sys$UI$_Timer$_update
}
Sys.UI._Timer.registerClass('Sys.UI._Timer', Sys.UI.Control);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
�	//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxTimer.js
Sys.UI._Timer=function(a){Sys.UI._Timer.initializeBase(this,[a]);this._interval=60000;this._enabled=true;this._postbackPending=false;this._raiseTickDelegate=null;this._endRequestHandlerDelegate=null;this._timer=null;this._pageRequestManager=null;this._uniqueID=null};Sys.UI._Timer.prototype={get_enabled:function(){return this._enabled},set_enabled:function(a){this._enabled=a},get_interval:function(){return this._interval},set_interval:function(a){this._interval=a},get_uniqueID:function(){return this._uniqueID},set_uniqueID:function(a){this._uniqueID=a},dispose:function(){this._stopTimer();if(this._pageRequestManager!==null)this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate);Sys.UI._Timer.callBaseMethod(this,"dispose")},_doPostback:function(){__doPostBack(this.get_uniqueID(),"")},_handleEndRequest:function(c,b){var a=b.get_dataItems()[this.get_id()];if(a)this._update(a[0],a[1]);if(this._postbackPending===true&&this._pageRequestManager!==null&&this._pageRequestManager.get_isInAsyncPostBack()===false){this._postbackPending=false;this._doPostback()}},initialize:function(){Sys.UI._Timer.callBaseMethod(this,"initialize");this._raiseTickDelegate=Function.createDelegate(this,this._raiseTick);this._endRequestHandlerDelegate=Function.createDelegate(this,this._handleEndRequest);if(Sys.WebForms&&Sys.WebForms.PageRequestManager)this._pageRequestManager=Sys.WebForms.PageRequestManager.getInstance();if(this._pageRequestManager!==null)this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate);if(this.get_enabled())this._startTimer()},_raiseTick:function(){this._startTimer();if(this._pageRequestManager===null||!this._pageRequestManager.get_isInAsyncPostBack()){this._doPostback();this._postbackPending=false}else this._postbackPending=true},_startTimer:function(){this._timer=window.setTimeout(Function.createDelegate(this,this._raiseTick),this.get_interval())},_stopTimer:function(){if(this._timer!==null){window.clearTimeout(this._timer);this._timer=null}},_update:function(c,b){var a=!this.get_enabled(),d=this.get_interval()!==b;if(!a&&(!c||d)){this._stopTimer();a=true}this.set_enabled(c);this.set_interval(b);if(this.get_enabled()&&a)this._startTimer()}};Sys.UI._Timer.registerClass("Sys.UI._Timer",Sys.UI.Control);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
�!//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxWebForms.js
// Microsoft AJAX ASP.NET WebForms Framework.
Type.registerNamespace('Sys.WebForms');
Sys.WebForms.BeginRequestEventArgs = function Sys$WebForms$BeginRequestEventArgs(request, postBackElement) {
    /// <summary locid="M:J#Sys.WebForms.BeginRequestEventArgs.#ctor" />
    /// <param name="request" type="Sys.Net.WebRequest"></param>
    /// <param name="postBackElement" domElement="true" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", mayBeNull: true, domElement: true}
    ]);
    if (e) throw e;
    Sys.WebForms.BeginRequestEventArgs.initializeBase(this);
    this._request = request;
    this._postBackElement = postBackElement;
}
    function Sys$WebForms$BeginRequestEventArgs$get_postBackElement() {
        /// <value domElement="true" mayBeNull="true" locid="P:J#Sys.WebForms.BeginRequestEventArgs.postBackElement"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._postBackElement;
    }
    function Sys$WebForms$BeginRequestEventArgs$get_request() {
        /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.WebForms.BeginRequestEventArgs.request"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._request;
    }
Sys.WebForms.BeginRequestEventArgs.prototype = {
    get_postBackElement: Sys$WebForms$BeginRequestEventArgs$get_postBackElement,
    get_request: Sys$WebForms$BeginRequestEventArgs$get_request
}
Sys.WebForms.BeginRequestEventArgs.registerClass('Sys.WebForms.BeginRequestEventArgs', Sys.EventArgs);
 
Sys.WebForms.EndRequestEventArgs = function Sys$WebForms$EndRequestEventArgs(error, dataItems, response) {
    /// <summary locid="M:J#Sys.WebForms.EndRequestEventArgs.#ctor" />
    /// <param name="error" type="Error" mayBeNull="true"></param>
    /// <param name="dataItems" type="Object" mayBeNull="true"></param>
    /// <param name="response" type="Sys.Net.WebRequestExecutor"></param>
    var e = Function._validateParams(arguments, [
        {name: "error", type: Error, mayBeNull: true},
        {name: "dataItems", type: Object, mayBeNull: true},
        {name: "response", type: Sys.Net.WebRequestExecutor}
    ]);
    if (e) throw e;
    Sys.WebForms.EndRequestEventArgs.initializeBase(this);
    this._errorHandled = false;
    this._error = error;
    this._dataItems = dataItems || new Object();
    this._response = response;
}
    function Sys$WebForms$EndRequestEventArgs$get_dataItems() {
        /// <value type="Object" locid="P:J#Sys.WebForms.EndRequestEventArgs.dataItems"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._dataItems;
    }
    function Sys$WebForms$EndRequestEventArgs$get_error() {
        /// <value type="Error" locid="P:J#Sys.WebForms.EndRequestEventArgs.error"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._error;
    }
    function Sys$WebForms$EndRequestEventArgs$get_errorHandled() {
        /// <value type="Boolean" locid="P:J#Sys.WebForms.EndRequestEventArgs.errorHandled"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._errorHandled;
    }
    function Sys$WebForms$EndRequestEventArgs$set_errorHandled(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);
        if (e) throw e;
        this._errorHandled = value;
    }
    function Sys$WebForms$EndRequestEventArgs$get_response() {
        /// <value type="Sys.Net.WebRequestExecutor" locid="P:J#Sys.WebForms.EndRequestEventArgs.response"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._response;
    }
Sys.WebForms.EndRequestEventArgs.prototype = {
    get_dataItems: Sys$WebForms$EndRequestEventArgs$get_dataItems,
    get_error: Sys$WebForms$EndRequestEventArgs$get_error,
    get_errorHandled: Sys$WebForms$EndRequestEventArgs$get_errorHandled,
    set_errorHandled: Sys$WebForms$EndRequestEventArgs$set_errorHandled,
    get_response: Sys$WebForms$EndRequestEventArgs$get_response
}
Sys.WebForms.EndRequestEventArgs.registerClass('Sys.WebForms.EndRequestEventArgs', Sys.EventArgs);
Sys.WebForms.InitializeRequestEventArgs = function Sys$WebForms$InitializeRequestEventArgs(request, postBackElement) {
    /// <summary locid="M:J#Sys.WebForms.InitializeRequestEventArgs.#ctor" />
    /// <param name="request" type="Sys.Net.WebRequest"></param>
    /// <param name="postBackElement" domElement="true" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", mayBeNull: true, domElement: true}
    ]);
    if (e) throw e;
    Sys.WebForms.InitializeRequestEventArgs.initializeBase(this);
    this._request = request;
    this._postBackElement = postBackElement;
}
    function Sys$WebForms$InitializeRequestEventArgs$get_postBackElement() {
        /// <value domElement="true" mayBeNull="true" locid="P:J#Sys.WebForms.InitializeRequestEventArgs.postBackElement"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._postBackElement;
    }
    function Sys$WebForms$InitializeRequestEventArgs$get_request() {
        /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.WebForms.InitializeRequestEventArgs.request"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._request;
    }
Sys.WebForms.InitializeRequestEventArgs.prototype = {
    get_postBackElement: Sys$WebForms$InitializeRequestEventArgs$get_postBackElement,
    get_request: Sys$WebForms$InitializeRequestEventArgs$get_request
}
Sys.WebForms.InitializeRequestEventArgs.registerClass('Sys.WebForms.InitializeRequestEventArgs', Sys.CancelEventArgs);
 
Sys.WebForms.PageLoadedEventArgs = function Sys$WebForms$PageLoadedEventArgs(panelsUpdated, panelsCreated, dataItems) {
    /// <summary locid="M:J#Sys.WebForms.PageLoadedEventArgs.#ctor" />
    /// <param name="panelsUpdated" type="Array"></param>
    /// <param name="panelsCreated" type="Array"></param>
    /// <param name="dataItems" type="Object" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "panelsUpdated", type: Array},
        {name: "panelsCreated", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;
    Sys.WebForms.PageLoadedEventArgs.initializeBase(this);
    this._panelsUpdated = panelsUpdated;
    this._panelsCreated = panelsCreated;
    this._dataItems = dataItems || new Object();
}
    function Sys$WebForms$PageLoadedEventArgs$get_dataItems() {
        /// <value type="Object" locid="P:J#Sys.WebForms.PageLoadedEventArgs.dataItems"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._dataItems;
    }
    function Sys$WebForms$PageLoadedEventArgs$get_panelsCreated() {
        /// <value type="Array" locid="P:J#Sys.WebForms.PageLoadedEventArgs.panelsCreated"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._panelsCreated;
    }
    function Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated() {
        /// <value type="Array" locid="P:J#Sys.WebForms.PageLoadedEventArgs.panelsUpdated"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._panelsUpdated;
    }
Sys.WebForms.PageLoadedEventArgs.prototype = {
    get_dataItems: Sys$WebForms$PageLoadedEventArgs$get_dataItems,
    get_panelsCreated: Sys$WebForms$PageLoadedEventArgs$get_panelsCreated,
    get_panelsUpdated: Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated
}
Sys.WebForms.PageLoadedEventArgs.registerClass('Sys.WebForms.PageLoadedEventArgs', Sys.EventArgs);
Sys.WebForms.PageLoadingEventArgs = function Sys$WebForms$PageLoadingEventArgs(panelsUpdating, panelsDeleting, dataItems) {
    /// <summary locid="M:J#Sys.WebForms.PageLoadingEventArgs.#ctor" />
    /// <param name="panelsUpdating" type="Array"></param>
    /// <param name="panelsDeleting" type="Array"></param>
    /// <param name="dataItems" type="Object" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "panelsUpdating", type: Array},
        {name: "panelsDeleting", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;
    Sys.WebForms.PageLoadingEventArgs.initializeBase(this);
    this._panelsUpdating = panelsUpdating;
    this._panelsDeleting = panelsDeleting;
    this._dataItems = dataItems || new Object();
}
    function Sys$WebForms$PageLoadingEventArgs$get_dataItems() {
        /// <value type="Object" locid="P:J#Sys.WebForms.PageLoadingEventArgs.dataItems"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._dataItems;
    }
    function Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting() {
        /// <value type="Array" locid="P:J#Sys.WebForms.PageLoadingEventArgs.panelsDeleting"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._panelsDeleting;
    }
    function Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating() {
        /// <value type="Array" locid="P:J#Sys.WebForms.PageLoadingEventArgs.panelsUpdating"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._panelsUpdating;
    }
Sys.WebForms.PageLoadingEventArgs.prototype = {
    get_dataItems: Sys$WebForms$PageLoadingEventArgs$get_dataItems,
    get_panelsDeleting: Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting,
    get_panelsUpdating: Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating
}
Sys.WebForms.PageLoadingEventArgs.registerClass('Sys.WebForms.PageLoadingEventArgs', Sys.EventArgs);
 
Sys.WebForms.PageRequestManager = function Sys$WebForms$PageRequestManager() {
    this._form = null;
    this._activeDefaultButton = null;
    this._activeDefaultButtonClicked = false;
    this._updatePanelIDs = null;
    this._updatePanelClientIDs = null;
    this._oldUpdatePanelIDs = null;
    this._childUpdatePanelIDs = null;
    this._panelsToRefreshIDs = null;
    this._updatePanelHasChildrenAsTriggers = null;
    this._asyncPostBackControlIDs = null;
    this._asyncPostBackControlClientIDs = null;
    this._postBackControlIDs = null;
    this._postBackControlClientIDs = null;
    this._scriptManagerID = null;
    this._pageLoadedHandler = null;
    this._additionalInput = null;
    this._onsubmit = null;
    this._onSubmitStatements = [];
    this._originalDoPostBack = null;
    this._originalDoPostBackWithOptions = null;
    this._originalFireDefaultButton = null;
    this._originalDoCallback = null;
    this._isCrossPost = false;
    this._postBackSettings = null;
    this._request = null;
    this._onFormSubmitHandler = null;
    this._onFormElementClickHandler = null;
    this._onWindowUnloadHandler = null;
    this._asyncPostBackTimeout = null;
    this._controlIDToFocus = null;
    this._scrollPosition = null;
    this._dataItems = null;
    this._updateContext = null;
    this._processingRequest = false;
    this._scriptDisposes = {};
}
    function Sys$WebForms$PageRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events = new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$WebForms$PageRequestManager$get_isInAsyncPostBack() {
        /// <value type="Boolean" locid="P:J#Sys.WebForms.PageRequestManager.isInAsyncPostBack"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._request !== null;
    }
    function Sys$WebForms$PageRequestManager$add_beginRequest(handler) {
        /// <summary locid="E:J#Sys.WebForms.PageRequestManager.beginRequest" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("beginRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_beginRequest(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("beginRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$add_endRequest(handler) {
        /// <summary locid="E:J#Sys.WebForms.PageRequestManager.endRequest" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("endRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_endRequest(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("endRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$add_initializeRequest(handler) {
        /// <summary locid="E:J#Sys.WebForms.PageRequestManager.initializeRequest" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("initializeRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_initializeRequest(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("initializeRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$add_pageLoaded(handler) {
        /// <summary locid="E:J#Sys.WebForms.PageRequestManager.pageLoaded" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("pageLoaded", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_pageLoaded(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("pageLoaded", handler);
    }
    function Sys$WebForms$PageRequestManager$add_pageLoading(handler) {
        /// <summary locid="E:J#Sys.WebForms.PageRequestManager.pageLoading" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("pageLoading", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_pageLoading(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("pageLoading", handler);
    }
    function Sys$WebForms$PageRequestManager$abortPostBack() {
        if (!this._processingRequest && this._request) {
            this._request.get_executor().abort();
            this._request = null;
        }
    }
    function Sys$WebForms$PageRequestManager$_cancelPendingCallbacks() {
        for (var i = 0, l = window.__pendingCallbacks.length; i < l; i++) {
            var callback = window.__pendingCallbacks[i];
            if (callback) {
                if (!callback.async) {
                    window.__synchronousCallBackIndex = -1;
                }
                window.__pendingCallbacks[i] = null;
                var callbackFrameID = "__CALLBACKFRAME" + i;
                var xmlRequestFrame = document.getElementById(callbackFrameID);
                if (xmlRequestFrame) {
                    xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
                }
            }
        }
    }
    function Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError() {
        var displayMessage = "Sys.WebForms.PageRequestManagerTimeoutException: " + Sys.WebForms.Res.PRM_TimeoutError;
        var e = Error.create(displayMessage, {name: 'Sys.WebForms.PageRequestManagerTimeoutException'});
        e.popStackFrame();
        return e;
    }
    function Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError(httpStatusCode, message) {
        var displayMessage = "Sys.WebForms.PageRequestManagerServerErrorException: " +
            (message || String.format(Sys.WebForms.Res.PRM_ServerError, httpStatusCode));
        var e = Error.create(displayMessage, {
            name: 'Sys.WebForms.PageRequestManagerServerErrorException',
            httpStatusCode: httpStatusCode
        });
        e.popStackFrame();
        return e;
    }
    function Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError(parserErrorMessage) {
        var displayMessage = "Sys.WebForms.PageRequestManagerParserErrorException: " + String.format(Sys.WebForms.Res.PRM_ParserError, parserErrorMessage);
        var e = Error.create(displayMessage, {name: 'Sys.WebForms.PageRequestManagerParserErrorException'});
        e.popStackFrame();
        return e;
    }
    function Sys$WebForms$PageRequestManager$_createPostBackSettings(async, panelID, sourceElement) {
        return { async:async, panelID:panelID, sourceElement:sourceElement };
    }
    function Sys$WebForms$PageRequestManager$_convertToClientIDs(source, destinationIDs, destinationClientIDs) {
        if (source) {
            for (var i = 0; i < source.length; i++) {
                Array.add(destinationIDs, source[i]);
                Array.add(destinationClientIDs, this._uniqueIDToClientID(source[i]));
            }
        }
    }
    function Sys$WebForms$PageRequestManager$_destroyTree(element) {
        if (element.nodeType === 1) {
            var childNodes = element.childNodes;
            for (var i = childNodes.length - 1; i >= 0; i--) {
                var node = childNodes[i];
                if (node.nodeType === 1) {
                    if (node.dispose && typeof(node.dispose) === "function") {
                        node.dispose();
                    }
                    else if (node.control && typeof(node.control.dispose) === "function") {
                        node.control.dispose();
                    }
                    var behaviors = Sys.UI.Behavior.getBehaviors(node);
                    for (var j = behaviors.length - 1; j >= 0; j--) {
                        behaviors[j].dispose();
                    }
                    this._destroyTree(node);
                }
            }
        }
    }
    function Sys$WebForms$PageRequestManager$dispose() {
        if (this._form) {
            Sys.UI.DomEvent.removeHandler(this._form, 'submit', this._onFormSubmitHandler);
            Sys.UI.DomEvent.removeHandler(this._form, 'click', this._onFormElementClickHandler);
            Sys.UI.DomEvent.removeHandler(window, 'unload', this._onWindowUnloadHandler);
            Sys.UI.DomEvent.removeHandler(window, 'load', this._pageLoadedHandler);
        }
        if (this._originalDoPostBack) {
            window.__doPostBack = this._originalDoPostBack;
            this._originalDoPostBack = null;
        }
        if (this._originalDoPostBackWithOptions) {
            window.WebForm_DoPostBackWithOptions = this._originalDoPostBackWithOptions;
            this._originalDoPostBackWithOptions = null;
        }
        if (this._originalFireDefaultButton) {
            window.WebForm_FireDefaultButton = this._originalFireDefaultButton;
            this._originalFireDefaultButton = null;
        }
        if (this._originalDoCallback) {
            window.WebForm_DoCallback = this._originalDoCallback;
            this._originalDoCallback = null;
        }
        this._form = null;
        this._updatePanelIDs = null;
        this._oldUpdatePanelIDs = null;
        this._childUpdatePanelIDs = null;
        this._updatePanelClientIDs = null;
        this._asyncPostBackControlIDs = null;
        this._asyncPostBackControlClientIDs = null;
        this._postBackControlIDs = null;
        this._postBackControlClientIDs = null;
        this._asyncPostBackTimeout = null;
        this._scrollPosition = null;
        this._dataItems = null;
    }
    function Sys$WebForms$PageRequestManager$_doCallback(eventTarget, eventArgument, eventCallback, context, errorCallback, useAsync) {
        if (!this.get_isInAsyncPostBack()) {
            this._originalDoCallback(eventTarget, eventArgument, eventCallback, context, errorCallback, useAsync);
        }
    }
    function Sys$WebForms$PageRequestManager$_doPostBack(eventTarget, eventArgument) {
        this._additionalInput = null;
        var form = this._form;
        if ((eventTarget === null) || (typeof(eventTarget) === "undefined") || (this._isCrossPost)) {
            this._postBackSettings = this._createPostBackSettings(false, null, null);
            this._isCrossPost = false;
        }
        else {
            var clientID = this._uniqueIDToClientID(eventTarget);
            var postBackElement = document.getElementById(clientID);
            if (!postBackElement) {
                if (Array.contains(this._asyncPostBackControlIDs, eventTarget)) {
                    this._postBackSettings = this._createPostBackSettings(true, this._scriptManagerID + '|' + eventTarget, null);
                }
                else {
                    if (Array.contains(this._postBackControlIDs, eventTarget)) {
                        this._postBackSettings = this._createPostBackSettings(false, null, null);
                    }
                    else {
                        var nearestUniqueIDMatch = this._findNearestElement(eventTarget);
                        if (nearestUniqueIDMatch) {
                            this._postBackSettings = this._getPostBackSettings(nearestUniqueIDMatch, eventTarget);
                        }
                        else {
                            this._postBackSettings = this._createPostBackSettings(false, null, null);
                        }
                    }
                }
            }
            else {
                this._postBackSettings = this._getPostBackSettings(postBackElement, eventTarget);
            }
        }
        if (!this._postBackSettings.async) {
            form.onsubmit = this._onsubmit;
            this._originalDoPostBack(eventTarget, eventArgument);
            form.onsubmit = null;
            return;
        }
        form.__EVENTTARGET.value = eventTarget;
        form.__EVENTARGUMENT.value = eventArgument;
        this._onFormSubmit();
    }
    function Sys$WebForms$PageRequestManager$_doPostBackWithOptions(options) {
        this._isCrossPost = options && options.actionUrl;
        this._originalDoPostBackWithOptions(options);
    }
    function Sys$WebForms$PageRequestManager$_elementContains(container, element) {
        while (element) {
            if (element === container) {
                return true;
            }
            element = element.parentNode;
        }
        return false;
    }
    function Sys$WebForms$PageRequestManager$_endPostBack(error, response) {
        if (this._request === response.get_webRequest()) {
            this._processingRequest = false;
            this._additionalInput = null;
            this._request = null;
        }
        var handler = this._get_eventHandlerList().getHandler("endRequest");
        var errorHandled = false;
        if (handler) {
            var eventArgs = new Sys.WebForms.EndRequestEventArgs(error, this._dataItems, response);
            handler(this, eventArgs);
            errorHandled = eventArgs.get_errorHandled();
        }
        if (!this._processingRequest) {
            this._dataItems = null;
        }
        if (error && !errorHandled) {
            throw error;
        }
    }
    function Sys$WebForms$PageRequestManager$_findNearestElement(uniqueID) {
        while (uniqueID.length > 0) {
            var clientID = this._uniqueIDToClientID(uniqueID);
            var element = document.getElementById(clientID);
            if (element) {
                return element;
            }
            var indexOfLastDollar = uniqueID.lastIndexOf('$');
            if (indexOfLastDollar === -1) {
                return null;
            }
            uniqueID = uniqueID.substring(0, indexOfLastDollar);
        }
        return null;
    }
    function Sys$WebForms$PageRequestManager$_findText(text, location) {
        var startIndex = Math.max(0, location - 20);
        var endIndex = Math.min(text.length, location + 20);
        return text.substring(startIndex, endIndex);
    }
    function Sys$WebForms$PageRequestManager$_fireDefaultButton(event, target) {
        if ((event.keyCode === 13) && !(event.srcElement && (event.srcElement.tagName.toLowerCase() === "textarea"))) {
            var defaultButton = document.getElementById(target);
            if (defaultButton && (typeof(defaultButton.click) !== "undefined")) {
                
                
                this._activeDefaultButton = defaultButton;
                this._activeDefaultButtonClicked = false;
                try {
                    defaultButton.click();
                }
                finally {
                    this._activeDefaultButton = null;
                }
                
                
                event.cancelBubble = true;
                if (typeof(event.stopPropagation) === "function") {
                    event.stopPropagation();
                }
                return false;
            }
        }
        return true;
    }
    function Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs(initialLoad) {
        var updated = [];
        var created = [];
        var oldIDs = this._oldUpdatePanelIDs || []; 
        var newIDs = this._updatePanelIDs; 
        var childIDs = this._childUpdatePanelIDs || []; 
        var refreshedIDs = this._panelsToRefreshIDs || []; 
        for (var i = 0; i < refreshedIDs.length; i++) {
            Array.add(updated, document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));
        }
        for (var i = 0; i < newIDs.length; i++) {
            if (initialLoad || Array.indexOf(childIDs, newIDs[i]) !== -1) {
                Array.add(created, document.getElementById(this._uniqueIDToClientID(newIDs[i])));
            }
        }
        return new Sys.WebForms.PageLoadedEventArgs(updated, created, this._dataItems);
    }
    function Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs() {
        var updated = [];
        var deleted = [];
        var oldIDs = this._oldUpdatePanelIDs;
        var newIDs = this._updatePanelIDs;
        var childIDs = this._childUpdatePanelIDs;
        var refreshedIDs = this._panelsToRefreshIDs;
        for (var i = 0; i < refreshedIDs.length; i++) {
            Array.add(updated, document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));
        }
        for (var i = 0; i < oldIDs.length; i++) {
            if (Array.indexOf(refreshedIDs, oldIDs[i]) === -1 &&
                (Array.indexOf(newIDs, oldIDs[i]) === -1 || Array.indexOf(childIDs, oldIDs[i]) > -1)) {
                Array.add(deleted, document.getElementById(this._uniqueIDToClientID(oldIDs[i])));
            }
        }
        return new Sys.WebForms.PageLoadingEventArgs(updated, deleted, this._dataItems);
    }
    function Sys$WebForms$PageRequestManager$_getPostBackSettings(element, elementUniqueID) {
        var originalElement = element;
        var proposedSettings = null;
        while (element) {
            if (element.id) {
                if (!proposedSettings && Array.contains(this._asyncPostBackControlClientIDs, element.id)) {
                    proposedSettings = this._createPostBackSettings(true, this._scriptManagerID + '|' + elementUniqueID, originalElement);
                }
                else {
                    if (!proposedSettings && Array.contains(this._postBackControlClientIDs, element.id)) {
                        return this._createPostBackSettings(false, null, null);
                    }
                    else {
                        var indexOfPanel = Array.indexOf(this._updatePanelClientIDs, element.id);
                        if (indexOfPanel !== -1) {
                            if (this._updatePanelHasChildrenAsTriggers[indexOfPanel]) {
                                return this._createPostBackSettings(true, this._updatePanelIDs[indexOfPanel] + '|' + elementUniqueID, originalElement);
                            }
                            else {
                                return this._createPostBackSettings(true, this._scriptManagerID + '|' + elementUniqueID, originalElement);
                            }
                        }
                    }
                }
                if (!proposedSettings && this._matchesParentIDInList(element.id, this._asyncPostBackControlClientIDs)) {
                    proposedSettings = this._createPostBackSettings(true, this._scriptManagerID + '|' + elementUniqueID, originalElement);
                }
                else {
                    if (!proposedSettings && this._matchesParentIDInList(element.id, this._postBackControlClientIDs)) {
                        return this._createPostBackSettings(false, null, null);
                    }
                }
            }
            element = element.parentNode;
        }
        if (!proposedSettings) {
            return this._createPostBackSettings(false, null, null);
        }
        else {
            return proposedSettings;
        }
    }
    function Sys$WebForms$PageRequestManager$_getScrollPosition() {
        var d = document.documentElement;
        if (d && (this._validPosition(d.scrollLeft) || this._validPosition(d.scrollTop))) {
            return {
                x: d.scrollLeft,
                y: d.scrollTop
            };
        }
        else {
            d = document.body;
            if (d && (this._validPosition(d.scrollLeft) || this._validPosition(d.scrollTop))) {
                return {
                    x: d.scrollLeft,
                    y: d.scrollTop
                };
            }
            else {
                if (this._validPosition(window.pageXOffset) || this._validPosition(window.pageYOffset)) {
                    return {
                        x: window.pageXOffset,
                        y: window.pageYOffset
                    };
                }
                else {
                    return {
                        x: 0,
                        y: 0
                    };
                }
            }
        }
    }
    function Sys$WebForms$PageRequestManager$_initializeInternal(scriptManagerID, formElement) {
        if (this._prmInitialized) {
            throw Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);
        }
        this._prmInitialized = true;
        this._scriptManagerID = scriptManagerID;
        this._form = formElement;
        this._onsubmit = this._form.onsubmit;
        this._form.onsubmit = null;
        this._onFormSubmitHandler = Function.createDelegate(this, this._onFormSubmit);
        this._onFormElementClickHandler = Function.createDelegate(this, this._onFormElementClick);
        this._onWindowUnloadHandler = Function.createDelegate(this, this._onWindowUnload);
        Sys.UI.DomEvent.addHandler(this._form, 'submit', this._onFormSubmitHandler);
        Sys.UI.DomEvent.addHandler(this._form, 'click', this._onFormElementClickHandler);
        Sys.UI.DomEvent.addHandler(window, 'unload', this._onWindowUnloadHandler);
        this._originalDoPostBack = window.__doPostBack;
        if (this._originalDoPostBack) {
            window.__doPostBack = Function.createDelegate(this, this._doPostBack);
        }
        this._originalDoPostBackWithOptions = window.WebForm_DoPostBackWithOptions;
        if (this._originalDoPostBackWithOptions) {
            window.WebForm_DoPostBackWithOptions = Function.createDelegate(this, this._doPostBackWithOptions);
        }
        this._originalFireDefaultButton = window.WebForm_FireDefaultButton;
        if (this._originalFireDefaultButton) {
            window.WebForm_FireDefaultButton = Function.createDelegate(this, this._fireDefaultButton);
        }
        this._originalDoCallback = window.WebForm_DoCallback;
        if (this._originalDoCallback) {
            window.WebForm_DoCallback = Function.createDelegate(this, this._doCallback);
        }
        this._pageLoadedHandler = Function.createDelegate(this, this._pageLoadedInitialLoad);
        Sys.UI.DomEvent.addHandler(window, 'load', this._pageLoadedHandler);
    }
    function Sys$WebForms$PageRequestManager$_matchesParentIDInList(clientID, parentIDList) {
        for (var i = 0; i < parentIDList.length; i++) {
            if (clientID.startsWith(parentIDList[i] + "_")) {
                return true;
            }
        }
        return false;
    }
    function Sys$WebForms$PageRequestManager$_onFormElementActive(element, offsetX, offsetY) {
        if (element.disabled) {
            return;
        }
        this._postBackSettings = this._getPostBackSettings(element, element.name);
        if (element.name) {
            if (element.tagName === 'INPUT') {
                var type = element.type;
                if (type === 'submit') {
                    this._additionalInput = encodeURIComponent(element.name) + '=' + encodeURIComponent(element.value);
                }
                else if (type === 'image') {
                    this._additionalInput = encodeURIComponent(element.name) + '.x=' + offsetX + '&' + encodeURIComponent(element.name) + '.y=' + offsetY;
                }
            }
            else if ((element.tagName === 'BUTTON') && (element.name.length !== 0) && (element.type === 'submit')) {
                this._additionalInput = encodeURIComponent(element.name) + '=' + encodeURIComponent(element.value);
            }
        }
    }
    function Sys$WebForms$PageRequestManager$_onFormElementClick(evt) {
        this._activeDefaultButtonClicked = (evt.target === this._activeDefaultButton);
        this._onFormElementActive(evt.target, evt.offsetX, evt.offsetY);
    }
    function Sys$WebForms$PageRequestManager$_onFormSubmit(evt) {
        var continueSubmit = true;
        var isCrossPost = this._isCrossPost;
        this._isCrossPost = false;
        if (this._onsubmit) {
            continueSubmit = this._onsubmit();
        }
        if (continueSubmit) {
            for (var i = 0; i < this._onSubmitStatements.length; i++) {
                if (!this._onSubmitStatements[i]()) {
                    continueSubmit = false;
                    break;
                }
            }
        }
        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }
        var form = this._form;
        if (isCrossPost) {
            return;
        }
        if (this._activeDefaultButton && !this._activeDefaultButtonClicked) {
            this._onFormElementActive(this._activeDefaultButton, 0, 0);
        }
        if (!this._postBackSettings.async) {
            return;
        }
        var formBody = new Sys.StringBuilder();
        formBody.append(encodeURIComponent(this._scriptManagerID) + '=' + encodeURIComponent(this._postBackSettings.panelID) + '&');
        var count = form.elements.length;
        for (var i = 0; i < count; i++) {
            var element = form.elements[i];
            var name = element.name;
            if (typeof(name) === "undefined" || (name === null) || (name.length === 0)) {
                continue;
            }
            var tagName = element.tagName;
            if (tagName === 'INPUT') {
                var type = element.type;
                if ((type === 'text') ||
                    (type === 'password') ||
                    (type === 'hidden') ||
                    (((type === 'checkbox') || (type === 'radio')) && element.checked)) {
                    formBody.append(encodeURIComponent(name));
                    formBody.append('=');
                    formBody.append(encodeURIComponent(element.value));
                    formBody.append('&');
                }
            }
            else if (tagName === 'SELECT') {
                var optionCount = element.options.length;
                for (var j = 0; j < optionCount; j++) {
                    var option = element.options[j];
                    if (option.selected) {
                        formBody.append(encodeURIComponent(name));
                        formBody.append('=');
                        formBody.append(encodeURIComponent(option.value));
                        formBody.append('&');
                    }
                }
            }
            else if (tagName === 'TEXTAREA') {
                formBody.append(encodeURIComponent(name));
                formBody.append('=');
                formBody.append(encodeURIComponent(element.value));
                formBody.append('&');
            }
        }
        if (this._additionalInput) {
            formBody.append(this._additionalInput);
            this._additionalInput = null;
        }
        
        var request = new Sys.Net.WebRequest();
        var action = form.action;
        if (Sys.Browser.agent === Sys.Browser.InternetExplorer) {
            var queryIndex = action.indexOf('?');
            if (queryIndex !== -1) {
                var path = action.substr(0, queryIndex);
                if (path.indexOf("%") === -1) {
                    action = encodeURI(path) + action.substr(queryIndex);
                }
            }
            else if (action.indexOf("%") === -1) {
                action = encodeURI(action);
            }
        }
        request.set_url(action);
        request.get_headers()['X-MicrosoftAjax'] = 'Delta=true';
        request.get_headers()['Cache-Control'] = 'no-cache';
        request.set_timeout(this._asyncPostBackTimeout);
        request.add_completed(Function.createDelegate(this, this._onFormSubmitCompleted));
        request.set_body(formBody.toString());
        var handler = this._get_eventHandlerList().getHandler("initializeRequest");
        if (handler) {
            var eventArgs = new Sys.WebForms.InitializeRequestEventArgs(request, this._postBackSettings.sourceElement);
            handler(this, eventArgs);
            continueSubmit = !eventArgs.get_cancel();
        }
        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }
        this._scrollPosition = this._getScrollPosition();
        this.abortPostBack();
        handler = this._get_eventHandlerList().getHandler("beginRequest");
        if (handler) {
            var eventArgs = new Sys.WebForms.BeginRequestEventArgs(request, this._postBackSettings.sourceElement);
            handler(this, eventArgs);
        }
        
        if (this._originalDoCallback) {
            this._cancelPendingCallbacks();
        }
        this._request = request;
        request.invoke();
        if (evt) {
            evt.preventDefault();
        }
    }
    function Sys$WebForms$PageRequestManager$_onFormSubmitCompleted(sender, eventArgs) {
        this._processingRequest = true;
        var delimitByLengthDelimiter = '|';
        if (sender.get_timedOut()) {
            this._endPostBack(this._createPageRequestManagerTimeoutError(), sender);
            return;
        }
        if (sender.get_aborted()) {
            this._endPostBack(null, sender);
            return;
        }
        if (!this._request || sender.get_webRequest() !== this._request) {
            return;
        }
        var errorMessage;
        var delta = [];
        if (sender.get_statusCode() !== 200) {
            this._endPostBack(this._createPageRequestManagerServerError(sender.get_statusCode()), sender);
            return;
        }
        var reply = sender.get_responseData();
        var delimiterIndex, len, type, id, content;
        var replyIndex = 0;
        var parserErrorDetails = null;
        while (replyIndex < reply.length) {
            delimiterIndex = reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex === -1) {
                parserErrorDetails = this._findText(reply, replyIndex);
                break;
            }
            len = parseInt(reply.substring(replyIndex, delimiterIndex), 10);
            if ((len % 1) !== 0) {
                parserErrorDetails = this._findText(reply, replyIndex);
                break;
            }
            replyIndex = delimiterIndex + 1;
            delimiterIndex = reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex === -1) {
                parserErrorDetails = this._findText(reply, replyIndex);
                break;
            }
            type = reply.substring(replyIndex, delimiterIndex);
            replyIndex = delimiterIndex + 1;
            delimiterIndex = reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex === -1) {
                parserErrorDetails = this._findText(reply, replyIndex);
                break;
            }
            id = reply.substring(replyIndex, delimiterIndex);
            replyIndex = delimiterIndex + 1;
            if ((replyIndex + len) >= reply.length) {
                parserErrorDetails = this._findText(reply, reply.length);
                break;
            }
            content = reply.substr(replyIndex, len);
            replyIndex += len;
            if (reply.charAt(replyIndex) !== delimitByLengthDelimiter) {
                parserErrorDetails = this._findText(reply, replyIndex);
                break;
            }
            replyIndex++;
            Array.add(delta, {type: type, id: id, content: content});
        }
        if (parserErrorDetails) {
            this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_ParserErrorDetails, parserErrorDetails)), sender);
            return;
        }
        var updatePanelNodes = [];
        var hiddenFieldNodes = [];
        var arrayDeclarationNodes = [];
        var scriptBlockNodes = [];
        var scriptStartupNodes = [];
        var expandoNodes = [];
        var onSubmitNodes = [];
        var dataItemNodes = [];
        var dataItemJsonNodes = [];
        var scriptDisposeNodes = [];
        var asyncPostBackControlIDsNode, postBackControlIDsNode,
            updatePanelIDsNode, asyncPostBackTimeoutNode,
            childUpdatePanelIDsNode, panelsToRefreshNode, formActionNode;
        for (var i = 0; i < delta.length; i++) {
            var deltaNode = delta[i];
            switch (deltaNode.type) {
                case "updatePanel":
                    Array.add(updatePanelNodes, deltaNode);
                    break;
                case "hiddenField":
                    Array.add(hiddenFieldNodes, deltaNode);
                    break;
                case "arrayDeclaration":
                    Array.add(arrayDeclarationNodes, deltaNode);
                    break;
                case "scriptBlock":
                    Array.add(scriptBlockNodes, deltaNode);
                    break;
                case "scriptStartupBlock":
                    Array.add(scriptStartupNodes, deltaNode);
                    break;
                case "expando":
                    Array.add(expandoNodes, deltaNode);
                    break;
                case "onSubmit":
                    Array.add(onSubmitNodes, deltaNode);
                    break;
                case "asyncPostBackControlIDs":
                    asyncPostBackControlIDsNode = deltaNode;
                    break;
                case "postBackControlIDs":
                    postBackControlIDsNode = deltaNode;
                    break;
                case "updatePanelIDs":
                    updatePanelIDsNode = deltaNode;
                    break;
                case "asyncPostBackTimeout":
                    asyncPostBackTimeoutNode = deltaNode;
                    break;
                case "childUpdatePanelIDs":
                    childUpdatePanelIDsNode = deltaNode;
                    break;
                case "panelsToRefreshIDs":
                    panelsToRefreshNode = deltaNode;
                    break;
                case "formAction":
                    formActionNode = deltaNode;
                    break;
                case "dataItem":
                    Array.add(dataItemNodes, deltaNode);
                    break;
                case "dataItemJson":
                    Array.add(dataItemJsonNodes, deltaNode);
                    break;
                case "scriptDispose":
                    Array.add(scriptDisposeNodes, deltaNode);
                    break;
                case "pageRedirect":
                    if (Sys.Browser.agent === Sys.Browser.InternetExplorer) {
                        var anchor = document.createElement("a");
                        anchor.style.display = 'none';
                        anchor.attachEvent("onclick", cancelBubble);
                        anchor.href = deltaNode.content;
                        document.body.appendChild(anchor);
                        anchor.click();
                        anchor.detachEvent("onclick", cancelBubble);
                        document.body.removeChild(anchor);
                        
                        function cancelBubble(e) {
                            e.cancelBubble = true;
                        }
                    }
                    else {
                        window.location.href = deltaNode.content;
                    }
                    return;
                case "error":
                    this._endPostBack(this._createPageRequestManagerServerError(Number.parseInvariant(deltaNode.id), deltaNode.content), sender);
                    return;
                case "pageTitle":
                    document.title = deltaNode.content;
                    break;
                case "focus":
                    this._controlIDToFocus = deltaNode.content;
                    break;
                default:
                    this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_UnknownToken, deltaNode.type)), sender);
                    return;
            }
        }
        var i;
        if (asyncPostBackControlIDsNode && postBackControlIDsNode &&
            updatePanelIDsNode && panelsToRefreshNode &&
            asyncPostBackTimeoutNode && childUpdatePanelIDsNode) {
            this._oldUpdatePanelIDs = this._updatePanelIDs;
            var childUpdatePanelIDsString = childUpdatePanelIDsNode.content;
            this._childUpdatePanelIDs = childUpdatePanelIDsString.length ? childUpdatePanelIDsString.split(',') : [];
            var asyncPostBackControlIDsArray = this._splitNodeIntoArray(asyncPostBackControlIDsNode);
            var postBackControlIDsArray = this._splitNodeIntoArray(postBackControlIDsNode);
            var updatePanelIDsArray = this._splitNodeIntoArray(updatePanelIDsNode);
            this._panelsToRefreshIDs = this._splitNodeIntoArray(panelsToRefreshNode);
            for (i = 0; i < this._panelsToRefreshIDs.length; i++) {
                var panelClientID = this._uniqueIDToClientID(this._panelsToRefreshIDs[i]);
                if (!document.getElementById(panelClientID)) {
                    this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel, panelClientID)), sender);
                    return;
                }
            }
            var asyncPostBackTimeout = asyncPostBackTimeoutNode.content;
            this._updateControls(updatePanelIDsArray, asyncPostBackControlIDsArray, postBackControlIDsArray, asyncPostBackTimeout);
        }
        this._dataItems = {};
        for (i = 0; i < dataItemNodes.length; i++) {
            var dataItemNode = dataItemNodes[i];
            this._dataItems[dataItemNode.id] = dataItemNode.content;
        }
        for (i = 0; i < dataItemJsonNodes.length; i++) {
            var dataItemJsonNode = dataItemJsonNodes[i];
            this._dataItems[dataItemJsonNode.id] = Sys.Serialization.JavaScriptSerializer.deserialize(dataItemJsonNode.content);
        }
        var handler = this._get_eventHandlerList().getHandler("pageLoading");
        if (handler) {
            handler(this, this._getPageLoadingEventArgs());
        }
        if (formActionNode) {
            this._form.action = formActionNode.content;
        }
        
        
        Sys._ScriptLoader.readLoadedScripts();
        Sys.Application.beginCreateComponents();
        var scriptLoader = Sys._ScriptLoader.getInstance();
        this._queueScripts(scriptLoader, scriptBlockNodes, true, false);
        
        this._updateContext = {
            response: sender,
            updatePanelNodes: updatePanelNodes,
            scriptBlockNodes: scriptBlockNodes,
            scriptDisposeNodes: scriptDisposeNodes,
            hiddenFieldNodes: hiddenFieldNodes,
            arrayDeclarationNodes: arrayDeclarationNodes,
            expandoNodes: expandoNodes,
            scriptStartupNodes: scriptStartupNodes,
            onSubmitNodes: onSubmitNodes
        };
        scriptLoader.loadScripts(0,
            Function.createDelegate(this, this._scriptIncludesLoadComplete),
            Function.createDelegate(this, this._scriptIncludesLoadFailed),
            null);
    }
    function Sys$WebForms$PageRequestManager$_onWindowUnload(evt) {
        this.dispose();
    }
    function Sys$WebForms$PageRequestManager$_pageLoaded(initialLoad) {
        var handler = this._get_eventHandlerList().getHandler("pageLoaded");
        if (handler) {
            handler(this, this._getPageLoadedEventArgs(initialLoad));
        }
        if (!initialLoad) {
            Sys.Application.raiseLoad();
        }
    }
    function Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad(evt) {
        this._pageLoaded(true);
    }
    function Sys$WebForms$PageRequestManager$_queueScripts(scriptLoader, scriptBlockNodes, queueIncludes, queueBlocks) {
        
        for (i = 0; i < scriptBlockNodes.length; i++) {
            var scriptBlockType = scriptBlockNodes[i].id;
            switch (scriptBlockType) {
                case "ScriptContentNoTags":
                    if (!queueBlocks) {
                        continue;
                    }
                    scriptLoader.queueScriptBlock(scriptBlockNodes[i].content);
                    break;
                case "ScriptContentWithTags":
                    var scriptTagAttributes;
                    eval("scriptTagAttributes = " + scriptBlockNodes[i].content);
                    if (scriptTagAttributes.src) {
                        if (!queueIncludes || Sys._ScriptLoader.isScriptLoaded(scriptTagAttributes.src)) {
                            continue;
                        }
                    }
                    else if (!queueBlocks) {
                        continue;
                    }
                    scriptLoader.queueCustomScriptTag(scriptTagAttributes);
                    break;
                case "ScriptPath":
                    if (!queueIncludes || Sys._ScriptLoader.isScriptLoaded(scriptBlockNodes[i].content)) {
                        continue;
                    }
                    scriptLoader.queueScriptReference(scriptBlockNodes[i].content);
                    break;
            }
        }        
    }
    function Sys$WebForms$PageRequestManager$_registerDisposeScript(panelID, disposeScript) {
        if (!this._scriptDisposes[panelID]) {
            this._scriptDisposes[panelID] = [disposeScript];
        }
        else {
            Array.add(this._scriptDisposes[panelID], disposeScript);
        }
    }
    function Sys$WebForms$PageRequestManager$_scriptIncludesLoadComplete() {
        var ctx = this._updateContext;
        for (i = 0; i < ctx.updatePanelNodes.length; i++) {
            var deltaUpdatePanel = ctx.updatePanelNodes[i];
            var deltaPanelID = deltaUpdatePanel.id;
            var deltaPanelRendering = deltaUpdatePanel.content;
            var updatePanelElement = document.getElementById(deltaPanelID);
            if (!updatePanelElement) {
                this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel, deltaPanelID)), ctx.response);
                return;
            }
            this._updatePanel(updatePanelElement, deltaPanelRendering);
        }
        for (i = 0; i < ctx.scriptDisposeNodes.length; i++) {
            var disposePanelId = ctx.scriptDisposeNodes[i].id;
            var disposeScript = ctx.scriptDisposeNodes[i].content;
            this._registerDisposeScript(disposePanelId, disposeScript);
        }
        var viewStateEncrypted = false;
        for (i = 0; i < ctx.hiddenFieldNodes.length; i++) {
            var id = ctx.hiddenFieldNodes[i].id;
            var value = ctx.hiddenFieldNodes[i].content;
            
            if (id === "__VIEWSTATEENCRYPTED") {
                viewStateEncrypted = true;
            }
            var hiddenFieldElement = document.getElementById(id);
            if (!hiddenFieldElement) {
                hiddenFieldElement = document.createElement('input');
                hiddenFieldElement.id = id;
                hiddenFieldElement.name = id;
                hiddenFieldElement.type = 'hidden';
                this._form.appendChild(hiddenFieldElement);
            }
            hiddenFieldElement.value = value;
        }
        
        if (!viewStateEncrypted) {
            var viewStateEncryptedField = document.getElementById("__VIEWSTATEENCRYPTED");
            if (viewStateEncryptedField) {
                viewStateEncryptedField.parentNode.removeChild(viewStateEncryptedField);
            }
        }
        if (ctx.scriptsFailed) {
            throw Sys._ScriptLoader._errorScriptLoadFailed(ctx.scriptsFailed.src, ctx.scriptsFailed.multipleCallbacks);
        }
        
        var scriptLoader = Sys._ScriptLoader.getInstance();
        
        this._queueScripts(scriptLoader, ctx.scriptBlockNodes, false, true);
        var arrayScript = '';
        for (i = 0; i < ctx.arrayDeclarationNodes.length; i++) {
            arrayScript += "Sys.WebForms.PageRequestManager._addArrayElement('" + ctx.arrayDeclarationNodes[i].id + "', " + ctx.arrayDeclarationNodes[i].content + ");\r\n";
        }
        var expandoScript = '';
        for (i = 0; i < ctx.expandoNodes.length; i++) {
            var propertyReference = ctx.expandoNodes[i].id;
            var propertyValue = ctx.expandoNodes[i].content;
            expandoScript += propertyReference + " = " + propertyValue + "\r\n";
        }
        if (arrayScript.length) {
            scriptLoader.queueScriptBlock(arrayScript);
        }
        if (expandoScript.length) {
            scriptLoader.queueScriptBlock(expandoScript);
        }
        
        this._queueScripts(scriptLoader, ctx.scriptStartupNodes, true, true);
        var onSubmitStatementScript = '';
        for (var i = 0; i < ctx.onSubmitNodes.length; i++) {
            if (i === 0) {
                onSubmitStatementScript = 'Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, function() {\r\n';
            }
            onSubmitStatementScript += ctx.onSubmitNodes[i].content + "\r\n";
        }
        if (onSubmitStatementScript.length) {
            onSubmitStatementScript += "\r\nreturn true;\r\n});\r\n";
            scriptLoader.queueScriptBlock(onSubmitStatementScript);
        }
        scriptLoader.loadScripts(0, Function.createDelegate(this, this._scriptsLoadComplete), null, null);
    }
    function Sys$WebForms$PageRequestManager$_scriptIncludesLoadFailed(scriptLoader, scriptElement, multipleCallbacks) {
        this._updateContext.scriptsFailed = { src: scriptElement.src, multipleCallbacks: multipleCallbacks };
        this._scriptIncludesLoadComplete();
    }
    function Sys$WebForms$PageRequestManager$_scriptsLoadComplete() {
        var response = this._updateContext.response;
        this._updateContext = null;
        if (window.__theFormPostData) {
            window.__theFormPostData = "";
        }
        if (window.__theFormPostCollection) {
            window.__theFormPostCollection = [];
        }
        if (window.WebForm_InitCallback) {
            window.WebForm_InitCallback();
        }
        if (this._scrollPosition) {
            if (window.scrollTo) {
                window.scrollTo(this._scrollPosition.x, this._scrollPosition.y);
            }
            this._scrollPosition = null;
        }
        Sys.Application.endCreateComponents();
        this._pageLoaded(false);
        this._endPostBack(null, response);
        if (this._controlIDToFocus) {
            var focusTarget;
            var oldContentEditableSetting;
            if (Sys.Browser.agent === Sys.Browser.InternetExplorer) {
                var targetControl = $get(this._controlIDToFocus);
                focusTarget = targetControl;
                if (targetControl && (!WebForm_CanFocus(targetControl))) {
                    focusTarget = WebForm_FindFirstFocusableChild(targetControl);
                }
                if (focusTarget && (typeof(focusTarget.contentEditable) !== "undefined")) {
                    oldContentEditableSetting = focusTarget.contentEditable;
                    focusTarget.contentEditable = false;
                }
                else {
                    focusTarget = null;
                }
            }
            WebForm_AutoFocus(this._controlIDToFocus);
            if (focusTarget) {
                focusTarget.contentEditable = oldContentEditableSetting;
            }
            this._controlIDToFocus = null;
        }
    }
    function Sys$WebForms$PageRequestManager$_splitNodeIntoArray(node) {
        var str = node.content;
        var arr = str.length ? str.split(',') : [];
        return arr;
    }
    function Sys$WebForms$PageRequestManager$_uniqueIDToClientID(uniqueID) {
        return uniqueID.replace(/\$/g, '_');
    }
    function Sys$WebForms$PageRequestManager$_updateControls(updatePanelIDs, asyncPostBackControlIDs, postBackControlIDs, asyncPostBackTimeout) {
        if (updatePanelIDs) {
            this._updatePanelIDs = new Array(updatePanelIDs.length);
            this._updatePanelClientIDs = new Array(updatePanelIDs.length);
            this._updatePanelHasChildrenAsTriggers = new Array(updatePanelIDs.length);
            for (var i = 0; i < updatePanelIDs.length; i++) {
                var realPanelID = updatePanelIDs[i].substr(1);
                var childrenAsTriggers = (updatePanelIDs[i].charAt(0) === 't');
                this._updatePanelHasChildrenAsTriggers[i] = childrenAsTriggers;
                this._updatePanelIDs[i] = realPanelID;
                this._updatePanelClientIDs[i] = this._uniqueIDToClientID(realPanelID);
            }
            this._asyncPostBackTimeout = asyncPostBackTimeout * 1000;
        }
        else {
            this._updatePanelIDs = [];
            this._updatePanelClientIDs = [];
            this._updatePanelHasChildrenAsTriggers = [];
            this._asyncPostBackTimeout = 0;
        }
        this._asyncPostBackControlIDs = [];
        this._asyncPostBackControlClientIDs = [];
        this._convertToClientIDs(asyncPostBackControlIDs, this._asyncPostBackControlIDs, this._asyncPostBackControlClientIDs);
        this._postBackControlIDs = [];
        this._postBackControlClientIDs = [];
        this._convertToClientIDs(postBackControlIDs, this._postBackControlIDs, this._postBackControlClientIDs);
    }
    function Sys$WebForms$PageRequestManager$_updatePanel(updatePanelElement, rendering) {
        for (var updatePanelID in this._scriptDisposes) {
            if (this._elementContains(updatePanelElement, document.getElementById(updatePanelID))) {
                var disposeScripts = this._scriptDisposes[updatePanelID];
                for (var i = 0; i < disposeScripts.length; i++) {
                    eval(disposeScripts[i]);
                }
                delete this._scriptDisposes[updatePanelID];
            }
        }
        this._destroyTree(updatePanelElement);
        updatePanelElement.innerHTML = rendering;
    }
    function Sys$WebForms$PageRequestManager$_validPosition(position) {
        return (typeof(position) !== "undefined") && (position !== null) && (position !== 0);
    }
Sys.WebForms.PageRequestManager.prototype = {
    _get_eventHandlerList: Sys$WebForms$PageRequestManager$_get_eventHandlerList,
    get_isInAsyncPostBack: Sys$WebForms$PageRequestManager$get_isInAsyncPostBack,
    add_beginRequest: Sys$WebForms$PageRequestManager$add_beginRequest,
    remove_beginRequest: Sys$WebForms$PageRequestManager$remove_beginRequest,
    add_endRequest: Sys$WebForms$PageRequestManager$add_endRequest,
    remove_endRequest: Sys$WebForms$PageRequestManager$remove_endRequest,
    add_initializeRequest: Sys$WebForms$PageRequestManager$add_initializeRequest,
    remove_initializeRequest: Sys$WebForms$PageRequestManager$remove_initializeRequest,
    add_pageLoaded: Sys$WebForms$PageRequestManager$add_pageLoaded,
    remove_pageLoaded: Sys$WebForms$PageRequestManager$remove_pageLoaded,
    add_pageLoading: Sys$WebForms$PageRequestManager$add_pageLoading,
    remove_pageLoading: Sys$WebForms$PageRequestManager$remove_pageLoading,
    abortPostBack: Sys$WebForms$PageRequestManager$abortPostBack,
    _cancelPendingCallbacks: Sys$WebForms$PageRequestManager$_cancelPendingCallbacks,
    _createPageRequestManagerTimeoutError: Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError,
    _createPageRequestManagerServerError: Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError,
    _createPageRequestManagerParserError: Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError,
    _createPostBackSettings: Sys$WebForms$PageRequestManager$_createPostBackSettings,
    _convertToClientIDs: Sys$WebForms$PageRequestManager$_convertToClientIDs,
    _destroyTree: Sys$WebForms$PageRequestManager$_destroyTree,
    dispose: Sys$WebForms$PageRequestManager$dispose,
    _doCallback: Sys$WebForms$PageRequestManager$_doCallback,
    _doPostBack: Sys$WebForms$PageRequestManager$_doPostBack,
    _doPostBackWithOptions: Sys$WebForms$PageRequestManager$_doPostBackWithOptions,
    _elementContains: Sys$WebForms$PageRequestManager$_elementContains,
    _endPostBack: Sys$WebForms$PageRequestManager$_endPostBack,
    _findNearestElement: Sys$WebForms$PageRequestManager$_findNearestElement,
    _findText: Sys$WebForms$PageRequestManager$_findText,
    _fireDefaultButton: Sys$WebForms$PageRequestManager$_fireDefaultButton,
    _getPageLoadedEventArgs: Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs,
    _getPageLoadingEventArgs: Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs,
    _getPostBackSettings: Sys$WebForms$PageRequestManager$_getPostBackSettings,
    _getScrollPosition: Sys$WebForms$PageRequestManager$_getScrollPosition,
    _initializeInternal: Sys$WebForms$PageRequestManager$_initializeInternal,
    _matchesParentIDInList: Sys$WebForms$PageRequestManager$_matchesParentIDInList,
    _onFormElementActive: Sys$WebForms$PageRequestManager$_onFormElementActive,
    _onFormElementClick: Sys$WebForms$PageRequestManager$_onFormElementClick,
    _onFormSubmit: Sys$WebForms$PageRequestManager$_onFormSubmit,
    _onFormSubmitCompleted: Sys$WebForms$PageRequestManager$_onFormSubmitCompleted,
    _onWindowUnload: Sys$WebForms$PageRequestManager$_onWindowUnload,
    _pageLoaded: Sys$WebForms$PageRequestManager$_pageLoaded,
    _pageLoadedInitialLoad: Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad,
    _queueScripts: Sys$WebForms$PageRequestManager$_queueScripts,
    _registerDisposeScript: Sys$WebForms$PageRequestManager$_registerDisposeScript,
    _scriptIncludesLoadComplete: Sys$WebForms$PageRequestManager$_scriptIncludesLoadComplete,
    _scriptIncludesLoadFailed: Sys$WebForms$PageRequestManager$_scriptIncludesLoadFailed,
    _scriptsLoadComplete: Sys$WebForms$PageRequestManager$_scriptsLoadComplete,
    _splitNodeIntoArray: Sys$WebForms$PageRequestManager$_splitNodeIntoArray,
    _uniqueIDToClientID: Sys$WebForms$PageRequestManager$_uniqueIDToClientID,
    _updateControls: Sys$WebForms$PageRequestManager$_updateControls,
    _updatePanel: Sys$WebForms$PageRequestManager$_updatePanel,
    _validPosition: Sys$WebForms$PageRequestManager$_validPosition
}
Sys.WebForms.PageRequestManager.getInstance = function Sys$WebForms$PageRequestManager$getInstance() {
    /// <summary locid="M:J#Sys.WebForms.PageRequestManager.getInstance" />
    /// <returns type="Sys.WebForms.PageRequestManager"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    var prm = Sys.WebForms.PageRequestManager._instance;
    if (!prm) {
        prm = Sys.WebForms.PageRequestManager._instance = new Sys.WebForms.PageRequestManager();
    }
    return prm;
}
Sys.WebForms.PageRequestManager._addArrayElement = function Sys$WebForms$PageRequestManager$_addArrayElement(arrayName) {
    if (!window[arrayName]) {
        window[arrayName] = new Array();
    }
    for (var i = 1, l = arguments.length; i < l; i++) {
        Array.add(window[arrayName], arguments[i]);
    }
}
Sys.WebForms.PageRequestManager._initialize = function Sys$WebForms$PageRequestManager$_initialize(scriptManagerID, formElement) {
    Sys.WebForms.PageRequestManager.getInstance()._initializeInternal(scriptManagerID, formElement);
}
Sys.WebForms.PageRequestManager.registerClass('Sys.WebForms.PageRequestManager');
 
Sys.UI._UpdateProgress = function Sys$UI$_UpdateProgress(element) {
    Sys.UI._UpdateProgress.initializeBase(this,[element]);
    this._displayAfter = 500;
    this._dynamicLayout = true;
    this._associatedUpdatePanelId = null;
    this._beginRequestHandlerDelegate = null;
    this._startDelegate = null;
    this._endRequestHandlerDelegate = null;
    this._pageRequestManager = null;
    this._timerCookie = null;
}
    function Sys$UI$_UpdateProgress$get_displayAfter() {
        /// <value type="Number" locid="P:J#Sys.UI._UpdateProgress.displayAfter"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._displayAfter;
    }
    function Sys$UI$_UpdateProgress$set_displayAfter(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        this._displayAfter = value;
    }
    function Sys$UI$_UpdateProgress$get_dynamicLayout() {
        /// <value type="Boolean" locid="P:J#Sys.UI._UpdateProgress.dynamicLayout"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._dynamicLayout;
    }
    function Sys$UI$_UpdateProgress$set_dynamicLayout(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);
        if (e) throw e;
        this._dynamicLayout = value;
    }
    function Sys$UI$_UpdateProgress$get_associatedUpdatePanelId() {
        /// <value type="String" mayBeNull="true" locid="P:J#Sys.UI._UpdateProgress.associatedUpdatePanelId"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._associatedUpdatePanelId;
    }
    function Sys$UI$_UpdateProgress$set_associatedUpdatePanelId(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String, mayBeNull: true}]);
        if (e) throw e;
        this._associatedUpdatePanelId = value;
    }
    function Sys$UI$_UpdateProgress$_handleBeginRequest(sender, arg) {
        var curElem = arg.get_postBackElement();
        var showProgress = !this._associatedUpdatePanelId; 
        while (!showProgress && curElem) {
            if (curElem.id && this._associatedUpdatePanelId === curElem.id) {
                showProgress = true; 
            }
            curElem = curElem.parentNode; 
        } 
        if (showProgress) {
            this._timerCookie = window.setTimeout(this._startDelegate, this._displayAfter);
        }
    }
    function Sys$UI$_UpdateProgress$_startRequest() {
        if (this._pageRequestManager.get_isInAsyncPostBack()) {
            if (this._dynamicLayout) this.get_element().style.display = 'block';
            else this.get_element().style.visibility = 'visible';
        }
        this._timerCookie = null;
    }
    function Sys$UI$_UpdateProgress$_handleEndRequest(sender, arg) {
        if (this._dynamicLayout) this.get_element().style.display = 'none';
        else this.get_element().style.visibility = 'hidden';
        if (this._timerCookie) {
            window.clearTimeout(this._timerCookie);
            this._timerCookie = null;
        }
    }
    function Sys$UI$_UpdateProgress$dispose() {
       if (this._pageRequestManager !== null) {
           this._pageRequestManager.remove_beginRequest(this._beginRequestHandlerDelegate);
           this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate);
       }
       Sys.UI._UpdateProgress.callBaseMethod(this,"dispose");
    }
    function Sys$UI$_UpdateProgress$initialize() {
        Sys.UI._UpdateProgress.callBaseMethod(this, 'initialize');
    	this._beginRequestHandlerDelegate = Function.createDelegate(this, this._handleBeginRequest);
    	this._endRequestHandlerDelegate = Function.createDelegate(this, this._handleEndRequest);
    	this._startDelegate = Function.createDelegate(this, this._startRequest);
    	if (Sys.WebForms && Sys.WebForms.PageRequestManager) {
           this._pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();
    	}
    	if (this._pageRequestManager !== null ) {
    	    this._pageRequestManager.add_beginRequest(this._beginRequestHandlerDelegate);
    	    this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate);
    	}
    }
Sys.UI._UpdateProgress.prototype = {
    get_displayAfter: Sys$UI$_UpdateProgress$get_displayAfter,
    set_displayAfter: Sys$UI$_UpdateProgress$set_displayAfter,
    get_dynamicLayout: Sys$UI$_UpdateProgress$get_dynamicLayout,
    set_dynamicLayout: Sys$UI$_UpdateProgress$set_dynamicLayout,
    get_associatedUpdatePanelId: Sys$UI$_UpdateProgress$get_associatedUpdatePanelId,
    set_associatedUpdatePanelId: Sys$UI$_UpdateProgress$set_associatedUpdatePanelId,
    _handleBeginRequest: Sys$UI$_UpdateProgress$_handleBeginRequest,
    _startRequest: Sys$UI$_UpdateProgress$_startRequest,
    _handleEndRequest: Sys$UI$_UpdateProgress$_handleEndRequest,
    dispose: Sys$UI$_UpdateProgress$dispose,
    initialize: Sys$UI$_UpdateProgress$initialize
}
Sys.UI._UpdateProgress.registerClass('Sys.UI._UpdateProgress', Sys.UI.Control);
Type.registerNamespace('Sys.WebForms');
Sys.WebForms.Res={
'PRM_MissingPanel':'Could not find UpdatePanel with ID \'{0}\'. If it is being updated dynamically then it must be inside another UpdatePanel.',
'PRM_ServerError':'An unknown error occurred while processing the request on the server. The status code returned from the server was: {0}',
'PRM_ParserError':'The message received from the server could not be parsed.',
'PRM_TimeoutError':'The server request timed out.',
'PRM_CannotRegisterTwice':'The PageRequestManager cannot be initialized more than once.',
'PRM_UnknownToken':'Unknown token: \'{0}\'.',
'PRM_MissingPanel':'Could not find UpdatePanel with ID \'{0}\'. If it is being updated dynamically then it must be inside another UpdatePanel.',
'PRM_ServerError':'An unknown error occurred while processing the request on the server. The status code returned from the server was: {0}',
'PRM_ParserError':'The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.\r\nDetails: {0}',
'PRM_TimeoutError':'The server request timed out.',
'PRM_ParserErrorDetails':'Error parsing near \'{0}\'.',
'PRM_CannotRegisterTwice':'The PageRequestManager cannot be initialized more than once.'
};
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
4x//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxWebForms.js
Type.registerNamespace("Sys.WebForms");Sys.WebForms.BeginRequestEventArgs=function(b,a){Sys.WebForms.BeginRequestEventArgs.initializeBase(this);this._request=b;this._postBackElement=a};Sys.WebForms.BeginRequestEventArgs.prototype={get_postBackElement:function(){return this._postBackElement},get_request:function(){return this._request}};Sys.WebForms.BeginRequestEventArgs.registerClass("Sys.WebForms.BeginRequestEventArgs",Sys.EventArgs);Sys.WebForms.EndRequestEventArgs=function(c,a,b){Sys.WebForms.EndRequestEventArgs.initializeBase(this);this._errorHandled=false;this._error=c;this._dataItems=a||{};this._response=b};Sys.WebForms.EndRequestEventArgs.prototype={get_dataItems:function(){return this._dataItems},get_error:function(){return this._error},get_errorHandled:function(){return this._errorHandled},set_errorHandled:function(a){this._errorHandled=a},get_response:function(){return this._response}};Sys.WebForms.EndRequestEventArgs.registerClass("Sys.WebForms.EndRequestEventArgs",Sys.EventArgs);Sys.WebForms.InitializeRequestEventArgs=function(b,a){Sys.WebForms.InitializeRequestEventArgs.initializeBase(this);this._request=b;this._postBackElement=a};Sys.WebForms.InitializeRequestEventArgs.prototype={get_postBackElement:function(){return this._postBackElement},get_request:function(){return this._request}};Sys.WebForms.InitializeRequestEventArgs.registerClass("Sys.WebForms.InitializeRequestEventArgs",Sys.CancelEventArgs);Sys.WebForms.PageLoadedEventArgs=function(b,a,c){Sys.WebForms.PageLoadedEventArgs.initializeBase(this);this._panelsUpdated=b;this._panelsCreated=a;this._dataItems=c||{}};Sys.WebForms.PageLoadedEventArgs.prototype={get_dataItems:function(){return this._dataItems},get_panelsCreated:function(){return this._panelsCreated},get_panelsUpdated:function(){return this._panelsUpdated}};Sys.WebForms.PageLoadedEventArgs.registerClass("Sys.WebForms.PageLoadedEventArgs",Sys.EventArgs);Sys.WebForms.PageLoadingEventArgs=function(b,a,c){Sys.WebForms.PageLoadingEventArgs.initializeBase(this);this._panelsUpdating=b;this._panelsDeleting=a;this._dataItems=c||{}};Sys.WebForms.PageLoadingEventArgs.prototype={get_dataItems:function(){return this._dataItems},get_panelsDeleting:function(){return this._panelsDeleting},get_panelsUpdating:function(){return this._panelsUpdating}};Sys.WebForms.PageLoadingEventArgs.registerClass("Sys.WebForms.PageLoadingEventArgs",Sys.EventArgs);Sys.WebForms.PageRequestManager=function(){this._form=null;this._activeDefaultButton=null;this._activeDefaultButtonClicked=false;this._updatePanelIDs=null;this._updatePanelClientIDs=null;this._oldUpdatePanelIDs=null;this._childUpdatePanelIDs=null;this._panelsToRefreshIDs=null;this._updatePanelHasChildrenAsTriggers=null;this._asyncPostBackControlIDs=null;this._asyncPostBackControlClientIDs=null;this._postBackControlIDs=null;this._postBackControlClientIDs=null;this._scriptManagerID=null;this._pageLoadedHandler=null;this._additionalInput=null;this._onsubmit=null;this._onSubmitStatements=[];this._originalDoPostBack=null;this._originalDoPostBackWithOptions=null;this._originalFireDefaultButton=null;this._originalDoCallback=null;this._isCrossPost=false;this._postBackSettings=null;this._request=null;this._onFormSubmitHandler=null;this._onFormElementClickHandler=null;this._onWindowUnloadHandler=null;this._asyncPostBackTimeout=null;this._controlIDToFocus=null;this._scrollPosition=null;this._dataItems=null;this._updateContext=null;this._processingRequest=false;this._scriptDisposes={}};Sys.WebForms.PageRequestManager.prototype={_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_isInAsyncPostBack:function(){return this._request!==null},add_beginRequest:function(a){this._get_eventHandlerList().addHandler("beginRequest",a)},remove_beginRequest:function(a){this._get_eventHandlerList().removeHandler("beginRequest",a)},add_endRequest:function(a){this._get_eventHandlerList().addHandler("endRequest",a)},remove_endRequest:function(a){this._get_eventHandlerList().removeHandler("endRequest",a)},add_initializeRequest:function(a){this._get_eventHandlerList().addHandler("initializeRequest",a)},remove_initializeRequest:function(a){this._get_eventHandlerList().removeHandler("initializeRequest",a)},add_pageLoaded:function(a){this._get_eventHandlerList().addHandler("pageLoaded",a)},remove_pageLoaded:function(a){this._get_eventHandlerList().removeHandler("pageLoaded",a)},add_pageLoading:function(a){this._get_eventHandlerList().addHandler("pageLoading",a)},remove_pageLoading:function(a){this._get_eventHandlerList().removeHandler("pageLoading",a)},abortPostBack:function(){if(!this._processingRequest&&this._request){this._request.get_executor().abort();this._request=null}},_cancelPendingCallbacks:function(){for(var a=0,e=window.__pendingCallbacks.length;a<e;a++){var c=window.__pendingCallbacks[a];if(c){if(!c.async)window.__synchronousCallBackIndex=-1;window.__pendingCallbacks[a]=null;var d="__CALLBACKFRAME"+a,b=document.getElementById(d);if(b)b.parentNode.removeChild(b)}}},_createPageRequestManagerTimeoutError:function(){var b="Sys.WebForms.PageRequestManagerTimeoutException: "+Sys.WebForms.Res.PRM_TimeoutError,a=Error.create(b,{name:"Sys.WebForms.PageRequestManagerTimeoutException"});a.popStackFrame();return a},_createPageRequestManagerServerError:function(a,d){var c="Sys.WebForms.PageRequestManagerServerErrorException: "+(d||String.format(Sys.WebForms.Res.PRM_ServerError,a)),b=Error.create(c,{name:"Sys.WebForms.PageRequestManagerServerErrorException",httpStatusCode:a});b.popStackFrame();return b},_createPageRequestManagerParserError:function(b){var c="Sys.WebForms.PageRequestManagerParserErrorException: "+String.format(Sys.WebForms.Res.PRM_ParserError,b),a=Error.create(c,{name:"Sys.WebForms.PageRequestManagerParserErrorException"});a.popStackFrame();return a},_createPostBackSettings:function(c,b,a){return {async:c,panelID:b,sourceElement:a}},_convertToClientIDs:function(a,d,c){if(a)for(var b=0;b<a.length;b++){Array.add(d,a[b]);Array.add(c,this._uniqueIDToClientID(a[b]))}},_destroyTree:function(f){if(f.nodeType===1){var d=f.childNodes;for(var b=d.length-1;b>=0;b--){var a=d[b];if(a.nodeType===1){if(a.dispose&&typeof a.dispose==="function")a.dispose();else if(a.control&&typeof a.control.dispose==="function")a.control.dispose();var e=Sys.UI.Behavior.getBehaviors(a);for(var c=e.length-1;c>=0;c--)e[c].dispose();this._destroyTree(a)}}}},dispose:function(){if(this._form){Sys.UI.DomEvent.removeHandler(this._form,"submit",this._onFormSubmitHandler);Sys.UI.DomEvent.removeHandler(this._form,"click",this._onFormElementClickHandler);Sys.UI.DomEvent.removeHandler(window,"unload",this._onWindowUnloadHandler);Sys.UI.DomEvent.removeHandler(window,"load",this._pageLoadedHandler)}if(this._originalDoPostBack){window.__doPostBack=this._originalDoPostBack;this._originalDoPostBack=null}if(this._originalDoPostBackWithOptions){window.WebForm_DoPostBackWithOptions=this._originalDoPostBackWithOptions;this._originalDoPostBackWithOptions=null}if(this._originalFireDefaultButton){window.WebForm_FireDefaultButton=this._originalFireDefaultButton;this._originalFireDefaultButton=null}if(this._originalDoCallback){window.WebForm_DoCallback=this._originalDoCallback;this._originalDoCallback=null}this._form=null;this._updatePanelIDs=null;this._oldUpdatePanelIDs=null;this._childUpdatePanelIDs=null;this._updatePanelClientIDs=null;this._asyncPostBackControlIDs=null;this._asyncPostBackControlClientIDs=null;this._postBackControlIDs=null;this._postBackControlClientIDs=null;this._asyncPostBackTimeout=null;this._scrollPosition=null;this._dataItems=null},_doCallback:function(d,b,c,f,a,e){if(!this.get_isInAsyncPostBack())this._originalDoCallback(d,b,c,f,a,e)},_doPostBack:function(a,e){this._additionalInput=null;var b=this._form;if(a===null||typeof a==="undefined"||this._isCrossPost){this._postBackSettings=this._createPostBackSettings(false,null,null);this._isCrossPost=false}else{var f=this._uniqueIDToClientID(a),d=document.getElementById(f);if(!d)if(Array.contains(this._asyncPostBackControlIDs,a))this._postBackSettings=this._createPostBackSettings(true,this._scriptManagerID+"|"+a,null);else if(Array.contains(this._postBackControlIDs,a))this._postBackSettings=this._createPostBackSettings(false,null,null);else{var c=this._findNearestElement(a);if(c)this._postBackSettings=this._getPostBackSettings(c,a);else this._postBackSettings=this._createPostBackSettings(false,null,null)}else this._postBackSettings=this._getPostBackSettings(d,a)}if(!this._postBackSettings.async){b.onsubmit=this._onsubmit;this._originalDoPostBack(a,e);b.onsubmit=null;return}b.__EVENTTARGET.value=a;b.__EVENTARGUMENT.value=e;this._onFormSubmit()},_doPostBackWithOptions:function(a){this._isCrossPost=a&&a.actionUrl;this._originalDoPostBackWithOptions(a)},_elementContains:function(b,a){while(a){if(a===b)return true;a=a.parentNode}return false},_endPostBack:function(a,d){if(this._request===d.get_webRequest()){this._processingRequest=false;this._additionalInput=null;this._request=null}var e=this._get_eventHandlerList().getHandler("endRequest"),b=false;if(e){var c=new Sys.WebForms.EndRequestEventArgs(a,this._dataItems,d);e(this,c);b=c.get_errorHandled()}if(!this._processingRequest)this._dataItems=null;if(a&&!b)throw a},_findNearestElement:function(a){while(a.length>0){var d=this._uniqueIDToClientID(a),c=document.getElementById(d);if(c)return c;var b=a.lastIndexOf("$");if(b===-1)return null;a=a.substring(0,b)}return null},_findText:function(b,a){var c=Math.max(0,a-20),d=Math.min(b.length,a+20);return b.substring(c,d)},_fireDefaultButton:function(a,c){if(a.keyCode===13&&!(a.srcElement&&a.srcElement.tagName.toLowerCase()==="textarea")){var b=document.getElementById(c);if(b&&typeof b.click!=="undefined"){this._activeDefaultButton=b;this._activeDefaultButtonClicked=false;try{b.click()}finally{this._activeDefaultButton=null}a.cancelBubble=true;if(typeof a.stopPropagation==="function")a.stopPropagation();return false}}return true},_getPageLoadedEventArgs:function(f){var e=[],d=[],h=this._oldUpdatePanelIDs||[],b=this._updatePanelIDs,g=this._childUpdatePanelIDs||[],c=this._panelsToRefreshIDs||[];for(var a=0;a<c.length;a++)Array.add(e,document.getElementById(this._uniqueIDToClientID(c[a])));for(var a=0;a<b.length;a++)if(f||Array.indexOf(g,b[a])!==-1)Array.add(d,document.getElementById(this._uniqueIDToClientID(b[a])));return new Sys.WebForms.PageLoadedEventArgs(e,d,this._dataItems)},_getPageLoadingEventArgs:function(){var e=[],d=[],b=this._oldUpdatePanelIDs,g=this._updatePanelIDs,f=this._childUpdatePanelIDs,c=this._panelsToRefreshIDs;for(var a=0;a<c.length;a++)Array.add(e,document.getElementById(this._uniqueIDToClientID(c[a])));for(var a=0;a<b.length;a++)if(Array.indexOf(c,b[a])===-1&&(Array.indexOf(g,b[a])===-1||Array.indexOf(f,b[a])>-1))Array.add(d,document.getElementById(this._uniqueIDToClientID(b[a])));return new Sys.WebForms.PageLoadingEventArgs(e,d,this._dataItems)},_getPostBackSettings:function(a,c){var d=a,b=null;while(a){if(a.id){if(!b&&Array.contains(this._asyncPostBackControlClientIDs,a.id))b=this._createPostBackSettings(true,this._scriptManagerID+"|"+c,d);else if(!b&&Array.contains(this._postBackControlClientIDs,a.id))return this._createPostBackSettings(false,null,null);else{var e=Array.indexOf(this._updatePanelClientIDs,a.id);if(e!==-1)if(this._updatePanelHasChildrenAsTriggers[e])return this._createPostBackSettings(true,this._updatePanelIDs[e]+"|"+c,d);else return this._createPostBackSettings(true,this._scriptManagerID+"|"+c,d)}if(!b&&this._matchesParentIDInList(a.id,this._asyncPostBackControlClientIDs))b=this._createPostBackSettings(true,this._scriptManagerID+"|"+c,d);else if(!b&&this._matchesParentIDInList(a.id,this._postBackControlClientIDs))return this._createPostBackSettings(false,null,null)}a=a.parentNode}if(!b)return this._createPostBackSettings(false,null,null);else return b},_getScrollPosition:function(){var a=document.documentElement;if(a&&(this._validPosition(a.scrollLeft)||this._validPosition(a.scrollTop)))return {x:a.scrollLeft,y:a.scrollTop};else{a=document.body;if(a&&(this._validPosition(a.scrollLeft)||this._validPosition(a.scrollTop)))return {x:a.scrollLeft,y:a.scrollTop};else if(this._validPosition(window.pageXOffset)||this._validPosition(window.pageYOffset))return {x:window.pageXOffset,y:window.pageYOffset};else return {x:0,y:0}}},_initializeInternal:function(a,b){if(this._prmInitialized)throw Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);this._prmInitialized=true;this._scriptManagerID=a;this._form=b;this._onsubmit=this._form.onsubmit;this._form.onsubmit=null;this._onFormSubmitHandler=Function.createDelegate(this,this._onFormSubmit);this._onFormElementClickHandler=Function.createDelegate(this,this._onFormElementClick);this._onWindowUnloadHandler=Function.createDelegate(this,this._onWindowUnload);Sys.UI.DomEvent.addHandler(this._form,"submit",this._onFormSubmitHandler);Sys.UI.DomEvent.addHandler(this._form,"click",this._onFormElementClickHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._onWindowUnloadHandler);this._originalDoPostBack=window.__doPostBack;if(this._originalDoPostBack)window.__doPostBack=Function.createDelegate(this,this._doPostBack);this._originalDoPostBackWithOptions=window.WebForm_DoPostBackWithOptions;if(this._originalDoPostBackWithOptions)window.WebForm_DoPostBackWithOptions=Function.createDelegate(this,this._doPostBackWithOptions);this._originalFireDefaultButton=window.WebForm_FireDefaultButton;if(this._originalFireDefaultButton)window.WebForm_FireDefaultButton=Function.createDelegate(this,this._fireDefaultButton);this._originalDoCallback=window.WebForm_DoCallback;if(this._originalDoCallback)window.WebForm_DoCallback=Function.createDelegate(this,this._doCallback);this._pageLoadedHandler=Function.createDelegate(this,this._pageLoadedInitialLoad);Sys.UI.DomEvent.addHandler(window,"load",this._pageLoadedHandler)},_matchesParentIDInList:function(c,b){for(var a=0;a<b.length;a++)if(c.startsWith(b[a]+"_"))return true;return false},_onFormElementActive:function(a,c,d){if(a.disabled)return;this._postBackSettings=this._getPostBackSettings(a,a.name);if(a.name)if(a.tagName==="INPUT"){var b=a.type;if(b==="submit")this._additionalInput=encodeURIComponent(a.name)+"="+encodeURIComponent(a.value);else if(b==="image")this._additionalInput=encodeURIComponent(a.name)+".x="+c+"&"+encodeURIComponent(a.name)+".y="+d}else if(a.tagName==="BUTTON"&&a.name.length!==0&&a.type==="submit")this._additionalInput=encodeURIComponent(a.name)+"="+encodeURIComponent(a.value)},_onFormElementClick:function(a){this._activeDefaultButtonClicked=a.target===this._activeDefaultButton;this._onFormElementActive(a.target,a.offsetX,a.offsetY)},_onFormSubmit:function(g){var e=true,r=this._isCrossPost;this._isCrossPost=false;if(this._onsubmit)e=this._onsubmit();if(e)for(var h=0;h<this._onSubmitStatements.length;h++)if(!this._onSubmitStatements[h]()){e=false;break}if(!e){if(g)g.preventDefault();return}var n=this._form;if(r)return;if(this._activeDefaultButton&&!this._activeDefaultButtonClicked)this._onFormElementActive(this._activeDefaultButton,0,0);if(!this._postBackSettings.async)return;var a=new Sys.StringBuilder;a.append(encodeURIComponent(this._scriptManagerID)+"="+encodeURIComponent(this._postBackSettings.panelID)+"&");var t=n.elements.length;for(var h=0;h<t;h++){var c=n.elements[h],f=c.name;if(typeof f==="undefined"||f===null||f.length===0)continue;var m=c.tagName;if(m==="INPUT"){var j=c.type;if(j==="text"||j==="password"||j==="hidden"||(j==="checkbox"||j==="radio")&&c.checked){a.append(encodeURIComponent(f));a.append("=");a.append(encodeURIComponent(c.value));a.append("&")}}else if(m==="SELECT"){var s=c.options.length;for(var o=0;o<s;o++){var p=c.options[o];if(p.selected){a.append(encodeURIComponent(f));a.append("=");a.append(encodeURIComponent(p.value));a.append("&")}}}else if(m==="TEXTAREA"){a.append(encodeURIComponent(f));a.append("=");a.append(encodeURIComponent(c.value));a.append("&")}}if(this._additionalInput){a.append(this._additionalInput);this._additionalInput=null}var b=new Sys.Net.WebRequest,d=n.action;if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var k=d.indexOf("?");if(k!==-1){var q=d.substr(0,k);if(q.indexOf("%")===-1)d=encodeURI(q)+d.substr(k)}else if(d.indexOf("%")===-1)d=encodeURI(d)}b.set_url(d);b.get_headers()["X-MicrosoftAjax"]="Delta=true";b.get_headers()["Cache-Control"]="no-cache";b.set_timeout(this._asyncPostBackTimeout);b.add_completed(Function.createDelegate(this,this._onFormSubmitCompleted));b.set_body(a.toString());var i=this._get_eventHandlerList().getHandler("initializeRequest");if(i){var l=new Sys.WebForms.InitializeRequestEventArgs(b,this._postBackSettings.sourceElement);i(this,l);e=!l.get_cancel()}if(!e){if(g)g.preventDefault();return}this._scrollPosition=this._getScrollPosition();this.abortPostBack();i=this._get_eventHandlerList().getHandler("beginRequest");if(i){var l=new Sys.WebForms.BeginRequestEventArgs(b,this._postBackSettings.sourceElement);i(this,l)}if(this._originalDoCallback)this._cancelPendingCallbacks();this._request=b;b.invoke();if(g)g.preventDefault()},_onFormSubmitCompleted:function(e){this._processingRequest=true;var j="|";if(e.get_timedOut()){this._endPostBack(this._createPageRequestManagerTimeoutError(),e);return}if(e.get_aborted()){this._endPostBack(null,e);return}if(!this._request||e.get_webRequest()!==this._request)return;var Q,u=[];if(e.get_statusCode()!==200){this._endPostBack(this._createPageRequestManagerServerError(e.get_statusCode()),e);return}var c=e.get_responseData(),f,i,K,L,I,b=0,g=null;while(b<c.length){f=c.indexOf(j,b);if(f===-1){g=this._findText(c,b);break}i=parseInt(c.substring(b,f),10);if(i%1!==0){g=this._findText(c,b);break}b=f+1;f=c.indexOf(j,b);if(f===-1){g=this._findText(c,b);break}K=c.substring(b,f);b=f+1;f=c.indexOf(j,b);if(f===-1){g=this._findText(c,b);break}L=c.substring(b,f);b=f+1;if(b+i>=c.length){g=this._findText(c,c.length);break}I=c.substr(b,i);b+=i;if(c.charAt(b)!==j){g=this._findText(c,b);break}b++;Array.add(u,{type:K,id:L,content:I})}if(g){this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_ParserErrorDetails,g)),e);return}var B=[],A=[],w=[],r=[],y=[],G=[],C=[],t=[],q=[],x=[],k,n,p,l,m,o,s;for(var d=0;d<u.length;d++){var a=u[d];switch(a.type){case "updatePanel":Array.add(B,a);break;case "hiddenField":Array.add(A,a);break;case "arrayDeclaration":Array.add(w,a);break;case "scriptBlock":Array.add(r,a);break;case "scriptStartupBlock":Array.add(y,a);break;case "expando":Array.add(G,a);break;case "onSubmit":Array.add(C,a);break;case "asyncPostBackControlIDs":k=a;break;case "postBackControlIDs":n=a;break;case "updatePanelIDs":p=a;break;case "asyncPostBackTimeout":l=a;break;case "childUpdatePanelIDs":m=a;break;case "panelsToRefreshIDs":o=a;break;case "formAction":s=a;break;case "dataItem":Array.add(t,a);break;case "dataItemJson":Array.add(q,a);break;case "scriptDispose":Array.add(x,a);break;case "pageRedirect":if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var h=document.createElement("a");h.style.display="none";h.attachEvent("onclick",E);h.href=a.content;document.body.appendChild(h);h.click();h.detachEvent("onclick",E);document.body.removeChild(h);function E(a){a.cancelBubble=true}}else window.location.href=a.content;return;case "error":this._endPostBack(this._createPageRequestManagerServerError(Number.parseInvariant(a.id),a.content),e);return;case "pageTitle":document.title=a.content;break;case "focus":this._controlIDToFocus=a.content;break;default:this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_UnknownToken,a.type)),e);return}}var d;if(k&&n&&p&&o&&l&&m){this._oldUpdatePanelIDs=this._updatePanelIDs;var v=m.content;this._childUpdatePanelIDs=v.length?v.split(","):[];var M=this._splitNodeIntoArray(k),N=this._splitNodeIntoArray(n),P=this._splitNodeIntoArray(p);this._panelsToRefreshIDs=this._splitNodeIntoArray(o);for(d=0;d<this._panelsToRefreshIDs.length;d++){var D=this._uniqueIDToClientID(this._panelsToRefreshIDs[d]);if(!document.getElementById(D)){this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel,D)),e);return}}var O=l.content;this._updateControls(P,M,N,O)}this._dataItems={};for(d=0;d<t.length;d++){var F=t[d];this._dataItems[F.id]=F.content}for(d=0;d<q.length;d++){var z=q[d];this._dataItems[z.id]=Sys.Serialization.JavaScriptSerializer.deserialize(z.content)}var J=this._get_eventHandlerList().getHandler("pageLoading");if(J)J(this,this._getPageLoadingEventArgs());if(s)this._form.action=s.content;Sys._ScriptLoader.readLoadedScripts();Sys.Application.beginCreateComponents();var H=Sys._ScriptLoader.getInstance();this._queueScripts(H,r,true,false);this._updateContext={response:e,updatePanelNodes:B,scriptBlockNodes:r,scriptDisposeNodes:x,hiddenFieldNodes:A,arrayDeclarationNodes:w,expandoNodes:G,scriptStartupNodes:y,onSubmitNodes:C};H.loadScripts(0,Function.createDelegate(this,this._scriptIncludesLoadComplete),Function.createDelegate(this,this._scriptIncludesLoadFailed),null)},_onWindowUnload:function(){this.dispose()},_pageLoaded:function(a){var b=this._get_eventHandlerList().getHandler("pageLoaded");if(b)b(this,this._getPageLoadedEventArgs(a));if(!a)Sys.Application.raiseLoad()},_pageLoadedInitialLoad:function(){this._pageLoaded(true)},_queueScripts:function(scriptLoader,scriptBlockNodes,queueIncludes,queueBlocks){for(i=0;i<scriptBlockNodes.length;i++){var scriptBlockType=scriptBlockNodes[i].id;switch(scriptBlockType){case "ScriptContentNoTags":if(!queueBlocks)continue;scriptLoader.queueScriptBlock(scriptBlockNodes[i].content);break;case "ScriptContentWithTags":var scriptTagAttributes;eval("scriptTagAttributes = "+scriptBlockNodes[i].content);if(scriptTagAttributes.src){if(!queueIncludes||Sys._ScriptLoader.isScriptLoaded(scriptTagAttributes.src))continue}else if(!queueBlocks)continue;scriptLoader.queueCustomScriptTag(scriptTagAttributes);break;case "ScriptPath":if(!queueIncludes||Sys._ScriptLoader.isScriptLoaded(scriptBlockNodes[i].content))continue;scriptLoader.queueScriptReference(scriptBlockNodes[i].content)}}},_registerDisposeScript:function(a,b){if(!this._scriptDisposes[a])this._scriptDisposes[a]=[b];else Array.add(this._scriptDisposes[a],b)},_scriptIncludesLoadComplete:function(){var b=this._updateContext;for(a=0;a<b.updatePanelNodes.length;a++){var l=b.updatePanelNodes[a],m=l.id,n=l.content,j=document.getElementById(m);if(!j){this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel,m)),b.response);return}this._updatePanel(j,n)}for(a=0;a<b.scriptDisposeNodes.length;a++){var p=b.scriptDisposeNodes[a].id,q=b.scriptDisposeNodes[a].content;this._registerDisposeScript(p,q)}var k=false;for(a=0;a<b.hiddenFieldNodes.length;a++){var f=b.hiddenFieldNodes[a].id,s=b.hiddenFieldNodes[a].content;if(f==="__VIEWSTATEENCRYPTED")k=true;var c=document.getElementById(f);if(!c){c=document.createElement("input");c.id=f;c.name=f;c.type="hidden";this._form.appendChild(c)}c.value=s}if(!k){var g=document.getElementById("__VIEWSTATEENCRYPTED");if(g)g.parentNode.removeChild(g)}if(b.scriptsFailed)throw Sys._ScriptLoader._errorScriptLoadFailed(b.scriptsFailed.src,b.scriptsFailed.multipleCallbacks);var d=Sys._ScriptLoader.getInstance();this._queueScripts(d,b.scriptBlockNodes,false,true);var i="";for(a=0;a<b.arrayDeclarationNodes.length;a++)i+="Sys.WebForms.PageRequestManager._addArrayElement('"+b.arrayDeclarationNodes[a].id+"', "+b.arrayDeclarationNodes[a].content+");\r\n";var h="";for(a=0;a<b.expandoNodes.length;a++){var o=b.expandoNodes[a].id,r=b.expandoNodes[a].content;h+=o+" = "+r+"\r\n"}if(i.length)d.queueScriptBlock(i);if(h.length)d.queueScriptBlock(h);this._queueScripts(d,b.scriptStartupNodes,true,true);var e="";for(var a=0;a<b.onSubmitNodes.length;a++){if(a===0)e="Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, function() {\r\n";e+=b.onSubmitNodes[a].content+"\r\n"}if(e.length){e+="\r\nreturn true;\r\n});\r\n";d.queueScriptBlock(e)}d.loadScripts(0,Function.createDelegate(this,this._scriptsLoadComplete),null,null)},_scriptIncludesLoadFailed:function(c,b,a){this._updateContext.scriptsFailed={src:b.src,multipleCallbacks:a};this._scriptIncludesLoadComplete()},_scriptsLoadComplete:function(){var d=this._updateContext.response;this._updateContext=null;if(window.__theFormPostData)window.__theFormPostData="";if(window.__theFormPostCollection)window.__theFormPostCollection=[];if(window.WebForm_InitCallback)window.WebForm_InitCallback();if(this._scrollPosition){if(window.scrollTo)window.scrollTo(this._scrollPosition.x,this._scrollPosition.y);this._scrollPosition=null}Sys.Application.endCreateComponents();this._pageLoaded(false);this._endPostBack(null,d);if(this._controlIDToFocus){var a,c;if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var b=$get(this._controlIDToFocus);a=b;if(b&&!WebForm_CanFocus(b))a=WebForm_FindFirstFocusableChild(b);if(a&&typeof a.contentEditable!=="undefined"){c=a.contentEditable;a.contentEditable=false}else a=null}WebForm_AutoFocus(this._controlIDToFocus);if(a)a.contentEditable=c;this._controlIDToFocus=null}},_splitNodeIntoArray:function(b){var a=b.content,c=a.length?a.split(","):[];return c},_uniqueIDToClientID:function(a){return a.replace(/\$/g,"_")},_updateControls:function(a,d,g,e){if(a){this._updatePanelIDs=new Array(a.length);this._updatePanelClientIDs=new Array(a.length);this._updatePanelHasChildrenAsTriggers=new Array(a.length);for(var b=0;b<a.length;b++){var c=a[b].substr(1),f=a[b].charAt(0)==="t";this._updatePanelHasChildrenAsTriggers[b]=f;this._updatePanelIDs[b]=c;this._updatePanelClientIDs[b]=this._uniqueIDToClientID(c)}this._asyncPostBackTimeout=e*1000}else{this._updatePanelIDs=[];this._updatePanelClientIDs=[];this._updatePanelHasChildrenAsTriggers=[];this._asyncPostBackTimeout=0}this._asyncPostBackControlIDs=[];this._asyncPostBackControlClientIDs=[];this._convertToClientIDs(d,this._asyncPostBackControlIDs,this._asyncPostBackControlClientIDs);this._postBackControlIDs=[];this._postBackControlClientIDs=[];this._convertToClientIDs(g,this._postBackControlIDs,this._postBackControlClientIDs)},_updatePanel:function(updatePanelElement,rendering){for(var updatePanelID in this._scriptDisposes)if(this._elementContains(updatePanelElement,document.getElementById(updatePanelID))){var disposeScripts=this._scriptDisposes[updatePanelID];for(var i=0;i<disposeScripts.length;i++)eval(disposeScripts[i]);delete this._scriptDisposes[updatePanelID]}this._destroyTree(updatePanelElement);updatePanelElement.innerHTML=rendering},_validPosition:function(a){return typeof a!=="undefined"&&a!==null&&a!==0}};Sys.WebForms.PageRequestManager.getInstance=function(){var a=Sys.WebForms.PageRequestManager._instance;if(!a)a=Sys.WebForms.PageRequestManager._instance=new Sys.WebForms.PageRequestManager;return a};Sys.WebForms.PageRequestManager._addArrayElement=function(a){if(!window[a])window[a]=[];for(var b=1,c=arguments.length;b<c;b++)Array.add(window[a],arguments[b])};Sys.WebForms.PageRequestManager._initialize=function(a,b){Sys.WebForms.PageRequestManager.getInstance()._initializeInternal(a,b)};Sys.WebForms.PageRequestManager.registerClass("Sys.WebForms.PageRequestManager");Sys.UI._UpdateProgress=function(a){Sys.UI._UpdateProgress.initializeBase(this,[a]);this._displayAfter=500;this._dynamicLayout=true;this._associatedUpdatePanelId=null;this._beginRequestHandlerDelegate=null;this._startDelegate=null;this._endRequestHandlerDelegate=null;this._pageRequestManager=null;this._timerCookie=null};Sys.UI._UpdateProgress.prototype={get_displayAfter:function(){return this._displayAfter},set_displayAfter:function(a){this._displayAfter=a},get_dynamicLayout:function(){return this._dynamicLayout},set_dynamicLayout:function(a){this._dynamicLayout=a},get_associatedUpdatePanelId:function(){return this._associatedUpdatePanelId},set_associatedUpdatePanelId:function(a){this._associatedUpdatePanelId=a},_handleBeginRequest:function(d,c){var a=c.get_postBackElement(),b=!this._associatedUpdatePanelId;while(!b&&a){if(a.id&&this._associatedUpdatePanelId===a.id)b=true;a=a.parentNode}if(b)this._timerCookie=window.setTimeout(this._startDelegate,this._displayAfter)},_startRequest:function(){if(this._pageRequestManager.get_isInAsyncPostBack())if(this._dynamicLayout)this.get_element().style.display="block";else this.get_element().style.visibility="visible";this._timerCookie=null},_handleEndRequest:function(){if(this._dynamicLayout)this.get_element().style.display="none";else this.get_element().style.visibility="hidden";if(this._timerCookie){window.clearTimeout(this._timerCookie);this._timerCookie=null}},dispose:function(){if(this._pageRequestManager!==null){this._pageRequestManager.remove_beginRequest(this._beginRequestHandlerDelegate);this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate)}Sys.UI._UpdateProgress.callBaseMethod(this,"dispose")},initialize:function(){Sys.UI._UpdateProgress.callBaseMethod(this,"initialize");this._beginRequestHandlerDelegate=Function.createDelegate(this,this._handleBeginRequest);this._endRequestHandlerDelegate=Function.createDelegate(this,this._handleEndRequest);this._startDelegate=Function.createDelegate(this,this._startRequest);if(Sys.WebForms&&Sys.WebForms.PageRequestManager)this._pageRequestManager=Sys.WebForms.PageRequestManager.getInstance();if(this._pageRequestManager!==null){this._pageRequestManager.add_beginRequest(this._beginRequestHandlerDelegate);this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate)}}};Sys.UI._UpdateProgress.registerClass("Sys.UI._UpdateProgress",Sys.UI.Control);
Type.registerNamespace('Sys.WebForms');Sys.WebForms.Res={'PRM_UnknownToken':'Unknown token: \'{0}\'.','PRM_MissingPanel':'Could not find UpdatePanel with ID \'{0}\'. If it is being updated dynamically then it must be inside another UpdatePanel.','PRM_ServerError':'An unknown error occurred while processing the request on the server. The status code returned from the server was: {0}','PRM_ParserError':'The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.\r\nDetails: {0}','PRM_TimeoutError':'The server request timed out.','PRM_ParserErrorDetails':'Error parsing near \'{0}\'.','PRM_CannotRegisterTwice':'The PageRequestManager cannot be initialized more than once.'};
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
���ĥa��ե��)��;عH�R
R|/�{l����(��8;ϔ�IZ��}'җ!�A���?��"�S�l)�f���.��y�	&J
[=/Q�.z�i�D4,>��R��p�a�s�3��9�(��$��ՉBSJBv4.0.30319l�#~|�#Strings���b#US_#GUID,_�N#BlobW߶+	�3x�0T�g�n0�
7�]�,	'`�ER
����(.`D��2G��0^h����)�~��R�RR�����6@���"&/C&fC���nD���D.�^@D�D�R $ 
!�k#�$D�%��%@�%�*&Dt)�+@s+@�+@R-e-�2�:4D�4�4�5��6�6)7�Z7�}7��7��7��7��7��7��7�7!8�R8�e8�7�8�7�8��8��8��899�*9
G9��9��9��:�uq;�v;9�;��;��;��;�?<$ s<��<�4�<��<�-=��=9�=9�=�>90>�@>�^>9z>.�>.�>.�>.�>.�>��>R?'?`?'?�?'?C�?�?9@@!@@1@�n@@�@��@@�@@6A�IA�YA�]A�gA��A
�A��A��A��A��A�XB�cB��B��B�B/CJC]CJCtC��C��C��D0E�ZER�E��E��E�F�)F��F�F��F��F��F�G�AG�yG��G��G�GUHD�H�-I=IJIQIJ@-J9JQJoJ�J�JJCsKR�K��K��K�L�.L�<L��LRM�@MRaMRmMRxMR�M@�M@�M9�M�4N�8N�LN��@�B�N�!O�5O�JO�QO�^O�bO�yO�OP�P�"P�)P�0P�pP��P�V��P
*Q0OQ0�Q��Q�&�Q�QFS��S��S$ "T#T"=T#T"RT#T�T�&�UC&�UC&�UCVG&+VC&QVC&rVC�V�V�V�V�?�W��W�WX�W7XDXkXD�X��X��XD�XD�XDY�YDOYDqYD�YD6ZD�ZD�Z�
[�6[�V[�h[D�[D�[��[��[��[��[D\�-\DZ\��\��]�B�]��]�^DO^��^D�^�7_I_f_I_�_D�_D.]`i`.z`�`.�`�`.�`�`.�`i`/bD*Mbdb�b$ �b��b��b��bDc�*!cdbGc�cc�hcD�c��c� d*dEd*d�eD�fD�f�ogD*h�Mh�jh��h��h*di�ci�ii�ti��i��i��i��iD3j��j��j��jDSkR{k
�kDlD@lD�l*d�lh?m�?GoD"�o#T"�o#T"p#T�p�4�p�4�pD�r��sD�sD�sD�sD�x08y0Gy0zy0
{�8{�N{�^{��{��{�@����D��Dh�I_y��1��Щ�ݩ����ªD���y������������>�@`�}�@�����������6)�D<��BP��BY�JC�m�|��B#
�=�YE�o� ��$��%����&���8$�)?P�)bc�-sz�)���������������2�#��F�$�Y
=$�c
E$�x
Q$��
Q$��
Q$��
Q$��
Q&�!
Y&�7
Y&�X
Y&��x�&��x�,���x.���x.�E�.���.%�9.�D4�/�nT�/��~�0*�~�0.��~�8M��~�8P�~�8T���h���h~��h~9��+~����>~���qV����V����V9���V�����V���������V�������
V��� ���5V����DV���SV���bV���n�����������V����V9���V9�������$�6��/E��N^�fo� f���"k����$q���$r���$w��%(w���,�
�1.�(�11�G�12�e�15����<���1@� ��9D��=E���k����U	�1�Y 	���^3	��^L	���c^	���eo	�1�g�	���l�	�1�v�	�1�y�	���}�	�����	����
����
����4
���C
���X
�1��p
�1���
�����
�����
�1���
�����
� ���
� ��������1� � RD��+nD��-�D�7�D�:�Dl?�D�	G��D�
J��DV�DXD�Z*D�`@D�
e[D�isD�m�D�s�D�w�D�"�D$'�D0)���Dm/�
D$0��#
D�0�4
D�1�B
�t/\
8u1k
�w6�
!y;�
��E�
8�I�
!�J�
��L�
��P��TD��W)D��a4Dl�a�DD��qX���kDz���D����D9���D����D����D9���D���D�������,D���FD����\D���oD2���D����D���K����`N���N����N���R����R���T��	kU���_���`��!�e�)�l�+Vr�3�r�5s�$=�r�(Es�.M���V��V��Q���Q�121m1�1��'+!1!.MRV2u�6��+��FU]��fd��+�hDl�p�t�V��xV��xV��xV��xV�x|3xN1h�S��������3��1��1	�Q�Q�Q�*Q�2Q�:Q�BQ�JQ�RQ�ZQ�bQ�jQ�rQ�zQ��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q�Q�Q�Q�Q�Q�!Q�%Q�-Q�5Q�9Q�<Q�?Q�BQ�EQ�HQ�KQ�NQ�QQ�TQ�WQ�ZQ�]Q�`Q�cQ�fQ�iQ�lQ�oQ�rQ�uQ�xQ�{Q�~Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��Q��1�1�%�0�=K[jy������+�������V���V���V���V���V����V���V���V��V��V��V�)�V�1�V�7�V�<�V�A�V�G�V���V�N�3R�1m�1����%�0�[=j��V��!��!��!�!�&� �#�!S#Z�1e�1w�!��#�#���3��!��!�!�!�,cV��!�#�V��'V�{'!,1��1��!�1!�|!�5,'<+H+3\Q�dQ�Q��Q��Q��Q��Q��Q��Q�Q�'49G=ZBbG����+�+�+�+�K5WPs1���U�Y�^�++1;c1F�Yhd^�U�V��
mV��
mV�1mj��K�^WP�V��zV��zV��z1�9������3��++M����++m�������C �l �� �� �|++l �s�++m�M�� �� �� +� �!�0!�F!�X!�l!��!��!��!+�!+�!+"+3"+Q"+o"+�"+�"�"�"##:#Q#�^#�v#��#��#�#��#
)�#��#�#��#'�#��#0Q��Q��#Q�$Q�$Q�-$Q�B$Q�S$Q�h$Q�}$Q�'�$9�$9�$9�$9�$9�$9%9#%99%9R%9d%9���t%�%�%�%>�%9�%G�%L�%Q�%&V2&VL&Vc&�&�&�&�&�'�'�3'�L'�g'�'+1�'�1�'�1�'�1�'�1�'�1�'�1�'�1(�1 (�13(�1D(�1V(�1i(�1�(�1�(�1�(�1�(�1�(�1�(�
)�&)zJ)�|)��)�V��)�V��)�j���B*�H*��)B*�H*�P*|++n*H*���H*�P*|++�*+�)��)�*$*���V��*�V��*�V��*��*+�*�+4+sS+Y+d+YhS+Y+d+h+�+��+�+Q�+B*��+�,��)�+�,�P*|++
,+���-,Q�9,Q�N,���-,g,+�,�,�,+4+�,��U�,9�,|1-�1-�(-3-9-V2V�.4.A.I.j. y.3-!�.V!�.!�.!�.V!�.�!�.!�.V!�.!�.+!�.!�.!�.V!�.!�.!�.V!�.+!�.!�.!�.%!�!�.�V��.%V�/%V�!/%V�5/%�.~/+O/Z/^/*j/*r/*j. G/Q��/Q��/Q��/Q��/Q��/Q��/Q��/Q��/Q��/Q�0Q�0Q�/0Q�C0Q�V0Q�a0Q�j0Q�w0Q��0Q��0Q��0Q��0Q��0Q��0Q��01�0��01313-1<@1<Q1<_1h1y1E�1+�1+�1�1�1+�1+22J+2J@2JT2Sg2\z2e�2n�2w�2��2+�2+33�3+13C3+^3y3��3��3+�3��3��3��3��3�
4�!*4�I4+z2�O4�f4Q�q44��4�4!*4��4�!�4�!�.V!�4�!�4+!5!5+j. _1h1y1E�3��3��V�5V�"5V�*5V�05�.85+J5D-�3-�-+�-9�-�-.�.�\5h5|5�5+3-�5�j. �5�59�5V�5�5+6+6+%6/6j. ;6VH6�T6+g6#�,�V��6V��6�,��,��6+�V��6V��6�69j. �I��J�(K�5K<KCK�LK+WK3�N�3�N�5K:R,CK�LK+WKS�S,%S�:R�CK�LK+WK�T�SC�T��TM�T%S�U,	U�USU�"U�:R\CKaLK+WKS��U%S��U�	U��U�:R�CK�LK+WK:RCK�LK+WK�^�a!a,a5a�=a�Ea�RaS�Ya�%S�:RCK�LK+WK�e�e�efffV(f7f+:R�5K<Km�$m$m+m�$S%8m�%S
%Mm%Um�$	U%bm�:R CK%LK+WK6:�:�r2
s�':R�'CK�'LK+WK?s�CK�LK+WKRt
s�':R�)CK�'LK+WKCK�LK+WKP �ktj!��6((!�rt�)�!�{t�)0"��t�)#��6( #��t�)�#��t�)d$��t�)�%��t*
�&��t2*�&�uA*L'� uS*�'� uf*<)�/u* d*�Au�*(�*�Tu\*+�ku�*+P-�	�>�.S-�	�u�.[-��u\.d-��u�*/�.��u�*1|/�v�*3�/�v+5|1�-v$9�1�?\:4�Lvz+;04�mv�+=44��v�@45�ktjA�5��6�+A�5��v�+B6��v�+D,6�ktjE=6��6(EE6��6(Eh6��v�+E�6��9�+G07��vI�7��AJ\8��v�+K�8��A�+L9�B�+M9�"B�+N9��v�+O$9��v,Qt9��v,U�9�w�+Y@:�w/,[�:�w�+]�:�w,_<;�w�+c�;�w�+e<�'w�+g�<��6q,i�<�5wBl�<�Bw[l=�Ow�m
=�^wtm=�mwBn=�zw[n$=��6(o4=��wx,ol=��wx,p�=�i7Bq�=��w[q�=��w�r�=��w�r�=��wFr�=�xFr�=�>xFr�=�\xFr�=�vx�,r�=��xBr�=��x�r�=��x�r�=�BQ�,r�=��x�,u>�
y�,x>�-y�,|>�^y�,�>�iy�,� >��y�,�'>��y�,�.>��yF�5>��y�,�<>��y�,�C>��y�,�J>��yJ�Q>�s9�,�X>��y(�_>��y�,�f>�z+�m>�
z�,�t>�BQ^�{>�BQ�,��>��6(��>�i7B��>��w[��>�zB��>�'z[��>�6z-��>�Fz[��>�Qz�,��>�\z
-��>�lz���>�xz-��>��z-��>�s9�,��>��z^��>��z-��>��z(��>��z+��>��6(�?��z-�D?��z-�z?�z3-��?�'z#��?�i7B��?��w[��?��z7-��?�%{>-��?�o{J-��?�s9�,��?��{V-��?��{]-��?��{g-��?��6(��?�i7B��?��w[��?��w���?��w���?��wF��?�xF��?�>xF�@�\xF�@�vx�,�@��xB�@��x��!@��x��(@��x�,�/@�
y�,�6@�-y�,�=@�^y�,�D@�iy�,�K@��y�,�R@��y�,�Y@��yF�`@��y�,�g@��y�,�n@��y�,�u@��yJ�|@��y(��@��y�,��@�z+��@�
z�,��@�BQ^���{q-��@��6v-��@��{-��@�|�-��@��6[��@�mwB��@�zw[��@��6�-�A�5wB�&A�Bw[�/A�|�-�7A�5|�-�@A�	O|B�HA�f|[�QA�	�l��YA�}|t�bA�	�LB�jA��|[�sA�5Q�-�{A��|�-��A��8(��A��|(��A��6�-��A�	�l�$�A��|�-�A��|+�A��|c�A��|�-�A��6(�A��LB�A��|[�A��VBB��|[B��6(B�S<�-%B��E�-BB�:�-KB��<(	SB��|�-	ZB�}�-	gB��C�-
�B��6(�B�}��B�:it�B�}��B�+}t�B��6(
�B�:}�-
�B�I}F
C�[}�
C�m}F%C��}�8C��6(@C�}�RC�:ithC��}��C��}�-�C��}��C��}�-�C�~��C�~�-�C�7~�D�W~�-D�ktjYD��6(aD�w~�-hD�}�zD�:it�D��6(�D��~��D��~t�D��~��D��~t�D��6(�D��~�-�D��~�-E��6(E��-4E�.KE�0.bE��6(jE�C.�E��6.�E�QJ�E�_.�E�m.�E�{#.�
���
�t�
�f�
�)�
���
�t�
���
�t�
%���
6�t�
G�B �
Y�[ �
k�B!�
u�[!�
�&/"�
��,/"�
��,/#�
��6/$�E��6($�E��HO$
F�ƀ�%F�ڀ�'�F���)�G��8(+�G��(+�G�'�O+�G��6(,�G��7B,�G��6c/,�G��7B.�G�C�F.H�P��.H�]�i//H�]�q/1oH�z�/5�H����/9J����/<UJ����/=�J�ԁv>�J��v@�K�쁡/B�K���/CXL���/D�L�2��/E(M�J��/FgM�J��/G�M�\��/HN�k��/JhN�z��/M�N����/N�N����/OO�ktjQ�P��6(Q�
��0Q�Ń&0Q�HT60T�P��6(V�P��6D0V�P��6K0WR�I}FYR�[}�YR�m}FZR��}�Z&R�уo0[0R��u0[dR�⃁0\�S�Ń�0^�S�Ń�0_T��0a&T��0b`T����0dlT����0e�T���0g�T���0hhU��1jW�'�*1l�Y�7�_1ntZ�U�_1o[�l��pi[�~��qr[�~�s1r{[���z1s�[�KL�1t�\�HTa
u�\�HT�1v�\�HT�1x�\�ktjz�\��6(z����1z����1{�\�HT�1|]�HT�1:]�Ń�1�\]�Ń�1��]��6�1��]�Ń��^�Ńs1�_�ń(��_�ׄ2�`��2�4`��2�B`���"2�a`��t�p`��(2��`�����`�����`� �(�a�9�-2�Tc�E�B2��i�V�(��i�b�(�j�o�t�|j�x�t�k�ktj�8k��6�1��k�HT�1��k�HT�1��k����1��k����1� l����1�ho���_1��o�ʅ�2�pp�\��2�q�݅�2��q����2�0r���2��r��3�ts�/�3�t�J�H3�ht�_�Q3�Wu�n�[3�wu�n�b3��u�n�i3��u�n�r3��u�n�{3� v�n��3�:v�n��3�^v�n��3��v�n��3��x�ktj��x��6(�y��6(�y����1�y����1�y�y��3�8y����3�Xy����3�xy����3��y����3��y����3��y����3��y����3�z����3�8z���4�Xz���4�xz���4��z���4��z���&4��z���/4��z���84�{���A4�8{���J4�X{���T4x{���`4�{��6(
�{���(
|����,
=|��y(
J|��6w
f|�	�>�l|�?\}��6)-}���BJ}���[S}��Vf[}��6tl}��6w�~�Ɔ�4�~�Ն�4)�膞4c���4����4!��4��4!���S��4%̀�n��4&�����j(�4�5(���5*�����B+���S<5+���ktj,���6 5,�
LJ�.�
lT�.�
և)5.�
�B.k����.s����.����0.���+�55.T��:�E51��OP52���6w4����564��ψ�57X��/7�����58ԉ�4�5:`��ktj<p���6 5<@����5>���'��5?؋��OP5@<���BBn��H�6Bv��Y�!6B~��LJ�B���lT�B���և)5B4���6wB>��?�76Dd��L�<6D�����4DВ�4�5H`����5Jؓ��6�6K��LJ�M��lT�M��և)5M����BM���OP5MЗ��6(O��G�.O��j��6O�����6P̘����6Q������6S���֋7U���"7W���6*7ZX���#]l��|X>7^��	�>�a��?\a���ktjbԜ��6^7b��	�>�c��?\c����6^7d���6.e��lWBf#��xWBf0���BfB���6(fX��|X�f+��1�^7j-���6(k5��և)5k=��T�m7kF��LJ�lN��g�tlW��v��m_����tmh��ktjnt���6(n|���6(n����,n�����~7o���ʌ(p|���Y(p���܌�7p���ZtpH��(Ztq���&g�rТ����7t(��cZvx���Zwģ���7x^��|\(ze���Z,z{���Z,{���$�,|����Z�}���Z�}Y��3��7}����Z(����E��7�إ��Y����	T��7����aF����	_�B�(��	r�[�;����F�D�����������B�̦���[�ߦ�bF���	ɍ�7����aF���ԍJ��������0�(����6�7�E��S<�7�M���E8�V����F�^������g����F�o��Ύ��x���8�����8�����aF�����������6(�����2����$�2�̧�8�8���C�8��R�8��c�8����o�
��������(Zt�%����(�7���Z��D���Z(�X����<8�`������h��ɏt�t���B�ͩ�\��ة��j������t�.���\��6���(�>��	,���F��`���N����t�W����K8�`����R8���#jb8���ېb8�0�����j��ktj�v���6K8������2�����2����:8����!�p8����NMy8�̫�-��8�Ϋ�4�����D�s����V�8�����8�%��^](�@��n]�����]�����]t����C8����]��-��R�t�/��S<�8�B��a���T��#jb8�y��ېb8�������έ�ktj����6�8�#��q���+����t�4��S<�7�<���E8�E���6�8�\��&g�������<8������K8�����8�����8����-��8��3��7��
�aF��
bF��
���8��
ّ�8�,���6(�4��cZ�P���������5^����
��8������8�6����8�g��&��n��3���{��Q�t����	������	�t����o������|�t��������̰���t�ڰ���B�����[���	˒f�}��	�)�����K�1���	?�B�#��	{�[�,���`B�9����[�G��	���T��	�t�b��	���o��	�t�}��œ�����ޓt����	%������	6�t������B�����[�β��B�۲��[���'�B����9�[���K�B���V�[���	k�B�,��	u�[�:��a�&/�G��	�&/�T��v�&/�a����&/�n����&/�{����&/����Ӕ&/�����&/�����Z�����d�����t�ϳ�����ܳ� �t���(Zt�$���Z��Y���Z(�w��C�9����V�9����l�9������9������!9������!9�˴�ĕ9�ٴ�Е9���ߕ,9�����,9���	��,/��	4�,/��o�9-��|�9;����79I����79W����9e����9s��ȖB9���֖B9	����9
����9����M9����M9
ǵ�ktjܵ��6(���6X9�������2�t��m_9
��{X9���6t%���6e94��Ql9<��_e9E��E��M��Z�tV��o��^����tg���6tv����~��2�t����6t����6e9���Ql9���_e9���E�����Z�tǶ����϶���tض��6r9
�����#�����9#��v��9$&��͗�9$/����%7��㗴9%@�����9&H�����9&Q����'Y�� �t'b��a��9(j��+��9(s����9){��@��9)����6.*����6t+����6�9,���QJ.���_..ɷ�E��/ѷ�Z�t/ڷ���0�� �t0���aF1����1����6e92���6�3!��Ql95)��_e952��E��6:��Z�t6C�����7K����t7T��o��8\����t8e���6(9r���6[9{���6A:����6K<����6�9>���@�_A@ĸ���6/B̸�T��:Bո��6�:C��v��:F��3��F��Q�tF����G$���tG-��o��H5��|�tH>�����IF����tIO�����JW�����J_���d�Jb���d�Je�����Jh�����Jp��	�fJ}��	��BJ���	��[J�����K����tK�����L����tL���œ�M¹�ޓtM˹�%��Nӹ�6�tNܹ��`BO����[O����BP����[P����BQ���[Q��'�BR��9�[R ����BS(��̘[S1��k�BT9��u�[TB����&/UR��Ӕ&/Ub���&/Ur��ژ&/U����&/U���v�&/U�����&/U�����&/Uĺ��;U��	��X"����ZG���ZZQ���d\Z���k]c���t^n��%`Zax��3`dc���O`td���A`kg��*�A;h��;�A;k8��L��nn��\�U;p���m�];t���{�_1u�����c;v�����r;w�����y;y���̙�;{�����|�����[~����r;���%��;����	,�������\��Ǿ�����ξ� �t�վ���t�޾�`������(���(Zt�h���Z�����Z(�l��C�9����V�9���l�9�����9�L����!9������!9����ĕ9���Е9�,��ߕ,9�d���,9������,/������,/���o�9�D��|�9�|����79������79������9�$����9�\��ȖB9����֖B9�����9����9�<���M9�t���M9����=�Q<����N�X<����`�_<����s�Q<���}�f<�,����m<�F����Q<�`����s<�z����Q<������z<����šQ<����̚�<�X���6(������<����'��<����<��<����L��<����_��<����o��<������<������<�,�����<�?�����<�R��̜�<�e��ݜ�<�x����<������<������<����%��<����9��<����K��<����`��<����p��<�����=�#����=�6����2�I����2�\��ϝ2�o���2�����=����!�=����?�2����X�2����t�=������=������2�����2���Ğ)=�-��О)=�@��	ߞ�8�S��	+��8�f��z������bB������[����	��4=����	��:=����c�����ٟA=����'c������A=����7c�������H=����Sc������O=�����Y�����	��� ��	4�t�8���cB�@��Vi[�H��	Q���d��	b��-����	s�V=������\=���	��F���	����P��	��b=����	��4=����	Ϡ:=����	�4=����	��:=����	�4=����	&�:=����	<������	V�t���p�s=����c������A=�&��	��F�.��	����h��	��B����	͡[����	�4=����	��:=����	�4=����	,�:=�����c�����>�O=����	I�b=����X�y=���	g��=���	~��=���	��4=���	��:=�(��	âB�X��	٢[����	�k�=����	�4=����		�:=����	#�4=����	4�:=����	E�4=����	X�:=����	�aF����	k��=�F��	��=�N��	���=�W��	��F�_��	ˣ�����	ݣ4=����	��:=����������	!��=����	3�B����	bF����	F�F����	��F���ʤ�=���פ�=����cB����[�#���c��+���O=�3����(�T����=�����d(�L���d�=�u����=�}��7��=����F���4��f�(�p��z�b=������b=������>�����>�0����&>���ɥJ>���ݥ�>����J>
����( ����`��$�(���9��>|��K��>(��[�tp��i�
?���t����������������Ц�/���H����d��(�>���@�td��Zt X��(Zt!���&g�"t��R�O?$���a�_?&���n�f?'��w�O?(4��w�w?*������?,!�����?.0�����?.�����f?/������?0������?2���ʧO?4��ʧ�?6���ӧ�?9T���f?;����f?<<���?=q��cZ>����@?�����A����#@C���f?D��)�*@E��7�*@F-��G�1@G;��U�8@HI��d�?@IW��r�F@Je����M@Ks����T@L�����[@M�����N�����O���֨b@P����Q����i@R����S���'�p@T����w@U���g~V����g(W���1�(W���1��@W���Z,Z$��=��[����Z�[���O��[H���Z�[p��3��7[��h��@^���m��7`������@c���ktjc��60c��O(e�ĩ�@e���@g
���6�@h ����@j(����@j1��,�Fk9��:��kB���6AlY��q��oa����toj��S<b=pr���Ey=p{���6(q���&g�q;���6�sX��&g�u����6�w���,�Fx���:��x���7My���Sy���6Ay���6%A}��ժF%��檹.��QJ�6��_.�?��E���G��Z�t�P��7M�n���S�����6�������F�����������6y=����S<b=����Ey=����S����6,A�����6%A���ժF�'��檹�0��QJ�8��_.�A��E���I��Z�t�R�����Z��.�t�c���S�����6(�����6A���&g�����H�A����U�A���	b�����	o�t���	|�F�!��	����*��	��F�2��	��������6y=����S<b=�����Ey=�����6(���-�6A����?��L��Xh����C�PA����O������e�t����	�?F���{�`A�����~�����F�?��(M��B������J��	ǫ��M���aF�U��Ae��^��bF�f��e��o��	ګ��r���aF�z���������������6fA���	�;�����?�����{(����6oA�/��	�;��L���?�����{(����6������F����������6�@�
��!��=��� �xA���3�B�&��ne[�/���6(�7���Z,�@���6(�H��2���P���Z,�Y���6��h��,�F�p��:���y��7M����J�����X�����6A����6%A��ժF��檹�!�QJ�)�_.�2�E���:�Z�t�C�f���K�y�t�T�J��r�X�����6(���C�8�d�R�8�����A�N�c�8�X�.O�
����7F�����������B�����[������A��ά�A�(�ݬB�X��[�l�	�B����[���-�B���B�[���W�B�$	�h�[�8	�y�B�h	���[�|	���B��	���[��	�ŭB��	�ޭ[�
���B�4
��[�H
�!���t
�C�t��
�e����
���t��
������
�Ӯt�����@��t�X������0�t���G�����b�t����6(���C�8���R�8�H����A���c�8���.O�
����7F�������T�}�F������������A���ά�A�,���B�\���[�|�y�B�����[�����B�����[�,�ׯB�\���[�|��B���/�[���ŭB���ޭ[����B�L��[�|�e�������t����6&B����aF���bF����aF����6�����aF���Ae����bF���e�����6(�
�I�-B� �Z�-B�3�	n�4=;�	��:=D�C�8t�R�8��c�8���������KB-�ktj	9��6.	H�QJ
���6(
���B
�ư[
��B.��[8������s9(�������7B�ktj?��6(G��\B`�
�[i��6(q��B����B����B���7F��ktj���6(��`�C��l�C����B�!�˱�B�!���<"����Z"��6eCi"���lCq"���eCz"��6(�"���B�"�β[�"��j��"���t�"��rC��xC�	��C#��jz#��Z,�#��xC�#�Q��C��xC�	��C��C�	��C�#��6(�#���B�#�ư[�#�����#�s9(�#��7B�#��6(�#����$����-$��\B %$�
�[ .$��6&!K$���$S$��LB$[$��>B$c$��6�C$�$���'�$���B'�$���\B'�$��6&'�$���,�$��LB,�$��>B,�$�ѳB,�$�߳�,�$��6&,
%���/%��LB/%��B/"%��6�C/_%����6g%���6o%��@B6w%���B6%�
��C6�%��Vf6�%��B6*��6�60*�5YB8g*��B8o*��LB8�*��|[8�*�'��9�*�$�B:�%��6[:�%�	5YB;�%�D�B;�%�Z�[;�%�	.YB<&�	p�[<&��VB=&��|[=D&�w��>�&����@�&����BP'����D�'����F�'�ƴ�CH0(�$�BK�(���CK�)�ϴ�L�)�鴔M�)����N+��6(O+��rCO��CO�	��COh+��jO}+��Z,P�+�7��CQ�+�i��CQ�+��6�Q�+�5YBS�+��BS�+�.YBS�+�p�[S�%��6(T�$�BT�%�.�BT�%�9�[T�+��6(U,����U,���tU',�ֵBVE,��[VN,��BWg,�3�FWo,�L��Wx,��CX�,�e��X�,�{�tX�,����Y�,���tY�,�Ƕ�Z�,��tZ�,���[�,� �t[�,�=��\8-�T��\[-�k��\c-����\k-���t\t-����]|-�˷t]�-�0�C^�-����B^�-����B^�-��B_�-��[_�-�`�C`�-���lC`.��D`:.���`h.�+�t`�.�H��a�.��j�a�.���ta�.�f�Db�.�}�Dc0/���$Ddh/���$De�/�и@Df�/��@Dg0��\Dh'0�&�\DiF0�9�eDjd0�D�oDl�0�\o�%m_1�T��Do|1�cZp�1�i��q�1��js�3�u��Dt�3�u��Dw�3����y�8���B{\9���B{:�ҹ�D{?:���D{b:���D{�:�-�E{�:�L�
E{�:�f��D{�:����D{;����{;���E{H;�ƺE|�;�	�%E}�;�ֺ5E}�;���FE~�;�io(�;�mME�;�mVE�O<�����<��mhE��<��mtE��<��m�E��<��m�E�E=�.��E�O=�.��E�h=�K��E��=�c��E��>�|��E��>�|��E�`?����E��?����E��?�Hn�E�e@��nME�p@��nVE��@��n�E��@��n�E�-A�����jA�ĻbB��A�ػ�E��A�ػ�E�,B�ػ�E� C��nhE�0C��ntE��C��F��C��%F�RD� �/F�|D��Z,��E�/�GF��E�/�SF��F�D�rF�`G�5o���G�5o[��G�R�(��G�j��%�H���(�H�׼�F��H�F��H��bB�I���F�I�/�bB�@I�H��F��I�\��F��M�o�,�xN���,��N���G�XP���,��P���NG��Q�ֽ�F�|R��wG��R���&�R�6�&�R�t�&	�R��� &�R��&�R�&� &�R�e�&�R���,&S�ktj S��6~G !S�迈G")S��6,"8S��6�G#TS����G%\S���G%�S�bp�'�S��6�)�S��LB+�S��|[+�S��>B,�S� �[,T��6,-(T�*��G.1T�@��G/:T�Y�0DT�J>�0�T�f��1U�z��2�U����3�V���(4�V���(4��604��O�G6�ĩ�G8���@<�W��6,=�W��6(>�W�Y�>�W��6�G>�W���B?�W����%?�W���%?�W��6�G?X���B#X���GB+X����B3X��6�GBIX�b�BDQX����D^��6(D^��CD*^�0�CDH^�`�CDf^���lCD�^��DD�^��rCD�^��j�D�^���tD_�cZE_��6(F _��6[F/_��6�GE_�ABIM_��[I`_���J�_����BJ�_���J�_�'�tJ�_��LBK`��|[K`�<�BLl`����BMya�˱�BO|a���P�a��7BP0�ktjPU��6(Pk�/��Ps�F�tP|��\BQ��
�[Q��]��R��t��-R�����BS�����BS�����BT�����BT��˱�BU���V����BV����X���BY��!��B^��@��Ba$��6(d,��7Fd�a��6(d�a��6	Hd�a����Ge�a��6He�a�H�Bh�a�W�Bh�a�n�Bhb��6(hb��6[hb�{��i%b���ti.b��\BjKb�
�[jTb��7Bk\b��6(kdb��6)ksb���fl{b��6(l�b�}�l�b�:itl�b���Fm�b��¹mc��j�nc���tn c��rCopc���Ho�c���Hp�c��Cqd�	��Cq d��jq5d���rOd��s[s\d��Z,t�d���[u�d�7��Cv�d�i��Cv�f��6(v�f�n�\BvHg�~��vPg���tvYg���4=wag���:=wjg���x�g��Y�x�g����x�g���[Hx�g��aHx�g�	��y�g��rCy4h�"�hHyTh�/��y�h�@�}Hy�h�OŃHy�h�^ŊHz�h�wŐHz�h���{i�2��{	i�s9({Di�cZ{�i��Z|�i��j}�i�5^~�i��Z,$j��ŗH�\j��h,�Tk���t�]k��(��k��6���k�����k�:���k�Rd���k��<(��k��C���k��]���k��ŴH�k��6(�s���B���ư[���԰iB�P��6(�X��s\B�`���bB������i�s9(��k��6bB��k��s\B��k�4t(�l��*�H�4l�?t��=l�Jt�H�Tl�s9(��l��6(��l���B��l��[��l�0�F�m�Aƹ� m�R���Lm�d�t�dm�v�4=�lm���:=�xm��rC��m��C��m�	��C�n��j�hn��Z,��n�7��C��n�i��C�O��6(�O��?��.P�	��0�6P�	���>P��8(�NP��{(�UP�2���`P�_�0�ك��6(����?�����	M�f�ń�	���̈́��8(�݄��{(���2�������Z5� ���6(�(���?��H��	��0�P��	���X���8(�̆��{(�ӆ�2���܆�_�0�����6(�����?����	g�&6� ��	���(���8(����{(����2�����҉,6����6(����?�����	e��6����	�������8(�����{(����2������Պ�6�����6(�����?��h��	ך&/�p��	���x���8(�����{(����2������9��<�����6(�����?�����	�������	�������8(����{(���2�����؛�<����6(�����(�YX��6(�dX��?���\�	
��G��\�	���]��8(��]��{(��]�2����]�r��G�t��6(�|�����d��6(��d��?���e�	 �?H��e�	����e��8(��e��{(��e�2����e�s�EH� f��6(�(f��?���f�	���G��f�	����f��8(��f��{(��f�2����f��PH��n��6(��n��?��,p�	 �?H�4p�	���<p��8(�Lp��{(�Sp�2���\p�s�EH��p��6(��p��?���p�	���G��p�	����p��8(��p��{(��p�2����p��PH��7A8F8�8�7~9�9~96:?:L:Y:�:Y:~96:�:?:;;~96:;?:6:�::;~96:�::;~9?:;M;;Z;:;`;"<*<�<�<=6:�<?Y:?Y:?Y:�<"<:;�?W>�<�:`;�<"<�@6:P>W>�>AA#A'A+A1A�A�A�A�A�A3B�A3B?BFBMB3B?BFB�A�BMB�B�A�B�A�B?BFB�A�B�A�B�A�BCC$C�@�@�@�@�@�@CC�CC�C�CCC�C�CCC	DD D/D:DJDCQDfDsD}D�D�DsD}D�DsD}D�DC�D:D�DC�D	D1A�DC�DC�DCCCC$C�@�@�D�D�D�D�D�D�DC�D1A�DC�D�D�D�D�@�@�@�@�C�<E�<E1A�D�<�</E�<��@C�C�CCC�C�CCC	DD D/D:DJDCQDfDsD}D�D�DsD}D�DsD}D�DC�D:D�DC�D	DC�DC�DCCGE�@C�@1ACbEkE~E�E�@�@�@�@�@�@�E�@�E�@�@�@S+S+�@eFyFeF�@�@�@�@�@�@�@�@�@�@�@�@eGoG�@�@�@�@�@�@�@�@�@�@�@�G-H4H-H4H-H4H�<�H�H�@�@W>�@�H�HW>�@�H�HW>�@�HW>�H�HcIfI�I�I�I�I�IJJEJ�JJ�J�@JJ�I�J�K�I%�K%�K�K�K�@�@�K�KL�L�LL�@�@�L4H4H�L�L�L�L�L�I�L�I�I�I�L�L�L�M�I�K�K�M�K�M�M�I�K�M�M�K�M�M�L�M�L�M%�L�L�M�M�M�MNNYN�M�M%�K�M�K�M�K�M�K�M�K�M�H�O�O�K�O�M�K�I�O�K�M�O�M�O�M�L�M�L�MP#A�@�M�@
P�M�@�M�@�M�@�M�@�M�@�M�@�M�@�M�@�M�@�M�I�P�P�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�@�P�P�P�@Y+�P�P�P�@Y+�P
QCQ�IyQ�<�I�@N�HyQ�HyQ�HyQ�R1A@R�R�IRR�R�R@R.S9S�R�I�I{S@R�RRRR
RR@RFRRRxR"<~R�HyQRR�I-UR@R�R
RR"<�S"<~R�IyQ�IRR�R�R@R�RRR
Rc"<~R�W�W'WW?WTW�IA8Z;�<�IyQ�W�<�IyQ�<dW�<dW4H�<X$X(XdW�@�@�@W>gYZZ� 4HDZMZ4H4H-H4HW>W>W>�,�,�Z�@�@�@#A#A�@�\�,�\�\�@�@�@�@�@�@�@�\gY�,�,�,�\�\4HZ�@�@�]�,�,�,]#AdW#AdW#AC]H]�@�@R]]R]X]S+S+R]S+R]S+�@S+�@�MR]S+�MS+-HC]#AdW#AdW#AC]�\�]�\�@�@R]]� 4H�@�@fIcI�,�,�Z�@�@4H-H4H4HF^�@�@�@�@�@�@1A�@�@�@�@�@�@�@�@�@�@�@x^}^'Wx^'W}^�@Z�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@oG�@�@�^eG�@�@�@�^�@�^eG�@�@�@�^�^�^�^	_!_�@�@�@�@�@�@�@eGNN�,�@�@�@�@eG�^�^�@�@�@�@�H2_�<�Hw_�H�_2_�<�@d1A�<�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�M�_�_� C]x^}^'W�^x^'W}^x^}^'Wx^'W}^�^`alara`ala�ala�a`alara�a�a�a�a�a�ax^}^'W1A�@1A�a�ax^'W}^�@ZZ�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@4H4H4H4H4H4H4H4H4H4H4H4H�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@dgYd�d�d�d�d�egY�Ha0gY�d�eY+�H�d�d�d�e�e7f�Hf�d�d�e�enf�f�\�f�fgY�fnf�fgYgYgYgYgYgYgY�dZZZ� 4HC]�f�\C]C]�f�\�f�g�g�gC]�\S+�geGC]�f�\S+�f�geGC]C]�g4H#AC]#AC]4H4H4H4H4H4H4H4H4H4H4H4H4H4H4H4H4H4H4H�BgY�g�PW>�,�,�Z�gh�,�,�ZsbRzbsbNnfh�@�@�\�]�\�@�@� 4H�d�d� 4Hnf�@�geGx^'W�geG�@�@�@h�@�\�@�geG'W�geG�@�@�@�@�e� 4H�@�@�@�@�\�@X]S+?h?h�@�@�@�@�@YY+d+h+Y+d+�h�@�gh�@�@W>W>nf�@�geG�h}^�geG�@�@�@�@�\gY�,�,�,�\gY�h�h�h�h�h�hi�M4H�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�\gY�,�,�,�\gY�h�h�h�i�h�h�h	i
�i�M4H�@�@�@�@�@�@�@�@�@�@�,�,�,�,�,�@�@�@�@�@�\gY�,�,�,�\4H4HeG�@�@-H4H�@Qjfj$Xqjjqj�j�@�@�@�j4HW>�j�j�@�@�@d1A�@dk�/dk1A�@kd1A#kd�I#Ak$X0k.S�I=k�@~�I�@�@�@1AGk1A=k1AdW1A�@1Ak�K#A�@�K�P�P�P4HW>�I=k�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�k�k�k�^�M�kl4H4H-H4H4HA86::;A86:-H4H�ld4H4H�kjmtmdjmtmd�k�I#Ak�md�I#Ak�m�k�I#A$Xd�I#A$X�k�I�:d�I�:dk�md�mda0da0ndnddk+n9nk�kanqndanqn�k�I#Akd�I#Akd�/�n�nd�n�k�I#Ak�md�I#Ak�m�n�n�j�nd�I#Ak$X0k.SW>YoYooYo'od>o�kl�o�M�g�o�M�o�l�M�l�o�/�M�I1A�@�MgYW>W>�M�n�M�o�MgY�pd�I#Akdk+n9nkdanqnd�I#Ak�mdjmtmd�I#Ak�md�I#A$Xd�I�:W>LpLp[pLp-HC]1A�@1A�@�@�@Lp�@�@�@�@�@�@sbR-HC]-HC]zbsbNLp|pd�p�pa0n�@4HA81A6:�@�@�@qjqjjqj�@�@�@�@�@qjqjjr&r2r>r6:Rr6:�:Rr6:�:Rrk�r�r�rA8�@�@�r�@�@�@�@�@4H4HKsW>Ks�@�@�@�@�@4H4H4H4HW>�sW>td�s�sS+�s�@S+�@t�@dS+�\S+S+�\�@�@�@�@4HW>qe- A"u3q?q@q@�A�A�CiF
FmFH�LmLqP�PAXuY�ZmZ8_m`�`mfmf�i�i�i�j�k�}�����)�5�����������������������������������������"����&���V����Z���b����^�������������������������~����������������~��6(�376�E7<�i7B��7F��7J��7O��7B��7U��6[�7`�8fy8ny38v�L8~n8�z8��8��8���8���8��8(1�8(9�8�A
9���6(I�6(Q<9�YU9�!k9�Ys9(��9���9�9(��9��9(a�9a�9Y�9i�9�::(:(	_:'	s:B1�:B��:3��7;�:J:�:(�9��9���:X��:F��:^�:(	�:d	%;ly-;B:��7r��7x�{;���;��;���7���;���;���;���;B�<��3<��S<J�\<��e<���<���<(��<���<[��<��=(�=��%=���6�	;=��@=�1S=B�3<���7J�:��c=��l=���=[	�=�1�=���6���=���=�>
�6��:��7>�E>�J>#i>B)r>+�60)%=6A
9[!�>>)S<D9�>B)�6[A�>K�6Q��>��?\Q:?cQL?��T?�AJ>[Qt?gY�?+Y�?ma�?	38d�?F�?|$�;�$�?���6(q�6���:FA
9(��?B��?���6��8@��J@��_@���@���@�AJ>�y�?���;���>�AJ>���@�AJ>���?���@3��6[��@��A��A�yA��6Q�6(��6Q��6��RA��RA��RA��@+��:
�RA��6(Q�A��6(��6(��6(��6(�6(Q�AB!RAQ�A"QB(Q"B(�k9��QB(	^B-��@(�tB:�BD��B:Y�9D	^BMY�BF!�6()�6X9}ChA�Ct9�ChI�6(Q�6(Q�6(Y�6(��6(,�6�4�6�i�6(q�6[yS<�y�E�y�6(��6)�HFW�PF��]F^�]Ff�oF(��Fm��Ft��6(��6[��6(��6)	�F�a�6
i�6(i:
yS<
y�E
�G�
�S<�
�/G�
�S<�
��6(��6[��6	�60��G2��G2�H2�6H9�S=B�BH?yZHD�kHB�xHF��H(��8J��HB��8(��HOq�6[y�:vy�H�y�H�yI�yIcyIV�38iykI�y}I�y�Isy�Iyy�Isy�Ify�Ify�IfAJ�!CJf)^Jf1yJf��6�A�:�)38�)�:�)�J�!�7�)�7���6�!�8�)�8�)�J�)�J�A�6(y[K�yeK�D�;�Q�6(y�?�L�?�A�C
Y�K
��?FT�6(��?���K%
a�K,
T:2
yL�iLC
i%LK
yKLR
qXLDqgL�q�L�yKLZ
q�La
i�Lf
Y�6(Y�?�Y:r
Y�Lw
l�6Qt�?�|�;���@���>�
l:y�L�a�K�
y8fA�LB�M�
��6[(M�:r
Y�L�
d7M�
�NMJdS<�
:�yWM�
NM�
��6���6(�:2
�S<�
��?���;���?���;���?F��6[��6(��6(��6(E>F��?F�Lg��M���M���M2
��?F��M���M2
��M���M��No�/Nu)/N��/N��/N��?NBiDN���6��\N�l�6(��M2
l�E��?F��M���N���6���6(�(O��.O�
d�Ey>O���:J�:��6(��9��gO��:)�O���CJA�O!38)�O��:)�O�q�OJ9
9#9
9(�38�?���?���;��@��>�
	�7c��7c7PB�JPk�ZP��7p��6wyfP�a�6�q�6(y8�y�PB�A��A��A��A��A��A��A��A��A��A��A��A��A��A��A��A�A
y�K
��P���6[��6(�5QYQBQ^�cQd�qQjA_:'��Qn��Q���Qt��Qy�6���LB:AYRf�kR��kR��kR���Rf��Rf�S<���E�,NMJ,:2
y�RBy-;By�RD$�?F��6�$S<�
�:�,�6(�kR���R�qUS�ihS�iqS�	�7�yI���:i)�S���6(��S��S��6)��SB�.O3��S��S��6��?F�T
�\N
�9�)T���6$�.T+�HT2�\TB�lT�y~T:$�6�$:2
)7U��EUfyTUo,�?�4�;��NM�
�_U�D�?�L�;�T�@�T�>�
$�6(��U�\�?�d�;��V��LB�Vl�?�t�;��HV	hV!|�?���;���VfT�6	�V9��Vx��V��V~!W�W�,�6�,�L�l�?���;�!.W�.W���?�qlWBqxWBq8f��WB1�W���W���W�q�WJ��W(��6(I[X�Q[X��|X�Y�6�i�6(q�6ty�6t��6[��6ti�6(i.YBi5YB�BY���?F�7M�S<J�BY�$�60i�Y���<(��?��:�i�Y(��9i�Yi�Y(i�Y(i�Yi�YiZiZti(Zt�(ZticZ�jZ�i�Z��Z(��Z%i�Z,i�Z�i�Z���Z�i�Z(��Z(��6t��63�6(��6:��6[��6N��6[��6^��6t�6[	�6)i\�S<��E���6��6[@\JM\���E�!|\()�6���\B��\���7p��\��L���6(�*]��5]��S<�	�O���6(NM�
i�O��Vr
���^](�n]��]���]t�Ct�]�S<�i�]�1�6(��?F1�?�9�6[A�6[I�6(�^2i6H99(^�i5^i�\�!>^���6tQ�6[�a^5	o^sY�^�Y�^�Y�6�a�6(Q�6(q�6Aq�6Kq�_Ay�6R9�6(9�_2y
`y%`Zy3`dyA`kyO`t��`���`���?���;���`B�38X��`���Vf��`�y�`��M���at��at��a�A38��M���?���;�,�O+4�O+<�O+D�O+�O+L�O+T�O+\�O+!�aF!�aF!bF�"b2��;���?���6[��6wi�bY��6(��6^��bB��6e�c��'c��7c��Sc�		�6(��cB	�c�	�ctQ�6���?F�S<�
��6)��c���c���6t��6(Q�?FQS<q�>�Q�6[��cB��c�	�6(�Rd�	Xd�	pd(i�d(	�d�y�d�y�d�	�d�Y�<(!e�!e�!'et!Ae�	Qe�!ne[1	W��:�q�6�Y�?FY�E�iEf��V���C�iPf���<(�:2
��?F��]�I`f�ixfF9	�f�	�V��E���?���f(�(Zt�<(A	�f�A	gB��f[i&g�)4gB)Dg��Xg�adg�I	�60y���M�q�Sy�y�	cZ��O+	�g~i�gt	�g(��Z,��Z�Q	�6tY	Xh�i�h,q	�6(��6�)	�6(y	�6(y	$i[y	-i[�:ity	Fi[�Vi[�	�6(�	$i[�	�6(�	{i[�	$i[�	�6(�	{i[�	$i[�	�6(�	{i[�	-i[�	�i[�	�6[�	�i[�	�i[�	�i[�/N��6���O+i�iB�j���?�9�LByj�1�:�9j�1#j�yfP�	�6t�Wj���6���6Q��?F�lj" �	�6[��?���;�y�LBy�7> ��7D �6(:2
��jJ �	�6[��?F�	�6(	�6(i�j�i�j�6(�:J:�E�?F7M�
�?�$�;�S<�
��6(��6(�fkc�	�k�,�k�,�62
,�>���k>$S<���kD$�	�k(4�?|<�;�<�?���O+�	 l2�*l2�	�60iMl[$�el�D�?FDS<�
�xlj$��R��	�lp$L�?�T�;�\�6(\:2
i�lJ��l�$	
�l�$Y�l�\S<�
\�?Fd�?FdS<�
l�?FlS<�
��;�t�6(|�6���6(��6�D�6(��6���6(��6���6(��6�4�?F4NMJ��O+��O+t:2
�	m���6(�NMJ�:2
�	�m,%�	�m5%inJ��6(��:J�:D:2
�:2
�	HnH%�:2
�	�n��	�n5%4�6(4:2
��:J�S<�
�NMJ��?���;��	�n,%��6(�:2
��6(�:�:2
A
9�A
9z%��?F�S<�
�5o��5o[!
\o�%!
io(��oFAJ>���@�i�o,��?��;��@��>�
�?���oB�7M�%�?�%$�;��S<�
$�?�4�V�%�S<�
q�6(��?FtS<�
t�?F,�6(�S<�
,�:J,:��?F�S<�
��:�
��?F)
�6�%1
�o�%1
�LB��6(1
�>B1
p�1
%p�%1
3pB1
E>�i@p���6$��E�bp�A�6(��:J�S<�
�qp���LB�p�%��p�%l�6(l:2
Q
q&Q
(q&Q
Iq&Q
eq &Q
�q&Q
�q &Q
�q&Q
�q,&�S<�
��?F�S<�
4�?���?F�7M�%<�?�%D�;�D�?�Lr�&T�6Q�	�6(\�60T�r�&	-;B��6(d�6(��O+�	Ys[�ts�'i
�s[��sq
�6a(d�?Fd�?�l�;��t�A�8(d�6(d4t(d�*�(d?t�dJt�(dS<�
)�6[1�6[9�6[A�6[I�6[Q�6[Y�6[a�6[i�6[q�6[y�6t��6t��6t��6(��6���6�L1�6���6�M��6(1,� ��1�,�
���
���1�,�
���"',16;@E J$O(T,Y0^4c8h<m@rDwH|L�P�T�X�\�`�d�h�l�p�t�x1|,�
����"�'�,�1�6�;�@�E�J�O�T�Y�^�c�h�m�r�w�|�������������������������� �$�(�,�0�4�8�<�@�DHL
PTX\!`&d+h0l5p:t?xD|I�N�1�,�
���1�,�
����"�',16;@<�?�1�,�1�,�
���1�,�
��t1x,|
�1�,�
�1�,�
����"�'�,�1�1�,418,<
�����1�,�
��s!��!��!��!��!��!�
"�"�M"�r"��"��"��"�#�#	*#	C#	^#	w#	�#	�#	�#	�# 	�#�	�%8
1<
,@

D
�
1�
,�
1�
,',.S �K.[ �K.c �K.k �K.s �K.{ L.� /L.� =L.� /L.� JL.� G.� G.� �.� ,.� UL.� lL.� �L.� �L.� �L.� M.� CM.� �M.� �M.�,.� $.� �M��,j;,�;,�{/��y�;,��,��_�;,��,��_�;,�,�_
;,!�,!�_*;,A�,A�_J;,a�,a�_j;,��,��_�;,��,��_�;,��,��_�;,��,��_�,�_; ;�
[M!�,!�_#; #;�*[MA�,A�_J[�a�,a�_j[��[M�[M�[M�[M
[M*[MJ[MiS�i[�j[���,��_�S��[�[���,��_�[���,��_�[��[M����[��[M	[�
[M)[�*[MI[	i[�j[M����[*	��U	�[M�[M��y�[�	��U	�[M �,)[�@�,I[#
`�,i[G
��,�[o
��,�[�
��,�[�
�[�
	[�
)[�
�����������,�G�G�M��#	�y�	�,�	;��	; 
�
G

��
��
��C�JC�dC�,C�dC�~C��C��[�);�)C_i[AicUik�isei{��;��C_��}����k��������}�k���}	;�	C_#�
);�)C_IC_I;�c�
��� �G�#,��#�
�;��G��� �� �#,����)[�)��I[�I��i[�i�G�[���G�[��k��[��k��[�����G�� #,	[�	��)[�)��C�
I[�I��i[�ik��[��k��[��k��[��k����&�[��k��
	{�	[�	k;	cU	;� �,){�)[�)k;);�)cU@�,C��&I{�I[�Ik;I;�IcUc��&c�&c#,c�,c��'i{�i[�ik;i;�icU��,��'��S(�G���{��[��k;�cU�;���,�{��[��k;�cU�;��{��[��k;�cU�;���,�{��[��k;�cU�;��,	[�	�G �,@�,`�,c�cGc��(c�(��,��,��,��,��,��,�,�, �,#�,@�,C�,c�,��,��,��,��,��,��,�,#�,C�,c�,��,�;,�;,�;,�;,	;,);,I;,i;,�;,�;,�;,�;,	;,);,i;,�C_��U�;�	cU	k�	;�	�n)C_)�U);�IC_I;�I�UiC_i�Ui;��;���U�C_�[���G��U�C_�;���,	s�	k�	�U		[�);�)C_@�,`�,i��i[A��,�;��C_��,��n�cU�;��k��+��cU�k��;��;��+��k��cU	��	��	*);�)�U)C_IC_I�UI;�i[Ai�U�[��kx�+��cU�;��k��+��cU�k��;���U�;��C_	 C_	 ;�) [A) C�I ��I cUI k�I ;�i k�i [�� C_� ;�� cU� k�� ;�� +�� ;�� cU� �n� k�� +�� cU� k�� ;�)!;�)!C_I!;�a!�,a!�_i![Ai!���!�,�!�_�!cU�!k��!;��!�n�!�,�!�_�!C_�!;��!�,�!�_�!C_�!;��!C�!cU�!�,�!�_�!;��!C_)"�U)";�)"C_I"�UI";�I"C_i"�Ui"C_i";��"�,�"�,$�,$�_!$�,!$�_A$�,A$�_a$�,a$�_%�,A%�,A%�_�%�,�%�_�%�,�%�_�%�,�%�_�%�,�%�_&�,&�_!&�,!&�_A&�,A&�_a&�,a&�_�&�,�&�_�&�,�&�_�&�,�&�_�&�,�&�_'�,'�_!'�,!'�_A'�,A'�_a'�,a'�_�'�,�'�_�'�,�'�_�'�,�'�_�'�,�'�_(�,(�_!(�,!(�_A(�,A(�_a(�,a(�_�(�,�(�_�)�,�)�_*�,*�_!*�,!*�_A*�,A*�_a*�,a*�_�*�,�*�_�*�,�*�_�*�,�*�_�*�,�*�_+�,+�_!+�,!+�_A+�,A+�_a+�,a+�_�+�,�+�_�+�,�+�_,�,,�_!,�,!,�_A,�,A,�_a,�,a,�_�,�,�,�_�,�,�,�_�,�,�,�_�,�,�,�_�,���,;��,cU-�,-�_!-�,!-�_A-�,A-�_I-k�I-[�i-[�i-�Gi-k��-cU�-��-{��-[��-k;�-�G�-k��-+,�-[��-;��-C_�-�UI.k�I.�GI.[�I.�U	i.�Gi.[�i.k��2�G�2[��2[��2k��2;�	3�$	3[�)3[�)3{�)3k�)3C$)3cUI3[�I3��i3�Gi3[��3c
,�3���3[��3c
,�3[��3���3;�	4;�I4[�I4�Gi4cUi4k�i4C$i4[�i4{��4[��4k��4[��4cU�4k��4[��4{��4cU�4[��4k;�4C$�4{�	5cU	5k�	5{�	5[�)5�G)5;�I5�UI5;�I5C_`5�,�5�,�5�_�5�,�5�_�5�,�5�_6�,6�_!6�,!6�_�6�,�6�_�6�,�6�_!7�,!7�_I7[�I7{�I7C$I7cUi7{�i7[�i7C$i7cU�7�,�7�,�7�_�7[��7cU�7{��7�,�7�_�7cU�7[��7k;�7C$�7{��7�,�7�_�7{��7cU�7[��7�,�7�_	8�U	8C_	8;�!8�,!8�_@8�,a8�,a8�_�8�,�8�_�8�,�8�_�8�,�8�_�8�,�8�_9�,9�_	9�U	!9�,!9�_A9�,A9�_a9�,a9�_�9���9[�:�,:�_	:k�	:[�!:�,!:�_A:�,A:�_I:[�I:�G`:�,a:�,a:�_i:��'i:[��:�,�:�_�:C_�:;��:�U�:[��:�G	;�U	;cU	;;�);;�i;;��;[h(�;�,�;�_�;�,�;�_�;{��;k��;cU�;[�<c
,<�,<�_	<[�	<C�( <c
,@<c
,I<+,I<k�I<[�i<;��<�,�<�_�<[��<k��<�p)�<[��<��)�<�,�<�_�<[��<�G=�,=�_	=cU	=;�!=�,!=�_A=�,A=�_!?�,!?�_A?�,A?�_�?�,�?�_!A�,!A�_�D�,�D�,�D�,E�, E�,@E�,`E�,�E�,�E�,�E�,�L�,M�, M�,@M�,�M�,�M�,�M�,N�, N�,!N�,!N�_AN�,AN�_aN�,aN�_�N�,�N�_O�,O�_�P�,Q�,S�,S�_!S�,!S�_AS�,AS�_aS�,aS�_�T�,�T�_aV�,aV�_�Y�,�Y�,�Y�,Z�,`Z�,�Z�,�Z�,�Z�,�Z�,[�,@[�,`[�,�[�,�[�,\�, \�,@\�,`\�,�\�,�\�,�\�,]�, ]�,@]�,`]�,�]�,�]�,�]�,�]�,^�, ^�,@^�,�^�,�^�,_�, _�,@_�,`_�,�_�,�_�,`�, `�,@`�,``�,�`�,�`�,�`�,�`�,@a;,�a;,�a�,�a�,@b�,`b�,�b�,�b�,�b�,�b�,c�, c�,`d�,�d�,�d�,�d�,�d�,e�, e�,@e�,`e�,�e�,�e�,�e�,�e�,f�, f�,@f�,`f�,�f�,�f�,�f�,�h;,i;, i�, i;,�i;,�i;, j;,@j;,`j;,�j;,�j;,�j;,�j;,`{�,�{�,�{�,�{�,�}�,�}�,@��,`��,���,���,��,��, ��,@��,��, ��,���,��,��, ��,@��,`��,��,��,@��,`��,��,��, ��,@��,`��,���,���,���,`��,���,���,���,��,��, ��,@��,���,���,`��,���,���,��,���,���,���,��, ��,@��,���,���,��, ��,@��,`��,@��,`��, ��,@��,`��,���,���,���,��,��,���,���,���,��,`��,���,��V ��, ��,���,���,��, ��,@��,��V&��V `��,���,���,��, ��,@��,`��,���,��V  Ի,@Ի,`��,���,`ݻ,�ݻ, ޻,`޻,�޻,�޻,�޻,�޻,߻, ߻,`߻,�߻,�߻,�߻,�߻,�, �,`�,��,��,��,��,�, �,`�,��,��,��,��,�, �,`�,��,��,��,��,�, �,`�,��,��,��,��,�, �,`�,��,��,��,��,�,`�,��,��,��,�, �,@�,��,��,�, �,@�,`�,��,��,��,�, �,@�,`�,��,��,��,�, �,@�,`�,��,��,��,�, �,@�,`�,��,N|).|).�).�).).). ). ).$).$).,).,).0).0).D).D).H).H).L).L).P).P).T).T).X).X).\).\).`).`).d).d).�).�).�).�).�).�).�).�).4).4).l).l).�).�).5�9�0��)�)�)�)�)�)*&*L*[*p*�*�*�*�*�*+$+K+�+�+�+�+�+�+�+�+,%,9,G,R,^,c,�,$-�-A/T/{/�/�/�/�/�/�/00S0|0�0�0�0�0171f1l1�1�1�1�12	2232G2X2^2g2q2~2�2�2�2�2�23-3�3�3�3k4u4�4�4�4�4�4/5=5J5d5l5s5�5�5�5�5�5K6Q6V6o6�6�6�6�6747I7R7d7t7�7�7�7�7�7�78)8B8\8j8�8�8�8�899;;;;H;N;k;�;�;�;�;�;�;�;<</<@<�<h=�=�=�=�=�=>>8>_>�>�>�>�>???$?3?E?W?m??�?�?�?�?�?�?�?�?@@@~@�@�@�@�@�@>AJAXAA�A�A�A�A�A�A�ABB8B>BRBpByB�B�B�B�BC!C+CTC�C�C�C�CD/DKDvD�D�D�D�D/E<E_E�E
F`FF�F�F�F
GG-GEGUGeG�G�G�G"H3H9HnH�H�H�H�H
 HINPYZv2�3�6�7�
)�˅�˅���v#�#�#�#�#"�#�#&�#�#*�#�#.v#�#�#�#�#")�#�#&�#�#*�#�#.D���2��6��:��:��>��B��F��J��N�R�V҅'҅=�ZT҅i�^҅��b<�f�3j�3n
4r��H�5v	

!"#)*+-.038:<>AB D!L$M'N(O3R4S6U7W9]:c;d<h?i@jBkDnFqG{H�I�K�L�N�P�Q�R�S�T�U�V�W�X�Y�Z�\^abc d!e#f(g,i-j9k:l;m<p>qBrHsXtbuevgwhxiyk{l|m}n�q�r�t�w�z�����������������������������������������������������������������������������������H���H���H���H���H��H��H��H/��HG��Hb��H���H���H���H���H���H��H��H��H��H��H��H��H/��HG��Hb��H���H���H���H���H���H��H!��H��H���H4�HJ��H]��HM�Hm�Hv�I�IM�H~�H��I���H���H��I���H���H���H��I��I��I�I+�I���H6��HD��HY IV�%Iq*Ib�/I54It�9I)>I~�CI���H��HI���H���H���H���H���H��MI��SI��H�^I���H���H�gI���H,��H~HI9��H��mI?��HJ��HStIX��H�zIc��HX��Hq�I~ʅI?��HJ��HStI�ʊI?��HJ��HStIX��H�4I���H���H���H���H���HStI?��H���H�ʏI�ʔI�ʚI���H���H���H��H��H#ˠI*��H�ȦI8��HG��HXˬI*��Hc��H�I���H���H�˸I���H���H�ȾI���I�ȦI̲IXˬI���H��H#�HIY��H���I���H���H���H���H���H���H���H���H���H���H���H���H��H��H���H�MI��MI �MI2�MID�MI\�MIm�MI~�MI���H���I~��I)�I���H��I���I)�I���H��I��I ��I2��ID��I%��I��I���I)>I���H%��I*��H)�I���H��I��I��SIc��H,��I���H���H���H���H:��HD��HN��HV��Ho��Hw��H��HI���H���H���H���H���H���H���H���H��H���H���H\�MIm�MI~�MI��MI��MI �MI2�MID�MI���H���H���H���H��I0��H:�IR�J\�JGcJh�
J�ʔIt��H���H��I��J�%J���H��J��I��I��I���H
�%J�J��H(��H;�IR�I`�
J�*J�+Jg�Iz��H��1J��I��I��I���H��<J��<J���H��I��I�%BJ��H��H-�HJ6��H>�
J��LJ���H���I��J���H���I���I���H)>I���H���I���I���H��J���I���H)>I���H���H���I��RJ�*�I���H���H��J���H��H�XJ!��H1��H<��HR��H���H��Ha��I*��Hj��Hu��Iu��I}��H�%BJ��H���H���I���I���I���H)>I���H���H���I���I���Hii^J���H���H���H���H���H��H��H1��HB��H`��H���H���H���H���H���Hii^J���H���H��H���H��H��H1��H`��H���H��H*��H���H��H.�I)>II��HS��H]��Hb�dJj�jJz��H���H4
pJI��H��I]��H*&vJM�H(O�H*&vJ���H|J*&vJM�H(O�H���H���H*&vJM�H���H���H*&vJ���H���H�ՂJ~HIR�H���H���HM�H���H���H��H~�H4
pJ���H���H��H��H
��H$��H>��H[��Hq�Jp��H���H���H���H���H���H���H��H��H5�J)�J-��Hb�dJj�jJ8ךJA��H���HZ��HfנJuצJM�H(O�H�9�J�9�J1A�H�׵J�׻J*&vJ4�J��H�*�H���Hq�J5�Jb�dJj�jJ8ךJ4
pJ���H�H���J�הJ���HM�H���H]��H	�I)�J��J��J)��H4��HG��HP��H]��H]�HI���Ho��H���H4
pJx�|J���H��I��vJ�ʔI��H���J���H4
pJ���J���J���JI��H�|J�|J	��H!��H.��H<�I4
pJM��J���I��HI���IM��J���I���J���Id�J���I��MI���I.��I���Ie�K���I��K���I�J���I��K���I�J���I@Atu019	:	O
P
;<uv=
>
��BC��D��E��F��G��H��I��J��K� � L!�"�"M#�$�$c%d%b&c&e'f'd(e(v)w)f*g*x+y+h,i,�-�-j.k.�/l0m0�1n2o2�3p4q4�5r6s6�7t8u8�9v:w:�;x<y<�=�>�>�?�@�@�A�B�B�C�C�D�D�E�E�F�F�G�G�H�H�I�I�J�J�K�K�L�L�M�M�N�N�O�O�P�P�Q�Q�R�R�S�S�T�T�U�U�V�V�W�W�X�X�Y�Y�Z�Z�[�[�\�\�]�]�^�^�_�_�`�`�a�b�b�c�c!d"d�e�e�f�f�g�g�h�h�i�i�j�j�k�k<l=l�m�m�n�n�o�o�q�s�s�u�u�w�w�y�{�}�����������������������������������������+�1�2�3�4�5����������������������������������������������������������������������������������� �%�&�'�(�)�*�+�,�-�.�E<=>?@	ABC
`ghijmnopst����{!#�#�%�%�'�'�)�)�+�+�-�-�/�/�1�1�3�3�5�5�7�7�9�9�;�;�=�=�?�?�A�C�E�G�I�K�M�O�Q�Q�S�S�U�U�W�W�Y�Y�[�[�]�]�_�_�a�a�c�c�e�e�g�g�i�i�k�k�m�m�o�o�q�q�s�s�u�u�w�w�y�y{{}}����X���������������� �!�"�#�$�%�&�'�(�)�*�+�,�-�.�/�0�1�2�3�4�5�6�7�8�9�:�;�<�=�>�Y�Z�[����������������������������������������������������������������������������������������������������������	���
�
��������������!�#�#�%�%�'�'Z)[)\+]+_-`-a/b/h1i1j3k5n7o7p9q9r;s;t=u?wAxAzC{C|EG�G�I�I�K�K�M�M�O�Q�Q�S�S�U�U�W�W�Y�Y�[�[�]�_�_�a�c�e�g�i�i�k�k�m�o�o�q�s�u�w�w�y�y�{�{�}�}�����������������������������������������������������������������������������������������������	�
���
�����������������#�$�,�.�/�0�1�8�9�A�H�I�K�L�M�N�O�[�\�a�b�c�d�f�g�h�j�k�l�n�o�p�q�r�t�uvxyz	{|
}~������������!�#�%�'�'�)�)�+�+�-�-�/�1�1�3�5�5�7�7�9�9�;�;�=�?�A�C�C�E�E�G�I�I�K�K�M�O�Q�S�S�U�U�W0Y3[7]8]9_:_>aKcMeNgOiQkRmSoUqVsXuYwZy[{\}]^�_�d�e�f�g�h�i�j�k�s�t�u�v�w�x�y�z�{�|���������������������������������������������������������������������������������������������������������������#�$�-�.�7�8�?�@�G�H�OP(�*�"�"�FB�FD�FF�H��H��H��H�wP�P�PPPx
PzY��Y�wY��Y��ZV�ZX�Z��Z��Z��}�
�
}�
�
�>�
�@�
�,W�.Y�L��N��P��R��T��V��X��Z��N
��P
�
�R
�
��
�
��
�
��
5��
%��
9��
;��
���
%��
9���5�%�9�;���%�9� ��&��(%�.9�0��6I�8%�>9�@G�Fc�H%�N9�Pe�Z��\%�b9�d��n=�p%�v9�x;�~w��%��9�����=��%��9��;��w��%��9���?N�r�������[cks{������������k�/BPt����	��
8
;
|
�
�
�
�
�
�
	S[a���8
9GV8
`��v~������	'0�"����=D��
# , 5 � � � � � $J$R$b$x$�$�$�$�$�$�$�$�$�$�$�$�$�$$%=%P%[%c%k%8
8
�%8
�%�%�%�%�%6&>&J&z&�&�&t(}(�����Kc��N���N���N��N��N���N��N��N#T�N�Q�Ndb�Ni`���`����������(�`G�,+-+7698;:@?A?B?JI[Zjiki�������������������������&�����7�6�8�:�Y�Y�Z������������m�6q�6��6��6�7e�6	77%�6����lm
�-�3����������
��!��d*d0d6d<dBdHdNdTdZd`dfdldrdx� � � $�*$�4$$t%$�%��&��'�'�)������	�<Module>System.Web.ConfigurationMachineKeyRegistryStorageKeyTypeSystem.Web.HandlersScriptResourceHandlerPerformSubstitutionHelperEmbeddedResourceAssemblyEmbeddedResourcesSystem.Web.UtilMachineKeySectionUtilsSystem.Web.ClientServices.ProvidersClientFormsAuthenticationCredentialsClientFormsAuthenticationMembershipProviderClientRoleProviderClientSettingsProviderClientWindowsAuthenticationMembershipProviderIClientFormsAuthenticationCredentialsProviderSettingsSavedEventArgsUserValidatedEventArgsSystem.Web.ClientServicesClientFormsIdentityClientRolePrincipalConnectivityStatusConverterConvertersCollectionScriptingAuthenticationServiceSectionScriptingJsonSerializationSectionScriptingProfileServiceSectionScriptingRoleServiceSectionScriptingScriptResourceHandlerSectionScriptingSectionGroupScriptingWebServicesSectionGroupSystemWebExtensionsSectionGroupSystem.Web.DynamicDataDynamicDataSourceOperationDynamicValidatorEventArgsIDynamicDataSourceIDynamicValidatorExceptionScriptModuleSystem.Web.Query.DynamicDynamicClassParseExceptionNewtonsoft.JsonJavaScriptUtilsNewtonsoft.Json.UtilitiesReflectionUtilsSystem.Web.Script.SerializationJavaScriptConverterJavaScriptSerializerJavaScriptTypeResolverJsonJsonDeserializerJsonModeJsonTypeJsonSerializerScriptIgnoreAttributeSimpleTypeResolverStringBuilderExtensionsSystem.Web.Script.ServicesAuthenticationServiceClientProxyHandlerGenerateScriptTypeAttributeJsonResultLogicalTypeInfoLogicalMethodInfoAsmxLogicalTypeInfoAsmxLogicalMethodInfoWcfLogicalTypeInfoWcfLogicalMethodInfoProfileServiceProxyGeneratorResponseFormatRestHandlerSessionWrapperHandlerReadOnlySessionWrapperHandlerExceptionSerializerScriptHandlerFactoryScriptMethodAttributeScriptServiceAttributeSystem.Web.UI.WebControlsDataPagerDataPagerCommandEventArgsDataPagerFieldDataPagerFieldCollectionKnownTypeIndexesDataPagerFieldCommandEventArgsDataPagerFieldItemHelperExtensionsIPageableItemContainerInsertItemPositionLinqDataSourceLinqDataSourceContextEventArgsLinqDataSourceDeleteEventArgsLinqDataSourceDisposeEventArgsLinqDataSourceInsertEventArgsLinqDataSourceSelectEventArgsLinqDataSourceStatusEventArgsLinqDataSourceUpdateEventArgsLinqDataSourceValidationExceptionLinqDataSourceViewListViewGroupStartListViewCancelEventArgsListViewCancelModeListViewCommandEventArgsListViewContainerListViewDataItemListViewDeleteEventArgsListViewDeletedEventArgsListViewEditEventArgsListViewInsertEventArgsListViewInsertedEventArgsListViewItemListViewItemEventArgsListViewItemTypeListViewPagedDataSourceListEnumeratorCollectionEnumeratorListViewSelectEventArgsListViewSortEventArgsListViewTableCellListViewTableRowListViewUpdateEventArgsListViewUpdatedEventArgsNextPreviousPagerFieldNumericPagerFieldPageEventArgsPagePropertiesChangingEventArgsTemplatePagerFieldSystem.Web.UIAsyncPostBackErrorEventArgsAsyncPostBackTriggerAuthenticationServiceManagerCompositeEntryCompositeScriptReferenceCompositeScriptReferenceEventArgsExtenderControlIExtenderControlIScriptControlPostBackTriggerProfileServiceManagerRegisteredArrayDeclarationRegisteredDisposeScriptRegisteredExpandoAttributeRegisteredHiddenFieldRegisteredScriptRegisteredScriptTypeScriptBehaviorDescriptorScriptComponentDescriptorScriptControlScriptControlDescriptorScriptDescriptorScriptManagerAlternativeHtmlTextWriterHtmlTextParserTextParserHiddenFieldParsedEventArgsTextParserTextParserHiddenFieldParsedEventHandlerHtmlDropWriterDropWriterCultureInfoSerializerScriptReferenceEntryDataItemEntryScriptManagerProxyScriptModeScriptReferenceScriptReferenceBaseResourceCacheEntryScriptReferenceCollectionScriptReferenceEventArgsScriptResourceAttributeServiceReferenceServiceReferenceCollectionTargetControlTypeAttributeTimerUpdatePanelSingleChildControlCollectionUpdatePanelControlTriggerUpdatePanelRenderModeUpdatePanelTriggerUpdatePanelTriggerCollectionUpdatePanelUpdateModeUpdateProgressvalue__keyEncryptionkeyValidationValidationEncryptionHandlerFileNamecurrAsmAssemblySystem.ReflectionQueryParamSeparator_embeddedResourcesDictionary`2System.Collections.Generic_embeddedResourcesLockReaderWriterLockSlimSystem.Threading_stringHashCacheLockstringHashCachehashAlgKeyedHashAlgorithmSystem.Security.CryptographycanReuseHashAlg_assembly_regexRegexSystem.Text.RegularExpressionsNameUrlAttributeWebResourceAttributeAssemblyNameResources<Password>k__BackingField<RememberMe>k__BackingField<UserName>k__BackingFieldEventHandler`1SystemUserValidatedSettingsSaved<FailedSettingsList>k__BackingFieldReadOnlyCollection`1System.Collections.ObjectModel<AuthenticationCookies>k__BackingFieldCookieContainerSystem.Net<AuthenticationType>k__BackingField<IsAuthenticated>k__BackingField<Name>k__BackingField<Provider>k__BackingFieldMembershipProviderSystem.Web.Security<Identity>k__BackingFieldIIdentitySystem.Security.PrincipalenabledPropConfigurationPropertySystem.ConfigurationpropertiesConfigurationPropertyCollectionDeleteInsertSelectUpdateContextCreate<Exception>k__BackingFieldException<Operation>k__BackingField<Position>k__BackingFieldGenericDictionaryTypeTypeSerializedTypeNameKey_converterListList`1IEnumerable`1_maxJsonLength_recursionLimit_typeResolverDefaultSerializertypeofObjecttypeofGenList__UNIVERSAL_ERRORC_SPACEC_WHITEC_LCURBC_RCURBC_LSQRBC_RSQRBC_COLONC_COMMAC_QUOTEC_BACKSC_SLASHC_PLUSC_MINUSC_POINTC_ZEROC_DIGITC_LOW_AC_LOW_BC_LOW_CC_LOW_DC_LOW_EC_LOW_FC_LOW_LC_LOW_NC_LOW_RC_LOW_SC_LOW_TC_LOW_UC_ABCDFC_EC_ETCC_STARC_IC_LOW_IC_LOW_YC_NGOOKOBKECOVAARSTESU1U2U3U4MIZEINFRE1E2E3T1T2T3F1F2F3F4N1N2N3FXIVUKUII1I2I3I4I5I6I7V1V2FATRNUDEDFSBMXZXIXEXUCSEABAEOSOEEOCMCAPXKBUEIFNNascii_classstate_transition_tableserializertypeResolvermaxJsonLengthcurrentPositionrecursionLimitrecursionDepthmodesStack`1returnValuejsonTypeescapedstatecurrentKeybufferStringBuilderSystem.TextquoteCharNONEARRAYDONEKEYOBJECTARRAY_BEGINARRAY_ENDOBJECT_BEGINOBJECT_ENDINTEGERFLOATNULLTRUEFALSESTRINGMAXInitialJavaScriptDateTicksMinimumJavaScriptDateDateTimeserializeGenericDictionaryMethodInfoobjectCacheserializeGenericDictionaryMethodsDefaultWebServicePath_section_logicalTypeInfo_type_typeIdd_type_to_logical_typeHashtableSystem.Collections_proxy_methodMaptypeOfIEnumerabletypeOfIDictionary_methodInfo_paramsParameterInfo_paramMap_typeInfoJSSerializer_wmaWebMethodAttributeSystem.Web.Services_sma_xmlSerXmlSerializerSystem.Xml.SerializationcdContractDescriptionSystem.ServiceModel.DescriptionodOperationDescriptionXml_logicalMethodInfoIRequiresSessionStateTypeIReadOnlySessionStateType_handlerIHttpHandlerSystem.Web_e_wsFactoryWebServiceHandlerFactorySystem.Web.Services.Protocols_responseFormat_useHttpGet_xmlSerializeStringDefaultNO_PAGEABLE_ITEM_CONTAINERNO_DATABOUND_CONTROLNO_PAGED_CONTAINER_IDCONTROL_NOT_PAGEABLENO_NAMING_CONTAINERCSTATE_BASE_STATECSTATE_TOTAL_ROW_COUNTCSTATE_MAXIMUM_ROWSCSTATE_START_ROW_INDEXCSTATE_COUNT_exceptionMessages_pageableContainer_fields_attributesAttributeCollection_totalRowCount_startRowIndex_maximumRows_initDone_needNewContainerSetup_needSetPageProperties_createPagerFieldsRunning<Item>k__BackingField<NewMaximumRows>k__BackingField<NewStartRowIndex>k__BackingField<PagerField>k__BackingField<TotalRowCount>k__BackingFieldFieldChangedEventeventsEventHandlerListSystem.ComponentModel_stateStateBag_dataPager_queryStringHandled_isTrackingViewState_queryStringNavigateUrlEventHandlerknownTypesFieldsChangedEventlistIListowner<CommandSource>k__BackingField<Pager>k__BackingFieldNoneFirstItemLastItemempty_namesview<ContextTypeName>k__BackingFieldcontext_type<ObjectInstance>k__BackingFieldDataSourceOperation<ExceptionHandled>k__BackingField<OriginalObject>k__BackingField<NewObject>k__BackingField<Arguments>k__BackingFieldDataSourceSelectArguments<GroupByParameters>k__BackingFieldIDictionary`2<OrderByParameters>k__BackingFieldIOrderedDictionarySystem.Collections.Specialized<OrderGroupsByParameters>k__BackingField<Result>k__BackingField<SelectParameters>k__BackingField<WhereParameters>k__BackingField<InnerExceptions>k__BackingFieldsourcetrackingdelete_parametersParameterCollectioninsert_parametersselect_new_parametersupdate_parametersgroup_by_parametersorder_by_parametersorder_group_by_parameterswhere_parameters<AutoGenerateOrderByClause>k__BackingField<AutoGenerateWhereClause>k__BackingField<AutoPage>k__BackingField<AutoSort>k__BackingField<EnableDelete>k__BackingField<EnableInsert>k__BackingField<EnableObjectTracking>k__BackingField<EnableUpdate>k__BackingField<TableName>k__BackingField<GroupBy>k__BackingField<OrderBy>k__BackingField<OrderGroupsBy>k__BackingField<SelectNew>k__BackingField<Where>k__BackingFielddata_contexttable_memberMemberInfoContextCreatedContextCreatingContextDisposingDeletedDeletingInsertedInsertingSelectedSelectingUpdatedUpdatingCSTATE_DATAKEYNAMESCSTATE_DATAKEYSSTATECSTATE_GROUPITEMCOUNTCSTATE_TOTALROWCOUNTCSTATE_EDITINDEXCSTATE_SELECTEDINDEXCSTATE_SORTDIRECTIONCSTATE_SORTEXPRESSION_emptyDataTemplateITemplate_emptyItemTemplate_insertItemTemplate_groupSeparatorTemplate_groupTemplate_itemSeparatorTemplate_itemTemplate_selectedItemTemplate_alternatingItemTemplate_editItemTemplate_layoutTemplate_selectedIndex_editIndex_groupItemCount_items_dataKeyNames_dataKeysDataKeyArray_dataKeyArrayArrayList_sortDirectionSortDirection_sortExpression_layoutTemplatePlaceholderControl_nonGroupedItemsContainer_groupedItemsContainer_nonGroupedItemsContainerFirstItemIndex_groupedItemsContainerPlaceholderIndex_nonGroupedItemsContainerItemCount_groupedItemsContainerItemCount_lastInsertValues_currentEditOldValues_currentEditNewValues_currentDeletingItemKeys_currentDeletingItemValues_firstIdAfterLayoutTemplateusingFakeDataItemCancellingEventItemCommandEventItemCreatedEventItemDataBoundEventItemDeletedEventItemDeletingEventItemEditingEventItemInsertedEventItemInsertingEventItemUpdatedEventItemUpdatingEventLayoutCreatedEventPagePropertiesChangedEventPagePropertiesChangingEventSelectedIndexChangedEventSelectedIndexChangingEventSortedEventSortingEventTotalRowCountAvailableEvent<InsertItem>k__BackingField<InsertItemPosition>k__BackingField<SelectedPersistedDataKey>k__BackingFieldDataKey<CancelMode>k__BackingField<ItemIndex>k__BackingFieldCancelingEditCancelingInsert<ItemType>k__BackingField<DataItem>k__BackingField<DataItemIndex>k__BackingField<DisplayIndex>k__BackingField_keys_values<AffectedRows>k__BackingField<NewEditIndex>k__BackingField<KeepInInsertMode>k__BackingFieldDataItemInsertItemEmptyItem<AllowServerPaging>k__BackingField<DataSource>k__BackingFieldIEnumerable<MaximumRows>k__BackingField<StartRowIndex>k__BackingFieldindexstartIndexendcollectionICollectionenumeratorIEnumerator<NewSelectedIndex>k__BackingField<SortDirection>k__BackingField<SortExpression>k__BackingField_newValues_oldValues<KeepInEditMode>k__BackingField_fieldIndexDefault_NextPageTextDefault_PreviousPageText_renderNonBreakingSpacesBetweenControlsstartRowIndexmaximumRowstotalRowCountPagerCommandEvent<PagerTemplate>k__BackingField_exception_owner_controlID_eventHandler_controlIdSeparators_eventName_pathNameOrPathresourceCacheSplitOrderedList`2System.Collections.Concurrent<NotifyScriptLoaded>k__BackingField<ResourceUICultures>k__BackingField<ScriptMode>k__BackingField<ThisAssembly>k__BackingFieldResourceNameCOMPOSITE_SCRIPT_REFERENCE_PREFIXentriesCachescripts<CompositeScript>k__BackingField_scriptManager_targetControlID_control_name_value_updatePanel_script_controlId_encode_initialValue_addScriptTags_key_scriptType_urlClientScriptIncludeClientScriptBlockClientStartupScriptOnSubmitStatement_formID_elementID_id_properties_events_references_nameSetupdatePanelhiddenFieldarrayDeclarationscriptBlockscriptStartupBlockexpandoonSubmitasyncPostBackControlIDspostBackControlIDsupdatePanelIDsasyncPostBackTimeoutchildUpdatePanelIDspanelsToRefreshIDsformActiondataItemdataItemJsonscriptDisposepageRedirecterrorpageTitlefocusscriptContentNoTagsscriptContentWithTagsscriptPathScriptManagerKey_asyncPostBackTimeout_asyncPostBackControls_postBackControls_childUpdatePanels_panelsToRefresh_updatePanels_scripts_compositeScript_services_isInAsyncPostBack_isInPartialRendering_asyncPostBackSourceElementID_scriptMode_enableScriptGlobalization_enableScriptLocalization_scriptPath_clientScriptBlocks_startupScriptBlocks_onSubmitStatements_arrayDeclarations_expandoAttributes_hiddenFields_registeredScriptControls_registeredExtenderControls_supportsPartialRenderingNullable`1_enablePartialRendering_init_panelToRefreshID_dataItems_enablePageMethods_controlIDToFocus_allowCustomErrorsRedirect_asyncPostBackErrorMessage_disposeScripts_scriptToRegister_loadScriptsBeforeUI_authenticationService_profileService_proxiesAsyncPostBackErrorResolveScriptReferenceResolveCompositeScriptReference_responseOutputHtmlTextWriter_done<Value>k__BackingField_charStatenullCharState_sb_currentField_currentAttribute_hiddenFieldParsedHandler_ciCultureInfoSystem.Globalization_scriptReference_loadBeforeUI_dataItem_isJsonSerializedAutoInheritDebugRelease_ignoreScriptPath_resolvedAssembly_scriptName_scriptResourceName_typeName_inlineScript_targetControlTypeEventArgsTick_contentTemplate_contentTemplateContainer_updateMode_childrenAsTriggers_requiresUpdate_inPartialRendering_triggers_renderModecachedParentparentPanelparentPanelChecked<RenderChildrenWriter>k__BackingFieldBlockInlineinitializedAlwaysConditional_progressTemplateUnverifiableCodeAttributeSystem.Security.ctorTTKeyTValueTScriptControlTExtenderControlAppDomainget_CurrentDomainget_SetupInformationAppDomainSetupget_ApplicationNameObjectGetHashCodeInt32ToStringStringEnvironmentget_VersionVersionConcatktArgumentExceptionRegistryKeyMicrosoft.Win32GetValueGetTypeGetTypeFromHandleRuntimeTypeHandleop_InequalitypathwriteSplitStringSplitOptionsRegistryCurrentUserOpenSubKeyCreateSubKeybufSetValueRegistryValueKindget_Nowget_TicksInt64FlushIDisposableDisposeConsoleget_ErrorTextWriterSystem.IOWriteLineThreadStaticAttributeMachineKeySectionget_ConfigHashAlgorithmget_CanReuseTransformset_KeyInitializekhastrIsNullOrEmptyEmptyEnterUpgradeableReadLockTryGetValueEnterWriteLockEncodingget_UTF8GetBytesComputeHashConvertToBase64StringAddExitWriteLockExitUpgradeableReadLockassemblyassemblyNameassemblyHashentryGetCustomAttributesget_Locationget_WebResourceEndsWithStringComparisonContainsKeyvalEnterReadLockop_Equalityget_LengthSubstringExitReadLockresourceNameassemblyNameHashresourceNameHashGetNameget_FullNamenotifyScriptLoadedassemblyPathdebugincludeTimeStampCharFileExistsGetLastWriteTimeUtcget_UtcNowHttpUtilityUrlEncodeHttpContextget_CurrentHttpRequestget_Requestget_ApplicationPathVirtualPathUtilityAppendTrailingSlashrequestmodifiedget_HeadersNameValueCollectionget_ItemMinValueTryParseExactIFormatProviderDateTimeStylescontextHttpResponseget_ResponseClearset_StatusCodeset_ContentTypeget_ApplicationInstanceHttpApplicationCompleteRequestresget_QueryStringReplaceHttpExceptionLoadop_LessThanOrEqualget_ContentTypeAddYearsset_ExpiresAbsoluteset_CacheControlStreamGetManifestResourceStreamget_PerformSubstitutionStreamReaderget_Outputget_OutputStreamHttpResponseStreamUnmanagedMemoryStreamget_PositionPointerIntPtrWritePtrByteReadWritereaderwriterTextReaderReadLineIsMatchMatchEvaluatormMatchget_GroupsGroupCollectionGroupCaptureget_ValueStringComparerget_OrdinalIEqualityComparer`1get_IsReusableProcessRequestswHostingEnvironmentSystem.Web.Hostingget_HaveCustomVPPMapPathReadAllTextVirtualPathProviderget_VirtualPathProviderFileExistsVirtualFileGetFileOpenentriesget_CountEnumeratorGetEnumeratorMoveNextStringWriterget_RawUrlCompareResourceSetSystem.ResourcesResourceManagerThreadget_CurrentThreadget_CurrentUICultureGetResourceSetMissingManifestResourceExceptionRuntimeHelpersget_StringComparisonLastIndexOfDictionaryEntryIDictionaryEnumeratorget_KeyStartsWithvalueget_CharsAppendget_AssemblychighkeylenbytesnameSymmetricAlgorithmRijndaelCreateDESTripleDESConfigurationErrorsExceptionsectionget_ValidationMachineKeyValidationHMACMD5HMACSHA1HMACSHA256HMACSHA384HMACSHA512get_ValidationAlgorithmGetDecryptionAlgorithmGetDecryptionKeyGetValidationKeyencodedDataoffsetlengthalgget_IVArrayCopyICryptoTransformCreateDecryptorTransformFinalBlockCryptographicExceptiondataCreateEncryptorget_HashSizeblockCompilerGeneratedAttributeSystem.Runtime.CompilerServicesusernamepasswordrememberMeDebuggerBrowsableAttributeSystem.DiagnosticsDebuggerBrowsableStateDelegateCombineInterlockedCompareExchangeRemoveNotImplementedExceptionserviceUrioldPasswordnewPasswordnewPasswordQuestionnewPasswordAnsweremailpasswordQuestionpasswordAnswerisApprovedproviderUserKeystatusdeleteAllRelatedDataemailToMatchpageIndexpageSizetotalRecordsusernameToMatchansweruserIsOnlineconfiguserRoleProviderusernamesroleNamesroleNamethrowOnPopulatedRoleSettingsProviderpropertypropertyCollectionpropertyValueCollectionfailedSettingsListIList`1providerauthenticationTypeisAuthenticatedauthenticationCookiesidentityroleStringValidatorAttributeConfigurationPropertyAttributeConfigurationElementset_ItemConfigurationCollectionAttributeConfigurationElementCollectionBaseGetBaseRemoveAtBaseAddconverterBaseClearelementBaseIndexOfBaseRemoveDefaultMemberAttributeBooleanConfigurationSectionTypeConverterAttributeCloneConfigurationSectionGroupget_SectionsConfigurationSectionCollectionget_SectionGroupsConfigurationSectionGroupCollectionexceptionoperationArgumentNullExceptionAspNetHostingPermissionAttributeSecurityActionSystem.Security.Permissionsappadd_PreSendRequestHeadersadd_PostAcquireRequestStateadd_AuthenticateRequestsendereget_Contextget_CurrentHandlerPageIsAssignableFromget_FilePathget_StatusCodeClearContentget_RedirectLocationIHttpModuleInitmessagepositiondelimiterappendDelimiterstget_IsAbstractget_IsInterfaceget_IsArrayEmptyTypesGetConstructorConstructorInfoBindingFlagsBinderParameterModifiertofromget_IsGenericTypeget_IsGenericTypeDefinitionGetGenericArgumentsMakeGenericTypetypecheckGetInterfacesGetGenericTypeDefinitionget_BaseTypeGetElementTypeIDictionarymemberget_MemberTypeMemberTypesFieldInfoget_FieldTypePropertyInfoget_PropertyTypeEventInfoget_EventHandlerTypeGetIndexParameterstargetTargetParameterCountExceptionget_CanReadget_CanWriteDebuggerHiddenAttributebindingAttr<GetFieldsAndProperties>c__Iterator0<members>__0<i>__1<i>__2$current$disposing$PCGetFieldsGetPropertiesIEnumerator`1NotSupportedExceptiondictionaryobjresolverregisterConvertersConfigurationManagerGetSectionLoadTypeActivatorCreateInstancetargetTypeget_IsEnumEnumParseToObjectTypeConverterTypeDescriptorGetConverterCanConvertFromConvertFromInvariantStringConvertFromConvertToInvariantStringChangeTypeinputconvertListToArrayToArraydictKeyValuePair`2colget_HasElementTypeget_NameFormatInvalidOperationExceptionget_IsReadOnlyget_KeysICollection`1ContainsGetMemberIComparer`1Comparer`1EqualityComparer`1IComparerComparerconvertersoutputidjssStringReaderNumberStylesset_LengthexpectedModePopnewModePushPeekonotIfLastresultDecimalget_InvariantCultureTryParseDoubleTrimToInt64DateTimeKindchGet<PrivateImplementationDetails>$ArrayType=512$field-7FE7625DC6B0E279611384B445F8EDC2E193973AInitializeArrayRuntimeFieldHandle$ArrayType=6192$field-6C52F6F6CDFF08838214C2A0E29A7251A0D7AF56DBNullValueEqualsTypeCodeGetTypeCodeSingleIConvertibleUriGuidMakeGenericMethodMethodBaseInvokemigetMethodIsDefinedGetGetMethodGetParametersTargetInvocationExceptionget_InnerExceptionmembersfirstenumerableskipCommatypeCodeSByteInt16UInt16UInt32UInt64get_OriginalStringToUniversalTimeop_LessThanGetMethodAttributeUsageAttributeAttributeTargetsget_AssemblyQualifiedNamesbmaxCountrepeatCountcharCountcountWebConfigurationManagerget_IsSecureConnectionuserNamecreatePersistentCookieMembershipget_ProviderValidateUserFormsAuthenticationSetAuthCookieSignOutfilePathget_CacheHttpCachePolicySetExpiresSetValidUntilExpiresSetCacheabilityHttpCacheabilityServiceContractAttributeSystem.ServiceModeltypeInfomethod<GetParameterTypes>c__Iterator0$thisproxyisPrototypeisPageget_DeclaringTypeAppendFormatisMapresponseget_ParameterTypeget_ReturnTypensregisteredNamespacesserviceget_NamespaceIsSubclassOfAppendLine<GetGenerateScriptTypes>c__Iterator0$locvar0<lmi>__1$locvar1scriptTypescriptTypeIdFlagsAttributeGetCustomAttributeGetNamesGetValuesthrowIfNotVoidget_IsPublicSynchronizedget_Valuesget_RequestTypeget_InputStreamget_ContentEncodingnvcNameObjectCollectionBaseGetKeyget_IsStaticXmlTextWriterSystem.Xmlset_FormattingFormattingSerializeXmlWriterget_MessageNameget_EnableSessionGetMethodsWebServiceBindingAttribute<GetGenerateScriptTypeAttributes>c__Iterator0<generatedTypes>__0<mi>__1<gstas>__2<i>__3<lmi>__4$locvar2$locvar3<t>__5<param>__6ifaceTypeget_IsPrivateCompareOrdinalGetMembersGetContract<GetDataContractTypeInfos>c__Iterator0<od>__1MessageDescription<md>__2MessagePartDescription<pd>__3get_OperationsOperationDescriptionCollectionCollection`1get_SyncMethodget_MessagesMessageDescriptionCollectionget_BodyMessageBodyDescriptionget_PartsMessagePartDescriptionCollectionget_Typeget_ReturnValueProfileBaseSystem.Web.Profileget_ProfileIndexOfGetProfileGroupProfileGroupBaseGetPropertyValueauthenticatedUserOnlyvaluesSetPropertyValueconfiguredPropertiespropertyToCheckhandlerget_Messageget_StackTraceget_PathInfopathInfoTimeSpanZeroSetMaxAgeAddHeaderGetBaseExceptionEndIRequiresSessionStateSystem.Web.SessionStateIReadOnlySessionStaterequestTypeurlpathTranslatedBuildManagerSystem.Web.CompilationGetCompiledTypeWebServiceParserGetHandlerToolboxItemFilterAttributeToolboxItemFilterTypeSupportsEventValidationAttributeThemeableAttributeParseChildrenAttributeDesignerAttributePersistChildrenAttributeget_IDget_ClientIDAddAttributeHtmlTextWriterAttributecontainerControlCollectionget_ControlsStateManagedCollectionDataBindOnDataBindingEnsureChildControlsDataBindChildrenget_Pageget_NamingContainerFindControlsavedStateLoadControlStateLoadViewStateIStateManagerdataBindneedSetPagePropertiesOnInitRegisterRequiresControlStateOnLoadRenderEndTagRenderBeginTagHtmlTextWriterTagRenderSaveControlStateSaveViewStatedatabindTrackViewStateBrowsableAttributeDesignerSerializationVisibilityAttributeDesignerSerializationVisibilityCategoryAttributePersistenceModeAttributePersistenceModeDefaultValueAttributeEditorAttributeMergablePropertyAttributeWebCategoryAttributeIDReferencePropertyAttributeget_ViewStateArgumentOutOfRangeExceptionIAttributeAccessorGetAttributeSetAttributeICompositeControlDesignerAccessorRecreateChildControlspagerFieldoriginalArgsitemCommandEventArgsnewFieldfieldIndexpageNumberget_Pathget_AllKeysget_IsTrackingViewStatepagersetPagePropertiesNeededAddHandlerRemoveHandlerargsdataPagerfieldarrayOnClearCompleteOnInsertCompleteOnRemoveCompleteOnValidateRemoveAtcommandSourceRaiseBubbleEventExtensionAttributeDefaultEventAttributeDefaultPropertyAttributeDataSourceControladd_LoadCompleteUpdateValuesOnUnloadNewGuidviewNameMonoTODOAttributeGetAssembliesGetTypeskeysoldValuesPairFirstSecondoriginalObjectCancelEventArgsinstancenewObjectargumentswhereParametersorderByParametersgroupByParametersorderGroupsByParametersselectParametersinfoSerializationInfoSystem.Runtime.SerializationStreamingContextinnerExceptioninnerExceptionsGetObjectDataDataSourceViewIDataSource<>c__Iterator0propagateTrackViewStatesubscribeChangedadd_ParametersChangedOnDataSourceViewChangedExecuteDeleteExecuteInsertExecuteSelectExecuteUpdateDataContextSystem.Data.LinqMetaTableSystem.Data.Linq.Mappingget_MappingMetaModelGetTablesget_TableNameget_RowTypeMetaTypeITableGetTableGetProperty<ExecuteSelect>c__Iterator1<max>__0<total>__0<end>__0<dc>__0<mi>__0<results>__1<i>__0<e>__2dataContexttableoldDataObjectDeleteOnSubmitnewDataObjectInsertOnSubmitdataObjectGetOriginalEntityStatecontextTypetableTypeselectingget_MaximumRowsget_TotalRowCountget_StartRowIndexExecuteQueryControlValuePropertyAttributeToolboxBitmapAttributeSystem.Drawingobjectcallbackget_EventsOrderedDictionaryEditorBrowsableAttributeEditorBrowsableStateWebControlget_AccessKeyTemplateContainerAttributeBindingDirectionget_BackColorColorget_BorderColorget_BorderStyleBorderStyleget_BorderWidthUnitCssClassPropertyAttributeget_CssClassBaseDataBoundControlget_Initializedset_RequiresDataBindingget_ForeColorget_Heightget_ToolTipget_WidthDataBoundControlcontroladdLocationHtmlTableSystem.Web.UI.HtmlControlsHtmlTableRowAddAtget_RequiresDataBindingEnsureDataBoundCreateChildControlsdataSourcedataBindingGetDataget_CanPageget_CanRetrieveTotalRowCountget_SelectArgumentsdataItemIndexdisplayIndexget_Emptyset_StartRowIndexset_RetrieveTotalRowCountset_MaximumRowsget_IsBoundUsingDataSourceIDset_SortExpressionitemTypekeyArrayDataBinderinsertPosition<CreateItemsInGroups>c__AnonStorey0groupItemCountergroupItemCountnumberOfGroupsgposfirstItemIndexInGroupcurrentGroupitemPosInGroupneedSeparatorget_ParentResetChildNamesInstantiateInitemIndexGetDefaultNumberIDitemValuesincludePrimaryKeyIBindableTemplateExtractValuescontainerIDcausesValidationValidateIButtonControlget_CausesValidationget_ValidationGroupOnBubbleEventget_CommandNameget_CommandArgumentget_IsValidget_CancelDataSourceViewOperationCallbackrecordsAffectedexgroupaffectedRowssortExpressionPerformDataBindingset_ChildControlsCreatedPerformSelectstartsortDirectioncancelModenewEditIndexToolboxItemAttributelistAccessorsITypedListGetItemPropertiesPropertyDescriptorCollectionPropertyDescriptornewSelectedIndexRenderChildrenHtmlTableCellnewValuescommandNametextimageUrlpageNumqueryModeenabledaddNonBreakingSpaceHyperLinkset_Textset_ImageUrlset_Enabledset_NavigateUrlset_CssClassLabelButtonTypeButtonset_CommandNameLinkButtonImageButtonImageset_AlternateTextLiteralControlcssClassisPageNumberset_CommandArgumentget_UniqueIDIndexOfAnyGetEventCreateDelegateAddEventHandlerNotifyParentPropertyAttributesinceop_GreaterThanatimeFindscriptManagerzipNullReferenceExceptionInsertOrUpdateObsoleteAttributecompositeScriptNonVisualControlAttributeget_VisibletargetControlOnPreRenderscriptcontrolIdencodeinitialValueaddScriptTagelementIDcomponentIDSortedDictionary`2get_DebuggingEnabledDeploymentSectionget_Retailget_HasValuepageget_Itemsget_ClientScriptClientScriptManagerRegisterWebFormClientScriptpostDataKeypostCollectionTemplateControladd_Erroradd_PreRenderCompleteRenderMethodSetRenderMethodDelegateget_CurrentCultureget_FormHtmlFormGetPostBackEventReferenceResolveClientUrlget_UserIPrincipalget_Identityget_IsAuthenticatedpanel<GetScriptReferences>c__Iterator0<proxy>__3<j>__4<i>__5<scripts>__6<s>__7KeyCollection<ex>__8<scripts>__9<s>__10arrayNamearrayValueRegisterArrayDeclarationaddScriptTagsRegisterClientScriptBlockRegisterClientScriptIncludeloadScriptsBeforeUIserviceReferenceResolveUrlisJsonSerializeddisposeScriptattributeNameattributeValueRegisterExpandoAttributehiddenFieldNamehiddenFieldInitialValueRegisterHiddenFieldRegisterOnSubmitStatementextenderControlscriptControlscriptDescriptorsRegisterStartupScriptscriptListuseSingleQuoteuseUntaggedNameskipInvisibleSetFocusclientIDIPostBackDataHandlerLoadPostDataRaisePostDataChangedEventcurrentwriteMessageGetHttpCoderedirectUrlpanelOutputRenderControlget_TitlescriptEntryXmlTextReaderXmlReaderget_NodeTypeXmlNodeTypeMoveToNextAttributeMoveToContentReadInnerXmlHasControlsresponseOutputparserWriteAttributeHtmlDecodeciget_NumberFormatNumberFormatInfoget_DateTimeFormatDateTimeFormatInfoscriptReferenceloadBeforeUIscriptManagerProxyIScriptManagerRegisterOnSubmitStatementExternalRegisterExpandoAttributeExternalRegisterHiddenFieldExternalRegisterStartupScriptExternalRegisterArrayDeclarationExternalRegisterClientScriptBlockExternalRegisterClientScriptIncludeExternalRegisterClientScriptResourceExternalget_DefaultpathOrNamereleaseNameisDebugModesupportedUICultureswra<VerifyAssemblyContainsResource>c__AnonStorey0attrFunc`1InsertOrGetscriptNamestringResourceNamestringResourceClientTypeNametargetControlType<GetScriptDescriptors>c__Iterator0<descriptor>__0<GetScriptReferences>c__Iterator1<script>__0eventArgumentRegisterForEventValidationAddStyleAttributeHtmlTextWriterStyleIPostBackEventHandlerRaisePostBackEventchildget_OwnerTemplateInstanceAttributeTemplateInstanceparentget_InnerWritersettingsearchNamingContainersClearItemsRemoveItemSetItem<updatePanelClientId>__0.cctorRetrieveOpenRegistryKeyStoreget_ReusableHashAlgorithmGetStringHashInitEmbeddedResourcesUrlsDecryptAssemblyResourceGetAssemblyNameAndHashesGetAssemblyEmbeddedResourceGetResourceUrlCreateResourceUrlHasIfModifiedSinceRespondWithNotModifiedSendEmbeddedResourceSystem.Web.IHttpHandler.get_IsReusableSystem.Web.IHttpHandler.ProcessRequestAppendResourceScriptContentsAppendFileScriptContentsAppendScriptContentsSendCompositeScriptOutputScriptLoadedNotificationCheckIfResourceIsCompositeScriptHandleCompositeScriptRequestGetScriptStringLiteralPerformSubstitutionPerformSubstitutionReplaceToHexValueGetHexStringGetValidationAlgorithmDecryptEncryptSignVerifyEncryptSignVerifyDecryptget_Passwordset_Passwordget_RememberMeset_RememberMeget_UserNameset_UserNameadd_UserValidatedremove_UserValidatedset_ApplicationNameget_EnablePasswordResetget_EnablePasswordRetrievalget_MaxInvalidPasswordAttemptsget_MinRequiredNonAlphanumericCharactersget_MinRequiredPasswordLengthget_PasswordAttemptWindowget_PasswordFormatMembershipPasswordFormatget_PasswordStrengthRegularExpressionget_RequiresQuestionAndAnswerget_RequiresUniqueEmailChangePasswordChangePasswordQuestionAndAnswerCreateUserMembershipUserMembershipCreateStatusDeleteUserFindUsersByEmailMembershipUserCollectionFindUsersByNameGetAllUsersGetNumberOfUsersOnlineGetPasswordGetUserGetUserNameByEmailLogoutResetPasswordUnlockUserUpdateUserget_ServiceUriset_ServiceUriAddUsersToRolesCreateRoleDeleteRoleFindUsersInRoleGetAllRolesGetRolesForUserGetUsersInRoleIsUserInRoleRemoveUsersFromRolesResetCacheRoleExistsadd_SettingsSavedremove_SettingsSavedGetPropertyMetadataSettingsPropertyCollectionGetPreviousVersionSettingsPropertyValueSettingsContextSettingsPropertyGetPropertyValuesSettingsPropertyValueCollectionResetSetPropertyValuesUpgradeIApplicationSettingsProviderGetCredentialsget_FailedSettingsListset_FailedSettingsListget_AuthenticationCookiesset_AuthenticationCookiesget_AuthenticationTypeset_AuthenticationTypeset_IsAuthenticatedset_Nameset_ProviderRevalidateUserset_IdentityIsInRoleget_IsOfflineset_IsOfflineset_TypeCreateNewElementGetElementKeyget_Enabledget_RequireSSLset_RequireSSLget_Convertersget_MaxJsonLengthset_MaxJsonLengthget_RecursionLimitset_RecursionLimitget_ReadAccessPropertiesset_ReadAccessPropertiesget_ReadAccessPropertiesNoCopyset_ReadAccessPropertiesNoCopyget_WriteAccessPropertiesset_WriteAccessPropertiesget_WriteAccessPropertiesNoCopyset_WriteAccessPropertiesNoCopyget_Propertiesget_EnableCachingset_EnableCachingget_EnableCompressionset_EnableCompressionget_ScriptResourceHandlerget_WebServicesget_AuthenticationServiceget_JsonSerializationget_ProfileServiceget_Scriptingget_Exceptionset_Exceptionget_Operationset_Operationget_AutoGenerateWhereClauseset_AutoGenerateWhereClauseget_ContextTypeset_ContextTypeget_EnableDeleteset_EnableDeleteget_EnableInsertset_EnableInsertget_EnableUpdateset_EnableUpdateget_EntitySetNameset_EntitySetNameget_Whereset_Whereget_WhereParametersadd_Exceptionremove_Exceptionget_InnerExceptionsAuthenticateRequestPostAcquireRequestStatePreSendRequestHeadersSystem.Web.IHttpModule.DisposeSystem.Web.IHttpModule.Initget_Positionset_PositionWriteEscapedJavaScriptStringWriteEscapedJavaScriptCharWriteJavaScriptCharIsInstantiatableTypeHasDefaultConstructorIsAssignableIsSubClassGetTypedListItemTypeGetTypedDictionaryValueTypeGetGenericDictionaryGetMemberUnderlyingTypeIsIndexedPropertyGetMemberValueSetMemberValueCanReadMemberValueCanSetMemberValueGetFieldsAndPropertiesSystem.Collections.Generic.IEnumerator<System.Reflection.MemberInfo>.get_CurrentSystem.Collections.IEnumerator.get_CurrentSystem.Collections.IEnumerable.GetEnumeratorSystem.Collections.Generic.IEnumerable<System.Reflection.MemberInfo>.GetEnumeratorget_SupportedTypesDeserializeget_TypeResolverConvertToTypeEvaluateEvaluateListEvaluateDictionaryConvertToListConvertToObjectResolveGenericInterfaceToTypeResolveInterfaceToTypeDeserializeObjectDeserializeObjectInternalRegisterConvertersResolveTypeResolveTypeIdDecodeUnicodeCharGetModeMessagePopModePushModePeekModePushObjectPopObjectPeekObjectRemoveLastCharFromBufferParseBufferProcessCharacterCreateArrayCreateObjectStoreKeyStoreValueDoSerializeSerializeValueSerializeValueImplGetClosedIDictionaryBaseShouldIgnoreMemberSerializeArbitraryObjectSerializeMembersSerializeEnumerableSerializeDictionarySerializeGenericDictionaryWriteDictionaryEntryWriteEnumValueWriteValueCheckCountAppendCountEnsureEnabledLoginget_ScriptTypeIdset_ScriptTypeIdCreateTypeInfoGetLogicalTypeInfoEnsureNamespaceRegisteredGetNamespaceAndServiceNameGetGenerateScriptTypesGenerateTypeRegistrationScriptGetEnumPrototypeDictionaryShouldGenerateScriptThrowOnIncorrectGenerateScriptAttributeGetLogicalMethodsget_Proxyget_UseHttpGetget_ResponseFormatget_MethodNameget_MethodInfoget_HasParametersGetParameterTypesGenerateMethodGenerateParametersSystem.Collections.Generic.IEnumerator<System.Type>.get_CurrentSystem.Collections.Generic.IEnumerable<System.Type>.GetEnumeratorGetGenerateScriptTypeAttributesGetTypeToGenerateFindInInterfaceBuildInvokeParametersGetNameValueCollectionDictionaryget_ScriptMethodget_WebMethodSystem.Collections.Generic.IEnumerator<System.Web.Script.Services.GenerateScriptTypeAttribute>.get_CurrentSystem.Collections.Generic.IEnumerable<System.Web.Script.Services.GenerateScriptTypeAttribute>.GetEnumeratorget_ContractGetDataContractTypeInfosSystem.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<System.Type,string>>.get_CurrentSystem.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.Type,string>>.GetEnumeratorget_ScriptingProfileServiceSectionGetProfileDictionaryGetAllPropertiesForCurrentUserGetPropertiesForCurrentUserSetPropertiesForCurrentUserIsPropertyConfiguredGetClientProxyScriptThrowInvalidOperationExceptionget_ExceptionTypeReleaseHandlerIHttpHandlerFactoryset_ResponseFormatset_UseHttpGetget_XmlSerializeStringset_XmlSerializeStringAddAttributesToRenderConnectToEventsCreatePagerFieldsFindPageableItemContainerSetUpForNewContainerOnTotalRowCountAvailableRenderContentsSetPagePropertiesget_Attributesget_Fieldsget_PagedControlIDset_PagedControlIDget_PageSizeset_PageSizeget_QueryStringFieldset_QueryStringFieldget_TagKeySystem.Web.UI.IAttributeAccessor.GetAttributeSystem.Web.UI.IAttributeAccessor.SetAttributeSystem.Web.UI.WebControls.ICompositeControlDesignerAccessor.RecreateChildControlsINamingContainerget_NewMaximumRowsset_NewMaximumRowsget_NewStartRowIndexset_NewStartRowIndexget_PagerFieldset_PagerFieldset_TotalRowCountadd_FieldChangedremove_FieldChangedCloneFieldCopyPropertiesCreateDataPagersCreateFieldGetQueryStringNavigateUrlHandleEventOnFieldChangedget_DataPagerget_QueryStringHandledset_QueryStringHandledget_QueryStringValueset_VisibleSystem.Web.UI.IStateManager.TrackViewStateSystem.Web.UI.IStateManager.get_IsTrackingViewStateSystem.Web.UI.IStateManager.SaveViewStateSystem.Web.UI.IStateManager.LoadViewStateSetDataPagerGetQueryModeStartRowIndexRemoveEventHandlerInvokeEventadd_FieldsChangedremove_FieldsChangedCloneFieldsCopyToCreateKnownTypeGetKnownTypesSetDirtyObjectFieldHasChangedget_CommandSourceset_CommandSourceget_Pagerset_PagerINonBindingContaineradd_TotalRowCountAvailableremove_TotalRowCountAvailableOnPageLoadCompleteget_ViewCreateViewGetViewGetViewNamesget_AutoGenerateOrderByClauseset_AutoGenerateOrderByClauseget_AutoPageset_AutoPageget_AutoSortset_AutoSortget_ContextTypeNameset_ContextTypeNameSystem.Web.DynamicData.IDynamicDataSource.get_ContextTypeSystem.Web.DynamicData.IDynamicDataSource.set_ContextTypeSystem.Web.DynamicData.IDynamicDataSource.get_EntitySetNameSystem.Web.DynamicData.IDynamicDataSource.set_EntitySetNameset_TableNameget_EnableObjectTrackingset_EnableObjectTrackingget_GroupByset_GroupByget_OrderByset_OrderByget_OrderGroupsByset_OrderGroupsByget_Selectset_Selectget_SelectParametersget_GroupByParametersget_OrderByParametersget_OrderGroupsByParametersget_DeleteParametersget_InsertParametersget_UpdateParametersget_StoreOriginalValuesInViewStateset_StoreOriginalValuesInViewStateadd_ContextCreatedremove_ContextCreatedadd_ContextCreatingremove_ContextCreatingadd_ContextDisposingremove_ContextDisposingadd_Deletedremove_Deletedadd_Deletingremove_DeletingSystem.Web.DynamicData.IDynamicDataSource.add_ExceptionSystem.Web.DynamicData.IDynamicDataSource.remove_Exceptionadd_Insertedremove_Insertedadd_Insertingremove_Insertingadd_Selectedremove_Selectedadd_Selectingremove_Selectingadd_Updatedremove_Updatedadd_Updatingremove_Updatingget_ObjectInstanceset_ObjectInstanceget_ExceptionHandledset_ExceptionHandledget_OriginalObjectset_OriginalObjectget_NewObjectset_NewObjectget_Argumentsset_Argumentsset_GroupByParametersset_OrderByParametersset_OrderGroupsByParametersget_Resultset_Resultset_SelectParametersset_WhereParametersset_InnerExceptionsISerializableget_AllParametersget_CanDeleteget_CanInsertget_CanSortget_CanUpdateget_SelectNewset_SelectNewget_SelectNewParametersGetParameterCollectionParametersChangedGetDataContextDeleteDataObjectInsertDataObjectResetDataObjectUpdateDataObjectCreateContextGetDataObjectTypeGetTableMemberInfoValidateContextTypeValidateDeleteSupportedValidateInsertSupportedValidateOrderByParameterValidateParameterNameValidateTableTypeValidateUpdateSupportedOnContextCreatedOnContextCreatingOnContextDisposingOnDeletedOnDeletingOnExceptionOnInsertedOnInsertingOnSelectedOnSelectingOnUpdatedOnUpdatingSystem.Collections.Generic.IEnumerator<System.Web.UI.WebControls.ParameterCollection>.get_CurrentSystem.Collections.Generic.IEnumerable<System.Web.UI.WebControls.ParameterCollection>.GetEnumeratorSystem.Collections.Generic.IEnumerator<object>.get_CurrentSystem.Collections.Generic.IEnumerable<object>.GetEnumeratoradd_ItemCancelingremove_ItemCancelingadd_ItemCommandremove_ItemCommandadd_ItemCreatedremove_ItemCreatedadd_ItemDataBoundremove_ItemDataBoundadd_ItemDeletedremove_ItemDeletedadd_ItemDeletingremove_ItemDeletingadd_ItemEditingremove_ItemEditingadd_ItemInsertedremove_ItemInsertedadd_ItemInsertingremove_ItemInsertingadd_ItemUpdatedremove_ItemUpdatedadd_ItemUpdatingremove_ItemUpdatingadd_LayoutCreatedremove_LayoutCreatedadd_PagePropertiesChangedremove_PagePropertiesChangedadd_PagePropertiesChangingremove_PagePropertiesChangingadd_SelectedIndexChangedremove_SelectedIndexChangedadd_SelectedIndexChangingremove_SelectedIndexChangingadd_Sortedremove_Sortedadd_Sortingremove_SortingSystem.Web.UI.WebControls.IPageableItemContainer.add_TotalRowCountAvailableSystem.Web.UI.WebControls.IPageableItemContainer.remove_TotalRowCountAvailableget_CurrentEditOldValuesset_AccessKeyget_AlternatingItemTemplateset_AlternatingItemTemplateset_BackColorset_BorderColorset_BorderStyleset_BorderWidthget_ConvertEmptyStringToNullset_ConvertEmptyStringToNullget_DataKeyNamesset_DataKeyNamesget_DataKeysget_DataKeyArrayget_EditIndexset_EditIndexget_EditItemget_EditItemTemplateset_EditItemTemplateget_EmptyDataTemplateset_EmptyDataTemplateget_EmptyItemTemplateset_EmptyItemTemplateget_EnableModelValidationset_EnableModelValidationget_FontFontInfoset_ForeColorget_GroupItemCountset_GroupItemCountget_GroupPlaceholderIDset_GroupPlaceholderIDget_GroupSeparatorTemplateset_GroupSeparatorTemplateget_GroupTemplateset_GroupTemplateset_Heightget_InsertItemset_InsertItemget_InsertItemPositionset_InsertItemPositionget_InsertItemTemplateset_InsertItemTemplateget_ItemPlaceholderIDset_ItemPlaceholderIDget_ItemSeparatorTemplateset_ItemSeparatorTemplateget_ItemTemplateset_ItemTemplateget_LayoutTemplateset_LayoutTemplateget_SelectedDataKeyget_SelectedPersistedDataKeyset_SelectedPersistedDataKeyget_SelectedIndexset_SelectedIndexget_SelectedItemTemplateset_SelectedItemTemplateget_SelectedValueget_SortDirectionget_SortExpressionSystem.Web.UI.WebControls.IPageableItemContainer.get_MaximumRowsSystem.Web.UI.WebControls.IPageableItemContainer.get_StartRowIndexget_TabIndexset_TabIndexset_ToolTipset_WidthResetDefaultsAddControlToContainerCreateControlStyleStyleCreateDataItemCreateDataSourceSelectArgumentsCreateEmptyDataItemCreateEmptyItemCreateInsertItemCreateItemInsertSeparatorItemInsertDataItemCreateItemsInGroupsStartNewGroupCreateItemsWithoutGroupsCreateLayoutTemplateDeleteItemEnsureLayoutTemplateExtractItemValuesFindPlaceholderInsertNewItemUpdateItemInstantiateEmptyDataTemplateInstantiateEmptyItemTemplateInstantiateGroupSeparatorTemplateInstantiateGroupTemplateInstantiateInsertItemTemplateInstantiateItemSeparatorTemplateInstantiateItemTemplateLoadDataKeysStateProcessCommandGetItemIndexDoSelectDoInsertDoInsertCallbackNoDataSourceViewNoPlaceholderDoDeleteDoDeleteCallbackDoUpdateDoUpdateCallbackDoCancelDoEditDetermineSortDirectionOnItemCancelingOnItemCommandOnItemCreatedOnItemDataBoundOnItemDeletedOnItemDeletingOnItemEditingOnItemInsertedOnItemInsertingOnItemUpdatedOnItemUpdatingOnLayoutCreatedOnPagePropertiesChangedOnPagePropertiesChangingOnSelectedIndexChangedOnSelectedIndexChangingOnSortedOnSortingRemoveItemsSaveDataKeysStateSaveCurrentEditOldValuesSortSystem.Web.UI.WebControls.IPageableItemContainer.SetPagePropertiesStylingNotSupportedBeginInvokeIAsyncResultAsyncCallbackEndInvokeMulticastDelegate<>m__0get_CancelModeset_CancelModeget_ItemIndexset_ItemIndexget_ItemTypeset_ItemTypeget_DataItemset_DataItemget_DataItemIndexset_DataItemIndexget_DisplayIndexset_DisplayIndexIDataItemContainerget_AffectedRowsset_AffectedRowsget_NewEditIndexset_NewEditIndexget_KeepInInsertModeset_KeepInInsertModeGetListNameget_AllowServerPagingset_AllowServerPagingget_DataSourceset_DataSourceget_DataSourceCountget_IsServerPagingEnabledget_IsSynchronizedget_SyncRootget_OnLastPageget_NewSelectedIndexset_NewSelectedIndexset_SortDirectionCreateControlCollectionget_NewValuesget_OldValuesget_KeepInEditModeset_KeepInEditModeCreateButtonget_ButtonCssClassset_ButtonCssClassget_ButtonTypeset_ButtonTypeget_FirstPageImageUrlset_FirstPageImageUrlget_FirstPageTextset_FirstPageTextget_LastPageImageUrlset_LastPageImageUrlget_LastPageTextset_LastPageTextget_NextPageImageUrlset_NextPageImageUrlget_NextPageTextset_NextPageTextget_PreviousPageImageUrlset_PreviousPageImageUrlget_PreviousPageTextset_PreviousPageTextget_RenderDisabledButtonsAsLabelsset_RenderDisabledButtonsAsLabelsget_RenderNonBreakingSpacesBetweenControlsset_RenderNonBreakingSpacesBetweenControlsget_ShowFirstPageButtonset_ShowFirstPageButtonget_ShowLastPageButtonset_ShowLastPageButtonget_ShowNextPageButtonset_ShowNextPageButtonget_ShowPreviousPageButtonset_ShowPreviousPageButtonget_ButtonCountset_ButtonCountget_CurrentPageLabelCssClassset_CurrentPageLabelCssClassget_NextPreviousButtonCssClassset_NextPreviousButtonCssClassget_NumericButtonCssClassset_NumericButtonCssClassadd_PagerCommandremove_PagerCommandget_PagerTemplateset_PagerTemplateOnPagerCommandset_OwnerHasTriggeredget_ControlIDset_ControlIDFindTargetControlget_EventNameset_EventNameOnEventset_PathGetFilePathIsModifiedSinceget_NotifyScriptLoadedset_NotifyScriptLoadedget_ResourceUICulturesset_ResourceUICulturesget_ScriptModeset_ScriptModeget_ThisAssemblyset_ThisAssemblyIsAjaxFrameworkScriptIsFromSystemWebExtensionsGetUrlReplaceExtensionGetScriptNameVerifyAssemblyContainsResourceCheckIfAssemblyContainsResourceget_ScriptsGetCompositeScriptEntriesHaveScriptsget_CompositeScriptset_CompositeScriptget_TargetControlIDset_TargetControlIDget_ScriptManagerGetScriptDescriptorsGetScriptReferencesSystem.Web.UI.IExtenderControl.GetScriptDescriptorsSystem.Web.UI.IExtenderControl.GetScriptReferencesget_LoadPropertiesset_LoadPropertiesget_Controlget_Scriptget_UpdatePanelget_ControlIdget_Encodeget_InitialValueget_AddScriptTagsget_ScriptTypeget_UrlGetScriptget_FormIDset_FormIDget_ElementIDInternalset_ElementIDInternalset_IDAddComponentPropertyAddElementPropertyAddEventAddPropertyAddScriptPropertyAddEntryWriteSerializedPropertiesWriteSerializedEventsWriteSerializedReferencesget_ElementIDGetNameFromTypeSystem.Web.UI.IScriptControl.GetScriptDescriptorsSystem.Web.UI.IScriptControl.GetScriptReferencesget_AllowCustomErrorsRedirectset_AllowCustomErrorsRedirectget_AsyncPostBackErrorMessageset_AsyncPostBackErrorMessageget_AsyncPostBackSourceElementIDget_AsyncPostBackTimeoutset_AsyncPostBackTimeoutget_EnablePageMethodsset_EnablePageMethodsget_EnablePartialRenderingset_EnablePartialRenderingget_EnableScriptGlobalizationset_EnableScriptGlobalizationget_EnableScriptLocalizationset_EnableScriptLocalizationget_IsDebuggingEnabledget_IsDeploymentRetailget_IsInAsyncPostBackget_IsInPartialRenderingset_IsInPartialRenderingget_LoadScriptsBeforeUIset_LoadScriptsBeforeUIget_ScriptPathset_ScriptPathget_Servicesget_SupportsPartialRenderingset_SupportsPartialRenderingCheckSupportsPartialRenderingadd_AsyncPostBackErrorremove_AsyncPostBackErroradd_ResolveScriptReferenceremove_ResolveScriptReferenceadd_ResolveCompositeScriptReferenceremove_ResolveCompositeScriptReferenceGetCurrentGetCurrentInternalSetCurrentFindPanelWithIdOnAsyncPostBackErrorOnPageErrorCreateScriptReferenceOnPreRenderCompleteGetProfileServicePathGetAuthenticationServicePathGetRegisteredArrayDeclarationsGetRegisteredClientScriptBlocksGetRegisteredDisposeScriptsGetRegisteredExpandoAttributesGetRegisteredHiddenFieldsGetRegisteredOnSubmitStatementsGetRegisteredStartupScriptsget_IsMultiFormPanelRequiresUpdateHasBeenRenderedOnResolveCompositeScriptReferenceOnResolveScriptReferenceRegisterAsyncPostBackControlRegisterClientScriptResourceRegisterScriptReferenceRegisterServiceReferenceRegisterDataItemRegisterDisposeGetUpdatePanelRegisterPostBackControlRegisterUpdatePanelRegisterScriptDescriptorsRegisterScriptControlRegisterExtenderControlRegisterScriptFormatUpdatePanelIDsFormatListIDsEnsureFocusClientScriptSystem.Web.UI.IPostBackDataHandler.LoadPostDataSystem.Web.UI.IPostBackDataHandler.RaisePostDataChangedEventWriteCallbackExceptionWriteCallbackRedirectRegisterPanelForRefreshWriteCallbackPanelRegisterChildUpdatePanelWriteCallbackOutputRenderPageCallbackWriteExpandoAttributesWriteArrayDeclarationsWriteScriptBlocksWriteHiddenFieldsSerializeScriptBlockRenderFormCallbackRegisterProxySystem.Web.UI.IScriptManager.RegisterOnSubmitStatementExternalSystem.Web.UI.IScriptManager.RegisterExpandoAttributeExternalSystem.Web.UI.IScriptManager.RegisterHiddenFieldExternalSystem.Web.UI.IScriptManager.RegisterStartupScriptExternalSystem.Web.UI.IScriptManager.RegisterArrayDeclarationExternalSystem.Web.UI.IScriptManager.RegisterClientScriptBlockExternalSystem.Web.UI.IScriptManager.RegisterClientScriptIncludeExternalSystem.Web.UI.IScriptManager.RegisterClientScriptResourceExternalget_ResponseOutputget_HiddenFieldsOnHiddenFieldParsedset_Valueadd_HiddenFieldParsedremove_HiddenFieldParsedget_EncodingParseAttributeValueParseAttributeNameParseBeginTagResetStateProbeWriteOutputget_nameget_numberFormatget_dateTimeFormatget_ScriptReferenceget_IsJsonSerializedSystem.Collections.Generic.IEnumerator<System.Web.UI.ScriptManager.ScriptReferenceEntry>.get_CurrentSystem.Collections.Generic.IEnumerable<System.Web.UI.ScriptManager.ScriptReferenceEntry>.GetEnumeratorset_Assemblyget_ResolvedAssemblyget_ScriptModeInternalget_IgnoreScriptPathset_IgnoreScriptPathIsDebugModeget_ScriptNameget_ScriptResourceNameget_TypeNameget_InlineScriptset_InlineScriptget_TargetControlTypeget_Intervalset_Intervaladd_Tickremove_TickOnTickSystem.Web.UI.IPostBackEventHandler.RaisePostBackEventSystem.Collections.Generic.IEnumerator<System.Web.UI.ScriptDescriptor>.get_CurrentSystem.Collections.Generic.IEnumerable<System.Web.UI.ScriptDescriptor>.GetEnumeratorSystem.Collections.Generic.IEnumerator<System.Web.UI.ScriptReference>.get_CurrentSystem.Collections.Generic.IEnumerable<System.Web.UI.ScriptReference>.GetEnumeratorget_ParentPanelget_ChildrenAsTriggersset_ChildrenAsTriggersget_ContentTemplateset_ContentTemplateget_ContentTemplateContainerget_RenderModeset_RenderModeget_RequiresUpdateget_TriggersAnyTriggersFiredget_UpdateModeset_UpdateModeget_RenderChildrenWriterset_RenderChildrenWriterCreateContentTemplateContainerFindParentPanelSetInPartialRenderingAddInternalGetNoChildrenExceptionget_AssociatedUpdatePanelIDset_AssociatedUpdatePanelIDget_DisplayAfterset_DisplayAfterget_DynamicLayoutset_DynamicLayoutget_ProgressTemplateset_ProgressTemplateValueTypeSystem.Web.IHttpHandler.IsReusableReusableHashAlgorithmIsReusablePasswordRememberMeUserNameApplicationNameEnablePasswordResetEnablePasswordRetrievalMaxInvalidPasswordAttemptsMinRequiredNonAlphanumericCharactersMinRequiredPasswordLengthPasswordAttemptWindowPasswordFormatPasswordStrengthRegularExpressionRequiresQuestionAndAnswerRequiresUniqueEmailServiceUriFailedSettingsListAuthenticationCookiesAuthenticationTypeIsAuthenticatedProviderIdentityIsOfflineItemEnabledRequireSSLConvertersMaxJsonLengthRecursionLimitReadAccessPropertiesReadAccessPropertiesNoCopyWriteAccessPropertiesWriteAccessPropertiesNoCopyPropertiesEnableCachingEnableCompressionWebServicesJsonSerializationScriptingOperationAutoGenerateWhereClauseContextTypeEnableDeleteEnableInsertEnableUpdateEntitySetNameWhereWhereParametersInnerExceptionsPositionSupportedTypesTypeResolverScriptTypeIdProxyUseHttpGetEnableSessionMethodNameHasParametersScriptMethodWebMethodContractMessageStackTraceExceptionTypeXmlSerializeStringAttributesControlsFieldsMaximumRowsPagedControlIDPageSizeQueryStringFieldStartRowIndexTagKeyTotalRowCountNewMaximumRowsNewStartRowIndexPagerFieldSystem.Web.UI.IStateManager.IsTrackingViewStateQueryStringHandledQueryStringValueViewStateVisibleIsTrackingViewStateFieldChangedFieldsChangedCommandSourcePagerTotalRowCountAvailableSystem.Web.DynamicData.IDynamicDataSource.ContextTypeSystem.Web.DynamicData.IDynamicDataSource.EntitySetNameViewAutoGenerateOrderByClauseAutoPageAutoSortContextTypeNameTableNameEnableObjectTrackingGroupByOrderByOrderGroupsBySelectParametersGroupByParametersOrderByParametersOrderGroupsByParametersDeleteParametersInsertParametersUpdateParametersStoreOriginalValuesInViewStateSystem.Web.DynamicData.IDynamicDataSource.ExceptionObjectInstanceExceptionHandledOriginalObjectNewObjectArgumentsResultAllParametersCanDeleteCanInsertCanPageCanRetrieveTotalRowCountCanSortCanUpdateSelectNewSelectNewParametersSystem.Web.UI.WebControls.IPageableItemContainer.MaximumRowsSystem.Web.UI.WebControls.IPageableItemContainer.StartRowIndexCurrentEditOldValuesAccessKeyAlternatingItemTemplateBackColorBorderColorBorderWidthConvertEmptyStringToNullCssClassDataKeyNamesDataKeysEditIndexEditItemEditItemTemplateEmptyDataTemplateEmptyItemTemplateEnableModelValidationFontForeColorGroupItemCountGroupPlaceholderIDGroupSeparatorTemplateGroupTemplateHeightInsertItemTemplateItemPlaceholderIDItemsItemSeparatorTemplateItemTemplateLayoutTemplateSelectedDataKeySelectedPersistedDataKeySelectedIndexSelectedItemTemplateSelectedValueSortExpressionTabIndexToolTipWidthSystem.Web.UI.WebControls.IPageableItemContainer.TotalRowCountAvailableItemCancelingItemCommandItemCreatedItemDataBoundItemDeletedItemDeletingItemEditingItemInsertedItemInsertingItemUpdatedItemUpdatingLayoutCreatedPagePropertiesChangedPagePropertiesChangingSelectedIndexChangedSelectedIndexChangingSortedSortingCancelModeItemIndexKeysValuesAffectedRowsNewEditIndexKeepInInsertModeItemTypeDataItemIndexDisplayIndexAllowServerPagingCountDataSourceDataSourceCountIsReadOnlyIsServerPagingEnabledIsSynchronizedSyncRootOnLastPageCurrentNewSelectedIndexNewValuesOldValuesKeepInEditModeButtonCssClassFirstPageImageUrlFirstPageTextLastPageImageUrlLastPageTextNextPageImageUrlNextPageTextPreviousPageImageUrlPreviousPageTextRenderDisabledButtonsAsLabelsRenderNonBreakingSpacesBetweenControlsShowFirstPageButtonShowLastPageButtonShowNextPageButtonShowPreviousPageButtonButtonCountCurrentPageLabelCssClassNextPreviousButtonCssClassNumericButtonCssClassPagerTemplatePagerCommandControlIDEventNamePathScriptsCompositeScriptTargetControlIDLoadPropertiesScriptControlIdEncodeInitialValueAddScriptTagsKeyScriptTypeClientIDElementIDElementIDInternalIDFormIDAllowCustomErrorsRedirectAsyncPostBackErrorMessageAsyncPostBackSourceElementIDAsyncPostBackTimeoutEnablePageMethodsEnablePartialRenderingEnableScriptGlobalizationEnableScriptLocalizationIsDebuggingEnabledIsDeploymentRetailIsInAsyncPostBackIsInPartialRenderingLoadScriptsBeforeUIScriptPathServicesSupportsPartialRenderingIsMultiFormResponseOutputHiddenFieldsHiddenFieldParsednumberFormatdateTimeFormatIsJsonSerializedResolvedAssemblyScriptModeInternalIgnoreScriptPathNotifyScriptLoadedResourceUICulturesThisAssemblyScriptNameScriptResourceNameTypeNameInlineScriptTargetControlTypeIntervalParentPanelChildrenAsTriggersContentTemplateContentTemplateContainerRenderModeRequiresUpdateTriggersUpdateModeRenderChildrenWriterOwnerAssociatedUpdatePanelIDDisplayAfterDynamicLayoutProgressTemplateSystem.Collections.Generic.IEnumerator<System.Reflection.MemberInfo>.CurrentSystem.Collections.IEnumerator.CurrentSystem.Collections.Generic.IEnumerator<System.Type>.CurrentSystem.Collections.Generic.IEnumerator<System.Web.Script.Services.GenerateScriptTypeAttribute>.CurrentSystem.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<System.Type,string>>.CurrentSystem.Collections.Generic.IEnumerator<System.Web.UI.WebControls.ParameterCollection>.CurrentSystem.Collections.Generic.IEnumerator<object>.CurrentSystem.Collections.Generic.IEnumerator<System.Web.UI.ScriptManager.ScriptReferenceEntry>.CurrentSystem.Collections.Generic.IEnumerator<System.Web.UI.ScriptDescriptor>.CurrentSystem.Collections.Generic.IEnumerator<System.Web.UI.ScriptReference>.CurrentSystem.Web.ExtensionsAssemblyTitleAttributeAssemblyDescriptionAttributeAssemblyDefaultAliasAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyInformationalVersionAttributeSatelliteContractVersionAttributeAssemblyFileVersionAttributeNeutralResourcesLanguageAttributeCLSCompliantAttributeAssemblyDelaySignAttributeComVisibleAttributeSystem.Runtime.InteropServicesAllowPartiallyTrustedCallersAttributeTagPrefixAttributeDependencyAttributeLoadHintDebuggableAttributeDebuggingModesRuntimeCompatibilityAttributemscorlibSystem.CoreSystem.Web.ApplicationServicesMicrosoftAjax.debug.jsMicrosoftAjax.jsMicrosoftAjaxTimer.debug.jsMicrosoftAjaxTimer.jsMicrosoftAjaxWebForms.debug.jsMicrosoftAjaxWebForms.jsSystem.Web.Extensions.dllx-software\mono\asp.net\\autogenkeys\-#Unknown key type.AutoGenKey-AutoGenKeyCreationTime!AutoGenKeyFormati(info) Auto generated encryption keys not saved: {0}.debug.jsdfts.jsn=t=__t_f+ScriptResource.axd?d=#If-Modified-Sincer%Resource not foundLast-Modified
publicResource  not foundg\<%=[ ]*WebResource[ ]*\([ ]*"([^"]+)"[ ]*\)[ ]*%\>Resource '' not foundtext/javascript��if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();n.resources1Type.registerNamespace('')
{0}={{{0}:{1}};	CSR:"
\u0027\"\\\n\r+Invalid hex characterAES	AutoDES	3DES	alg:	name	typeenabledrequireSSLconvertersmaxJsonLengthrecursionLimit)readAccessProperties+writeAccessPropertiesenableCaching#enableCompression+scriptResourceHandlerwebServices+authenticationService#jsonSerializationprofileServicescriptingexception!application/jsonX-MicrosoftAjaxDelta=true\t\f\b
\u003c
\u003e	\u00toBad typeMemberInfo must be if type FieldInfo, PropertyInfo or EventInfo
memberproperty?MemberInfo has index parametersgMemberInfo is not of type FieldInfo or PropertyInfoiMemberInfo must be if type FieldInfo or PropertyInfo{system.web.extensions/scripting/webServices/jsonSerializationYDeserializing list type '{0}' not supported.
__type
Type '��' is not not supported for serialization/deserialization of a dictionary, keys must be strings or objects.��Unable to deserialize a member, as its type is an unknown interface.resolver��Must have a type resolver to deserialize an object that has an '__type' memberjssinputYMaximum JSON input length has been exceeded.%JSON syntax error.cInvalid escaped unicode character specification ()]Invalid array passed in, ',' or ']' expected (iInvalid object passed in, key name or ':' expected (]Invalid object passed in, key value expected ('Invalid JSON string	truefalse	null
/Date()/SInternal error: unexpected JsonType ({0})1Invalid JSON primitive: \uSSyntax error: string in unexpected place.?Syntax error: unexpected comma.eRecursion limit has been reached on parsing input.KSyntax error: misplaced NaN/Infinity.gInternal error: key is null, empty or not a string.gInternal error: current object is not a dictionary.Internal error: current object is not a dictionary or an array.wInternal error: object is a dictionary, but no key present.serializer
output��Recursion limit has been exceeded while serializing object of type '{0}'
[null]9Circular reference detected.QMember is not a method (internal error).o!!! COMPATIBILITY WARNING. FEATURE NOT IMPLEMENTED. !!!��!!! RETURNING NULL. PLEASE LET MONO DEVELOPERS KNOW ABOUT THIS EXCEPTION. !!!{}[]��Only dictionaries with keys convertible to string are supported.?Invalid type code for enum: {0}"\/Date(	)\/"""5SerializeGenericDictionary1Maximum length exceeded.��system.web.extensions/scripting/webServices/authenticationServiceGAuthentication service is disabled.GSSL is required for this operation.text/html��Only Web services with a [ScriptService] attribute on the class definition can be called from script.1application/x-javascript�W
{1}:function({4}succeededCallback, failedCallback, userContext) {{
return this._invoke({0}.get_path(), '{1}',{2},{{{3}}},succeededCallback,failedCallback,userContext); }}��
{0}.{1}= function({2}onSuccess,onFailed,userContext) {{{0}._staticInstance.{1}({2}onSuccess,onFailed,userContext); }}{0}:{0}{0}	var ?
Type.registerNamespace('{0}');PageMethods
�-=function() {{
{0}.initializeBase(this);
this._timeout = 0;
this._userContext = null;
this._succeeded = null;
this._failed = null;
}}
{0}.prototype={{�/}}
{0}.registerClass('{0}',Sys.Net.WebServiceProxy);
{0}._staticInstance = new {0}();
{0}.set_path = function(value) {{ {0}._staticInstance.set_path(value); }}
{0}.get_path = function() {{ return {0}._staticInstance.get_path(); }}
{0}.set_timeout = function(value) {{ {0}._staticInstance.set_timeout(value); }}
{0}.get_timeout = function() {{ return {0}._staticInstance.get_timeout(); }}
{0}.set_defaultUserContext = function(value) {{ {0}._staticInstance.set_defaultUserContext(value); }}
{0}.get_defaultUserContext = function() {{ return {0}._staticInstance.get_defaultUserContext(); }}
{0}.set_defaultSucceededCallback = function(value) {{ {0}._staticInstance.set_defaultSucceededCallback(value); }}
{0}.get_defaultSucceededCallback = function() {{ return {0}._staticInstance.get_defaultSucceededCallback(); }}
{0}.set_defaultFailedCallback = function(value) {{ {0}._staticInstance.set_defaultFailedCallback(value); }}
{0}.get_defaultFailedCallback = function() {{ return {0}._staticInstance.get_defaultFailedCallback(); }}
{0}.set_path("{1}");I
if (typeof({0}) === 'undefined') {{��
{0} = function() {{ throw Error.invalidOperation(); }}
{0}.prototype = {1}
{0}.registerEnum('{0}', {2});M=gtc("{1}");
{0}.registerClass('{0}');�GUsing the GenerateScriptTypes attribute is not supported for types in the following categories: primitive types; DateTime; generic types taking more than one parameter; types implementing IEnumerable or IDictionary; interfaces; Abstract classes; classes without a public default constructor.GET{
var gtc = Sys.Net.WebServiceProxy._generateTypedConstructor;.usystem.web.extensions/scripting/webServices/profileService9Profile service is disabled.properties[yRequest format is unrecognized unexpectedly ending in '{0}'.text/xmljsonerror9/Profile_JSON_AppService.axdG/Authentication_JSON_AppService.axd/js�cNo IPageableItemContainer was found. Verify that either the DataPager is inside an IPageableItemContainer or PagedControlID is set to the control ID of an IPageableItemContainer��There is no data-bound control associated with the DataPager control.cControl with id '{0}' cannot be found in the page;Control '{0}' is not pageableCDataPager has no naming containercontainerPagedControlIDvalue!QueryStringField?=&Visibleindex��is not an instance of the DataPagerField class or of one of its derived classes.oaviewName must be 'DefaultView' in LinqDataSource7Type '{0}' cannot be loadedDefaultView?LinqDataSource validation errorinnerExceptionsgTable '{0}' was not found on the data context '{1}'contextType��The TableName property of LinqDataSource '{0}' must specify a table property or field on the data context type.��Could not find a property or field called '{0}' on the data context type '{1}' of LinqDataSource '{2}'1ConvertEmptyStringToNull+EnableModelValidation%GroupPlaceholderID!groupPlaceholder#ItemPlaceHolderIDitemPlaceholderSData keys must be specified on ListView '��' before the selected data keys can be retrieved. Use the DataKeyNames property to specify data keys.]ListView does not allow setting this property.control_!ItemCountqdataSource returned a null reference for DataSourceView.qdataSource does not implement the ICollection interface.��dataSource does not implement the ICollection interface and dataBinding is false. DESC-The ListView control 's' does not have an InsertItemTemplate template specified.3itemIndex is less than 0.itemValuesMitem is not a ListViewDataItem object.eThe ListView control does not have an insert item./ItemTemplate is missing	Sort	Edit
Cancel
Delete
Insert
Select
UpdateiDataSourceView associated with the ListView is null.��A{0} {1} placeholder must be specified on ListView '{2}'. Specify a{0} {1} placeholder by setting a control's ID property to "{3}". The {1} placeholder control must also specify runat="server".group	itemyItem being cancelled is neither an edit item or insert item.maximumRowsstartRowIndexMissing data.��Style properties are not supported on ListView. Apply styling or CSS classes to the elements in the ListView's templates.��The data source object does not implement the System.Collections..::.ICollection interface.First	Prev	Next	Last
&nbsp;ButtonCssClassButtonType#FirstPageImageUrlFirstPageText!LastPageImageUrlLastPageText!NextPageImageUrlNextPageText)PreviousPageImageUrl!PreviousPageTextPrevious;RenderDisabledButtonsAsLabelsMRenderNonBreakingSpacesBetweenControls'ShowFirstPageButton%ShowLastPageButton%ShowNextPageButton-ShowPreviousPageButtonButtonCountoThe ButtonCount property is set to a value less than 1.��The value for the ButtonType property is not one of the ButtonType values.1CurrentPageLabelCssClass...5NextPreviousButtonCssClass+NumericButtonCssClass��Could not find an event named '{0}' on associated control '{1}' for the trigger in UpdatePanel '{2}'.��The event '{0}' in '{1}' for the control '{2}' does not match a standard event handler signature.;AsyncPostBackTrigger: {0}.{1}OnEvent.NET emulationWeb resource '!' was not found.��The control with ID '{0}' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it.��The TargetControlID of '{0}' is not valid. The value cannot be null or empty.��The TargetControlID of '{0}' is not valid. A control with ID '{1}' could not be found.PostBack: {0}=Value cannot be null or empty.elementID{0}${1}componentID"{0}"$get("{0}")handler
scriptid$create(
$get(""), $get("{0}"));{0}:{1},, �The 'ID' property on ScriptControlDescriptor is not settable. The client ID of a script control is always equal to its element ID.+system.web/deployment��The SupportsPartialRendering property cannot be set when EnablePartialRendering is false.	page?Unexpected format of post data.}Only one instance of a ScriptManager can be added to the page.5var __cultureInfo = '{0}';'ScriptGlobalizationeSys.WebForms.PageRequestManager.getInstance($get("9"))._registerDisposeScript("��Sys.WebForms.PageRequestManager.getInstance()._registerDisposeScript("", disposeScripts;!MicrosoftAjax.js1MicrosoftAjaxWebForms.js3MicrosoftAjaxExtension.jsCMicrosoftAjaxWebFormsExtension.jsSys.Applicationm
Sys.Application._initialize(document.getElementById(''));
��if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax client-side framework failed to load.');mSys.Services._ProfileService.DefaultWebServicePath = ';~/Profile_JSON_AppService.axd';MSys.Services.ProfileService.set_path('');{Sys.Services._AuthenticationService.DefaultWebServicePath = 'I~/Authentication_JSON_AppService.axdwSys.Services.AuthenticationService._setAuthenticated(true);[Sys.Services.AuthenticationService.set_path('Framework;Sys.Application.initialize();ESys.Application.getInstance($get("%")).initialize();
=Sys.Application.initialize();
e<script src="{0}" type="text/javascript"></script>debug{RegisterDataItem can only be called during an async postback.S'{0}' already has a data item registered.disposeScript3")).add_init(function() {KSys.Application.add_init(function() {	});scriptControlextenderControltargetControl?<script type="text/javascript">//<![CDATA[��Sys.WebForms.PageRequestManager._initialize('{0}', document.getElementById('{1}'));��Sys.WebForms.PageRequestManager.getInstance($get("{0}"))._updateControls([{1}], [{2}], [{3}], {4});��Sys.WebForms.PageRequestManager.getInstance()._updateControls([{0}], [{1}], [{2}], {3});	//]]</script>'{0}{1}{2}{0},{0}{1}{0},error500pageRedirectupdatePanelhiddenField/asyncPostBackControlIDs%postBackControlIDsupdatePanelIDs'childUpdatePanelIDs%panelsToRefreshIDs)asyncPostBackTimeoutpageTitledataItemJsondataItemfocusscriptDisposeexpando3document.getElementById('	')['']!arrayDeclarationscriptBlock'ScriptContentNoTags+ScriptContentWithTags%scriptStartupBlockScriptPathonSubmit	text�KThe script tag registered for type '{0}' and key '{1}' has invalid characters outside of the script tags: {2}. Only properly formatted script tags can be registered.
actionformActionciGName and Path cannot both be empty.debug.js}'{0}' is not a valid script path.  The path must end in '.js'.
.debug	.{0}Assembly '{0}' does not contain a Web resource with name '{1}'.��Assembly '{0}' contains a Web resource with name '{1}' but does not contain an embedded resource with name '{1}'.EnabledInterval	none
hiddenSys.UI._TimerintervaluniqueID+MicrosoftAjaxTimer.js]The Controls property of UpdatePanel with ID '�' cannot be modified directly. To change the contents of the UpdatePanel modify the child controls of the ContentTemplateContainer property.��ChildrenAsTriggers cannot be set to false when UpdateMode is set to Always on UpdatePanel '{0}'MInternal error. Invalid writer object.{The Update method can only be called on UpdatePanel with ID 'Q' when UpdateMode is set to Conditional./AssociatedUpdatePanelIDDisplayAfterDynamicLayout��A ProgressTemplate must be specified on UpdateProgress control with ID '{0}'.blockeNo UpdatePanel found for AssociatedUpdatePanelID ''.-Sys.UI._UpdateProgress/associatedUpdatePanelIddisplayAfterdynamicLayout�V2q���J����tT��	
		@@<<!%)-15x9|=AE������I��I��IM��
QU			=UX��Y]	a�eim`����qu�8�$y�0� }���=���(���<�d�X�D�L�H�P�T�\���`������	��9�@�����X�D�L�H|�P�T�\��A�����������p�x���������������������������t�����������
���p�d��A���t���4���A��A����A�A�A�A�A��	������	���\A�A�X���A�`�����x�x�������H���h�����������8 �� ��   ��   ==�== �	� � � �Q 
�! $ScriptResource.axd&�)  	 �1    = �9	 	  �=Q�M �Q �Y�]�aQ �e  �i  QQ  Q Q �q �q �! �q        �� �� ����
 �� �M�� ��A��	 ������  M�9 �� ��
 �����9  ��     M M ������ �� �� �� ��	 �	 
�� ����
@
<A	 E!
 �1T	MinLength1nameT
IsRequiredTIsKeyTQDefaultValue (typeT
IsRequiredTQDefaultValue ='"System.Web.Configuration.Converter �= �= �= �= 	ItemenabledTQDefaultValue 
requireSSLTQDefaultValue
convertersTIsKey&
maxJsonLengthTQDefaultValue 'recursionLimitTQDefaultValued*readAccessPropertiesTQDefaultValue���}System.Web.UI.WebControls.StringArrayConverter, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a+writeAccessPropertiesTQDefaultValue� = 1 1 1#
enableCachingTQDefaultValue'enableCompressionTQDefaultValuescriptResourceHandler �] �QwebServices �a �YauthenticationServicejsonSerializationprofileService	scripting �m��TUrSystem.Web.AspNetHostingPermissionLevel, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089Level���TUrSystem.Web.AspNetHostingPermissionLevel, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089Level� �� �M q = 9 �i �y�}��=��	�y�y = == ��	����	���� ]   9  �}��	 ���}	 ���}���� ��E��	 ��__typeA��== ��==��=�� =
  	E�������� = �=	 ���� 
 ���} AE�� E������E=��=����	

 !"#$%&'()*���������������������������������������������������������������I��II�������]���]
���]�����]

 
�� ��	��� ��	���=	=U U= =	���� UUU
��
��
E������	�� �] Q �] �� U�} �5�= M M M M�� M
 M M M
 M M M M M	 M M M MF/Authentication_JSON_AppService.axd)  �I  �MDT
AllowMultiple	 �� M M MA�� M M�
�9��==�=  �y=YY �� �1	 �q�1 �! �e �i U�}	��������=���� ��E��������i=��m	���q�q	���u�u��	��=E��=
����=��= �y�}m��m ���}�q���q �� ���}�u���u �u8/Profile_JSON_AppService.axd �� ��  ���� ���� ��=�M
 q�M@ ��aXSystem.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35����System.Web.UI.Design.WebControls.DataPagerDesigner, System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 �� �� ���� �� �q �� �� �� �� �� ��Default �� =���System.Web.UI.Design.WebControls.DataPagerFieldTypeEditor, System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35uSystem.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aPaging50System.Web.UI.WebControls.IPageableItemContainer ��
 �  � � ��= ����System.Web.UI.Design.WebControls.LinqDataSourceDesigner, System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35	SelectingContextTypeName	 �M���
Behavior	DataE@looks like we need System.Web.Query.Dynamic stuff or alternative �	 �5�9 9 �A	 ���� �� ���� ������ �M	 E�IE�I���I �Q �U= ���EE������	
�X	
�D	
�L	
�H
|	
�P	
�T	
�\ 
 ��=��ESelectedIndexChanged
SelectedValue =4"System.Web.UI.WebControls.ListViewListView.ico����System.Web.UI.Design.WebControls.ListViewDesigner, System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35Action } �i =�u3*System.Web.UI.WebControls.ListViewDataItem �y �} ������System.Web.UI.Design.WebControls.DataFieldEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3auSystem.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a �����������1��'"System.Web.UI.WebControls.ListView+&System.Web.UI.WebControls.ListViewItemMHFigure out where it is used and what's the effect of setting it to true.groupPlaceholder6U,System.Web.UI.WebControls.InsertItemPosition/&System.Web.UI.WebControls.ListViewItemitemPlaceholderA�� ����UvSystem.Web.UI.WebControls.SortDirection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a �� �= ���� ���h �� ����	
 ��	 ���� �� ������ ��������
�p
�x
��
��
��
��
��
��
��
��
��
��
��
�� ��	 ����...5,System.Web.UI.WebControls.DataPagerFieldItem �9	 ���}	����
�=U U	PathCSR:��{System.Web.UI.Design.CollectionEditorBase, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3atSystem.Drawing.Design.UITypeEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
��A��	 	�}�h���h �� 	-(Use IsAjaxFrameworkScript(ScriptManager)TargetControlID
����������E��
�(Scripts����System.Web.UI.Design.ScriptManagerDesigner, System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35updatePanelhiddenField arrayDeclarationscriptBlock$scriptStartupBlockexpandoonSubmit.asyncPostBackControlIDs$postBackControlIDsupdatePanelIDs(asyncPostBackTimeout&childUpdatePanelIDs$panelsToRefreshIDsformActiondataItemdataItemJsonscriptDisposepageRedirect
errorpageTitle
focus&ScriptContentNoTags*ScriptContentWithTagsScriptPathZ��	
��	
�x	
�� �� ��A������ ��A� � ��E�X���XA�X � -�}��A�`A�!�A�!�!�A�!�A�!��`E�h	���h�
�������XA�� = =
	���\ 
	����A��E�0���0
�� A �Y����
�� �	�	���\ �
�
���\ 	� �� �� �! �%
 ��=
 �� �� ��=	 ��=E�h�	�����
����#Compression not supported yet.���p	��	���p
�- 	�-T
AllowMultipleT
AllowMultiple
Interval����System.Web.UI.Design.TimerDesigner, System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35	Tick`�	
���,���0
�� �1����System.Web.UI.Design.UpdatePanelDesigner, System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Triggers �=Layout�}������-U#System.Web.UI.UpdatePanelUpdateMode AssociatedUpdatePanelID����System.Web.UI.Design.UpdateProgressDesigner, System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35System.Web.UI.UpdatePanel���
��	����
�Q9�)


�)	
	QQ�M�Q	 �QQ�e �M)�Q�YQ�eQ�q�u�!�}�y�q	 �����q�u�u�����q�u �M�QA��&Q������M���������eQ.�QA���e�!�|�������
 �M�QM 	 ���! ��	M���)�����)�)	�)�)����	�		��
�	

 	 @@@ �A   �E�I 
 �M	 �M  �E �E �Y �E    	 <<<�Q �U�Y�] �a�Y�Q �Y	 �Y�a	 �Y�Q $ E ! ! )% % % ) ) - P P P �= �= T  5 h p X \ ` l 9x 9 x x��.vSystem.Web.AspNetHostingPermissionAttribute, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089��TUrSystem.Web.AspNetHostingPermissionLevel, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089Level� ��	 |
 ��9�i�M�Qq=q�i�M�q�4 �!	�!	�!�!=========������������	������E��=�}��	 ��
 ���� E= ��=��
 ���� �� ��	\TA��=��P��� ��0 =��=����0 =�����������������	������ ��==��=��� ��='
==������=����= ===�� ��
 E�� ��=������=��=��M M �! = =	��M��
���!��	������ �� �� ���� ��  
��
��
 ��������				��"=������	=U=����	 ��U���� ����U� M=0M��U M��
��� M�������0M�������� M	 M� M M
 M� M�
 MQ
 M�	 M M MQM	MMMMMMMM
MM��MM
MMMMMM
MMMMMMMMMM	MMMM	MMMM
MM	�eQ
A��MA��=Y��MA
 =	 E����
M=A��=	�=�y
 MA
 A�� �� ��U ���� M M	 �Q�e	 ��=	�	�
�}UA��UU==U	 E����U=UU��]]������ ���Q ���Y		*�!��=�������a � a ��
 ���� i E��=����=����=A��m��m ��m	
 ��= ����= ��	��
 �� ��A 	A������=	 �M=	���Q
q�M=�����Q�e� q�Q= ��	��� �8���0� ��� �8�8�q�����,�0�  �q ��  y �$ ��
 � ��0 �0 �0 �  � � 
 �0�M�QM�Y ��M�Q �	  ���� �$� �  �  �  �  � 
 �0�	 � ��	���������
 �� �d�d� �===�-
 �X
 �D
 �L
 �H
 �P
 �T
 �\ �� �� �` �`% ������������ ��	 ��
 �� ��  ��9�.��System.Security.Permissions.SecurityPermissionAttribute, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089��TUSystem.Security.Permissions.SecurityPermissionFlag, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089Flags� ��9
 �@�M	 E���� ���� 
�E�I���I=�U������� �U�U  = ��=�� =	 ���� �� ������������������
�������X�X�D�D�L�L�H�H||�P�P�T�T�\�\ �X �D �L �H | �P �T �\
 ����	� ��
 �p
 �x
 ��
 ��
 ��
 ��
 ��
 ��
 ��
 ��
 ��
 ��
 �� �� �� �y �} �� �� �� ��
�1�� �y �� �< �<
 �1�� ���� ���� ��  
 ������ ���1�����=�� �} �����=�� ���� �� ���������a�� �1�����<��"
�����1�����l���
 �������������1���������
 ����
�����������	 ����������������q 
�1���q�������-��	�x�� �x�q �� �x	���� ���q�=�� 9���� ���� �������=�� ���q�����=�����t�p�� ����0
}}�� �p �� �� �� �� �� �� �� �� �� �� �� ���1�� ��������������� �����= ��	 ���� �� �t �t �t
 ��� �� �� 9���� 9	 9�� ��������� ���� �� �� �� ����
 �0�m������������
�� �� ���� 
�0�m���������������� 
 ������ �	� �� �� �����������4������ Q 
 �d �d �4 �4M	���p�p	
�q �t
A��	A��(M��A���h���h���=�h���h �� �� �4 E�0��	 E�h	 E�0���4
 ���� ��=� �
 ��M
��M�� ���� � ��
 ������
 �x�x�x
 �������4�q	�q�4 ���������� ����M� �h�h �h+�h�h�h�h�X���XM`X�`��	 !�	 !�	 !�	 !�	 !� �� ��	 E�X�� ��	�� �x�q���q�4�q=��=
�q=
��=	�q=	��=
 ���l	 ����=�� �� ������
�� �� ��
 ��E�0M�0���00	0��A���=�A��A��M������A	M�4�!9�m�! �!��M	�!M	 ����>�q�������<	�������
���\�\�
����
 ��A�	����q��Y����	�������� �`	 �!�� ��	 �D�� 		 �D�@ �H ���D�@�� ��
 ���h �h  �X
 ���X�d
�= �h 
 ���������� �0
 ���0
 ���h �� �� �������� �� �� �8 �8 �����8����M���� �� ������	��((((�A(!(%()(-(P(T((5(h(p(X(\(`(l(9(x(=(��
(��9(E=(��(��(��(U(�(a(i(y(��(�$(��(�0(� (�(��(� ((�d(��(�`(��	(��(��	(E��(��(�y(�}(��(��(��(��(�y(�<
(�1��(��(��((�t(��(��(��(�t(��(�4(��(��(�(��(�(�d(��(��(	(�1(�!(�%(�h((��(��(��(�8(��(��
(��=(�X(�0��$��$RSA1����g�w:�މ8���e� `Y>�Ēe���?�?�1��3��`!g-��1���
�/%�}�o��Y���5�L9�EC��;�&=����o��GP�\d��E��k*+G��e+��]�System.Web.Extensions.dllMono development team(#Mono Common Language Infrastructure(c) Various Mono authors
4.6.57.04.0.0.0
en-US
System.Web.UIasp"System.Web.UI.WebControlsasp ��System,.MicrosoftAjax.jsapplication/x-javascript4MicrosoftAjax.debug.jsapplication/x-javascript6MicrosoftAjaxWebForms.jsapplication/x-javascript<MicrosoftAjaxWebForms.debug.jsapplication/x-javascript3MicrosoftAjaxTimer.jsapplication/x-javascript9MicrosoftAjaxTimer.debug.jsapplication/x-javascript ��TWrapNonExceptionThrows��.��System.Security.Permissions.SecurityPermissionAttribute, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089TSkipVerification�z\V4��?_�
:1�8V�6N58�N� @�_CorDllMainmscoree.dll�% @��������������������������������������������������������������������������������������������������������������������

 #	!"������������������������������������������������������������������������������������������������������������"��������)���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"��������)���������������������������������������������������������������������������������������������������������"��������)����������������������������������������������������������������������������������	����������������������������������������������������������������������������������������







������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!!����������������������������������                    ����    !!����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#������������������������������������������������������������������������������������������������������������������������������������$��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%����������������������������������������������������������������������������������������������������&������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������'����������������������������������������������������������������������������������������������������������������(��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������*���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������0�HX���4VS_VERSION_INFO��99?DVarFileInfo$Translation�0StringFileInfo007f04b0LCommentsSystem.Web.Extensions.dllLCompanyNameMono development team\FileDescriptionSystem.Web.Extensions.dll4	FileVersion4.6.57.0LInternalNameSystem.Web.ExtensionsXLegalCopyright(c) Various Mono authors,LegalTrademarks \OriginalFilenameSystem.Web.Extensions.dllh$ProductNameMono Common Language Infrastructure8	ProductVersion4.6.57.0�`9

Youez - 2016 - github.com/yon3zu
LinuXploit