{deck}
version:1
card:0
size:[512,342]
name:"wigglyKit.deck"

{card:Index}
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/AE8BFgAaAQwA/wDGARQAGwENAP8AyQEMAB0BBQD/ANQBCgAeAQMA/wDXAQgAHgECAP8A2QEIAB0BAgD/ANoBCAAdAQIA/wDaAQgAHAECAP8A2wEIABsBAgD/ANwBCAAaAQIALwEJAP8ApQEIABoBAgAvAQkA/wClAQgAGQECABgBBAAUAQkA/wClAQgAGAECABgBBgATAQkA/wClAQgAFwECABgBCAASAQkA/wClAQgAFwECABcBCgARAQkA/wClAQgAFgECABgBCgARAQkA/wClAQgAFQECABkBCgARAQkA/wClAQgAFAECABoBCgARAQkA/wClAQgAFAECABoBCgARAQkA/wClAQgAEwECABwBCAASAQkA/wClAQgAEgECAB4BBgATAQkA/wClAQgAEQECACABBAAUAQkA/wClAQgAEAECADkBCQD/AKUBCAAQAQIAOQEJAP8ApQEIAA8BAgA6AQkA/wClAQgADgECADsBCQD/AKUBCAANAQIAPAEJAP8ApQEIAA0BAgA8AQkA/wClAQgADAECAD0BCQD/AKUBCAALAQIAPgEJAP8ApQEIAAsBAQAfAQ8ACQEYAP8AngEIAAoBAgAgAQ4ACgEXAP8AngEIAAkBAgAmAQkAEQEJAP8ApQEIAAgBAgAoAQgAEQEJAP8ApQEIAAgBAgAoAQgAEQEJAP8ApQEIAAcBAgApAQgAEQEJAP8ApQEIAAYBAwApAQgAEQEJAP8ApQEIAAUBBQAoAQgAEQEJAP8ApQEIAAQBBwAnAQgAEQEJAP8ApQEIAAQBBwAnAQgAEQEJAP8ApQEIAAMBCQAmAQgAEQEJAP8ApQEIAAIBCwAlAQgAEQEJAP8ApQEIAAEBDQAkAQgAEQEJAP8ApQELAAEBCwAjAQgAEQEJAP8ApQEKAAMBCgAjAQgAEQEJAP8ApQEJAAQBCwAiAQgAEQEJAP8ApQEIAAYBCwAhAQgAEQEJAP8ApQEIAAcBCwAgAQgAEQEJAP8ApQEIAAgBCgAgAQgAEQEJAP8ApQEIAAgBCwAfAQgAEQEJAP8ApQEIAAkBCwAeAQgAEQEJAP8ApQEIAAoBCwAdAQgAEQEJAP8ApQEIAAsBCwAcAQgAEQEJAP8ApQEIAAwBCgAcAQgAEQEJAP8ApQEIAAwBCwAbAQgAEQEJAP8ApQEIAA0BCwAaAQgAEQEJAP8ApQEIAA4BCwAZAQgAEQEJAP8ApQEIAA8BCwAYAQgAEQEJAP8ApQEIABABCgAYAQgAEQEJAP8ApQEIABABCwAXAQgAEQEJAP8ApQEIABEBCwAWAQgAEQEJAP8ApQEIABIBCwAVAQgAEQEJAP8ApQEIABMBCwAUAQgAEQEJAP8ApQEIABQBCgAUAQgAEQEJAP8ApQEIABQBCwATAQgAEQEJAP8ApQEIABUBCwASAQgAEQEJAP8ApQEIABYBCwARAQgAEQEJAP8ApQEIABcBCwAQAQgAEQEJAP8ApQEIABgBCgAQAQgAEQEJAP8ApQEIABgBCwAPAQgAEQEJAP8ApQEIABkBCwAOAQgAEQEJAP8ApQEIABoBCwANAQgAEQEJAP8ApQEIABsBCwAMAQgAEQEJAP8ApQEIABwBCgAMAQgAEQEJAP8ApQEIABwBCwALAQgAEgEIAP8ApQEIAB0BCwALAQcAEgEIAP8ApQEIAB4BCwAKAQgABgECAAkBCQAFAQIA/wCcAQoAHgELAAoBBwAEAQMACwEIAAQBAgD/AJwBDAAdAQwACgEMAA0BDAD/AJkBFAAaAREABAELAA8BCgD/AJkBFgAaAQ8ACAEFABQBBQD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AWQ=="
script:"Index.0"
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
field2:{"type":"field","size":[248,55],"pos":[14,142],"locked":1,"show":"transparent","border":0,"scroll":2,"value":{"text":["WigglyKit is a collection of Contraptions which aid in the creation of juicy, jiggly drawing programs like ","WigglyPaint",".\n\n","Index:"],"font":["","","","menu"],"arg":["","https://internet-janitor.itch.io/wigglypaint","",""]}}
index:{"type":"field","size":[243,117],"pos":[16,197],"locked":1,"volatile":1,"script":"Index.2","scrollbar":1}
version:{"type":"field","size":[42,14],"pos":[16,318],"locked":1,"border":0,"value":"v1.2"}
wc:{"type":"contraption","size":[186,80],"pos":[88,30],"locked":1,"script":"Index.3","show":"transparent","def":"wigglyCanvas","widgets":{"c":{"size":[186,80],"show":"transparent","border":0},"fr":{"size":[186,20],"value":{"text":["","i","i","i"],"font":["","","",""],"arg":["","%%IMG2ALoAUAD/AP8A/wD/AP8AUwEDAEABAwBzAQUAPgEFAEYBBAAnAQcAOwEIAEQBBgAmAQgAOQEJAEMBCAAlAQkANwELAEIBCAAkAQoANwEMAEEBCQAjAQoANwENAEEBCQAiAQkAOAENAEIBCAAiAQgAOQENAEIBCAAiAQgAOgEMAEIBCAAiAQgAOwELAEMBCAAgAQkAPgEJAEIBCAAgAQgAQAEIAEIBCAAgAQgAQQEIAEEBCAAgAQgAQQEIAEEBCAAgAQcAQgEIAEEBCQAeAQgAQgEIAEEBCQAeAQgAQwEIAEABCgAdAQgAQwEIAB8BAwAfAQkAHQEIAEQBBwAeAQUAHwEIAB0BCAAGAQMAOwEHAB0BBwAeAQcAHgEHAAYBBQA6AQcAHAEJAB0BBwAdAQgABQEHADkBBwANAQMADAEJAB0BCAAcAQgABQEHADkBBwAMAQUACwEJAB0BCAAcAQgABQEHACkBAwANAQgACgEHAAoBCAAfAQcAHAEIAAUBBwAmAQcADAEIAAkBCQAJAQkAHgEIABsBCAAGAQUAJgEJAAwBCAAIAQoACAEJAB4BCAAaAQkABwEDABABCQANAQ0ACQEIAAgBCgAIAQkAHgEIAAsBAwALAQoAGAEMAAsBDwAJAQgACAEJAAgBCgAdAQkACQEFAAoBCQAYAQ4ACQERAAgBCAAJAQkABwELAB0BCQAHAQcACQEIABgBDwAIARIACAEIAAkBCgAGAQsAHQEJAAcBCAAIAQgAFwEQAAcBEwAIAQgACQEKAAYBDAAcAQkABgEKAAcBCAAWAREABwEUAAcBCAAKAQkABgENABsBCAAGAQsABgEIAAgBBAALARIABQEKAAIBCQAIAQgACQEJAAYBDQAbAQgABgELAAYBCAAHAQYACQETAAUBCgACAQkACAEIAAkBCQAGAQ0AGwEIAAYBDAAFAQcABwEIAAgBEwAFAQkABAEIAAcBCQAJAQkABgENABsBCQAEAQ4AAwEIAAYBCQAIARQABAEIAAUBCAAHAQoACAEKAAQBDgAbAQkABAEPAAIBCAAGAQkABwEVAAQBCAADAQoABwEKAAkBCQADARAAGgEKAAIBEAACAQgABgEIAAgBCQABAQsABAEVAAgBCQAKAQgAAwEQABsBCgABARAAAgEHAAcBCQAHAQkAAQELAAQBFQAJAQoACAEIAAMBEQAbAQkAAQEHAAEBCQABAQcACAEJAAYBFQAEARUACQENAAUBCQABAQkAAQEIABwBCAABAQgAAQEIAAEBBwAIAQkABwEUAAUBFAAJAQ4ABAESAAMBCAAbAQgAAQEIAAIBDwAJAQgABwEUAAYBFAAJAQ4AAwESAAMBCAAbAREAAgEPAAkBCAAHARUABgEUAAgBDgAEAREABAEIABoBEQACAQ8ACQEIAAcBFQAHARQABwEOAAUBEAAEAQgAGgEQAAMBDgAKAQgACAEUAAgBBwADAQkABwENAAcBDwAEAQgAGgEQAAQBDQAKAQcACgELAAEBBwALAQMABQEIAAcBDAAIAQ4ABQEJABoBDgAFAQ0ACQEIAAsBCAADAQgAEgEIAAgBBgAOAQwABgEJABsBDQAFAQ0ACQEJABUBCQASAQcACQEDABEBBwAKAQkAGwEMAAcBDAAJAQkAFgEIABIBCAAuAQkAGgELAAkBCwAKAQgAFwEHABIBCAAvAQgAGwEJAAoBCwALAQYAGAEHABIBCAAvAQgAHAEIAAoBCwAMAQQAGQEIABEBCAAvAQgAHAEIAAsBCQAqAQgAEQEHADABBwAdAQcADQEHACwBCAAQAQgALwEHAB4BBQAPAQQALgEIABABCAAfAQQACQEKAB8BAwBCAQgAEAEIABoBHABkAQgACwEDAAIBCAAZAR0AZAEIAAoBBQABAQkAFwEfAFQBAwAMAQgACQEQABcBHwBTAQcACQEIAAgBEQAXAR8AUgEKAAcBCAAIAREAFwEeAFMBCwAGAQgACAERABgBHABUAQ8AAQEJAAgBEQAZAQ0ACQEDAFcBGAAJAQ8AigEYAAoBDQCMARcACwEKAI8BFgANAQMAAQEDAJMBEgCrAQ4ArwEJALIBBwD/ABQ=","%%IMG2ALoAUAD/AP8A/wD/AP8AVAEDALYBBQA9AQQASAEDACgBBwA7AQYARgEFACcBBwA6AQgARAEHACYBBwA5AQoAQwEIACQBCAA4AQwAQgEIACMBCQA3AQ0AQgEIACMBCQA3AQ0AQgEIACMBCQA3AQ0AQgEIACMBCQA4AQ0AQQEIACMBCQA5AQwAQQEIACMBCAA+AQgAQgEIACIBBwBAAQcAQgEIACIBBwBAAQgAQQEIACIBBwBAAQgAQQEJACABCABBAQgAQQEIACABCABBAQgAQgEHAB8BCABDAQgAQQEHAB8BCABDAQgAHwEDAB8BCAAeAQgARAEIAB0BBQAeAQgAHgEIAAUBAwA8AQgAHAEHAB0BCQAcAQkABAEFADsBCAAcAQgAHAEJABwBCAAEAQcAOgEIAAwBBAALAQkAHQEJABoBCQAEAQgAOQEHAAwBBgAKAQkAHQEJABoBCAAFAQgAOQEHAAsBCAAJAQgAHgEJABoBCAAGAQcAJwEFAA0BCAAKAQgACQEJAB0BCQAaAQgABwEFACcBBwAMAQkACQEIAAkBCQAdAQgAGwEIAAgBAwARAQgADAELAAsBCQAJAQkACAEJAB0BCAAaAQkAGQEMAAoBEAAHAQkACgEIAAgBCgAcAQkACgEGAAkBCAAZAQ4ACAESAAcBCQAKAQgABwEKABwBCgAIAQgABwEJABgBDwAHARQABwEIAAoBCQAGAQsAHAEJAAcBCgAGAQkAGAEPAAcBFAAHAQgACgEJAAYBCwAcAQoABgEKAAYBCQAHAQMADQEPAAgBFAAHAQgACgEJAAYBDAAcAQkABgEKAAYBCQAGAQUACwERAAYBFQAIAQgACQEJAAYBDAAcAQkABgEKAAYBCAAGAQcACQETAAUBCQADAQkACAEIAAkBCgAFAQ0AGwEJAAUBDAAFAQcABwEHAAgBFAAFAQkABAEIAAgBCQAJAQkABQENABwBCAAEAQ4ABAEHAAcBBwAIAQkAAQEKAAUBCQAEAQgACAEJAAoBCAAEAQ8AGwEIAAQBDgADAQgABwEIAAcBCAACAQoABQEKAAIBCQAIAQkACgEHAAQBEAAcAQgAAgEQAAIBCAAHAQgABwEJAAEBCwAEARUACQEIAAoBCAACAREAHAEIAAIBEAACAQgABwEIAAgBCAABAQsABAEVAAkBCgAIAQgAAgESABsBEQACAQgAAQEIAAcBCAAHARUABQEUAAkBCwAHARMAAQEJABoBEQACAQgAAQEIAAcBCAAHARYABAEUAAkBDAAGARIAAwEIABoBEQADARAABwEIAAcBFgAFARQACAENAAYBEQAEAQgAGgEQAAMBDwAJAQgABwEWAAUBFAAHAQ0ABwEQAAQBCAAaAQ8ABQEOAAkBCAAHARYABgETAAgBDAAHARAABAEIABoBDwAFAQ4ACQEIAAgBDQABAQgABgESAAgBCwAJAQ4ABQEIABoBDwAFAQ0ACgEIAAkBCwACAQgACAEFAAMBCQAHAQoACwEMAAYBCAAbAQ4ABQENAAoBBwALAQgABAEIABEBCAAIAQYAEAEJAAgBBwAcAQwABwEMAAoBCAAWAQgAEgEIAAgBBAASAQYACgEIABsBDAAHAQwACQEJABYBBwATAQgAIAEDAAsBCQAaAQsACAEMAAkBCQAWAQgAEgEIAC4BCQAaAQsACQEKAAoBCQAWAQgAEgEIAC8BCAAbAQoACgEJAAsBBwAXAQkAEQEHADABCAAcAQgADAEHAA0BBQAYAQkAEQEHADABCAAeAQUADQEHACsBCAARAQgALwEIAB8BAwAPAQUALQEIABABCAAbAQMABAEDAAIBBQACAQkAMgEDAC4BCAAQAQgAGgEdAGIBCQAQAQgAGQEeAGIBCQAJAQUAAgEJABgBHgBiAQgACQERABcBHwBVAQQACQEJAAcBEgAWASAAVAEGAAEBAwAFAQgABwESABYBHwBUAQwABQEIAAYBEgAWAR4AVQENAAIBCgAHAREAFwELAAEBBgADAQYAVwEZAAgBDwAZAQcABQEDAGMBFwAKAQ0AjAEXAAsBCwCOARYADAEHAJIBFQCqAQ8ArgELALABBAD/ABc=","%%IMG2ALoAUAD/AP8A/wD/AJgBAwC2AQUAtAEHADwBBQBIAQMAJwEIADoBBwBGAQUAJgEIADkBCQBEAQcAJAEJADkBCgBCAQgAJAEJADkBCwBBAQkAIwEJADgBDQBAAQkAIwEJADgBDQBAAQoAIwEIADgBDQBBAQkAIwEIADkBDABCAQgAIwEHADsBCwBCAQgAIwEHAD4BCABCAQgAIgEIAD4BCQBBAQkAIQEIAD8BCABBAQkAIQEIAEABBwBBAQkAIAEIAEEBCABBAQgAHwEJAEEBCABCAQcAHwEIAEMBBwBCAQcAHwEIAEMBBwAfAQQAHwEIAB4BCQBCAQgAHQEGAB4BCAAeAQkAQgEIABwBCAAeAQcAHgEJAAUBAwA7AQcAHAEIAB4BBwAeAQgABQEFADoBBwANAQMADAEIAB4BCAAcAQkABAEHADkBCAALAQUACwEIAB4BCQAbAQgABAEIADkBCAAKAQcACgEJAB0BCQAbAQgABAEIACcBBwAMAQgACQEIAAkBCQAdAQkAGwEIAAQBBwAQAQgADwEJAAsBCAAJAQgACQEJAB0BCAAcAQgABQEFAA8BCwANAQsACgEJAAgBCQAIAQkAHQEJAAsBAwAMAQkABgEDAA8BDQAKAQ4ACgEIAAgBCQAIAQoAHAEKAAkBBQALAQgAFwEPAAkBEAAJAQgACQEJAAcBCgAcAQsABwEIAAkBCAAWARAACAESAAgBCAAKAQgABwELABwBCgAHAQkABwEJABUBEQAHARMACAEJAAkBCAAHAQwAHAEJAAcBCgAGAQgAFgESAAUBFQAHAQkACQEIAAYBDQAdAQgABgELAAYBCAAGAQQACwETAAUBCwACAQgACAEIAAkBCAAGAQ4AGwEJAAUBDAAGAQgABQEGAAoBEwAFAQoAAwEIAAgBCAAJAQkABQEOABsBCQAFAQ0ABQEIAAQBCAAJARMABQEIAAQBCQAIAQgACQEJAAUBDwAaAQkABAEOAAQBCAAFAQgACQEJAAEBCQAFAQgABAEJAAgBCAAKAQkABAEPABsBCAADARAAAwEIAAUBCAAIAQkAAgEKAAQBCQADAQoABwEIAAsBCAAEARAAGgEIAAIBEQACAQgABgEJAAcBCAADAQoABQEVAAcBCQALAQcAAwERABoBCQABAREAAQEJAAYBCQAHAQgAAgEMAAQBFQAHAQwACAEIAAEBEgAaARMAAQERAAYBCQAHAQgAAQENAAQBFQAIAQ0ABgEbABoBEgACARAACAEIAAcBFgAEARUACQENAAUBEgABAQgAGwEJAAEBCAACAQ8ACQEIAAYBFgAEARUACQEOAAQBEQADAQgAGwEIAAEBCAACAQ8ACQEIAAYBFgAFARUACAEOAAUBDwAEAQkAGgERAAIBDwAJAQgABgEWAAYBFQAHAQ4ABQEPAAQBCgAZARAAAwEOAAoBCAAHARUACAETAAcBDQAGAQ8ABQEJABkBEAADAQ4ACgEIAAgBFAAJAQMABwEIAAgBCwAIAQ4ABQEJABkBDwAFAQ0ACgEIAAkBCAAEAQgAEgEIAAkBBQAOAQwABgEIABsBDgAGAQwACgEIAAoBBgAFAQkAEgEIAB4BCAAIAQgAGwEMAAgBCwAJAQkAFQEJABIBCAAfAQMADAEIABwBCgAJAQoACgEJABYBCQARAQgALgEIABwBCQALAQkACgEIABgBCAARAQgALgEIAB0BCAALAQgADAEGABkBCAARAQgALgEJABwBCAALAQgADQEEABoBCAARAQgALgEJAB0BBgAMAQcALAEIABEBCAAuAQkAHgEEAA4BBQAuAQcAEQEIACgBDwAxAQMALwEHABEBCAAaAQsAAQEQAGQBBwAKAQMABAEJABgBHQBkAQcACQEFAAMBCQAXAR4AVQEDAAwBBwAIARIAFwEeAFQBBwAJAQcACAESABcBHgBTAQkACAEIAAcBEgAXAR0AVAEOAAMBCAAHARIAGAEbAFUBEAABAQgACAERABkBDgAEAQcAVwEYAAgBEAAeAQMAaQEYAAkBDgCLARgACgELAI4BFwAOAQMAkwEVAKkBEACvAQkAsgEGAP8AFQ=="]}},"sfx":{"size":[186,31]},"tb":{"size":[112,20],"pos":[0,128]},"cbo":{"size":[100,16],"pos":[240,0],"value":0},"cp":{"size":[100,16],"pos":[240,26]},"cbr":{"size":[100,16],"pos":[240,50]}}}

{script:Index.0}
on view do
 bullet:image["%%IMG0AAYADQAAAAB49Pz8/HgAAAA="]
 i:select c:key t:value..widgets.title.text where value..widgets.title from deck.cards
 index.value:raze each row in rows i
  rtext.make["" "" bullet],
  rtext.make["  "],
  rtext.make[("%s\n" format row.t) "mono" row.c]
 end
end
{end}

{script:Index.1}
on click do
 t.Prev:"SlideRight"
 t.Next:"SlideLeft"
 t.Index:"BoxOut"
 go[me.text t[me.text] 15]
end
{end}

{script:Index.2}
on link val do
 go[val "BoxIn" 15]
end
{end}

{script:Index.3}
on stroke_start do
 
end

on stroke_end do
 
end
{end}

{card:wigglypalette}
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"wigglyPalette"}
button3:{"type":"button","size":[60,20],"pos":[78,312],"script":"Index.1","text":"Index","style":"rect"}
field1:{"type":"field","size":[248,254],"pos":[254,48],"locked":1,"border":0,"value":{"text":["The wigglyPalette is a simple contraption for choosing a 5-color palette for Decker (and various wiggly contraptions) from a database of stylish options sourced from ","lospec",".\n\nChoose a palette from the list, and this contraption will modify Decker's pattern indices 32, 47, 36, 39, and 33: white, black, magenta, cyan, and yellow in the default palette, respectively.\n\nThis contraption respects the built-in .font and .show attributes.\n\nThis contraption fires a change[] event with no arguments when the user makes a selection."],"font":["","",""],"arg":["","https://lospec.com/palette-list",""]}}
wp:{"type":"contraption","size":[157,164],"pos":[54,75],"def":"wigglyPalette","widgets":{"p":{"size":[157,164],"col":0}}}

