{deck}
version:1
card:0
size:[512,342]
name:"The Decker Tour"

{fonts}
deckbuilder:"%%[encoded data, 12424 characters]"

{sounds}
sosumi:"%%SND0DAwMDAwMDA0PERUTCQYEAgQJDxYaIBEBBQgLDxIWGBoZAgAABQsSGB0eHxcAAAAABQ4WHB4fEgAABAwWHyUfGhkEAAAHFxgNFBkgJBEAAQAAAA4cJi4oEQAAAAcSGCEoKhEAAAACFic1PjIPAAAAAAYWJCQRFhkOBQoPEQkABBgeFgoDDA8CDBAYIychDwAAAAAIJDtBQSUAAAAABx8uKiILAAAADxkZISENBgcAAAADFyQdGh8VDgYBBgkAAAAGIDM3KxcAAAAAECo8Oh0AAAAAEigwLioSAAAAAAADGy0tIBcHAAAFFiAWAgAAAQkSIiodBAAHDhcZEgAAAAAIKT9BORgAAAAAABAeLjkyFgAAAAADGiorHAYAAAAHGiksGwUAAAQLFBcKAAAAEygvJxMAAAAADxweFg4CAAAADhsnMTMhAgAAAAAHLEBBOhcAAAAABxsgFAYFCxMcHxcHAAAAChccFAkEAQAGEhwfHRcNAAAAAAAPJDIxHwIAAAAIJjs6IQAAAAADITY6KxYGAAAAAAAABxAbJislFggAAAAAAAYQHCUnHw8AAAADGSkqGQAAAAAOLT8+KAUAAAAAESInIhYJAgABBAgPFxsZEwsAAAACDhQWFRMWGx4YCgAAAAAJKz9BMhAAAAAADyInHgwAAAALGiIiHRMGAAAAAAIWKTEsHAgAAAAFEBQQCQYKFB0gGAcAAAALIzEvGgAAAAAEHzM4LxwHAAAAAAESISkmGgoAAAAOGx8XBgAAAAccKywgDgAAAgkNCgEAAAUZLDQtGQEAAAAADyApKSESAgAAAAQYKTAnEgAAAAAMJTMvHQgAAAAMFBMKAQAEEBwiHhMHAAAGDhIRCwUBAwgQGR8iIBkLAAAAAAAcNkE6IAAAAAADHCooGAYAAAQRGRsVDQgICg0MCAMCBg0VGxwYEgwHAwAAAAYRHCMhFQQAAAASJCsjDQAAAAASKjUxIQwAAAAAAgoQFhodGxYNBQEBBgsODw0MDRASEQ0IBQgPFxsYDQAAAAASIysmFwUAAAAIFBsaFA0HBAUIDBEVGBcSCwMAAAILFRsbFxEMCgoKCAQBAQcRHCIfFQgAAAAJFBoZEgkDAgYNFBgYFA8JBAEBBAsTGRsYEAgCAgYNEhQSDQgHCQ4REQ4LCQsPExUSCwMAAAYQGR4cFg0FAAACBw0TFhcUDwoGBQkOExQRCwUCBAsSGBkVDgkGBwoMDQwKCg0QFBUSDggFBQgMERMTEQ4KCAcICw8UFxYSCgMAAAYPFxsZEwsFBAcLDxAODAoKDRAREQ8NCwoLDA0MCwoLDA4QEREQDw0KCAUFBwwSFxkVDwcBAQYNFBcVEAkFBQgNERMSEA0LCwoKCgsLDQ4QEBAPDQwMCwsKCgsMDxERDwwKCQsPEhMQCwYDBAkQFxkXEQoFAwUIDRASEhEPDQwLCgsMDg8ODQwLCwwODg4NDAwNDxAQDQkGBgkOExUUEAsHBggMEBIRDgsJCAoMDxESEhANCQcGBwoPEhQTEA0KCQoLDAwMCwwOEBISDwwIBwkMEBIRDwsJCAoNEBISEA4LCQgJCg0PERIQDQoICQsOERIQDAkICQsPEREQDgwMDQ0NCwoJCQwPEhMSDwwJBwgJDA4QEREPDQsJCgsOEBEPDAkHCAsPEhMRDgsJCQsNDg4NDAwNDg4ODQwLDAwNDg4NDAsLCwwNDg8QERAOCgcGBwoPExQTDwsIBwkMDxAPDQwLDA0ODw8ODQwMDAwMDAwNDg4PDg4NDAwMCwsLDA0ODxAODQsJCgsNDxAPDQsKCgsNDg4ODQwMDAwMDAwMDAwMDAwM"

{card:home}
image:"%%[encoded data, 5044 characters]"
script:"home.0"
{widgets}
logo:{"type":"button","size":[370,78],"pos":[76,139],"show":"none"}
that's the tagline:{"type":"field","size":[163,14],"pos":[282,200],"locked":1,"volatile":1,"show":"transparent","border":0,"style":"plain","align":"center"}
button1:{"type":"button","size":[86,26],"pos":[11,303],"script":"home.1","text":"Credits","style":"rect"}
button2:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Guided Tour","style":"rect"}
ee:{"type":"button","size":[57,50],"pos":[162,157],"script":"home.3","show":"transparent","style":"invisible"}

{script:home.0}
on view do
 card.widgets["that's the tagline"].text:random[
  "a multimedia sketchpad",
  "a multimedia sketchbook",
  "an interactive sketchbook",
  "the everything machine",
  "a program for your computer",
  "found the secret chicken card yet?"
 ]
end
{end}

{script:home.1}
on click do
  go["credits" "SlideUp"]
end
{end}

{script:home.2}
on click do
  go["Next" "SlideLeft"]
end
{end}

{script:home.3}
on click do
 bi:card.image
 bg:bi.copy[]
 tc:card.add.canvas
 tc.size:logo.size
 tc.pattern:2
 letters:each p in 100,170,230,300,350,400
  tc.paste[bg.copy[logo.pos logo.size]]
  tc.fill[(p,180)-logo.pos]
  tc.copy[].map[2 dict 1 0]
 end
 card.remove[tc]

 sleep[15]
 ei:image[ee.size+30].paste[bg.copy[ee.pos ee.size] 15,15]
 on er i s p do i.paste[s.copy[].map[1 dict 32] p 1] end
 eb:bg.copy[] er[eb ei ee.pos-15]
 each i in range 30
  bi.paste[eb].paste[ei.copy[].rotate[(2*pi)*i/29] ee.pos-15 1]
  sleep[]
 end

 eb:bg.copy[]
 er[eb letters[4] logo.pos]
 er[eb letters[5] logo.pos]
 c1:1.70158 c2:c1*1.525
 on iob x a b do
  a+(b-a)*.5*if x<.5 ((2*x)^2)*((c2+1)*(2*x))-c2
       else 2+(((2*x)-2)^2)*((c2+1)*(-2+2*x))+c2 end
 end
 on f a b do
  each i in range 30
   o:iob[i/29 a b]
   bi.paste[eb].paste[letters[4].copy[].map[1 dict 9] o 1]
               .paste[letters[5].copy[].map[1 dict 9] o 1]
   sleep[1]
  end
 end
 f[logo.pos logo.pos+30,0]
 f[logo.pos+30,0 logo.pos]

 ci:1,1,1,1,9,9,33,34,35,36,37,38,39,40,41,1,1,1,1,9,9
 co:0,0,0,0,0,0,-2, 0, 2, 4, 6  4, 2, 0,-2,0,0,0,0,0,0
 cb:bg.copy[].paste[image[logo.size] logo.pos]
 each i in range 15
  bi.paste[cb]
  each letter l in letters
   bi.paste[letter.copy[].map[1 dict ci[i+l]] logo.pos-0,co[i+l] 1]
  end
  sleep[3]
 end

 bi.paste[bg]
end

{end}

