[Zope-CMF] view_source on dogbowl?

Tres Seaver tseaver@palladion.com
Tue, 31 Jul 2001 23:12:28 -0400


This is a multi-part message in MIME format.
--------------060401070506090704000303
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Steve Spicklemire wrote:

> Hi (D/Z)C folk,
> 
> How hard would it be to add 'view_source' to the dogbowl, like Zope.org? 
> That might help newbies see how things are done...

Hmm, I guess that might be helpful;  the problem is that most of

the content is just that:  content, not code, so there is no "source"
view available (except STX, of course:)  CMF doesn't use DTMLMethods /
DTMLDocuments for content, as the main Zope site does (but not for long!)


The volume of "real" customizations to the CMF 1.1 skins is pretty
small, so you could browse the CMFDefault/skins directories for
most of it.  I'm attaching an export containing the current
customizations:

   - common.zexp has the contents of the "shared" customization
     (shared across all skins)

The 'localattr' ExternalMethod checks whether a folder has a
given name "locally":

   def localattr( self, name ):
       """
           Does self have 'name' w/o acquisition?
       """
       return hasattr( self.aq_base, name )

Tres.
-- 
===============================================================
Tres Seaver                                tseaver@zope.com
Zope Corporation      "Zope Dealers"       http://www.zope.com

--------------060401070506090704000303
Content-Type: application/octet-stream;
 name="common.zexp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="common.zexp"