{card:wigglycanvas}
script:"wigglycanvas.0"
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
brush:{"type":"contraption","size":[60,20],"pos":[28,248],"script":"wigglycanvas.1","def":"imageEnum","widgets":{"s":{"size":[60,20],"interval":[0,23],"value":1},"c":{"size":[30,16],"image":"%%IMG2AB4AEADCAQEAHAEDABwBAQDh"},"o":{"size":[44,27],"pos":[89,-20],"value":{"text":["i","i","i","i","i","i","i","i","i","i","i","i","i","i","i","i","i","i","i","i","i","i","i","i"],"font":["","","","","","","","","","","","","","","","","","","","","","","",""],"arg":["%%IMG2AAsACwA8AQEAPA==","%%IMG2AAsACwAxAQEACQEDAAkBAQAx","%%IMG0AAsACwAAAAAAAAAABgAPAA8ABgAAAAAAAAA=","%%IMG0AAsACwAAAAAAAA4AHwAfAB8ADgAAAAAAAAA=","%%IMG0AAsACwAAAAAOAB8AP4A/gD+AHwAOAAAAAAA=","%%IMG0AAsACwAAAAAEAAAAEEACACAABEAAAAiAAAA=","%%IMG2AAsACwA8AQIACQECADA=","%%IMG2AAsACwAwAQMACAEDAAgBAwAw","%%IMG0AAsACwAAAAAAAAAADwAPAA8ADwAAAAAAAAA=","%%IMG0AAsACwAAAAAAAB8AHwAfAB8AHwAAAAAAAAA=","%%IMG0AAsACwAAAAA/gD+AP4A/gD+AP4A/gAAAAAA=","%%IMG0AAsACwAAAAAIAAKAIAAJAABAEgAAgBRAAAA=","%%IMG2AAsACwAxAQEACgEBAAoBAQAx","%%IMG0AAsACwAAAAAEAAQABAAEAAQABAAEAAAAAAA=","%%IMG0AAsACwAAAAAEAAAABAAAAAQAAAAEAAAAAAA=","%%IMG2AAsACwAyAQEACQEBAAkBAQAy","%%IMG0AAsACwAAAAAAgAEAAgAEAAgAEAAgAAAAAAA=","%%IMG0AAsACwAAAAAAgAAAAgAAAAgAAAAgAAAAAAA=","%%IMG2AAsACwA7AQMAOw==","%%IMG2AAsACwA5AQcAOQ==","%%IMG0AAsACwAAAAAAAAAAAAAqgAAAAAAAAAAAAAA=","%%IMG2AAsACwAwAQEACwEBAAsBAQAw","%%IMG0AAsACwAAAAAgABAACAAEAAIAAQAAgAAAAAA=","%%IMG0AAsACwAAAAAgAAAACAAAAAIAAAAAgAAAAAA="]}}}}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"wigglyCanvas: Overview"}
button3:{"type":"button","size":[60,20],"pos":[78,312],"script":"Index.1","text":"Index","style":"rect"}
field1:{"type":"field","size":[248,254],"pos":[254,48],"locked":1,"border":0,"value":"the wigglyCanvas is a simple manual drawing surface that maintains three internal buffers and introduces varied jitter to each one while the user draws, producing an aesthetically useful \"animation boil\" effect. It also automatically provides sound effects during drawing.\n\nThis contraption respects the built-in .show and .locked attributes, where .locked disables drawing.\n\nThis contraption exposes a .clear[] function for resetting the contents of the image buffers.\n\nThis contraption exposes an .animate[] function for manually updating its display, for inter-operation with \"blocking\" scripts.\n\nThis contraption exposes .border, .brush, and .pattern attributes which correspond to the equivalent attributes of an ordinary Canvas widget."}
wc:{"type":"contraption","size":[200,154],"pos":[28,87],"def":"wigglyCanvas","widgets":{"c":{"size":[200,154]},"fr":{"size":[200,20],"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI","%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI","%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI"]}},"sfx":{"size":[200,31]},"tb":{"size":[120,20],"pos":[0,202]},"cbo":{"size":[100,31],"pos":[254,0]},"cp":{"size":[100,31],"pos":[254,49]},"cbr":{"size":[100,31],"pos":[254,97],"value":"1"}}}
field3:{"type":"field","size":[125,14],"pos":[63,71],"locked":1,"border":0,"align":"center","value":"(click and drag to draw)"}
clear:{"type":"button","size":[60,20],"pos":[168,248],"script":"wigglycanvas.2","text":"Clear"}
field2:{"type":"field","size":[60,14],"pos":[28,270],"locked":1,"border":0,"align":"center","value":"(brush)"}

{script:wigglycanvas.0}
on view do
 brush.valueIndex:wc.brush
end
{end}

{script:wigglycanvas.1}
on change img index do
 wc.brush:index
end
{end}

{script:wigglycanvas.2}
on click do
 wc.clear[]
end
{end}

{card:wigglycanvasevents}
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/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wAbDagA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNAQCmDQEA/wBZDQEApg0BAP8AWQ0BAKYNAQD/AFkNqAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AIQ="
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"wigglyCanvas: Events"}
button3:{"type":"button","size":[60,20],"pos":[78,312],"script":"Index.1","text":"Index","style":"rect"}
field1:{"type":"field","size":[248,254],"pos":[254,48],"locked":1,"border":0,"value":"The wigglyCanvas emits events when a user begins and ends a stroke:\n\n- stroke_start[]\n- stroke_end[]\n"}
wc:{"type":"contraption","size":[200,154],"pos":[28,48],"script":"wigglycanvasevents.0","def":"wigglyCanvas","widgets":{"c":{"size":[200,154]},"fr":{"size":[200,20],"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI","%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI","%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI"]}},"sfx":{"size":[200,31]},"tb":{"size":[120,20],"pos":[0,202]},"cbo":{"size":[100,31],"pos":[254,0]},"cp":{"size":[100,31],"pos":[254,49]},"cbr":{"size":[100,31],"pos":[254,97]}}}
clear:{"type":"button","size":[60,20],"pos":[168,209],"script":"wigglycanvasevents.1","text":"Clear"}
starts:{"type":"field","size":[58,20],"pos":[68,266],"value":"0"}
field3:{"type":"field","size":[58,14],"pos":[68,250],"locked":1,"border":0,"align":"center","value":"starts"}
ends:{"type":"field","size":[58,20],"pos":[134,266],"value":"0"}
field4:{"type":"field","size":[58,14],"pos":[134,250],"locked":1,"border":0,"align":"center","value":"ends"}

{script:wigglycanvasevents.0}
on stroke_start do
 starts.text:starts.text+1
end

on stroke_end do
 ends.text:ends.text+1
end
{end}

{script:wigglycanvasevents.1}
on click do
 wc.clear[]
 starts.text:0
 ends  .text:0
end
{end}

{card:templates}
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/wBVAQEA/wD/AQMA/wD+AQMA/wD+AQMA/wDCAQkAMwEDAP8AwAEMADIBAwD/AL8BDAAzAQMA/wC+AQQAEwEBACgBAwD/AL0BAwAUAQMAJwEDAP8AvQEDABQBAwAnAQMA/wC9AQMAFAEDABIBAQAKAQEACQEDABEBCAD/AKQBAwAUAQMAEQEDAAgBAwAIAQMAEAEKAP8AogEDABUBAwAEAQUACAEDAAgBAwAIAQMAEQEJAP8AoQEEABUBAwADAQcABwEDAAgBAwAIAQMAGAEDAP8AoAEIABEBAwACAQcACAEDAAgBAwAIAQMAGAEDAP8AoQEJABABBgANAQMACAEDAAgBDQANAQMA/wClAQcADwEFAA4BAwAIAQMACAEOAAwBAwD/AKkBBwALAQYADQEDAAgBAwAIAQ4ACQEFAP8ArAEGAAoBAwABAQQACwEDAAgBAwAIAQMACQEDAAcBBQD/AK4BBwAIAQMAAgEFAAkBAwAHAQMACQEDAAoBAwAGAQQA/wCzAQQABwEDAAMBBQAJAQMABQEDAAoBAwAKAQMABgEDAP8AtQEDAAcBAwAFAQQACAELAAoBAwAKAQMABwEDAP8AtAEDAAcBAwAGAQIACgEJAAsBAwAKAQMACAEBAP8AtAEDAAgBAwAUAQUADQEDAAsBAwD/ALEBAgAFAQYACgEBACcBAwALAQMA/wCwAQ0AMwEEAAoBAwD/ALEBCwA0AQsAAgEDAAoBAwD/AKcBBQA5AQ8ACQEFAP8A5wEMAAoBBAD/AO4BBAALAQQA/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/AP4BBQD/AMEBDQAtAQcA/wC8AQEAAgETABcBBwAIAQoAAwEFAP8AsgEYABUBCwAEAQQABAEDAAIBCAD/ALABAwABAQEADQEGABQBDQADAQQABQEBAAMBCQD/AK8BAwASAQMAFAEDAAYBBQACAQQACQEDAAMBBAD/AK4BAwASAQMAFAEDAAgBAwACAQMACQEDAAYBAwD/AK0BAwARAQMAFQEDAAcBBAACAQMACAEEAAcBAwD/AKwBAwARAQMAFQEDAAQBBgADAQMACAEDAAgBAwD/AKwBAwARAQMAFQEMAAQBAwAIAQMABwEDAP8ArQEDABEBAwAVAQoABgEDAAgBBgADAQMA/wCuAQMAEQEDABUBCAAJAQEACgELAP8ArgEDABEBAwAVAQMAGgEJAP8ArwEDABEBAwAVAQMAHQEFAP8AsAEDABEBAwAVAQMA/wDSAQMAEQEDABUBAwD/ANIBAwARAQMAFQEDAP8A0gEDABEBAwAVAQMA/wDSAQMAEQEDABUBAwD/ANIBAwARAQMAFgEDAP8A0QEDABABAwAXAQMA/wDRAQMACgEJABgBAQD/ANIBAwADARAA/wDrARYA/wDrAQ0ABgECAP8A7QEFAP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wAXAQgAOQECAP8AvQENADQBBAD/AL0BDwAyAQMA/wC8AQEABwEMAC4BAwD/ALsBAwALAQgAEAEFABgBAwAHAQEA/wCzAQMADgEEABABBwAXAQMABgEDAP8AsgEDAA8BAwARAQcAFgEDAAYBAwD/ALIBAwAPAQMAFgEDABUBAwAHAQEA/wCzAQMADwEDABYBBAAEAQEADwEDAP8AuwEDAA8BAwAXAQMAAwEDAAsBCQAFAQEA/wCyAQMADwEDABcBAwADAQkABAELAAMBAwD/ALEBAwAPAQMAFwEDAAMBCgAEAQkABAEDAP8AsQEDAA8BAwASAQgAAwELAAYBAwAHAQMA/wCxAQMADwEDABEBCQADAQMABQEDAAYBAwAHAQMA/wCxAQMADwEDABABCgADAQMABQEDAAYBAwAHAQMA/wCxAQMADwEDAA8BBAADAQQAAwEDAAUBAwAGAQMABwEDAP8AsQEDAA8BAwAPAQMABQEDAAMBAwAFAQMABgEDAAcBBAD/ALABAwAPAQMADwEDAAUBAwADAQMABQEDAAYBBQAGAQMA/wCwAQMADwEDAA8BAwAEAQQAAwEDAAUBAwAHAQUABgEBAP8AsQEDAA8BAwAPAQsABAEBAAYBAwAIAQMA/wC5AQMADwEDABABCQANAQEA/wDEARYAEQEFAP8A1QEWAP8A7AEUAP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wCy"
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"wigglyCanvas: Templates"}
button3:{"type":"button","size":[60,20],"pos":[78,312],"script":"Index.1","text":"Index","style":"rect"}
field1:{"type":"field","size":[248,254],"pos":[254,48],"locked":1,"border":0,"value":"The wigglyCanvas can also be configured to operate in \"template background\" mode, in which the lines the user draws are composited underneath a copy of the card background image behind the contraption; this could be useful for creating coloring books or allowing a user to scribble entries into a form."}
wc:{"type":"contraption","size":[200,154],"pos":[28,91],"script":"wigglycanvasevents.0","show":"transparent","def":"wigglyCanvas","widgets":{"c":{"size":[200,154],"show":"transparent"},"fr":{"size":[200,20],"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI","%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI","%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI"]}},"sfx":{"size":[200,31]},"tb":{"size":[120,20],"pos":[0,202],"value":1},"cbo":{"size":[100,31],"pos":[254,0]},"cp":{"size":[100,31],"pos":[254,49],"value":"35"},"cbr":{"size":[100,31],"pos":[254,97]}}}
clear:{"type":"button","size":[60,20],"pos":[168,252],"script":"wigglycanvasevents.1","text":"Clear"}

{card:animationvalues}
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"Animation Values"}
button3:{"type":"button","size":[60,20],"pos":[78,312],"script":"Index.1","text":"Index","style":"rect"}
field1:{"type":"field","size":[248,255],"pos":[254,48],"locked":1,"border":0,"value":"the wigglyCanvas represents animation data in the form of a dictionary, which can be read or written via the .value attribute. The dictionary contains the following attributes:\n\n- frames: a list of Image interfaces, usually 3.\n- order: a list of frame indices, usually (0,1,2).\n\nSeveral other contraptions in WigglyKit use a compatible format.\n\n\n\n\n\n\n\nWe can use the .value attribute to copy data between wigglyCanvases, as seen on the left."}
wc1:{"type":"contraption","size":[106,85],"pos":[15,58],"def":"wigglyCanvas","widgets":{"c":{"size":[106,85]},"fr":{"size":[106,20],"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AGoAVQD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AHoBCABbARQAVQEbAE8BHABNAQoAAQESAEwBCAAOAQkASgEGABIBAgABAQgARgEGABYBCQBEAQUAGQEIAEQBBQAbAQcAQwEFAAsBAgAPAQYAQwEEAAoBBgANAQUAQwEFAAkBCAAMAQUAQwEFAAkBCAALAQYAQwEFAAkBCAAKAQcAQgEGAAoBBgALAQYAQwEFAAsBBQALAQYARAEFAAsBBgAHAQkARAEFAAoBCQAEAQoARAEEAAsBFwBEAQQADAESAAEBAgBFAQQADgEPAEkBBQASAQoASQEFABMBCABLAQUAZQEFAGUBBQBlAQUAZQEGAGUBCABiAQoAYQELAGEBCgACAQYAWAETAFgBAwACAQ0AXQEOAF0BDQBnAQIA/wD/AP8A/wD/AP8AcA==","%%IMG2AGoAVQD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AA8BBQABAQMAYAELAF0BFQBTARgAUAEbAEwBCwAGARAASAELAAkBDwBHAQcAFQEHAEcBBgAWAQgARQEFABkBCABEAQUAGwEHAEMBBQAMAQIADQEHAEIBBQAMAQQADQEGAEIBBAAMAQcACgEGAEMBBAALAQkACQEFAEQBBQAKAQkACQEFAEQBBQAKAQQAAQEDAAkBBQBFAQUACgEEAAwBBwBEAQQACgEIAAcBCQBEAQUACQEYAEQBBQAKARYARAEFAAwBEQBIAQUADgEOAEkBBQASAQgATAEEABMBAgACAQIATQEFAGQBBgBkAQUAZgEEAGYBBgBkAQcAZAELAGEBDABeAQ4AAQECAFoBEgBbARAAXwEMAGIBCQBiAQIAAgEEAGcBAgD/AP8A/wD/AP8A/wAF","%%IMG2AGoAVQD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/ABEBAgABAQIAYQEKAF0BEAABAQIAAgECAFIBGQBRARoATQEKAAEBEwBLAQoABwECAAEBDQBJAQYAEgECAAEBBwBHAQYAFwEHAEYBBAAbAQYARAEFABwBBQBEAQUACwECAA8BBQBDAQUACwEHAAsBBQBCAQUACwEJAAoBBABDAQUACgEKAAkBBQBDAQUACgEJAAoBBQBEAQQACgEHAAoBBwBEAQQACgEGAAoBCABEAQUACgEFAAkBCQBEAQUACgEHAAEBAwABAQoARAEFAAsBFQBFAQUADAERAEgBBAAPAQ4ASAEGAA8BCwBKAQcAEwECAE8BBgBlAQUAZQEEAGUBBQBlAQYAZQEJAGIBCgBgAQ4AXQEPAF4BEwBcAQ8AXQENAGABCQBnAQIA/wD/AP8A/wD/AP8AcA=="]}},"sfx":{"size":[106,31]},"tb":{"size":[64,20],"pos":[0,133]},"cbo":{"size":[100,17],"pos":[160,0]},"cp":{"size":[100,17],"pos":[160,27]},"cbr":{"size":[100,17],"pos":[160,54]}}}
clear:{"type":"button","size":[60,20],"pos":[38,151],"script":"animationvalues.0","text":"Clear"}
wc2:{"type":"contraption","size":[106,85],"pos":[136,58],"def":"wigglyCanvas","widgets":{"c":{"size":[106,85]},"fr":{"size":[106,20],"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AGoAVQD/AP8A/wD/AP8A/wD/AP8A/wABAQIAYwEIAGABCgBYAQUAAQEMAE8BGwBMARcAAgEFAEEBAgAIARcAAwEFAEABBAAHARYABAEFAEABBQAHAQcAAwECAAUBAwAFAQUAQQEEACABBQBBAQUAIAEFAEABBQAgAQYAPwEEACIBBQA/AQUAIQEFAEABBAAiAQQAPwEFACIBBAA/AQUAIgEEAD8BBQAiAQQAQAEEACIBBABAAQUAIQEFAD8BBQAhAQUAPwEFACIBBABAAQQAIgEEAD8BBQAiAQUAPgEFACIBBQA+AQUAIgEFAD4BBQAiAQUAPgEFACMBBQA+AQQAIwEFAD4BBQAVAQMABAELAD4BBQARARYAPgEFAA4BGQA+AQUABwEgAD0BBgAEAR0AAQEEAD4BBQABARgAAQEDAEkBFAAEAQMAUAEPAFsBCQBhAQcAZAEDAP8A/wD/AP8A/wD/AP8A/wD/AP8APQ==","%%IMG2AGoAVQD/AP8A/wD/AP8A/wD/AP8A/wBmAQcAXwEMAFIBAgADARMAUAEFAAEBFABOARUAAgEFAE0BFAAFAQQAQQEDAAgBFAAGAQQAQAEFAAcBBgACAQMADwEFAD8BBQAIAQQAFAEGAEABBQAfAQUAQQEFACABBQBAAQQAIQEGAD8BBQAhAQUAQAEEACIBBAA/AQUAIgEEAD8BBQAiAQQAPwEFACIBBABAAQQAIgEEAEABBAAiAQQAQAEEACIBBAA/AQUAIgEEAD8BBAAjAQUAPgEFACMBBQA+AQUAIgEGAD4BBAAjAQUAPgEFACIBBQA+AQUAIgEFAD4BBQAiAQUAPgEFABQBAgAEAQ0APgEFAA0BAwADARQAPQEFAAwBBgABARUAPQEFAAoBHgA9AQUACAEZAAIBBAA+AQcAAgELAAEBCQBMARIABAEDAFIBDwBcAQwAXgEIAGMBAgD/AP8A/wD/AP8A/wD/AP8A/wD/AD4=","%%IMG2AGoAVQD/AP8A/wD/AP8A/wD/AP8A/wBpAQQAYQEKAFEBAgADAQYAAgEMAE0BHQBMAR4ATAEWAAMBBgBBAQMABwEWAAMBBgBAAQUABwEFAAYBAwABAQIAAQECAAQBBgBAAQUACQECABUBBABBAQUAIAEFAEABBQAgAQYAPgEFACEBBgA+AQQAIgEFAD8BBAAjAQUAPgEFACIBBgA+AQQAIwEFAD4BBAAkAQQAPgEEACMBBQA+AQUAIgEEAD8BBQAhAQUAQAEEACEBBQBAAQQAIgEEAEABBAAiAQUAPwEEACMBBAA/AQUAIgEFAD4BBQAiAQUAPgEFACIBBQA/AQQAIgEFAD8BBAAWAQYAAgEJAD4BBQAOAQMABAETAD0BBQAMARwAPQEFAAoBHgA9AQUACAEZAAIBBAA+AQgAAgEKAAEBBwACAQYABQECAD8BEgBYARAAWwEOAF0BCQBiAQIA/wD/AP8A/wD/AP8A/wD/AP8A/wA+"]}},"sfx":{"size":[106,31]},"tb":{"size":[64,20],"pos":[0,133]},"cbo":{"size":[100,17],"pos":[160,0]},"cp":{"size":[100,17],"pos":[160,27]},"cbr":{"size":[100,17],"pos":[160,54]}}}
button4:{"type":"button","size":[60,20],"pos":[159,151],"script":"animationvalues.1","text":"Clear"}
field3:{"type":"field","size":[106,14],"pos":[15,45],"locked":1,"show":"transparent","border":0,"align":"center","value":"wc1"}
field2:{"type":"field","size":[105,14],"pos":[137,45],"locked":1,"show":"transparent","border":0,"align":"center","value":"wc2"}
ex1:{"type":"field","size":[232,124],"pos":[10,179],"border":1,"style":"code","value":"t:wc1.value\nwc1.value:wc2.value\nwc2.value:t"}
button5:{"type":"button","size":[60,20],"pos":[254,283],"script":"animationvalues.2","text":"Try It!"}