{card:What's a Card?}
image:"%%IMG2AgABVgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AdQHFAP8APAEBAMMBAQD/ADwBAQDDAQEA/wA8AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBE8IAAQECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQETwgABAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBARPCAAEBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBE8IAAQECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQETwgABAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBARPCAAEBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBE8IAAQECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQETwgABAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBARPBAAIBAgD/ADsBAQDDAQIA/wA7AQEAwwECAP8AOwEBAMMBAgD/ADsBAQDDAQIA/wA7AcYA/wA+AcMA/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AG0="
{widgets}
next:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Next","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
field1:{"type":"field","size":[276,34],"pos":[122,300],"locked":1,"border":0,"style":"plain","align":"center","value":"Decker organizes information on Cards.\nThink of them like a paper index card you can draw on."}
field2:{"type":"field","size":[272,34],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Cards"}
canvas1:{"type":"canvas","size":[193,126],"pos":[160,109],"show":"transparent","border":0,"scale":1}

{script:What's a Card?.0}
on click do
  go["Prev" "SlideRight"]
end
{end}

{card:What's a Deck?}
{widgets}
next:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Next","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
field1:{"type":"field","size":[276,34],"pos":[122,300],"locked":1,"border":0,"style":"plain","align":"center","value":"A collection of cards is called a Deck.\nYou see the topmost card in the deck, and you can flip to a different card at any time."}
field2:{"type":"field","size":[272,34],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Decks"}
canvas3:{"type":"canvas","size":[198,131],"pos":[178,115],"script":"What's a Deck?.0","border":0,"image":"%%IMG2AMYAgwHFAAEBAQDDAQEAAQEBAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMTwgABAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAxPCAAEBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDE8IAAQEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMTwgABAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAxPCAAEBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDE8IAAQEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMTwgABAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAxPCAAEBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDE8EAAgEDAMMBAwDDAQMAwwEDAMMByAACAcQ=","scale":1}
canvas2:{"type":"canvas","size":[198,131],"pos":[168,104],"script":"What's a Deck?.0","border":0,"image":"%%IMG2AMYAgwHFAAEBAQDDAQEAAQEBAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMTwgABAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAxPCAAEBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDE8IAAQEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMTwgABAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAxPCAAEBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDE8IAAQEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMTwgABAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAxPCAAEBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDE8EAAgEDAMMBAwDDAQMAwwEDAMMByAACAcQ=","scale":1}
canvas1:{"type":"canvas","size":[198,131],"pos":[157,94],"script":"What's a Deck?.0","border":0,"image":"%%IMG2AMYAgwHFAAEBAQDDAQEAAQEBAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMTwgABAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAxPCAAEBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDE8IAAQEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMTwgABAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAxPCAAEBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDE8IAAQEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMTwgABAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAxPCAAEBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDAMMBAwDDAQMAwwEDE8EAAgEDAMMBAwDDAQMAwwEDAMMByAACAcQ=","scale":1}

{script:What's a Deck?.0}
on click pos do
 me.index:999
end

on drag pos do
 
end

on release pos do
 
end
{end}

{card:Drawing Practice}
{widgets}
next:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Next","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
field1:{"type":"field","size":[296,57],"pos":[108,279],"locked":1,"border":0,"style":"plain","align":"center","value":"Decker has a number of tools for drawing.\nTry out the Pencil from the Tool menu above and have a scribble!\nYou can choose drawing patterns and brushes from the Style menu.\n   When you're finished, choose \"Interact\" from the Tool menu to continue."}
field2:{"type":"field","size":[276,43],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Drawing"}

{card:Widgets}
image:"%%[encoded data, 10260 characters]"
{widgets}
next:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Next","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
field1:{"type":"field","size":[276,34],"pos":[122,300],"locked":1,"border":0,"style":"plain","align":"center","value":"Cards can have Widgets,\nlike a Button that takes you to another card when you click it,\nor a Field containing text."}
field2:{"type":"field","size":[273,44],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Widgets"}
button1:{"type":"button","size":[67,23],"pos":[148,164],"script":"Widgets.0","text":"MORE!"}
field3:{"type":"field","size":[165,78],"pos":[294,143],"value":"Galena is a Sapphire Gem hen.\n\n- She weighs 4.6 pounds.\n- She is almost 2 years old.\n- She has laid over 350 eggs so far!"}

{script:Widgets.0}
on click do
 alert["This button is for illustrative purposes only. Sorry!"]
end
{end}

{card:Widget Overview}
image:"%%[encoded data, 7852 characters]"
{widgets}
next:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Next","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
field1:{"type":"field","size":[276,34],"pos":[122,300],"locked":1,"border":0,"style":"plain","align":"center","value":"There are six types of widget:\nButtons, Fields, Sliders, Grids, Canvases, and Contraptions.\nClick on each type for more information."}
field2:{"type":"field","size":[272,42],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Widget Types"}
field3:{"type":"field","size":[65,22],"pos":[72,103],"locked":1,"font":"menu","show":"transparent","border":0,"style":"plain","align":"center","value":"Button"}
field4:{"type":"field","size":[65,22],"pos":[216,108],"locked":1,"font":"menu","show":"transparent","border":0,"style":"plain","align":"center","value":"Field"}
field5:{"type":"field","size":[65,22],"pos":[379,128],"locked":1,"font":"menu","show":"transparent","border":0,"style":"plain","align":"center","value":"Slider"}
field6:{"type":"field","size":[65,22],"pos":[53,254],"locked":1,"font":"menu","show":"transparent","border":0,"style":"plain","align":"center","value":"Grid"}
field7:{"type":"field","size":[65,22],"pos":[222,249],"locked":1,"font":"menu","show":"transparent","border":0,"style":"plain","align":"center","value":"Canvas"}
button1:{"type":"button","size":[115,74],"pos":[45,79],"script":"Widget Overview.0","style":"invisible"}
button2:{"type":"button","size":[115,74],"pos":[191,81],"script":"Widget Overview.1","style":"invisible"}
button3:{"type":"button","size":[147,76],"pos":[340,80],"script":"Widget Overview.2","style":"invisible"}
button4:{"type":"button","size":[132,108],"pos":[18,176],"script":"Widget Overview.3","style":"invisible"}
button5:{"type":"button","size":[145,115],"pos":[181,166],"script":"Widget Overview.4","style":"invisible"}
field8:{"type":"field","size":[77,22],"pos":[376,251],"locked":1,"font":"menu","show":"transparent","border":0,"style":"plain","align":"center","value":"Contraption"}
button6:{"type":"button","size":[145,115],"pos":[342,164],"script":"Widget Overview.5","style":"invisible"}

{script:Widget Overview.0}
on click do
  go["Buttons" "BoxIn"]
end
{end}

{script:Widget Overview.1}
on click do
  go["Fields" "BoxIn"]
end
{end}

{script:Widget Overview.2}
on click do
  go["Sliders" "BoxIn"]
end
{end}

{script:Widget Overview.3}
on click do
  go["Grids" "BoxIn"]
end
{end}

{script:Widget Overview.4}
on click do
  go["Canvases" "BoxIn"]
end
{end}

{script:Widget Overview.5}
on click do
  go["Contraptions" "BoxIn"]
end
{end}

{card:Actions}
{widgets}
next:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Next","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
field2:{"type":"field","size":[273,44],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Actions"}
field3:{"type":"field","size":[276,29],"pos":[116,75],"locked":1,"border":0,"style":"plain","align":"center","value":"The \"Actions\" dialogue in the properties panel of a button lets you make several things happen when you click on the button:"}
field4:{"type":"field","size":[155,37],"pos":[180,109],"locked":1,"border":0,"style":"plain","value":"- Playing a sound\n- Navigating to a different card\n- Producing a transition animation"}
button1:{"type":"button","size":[165,52],"pos":[176,176],"text":"Give Me Some Action!"}
field1:{"type":"field","size":[276,51],"pos":[122,290],"locked":1,"border":0,"style":"plain","align":"center","value":"Switch to the Widgets tool,\ndouble-click the button above to edit its properties,\nand try giving it an action.\nWhen you're finished, switch back to the Interact tool."}

{card:Action Scripts}
image:"%%IMG2AgABVgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wCLAQkA/wDwARMA/wDnARsA/wDhARQACQECAP8A4AEOAP8A8AEKAP8A9AEIAP8A9gEJAP8A9QEJAP8A9gEIAP8A9wEHAP8A+AEGAP8A+AEHAP8A+AEHAP8A+QEGAP8A+QEFAP8A+gEFAP8A+wEFAP8A+wEEAP8A+wEEAP8A/AEEAP8A/AEEAP8A/AEDAP8A/QEDAP8A/QEDAP8A/QEDAP8A/QEDAP8A/QEDAP8A/gEDAP8A/QEDAP8A/QEDAP8A/AEEAP8A/AEEAP8A/AEEAP8A/AEEAP8A/AEEAP8A9QEBAAYBBAD/APUBAwAEAQQA/wD2AQMABAEDAP8A9wEDAAMBAwD/APkBAwABAQQA/wD5AQMAAQEDAAUBAgD/APMBBgADAQYA/wDyAQYAAQEHAP8A8wEMAP8A9QEJAP8A+AEHAP8A+gEFAJEBAQD/AGsBAwCIAQwA/wDwAREA/wDsARQA/wDlARIA/wDsAQ8A/wDvAQ4A/wDsAQ0A/wDyAQwA/wDxAQ0A/wDmAQEADAEHAP8A7AEDAAkBBwD/AO0BAwAHAQYA/wDxAQMABQEHAP8A8QEDAAUBBgD/APIBBAABAQcA/wD1AQoA/wD2AQoA/wD2AQcA/wD6AQ0A/wD1AQ0A/wD2AQoA/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AAwBAQD/AP8BBQAGAQQA/wDzAQ8A/wDyAQ4A/wD0AQoA/wD4AQgA/wD6AQoA/wD4AQMAAQELAP8A8wEDAAIBDQD/AO8BAwAFAQwA/wDuAQMACgEJAP8A6wEDAA4BCAD/AOkBAQARAQkA/wD7AQgA/wD8AQcA/wD9AQYA/wD9AQcA/wCEAQEAdwEIAP8AgAEDAHgBCQD/AH0BAwB7AQkA/wB5AQUAfQEIAP8AdgEGAIABBwD/AHMBCACCAQYA/wBwAQMAAQEFAIQBBgD/AG0BAwABAQYAhgEEAP8AbgEBAAIBAwABAQMAhwECAP8AcQEDAAEBBAD/APkBAwACAQMA/wD4AQMABAEDAP8A9wEDAAUBAQD/APgBAwD/AP4BAwD/AP4BAwD/AP0BAwD/AP4BAwD/AP4BAwD/AP4BAwD/AP4BAwD/AP4BAwD/AP4BAwD/AP0BAwD/AP4BAwD/AP4BAwD/AP4BAwD/AP4BAwD/AP4BAwD/AP4BAwD/AP4BAwD/AP4BAwD/AP8BAQD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8Abg=="
{widgets}
next:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Next","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
field2:{"type":"field","size":[273,44],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Inside Actions"}
field1:{"type":"field","size":[276,34],"pos":[122,300],"locked":1,"border":0,"style":"plain","align":"center","value":"The Action dialogue writes a script for you.\nIt might look something like the above."}
field3:{"type":"field","size":[122,48],"pos":[95,143],"locked":1,"style":"code","value":"on click do\n play[\"sosumi\"]\n go[\"Next\" \"BoxIn\"]\nend"}
field4:{"type":"field","size":[85,33],"pos":[226,78],"locked":1,"border":0,"style":"plain","align":"center","value":"The behavior happens when the button is clicked."}
field5:{"type":"field","size":[92,25],"pos":[289,129],"locked":1,"border":0,"style":"plain","align":"center","value":"Play a sound with the name \"sosumi\"."}
field6:{"type":"field","size":[192,48],"pos":[63,225],"locked":1,"border":0,"style":"plain","align":"center","value":"The names \"Next\", \"Prev\", \"First\", \"Last\", and \"Back\" have special meanings.\nAny other string in double-quotes would refer to a card by name."}
field7:{"type":"field","size":[127,55],"pos":[279,175],"locked":1,"border":0,"style":"plain","align":"center","value":"\"BoxIn\" is the name of a transition animation.\nYou can define your own reusable transition animations with scripts!"}

{card:The Listener}
{widgets}
next:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Next","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
  :{"type":"field","size":[273,44],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"The Listener"}
 :{"type":"field","size":[301,44],"pos":[103,73],"locked":1,"border":0,"style":"plain","align":"center","value":"The listener lets you try out scripts interactively.\nPress \"shift + L\" on your keyboard to open the listener.\nType one of the expressions below and press shift + enter to get a result. When you're done, press escape."}
   :{"type":"field","size":[122,60],"pos":[190,127],"locked":1,"border":1,"style":"code","value":"  2+3\n\n  alert[\"Hello!\"]\n\n  range 10"}
postscript:{"type":"field","size":[253,49],"pos":[128,303],"locked":1,"border":0,"style":"plain","align":"center","value":"Anything you can do in a script, you can try interactively with the listener, and vice versa!"}

{card:Lil}
{widgets}
next:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Next","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
title:{"type":"field","size":[273,44],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Lil"}
exposition:{"type":"field","size":[301,44],"pos":[104,301],"locked":1,"border":0,"style":"plain","align":"center","value":"Scripts are written in a special programming language called Lil.\nDecker comes with a complete manual for Lil, but you can get the gist of the language with a few simple examples."}
field1:{"type":"field","size":[295,105],"pos":[103,117],"locked":1,"border":1,"style":"code","value":"on mode a do   # line comment\n r:()\n each x in a\n  r[x]:1+r[x]\n end\n first extract key orderby value desc from r\nend\n\nmode[1,2,2,3,4,2,1]"}

{card:Scripting 1}
image:"%%IMG2AgABVgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wAoAYcA/wB5AYkA/wB4AYkA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMAWQEBAP8AHgEDDYMBAwBYAQMA/wAdAQMNgwEDAFgBAwD/AB0BAw2DAQMAWQEEAP8AGwEDDYMBAwBaAQQAWAEBAMABAw2DAQMAWwEEAFUBBAC/AQMNgwEDAF0BBABSAQQAwAEDDYMBAwBeAQQAUAEEAMEBAw2DAQMAXwEFAEwBBQDCAQMNgwEDAGEBBABKAQQAxAEDDYMBAwBiAQQASAEEAMUBAw2DAQMAZAEDAEYBAwDHAQMNgwEDAGUBAwBEAQQAxwEDDYMBAwBmAQMAQgEEAMgBAw2DAQMAZwEDAEABAwDKAQMNgwEDAGcBAwA/AQMAywEDDYMBAwBoAQMAPQEDAMwBAw2DAQMAaQEDADsBAwDNAQMNgwEDAGkBAwA7AQMAzQEDDYMBAwBqAQMAOQEDAM4BAw2DAQMAawEDADgBAwDOAQMNgwEDAGwBAwA2AQMAzwEDDYMBAwBsAQMANQEDANABAw2DAQMAbAEDADQBAwDRAQMNgwEDAG0BAwAzAQMA0QEDDYMBAwBtAQMAMwEDANEBAw2DAQMAbgEDADEBAwDSAQMNgwEDAG8BAwAvAQMA0wEDDYMBAwBvAQMALwEDANMBAw2DAQMAcAEDAAUBAgAiAQEAAwEDANQBAw2DAQMAcAEDAAQBBAAgAQMAAgEDANQBAw2DAQMAbgEBAAEBBAADAQMAIQEDAAEBAwDVAQMNgwEDAG0BAwABAQMAAgEDACIBAwABAQMAAgEDANABAw2DAQMAbQEHAAEBAwAjAQMAAQEDAAEBBQDPAQMNgwEDAG4BCgAjAQwA0AEDDYMBAwBwAQcAJAEJANMBAw2DAQMAcAEGACUBCADUAQMNgwEDAHEBBQAlAQYA1gEDDYMBAwBxAQQAJgEDANkBAw2DAQMAcgECACgBAQDaAQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwAJAQMA/wBsAQMNgwEDAAcBBgD/AGsBAw2DAQMABgEGAP8AbAEDDYMBAwAFAQQA/wBvAQMNgwEDAAMBBQD/AHABAw2DAQMAAgEFABcBBQD/AFUBAw2DAQMAAQENAAUBEQD/AFQBAw2DASYA/wBVAQMNgwEDAAEBHQD/AFoBAw2DAQMAAQEDAAoBBgD/AGQBAw2DAQMAAgEDAP8AcwEDDYMBAwADAQQA/wBxAQMNgwEDAAQBBAD/AHABAw2DAQMABQEFAP8AbgEDDYMBAwAHAQQA/wBtAQMNgwEDAAgBAgD/AG4BAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBAw2DAQMA/wB4AQMNgwEDAP8AeAEDDYMBAwD/AHgBiQD/AHgBiQD/AHkBhwD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8ADA=="
{widgets}
next:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Next","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
title:{"type":"field","size":[273,44],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Example 1"}
exposition:{"type":"field","size":[301,44],"pos":[104,301],"locked":1,"border":0,"style":"plain","align":"center","value":"We have a field named \"display\", and a button.\nWhen the button is clicked, the script reads the contents of the field, multiplies it by three, and writes it back to the field."}
field1:{"type":"field","size":[202,40],"pos":[240,181],"locked":1,"border":1,"style":"code","value":"on click do\n display.text:3*display.text\nend"}
display:{"type":"field","size":[87,32],"pos":[95,132],"font":"deckbuilder","value":"5"}
button1:{"type":"button","size":[87,33],"pos":[96,183],"script":"Scripting 1.0","text":"Triple It"}
field2:{"type":"field","size":[99,25],"pos":[231,114],"locked":1,"border":0,"style":"plain","align":"center","value":"The colon (:) is Lil's assignment operator."}
field3:{"type":"field","size":[90,54],"pos":[348,90],"locked":1,"border":0,"style":"plain","align":"center","value":"\"display\" is a widget on this card.\nThe .text property is its contents as plain text."}

{script:Scripting 1.0}
on click do
 display.text:3*display.text
end
{end}

{card:Scripting 2}
image:"%%IMG2AgABVgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AEgGSAP8AbgGUAP8AbQGUAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwBJAQEA/wAjAQMNjgEDAEgBAwD/ACIBAw2OAQMASQEEAP8AIAEDDY4BAwBKAQUA/wAeAQMNjgEDAEsBBQBjAQEAuAEDDY4BAwBNAQQAYQEDALcBAw2OAQMATwEDAF8BAwC4AQMNjgEDAFABBABdAQMAuAEDDY4BAwBRAQQAWwEDALkBAw2OAQMAUgEEAFoBAwC5AQMNjgEDAFMBAwBZAQMAugEDDY4BAwBUAQQAVwEDALoBAw2OAQMAVQEEAFUBAwC7AQMNjgEDAFYBBABUAQMAuwEDDY4BAwBYAQMAUgEDALwBAw2OAQMAWQEDAFABAwC9AQMNjgEDAFoBAwBOAQMAvgEDDY4BAwBbAQMATAEDAL8BAw2OAQMAXAEDAEsBAwC/AQMNjgEDAF0BAwBJAQMAwAEDDY4BAwBdAQMASQEDAMABAw2OAQMAXgEDAEcBAwDBAQMNjgEDAF4BAwBGAQMAwgEDDY4BAwBfAQMARAEDAMMBAw2OAQMAXwEDAEQBAwDDAQMNjgEDAGABAwBCAQMAxAEDDY4BAwBgAQMAQQEDAMUBAw2OAQMAYQEDAEABAwDFAQMNjgEDAGIBAwA+AQMAxgEDDY4BAwBjAQMAPQEDAMYBAw2OAQMAYwEDADwBAwDHAQMNjgEDAGQBAwA7AQMAxwEDDY4BAwBkAQMAOgEDAMgBAw2OAQMAZQEDADgBAwDJAQMNjgEDAGUBAwA3AQMAygEDDY4BAwBlAQMANwEDAMoBAw2OAQMAZgEDADUBAwDLAQMNjgEDAGYBAwAuAQEABgEDAMsBAw2OAQMAZgEDAC0BAwAEAQMAzAEDDY4BAwBnAQMAAwECACcBAwADAQMAzQEDDY4BAwBnAQMAAgEEACcBAwABAQMAzgEDDY4BAwBkAQIAAQEDAAIBAwAoAQYAzwEDDY4BAwBjAQcAAQEDACkBBgDPAQMNjgEDAGQBBgABAQMAKQEFAAEBBADLAQMNjgEDAGYBBwAqAQsAygEDDY4BAwBnAQUAKwEKAMsBAw2OAQMAaAEEACsBBgDPAQMNjgEDAGgBBAArAQQA0QEDDY4BAwBoAQMALQEBANMBAw2OAQMAaQEBAP8AAwEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMABgECAP8AZQEDDY4BAwAFAQQA/wBkAQMNjgEDAAQBBAD/AGUBAw2OAQMAAwEEAP8AZgEDDY4BAwACAQQA/wBnAQMNjgEDAAEBBAD/AGgBAw2OASwA/wBEAQMNjgEtAP8AQwEDDY4BLAD/AEQBAw2OAQMAAQEIAP8AZAEDDY4BAwAFAQUA/wBjAQMNjgEDAAYBBQD/AGIBAw2OAQMACAECAP8AYwEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAQMNjgEDAP8AbQEDDY4BAwD/AG0BAw2OAQMA/wBtAZQA/wBtAZQA/wBuAZIA/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wAD"
{widgets}
next:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Next","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
title:{"type":"field","size":[273,44],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Example 2"}
exposition:{"type":"field","size":[301,44],"pos":[104,301],"locked":1,"border":0,"style":"plain","align":"center","value":"We have a field named \"display\", and a slider.\nWhen the slider is changed, it updates the display with a string indicating whether the value is above a threshold."}
display:{"type":"field","size":[98,32],"pos":[87,128],"value":"Too Low."}
input:{"type":"slider","size":[100,25],"pos":[87,185],"script":"Scripting 2.0","interval":[0,100]}
field1:{"type":"field","size":[163,81],"pos":[252,187],"locked":1,"border":1,"style":"code","value":"on change val do\n display.text: if val > 70\n  \"I'm Satisfied.\"\n else\n  \"Too Low.\"\n end\nend"}
field2:{"type":"field","size":[104,44],"pos":[224,93],"locked":1,"border":0,"style":"plain","align":"center","value":"When a slider changes, you get its value as an argument to the \"change\" function."}
field3:{"type":"field","size":[95,62],"pos":[351,80],"locked":1,"border":0,"style":"plain","align":"center","value":"\"if ... else ... end\" is an expression,\nand returns either the true or false\nbranch based on a condition."}

{script:Scripting 2.0}
on change val do
 display.text: if val > 70
  "I'm Satisfied."
 else
  "Too Low."
 end
end
{end}

{card:Scripting 3}
image:"%%IMG2AgABVgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDCAQIA/wD+AQQA/wD+AQMA/wD/AQMA/wD/AQMAXQEBAP8AoAEDAFsBBAD/AKABAwBZAQQAsgGiAEwBAwBYAQQATQEBAGQBpABLAQMAWAEDAE0BAwBjAaQASwEDAFYBBQBMAQQAYwEDDZ4BAwBMAQMAVAEFAEwBBABkAQMNngEDAEwBAwBTAQQATgEDAGUBAw2eAQMATQEDAFEBBABOAQMAZgEDDZ4BAwBNAQMAUAEEAE8BAwBmAQMNngEDAE4BAwBOAQMAUAEDAGcBAw2eAQMATgEDAE0BAwBQAQMAaAEDDZ4BAwBOAQMASwEEAFABAwBpAQMNngEDAE4BAwBKAQQAUAEDAGoBAw2eAQMATwEDAEgBBABRAQMAagEDDZ4BAwBPAQMARwEDAFIBAwBrAQMNngEDAFABAwBFAQMAUwEDAGsBAw2eAQMAUAEDAEQBAwBUAQMAawEDDZ4BAwBQAQMAQwEDAFQBAwBsAQMNngEDAFABAwBDAQMAVAEDAGwBAw2eAQMAUAEDAEIBAwBUAQMAbQEDDZ4BAwBRAQMAQAEDAFQBAwBuAQMNngEDAFEBAwA/AQMAVAEDAG8BAw2eAQMAUQEDAD8BAwBUAQMAbwEDDZ4BAwBRAQMAPgEDAFQBAwBwAQMNngEDAFEBAwA9AQMAVAEDAHEBAw2eAQMAUQEDAD0BAwAZATUABgEDAHEBAw2eAQMAUQEDAAMBAQAaASwADgFwAEABAw2eAQMATQEBAAMBAwACAQMAGAEwAAoBcgA/AQMNngEDAEwBBAABAQMAAQEDABgBMgAJAQMANAE8AD4BAw2eAQMATQEKABkBAwArAQQACQEDAG0BAwA+AQMNngEDAE4BCQAZAQMALAEDAAkBAwBtAQMAPgEDDZ4BAwBQAQcAGQEDAC0BAQALAQEAbgEDAD4BAw2eAQMAUQEFABsBAQCqAQEAPwEDDZ4BAwBRAQUA/wAHAQMNngEDAFIBAwD/AAgBAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwAJAQEA/wBTAQMNngEDAAgBAwD/AFIBAw2eAQMABwEEAP8AUgEDDZ4BAwAFAQUA/wBTAQMNngEDAAQBBAD/AFUBAw2eAQMAAwEEAP8AVgEDDZ4BAwABAREA/wBLAQMNngEWAP8ASgEDDZ4BAwABAREA/wBLAQMNngEDAAMBBAD/AFYBAw2eAQMABAEEAP8AVQEDDZ4BAwAFAQQA/wBUAQMNngEDAAYBAwD/AFQBAw2eAQMABwEDAP8AUwEDDZ4BAwAIAQEA/wBUAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAGgBAgDyAQMNngEDAGcBBADxAQMNngEDAGgBBQDvAQMNngEDAGgBBwDtAQMNngEDAGcBCQDsAQMNngEDAGcBBQABAQQA6wEDDZ4BAwBnAQYAAgEDAOoBAw2eAQMAZgEDAAEBAwADAQQA6AEDDZ4BAwBlAQQAAgEDAAMBBADnAQMNngEDAGUBAwADAQMABAEDAOcBAw2eAQMAZgEBAAQBAwAFAQEA6AEDDZ4BAwBrAQMA7gEDDZ4BAwBrAQMA7gEDDZ4BAwBsAQMA7QEDDZ4BAwBsAQMA7QEDDZ4BAwBsAQMA7QEDDZ4BAwBsAQMA7QEDDZ4BAwBsAQMA7QEDDZ4BAwBtAQMA7AEDDZ4BAwBtAQMA7AEDDZ4BAwBtAQMA7AEDDZ4BAwBtAQMA7AEDDZ4BAwBtAQMA7AEDDZ4BAwBuAQMA6wEDDZ4BAwBuAQMA6wEDDZ4BAwBuAQMA6wEDDZ4BAwBuAQMA6wEDDZ4BAwBvAQMA6gEDDZ4BAwBvAQMA6gEDDZ4BAwBvAQMA6gEDDZ4BAwBvAQMA6gEDDZ4BAwBvAQMA6gEDDZ4BAwBvAQMA6gEDDZ4BAwBvAQMA6gEDDZ4BAwBwAQEA6wEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQEDDZ4BAwD/AF0BAw2eAQMA/wBdAQMNngEDAP8AXQGkAP8AXQGkAP8AXgGiAP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A7Q=="
{widgets}
next:{"type":"button","size":[86,26],"pos":[415,305],"script":"home.2","text":"Next","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
title:{"type":"field","size":[273,44],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Example 3"}
exposition:{"type":"field","size":[301,44],"pos":[104,297],"locked":1,"border":0,"style":"plain","align":"center","value":"We have a table of normal monthly expenses named \"expenses\",\nand a field below named \"total\".\nIf you modify the contents of the grid, the total below will be recalculated."}
total:{"type":"field","size":[92,21],"pos":[74,230],"value":"$4900.00"}
field1:{"type":"field","size":[305,49],"pos":[193,141],"locked":1,"border":1,"style":"code","value":"on change do\n costs: extract sum cost from expenses.value\n total.text: \"%c\" format costs\nend"}
expenses:{"type":"grid","size":[143,103],"pos":[23,118],"script":"Scripting 3.0","format":"sc","value":{"name":["data","utility","food","candles","rent"],"cost":[150,150,200,3600,800]}}
field2:{"type":"field","size":[75,36],"pos":[250,226],"locked":1,"border":0,"style":"plain","align":"center","value":"\"%c\" means format as currency."}
field3:{"type":"field","size":[78,33],"pos":[311,75],"locked":1,"border":0,"style":"plain","align":"center","value":"sum all the elements of the cost column"}
field4:{"type":"field","size":[110,35],"pos":[191,75],"locked":1,"border":0,"style":"plain","align":"center","value":"\"extract\" queries a table and produces a single value as a result."}
field5:{"type":"field","size":[79,34],"pos":[400,76],"locked":1,"border":0,"style":"plain","align":"center","value":"query the table stored in the expenses grid."}

{script:Scripting 3.0}
on change do
 costs: extract sum cost from expenses.value
 total.text: "%c" format costs
end
{end}

{card:And More}
image:"%%[encoded data, 12528 characters]"
{widgets}
home:{"type":"button","size":[86,26],"pos":[415,305],"script":"And More.0","text":"Home","style":"rect"}
prev:{"type":"button","size":[86,26],"pos":[12,304],"script":"What's a Card?.0","text":"Previous","style":"rect"}
field1:{"type":"field","size":[285,48],"pos":[117,282],"locked":1,"border":0,"style":"plain","align":"center","value":"This tour has only scratched the surface of what Decker can do.\nFor more detail, consult the Decker user manual.\n\nNow get out there and explore!"}
field2:{"type":"field","size":[272,34],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"...And Much More!"}

{script:And More.0}
on click do
  go["First" "BoxIn"]
end
{end}

{card:Buttons}
image:"%%IMG2AgABVgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wCQFA0A/wDwFAQADRQCAP8A6xQDABMUAgD/AOcUAgAYFAIA/wDkFAEAHBQBAP8A4hQBAB4UAQD/AOAUAQAgFAIA/wDOFAIADRQBACMUAgD/AMoUAgACFAMACRQBACYUAQD/AMgUAQAHFAIABxQBACcUAQD/AMYUAQAKFAIABBQBACkUAQD/AMUUAQAMFAQAKxQCAAoUDAD/AK0UAQA9FAEABxQCAAwUBQD/AKgUAQA+FAIAAhQDABMUBQD/AKMUAQBAFAIAGxQEAP8AnxQBAGEUAgD/AJ0UAQBjFAEA/wCcFAEAYxQBAP8AmxQBAGUUAQD/AJoUAQBmFAEA/wCZFAEAZxQBAP8AlxQBAGkUAQD/AJYUAQBpFAEA/wCVFAEAahQBAP8AlRQBAGoUAQD/AJQUAQBrFAEA/wCUFAEAaxQBAP8AlBQBAGoUAQD/AJQUAQBrFAEA/wCUFAEAaxQBAP8AkxQBAGsUAQD/AJQUAQBrFAEA/wCUFAEAbBQBAP8AkhQBAG4UAQD/AJEUAQBuFAEA/wCSFAEAbhQBAP8AkRQBAG8UAQD/AJEUAQBvFAEA/wCRFAEAbhQBAP8AkRQBAG8UAQD/AJEUAgBtFAEA/wCTFAIAaxQBAP8AlRQDAGgUAQD/AJgUAwBlFAEA/wCaFAIAZBQBAP8AnBQBAGQUAQD/AJwUAQBjFAEA/wCdFAEAYhQBAP8AnhQBAGEUAQD/AJ8UAQBfFAEA/wCgFAEAXxQBAP8AoBQBAF8UAQD/AKAUAQBfFAEA/wCgFAEAXxQBAP8AoRQBAF4UAQD/AKEUAQBeFAEA/wChFAEAXRQBAP8AohQBAF0UAQD/AKMUAQBbFAEA/wCkFAEAWRQCAP8ApRQBACIUCwAqFAIA/wCoFAEAHxQCAAsUBAAlFAEA/wCqFAEAHBQDABEUAgAhFAIA/wCsFAEAGBQDABYUBAAZFAQA/wCvFAEAFBQDAB0UBQARFAMA/wCzFAEAEhQCACUUEQD/ALcUAgAOFAIA/wDxFAYABBQEAP8A+RQEAP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AJc="
{widgets}
back:{"type":"button","size":[86,26],"pos":[12,304],"script":"Buttons.0","text":"Back","style":"rect"}
field1:{"type":"field","size":[292,33],"pos":[117,299],"locked":1,"border":0,"style":"plain","align":"center","value":"Buttons can make something happen when you click on them!"}
field2:{"type":"field","size":[272,42],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Buttons"}
button1:{"type":"button","size":[102,42],"pos":[118,113],"script":"Buttons.1","text":"Rounded"}
button2:{"type":"button","size":[102,42],"pos":[117,184],"script":"Buttons.2","text":"Rectangle","style":"rect"}
check:{"type":"button","size":[97,24],"pos":[296,120],"text":"Checkbox","style":"check","value":0}
button4:{"type":"button","size":[102,42],"pos":[295,182],"script":"Buttons.3","text":"\"Invisible\"","style":"invisible"}

{script:Buttons.0}
on click do
  go["Back" "BoxOut"]
end
{end}

{script:Buttons.1}
on click do
  play["sosumi"]
end
{end}

{script:Buttons.2}
on click do
 alert["you clicked me!"]
end
{end}

{script:Buttons.3}
on click do
 alert["The checkbox value is %b." format check.value]
end
{end}

{card:Fields}
{widgets}
back:{"type":"button","size":[86,26],"pos":[12,304],"script":"Buttons.0","text":"Back","style":"rect"}
field1:{"type":"field","size":[292,44],"pos":[117,288],"locked":1,"border":0,"style":"plain","align":"center","value":"Fields contain text.\nThey are useful both as labels (like this one)\nand as a place for users to enter text."}
field2:{"type":"field","size":[272,42],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Fields"}
field3:{"type":"field","size":[143,25],"pos":[194,98],"font":"menu","value":"A simple editable field."}
field4:{"type":"field","size":[197,95],"pos":[281,156],"scrollbar":1,"style":"code","value":"# A \"code\" field is handy\n# for writing scripts!\n\non square x do\n x * x\nend\n\n"}
field5:{"type":"field","size":[162,93],"pos":[62,158],"locked":1,"scrollbar":1,"align":"center","value":{"text":["Rich text fields can contain multiple fonts and inline images:\n","i","\nThey can also contain ","links"," to other cards or to external URLs. Note that for links to be clickable, the field has to be \"locked\"."],"font":["","","","",""],"arg":["","%%IMG2ADIAKQCmAQEAMAEDAC4BBQAtAQUALAEDDQEBAwArAQMNAQEDACoBAw0DAQMADgEFABYBAw0DAQMADAEJABMBAw0FAQMACgELABIBAw0FAQMACQEECQUBBAAQAQMNBwEDAAcBAwkJAQMADwEDDQcBAwAGAQMJCwEDAA0BAw0JAQMABQEDCQsBAwANAQMNCQEDAAQBAwkNAQMACwEDDQsBAwADAQMJDQEDAAsBAw0LAQMAAwEDCQ0BAwAKAQMNDQEDAAIBAwkNAQMACgEDDQUBEQkMAQMACQEDDQUBEwkKAQMACgEDDQUBEwkKAQMACQEDDQYBEwkJAQMACgEDDQYBFQkFAQQACgEnAAwBJQAOARsAAgEFABgBEwAfARMAHwETAB8BEwAfARMAHwETAB8BEwAfARMAHwETACABEQCo","","http://beyondloom.com",""]}}

{card:The Secret Chicken Card}
image:"%%[encoded data, 28116 characters]"
{widgets}
field1:{"type":"field","size":[105,35],"pos":[293,49],"border":0,"scrollbar":0,"style":"plain","align":"center","value":"Greetings, traveler.\nYou have found the secret chicken card."}
field2:{"type":"field","size":[100,33],"pos":[339,157],"border":0,"scrollbar":0,"style":"plain","align":"center","value":"May your day be blessed by many bugs and pieces of corn."}

{card:Sliders}
{widgets}
back:{"type":"button","size":[86,26],"pos":[12,304],"script":"Buttons.0","text":"Back","style":"rect"}
field1:{"type":"field","size":[292,33],"pos":[117,299],"locked":1,"border":0,"style":"plain","align":"center","value":"Sliders represent a number, within a configurable range.\nThey can also act like progress bars."}
field2:{"type":"field","size":[272,42],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Sliders"}
slider1:{"type":"slider","size":[190,25],"pos":[146,221],"value":55}
slider2:{"type":"slider","size":[24,108],"pos":[374,119],"interval":[0,100],"value":32,"style":"vert"}
slider3:{"type":"slider","size":[185,28],"pos":[143,108],"interval":[0,100],"value":50,"format":"%f%% complete","style":"bar"}
slider4:{"type":"slider","size":[185,28],"pos":[145,163],"interval":[0,100],"value":30,"step":5,"format":"the number is %i ","style":"compact"}

{card:Grids}
image:"%%IMG2AgABVgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AD8BAQD/AP8BAwD/AP8BAQD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wByAQIA/wD+AQQA/wD8AQQA/wD9AQMA/wD9AQMA/wD9AQMA/wD+AQMA/wD7AQUA/wD7AQUAHAEIAP8A1wErAP8A1QErAP8A1wEiAP8A4AEFAP8A/QEGAP8A/QEFAP8A/gEFAP8A/QEFAP8A/gECAP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A0w=="
{widgets}
back:{"type":"button","size":[86,26],"pos":[12,304],"script":"Buttons.0","text":"Back","style":"rect"}
field1:{"type":"field","size":[280,45],"pos":[123,290],"locked":1,"border":0,"style":"plain","align":"center","value":"Grids store tabular data, like a little spreadsheet.\nYou can double-click cells to edit them,\nInsert and remove rows, query the table,\nand control how each column is formatted."}
field2:{"type":"field","size":[272,42],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Grids"}
checklist:{"type":"grid","size":[127,91],"pos":[301,80],"headers":0,"lines":1,"widths":[20],"format":"BL","value":{"chosen":[0,1,1,1,1],"name":["First","Second","Third","Fourth","Fifth"]}}
two:{"type":"grid","size":[195,93],"pos":[70,78],"scrollbar":1,"headers":1,"widths":[95,38],"format":"scf","value":{"fruit":["apple","cherry","banana","durian","elderberry"],"price":[1,0.35,0.75,2.99,0.92],"amount":[1,15,2,5,1]}}
grid1:{"type":"grid","size":[68,83],"pos":[177,183],"scrollbar":0,"lines":0,"value":{"measure":["Gallon","Quart","Cup","Tablespoon","Teaspoon"]},"row":2}
field3:{"type":"field","size":[74,44],"pos":[298,204],"locked":1,"border":0,"value":"a single-column grid makes a good selection box for input!"}

{card:Canvases}
image:"%%IMG2AgABVgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AJAEBAP8A/wEEAP8A/gEEAP8A/gEEAP8A4wEgAP8A4AEiAP8A4AEgAP8A/AEDAP8A/QEEAP8A/AEEAP8A/QEDAP8A/wEBAP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AgwEBAP8A/wEDAP8A/gEDAP8A/gEDAP8A/gEDAP8A/gEDAP8A/gEDAP8A/gEDAP8A/gEDAP8A/gEDAP8A/gEDAP8A/gEDAP8A/QEDAP8A6AECABQBAwD/AOcBBAATAQMA/wDhAQkAEwEDAP8A4QEIABQBAwD/AOMBBwASAQUA/wDkAQkADAEHAP8A5QELAAcBCQD/AOYBAwADARIA/wDqAQMABAENAP8A7QEDAAcBBwD/APABBAD/AP4BAwD/AP8BAQD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AFwBAQD/AP8BAwD/AP4BAwD/AP4BAwD/AP4BAwD/AP8BAwD/AP4BAwAZAQIA/wDjAQMAGAEGAP8A4QEDABgBCAD/AN4BAwAaAQsA/wDaAQMAHAEJAP8A2gEDABoBCgD/ANsBBQASAQ4A/wDdAQcADQEPAP8A3wENAAQBCQAEAQMA/wDjARIACQEDAP8A5gENAAoBAwD/AO4BBAAMAQMA/wD9AQQA/wD+AQIA/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wAv"
script:"Canvases.0"
{widgets}
back:{"type":"button","size":[86,26],"pos":[12,304],"script":"Buttons.0","text":"Back","style":"rect"}
field1:{"type":"field","size":[286,45],"pos":[123,290],"locked":1,"border":0,"style":"plain","align":"center","value":"Canvases each contain an image.\nBy default, you can scribble on them,\nand with scripting you can use them for input\nor display animations."}
field2:{"type":"field","size":[272,42],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Canvases"}
four:{"type":"canvas","size":[105,74],"pos":[70,83],"border":1,"brush":16,"pattern":35}
board:{"type":"canvas","size":[96,93],"pos":[143,176],"script":"Canvases.1","show":"invert","image":"%%IMG0AAwADAAAf+BJIEkgTyBJIEkgTyBBIEEgf+AAAA==","scale":8}
field3:{"type":"field","size":[63,26],"pos":[182,92],"locked":1,"border":0,"style":"plain","value":"a canvas you can draw on"}
field4:{"type":"field","size":[62,44],"pos":[71,187],"locked":1,"border":0,"style":"plain","value":"a scaled canvas that acts like a pixel editor"}
target:{"type":"canvas","size":[141,128],"pos":[297,130],"volatile":1,"scale":1}
field5:{"type":"field","size":[102,24],"pos":[314,258],"locked":1,"border":0,"style":"plain","align":"center","value":"a canvas being drawn on by a card script"}
field6:{"type":"field","size":[58,34],"pos":[274,75],"locked":1,"border":0,"style":"plain","value":"a canvas you can drag around"}
canvas1:{"type":"canvas","size":[30,28],"pos":[369,84],"image":"%%IMG0AB4AHAAAAAAAAAAAAAAAAAAP8AAA//wAAf/+AAPwDwADgAOABwABwAcPAcAOP8DgDn/g4A7w8OAO4fDgDnPg4BxxwOAceADgHDwH4Bwf/8AOD/+ADgP4AAeAAAAD4AAAAf/AAAB/4AAAP8AAAAAAAAAAAAA=","draggable":1,"scale":1}

{script:Canvases.0}
on pinwheel t do
 target.clear[]
 c:target.size/2                  # center of canvas
 r:c[0]*.6+.4*sin 0.02*t          # radius of the pattern
 a:(0.005*t)+(pi/0.5*16)*range 16 # angle per wedge
 p:flip c+flip r*unit a           # points around a circle
 each x i in p
  if 2%i target.poly[c x p[(count p)%1+i]] end # draw every other wedge
 end
end

on view do
 pinwheel[sys.frame]
 go[card]
end
{end}

{script:Canvases.1}
on click pos do
 me.pattern:!me[pos] 
end

on release pos do
 drag[pos]
end
{end}

{card:Contraptions}
image:"%%IMG2AgABVgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AEUBAQD/AP8BAwD/ABcBAQDnAQMA/wAVAQUAOAECAKsBAwD/ABUBCAAzAQQAqwEDAP8AEwELAC8BBQCRAQgAEwEFAP8AEgEDAAEBCgApAQUAkgEiAP8AEQEDAAUBBwAmAQYAlAEgAP8AEwEDAAYBBAAmAQUAngETAAEBAwD/ABQBBQAsAQUAswEDAP8AFQEHACgBBQC1AQMA/wAVAQgAJQEGALYBAwD/ABUBAwABAQYAIQEGALcBAwD/ABYBAwADAQYAHQEGALoBAQD/ABgBAQAGAQgAFQEIAP8A3gEKAA0BCgD/AOIBHQD/AOgBFQD/APABDQD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wAbAQEA/wD+AQQA/wD8AQQA/wD8AQQA/wD9AQMA/wD+AQMA/wD9AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD9AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD9AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD7AQYA/wD1AQsA/wD1AQsA/wD3AQYA/wD8AQYA/wD9AQYA/wD9AQUA/wD+AQQA/wD/AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wD+AQMA/wBZAQEApAEDAP8AWAEDAKMBAwD/AFgBAwCjAQMA/wBYAQMAowEDAP8AWAEDAKIBAwD/AFgBAwCjAQMA/wBXAQMApAEDAP8AVwEDAKQBAwD/AEEBAQAUAQMApQEDAP8AQAEDABMBAwClAQMA/wA9AQUAEwEDAKYBAwD/ADsBBgATAQMApwEDAP8AOQEHABMBAwCoAQMA/wA4AQoAEQEDAKgBAwD/ADgBDAAJAQgAqQEDAP8AOQEDAAEBFwCqAQMA/wA5AQMABgERAKsBAwD/ADoBAwAHAQkAsQEDAP8AOwEDAMABAwD/ADsBBAC/AQMA/wA8AQIAwAEDAP8A/gEDAP8A/gEDAP8A/gEDAP8A/gEDAP8A/gEDAP8A/gEEAP8A/gEEAP8A/wEGAP8A/AEGAP8A/AEEAP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8ACAEBAP8A/wEDAP8A/wEBAP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8APA=="
{widgets}
dieRoller3:{"type":"contraption","size":[137,23],"pos":[118,101],"def":"dieRoller","widgets":{"result":{"value":"1+4 = 5"},"button":{},"formula":{}}}
clock1:{"type":"contraption","size":[100,25],"pos":[302,82],"font":"menu","def":"clock","widgets":{"canvas1":{"size":[100,25],"font":"menu"},"tz":{"size":[35,0],"pos":[6,19]},"mil":{"size":[31,0],"pos":[54,18]}}}
datePicker1:{"type":"contraption","size":[109,118],"pos":[299,144],"script":"Contraptions.0","def":"datePicker","widgets":{"canv":{},"val":{},"next":{},"prev":{}}}
fancyBorder1:{"type":"contraption","size":[31,45],"pos":[125,166],"show":"transparent","def":"fancyBorder","widgets":{}}
fancyBorder2:{"type":"contraption","size":[87,47],"pos":[163,166],"show":"transparent","def":"fancyBorder","widgets":{}}
fancyBorder3:{"type":"contraption","size":[124,29],"pos":[125,219],"show":"transparent","def":"fancyBorder","widgets":{}}
back:{"type":"button","size":[86,26],"pos":[12,304],"script":"Buttons.0","text":"Back","style":"rect"}
field1:{"type":"field","size":[286,45],"pos":[123,290],"locked":1,"border":0,"style":"plain","align":"center","value":"Contraptions are \"custom widgets\" made out of simpler widgets.\nFrom the inside they act like cards, and from the outside they seem like widgets. They can be reused many times within a deck, and can optionally be resizable."}
field2:{"type":"field","size":[272,42],"pos":[114,24],"locked":1,"font":"deckbuilder","border":0,"align":"center","value":"Contraptions"}
field6:{"type":"field","size":[52,24],"pos":[434,84],"locked":1,"border":0,"style":"plain","value":"a realtime clock"}
field3:{"type":"field","size":[37,24],"pos":[437,193],"locked":1,"border":0,"style":"plain","value":"a date picker"}
field4:{"type":"field","size":[56,34],"pos":[29,185],"locked":1,"border":0,"style":"plain","value":"resizable decorative borders"}
field5:{"type":"field","size":[58,34],"pos":[26,98],"locked":1,"border":0,"style":"plain","value":"a die roller for board games"}

{script:Contraptions.0}
on change x do
 
end
{end}

{card:credits}
image:"%%IMG2AgABVgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AIMB/wHkAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0BAQD/AOIBAQAdAQEA/wDiAQEAHQEBAP8A4gEBAB0B/wHkAP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wAv"
{widgets}
field1:{"type":"field","size":[469,69],"pos":[24,30],"locked":1,"font":"deckbuilder","show":"transparent","border":0,"align":"center","value":{"text":["Decker\n","was designed and implemented\nby John Earnest."],"font":["","menu"],"arg":["",""]}}
field2:{"type":"field","size":[328,48],"pos":[100,110],"locked":1,"font":"mono","border":0,"align":"center","value":"Decker draws significant inspiration from Bill Atkinson's HyperCard, the graphic design work of Susan Kare, and countless others at Apple."}
field3:{"type":"field","size":[315,25],"pos":[102,178],"locked":1,"border":1,"align":"center","value":"Decker would not exist today without constant support, feedback and bug reports from my many collaborators and testers:"}
button1:{"type":"button","size":[60,20],"pos":[21,300],"script":"credits.0","text":"Back"}
countless one on one workshops:{"type":"field","size":[104,19],"pos":[67,216],"locked":1,"show":"transparent","border":0,"style":"plain","align":"center","value":"tangentstorm"}
putting up with endless ramblings:{"type":"field","size":[104,19],"pos":[189,246],"locked":1,"show":"transparent","border":0,"style":"plain","align":"center","value":"faff"}
empress of dithering:{"type":"field","size":[104,19],"pos":[375,220],"locked":1,"show":"transparent","border":0,"style":"plain","align":"center","value":"noyemi"}
helpful early feedback on lil:{"type":"field","size":[104,19],"pos":[183,289],"locked":1,"show":"transparent","border":0,"style":"plain","align":"center","value":"chrispsn"}
best possible hens:{"type":"field","size":[104,19],"pos":[49,266],"locked":1,"show":"transparent","border":0,"style":"plain","align":"center","value":"pippi & galena"}
usability feedback:{"type":"field","size":[104,19],"pos":[329,257],"locked":1,"show":"transparent","border":0,"style":"plain","align":"center","value":"tomr"}
improvements to draw tools:{"type":"field","size":[104,19],"pos":[348,299],"locked":1,"show":"transparent","border":0,"style":"plain","align":"center","value":"darzington"}
lilt qa and design feedback:{"type":"field","size":[104,19],"pos":[230,214],"locked":1,"show":"transparent","border":0,"style":"plain","align":"center","value":"razetime"}
forever in our hearts:{"type":"field","size":[104,19],"pos":[91,299],"locked":1,"show":"transparent","border":0,"style":"plain","align":"center","value":"eggbug"}

{script:credits.0}
on click do
  go["home" "SlideDown"]
end
{end}

{contraption:dieRoller}
size:[137,23]
resizable:1
margin:[90,8,8,9]
description:"roll dice using \"1d6+5\" notation."
script:"dieRoller.0p"
attributes:{"name":["formula"],"label":["Formula"],"type":["string"]}
{widgets}
result:{"type":"field","size":[51,19],"pos":[84,2],"style":"plain"}
button:{"type":"button","size":[79,19],"pos":[2,2],"script":"dieRoller.1p","text":"2d6","style":"rect"}
formula:{"type":"field","size":[33,20],"pos":[-8,-29],"locked":1,"show":"none","style":"plain","value":"2d6"}

{script:dieRoller.0p}
on roll x do
 r:() i:0
 x:"" fuse " " split x
 while i<count x
  if x[i]="+"
   i:i+1
  else
   p:"%[n]id%[die]i%[match]m%[i]n" parse i drop x
   r:r,if p.match 1+random[p.die p.n] else p.n end
   i:i+p.i
  end
 end
 r
end

on view do button.text:formula.text end
on set_formula x do formula.text:x view[] end
on get_formula   do formula.text          end
{end}

{script:dieRoller.1p}
on click do
 v:roll[me.text]
 result.text:if 1=count v
  v
 else
  v:"%s = %s" format ("+" fuse v),(sum v)
 end
end
{end}

{contraption:clock}
size:[100,100]
resizable:1
margin:[8,8,10,10]
description:"a realtime clock, with a configurable UTC offset."
script:"clock.0p"
attributes:{"name":["utcoffset","24hour"],"label":["UTC Offset","24 hour format"],"type":["number","bool"]}
{widgets}
canvas1:{"type":"canvas","size":[100,100],"pos":[0,0],"locked":1,"animated":1,"volatile":1,"script":"clock.1p","scale":1}
tz:{"type":"field","size":[35,18],"pos":[6,75],"locked":1,"show":"none","style":"plain","align":"center","value":"-8"}
mil:{"type":"button","size":[31,19],"pos":[54,73],"show":"none","style":"check","value":0}

{script:clock.0p}
on set_utcoffset x do tz.text:x   end
on get_utcoffset   do 0+tz.text   end
on set_24hour    x do mil.value:x end
on get_24hour      do mil.value   end
{end}

{script:clock.1p}
on view do
 t:"%i:%i:%i" parse last "T" split "%e" format sys.now
 t[0]:if mil.value 24 else 12 end % t[0]+tz.text
 if (t[0]=0)&!mil.value t[0]:12 end
 t:"%02i:%02i:%02i" format t[0],t[1],t[2]
 me.font:card.font
 me.clear[]
 me.text[t me.size/2 "center"]
end
{end}

{contraption:datePicker}
size:[109,118]
margin:[0,0,0,0]
description:"a date picker showing a monthly calendar."
image:"%%IMG2AG0Adg3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8N/w3/Df8NcA=="
script:"datePicker.0p"
template:"on change x do\n \nend"
attributes:{"name":["text"],"label":["Text"],"type":["string"]}
{widgets}
canv:{"type":"canvas","size":[103,95],"pos":[3,3],"locked":1,"script":"datePicker.1p","image":"%%IMG0AGcAXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ACAAIAAAAAAAAAAARAAgACAAAAAAAAAAAEDOczs4ywAAAAAAAAA5KSSkpSwAAAAAAAAABeknpKXoAAAAAAAAAEUJJCSlCAAAAAAAAAA4zhMkuMgAAAAAAAAAAAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwBBAPgEEA+gPABwAAiAYwAgBBACICAAiAAIJFUwIkKjAjghYIGAByRJSCJCpIIkOYBwQACkQUgiQUeCJCEACcAIpEFIIkFEAiQhAIpABxxBMCHBQwIkIQBxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////+AAAAAAAAAAAAIACAAgAAAAAAAAAAACAggcIAAAAAAAAAAAAgYIIiAAAAAAAAAAAAICCAIgAAAAAAAAAAACAggEIAAAAAAAAAAAAgIICCAAAAAAAAAAAAICCBAgAAAAAAAAAAACAgg+IAAAAAAAAAAAAgAIACD////////////////ggAIACAAgAIACAAgAIIPiAQg+IDCD4gcIHCCAQgMIICBAgCIIiCIggIIFCDwggIBCCIgiIIHCCQgCIPCAQgcIHiCAIg+IAiCIgIIIiAIggiIBCCIgiICCCIgEIIHCAQgcIHCAggcIGCCAAgAIACAAgAIACAAg////////////////4IACAAgAIACAAgAIACCIciCIhyI+iBIj6IMgmIphiYimBJgyYgmEIIiKIIiAogiIUiPIiCCIiiCIgSIciJIgKI8giIogiIIiAoj6ICiIoIiKIIiEIiKIEiIoiKCIciCIj6IciBIhyIcggAIACAAgAIACAAgAIP///////////////+CAAgAIACAA//4ACAAgiPohyIcnHOPeccnPoJgKYimIqKLdnooqISCIEiIoiKCi/d4IKCIgiBIhyIehIvveEEhHIIgiIiiAoiL33iCIgKCIIiIogSQi795BCQigiCIhyIYvnMHe++vnIIACAAgAIAD//gAIACD////////////////ggAIACAAgAIACAAgAIJwSc+nDJz6ccnHL5yCiMooKJCiCooqKKEigglILyCgghIKKCiiIoISSEChPIQSEchHpyKCI+iAoiKIIiIogKCigkBJCKQikCJCKQEoooL4S+cvnL4i+cvmJxyCAAgAIACAAgAIACAAg////////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","scale":1}
val:{"type":"field","size":[103,13],"pos":[3,101],"script":"datePicker.2p","style":"plain","value":"2023-09-21"}
next:{"type":"button","size":[19,13],"pos":[84,6],"script":"datePicker.3p","text":">","style":"rect"}
prev:{"type":"button","size":[19,13],"pos":[6,6],"script":"datePicker.4p","text":"<","style":"rect"}

{script:datePicker.0p}
dateform: "%[year]04i-%[month]02i-%[day]02i"

on do_change do
 card.event["change" get_value[]]
end

on get_text    do val.text end
on set_text  x do val.text:x view[] end
on get_value   do dateform parse val.text end
on set_value x do val.text:dateform format x view[] end

cellsize:15,11
day_names:"Su","Mo","Tu","We","Th","Fr","Sa"
month_names:"January","February","March","April","May","June","July","August","September","October","November","December"

# in each of these routines,
# - m is a month index [0-11]
# - y is a year (e.g. 2023)

on is_leap_year y do (!4%y)&(!400%y)|(100%y) end
on days_in_month y m do
 r:(31,28,31,30,31,30,31,31,30,31,30,31)[m]
 r+is_leap_year[y]&m=1
end
on first_day_of_month y m do
 mont:0,3,3,6,1,4,6,2,5,0,3,5
 if is_leap_year[y] mont[0]:6 mont[1]:6 end
 r1:(4,2,0,6,4)[floor(y-1700)/100]
 r2:floor 100%y
 r3:floor r2/4
 r4:mont[m]
 7%r1+r2+r3+r4+1
end

on days p do
 f:first_day_of_month[p.year p.month-1]
 c:days_in_month[p.year p.month-1]
 c take f drop flip (2,32)+(cellsize-1)*flip 7 cross 6
end

on view do
 p:get_value[]
 canv.font:"Mono"
 canv.clear[]
 canv.text[month_names[p.month-1] (0,5)+canv.size*.5,0 "top_center"]
 each day in range 7
  canv.text[day_names[day] (9+day*cellsize[0]-1),22 "top_center"]
 end
 each cell index in days[p]
  canv.box[cell cellsize]
  canv.text[("%2i" format 1+index) 1+cell+cellsize/2 "center"]
  if index=p.day-1 canv.invert[cell+1 cellsize-2] end
 end
end
{end}

{script:datePicker.1p}
on inside p r do
 min(p>r)&(p<r+cellsize)
end

on click pos do
 v:get_value[]
 each day index in days[v]
  if inside[pos day]
   v.day:index+1
   set_value[v]
   do_change[]
  end
 end
end

{end}

{script:datePicker.2p}
on change val do
 set_text[val]
 do_change[]
end
{end}

{script:datePicker.3p}
on click do
 v:get_value[]
 if v.month=12
  v.year:v.year+1
  v.month:1
 else
  v.month:v.month+1
 end
 set_value[v]
 do_change[]
end
{end}

{script:datePicker.4p}
on click do
 v:get_value[]
 if v.month=1
  v.year:v.year-1
  v.month:12
 else
  v.month:v.month-1
 end
 set_value[v]
 do_change[]
end
{end}

{contraption:fancyBorder}
size:[22,24]
resizable:1
margin:[10,11,10,11]
description:"a decorative border"
image:"%%IMG2ABYAGAABAQUACQEGAAEBASAFAQMABgEBIAUBAiABAQMgAQEBIAEBAQAGAQEgAQEDIAEBAiABAQEgAQEBIAEBASABAQEABgEBIAEBASABAQEgAQECIAEBAyABAQ4gAQECIAMBASABAQEgDgEGIAEBEAABAQQgAQEBIAEBASAGAQEgAQEBIAIBAgAEAQEgAQEBIAEBCCABAQQABQEBIAEBASABAQYgAQEBIAEBBAAFAQEgAQEBIAEBAQAEAQEgAQEBIAEBAQAIAQEgAQEBIAEBAQAEAQEgAQEBIAEBAQAIAQEgAQEBIAEBAQAEAQEgAQEBIAEBAQAIAQEgAQEBIAEBAQAEAQEgAQEBIAEBAQAFAQQgAQEBIAEBBiABAQEgAQEBAAUBASACAQEgAQEBIAEBASAEAQEgAQEBIAEBAQAFAQ8gAQEEAAEBASAOAQEgAQEBIAMBAiABAQ4gAQEDIAEBAiABAQEgAQEBIAEBCCABAQEgAQEBIAEBASABAQIgAQEDIAEBAQAGAQEgAQEBIAEBAyABAQIgBQEBAAYBAyAFAQEAAQEGAAYBCAACAQUACQEFAAI="

