<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected{color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0em 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0em 1em;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}

.sparkline {line-height:1em;}
.sparktick {outline:0;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These InterfaceOptions for customising TiddlyWiki are saved in your browser

Your username for signing your edits. Write it as a WikiWord (eg JoeBloggs)

<<option txtUserName>>
<<option chkSaveBackups>> SaveBackups
<<option chkAutoSave>> AutoSave
<<option chkRegExpSearch>> RegExpSearch
<<option chkCaseSensitiveSearch>> CaseSensitiveSearch
<<option chkAnimate>> EnableAnimations

----
Also see [[AdvancedOptions]]
<<importTiddlers>>
! Practice videos
|Chardi Kala|[[practice video|http://www.youtube.com/watch?v=bUkfmTpwDY4]]|
|Rarke @@''**''@@|[[practice video|http://www.youtube.com/watch?v=WyvpHKOm9EI]]|
|Ki Kehne @@''**''@@|[[practice video|http://www.youtube.com/watch?v=akTKCeDF8j8]]|
|Tu Saala|[[practice video|http://www.youtube.com/watch?v=BRUOxKA5CQs]]|
@@''** See actual positions below''@@

!Alki Beach
* [[Alka Bath House - 2701 Alki Ave SW, Seattle, WA|http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=2701+Alki+Ave+SW,+Seattle,+WA&sll=47.577814,-122.413316&sspn=0.01297,0.033023&ie=UTF8&hq=&hnear=2701+Alki+Ave+SW,+Seattle,+King,+Washington+98116&z=17]]
* Performing at 3pm, be there dressed by 2:30pm

''Chardi Kala''
|>| ''^ Audience ^'' |h
|>| Chi |
| Emily | Tushara |
| Palvi | Manpreet |

''Tu Saala''
* Devi, Shub

''Ki Kehne''
|>|>|>| ''^ Audience ^'' |h
|Tushara|||Chi|
||Emily|Taha?||

! Seattle Art Museum (SAM)
* Seattle downtown -- [[100 University St, Seattle, WA‎|http://tinyurl.com/yd86phq]]
* Performance at 8:45p, be there dressed by 8:15p

''Tu Saala''
* Aruna, Devi. Shub

''Rarke''
|>|>|>|>|>| ''^ Audience ^'' |h
|>|>| Emily |>|>| Naaz |
|>| Mehtab |>| Chi |>| Reefaat |

''Ringa Ringa''
* Devi, Aruna

''Ki Kehne''
|>|>|>|>|>| ''^ Audience ^'' |h
|Tushara|||||Chi|
||Emily|||Mehtab||
|||Naaz|Taha|||
(no Reefaat)
''Venue''
Bellingham Technical College
3028 Lindbergh Ave
Bellingham, WA 98225-1599
(Approx 1.5 hours north of Seattle under ideal traffic conditions)

Building with the flags on it.

''Schedule''
* 08:00a -- For those carpooling w/ Shub: meet at Shub's house (16209 Northup Way, Bellevue, WA 98008).  Shub has rented van; may still need other cars.
* 10:00a -- Reach Bellingham.  Get ready.
* 10:45a -- Performances start.
* 11:45a -- Performances end.  Change, leave, and have lunch at Royal Fork Buffet (2300 Freeway Dr, Mt Vernon, WA‎)

''Routines''
| 1 | Chardi Kala|Chi, Manpreet, Palvi, Sukhman, Avjeet, Prince, Gurlove, Prince |
| 2 | Tu Saala|Shub, Devi |
| 3 | Rarke|Chi, Emily |
| 4 | Sambhale|Avinash, Gurlove, Avjeet |
| 5 | Vaisakhi Medley|Suhail, Chi, Tushara, Emily (?? -- not sure about arrangement) |
| 6 | Ishq Khudai|Shub, Devi |
| 7 | Giddha|Manpreet, Sukhman, Avjeet, Jasleen, Palvi |
| 8 | Ki Kehne|Chi, Suhail, Tushara, Emily |

!Event
Chhabra's Diwali Festival
http://www.bhartiyam.org/

!!Venue
Pacific Cascade Freshman Campus
24635 SE Issaquah Fall City Road
Issaquah, Washington 98029

!!''Schedule -- @@color(red): TIMES ARE STRICT!!! @@''
| ''On Stage'' | ''Routine'' | ''Be Ready By'' |h
| @@''5:15p''@@ | Giddha | 4:45p |
| @@''6:00p''@@ | Vaisakhi Medley | 5:30p |
| @@''8:50p''@@ | Ki Kehne (kids, pre-teen) | 8:20p |

!! Performers
!!!''Giddha''
* Yes: Shub, Rachelle, Palvi?, Manpreet?
* No: Pria

!!!''Vaisakhi''
* Yes: Chi, Karen, Ankita, Priyam, Emily, Mallika, Kamal, Mehtab
* No: Laura, Brynn

''@@color(red): We are meeting at 5:15pm, fully-dressed, to practice @@''

|>| ''^ Audience ^'' |h
| Mallika | Chi |
| Kamal | Emily |
| Tushara | Suhail |
| Karen | Mehtab |
| Ankita | Priyam |

Finale
|>|>|>|>|>|>|>|>|>| Priyam |>|>|>|>|>|>|>|>|>|
||>| Kamal |>| Mallika |>| Ankita |>| Karen ||
|>| Chi |>| Emily |>| Suhail |>| Tushara |>| Mehtab |

!!!''Ki Kehne''
* Yes: Avi, Esha, Aftab, Simran, Jugadh, Vikram, Shub, Jasmein, Jeevanjot
* No:
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Mahatma Gandhi Memorial Dedication Ceremony@@


!! Venue
Bellevue Regional Library
[[1111 110th Ave NE, Bellevue, WA 98004-4515|http://maps.google.com/maps?hl=en&safe=off&rlz=1C1GGLS_en-USUS293US304&resnum=0&um=1&ie=UTF-8&cid=0,0,13420638168473289266&fb=1&hq=regional+library&hnear=bellevue&gl=us&daddr=1111+110th+Ave+NE,+Bellevue,+WA+98004-4515&geocode=6248901790590633699,47.620463,-122.193937&ei=-VjVSo-EEJOKsgO01L3RAg&sa=X&oi=local_result&ct=directions-to&resnum=1&ved=0CA4QngIwAA]]

!! Performances
* Jai Ho (tiny tots)
* Chardi Kala "Ghandi goes bhangra* (everyone)
* Ki Kehne (combined -- pre-teens, young adults, adults)

!! Schedule
On stage at 4pm -- @@'' be there by 3pm ''@@

!! Participants
* Yes: Chi, Ankita, Arshia, Rukshang, Priyam, Michelle
* No: Karen, Simran, Palvi, Manpreet, Laura, Mallika, Kamal, Agam Sidhu, Tushara, Rachelle, Tarjit, Jeevanjot, Pavitjit, Nihal, Avi, Esha, Mehtab, Aftab, Vikram, Reefaat, Naaz, Sukhmani, Mehak
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Taj Palace Diwali in Yakima @@

!! Venue
Harman Center at Gailleon Park
[[101 N 65th Ave., Yakima, WA 98902|http://maps.google.com/maps?hl=en&safe=off&rlz=1C1GGLS_en-USUS293US304&um=1&ie=UTF-8&cid=0,0,18159090243155847098&fb=1&hq=Harman+Center,&hnear=101+N+65th+Ave.,+Yakima,+WA+98902&gl=us&daddr=101+N+65th+Ave,+Yakima,+WA+98908-3014&geocode=7885158608857858407,46.599120,-120.594333&ei=a1vVSty1OoLAsQOO-sDQAg&sa=X&oi=local_result&ct=directions-to&resnum=1&ved=0CBAQngIwAA]]

!! Performances (in no particular order)
* Bhangra Medley (Adult men)
* Chardi Kala (combined)
* Jai Ho (Tiny tots)
* Tu Saala (Bollywood)
* Vaisakhi Medley (young adults / adults)
* Giddha (short version)
* Rarke (young adults / adults)
* Ki Kehne (combined)
* Ringa Ringa (Bollywood)
* Ishq Khudai (Bollywood)

!! Schedule
Seattle to Yakima is about 2.5 hours one-way
|12:00p|Leave Bellevue for Yakima @@''**''@@ |
|03:00p|Snacks and refreshments at Taj Palace@@''**''@@<br>[[2710 W Nob Hill Blvd, Yakima, WA 98902-5107|http://maps.google.com/maps?hl=en&safe=off&rlz=1C1GGLS_en-USUS293US304&um=1&ie=UTF-8&cid=0,0,591437227368140669&fb=1&hq=taj+palace&hnear=yakima&gl=us&daddr=2710+W+Nob+Hill+Blvd,+Yakima,+WA+98902-5107&geocode=4450886233305512454,46.585100,-120.546444&ei=-lvVSoSJBo3UsgPBq8XRAg&sa=X&oi=local_result&ct=directions-to&resnum=1&ved=0CA4QngIwAA]]|
|04:00p|Leave for the venue|
|04:30p|Reach Harman Center, get ready|
|06:00p|On stage|
|07:30p|Dinner provided|

@@''**''@@ Carpooling available from Shub's house.  If you're coming separately and skipping the 3pm refreshments, please reach the Harman Center by 4:30p

!! Participants
* Yes: Chi, Tushara, Rachelle, Tarjit, Jeevanjot, Pavitjit, Hardip, Vikram, Gurinder, Mehtab, Aftab
* Maybe: Mehak (w/ Seema?)
* No: Karen, Aruna, Pria and kids, Laura, Mallika, Kamal, Ankita, Neelam, Arshia, Agam Sidhu, Nihal, Grace, Avi, Esha, Simran, Reefaat, Naaz, Sukhmani
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Evening of Hope @@

Hosted by Global Trauma Intervention

! Venue
[[University Presbyterian Church|http://maps.google.com/maps?rlz=1C1GGLS_enUS291US303&sourceid=chrome&um=1&ie=UTF-8&cid=0,0,9038301873652619449&fb=1&hq=university+presbyterian+church&hnear=Seattle,+WA&gl=us&daddr=4540+15th+Ave+NE,+Seattle,+WA+98105-4591&geocode=12866546404491137950,47.662]]
* Event will be held in Geneva Hall (upstairs, can't miss it)
* Guests arriving at 6:45.

! Contact
Greg Stone
<span id="gc-number-0" class="gc-cs-link" title="Call with Google Voice">206 588-8029</span>
<span id="gc-number-0" class="gc-cs-link" title="Call with Google Voice">888 757-3031</span>
greg@rwandabaskets.com

! Participants
* Chi, Emily, Ankita, Suhail

! Schedule
* Be there __''and ready''__ by 6:30p
* 7:00p Rarke
* 8:15p Ki Kehne

! Music and props
* ''Chi'': bring a CD
* ''Suhail'': bring two brown clappers, two brown staffs

! Practice
* [[practice video|http://www.youtube.com/watch?v=WyvpHKOm9EI]]
* Chi's office available for practice during the week (1107 NE 45th St., Suite 505, Seattle, WA 98105)
* [[Finale practice video|http://www.youtube.com/watch?v=xC6QKGdSSYk]]

! Rarke details
Start like this in the beginning, then crossover, guys passing behind girls
|>| ^ ^ ''Audience'' ^ ^ |h
| Emily -> | <- Chi |
| Ankita -> | <- Suhail |

... and end up staggered like this for remainder of performance.

|>|>|>|>| ^ ^ ''Audience'' ^ ^ |h
||>| Chi |>| Emily |
|>| Suhail |>| Ankita ||

[[Finale practice video|http://www.youtube.com/watch?v=xC6QKGdSSYk]]

Get into a straight line...
| ^ ^ ''Audience'' ^ ^ |h
| Emily |
| Chi |
| Ankita |
| Suhail |

Split into a square formation, before starting do moves in a circle...
|>| ^ ^ ''Audience'' ^ ^ |h
| Emily | Suhail |
| Chi | Ankita |

At the end of the circling, in this position:
|>|>|>|>| ^ ^ ''Audience'' ^ ^ |h
||>| Ankita |>| Chi |
|>| Suhail |>| Emily ||

Then backline moves up in the last 8 beats.
|>|>|>|>| ^ ^ ''Audience'' ^ ^ |h
| Suhail | Ankita | Emily | Chi |

! Ki Kehne details
|>|>|>| ^ ^ ''Audience'' ^ ^ |h
| Ankita ||| Suhail |
|| Emily | Chi ||

Finale:
* Chi + Suhail carries Ankita.  Emily do squats in front.
! Event
* Saturday October 24th
* Celebration of family in honor of our daughter's coming of age (15)
* Workshop lesson of 30 - 40 mins.
* About 50 people

! Venue
Highland Community Center
14224 """Bel-Red""" Rd
Bellevue, WA  98007

! Participants
* Chi

! Contact
Minoo Ahdieh
minoo@kendell.net
<span id="gc-number-1" class="gc-cs-link" title="Call with Google Voice">(206) 361-9829</span> (home)
<span id="gc-number-1" class="gc-cs-link" title="Call with Google Voice">(206) 999-0618</span> (cell)

Glen Kendell
206-399-3510

! Schedule
* 5:00p start
* 6:30p approx, start dinner
* 7:30p approx, start workshop

! Other info
* They will have sounds system and CD player
* What kind of crowd?  Mixed between teenagers and their parents
* Very large space with stage

@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Escape to India @@

A Benefit Date Auction for Village Volunteers and S.P.R.I.N.T.
Hosted by Seattle Pacific University Student Union Board
[[official flyer|http://drop.io/v2zuhkf/asset/date-auction-poster-jpg]]

! Venue
[[Royal Brougham Pavilion|http://www.spu.edu/info/buildings/royal-brougham/]]
Seattle Pacific University
3414 Third Avenue West
Seattle, WA 98119

! Contact
David C. Lippold
Campus Event Planner
Student Union Board – 2009-10

! Schedule
* Friday, Oct 30
* Event time: 7:00p - 11:00p
* Stage time: ''@@ 8:00p sharp! @@''
* Let's get there and be ready by 7:30p


! Participants
* Yes: Shub, Chi, Perla, Devi, Ankita, Emily, Suhail
* No: Michelle

! Equipment
* Music CD
* 2 clappers
* 2 staffs

! Schedule of Routines
* Ishq Khudai (time-permitting)
* Rarke
* Tu Saala (Only if there's time to do two bollywood numbers.  If not, then move Ishq Khudai here.)
* Ki Kehne
* Workshop (?)

! Routine details
See [[2009-10-23 Evening of Hope]] for Rarke and Ki Kehne
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Season of Wonder series @@

! Request
They would like a 45 min show with 10 performers.

! Venue
[[Bravern|http://www.thebravern.com/]]
11111 NE 8th St
Bellevue, WA

! Routines
* [[practice videos|http://rhythmsofindia.net/practice.php]]
* @@'' This is the order of performance ''@@
*# Chardi Kala
*# Tu Saala
*# Rarke
*# Jai Ho (workshop)
*# Hadippa Medley
*# Ishq Khudai
*# Ki Kehne
*# Twist (workshop)

! Day-specific info
* [[Sat Dec 5|http://drop.io/roimisc/asset/roi-dec-5-2009-plans-pdf]]
* [[Sat Dec 6|http://drop.io/roimisc/asset/roi-dec-6-2009-plans-pdf]]
* [[Sat Dec 9|http://drop.io/roimisc/asset/roi-dec-9-2009-plans-pdf]], [[special Ki Kehne formation|http://www.youtube.com/watch?v=7BTbAGVcP10]]

! Event / Performer / Routine Schedule
* All shows are about 45 minutes long
[img[http://drop.io/download/public/jydxaybqscxclpib0d7l/5219beaef7ca2d34765fc1acd19a47b5dcb6be09/c94374b0-be38-012c-f1db-f1388c12cde8/405604c0-be44-012c-3e4d-f1379d61f98d/v2/thumbnail_large]]
[img[http://drop.io/download/public/jydxaybqscxclpib0d7l/9425c68787337244f0eadb5a236e66543f019821/c94374b0-be38-012c-f1db-f1388c12cde8/4623eeb0-c6d5-012c-21ea-f94adf9d6167/v2/thumbnail_large]]
[img[http://drop.io/download/public/jydxaybqscxclpib0d7l/2ed3cd60f19da491b2d2b89e23b219c801b68bcc/c94374b0-be38-012c-f1db-f1388c12cde8/46dead80-c6d5-012c-d595-fd3bee1847af/v2/thumbnail_large]]
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Santa Baby (w/ Seattle Men's Chorus) @@

! Contact
Eric Lane Barnes
elb@ericlanebarnes.com

! Venue
[[Benaroya Hall|http://www.seattlesymphony.org/benaroya/index.aspx]]
200 University St.
Seattle, WA 98111

! Routines
* Bolly Jolly Holiday (see [[practice videos|http://rhythmsofindia.net/practice.php]])

! Event & Performer Schedule
* Stage time for our part of the performance is roughly 25 minutes into each show.  
* See below for date and time of performances
* @@'' NOV 29 WILL BE FILMED ''@@
[img[http://drop.io/download/public/jydxaybqscxclpib0d7l/5219beaef7ca2d34765fc1acd19a47b5dcb6be09/c94374b0-be38-012c-f1db-f1388c12cde8/405604c0-be44-012c-3e4d-f1379d61f98d/v2/thumbnail_large]]
[img[http://drop.io/download/public/jydxaybqscxclpib0d7l/43897c10f507db6cd4086febe433e284ba1d42b2/c94374b0-be38-012c-f1db-f1388c12cde8/99d32640-c5a8-012c-bc33-fc41dbc3a91c/v2/thumbnail_large]]
* Thu Dec 3 @ Pantages Theater, 901 Broadway, Tacoma, WA
* Sat Dec 5 @ Everett Civic Auditorium, 2415 Colby, Everett, WA

! Partners & Positions
''Sat Nov 28''
||>| Devi |>| Ankita |>| Emily |>| Mallika |
|>| Shub |>| Sunil |>| Chi |>| Bish ||

''Sun Nov 29''
||>| Ankita |>| Mallika |>| Brynn |>| Emily |
|>| Suhail |>| Sunil |>| Chi |>| Bish ||

''Sun Dec 6''
||>| Devi |>| Kamal |>| Tushara |>| Perla |
|>| Prashant |>| Sunil |>| Chi |>| Bish ||

''Sun Dec 13''
||>| Ankita |>| Kamal |>| Tushara |>| Perla |
|>| Suhail |>| Sunil |>| Prashant |>| Bish ||

''Mon Dec 14''
||>| Devi |>| Kamal |>| Tushara |>| Emily |
|>| Suhail |>| Sunil |>| Chi |>| Bish ||

''Sun Dec 20''
||>| Mallika |>| Emily |>| Rachelle |>| Perla |
|>| Prashant |>| Taha |>| Chi |>| Bish ||

@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Rhythms of India @@

Hosted by King County Libraries, Bothell Regional branch

! Venue
''Bothell Regional Library''
18215 98th Ave NE
Bothell, WA 98011-3336
* Seating is limited. Free tickets will be distributed, while supplies last, 30 minutes prior to the show. Sponsored by the Friends of the Bothell Library.
* We are the event
* 8 people, 4-5 bhangra/bollywood + workshop

! Contact
"""Mie-Mie""" Wu
King County Library System, King County, WA
Bothell Regional Library
<span id="gc-number-2" class="gc-cs-link" title="Call with Google Voice">425.486.7811</span>
ywu@kcls.org

! Schedule
* Tuesday, Dec 1
* Be there and ready by 6:45pm
* __''On-stage''__ 7:00pm-7:45pm, continuous

! Participants
Yes: Shub, Chi, Emily, Mallika, Devi, Perla, Ankita, Mehtab, Suhail, Rachelle
Maybe: Aruna
No: Guru, Grace, Brynn, Kamal

! Costumes, Music,and props
* Blue/pink outfits for those doing bhangra, Rajastani-type outfits for bollywood-only
* We need to bring CD, they have sound system for playing it
* Props: clappers, candles

! Routines
[[practice videos|http://rhythmsofindia.net/practice.php]]
|1. Rarke|Chi Emily Mehtab Ankita|
|2. Tu Saala|Shub Devi Perla|
|3. Hadippa|Chi Mehtab Suhail Emlly Mallika Ankita|
|4. Ishq Khudai|Shub Devi Perla|
|5. Twist workshop|Shub Chi Rachelle|
|6. Ki Kehne|Mehtab Suhail Emily Mallika|

! Partners and Formations

!! Rarke
''Main formation.''
Guys come in from off-stage right, girls come in from off-stage left.
|>|>|>|>| ^ ^ '' Audience '' ^ ^ |h
||>| Ankita |>| Emily |
|>| Mehtab |>| Chi ||

''Finale Sequence''
* Refer to [[2009-10-23 Evening of Hope]], substitute Mehtab for Suhail.
* http://www.youtube.com/watch?v=xC6QKGdSSYk
* http://www.youtube.com/watch?v=wQzMTPa_9d0

!! Hadippa medley
First song:
|>|>|>|>|>|>| ^ ^ '' Audience '' ^ ^ |h
||>| Ankita |>| Emily |>| Mallika |
|>| Suhail |>| Chi |>| Mehtab ||

Hadippa:
Girls on the left:
|>|>|>| ^ ^ '' Audience '' ^ ^ |h
||>| Emily ||
|>| Ankita |>| Mallika |

Guys on the right:
|>|>|>| ^ ^ '' Audience '' ^ ^ |h
||>| Chi ||
|>| Mehtab |>| Suhail |

!! Ki Kehne

|>|>|>| ^ ^ ''Audience'' ^ ^ |h
| Suhail ||| Emily |
|| Mehtab | Mallika ||
* Finale: Suhail + Mehtab carries Emily, Mallika does floor stunt
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; End of Quarter Potluck! @@

At the party, please feel free to acknowledge anyone from Rhythms of India - student, parent or teacher for their contribution/participation to the school and/or events. If you would like to present them with gifts etc., this will be a good time to show your appreciation. Children/students are encouraged to celebrate the holiday season by sharing gifts with other classmates also.

!! Venue
Sun Dec 20
Microsoft Café 34/35 -- NOT Kirkland!

!! Schedule
* 4:30 - 5:30 Bhangracize for all!
* 5:30 - 7:00 Potluck / dances for all students, parents, everyone!

!! Potluck -- sign up with Chi for the following:
* Sandwiches
* Veggie tray
* Chips/dip -- Navdeep Singh
* Cheese & crackers
* Fruit tray -- Emily
* Cookies
* Chaat -- Dolly
* Cake
* Juice
* Soda -- Mandeep Bassi -- 6 bottles
* Plates
* Glasses
* Forks/spoons
* Main dishes
** Harpreet Sidhu: thai chicken and rice
** Seema Dhaliwal: butter chicken and rice
** Devi: maybe main dish
* Desserts 
** Devi: Rasmalai
! Contact
Leena Shah
5527 171st Ave. SE
Bellevue, WA 98006
sleena@comcast.net
<span id="gc-number-3" class="gc-cs-link" title="Call with Google Voice">425-746-1397</span>

! Info
* Leena's daughter's school (Open Window School in Bellevue, K-8) has a cultural program for introducing people to different cultures.
* As an event in this program, they would like show India with some Indian dances in a 15-20 minute segment.
* The event is Sat Jan 23 in the evening, with roughly 250 people attending.
* Leena will be performing Garba, we will certainly be able to have a bhangra performance
* The school has no budget for paying performers, so we will be performing gratis.

! Venue
* Bellevue Bahai Center
* Performing roughly at 6:15pm
* Leena's group doing garba, we are doing bhangra and bollywood

! Dances
* Tu Saala: Shub, Devi
* Hadippa: Chi, Katrina, Suhail


@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Tribute to Peace @@

! Contact
* FIAWA
* Anita Arora <anitaarora@hotmail.com>
* Lavanya Reddy <reddyrlavanya@yahoo.com>
* Sudip <sudipkg@aol.com>

! Venue
* Museum of History and Industry

! Timing
* Sat, Jan 30
* Event is 1pm - 4pm
* @@''Our on-stage time slot is 3:00pm - 3:20pm''@@

! Routines
# Hadippa -- Chi, Suhail, Emily, Karen
# Oye lucky -- Arshia, Nihal, Avinash, Rukshang
# Ki Kehne -- Chi, Suhail, Emily, Hadippa

!!! Dancer Availability
* Yes: Shub, Suhail, Chi, Devi, Emily, Ankita, Karen
* No: Aruna, Mallika, Katrina, Priyam
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; India Republic Day @@

! Contact
* IAWW
* Lalita Uppala <lujab@hotmail.com>
* Lakshmi Gaur <lakshmi_gaur@yahoo.com>

! Venue
* Interlake High School, Bellevue

! Timing
* Sat Jan 30
* Event time 4:00pm - 7:00pm
* @@'' Our performance is scheduled for sometime between 6:15pm - 6:45pm''@@

! Routines and Dancers
# Mere Naal -- Guys: Suhail, Chi, Priyam + Girls: Mallika, Katrina, Abbe

!!! Dancer Availability
* Yes: Shub, Suhail, Chi, Devi, Emily, Ankita, Mallika, Katrina, Priyam
* No: Aruna

@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; """Multi-Cultural""" Week @@

! Contact
* Kristen Edelhertz
* <span id="gc-number-4" class="gc-cs-link" title="Call with Google Voice">425.455.0240</span> home
* <span id="gc-number-2" class="gc-cs-link" title="Call with Google Voice">425.241.9093</span> cell
* edelhertz@msn.com

! Venue
* Medina Elementary School, 8001 Northeast 8th Street, Medina, WA
* Dressing/staging room available

! Timing
* Fri Feb 5, 11:45am - 1:05pm
* We are repeating our performances 3 times during above time period
* ''@@Be there 11:15am@@''

! Routines and Dancers
# Hadippa: Chi, Suhail, Katrina, Ankita
# Mere Naal: Chi, Suhail, Katrina, Ankita

!!! Dancer Availability
* Yes: Katrina, Devi, Ankita, Shub, Chi, Suhail
* No: Emily (ish)
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; NWFL Fundraiser Gala @@


''@@ Event cancelled @@''

! Contact
Deborah Fant
Director of Programs
Northwest Folklife
305 Harrison St
Seattle WA 98109
<span id="gc-number-5" class="gc-cs-link" title="Call with Google Voice">206.684.7316</span>
www.nwfolklife.org

! Venue
* Museum of History and Industry

! Timing
* Sat Feb 20
* Event time 5:00pm - 9:00pm
* Performances start at 7pm, and we're 2nd in the schedule.  ''@@Be ready by 7pm!@@''

! Routines and Dancers
Organizers have allotted us 25 minutes.
# routine 1
# routine 2
# routine 3
# workshop

!!! Dancer Availability
* Yes: Taha, Chi, Suhail, Priyam
* No:
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Sita Ram Cultural Show @@

! Event Contact
Akash
akash25@gmail.com
<span id="gc-number-6" class="gc-cs-link" title="Call with Google Voice">425.533.6027</span>

! Venue
Bellevue College
3000 Landerholm Circle SE, Bellevue

! Timing -- ''@@1:00pm -- be there and ready!@@''
* Saturday Apr 3, 2010
* Event time 10:00a - 5:00pm
* Performances start at 1:00p, and we're 3rd, 4th, and 5th in the schedule.  

! Routines and Dancers
| 1 |Hadippa|Pavi, Agam, Nihal, Arshia, Agastya, Rukshang|
| 2 |Happening|Shub, Arpana, Tina (?)|
| 3 |Dhol, Dark & Handsome into Mere Naal|Suhail, Chi, Karen, Emily, Mallika, Mehtab (?)|

! Friday 4/2 Practice - MS 34/35 Cafe
* 6:30p-7:30p MS Bollywood
* 6:30p-8:00p Performance team practice
* 7:30p-8:00p Tiny-tots practice and costumes

! Additional Info
Website: http://sdtccwa.org/index.php
[img[http://sdtccwa.org/images/sitaram.jpg]]
! Venue
Kent Senior Activity Center
[[600 East Smith St, Kent WA|http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=600+East+Smith+Street,+Kent,+WA&sll=47.3876,-122.220969&sspn=0.026092,0.057034&gl=us&ie=UTF8&hq=&hnear=600+E+Smith+St,+Kent,+King,+Washington+98030&ll=47.383263,-122.226838&spn=0.006523,0.014259&z=17]]

! Timing
* Saturday May 8, 2010
* Event starts at 6p
* We need to @@''be there by 6:30pm''@@ 
* We're scheduled to perform for about 30 minutes between 7p and 8p

! Routines and Dancers
| 1 |Mere Naal|Suhail, Chi, Mehtab, Karen|
| 2 |Ladies Bollywood|Shub, Devi, |
| 3 |Spring bhangra medley|Suhail, Chi, Karen|

! Availability
* Yes: Shub, Suhail, Chi, Karen, Devi, Mehtab
* Maybe: Rachelle
* No: Mallika, Emily
! Venue
Highline Community College
[[2400 South 240th St, Des Moines, WA‎|http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Highline+Community+College,+WA&sll=47.388472,-122.299461&sspn=0.046081,0.048666&ie=UTF8&hq=&hnear=Highline+Community+College,+Des+Moines,+King,+Washington+98198&t=h&z=14]]

! Date/Time
* Saturday May 15, 2010 -- 6:00p - 9:00p

! Dancers
| Kirkland pre-teens|Mannat Sukhija, Prabhnoor Bassi, Gurpuneet Bassi, Esha Mahal, Komal Mand, Anumolpreet Khaira, Hargun Khaira, Simran Dhanoa, Aftab Dhaliwal, Shubh Gill, Jugadh Gill, Rajpreet Bhangoo, Avneet Mahal, Vikram Gill, ? |
| Advanced perf. group|Suhail Bains, Chi Shen, Mehtab Dhaliwal, Simran Mand, Kiran Ghatore, Komal Mand, Emily Dolan, Mallika Singh, Deepika Sharma, ?|
| Giddha ladies|"""Shub-Chintan""" Gill, Devi Tandavan, Arpana Chauhan, Sukhmann Bajwa, Avjeet Bajwa, ?|
| Redmond bollywood ladies| """Shub-Chintan""" Gill, Devi Tandavan, Arpana Chauhan, Tina Sharma, Poonam Kataria, ? |
| Kirkland tiny tots|Anaysa Deswal, Veer Gunjan Desai, Avinash Singh Gill, Rukshang Verma, Harshjit Bhangoo, Arshia Batra, Sahipreet Saran, Nihal Kaur Verma, Mehak Hundal, ? |
| Kent kids|? |
* No: Dhruv, Sakhi, Poonam (?), Tarjit, Jeevanjot Nara, Pavitjit Nara

! Schedule/Routines
| 1 |Aeh Pagri Sadara |Kent kids |
| 2 |Hadippa |Kirkland tiny tots |
| 3 |Aahun Aahun |Redmond bollywood ladies |
| 4 |Twist, Mul Ni Lagda medley |Kirkland pre-teens |
| 5 |Teri Ore medley |Kiran Ghatore and Deepika |
| 6 |Giddha |UW Giddha team |
| 7 |Bhangra medley |Kirkland men's bhangra team |
| 8 |Aal Izz Well |Kirkland tiny tots |
| 9 |Gurdaas Mann medley |Advanced performance group |
| 10 |Giddha Penda |ROI ladies |
| 11 |TBD | |
| 12 |TBD | |
| 13 |TBD | |
| 14 |Mere Naal |Advanced performance group |
| 15 |TBD | |
| 16 |TBD | |
| 17 |TBD |Kent bhangra team (not ROI) |
| 18 |Giddha |UW Giddha team |

@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Bhumi Puja (Ground Breaking Ceremony) @@

!Venue
Sanatan Dharm Mandir
27123 104th Ave SE
Kent, WA 98030

!Date/Time
* Sunday, May 16, 2010 -- Noon - 2:00p

!Routines and Dancers
| 1 | Kids | Hadippa | Anaysa Deswal, Veer Gunjan Desai, Nihal Verma, Avinash Gill, ? |
| 2 | Pre-teens | ? | Simran Dhanoa, ? |
| 3 | Ladies bollywood | ? | Shub, Devi |
| 4 | Advanced group | Gurdaas Maan medley | Suhail, Chi, ? |

!Can't
* Mallika, Sakhi, Poonam (?), Esha, Avi, Arpana, Rukshang, Arshia, Mehtab, Aftab, Rahjpreet, Harshjit
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; ROI Spring 2010 Potluck @@

! Date/Venue
Friday 5/21, 7pm
Microsoft 34/35 Cafe [[map|http://drop.io/roistuff/asset/cafe3435-jpg]]

! Potluck
| Family/Person| Number |Food item |
| Shub's family| 4 |? |
| Chi| 1 |? |
| Mongia family| 3 |Rice |
| Kataria family| 2 |Idlli |
| Desai family| 3 |Gujarati Khaman Dhokala |
| Emily| 1 |Vegetarian dish (main/side) |
| Rachelle| 1 |Green salad |
| Mand family| 3 |Chips/salsa |
| Batra family| 2 |dessert |
| Ghatore family| 3 |pasta salad, pasta w/ cheese |
| Devi| 1 |? |
| Chauhan family| 2 |Indian snacks |
| Verma family| 4 |Rice dish |
| Handal family| 2 |main, side? |
| Bhangoo family| 4 |fruit, snacks/dessert |

!!! Unavailable
* Nithya
* Mallika and family
* Tina
* Dhaliwal family
* Mahal family
* Bhullar family
* Gill family
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Amrita Fundraiser @@

! Event Contact
Sampa Pal
<span id="gc-number-7" class="gc-cs-link" title="Call with Google Voice">206-484-7896</span>
contact@amrita-kumbha.org

! Venue
University Heights Center
5031 University Way NE
Seattle, WA 98105

! Timing -- BE READY TO DANCE 5:15p
Either arrive all dressed by 5:15p, or arrive 4:45p and get ready there.
* Date: Sat 5/22/2010
* Event time: 4:30p - 6:00p
* Stage time: 5:25p - 6:00p

! Routines/Schedule
# Happening
# Gurdaas Maan medley
# Aahun Aahun
# Ki Kehne

!!! Dancer Availability
* Yes: Shub, Suhail, Chi, Mallika, Agastya, Veer, Emily, Mehtab, Devi, Kiran
* No: Simran Mand, Komal, Nithya, Arpana, Ruhkshang, Nihal
* Maybe: 
* Sophia offered to help with something?
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Northwest Folklife Festival @@

! Venue
Seattle Center
Mural Amphitheater

! Timing -- DON'T BE LATE -- NWFL folks are strict about timing!
* Date: Fri May 28
* Stage time: 7:30p-8:00p

! Routines/Schedule (30 min total)
# Gurdaas Maan medley (10:30)
# Giddha (5:00)
# Audience participation bhangra workshop (8:00)
# Mere Naal (5:00)

!!! Dancer Availability
* Yes: Chi, Shub, Suhail, Mallika, Agastya, Veer, Emily, Komal, Simran Mand, Mehtab, Poonam, Rachelle
* No: Nithya, Devi, Arpana, Ruhkshang, Nihal, Katrina
* Maybe:
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; IAWW India Day @@

! Event Organizer
Nalini Niranjan <niranj5@aol.com> <span id="gc-number-8" class="gc-cs-link" title="Call with Google Voice">425-485-3389</span> <span id="gc-number-3" class="gc-cs-link" title="Call with Google Voice">206-291-8289</span>

! Venue
Crossroads Bellevue
[[Click to download PDF with address, directions, and entrance/parking details|http://rhythmsofindia.net/downloads/2010-08-21%20IAWW%20India%20Day%20-%20directions.pdf]]


! Timing
* Date: Sat Aug 21, 2010
* Stage time: 
** 2:05pm Aahun Aahun
** 3:10pm Giddha Painda
** 3:20pm Aage Aage
!! @@ Dancers are required to come __dressed__ and be ready at least ''__45 minutes__'' ahead of the scheduled time@@

! Dancers
| Aahun Aahun |Isabel Yu, Juliet Yu, Elisha Gill, Gulnoor Goraya, Sareen Dulay, Palamveer Dhaliwal |
| Giddha Painda |Shub, Devi, Sukhmann, Avjeet, Rachelle|
| Aage Aage |Arshia Batra, Veer Desai, Agastya Mongia, Suraj Pagadala, Adya Verma, Ishaan Bansal, Ajitesh Parthasarathy, Inshirah Afroz Syed, Shabad Kaur, Angad Arora, Anaysa Deswal, Ishita Suri |

! Costumes
Direct questions to Shub 425-269-0107.
| Aahun Aahun |Shub says, "Since your costumes won't be ready till the end of August, please wear all white - Girls - white long t-shirt and white tights;   Boys - white t-shirt and white pants....(preferably kurta/pajama). We will bring your vest and head dress (turban etc.)" |
| Giddha Painda |the usual -- white shirt, red salwaar, red dupatta, parandi (tasseles) in hair. |
| Aage Aage |White shirts, black pants for boys. White long shirts and black tights for girls. |
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Teeyan da Mela @@

! Key Contacts
|Shub|skg@rhythmsofindia.net|425-269-0107, 425-373-9110|
|Chi|chi@rhythmsofindia.net|206-629-8829|
|Rachelle|rachelle.rlr@gmail.com|425-765-1658|
|Patty Sherman (GRCC tech contact)|"""PSherman@greenriver.edu"""|253-333-6012|

! Venue
Green River Community College
12401 SE 320th Street
Auburn, WA 98092-3622

! Facilities
* One green room available.  This room has mirrors, lights, etc.  One other room can be opened for changing as needed.
* Bathrooms -- both on first floor reserved for ladies.

! Timing
* Date: Sunday 9/12
* Event time: 1p - 6p

! Practice videos and songs
http://rhythmsofindia.net/practice.php

! Routines/Schedule  ***TENTATIVE***
| # | Time | Dur<br>(min) |Description|People|Costumes|
| 1 | 01:00 | 30 |Welcoming videos (devotional videos)|>|>|
| 2 | 01:30 | 10 |Introduction|Shub, ?|>|
| 3 | 01:40 | 5 |Twist|both groups together|''Boys:'' Orange lungis, white kurtas, orange head tie, orange sash/waist<br>''Girls:'' Black tights, long black long-sleeve tshirt, silver trim for sleeves|
| 4 | 01:47 | 3 |DDH -> Chardi Kala medley|Agam, Rishika, Sahizpreet, Harpreet, Shruti, Manpreet, Harmandeep, Simran, Harwan|Bhangra outfits -- magenta for girls, blue for boys|
| 5 | 01:52 | 4.5 |Giddha Painda|Rachelle, Palvi, Manpreet, Devi, Sukhmann, Avjeet, Amarjit, Sabbi|White kameez, red salwar|
| 6 | 01:59 | 4 |Aage Aage|both groups together|Black pants/tights, white shirt, white/blue head ties|
| 7 | 02:05 | 5 |np: Amma |>|>|
| 8 | 02:12 | 7 |Aahun Aahun -> Wanga medley|Juliet, Isabelle, Gulnoor, Avinash, Seerut, Avjeet, Sareen, Palamveer, Sakhi|Red lungis, white shirts, red vests, red pug/dupatta|
| 9 | 02:21 | 5 |Mere Naal|Emily, Kiran, Mallika|Teal + magenta bhangra outfits|
| 10 | 02:28 | 5 |np: Chaya |>|>|
| 11 | 02:35 | 5 |Innayat and Anhad|>|>|
| 12 | 02:42 | 4.5 |Chitte Suit Te|Rachelle, Emily, Devi, Manjeet, Ravinder, Pinky, Amarjit, Sabbi, Kiran, Rimmy|White suit (kameez/salwar), parasols, rainbow dupatta|
| 13 | 02:49 | 5 |np: Amrita |>|>|
| 14 | 02:56 | 10 |Sisters Diama (Belly dancing)|>|>|
| 15 | 03:08 | 4 |Dippa Boliyan|Emily, Sukhmann, Manpreet, Palvi, Kiran, Mallika|Red lungis, white kameez, red pagg band (side tie/boy)|
| 16 | 03:14 | 5 |np: Gurshobha |>|>|
| 17 | 03:21 | 6 |Sakhiyaan|Harpreet Bajwa, Jaspreet Heera, Ginni Bajwa, and Anu Heera|>|
| 18 | 03:29 | 4 |Aashiq|Rachelle, Emily, Manpreet, Palvi, Kiran, Amarjit|White kameez/salwar, gold vest, rainbow dupatta|
| 19 | 03:35 | 5 |np: United Sikhs |>|>|
| 20 | 03:42 | 10 |Gidda Boliyan|Shub, Rachelle, Kiran, Devi, Pinky, Ravinder, Rimmy, Sarbjit, Amarjeet, Palvi, Manpreet, Manjit, Sabbi|White kameez, colored lehengas/matching dupatta, rainbow dupatta around neck|
| 21 | 03:54 | 30 |Break, Ms Punjabn, band set up|>|>|
| 22 | 04:30 | 60 |Band|>|>|
| 23 | 05:30 | 30 |Open dance|>|>|
| 24 | 06:00 | ~ |Break down|>|>|

! Tasks and assignments
|''-- Setup 10:00am+ --'' |>|
|Balloons/signs coming in|Preet, Rajdeep|
|Put up banners|Harjodh, Guru|
|Tech setup|GRCC staff, Gurpreet, Suhail|
|Vendor setup|Ramesh, Mehtab|
|''-- Pre-event/Ongoing 12:15pm+ --''|>|
|Ticketing/stamps|Uma, Sukh (Shub's chachi)|
|Stamper|Ramesh, Mehtab|
|VIP, general seating|Paul + daughters|
|Floor management/vendor setup|3 badges per vendor -- Paul, Ramesh|
|Arcade/upstairs management|Hardeep, Avnash, Maya, Rita, +Paul after initial seating|
|''-- Main Event 12:45pm+ --''|>|
|Stage director|Chi, Guru|
|Soundboard|Suhail|
|Backstage manager|Shub, Preet, Rajdeep|
|Costumes|Paramjit, Rajinder, Shub, Emily, Paul|
|Lighting|?|
|Projection screen|?|
|Projector|?|
|Projector video source|?|
|Front curtain|?|
|Back curtain|?|
|Photos|Laddie, Ankita|
|Video camera|Harjodh, Rita?|

! Misc performer contacts
|Kiran|kghatore@yahoo.com, pghatore@yahoo.com|425-785-3996, <span id="gc-number-9" class="gc-cs-link" title="Call with Google Voice">425-481-5383</span> (both Paramjit)|
|Devi|devitandavan@earthlink.net|206-550-3682|
|Pinky|saransahiz@gmail.com|425-348-9678|
|Ravinder|rroov9@aol.com|604-834-2627, 425-334-2216|
|Rimmy|ambhathal@hotmail.com|425-355-3247|
|Sarbjit|sdhaliwal@safemail.com -- possibly issue with returned emails|425-355-2426|
|Sabbi|sabbibains@gmail.com|253-227-8962|
|Amarjeet|amarsandhu75@hotmail.com|206-407-7833, 206-218-5390|
|Palvi|palvi_2012@yahoo.com|206-841-6681, 206-261-2106|
|Manpreet|kaur.mnpreet@live.com|206-841-6681, 206-261-2106|
|Manjit|wastar96@yahoo.com|425-377-4074|
|Sukhmann|bsukhmann@yahoo.com|206-660-1907 (Davinder)|
|Avjeet|n/a|206-660-1907 (Davinder)|
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Utsav South Asian Performing Arts Festival @@

! Contact

! Venue
Seattle Center

! Timing
* Date: October 9, 2010
* Event time: all day
* Stage time: 4:00p - 4:45pm

! Routines/Schedule (to fill ~45 minutes)
| ''Routine'' | ''People'' | ''Costumes'' |
| Giddha Painda (4.5 min) | Shub, Rachelle, Palvi, Devi, Sukhmann, Avjeet | red/white |
| DDH into Mere Naal (7.5 min) | Chi, Guru, Kiran | pink/blue |
| Chardi Kala (5 min) | Chi, Guru, Sukhmann, Avjeet | pink/blue |
| Aashiq (4 min) | Palvi, Kiran, Rachelle | white/white |
| Workshop (5 min) | Everyone | Hip Hop mix -- Lakk Hilda Ft. Heera -- Fearless |
| Dippa Boliyan (4 min) | Palvi, Sukhmann, Kiran | white/white |

! Suggested Practices
| ''Date/time'' | ''Routines'' | ''People'' |
| ''MON'': 7p-9p | Giddha Painda, Aashiq, DDH + Mere Naal |Chi, Guru, Palvi, Sukhmann, @@Kiran@@, Rachelle, Shub |
| ''WED'': 7p-9p | Dippa Boliyan, Aashiq, DDH + Mere Naal, Chardi Kala |Chi, Guru, Emily, Palvi, Sukhmann, @@Kiran@@, Rachelle, Shub |
| ''THR'': 7p-9p | Giddha Painda, Dippa Boliyan, Aashiq, DDH + Mere Naal, Chardi Kala |Chi, Guru, Emily, Palvi, Sukhmann, @@Avjeet@@, Rachelle, @@Devi@@, @@Shub@@ |

! Practice availability, week of Oct 3 (@ Shub's house)
| | M | T | W | R | F |
| Shub| 5p+ | 7p+ | ? | ? | 6p+ |
| Rachelle| ? | ? | ? | 6p+ | ? |
| Devi| - | 6p+ | 6p+ | 6p+ | - |
| Kiran| 6p+ | - | 6p+ | - | 6p+ |
| Emily| 7p+ | 7p+ | 7p+ | 7p+ | - |
| Guru| ? | ? | ? | ? | ? |
| Chi| 7p+ | 7p+ | 7p+ | 7p+ | 7p+ |
| Palvi| 7p+ | 7p+ | 7p+ | 7p+ | 7p+ |
| Sukhmann| 7p+ | 7p+ | 7p+ | 7p+ | 7p+ |
| Avjeet| 7p+ | 7p+ | 7p+ | 7p+ | 7p+ |

!!! Dancer Availability
* Yes: Kiran, Emily, Rachelle, Sakhi, Ishaan (Bellevue), Inshirah, Chi, Shub, Palvi, Devi, Sukhmann, Avjeet, Guru
* No: Mallika
* Maybe:
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Diwali in Yakima @@

!! Venue
Harman Center at Gailleon Park
[[101 N 65th Ave., Yakima, WA 98902|http://maps.google.com/maps?hl=en&safe=off&rlz=1C1GGLS_en-USUS293US304&um=1&ie=UTF-8&cid=0,0,18159090243155847098&fb=1&hq=Harman+Center,&hnear=101+N+65th+Ave.,+Yakima,+WA+98902&gl=us&daddr=101+N+65th+Ave,+Yakima,+WA+98908-3014&geocode=7885158608857858407,46.599120,-120.594333&ei=a1vVSty1OoLAsQOO-sDQAg&sa=X&oi=local_result&ct=directions-to&resnum=1&ved=0CBAQngIwAA]]

!! Schedule
Seattle to Yakima is about 2.5 hours one-way
|12:30p|All meet at Microsoft Cafe 34 to practice|
|02:00p|Leave Bellevue for Yakima|
|05:00p|Arrive at venue, get ready|
|06:00p @@(?)@@|Performances|
|07:00p @@(?)@@|Dinner provided|

!! Other notes
* Gas will be reimbursed -- @@how?@@
* All performers enter/eat free.
* Otherwise, tickets are $35 per person... but with the following exception
* @@"Something like"@@ one adult and one child in the same (immediate) family can enter/eat free.  I'm sorry about the lack of clarity, but that's what we've been told.
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; ROI Winter 2010 Potluck @@

! Date/Venue
Sunday December 19th, 4pm-7pm
Microsoft 34/35 Cafe [[Click for directions|http://rhythmsofindia.net/images/cafe3435.JPG]]

! Sign-up
| Family/Person| # |Food item |
| Shub's family| 3 |? |
| Chi| 1 |Chicken curry |
| Simran's family (tentative)| 4 |?  |
| Mohini's family| 5 |Rice |
| Rekha's family| 4 |Rasmalai|
| Emily&Craig| 2 |Vegetarian pasta|
| Sonya's family| 3 |Lollipop chicken|
| Shabad's family| 3 |Pizza (veggie from Canam)|
| Katrina| 1 |?|
| Harjinder's family| 4 |Lemon rice|
| Tushara| 1 |Apple crisp|
| Serat and mom| 2+ |Shahi Paneer |
| Rimmy's family| 3 |Soda |
| Manpreet's family| 4 |Dessert? |
| Nithya| 1 |Idli|
| Sahizpreet's family| 2+ |Burritos |
| Sabrina's family| 3 |Kheer |
| Dhriti's family| 3 |Rice + Pulav |
| Mani's family| 3 |Chhole or south indian eggplant parmesan |
| Cynthia family| 4 |Veg snack dish |
| @@''TOTAL''@@| @@''55''@@ ||

!!! Unavailable
* Guru
* Sabrina Tatta
* Dhaliwal family
* Mahal family
* Anna
* Minhas family
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Father/Daughter Banquet @@

* Expected attendance of each night: 250

! Contact
Mary Ellen Jilek
WAC Event Coordinator
mjilek@wac.net
<span id="gc-number-4" class="gc-cs-link" title="Call with Google Voice">206-464-3062</span>

! Venue
Noble Room, 1st floor
Washington Athletic Club
1325 6th Ave
Seattle WA 98101

! Parking
Parking will be validated at the WAC Garage which is located at 1409 6th Ave - First driveway on left after going straight through the light at Union Street.

Turn right out of the garage and the Washington Athletic Club is up the street.

! Timing
* Date: Thu Feb 3 and Fri Feb 4
* Event time: 5:00p - 8:30p
* ROI arrival time: ''@@6:20p@@''
* Stage time: ''@@7:00p - 7:30p@@''

! Dancer Availability
* ''THR'': Chi, Shub, Anna, Emily, Katrina, Tushara, Devi, Arpita
* ''FRI'': Chi, Shub, Anna, Emily, Katrina, Tushara, Devi, Arpita, Kiran
* ''NEITHER'': Mallika, Molly

! Thursday
|1| Isak Se Meetha |Devi, Anna, Arpita |
|2| Workshop | Shub + Everyone |
|3| DDH+Mere Naal |Chi, Emily |
|4| Giddha Painda |Devi, Anna |
|5| Workshop |Chi + Everyone |

! Friday
|1| Lakk Hilda |Chi, Emily, Katrina, Tushara |
|2| Isak Se Meetha |Devi, Anna, Arpita |
|3| DDH+Mere Naal |Chi, Emily, Katrina, Kiran |
|4| Workshop |Shub + Everyone |

! Practices
| ''Day''| ''Time'' | ''Where'' | ''What'' |''Who'' |h
| 1/30 ''SUN''| 2:00p - 3:30p | Shub's |Bollywood/giddha |Anna, Devi, Arpita, Shub, Perla|
| 1/31 ''MON''| 7:00p - 8:30p | Shub's |Bhangra |Chi, Anna, Emily, Katrina, Tushara, Kiran|
| 2/1 ''TUE''| 7:30p - 9:00p | Cafe 34 |Combined dress rehearsal |Everyone|
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; Vaisakhi 2011 @@

! Contacts
Shub, 425-269-0107, skg@rhythmsofindia.net
Chi, 206-629-8829, chi@rhythmsofindia.net

! Venue/Timing
* Renton Academy, 6928 116th Ave SE, Newcastle, WA 98056
* Saturday, April 30th, 5pm - 8pm

@@''All performers must arrive at the event fully dressed and ready to go by 4:00pm. If you need help with some part of your costume, you need to come earlier at 3:00pm.''@@

! Tickets
Buy online at http://rhythmsofindia.net, or in one of the following stores:
* Sunny Supermarket, in Kent
* Khooobsurat in Kent and Bothell
* KK market in Kent
* Ravi Video in Kent
* Bombay Beauty Salon in Kent
* Super Salon in Kent
* Bollywood Video in Seatac
* India Plaza in Seatac

! Routines, People, Costumes, and Tentative Order
!!!Terminology 
* pag = turban
* kurta = shirt
* lungi = length of fabric that wraps around waist forming the bottom of a bhangra outfit
* rumal = handscarf
* turla = fan worn on the turban for bhangra
* kenta = necklace worn for bhangra
* dupatta/chunni = headscarf
| ''__#__'' |''__Item__''|''__People__''|''__Costume__''|
| 1 |Devotional|Sarjeet Bains|N/A|
| 2 |Koka + Tilli mix (Everett kids)|Anhad, Sahizpreet, Samir .. Rishika, Serat, Inaayat .. Rithik, Nihal, Harnoor, Ranjodh, Ayesha, Jiya |Full bhangra costume (pag, white kurta, vest, lungi, rumals, turla, kenta). Orange, blue, or red.|
| 3 |Gal Mitthi Mitthi (Everett tots)|Nirvair, Inaayat, Navir, Guneet, Tanvir, Ishaan, Sonia|White kurta or long tshirt, orange lungi (cloth about 1.5 yards), orange head band, orange kamarkas (sash belt)|
| 4 |Des Rangilla|Sakhi, Kamal, Shavi, Mehek, Kashish, Srujana|N/A|
| 5 |Aashiq|Emily, Katrina, Sabrina, Manpreet, Namisha, Devi, Harjinder (Neetu), Rimmy, Kiran|White suit, red vest, rainbow dupatta.|
| 6 |Gurdas Maan mix (Boeing kids)|Vikram, Shubh, Jugadh, Aftab, Avneet, Esha, Sahizpreet|Check to see if the new costumes from India fit the kids, otherwise where your own full bhangra costume.|
| 7 |Pe Pe Pepein (Redmond tots)|Naila, Veer, Angad, Shabad, Sunny, Rhithvik, Ajitesh|Full white, preferably kurta and pajama.  Add head scarf, sash, and vest -- get from Shub by Tuesday!|
| 8 |Isak Se Meetha|Anna, Arpita, Devi|Rajastani outfit|
| 9 |Song|Anhad, Inayaat|N/A|
| 10 |Sajnaji Vaari Vaari|Anna, Arpita, Devi, Tushara, Perla, Avani|Rajastani outfit|
| 11 |Tilli (Bellevue/Redmond kids)|Anumolpreet, Hargun, Sahib, Sakhi, Achintya|Full bhangra costume (pag, white kurta, vest, lungi, rumals, turla, kenta). Orange, blue, or red.|
| 12 |Wanga/Aahun Aahun|Julie, Isabelle, Avjeet|?|
| 13 |Sarjeet Bains w/ dancing|Chi, Suhail, Aman, Gary, Prince, Emily, Katrina, Mallika, Lili, Sukhmann, Palvi, Kiran, Anna|Yellow/Green new bhangra outfits.  Get from Shub.|
| 14 |Poem, intro video of Gatka|Sarabjit|N/A|
| 15 |Gatka (Sikh martial arts)|N/A|N/A|
| 16 |Lakk Hilda|Emily, Katrina, Mallika, Anna|Yellow/Green new bhangra outfits.  Get from Shub.|
| 17 |Giddha|Manpreet, Sabrina, Manjit, Rimmy, Namisha, Pinky, Sukhvinder, Jasveer, Lovely, Harjinder, Devi, Sarabjit, Ravinder, Inayaat, Ashmi, Serat|Ghagras with contrasting shirts -- no matching shirts!|
| 18 |Ishq Barse|Anna, Arpita, Tushara, Perla, Avani|Bollywood outfit.  Red baggy pants, green shirt, red vest, gold tissue head dress.  Get from Shub.|
| 19 |Dharti Nivi Ho Jaandi mix|Boeing men, Anil, Suhail, Laddie, Sukhmann, Emily, Katrina, Mallika, Kiran|Yellow/green outfits for bhangra group, mixed bhangra outfits for Boeing men|

! Costume Notes
* Bhangra costumes are available from Khoobsurat (425-486-3729, 20710 Bothell Everett Hwy #105, Bothell, WA 98012)
* Ghagraas are available at Khoobsurat and Pushpa (253-486-9000)
* Kurta pajamas are available at Kent Collection (phone and location??)

If needed, please call them and arrange for costumes ''__as soon as possible__''. If you still need something, let Shub know __''before 4/23 Saturday''__.

Jewelry, etc. -- match your outfit – heavy earrings, tikka, necklace, bangles and paayals.  Bright makeup is mandatory for all girls/ladies for stage. Don’t wear light lip gloss or pinks. It must be bright makeup … foundation, eyeshadow, eyeliner, blush, lipstick. Rajasthani outfit ladies, three dots on the chin and extra dots around the eyes.

__''ALL DANCERS''__ -- bring your own supply of safety pins, bobby pins, hairspray, etc.

! List of Vendors
* India Boutique
* Pushpa Catering
* Pushpa Jewelry
* Neety Chadda – Travels, Jewelry, apparels
* Sarahenna
* Niti’s Nail Art
''Microsoft Cafe 34/35''
NE 39th St & 159 Ave NE, Redmond, WA 98052
* 6:00p - 7:30p Bollywood
* 6:30p - 7:15p Chardi Kala
* 6:30p - 6:45p Ki Kehne
* 6:45p - 8:00p Vaisakhi medley
!IAWW India Day
Saturday, August 15, 5pm - 9pm
Redmond High School
17272 NE 104th St., Redmond, WA 98052

@@'' Chardi Kala is #11 on the program.  Vaisakhi is #24 on the program ''@@ 

! Vaisakhi Medley
Practice videos [[part 1|http://www.youtube.com/watch?v=5OkD7Mz0Wjc]], [[part 2|http://www.youtube.com/watch?v=R_KJJ5yc5t8]], [[part 3|http://www.youtube.com/watch?v=P_r8Tjp_uRs]]
[[music|http://rhythmsofindia.net/music/Vaisakhi%20medley.mp3]]

|Part 1|Part 2|
|Chi Tushara<br>Mehtab Akansha<br>Reefaat Karen<br>Priyam Naaz|Suhail+Subham, Akansha+Ankita peacocks<br><br>Chi Tushara<br>Suhail Kamal<br>Mehtab Akansha<br>Reefaat Karen<br>Priyam Naaz<br>Shubham Ankita|

! Chardi Kala (KDC kids + Kent kids)
[[Practice video|http://www.youtube.com/watch?v=bUkfmTpwDY4]]
| ''Part 1''|Costume| ''Part 2''|Costume|
| Rukshung|| Shubh||
| Pavi|| Jugadh||
| Arshia|| Aftab||
| Nehal|| Vikram||
| Karamraj|| Avneet||
| Jasmine|| Navsukmani||
| Avinash|| Esha||
| Karanraj|| Jasmein||
| Alambir|| Jeevanjot||
| Seerut|| Mannat||
||| Simran||
||| Amita||
||| Shaan||
||| Sukman||
||| Jaideep||
||| Prince Pamma||
||| Jagman||
||| Jasleen||
! Punjabi Mela & Kabaddi Cup
Presented by the Seattle Sports Club
Sunday, August 16, 11am - 9pm
Starfire Sports Athletic Complex
14800 Starfire Way, Tukwila, WA
[[Official flyer|http://www.seattlemela.com/images/POSTER_2009_MAIN.pdf]]

! Schedule of Performances
| 12:30p|Chardi Kala, Tu Saala, Sambhale|
| 3:30p|Ki Kehne, Ringa Ringa, Chardi Kala,  Desi Girl|
| 5:00p|"Vaisakhi" Bhangra Medley|

! Vaisakhi Medley
Practice videos [[part 1|http://www.youtube.com/watch?v=5OkD7Mz0Wjc]], [[part 2|http://www.youtube.com/watch?v=R_KJJ5yc5t8]], [[part 3|http://www.youtube.com/watch?v=P_r8Tjp_uRs]]
[[music|http://rhythmsofindia.net/music/Vaisakhi%20medley.mp3]]

|Part 1|Part 2|
|Chi Tushara<br>Mehtab Ankita/Naaz<br>Reefaat Karen<br>Priyam Naaz|Suhail+Shubham, Priyam+Ankita/Naaz<br><br>Chi Tushara<br>Suhail Priyam<br>Mehtab Naaz<br>Reefaat Karen<br>Shubham Ankita|

!Ki Kehne
[[Performance video|http://www.youtube.com/watch?v=f2Ucfu2B5EI]] (no practice video available)
* Suhail, Emily
* Reefaat, Naaz
* Mehtab, Karen
* Chi, Michelle

!Bollywood
Routines: Tu Saala, Ringa Ringa, Desi Girl
||Costume|
| Perla||
| Devi||
| Kanchan||
| Aruna||

! Sambhale?
[[practice video|http://www.youtube.com/watch?v=LMA6pSY5Mew]]

! Chardi Kala (KDC kids + Kent kids)
[[Practice video|http://www.youtube.com/watch?v=bUkfmTpwDY4]]
| ''Part 1''|Costume| ''Part 2''|Costume|
| Rukshung|| Shubh||
| Pavi|| Jugadh||
| Arshia|| Aftab||
| Nehal|| Vikram||
| Karamraj|| Avneet||
| Jasmine|| Navsukmani||
| Avinash|| Esha||
| Karanraj|| Jasmein||
| Alambir|| Jeevanjot||
| Seerut|| Mannat||
||| Simran||
||| Amita||
||| Shaan||
||| Sukman||
||| Jaideep||
||| Prince Pamma||
||| Jagman||
||| Jasleen||
||| Prince||
||| Gurlove||
! Sunday, August 23rd, 5pm
ISAFF Fundraiser
Rainier Valley Cultural Center
3515 Alaska St., Seattle, WA 98118

[img[http://rhythmsofindia.net/images/Tasveer%20flyer.jpg]]

! Chardi Kala

! Ki Kehne
/***
|Name:|CloseOnCancelPlugin|
|Description:|Closes the tiddler if you click new tiddler then cancel. Default behaviour is to leave it open|
|Version:|3.0.1 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#CloseOnCancelPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
merge(config.commands.cancelTiddler,{

	handler_mptw_orig_closeUnsaved: config.commands.cancelTiddler.handler,

	handler: function(event,src,title) {
		this.handler_mptw_orig_closeUnsaved(event,src,title);
		if (!store.tiddlerExists(title) && !store.isShadowTiddler(title))
			story.closeTiddler(title,true);
	 	return false;
	}

});

//}}}

This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.

@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://rhythmsofindia.tiddlyspot.com/controlpanel]] (your control panel username is //rhythmsofindia//).
<<tiddler TspotControls>>
See also GettingStarted.

@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the "save to web" button in the column on the right.

@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click "upload" and your ~TiddlyWiki will be saved back to tiddlyspot.com.

@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].

@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions.

[[StyleSheetCustom]]
[[2011-04-30 Vaisakhi]]
@@border:1px solid #ddd;font-size:200%;padding:0.5em;background-color: #ffc; event name @@

! Contact

! Venue

! Timing
* Date: 
* Event time:
* Stage time:

! Routines/Schedule
# 

!!! Dancer Availability
* Yes: 
* No:
* Maybe: 
/***
|Name:|ExtentTagButtonPlugin|
|Description:|Adds a New tiddler button in the tag drop down|
|Version:|3.2 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#ExtendTagButtonPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{

window.onClickTag_mptw_orig = window.onClickTag;
window.onClickTag = function(e) {
	window.onClickTag_mptw_orig.apply(this,arguments);
	var tag = this.getAttribute("tag");
	var title = this.getAttribute("tiddler");
	// Thanks Saq, you're a genius :)
	var popup = Popup.stack[Popup.stack.length-1].popup;
	createTiddlyElement(createTiddlyElement(popup,"li",null,"listBreak"),"div");
	wikify("<<newTiddler label:'New tiddler' tag:'"+tag+"'>>",createTiddlyElement(popup,"li"));
	return false;
}

//}}}

/***
|Name:|HideWhenPlugin|
|Description:|Allows conditional inclusion/exclusion in templates|
|Version:|3.1 ($Rev: 3919 $)|
|Date:|$Date: 2008-03-13 02:03:12 +1000 (Thu, 13 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
For use in ViewTemplate and EditTemplate. Example usage:
{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}
{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}
***/
//{{{

window.hideWhenLastTest = false;

window.removeElementWhen = function(test,place) {
	window.hideWhenLastTest = test;
	if (test) {
		removeChildren(place);
		place.parentNode.removeChild(place);
	}
};


merge(config.macros,{

	hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( eval(paramString), place);
	}},

	showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !eval(paramString), place);
	}},

	hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.tags.containsAll(params), place);
	}},

	showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !tiddler.tags.containsAll(params), place);
	}},

	hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.tags.containsAny(params), place);
	}},

	showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !tiddler.tags.containsAny(params), place);
	}},

	hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.tags.containsAll(params), place);
	}},

	showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !tiddler.tags.containsAll(params), place);
	}},

	hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0]), place);
	}},

	showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !(store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0])), place);
	}},

	hideWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.title == params[0], place);
	}},

	showWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.title != params[0], place);
	}},

	'else': { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !window.hideWhenLastTest, place);
	}}

});

//}}}

/***
|Name:|InstantTimestampPlugin|
|Description:|A handy way to insert timestamps in your tiddler content|
|Version:|1.0.10 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Source:|http://mptw.tiddlyspot.com/#InstantTimestampPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Usage
If you enter {ts} in your tiddler content (without the spaces) it will be replaced with a timestamp when you save the tiddler. Full list of formats:
* {ts} or {t} -> timestamp
* {ds} or {d} -> datestamp
* !ts or !t at start of line -> !!timestamp
* !ds or !d at start of line -> !!datestamp
(I added the extra ! since that's how I like it. Remove it from translations below if required)
!!Notes
* Change the timeFormat and dateFormat below to suit your preference.
* See also http://mptw2.tiddlyspot.com/#AutoCorrectPlugin
* You could invent other translations and add them to the translations array below.
***/
//{{{

config.InstantTimestamp = {

	// adjust to suit
	timeFormat: 'DD/0MM/YY 0hh:0mm',
	dateFormat: 'DD/0MM/YY',

	translations: [
		[/^!ts?$/img,  "'!!{{ts{'+now.formatString(config.InstantTimestamp.timeFormat)+'}}}'"],
		[/^!ds?$/img,  "'!!{{ds{'+now.formatString(config.InstantTimestamp.dateFormat)+'}}}'"],

		// thanks Adapted Cat
		[/\{ts?\}(?!\}\})/ig,"'{{ts{'+now.formatString(config.InstantTimestamp.timeFormat)+'}}}'"],
		[/\{ds?\}(?!\}\})/ig,"'{{ds{'+now.formatString(config.InstantTimestamp.dateFormat)+'}}}'"]
		
	],

	excludeTags: [
		"noAutoCorrect",
		"noTimestamp",
		"html",
		"CSS",
		"css",
		"systemConfig",
		"systemConfigDisabled",
		"zsystemConfig",
		"Plugins",
		"Plugin",
		"plugins",
		"plugin",
		"javascript",
		"code",
		"systemTheme",
		"systemPalette"
	],

	excludeTiddlers: [
		"StyleSheet",
		"StyleSheetLayout",
		"StyleSheetColors",
		"StyleSheetPrint"
		// more?
	]

}; 

TiddlyWiki.prototype.saveTiddler_mptw_instanttimestamp = TiddlyWiki.prototype.saveTiddler;
TiddlyWiki.prototype.saveTiddler = function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) {

	tags = tags ? tags : []; // just in case tags is null
	tags = (typeof(tags) == "string") ? tags.readBracketedList() : tags;
	var conf = config.InstantTimestamp;

	if ( !tags.containsAny(conf.excludeTags) && !conf.excludeTiddlers.contains(newTitle) ) {

		var now = new Date();
		var trans = conf.translations;
		for (var i=0;i<trans.length;i++) {
			newBody = newBody.replace(trans[i][0], eval(trans[i][1]));
		}
	}

	// TODO: use apply() instead of naming all args?
	return this.saveTiddler_mptw_instanttimestamp(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created);
}

// you can override these in StyleSheet 
setStylesheet(".ts,.ds { font-style:italic; }","instantTimestampStyles");

//}}}

/***
|Name:|LessBackupsPlugin|
|Description:|Intelligently limit the number of backup files you create|
|Version:|3.0.1 ($Rev: 2320 $)|
|Date:|$Date: 2007-06-18 22:37:46 +1000 (Mon, 18 Jun 2007) $|
|Source:|http://mptw.tiddlyspot.com/#LessBackupsPlugin|
|Author:|Simon Baird|
|Email:|simon.baird@gmail.com|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Description
You end up with just backup one per year, per month, per weekday, per hour, minute, and second.  So total number won't exceed about 200 or so. Can be reduced by commenting out the seconds/minutes/hours line from modes array
!!Notes
Works in IE and Firefox only.  Algorithm by Daniel Baird. IE specific code by by Saq Imtiaz.
***/
//{{{

var MINS  = 60 * 1000;
var HOURS = 60 * MINS;
var DAYS  = 24 * HOURS;

if (!config.lessBackups) {
	config.lessBackups = {
		// comment out the ones you don't want or set config.lessBackups.modes in your 'tweaks' plugin
		modes: [
			["YYYY",  365*DAYS], // one per year for ever
			["MMM",   31*DAYS],  // one per month
			["ddd",   7*DAYS],   // one per weekday
			//["d0DD",  1*DAYS],   // one per day of month
			["h0hh",  24*HOURS], // one per hour
			["m0mm",  1*HOURS],  // one per minute
			["s0ss",  1*MINS],   // one per second
			["latest",0]         // always keep last version. (leave this).
		]
	};
}

window.getSpecialBackupPath = function(backupPath) {

	var now = new Date();

	var modes = config.lessBackups.modes;

	for (var i=0;i<modes.length;i++) {

		// the filename we will try
		var specialBackupPath = backupPath.replace(/(\.)([0-9]+\.[0-9]+)(\.html)$/,
				'$1'+now.formatString(modes[i][0]).toLowerCase()+'$3')

		// open the file
		try {
			if (config.browser.isIE) {
				var fsobject = new ActiveXObject("Scripting.FileSystemObject")
				var fileExists  = fsobject.FileExists(specialBackupPath);
				if (fileExists) {
					var fileObject = fsobject.GetFile(specialBackupPath);
					var modDate = new Date(fileObject.DateLastModified).valueOf();
				}
			}
			else {
				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
				var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
				file.initWithPath(specialBackupPath);
				var fileExists = file.exists();
				if (fileExists) {
					var modDate = file.lastModifiedTime;
				}
			}
		}
		catch(e) {
			// give up
			return backupPath;
		}

		// expiry is used to tell if it's an 'old' one. Eg, if the month is June and there is a
		// June file on disk that's more than an month old then it must be stale so overwrite
		// note that "latest" should be always written because the expiration period is zero (see above)
		var expiry = new Date(modDate + modes[i][1]);
		if (!fileExists || now > expiry)
			return specialBackupPath;
	}
}

// hijack the core function
window.getBackupPath_mptw_orig = window.getBackupPath;
window.getBackupPath = function(localPath) {
	return getSpecialBackupPath(getBackupPath_mptw_orig(localPath));
}

//}}}

/***
|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Version:''|1.1.0|
|''Date:''|mar 17, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#LoadRemoteFileHijack|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
***/
//{{{
version.extensions.LoadRemoteFileThroughProxy = {
 major: 1, minor: 1, revision: 0, 
 date: new Date("mar 17, 2007"), 
 source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};

if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};

bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
{
 if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){ 
 url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
 }
 return bidix.core.loadRemoteFile(url,callback,params);
}
//}}}
MPTW is a distribution or edition of TiddlyWiki that includes a standard TiddlyWiki core packaged with some plugins designed to improve usability and provide a better way to organise your information. For more information see http://mptw.tiddlyspot.com/.
[[Saturday April 30th Vaisakhi Mela|2011-04-30 Vaisakhi]] ~~~ [[Old pages]]
Name: MptwBlack
Background: #000
Foreground: #fff
PrimaryPale: #333
PrimaryLight: #555
PrimaryMid: #888
PrimaryDark: #aaa
SecondaryPale: #111
SecondaryLight: #222
SecondaryMid: #555
SecondaryDark: #888
TertiaryPale: #222
TertiaryLight: #666
TertiaryMid: #888
TertiaryDark: #aaa
Error: #300

This is in progress. Help appreciated.


Name: MptwBlue
Background: #fff
Foreground: #000
PrimaryPale: #cdf
PrimaryLight: #57c
PrimaryMid: #114
PrimaryDark: #012
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

/***
|Name:|MptwConfigPlugin|
|Description:|Miscellaneous tweaks used by MPTW|
|Version:|1.0 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Source:|http://mptw.tiddlyspot.com/#MptwConfigPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#MptwConfigPlugin|
!!Note: instead of editing this you should put overrides in MptwUserConfigPlugin
***/
//{{{
var originalReadOnly = readOnly;
var originalShowBackstage = showBackstage;

config.options.chkHttpReadOnly = false; 		// means web visitors can experiment with your site by clicking edit
readOnly = false;								// needed because the above doesn't work any more post 2.1 (??)
showBackstage = true;							// show backstage for same reason

config.options.chkInsertTabs = true;    		// tab inserts a tab when editing a tiddler
config.views.wikified.defaultText = "";			// don't need message when a tiddler doesn't exist
config.views.editor.defaultText = "";			// don't need message when creating a new tiddler 

config.options.chkSaveBackups = true;			// do save backups
config.options.txtBackupFolder = 'twbackup';	// put backups in a backups folder

config.options.chkAutoSave = (window.location.protocol == "file:"); // do autosave if we're in local file

config.mptwVersion = "2.5.3";

config.macros.mptwVersion={handler:function(place){wikify(config.mptwVersion,place);}};

if (config.options.txtTheme == '')
	config.options.txtTheme = 'MptwTheme';

// add to default GettingStarted
config.shadowTiddlers.GettingStarted += "\n\nSee also [[MPTW]].";

// add select theme and palette controls in default OptionsPanel
config.shadowTiddlers.OptionsPanel = config.shadowTiddlers.OptionsPanel.replace(/(\n\-\-\-\-\nAlso see AdvancedOptions)/, "{{select{<<selectTheme>>\n<<selectPalette>>}}}$1");

// these are used by ViewTemplate
config.mptwDateFormat = 'DD/MM/YY';
config.mptwJournalFormat = 'Journal DD/MM/YY';

//}}}
Name: MptwGreen
Background: #fff
Foreground: #000
PrimaryPale: #9b9
PrimaryLight: #385
PrimaryMid: #031
PrimaryDark: #020
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

Name: MptwRed
Background: #fff
Foreground: #000
PrimaryPale: #eaa
PrimaryLight: #c55
PrimaryMid: #711
PrimaryDark: #500
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

|Name|MptwRounded|
|Description|Mptw Theme with some rounded corners (Firefox only)|
|ViewTemplate|MptwTheme##ViewTemplate|
|EditTemplate|MptwTheme##EditTemplate|
|PageTemplate|MptwTheme##PageTemplate|
|StyleSheet|##StyleSheet|

!StyleSheet
/*{{{*/

[[MptwTheme##StyleSheet]]

.tiddler,
.sliderPanel,
.button,
.tiddlyLink,
.tabContents
{ -moz-border-radius: 1em; }

.tab {
	-moz-border-radius-topleft: 0.5em;
	-moz-border-radius-topright: 0.5em;
}
#topMenu {
	-moz-border-radius-bottomleft: 2em;
	-moz-border-radius-bottomright: 2em;
}

/*}}}*/

Name: MptwSmoke
Background: #fff
Foreground: #000
PrimaryPale: #aaa
PrimaryLight: #777
PrimaryMid: #111
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

|Name|MptwStandard|
|Description|Mptw Theme with the default TiddlyWiki PageLayout and Styles|
|ViewTemplate|MptwTheme##ViewTemplate|
|EditTemplate|MptwTheme##EditTemplate|
Name: MptwTeal
Background: #fff
Foreground: #000
PrimaryPale: #B5D1DF
PrimaryLight: #618FA9
PrimaryMid: #1a3844
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #f8f8f8
TertiaryLight: #bbb
TertiaryMid: #999
TertiaryDark: #888
Error: #f88
|Name|MptwTheme|
|Description|Mptw Theme including custom PageLayout|
|PageTemplate|##PageTemplate|
|ViewTemplate|##ViewTemplate|
|EditTemplate|##EditTemplate|
|StyleSheet|##StyleSheet|

http://mptw.tiddlyspot.com/#MptwTheme ($Rev: 1829 $)

!PageTemplate
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
	<div class='headerShadow'>
		<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
		<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
	</div>
	<div class='headerForeground'>
		<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
		<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
	</div>
</div>
<!-- horizontal MainMenu -->
<div id='topMenu' refresh='content' tiddler='MainMenu'></div>
<!-- original MainMenu menu -->
<!-- <div id='mainMenu' refresh='content' tiddler='MainMenu'></div> -->
<div id='sidebar'>
	<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
	<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
	<div id='messageArea'></div>
	<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->

!ViewTemplate
<!--{{{-->
[[MptwTheme##ViewTemplateToolbar]]

<div class="tagglyTagged" macro="tags"></div>

<div class='titleContainer'>
	<span class='title' macro='view title'></span>
	<span macro="miniTag"></span>
</div>

<div class='subtitle'>
	(updated <span macro='view modified date {{config.mptwDateFormat?config.mptwDateFormat:"MM/0DD/YY"}}'></span>
	by <span macro='view modifier link'></span>)
	<!--
	(<span macro='message views.wikified.createdPrompt'></span>
	<span macro='view created date {{config.mptwDateFormat?config.mptwDateFormat:"MM/0DD/YY"}}'></span>)
	-->
</div>

<div macro="showWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">
	<div class='viewer'><pre macro='view text'></pre></div>
</div>
<div macro="else">
	<div class='viewer' macro='view text wikified'></div>
</div>

<div class="tagglyTagging" macro="tagglyTagging"></div>

<!--}}}-->

!ViewTemplateToolbar
<!--{{{-->
<div class='toolbar'>
	<span macro="showWhenTagged systemConfig">
		<span macro="toggleTag systemConfigDisable . '[[disable|systemConfigDisable]]'"></span>
	</span>
	<span macro="showWhenTagged systemTheme"><span macro="applyTheme"></span></span>
	<span macro="showWhenTagged systemPalette"><span macro="applyPalette"></span></span>
	<span macro="showWhen tiddler.tags.contains('css') || tiddler.title == 'StyleSheet'"><span macro="refreshAll"></span></span>
	<span style="padding:1em;"></span>
	<span macro='toolbar closeTiddler closeOthers +editTiddler deleteTiddler > fields syncing permalink references jump'></span> <span macro='newHere label:"new here"'></span>
	<span macro='newJournalHere {{config.mptwJournalFormat?config.mptwJournalFormat:"MM/0DD/YY"}}'></span>
</div>
<!--}}}-->

!EditTemplate
<!--{{{-->
<div class="toolbar" macro="toolbar +saveTiddler saveCloseTiddler closeOthers -cancelTiddler cancelCloseTiddler deleteTiddler"></div>
<div class="title" macro="view title"></div>
<div class="editLabel">Title</div><div class="editor" macro="edit title"></div>
<div macro='annotations'></div>
<div class="editLabel">Content</div><div class="editor" macro="edit text"></div>
<div class="editLabel">Tags</div><div class="editor" macro="edit tags"></div>
<div class="editorFooter"><span macro="message views.editor.tagPrompt"></span><span macro="tagChooser"></span></div>
<!--}}}-->

!StyleSheet
/*{{{*/

/* a contrasting background so I can see where one tiddler ends and the other begins */
body {
	background: [[ColorPalette::TertiaryLight]];
}

/* sexy colours and font for the header */
.headerForeground {
	color: [[ColorPalette::PrimaryPale]];
}
.headerShadow, .headerShadow a {
	color: [[ColorPalette::PrimaryMid]];
}

/* separate the top menu parts */
.headerForeground, .headerShadow {
	padding: 1em 1em 0;
}

.headerForeground, .headerShadow {
	font-family: 'Trebuchet MS' sans-serif;
	font-weight:bold;
}
.headerForeground .siteSubtitle {
	color: [[ColorPalette::PrimaryLight]];
}
.headerShadow .siteSubtitle {
	color: [[ColorPalette::PrimaryMid]];
}

/* make shadow go and down right instead of up and left */
.headerShadow {
	left: 1px;
	top: 1px;
}

/* prefer monospace for editing */
.editor textarea, .editor input {
	font-family: 'Consolas' monospace;
	background-color:[[ColorPalette::TertiaryPale]];
}


/* sexy tiddler titles */
.title {
	font-size: 250%;
	color: [[ColorPalette::PrimaryLight]];
	font-family: 'Trebuchet MS' sans-serif;
}

/* more subtle tiddler subtitle */
.subtitle {
	padding:0px;
	margin:0px;
	padding-left:1em;
	font-size: 90%;
	color: [[ColorPalette::TertiaryMid]];
}
.subtitle .tiddlyLink {
	color: [[ColorPalette::TertiaryMid]];
}

/* a little bit of extra whitespace */
.viewer {
	padding-bottom:3px;
}

/* don't want any background color for headings */
h1,h2,h3,h4,h5,h6 {
	background-color: transparent;
	color: [[ColorPalette::Foreground]];
}

/* give tiddlers 3d style border and explicit background */
.tiddler {
	background: [[ColorPalette::Background]];
	border-right: 2px [[ColorPalette::TertiaryMid]] solid;
	border-bottom: 2px [[ColorPalette::TertiaryMid]] solid;
	margin-bottom: 1em;
	padding:1em 2em 2em 1.5em;
}

/* make options slider look nicer */
#sidebarOptions .sliderPanel {
	border:solid 1px [[ColorPalette::PrimaryLight]];
}

/* the borders look wrong with the body background */
#sidebar .button {
	border-style: none;
}

/* this means you can put line breaks in SidebarOptions for readability */
#sidebarOptions br {
	display:none;
}
/* undo the above in OptionsPanel */
#sidebarOptions .sliderPanel br {
	display:inline;
}

/* horizontal main menu stuff */
#displayArea {
	margin: 1em 15.7em 0em 1em; /* use the freed up space */
}
#topMenu br {
	display: none;
}
#topMenu {
	background: [[ColorPalette::PrimaryMid]];
	color:[[ColorPalette::PrimaryPale]];
}
#topMenu {
	padding:2px;
}
#topMenu .button, #topMenu .tiddlyLink, #topMenu a {
	margin-left: 0.5em;
	margin-right: 0.5em;
	padding-left: 3px;
	padding-right: 3px;
	color: [[ColorPalette::PrimaryPale]];
	font-size: 115%;
}
#topMenu .button:hover, #topMenu .tiddlyLink:hover {
	background: [[ColorPalette::PrimaryDark]];
}

/* make 2.2 act like 2.1 with the invisible buttons */
.toolbar {
	visibility:hidden;
}
.selected .toolbar {
	visibility:visible;
}

/* experimental. this is a little borked in IE7 with the button 
 * borders but worth it I think for the extra screen realestate */
.toolbar { float:right; }

/* fix for TaggerPlugin. from sb56637. improved by FND */
.popup li .tagger a {
   display:inline;
}

/* makes theme selector look a little better */
#sidebarOptions .sliderPanel .select .button {
  padding:0.5em;
  display:block;
}
#sidebarOptions .sliderPanel .select br {
	display:none;
}

/* make it print a little cleaner */
@media print {
	#topMenu {
		display: none ! important;
	}
	/* not sure if we need all the importants */
	.tiddler {
		border-style: none ! important;
		margin:0px ! important;
		padding:0px ! important;
		padding-bottom:2em ! important;
	}
	.tagglyTagging .button, .tagglyTagging .hidebutton {
		display: none ! important;
	}
	.headerShadow {
		visibility: hidden ! important;
	}
	.tagglyTagged .quickopentag, .tagged .quickopentag {
		border-style: none ! important;
	}
	.quickopentag a.button, .miniTag {
		display: none ! important;
	}
}

/* get user styles specified in StyleSheet */
[[StyleSheet]]

/*}}}*/

|Name|MptwTrim|
|Description|Mptw Theme with a reduced header to increase useful space|
|ViewTemplate|MptwTheme##ViewTemplate|
|EditTemplate|MptwTheme##EditTemplate|
|StyleSheet|MptwTheme##StyleSheet|
|PageTemplate|##PageTemplate|

!PageTemplate
<!--{{{-->

<!-- horizontal MainMenu -->
<div id='topMenu' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<span refresh='content' tiddler='SiteTitle' style="padding-left:1em;font-weight:bold;"></span>:
<span refresh='content' tiddler='MainMenu'></span>
</div>
<div id='sidebar'>
	<div id='sidebarOptions'>
		<div refresh='content' tiddler='SideBarOptions'></div>
		<div style="margin-left:0.1em;"
			macro='slider chkTabSliderPanel SideBarTabs {{"tabs \u00bb"}} "Show Timeline, All, Tags, etc"'></div>
	</div>
</div>
<div id='displayArea'>
	<div id='messageArea'></div>
	<div id='tiddlerDisplay'></div>
</div>

For upgrading. See [[ImportTiddlers]].
URL: http://mptw.tiddlyspot.com/upgrade.html
/***
|Description:|A place to put your config tweaks so they aren't overwritten when you upgrade MPTW|
See http://www.tiddlywiki.org/wiki/Configuration_Options for other options you can set. In some cases where there are clashes with other plugins it might help to rename this to zzMptwUserConfigPlugin so it gets executed last.
***/
//{{{

// example: set your preferred date format
//config.mptwDateFormat = 'MM/0DD/YY';
//config.mptwJournalFormat = 'Journal MM/0DD/YY';

// example: set the theme you want to start with
//config.options.txtTheme = 'MptwRoundTheme';

// example: switch off autosave, switch on backups and set a backup folder
//config.options.chkSaveBackups = true;
//config.options.chkAutoSave = false;
//config.options.txtBackupFolder = 'backups';

// uncomment to disable 'new means new' functionality for the new journal macro
//config.newMeansNewForJournalsToo = false;

//}}}
/***
|Name:|NewHerePlugin|
|Description:|Creates the new here and new journal macros|
|Version:|3.0 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#NewHerePlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
merge(config.macros, {
	newHere: {
		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			wikify("<<newTiddler "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);
		}
	},
	newJournalHere: {
		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			wikify("<<newJournal "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);
		}
	}
});

//}}}

/***
|Name:|NewMeansNewPlugin|
|Description:|If 'New Tiddler' already exists then create 'New Tiddler (1)' and so on|
|Version:|1.1.1 ($Rev: 2263 $)|
|Date:|$Date: 2007-06-13 04:22:32 +1000 (Wed, 13 Jun 2007) $|
|Source:|http://mptw.tiddlyspot.com/empty.html#NewMeansNewPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Note: I think this should be in the core
***/
//{{{

// change this or set config.newMeansNewForJournalsToo it in MptwUuserConfigPlugin
if (config.newMeansNewForJournalsToo == undefined) config.newMeansNewForJournalsToo = true;

String.prototype.getNextFreeName = function() {
       var numberRegExp = / \(([0-9]+)\)$/;
       var match = numberRegExp.exec(this);
       if (match) {
               var num = parseInt(match[1]) + 1;
               return this.replace(numberRegExp," ("+num+")");
       }
       else {
               return this + " (1)";
       }
}

config.macros.newTiddler.checkForUnsaved = function(newName) {
	var r = false;
	story.forEachTiddler(function(title,element) {
		if (title == newName)
			r = true;
	});
	return r;
}

config.macros.newTiddler.getName = function(newName) {
       while (store.getTiddler(newName) || config.macros.newTiddler.checkForUnsaved(newName))
               newName = newName.getNextFreeName();
       return newName;
}


config.macros.newTiddler.onClickNewTiddler = function()
{
	var title = this.getAttribute("newTitle");
	if(this.getAttribute("isJournal") == "true") {
		title = new Date().formatString(title.trim());
	}

	// ---- these three lines should be the only difference between this and the core onClickNewTiddler
	if (config.newMeansNewForJournalsToo || this.getAttribute("isJournal") != "true")
		title = config.macros.newTiddler.getName(title);

	var params = this.getAttribute("params");
	var tags = params ? params.split("|") : [];
	var focus = this.getAttribute("newFocus");
	var template = this.getAttribute("newTemplate");
	var customFields = this.getAttribute("customFields");
	if(!customFields && !store.isShadowTiddler(title))
		customFields = String.encodeHashMap(config.defaultCustomFields);
	story.displayTiddler(null,title,template,false,null,null);
	var tiddlerElem = story.getTiddler(title);
	if(customFields)
		story.addCustomFields(tiddlerElem,customFields);
	var text = this.getAttribute("newText");
	if(typeof text == "string")
		story.getTiddlerField(title,"text").value = text.format([title]);
	for(var t=0;t<tags.length;t++)
		story.setTiddlerTag(title,tags[t],+1);
	story.focusTiddler(title,focus);
	return false;
};

//}}}

* [[Aug14Practice]]
* [[Aug15]]
* [[Aug16]]
* [[Aug23]]
* [[Sept12Teeyan]]
* [[2009-10-03 Alki, SAM]]
* [[2009-10-08 Bellingham]]
* [[2009-10-10 Chhabra Diwali]]
* [[2009-10-17 Gandhi Statue]] 
* [[2009-10-18 Diwali in Yakima]]
* [[2009-10-23 Evening of Hope]]
* [[2009-10-24 Glen and Minoo private event]]
* [[2009-10-30 Seattle Pacific University]]
* [[2009-12-01 Bothell Regional Library]]
* [[2009-11 Bravern]]
* [[2009-11 SMC Santa Baby]]
* [[2009-12-20 Potluck]]
* [[2010-01-23 Open Window School]]
* [[2010-01-30 FIAWA Tribute to Peace]]
* [[2010-01-30 IAWW India Republic Day]]
* [[2010-02-05 Medina Elementary multi-cultural week]]
* [[2010-02-20 NWFL Fundraiser Gala]]
* [[2010-04-03 Sita Ram Cultural Show]]
* [[2010-05-08 Democratic party fundraiser]]
* [[2010-05-15 Vaisakhi Mela]]
* [[2010-05-16 Bhumi Puja]]
* [[2010-05-21 ROI Potluck]] 
* [[2010-05-22 Amrita fundraiser]]
* [[2010-05-28 Northwest Folklife]]
* [[2010-08-21 IAWW India Day]]
* [[2010-09-12 Teeyan]]
* [[2010-10-09 Utsav @ Seattle Center]]
* [[Sat Oct 23 SAM Diwali Ball|2010-10-23 Seattle Art Museum Diwali Ball]]
* [[Sat Oct 30 Yakima Diwali|2010-10-30 Yakima Diwali]]
* [[Sat Nov 6 Wedding|2010-11-06 Navneet's wedding]]
* [[Sun Dec 19 ROI Potluck|2010-12-19 ROI Potluck]]
* [[Sat Apr 30 Vaisakhi|2011-04-30 Vaisakhi]]
* [[Event template]]
* [[Teeyan2010notes]]
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'
};

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			config.macros.option.genericCreate(place,'pas',opt,className,desc);
			// checkbox linked with this password "save this password on this computer"
			config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);			
			// text savePasswordCheckboxLabel
			place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
		},
		onChange: config.macros.option.genericOnChange
	}
});

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
			saveOptionCookie(opt);
		return config.options[name] ? "true" : "false";
	}
});

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
			}
		},
		set: function(name,value) {config.options[name] = decodeCookie(value);}
	}
});

// need to reload options to load passwordOptions
loadOptionsCookie();

/*
if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

merge(config.optionsDesc,{
		pasPassword: "Test password"
	});
*/
//}}}
/***
|Name:|PrettyDatesPlugin|
|Description:|Provides a new date format ('pppp') that displays times such as '2 days ago'|
|Version:|1.0 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Source:|http://mptw.tiddlyspot.com/#PrettyDatesPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Notes
* If you want to you can rename this plugin. :) Some suggestions: LastUpdatedPlugin, RelativeDatesPlugin, SmartDatesPlugin, SexyDatesPlugin.
* Inspired by http://ejohn.org/files/pretty.js
***/
//{{{
Date.prototype.prettyDate = function() {
	var diff = (((new Date()).getTime() - this.getTime()) / 1000);
	var day_diff = Math.floor(diff / 86400);

	if (isNaN(day_diff))      return "";
	else if (diff < 0)        return "in the future";
	else if (diff < 60)       return "just now";
	else if (diff < 120)      return "1 minute ago";
	else if (diff < 3600)     return Math.floor(diff/60) + " minutes ago";
	else if (diff < 7200)     return "1 hour ago";
	else if (diff < 86400)    return Math.floor(diff/3600) + " hours ago";
	else if (day_diff == 1)   return "Yesterday";
	else if (day_diff < 7)    return day_diff + " days ago";
	else if (day_diff < 14)   return  "a week ago";
	else if (day_diff < 31)   return Math.ceil(day_diff/7) + " weeks ago";
	else if (day_diff < 62)   return "a month ago";
	else if (day_diff < 365)  return "about " + Math.ceil(day_diff/31) + " months ago";
	else if (day_diff < 730)  return "a year ago";
	else                      return Math.ceil(day_diff/365) + " years ago";
}

Date.prototype.formatString_orig_mptw = Date.prototype.formatString;

Date.prototype.formatString = function(template) {
	return this.formatString_orig_mptw(template).replace(/pppp/,this.prettyDate());
}

// for MPTW. otherwise edit your ViewTemplate as required.
// config.mptwDateFormat = 'pppp (DD/MM/YY)'; 
config.mptwDateFormat = 'pppp'; 

//}}}

/***
|Name:|QuickOpenTagPlugin|
|Description:|Changes tag links to make it easier to open tags as tiddlers|
|Version:|3.0.1 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#QuickOpenTagPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
config.quickOpenTag = {

	dropdownChar: (document.all ? "\u25bc" : "\u25be"), // the little one doesn't work in IE?

	createTagButton: function(place,tag,excludeTiddler) {
		// little hack so we can do this: <<tag PrettyTagName|RealTagName>>
		var splitTag = tag.split("|");
		var pretty = tag;
		if (splitTag.length == 2) {
			tag = splitTag[1];
			pretty = splitTag[0];
		}
		
		var sp = createTiddlyElement(place,"span",null,"quickopentag");
		createTiddlyText(createTiddlyLink(sp,tag,false),pretty);
		
		var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,
                        config.views.wikified.tag.tooltip.format([tag]),onClickTag);
		theTag.setAttribute("tag",tag);
		if (excludeTiddler)
			theTag.setAttribute("tiddler",excludeTiddler);
    		return(theTag);
	},

	miniTagHandler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var tagged = store.getTaggedTiddlers(tiddler.title);
		if (tagged.length > 0) {
			var theTag = createTiddlyButton(place,config.quickOpenTag.dropdownChar,
                        	config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);
			theTag.setAttribute("tag",tiddler.title);
			theTag.className = "miniTag";
		}
	},

	allTagsHandler: function(place,macroName,params) {
		var tags = store.getTags(params[0]);
		var filter = params[1]; // new feature
		var ul = createTiddlyElement(place,"ul");
		if(tags.length == 0)
			createTiddlyElement(ul,"li",null,"listTitle",this.noTags);
		for(var t=0; t<tags.length; t++) {
			var title = tags[t][0];
			if (!filter || (title.match(new RegExp('^'+filter)))) {
				var info = getTiddlyLinkInfo(title);
				var theListItem =createTiddlyElement(ul,"li");
				var theLink = createTiddlyLink(theListItem,tags[t][0],true);
				var theCount = " (" + tags[t][1] + ")";
				theLink.appendChild(document.createTextNode(theCount));
				var theDropDownBtn = createTiddlyButton(theListItem," " +
					config.quickOpenTag.dropdownChar,this.tooltip.format([tags[t][0]]),onClickTag);
				theDropDownBtn.setAttribute("tag",tags[t][0]);
			}
		}
	},

	// todo fix these up a bit
	styles: [
"/*{{{*/",
"/* created by QuickOpenTagPlugin */",
".tagglyTagged .quickopentag, .tagged .quickopentag ",
"	{ margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }",
".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }",
".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}",
"/* extra specificity to make it work right */",
"#displayArea .viewer .quickopentag a.button, ",
"#displayArea .viewer .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink ",
"	{ border:0px solid black; }",
"#displayArea .viewer .quickopentag a.button, ",
"#mainMenu .quickopentag a.button ",
"	{ margin-left:0px; padding-left:2px; }",
"#displayArea .viewer .quickopentag a.tiddlyLink, ",
"#mainMenu .quickopentag a.tiddlyLink ",
"	{ margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }",
"a.miniTag {font-size:150%;} ",
"#mainMenu .quickopentag a.button ",
"	/* looks better in right justified main menus */",
"	{ margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }", 
"#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }",
"#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }",
"#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; }",
"/*}}}*/",
		""].join("\n"),

	init: function() {
		// we fully replace these builtins. can't hijack them easily
		window.createTagButton = this.createTagButton;
		config.macros.allTags.handler = this.allTagsHandler;
		config.macros.miniTag = { handler: this.miniTagHandler };
		config.shadowTiddlers["QuickOpenTagStyles"] = this.styles;
		store.addNotification("QuickOpenTagStyles",refreshStyles);
	}
}

config.quickOpenTag.init();

//}}}

/***
|Name:|RenameTagsPlugin|
|Description:|Allows you to easily rename or delete tags across multiple tiddlers|
|Version:|3.0 ($Rev: 5501 $)|
|Date:|$Date: 2008-06-10 23:11:55 +1000 (Tue, 10 Jun 2008) $|
|Source:|http://mptw.tiddlyspot.com/#RenameTagsPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
Rename a tag and you will be prompted to rename it in all its tagged tiddlers.
***/
//{{{
config.renameTags = {

	prompts: {
		rename: "Rename the tag '%0' to '%1' in %2 tidder%3?",
		remove: "Remove the tag '%0' from %1 tidder%2?"
	},

	removeTag: function(tag,tiddlers) {
		store.suspendNotifications();
		for (var i=0;i<tiddlers.length;i++) {
			store.setTiddlerTag(tiddlers[i].title,false,tag);
		}
		store.resumeNotifications();
		store.notifyAll();
	},

	renameTag: function(oldTag,newTag,tiddlers) {
		store.suspendNotifications();
		for (var i=0;i<tiddlers.length;i++) {
			store.setTiddlerTag(tiddlers[i].title,false,oldTag); // remove old
			store.setTiddlerTag(tiddlers[i].title,true,newTag);  // add new
		}
		store.resumeNotifications();
		store.notifyAll();
	},

	storeMethods: {

		saveTiddler_orig_renameTags: TiddlyWiki.prototype.saveTiddler,

		saveTiddler: function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) {
			if (title != newTitle) {
				var tagged = this.getTaggedTiddlers(title);
				if (tagged.length > 0) {
					// then we are renaming a tag
					if (confirm(config.renameTags.prompts.rename.format([title,newTitle,tagged.length,tagged.length>1?"s":""])))
						config.renameTags.renameTag(title,newTitle,tagged);

					if (!this.tiddlerExists(title) && newBody == "")
						// dont create unwanted tiddler
						return null;
				}
			}
			return this.saveTiddler_orig_renameTags(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created);
		},

		removeTiddler_orig_renameTags: TiddlyWiki.prototype.removeTiddler,

		removeTiddler: function(title) {
			var tagged = this.getTaggedTiddlers(title);
			if (tagged.length > 0)
				if (confirm(config.renameTags.prompts.remove.format([title,tagged.length,tagged.length>1?"s":""])))
					config.renameTags.removeTag(title,tagged);
			return this.removeTiddler_orig_renameTags(title);
		}

	},

	init: function() {
		merge(TiddlyWiki.prototype,this.storeMethods);
	}
}

config.renameTags.init();

//}}}

/***
|Name:|SaveCloseTiddlerPlugin|
|Description:|Provides two extra toolbar commands, saveCloseTiddler and cancelCloseTiddler|
|Version:|3.0 ($Rev: 5502 $)|
|Date:|$Date: 2008-06-10 23:31:39 +1000 (Tue, 10 Jun 2008) $|
|Source:|http://mptw.tiddlyspot.com/#SaveCloseTiddlerPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
To use these you must add them to the tool bar in your EditTemplate
***/
//{{{
merge(config.commands,{

	saveCloseTiddler: {
		text: 'done/close',
		tooltip: 'Save changes to this tiddler and close it',
		handler: function(ev,src,title) {
			var closeTitle = title;
			var newTitle = story.saveTiddler(title,ev.shiftKey);
			if (newTitle)
				closeTitle = newTitle;
			return config.commands.closeTiddler.handler(ev,src,closeTitle);
		}
	},

	cancelCloseTiddler: {
		text: 'cancel/close',
		tooltip: 'Undo changes to this tiddler and close it',
		handler: function(ev,src,title) {
			// the same as closeTiddler now actually
			return config.commands.closeTiddler.handler(ev,src,title);
		}
	}

});

//}}}

/***
|Name:|SelectThemePlugin|
|Description:|Lets you easily switch theme and palette|
|Version:|1.0.1 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Source:|http://mptw.tiddlyspot.com/#SelectThemePlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!Notes
* Borrows largely from ThemeSwitcherPlugin by Martin Budden http://www.martinswiki.com/#ThemeSwitcherPlugin
* Theme is cookie based. But set a default by setting config.options.txtTheme in MptwConfigPlugin (for example)
* Palette is not cookie based. It actually overwrites your ColorPalette tiddler when you select a palette, so beware. 
!Usage
* {{{<<selectTheme>>}}} makes a dropdown selector
* {{{<<selectPalette>>}}} makes a dropdown selector
* {{{<<applyTheme>>}}} applies the current tiddler as a theme
* {{{<<applyPalette>>}}} applies the current tiddler as a palette
* {{{<<applyTheme TiddlerName>>}}} applies TiddlerName as a theme
* {{{<<applyPalette TiddlerName>>}}} applies TiddlerName as a palette
***/
//{{{

config.macros.selectTheme = {
	label: {
      		selectTheme:"select theme",
      		selectPalette:"select palette"
	},
	prompt: {
		selectTheme:"Select the current theme",
		selectPalette:"Select the current palette"
	},
	tags: {
		selectTheme:'systemTheme',
		selectPalette:'systemPalette'
	}
};

config.macros.selectTheme.handler = function(place,macroName)
{
	var btn = createTiddlyButton(place,this.label[macroName],this.prompt[macroName],this.onClick);
	// want to handle palettes and themes with same code. use mode attribute to distinguish
	btn.setAttribute('mode',macroName);
};

config.macros.selectTheme.onClick = function(ev)
{
	var e = ev ? ev : window.event;
	var popup = Popup.create(this);
	var mode = this.getAttribute('mode');
	var tiddlers = store.getTaggedTiddlers(config.macros.selectTheme.tags[mode]);
	// for default
	if (mode == "selectPalette") {
		var btn = createTiddlyButton(createTiddlyElement(popup,'li'),"(default)","default color palette",config.macros.selectTheme.onClickTheme);
		btn.setAttribute('theme',"(default)");
		btn.setAttribute('mode',mode);
	}
	for(var i=0; i<tiddlers.length; i++) {
		var t = tiddlers[i].title;
		var name = store.getTiddlerSlice(t,'Name');
		var desc = store.getTiddlerSlice(t,'Description');
		var btn = createTiddlyButton(createTiddlyElement(popup,'li'), name?name:t, desc?desc:config.macros.selectTheme.label['mode'], config.macros.selectTheme.onClickTheme);
		btn.setAttribute('theme',t);
		btn.setAttribute('mode',mode);
	}
	Popup.show();
	return stopEvent(e);
};

config.macros.selectTheme.onClickTheme = function(ev)
{
	var mode = this.getAttribute('mode');
	var theme = this.getAttribute('theme');
	if (mode == 'selectTheme')
		story.switchTheme(theme);
	else // selectPalette
		config.macros.selectTheme.updatePalette(theme);
	return false;
};

config.macros.selectTheme.updatePalette = function(title)
{
	if (title != "") {
		store.deleteTiddler("ColorPalette");
		if (title != "(default)")
			store.saveTiddler("ColorPalette","ColorPalette",store.getTiddlerText(title),
					config.options.txtUserName,undefined,"");
		refreshAll();
		if(config.options.chkAutoSave)
			saveChanges(true);
	}
};

config.macros.applyTheme = {
	label: "apply",
	prompt: "apply this theme or palette" // i'm lazy
};

config.macros.applyTheme.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
	var useTiddler = params[0] ? params[0] : tiddler.title;
	var btn = createTiddlyButton(place,this.label,this.prompt,config.macros.selectTheme.onClickTheme);
	btn.setAttribute('theme',useTiddler);
	btn.setAttribute('mode',macroName=="applyTheme"?"selectTheme":"selectPalette"); // a bit untidy here
}

config.macros.selectPalette = config.macros.selectTheme;
config.macros.applyPalette = config.macros.applyTheme;

config.macros.refreshAll = { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
	createTiddlyButton(place,"refresh","refresh layout and styles",function() { refreshAll(); });
}};

//}}}

Kent Meridian High School
10020 SE 256th St
Kent, WA  98030

! Non-dance schedule items
* Mayor of Kent -- trophies
* Ms Punjabn 16-25
* Ms Punjabn 26-39
* Ms Punjabn 40-55
* Ms Punjabn 55+
* Raffle

! Order of Dance Routines
[[Download all music|http://drop.io/roi_music_2009teeyan]]
| 1|Chardi Kala| C |[[practice video|http://www.youtube.com/watch?v=bUkfmTpwDY4]]|
| 2|Ringa Ringa| RR ||
| 3|Jai Ho| J ||
| 4|Rarke @@''**''@@| R |[[practice video|http://www.youtube.com/watch?v=WyvpHKOm9EI]]|
| 5|Ki Kehne (kids) @@''**''@@| K1 |[[practice video|http://www.youtube.com/watch?v=akTKCeDF8j8]] (different from older group's Ki Kehne)|
| 6|Sambhale| S |[[practice video|http://www.youtube.com/watch?v=Rvs-gIR0lho]]|
| 7|Tu Saala| TS |[[practice video|http://www.youtube.com/watch?v=BRUOxKA5CQs]]|
| 8|Vaisakhi Medley @@''**''@@| V |[[practice video|http://www.youtube.com/watch?v=92ky9_6WeQo]]|
| 9|Ishq Khudai| IK |[[practice video|http://www.youtube.com/watch?v=bp5DCNSQ-kQ]]|
| 10|Giddha @@''**''@@| G |[[practice video|http://www.youtube.com/watch?v=b9nBQn7-Sus]]|
| 11|Ki Kehne (older) @@''**''@@| K2 |[[practice video|http://www.youtube.com/watch?v=tBsYpezIHxQ]] (different from kids' Ki Kehne)|
| ?|Routine by Palvi and Manpreet?| ? ||
@@''** See positions and details after the following table''@@

! Performers and Routines
||''C''|''RR''|''J''|''R''|''K1''|''S''|''TS''|''V''|''IK''|''G''|''K2''|
|>|>|>|>|>|>|>|>|>|>|>| ''Giddha'' |h
| Inderpreet Kaur||||||||||G||
| Seerat Mann||||||||||G||
| Amandeep Pamma||||||||||G||
| Kuldeep Kaur Pandher||||||||||G||
| Palvi Kaur||||||||||G||
| Manpreet Kaur||||||||||G||
| Harpinder Kaur||||||||||G||
| Pria Sarai||||||||||G||
| Sarina Sarai||||||||||G||
| Sonia Sarai||||||||||G||
| Raveena Sarai||||||||||G||
| Sarbjeet Kaur Mehat||||||||||G||
| Rachelle||||||||||G||
| Shub||||||||||G||
| --Amarjeet Kaur Bajwa--||||||||||||
| --Sandeep Kaur--||||||||||||
| --Manveer Kaur--||||||||||||
| --Gurjeet Kaur--||||||||||||
|>|>|>|>|>|>|>|>|>|>|>| ''Kent Younger'' |h
| Jasmine Kaur||||||S||||||
| Karanraj Singh||||||S||||||
| Gurlove Johal|C|||||S||||||
| Seerut Grewal|C|||||S||||||
| Aalambir Singh|C|||||S||||||
| Avjeet Bajwa|C|||||S||||@@G@@||
|>|>|>|>|>|>|>|>|>|>|>| ''Kent Older'' |h
| Sukman Bajwa|C|||||||||@@G@@||
| Jasleen Pamma|C|||||||||@@G@@||
| Prince Pamma|C|||||||||||
| Jaideep Singh|C|||||||||||
| Jagman Singh Pamma|C|||||||||||
| Prince Johal|C|||||||||||
|>|>|>|>|>|>|>|>|>|>|>| ''KDC Tiny Tots'' |h
| Pavitjit Nara|C||J|||S||||||
| Nihal Kaur Verma||||||S||||||
| Avinash Singh Gill|||J|||S||||||
| Arshia Batra|||J|||S||||||
| Mehak Hundal|||J|||?||||||
| --Rukshang Verma--||||||||||||
|>|>|>|>|>|>|>|>|>|>|>| ''KDC Younger'' |h
| Esha Mahal|?||||K1|||||||
| Jasmein Minhas|?||||K1|||||||
| Simran Kaur Dhanoa|||||K1|||||||
| Jeevanjot Nara|||||K1|||||||
| Navsukhmani Sandhu|||||K1|||||||
| Avneet Mahal|||||K1|||||||
| Vikram Singh Gill|||||K1|||||||
| Jugadh Bhullar|||||K1|||||||
| Aftab Dhaliwal|||||K1|||||||
| Shubh Bhullar|||||K1|||||||
|>|>|>|>|>|>|>|>|>|>|>| ''Young adult / Adult / Advanced Group'' |h
| Mallika Singh||||R||||V|||K2|
| Emily Dolan||||R||||V|||K2|
| Karen Ghatore||||R||||V|||K2|
| Ankita Patel||||R||||V|||K2|
| Navfalaknaaz Sandhu||||R||||V||||
| Michelle Johnson||||?|||||||K2|
| Pratishtha Chhabra||||||||V|||K2|
| Kamal Janardhan|||||||||||K2|
| Brynn Stonehouse|||||||||||K2|
| --Laura Turanski--||||||||||||
|>|>|>|>|>|>|>|>|>|>|>| ''Bollywood'' |h
| Kanchan Mehrotra||RR|||||TS||IK|||
| Devi Tandavan||RR|||||TS||IK|||
| Perla Mendez||RR|||||TS||IK|||
| Aruna Souri||RR|||||TS|||||
| Neelam Batra|||||||||IK|||
| Grace Phong|||||||||IK|||
| Kiley """Dozier-Bosanko"""|||||||||?|||

!! Giddha Details
@@'' As of 2009-09-09 -- maybe out-of-date. ''@@
|>| ''Bolie'' |''People''|h
|>| Intro | Everyone comes in from the back with props<br>in their hands (pukhi, gagar, chujj,daang, etc.) |
| 1| Teeyaaan pind |Aman, Preet, Pria, Sabbi|
| 2| Santo Banto |Sarina, Sukhman, Jasleen, Seerat|
| 3| Bun Thunn kay |Rachelle, Sonia, Harpinder|
| 4| Boli Chuck |Pria, Sabbi, Raveen, Avjeet|
| 5| Din teeyaan dey |Palvi, Manpreet, Sarina, Sukhman|
| 6| Toomba |Kuldeep, Rachelle, Sonia|
| 7| Daddu |Pinder, Sabbi, Palvi, Manpreet, little ones|
| 8| Baazi |Pria, Aman, Preet|
| 9| Buckree |everyone|
| 10| Lumbay lumbay tundd |Kuldeep, Aman, Pria, Sabbi|
| 11| Sass |Shub, Palvi, Manpreet and all the kids|
| 12| Jogi |Sabbi, Pria, Harpinder, Sonia|
| 13| Gurditta |Aman, preet, Rachelle|
| 14| Jath dee vohti |Shub, Harpinder|
|>| Last two bolies | Danced by everyone in pairs.<br>Dance with your partner come to front, <br>dance and go to either side. |

! Rarke positions
|>|>| ^ ^ ''Audience'' ^ ^ |h
| Mallika | Emily | Karen |
| Naaz | Michelle | Ankita |

! Vaisakhi positions
|>| ^ ^ ''Audience'' ^ ^ |h
|>| ''Part 1'' |h
| ''Girls'' | ''"Guys"'' |
| Naaz | Karen |
| Mallika | Emily |
| Ankita | Priyam |
|>| ''Part 2 (clapping)'' |h
| ''"Guys"'' | ''Girls'' |
| Priyam | Ankita |
| Emily | Mallika |
| Karen | Naaz |

! Ki Kehne positions (young adult / adult)
|>|>|>|>|>|>|>|>| ^ ^ ''Audience'' ^ ^ |h
|Ankita|||||||||
||Karen||||||||
|||Mallika|||||||
||||Brynn||||||
|||||Kamal|||||
||||||Priyam||||
|||||||Emily|||
||||||||Naaz||
|||||||||Michelle|

! Ki Kehne positions (KDC younger)
|>|>|>|>|>|>|>|>|>|>| ^ ^ ''Audience'' ^ ^ |h
|Esha|||||||||Shub|
||Jeevanjot|||||||Vikram||
|||Jasmein|||||Jugadh|||
||||Simran|||Aftab||||
|||||Sukhmani|Avneet|||||

! Judges
* Sarabjit K. Mehat
* Dr. Ajwant K. Goraya
* Dr. Gurinder K. Bajwa
* Anjali Sachdev
* Preet K. Maan
* Dr. Varinder K. Thind

! Helpers
* Chi
* Ramesh Singh, Uma Singh
* Ravi Chhabra
* Baljit Dhaliwal, Taranjeet Dhaliwal
* Gurminder Jouhal, Gurpreet Jouhal
* Ila 
* Rachelle
* Harjodh
* Suhail
* Mehtab
* Neru Johal
* Preet Sandhu
* Rajdeep Dubb
* Navdeep Kaur
* Prabdeep Kaur
* Amit?

! Booths / Stalls
* Pushpa (catering, popsicles)
* Ravi Video (pizza)
* Neha (mehndi)
* Urvashi (mehndi)
* Mama Mia (faluda)
* Amma
* Chaya
* Kent Hindu Temple
* Pushpinder (jewelry, etc.)
* Reshmi Boutique (apparel)

! Sponsors
* Dr. Aman Sidhu - Dentist
* Dr. Arjwinder Goraya - Dentist
* Dr. Gurinder Bajwa - Dentist
* Taj Sukhija - Seattle Namaste

! Poster
[img[http://rhythmsofindia.net/images/2009teeyan_poster_web.jpg]]
Seattle's Indian Dance School of Choice
Rhythms of India
.viewer tr.oddRow { background-color: #FFF; }
.viewer tr.evenRow { background-color: #FFE; }
<<allTags excludeLists>>
<<tabs txtMoreTab "Tags" "All Tags" TabAllTags "Miss" "Missing tiddlers" TabMoreMissing "Orph" "Orphaned tiddlers" TabMoreOrphans "Shad" "Shadowed tiddlers" TabMoreShadowed>>
<<allTags excludeLists [a-z]>>
/***
|Name:|TagglyTaggingPlugin|
|Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|
|Version:|3.3.1 ($Rev: 9828 $)|
|Date:|$Date: 2009-06-03 21:38:41 +1000 (Wed, 03 Jun 2009) $|
|Source:|http://mptw.tiddlyspot.com/#TagglyTaggingPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!Notes
See http://mptw.tiddlyspot.com/#TagglyTagging
***/
//{{{

merge(String.prototype,{

	parseTagExpr: function(debug) {

		if (this.trim() == "")
			return "(true)";

		var anyLogicOp = /(!|&&|\|\||\(|\))/g;
		var singleLogicOp = /^(!|&&|\|\||\(|\))$/;

		var spaced = this.
			// because square brackets in templates are no good
			// this means you can use [(With Spaces)] instead of [[With Spaces]]
			replace(/\[\(/g," [[").
			replace(/\)\]/g,"]] "). 
			// space things out so we can use readBracketedList. tricky eh?
			replace(anyLogicOp," $1 ");

		var expr = "";

		var tokens = spaced.readBracketedList(false); // false means don't uniq the list. nice one JR!

		for (var i=0;i<tokens.length;i++)
			if (tokens[i].match(singleLogicOp))
				expr += tokens[i];
			else
				expr += "tiddler.tags.contains('%0')".format([tokens[i].replace(/'/,"\\'")]); // fix single quote bug. still have round bracket bug i think

		if (debug)
			alert(expr);

		return '('+expr+')';
	}

});

merge(TiddlyWiki.prototype,{
	getTiddlersByTagExpr: function(tagExpr,sortField) {

		var result = [];

		var expr = tagExpr.parseTagExpr();

		store.forEachTiddler(function(title,tiddler) {
			if (eval(expr))
				result.push(tiddler);
		});

		if(!sortField)
			sortField = "title";

		result.sort(function(a,b) {return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);});
		
		return result;
	}
});

config.taggly = {

	// for translations
	lingo: {
		labels: {
			asc:        "\u2191", // down arrow
			desc:       "\u2193", // up arrow
			title:      "title",
			modified:   "modified",
			created:    "created",
			show:       "+",
			hide:       "-",
			normal:     "normal",
			group:      "group",
			commas:     "commas",
			sitemap:    "sitemap",
			numCols:    "cols\u00b1", // plus minus sign
			label:      "Tagged as '%0':",
			exprLabel:  "Matching tag expression '%0':",
			excerpts:   "excerpts",
			descr:      "descr",
			slices:     "slices",
			contents:   "contents",
			sliders:    "sliders",
			noexcerpts: "title only",
			noneFound:  "(none)"
		},

		tooltips: {
			title:      "Click to sort by title",
			modified:   "Click to sort by modified date",
			created:    "Click to sort by created date",
			show:       "Click to show tagging list",
			hide:       "Click to hide tagging list",
			normal:     "Click to show a normal ungrouped list",
			group:      "Click to show list grouped by tag",
			sitemap:    "Click to show a sitemap style list",
			commas:     "Click to show a comma separated list",
			numCols:    "Click to change number of columns",
			excerpts:   "Click to show excerpts",
			descr:      "Click to show the description slice",
			slices:     "Click to show all slices",
			contents:   "Click to show entire tiddler contents",
			sliders:    "Click to show tiddler contents in sliders",
			noexcerpts: "Click to show entire title only"
		},

		tooDeepMessage: "* //sitemap too deep...//"
	},

	config: {
		showTaggingCounts: true,
		listOpts: {
			// the first one will be the default
			sortBy:     ["title","modified","created"],
			sortOrder:  ["asc","desc"],
			hideState:  ["show","hide"],
			listMode:   ["normal","group","sitemap","commas"],
			numCols:    ["1","2","3","4","5","6"],
			excerpts:   ["noexcerpts","excerpts","descr","slices","contents","sliders"]
		},
		valuePrefix: "taggly.",
		excludeTags: ["excludeLists","excludeTagging"],
		excerptSize: 50,
		excerptMarker: "/%"+"%/",
		siteMapDepthLimit: 25
	},

	getTagglyOpt: function(title,opt) {
		var val = store.getValue(title,this.config.valuePrefix+opt);
		return val ? val : this.config.listOpts[opt][0];
	},

	setTagglyOpt: function(title,opt,value) {
		// create it silently if it doesn't exist
		if (!store.tiddlerExists(title)) {
			store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),"");

			// <<tagglyTagging expr:"...">> creates a tiddler to store its display settings
			// Make those tiddlers less noticeable by tagging as excludeSearch and excludeLists
			// Because we don't want to hide real tags, check that they aren't actually tags before doing so
			// Also tag them as tagglyExpression for manageability
			// (contributed by RA)
			if (!store.getTaggedTiddlers(title).length) {
				store.setTiddlerTag(title,true,"excludeSearch");
				store.setTiddlerTag(title,true,"excludeLists");
				store.setTiddlerTag(title,true,"tagglyExpression");
			}
		}

		// if value is default then remove it to save space
		return store.setValue(title, this.config.valuePrefix+opt, value == this.config.listOpts[opt][0] ? null : value);
	},

	getNextValue: function(title,opt) {
		var current = this.getTagglyOpt(title,opt);
		var pos = this.config.listOpts[opt].indexOf(current);
		// supposed to automagically don't let cols cycle up past the number of items
		// currently broken in some situations, eg when using an expression
		// lets fix it later when we rewrite for jquery
		// the columns thing should be jquery table manipulation probably
		var limit = (opt == "numCols" ? store.getTaggedTiddlers(title).length : this.config.listOpts[opt].length);
		var newPos = (pos + 1) % limit;
		return this.config.listOpts[opt][newPos];
	},

	toggleTagglyOpt: function(title,opt) {
		var newVal = this.getNextValue(title,opt);
		this.setTagglyOpt(title,opt,newVal);
	}, 

	createListControl: function(place,title,type) {
		var lingo = config.taggly.lingo;
		var label;
		var tooltip;
		var onclick;

		if ((type == "title" || type == "modified" || type == "created")) {
			// "special" controls. a little tricky. derived from sortOrder and sortBy
			label = lingo.labels[type];
			tooltip = lingo.tooltips[type];

			if (this.getTagglyOpt(title,"sortBy") == type) {
				label += lingo.labels[this.getTagglyOpt(title,"sortOrder")];
				onclick = function() {
					config.taggly.toggleTagglyOpt(title,"sortOrder");
					return false;
				}
			}
			else {
				onclick = function() {
					config.taggly.setTagglyOpt(title,"sortBy",type);
					config.taggly.setTagglyOpt(title,"sortOrder",config.taggly.config.listOpts.sortOrder[0]);
					return false;
				}
			}
		}
		else {
			// "regular" controls, nice and simple
			label = lingo.labels[type == "numCols" ? type : this.getNextValue(title,type)];
			tooltip = lingo.tooltips[type == "numCols" ? type : this.getNextValue(title,type)];
			onclick = function() {
				config.taggly.toggleTagglyOpt(title,type);
				return false;
			}
		}

		// hide button because commas don't have columns
		if (!(this.getTagglyOpt(title,"listMode") == "commas" && type == "numCols"))
			createTiddlyButton(place,label,tooltip,onclick,type == "hideState" ? "hidebutton" : "button");
	},

	makeColumns: function(orig,numCols) {
		var listSize = orig.length;
		var colSize = listSize/numCols;
		var remainder = listSize % numCols;

		var upperColsize = colSize;
		var lowerColsize = colSize;

		if (colSize != Math.floor(colSize)) {
			// it's not an exact fit so..
			upperColsize = Math.floor(colSize) + 1;
			lowerColsize = Math.floor(colSize);
		}

		var output = [];
		var c = 0;
		for (var j=0;j<numCols;j++) {
			var singleCol = [];
			var thisSize = j < remainder ? upperColsize : lowerColsize;
			for (var i=0;i<thisSize;i++) 
				singleCol.push(orig[c++]);
			output.push(singleCol);
		}

		return output;
	},

	drawTable: function(place,columns,theClass) {
		var newTable = createTiddlyElement(place,"table",null,theClass);
		var newTbody = createTiddlyElement(newTable,"tbody");
		var newTr = createTiddlyElement(newTbody,"tr");
		for (var j=0;j<columns.length;j++) {
			var colOutput = "";
			for (var i=0;i<columns[j].length;i++) 
				colOutput += columns[j][i];
			var newTd = createTiddlyElement(newTr,"td",null,"tagglyTagging"); // todo should not need this class
			wikify(colOutput,newTd);
		}
		return newTable;
	},

	createTagglyList: function(place,title,isTagExpr) {
		switch(this.getTagglyOpt(title,"listMode")) {
			case "group":  return this.createTagglyListGrouped(place,title,isTagExpr); break;
			case "normal": return this.createTagglyListNormal(place,title,false,isTagExpr); break;
			case "commas": return this.createTagglyListNormal(place,title,true,isTagExpr); break;
			case "sitemap":return this.createTagglyListSiteMap(place,title,isTagExpr); break;
		}
	},

	getTaggingCount: function(title,isTagExpr) {
		// thanks to Doug Edmunds
		if (this.config.showTaggingCounts) {
			var tagCount = config.taggly.getTiddlers(title,'title',isTagExpr).length;
			if (tagCount > 0)
				return " ("+tagCount+")";
		}
		return "";
	},

	getTiddlers: function(titleOrExpr,sortBy,isTagExpr) {
		return isTagExpr ? store.getTiddlersByTagExpr(titleOrExpr,sortBy) : store.getTaggedTiddlers(titleOrExpr,sortBy);
	},

	getExcerpt: function(inTiddlerTitle,title,indent) {
		if (!indent)
			indent = 1;

		var displayMode = this.getTagglyOpt(inTiddlerTitle,"excerpts");
		var t = store.getTiddler(title);

		if (t && displayMode == "excerpts") {
			var text = t.text.replace(/\n/," ");
			var marker = text.indexOf(this.config.excerptMarker);
			if (marker != -1) {
				return " {{excerpt{<nowiki>" + text.substr(0,marker) + "</nowiki>}}}";
			}
			else if (text.length < this.config.excerptSize) {
				return " {{excerpt{<nowiki>" + t.text + "</nowiki>}}}";
			}
			else {
				return " {{excerpt{<nowiki>" + t.text.substr(0,this.config.excerptSize) + "..." + "</nowiki>}}}";
			}
		}
		else if (t && displayMode == "contents") {
			return "\n{{contents indent"+indent+"{\n" + t.text + "\n}}}";
		}
		else if (t && displayMode == "sliders") {
			return "<slider slide>\n{{contents{\n" + t.text + "\n}}}\n</slider>";
		}
		else if (t && displayMode == "descr") {
			var descr = store.getTiddlerSlice(title,'Description');
			return descr ? " {{excerpt{" + descr  + "}}}" : "";
		}
		else if (t && displayMode == "slices") {
			var result = "";
			var slices = store.calcAllSlices(title);
			for (var s in slices)
				result += "|%0|<nowiki>%1</nowiki>|\n".format([s,slices[s]]);
			return result ? "\n{{excerpt excerptIndent{\n" + result  + "}}}" : "";
		}
		return "";
	},

	notHidden: function(t,inTiddler) {
		if (typeof t == "string") 
			t = store.getTiddler(t);
		return (!t || !t.tags.containsAny(this.config.excludeTags) ||
				(inTiddler && this.config.excludeTags.contains(inTiddler)));
	},

	// this is for normal and commas mode
	createTagglyListNormal: function(place,title,useCommas,isTagExpr) {

		var list = config.taggly.getTiddlers(title,this.getTagglyOpt(title,"sortBy"),isTagExpr);

		if (this.getTagglyOpt(title,"sortOrder") == "desc")
			list = list.reverse();

		var output = [];
		var first = true;
		for (var i=0;i<list.length;i++) {
			if (this.notHidden(list[i],title)) {
				var countString = this.getTaggingCount(list[i].title);
				var excerpt = this.getExcerpt(title,list[i].title);
				if (useCommas)
					output.push((first ? "" : ", ") + "[[" + list[i].title + "]]" + countString + excerpt);
				else
					output.push("*[[" + list[i].title + "]]" + countString + excerpt + "\n");

				first = false;
			}
		}

		return this.drawTable(place,
			this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,"numCols"))),
			useCommas ? "commas" : "normal");
	},

	// this is for the "grouped" mode
	createTagglyListGrouped: function(place,title,isTagExpr) {
		var sortBy = this.getTagglyOpt(title,"sortBy");
		var sortOrder = this.getTagglyOpt(title,"sortOrder");

		var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);

		if (sortOrder == "desc")
			list = list.reverse();

		var leftOvers = []
		for (var i=0;i<list.length;i++)
			leftOvers.push(list[i].title);

		var allTagsHolder = {};
		for (var i=0;i<list.length;i++) {
			for (var j=0;j<list[i].tags.length;j++) {

				if (list[i].tags[j] != title) { // not this tiddler

					if (this.notHidden(list[i].tags[j],title)) {

						if (!allTagsHolder[list[i].tags[j]])
							allTagsHolder[list[i].tags[j]] = "";

						if (this.notHidden(list[i],title)) {
							allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"
										+ this.getTaggingCount(list[i].title) + this.getExcerpt(title,list[i].title) + "\n";

							leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers

						}
					}
				}
			}
		}

		var allTags = [];
		for (var t in allTagsHolder)
			allTags.push(t);

		var sortHelper = function(a,b) {
			if (a == b) return 0;
			if (a < b) return -1;
			return 1;
		};

		allTags.sort(function(a,b) {
			var tidA = store.getTiddler(a);
			var tidB = store.getTiddler(b);
			if (sortBy == "title") return sortHelper(a,b);
			else if (!tidA && !tidB) return 0;
			else if (!tidA) return -1;
			else if (!tidB) return +1;
			else return sortHelper(tidA[sortBy],tidB[sortBy]);
		});

		var leftOverOutput = "";
		for (var i=0;i<leftOvers.length;i++)
			if (this.notHidden(leftOvers[i],title))
				leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(leftOvers[i]) + this.getExcerpt(title,leftOvers[i]) + "\n";

		var output = [];

		if (sortOrder == "desc")
			allTags.reverse();
		else if (leftOverOutput != "")
			// leftovers first...
			output.push(leftOverOutput);

		for (var i=0;i<allTags.length;i++)
			if (allTagsHolder[allTags[i]] != "")
				output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(allTags[i]) + this.getExcerpt(title,allTags[i]) + "\n" + allTagsHolder[allTags[i]]);

		if (sortOrder == "desc" && leftOverOutput != "")
			// leftovers last...
			output.push(leftOverOutput);

		return this.drawTable(place,
				this.makeColumns(output,parseInt(this.getTagglyOpt(title,"numCols"))),
				"grouped");

	},

	// used to build site map
	treeTraverse: function(title,depth,sortBy,sortOrder,isTagExpr) {

		var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);

		if (sortOrder == "desc")
			list.reverse();

		var indent = "";
		for (var j=0;j<depth;j++)
			indent += "*"

		var childOutput = "";

		if (depth > this.config.siteMapDepthLimit)
			childOutput += indent + this.lingo.tooDeepMessage;
		else
			for (var i=0;i<list.length;i++)
				if (list[i].title != title)
					if (this.notHidden(list[i].title,this.config.inTiddler))
						childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder,false);

		if (depth == 0)
			return childOutput;
		else
			return indent + "[["+title+"]]" + this.getTaggingCount(title) + this.getExcerpt(this.config.inTiddler,title,depth) + "\n" + childOutput;
	},

	// this if for the site map mode
	createTagglyListSiteMap: function(place,title,isTagExpr) {
		this.config.inTiddler = title; // nasty. should pass it in to traverse probably
		var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"),isTagExpr);
		return this.drawTable(place,
				this.makeColumns(output.split(/(?=^\*\[)/m),parseInt(this.getTagglyOpt(title,"numCols"))), // regexp magic
				"sitemap"
				);
	},

	macros: {
		tagglyTagging: {
			handler: function (place,macroName,params,wikifier,paramString,tiddler) {
				var parsedParams = paramString.parseParams("tag",null,true);
				var refreshContainer = createTiddlyElement(place,"div");

				// do some refresh magic to make it keep the list fresh - thanks Saq
				refreshContainer.setAttribute("refresh","macro");
				refreshContainer.setAttribute("macroName",macroName);

				var tag = getParam(parsedParams,"tag");
				var expr = getParam(parsedParams,"expr");

				if (expr) {
					refreshContainer.setAttribute("isTagExpr","true");
					refreshContainer.setAttribute("title",expr);
					refreshContainer.setAttribute("showEmpty","true");
				}
				else {
					refreshContainer.setAttribute("isTagExpr","false");
					if (tag) {
        				refreshContainer.setAttribute("title",tag);
						refreshContainer.setAttribute("showEmpty","true");
					}
					else {
        				refreshContainer.setAttribute("title",tiddler.title);
						refreshContainer.setAttribute("showEmpty","false");
					}
				}
				this.refresh(refreshContainer);
			},

			refresh: function(place) {
				var title = place.getAttribute("title");
				var isTagExpr = place.getAttribute("isTagExpr") == "true";
				var showEmpty = place.getAttribute("showEmpty") == "true";
				removeChildren(place);
				addClass(place,"tagglyTagging");
				var countFound = config.taggly.getTiddlers(title,'title',isTagExpr).length
				if (countFound > 0 || showEmpty) {
					var lingo = config.taggly.lingo;
					config.taggly.createListControl(place,title,"hideState");
					if (config.taggly.getTagglyOpt(title,"hideState") == "show") {
						createTiddlyElement(place,"span",null,"tagglyLabel",
								isTagExpr ? lingo.labels.exprLabel.format([title]) : lingo.labels.label.format([title]));
						config.taggly.createListControl(place,title,"title");
						config.taggly.createListControl(place,title,"modified");
						config.taggly.createListControl(place,title,"created");
						config.taggly.createListControl(place,title,"listMode");
						config.taggly.createListControl(place,title,"excerpts");
						config.taggly.createListControl(place,title,"numCols");
						config.taggly.createTagglyList(place,title,isTagExpr);
						if (countFound == 0 && showEmpty)
							createTiddlyElement(place,"div",null,"tagglyNoneFound",lingo.labels.noneFound);
					}
				}
			}
		}
	},

	// todo fix these up a bit
	styles: [
"/*{{{*/",
"/* created by TagglyTaggingPlugin */",
".tagglyTagging { padding-top:0.5em; }",
".tagglyTagging li.listTitle { display:none; }",
".tagglyTagging ul {",
"	margin-top:0px; padding-top:0.5em; padding-left:2em;",
"	margin-bottom:0px; padding-bottom:0px;",
"}",
".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }",
".tagglyTagging table { margin:0px; padding:0px; }",
".tagglyTagging .button { visibility:hidden; margin-left:3px; margin-right:3px; }",
".tagglyTagging .button, .tagglyTagging .hidebutton {",
"	color:[[ColorPalette::TertiaryLight]]; font-size:90%;",
"	border:0px; padding-left:0.3em;padding-right:0.3em;",
"}",
".tagglyTagging .button:hover, .hidebutton:hover, ",
".tagglyTagging .button:active, .hidebutton:active  {",
"	border:0px; background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];",
"}",
".selected .tagglyTagging .button { visibility:visible; }",
".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }",
".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }",
".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }",
".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }",
".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}",
".tagglyTagging ul ul li {margin-left:0.5em; }",
".editLabel { font-size:90%; padding-top:0.5em; }",
".tagglyTagging .commas { padding-left:1.8em; }",
"/* not technically tagglytagging but will put them here anyway */",
".tagglyTagged li.listTitle { display:none; }",
".tagglyTagged li { display: inline; font-size:90%; }",
".tagglyTagged ul { margin:0px; padding:0px; }",
".excerpt { color:[[ColorPalette::TertiaryDark]]; }",
".excerptIndent { margin-left:4em; }",
"div.tagglyTagging table,",
"div.tagglyTagging table tr,",
"td.tagglyTagging",
" {border-style:none!important; }",
".tagglyTagging .contents { border-bottom:2px solid [[ColorPalette::TertiaryPale]]; padding:0 1em 1em 0.5em;",
"  margin-bottom:0.5em; }",
".tagglyTagging .indent1  { margin-left:3em;  }",
".tagglyTagging .indent2  { margin-left:4em;  }",
".tagglyTagging .indent3  { margin-left:5em;  }",
".tagglyTagging .indent4  { margin-left:6em;  }",
".tagglyTagging .indent5  { margin-left:7em;  }",
".tagglyTagging .indent6  { margin-left:8em;  }",
".tagglyTagging .indent7  { margin-left:9em;  }",
".tagglyTagging .indent8  { margin-left:10em; }",
".tagglyTagging .indent9  { margin-left:11em; }",
".tagglyTagging .indent10 { margin-left:12em; }",
".tagglyNoneFound { margin-left:2em; color:[[ColorPalette::TertiaryMid]]; font-size:90%; font-style:italic; }",
"/*}}}*/",
		""].join("\n"),

	init: function() {
		merge(config.macros,this.macros);
		config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;
		store.addNotification("TagglyTaggingStyles",refreshStyles);
	}
};

config.taggly.init();

//}}}

/***
InlineSlidersPlugin
By Saq Imtiaz
http://tw.lewcid.org/sandbox/#InlineSlidersPlugin

// syntax adjusted to not clash with NestedSlidersPlugin
// added + syntax to start open instead of closed

***/
//{{{
config.formatters.unshift( {
	name: "inlinesliders",
	// match: "\\+\\+\\+\\+|\\<slider",
	match: "\\<slider",
	// lookaheadRegExp: /(?:\+\+\+\+|<slider) (.*?)(?:>?)\n((?:.|\n)*?)\n(?:====|<\/slider>)/mg,
	lookaheadRegExp: /(?:<slider)(\+?) (.*?)(?:>)\n((?:.|\n)*?)\n(?:<\/slider>)/mg,
	handler: function(w) {
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart ) {
			var btn = createTiddlyButton(w.output,lookaheadMatch[2] + " "+"\u00BB",lookaheadMatch[2],this.onClickSlider,"button sliderButton");
			var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");
			panel.style.display = (lookaheadMatch[1] == '+' ? "block" : "none");
			wikify(lookaheadMatch[3],panel);
			w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
		}
   },
   onClickSlider : function(e) {
		if(!e) var e = window.event;
		var n = this.nextSibling;
		n.style.display = (n.style.display=="none") ? "block" : "none";
		return false;
	}
});

//}}}

! Acknowledgements
* Paramjit
* Rachelle
* Emily
* Rajinder
* Sarabjit Mehat (Sabbi)
* Preet
* Rajdeep
* Pinky
* Sukh (Chachi)
* Uma

! People who want to speak at the podium (all non-profits)
* Amma
* Chaya
* Amrita
* Gurshobha
* United Sikhs

! Judges
* Sharan (Sunny's Market)
* Lakhwinder (Sunny's Market)
* Monica Soni
* Dr. Aman Sidhu
* Sarbjit (Aaina Salon)

! List of Banners
* Rhythms of India
* India King $250
* Seattle Sports Club $500
* USA Travels
* Seattle Sports and Culture
* Sunny Supermarket $125
* Akal Travels
* Rupinder Dulay $125

! Grand Sponsors
* Seattle Sports Club, <span id="gc-number-10" class="gc-cs-link" title="Call with Google Voice">206-478-7744</span>
* Akal Travels, <span id="gc-number-5" class="gc-cs-link" title="Call with Google Voice">206-370-9481</span> 
* India King, 425-214-4749
* Seattle Sports and Culture, 425-495-9726
* Khoobsurat, 425-486-3729

! Sponsors
* US Travels, 253-867-0450
* Sunny Supermarket, 253-373-0028
* Rupinder Dulay, 206-271-6126
* Harpoul Sidhu, 206-992-8265

! Friends and Supporters
* India Plaza, 206-444-5556
* Ravi Video, 253-670-4895
* Moniki Soni, 253-867-0451
* KK Market, 253-854-5236
* Bombay Beauty Salon, 253-373-1804
* Aina Beauty, 206-372-6664
* Bollywood Video, 246-242-7028
* Supersalon, 253-854-8858 

! Vendor Contact Info
|Name|Email 1|Email 2|Phone 1|Phone 2|
|Paul (Mama Mia)|paulsingh2121@hotmail.com||604-240-2121||
|Pushpa|||253-486-9000||
|Ravi Video|||253-670-4895|253-850-6885|
|Gurminder|soundquestavl@hotmail.com|gurpreetsingh1984@gmail.com|778-552-1355||
|Ladla|deepsaab@live.com||206-407-7955||
|Khoobsurat|princeloves@msn.com||206-235-0238||
|Sarah Henna|info@sarahenna.com||206-701-4744||
|Neha (Henna)|ada111_z@yahoo.com||253-249-4962||
|Amma|ammaseattle@yahoo.com||206-799-6846||
|Sampa|sampa2243@gmail.com|sampa@u.washington.edu|206-484-7896||
|Gurshoba|||778-885-4248||
|Chaya|satprit@chayaseattle.org||206-568-7576|206-290-6830|


/***
|Name:|ToggleTagPlugin|
|Description:|Makes a checkbox which toggles a tag in a tiddler|
|Version:|3.1.0 ($Rev: 4907 $)|
|Date:|$Date: 2008-05-13 03:15:46 +1000 (Tue, 13 May 2008) $|
|Source:|http://mptw.tiddlyspot.com/#ToggleTagPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Usage
{{{<<toggleTag }}}//{{{TagName TiddlerName LabelText}}}//{{{>>}}}
* TagName - the tag to be toggled, default value "checked"
* TiddlerName - the tiddler to toggle the tag in, default value the current tiddler
* LabelText - the text (gets wikified) to put next to the check box, default value is '{{{[[TagName]]}}}' or '{{{[[TagName]] [[TiddlerName]]}}}'
(If a parameter is '.' then the default will be used)
* TouchMod flag - if non empty then touch the tiddlers mod date. Note, can set config.toggleTagAlwaysTouchModDate to always touch mod date
!!Examples
|Code|Description|Example|h
|{{{<<toggleTag>>}}}|Toggles the default tag (checked) in this tiddler|<<toggleTag>>|
|{{{<<toggleTag TagName>>}}}|Toggles the TagName tag in this tiddler|<<toggleTag TagName>>|
|{{{<<toggleTag TagName TiddlerName>>}}}|Toggles the TagName tag in the TiddlerName tiddler|<<toggleTag TagName TiddlerName>>|
|{{{<<toggleTag TagName TiddlerName 'click me'>>}}}|Same but with custom label|<<toggleTag TagName TiddlerName 'click me'>>|
|{{{<<toggleTag . . 'click me'>>}}}|dot means use default value|<<toggleTag . . 'click me'>>|
!!Notes
* If TiddlerName doesn't exist it will be silently created
* Set label to '-' to specify no label
* See also http://mgtd-alpha.tiddlyspot.com/#ToggleTag2
!!Known issues
* Doesn't smoothly handle the case where you toggle a tag in a tiddler that is current open for editing
* Should convert to use named params
***/
//{{{

if (config.toggleTagAlwaysTouchModDate == undefined) config.toggleTagAlwaysTouchModDate = false;

merge(config.macros,{

	toggleTag: {

		createIfRequired: true,
		shortLabel: "[[%0]]",
		longLabel: "[[%0]] [[%1]]",

		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			var tiddlerTitle = tiddler ? tiddler.title : '';
			var tag   = (params[0] && params[0] != '.') ? params[0] : "checked";
			var title = (params[1] && params[1] != '.') ? params[1] : tiddlerTitle;
			var defaultLabel = (title == tiddlerTitle ? this.shortLabel : this.longLabel);
			var label = (params[2] && params[2] != '.') ? params[2] : defaultLabel;
			var touchMod = (params[3] && params[3] != '.') ? params[3] : "";
			label = (label == '-' ? '' : label); // dash means no label
			var theTiddler = (title == tiddlerTitle ? tiddler : store.getTiddler(title));
			var cb = createTiddlyCheckbox(place, label.format([tag,title]), theTiddler && theTiddler.isTagged(tag), function(e) {
				if (!store.tiddlerExists(title)) {
					if (config.macros.toggleTag.createIfRequired) {
						var content = store.getTiddlerText(title); // just in case it's a shadow
						store.saveTiddler(title,title,content?content:"",config.options.txtUserName,new Date(),null);
					}
					else 
						return false;
				}
				if ((touchMod != "" || config.toggleTagAlwaysTouchModDate) && theTiddler)
						theTiddler.modified = new Date();
				store.setTiddlerTag(title,this.checked,tag);
				return true;
			});
		}
	}
});

//}}}

/***
Description: Contains the stuff you need to use Tiddlyspot
Note, you also need UploadPlugin, PasswordOptionPlugin and LoadRemoteFileThroughProxy
from http://tiddlywiki.bidix.info for a complete working Tiddlyspot site.
***/
//{{{

// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'rhythmsofindia';

// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too

// disable autosave in d3
if (window.location.protocol != "file:")
	config.options.chkGTDLazyAutoSave = false;

// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
	SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
	SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
	OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
	DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
	MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");
}

// create some shadow tiddler content
merge(config.shadowTiddlers,{

'WelcomeToTiddlyspot':[
 "This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
 "<<tiddler TspotControls>>",
 "See also GettingStarted.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."
].join("\n"),

'TspotControls':[
 "| tiddlyspot password:|<<option pasUploadPassword>>|",
 "| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
 "| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"
].join("\n"),

'TspotSidebar':[
 "<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"
].join("\n"),

'TspotOptions':[
 "tiddlyspot password:",
 "<<option pasUploadPassword>>",
 ""
].join("\n")

});
//}}}
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 27/04/2011 20:43:36 | Chi | [[/|http://rhythmsofindia.tiddlyspot.com/]] | [[store.cgi|http://rhythmsofindia.tiddlyspot.com/store.cgi]] | . | [[index.html | http://rhythmsofindia.tiddlyspot.com/index.html]] | . |
| 29/04/2011 12:18:27 | Chi | [[/|http://rhythmsofindia.tiddlyspot.com/]] | [[store.cgi|http://rhythmsofindia.tiddlyspot.com/store.cgi]] | . | [[index.html | http://rhythmsofindia.tiddlyspot.com/index.html]] | . | ok |
| 29/04/2011 12:19:43 | Chi | [[/|http://rhythmsofindia.tiddlyspot.com/]] | [[store.cgi|http://rhythmsofindia.tiddlyspot.com/store.cgi]] | . | [[index.html | http://rhythmsofindia.tiddlyspot.com/index.html]] | . | ok |
| 29/04/2011 12:20:45 | Chi | [[/|http://rhythmsofindia.tiddlyspot.com/]] | [[store.cgi|http://rhythmsofindia.tiddlyspot.com/store.cgi]] | . | [[index.html | http://rhythmsofindia.tiddlyspot.com/index.html]] | . | ok |
| 29/04/2011 12:22:42 | Chi | [[/|http://rhythmsofindia.tiddlyspot.com/]] | [[store.cgi|http://rhythmsofindia.tiddlyspot.com/store.cgi]] | . | [[index.html | http://rhythmsofindia.tiddlyspot.com/index.html]] | . | ok |
| 29/04/2011 12:24:14 | Chi | [[/|http://rhythmsofindia.tiddlyspot.com/]] | [[store.cgi|http://rhythmsofindia.tiddlyspot.com/store.cgi]] | . | [[index.html | http://rhythmsofindia.tiddlyspot.com/index.html]] | . | ok |
| 29/04/2011 12:32:48 | Chi | [[/|http://rhythmsofindia.tiddlyspot.com/]] | [[store.cgi|http://rhythmsofindia.tiddlyspot.com/store.cgi]] | . | [[index.html | http://rhythmsofindia.tiddlyspot.com/index.html]] | . |
| 29/04/2011 12:39:19 | Chi | [[/|http://rhythmsofindia.tiddlyspot.com/]] | [[store.cgi|http://rhythmsofindia.tiddlyspot.com/store.cgi]] | . | [[index.html | http://rhythmsofindia.tiddlyspot.com/index.html]] | . |
| 29/04/2011 13:23:37 | Chi | [[/|http://rhythmsofindia.tiddlyspot.com/]] | [[store.cgi|http://rhythmsofindia.tiddlyspot.com/store.cgi]] | . | [[index.html | http://rhythmsofindia.tiddlyspot.com/index.html]] | . | ok |
| 29/04/2011 13:24:15 | Chi | [[/|http://rhythmsofindia.tiddlyspot.com/]] | [[store.cgi|http://rhythmsofindia.tiddlyspot.com/store.cgi]] | . | [[index.html | http://rhythmsofindia.tiddlyspot.com/index.html]] | . |
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.3|
|''Date:''|Feb 24, 2008|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 3,
	date: new Date("Feb 24, 2008"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0'
};

//
// Environment
//

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;	// true to activate both in Plugin and UploadService
	
//
// Upload Macro
//

config.macros.upload = {
// default values
	defaultBackupDir: '',	//no backup
	defaultStoreScript: "store.php",
	defaultToFilename: "index.html",
	defaultUploadDir: ".",
	authenticateUser: true	// UploadService Authenticate User
};
	
config.macros.upload.label = {
	promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
	promptParamMacro: "Save and Upload this TiddlyWiki in %0",
	saveLabel: "save to web", 
	saveToDisk: "save to disk",
	uploadLabel: "upload"	
};

config.macros.upload.messages = {
	noStoreUrl: "No store URL in parmeters or options",
	usernameOrPasswordMissing: "Username or password missing"
};

config.macros.upload.handler = function(place,macroName,params) {
	if (readOnly)
		return;
	var label;
	if (document.location.toString().substr(0,4) == "http") 
		label = this.label.saveLabel;
	else
		label = this.label.uploadLabel;
	var prompt;
	if (params[0]) {
		prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0], 
			(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
	} else {
		prompt = this.label.promptOption;
	}
	createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};

config.macros.upload.action = function(params)
{
		// for missing macro parameter set value from options
		if (!params) params = {};
		var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
		var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
		var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
		var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
		var username = params[4] ? params[4] : config.options.txtUploadUserName;
		var password = config.options.pasUploadPassword; // for security reason no password as macro parameter	
		// for still missing parameter set default value
		if ((!storeUrl) && (document.location.toString().substr(0,4) == "http")) 
			storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
		if (storeUrl.substr(0,4) != "http")
			storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
		if (!toFilename)
			toFilename = bidix.basename(window.location.toString());
		if (!toFilename)
			toFilename = config.macros.upload.defaultToFilename;
		if (!uploadDir)
			uploadDir = config.macros.upload.defaultUploadDir;
		if (!backupDir)
			backupDir = config.macros.upload.defaultBackupDir;
		// report error if still missing
		if (!storeUrl) {
			alert(config.macros.upload.messages.noStoreUrl);
			clearMessage();
			return false;
		}
		if (config.macros.upload.authenticateUser && (!username || !password)) {
			alert(config.macros.upload.messages.usernameOrPasswordMissing);
			clearMessage();
			return false;
		}
		bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); 
		return false; 
};

config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir) 
{
	if (!storeUrl)
		return null;
		var dest = bidix.dirname(storeUrl);
		if (uploadDir && uploadDir != '.')
			dest = dest + '/' + uploadDir;
		dest = dest + '/' + toFilename;
	return dest;
};

//
// uploadOptions Macro
//

config.macros.uploadOptions = {
	handler: function(place,macroName,params) {
		var wizard = new Wizard();
		wizard.createWizard(place,this.wizardTitle);
		wizard.addStep(this.step1Title,this.step1Html);
		var markList = wizard.getElement("markList");
		var listWrapper = document.createElement("div");
		markList.parentNode.insertBefore(listWrapper,markList);
		wizard.setValue("listWrapper",listWrapper);
		this.refreshOptions(listWrapper,false);
		var uploadCaption;
		if (document.location.toString().substr(0,4) == "http") 
			uploadCaption = config.macros.upload.label.saveLabel;
		else
			uploadCaption = config.macros.upload.label.uploadLabel;
		
		wizard.setButtons([
				{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, 
					onClick: config.macros.upload.action},
				{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
				
			]);
	},
	options: [
		"txtUploadUserName",
		"pasUploadPassword",
		"txtUploadStoreUrl",
		"txtUploadDir",
		"txtUploadFilename",
		"txtUploadBackupDir",
		"chkUploadLog",
		"txtUploadLogMaxLine"		
	],
	refreshOptions: function(listWrapper) {
		var opts = [];
		for(i=0; i<this.options.length; i++) {
			var opt = {};
			opts.push();
			opt.option = "";
			n = this.options[i];
			opt.name = n;
			opt.lowlight = !config.optionsDesc[n];
			opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
			opts.push(opt);
		}
		var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
		for(n=0; n<opts.length; n++) {
			var type = opts[n].name.substr(0,3);
			var h = config.macros.option.types[type];
			if (h && h.create) {
				h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
			}
		}
		
	},
	onCancel: function(e)
	{
		backstage.switchTab(null);
		return false;
	},
	
	wizardTitle: "Upload with options",
	step1Title: "These options are saved in cookies in your browser",
	step1Html: "<input type='hidden' name='markList'></input><br>",
	cancelButton: "Cancel",
	cancelButtonPrompt: "Cancel prompt",
	listViewTemplate: {
		columns: [
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 
			]}
};

//
// upload functions
//

if (!bidix.upload) bidix.upload = {};

if (!bidix.upload.messages) bidix.upload.messages = {
	//from saving
	invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
	backupSaved: "Backup saved",
	backupFailed: "Failed to upload backup file",
	rssSaved: "RSS feed uploaded",
	rssFailed: "Failed to upload RSS feed file",
	emptySaved: "Empty template uploaded",
	emptyFailed: "Failed to upload empty template file",
	mainSaved: "Main TiddlyWiki file uploaded",
	mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
	//specific upload
	loadOriginalHttpPostError: "Can't get original file",
	aboutToSaveOnHttpPost: 'About to upload on %0 ...',
	storePhpNotFound: "The store script '%0' was not found."
};

bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
	var callback = function(status,uploadParams,original,url,xhr) {
		if (!status) {
			displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
			return;
		}
		if (bidix.debugMode) 
			alert(original.substr(0,500)+"\n...");
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
			alert(config.messages.invalidFileError.format([localPath]));
			return;
		}
		bidix.upload.uploadRss(uploadParams,original,posDiv);
	};
	
	if(onlyIfDirty && !store.isDirty())
		return;
	clearMessage();
	// save on localdisk ?
	if (document.location.toString().substr(0,4) == "file") {
		var path = document.location.toString();
		var localPath = getLocalPath(path);
		saveChanges();
	}
	// get original
	var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
	var originalPath = document.location.toString();
	// If url is a directory : add index.html
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + "index.html";
	var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
	var log = new bidix.UploadLog();
	log.startUpload(storeUrl, dest, uploadDir,  backupDir);
	displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
	if (bidix.debugMode) 
		alert("about to execute Http - GET on "+originalPath);
	var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
			bidix.upload.uploadMain(params[0],params[1],params[2]);
		} else {
			displayMessage(bidix.upload.messages.rssFailed);			
		}
	};
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		var rssString = generateRss();
		// no UnicodeToUTF8 conversion needed when location is "file" !!!
		if (document.location.toString().substr(0,4) != "file")
			rssString = convertUnicodeToUTF8(rssString);	
		bidix.upload.httpUpload(rssUploadParams,rssString,callback,Array(uploadParams,original,posDiv));
	} else {
		bidix.upload.uploadMain(uploadParams,original,posDiv);
	}
};

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
				displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
			}
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
			store.setDirty(false);
			log.endUpload("ok");
		} else {
			alert(bidix.upload.messages.mainFailed);
			displayMessage(bidix.upload.messages.mainFailed);
			log.endUpload("failed");			
		}
	};
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);
	bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};

bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
	var localCallback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (xhr.status == 404)
			alert(bidix.upload.messages.storePhpNotFound.format([url]));
		if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
			alert(responseText);
			if (responseText.indexOf("Debug mode") >= 0 )
				responseText = responseText.substring(responseText.indexOf("\n\n")+2);
		} else if (responseText.charAt(0) != '0') 
			alert(responseText);
		if (responseText.charAt(0) != '0')
			status = null;
		callback(status,params,responseText,url,xhr);
	};
	// do httpUpload
	var boundary = "---------------------------"+"AaB03x";	
	var uploadFormName = "UploadPlugin";
	// compose headers data
	var sheader = "";
	sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
	sheader += uploadFormName +"\"\r\n\r\n";
	sheader += "backupDir="+uploadParams[3] +
				";user=" + uploadParams[4] +
				";password=" + uploadParams[5] +
				";uploaddir=" + uploadParams[2];
	if (bidix.debugMode)
		sheader += ";debug=1";
	sheader += ";;\r\n"; 
	sheader += "\r\n" + "--" + boundary + "\r\n";
	sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
	sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
	sheader += "Content-Length: " + data.length + "\r\n\r\n";
	// compose trailer data
	var strailer = new String();
	strailer = "\r\n--" + boundary + "--\r\n";
	data = sheader + data + strailer;
	if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
	var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
	if (!posDiv)
		posDiv = locateStoreArea(original);
	if((posDiv[0] == -1) || (posDiv[1] == -1)) {
		alert(config.messages.invalidFileError.format([localPath]));
		return;
	}
	var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
				store.allTiddlersAsHtml() + "\n" +
				original.substr(posDiv[1]);
	var newSiteTitle = getPageTitle().htmlEncode();
	revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
	revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
	revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
	revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
	revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
	return revised;
};

//
// UploadLog
// 
// config.options.chkUploadLog :
//		false : no logging
//		true : logging
// config.options.txtUploadLogMaxLine :
//		-1 : no limit
//      0 :  no Log lines but UploadLog is still in place
//		n :  the last n lines are only kept
//		NaN : no limit (-1)

bidix.UploadLog = function() {
	if (!config.options.chkUploadLog) 
		return; // this.tiddler = null
	this.tiddler = store.getTiddler("UploadLog");
	if (!this.tiddler) {
		this.tiddler = new Tiddler();
		this.tiddler.title = "UploadLog";
		this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
		this.tiddler.created = new Date();
		this.tiddler.modifier = config.options.txtUserName;
		this.tiddler.modified = new Date();
		store.addTiddler(this.tiddler);
	}
	return this;
};

bidix.UploadLog.prototype.addText = function(text) {
	if (!this.tiddler)
		return;
	// retrieve maxLine when we need it
	var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
	if (isNaN(maxLine))
		maxLine = -1;
	// add text
	if (maxLine != 0) 
		this.tiddler.text = this.tiddler.text + text;
	// Trunck to maxLine
	if (maxLine >= 0) {
		var textArray = this.tiddler.text.split('\n');
		if (textArray.length > maxLine + 1)
			textArray.splice(1,textArray.length-1-maxLine);
			this.tiddler.text = textArray.join('\n');		
	}
	// update tiddler fields
	this.tiddler.modifier = config.options.txtUserName;
	this.tiddler.modified = new Date();
	store.addTiddler(this.tiddler);
	// refresh and notifiy for immediate update
	story.refreshTiddler(this.tiddler.title);
	store.notify(this.tiddler.title, true);
};

bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir,  backupDir) {
	if (!this.tiddler)
		return;
	var now = new Date();
	var text = "\n| ";
	var filename = bidix.basename(document.location.toString());
	if (!filename) filename = '/';
	text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
	text += config.options.txtUserName + " | ";
	text += "[["+filename+"|"+location + "]] |";
	text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
	text += uploadDir + " | ";
	text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
	text += backupDir + " |";
	this.addText(text);
};

bidix.UploadLog.prototype.endUpload = function(status) {
	if (!this.tiddler)
		return;
	this.addText(" "+status+" |");
};

//
// Utilities
// 

bidix.checkPlugin = function(plugin, major, minor, revision) {
	var ext = version.extensions[plugin];
	if (!
		(ext  && 
			((ext.major > major) || 
			((ext.major == major) && (ext.minor > minor))  ||
			((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
			// write error in PluginManager
			if (pluginInfo)
				pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
			eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
	}
};

bidix.dirname = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(0, lastpos);
	} else {
		return filePath.substring(0, filePath.lastIndexOf("\\"));
	}
};

bidix.basename = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("#")) != -1) 
		filePath = filePath.substring(0, lastpos);
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(lastpos + 1);
	} else
		return filePath.substring(filePath.lastIndexOf("\\")+1);
};

bidix.initOption = function(name,value) {
	if (!config.options[name])
		config.options[name] = value;
};

//
// Initializations
//

// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);

// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");

//optionsDesc
merge(config.optionsDesc,{
	txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
	txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
	txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
	txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
	txtUploadUserName: "Upload Username",
	pasUploadPassword: "Upload Password",
	chkUploadLog: "do Logging in UploadLog (default: true)",
	txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});

// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');


// Backstage
merge(config.tasks,{
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");


//}}}

Click an event in the menu bar above to see details.