{script:animationvalues.0}
on click do
 wc1.clear[]
end
{end}

{script:animationvalues.1}
on click do
 wc2.clear[]
end
{end}

{script:animationvalues.2}
on click do
 eval[ex1.text () 1]
end
{end}

{card:cropping}
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/AP8AsRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8AnRVkAP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A0Q=="
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"Cropping"}
button3:{"type":"button","size":[60,20],"pos":[78,312],"script":"Index.1","text":"Index","style":"rect"}
field1:{"type":"field","size":[248,119],"pos":[254,48],"locked":1,"border":0,"value":"This example demonstrates another useful application of reading and writing the .value attribute of a wigglyCanvas: cropping the contents of the canvas to reflect tight bounds for the drawing inside."}
wc:{"type":"contraption","size":[100,100],"pos":[61,58],"def":"wigglyCanvas","widgets":{"c":{},"fr":{"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AGQAZAD/AP8A/wD/AP8A/wD/AP8AzwEBAAMBAgABAQMAAQEBAFYBDwBUARIAAQEBAEsBCAABAQMAAQECAAMBCQBIAQgADgEHAEYBCAARAQUARQEFAAIBAQAUAQQAQgEGABgBBAA+AQcAHAEDAD0BBwAdAQMAPAEGAB4BBQA7AQQAIQEFADoBAwAkAQMAOQEDACUBAwA4AQMAJgEDADgBAwAmAQMANwEEACYBAwA4AQMAJgEDADgBAwAlAQQANwEEACUBAwA4AQMAJgEEADcBBAATAQEAEQEEADgBAwASAQMAEQEEADgBAwAQAQMAEwEDADcBBAAPAQQAEgEDADcBBAAPAQUAEQEDADgBAwARAQQAEQEDADcBAwATAQMAEgEDADYBBAARAQQAEgEDADcBAwARAQQAEAEFADcBAwARAQgACwEGADcBBAARAQ8AAQEHADkBAwAUARMAOQEDABYBAgABAQ4AOQEEAB4BAQABAQYAOwEDAGIBAwBhAQMAYQEDAGEBAwBiAQMAYQEFAGABBQBhAQMAYgEEAGABBQBgAQUAYAEIACMBAgA5AQcAIQEEADgBBwAfAQcAOAEBAAIBBgAbAQcAPQEHAAgBAwAHAQMAAgEGAEEBFAABAQwARwEbAEsBCAABAQkAAgEEAE4BAgAKAQIABQECAP8A/wD/AP8A/wD/AP8A/wC+","%%IMG2AGQAZAD/AP8A/wD/AP8A/wD/AP8AbAEDAAgBAQBWAQ8AVAEQAFMBBAADAQsATgEGAAkBAgACAQQATAEGAA8BBQBIAQcAEQEFAEYBBgAUAQUARAEFABgBAwBBAQUAHAEDAD8BBQAdAQMAPAEHAB4BBAA6AQUAIgEEADoBAwAkAQMAOQEDACUBAwA5AQMAJQEDADgBAwAlAQQAOAEDACUBBAA3AQQAJgEDADgBAwAmAQMAOAEDACYBAwA4AQMAJgEDADcBBAAmAQMANwEEABEBAgATAQMAOAEEAA8BBAATAQMANwEEAA8BBAASAQQANwEDABABAwAUAQMANwEDAA8BBAATAQQANgEDABEBAwATAQQANgEDABEBBAASAQQANgEDABABBwAPAQQANgEDABIBCAANAQMAOAEDABMBCAAIAQEAAQEDADkBAwAVAQEAAQEGAAEBCwA4AQQAGAEPADkBBAAaAQoAPAEDAB0BAgADAQIAPgEDAGEBAwBhAQMAYgEDAGEBBABhAQQAYQEEAGEBBgBeAQcAXgEFAGIBAwAmAQEAOwEDACQBBQA4AQcAIAEGADgBBwAeAQYAOgEGAAEBAgAaAQUAPQEBAAIBCAAWAQQAQwENAAEBCQACAQcARQECAAEBGwBMARcAUwECAAgBAwD/AP8A/wD/AP8A/wD/AP8AwA==","%%IMG2AGQAZAD/AP8A/wD/AP8A/wD/AP8AdQEBAFkBAQADAQQAAQEDAAEBAQBUAREAUgENAAEBBgBOAQUAAQEFAAIBAQADAQcARwEIABABBgBFAQgAEgEFAEUBBwAUAQQARAEEABkBAwBCAQYAGQEDAEABBQABAQEAGwEDAD4BBQAdAQUAOgEGACABBQA4AQYAIwEDADkBBAAkAQMAOQEDACUBAwA5AQMAJQEDADgBBAAlAQMANwEEACYBAwA3AQMAJwEDADcBBAAmAQQANgEDACcBBAA3AQMAJgEDADkBAwARAQEAEwEDADkBAwAQAQMAEwEDADcBAwAQAQQAEgEDADgBAwAQAQQAEQEEADcBAwAQAQQAEgEFADYBAwARAQQAEgEEADUBBAARAQQAEgEDADYBBAARAQQAEQEDADcBAwATAQcADAEDADgBBAATAQgABgECAAIBAwA4AQMAFQEJAAEBAQABAQgAOAEEABkBDgA6AQMAGwEGAAEBAwA8AQMAHQEDAEIBAwBhAQMAYQEDAGEBAwBiAQMAYQEFAF8BBgBfAQUAYQEFAGABBQBgAQUAKAECADcBBgAkAQQANwEGACEBBQA5AQcAHgEFAD0BBwAaAQUAPwEJAAkBAwAEAQMAAQEGAEMBCQACAQEAAgERAEYBAgABARoATQEJAAIBBQABAQQAUQECAAEBAgAFAQEABQEBAP8A/wD/AP8A/wD/AP8A/wDA"]}},"sfx":{},"tb":{},"cbo":{},"cp":{},"cbr":{}}}
reset:{"type":"button","size":[60,20],"pos":[171,81],"script":"cropping.0","text":"Reset"}
field3:{"type":"field","size":[100,14],"pos":[61,45],"locked":1,"show":"transparent","border":0,"align":"center","value":"wc"}
ex1:{"type":"field","size":[492,126],"pos":[10,172],"border":1,"scrollbar":1,"style":"code","value":"on crop wid do\n local f:first wid.value.frames\n local w:wid.size[0]\n local h:wid.size[1]\n local x:0\n local y:0\n while w    &(1~count f.copy[(w-1),0 1,h].hist) w:w-1 end\n while h    &(1~count f.copy[0,(h-1) w,1].hist) h:h-1 end\n while (x<w)&(1~count f.copy[x,0     1,h].hist) x:x+1 end\n while (y<h)&(1~count f.copy[0,y     w,1].hist) y:y+1 end\n f:each f in wid.value.frames f.copy[(x,y) (w,h)-(x,y)] end\n wid.size:(w,h)-(x,y)\n wid.value:().frames:f\nend\n\ncrop[wc]"}
button5:{"type":"button","size":[60,20],"pos":[171,113],"script":"animationvalues.2","text":"Crop"}

{script:cropping.0}
on click do
 wc.size:100,100
 wc.clear[]
end
{end}

{card:gifexport}
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"GIF Export"}
button3:{"type":"button","size":[60,20],"pos":[78,312],"script":"Index.1","text":"Index","style":"rect"}
field1:{"type":"field","size":[248,119],"pos":[254,48],"locked":1,"border":0,"value":"Saving animation values as animated GIF images is easy with Decker's built-in write[] function!\n\nBy default, pattern 0 exports as transparent. You may wish to convert this to opaque white by using image.map[], as shown below."}
wc:{"type":"contraption","size":[100,100],"pos":[61,58],"def":"wigglyCanvas","widgets":{"c":{},"fr":{"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AGQAZAD/AP8A/wD/AP8A/wD/AP8AzwEBAAMBAgABAQMAAQEBAFYBDwBUARIAAQEBAEsBCAABAQMAAQECAAMBCQBIAQgADgEHAEYBCAARAQUARQEFAAIBAQAUAQQAQgEGABgBBAA+AQcAHAEDAD0BBwAdAQMAPAEGAB4BBQA7AQQAIQEFADoBAwAkAQMAOQEDACUBAwA4AQMAJgEDADgBAwAmAQMANwEEACYBAwA4AQMAJgEDADgBAwAlAQQANwEEACUBAwA4AQMAJgEEADcBBAATAQEAEQEEADgBAwASAQMAEQEEADgBAwAQAQMAEwEDADcBBAAPAQQAEgEDADcBBAAPAQUAEQEDADgBAwARAQQAEQEDADcBAwATAQMAEgEDADYBBAARAQQAEgEDADcBAwARAQQAEAEFADcBAwARAQgACwEGADcBBAARAQ8AAQEHADkBAwAUARMAOQEDABYBAgABAQ4AOQEEAB4BAQABAQYAOwEDAGIBAwBhAQMAYQEDAGEBAwBiAQMAYQEFAGABBQBhAQMAYgEEAGABBQBgAQUAYAEIACMBAgA5AQcAIQEEADgBBwAfAQcAOAEBAAIBBgAbAQcAPQEHAAgBAwAHAQMAAgEGAEEBFAABAQwARwEbAEsBCAABAQkAAgEEAE4BAgAKAQIABQECAP8A/wD/AP8A/wD/AP8A/wC+","%%IMG2AGQAZAD/AP8A/wD/AP8A/wD/AP8AbAEDAAgBAQBWAQ8AVAEQAFMBBAADAQsATgEGAAkBAgACAQQATAEGAA8BBQBIAQcAEQEFAEYBBgAUAQUARAEFABgBAwBBAQUAHAEDAD8BBQAdAQMAPAEHAB4BBAA6AQUAIgEEADoBAwAkAQMAOQEDACUBAwA5AQMAJQEDADgBAwAlAQQAOAEDACUBBAA3AQQAJgEDADgBAwAmAQMAOAEDACYBAwA4AQMAJgEDADcBBAAmAQMANwEEABEBAgATAQMAOAEEAA8BBAATAQMANwEEAA8BBAASAQQANwEDABABAwAUAQMANwEDAA8BBAATAQQANgEDABEBAwATAQQANgEDABEBBAASAQQANgEDABABBwAPAQQANgEDABIBCAANAQMAOAEDABMBCAAIAQEAAQEDADkBAwAVAQEAAQEGAAEBCwA4AQQAGAEPADkBBAAaAQoAPAEDAB0BAgADAQIAPgEDAGEBAwBhAQMAYgEDAGEBBABhAQQAYQEEAGEBBgBeAQcAXgEFAGIBAwAmAQEAOwEDACQBBQA4AQcAIAEGADgBBwAeAQYAOgEGAAEBAgAaAQUAPQEBAAIBCAAWAQQAQwENAAEBCQACAQcARQECAAEBGwBMARcAUwECAAgBAwD/AP8A/wD/AP8A/wD/AP8AwA==","%%IMG2AGQAZAD/AP8A/wD/AP8A/wD/AP8AdQEBAFkBAQADAQQAAQEDAAEBAQBUAREAUgENAAEBBgBOAQUAAQEFAAIBAQADAQcARwEIABABBgBFAQgAEgEFAEUBBwAUAQQARAEEABkBAwBCAQYAGQEDAEABBQABAQEAGwEDAD4BBQAdAQUAOgEGACABBQA4AQYAIwEDADkBBAAkAQMAOQEDACUBAwA5AQMAJQEDADgBBAAlAQMANwEEACYBAwA3AQMAJwEDADcBBAAmAQQANgEDACcBBAA3AQMAJgEDADkBAwARAQEAEwEDADkBAwAQAQMAEwEDADcBAwAQAQQAEgEDADgBAwAQAQQAEQEEADcBAwAQAQQAEgEFADYBAwARAQQAEgEEADUBBAARAQQAEgEDADYBBAARAQQAEQEDADcBAwATAQcADAEDADgBBAATAQgABgECAAIBAwA4AQMAFQEJAAEBAQABAQgAOAEEABkBDgA6AQMAGwEGAAEBAwA8AQMAHQEDAEIBAwBhAQMAYQEDAGEBAwBiAQMAYQEFAF8BBgBfAQUAYQEFAGABBQBgAQUAKAECADcBBgAkAQQANwEGACEBBQA5AQcAHgEFAD0BBwAaAQUAPwEJAAkBAwAEAQMAAQEGAEMBCQACAQEAAgERAEYBAgABARoATQEJAAIBBQABAQQAUQECAAEBAgAFAQEABQEBAP8A/wD/AP8A/wD/AP8A/wDA"]}},"sfx":{},"tb":{},"cbo":{},"cp":{},"cbr":{}}}
reset:{"type":"button","size":[60,20],"pos":[171,81],"script":"cropping.0","text":"Reset"}
field3:{"type":"field","size":[100,14],"pos":[61,45],"locked":1,"show":"transparent","border":0,"align":"center","value":"wc"}
ex1:{"type":"field","size":[492,126],"pos":[10,172],"border":1,"scrollbar":1,"style":"code","value":"v:wc.value\n\n# (optionally) make the background opaque:\nv.frames:v.frames..copy[].map[0 dict 32]\n\ngif.frames:v.frames @ v.order\ngif.delays:10\nwrite[gif]\n"}
button5:{"type":"button","size":[60,20],"pos":[171,113],"script":"animationvalues.2","text":"Export"}

{card:gifimport}
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"GIF Import"}
button3:{"type":"button","size":[60,20],"pos":[78,312],"script":"Index.1","text":"Index","style":"rect"}
field1:{"type":"field","size":[248,119],"pos":[254,48],"locked":1,"border":0,"value":"Decoding animated GIF images into an animation value is slightly more complex than GIF exports, because there are more variations to consider, including:\n\n- using or discarding transparency\n- using or discarding interframe delays\n- de-duplicating identical frames\n- rescaling or keeping original image size\n- importing in 16-color or dithering to 1-bit\n\nThe example below offers several common variations."}
wc:{"type":"contraption","size":[100,100],"pos":[61,58],"def":"wigglyCanvas","widgets":{"c":{},"fr":{"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AGQAZAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wA3","%%IMG2AGQAZAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wA3","%%IMG2AGQAZAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wA3"]}},"sfx":{},"tb":{},"cbo":{},"cp":{},"cbr":{}}}
field3:{"type":"field","size":[100,14],"pos":[61,45],"locked":1,"show":"transparent","border":0,"align":"center","value":"wc"}
ex1:{"type":"field","size":[492,126],"pos":[10,172],"border":1,"scrollbar":1,"style":"code","value":"gif:read[\"image\" (if dither.value \"gray_frames\" else \"frames\" end)]\nsize:gif.frames[0].size\n\n# it's important to perform any scaling BEFORE dithering!\nif rescale.value  gif.frames..scale[wc.size/size] end\nif dither.value   gif.frames..transform.dither    end\n\nv.order :range count gif.frames\nv.frames:gif.frames\nwc.value:v"}
button5:{"type":"button","size":[60,20],"pos":[171,125],"script":"animationvalues.2","text":"Import"}
dither:{"type":"button","size":[73,20],"pos":[171,74],"text":"Dither?","style":"check","value":0}
rescale:{"type":"button","size":[73,20],"pos":[171,98],"text":"Rescale?","style":"check","value":0}

{card:wigglyplayer}
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"wigglyPlayer: Overview"}
button3:{"type":"button","size":[60,20],"pos":[78,312],"script":"Index.1","text":"Index","style":"rect"}
field1:{"type":"field","size":[248,254],"pos":[254,48],"locked":1,"border":0,"value":"the wigglyPlayer is a container for wiggly animation values, capable of storing and/or displaying animations created with a wigglyCanvas.\n\nThis contraption respects the built-in .show, for transparency support or invisibility.\n\nThis contraption exposes an .animate[] function for manually updating its display, for inter-operation with \"blocking\" scripts.\n\nIf the \"frames\" of the animation value do not match the dimensions of the wigglyPlayer, they can be centered or scaled to fit.\n\nThe \"order\" of the animation value can be any sequence of frame indices; customizing this value can make more complicated animations than are normally constructed by a wigglyCanvas."}
wp1:{"type":"contraption","size":[69,63],"pos":[46,66],"def":"wigglyPlayer","widgets":{"c":{"size":[69,63]},"fr":{"size":[69,20],"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AEUAPwD/AP8A/wAsAQEAKwECABMBAgABAQMAKQELAAoBCAAhAQIABgEOAAEBAgACAQkAIAEEAAYBGwAgAQMACgEBAAMBDQADAQQAIAEDAA8BAgADAQUABQEDACEBAwAdAQMAIgEDAB0BBAAhAQMAHgEEACABAwAfAQMAIAEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAdAQQAIQEDAB0BAwAiAQMAHQEDACIBAwAdAQMAIgEDAB0BAwAiAQMAHAEEACIBAwAcAQQAIgEDABwBBAAiAQMAHAEEACIBAwAdAQMAIgEDAB0BAwAhAQMAHQEEACEBAwAeAQQAIAEEAAoBAgACAQIADAEEACEBBQAGAQ4AAQEKACIBBQACARsAJAEfACUBCwAHAQEAAQECAAIBAgABAQEAAgEBACcBBgBAAQMA/wD/AP8AtA==","%%IMG2AEUAPwD/AP8A/wAuAQEAKgEBAAIBAwARAQUAKAEJAAMBAQAIAQgAIAEBAAgBHAAfAQMACAEEAAEBFQAfAQUACAECAAIBFAAhAQQADQECAAEBAwAHAQEAAgEDACEBAwAdAQMAIgEDAB0BAwAjAQMAHAEEACIBAwAcAQMAIgEEABwBBAAhAQMAHQEEACEBAwAdAQMAIgEDAB0BAwAiAQMAHQEDACIBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQQAIAEDAB4BAwAhAQMAHgEDACEBAwAdAQQAIAEDAB8BAwAgAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQQAHQEDACIBAwAcAQUAIQEDABwBBQAhAQMAHQEEACEBAwAcAQQAIgEEAAoBAQADAQQABQECAAEBBgAiAQMACQEDAAEBEgAiAQcAAwEYACIBDwABAREAJQENAAMBAQADAQEABAEBAAQBAQAlAQwAOgEBAAEBAgD/AP8A/wC1","%%IMG2AEUAPwD/AP8A/wAsAQEALAEBABYBBAAgAQEACAEJAAEBAQACAQIABwEHAB4BAwAIARAAAgEJACABAwAHARoAIQEDAAgBAQACAQEAAgEGAAEBCAABAQMAIQEDAA8BAgABAQEABAECAAIBAQACAQMAIQEDAB8BAwAgAQMAHgEEACABAwAdAQQAIQEDAB0BAwAiAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BBAAgAQMAHgEDACEBAwAeAQMAIQEDAB0BAwAiAQMAHgEDACEBAwAeAQMAIQEDAB0BAwAiAQMAHAEEACIBAwAcAQQAIgEDABwBBAAiAQMAHAEEACIBAwAcAQQAIgEDABwBAwAjAQMAHAEEACMBAwAEAQIAAwEBAAEBCAACAQoAJAEDAAEBHgAiAR8AAQECACIBCAACAQYAAgEHAAEBAQABAQIAKAEFAEEBAgD/AP8A/wC1"]}},"or":{"size":[69,20],"value":"[0,1,2]"},"fl":{"size":[41,20],"pos":[0,111]},"em":{"pos":[78,-49]},"cbo":{"size":[100,13],"pos":[78,0]},"cst":{"size":[100,12],"pos":[78,20]},"cd":{"size":[100,13],"pos":[78,38]}}}
wp2:{"type":"contraption","size":[58,33],"pos":[146,87],"def":"wigglyPlayer","widgets":{"c":{"size":[58,33]},"fr":{"size":[58,20],"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AEUAPwD/AP8A/wAsAQEAKwECABMBAgABAQMAKQELAAoBCAAhAQIABgEOAAEBAgACAQkAIAEEAAYBGwAgAQMACgEBAAMBDQADAQQAIAEDAA8BAgADAQUABQEDACEBAwAdAQMAIgEDAB0BBAAhAQMAHgEEACABAwAfAQMAIAEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAdAQQAIQEDAB0BAwAiAQMAHQEDACIBAwAdAQMAIgEDAB0BAwAiAQMAHAEEACIBAwAcAQQAIgEDABwBBAAiAQMAHAEEACIBAwAdAQMAIgEDAB0BAwAhAQMAHQEEACEBAwAeAQQAIAEEAAoBAgACAQIADAEEACEBBQAGAQ4AAQEKACIBBQACARsAJAEfACUBCwAHAQEAAQECAAIBAgABAQEAAgEBACcBBgBAAQMA/wD/AP8AtA==","%%IMG2AEUAPwD/AP8A/wAuAQEAKgEBAAIBAwARAQUAKAEJAAMBAQAIAQgAIAEBAAgBHAAfAQMACAEEAAEBFQAfAQUACAECAAIBFAAhAQQADQECAAEBAwAHAQEAAgEDACEBAwAdAQMAIgEDAB0BAwAjAQMAHAEEACIBAwAcAQMAIgEEABwBBAAhAQMAHQEEACEBAwAdAQMAIgEDAB0BAwAiAQMAHQEDACIBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQQAIAEDAB4BAwAhAQMAHgEDACEBAwAdAQQAIAEDAB8BAwAgAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQQAHQEDACIBAwAcAQUAIQEDABwBBQAhAQMAHQEEACEBAwAcAQQAIgEEAAoBAQADAQQABQECAAEBBgAiAQMACQEDAAEBEgAiAQcAAwEYACIBDwABAREAJQENAAMBAQADAQEABAEBAAQBAQAlAQwAOgEBAAEBAgD/AP8A/wC1","%%IMG2AEUAPwD/AP8A/wAsAQEALAEBABYBBAAgAQEACAEJAAEBAQACAQIABwEHAB4BAwAIARAAAgEJACABAwAHARoAIQEDAAgBAQACAQEAAgEGAAEBCAABAQMAIQEDAA8BAgABAQEABAECAAIBAQACAQMAIQEDAB8BAwAgAQMAHgEEACABAwAdAQQAIQEDAB0BAwAiAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BBAAgAQMAHgEDACEBAwAeAQMAIQEDAB0BAwAiAQMAHgEDACEBAwAeAQMAIQEDAB0BAwAiAQMAHAEEACIBAwAcAQQAIgEDABwBBAAiAQMAHAEEACIBAwAcAQQAIgEDABwBAwAjAQMAHAEEACMBAwAEAQIAAwEBAAEBCAACAQoAJAEDAAEBHgAiAR8AAQECACIBCAACAQYAAgEHAAEBAQABAQIAKAEFAEEBAgD/AP8A/wC1"]}},"or":{"size":[58,20],"value":"[0,1,2]"},"fl":{"size":[35,20],"pos":[0,81]},"em":{"pos":[67,-49]},"cbo":{"size":[100,7],"pos":[67,0]},"cst":{"size":[100,7],"pos":[67,10]},"cd":{"size":[100,7],"pos":[67,20]}}}
wp3:{"type":"contraption","size":[128,127],"pos":[71,156],"def":"wigglyPlayer","widgets":{"c":{"size":[128,127]},"fr":{"size":[128,20],"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AEUAPwD/AP8A/wAsAQEAKwECABMBAgABAQMAKQELAAoBCAAhAQIABgEOAAEBAgACAQkAIAEEAAYBGwAgAQMACgEBAAMBDQADAQQAIAEDAA8BAgADAQUABQEDACEBAwAdAQMAIgEDAB0BBAAhAQMAHgEEACABAwAfAQMAIAEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAdAQQAIQEDAB0BAwAiAQMAHQEDACIBAwAdAQMAIgEDAB0BAwAiAQMAHAEEACIBAwAcAQQAIgEDABwBBAAiAQMAHAEEACIBAwAdAQMAIgEDAB0BAwAhAQMAHQEEACEBAwAeAQQAIAEEAAoBAgACAQIADAEEACEBBQAGAQ4AAQEKACIBBQACARsAJAEfACUBCwAHAQEAAQECAAIBAgABAQEAAgEBACcBBgBAAQMA/wD/AP8AtA==","%%IMG2AEUAPwD/AP8A/wAuAQEAKgEBAAIBAwARAQUAKAEJAAMBAQAIAQgAIAEBAAgBHAAfAQMACAEEAAEBFQAfAQUACAECAAIBFAAhAQQADQECAAEBAwAHAQEAAgEDACEBAwAdAQMAIgEDAB0BAwAjAQMAHAEEACIBAwAcAQMAIgEEABwBBAAhAQMAHQEEACEBAwAdAQMAIgEDAB0BAwAiAQMAHQEDACIBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQQAIAEDAB4BAwAhAQMAHgEDACEBAwAdAQQAIAEDAB8BAwAgAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQQAHQEDACIBAwAcAQUAIQEDABwBBQAhAQMAHQEEACEBAwAcAQQAIgEEAAoBAQADAQQABQECAAEBBgAiAQMACQEDAAEBEgAiAQcAAwEYACIBDwABAREAJQENAAMBAQADAQEABAEBAAQBAQAlAQwAOgEBAAEBAgD/AP8A/wC1","%%IMG2AEUAPwD/AP8A/wAsAQEALAEBABYBBAAgAQEACAEJAAEBAQACAQIABwEHAB4BAwAIARAAAgEJACABAwAHARoAIQEDAAgBAQACAQEAAgEGAAEBCAABAQMAIQEDAA8BAgABAQEABAECAAIBAQACAQMAIQEDAB8BAwAgAQMAHgEEACABAwAdAQQAIQEDAB0BAwAiAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BBAAgAQMAHgEDACEBAwAeAQMAIQEDAB0BAwAiAQMAHgEDACEBAwAeAQMAIQEDAB0BAwAiAQMAHAEEACIBAwAcAQQAIgEDABwBBAAiAQMAHAEEACIBAwAcAQQAIgEDABwBAwAjAQMAHAEEACMBAwAEAQIAAwEBAAEBCAACAQoAJAEDAAEBHgAiAR8AAQECACIBCAACAQYAAgEHAAEBAQABAQIAKAEFAEEBAgD/AP8A/wC1"]}},"or":{"size":[128,20],"value":"[0,1,2]"},"fl":{"size":[77,20],"pos":[0,175]},"em":{"pos":[137,-49]},"cbo":{"size":[100,25],"pos":[137,0]},"cst":{"size":[100,26],"pos":[137,39]},"cd":{"size":[100,26],"pos":[137,77]}}}

