From 440ee60b8d1014af4c0b71646a2e7e85a368ff5e Mon Sep 17 00:00:00 2001 From: nekobit Date: Sun, 24 Jul 2022 04:48:13 +0000 Subject: [PATCH] Account sidebar FossilOrigin-Name: fdae7c14435d63dc3f2b80dafe7d37fb867211e01f4cbff31296aa9f05b43b78 --- .fossil-settings/ignore-glob | 2 +- perl/main.pl | 6 ++-- src/account.c | 29 +++++++++++++++++ src/account.h | 3 ++ src/base_page.c | 4 +-- src/global_perl.h | 4 +++ src/session.c | 2 +- templates/main.ctt | 5 --- templates/main.tt | 61 ++++++++++++++++++++++++++++++++++-- 9 files changed, 102 insertions(+), 14 deletions(-) delete mode 100644 templates/main.ctt diff --git a/.fossil-settings/ignore-glob b/.fossil-settings/ignore-glob index 3ed6ae9..bcc209f 100644 --- a/.fossil-settings/ignore-glob +++ b/.fossil-settings/ignore-glob @@ -11,4 +11,4 @@ config.h treebird test/tests scripts/*.o -perl/*.cpl \ No newline at end of file +perl/*.ctt \ No newline at end of file diff --git a/perl/main.pl b/perl/main.pl index 606a402..18f2187 100644 --- a/perl/main.pl +++ b/perl/main.pl @@ -14,7 +14,7 @@ my $template = Template->new( sub base_page { - my ($ssn, $data, $main) = @_; + my ($ssn, $data, $main, $acct) = @_; my $result; my %vars = ( @@ -24,7 +24,9 @@ sub base_page lang => sub { $L10N{'EN_US'}->{shift(@_)} }, main => $main, sidebar_opacity => $ssn->{config}->{sidebar_opacity} / 255, - ); + acct => $acct + ); + $template->process(\$data, \%vars, \$result) || return $template->error(); diff --git a/src/account.c b/src/account.c index 46995ff..299df63 100644 --- a/src/account.c +++ b/src/account.c @@ -875,3 +875,32 @@ void content_account_favourites(PATH_ARGS) if (navigation_box) free(navigation_box); if (output) free(output); } + +HV* perlify_account(const struct mstdnt_account* acct) +{ + HV* acct_hv = newHV(); + + if (!acct) return NULL; + + hvstores_str(acct_hv, "id", acct->id); + hvstores_str(acct_hv, "username", acct->username); + hvstores_str(acct_hv, "acct", acct->acct); + hvstores_str(acct_hv, "display_name", acct->display_name); + hvstores_str(acct_hv, "note", acct->note); + hvstores_str(acct_hv, "avatar", acct->avatar); + hvstores_str(acct_hv, "avatar_static", acct->avatar_static); + hvstores_str(acct_hv, "header", acct->header); + hvstores_str(acct_hv, "header_static", acct->header_static); + hvstores_str(acct_hv, "created_at", acct->created_at); + hvstores_str(acct_hv, "last_status_at", acct->last_status_at); + hvstores_str(acct_hv, "mute_expires_at", acct->mute_expires_at); + hvstores_int(acct_hv, "statuses_count", acct->statuses_count); + hvstores_int(acct_hv, "followers_count", acct->followers_count); + hvstores_int(acct_hv, "following_count", acct->following_count); + hvstores_int(acct_hv, "bot", acct->bot); + hvstores_int(acct_hv, "suspended", acct->suspended); + hvstores_int(acct_hv, "locked", acct->locked); + hvstores_int(acct_hv, "discoverable", acct->discoverable); + + return acct_hv; +} diff --git a/src/account.h b/src/account.h index b74a29a..73efe1d 100644 --- a/src/account.h +++ b/src/account.h @@ -18,6 +18,7 @@ #ifndef ACCOUNT_H #define ACCOUNT_H +#include "global_perl.h" #include #include #include "session.h" @@ -95,4 +96,6 @@ void content_account_action(PATH_ARGS); void content_account_favourites(PATH_ARGS); void content_account_bookmarks(PATH_ARGS); +HV* perlify_account(const struct mstdnt_account* acct); + #endif // ACCOUNT_H diff --git a/src/base_page.c b/src/base_page.c index b77f200..8ed2729 100644 --- a/src/base_page.c +++ b/src/base_page.c @@ -45,9 +45,11 @@ void render_base_page(struct base_page* page, FCGX_Request* req, struct session* PUSHMARK(SP); HV* session_hv = perlify_session(ssn); + HV* acct_hv = perlify_account(&(ssn->acct)); XPUSHs(sv_2mortal(newRV_inc((SV*)session_hv))); XPUSHs(sv_2mortal(newSVpv(data_main_tt, 0))); XPUSHs(sv_2mortal(newSVpv(page->content, 0))); + XPUSHs(sv_2mortal(newRV_inc((SV*)acct_hv))); struct mstdnt_args m_args; set_mstdnt_args(&m_args, ssn); @@ -99,8 +101,6 @@ void render_base_page(struct base_page* page, FCGX_Request* req, struct session* send_result(req, NULL, "text/html", data, 0); cleanup: - - PUTBACK; FREETMPS; LEAVE; diff --git a/src/global_perl.h b/src/global_perl.h index cf43d4d..fcb8fff 100644 --- a/src/global_perl.h +++ b/src/global_perl.h @@ -21,6 +21,10 @@ #include #include +// hv_stores(ssn_hv, "id", newSVpv(acct->id, 0)); +#define hvstores_str(hv, key, val) hv_stores((hv), key, newSVpv((val), 0)) +#define hvstores_int(hv, key, val) hv_stores((hv), key, newSViv((val))) + static PerlInterpreter* perl; #endif /* GLOBAL_PERL_H */ diff --git a/src/session.c b/src/session.c index ef7557b..053953c 100644 --- a/src/session.c +++ b/src/session.c @@ -33,7 +33,7 @@ const char* const get_token(struct session* ssn) HV* perlify_session(struct session* ssn) { HV* ssn_hv = newHV(); - hv_stores(ssn_hv, "logged_in", newSVuv(ssn->logged_in)); + hvstores_int(ssn_hv, "logged_in", ssn->logged_in); HV* ssn_post_values = perlify_post_values(&(ssn->post)); HV* ssn_get_values = perlify_get_values(&(ssn->query)); HV* ssn_cookie_values = perlify_cookies(&(ssn->cookies)); diff --git a/templates/main.ctt b/templates/main.ctt deleted file mode 100644 index bfa7429..0000000 --- a/templates/main.ctt +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef __data_main_tt -#define __data_main_tt -static size_t data_main_tt_size = 5406; -static const char data_main_tt[] = {0X3C,0X21,0X44,0X4F,0X43,0X54,0X59,0X50,0X45,0X20,0X68,0X74,0X6D,0X6C,0X3E,0XA,0X3C,0X68,0X74,0X6D,0X6C,0X20,0X5B,0X25,0X20,0X49,0X46,0X20,0X73,0X73,0X6E,0X2E,0X63,0X6F,0X6E,0X66,0X69,0X67,0X2E,0X62,0X61,0X63,0X6B,0X67,0X72,0X6F,0X75,0X6E,0X64,0X5F,0X75,0X72,0X6C,0X20,0X25,0X5D,0X73,0X74,0X79,0X6C,0X65,0X3D,0X22,0X62,0X61,0X63,0X6B,0X67,0X72,0X6F,0X75,0X6E,0X64,0X3A,0X75,0X72,0X6C,0X28,0X27,0X5B,0X25,0X20,0X73,0X73,0X6E,0X2E,0X63,0X6F,0X6E,0X66,0X69,0X67,0X2E,0X62,0X61,0X63,0X6B,0X67,0X72,0X6F,0X75,0X6E,0X64,0X5F,0X75,0X72,0X6C,0X20,0X25,0X5D,0X27,0X29,0X22,0X5B,0X25,0X20,0X45,0X4E,0X44,0X20,0X25,0X5D,0X3E,0XA,0X20,0X20,0X3C,0X68,0X65,0X61,0X64,0X3E,0XA,0X20,0X20,0X20,0X20,0X3C,0X6D,0X65,0X74,0X61,0X20,0X63,0X68,0X61,0X72,0X73,0X65,0X74,0X3D,0X22,0X75,0X74,0X66,0X2D,0X38,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X3C,0X74,0X69,0X74,0X6C,0X65,0X3E,0X24,0X74,0X69,0X74,0X6C,0X65,0X3C,0X2F,0X74,0X69,0X74,0X6C,0X65,0X3E,0XA,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X6E,0X6B,0X20,0X72,0X65,0X6C,0X3D,0X22,0X69,0X63,0X6F,0X6E,0X22,0X20,0X74,0X79,0X70,0X65,0X3D,0X22,0X69,0X6D,0X61,0X67,0X65,0X2F,0X70,0X6E,0X67,0X22,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X2F,0X66,0X61,0X76,0X69,0X63,0X6F,0X6E,0X2E,0X70,0X6E,0X67,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X6E,0X6B,0X20,0X72,0X65,0X6C,0X3D,0X22,0X73,0X74,0X79,0X6C,0X65,0X73,0X68,0X65,0X65,0X74,0X22,0X20,0X74,0X79,0X70,0X65,0X3D,0X22,0X74,0X65,0X78,0X74,0X2F,0X63,0X73,0X73,0X22,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X2F,0X74,0X72,0X65,0X65,0X62,0X69,0X72,0X64,0X2E,0X63,0X73,0X73,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X5B,0X25,0X20,0X49,0X46,0X20,0X21,0X28,0X73,0X73,0X6E,0X2E,0X63,0X6F,0X6E,0X66,0X69,0X67,0X2E,0X74,0X68,0X65,0X6D,0X65,0X20,0X3D,0X3D,0X20,0X22,0X74,0X72,0X65,0X65,0X62,0X69,0X72,0X64,0X22,0X20,0X26,0X26,0X20,0X73,0X73,0X6E,0X2E,0X63,0X6F,0X6E,0X66,0X69,0X67,0X2E,0X74,0X68,0X65,0X6D,0X65,0X63,0X6C,0X72,0X20,0X3D,0X3D,0X20,0X30,0X29,0X20,0X25,0X5D,0XA,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X6E,0X6B,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X72,0X65,0X6C,0X3D,0X22,0X73,0X74,0X79,0X6C,0X65,0X73,0X68,0X65,0X65,0X74,0X22,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X74,0X79,0X70,0X65,0X3D,0X22,0X74,0X65,0X78,0X74,0X2F,0X63,0X73,0X73,0X22,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X2F,0X5B,0X25,0X20,0X73,0X73,0X6E,0X2E,0X63,0X6F,0X6E,0X66,0X69,0X67,0X2E,0X74,0X68,0X65,0X6D,0X65,0X20,0X25,0X5D,0X5B,0X25,0X20,0X49,0X46,0X20,0X73,0X73,0X6E,0X2E,0X63,0X6F,0X6E,0X66,0X69,0X67,0X2E,0X74,0X68,0X65,0X6D,0X65,0X63,0X6C,0X72,0X20,0X25,0X5D,0X2D,0X64,0X61,0X72,0X6B,0X5B,0X25,0X20,0X45,0X4E,0X44,0X20,0X25,0X5D,0X2E,0X63,0X73,0X73,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X5B,0X25,0X20,0X45,0X4E,0X44,0X20,0X25,0X5D,0XA,0X20,0X20,0X20,0X20,0X3C,0X6D,0X65,0X74,0X61,0X20,0X6E,0X61,0X6D,0X65,0X3D,0X22,0X76,0X69,0X65,0X77,0X70,0X6F,0X72,0X74,0X22,0X20,0X63,0X6F,0X6E,0X74,0X65,0X6E,0X74,0X3D,0X22,0X77,0X69,0X64,0X74,0X68,0X3D,0X64,0X65,0X76,0X69,0X63,0X65,0X2D,0X77,0X69,0X64,0X74,0X68,0X2C,0X20,0X69,0X6E,0X69,0X74,0X69,0X61,0X6C,0X2D,0X73,0X63,0X61,0X6C,0X65,0X3D,0X31,0X2E,0X30,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X3C,0X6D,0X65,0X74,0X61,0X20,0X6E,0X61,0X6D,0X65,0X3D,0X22,0X64,0X65,0X73,0X63,0X72,0X69,0X70,0X74,0X69,0X6F,0X6E,0X22,0X20,0X63,0X6F,0X6E,0X74,0X65,0X6E,0X74,0X3D,0X22,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X74,0X69,0X74,0X6C,0X65,0X20,0X7D,0X7D,0X20,0X69,0X73,0X20,0X61,0X20,0X64,0X65,0X63,0X65,0X6E,0X74,0X72,0X61,0X6C,0X69,0X7A,0X65,0X64,0X20,0X73,0X6F,0X63,0X69,0X61,0X6C,0X20,0X6D,0X65,0X64,0X69,0X61,0X20,0X70,0X6C,0X61,0X74,0X66,0X6F,0X72,0X6D,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X5B,0X25,0X20,0X49,0X46,0X20,0X73,0X73,0X6E,0X2E,0X63,0X6F,0X6E,0X66,0X69,0X67,0X2E,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X5F,0X6F,0X70,0X61,0X63,0X69,0X74,0X79,0X20,0X25,0X5D,0XA,0X20,0X20,0X20,0X20,0X3C,0X73,0X74,0X79,0X6C,0X65,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X3A,0X72,0X6F,0X6F,0X74,0X20,0X7B,0X20,0X2D,0X2D,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X2D,0X6F,0X70,0X61,0X63,0X69,0X74,0X79,0X3A,0X20,0X5B,0X25,0X20,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X5F,0X6F,0X70,0X61,0X63,0X69,0X74,0X79,0X20,0X25,0X5D,0X3B,0X20,0X7D,0XA,0X20,0X20,0X20,0X20,0X3C,0X2F,0X73,0X74,0X79,0X6C,0X65,0X3E,0XA,0X20,0X20,0X20,0X20,0X5B,0X25,0X20,0X45,0X4E,0X44,0X20,0X25,0X5D,0XA,0X20,0X20,0X3C,0X2F,0X68,0X65,0X61,0X64,0X3E,0XA,0X20,0X20,0X3C,0X62,0X6F,0X64,0X79,0X3E,0XA,0X20,0X20,0X20,0X20,0X3C,0X64,0X69,0X76,0X20,0X69,0X64,0X3D,0X22,0X6D,0X61,0X69,0X6E,0X2D,0X70,0X61,0X67,0X65,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X68,0X65,0X61,0X64,0X65,0X72,0X20,0X69,0X64,0X3D,0X22,0X6E,0X61,0X76,0X62,0X61,0X72,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X61,0X62,0X65,0X6C,0X20,0X66,0X6F,0X72,0X3D,0X22,0X6C,0X65,0X66,0X74,0X62,0X61,0X72,0X2D,0X73,0X68,0X6F,0X77,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X73,0X76,0X67,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X6C,0X65,0X66,0X74,0X62,0X61,0X72,0X2D,0X62,0X74,0X6E,0X20,0X6E,0X61,0X76,0X62,0X61,0X72,0X2D,0X62,0X74,0X6E,0X22,0X20,0X78,0X6D,0X6C,0X6E,0X73,0X3D,0X22,0X68,0X74,0X74,0X70,0X3A,0X2F,0X2F,0X77,0X77,0X77,0X2E,0X77,0X33,0X2E,0X6F,0X72,0X67,0X2F,0X32,0X30,0X30,0X30,0X2F,0X73,0X76,0X67,0X22,0X20,0X77,0X69,0X64,0X74,0X68,0X3D,0X22,0X32,0X30,0X22,0X20,0X68,0X65,0X69,0X67,0X68,0X74,0X3D,0X22,0X32,0X30,0X22,0X20,0X76,0X69,0X65,0X77,0X42,0X6F,0X78,0X3D,0X22,0X30,0X20,0X30,0X20,0X32,0X34,0X20,0X32,0X34,0X22,0X20,0X66,0X69,0X6C,0X6C,0X3D,0X22,0X6E,0X6F,0X6E,0X65,0X22,0X20,0X73,0X74,0X72,0X6F,0X6B,0X65,0X3D,0X22,0X23,0X30,0X30,0X30,0X30,0X30,0X30,0X22,0X20,0X73,0X74,0X72,0X6F,0X6B,0X65,0X2D,0X77,0X69,0X64,0X74,0X68,0X3D,0X22,0X32,0X22,0X20,0X73,0X74,0X72,0X6F,0X6B,0X65,0X2D,0X6C,0X69,0X6E,0X65,0X63,0X61,0X70,0X3D,0X22,0X72,0X6F,0X75,0X6E,0X64,0X22,0X20,0X73,0X74,0X72,0X6F,0X6B,0X65,0X2D,0X6C,0X69,0X6E,0X65,0X6A,0X6F,0X69,0X6E,0X3D,0X22,0X72,0X6F,0X75,0X6E,0X64,0X22,0X3E,0X3C,0X6C,0X69,0X6E,0X65,0X20,0X78,0X31,0X3D,0X22,0X33,0X22,0X20,0X79,0X31,0X3D,0X22,0X31,0X32,0X22,0X20,0X78,0X32,0X3D,0X22,0X32,0X31,0X22,0X20,0X79,0X32,0X3D,0X22,0X31,0X32,0X22,0X3E,0X3C,0X2F,0X6C,0X69,0X6E,0X65,0X3E,0X3C,0X6C,0X69,0X6E,0X65,0X20,0X78,0X31,0X3D,0X22,0X33,0X22,0X20,0X79,0X31,0X3D,0X22,0X36,0X22,0X20,0X78,0X32,0X3D,0X22,0X32,0X31,0X22,0X20,0X79,0X32,0X3D,0X22,0X36,0X22,0X3E,0X3C,0X2F,0X6C,0X69,0X6E,0X65,0X3E,0X3C,0X6C,0X69,0X6E,0X65,0X20,0X78,0X31,0X3D,0X22,0X33,0X22,0X20,0X79,0X31,0X3D,0X22,0X31,0X38,0X22,0X20,0X78,0X32,0X3D,0X22,0X32,0X31,0X22,0X20,0X79,0X32,0X3D,0X22,0X31,0X38,0X22,0X3E,0X3C,0X2F,0X6C,0X69,0X6E,0X65,0X3E,0X3C,0X2F,0X73,0X76,0X67,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X6C,0X61,0X62,0X65,0X6C,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X61,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X70,0X72,0X65,0X66,0X69,0X78,0X20,0X7D,0X7D,0X2F,0X22,0X3E,0X3C,0X69,0X6D,0X67,0X20,0X73,0X72,0X63,0X3D,0X22,0X2F,0X74,0X72,0X65,0X65,0X62,0X69,0X72,0X64,0X5F,0X6C,0X6F,0X67,0X6F,0X2E,0X70,0X6E,0X67,0X22,0X20,0X68,0X65,0X69,0X67,0X68,0X74,0X3D,0X22,0X34,0X32,0X22,0X3E,0X3C,0X2F,0X61,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X73,0X70,0X61,0X6E,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X69,0X6E,0X66,0X6F,0X22,0X3E,0X24,0X74,0X69,0X74,0X6C,0X65,0X3C,0X2F,0X73,0X70,0X61,0X6E,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X61,0X62,0X65,0X6C,0X20,0X66,0X6F,0X72,0X3D,0X22,0X72,0X69,0X67,0X68,0X74,0X62,0X61,0X72,0X2D,0X73,0X68,0X6F,0X77,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X73,0X76,0X67,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X72,0X69,0X67,0X68,0X74,0X62,0X61,0X72,0X2D,0X62,0X74,0X6E,0X20,0X6E,0X61,0X76,0X62,0X61,0X72,0X2D,0X62,0X74,0X6E,0X22,0X20,0X78,0X6D,0X6C,0X6E,0X73,0X3D,0X22,0X68,0X74,0X74,0X70,0X3A,0X2F,0X2F,0X77,0X77,0X77,0X2E,0X77,0X33,0X2E,0X6F,0X72,0X67,0X2F,0X32,0X30,0X30,0X30,0X2F,0X73,0X76,0X67,0X22,0X20,0X77,0X69,0X64,0X74,0X68,0X3D,0X22,0X32,0X30,0X22,0X20,0X68,0X65,0X69,0X67,0X68,0X74,0X3D,0X22,0X32,0X30,0X22,0X20,0X76,0X69,0X65,0X77,0X42,0X6F,0X78,0X3D,0X22,0X30,0X20,0X30,0X20,0X32,0X34,0X20,0X32,0X34,0X22,0X20,0X66,0X69,0X6C,0X6C,0X3D,0X22,0X6E,0X6F,0X6E,0X65,0X22,0X20,0X73,0X74,0X72,0X6F,0X6B,0X65,0X3D,0X22,0X23,0X30,0X30,0X30,0X30,0X30,0X30,0X22,0X20,0X73,0X74,0X72,0X6F,0X6B,0X65,0X2D,0X77,0X69,0X64,0X74,0X68,0X3D,0X22,0X32,0X22,0X20,0X73,0X74,0X72,0X6F,0X6B,0X65,0X2D,0X6C,0X69,0X6E,0X65,0X63,0X61,0X70,0X3D,0X22,0X72,0X6F,0X75,0X6E,0X64,0X22,0X20,0X73,0X74,0X72,0X6F,0X6B,0X65,0X2D,0X6C,0X69,0X6E,0X65,0X6A,0X6F,0X69,0X6E,0X3D,0X22,0X72,0X6F,0X75,0X6E,0X64,0X22,0X3E,0X3C,0X70,0X61,0X74,0X68,0X20,0X64,0X3D,0X22,0X4D,0X32,0X32,0X20,0X31,0X37,0X48,0X32,0X61,0X33,0X20,0X33,0X20,0X30,0X20,0X30,0X20,0X30,0X20,0X33,0X2D,0X33,0X56,0X39,0X61,0X37,0X20,0X37,0X20,0X30,0X20,0X30,0X20,0X31,0X20,0X31,0X34,0X20,0X30,0X76,0X35,0X61,0X33,0X20,0X33,0X20,0X30,0X20,0X30,0X20,0X30,0X20,0X33,0X20,0X33,0X7A,0X6D,0X2D,0X38,0X2E,0X32,0X37,0X20,0X34,0X61,0X32,0X20,0X32,0X20,0X30,0X20,0X30,0X20,0X31,0X2D,0X33,0X2E,0X34,0X36,0X20,0X30,0X22,0X3E,0X3C,0X2F,0X70,0X61,0X74,0X68,0X3E,0X3C,0X2F,0X73,0X76,0X67,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X6C,0X61,0X62,0X65,0X6C,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X61,0X62,0X65,0X6C,0X20,0X66,0X6F,0X72,0X3D,0X22,0X73,0X65,0X61,0X72,0X63,0X68,0X62,0X61,0X72,0X2D,0X73,0X68,0X6F,0X77,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X73,0X76,0X67,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X65,0X61,0X72,0X63,0X68,0X2D,0X62,0X74,0X6E,0X2D,0X73,0X68,0X6F,0X77,0X22,0X20,0X78,0X6D,0X6C,0X6E,0X73,0X3D,0X22,0X68,0X74,0X74,0X70,0X3A,0X2F,0X2F,0X77,0X77,0X77,0X2E,0X77,0X33,0X2E,0X6F,0X72,0X67,0X2F,0X32,0X30,0X30,0X30,0X2F,0X73,0X76,0X67,0X22,0X20,0X77,0X69,0X64,0X74,0X68,0X3D,0X22,0X32,0X30,0X22,0X20,0X68,0X65,0X69,0X67,0X68,0X74,0X3D,0X22,0X32,0X30,0X22,0X20,0X76,0X69,0X65,0X77,0X42,0X6F,0X78,0X3D,0X22,0X30,0X20,0X30,0X20,0X32,0X34,0X20,0X32,0X34,0X22,0X20,0X66,0X69,0X6C,0X6C,0X3D,0X22,0X6E,0X6F,0X6E,0X65,0X22,0X20,0X73,0X74,0X72,0X6F,0X6B,0X65,0X3D,0X22,0X23,0X30,0X30,0X30,0X30,0X30,0X30,0X22,0X20,0X73,0X74,0X72,0X6F,0X6B,0X65,0X2D,0X77,0X69,0X64,0X74,0X68,0X3D,0X22,0X32,0X22,0X20,0X73,0X74,0X72,0X6F,0X6B,0X65,0X2D,0X6C,0X69,0X6E,0X65,0X63,0X61,0X70,0X3D,0X22,0X72,0X6F,0X75,0X6E,0X64,0X22,0X20,0X73,0X74,0X72,0X6F,0X6B,0X65,0X2D,0X6C,0X69,0X6E,0X65,0X6A,0X6F,0X69,0X6E,0X3D,0X22,0X72,0X6F,0X75,0X6E,0X64,0X22,0X3E,0X3C,0X63,0X69,0X72,0X63,0X6C,0X65,0X20,0X63,0X78,0X3D,0X22,0X31,0X31,0X22,0X20,0X63,0X79,0X3D,0X22,0X31,0X31,0X22,0X20,0X72,0X3D,0X22,0X38,0X22,0X3E,0X3C,0X2F,0X63,0X69,0X72,0X63,0X6C,0X65,0X3E,0X3C,0X6C,0X69,0X6E,0X65,0X20,0X78,0X31,0X3D,0X22,0X32,0X31,0X22,0X20,0X79,0X31,0X3D,0X22,0X32,0X31,0X22,0X20,0X78,0X32,0X3D,0X22,0X31,0X36,0X2E,0X36,0X35,0X22,0X20,0X79,0X32,0X3D,0X22,0X31,0X36,0X2E,0X36,0X35,0X22,0X3E,0X3C,0X2F,0X6C,0X69,0X6E,0X65,0X3E,0X3C,0X2F,0X73,0X76,0X67,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X6C,0X61,0X62,0X65,0X6C,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X69,0X6E,0X70,0X75,0X74,0X20,0X74,0X79,0X70,0X65,0X3D,0X22,0X63,0X68,0X65,0X63,0X6B,0X62,0X6F,0X78,0X22,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X68,0X69,0X64,0X64,0X65,0X6E,0X22,0X20,0X69,0X64,0X3D,0X22,0X73,0X65,0X61,0X72,0X63,0X68,0X62,0X61,0X72,0X2D,0X73,0X68,0X6F,0X77,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X64,0X69,0X76,0X20,0X69,0X64,0X3D,0X22,0X6E,0X61,0X76,0X62,0X61,0X72,0X2D,0X72,0X69,0X67,0X68,0X74,0X2D,0X63,0X6F,0X6E,0X74,0X61,0X69,0X6E,0X65,0X72,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X64,0X69,0X76,0X20,0X69,0X64,0X3D,0X22,0X6E,0X61,0X76,0X62,0X61,0X72,0X2D,0X72,0X69,0X67,0X68,0X74,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X5B,0X25,0X20,0X49,0X46,0X20,0X21,0X73,0X73,0X6E,0X2E,0X6C,0X6F,0X67,0X67,0X65,0X64,0X5F,0X69,0X6E,0X20,0X2D,0X25,0X5D,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X61,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X6C,0X6F,0X67,0X69,0X6E,0X22,0X20,0X69,0X64,0X3D,0X22,0X6C,0X6F,0X67,0X69,0X6E,0X2D,0X68,0X65,0X61,0X64,0X65,0X72,0X22,0X3E,0X4C,0X6F,0X67,0X69,0X6E,0X20,0X2F,0X20,0X52,0X65,0X67,0X69,0X73,0X74,0X65,0X72,0X3C,0X2F,0X61,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X5B,0X25,0X2D,0X20,0X45,0X4E,0X44,0X20,0X25,0X5D,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X21,0X2D,0X2D,0X20,0X53,0X65,0X61,0X72,0X63,0X68,0X62,0X6F,0X78,0X20,0X2D,0X2D,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X66,0X6F,0X72,0X6D,0X20,0X61,0X63,0X74,0X69,0X6F,0X6E,0X3D,0X22,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X70,0X72,0X65,0X66,0X69,0X78,0X20,0X7D,0X7D,0X2F,0X73,0X65,0X61,0X72,0X63,0X68,0X22,0X20,0X6D,0X65,0X74,0X68,0X6F,0X64,0X3D,0X22,0X67,0X65,0X74,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X69,0X6E,0X70,0X75,0X74,0X20,0X74,0X79,0X70,0X65,0X3D,0X22,0X74,0X65,0X78,0X74,0X22,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X67,0X72,0X6F,0X75,0X70,0X20,0X67,0X72,0X6F,0X75,0X70,0X2D,0X6C,0X65,0X66,0X74,0X20,0X67,0X72,0X6F,0X75,0X70,0X2D,0X69,0X6E,0X70,0X75,0X74,0X62,0X6F,0X78,0X22,0X20,0X70,0X6C,0X61,0X63,0X65,0X68,0X6F,0X6C,0X64,0X65,0X72,0X3D,0X22,0X5B,0X25,0X20,0X6C,0X61,0X6E,0X67,0X28,0X27,0X53,0X45,0X41,0X52,0X43,0X48,0X5F,0X50,0X4C,0X41,0X43,0X45,0X48,0X4F,0X4C,0X44,0X45,0X52,0X27,0X29,0X20,0X25,0X5D,0X22,0X20,0X69,0X64,0X3D,0X22,0X73,0X65,0X61,0X72,0X63,0X68,0X62,0X6F,0X78,0X22,0X20,0X6E,0X61,0X6D,0X65,0X3D,0X22,0X71,0X22,0X3E,0X3C,0X21,0X2D,0X2D,0X20,0X69,0X20,0X68,0X61,0X74,0X65,0X20,0X48,0X54,0X4D,0X4C,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X2D,0X2D,0X3E,0X3C,0X69,0X6E,0X70,0X75,0X74,0X20,0X74,0X79,0X70,0X65,0X3D,0X22,0X73,0X75,0X62,0X6D,0X69,0X74,0X22,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X62,0X74,0X6E,0X20,0X67,0X72,0X6F,0X75,0X70,0X20,0X67,0X72,0X6F,0X75,0X70,0X2D,0X72,0X69,0X67,0X68,0X74,0X22,0X20,0X76,0X61,0X6C,0X75,0X65,0X3D,0X22,0X5B,0X25,0X20,0X6C,0X61,0X6E,0X67,0X28,0X27,0X53,0X45,0X41,0X52,0X43,0X48,0X5F,0X42,0X55,0X54,0X54,0X4F,0X4E,0X27,0X29,0X20,0X25,0X5D,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X66,0X6F,0X72,0X6D,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X64,0X69,0X76,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X64,0X69,0X76,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X68,0X65,0X61,0X64,0X65,0X72,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X69,0X6E,0X70,0X75,0X74,0X20,0X74,0X79,0X70,0X65,0X3D,0X22,0X63,0X68,0X65,0X63,0X6B,0X62,0X6F,0X78,0X22,0X20,0X69,0X64,0X3D,0X22,0X6C,0X65,0X66,0X74,0X62,0X61,0X72,0X2D,0X73,0X68,0X6F,0X77,0X22,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X68,0X69,0X64,0X64,0X65,0X6E,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X69,0X6E,0X70,0X75,0X74,0X20,0X74,0X79,0X70,0X65,0X3D,0X22,0X63,0X68,0X65,0X63,0X6B,0X62,0X6F,0X78,0X22,0X20,0X69,0X64,0X3D,0X22,0X72,0X69,0X67,0X68,0X74,0X62,0X61,0X72,0X2D,0X73,0X68,0X6F,0X77,0X22,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X68,0X69,0X64,0X64,0X65,0X6E,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X74,0X61,0X62,0X6C,0X65,0X20,0X69,0X64,0X3D,0X22,0X63,0X6F,0X6E,0X74,0X65,0X6E,0X74,0X22,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X75,0X69,0X2D,0X74,0X61,0X62,0X6C,0X65,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X21,0X2D,0X2D,0X20,0X4E,0X61,0X76,0X69,0X67,0X61,0X74,0X69,0X6F,0X6E,0X20,0X2D,0X2D,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X74,0X72,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X74,0X64,0X20,0X69,0X64,0X3D,0X22,0X6C,0X65,0X66,0X74,0X62,0X61,0X72,0X22,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X75,0X6C,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X3E,0X3C,0X61,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X62,0X74,0X6E,0X20,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X61,0X63,0X74,0X69,0X76,0X65,0X5F,0X68,0X6F,0X6D,0X65,0X20,0X7D,0X7D,0X22,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X24,0X70,0X72,0X65,0X66,0X69,0X78,0X2F,0X22,0X3E,0X5B,0X25,0X20,0X6C,0X61,0X6E,0X67,0X28,0X27,0X48,0X4F,0X4D,0X45,0X27,0X29,0X20,0X25,0X5D,0X3C,0X2F,0X61,0X3E,0X3C,0X2F,0X6C,0X69,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X3E,0X3C,0X61,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X62,0X74,0X6E,0X20,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X61,0X63,0X74,0X69,0X76,0X65,0X5F,0X6C,0X6F,0X63,0X61,0X6C,0X20,0X7D,0X7D,0X22,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X24,0X70,0X72,0X65,0X66,0X69,0X78,0X2F,0X6C,0X6F,0X63,0X61,0X6C,0X2F,0X22,0X3E,0X5B,0X25,0X20,0X6C,0X61,0X6E,0X67,0X28,0X27,0X4C,0X4F,0X43,0X41,0X4C,0X27,0X29,0X20,0X25,0X5D,0X3C,0X2F,0X61,0X3E,0X3C,0X2F,0X6C,0X69,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X3E,0X3C,0X61,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X62,0X74,0X6E,0X20,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X61,0X63,0X74,0X69,0X76,0X65,0X5F,0X66,0X65,0X64,0X65,0X72,0X61,0X74,0X65,0X64,0X20,0X7D,0X7D,0X22,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X24,0X70,0X72,0X65,0X66,0X69,0X78,0X2F,0X66,0X65,0X64,0X65,0X72,0X61,0X74,0X65,0X64,0X2F,0X22,0X3E,0X5B,0X25,0X20,0X6C,0X61,0X6E,0X67,0X28,0X27,0X46,0X45,0X44,0X45,0X52,0X41,0X54,0X45,0X44,0X27,0X29,0X20,0X25,0X5D,0X3C,0X2F,0X61,0X3E,0X3C,0X2F,0X6C,0X69,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X3E,0X3C,0X61,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X62,0X74,0X6E,0X20,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X61,0X63,0X74,0X69,0X76,0X65,0X5F,0X6E,0X6F,0X74,0X69,0X66,0X69,0X63,0X61,0X74,0X69,0X6F,0X6E,0X73,0X20,0X7D,0X7D,0X22,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X24,0X70,0X72,0X65,0X66,0X69,0X78,0X2F,0X6E,0X6F,0X74,0X69,0X66,0X69,0X63,0X61,0X74,0X69,0X6F,0X6E,0X73,0X22,0X3E,0X5B,0X25,0X20,0X6C,0X61,0X6E,0X67,0X28,0X27,0X4E,0X4F,0X54,0X49,0X46,0X49,0X43,0X41,0X54,0X49,0X4F,0X4E,0X53,0X27,0X29,0X20,0X25,0X5D,0X3C,0X2F,0X61,0X3E,0X3C,0X2F,0X6C,0X69,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X3E,0X3C,0X61,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X62,0X74,0X6E,0X20,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X61,0X63,0X74,0X69,0X76,0X65,0X5F,0X6C,0X69,0X73,0X74,0X73,0X20,0X7D,0X7D,0X22,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X24,0X70,0X72,0X65,0X66,0X69,0X78,0X2F,0X6C,0X69,0X73,0X74,0X73,0X22,0X3E,0X5B,0X25,0X20,0X6C,0X61,0X6E,0X67,0X28,0X27,0X4C,0X49,0X53,0X54,0X53,0X27,0X29,0X20,0X25,0X5D,0X3C,0X2F,0X61,0X3E,0X3C,0X2F,0X6C,0X69,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X3E,0X3C,0X61,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X62,0X74,0X6E,0X20,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X61,0X63,0X74,0X69,0X76,0X65,0X5F,0X66,0X61,0X76,0X6F,0X75,0X72,0X69,0X74,0X65,0X73,0X20,0X7D,0X7D,0X22,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X24,0X70,0X72,0X65,0X66,0X69,0X78,0X2F,0X66,0X61,0X76,0X6F,0X75,0X72,0X69,0X74,0X65,0X73,0X22,0X3E,0X5B,0X25,0X20,0X6C,0X61,0X6E,0X67,0X28,0X27,0X46,0X41,0X56,0X4F,0X55,0X52,0X49,0X54,0X45,0X53,0X27,0X29,0X20,0X25,0X5D,0X3C,0X2F,0X61,0X3E,0X3C,0X2F,0X6C,0X69,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X3E,0X3C,0X61,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X62,0X74,0X6E,0X20,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X61,0X63,0X74,0X69,0X76,0X65,0X5F,0X62,0X6F,0X6F,0X6B,0X6D,0X61,0X72,0X6B,0X73,0X20,0X7D,0X7D,0X22,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X24,0X70,0X72,0X65,0X66,0X69,0X78,0X2F,0X62,0X6F,0X6F,0X6B,0X6D,0X61,0X72,0X6B,0X73,0X22,0X3E,0X5B,0X25,0X20,0X6C,0X61,0X6E,0X67,0X28,0X27,0X42,0X4F,0X4F,0X4B,0X4D,0X41,0X52,0X4B,0X53,0X27,0X29,0X20,0X25,0X5D,0X3C,0X2F,0X61,0X3E,0X3C,0X2F,0X6C,0X69,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X3E,0X3C,0X61,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X62,0X74,0X6E,0X20,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X61,0X63,0X74,0X69,0X76,0X65,0X5F,0X64,0X69,0X72,0X65,0X63,0X74,0X20,0X7D,0X7D,0X22,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X24,0X70,0X72,0X65,0X66,0X69,0X78,0X2F,0X64,0X69,0X72,0X65,0X63,0X74,0X22,0X3E,0X5B,0X25,0X20,0X6C,0X61,0X6E,0X67,0X28,0X27,0X44,0X49,0X52,0X45,0X43,0X54,0X27,0X29,0X20,0X25,0X5D,0X3C,0X2F,0X61,0X3E,0X3C,0X2F,0X6C,0X69,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X3E,0X3C,0X61,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X62,0X74,0X6E,0X20,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X61,0X63,0X74,0X69,0X76,0X65,0X5F,0X63,0X68,0X61,0X74,0X73,0X20,0X7D,0X7D,0X22,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X24,0X70,0X72,0X65,0X66,0X69,0X78,0X2F,0X63,0X68,0X61,0X74,0X73,0X22,0X3E,0X43,0X68,0X61,0X74,0X73,0X3C,0X2F,0X61,0X3E,0X3C,0X2F,0X6C,0X69,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X6C,0X69,0X3E,0X3C,0X61,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X62,0X74,0X6E,0X20,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X61,0X63,0X74,0X69,0X76,0X65,0X5F,0X63,0X6F,0X6E,0X66,0X69,0X67,0X20,0X7D,0X7D,0X22,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X24,0X70,0X72,0X65,0X66,0X69,0X78,0X2F,0X63,0X6F,0X6E,0X66,0X69,0X67,0X22,0X3E,0X5B,0X25,0X20,0X6C,0X61,0X6E,0X67,0X28,0X27,0X43,0X4F,0X4E,0X46,0X49,0X47,0X27,0X29,0X20,0X25,0X5D,0X3C,0X2F,0X61,0X3E,0X3C,0X2F,0X6C,0X69,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X75,0X6C,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X5F,0X6C,0X65,0X66,0X74,0X62,0X61,0X72,0X20,0X7D,0X7D,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X21,0X2D,0X2D,0X20,0X3C,0X64,0X69,0X76,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X74,0X61,0X74,0X69,0X63,0X2D,0X68,0X74,0X6D,0X6C,0X22,0X20,0X69,0X64,0X3D,0X22,0X69,0X6E,0X73,0X74,0X61,0X6E,0X63,0X65,0X2D,0X70,0X61,0X6E,0X65,0X6C,0X22,0X3E,0X3C,0X2F,0X64,0X69,0X76,0X3E,0X20,0X2D,0X2D,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X64,0X69,0X76,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X6D,0X69,0X6E,0X69,0X2D,0X6C,0X69,0X6E,0X6B,0X73,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X61,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X7B,0X7B,0X25,0X73,0X3A,0X70,0X72,0X65,0X66,0X69,0X78,0X7D,0X7D,0X2F,0X61,0X62,0X6F,0X75,0X74,0X22,0X3E,0X41,0X62,0X6F,0X75,0X74,0X3C,0X2F,0X61,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X73,0X70,0X61,0X6E,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X62,0X75,0X6C,0X6C,0X65,0X74,0X2D,0X73,0X65,0X70,0X61,0X72,0X61,0X74,0X65,0X22,0X3E,0X26,0X62,0X75,0X6C,0X6C,0X3B,0X3C,0X2F,0X73,0X70,0X61,0X6E,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X61,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X7B,0X7B,0X25,0X73,0X3A,0X70,0X72,0X65,0X66,0X69,0X78,0X7D,0X7D,0X2F,0X61,0X62,0X6F,0X75,0X74,0X2F,0X6C,0X69,0X63,0X65,0X6E,0X73,0X65,0X22,0X3E,0X4C,0X69,0X63,0X65,0X6E,0X73,0X65,0X3C,0X2F,0X61,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X73,0X70,0X61,0X6E,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X62,0X75,0X6C,0X6C,0X65,0X74,0X2D,0X73,0X65,0X70,0X61,0X72,0X61,0X74,0X65,0X22,0X3E,0X26,0X62,0X75,0X6C,0X6C,0X3B,0X3C,0X2F,0X73,0X70,0X61,0X6E,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X61,0X20,0X68,0X72,0X65,0X66,0X3D,0X22,0X68,0X74,0X74,0X70,0X73,0X3A,0X2F,0X2F,0X66,0X6F,0X73,0X73,0X69,0X6C,0X2E,0X6E,0X65,0X6B,0X6F,0X62,0X69,0X74,0X2E,0X6E,0X65,0X74,0X2F,0X74,0X72,0X65,0X65,0X62,0X69,0X72,0X64,0X22,0X3E,0X53,0X6F,0X75,0X72,0X63,0X65,0X20,0X63,0X6F,0X64,0X65,0X3C,0X2F,0X61,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X64,0X69,0X76,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X74,0X64,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X21,0X2D,0X2D,0X20,0X44,0X69,0X73,0X70,0X6C,0X61,0X79,0X20,0X66,0X6F,0X72,0X20,0X70,0X6F,0X73,0X74,0X73,0X20,0X2D,0X2D,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X74,0X64,0X20,0X69,0X64,0X3D,0X22,0X6D,0X61,0X69,0X6E,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X24,0X6D,0X61,0X69,0X6E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X74,0X64,0X3E,0XA,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X21,0X2D,0X2D,0X20,0X4E,0X6F,0X74,0X69,0X66,0X69,0X63,0X61,0X74,0X69,0X6F,0X6E,0X73,0X20,0X61,0X6E,0X64,0X20,0X73,0X75,0X63,0X68,0X20,0X2D,0X2D,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X74,0X64,0X20,0X69,0X64,0X3D,0X22,0X72,0X69,0X67,0X68,0X74,0X62,0X61,0X72,0X22,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X22,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X22,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X7B,0X7B,0X20,0X25,0X73,0X20,0X3A,0X20,0X73,0X69,0X64,0X65,0X62,0X61,0X72,0X5F,0X72,0X69,0X67,0X68,0X74,0X62,0X61,0X72,0X20,0X7D,0X7D,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X74,0X64,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X74,0X72,0X3E,0XA,0X20,0X20,0X20,0X20,0X20,0X20,0X3C,0X2F,0X74,0X61,0X62,0X6C,0X65,0X3E,0XA,0X20,0X20,0X20,0X20,0X3C,0X2F,0X64,0X69,0X76,0X3E,0XA,0X20,0X20,0X20,0X20,0XA,0X20,0X20,0X20,0X20,0X3C,0X21,0X2D,0X2D,0X20,0X53,0X6F,0X75,0X72,0X63,0X65,0X20,0X2D,0X2D,0X3E,0XA,0X20,0X20,0X20,0X20,0X3C,0X73,0X63,0X72,0X69,0X70,0X74,0X20,0X73,0X72,0X63,0X3D,0X22,0X2F,0X6A,0X73,0X2F,0X6D,0X61,0X69,0X6E,0X2E,0X6A,0X73,0X22,0X3E,0X3C,0X2F,0X73,0X63,0X72,0X69,0X70,0X74,0X3E,0XA,0X20,0X20,0X20,0X20,0X3C,0X73,0X63,0X72,0X69,0X70,0X74,0X20,0X73,0X72,0X63,0X3D,0X22,0X2F,0X6A,0X73,0X2F,0X65,0X6D,0X6F,0X6A,0X69,0X2E,0X6A,0X73,0X22,0X3E,0X3C,0X2F,0X73,0X63,0X72,0X69,0X70,0X74,0X3E,0XA,0X20,0X20,0X3C,0X2F,0X62,0X6F,0X64,0X79,0X3E,0XA,0X3C,0X2F,0X68,0X74,0X6D,0X6C,0X3E,0XA,0}; -#endif diff --git a/templates/main.tt b/templates/main.tt index 3971aaa..13e20ad 100644 --- a/templates/main.tt +++ b/templates/main.tt @@ -83,14 +83,69 @@ - {{ %s : sidebar_rightbar }} + [% IF ssn.cookies.logged_in %] + + [% ELSE %] + + [% END %] - - + +