WkVYUAAAAAAAAvoAAAAAAAAABWMoKFUdUHJvZHVjdHMuQ01GQ29yZS5Qb3J0YWxGb2xkZXJx
AVUMUG9ydGFsRm9sZGVycQJ0cQNOdC59cQQoVRRzdGFuZGFyZF9odG1sX2hlYWRlcnEFKFUI
AAAAAAADq45xBihVDk9GUy5EVE1MTWV0aG9kcQdVCkRUTUxNZXRob2RxCHR0UVUCaWRxCVUG
Y29tbW9ucQpVEl9fYWNfbG9jYWxfcm9sZXNfX3ELfXEMVQd0c2VhdmVycQ1dcQ5VBU93bmVy
cQ9hc1UKbG9naW5fZm9ybXEQKFUIAAAAAAAC9fxxEShoB1UKRFRNTE1ldGhvZHESdHRRVQhf
b2JqZWN0c3ETKH1xFChVCW1ldGFfdHlwZXEVVQ9FeHRlcm5hbCBNZXRob2RxFmgJVQlsb2Nh
bGF0dHJxF3V9cRgoaBVVC0RUTUwgTWV0aG9kcRloCVUQc3RhbmRhcmRfdG9wX2JhcnEadX1x
GyhoFWgZaAlVCmxvZ2luX2Zvcm1xHHV9cR0oaBVoGWgJVQhuZXdzX2JveHEedX1xHyhoFWgZ
aAlVC3JlY2VudF9uZXdzcSB1fXEhKFUJbWV0YV90eXBlcSJVD1NjcmlwdCAoUHl0aG9uKXEj
VQJpZHEkVQticmVhZGNydW1ic3EldX1xJihVCW1ldGFfdHlwZXEnVQtEVE1MIE1ldGhvZHEo
VQJpZHEpVRRzdGFuZGFyZF9odG1sX2hlYWRlcnEqdX1xKyhVCW1ldGFfdHlwZXEsVQtEVE1M
IE1ldGhvZHEtVQJpZHEuVQppbmRleF9odG1scS91fXEwKFUJbWV0YV90eXBlcTFVC0RUTUwg
TWV0aG9kcTJVAmlkcTNVBnNlYXJjaHE0dX1xNShVCW1ldGFfdHlwZXE2VQtEVE1MIE1ldGhv
ZHE3VQJpZHE4VQZyZXZpZXdxOXV9cTooVQltZXRhX3R5cGVxO1UPU2NyaXB0IChQeXRob24p
cTxVAmlkcT1VDHB1Ymxpc2hJdGVtc3E+dX1xPyhVCW1ldGFfdHlwZXFAVQ9TY3JpcHQgKFB5
dGhvbilxQVUCaWRxQlULcmVqZWN0SXRlbXNxQ3V9cUQoVQltZXRhX3R5cGVxRVULRFRNTCBN
ZXRob2RxRlUCaWRxR1ULc2VhcmNoX2Zvcm1xSHV0aEgoVQgAAAAAAAQYzXFJKGgHVQpEVE1M
TWV0aG9kcUp0dFFoHihVCAAAAAAAAvX+cUsoaAdVCkRUTUxNZXRob2RxTHR0UWggKFUIAAAA
AAAC9f9xTShoB1UKRFRNTE1ldGhvZHFOdHRRaD4oVQgAAAAAAAQUZHFPKFUjUHJvZHVjdHMu
UHl0aG9uU2NyaXB0cy5QeXRob25TY3JpcHRxUFUMUHl0aG9uU2NyaXB0cVF0dFFVCmluZGV4
X2h0bWxxUihVCAAAAAAAA/WvcVMoaAdVCkRUTUxNZXRob2RxVHR0UWhDKFUIAAAAAAAEE/5x
VShoUFUMUHl0aG9uU2NyaXB0cVZ0dFFoOShVCAAAAAAABBPzcVcoaAdVCkRUTUxNZXRob2Rx
WHR0UWglKFUIAAAAAAADq0dxWShoUFUMUHl0aG9uU2NyaXB0cVp0dFFVBXRpdGxlcVtVAGgX
KFUIAAAAAAAC9fpxXChVJlByb2R1Y3RzLkV4dGVybmFsTWV0aG9kLkV4dGVybmFsTWV0aG9k
cV1VDkV4dGVybmFsTWV0aG9kcV50dFFVBnNlYXJjaHFfKFUIAAAAAAAD9npxYChoB1UKRFRN
TE1ldGhvZHFhdHRRaBooVQgAAAAAAAL1+3FiKGgHVQpEVE1MTWV0aG9kcWN0dFF1LgAAAAAA
A6uOAAAAAAAACBgoKFUOT0ZTLkRUTUxNZXRob2RxAVUKRFRNTE1ldGhvZHECdHEDTnQufXEE
KFUSX19hY19sb2NhbF9yb2xlc19fcQV9cQZVB3RzZWF2ZXJxB11xCFUFT3duZXJxCWFzVQhf
X25hbWVfX3EKVRRzdGFuZGFyZF9odG1sX2hlYWRlcnELVQV0aXRsZXEMVQBVB2dsb2JhbHNx
DX1xDlUGX293bmVycQ8oXXEQVQlhY2xfdXNlcnNxEWFoB3RxElUDcmF3cRNUQAcAADxkdG1s
LWlmICJfLmhhc2F0dHIodGhpcygpLCdpc0VmZmVjdGl2ZScpIGFuZCBub3QgaXNFZmZlY3Rp
dmUoIFpvcGVUaW1lKCkgKSI+CjxkdG1sLXVubGVzcyAicG9ydGFsX21lbWJlcnNoaXAuY2hl
Y2tQZXJtaXNzaW9uKCdSZXF1ZXN0IHJldmlldycsdGhpcygpKQogICAgICAgICAgIG9yIHBv
cnRhbF9tZW1iZXJzaGlwLmNoZWNrUGVybWlzc2lvbignUmV2aWV3IHBvcnRhbCBjb250ZW50
Jyx0aGlzKCkpIj4KPGR0bWwtdmFyICJSRVNQT05TRS51bmF1dGhvcml6ZWQoKSI+CjwvZHRt
bC11bmxlc3M+CjwvZHRtbC1pZj4KPGh0bWw+CiA8aGVhZD4gIAogIDx0aXRsZT48ZHRtbC13
aXRoIHBvcnRhbF9wcm9wZXJ0aWVzPiZkdG1sLXRpdGxlOzwvZHRtbC13aXRoCiAgPjxkdG1s
LWlmIG5hbWU9IlRpdGxlIj46ICZkdG1sLVRpdGxlOzwvZHRtbC1pZj48L3RpdGxlPgogIDxk
dG1sLXZhciBjc3NfaW5saW5lX29yX2xpbms+CiAgPGR0bWwtaWYgcmVsYXRpdmVfdG9fY29u
dGVudD4KICAgPGJhc2UgaHJlZj0iJmR0bWwtYWJzb2x1dGVfdXJsOyIgLz4KICA8L2R0bWwt
aWY+CiA8L2hlYWQ+Cjxib2R5Pgo8ZHRtbC12YXIgc3RhbmRhcmRfdG9wX2Jhcj4KCjx0YWJs
ZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9
IjAiPgogIDx0cj4KICAgPCEtLSBWZXJ0aWNhbCB3aGl0ZXNwYWNlIC0tPgogICA8dGQgY29s
c3Bhbj0iNCI+PGJyIC8+PC90ZD4KICA8L3RyPgoKICA8dHIgdmFsaWduPSJ0b3AiPgogICA8
dGQgY2xhc3M9IlNpZGVCYXIiIHdpZHRoPSIxNSUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRv
cCI+CiAgICA8ZHRtbC1jb21tZW50PiAgTWVudSBpcyBub3cgaW4gdG9wIGJhci4KICAgIDxk
dG1sLXZhciBtZW51PiA8YnIgLz4KICAgIDwvZHRtbC1jb21tZW50PgogICAgPGR0bWwtdmFy
IGFjdGlvbnNfYm94PgogICA8L3RkPgoKICAgPCEtLSBIb3Jpem9udGFsIHdoaXRlc3BhY2Ug
LS0+CiAgIDx0ZCB3aWR0aD0iMSUiPiZuYnNwOzwvdGQ+CgogICA8dGQgY2xhc3M9IkRlc2t0
b3AiIGNvbHNwYW49IjIiIHdpZHRoPSI4NCUiIHZhbGlnbj0idG9wIj4KCiAgIDxkdG1sLWlm
ICJub3QgcG9ydGFsX21lbWJlcnNoaXAuaXNBbm9ueW1vdXNVc2VyKCkgYW5kCiAgICAgICAg
ICAgICBub3QgXy5oYXNhdHRyKHBvcnRhbF9tZW1iZXJzaGlwLmdldEF1dGhlbnRpY2F0ZWRN
ZW1iZXIoKSwKICAgICAgICAgICAgICdnZXRNZW1iZXJJZCcpIj4KICAgPGRpdiBjbGFzcz0i
QXV0aFdhcm5pbmciPgogICAgPHRhYmxlPgogICAgIDx0ciBjbGFzcz0iSG9zdCI+CiAgICAg
IDx0ZD4gV2FybmluZyEgPC90ZD4KICAgICA8dHI+CiAgICAgIDx0ZD4gWW91IGFyZSBwcmVz
ZW50bHkgbG9nZ2VkIGluIGFzIGEgdXNlciBmcm9tIG91dHNpZGUKICAgICAgICAgICB0aGlz
IHBvcnRhbC4gIE1hbnkgcGFydHMgb2YgdGhlIHBvcnRhbCB3aWxsIG5vdCB3b3JrIQogICAg
ICAgICAgIFlvdSBtYXkgaGF2ZSB0byBzaHV0IGRvd24gYW5kIHJlbGF1bmNoIHlvdXIgYnJv
d3NlciB0bwogICAgICAgICAgIGxvZyBvdXQsIGRlcGVuZGluZyBvbiBob3cgeW91IG9yaWdp
bmFsbHkgbG9nZ2VkIGluLgogICAgICA8L3RkPgogICAgIDwvdHI+CiAgICA8L3RhYmxlPgog
ICA8L2Rpdj4KICAgPC9kdG1sLWlmPgoKICAgPGR0bWwtaWYgcG9ydGFsX3N0YXR1c19tZXNz
YWdlPgogICAgPHAgY2xhc3M9IkRlc2t0b3BTdGF0dXNCYXIiPiZkdG1sLXBvcnRhbF9zdGF0
dXNfbWVzc2FnZTs8L3A+CiAgIDwvZHRtbC1pZj4KCiAgIDxkdG1sLWlmIGxvY2FsSGVhZGVy
PgogICAgPGR0bWwtdmFyIGxvY2FsSGVhZGVyPgogICA8L2R0bWwtaWY+CgogICA8ZHRtbC12
YXIgYnJlYWRjcnVtYnM+cRRVBV92YXJzcRV9cRZ1LgAAAAAAAvX8AAAAAAAABoEoKFUOT0ZT
LkRUTUxNZXRob2RxAVUKRFRNTE1ldGhvZHECdHEDTnQufXEEKFUFdGl0bGVxBVUAVQNyYXdx
BlTXBQAAPGR0bWwtdmFyIHN0YW5kYXJkX2h0bWxfaGVhZGVyPgoKPGgxIGNsYXNzPSJEZXNr
dG9wVGl0bGUiPgogTG9nIGluCjwvaDE+Cgo8Zm9ybSBhY3Rpb249IiZkdG1sLnVybC1sb2dn
ZWRfaW47IiBtZXRob2Q9InBvc3QiPgoKPCEtLSAqKioqKiogRW5hYmxlIHRoZSBhdXRvbWF0
aWMgcmVkaXJlY3QgKioqKiogLS0+CjxkdG1sLWlmIG5hbWU9ImNhbWVfZnJvbSI+CiAgPGlu
cHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY2FtZV9mcm9tIiB2YWx1ZT0iJmR0bWwtY2FtZV9m
cm9tOyI+CjwvZHRtbC1pZj4KPCEtLSAqKioqKiogRW5hYmxlIHRoZSBhdXRvbWF0aWMgcmVk
aXJlY3QgKioqKiogLS0+Cgo8dGFibGUgY2xhc3M9IkZvcm1MYXlvdXQiPgo8dHI+CiAgPHRk
IGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+CiAgPHN0cm9uZz5OYW1lPC9zdHJvbmc+CiAg
PC90ZD4KICA8dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KICA8aW5wdXQgdHlwZT0i
VEVYVCIgbmFtZT0iX19hY19uYW1lIiBzaXplPSIyMCIKICAgdmFsdWU9IjxkdG1sLXZhciAi
UkVRVUVTVC5nZXQoJ19fYWNfbmFtZScsICcnKSI+Ij4KICA8L3RkPgo8L3RyPgo8dHI+CiAg
PHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+CiAgPHN0cm9uZz5QYXNzd29yZDwvc3Ry
b25nPgogIDwvdGQ+CiAgPHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+CiAgPGlucHV0
IHR5cGU9IlBBU1NXT1JEIiBuYW1lPSJfX2FjX3Bhc3N3b3JkIiBzaXplPSIyMCI+CiAgPC90
ZD4KPC90cj4KCjx0ciB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPgo8dGQ+PC90ZD4KPHRk
PjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iX19hY19wZXJzaXN0ZW50IiB2YWx1ZT0i
MSIgY2hlY2tlZD4KUmVtZW1iZXIgbXkgbmFtZS4KPC90ZD48L3RyPgoKPHRyPgogIDx0ZCBh
bGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgogIDwvdGQ+CiAgPHRkIGFsaWduPSJsZWZ0IiB2
YWxpZ249InRvcCI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ic3VibWl0IiB2YWx1
ZT0iIExvZ2luICI+CiAgPC90ZD4KPC90cj4KCjwvdGFibGU+CjwvZm9ybT4KCjxwPjxhIGhy
ZWY9IiZkdG1sLnVybC1tYWlsX3Bhc3N3b3JkX2Zvcm07Ij5JIGZvcmdvdCBteSBwYXNzd29y
ZCE8L2E+PC9wPgoKPHA+CkhhdmluZyB0cm91YmxlIGxvZ2dpbmcgaW4/IE1ha2Ugc3VyZSB0
byBlbmFibGUgY29va2llcyBpbiB5b3VyIHdlYiBicm93c2VyLgo8L3A+Cgo8cD5Eb24ndCBm
b3JnZXQgdG8gbG9nb3V0IG9yIGV4aXQgeW91ciBicm93c2VyIHdoZW4geW91J3JlIGRvbmUu
CjwvcD4KCjxwPgpTZXR0aW5nIHRoZSAnUmVtZW1iZXIgbXkgbmFtZScgb3B0aW9uIHdpbGwg
c2V0IGEgY29va2llIHdpdGggeW91ciB1c2VybmFtZSwKc28gdGhhdCB3aGVuIHlvdSBuZXh0
IGxvZyBpbiwgeW91ciB1c2VyIG5hbWUgd2lsbCBhbHJlYWR5IGJlIGZpbGxlZCBpbiBmb3Ig
eW91Lgo8L3A+Cgo8ZHRtbC12YXIgc3RhbmRhcmRfaHRtbF9mb290ZXI+CnEHVRJfX2FjX2xv
Y2FsX3JvbGVzX19xCH1xCVUEamVuc3EKXXELVQVPd25lcnEMYXNVB2dsb2JhbHNxDX1xDlUI
X19uYW1lX19xD1UKbG9naW5fZm9ybXEQVQVfdmFyc3ERfXESdS4AAAAAAAQYzQAAAAAAAA9A
KChVDk9GUy5EVE1MTWV0aG9kcQFVCkRUTUxNZXRob2RxAnRxA050Ln1xBChVEl9fYWNfbG9j
YWxfcm9sZXNfX3EFfXEGVQR6b3BlcQddcQhVBU93bmVycQlhc1UIX19uYW1lX19xClULc2Vh
cmNoX2Zvcm1xC1UFdGl0bGVxDFUAVQdnbG9iYWxzcQ19cQ5VBl9vd25lcnEPKF1xEChVA0NN
RnERVQlhY2xfdXNlcnNxEmVoB3RxE1UDcmF3cRRUbA4AAENvbnRlbnQtdHlwZTogdGV4dC9o
dG1sCgo8ZHRtbC12YXIgc3RhbmRhcmRfaHRtbF9oZWFkZXI+Cgo8ZGl2IGNsYXNzPSJEZXNr
dG9wIj4KCjxoMT4gU2VhcmNoIHBvcnRhbCA8L2gxPgoKPGZvcm0gYWN0aW9uPSJzZWFyY2gi
PgoKPHRhYmxlIGNsYXNzPSJGb3JtTGF5b3V0Ij4KCjxkdG1sLWlmICJwb3J0YWxfbWVtYmVy
c2hpcC5jaGVja1Blcm1pc3Npb24oJ1JldmlldyBwb3J0YWwgY29udGVudCcsIHRoaXMoKSki
PgogPHRyPgogIDx0aD4gUmV2aWV3IFN0YXR1cwogIDwvdGg+CiAgPHRkPgogICA8c2VsZWN0
IG5hbWU9InJldmlld19zdGF0ZSIgc2l6ZT0iMyIgbXVsdGlwbGU+CiAgICA8b3B0aW9uPnBy
aXZhdGU8L29wdGlvbj4KICAgIDxvcHRpb24+cGVuZGluZzwvb3B0aW9uPgogICAgPG9wdGlv
bj5wdWJsaXNoZWQ8L29wdGlvbj4KICAgPC9zZWxlY3Q+CiAgIDxkbCBjbGFzcz0iRmllbGRI
ZWxwIj4KICAgIDxkZD4gQXMgYSByZXZpZXdlciwgeW91IG1heSBzZWFyY2ggZm9yIGl0ZW1z
IGJhc2VkIG9uIHRoZWlyCiAgICAgICAgIHJldmlldyBzdGF0ZS4gIElmIHlvdSB3aXNoIHRv
IGNvbnN0cmFpbiByZXN1bHRzIHRvIGl0ZW1zCiAgICAgICAgIGluIGNlcnRhaW4gc3RhdGVz
LCBzZWxlY3QgdGhlbSBmcm9tIHRoaXMgbGlzdC4KICAgIDwvZGQ+CiAgIDwvZGw+CiAgPC90
ZD4KIDwvdHI+CjwvZHRtbC1pZj4KIAogPHRyIHZhbGlnbj0idG9wIj4KICA8dGg+IEZ1bGwg
VGV4dAogIDwvdGg+CiAgPHRkPgogICAgPGlucHV0IG5hbWU9IlNlYXJjaGFibGVUZXh0IiBz
aXplPSI0MCI+CiAgIDxkbCBjbGFzcz0iRmllbGRIZWxwIj4KICAgIDxkZD4gRm9yIGEgc2lt
cGxlIHRleHQgc2VhcmNoLCBlbnRlciB5b3VyIHNlYXJjaCB0ZXJtCiAgICAgICAgIGhlcmUu
ICBNdWx0aXBsZSB3b3JkcyBtYXkgYmUgZm91bmQgYnkgY29tYmluaW5nCiAgICAgICAgIHRo
ZW0gd2l0aCA8Yj5BTkQ8L2I+IGFuZCA8Yj5PUjwvYj4uICBUaGlzIHdpbGwKICAgICAgICAg
ZmluZCB0ZXh0IGluIGl0ZW1zJyBjb250ZW50cywgdGl0bGUgYW5kCiAgICAgICAgIGRlc2Ny
aXB0aW9uLgogICAgPC9kZD4KICAgPC9kbD4KICA8L3RkPgogPC90cj4KCiA8dHI+CiAgPHRo
PlRpdGxlCiAgPC90aD4KICA8dGQ+CiAgIDxpbnB1dCBuYW1lPSJUaXRsZSIgc2l6ZT0iMjAi
PgogIDwvdGQ+CiA8L3RyPgoKIDx0ciB2YWxpZ249InRvcCI+CiAgPHRoPlN1YmplY3Q8L3Ro
PgogIDx0ZD4KICAgPHNlbGVjdCBuYW1lPSJTdWJqZWN0Omxpc3QiIG11bHRpcGxlIHNpemU9
IjQiPgogICAgPGR0bWwtaW4gZXhwcj0icG9ydGFsX2NhdGFsb2cudW5pcXVlVmFsdWVzRm9y
KCAnU3ViamVjdCcgKSI+CiAgICAgPG9wdGlvbiB2YWx1ZT0iJmR0bWwtc2VxdWVuY2UtaXRl
bTsiPiAmZHRtbC1zZXF1ZW5jZS1pdGVtOyA8L29wdGlvbj4KICAgIDwvZHRtbC1pbj4KICAg
PC9zZWxlY3Q+CiAgPC90ZD4KIDwvdHI+CgogPHRyPgogIDx0aD4gRGVzY3JpcHRpb24KICA8
L3RoPgogIDx0ZD4KICAgPGlucHV0IG5hbWU9IkRlc2NyaXB0aW9uIiBzaXplPSIyMCI+CiAg
IDxkbCBjbGFzcz0iRmllbGRIZWxwIj4KICAgIDxkZD4gWW91IG1heSBhbHNvIHNlYXJjaCB0
aGUgaXRlbXMnIGRlc2NyaXB0aW9ucyBhbmQKICAgICAgICAgdGl0bGVzIHNwZWNpZmljYWxs
eS4gIE11bHRpcGxlIHdvcmRzIG1heSBiZSBmb3VuZAogICAgICAgICBieSBjb21iaW5pbmcg
dGhlbSB3aXRoIDxiPkFORDwvYj4gYW5kIDxiPk9SPC9iPi4KICAgIDwvZGQ+CiAgIDwvZGw+
CiAgPC90ZD4KIDwvdHI+CgogPHRyPgogIDx0aD4gRmluZCBuZXcgaXRlbXMgc2luY2UuLi4K
ICA8L3RoPgogIDx0ZD4KICAgPHNlbGVjdCBuYW1lPSJjcmVhdGVkOmRhdGUiPgogICAgPGR0
bWwtaWYgIm5vdCBwb3J0YWxfbWVtYmVyc2hpcC5pc0Fub255bW91c1VzZXIoKSI+CiAgICA8
ZHRtbC1sZXQgbWVtYmVyPSJwb3J0YWxfbWVtYmVyc2hpcC5nZXRBdXRoZW50aWNhdGVkTWVt
YmVyKCkiCiAgICAgICAgICAgICAgbGFzdExvZ2luPSJtZW1iZXIubGFzdF9sb2dpbl90aW1l
IgogICAgPgogICAgPG9wdGlvbiB2YWx1ZT0iJmR0bWwtbGFzdExvZ2luOyI+ICAgICBMYXN0
IGxvZ2luIDwvb3B0aW9uPgogICAgPC9kdG1sLWxldD4KICAgIDwvZHRtbC1pZj4KICAgIDxk
dG1sLWxldCB0b2RheT0iWm9wZVRpbWUoKS5lYXJsaWVzdFRpbWUoKSIKICAgICAgICAgICAg
ICB5ZXN0ZXJkYXk9Iih0b2RheS0xKS5EYXRlKCkiCiAgICAgICAgICAgICAgbGFzdFdlZWs9
Iih0b2RheS03KS5EYXRlKCkiCiAgICAgICAgICAgICAgbGFzdE10aD0iKHRvZGF5LTMxKS5E
YXRlKCkiCiAgICAgICAgICAgICAgZXZlcj0iJzE5NzAvMDEvMDEgMDA6MDA6MDAgR01UJyIK
ICAgID4KICAgIDxvcHRpb24gdmFsdWU9IiZkdG1sLXllc3RlcmRheTsiPiAgICAgWWVzdGVy
ZGF5ICAgPC9vcHRpb24+CiAgICA8b3B0aW9uIHZhbHVlPSImZHRtbC1sYXN0V2VlazsiPiAg
ICAgIExhc3Qgd2VlayAgIDwvb3B0aW9uPgogICAgPG9wdGlvbiB2YWx1ZT0iJmR0bWwtbGFz
dE10aDsiPiAgICAgICBMYXN0IG1vbnRoICA8L29wdGlvbj4KICAgIDxvcHRpb24gdmFsdWU9
IiZkdG1sLWV2ZXI7IiBzZWxlY3RlZD4gRXZlciAgICAgICAgPC9vcHRpb24+CiAgICA8L2R0
bWwtbGV0PgogICA8L3NlbGVjdD4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY3Jl
YXRlZF91c2FnZSIgdmFsdWU9InJhbmdlOm1pbiI+CiAgIDxkbCBjbGFzcz0iRmllbGRIZWxw
Ij4KICAgIDxkZD4gWW91IG1heSBmaW5kIG9ubHkgcmVjZW50IGl0ZW1zIGJ5IHNlbGVjdGlu
ZyBhIHRpbWUtZnJhbWUuCiAgICA8L2RkPgogICA8L2RsPgogIDwvdGQ+CiA8L3RyPgoKIDx0
cj4KICA8dGg+IEl0ZW0gdHlwZQogIDwvdGg+CiAgPHRkPgogICA8c2VsZWN0IG5hbWU9IlR5
cGU6bGlzdCIgbXVsdGlwbGUgc2l6ZT0iNSI+CiAgICA8ZHRtbC1pbiBleHByPSJwb3J0YWxf
dHlwZXMubGlzdENvbnRlbnRUeXBlcygpIj4KICAgICA8b3B0aW9uPjxkdG1sLXZhciBzZXF1
ZW5jZS1pdGVtPjwvb3B0aW9uPgogICAgPC9kdG1sLWluPgogICA8L3NlbGVjdD4KCiAgIDxk
bCBjbGFzcz0iRmllbGRIZWxwIj4KICAgIDxkZD4gWW91IG1heSBsaW1pdCB5b3VyIHJlc3Vs
dHMgdG8gcGFydGljdWxhciBraW5kcyBvZgogICAgICAgICBpdGVtcyBieSBzZWxlY3Rpbmcg
dGhlbSBhYm92ZS4gIFRvIGZpbmQgYWxsIGtpbmRzCiAgICAgICAgIG9mIGl0ZW1zLCBkbyBu
b3Qgc2VsZWN0IGFueXRoaW5nLgogICAgPC9kZD4KICAgPC9kbD4KICA8L3RkPgogPC90cj4K
CiA8dHI+CiAgPHRoPiBDcmVhdG9yCiAgPC90aD4KICA8dGQ+CiAgIDxpbnB1dCBuYW1lPSJD
cmVhdG9yIiBzaXplPSIyMCI+CgogICA8ZGwgY2xhc3M9IkZpZWxkSGVscCI+CiAgICA8ZGQ+
IFRvIGZpbmQgaXRlbXMgYnkgYSBwYXJ0aWN1bGFyIHVzZXIgb25seSwgZW50ZXIKICAgICAg
ICAgdGhlaXIgdXNlcm5hbWUgYWJvdmUuICBOb3RlIHRoYXQgeW91IG11c3QgZW50ZXIKICAg
ICAgICAgdGhlaXIgdXNlcm5hbWUgPGk+ZXhhY3RseTwvaT4uCiAgICA8L2RkPgogICA8L2Rs
PgogIDwvdGQ+CiA8L3RyPgoKIDx0cj4KICA8dGQ+PGJyPjwvdGQ+CiAgPHRkPgogICAgPGlu
cHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCI+CiAgPC90ZD4KIDwvdHI+CjwvdGFi
bGU+CjwvZm9ybT4KCjwvZGl2PgoKPGR0bWwtdmFyIHN0YW5kYXJkX2h0bWxfZm9vdGVyPgoK
cRVVBV92YXJzcRZ9cRd1LgAAAAAAAvX+AAAAAAAABKwoKFUOT0ZTLkRUTUxNZXRob2RxAVUK
RFRNTE1ldGhvZHECdHEDTnQufXEEKFUFdGl0bGVxBVUAVQNyYXdxBlQBBAAAIDx0YWJsZSBj
bGFzcz0iTmV3c0l0ZW1zIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGJvcmRl
cj0iMCIgd2lkdGg9IjEwMCUiPgogIDx0cj4KICAgPHRkIGNsYXNzPSJOZXdzQm9yZGVyIiB3
aWR0aD0iMSIgcm93c3Bhbj0iMTUiIGJnY29sb3I9IiM2Njk5Q0MiPgogICAgPGltZyBzcmM9
IkltYWdlcy9zcGFjZXIuZ2lmIiBhbHQ9IiAiCiAgICAgICAgIHdpZHRoPSIxIiBoZWlnaHQ9
IjIiIGJvcmRlcj0iMCI+CiAgIDwvdGQ+CiAgIDx0ZCB2YWxpZ249InRvcCIgY2xhc3M9Ik5l
d3NUaXRsZSIgd2lkdGg9IjEwMCUiPgogICAgIDxiPk5ld3M8L2I+CiAgIDwvdGQ+CiAgPC90
cj4KCiAgPGR0bWwtaW4gInBvcnRhbF9jYXRhbG9nLnNlYXJjaFJlc3VsdHMoIG1ldGFfdHlw
ZT0nTmV3cyBJdGVtJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LCBzb3J0X29uPSdjcmVhdGVkJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLCBzb3J0X29yZGVyPSdyZXZlcnNlJwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLCByZXZpZXdfc3RhdGU9J3B1Ymxpc2hlZCcKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkiIHNpemU9IjEwIj4KICA8dHIgY2xhc3M9
Ik5ld3NJdGVtUm93Ij4KICAgPHRkIHZhbGlnbj0idG9wIj4KICAgIDxhIGhyZWY9IjxkdG1s
LXZhciAiZ2V0VVJMKCkiCiAgICA+Ij4gJmR0bWwtVGl0bGU7IDwvYT48YnI+CiAgICA8ZHRt
bC12YXIgRGF0ZT4KICAgPC90ZD4KICA8L3RyPgogIDxkdG1sLWVsc2U+CiAgPHRyIGNsYXNz
PSJOZXdzSXRlbVJvdyI+CiAgIDx0ZCB2YWxpZ249InRvcCI+CiAgICAgTm8gbmV3cyBpcyBu
byBuZXdzLgogICA8L3RkPgogIDwvdHI+CiAgPC9kdG1sLWluPgoKICA8dHIgY2xhc3M9Ik5l
d3NJdGVtUm93Ij4KICAgPHRkPgogICAgIDxhIGhyZWY9IiZkdG1sLnVybC1yZWNlbnRfbmV3
czsiPk1vcmUuLi48L2E+CiAgIDwvdGQ+CiAgPC90cj4KCiA8L3RhYmxlPgpxB1USX19hY19s
b2NhbF9yb2xlc19fcQh9cQlVB3RzZWF2ZXJxCl1xC1UFT3duZXJxDGFzVQdnbG9iYWxzcQ19
cQ5VCF9fbmFtZV9fcQ9VCG5ld3NfYm94cRBVBV92YXJzcRF9cRJ1LgAAAAAAAvX/AAAAAAAA
BjooKFUOT0ZTLkRUTUxNZXRob2RxAVUKRFRNTE1ldGhvZHECdHEDTnQufXEEKFUFdGl0bGVx
BVUAVQNyYXdxBlSNBQAAPGR0bWwtdmFyIHN0YW5kYXJkX2h0bWxfaGVhZGVyPgoKPGR0bWwt
bGV0IG5ld3NpdGVtcz0icG9ydGFsX2NhdGFsb2cuc2VhcmNoUmVzdWx0cyhtZXRhX3R5cGU9
J05ld3MgSXRlbScsCiAgc29ydF9vbj0nRGF0ZScsIHNvcnRfb3JkZXI9J3JldmVyc2UnLCBy
ZXZpZXdfc3RhdGU9J3B1Ymxpc2hlZCcpIj4KCjxkdG1sLWluIG5ld3NpdGVtcyBzaXplPSIx
MCIgc3RhcnQ9ImJhdGNoX3N0YXJ0IiBwcmV2aW91cz4KIDxwIHN0eWxlPSJEZXNrdG9wIj4K
IDxhIGhyZWY9IiZkdG1sLVVSTDsmZHRtbC1zZXF1ZW5jZS1xdWVyeTtiYXRjaF9zdGFydD0m
ZHRtbC1wcmV2aW91cy1zZXF1ZW5jZS1zdGFydC1udW1iZXI7Ij4KIE5leHQgJmR0bWwtcHJl
dmlvdXMtc2VxdWVuY2Utc2l6ZTsgbW9yZSByZWNlbnQgYXJ0aWNsZXMKIDwvYT4KIDwvcD4K
PC9kdG1sLWluPgoKPGR0bWwtaW4gbmV3c2l0ZW1zIHNpemU9IjEwIiBzdGFydD0iYmF0Y2hf
c3RhcnQiPgogPGR0bWwtaWYgc2VxdWVuY2Utc3RhcnQ+CiAgPHRhYmxlIGNlbGxzcGFjaW5n
PSIwIiBib3JkZXI9IjAiIHdpZHRoPSI5MCUiPgogPC9kdG1sLWlmPgogPHRyPgogIDx0ZCBj
bGFzcz0iTmV3c0xpc3RpbmciIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+CiAgIDxwIGNs
YXNzPSJOZXdzSGVhZGxpbmUiPjxhIGhyZWY9IjxkdG1sLXZhciAiZ2V0VVJMKCkiPiI+CiAg
ICAmZHRtbC10aXRsZTsKICAgPC9hPjxicj48c3BhbiBjbGFzcz0iTmV3c0J5TGluZSI+Qnkg
JmR0bWwtQ3JlYXRvcjs8L3NwYW4+CiAgIDwvcD4KICA8L3RkPgogIDx0ZCBjbGFzcz0iTmV3
c0xpc3RpbmciIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPgogICA8cCBjbGFzcz0iTmV3
c0RhdGVsaW5lIj4KICAgIDxkdG1sLXZhciBEYXRlPgogICA8L3A+CiAgPC90ZD4KIDwvdHI+
CiA8dHI+CiAgPHRkIGNvbHNwYW49IjIiPgogICA8cCBjbGFzcz0iTmV3c0xlYWRpbiI+CiAg
ICAmZHRtbC1EZXNjcmlwdGlvbjsKICAgPC9wPgogICA8cD4mbmJzcDs8L3A+CiAgPC90ZD4K
IDwvdHI+CiA8ZHRtbC1pZiBzZXF1ZW5jZS1lbmQ+CiAgPC90YWJsZT4KIDwvZHRtbC1pZj4K
PGR0bWwtZWxzZT4KIDxwIGNsYXNzPSJEZXNrdG9wIj4KICBObyBuZXdzIGlzIGdvb2QgbmV3
cyEKIDwvcD4KPC9kdG1sLWluPgoKPGR0bWwtaW4gbmV3c2l0ZW1zIHNpemU9IjEwIiBzdGFy
dD0iYmF0Y2hfc3RhcnQiIG5leHQ+CiA8cCBjbGFzcz0iRGVza3RvcCI+CiA8YSBocmVmPSIm
ZHRtbC1VUkw7JmR0bWwtc2VxdWVuY2UtcXVlcnk7YmF0Y2hfc3RhcnQ9JmR0bWwtbmV4dC1z
ZXF1ZW5jZS1zdGFydC1udW1iZXI7Ij4KIE5leHQgJmR0bWwtbmV4dC1zZXF1ZW5jZS1zaXpl
OyBvbGRlciBhcnRpY2xlcwogPC9hPgogPC9wPgo8L2R0bWwtaW4+Cgo8L2R0bWwtbGV0PgoK
PGR0bWwtdmFyIHN0YW5kYXJkX2h0bWxfZm9vdGVyPgpxB1USX19hY19sb2NhbF9yb2xlc19f
cQh9cQlVBmFuZHJld3EKXXELVQVPd25lcnEMYXNVB2dsb2JhbHNxDX1xDlUIX19uYW1lX19x
D1ULcmVjZW50X25ld3NxEFUFX3ZhcnNxEX1xEnUuAAAAAAAEFGQAAAAAAAAGICgoVSNQcm9k
dWN0cy5QeXRob25TY3JpcHRzLlB5dGhvblNjcmlwdHEBVQxQeXRob25TY3JpcHRxAnRxA050
Ln1xBChVCWZ1bmNfY29kZXEFKGNTaGFyZWQuREMuU2NyaXB0cy5TaWduYXR1cmUKRnVuY0Nv
ZGUKcQZvcQd9cQgoVQtjb192YXJuYW1lc3EJKFUFaXRlbXNxClUHY29tbWVudHELVQd3Zl90
b29scQxVBHBhdGhxDVUGb2JqZWN0cQ5VDSRsb29wX3dhdGNoZXJxD1ULJHJlYWRfZ3VhcmRx
EFUMJHdyaXRlX2d1YXJkcRFVBiRndWFyZHESdFULY29fYXJnY291bnRxE0sCdWJVB19wYXJh
bXNxFFURaXRlbXMsIGNvbW1lbnQ9JydxFVUCaWRxFlUMcHVibGlzaEl0ZW1zcRdVEl9fYWNf
bG9jYWxfcm9sZXNfX3EYfXEZVQd0c2VhdmVycRpdcRtVBU93bmVycRxhc1UCX3RxHShoF04o
SwJLCUsHSwNVznQMAH0FAHwFAIMAAAF0DQB9BgB0DgB9BwB0DwB9CAB/AQB/AgB8BgB0AACD
AQBpAQB9AgB/AwB4UQB8AABkAQB/AwByRAB9AwB/BAB8BgB0AACDAQBpBQB8AwCDAQB9BAB/
BQB8BgB8AgCDAQBpBwB8BABkAgBkAwB8AQCDAgEBfAUAgwAAAXFAAFd/BwB8BgB8BgB8BgB0
AACDAQBpCQCDAQBkBAAZgwEAaQoAZAUAfAYAdAAAgwEAaQsAgwAAZAYAZgIAFoMBAAFkAABT
cR4oTksAVQdwdWJsaXNocR9oC1UIUkVTUE9OU0VxIFUMJXMvcmV2aWV3PyVzcSFVJnBvcnRh
bF9zdGF0dXNfbWVzc2FnZT1JdGVtcytwdWJsaXNoZWQucSJ0cSMoVQdjb250ZXh0cSRVD3Bv
cnRhbF93b3JrZmxvd3ElaAxoCmgNVRJyZXN0cmljdGVkVHJhdmVyc2VxJmgOVQtkb0FjdGlv
bkZvcnEnaAtVB1JFUVVFU1RxKFUIcmVkaXJlY3RxKVUKcG9ydGFsX3VybHEqaA9oEGgRaBJ0
cSsoaApoC2gMaA1oDmgPaBBoEWgSdHEsVQ9TY3JpcHQgKFB5dGhvbilxLWgXSwFVDAMBDAEM
AAkBEgEdAnEuKXQoVQB0cS99cTB0cTFVBV9ib2R5cTJUcwEAAHdmX3Rvb2wgPSBjb250ZXh0
LnBvcnRhbF93b3JrZmxvdyAjIFhYWCBnZXRUb29sQnlOYW1lCmZvciBwYXRoIGluIGl0ZW1z
OgogICAgb2JqZWN0ID0gY29udGV4dC5yZXN0cmljdGVkVHJhdmVyc2UoIHBhdGggKQogICAg
d2ZfdG9vbC5kb0FjdGlvbkZvciggb2JqZWN0LCAncHVibGlzaCcsIGNvbW1lbnQ9Y29tbWVu
dCApCgpjb250ZXh0LlJFUVVFU1RbICdSRVNQT05TRScgXS5yZWRpcmVjdCggJyVzL3Jldmll
dz8lcycKICAgICAgICAgICAgICAgICAgICUgKCBjb250ZXh0LnBvcnRhbF91cmwoKQogICAg
ICAgICAgICAgICAgICAgICAsICdwb3J0YWxfc3RhdHVzX21lc3NhZ2U9SXRlbXMrcHVibGlz
aGVkLicKICAgICAgICAgICAgICAgICAgICAgKSApcTNVC19iaW5kX25hbWVzcTQoY1NoYXJl
ZC5EQy5TY3JpcHRzLkJpbmRpbmdzCk5hbWVBc3NpZ25tZW50cwpxNW9xNn1xN1UGX2FzZ25z
cTh9cTkoVQ5uYW1lX2NvbnRhaW5lcnE6VQljb250YWluZXJxO1UMbmFtZV9zdWJwYXRocTxV
EHRyYXZlcnNlX3N1YnBhdGhxPVULbmFtZV9tX3NlbGZxPlUGc2NyaXB0cT9VDG5hbWVfY29u
dGV4dHFAVQdjb250ZXh0cUF1c2JVBl9vd25lcnFCKF1xQ1UJYWNsX3VzZXJzcURhaBp0cUVV
DFB5dGhvbl9tYWdpY3FGVQSZTg0KcUdVDWZ1bmNfZGVmYXVsdHNxSChVAHRxSXUuAAAAAAAD
9a8AAAAAAAAImCgoVQ5PRlMuRFRNTE1ldGhvZHEBVQpEVE1MTWV0aG9kcQJ0cQNOdC59cQQo
VRJfX2FjX2xvY2FsX3JvbGVzX19xBX1xBlUGanNoZWxscQddcQhVBU93bmVycQlhc1UIX19u
YW1lX19xClUKaW5kZXhfaHRtbHELVQV0aXRsZXEMVQBVB2dsb2JhbHNxDX1xDlUGX293bmVy
cQ8oXXEQVQlhY2xfdXNlcnNxEWFVB3RzZWF2ZXJxEnRxE1UDcmF3cRRUwgcAADxkdG1sLXZh
ciBzdGFuZGFyZF9odG1sX2hlYWRlcj4KCjxkdG1sLWlmICJsb2NhbGF0dHIoICdsb2NhbF9o
dG1sJyApIj4KPCEtLSBsb2NhbGF0dHIgLS0+CjxkdG1sLXZhciBsb2NhbF9odG1sPgo8ZHRt
bC1lbHNlPgoKPGgyPjxkdG1sLXZhciB0aXRsZV9vcl9pZD48L2gyPgoKPGR0bWwtaWYgRGVz
Y3JpcHRpb24+CiA8YmxvY2txdW90ZT48ZHRtbC12YXIgRGVzY3JpcHRpb24gZm10PSJzdHJ1
Y3R1cmVkLXRleHQiPjwvYmxvY2txdW90ZT4KPC9kdG1sLWlmIERlc2NyaXB0aW9uPgoKPGR0
bWwtbGV0IGZvbGRlcl91cmw9YWJzb2x1dGVfdXJsPgoKPGR0bWwtaW4gZXhwcj0ib2JqZWN0
VmFsdWVzKCBbICdEb2N1bWVudCcsICdOZXdzIEl0ZW0nLCAnUG9ydGFsIEltYWdlJywgJ1Bv
cnRhbCBGaWxlJyBdICkiCiAgICAgICAgIHNraXBfdW5hdXRob3JpemVkPgo8ZHRtbC1pZiBz
ZXF1ZW5jZS1zdGFydD4KPGgzPiBEb2N1bWVudHMsIEltYWdlcywgYW5kIEZpbGVzIDwvaDM+
Cgo8dWw+CjwvZHRtbC1pZj4KIDxsaT4gCiAgPGEgaHJlZj0iJmR0bWwtYWJzb2x1dGVfdXJs
OyI+PGltZyBhbGlnbj0ibWlkZGxlIiBzcmM9IiZkdG1sLXBvcnRhbF91cmw7LyZkdG1sLWdl
dEljb247IiBhbHQ9IiZkdG1sLVR5cGU7IiB0aXRsZT0iJmR0bWwtVHlwZTsiIGJvcmRlcj0i
MCI+PC9hPgogIDxhIGhyZWY9IiZkdG1sLWFic29sdXRlX3VybDsiPiA8ZHRtbC12YXIgVGl0
bGU+IDwvYT4KIDxkdG1sLWlmIG5hbWU9IkRlc2NyaXB0aW9uIj4KICAgPGJsb2NrcXVvdGU+
PGR0bWwtdmFyIERlc2NyaXB0aW9uIGZtdD0ic3RydWN0dXJlZC10ZXh0Ij48L2Jsb2NrcXVv
dGU+CiA8L2R0bWwtaWY+CiA8L2xpPgo8ZHRtbC1pZiBzZXF1ZW5jZS1lbmQ+CjwvdWw+Cjwv
ZHRtbC1pZj4KPC9kdG1sLWluPgoKPGR0bWwtaW4gZXhwcj0ib2JqZWN0VmFsdWVzKCBbICdM
aW5rJywnRmF2b3JpdGUnIF0gKSIgc2tpcF91bmF1dGhvcml6ZWQ+CjxkdG1sLWlmIHNlcXVl
bmNlLXN0YXJ0Pgo8aDM+IExpbmtzIDwvaDM+Cgo8dWw+CjwvZHRtbC1pZj4KIDxsaT4gCiAg
PGEgaHJlZj0iJmR0bWwtYWJzb2x1dGVfdXJsOyI+PGltZyBhbGlnbj0ibWlkZGxlIiBzcmM9
IiZkdG1sLXBvcnRhbF91cmw7LyZkdG1sLWdldEljb247IiBhbHQ9IiZkdG1sLVR5cGU7IiB0
aXRsZT0iJmR0bWwtVHlwZTsiIGJvcmRlcj0iMCI+PC9hPgogIDxhIGhyZWY9IiZkdG1sLWdl
dFJlbW90ZVVybDsiPiAmZHRtbC1UaXRsZTsgPC9hPgogIDxkdG1sLWlmIG5hbWU9IkRlc2Ny
aXB0aW9uIj4KICAgPGJsb2NrcXVvdGU+PGR0bWwtdmFyIERlc2NyaXB0aW9uIGZtdD0ic3Ry
dWN0dXJlZC10ZXh0Ij48L2Jsb2NrcXVvdGU+CiAgPC9kdG1sLWlmPgogPC9saT4KPGR0bWwt
aWYgc2VxdWVuY2UtZW5kPgo8L3VsPgo8L2R0bWwtaWY+CjwvZHRtbC1pbj4KCjxkdG1sLWlu
IGV4cHI9Im9iamVjdFZhbHVlcyggWyAnRm9sZGVyJywgJ1BvcnRhbCBGb2xkZXInIF0gKSIg
c2tpcF91bmF1dGhvcml6ZWQ+CjxkdG1sLWlmIHNlcXVlbmNlLXN0YXJ0Pgo8aDM+IEZvbGRl
cnMgPC9oMz4KCjx1bD4KPC9kdG1sLWlmPgogPGxpPgogIDxhIGhyZWY9IiZkdG1sLWFic29s
dXRlX3VybDsvIj48aW1nIGFsaWduPSJtaWRkbGUiIHNyYz0iJmR0bWwtcG9ydGFsX3VybDsv
JmR0bWwtZ2V0SWNvbjsiIGFsdD0iJmR0bWwtVHlwZTsiIHRpdGxlPSImZHRtbC1UeXBlOyIg
Ym9yZGVyPSIwIj48L2E+CiAgPGEgaHJlZj0iJmR0bWwtYWJzb2x1dGVfdXJsOy8iPiA8ZHRt
bC12YXIgVGl0bGU+IDwvYT4KICA8ZHRtbC1pZiBuYW1lPSJEZXNjcmlwdGlvbiI+CiAgIDxi
bG9ja3F1b3RlPjxkdG1sLXZhciBEZXNjcmlwdGlvbiBmbXQ9InN0cnVjdHVyZWQtdGV4dCI+
PC9ibG9ja3F1b3RlPgogIDwvZHRtbC1pZj4KIDwvbGk+CjxkdG1sLWlmIHNlcXVlbmNlLWVu
ZD4KPC91bD4KPC9kdG1sLWlmPgo8L2R0bWwtaW4+Cgo8L2R0bWwtbGV0PgoKPC9kdG1sLWlm
PgoKPGR0bWwtdmFyIHN0YW5kYXJkX2h0bWxfZm9vdGVyPnEVVQVfdmFyc3EWfXEXdS4AAAAA
AAQT/gAAAAAAAAZ0KChVI1Byb2R1Y3RzLlB5dGhvblNjcmlwdHMuUHl0aG9uU2NyaXB0cQFV
DFB5dGhvblNjcmlwdHECdHEDTnQufXEEKFUJZnVuY19jb2RlcQUoY1NoYXJlZC5EQy5TY3Jp
cHRzLlNpZ25hdHVyZQpGdW5jQ29kZQpxBm9xB31xCChVC2NvX3Zhcm5hbWVzcQkoVQVpdGVt
c3EKVQdjb21tZW50cQtVB3dmX3Rvb2xxDFUEcGF0aHENVQZvYmplY3RxDlUNJGxvb3Bfd2F0
Y2hlcnEPVQskcmVhZF9ndWFyZHEQVQwkd3JpdGVfZ3VhcmRxEVUGJGd1YXJkcRJ0VQtjb19h
cmdjb3VudHETSwJ1YlUHX3BhcmFtc3EUVRFpdGVtcywgY29tbWVudD0nJ3EVVQJpZHEWVQty
ZWplY3RJdGVtc3EXVRJfX2FjX2xvY2FsX3JvbGVzX19xGH1xGVUHdHNlYXZlcnEaXXEbVQVP
d25lcnEcYXNVAl90cR0oaBdOKEsCSwlLB0sDVc50DAB9BQB8BQCDAAABdA0AfQYAdA4AfQcA
dA8AfQgAfwEAfwIAfAYAdAAAgwEAaQEAfQIAfwMAeFEAfAAAZAEAfwMAckQAfQMAfwQAfAYA
dAAAgwEAaQUAfAMAgwEAfQQAfwUAfAYAfAIAgwEAaQcAfAQAZAIAZAMAfAEAgwIBAXwFAIMA
AAFxQABXfwcAfAYAfAYAfAYAdAAAgwEAaQkAgwEAZAQAGYMBAGkKAGQFAHwGAHQAAIMBAGkL
AIMAAGQGAGYCABaDAQABZAAAU3EeKE5LAFUGcmVqZWN0cR9VB2NvbW1lbnRxIFUIUkVTUE9O
U0VxIVUMJXMvcmV2aWV3PyVzcSJVJXBvcnRhbF9zdGF0dXNfbWVzc2FnZT1JdGVtcytyZWpl
Y3RlZC5xI3RxJChVB2NvbnRleHRxJVUPcG9ydGFsX3dvcmtmbG93cSZVB3dmX3Rvb2xxJ1UF
aXRlbXNxKFUEcGF0aHEpVRJyZXN0cmljdGVkVHJhdmVyc2VxKlUGb2JqZWN0cStVC2RvQWN0
aW9uRm9ycSxoIFUHUkVRVUVTVHEtVQhyZWRpcmVjdHEuVQpwb3J0YWxfdXJscS9VDSRsb29w
X3dhdGNoZXJxMFULJHJlYWRfZ3VhcmRxMVUMJHdyaXRlX2d1YXJkcTJVBiRndWFyZHEzdHE0
KGgoaCBoJ2gpaCtoMGgxaDJoM3RxNVUPU2NyaXB0IChQeXRob24pcTZoF0sBVQwDAQwBDAAJ
ARIBHQJxNyl0KFUAdHE4fXE5dHE6VQVfYm9keXE7VHEBAAB3Zl90b29sID0gY29udGV4dC5w
b3J0YWxfd29ya2Zsb3cgIyBYWFggZ2V0VG9vbEJ5TmFtZQpmb3IgcGF0aCBpbiBpdGVtczoK
ICAgIG9iamVjdCA9IGNvbnRleHQucmVzdHJpY3RlZFRyYXZlcnNlKCBwYXRoICkKICAgIHdm
X3Rvb2wuZG9BY3Rpb25Gb3IoIG9iamVjdCwgJ3JlamVjdCcsIGNvbW1lbnQ9Y29tbWVudCAp
Cgpjb250ZXh0LlJFUVVFU1RbICdSRVNQT05TRScgXS5yZWRpcmVjdCggJyVzL3Jldmlldz8l
cycKICAgICAgICAgICAgICAgICAgICUgKCBjb250ZXh0LnBvcnRhbF91cmwoKQogICAgICAg
ICAgICAgICAgICAgICAsICdwb3J0YWxfc3RhdHVzX21lc3NhZ2U9SXRlbXMrcmVqZWN0ZWQu
JwogICAgICAgICAgICAgICAgICAgICApIClxPFULX2JpbmRfbmFtZXNxPShjU2hhcmVkLkRD
LlNjcmlwdHMuQmluZGluZ3MKTmFtZUFzc2lnbm1lbnRzCnE+b3E/fXFAVQZfYXNnbnNxQX1x
QihVDm5hbWVfY29udGFpbmVycUNVCWNvbnRhaW5lcnFEVQxuYW1lX3N1YnBhdGhxRVUQdHJh
dmVyc2Vfc3VicGF0aHFGVQtuYW1lX21fc2VsZnFHVQZzY3JpcHRxSFUMbmFtZV9jb250ZXh0
cUlVB2NvbnRleHRxSnVzYlUNZnVuY19kZWZhdWx0c3FLKFUAdHFMVQxQeXRob25fbWFnaWNx
TVUEmU4NCnFOVQZfb3duZXJxTyhdcVBVCWFjbF91c2Vyc3FRYWgadHFSdS4AAAAAAAQT8wAA
AAAAAAmZKChVDk9GUy5EVE1MTWV0aG9kcQFVCkRUTUxNZXRob2RxAnRxA050Ln1xBChVEl9f
YWNfbG9jYWxfcm9sZXNfX3EFfXEGVQd0c2VhdmVycQddcQhVBU93bmVycQlhc1UIX19uYW1l
X19xClUGcmV2aWV3cQtVBXRpdGxlcQxVAFUHZ2xvYmFsc3ENfXEOVQZfb3duZXJxDyhdcRBV
CWFjbF91c2Vyc3ERYWgHdHESVQNyYXdxE1TPCAAAPGR0bWwtdmFyIHN0YW5kYXJkX2h0bWxf
aGVhZGVyPgoKPGRpdiBjbGFzcz0iRGVza3RvcCI+Cgo8aDE+IEl0ZW1zIHBlbmRpbmcgcmV2
aWV3IDwvaDE+Cgo8ZHRtbC1sZXQgcmVzdWx0cz0icG9ydGFsX2NhdGFsb2coIHJldmlld19z
dGF0ZT0ncGVuZGluZycgKSI+Cgo8cD5Gb3VuZCA8ZHRtbC12YXIgZXhwcj0iXy5sZW4ocmVz
dWx0cykiIHRob3VzYW5kc19jb21tYXM+IAppdGVtczxkdG1sLWlmIG5hbWU9IlNlYXJjaGFi
bGVUZXh0Ij4gbWF0Y2hpbmcgIiZkdG1sLVNlYXJjaGFibGVUZXh0OyI8L2R0bWwtaWY+Ljwv
cD4KCjxkdG1sLWluIHJlc3VsdHMgc2l6ZT0iMjUiIHN0YXJ0PSJiYXRjaF9zdGFydCI+CiA8
ZHRtbC1sZXQgb2JqVVJMPSJnZXRVUkwoKSArICcvdmlldyciCiAgICAgICAgICAgb2JqUGF0
aD0icG9ydGFsX2NhdGFsb2cuZ2V0cGF0aCggZGF0YV9yZWNvcmRfaWRfICkiCiA+CgogPGR0
bWwtaWYgc2VxdWVuY2Utc3RhcnQ+Cgo8Zm9ybSBhY3Rpb249IiZkdG1sLXBvcnRhbF91cmw7
IiBtZXRob2Q9IkdFVCI+Cgo8dGFibGUgY2xhc3M9IlNlYXJjaFJlc3VsdHMiPgogPHRyPgog
IDx0ZCB3aWR0aD0iMTYiPjxicj48L3RkPgogIDx0ZCB3aWR0aD0iMTYiPjxicj48L3RkPgog
IDx0aD4gVGl0bGUKICA8L3RoPgogIDx0aD4gVHlwZQogIDwvdGg+CiAgPHRoPiBEYXRlCiAg
PC90aD4KICA8L3RyPgogPC9kdG1sLWlmPgoKIDx0cj4KICA8dGQ+CiAgIDxpbnB1dCB0eXBl
PSJjaGVja2JveCIgbmFtZT0iaXRlbXM6bGlzdCIKICAgICAgICAgIHZhbHVlPSImZHRtbC1v
YmpQYXRoOyI+CiAgPC90ZD4KICA8dGQ+CiAgIDxkdG1sLWlmIGdldEljb24+CiAgIDxhIGhy
ZWY9IiZkdG1sLW9ialVSTDsiPjxpbWcKICAgIHNyYz0iJmR0bWwtcG9ydGFsX3VybDsvJmR0
bWwtZ2V0SWNvbjsiIGJvcmRlcj0iMCIKICAgIGFsdD0iWyZkdG1sLm1pc3NpbmctVHlwZTtd
IgogICAgdGl0bGU9IlsmZHRtbC5taXNzaW5nLVR5cGU7XSI+PC9hPgogICA8L2R0bWwtaWY+
CiAgPC90ZD4KICA8dGQ+CiAgIDxhIGhyZWY9IiZkdG1sLW9ialVSTDsiPjxkdG1sLWlmIG5h
bWU9IlRpdGxlIj48ZHRtbC12YXIgbmFtZT0iVGl0bGUiIHNpemU9Ijc1IiBodG1sX3F1b3Rl
PjxkdG1sLWVsc2U+KE5vIHRpdGxlKTwvZHRtbC1pZj48L2E+CiAgPC90ZD4KICA8dGQ+CiAg
ICAmZHRtbC5taXNzaW5nLVR5cGU7CiAgPC90ZD4KICA8dGQ+CiAgICZkdG1sLURhdGU7CiAg
PC90ZD4KIDwvdHI+CiA8dHI+CiAgPHRkPiZuYnNwOzwvdGQ+CiAgPHRkIGNvbHNwYW49IjMi
PjxlbT4KICAgPGR0bWwtaWYgbmFtZT0iRGVzY3JpcHRpb24iPjxkdG1sLXZhciBuYW1lPSJE
ZXNjcmlwdGlvbiIKICAgbWlzc2luZz0iKE5vIGRlc2NyaXB0aW9uKSIgc2l6ZT0iMTAwIiBo
dG1sX3F1b3RlPgogICA8ZHRtbC1lbHNlPihObyBkZXNjcmlwdGlvbik8L2R0bWwtaWY+PC9l
bT48L3RkPgogPC90cj4KIDxkdG1sLWlmIHNlcXVlbmNlLWVuZD4KIDx0cj4KICA8dGQ+PGJy
PjwvdGQ+CiAgPHRkPjxicj48L3RkPgogIDx0ZD4KICAgPHRleHRhcmVhIG5hbWU9ImNvbW1l
bnQ6dGV4dCIgcm93cz0iMyIgY29scz0iNjUiPjwvdGV4dGFyZWE+CiAgIDxpbnB1dCB0eXBl
PSJzdWJtaXQiIG5hbWU9InB1Ymxpc2hJdGVtczptZXRob2QiIHZhbHVlPSJQdWJsaXNoIj4K
ICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0icmVqZWN0SXRlbXM6bWV0aG9kIiB2YWx1
ZT0iUmVqZWN0Ij4KICA8L3RkPgogPC90cj4KICAKPC90YWJsZT4KCjwvZm9ybT4KCiA8L2R0
bWwtaWY+CiA8L2R0bWwtbGV0Pgo8ZHRtbC1lbHNlPgogPHA+IFRoZXJlIGFyZSBubyBpdGVt
cyBtYXRjaGluZyB5b3VyIHNwZWNpZmllZCBjcml0ZXJpYS4gIDwvcD4KPC9kdG1sLWluPgoK
PGR0bWwtaW4gcmVzdWx0cyBzaXplPSIyNSIgc3RhcnQ9ImJhdGNoX3N0YXJ0IiBuZXh0Pgog
PGR0bWwtbGV0IHVybD1VUkwKICAgICAgICAgICBzcXJ5PXNlcXVlbmNlLXF1ZXJ5CiAgICAg
ICAgICAgbmV4dD1uZXh0LXNlcXVlbmNlLXN0YXJ0LW51bWJlcgogICAgICAgICAgIG5leHRT
aXplPW5leHQtc2VxdWVuY2Utc2l6ZQogICAgICAgICAgIG5leHRVUkw9IiclcyVzYmF0Y2hf
c3RhcnQ9JXMnICUgKHVybCxzcXJ5LG5leHQpIgogPgogIDxwPiA8YSBocmVmPSImZHRtbC1u
ZXh0VVJMOyI+IE5leHQgJmR0bWwtbmV4dFNpemU7IGl0ZW1zIDwvYT4gPC9wPgogPC9kdG1s
LWxldD4KPC9kdG1sLWluPgoKPC9kdG1sLWxldD4KCjwvZGl2PgoKPGR0bWwtdmFyIHN0YW5k
YXJkX2h0bWxfZm9vdGVyPgpxFFUFX3ZhcnNxFX1xFnUuAAAAAAADq0cAAAAAAAAItigoVSNQ
cm9kdWN0cy5QeXRob25TY3JpcHRzLlB5dGhvblNjcmlwdHEBVQxQeXRob25TY3JpcHRxAnRx
A050Ln1xBChVCWZ1bmNfY29kZXEFKGNTaGFyZWQuREMuU2NyaXB0cy5TaWduYXR1cmUKRnVu
Y0NvZGUKcQZvcQd9cQgoVQtjb192YXJuYW1lc3EJKFUFc3BsaXRxClUEam9pbnELVQl1cmxf
cXVvdGVxDFUKcG9ydGFsX3VybHENVQRwYXRocQ5VBFR5cGVxD1UHcGF0dGVybnEQVQN1cmxx
EVUFc3RlcHNxElULYnJlYWRjcnVtYnNxE1UEbGFzdHEUVQRzdGVwcRVVDSRsb29wX3dhdGNo
ZXJxFlULJHJlYWRfZ3VhcmRxF1UMJHdyaXRlX2d1YXJkcRhVBiRndWFyZHEZdHEaVQtjb19h
cmdjb3VudHEbSwB1YlUHX3BhcmFtc3EcVQBVAmlkcR1VC2JyZWFkY3J1bWJzcR5VEl9fYWNf
bG9jYWxfcm9sZXNfX3EffXEgVQd0c2VhdmVycSFdcSJVBU93bmVycSNhc1UCX3RxJChoHk4o
SwBLEEsGSwNUgAEAAHQUAH0MAHwMAIMAAAF0FQB9DQB0FgB9DgB0FwB9DwB/AQB/AgBrAABs
AQBsAgABfwUAawMAbAQAAX8GAHwNAHQFAIMBAGkGAH0DAH8IAHwNAHwDAIMBAGkHAHQFAIMB
AH0EAH8JAHwEAAxvCwABfwoAZAEAU24BAAF/DAB0CQB0BQBkAgBkAwCDAwB9BQB/DQB0CwB8
BQCDAQBvEAABfw4AfAUAgwAAfQUAbgEAAX8RAGQEAH0GAH8SAHwDAIMAAH0HAH8TAHwAAHwE
AGQFAIMCAH0IAH8UAGcAAH0JAH8VAHwNAHwIAIMBAGkQAIMAAH0KAH8XAHhTAHwIAGQGAH8X
AHJGAH0LAH8YAGQHAHwHAHwCAHwLAIMBAGYCABZ9BwB/GgB8DQB8CQCDAQBpEwB8BgB8BwB8
CwBmAgAWgwEAAXwMAIMAAAFx/wBXfxsAfA0AfAkAgwEAaRMAfAoAgwEAAX8dAGQIAHwFAHwB
AHwJAGQFAIMCAGYCABZTZAAAU3ElKE5VAGgPVQZPYmplY3RxJlUjPGEgaHJlZj0iJXMvZm9s
ZGVyX2NvbnRlbnRzIj4lczwvYT5xJ1UBL0sAVQUlcy8lc3EoVQglcyBhdCAlc3EpdHEqKFUG
c3RyaW5ncStoCmgLVR9Qcm9kdWN0cy5QeXRob25TY3JpcHRzLnN0YW5kYXJkcSxoDFUHY29u
dGV4dHEtaA1VDmdldFJlbGF0aXZlVXJscS5oDlUHZ2V0YXR0cnEvaA9VCGNhbGxhYmxlcTBo
EGgRaBJoE1UDcG9wcTFoFGgVVQZhcHBlbmRxMmgWaBdoGGgZdHEzaBpVD1NjcmlwdCAoUHl0
aG9uKXE0aB5LAVUoAwENAwoBDAISAQsBCwIVARABEAMJAQwBEgEJAQ8CDAAJARkCHgEQAnE1
KXROfXE2dHE3VQVfYm9keXE4VNECAABmcm9tIHN0cmluZyBpbXBvcnQgc3BsaXQsam9pbgoj
IE1pZ2h0IG5lZWQgYSBzbGlnaHQgdXJsIHF1b3Rpbmcgc2h1ZmZsZSBpZgojIGdldFJlbGF0
aXZlVXJsIHN0YXJ0cyB1cmwtcXVvdGluZyA6LVMKZnJvbSBQcm9kdWN0cy5QeXRob25TY3Jp
cHRzLnN0YW5kYXJkIGltcG9ydCB1cmxfcXVvdGUKcG9ydGFsX3VybCA9IGNvbnRleHQucG9y
dGFsX3VybAoKcGF0aCA9IHBvcnRhbF91cmwuZ2V0UmVsYXRpdmVVcmwoY29udGV4dCkKaWYg
bm90IHBhdGg6CiAgICByZXR1cm4gJycKClR5cGUgPSBnZXRhdHRyKGNvbnRleHQsJ1R5cGUn
LCdPYmplY3QnKQppZiBjYWxsYWJsZShUeXBlKToKICAgIFR5cGU9VHlwZSgpCiAgICAKIyBB
bHNvIGFzc3VtaW5nIGZvbGRlcmlzaCBjb250ZW50LCBmYWlyIGVudWZmIGZvciBub3cgOi0p
CnBhdHRlcm49JzxhIGhyZWY9IiVzL2ZvbGRlcl9jb250ZW50cyI+JXM8L2E+Jwp1cmwgPSBw
b3J0YWxfdXJsKCkKc3RlcHMgPSBzcGxpdChwYXRoLCcvJykKYnJlYWRjcnVtYnMgPSBbXQps
YXN0ID0gc3RlcHMucG9wKCkKCmZvciBzdGVwIGluIHN0ZXBzOgogICAgdXJsID0gJyVzLyVz
JyAlICh1cmwsdXJsX3F1b3RlKHN0ZXApKQogICAgCiAgICBicmVhZGNydW1icy5hcHBlbmQo
cGF0dGVybiAlICh1cmwsc3RlcCkpCmJyZWFkY3J1bWJzLmFwcGVuZChsYXN0KQoKcmV0dXJu
ICclcyBhdCAlcycgJSAoVHlwZSxqb2luKGJyZWFkY3J1bWJzLCcvJykpcTlVC19iaW5kX25h
bWVzcTooY1NoYXJlZC5EQy5TY3JpcHRzLkJpbmRpbmdzCk5hbWVBc3NpZ25tZW50cwpxO29x
PH1xPVUGX2FzZ25zcT59cT8oVQ5uYW1lX2NvbnRhaW5lcnFAVQljb250YWluZXJxQVUMbmFt
ZV9zdWJwYXRocUJVEHRyYXZlcnNlX3N1YnBhdGhxQ1ULbmFtZV9tX3NlbGZxRFUGc2NyaXB0
cUVVDG5hbWVfY29udGV4dHFGVQdjb250ZXh0cUd1c2JVBXRpdGxlcUhVM1JldHVybnMgbGlu
a2VkIGJyZWFkY3J1bWJzIGZvciB0aGUgY3VycmVudCBsb2NhdGlvbnFJVQZfb3duZXJxSihd
cUtVCWFjbF91c2Vyc3FMYWghdHFNVQxQeXRob25fbWFnaWNxTlUEmU4NCnFPVQ1mdW5jX2Rl
ZmF1bHRzcVBOdS4AAAAAAAL1+gAAAAAAAAFAKChVJlByb2R1Y3RzLkV4dGVybmFsTWV0aG9k
LkV4dGVybmFsTWV0aG9kcQFVDkV4dGVybmFsTWV0aG9kcQJ0cQNOdC59cQQoVQlmdW5jX2Nv
ZGVxBShjQXBwLkV4dGVuc2lvbnMKRnVuY0NvZGUKcQZvcQd9cQgoVQtjb192YXJuYW1lc3EJ
KFUEc2VsZnEKVQRuYW1lcQt0cQxVC2NvX2FyZ2NvdW50cQ1LAnViVQJpZHEOVQlsb2NhbGF0
dHJxD1USX19hY19sb2NhbF9yb2xlc19fcRB9cRFVB3RzZWF2ZXJxEl1xE1UFT3duZXJxFGFz
VQV0aXRsZXEVVQBVCV9mdW5jdGlvbnEWVQlsb2NhbGF0dHJxF1UNZnVuY19kZWZhdWx0c3EY
TlUHX21vZHVsZXEZVQV1dGlsc3EadS4AAAAAAAP2egAAAAAAAAd/KChVDk9GUy5EVE1MTWV0
aG9kcQFVCkRUTUxNZXRob2RxAnRxA050Ln1xBChVEl9fYWNfbG9jYWxfcm9sZXNfX3EFfXEG
VQd0c2VhdmVycQddcQhVBU93bmVycQlhc1UIX19uYW1lX19xClUGc2VhcmNocQtVBXRpdGxl
cQxVAFUHZ2xvYmFsc3ENfXEOVQZfb3duZXJxDyhdcRBVCWFjbF91c2Vyc3ERYWgHdHESVQNy
YXdxE1S1BgAAPGR0bWwtdmFyIHN0YW5kYXJkX2h0bWxfaGVhZGVyPgoKPGRpdiBjbGFzcz0i
RGVza3RvcCI+Cgo8aDE+IFNlYXJjaCBSZXN1bHRzIDwvaDE+Cgo8ZHRtbC1sZXQgcmVzdWx0
cz1wb3J0YWxfY2F0YWxvZz4KCjxwPkZvdW5kIDxkdG1sLXZhciBleHByPSJfLmxlbihyZXN1
bHRzKSIgdGhvdXNhbmRzX2NvbW1hcz4gCml0ZW1zPGR0bWwtaWYgbmFtZT0iU2VhcmNoYWJs
ZVRleHQiPiBtYXRjaGluZyAiJmR0bWwtU2VhcmNoYWJsZVRleHQ7IjwvZHRtbC1pZj4uPC9w
PgoKPGR0bWwtaW4gcmVzdWx0cyBzaXplPSIyNSIgc3RhcnQ9ImJhdGNoX3N0YXJ0Ij4KIDxk
dG1sLWxldCBvYmpVUkw9ImdldFVSTCgpICsgJy92aWV3JyIKICAgICAgICAgICBvYmpJY29u
PSInJXMvJXMnICUgKCBwb3J0YWxfdXJsKCksIGljb24gKSIKID4KCiA8ZHRtbC1pZiBzZXF1
ZW5jZS1zdGFydD4KPHRhYmxlIGNsYXNzPSJTZWFyY2hSZXN1bHRzIj4KIDx0cj4KICA8dGQg
d2lkdGg9IjE2Ij48YnI+PC90ZD4KICA8dGg+IFRpdGxlCiAgPC90aD4KICA8dGg+IFR5cGUK
ICA8L3RoPgogIDx0aD4gRGF0ZQogIDwvdGg+CiAgPC90cj4KIDwvZHRtbC1pZj4KCiA8dHI+
CiAgPHRkPgogICA8YSBocmVmPSImZHRtbC1vYmpVUkw7Ij48aW1nIHNyYz0iJmR0bWwtb2Jq
SWNvbjsiIGJvcmRlcj0iMCIKICAgIGFsdD0iWyZkdG1sLm1pc3NpbmctVHlwZTtdIgogICAg
dGl0bGU9IlsmZHRtbC5taXNzaW5nLVR5cGU7XSI+PC9hPgogIDwvdGQ+CiAgPHRkPgogICA8
YSBocmVmPSImZHRtbC1vYmpVUkw7Ij48ZHRtbC1pZiBuYW1lPSJUaXRsZSI+PGR0bWwtdmFy
IG5hbWU9IlRpdGxlIiBzaXplPSI3NSIgaHRtbF9xdW90ZT48ZHRtbC1lbHNlPihObyB0aXRs
ZSk8L2R0bWwtaWY+PC9hPgogIDwvdGQ+CiAgPHRkPgogICAgJmR0bWwubWlzc2luZy1UeXBl
OwogIDwvdGQ+CiAgPHRkPgogICAmZHRtbC1EYXRlOwogIDwvdGQ+CiA8L3RyPgogPHRyPgog
IDx0ZD4mbmJzcDs8L3RkPgogIDx0ZCBjb2xzcGFuPSIzIj48ZW0+CiAgIDxkdG1sLWlmIG5h
bWU9IkRlc2NyaXB0aW9uIj48ZHRtbC12YXIgbmFtZT0iRGVzY3JpcHRpb24iCiAgIG1pc3Np
bmc9IihObyBkZXNjcmlwdGlvbikiIHNpemU9IjEwMCIgaHRtbF9xdW90ZT4KICAgPGR0bWwt
ZWxzZT4oTm8gZGVzY3JpcHRpb24pPC9kdG1sLWlmPjwvZW0+PC90ZD4KIDwvdHI+CiA8ZHRt
bC1pZiBzZXF1ZW5jZS1lbmQ+CiAgPC90YWJsZT4KIDwvZHRtbC1pZj4KIDwvZHRtbC1sZXQ+
CjxkdG1sLWVsc2U+CiA8cD4gVGhlcmUgYXJlIG5vIGl0ZW1zIG1hdGNoaW5nIHlvdXIgc3Bl
Y2lmaWVkIGNyaXRlcmlhLiAgPC9wPgo8L2R0bWwtaW4+Cgo8ZHRtbC1pbiByZXN1bHRzIHNp
emU9IjI1IiBzdGFydD0iYmF0Y2hfc3RhcnQiIG5leHQ+CiA8ZHRtbC1sZXQgdXJsPVVSTAog
ICAgICAgICAgIHNxcnk9c2VxdWVuY2UtcXVlcnkKICAgICAgICAgICBuZXh0PW5leHQtc2Vx
dWVuY2Utc3RhcnQtbnVtYmVyCiAgICAgICAgICAgbmV4dFNpemU9bmV4dC1zZXF1ZW5jZS1z
aXplCiAgICAgICAgICAgbmV4dFVSTD0iJyVzJXNiYXRjaF9zdGFydD0lcycgJSAodXJsLHNx
cnksbmV4dCkiCiA+CiAgPHA+IDxhIGhyZWY9IiZkdG1sLW5leHRVUkw7Ij4gTmV4dCAmZHRt
bC1uZXh0U2l6ZTsgaXRlbXMgPC9hPiA8L3A+CiA8L2R0bWwtbGV0Pgo8L2R0bWwtaW4+Cgo8
L2R0bWwtbGV0PgoKPC9kaXY+Cgo8ZHRtbC12YXIgc3RhbmRhcmRfaHRtbF9mb290ZXI+CnEU
VQVfdmFyc3EVfXEWdS4AAAAAAAL1+wAAAAAAAAe3KChVDk9GUy5EVE1MTWV0aG9kcQFVCkRU
TUxNZXRob2RxAnRxA050Ln1xBChVBXRpdGxlcQVVAFUDcmF3cQZUBAcAADwhLS0gVG9wIGJh
ciAtLT4KPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBj
ZWxsc3BhY2luZz0iMCI+CiA8dHI+CiAgPHRkIGNvbHNwYW49IjMiIHdpdGR0aD0iMTAwJSI+
CgogICA8IS0tIGhhY2sgYXJvdW5kIG5ldHNjYXBlIDQueCB0byBlbnN1cmUgdG9wIHRhYmxl
IGlzIHNvbGlkIGJsYWNrIC0tPgoKICAgPHRhYmxlIGNsYXNzPSJNYXN0aGVhZCIgY2VsbHNw
YWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIj4KCiAg
ICA8dHIgY2xhc3M9Ik1hc3RoZWFkIj4KCiAgICAgPHRkIGNsYXNzPSJQb3J0YWxMb2dvIiBh
bGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxJSI+CiAgICAgIDxhIGhyZWY9IiZk
dG1sLXBvcnRhbF91cmw7Ij48aW1nIHNyYz0iSW1hZ2VzL2xvZ28ucG5nIiBhbHQ9IlpvcGUg
TG9nbyIgYm9yZGVyPSIwIgogICAgICA+PC9hPgogICAgIDwvdGQ+CgogICAgIDx0ZCBjbGFz
cz0iUG9ydGFsVGl0bGUiIHdpZHRoPSI2OSUiIGFsaWduPSJsZWZ0IiB2YWxpZ249ImNlbnRl
ciI+CiAgICAgIDxoMT48ZHRtbC13aXRoIHBvcnRhbF9wcm9wZXJ0aWVzPiZkdG1sLXRpdGxl
OzwvZHRtbC13aXRoCiAgICAgID48ZHRtbC1pZiBuYW1lPSJUaXRsZSI+OiAmZHRtbC1UaXRs
ZTs8L2R0bWwtaWY+PC9oMT4KICAgICA8L3RkPgoKICAgICA8dGQgYWxpZ249InJpZ2h0IiB3
aWR0aD0iMzAlIiB3cmFwPSJubyI+CiAgICAgIDxmb3JtIGFjdGlvbj0iJmR0bWwtcG9ydGFs
X3VybDsvc2VhcmNoIj4KICAgICAgIDxpbnB1dCBuYW1lPSJTZWFyY2hhYmxlVGV4dCIgc2l6
ZT0iMTYiPgogICAgICAgPGlucHV0IGJvcmRlcj0iMCIgdHlwZT0iaW1hZ2UiIG5hbWU9Imdv
IiBzcmM9IkltYWdlcy9nby5naWYiPiAmbmJzcDsKICAgICAgPC9mb3JtPgogICAgIDwvdGQ+
CiAgICA8L3RyPgoKICAgIDx0ciBjbGFzcz0iTmF2QmFyIj4KICAgICA8dGQgYWxpZ249InJp
Z2h0IiB2YWxpZ249ImJvdHRvbSIgY29sc3Bhbj0iMyI+CiAgICAgIDxhIGhyZWY9IiZkdG1s
LVVSTDs/cG9ydGFsX3NraW49UHJpbnRhYmxlIiB0YXJnZXQ9Il9uZXciPnByaW50YWJsZSBw
YWdlPC9hPiZuYnNwOyB8ICZuYnNwOwogICAgICA8YSBocmVmPSImZHRtbC1wb3J0YWxfdXJs
OyI+aG9tZTwvYT4mbmJzcDsgfCAmbmJzcDsKICAgICAgPGEgaHJlZj0iJmR0bWwtcG9ydGFs
X3VybDsvY2FsZW5kYXIvY2FsZW5kYXIiPmNhbGVuZGFyPC9hPiZuYnNwOyB8ICZuYnNwOwog
ICAgICA8ZHRtbC1sZXQgbWVtYmVyPSJwb3J0YWxfbWVtYmVyc2hpcC5nZXRBdXRoZW50aWNh
dGVkTWVtYmVyKCkiCiAgICAgICAgICAgICAgICBsaXN0TWVtYmVycz0icG9ydGFsX21lbWJl
cnNoaXAuY2hlY2tQZXJtaXNzaW9uKCdMaXN0IHBvcnRhbCBtZW1iZXJzJywgbWVtYmVyKSI+
CiAgICAgIDxkdG1sLWlmIGxpc3RNZW1iZXJzPgogICAgICAgPGEgaHJlZj0iJmR0bWwtcG9y
dGFsX3VybDsvcm9zdGVyIj5tZW1iZXJzPC9hPiZuYnNwOyB8ICZuYnNwOwogICAgICA8L2R0
bWwtaWY+CiAgICAgIDwvZHRtbC1sZXQ+CiAgICAgIDxhIGhyZWY9IiZkdG1sLXBvcnRhbF91
cmw7L3JlY2VudF9uZXdzIj5uZXdzPC9hPiZuYnNwOyB8ICZuYnNwOwogICAgICA8YSBocmVm
PSImZHRtbC1wb3J0YWxfdXJsOy9kb2MiPmRvY3M8L2E+Jm5ic3A7IHwgJm5ic3A7CiAgICAg
IDxhIGhyZWY9IiZkdG1sLXBvcnRhbF91cmw7L3NlYXJjaF9mb3JtIj5zZWFyY2g8L2E+CiAg
ICAgPC90ZD4KICAgIDwvdHI+CgogICA8L3RhYmxlPgoKICA8L3RkPgogPC90cj4KPC90YWJs
ZT4KcQdVEl9fYWNfbG9jYWxfcm9sZXNfX3EIfXEJVQd0c2VhdmVycQpdcQtVBU93bmVycQxh
c1UHZ2xvYmFsc3ENfXEOVQhfX25hbWVfX3EPVRBzdGFuZGFyZF90b3BfYmFycRBVBV92YXJz
cRF9cRJ1Lv////////////////////8=
--------------060401070506090704000303--