{card:draggable}
{widgets}
field3:{"type":"field","size":[155,14],"pos":[58,48],"locked":1,"show":"transparent","border":0,"align":"center","value":"click and drag the player below:"}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"wigglyPlayer: Draggable"}
button3:{"type":"button","size":[60,20],"pos":[78,312],"script":"Index.1","text":"Index","style":"rect"}
field1:{"type":"field","size":[248,254],"pos":[254,48],"locked":1,"border":0,"value":"the wigglyPlayer can be clicked, and it can optionally be set to be \"draggable\", which makes it behave much like a draggable canvas. It exposes similar events:\n\n- click[pos]\n- drag[pos]\n- release[pos]\n\nUnlike a normal Canvas widget, the wigglyPlayer will only produce drag[] and release[] events if it is draggable."}
snap:{"type":"button","size":[145,20],"pos":[57,260],"text":"Snap back after drag","style":"check","value":0}
wp1:{"type":"contraption","size":[69,63],"pos":[106,126],"script":"draggable.0","def":"wigglyPlayer","widgets":{"c":{"size":[69,63],"draggable":1},"fr":{"size":[69,20],"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AEUAPwD/AP8A/wAsAQEAKwECABMBAgABAQMAKQELAAoBCAAhAQIABgEOAAEBAgACAQkAIAEEAAYBGwAgAQMACgEBAAMBDQADAQQAIAEDAA8BAgADAQUABQEDACEBAwAdAQMAIgEDAB0BBAAhAQMAHgEEACABAwAfAQMAIAEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAdAQQAIQEDAB0BAwAiAQMAHQEDACIBAwAdAQMAIgEDAB0BAwAiAQMAHAEEACIBAwAcAQQAIgEDABwBBAAiAQMAHAEEACIBAwAdAQMAIgEDAB0BAwAhAQMAHQEEACEBAwAeAQQAIAEEAAoBAgACAQIADAEEACEBBQAGAQ4AAQEKACIBBQACARsAJAEfACUBCwAHAQEAAQECAAIBAgABAQEAAgEBACcBBgBAAQMA/wD/AP8AtA==","%%IMG2AEUAPwD/AP8A/wAuAQEAKgEBAAIBAwARAQUAKAEJAAMBAQAIAQgAIAEBAAgBHAAfAQMACAEEAAEBFQAfAQUACAECAAIBFAAhAQQADQECAAEBAwAHAQEAAgEDACEBAwAdAQMAIgEDAB0BAwAjAQMAHAEEACIBAwAcAQMAIgEEABwBBAAhAQMAHQEEACEBAwAdAQMAIgEDAB0BAwAiAQMAHQEDACIBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQQAIAEDAB4BAwAhAQMAHgEDACEBAwAdAQQAIAEDAB8BAwAgAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQQAHQEDACIBAwAcAQUAIQEDABwBBQAhAQMAHQEEACEBAwAcAQQAIgEEAAoBAQADAQQABQECAAEBBgAiAQMACQEDAAEBEgAiAQcAAwEYACIBDwABAREAJQENAAMBAQADAQEABAEBAAQBAQAlAQwAOgEBAAEBAgD/AP8A/wC1","%%IMG2AEUAPwD/AP8A/wAsAQEALAEBABYBBAAgAQEACAEJAAEBAQACAQIABwEHAB4BAwAIARAAAgEJACABAwAHARoAIQEDAAgBAQACAQEAAgEGAAEBCAABAQMAIQEDAA8BAgABAQEABAECAAIBAQACAQMAIQEDAB8BAwAgAQMAHgEEACABAwAdAQQAIQEDAB0BAwAiAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BAwAhAQMAHgEDACEBAwAeAQMAIQEDAB4BBAAgAQMAHgEDACEBAwAeAQMAIQEDAB0BAwAiAQMAHgEDACEBAwAeAQMAIQEDAB0BAwAiAQMAHAEEACIBAwAcAQQAIgEDABwBBAAiAQMAHAEEACIBAwAcAQQAIgEDABwBAwAjAQMAHAEEACMBAwAEAQIAAwEBAAEBCAACAQoAJAEDAAEBHgAiAR8AAQECACIBCAACAQYAAgEHAAEBAQABAQIAKAEFAEEBAgD/AP8A/wC1"]}},"or":{"size":[69,20],"value":"[0,1,2]"},"fl":{"size":[41,20],"pos":[0,111]},"em":{"pos":[78,-49]},"cbo":{"size":[100,13],"pos":[78,0]},"cst":{"size":[100,12],"pos":[78,20]},"cd":{"size":[100,13],"pos":[78,38],"value":1}}}

{script:draggable.0}
on release pos do
 if snap.value me.pos:pos end
end
{end}

{card:eggbug}
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/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD7DVgA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDQEAVg0BAP8AqQ0BAFYNAQD/AKkNAQBWDQEA/wCpDVgA/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AAQ="
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"wigglyPlayer: Puppetry"}
button3:{"type":"button","size":[60,20],"pos":[78,312],"script":"Index.1","text":"Index","style":"rect"}
field1:{"type":"field","size":[248,254],"pos":[254,48],"locked":1,"border":0,"value":{"text":["the wigglyPlayer is designed to be compatible with the Puppeteer module, and can serve as a \"","fancy puppet","\".\n\nIn addition to the .animate[] function, the wigglyPlayer respects .flip and .emote.\n\nTo use emotes, set the .emotes attribute (mind the 's') to a dictionary keyed by emote names, where each value is a list of frame indices for that emote."],"font":["","",""],"arg":["","http://beyondloom.com/decker/puppeteer.html#fancypuppets",""]}}
wp1:{"type":"contraption","size":[180,148],"pos":[37,66],"def":"wigglyPlayer","widgets":{"c":{"size":[180,148],"border":0,"draggable":1},"fr":{"size":[180,20],"value":{"text":["i","i","i","i","i","i","i","i","i"],"font":["","","","","","","","",""],"arg":["%%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","%%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","%%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","%%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","%%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","%%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","%%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","%%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","%%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"]}},"or":{"size":[180,20],"value":"[0,1,2]"},"fl":{"size":[108,20],"pos":[0,196]},"em":{"pos":[189,-49],"value":"{\"normal\":[0,1,2],\"open\":[3,4,5],\"mean\":[6,7,8]}"},"cbo":{"size":[100,30],"pos":[189,0],"value":0},"cst":{"size":[100,29],"pos":[189,46]},"cd":{"size":[100,30],"pos":[189,90],"value":1}}}
flip:{"type":"button","size":[59,28],"pos":[63,237],"script":"eggbug.0","text":"Flip","style":"check","value":0}
grid1:{"type":"grid","size":[68,43],"pos":[143,229],"script":"eggbug.1","scrollbar":0,"headers":0,"lines":0,"format":"s","value":{"value":["normal","open","mean"]},"row":0}

{script:eggbug.0}
on click do
 wp1.flip:me.value
end
{end}

{script:eggbug.1}
on click row do
 wp1.emote:me.rowvalue.value
end
{end}

{card:undoredo}
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Next","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"Undo and Redo"}
button3:{"type":"button","size":[60,20],"pos":[78,312],"script":"Index.1","text":"Index","style":"rect"}
field1:{"type":"field","size":[248,254],"pos":[254,48],"locked":1,"border":0,"value":"One easy way to implement a single-level Undo/Redo feature for drawing is to use the wigglyCanvas stroke_start[] event to stash a copy of the animation value in a wigglyPlayer or another wigglyCanvas before the user has a chance to draw. In this example, the buffer is visible, but it could easily be hidden from view.\n\nClicking the \"Oops\" button will then swap this stashed copy with the active one.\n\nTry drawing a few strokes and then rolling them back with \"Oops\"!"}
wc:{"type":"contraption","size":[200,154],"pos":[27,107],"script":"undoredo.0","def":"wigglyCanvas","widgets":{"c":{"size":[200,154]},"fr":{"size":[200,20],"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI","%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI","%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI"]}},"sfx":{"size":[200,31]},"tb":{"size":[120,20],"pos":[0,202]},"cbo":{"size":[100,31],"pos":[254,0]},"cp":{"size":[100,31],"pos":[254,49]},"cbr":{"size":[100,31],"pos":[254,97]}}}
clear:{"type":"button","size":[60,20],"pos":[167,268],"script":"wigglycanvas.2","text":"Clear"}
oops:{"type":"button","size":[60,20],"pos":[27,268],"script":"undoredo.1","text":"Oops"}
hist:{"type":"contraption","size":[36,33],"pos":[117,61],"def":"wigglyPlayer","widgets":{"c":{"size":[36,33],"draggable":1},"fr":{"size":[36,20],"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI","%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI","%%IMG2AMgAmgD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wDI"]}},"or":{"size":[36,20],"value":"[0,1,2]"},"fl":{"size":[22,20],"pos":[0,81]},"em":{"pos":[45,-49]},"cbo":{"size":[100,7],"pos":[45,0]},"cst":{"size":[100,7],"pos":[45,10]},"cd":{"size":[100,7],"pos":[45,20],"value":1}}}
field3:{"type":"field","size":[100,14],"pos":[86,47],"locked":1,"show":"transparent","border":0,"align":"center","value":"hist"}

{script:undoredo.0}
on stroke_start do
 hist.value:wc.value
end
{end}

{script:undoredo.1}
on click do
 t:hist.value
 hist.value:wc.value
 wc.value:t
end
{end}

{card:wigglymodal}
script:"wigglymodal.0"
{widgets}
button1:{"type":"button","size":[60,20],"pos":[442,312],"script":"Index.1","text":"Index","style":"rect"}
button2:{"type":"button","size":[60,20],"pos":[10,312],"script":"Index.1","text":"Prev","style":"rect"}
title:{"type":"field","size":[492,17],"pos":[10,22],"locked":1,"font":"menu","show":"invert","border":1,"align":"center","value":"wigglyModal"}
field1:{"type":"field","size":[248,255],"pos":[254,48],"locked":1,"border":0,"value":"the wigglyModal is a contraption that fills the screen with a full-featured image editor, behaving like a non-blocking modal dialog.\n\nAfter this contraption is created, its .init[] function should be called by the creator. If desired you can also use the .value attribute to initialize a default image.\n\nThis contraption fires a finish_painting[value] event with the editor's animation value at the current card when the user indicates they are done editing. After that handler completes, the contraption instance will destroy itself. See this card's script for details.\n\nThis contraption requires custom brushes defined in a module called \"wigglyBrushes\".\n\nThis contraption exposes an .animate[] function for manually updating its display, for inter-operation with \"blocking\" scripts.\n"}
field3:{"type":"field","size":[106,14],"pos":[78,46],"locked":1,"show":"transparent","border":0,"align":"center","value":"output"}
ex1:{"type":"field","size":[232,131],"pos":[10,172],"border":1,"style":"code","value":"m:card.add[\n \"contraption\" \"wigglyModal\"\n]\nm.init[]"}
button5:{"type":"button","size":[60,20],"pos":[254,283],"script":"animationvalues.2","text":"Try It!"}
output:{"type":"contraption","size":[106,100],"pos":[78,60],"locked":1,"def":"wigglyPlayer","widgets":{"c":{"size":[106,100],"draggable":1},"fr":{"size":[106,20],"value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AUAAyAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/APo=","%%IMG2AUAAyAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/APo=","%%IMG2AUAAyAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/APo="]}},"or":{"size":[106,20],"value":"[0,1,2]"},"fl":{"size":[64,20]},"em":{"pos":[115,-49]},"cbo":{"pos":[115,0]},"cst":{"pos":[115,31]},"cd":{"pos":[115,61],"value":1}}}

{script:wigglymodal.0}
on finish_painting val do
 output.value:val
end

{end}

{module:wigglyBrushes}
description:"brushes used by the wigglyModal contraption."
version:1
{script}
stipples:"%J" parse "[
 %%IMG0AAQABAAwMAA=,
 %%IMG0AAQABMDAAAA=,
 %%IMG0AAQABAAAYGA=,
 %%IMG0AAQABADAwAA=,
 %%IMG0AAQABIAAAIA=,
 %%IMG0AAQABAAgAEA=,
 %%IMG0AAQABEAAEAA=,
 %%IMG0AAQABAAAgBA=,
]"
brush[on stipple do random[stipples] end]

softlarge:each t in data:"%j" parse "[
  [[ 5, 1],[ 4,10],[ 9,10],[10, 1]],[[12, 2],[ 8,13],[ 7,14],[ 4,13]],[[ 4, 9],[ 7,10],[12, 9],[14, 4]],[[ 4, 3],[ 9, 2],[ 9, 8],[ 6, 8]],
  [[13, 9],[ 7, 9],[13, 5],[11, 9]],[[10,12],[ 8, 3],[11, 7],[ 3, 7]],[[ 1, 9],[ 6, 2],[ 4,12],[ 3, 6]],[[ 5,14],[ 8,14],[11,12],[15, 5]],
  [[ 1, 3],[11, 1],[ 3, 4],[ 2, 5]],[[ 3,11],[ 5, 4],[10, 3],[ 0, 8]],[[14, 9],[11, 5],[10, 8],[ 8, 4]],[[11, 2],[10, 0],[ 2,10],[11,14]],
  [[ 5, 7],[14, 5],[ 0, 9],[ 4, 2]],[[ 1, 7],[13, 4],[ 2, 3],[13, 3]],[[ 3,14],[ 3,10],[ 7, 4],[12, 8]],[[ 6, 0],[ 3, 9],[ 1, 8],[12, 7]],
  [[ 4,14],[14,10],[ 5, 0],[ 9, 3]],[[14, 3],[ 3,12],[11, 3],[ 9, 1]],[[ 3, 3],[13, 6],[ 2,12],[ 7, 6]],[[ 3, 2],[11, 8],[ 4, 8],[ 8, 0]],
  [[ 7, 2],[ 2, 4],[ 8,11],[12,10]],[[ 8, 1],[ 9, 7],[ 8,12],[13, 7]],[[15, 7],[13, 8],[10,11],[ 2, 2]],[[ 6, 1],[ 8, 6],[ 8, 7],[ 0, 6]],
  [[ 4, 4],[10, 2],[ 4, 1],[ 4, 5]],[[ 5, 2],[ 6,10],[14, 6],[ 9, 4]],[[ 5, 5],[10, 6],[ 5, 3],[ 7,13]],[[12,13],[ 3, 1],[14, 8],[ 5,12]],
  [[ 5,15],[ 8,15],[11, 6],[12,11]],[[ 3, 8],[12,14],[ 6, 9],[ 6, 5]],[[ 0, 7],[ 3, 5],[ 7,11],[ 1, 6]],[[ 6, 7],[ 4, 6],[12, 6],[ 2,11]],
  [[13, 2],[ 6, 3],[10, 9],[10, 4]],[[ 6,15],[ 8, 9],[13,10],[ 8, 8]],[[ 8, 5],[10, 5],[ 5,11],[15, 6]],[[ 4, 7],[ 0,10],[ 8, 2],[10,13]],
  [[11, 4],[13,11],[14,11],[ 5,10]],[[12, 1],[ 7, 7],[14, 7],[14,12]],[[ 6,11],[ 5, 9],[ 3,13],[ 9,13]],[[ 7, 8],[10,10],[ 7, 3],[ 7,15]],
  [[ 9,11],[ 6, 6],[ 4,11],[ 2,13]],[[ 7,12],[11,11],[ 9,14],[ 7, 1]],[[15,10],[ 2, 8],[ 1, 5],[ 9, 0]],[[15, 8],[10,14],[10, 7],[ 9,12]],
  [[ 1,10],[ 9, 5],[15, 9],[ 1,11]],[[ 0, 5],[ 6,14],[ 1, 4],[ 7, 5]],[[ 1,12],[ 9,15],[10,15],[ 5, 8]],[[ 5, 6],[12,12],[11,10],[12, 3]],
  [[ 9, 6],[ 6,12],[ 7, 0],[12, 5]],[[11,13],[ 8,10],[ 2, 7],[ 6,13]],[[13,13],[ 9, 9],[ 2, 9],[12, 4]],[[ 5,13],[13,12],[ 2, 6],[ 6, 4]]
 ]"
 i:image[16,16] each v in t i[v]:1 end i
end
brush[on airbrush do random[softlarge] end]

