[Webtest] Need guidance on what's possible for AJAX test

Walton, Lynn Walton, Lynn" <Lynn_Walton@adp.com
Thu, 4 Sep 2008 15:51:37 -0500


This is a multi-part message in MIME format.

------_=_NextPart_001_01C90ED0.06F3B163
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
X-NAIMIME-Disclaimer: 1
X-NAIMIME-Modified: 1

Hi all,=20

=20

I have the following scenario:

=20

1)       Web page that submits a form=20

2)       Backend fires off a thread to do a several minute long process
which updates it's progress to an object in the HttpSession. Then it
displays a "progress" page.

3)       The progress page polls the server using AJAX (prototype) every
so many seconds. When it gets the response it checks for a finished type
of flag and if it is finished it sets the location.href so that a new
"results" page is loaded, but if it is not finished it just stays on the
same progress page only updating dom elements to reflect the progress
and then polls the server again in a few more seconds.=20

=20

Note that the call to check progress is NOT initiated by a user action
but by javascript and timeouts.  Given that, is there any good way to
create a webtest for this that would "wait" until the finished flag from
the "progress check" makes the page change to the final results page?

=20

I don't have to verify any particular thing in the "progress" page but
I'd like to verify that it gets to the results page eventually and I'm
not sure how to do this since it happens without user initiated events.=20

=20

All help appreciated :-)

=20

Thanks,

Lynn



This message and any attachments are intended only for the use of the add=
ressee and may contain information that is privileged and confidential. I=
f the reader of the message is not the intended recipient or an authorize=
d representative of the intended recipient, you are hereby notified that =
any dissemination of this communication is strictly prohibited. If you ha=
ve received this communication in error, please notify us immediately by =
e-mail and delete the message and any attachments from your system.

------_=_NextPart_001_01C90ED0.06F3B163
Content-Type: text/HTML;
  charset="us-ascii"