sumis:"%J" parse "[
 %%IMG0AA0ADQ+AP+B/8H/w//j/+P/4//j/+H/wf/A/4A+A,
 %%IMG0AAwADB+AP8B/4P/w//D/8P/w//D/8H/gP8AfgA==,
 %%IMG0AAsACx8AP4B/wP/g/+D/4P/g/+B/wD+AHwA=,
 %%IMG0AAoACh4Af4B/gP/A/8D/wP/Af4B/gB4A,
 %%IMG0AAkACT4AfwD/gP+A/4D/gP+AfwA+AA==,
 %%IMG0AAgACDx+/////348,
 %%IMG0AAcAB3z+/v7+/nw=,
 %%IMG0AAcABzh8/v7+fDg=,
 %%IMG0AAYABnj8/Pz8eA==,
 %%IMG0AAYABjB4/Px4MA==,
 %%IMG0AAUABXD4+Phw,
 %%IMG0AAQABGDw8GA=,
 %%IMG0AAMAA+Dg4A==,
 %%IMG0AAMAA0DgQA==,
 %%IMG0AAIAAsDA,
 %%IMG0AAEAAYA=,
]"
brush[on sumi delta do sumis[ 5+9&.5*mag delta]end]

brush["eraser" image[11,11].map[() 1]]
{end}

{contraption:wigglyPalette}
size:[100,100]
resizable:1
margin:[1,1,1,1]
description:"Choose from a selection of 5-color palettes compatible with other wiggly components."
version:1
script:"wigglyPalette.0p"
template:"on change do\n \nend"
attributes:{"name":[],"label":[],"type":[]}
{widgets}
p:{"type":"grid","size":[100,100],"pos":[0,0],"locked":1,"headers":0,"lines":0,"widths":[0],"format":"ss","value":{"palette":["FFFFFF|000000|FF0097|0097FF|FFFF00","fbbbad|292831|ee8695|4a7a96|333f58","faf5d8|21181b|d8ae8b|cd5f2a|f2ab37","f0eff4|6b61ff|8ecde6|66a1ff|fadda2","f3eded|82939b|fda9a9|96beb1|b9eedc","d1bfb0|392b35|bb474f|486b7f|7a9c96","d8bfd8|74569b|ffb3cb|96fbc7|f7ffae","effafa|0e0e0e|e624af|3df9ea|5433be","eaf0d8|1f1f29|413a42|596070|96a2b3","e2e9e9|232221|cb2f2c|1b96ba|f1be43","ededde|804776|dd8d9a|c7c6c1|c15c80","e3f6d5|873131|ec6f1c|9ce77f|f6ae3c","eabe7b|580a5c|db8951|8d1c7a|b45b27","ffeaff|4c3299|ef833e|99d7d7|ffe17f","ffdae8|480a30|ff80ae|ff327c|b41360","ffe8e1|292b30|ab6c84|613854|ffc4d1","8767bd|000000|fe0094|70b9fb|5f4886","d3d6b2|4c282f|554c80|569bc9|84cec9","fadd93|2e0d20|8f3808|451c1c|cf7a3a","d4e2cc|17152e|e43254|3c566c|84aea4","b9eba7|0c1024|057f8e|0a3354|04c894","fcbbab|000000|b96889|19112b|583163","ecece0|3b3149|d47563|5c6181|ecc197","f6ebc3|4e1826|6b3e3f|8b8571|b8b98a","f6f0f7|12223c|104a7d|45a9ff|f6d76b","cfc420|51244a|f5bb75|36642b|73a527","d6dea5|442252|61433c|807456|adab8e"],"name":["default                 ","twilight 5              ","nicole punk 82          ","capp-5                  ","marumaru gum            ","retrotronic             ","blessing                ","neo-5                   ","ink                     ","theory of 5             ","sashimi                 ","autumn birch            ","pb and j                ","leon soul               ","5 sheep                 ","juliet                  ","neon moon tarot         ","cyber ping pong         ","ru5ty                   ","a blood-steeped corridor","silent five             ","sweetdusk-5             ","+100                    ","woodland 5              ","infinite ikea           ","chaos                   ","cold sands              "]},"row":0}

{script:wigglyPalette.0p}
on view do
 p.show:card.show
 p.font:card.font
end

on click row do
 idx:32,47,36,39,33 # bg, fg, magenta, cyan, yellow
 each color i in "|"split me.rowvalue.palette
  patterns[idx[i]]:"%06H" parse color
 end 
 card.event["change"]
end

{end}

{contraption:wigglyCanvas}
size:[100,100]
resizable:1
margin:[1,1,1,1]
description:"A simple wiggly drawing surface compatible with wigglyPlayer."
version:1.1
script:"wigglyCanvas.0p"
template:"on stroke_start do\n \nend\n\non stroke_end do\n \nend"
attributes:{"name":["border","temp"],"label":["Border","Template Background"],"type":["bool","bool"]}
{widgets}
c:{"type":"canvas","size":[100,100],"pos":[0,0],"animated":1,"volatile":1,"border":1,"brush":1,"scale":1}
fr:{"type":"field","size":[100,20],"pos":[0,-77],"locked":1,"show":"none","value":{"text":["","i","i","i"],"font":["","","",""],"arg":["","%%IMG2AGQAZAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wA3","%%IMG2AGQAZAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wA3","%%IMG2AGQAZAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wA3"]}}
sfx:{"type":"grid","size":[100,31],"pos":[0,-49],"locked":1,"show":"none","format":"ss","value":{"name":["pen1","pen2"],"data":["%%SND0B/307ers8vsDDRMWEwwC+fDq6Oz0/wsUGRkSB/vv5uPm8P4MGB8eFQj46eDd4/ECEyAkHxIA7uDa3en8Dh4lJBgG8+La2uX2CBojJB0N++rf3OLvAA4aHhwTB/nv5+fs9P8HDhANCQL//Pv7/P8AAQMC//v49fX2+wAGDBAREA4KA/317uro6u3x+P8FCxAUFxgXEgwE/vbw7Onp6evw9PoABAkNERMVFRQRDAcB/ffy7+zr6+zv8vf7AAQIDRATFBQTEAwIAv769PDt6+vr7fD0+f4DCA0RFBUVFBENCAP++fPv7Orq6u3w9Pr/BAkOERMUFBMRDQgD//r18e7t7Ozu8fT4/P8DBgkLDA0NDAsJBgQDAgD+/fv6+vn5+fr6+/z9/v//AAAAAQIDBAMCAQEAAP/+/vz9/Pz8/Pv8/fz9/f7/AP8AAAAAAgMEBQQEBAQFAwMDBAMCAwICAQABAAAAAQEAAQAAAP/+/v3+/fz9/Pz8/Pz8/Pz8/Pv8/f38/v79////AAAAAAABAQECAQMCAgMEAwMDAwMDAwMDAwQCAwIDAgIBAQIBAAEAAAAAAAD+//7+/f7+/f39/f39/fz7/Pz8/P39/f39/f38/f7+/v7+/f/+","%%SND0AAAA/wAAAAAAAAABAAD////+/wAAAAABAAD////+AAABAAAAAAD+//8AAAAAAAAA/wAAAAAA/wAA/wAAAAECAQD+/fz9/wADBQQB//v4+f0CBggGAvz39vj/BgkJBP749vj/BggIAv35+f0AAwQBAP3+AAAA/v0AAgUEAPr2+AAIDQf+8/D3Aw4RCPnu7vkIEhEE9evu/AsUEQLz6+/8DBQRA/Tr7vkIExQK+u7r8v8NFBIG9+3r8gANFRMJ++/q7/oHEhUQBPbs6vD8CBMVEQX47eru+AUPFBMK/vLr7PP+CRETDgT78u/x+QMMEA4H/fTv8PkCCw8NBf318fT7AwkKCAL8+Pj8AAMEAwD+/wACAgD8+fk="]}}
tb:{"type":"button","size":[60,20],"pos":[0,148],"locked":1,"show":"none","style":"check"}
cbo:{"type":"button","size":[100,20],"pos":[154,0],"locked":1,"show":"none","style":"check","value":1}
cp:{"type":"field","size":[100,20],"pos":[154,32],"locked":1,"show":"none","style":"plain","value":"1"}
cbr:{"type":"field","size":[100,20],"pos":[154,63],"locked":1,"show":"none","style":"plain","value":"3"}

{script:wigglyCanvas.0p}
on frames do fr.images end
on get_value do
 r.frames:frames[]
 r.order:range count r.frames
 r
end
on set_value x do
 if x.frames fr.images: x.frames end
end

on drag x do
 if !card.locked
  fr:frames[]
  c.pattern:get_pattern[]
  c.brush:get_brush[]
  o:if pointer.down x else pointer.prev-card.offset end
  each f in fr
   c.paste[f]
   c.line[o random[-1,0,1 2]+x]
   f.paste[c.copy[]]
   if tb.value
    f.paste[deck.card.image.copy[card.pos card.size] 0,0 1]
   end
  end
  if !app.playing
   play[sound[random[sfx.value.data]]]
  end
 end
end
on click x do
 if !card.locked
  card.event["stroke_start"]
  drag[x]
 end
end
on release x do
 if !card.locked
  card.event["stroke_end"]
 end
end

on view do
 f:frames[]
 c.border:cbo.value
 c.show:card.show
 c.clear[]
 i:f[(count f)%sys.frame/5]
 i.size:c.size
 c.paste[i]
end

on get_animate do view end
on get_border do cbo.value end
on set_border x do c.border:x cbo.value:c.border end
on get_brush do 0+cbr.text end
on set_brush x do c.brush:x cbr.text:c.brush end
on get_pattern do 0+cp.text end
on set_pattern x do c.pattern:x cp.text:c.pattern end
on get_temp do tb.value end
on set_temp x do tb.value:x end
on get_clear do
 on clear do
  fr.value:raze rtext.cat @ (3 take image[])..copy[]
 end
end
{end}

{contraption:wigglyPlayer}
size:[100,100]
resizable:1
margin:[1,1,1,1]
description:"A viewer and storage location for wiggly animations, which is also suitable as a \"Fancy Puppet\" for use with Puppeteer."
version:1.2
script:"wigglyPlayer.0p"
template:"on click do\n \nend\n\non drag do\n \nend\n\non release do\n \nend"
attributes:{"name":["border","draggable","stretch","frames","order_text"],"label":["Border","Draggable","Stretch to Fit","Frames","Frame Order"],"type":["bool","bool","bool","rich","string"]}
{widgets}
c:{"type":"canvas","size":[100,100],"pos":[0,0],"locked":1,"animated":1,"volatile":1,"script":"wigglyPlayer.1p","border":1,"scale":1}
fr:{"type":"field","size":[100,20],"pos":[0,-77],"locked":1,"show":"none"}
or:{"type":"field","size":[100,20],"pos":[0,-49],"locked":1,"show":"none","style":"plain"}
fl:{"type":"button","size":[60,20],"pos":[0,148],"locked":1,"show":"none","style":"check"}
em:{"type":"field","size":[100,20],"pos":[109,-49],"locked":1,"show":"none","style":"plain"}
cbo:{"type":"button","size":[100,20],"pos":[109,0],"locked":1,"show":"none","style":"check","value":1}
cst:{"type":"button","size":[100,20],"pos":[109,31],"locked":1,"show":"none","style":"check","value":1}
cd:{"type":"button","size":[100,20],"pos":[109,61],"locked":1,"show":"none","style":"check","value":0}

{script:wigglyPlayer.0p}
on frames do fr.images end
on order  do or.data end

on set_value x do
 if x.frames fr.images:x.frames..copy[] end
 or.data: (range count x.frames) unless x.order
end
on get_value do
 r.frames:frames[]
 r.order :order[]
 r
end

on view do
 f:frames[]
 o:order[]
 c.border:cbo.value
 c.show:card.show
 c.draggable:cd.value
 c.clear[]
 if count f
  i:f[o[(count o)%sys.frame/5]]
  i:if fl.value i.copy[].transform["horiz"] else i end
  if get_stretch[]
   c.paste[i 0,0,card.size]
  else
   c.paste[i .5*c.size-i.size]
  end
 end
end

on get_border do cbo.value end
on set_border x do c.border:x cbo.value:c.border end
on get_stretch do cst.value end
on set_stretch x do cst.value:x end
on get_frames do fr.value end
on set_frames x do fr.value:x end
on get_order_text do "," fuse order[] end
on set_order_text x do or.data: 0+"," split x end
on get_animate do view end
on get_flip do fl.value end
on set_flip x do fl.value:x end
on get_emotes do em.data end
on set_emotes x do em.data: x end
on set_emote x do or.data:() unless get_emotes[][x] end
on get_draggable do cd.value end
on set_draggable x do cd.value:x end

{end}

{script:wigglyPlayer.1p}
on click pos do
 card.event["click" pos]
end
on drag pos do
 if get_draggable[]
  card.pos:pos+(pointer.pos-pointer.start)
  me.pos:0,0
  card.event["drag" pos]
 end
end
on release pos do
 if get_draggable[]
  card.event["release" pos]
 end
end
{end}

{contraption:wigglyModal}
size:[512,342]
margin:[0,0,0,0]
description:"a full-featured wiggly image editor, designed to be overlaid on a card like a non-blocking modal dialog."
version:1.1
image:"%%[encoded data, 13004 characters]"
script:"wigglyModal.0p"
template:"on finish do\n \nend"
attributes:{"name":[],"label":[],"type":[]}
{widgets}
zone:{"type":"button","size":[320,200],"pos":[52,63],"show":"none"}
done:{"type":"button","size":[74,43],"pos":[403,269],"script":"wigglyModal.1p","style":"invisible"}
clear:{"type":"button","size":[95,33],"pos":[29,273],"script":"wigglyModal.2p","style":"invisible"}
oops:{"type":"button","size":[72,50],"pos":[235,269],"script":"wigglyModal.3p","style":"invisible"}
crop:{"type":"button","size":[83,53],"pos":[147,267],"script":"wigglyModal.4p","show":"invert","style":"invisible"}
c:{"type":"canvas","size":[320,200],"pos":[52,63],"locked":1,"animated":1,"volatile":1,"brush":1,"scale":1}
fr:{"type":"field","size":[24,20],"pos":[49,25],"locked":1,"show":"none","value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AUAAyAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/APo=","%%IMG2AUAAyAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/APo=","%%IMG2AUAAyAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/APo="]}}
hist:{"type":"field","size":[24,20],"pos":[81,25],"locked":1,"show":"none","value":{"text":["i","i","i"],"font":["","",""],"arg":["%%IMG2AUAAyAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wBwAQMA/wA9AQUA/wA9AQQA/wA/AQEA/wD/AP8AxQEBAP8APwEDAAEBBAD/ADoBAQABAQYA/wA7AQYA/wA7AQYABAEBAP8ANwEHAAEBAwD/ADYBCwD/ADUBBAACAQUA/wA2AQMABAEFAP8ANgEDAAQBBQD/ADYBAQAHAQQA/wA+AQQA/wA+AQUA/wA+AQQA/wA+AQQA/wA+AQUA/wA9AQUA/wA+AQQA/wA+AQUA/wA9AQUA/wA+AQQA/wA+AQQA/wA+AQUA/wA9AQUA/wA+AQQA/wA+AQUA/wA9AQUA/wA+AQQA/wA+AQQA/wA+AQUA/wA+AQQA/wA+AQQA/wA+AQUA/wA9AQUA/wA+AQQA/wA+AQUA/wA9AQUA/wA+AQQA/wA+AQQA/wA+AQUA/wA+AQQApgEDAJQBBACgAQkAlAEFAJYBEgCUAQUAhwECAAQBFQACAQMAlgEEAIIBGgAHAQMAlwEEAHwBFwAQAQMAlwEFAHgBCwABAQUAGAEDAJkBBAB1AQkAIwEDAJkBBABwAQEAAQEIACYBBACZAQUAbQEHACsBAwCbAQQAbQEEAC0BAwCcAQQAbQEBAC8BAwCdAQUAmwEDAJ4BBQCaAQMAoAEEAJkBAwChAQQAmAEDAKIBBQCWAQMApAEEAJUBAwClAQQAlAEDAKYBBQCSAQMApwEFAJIBAwCoAQQAkQEDAKkBBACQAQMAqgEFAI4BAwCsAQQAjQEDAK0BBACMAQMArgEFAIoBAwCwAQQAiQEDALEBBACIAQMAsgEFAIYBAwCzAQUAhQEDALUBBACEAQMAtgEEAIIBAwC4AQUAgAEDALoBBAB+AQMAvAEEAH0BAwC9AQUAegEDAMABBAB5AQMAwQEEAHgBAwDCAQQAeAEBAMQBBQD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAD/AD4BBAD/AD4BBQD/AD4BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAD/AD4BBAD/AD8BBAD/AD4BBAA5","%%IMG2AUAAyAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AMAEBAP8APwEDAP8APQEEAP8APgEEAP8APwEBAP8A/wD/AMUBAQD/AD8BAwABAQQA/wA4AQMAAQEGAP8AOAEBAAMBBQD/ADsBCAACAQEA/wA3AQsA/wA2AQoA/wA2AQwA/wA1AQUAAQEHAP8ANQEDAAMBBwD/ADUBAQAFAQcA/wA8AQcA/wA7AQcA/wA7AQcA/wA8AQcA/wA7AQcA/wA7AQcA/wA7AQcA/wA8AQcA/wA7AQcA/wA7AQcA/wA8AQcA/wA7AQcA/wA7AQcA/wA8AQYA/wA8AQcA/wA7AQcA/wA8AQYA/wA8AQcA/wA7AQcA/wA7AQcA/wA8AQYA/wA8AQcA/wA7AQcA/wA8AQYA/wA8AQcA/wA7AQcA/wA8AQYA/wA8AQYA/wA8AQcA/wA7AQcApQEDAJMBBgCfAQkAkwEHAJUBEQCUAQcAjAEVAAIBAwCVAQYAhQEWAAcBAwCWAQYAfgEUABABAwCWAQcAdwERABkBAwCXAQYAdAENACABAwCXAQYAcQEJACYBAwCYAQcAbgEFACsBBACZAQYAbAEEAC0BAwCbAQYAbAEBAC8BAwCcAQcAmgEDAJ0BBwCZAQMAnwEGAJgBAwCgAQYAlwEDAKEBBwCVAQMAowEGAJQBAwCkAQYAkwEDAKUBBwCRAQMApwEGAJABAwCoAQYAjwEDAKkBBgCOAQMAqgEHAIwBAwCsAQYAiwEDAK0BBgCKAQMArgEHAIgBAwCwAQYAhwEDALEBBgCGAQMAsgEGAIUBAwC0AQYAgwEEALQBBgCCAQMAtgEGAIEBAwC3AQcAfgEDALoBBgB8AQMAvAEGAHsBAwC9AQYAeQEEAL8BBgB4AQMAwAEGAHgBAQDCAQYA/wA9AQYA/wA8AQYA/wA8AQYA/wA9AQUA/wA9AQYA/wA8AQYA/wA8AQYA/wA9AQYA/wA8AQYA/wA8AQYA/wA9AQUA/wA9AQYA/wA8AQYA/wA9AQUA/wA9AQYA/wA8AQYA/wA8AQYA/wA9AQUA/wA9AQYA/wA8AQYA/wA9AQUA/wA9AQYA/wA8AQYA/wA9AQUA/wA9AQUA/wA9AQYA/wA9AQUA/wA9AQUA/wA9AQYA/wA8AQYA/wA9AQUA/wA9AQUA/wA9AQYA/wA9AQUA/wA9AQUA/wA9AQYA/wA9AQUA/wA9AQUA/wA9AQUA/wA9AQYA/wA9AQUA/wA9AQUA/wA9AQYA/wA9AQUA/wA9AQUA/wA9AQUA/wA+AQUA/wA9AQUA/wA9AQUA/wA9AQYA/wA9AQUA/wA9AQUA/wA9AQUA/wA+AQUA/wA9AQUA/wA9AQUA/wA+AQUA/wA9AQUA/wA9AQUA/wA+AQQA/wA+AQUA/wA9AQUA/wA9AQUA/wA+AQUA/wA9AQUA/wA9AQUA/wA+AQQA/wA+AQUA/wA9AQUA/wA+AQQA/wA+AQUA/wA9AQUA/wA9AQUA/wA+AQUA/wA9AQUA/wA9AQUA/wA+AQQA/wA+AQUA/wA9AQUA/wA+AQQA/wA+AQUA/wA9AQUA/wA9AQUA/wA+AQQA/wA+AQUA/wA9AQUA/wA+AQQA/wA+AQUA/wA9AQUA/wA+AQQA/wA+AQQA/wA+AQUA/wA+AQQA/wA+AQQA/wA+AQUA/wA9AQUA/wA+AQQAOQ==","%%IMG2AUAAyAD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wBwAQIA/wA+AQQA/wA+AQQA/wA+AQIA/wD/AP8AxQEBAP8APwEDAAEBAwD/ADkBAwABAQUA/wA5AQEAAgEGAAMBAQD/ADYBDAD/ADYBDAD/ADUBCwD/ADYBDAD/ADUBAwADAQcA/wA0AQQAAwEHAP8ANAECAAUBBwD/ADwBBwD/ADsBBwD/ADsBBwD/ADwBBwD/ADsBBwD/ADsBBwD/ADsBBwD/ADwBBwD/ADsBBwD/ADsBBwD/ADwBBwD/ADsBBwD/ADsBBwD/ADwBBgD/ADwBBwD/ADsBBwD/ADwBBgD/ADwBBwD/ADsBBwD/ADsBBwD/ADwBBgD/ADwBBwD/ADsBBwD/ADwBBgD/ADwBBwD/ADsBBwD/ADwBBgD/ADwBBgD/ADwBBwD/ADsBBwCiAQYAkwEGAJsBDQCTAQcAkgEUAJQBBwCFAQIABAETAAIBBgCVAQYAgQEWAAsBAwCWAQYAewEUABMBAwCWAQcAdwEKAAIBBAAZAQMAmAEGAHQBCQAjAQMAmAEGAHEBCAAnAQMAmAEHAG4BBQArAQMAmgEGAGwBBAAtAQMAmwEGAGwBAwAtAQMAnAEHAGsBAQAuAQMAnQEHAJkBAwCfAQYAmAEDAKABBgCXAQMAoQEHAJUBAwCjAQYAlAEDAKQBBgCTAQMApQEHAJEBAwCnAQYAkAEDAKgBBgCPAQMAqQEGAI4BAwCqAQcAjAEDAKwBBgCLAQMArQEGAIoBAwCuAQcAiAEDALABBgCHAQMAsQEGAIYBAwCyAQYAhQEDALQBBgCDAQQAtAEGAIMBAwC1AQYAgQEDALcBBwB/AQMAuQEGAH4BAwC6AQYAfAEEALsBBgB6AQQAvgEGAHcBBQC/AQYAdgEEAMEBBgB2AQEAxQEGAP8APAEGAP8APAEGAP8APQEFAP8APQEGAP8APAEGAP8APAEGAP8APQEGAP8APAEGAP8APAEGAP8APQEFAP8APQEGAP8APAEGAP8APQEFAP8APQEGAP8APAEGAP8APAEGAP8APQEFAP8APQEGAP8APAEGAP8APQEFAP8APQEGAP8APAEGAP8APQEFAP8APQEFAP8APQEGAP8APQEFAP8APQEFAP8APQEGAP8APAEGAP8APQEFAP8APQEFAP8APQEGAP8APQEFAP8APQEFAP8APQEGAP8APQEFAP8APQEFAP8APQEFAP8APQEGAP8APQEFAP8APQEFAP8APQEGAP8APQEFAP8APQEFAP8APQEFAP8APgEFAP8APQEFAP8APQEFAP8APQEGAP8APQEFAP8APQEFAP8APQEFAP8APgEFAP8APQEFAP8APQEFAP8APgEFAP8APQEFAP8APQEFAP8APgEEAP8APgEFAP8APQEFAP8APQEFAP8APgEFAP8APQEFAP8APQEFAP8APgEEAP8APgEFAP8APQEFAP8APgEEAP8APgEFAP8APQEFAP8APQEFAP8APgEFAP8APQEFAP8APQEFAP8APgEEAP8APgEFAP8APQEFAP8APgEEAP8APgEFAP8APQEFAP8APQEFAP8APgEEAP8APgEFAP8APQEFAP8APgEEAP8APgEFAP8APQEFAP8APgEEAP8APgEEAP8APgEFAP8APgEEAP8APgEEAP8APgEFAP8APQEFAP8APgEEADk="]}}
sfx:{"type":"grid","size":[100,20],"pos":[114,25],"locked":1,"show":"none","format":"ss","value":{"name":["boom","pick","snap","cancel","scratch","click","wipe","wipe","wipe","stip","stip","stip","erase","erase","squeak","squeak","pencil","pencil","spray","spray","pen","pen"],"data":["%%[encoded data, 7644 characters]","%%SND0RTw5My0oIRsVDwkD/vjx6+Xf2dLMxrvsQzo2LykjHBYQCgP++PHr5N3X0MnFviBCOTErJR4XEQoE/vfw6ePd1s/HwdtEPDUuJyAZEwwF//fw6uPc1M3Gvv5HOTIqIx0WDgcA+vLr49zVzsaxIj04MCgiGhILA/327ube18/JugFFNzApIRkRCQL79Ovj29TLxrxPNjIrIxsSCwP89Ovj29PKvudBNzEoIBgQB//37+fd1czJwUc5MSkgFw8G//bt5NzTyL78QzctJBwTCgH58Ofe1cq+9EA2LiQbEggA9+7l29HIwCA8MykgFgwD+vHn3tTMvg5CMykfFQwC+e/l3NHIvj00MCUbEQf+9Onf1cy8EkAxJhwSB/706t/Uy8MiOzAlGg8F+/Dl2s7E5z80KR8UCf/06N3RyNc7NSseEwj/8+jdz8naSTMnHBAF+u/j18+4LzcsIBUJ/vPn3M+5GjYuIRUK//Po3NLBEzoqHxIH/PHk2MzWNS8lGQ0B9urf1LsjMygcEAT67eHXxQU6KBwQBPnu4dfHEDYmGg0B9+re1co0LCEUCP3x5drKBDYkGAwA9Ondz+s7JRoOAfbq3s3xNSQZDQD16dvLBTAkFgr+8ubczCUpHRAE+Ozgzv4uIBQI/fHj29Y0IxcK//Pm2tgtIhgLAPPn38s5IRYJ/vLk2ektHxMH+u7izBckGg0B9ejc3TIcEgb67uTOICIWCf7x5tYGKBcLAPPn2vsrGAsA8+jZACgXCv/y59gQIxQH++/m0ywbEAL369z5JxUK/vLl1igYDwL36tkKHxQG++3j6ygVCf3x59wtFAr+8+kKEAwIBAH++/f0","%%SND0yGGcWsI4yvM7AeQEtV/cE8/ofJ4nzRsF5Du+/CHyJd0W2WnI4S391we7f6JL1BT84jDrJqcBdIF9FK8JtnclwRPeATfsdoT9Dw/ILQ74tH+BuH2cD2qBc6BGKNwh/M0q5wISB9TZNpFM57Y9vjlHmz/wL7U+5Pz89SAMmF6sF0PrwAflIwUP9gHFTRnrCOgZxnKLKBHGTc3nLAPANvrQf9rGFRSmfK4S6xsC2lazCgb/DPnWTfDEYMv+/gU3G7rkKuD6UePe9EjU6icT2Qz6B+oDJP/FRcsB7ifyAAsF1hwU0/Yl8/oU8fsO6Rru/yXk8DHGLOPlMRbd8gkKCd8T+BfmINzvIucI+AXrABEqzvchAt0SEA3FPOABEADuDuz+CgIV3v0P7/oo998PBvvmN/vaEPLxG/8I1h8F2w4NCgrXCwz49hMJ7CO+Ucn4AyXSGt8n5RTeFg/cJe/7F8cqAfcN9uoJFuoU3w7x/hAV2w/y/P4T5y7c/R3WEAsa1gjwIfAj5+Qe5hIJ2yj7zSUS4u8k4Qor4AH/CPQP6xnMMhPeBe78GPj5/fsBIvnt9fsMDvvw+vsc/ADlEf4X4Q/v/Bb8/Q/nAgfzFgLy+gvrDAUK7AjvAv4=","%%SND0RT48ODQuKiYhHRkVEAwIAwD8+PTw7Ojk4NzX09DMyMTAuO9JPTs3My8rJyIeGhcTDwsHAwD8+PXx7erm4t/a1tPPzMjFwcOvTD4+OjYyLysnIx8bGBQQDQkGAf/7+PTx7erm4t/b2NTRzsrHwsC6500/PTk2Mi4qJyQgHBkWEQ4LBwMA/vr28+/s6OXh3trX1NDMycXCvroKR0E8OTUyLismIyAcGBUSDgsHAwD9+vbz7+zo5eHd2tbTz8zIxcG9w0Q+Pzs3NDAsKCUhHhoXExALCAQA/vr38vDr5+Tg3dnV0s3JxsK+vjBAQDo3My8sKCQgHRkUEQ0JBQH/+/fy7uvn49/b19PPysbCv8s4QT45NTEtKSUhHRkVEAwIBAD9+PTw7Ojj3trV0c3Iw8HDL0I+OTQwLCciHhoVEQwIAwD79vHt6OPf2tXQy8bCuwZIPjk0LyolIRwXEg0JAwD69fDr5eDb1tDLxcW1PT87NTEsJiEbFhEMBgH89/Hr5eDa1c/JxbgIRzs2MSslHxoUDggC/vjy6+bf2dPNxsTJRj04MSslHxgSDQYA","%%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+f3+/QADAwIA+gEEBQQB+/v9AQADBAQC//0A/fn4+/z+AQMFBP77AAAAAgL//QADAP78AQMFBP719P4FAwEDBgUB/Pr6/P77+wADAAIEBgcCAP34+P7+/wEA+vj9AQMB/v///vz6/wUJBwcGBAH//Pn+AAAABAD//fz7/wAAAAD/AAIAAf77/AADAgQDAQEA/vz//gAA/v3+/f4AAAAB/v38/wECAwAAAAIA//4A//8AAQH+/P3/AQICAP///gAB/wD/+/3+/gAAAQMDAgICAP8AAAIA+/z8+fr/BQcFAwH//P0A/wEFBgIAAAAB/v8AAgL++/v7+vz+AAD//wECAgD9/f///wAB//7+/f3+/wAAAQMFBgQA/v4AAwUDAQMBAP7//wD+/fz//wAAAQEA/v3///7//wD//v7+////AP/++/v+AP/9/v39AAMGBgUDAgMBAgIBAf/+/v3//f79/wAAAgECAP/+/f4BAwMBAP7+/v8BAgIAAP/+/Pv+AAD+/f8A/wAA/wECAgIBAQMDAgEAAAD//v4AAP36+vv8AAAA/v39/wAAAAD///7+/vz9/QAAAAIBAQIBAQAA//4AAgEAAAABAAAAAAD/AAAAAP8A/v7+/wAAAQEDAgIDBAQDAQAA/v79/w==","%%SND0Cu0S9vwL7xD3AAfyDPr+BvQH//sK9Af/9g7yC/3yE+4Q+vEX7RD49w/yDPn/BPkG/AAA/gE=","%%SND0gX95f0KHhIWDQn99fxeBhIKBX3h/fFaOgoGD2H99eX/UgYKEgWB5fn5njoeBgaNre397W5CCgYaWbX5/d3aUgYGIgVp/fnh/uYGChYEaf318fwyBhIKBtn96fXt0noKChIEcf3x8fyCBhYKDmmx8fXp/0oGCg4Hgf3t9fGSagYGFgSd/fXx/I4GDgoSYYX9+en/VgYKDgfN/fH19T5CCgYWIVH9+eX/XgYKEgQJ/fHx/GoGFgoHLf3l+f0GBhoGBunx5f39IiYSBgcB1fX1+I4SBhIEHf316f9GBgoGhb3l/fzeHgoSBKX9+fliSgoGBDn9+e2GWgoSBJn9+fy+BhIWSYH57f9GBgoEAfX1/LYGCgcB9e3phkYGBq355eWuUgYG1f3l8S4eBgd9/eX//gYKFPnx7dp6Bgrd2fH/7gYiCTX9/P4eHgRx/eG2cgYHyfg==","%%SND0hIGEgQd/fXp/0YGCgaFveX9/N4eChIEpf35+WJKCgYEOf357YZaChIEmf35/L4GEhZJgfnt/0YGCgQB9fX8tgYKBwH17emGRgYGrfnl5a5SBgbV/eXxLh4GB3395f/+BgoU+fHt2noGCt3Z8f/uBiIJNf38/h4eBHH94bZyBgfJ+eXypgYLjf35uoYaB5X93dq6Bge59fGuahYEKf35XkYWBJH9+PIKFi0p/fxqBhZJcfX73gYGqcnl/4IGDvHF9dcqCgcp/dX/IgYHJdXxz0IGBx2x9eOGCga5efH8LhoKTM35/Pp6BgfF2fW7ggYOjR39/RKCDgdplfnoThYWC+nB9dgCDhIn8bn12C4+Egedhf3sssIGBvDR9f1vqioOI7Vx+fzbIg4GdBGd+fCnEgYGkAWF+eDXVioKU6kV7f1D5pYGGwhdmf28s2JOBl9wtbn1gG82Tg6HkL2l5XB3Tm4mg2iBac2At6a6RmccHQ2lnQwjLoZew5SBRZ1cs872focL4LVRgSR3ouaSrzgAyUVhAFOS7qbTWBDBNUDoS5L+xudkELUdKNhDnxbe/3AMpQUMwD+nLvcbfAyU7PSwN69DEy+QD","%%SND0AwEA+/b4+wMNDQwA8+zq9AUTHRcG8+Dd6P0XJycW+9/Q1OoKKTcuEe7Owc3uFjlENhDkwLPD7BtDU0EY47emtd8YSWBUKO22maDKB0VqaUQCwZSLq+kxanxmKd6bgoe+Cll9fVsLuYWBjtYudX58SO2WgYGZ8lN/fngvy4WCgasTb35/bxGjgYKByDx+fX9a54mBgYr5aH99fy+tgYGBsjx/fn9l5IKCgogBen19fxOQgYKB1Wx9fn84mIKBgb5we35/QoqEgYHLcnx9fx2JgoSBCH99fH7UgYKBo2l6f381h4KEgSl/fn1bj4OBgRB+fntglYKEgSh/fn8ugYSFk2J+en/JgYGBAn5/ezyBg4HAfXt3bYOCgaF+eXhqiIGBrX96d16BgoHof3p/D4GCgUF6eH+BhoLBf3x/6IGIgVp/fzaGhoEvf3VggYGBMns=","%%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","%%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","%%SND0+/j/+AL+/vb/B/j5CAH4APv4/An8/wH+AP75CvkG+QPyDPj3Av7/BAf7/gL8/wYBBAMEBPgCAAD6/gX1AgAAAQj9Cv0BAv/6AvoCAAD4CQIK/P78/wD0CPgD+AMH/AD6AAACBgD69gMI+AH+Bf79AfgB9vwGAP4C/v35Af4C9Af/+f4HAP4BBQD3B/gA/AcE//wBCAEA/wP8CPkEAQL/BAIBAf8H+QT+/wD4Af4AAvsFAwT7AAEA9f8B/P3/Ce4BA/0FBfn+/gr8+P4I9QgB/fgA/wD3/wj7/gn+AAEA9vn8AvgG/AX9/v78AAABAwAE7wECAwAHAPsB8v8FAfsEAgAC/AEHAAv++vsA/goBAgH7AAQAAf0EAvoC/AgABPz/APwABP36AwD/Cvn0BwX9AwL4+Qb/AgD9Bv75Df7+/gQABQL4BAQCBPkH+v79Av4B/QAF/QMFAfr+AwL9+/cF9wcE9gb6CPv9Av0A+Ar7+gP+AgD3BP/+Af//B/r0+QgBBfr9AQIA+vwK/Pz//gP0/AEB/QAACP77+wH5APkC+Qn1Bfv1//kFA/71/AIDAfz2BwAI8AAB+QL0BvID+v8AAPcA/AD9/ggC+fsG8/oD+P379wH2CPv4BvkDAQoA/Ab5AP34AP/3Avv6CvcFBAIA/QH5CvAK/wP8/gD9Bv8A/gABCP77AQYHAAcA+QQB+wAE9Q7//vcAAAf5+Az9BfgJ/wME7QIA+f4H9gP1/Q8E/v8EAAP4+QQA/gAJ7Ab0Cv/9+gT5Af3+/fwE+wT7//75BfX/APwA+gP++wD5AAX+/wEAAPsA//z6//8A/QX3/w37/wD7BvQI+gL5/wIM9Af8/f4CAfYJ9vsG/Pz9AAP++fwF+foDBPsC+wP3APMDAP79AAUB+QL+AwEA/Qj+/vsJAPoH+AkB+v8AB/wIAwQE9Qj/AAAG/PoG+/gFA/gAAgP7BfcFAv7+APb++f3//AIEAAD9Bf77A/cBAP75/gAAAQf5AAD+Avv/AAQD/PcF+wQBAAEA/v7+/PwDAv8H8fwCCe4K/gb7BAL4/Aj3/gQC9/7/AwAFBPcA/g/5/QT2BAn8+QIBA//+A/wDBwL7AP8G9QQF+PsH9wkA/Qb+B/76/QT1/Ab+AP0G/QH7/AIAAAD5+/v9AgAAAAADAP8A/vkC/QD3Av75//4A/gAEAgD7+wIC/gEA//32BvcEAwAC/gIC+gEAAPf/AAD9A/gE+wUABP//+Ab8Af7/CvoC//oR6w3//v4G/gAC/P0J9/0KB/kE+f0BAAEDAv4AAPYJ+QUF/AD7BQD7+Aj7Bf8E+AcA//z/+QP7AQD2/AT8AfkM+Qn1/PoE+P0A+wT2BgD6+goA/gD9/gD7APsG/AQI/gD9Af//9wAD/vgF+wD7BgP7BP8AAAD79gMK9gYE9QQA/wEG+gAADP3//QAEAAUN+QgEAAED+/8H/gz1AAD7+wz5DvgDAAH4AP8D/AnzA/r5AAX4CPv7B//yBQME8wP7APcGBQD8+wD1Cfv8Bfr/9//2AgEF+wT8AfUCAwH1/vj6/v/99wX7AAAI9QL7/gP5/fsG/QHxAgL2BfX/APgI8wP+AfoF9v/7AAb7/f39+v4E9gH/APj5+/0CBvz1Bv74BAID9P75DPb+/P4CAP0AAwQF/AX6/P4E/gD9+AAC+v0ABAYA/wT+Af78DPYFAP39APcE/Qb+Agf4CvgDBgH7CfwBAPkC/QAF+gr4BvMBAQACAf8C/P0A/wL7BgH6+AMD/gIA+v0AAAX/Af/5BAL4Cf0IAP3//fsAA/4A+/0B/Qr2C/4BAwP5+QH8BgD7AQgAAQIF/wH8/gEA9wsD/A78BQP/BfoJB/kDAAAEAP4F/wMA+PwH/wEI/gABAP4A//oE/v/3AAAL+P4A/P8EAQX69QP7AAL7CgD6BvkD+wEE8wzy/PsCAP0A/gP4//4HBAL4BPYA+Af6+v8J/P7/AwEJ+gQDAwH/APYBAv8JAAX6BvsCAAL8AgH9APkI/wb+AQH9BQAD9wj9Bfv/B/oD+gED+QX+AwUC/AYF/P//+Qzz/v34A/8AAQf3BQT+AvIF/wD5+wL8/v3/Bf//AP0G+AD+A/0G+v/5AP4C/gL9AP75A/z9CPz8Af3+AwX+/Qb4AP36Av38/gD8AfwDAQD+BQL0AAL+A//8Af7+A/sCAgMG+/wA/fwEAvkH+/75B/oHAAUB+QAA+wP8Av7/9QX7BwH9BPz+/wAB+wX5AAACAPsLAvkA+f/7/wEC/gAA+gX+/AT8/Pz//wL7APsEAfgN+wP7+Pv5B/n+/v0C+v8BAvsAAP/4/v8CAvgE9gQB/AjzCvQEBvIK//gF//sE/AAJ+Ar5/QUBAPYJ+vYD+wP7+wQJ+wX4AAH1Af0AAPwCAfwF+/8E+gH1B/r+AgL7Af4DBv0B/gP2Bvz4A/sJAvn9AAAD/QUAAP/9BPUA/QP5BvYF/f0BAAH7//oA/f0D/gD9AvsA+wUA/vv+/vwAAPwH/AgB+QL7CfgD+v///gX++Ab8BAAD/gH//P8AAPgM/gX8AP0C/gb7AAD99gIA/f8GBvsE+wMA+wD9A/wA9gIBAfsFAP4C/Af3+QEAAPsF/QL+/f8B/AAAAwL4/QH5BfgG+wD6AwL8+gEE/wL/AP4AA/sC/QL+AAT9/QAE/QEAAv8FBf3/BvsC/AP2Bv0ABAL2CAAABP0A/gEA/f0B/AMB/AUA/AQD/QABAAACBPkAAPsA/wn7Bv4AAf8FAgYBAPoB/f8AAAD9B/oCA/oM/wL+APz//QMC+wEBAwAA/gAE+AIAA/n9BwD9AAby/wX6/wH7/AQA/AD/BvsE+Qb6AQIBAPYIAQL9/foDAvoCAgH7B/kL8wsH/AAD+gD/Av/9Avv8CfQJ//wF9Q0F+gT+AP3//wACAfoE","%%SND0/PP8AwUGBgYGBgYGBwcHBwcHBwgJCAgJBgIA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///+///////////////////////////////////////////////////////////////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v3+/w0fJSYlFAMA//////////////////////////////////////////////////////7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v79/P39/f39/f39/f39/f39+w41RSUD//3+/v7+/v7+/v7+/v7+/v39/P39/f39/f39/f39/f39/f39/Pv8/Pz8/Pz8/Pz8/Pz7/ApHSBMA/fz9/f37/Pz8/Pz8/Pz8/Pz8+/r7+/v7+/v7+/v7+/r6+fn/PFEZ//v7+/v7+/v7+/r6+vr6+vr6+vn4+fn5+fj6AkRQCf35+vn5+fn5+fn5+Pj4+Pj4+Pf29BNHQgL6+Pj4+Pf39/f39/Y=","%%SND0/f39/f39+w41RSUD//3+/v7+/v7+/v7+/v7+/v39/P39/f39/f39/f39/f39/f39/Pv8/Pz8/Pz8/Pz8/Pz7/ApHSBMA/fz9/f37/Pz8/Pz8/Pz8/Pz8+/r7+/v7+/v7+/v7+/r6+fn/PFEZ//v7+/v7+/v7+/r6+vr6+vr6+vn4+fn5+fj6AkRQCf35+vn5+fn5+fn5+Pj4+Pj4+Pf29BNHQgL6+Pj4+Pf39/f39/b29vb18yZSJfz39vb29vb09fX19fP29TpSCPr19PT09PTz8/Pz7xZTJfv08/Py8vLy8PLxKVYM9/Lx8fHw8PDpIUMn9/Dv7+/u7u0DUCr48O7t7e3r+0U0+u7s7Orr8CNQAu/q6unnADI69uvo6Ob3Njn36efm4CE7FOvl5eQISRHq5OTbNjT95uLgCEYJ5+DdD0AI497mHT3x4NYULg7g1wUpGt/YADMP39gKPfTc4jEa4dcVMO7UAjb1zw8hANMCMu3YECri3ykM1/wx4vEQFMohFtYGIuHyKef1Huz9FucGE+EODuQLBfgJ7A4G8gL8BgX4/gPzE+4S6xHwDPUK9gj4AwD7CPYGAPYM9gMAAPcO+/cFAAntDvcDBPEO8woH6gv//wfuCwvoBhXn/Rvu8xn1+AryFvXsH+8M9PYa6RrfGecW9A7wEeca4R/jGPMACukY8v4O7AkH7gYL9fkO//QACgD3/AQG//z7AAABAgEA/wD//wD/AAAAAP//AAEA/////wEA/v4BAv3+BP79BvoCAfsG+Qf3B/kG/QAA+wb++wUA/AL9Av4AAAD+AP4B/wAAAAAA/wAAAP8A/wD//wD/AAD/","%%SND0AAEAAAABAQAAAAAAAP////////7/AAAAAAEAAAAAAAAAAAD///7///////7/AAAAAAEBAQIBAQAAAAD///7+/v79/v7/AAAAAQIBAQEBAAAA///9/v7+/v7//wAAAQIBAQEBAQAA///9/v7+/v7//wABAQEBAQIBAAD+/f7+/v7+/wAAAQEBAQECAAD//f7+/v7+/wABAgEBAQIBAP/+/v7+/f7/AAEBAQECAQD//v7+/v7+AAECAQEBAQD//f7+/v0AAAEBAQIBAP79/v79/wABAQEBAQD+/////gABAAABAAD//////gAAAAEBAP/////+AAEAAQAAAP8AAP8AAAAAAP///wAAAAAAAP8AAAAA/wD//wAAAAAA/wAA/wAAAAAA////AQAAAP///v8BAAAA/f7+AQEBAf3+/gACAwH9/fwBAgMA/fz9AwIC/vv8AAQE//v6AAQEAPv7AAQEAPr7AAYE/vn8AgYC/Pj/BQb/+PsCBwL7+AAHBP34/gUG//f8BQcA9/wEB//4/AUI//b8BQj+9v4GBv31AAoC+/gACQL3+wQIAPf8Bwf79QEJAfn6Awn/9P0JBPr3AQkB9/oGCPz0AAoB+PoDCQD1/AgH+vUCCwD2+wUH/vT+CgX39wQLAPX8Bwf89AALAfj4AgoA9PoICfz0AAoF+fUCDAD1+gQKAPP7CAj99fwJCPvzAAoF+vMBDAP59QEMAvb3AgwC9vgCCwL29wMLAfb2AwsC9vYCDAL39QEMA/f1AAwE+PQADAb58wALCPvz/gkJ/fT7CAr/9PkGCwD29gQMA/j0AAsG+vP/CQn88/wIDP/0+QUNAPb1Aw0D+PMADAX78v4KCf3y/AgL//L5BQ0B9PcDDgL29QIOBPfzAA4F+PMADQf58f8NCPnx/w0I+vD/DQf68QAOBvnx/w8F9/MADwT19AMPAfP1Bw7+8PsLCvruAA8E9vUDDwDw+Q0K+e8EEQDw+goK+vEAEQDw+g4H9fQHDP3wABEA7/0QA/L5Cwj09QsK9vQIC/fzCQv39AgK9vYKCPT4DQP0/QwA8gQK+vYHCPT+CALzBQf5+gkA9gQF+vsJ/fsDBPkABvgBAAL3CPwAAAD//QT7AgD/AP8B/gAAAP8BAP0D/f4E+gIC9wf/+Ar5/gj0Cf/3DfQE","%%SND0A/jzAAwF+/L+Cgn98vwIC//y+QUNAfT3Aw4C9vUCDgT38wAOBfjzAA0H+fH/DQj58f8NCPrw/w0H+vEADgb58f8PBffzAA8E9fQDDwHz9QcO/vD7Cwr67gAPBPb1Aw8A8PkNCvnvBBEA8PoKCvrxABEA8PoOB/X0Bwz98AARAO/9EAPy+QsI9PULCvb0CAv38wkL9/QICvb2Cgj0+A0D9P0MAPIECvr2Bwj0/ggC8wUH+foJAPYEBfr7Cf37AwT5AAb4AQAC9wj8AAAA//0E+wIA/wD/Af4AAAD/AQD9A/3+BPoCAvcH//gK+f4I9An/9w30BATyD/QDBfIR8QcA9RDtEPUBBPIS6xTvDfkABPYM7xDtEu8Q8g3zCfUH+Af6B/kF+Qb5B/oE/AH+AAAA/wH/AvoD/wAB9gj6Bv/0DvgE//QU9/YN+AT+8xT76hgC5w8L6QUR7vsU9fIV/O8QAPUG/wAC+QYA/QH/AP4E+wAC+RDtCvYEC+wV3STjIOUK9gAN9BndH9Iu0jjONMkr0SPnEAH1HdM4uUmzRsQs6AQN5SHdG+0FA/UM9Qb9AAD/AAH8A/sG9wn6AAP6AwD8Bfz+B/cBCPIK//gJ/vgL+f0K9gAH9QQE9AcB9gr9+Ar6/Ar3AAj1AwX1BwH2Cf34C/r8CvcACPUDBfQI/f0E/f8D+gIA+wX8AAP7AwD8BfwAAf4B/AT6BfsBAP4C/gAB/QL9AAX1DfIHAPg=","%%SND0AAD//wAAAP//AAABAAAA/wD/Av8AAAD9AgD+AP8BAAD9Af8AAf/+/gEA/wX9AP77BQIFAP0A/QX8+wYEAP75//39AP/8CQL+Av39AQICBQH+CQD++f0F/QL1BgQABgD+AP8L//wC+QAFCfADAvgB+gXxC/cI8/kG/P/1A/0GC/0JAAADBQDsCgXxDfn4BAQBCPX8AvEJDfIY7AoAAgLx//ftAhAAD/fpAQYB/AoN5xIMBv4HCAYV+QD++gb9Ae8S6/4S+RX2AvAV7RDvAvEW9gAcCfT3AQTzCw396xL5AvIWD/kJ9+0Q/fn1Cgzj/NsaBt8C9QrXGfb25fQh9vr87hP5EwYA5zTt9gH6/gr6Gu0LDQ/pAQvy/wAKKOX5/PoPABP2GuEa8u0B7BzfEP3zIwPq+Rfv+SLi0hseyQ/WT+gg0yUA5SXT5vIhNv/cFcj3Jt3dNB4DFN7Z/fbRDxcgxUL6JgoYCggN/xnu5BY47ibwLN8=","%%SND0AP8L//wC+QAFCfADAvgB+gXxC/cI8/kG/P/1A/0GC/0JAAADBQDsCgXxDfn4BAQBCPX8AvEJDfIY7AoAAgLx//ftAhAAD/fpAQYB/AoN5xIMBv4HCAYV+QD++gb9Ae8S6/4S+RX2AvAV7RDvAvEW9gAcCfT3AQTzCw396xL5AvIWD/kJ9+0Q/fn1Cgzj/NsaBt8C9QrXGfb25fQh9vr87hP5EwYA5zTt9gH6/gr6Gu0LDQ/pAQvy/wAKKOX5/PoPABP2GuEa8u0B7BzfEP3zIwPq+Rfv+SLi0hseyQ/WT+gg0yUA5SXT5vIhNv/cFcj3Jt3dNB4DFN7Z/fbRDxcgxUL6JgoYCggN/xnu5BY47ibwLN8NEPnbAuj58QYYDP419uYI3NEeFBIBFKspH/0q3SftAP8JKPoh5PdO7k7VEPkT3Qj3B+MALNMtIe+6F/MjofQMHLv3Kw/oKPo71DPeExQdBNwQFgkCIcsH5wUKDcT7+vIAJdTbFwgawwTrCfLs3vrD5OwG8gH5Gu75Cx0T9xUC8+3lCxPn9RfuC/kkFAEt3wb1DSnHDwAaHfQPFAgY3PnpCeIA9xkQ8RgH8xkc9+8kAdkf7SLT6eXmxxDy+BgI1g4ANgEp7fgg2xL85SAGD78ADCf37vnzGi7nGtQzFhU1GQoE3zYQ5wgA/7vt9uIW+uwCCvjlDOkFEO8gEuvtEuUAH+nzEQ4S+SIT7uUo3ircEOsE5xLfJyED3ysu1wMQ4A8E1ir68rck/jTzP9Ud7fAZ8CIHCfoH2B0Q3h7s0AoCG9sR6/8P6+odAijW6hDyJ+H1xBvx/wruGizx/eW0Dg35+fblBPkf+QELAfP1FP//8AghF/YICSnoEez8J8YSF/II/AEHIwft/w8Q+vkG7Mk4DfkF9efcKfMAF/kUB+4S3hMpAe4X+wr8Cu0L5xH03wgL6esAGf0Z7BgE7eQVFf8BExXuBeoQ//UR3wvrAPcHCv0B/A==","%%[encoded data, 4312 characters]","%%[encoded data, 5332 characters]","%%SND0B/307ers8vsDDRMWEwwC+fDq6Oz0/wsUGRkSB/vv5uPm8P4MGB8eFQj46eDd4/ECEyAkHxIA7uDa3en8Dh4lJBgG8+La2uX2CBojJB0N++rf3OLvAA4aHhwTB/nv5+fs9P8HDhANCQL//Pv7/P8AAQMC//v49fX2+wAGDBAREA4KA/317uro6u3x+P8FCxAUFxgXEgwE/vbw7Onp6evw9PoABAkNERMVFRQRDAcB/ffy7+zr6+zv8vf7AAQIDRATFBQTEAwIAv769PDt6+vr7fD0+f4DCA0RFBUVFBENCAP++fPv7Orq6u3w9Pr/BAkOERMUFBMRDQgD//r18e7t7Ozu8fT4/P8DBgkLDA0NDAsJBgQDAgD+/fv6+vn5+fr6+/z9/v//AAAAAQIDBAMCAQEAAP/+/vz9/Pz8/Pv8/fz9/f7/AP8AAAAAAgMEBQQEBAQFAwMDBAMCAwICAQABAAAAAQEAAQAAAP/+/v3+/fz9/Pz8/Pz8/Pz8/Pv8/f38/v79////AAAAAAABAQECAQMCAgMEAwMDAwMDAwMDAwQCAwIDAgIBAQIBAAEAAAAAAAD+//7+/f7+/f39/f39/fz7/Pz8/P39/f39/f38/f7+/v7+/f/+","%%SND0AAAA/wAAAAAAAAABAAD////+/wAAAAABAAD////+AAABAAAAAAD+//8AAAAAAAAA/wAAAAAA/wAA/wAAAAECAQD+/fz9/wADBQQB//v4+f0CBggGAvz39vj/BgkJBP749vj/BggIAv35+f0AAwQBAP3+AAAA/v0AAgUEAPr2+AAIDQf+8/D3Aw4RCPnu7vkIEhEE9evu/AsUEQLz6+/8DBQRA/Tr7vkIExQK+u7r8v8NFBIG9+3r8gANFRMJ++/q7/oHEhUQBPbs6vD8CBMVEQX47eru+AUPFBMK/vLr7PP+CRETDgT78u/x+QMMEA4H/fTv8PkCCw8NBf318fT7AwkKCAL8+Pj8AAMEAwD+/wACAgD8+fk="]}}
locks:{"type":"field","size":[24,20],"pos":[223,25],"locked":1,"show":"none"}
trans_mask:{"type":"canvas","size":[80,47],"pos":[314,264],"locked":1,"script":"wigglyModal.5p","show":"none","border":0,"image":"%%IMG2AFAALyBRAQYgAQEFIAMBBCACAQIgAwECIAIBBSABAQUgAwEEIAIBBSACAQYgAQECIAMBAiABAQYgAgEGIAEBBiABAQYgAQEDIAIBAiABAQYgAQEGIAEBBiABAQYgAQEGIAEBAyACAQIgAQEGIAQBAiADAQIgAgECIAEBAiACAQIgAQEEIAEBAiABAQIgBQECIAIBAiABAQIgAgECIAEBAiACAQUgBQEEIAEBAiADAQIgAwACIAEBAiADAQUgAgEGIAEBByABAQUgAgEGIAEBBiABAQwgAgEHIAMBAiABAAQgAQECIAMBBiABAQYgAQECIAEBBCACAQUgAQEFIAIBBiABAQwgAgECIAEBBCADAQIgAQAEIAEBAiADAQIgAgECIAEBAiACAQIgAQECIAIBAyAFAQIgAQECIAUBAiACAQIgAQECIAEBAiABAQINAQEDIAIBAiACAQMgAwECIAEABCABAQIgAwECIAIBAiABAQIgAgECIAEBAiADAQIgAQEGIAEBAiAFAQIgAgECIAEBBSABAQINAgEDIAEBAiADAQIgAwECIAEABCABAQIgAwECIAIBAiABAQIgAgECIAEBAiADAQIgAQEFIAIBAiAFAQIgAgECIAEBBCACAQMNAQEDIAEBAiADAQIgAwECIAEABCAwAQQgAwEDDQIBAyANAA4BAwwiAQQgBAEDDQIBAwAZARgMDQEFIAUBAw0CAQQAFgEqIAMNAiACAQMNAwEJAA8BBgkCASEgBA0BIAQBAw0EAQkADQEFCRcBDSADDQIgBQEDDQQBCgAMAQMJHAEJIAENAiABDQEgBgEDDQUBAwkDAQQACwEDCRcBCyADDQIgAg0BIAENASAEAQMNBQEDCQQBAwAKAQMJBwEECQgBDiAFDQEgAw0DIAQBAw0FAQMJBAEDAAoBAwkGARggCA0BIAMNASAGAQMNBgEDCQMBAwAKAQMJBQEUIAgNBCABDQIgAg0BIAYBAw0GAQMJAwEDAAoBAwkEAQQgAwEJIA0NASACDQEgAQ0CIAINASAGAQMNBgEDCQMBAwAKAQMJBAEDIBIBASAHDQEgAg0BIAENASADDQEgBQEEDQYBAwkDAQMACgEDCQQBBCALAQEgBAEDIAYNASACDQEgAQ0BIAMNASAFAQQNBgEDCQMBAwAKAQMJBQEDIAQBAyADAQQgAgEDIAYNASABDQEgAg0BIAcBBQ0HAQMJAwEDAAoBAwkFAQMgAwEFIAIBBSABAQMgBQ0CIAENASACDQEgBgEGDQcBAwkDAQMACgEDCQUBAyACAQcgAQEJIAUNBCAHAQgNBwECCQQBAwAKAQMJBQEDIAEBAyACAQMgAQEJIAYNAiAHAQUNAgEDDQYBAgkEAQMACgEDCQUBAyABAQMgAgEDIAEBAyABAQUgDgEFDQMBBA0FAQIJBAEDAAoBAwkFAQMgAgEHIAEBAyACAQQgDAEFDQYBAw0FAQIJBAEDAAoBAwkFAQMgAgEHIAEBAyADAQMgCwEFDQgBAw0DAQMJBAEDAAoBAwkFAQMgAwEFIAMBASAFAQEgCgEFDQoBAw0DAQMJBAEDAAoBBAkEAQMgBQECIBMBBg0MAQQNAQEDCQQBAwALAQMJBAEDIBUBCQ0PAQMNAQEDCQQBAwALAQMJBAEDIBABDQ0RAQYJBAEDAAsBAwkEAQYgBAEUDRQBBQkEAQMACwEDCQUBGA0ZAQUJBAEDAAsBAwkGATUJBAEDAAsBBAkIATIJBAEDAAwBAwkTASYJBQEDAAwBAwk+AQMADAEDCT4BAwAMAQQJPQEDAA0BCwk0AQMADwETCQ0BIQARAT4AGgE1ACQBDQAn","scale":1}
trans:{"type":"button","size":[89,58],"pos":[311,264],"script":"wigglyModal.6p","font":"mono","show":"transparent","style":"invisible","value":0}
canv_pen:{"type":"canvas","size":[118,21],"pos":[374,56],"locked":1,"script":"wigglyModal.7p","show":"transparent","border":0,"image":"%%IMG2AHYAFQAUAR0ANQEKABkBNQAFASYAFQFiABEBByAHAQIgEgEvIA8BBgAOAQogBgEKICEBBSAVARMACgEKIAIBAiAGAQIgCAEPIBgBFCAQAQMABwEJIAYBAiAGAQIgAQEGIBEBBSACAQQgIQEBIA8BAwADAQsgCAECIAYBAiABARQgAgEGIAEBBiACAQMgAwEBIAIBDyABAQEgEwEDAAEBCyAKAQIgBgECIAEBFSABAQIgAgECIAEBDCACAQIgAgEMIBcBCSADAQMgCgECIAYBAiABAQogAQEKIAIBBSACAQIgBgEIIAEBDSAWAQMAAQELIAoBAiAGAQIgAQEWIAEBBCADAQUgAwECIAEBBSACARAgEgEDAAMBCyAIAQIgBgECIAEBFiACAQIgBAEDIAYBAiACAQQgAQEFIB0BAwAFAQ4gAwECIAYBAiAZAQIgBQEHIAIBASADAQMgBwEfAAgBECAGARogAgEBIAYBBSADAQIgBAEBIAEBBiAcAQMADQELIAUBAiArAQEgJwEDABQBECBDAQ4AGAEcICUBHAAbASQgEwEkACYBRQBAASYAYAEPACU=","scale":1}
canv_sumi:{"type":"canvas","size":[122,19],"pos":[388,77],"locked":1,"script":"wigglyModal.7p","show":"transparent","border":0,"image":"%%IMG2AHoAEwAtASEAVwECICEBFQAuAQsACAECIAEBBiABAQIgAwEVIBUBAwApAQIgCwECAAUBAiABAR4gAQEPIAEBAiACAQQgAwELABwBAiACAQsgAQEEAAIBAiABATogCwECABUBBiABAQkgBgEBIAIBAyABARMgBQEMIAEBBSACARogAgEEAAQBDSAEAQYgDgEBIAIBFCACAQcgAQEEIAEBAyADAQIgAQEBIAEBAiAIARIgBAECAAEBCCAGAQQgBwEDIAsBFiACAQcgAQEEIAIBAiABAQEgAwECIAIBBCACARkgAQECAAEBKSABARMgBgECIAIBBCABAQIgAgEGIAEBBSABARggAQEBIAEBAQAGAT0gAgECIAEBBCACAQIgAQEHIAEBBCACARcgAQEBIAEBAQAJARkgAQEGIAEBASABARcgAgECIAgBASACAQYgAgEEIAEBGSABAQEACwEJIAEBECADAQMgAQERIAQBASACAQYgAgECIAEBASABAQggAQECIAcBFwAMAQ0gBgEDIAIBBQABAQIgAQETIAMBNgAQAQkgAgEFIAMBAwAGAQIgAQFGIAEBAwAVAQ8ACQEDIAIBOCAKAQQAMAEkIAsBAiACAQEgAQEDIAQBCgA2AQQgAQERIAgBASACARsAQgEDIA8BDQBdAREANQ==","scale":1}
canv_stipple:{"type":"canvas","size":[121,21],"pos":[388,96],"locked":1,"script":"wigglyModal.7p","show":"transparent","border":0,"image":"%%IMG2AHkAFQANAQEAFQEEAF4BAwATAREATAEBAAEBAQADAQQAEgEjADcBAQACAQUAAgECABIBBCABAQEgBAE2AAMBCwANAQIAAwEcIAEBASANAUIABwEEAAIBGyABAQEgHwExAAUBASABAQUgAgEGIAEBFCANAQYgAgEEIAQBASAdAQIgDQEGAAQBFCAMAQQgAQEBIAsBBSADAQggAQECIAMBBSADAQIgAwEBIAYBBSASAQQAAwELIAEBAyACARUgCwECIAkBAiAEAQMgAgECIAIBASACAQUgAQEBIAYBAiAWAQQABAECIAEBECACAQ4gAQECIAoBBSAFAQIgBQECIAIBAiABAQIgAgECIAIBASABAQIgBgEDIBUBBAABAQcgAQECIAMBBiANAQMgAQEBIAIBAiALAQQgBAECIAUBAiADAQMgAwECIAEBAiACAQIgBQEBIBYBEiABAQ4gBQEDIAEBAiACAQIgDAECIAQBAiAGAQEgAwECIAUBAyADAQIgBQECIBIBAyABAQQAAQEjIAMBAiACAQEgBAEKIAQBASAGAQEgAwECIAUBASAGAQQgAwECIAwBBiADAQQABgEDIAEBGyADAQMgCAEGIAUBASAHAQEgAwECIAQBAiAFAQUgAgEFIBEBASABAQMABQENAAoBCiAFAQMgHQEBIAQBAiATAQIgAQELIAIBBAACAQ4AAQECABABByAEAQ4gOAEEAAIBBgADAQQAFgERIA8BEyAFAQYgAwETAAMBAwAEAQQAGAFSAAcBAQACAQQAHgFKAA0BAgApAREAEwEFAAYBBQAbAQEAbw==","scale":1}
canv_airbrush:{"type":"canvas","size":[122,35],"pos":[388,115],"locked":1,"script":"wigglyModal.7p","show":"transparent","border":0,"image":"%%IMG2AHoAIwAlAQEAdgEGAHIBBSACAQMAbgEJIAEBBABrAQsgAgEuAD0BDyABAQIgKAEZACYBOyAXAQYAIwFRIAQBBwAKAWkgAwEGAAMBHiABAVIgBAEDAAEBHyABAVYgAQECAAEBBiAEAQEgEgEDIAEBFCACAQkgBAEDIAUBAyAEAQMgAQEDIAEBBCACAQIgAQEDIAIBEyAFAQEgCQECIAoBAyACARMgAQEBIAEBBCABAQIgAgECIAIBAiABAQMgAgECIAEBAyABAQMgAQECIAIBAiABAQQgAgEDIAEBDSABAQUgAQECIAYBASARAQQgAQETIAEBAiACAQMgAQEDIAEBASACAQMgBAEEIAEBASABAQQgAgECIAIBASACAQQgBgESIAEBAyANAQEgCgEXIAIBASADAQIgAgECIAQBAyACAQIgAgECIAUBAyACAQIgAQEDIAMBAiACAQIgAgEdIBUBEyADAQEgAgECIAEBAiABAQIgAgEDIAEBBCABAQIgAQECIAIBAyACAQEgAQEFIAEBAyABAREAAgEXIAsBAiADAQ8gAQEEIAEBAiACAQIgAQECIAIBAiACAQMgAQECIAEBBCACAQMgAgECIAMBFgAEARcgBgEHIAMBAyABAQkgAQEFIAEBAiABAQIgAQEDIAIBAiAEAQQgAQEkABABDSAEAQsgAQECIAIBCCABAQggAQECIAEBByABAQcgAQEdIAEBBQAcAQMgAgEFIAEBByABAQMgAgE+IAMBBAAdAQMgAgEDIAYBCSABATwgAgEFACABAyABAQMgCAEIIAEBMiAEAQMgAgEGACEBAyABAQMgCgEGIAIBLCAFAQQgAwEFACUBBiALAQYgAQE0IAIBBgAmAQYgDAEGIAEBMCADAQYAKQEGIAsBBiABASwgBAEHACwBBSAMAQUgAQEnIAUBCAAvAQcgCgEFIAEBIiAGAQoAMgEIIAgBBSABAR8gBAEMADYBCiADAQcgAQEHIAUBDiAFAQ0AOgEnIAgBDwA9ATcARAEwAEwBJQBcAQ0AQg==","scale":1}
canv_pink:{"type":"canvas","size":[122,24],"pos":[388,149],"locked":1,"script":"wigglyModal.7p","show":"transparent","border":0,"image":"%%IMG2AHoAGAATAVMAJQFWACMBVwAiASYgHgEdAAQBAgASAQYgBAEEIAMBASABAQIgNAEBIAEBAyAFAQEgAwETAA8BByADAQogCAEhIAwBCiAFARQABQEPIAMBCiAIASYgCAEJIAYBDyQCAQMABAEMIAEBAyADAQkgCAEFJAQBECQBAQ4gBgEKIAUBBCQOAQQAAwELIAIBAyADAQggCAEFJAMBASQCAQIkAgEDJAEBBCQBAQIkAgEDJAIBCSAFAQkgBgEDJAoBCQACAQYkAwEDIAIBAyADAQggBwEGJAMBAiQBAQIkAgEDJAIBAyQCAQEkAwEBJAMBCiAEAQkgBgEDJAQBDgADAQMkAQEBJAQBAyACAQIgBAEIIAcBByQFAQIkAgEDJAIBAyQCAQIkBQEMIAMBCSAGAQMkAgEHJAYBAwACAQMkAgEBJAQBAyACAQIgBAEIIAcBByQEAQMkAgEDJAMBAiQCAQIkBQEMIAMBCSAFAQQkDwEDAAIBAyQCAQEkBAEDIAIBASAFAQggBwEHJAIBBSQDAQIkBAEBJAIBAiQCAQIkAwEKIAMBCSAFAQMkEAEDAAIBAyQCAQEkBAEDIAIBASAFAQggBwEHJAMBBSQCAQIkAgEBJAQBAyQCAQIkBAEIIAMBCSAFAQMkEAEDAAEBBCQCAQEkBAECIAMBASAFAQggCAEHJAMBBCQCAQMkAQECJAMBAyQDAQQkAQEIIAMBCSAFAQMkEAEDAAEBAyQIAQMgAgECIAQBCSAIAQYkAwEJJAEBAyQBAQYkAQENIAMBCSAFAQMkEAEDAAEBDyACAQEgBAEJIAkBKSAEAQogBAEDJAIBByQHAQMAAQEQIAcBCCAKAScgBQEKIAUBAyQGAQgkAQEDAAIBECAGAQYgAwEBIA4BICAGAQsgBAEDJAoBCAAPAQYgBQEKIAIBCSAoAQogBAEHJAgBBgAQATAgGAEEIAIBASABAQMgAgEVABEBaQASAQEAAgEHAAgBAwAIAUoAPwEqABM=","scale":1}
canv_cyan:{"type":"canvas","size":[122,24],"pos":[388,173],"locked":1,"script":"wigglyModal.7p","show":"transparent","border":0,"image":"%%IMG2AHoAGAATAVMAJQFWACMBVwAiASYgHgEdAAQBAgASAQYgBAEEIAMBASABAQIgNAEBIAEBAyAFAQEgAwETAA8BByADAQogCAEhIAwBCiAFARQABQEPIAMBCiAIASYgCAEJIAYBDycCAQMABAEMIAEBAyADAQkgCAEWJwMBDyAGAQogBQEEJw4BBAADAQsgAgEDIAMBCCAIAQcnBAECJwIBAycCAQInBQEDJwMBAycBAQUgBQEJIAYBAycKAQkAAgEGJwMBAyACAQMgAwEIIAcBBicHAQInAgECJwIBAicCAQInAQEDJwQBAicCAQUgBAEJIAYBAycEAQ4AAwEDJwEBAScEAQMgAgECIAQBCCAHAQYnAwEDJwEBAicGAQInAgECJwIBAicFAQEnAgEGIAMBCSAGAQMnAgEHJwYBAwACAQMnAgEBJwQBAyACAQIgBAEIIAcBBicCAQgnBAECJwgBAicHAQYgAwEJIAUBBCcPAQMAAgEDJwIBAScEAQMgAgEBIAUBCCAHAQYnAwEHJwMBAycFAQEnAgECJwIBAicEAQUgAwEJIAUBAycQAQMAAgEDJwIBAScEAQMgAgEBIAUBCCAHAQcnAgEIJwIBAycDAQMnAwECJwIBAicDAQUgAwEJIAUBAycQAQMAAQEEJwIBAScEAQIgAwEBIAUBCCAIAQcnBQEEJwMBAycBAQUnAgECJwIBAycCAQUgAwEJIAUBAycQAQMAAQEDJwgBAyACAQIgBAEJIAgBBycDAQYnAgEDJwEBBicBAQInAgEKIAMBCSAFAQMnEAEDAAEBDyACAQEgBAEJIAkBKSAEAQogBAEDJwIBBycHAQMAAQEQIAcBCCAKAScgBQEKIAUBAycGAQgnAQEDAAIBECAGAQYgAwEBIA4BICAGAQsgBAEDJwoBCAAPAQYgBQEKIAIBCSAoAQogBAEHJwgBBgAQATAgGAEEIAIBASABAQMgAgEVABEBaQASAQEAAgEHAAgBAwAIAUoAPwEqABM=","scale":1}
canv_yellow:{"type":"canvas","size":[122,24],"pos":[388,197],"locked":1,"script":"wigglyModal.7p","show":"transparent","border":0,"image":"%%IMG2AHoAGAATAVMAJQFWACMBVwAiASYgHgEdAAQBAgASAQYgBAEEIAMBASABAQIgNAEBIAEBAyAFAQEgAwETAA8BByADAQogCAEhIAwBCiAFARQABQEPIAMBCiAIASYgCAEJIAYBDyECAQMABAEMIAEBAyADAQkgCAECIQEBAyECAQwhAgEJIQIBByAGAQogBQEEIQ4BBAADAQsgAgEDIAMBCCAIAQMhAgEBIQIBAiEEAQIhAgEDIQIBAyEEAQIhAwECIQIBAyAFAQkgBgEDIQoBCQACAQYhAwEDIAIBAyADAQggBwEFIQMBAiEFAQEhAgEDIQIBAyEDAQEhAgECIQIBAiECAQQgBAEJIAYBAyEEAQ4AAwEDIQEBASEEAQMgAgECIAQBCCAHAQUhAgECIQIBBSECAQMhAgEDIQIBAyECAQEhAgECIQIBBSADAQkgBgEDIQIBByEGAQMAAgEDIQIBASEEAQMgAgECIAQBCCAHAQUhAQEDIQQBAyECAQIhAwEDIQIBAyECAQEhAgEDIQIBBCADAQkgBQEEIQ8BAwACAQMhAgEBIQQBAyACAQEgBQEIIAcBBCECAQMhAgEEIQMBAiEDAQMhAgEDIQIBAiEDAQEhAgEEIAMBCSAFAQMhEAEDAAIBAyECAQEhBAEDIAIBASAFAQggBwEEIQIBAyECAQQhAgEDIQUBAiECAQIhAgECIQYBBCADAQkgBQEDIRABAwABAQQhAgEBIQQBAiADAQEgBQEIIAgBCCEEAQIhBAECIQQBAyEEAQMhAwEBIQIBBCADAQkgBQEDIRABAwABAQMhCAEDIAIBAiAEAQkgCAEIIQMBAiEEAREhAQEIIAMBCSAFAQMhEAEDAAEBDyACAQEgBAEJIAkBKSAEAQogBAEDIQIBByEHAQMAAQEQIAcBCCAKAScgBQEKIAUBAyEGAQghAQEDAAIBECAGAQYgAwEBIA4BICAGAQsgBAEDIQoBCAAPAQYgBQEKIAIBCSAoAQogBAEHIQgBBgAQATAgGAEEIAIBASABAQMgAgEVABEBaQASAQEAAgEHAAgBAwAIAUoAPwEqABM=","scale":1}
canv_mask:{"type":"canvas","size":[122,24],"pos":[388,221],"locked":1,"script":"wigglyModal.7p","show":"transparent","border":0,"image":"%%IMG2AHoAGAATAVMAJQFWACMBVwAiASYgHgEdAAQBAgASAQYgBAEEIAMBASABAQIgNAEBIAEBAyAFAQEgAwETAA8BByADAQogCAEhIAwBCiAFARQABQEPIAMBCiAIASYgCAEJIAYBDyACAQMABAEMIAEBAyADAQkgCAEFIAMBAiACAQUgAwEFIAQBCyAGAQogBQEEIA4BBAADAQsgAgEDIAMBCCAIAQUgCAEEIAUBAyAFAQIgAgEIIAUBCSAGAQMgCgEJAAIBBiADAQMgAgEDIAMBCCAHAQYgCgECIAIBASACAQMgAgEFIAIBAiADAQQgBAEJIAYBAyAEAQ4AAwEDIAEBASAEAQMgAgECIAQBCCAHAQYgAwEBIAIBASADAQIgAgECIAIBAiAEAQQgBQEGIAMBCSAGAQMgAgEHIAYBAwACAQMgAgEBIAQBAyACAQIgBAEIIAcBBSAEAQQgAwECIAYBAyAEAQMgAwEIIAMBCSAFAQQgDwEDAAIBAyACAQEgBAEDIAIBASAFAQggBwEFIAQBBCADAQIgBwEEIAMBAiAFAQYgAwEJIAUBAyAQAQMAAgEDIAIBASAEAQMgAgEBIAUBCCAHAQUgAwEGIAMBASACAQIgAwEFIAIBAyABAQIgAwEEIAMBCSAFAQMgEAEDAAEBBCACAQEgBAECIAMBASAFAQggCAEFIAIBBiADAQEgAQEEIAIBASACAQIgAgEDIAIBAiACAQQgAwEJIAUBAyAQAQMAAQEDIAgBAyACAQIgBAEJIAgBDSABAQogBgEDIAIBCCADAQkgBQEDIBABAwABAQ8gAgEBIAQBCSAJARkgAgEOIAQBCiAEAQMgAgEHIAcBAwABARAgBwEIIAoBJyAFAQogBQEDIAYBCCABAQMAAgEQIAYBBiADAQEgDgEgIAYBCyAEAQMgCgEIAA8BBiAFAQogAgEJICgBCiAEAQcgCAEGABABMCAYAQQgAgEBIAEBAyACARUAEQFpABIBAQACAQcACAEDAAgBSgA/ASoAEw==","scale":1}
canv_eraser:{"type":"canvas","size":[112,21],"pos":[388,244],"locked":1,"script":"wigglyModal.7p","show":"transparent","border":0,"image":"%%IMG2AHAAFQBbAREAEgFfABABYQAPAVEgCQEIAAwBBiBYAQYACwEFIAIBAyAzAQEgIwEFAAkBBSAGAQMgFQEGIAMBBCAGAQIgBAEGIAQBCCAUAQUACAEEIAsBAiASAQcgAgECIAEBAyAFAQIgAwEDIAMBASADAQcgBgEUAAgBAyAHAQEgBwEKIAgBAiAHAQIgAgECIAQBAyADAQIgCAECIBsBBAAGAQQgDwEDIBABAiAHAQUgBAEFIAIBAyAHAQIgGgEFAAUBBCAFAQIgCAECIBIBBSADAQUgBQECIAIBASADAQQgBQEEIBcBBQAGAQMgBQEEIAYBAiASAQYgAwEEIAUBAiACAQIgBQEEIAIBAyAZAQQABgEDIAYBAiAHAQIgBAECIA0BAyAGAQIgAQECIAMBCCAGAQIgAgEBIBoBBQAFAQMgDwECIAUBBCALAQIgBwECIAIBAiACAQIgBQEBIAIBBiABAQggEwEFAAUBCSARAQMgDAEHIAIBASAEAQEgAQECIAYBASACAQUgAgEJIBIBBAAFARIgGQEFIDYBBAAHARkgSgEFABEBGCBAAQYAGgFWACIBTAAsAUIADA==","scale":1}