Content-Transfer-Encoding: base64
X-NAIMIME-Disclaimer: 1
X-NAIMIME-Modified: 1

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczpzdDE9
InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOnNtYXJ0dGFncyIgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiCnhtbG5zOm5zMD0iaHR0cDovL3d3dy5leGNsYWlt
ZXIuY28udWsiPgoKPGhlYWQ+CjxtZXRhIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9
InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjxtZXRhIG5hbWU9R2VuZXJhdG9yIGNvbnRl
bnQ9Ik1pY3Jvc29mdCBXb3JkIDExIChmaWx0ZXJlZCBtZWRpdW0pIj4KPG86U21hcnRUYWdUeXBl
IG5hbWVzcGFjZXVyaT0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6c21hcnR0YWdz
IgogbmFtZT0iQ2l0eSIvPgo8bzpTbWFydFRhZ1R5cGUgbmFtZXNwYWNldXJpPSJ1cm46c2NoZW1h
cy1taWNyb3NvZnQtY29tOm9mZmljZTpzbWFydHRhZ3MiCiBuYW1lPSJwbGFjZSIvPgo8IS0tW2lm
ICFtc29dPgo8c3R5bGU+CnN0MVw6KntiZWhhdmlvcjp1cmwoI2RlZmF1bHQjaWVvb3VpKSB9Cjwv
c3R5bGU+CjwhW2VuZGlmXS0tPgo8c3R5bGU+CjwhLS0KIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8K
IEBmb250LWZhY2UKCXtmb250LWZhbWlseTpXaW5nZGluZ3M7CglwYW5vc2UtMTo1IDAgMCAwIDAg
MCAwIDAgMCAwO30KIC8qIFN0eWxlIERlZmluaXRpb25zICovCiBwLk1zb05vcm1hbCwgbGkuTXNv
Tm9ybWFsLCBkaXYuTXNvTm9ybWFsCgl7bWFyZ2luOjBpbjsKCW1hcmdpbi1ib3R0b206LjAwMDFw
dDsKCWZvbnQtc2l6ZToxMi4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9CmE6
bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsKCXtjb2xvcjpibHVlOwoJdGV4dC1kZWNvcmF0aW9uOnVu
ZGVybGluZTt9CmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZAoJe2NvbG9yOmJs
dWU7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30KcHJlCgl7bWFyZ2luOjBpbjsKCW1hcmdp
bi1ib3R0b206LjAwMDFwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiQ291cmll
ciBOZXciO30Kc3Bhbi5FbWFpbFN0eWxlMTgKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBs
eTsKCWZvbnQtZmFtaWx5OkFyaWFsOwoJY29sb3I6bmF2eTt9CkBwYWdlIFNlY3Rpb24xCgl7c2l6
ZTo4LjVpbiAxMS4waW47CgltYXJnaW46MS4waW4gMS4yNWluIDEuMGluIDEuMjVpbjt9CmRpdi5T
ZWN0aW9uMQoJe3BhZ2U6U2VjdGlvbjE7fQogLyogTGlzdCBEZWZpbml0aW9ucyAqLwogQGxpc3Qg
bDAKCXttc28tbGlzdC1pZDoxMzI1NjI0NTk4OwoJbXNvLWxpc3QtdHlwZTpoeWJyaWQ7Cgltc28t
bGlzdC10ZW1wbGF0ZS1pZHM6LTExMDk4ODE4OTggNjc2OTg3MDUgNjc2OTg3MTMgNjc2OTg3MTUg
Njc2OTg3MDMgNjc2OTg3MTMgNjc2OTg3MTUgNjc2OTg3MDMgNjc2OTg3MTMgNjc2OTg3MTU7fQpA
bGlzdCBsMDpsZXZlbDEKCXttc28tbGV2ZWwtdGV4dDoiJTFcKSI7Cgltc28tbGV2ZWwtdGFiLXN0
b3A6LjVpbjsKCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKCXRleHQtaW5kZW50Oi0u
MjVpbjt9Cm9sCgl7bWFyZ2luLWJvdHRvbTowaW47fQp1bAoJe21hcmdpbi1ib3R0b206MGluO30K
LS0+Cjwvc3R5bGU+Cgo8L2hlYWQ+Cgo8Ym9keSBsYW5nPUVOLVVTIGxpbms9Ymx1ZSB2bGluaz1i
bHVlPgoKPGRpdiBjbGFzcz1TZWN0aW9uMT4KCjxwIGNsYXNzPU1zb05vcm1hbD48Zm9udCBzaXpl
PTIgY29sb3I9bmF2eSBmYWNlPUFyaWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6CjEwLjBwdDtm
b250LWZhbWlseTpBcmlhbDtjb2xvcjpuYXZ5Jz5IaSBhbGwsIDxvOnA+PC9vOnA+PC9zcGFuPjwv
Zm9udD48L3A+Cgo8cCBjbGFzcz1Nc29Ob3JtYWw+PGZvbnQgc2l6ZT0yIGNvbG9yPW5hdnkgZmFj
ZT1BcmlhbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOgoxMC4wcHQ7Zm9udC1mYW1pbHk6QXJpYWw7
Y29sb3I6bmF2eSc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9mb250PjwvcD4KCjxwIGNsYXNz
PU1zb05vcm1hbD48Zm9udCBzaXplPTIgY29sb3I9bmF2eSBmYWNlPUFyaWFsPjxzcGFuIHN0eWxl
PSdmb250LXNpemU6CjEwLjBwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjpuYXZ5Jz5JIGhhdmUg
dGhlIGZvbGxvd2luZyBzY2VuYXJpbzo8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPgoKPHAg
Y2xhc3M9TXNvTm9ybWFsPjxmb250IHNpemU9MiBjb2xvcj1uYXZ5IGZhY2U9QXJpYWw+PHNwYW4g
c3R5bGU9J2ZvbnQtc2l6ZToKMTAuMHB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOm5hdnknPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+Cgo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5
bGU9J21hcmdpbi1sZWZ0Oi41aW47dGV4dC1pbmRlbnQ6LS4yNWluO21zby1saXN0OmwwIGxldmVs
MSBsZm8xJz48IVtpZiAhc3VwcG9ydExpc3RzXT48Zm9udApzaXplPTIgY29sb3I9bmF2eSBmYWNl
PUFyaWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OkFyaWFsOwpj
b2xvcjpuYXZ5Jz48c3BhbiBzdHlsZT0nbXNvLWxpc3Q6SWdub3JlJz4xKTxmb250IHNpemU9MSBm
YWNlPSJUaW1lcyBOZXcgUm9tYW4iPjxzcGFuCnN0eWxlPSdmb250OjcuMHB0ICJUaW1lcyBOZXcg
Um9tYW4iJz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgPC9zcGFuPjwvZm9u
dD48L3NwYW4+PC9zcGFuPjwvZm9udD48IVtlbmRpZl0+PGZvbnQKc2l6ZT0yIGNvbG9yPW5hdnkg
ZmFjZT1BcmlhbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpBcmlh
bDsKY29sb3I6bmF2eSc+V2ViIHBhZ2UgdGhhdCBzdWJtaXRzIGEgZm9ybSA8bzpwPjwvbzpwPjwv
c3Bhbj48L2ZvbnQ+PC9wPgoKPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDou
NWluO3RleHQtaW5kZW50Oi0uMjVpbjttc28tbGlzdDpsMCBsZXZlbDEgbGZvMSc+PCFbaWYgIXN1
cHBvcnRMaXN0c10+PGZvbnQKc2l6ZT0yIGNvbG9yPW5hdnkgZmFjZT1BcmlhbD48c3BhbiBzdHls
ZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpBcmlhbDsKY29sb3I6bmF2eSc+PHNwYW4g
c3R5bGU9J21zby1saXN0Oklnbm9yZSc+Mik8Zm9udCBzaXplPTEgZmFjZT0iVGltZXMgTmV3IFJv
bWFuIj48c3BhbgpzdHlsZT0nZm9udDo3LjBwdCAiVGltZXMgTmV3IFJvbWFuIic+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDwvc3Bhbj48L2ZvbnQ+PC9zcGFuPjwvc3Bhbj48
L2ZvbnQ+PCFbZW5kaWZdPjxmb250CnNpemU9MiBjb2xvcj1uYXZ5IGZhY2U9QXJpYWw+PHNwYW4g
c3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6QXJpYWw7CmNvbG9yOm5hdnknPkJh
Y2tlbmQgZmlyZXMgb2ZmIGEgdGhyZWFkIHRvIGRvIGEgc2V2ZXJhbCBtaW51dGUgbG9uZyBwcm9j
ZXNzCndoaWNoIHVwZGF0ZXMgaXQmIzgyMTc7cyBwcm9ncmVzcyB0byBhbiBvYmplY3QgaW4gdGhl
IEh0dHBTZXNzaW9uLiBUaGVuIGl0CmRpc3BsYXlzIGEgJiM4MjIwO3Byb2dyZXNzJiM4MjIxOyBw
YWdlLjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+Cgo8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5
bGU9J21hcmdpbi1sZWZ0Oi41aW47dGV4dC1pbmRlbnQ6LS4yNWluO21zby1saXN0OmwwIGxldmVs
MSBsZm8xJz48IVtpZiAhc3VwcG9ydExpc3RzXT48Zm9udApzaXplPTIgY29sb3I9bmF2eSBmYWNl
PUFyaWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OkFyaWFsOwpj
b2xvcjpuYXZ5Jz48c3BhbiBzdHlsZT0nbXNvLWxpc3Q6SWdub3JlJz4zKTxmb250IHNpemU9MSBm
YWNlPSJUaW1lcyBOZXcgUm9tYW4iPjxzcGFuCnN0eWxlPSdmb250OjcuMHB0ICJUaW1lcyBOZXcg
Um9tYW4iJz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgPC9zcGFuPjwvZm9u
dD48L3NwYW4+PC9zcGFuPjwvZm9udD48IVtlbmRpZl0+PGZvbnQKc2l6ZT0yIGNvbG9yPW5hdnkg
ZmFjZT1BcmlhbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpBcmlh
bDsKY29sb3I6bmF2eSc+VGhlIHByb2dyZXNzIHBhZ2UgcG9sbHMgdGhlIHNlcnZlciB1c2luZyA8
c3QxOkNpdHkgdzpzdD0ib24iPjxzdDE6cGxhY2UKIHc6c3Q9Im9uIj5BSkFYPC9zdDE6cGxhY2U+
PC9zdDE6Q2l0eT4gKHByb3RvdHlwZSkgZXZlcnkgc28gbWFueSBzZWNvbmRzLiBXaGVuCml0IGdl
dHMgdGhlIHJlc3BvbnNlIGl0IGNoZWNrcyBmb3IgYSBmaW5pc2hlZCB0eXBlIG9mIGZsYWcgYW5k
IGlmIGl0IGlzCmZpbmlzaGVkIGl0IHNldHMgdGhlIGxvY2F0aW9uLmhyZWYgc28gdGhhdCBhIG5l
dyAmIzgyMjA7cmVzdWx0cyYjODIyMTsgcGFnZSBpcwpsb2FkZWQsIGJ1dCBpZiBpdCBpcyBub3Qg
ZmluaXNoZWQgaXQganVzdCBzdGF5cyBvbiB0aGUgc2FtZSBwcm9ncmVzcyBwYWdlIG9ubHkgdXBk
YXRpbmcKZG9tIGVsZW1lbnRzIHRvIHJlZmxlY3QgdGhlIHByb2dyZXNzIGFuZCB0aGVuIHBvbGxz
IHRoZSBzZXJ2ZXIgYWdhaW4gaW4gYSBmZXcKbW9yZSBzZWNvbmRzLiA8bzpwPjwvbzpwPjwvc3Bh
bj48L2ZvbnQ+PC9wPgoKPHAgY2xhc3M9TXNvTm9ybWFsPjxmb250IHNpemU9MiBjb2xvcj1uYXZ5
IGZhY2U9QXJpYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToKMTAuMHB0O2ZvbnQtZmFtaWx5OkFy
aWFsO2NvbG9yOm5hdnknPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+Cgo8cCBj
bGFzcz1Nc29Ob3JtYWw+PGZvbnQgc2l6ZT0yIGNvbG9yPW5hdnkgZmFjZT1BcmlhbD48c3BhbiBz
dHlsZT0nZm9udC1zaXplOgoxMC4wcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6bmF2eSc+Tm90
ZSB0aGF0IHRoZSBjYWxsIHRvIGNoZWNrIHByb2dyZXNzIGlzCk5PVCBpbml0aWF0ZWQgYnkgYSB1
c2VyIGFjdGlvbiBidXQgYnkgamF2YXNjcmlwdCBhbmQgdGltZW91dHMuICZuYnNwO0dpdmVuCnRo
YXQsIGlzIHRoZXJlIGFueSBnb29kIHdheSB0byBjcmVhdGUgYSB3ZWJ0ZXN0IGZvciB0aGlzIHRo
YXQgd291bGQgJiM4MjIwO3dhaXQmIzgyMjE7CnVudGlsIHRoZSBmaW5pc2hlZCBmbGFnIGZyb20g
dGhlICYjODIyMDtwcm9ncmVzcyBjaGVjayYjODIyMTsgbWFrZXMgdGhlIHBhZ2UKY2hhbmdlIHRv
IHRoZSBmaW5hbCByZXN1bHRzIHBhZ2U/PG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4KCjxw
IGNsYXNzPU1zb05vcm1hbD48Zm9udCBzaXplPTIgY29sb3I9bmF2eSBmYWNlPUFyaWFsPjxzcGFu
IHN0eWxlPSdmb250LXNpemU6CjEwLjBwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjpuYXZ5Jz48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPgoKPHAgY2xhc3M9TXNvTm9ybWFsPjxm
b250IHNpemU9MiBjb2xvcj1uYXZ5IGZhY2U9QXJpYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToK
MTAuMHB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOm5hdnknPkkgZG9uJiM4MjE3O3QgaGF2ZSB0
byB2ZXJpZnkgYW55CnBhcnRpY3VsYXIgdGhpbmcgaW4gdGhlICYjODIyMDtwcm9ncmVzcyYjODIy
MTsgcGFnZSBidXQgSSYjODIxNztkIGxpa2UgdG8KdmVyaWZ5IHRoYXQgaXQgZ2V0cyB0byB0aGUg
cmVzdWx0cyBwYWdlIGV2ZW50dWFsbHkgYW5kIEkmIzgyMTc7bSBub3Qgc3VyZSBob3cKdG8gZG8g
dGhpcyBzaW5jZSBpdCBoYXBwZW5zIHdpdGhvdXQgdXNlciBpbml0aWF0ZWQgZXZlbnRzLiA8bzpw
PjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPgoKPHAgY2xhc3M9TXNvTm9ybWFsPjxmb250IHNpemU9
MiBjb2xvcj1uYXZ5IGZhY2U9QXJpYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToKMTAuMHB0O2Zv
bnQtZmFtaWx5OkFyaWFsO2NvbG9yOm5hdnknPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZm9u
dD48L3A+Cgo8cCBjbGFzcz1Nc29Ob3JtYWw+PGZvbnQgc2l6ZT0yIGNvbG9yPW5hdnkgZmFjZT1B
cmlhbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOgoxMC4wcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29s
b3I6bmF2eSc+QWxsIGhlbHAgYXBwcmVjaWF0ZWQgPC9zcGFuPjwvZm9udD48Zm9udApzaXplPTIg
Y29sb3I9bmF2eSBmYWNlPVdpbmdkaW5ncz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdDtm
b250LWZhbWlseToKV2luZ2RpbmdzO2NvbG9yOm5hdnknPko8L3NwYW4+PC9mb250Pjxmb250IHNp
emU9MiBjb2xvcj1uYXZ5IGZhY2U9QXJpYWw+PHNwYW4Kc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7
Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6bmF2eSc+PG86cD48L286cD48L3NwYW4+PC9mb250Pjwv
cD4KCjxwIGNsYXNzPU1zb05vcm1hbD48Zm9udCBzaXplPTIgY29sb3I9bmF2eSBmYWNlPUFyaWFs
PjxzcGFuIHN0eWxlPSdmb250LXNpemU6CjEwLjBwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjpu
YXZ5Jz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPgoKPHAgY2xhc3M9TXNvTm9y
bWFsPjxmb250IHNpemU9MiBjb2xvcj1uYXZ5IGZhY2U9QXJpYWw+PHNwYW4gc3R5bGU9J2ZvbnQt
c2l6ZToKMTAuMHB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOm5hdnknPlRoYW5rcyw8bzpwPjwv
bzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPgoKPHAgY2xhc3M9TXNvTm9ybWFsPjxzdDE6Q2l0eSB3OnN0
PSJvbiI+PHN0MTpwbGFjZSB3OnN0PSJvbiI+PGZvbnQgc2l6ZT0yCiAgY29sb3I9bmF2eSBmYWNl
PUFyaWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OkFyaWFsOwog
IGNvbG9yOm5hdnknPkx5bm48L3NwYW4+PC9mb250Pjwvc3QxOnBsYWNlPjwvc3QxOkNpdHk+PGZv
bnQgc2l6ZT0yIGNvbG9yPW5hdnkKZmFjZT1BcmlhbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEw
LjBwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjpuYXZ5Jz48bzpwPjwvbzpwPjwvc3Bhbj48L2Zv
bnQ+PC9wPgoKPC9kaXY+CgoKPERJVj48UD48SFI+ClRoaXMgbWVzc2FnZSBhbmQgYW55IGF0dGFj
aG1lbnRzIGFyZSBpbnRlbmRlZCBvbmx5IGZvciB0aGUgdXNlIG9mIHRoZSBhZGRyZXNzZWUgYW5k
IG1heSBjb250YWluIGluZm9ybWF0aW9uIHRoYXQgaXMgcHJpdmlsZWdlZCBhbmQgY29uZmlkZW50
aWFsLiBJZiB0aGUgcmVhZGVyIG9mIHRoZSBtZXNzYWdlIGlzIG5vdCB0aGUgaW50ZW5kZWQgcmVj
aXBpZW50IG9yIGFuIGF1dGhvcml6ZWQgcmVwcmVzZW50YXRpdmUgb2YgdGhlIGludGVuZGVkIHJl
Y2lwaWVudCwgeW91IGFyZSBoZXJlYnkgbm90aWZpZWQgdGhhdCBhbnkgZGlzc2VtaW5hdGlvbiBv
ZiB0aGlzIGNvbW11bmljYXRpb24gaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IGhhdmUg
cmVjZWl2ZWQgdGhpcyBjb21tdW5pY2F0aW9uIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHVzIGlt
bWVkaWF0ZWx5IGJ5IGUtbWFpbCBhbmQgZGVsZXRlIHRoZSBtZXNzYWdlIGFuZCBhbnkgYXR0YWNo
bWVudHMgZnJvbSB5b3VyIHN5c3RlbS4KPC9QPjwvRElWPgo8L2JvZHk+Cgo8L2h0bWw+Cg==

------_=_NextPart_001_01C90ED0.06F3B163--