{script:wigglyModal.0p}
on get_animate do view end
on frames do fr.images end
REST:388
tc:canv_pen,canv_sumi,canv_stipple,canv_airbrush,canv_pink,canv_cyan,canv_yellow,canv_mask,canv_eraser
on toolval do
 5 drop first extract value..name,"canv_pen" where !REST=value..pos[0] from tc
end

on backup do hist.value:raze rtext.cat @ frames[]..copy[] end
delta:"%j"parse"[-2,-1,-1,0,1,1,2]"
marker:"%%IMG0ABUAFgD/gAP/wA//4B//8D//+H//+P//+P//+P//+P//+P//+P//+P//+P//8P//8P//4P//wH//gD//AB/+AAf8AAPgAA=="
on wiggle x do return random[delta  2]+x end
on get_init do
 on init do
  card.show:"transparent"
  locks.data:deck.card.widgets..locked
  deck.card.widgets..locked:1
 end
end
on cleanup do
 each v k in locks.data
  deck.card.widgets[k].locked:v
 end
 deck.remove[card]
end
on get_value do
 r.frames:frames[]
 r.order:range count r.frames
 r
end
on set_value x do
 if x.frames
  fr.images: x.frames..copy[]
 end
end
on audio x do
 if !app.playing
  play[sound[random[extract data where name=x from sfx.value]]]
 end
end

on drag x do
 fri:frames[]
 o:if pointer.down x else pointer.prev-c.offset end
 t:toolval[]
 on commonTool disp do
  c.brush:t
  each f in fri
   c.paste[f]
   c.line[disp[o] disp[x]]
   f.paste[c.copy[]]
  end
 end
 if t~"pen"
  audio.pen
  c.brush:1
  each f in fri
   c.paste[f]
   c.line[o random[-1,0,1 2]+x]
   f.paste[c.copy[]]
  end
 elseif t~"eraser"   audio.erase c.pattern:0 commonTool[on _ x do x end] c.pattern:1
 elseif t~"sumi"     audio.wipe  commonTool[wiggle]
 elseif t~"stipple"  audio.stip  commonTool[wiggle]
 elseif t~"airbrush" audio.spray commonTool[wiggle]
 else
  audio.squeak
  pat:("%j" parse "{l}'pink':36,'cyan':39,'yellow':33,'mask':32{r}")[t]
  img:image[marker].map[1,0]
  s:img.size
  y:x-s/2
  each f in fri
   w:wiggle[y]
   f.paste[img.copy[].merge[f.copy[w s].map[1 dict 1 pat]] w 1]
  end
 end
end
on click x do
 backup[]
 drag[x]
end

on view do
 f:frames[]
 i:f[(count f)%sys.frame/5]
 trans_mask.toggle["transparent" trans.value]
 c.show:if trans.value "transparent" else "solid" end
 c.size:i.size
 c.pos:zone.pos+.5*zone.size-c.size
 c.paste[i]
end

{end}

{script:wigglyModal.1p}
on click do
 audio.snap
 deck.card.event["finish_painting" get_value[]]
 cleanup[]
end
{end}

{script:wigglyModal.2p}
on oval pos size do
 flip pos+size*flip unit 2*pi*(range 20)/20
end

on shake obj tick do
  local st: 10 # time
  local sm: 15 # magnitude
  local sf:0.5 # fade
  local so:obj.pos
  while sm>0
    st:st-1
    obj.pos:so+random[sm,-sm 2]
    if st<0 sm:sm-sf end
    tick[]
  end
  obj.pos:so
end

on click do
 audio.boom
 backup[]
 trans.value:0
 c.show:"solid"
 local s:()
 shake[c on tick do
  c.pattern:0
  each v in s c.poly[v] end
  s:each _ in range 5
   oval[random[max c.size 2] 10+random[30]]
  end
  c.pattern:1
  each v in s c.poly[v] end
  sleep[]
 end]
 c.pattern:1
 fr.value:raze rtext.cat @ (3 take image[zone.size])..copy[]
end

{end}

{script:wigglyModal.3p}
on click do
 audio.erase
 t:hist.value
 hist.value:fr.value
 fr.value:t
end
{end}

{script:wigglyModal.4p}
on click do
 audio.scratch
 backup[]
 local f:first af:frames[]
 local w:f.size[0]
 local h:f.size[1]
 local x:0
 local y:0
 while w    &(1~count f.copy[(w-1),0 1,h].hist) w:w-1 end
 while h    &(1~count f.copy[0,(h-1) w,1].hist) h:h-1 end
 while (x<w)&(1~count f.copy[x,0     1,h].hist) x:x+1 end
 while (y<h)&(1~count f.copy[0,y     w,1].hist) y:y+1 end
 set_value[().frames:each f in af f.copy[(x,y) (w,h)-(x,y)] end]
end
{end}

{script:wigglyModal.5p}
on click pos do end
on drag pos do end
on release pos do end
{end}

{script:wigglyModal.6p}
on click do
 audio.pick
 me.value:!me.value
 trans_mask.toggle["transparent" me.value]
end
{end}

{script:wigglyModal.7p}
tw:(list -12,-6,-2,0),(list -2,-6,-12,-14)
on click do
 p:REST=tc..pos[0]
 i:sum(me=tc)*range count tc
 if p[i]
  audio.pick
  each ai in range 4
   each t ti in tc
    off:if !p[ti]
     (-12,-6,-2,0)[ai]
    elseif t~me
     (-2,-6,-12,-14)[ai]
    end
    t.pos:(REST+off),t.pos[1]
   end
   sleep[]
  end
  if me~canv_mask trans.value:1 end
 end
end

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

{contraption:imageEnum}
size:[100,100]
resizable:1
margin:[17,3,18,5]
description:"select from among enumerated image values."
version:1.1
script:"imageEnum.0p"
template:"on change img index do\n \nend"
attributes:{"name":["options"],"label":["Options"],"type":["rich"]}
{widgets}
s:{"type":"slider","size":[100,100],"pos":[0,0],"interval":[0,0],"format":"","style":"compact"}
c:{"type":"canvas","size":[70,96],"pos":[15,2],"locked":1,"border":0,"scale":1}
o:{"type":"field","size":[44,53],"pos":[129,-20],"locked":1,"show":"none"}

{script:imageEnum.0p}
on get_options do o.value end
on set_options x do o.value:x view[] x end
on get_value do o.images[s.value] end
on get_valueIndex do s.value end
on set_valueIndex x do s.value:x view[] x end

on view do
 im:o.images
 i:im[s.value]
 s.interval:0,0|(count im)-1
 s.locked:card.locked
 s.show  :card.show
 c.show  :card.show
 c.clear[]
 c.paste[i .5*c.size-i.size 1]
end

on change do
 card.event["change" get_value[] s.value]
 view[]
end
{end}

