{"id":0,"registry":{"0":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1},"_ClipMode":"visible","derivationIds":["0DB81006-4481-4955-9F2B-634C9F8A3291","DB068FC5-6C7D-41CE-9BA2-BFB75D14170D","1C6A2D58-EEBF-4B56-A570-A813D0E79AF1","67899964-69EF-4FEE-9299-97278745C986","240C04A0-CFFC-4811-86B8-F517C6A341AB","0337F153-7E6D-4C9F-BCCE-3A7A7B77EA56","79F62973-1036-4B9E-9346-71DE49C8F39D","F71C29C2-BB54-48F7-96DB-8376E731D78E","26A6BAFD-4B7E-47C9-8CCB-8B84ED82882A","B9365C00-2B56-4E8E-8AEA-9325CFD24A41","78D72400-F2FF-4ACA-953A-B19EBD70E2E0","26898FEC-2826-4269-9AA1-D8D9F137D6F8","6604BE07-3E08-4554-B5D5-25BD6721C9FD","DDD01C20-716F-49AC-A7B5-976A5C7465A8","08FA7EF0-9F3A-4AF9-9A97-F65A6605637A","AC6A61A8-C997-48FA-A8C5-250C44BF81F3","F25EC4F0-ADBF-4EE3-A2E5-A0FAC3F585BF","E4B140B5-E95A-4012-A48F-B5312F2B611D","1E9F8B1C-F12E-4A90-A181-1BDA53398B56","59860F36-96BD-42AA-B90C-F9EE639B1466","1FF11B1F-B7F1-454C-9A5A-8840E1F18FAC","54EE0580-6D1B-46E0-86E7-3506591EDDDF","576FE80C-BB87-4FF9-B6F1-63191A7E5D5E","D6E9707D-D0F2-4C30-B487-D405CFDFE62E","A26580BD-6D9A-4FF6-810C-322AFEF61172","0E433117-BCD6-4FE6-B457-4C090D794418","ED72EFF4-9B27-4ACE-B3EB-6BCCEC7C204D","044907D9-CBC8-4FE5-8B96-D26AEC992ABA","5309182E-E6E9-4BA1-AF24-9A7512DC11AF","E8B28F3A-A9D1-45B2-9559-5DD1729652F3","0FD2D194-A28B-4B94-AE99-D62A19D2DAD6","A7FCDFAB-BC63-4C50-84AF-096FD60588ED","E0BE607B-16C2-4FCD-8024-FEBEAC3B34BE","EFBAA350-23B4-417D-9D35-55D5711FE006","D8C82B8F-658A-4EC4-AD01-7A66B1E11742","BCD63309-5F38-4199-9E2F-ADFABE7BC893","2C06FC02-86CD-4F4E-B79D-0D1C68C70D31","7F754155-709E-4DCE-9CDE-DB9E24238ACA","F8583615-0D3A-4FFD-ADEE-A048BF6A5412","32BF874C-CB80-41A9-B089-75652AE6C458"],"id":"E1949C76-A268-4DFD-949D-AE0B06946269","grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"eventHandler":{"__isSmartRef__":true,"id":2},"showsHalos":false,"_Rotation":0,"_Scale":1,"layout":{"__isSmartRef__":true,"id":3},"name":"InteractiveDrawingCanvasMorph","partsBinMetaInfo":{"__isSmartRef__":true,"id":4},"chunkColors":[],"isCopyMorphRef":true,"morphRefId":1,"__serializedExpressions__":["_Position","distanceToDragEvent","penColor"],"pointInHistory":0,"timeChunks":"connection point","history":[],"handles":[],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":52},"__LivelyClassName__":"DrawingCanvasMorph","__SourceModuleName__":"Global.users.robertkrahn.Canvas","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(631.0,-11.0)","penColor":"Color.rgb(0,0,0)"},"1":{"dataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABRUAAAMJCAYAAACdvNGpAAAgAElEQVR4Xu3YoREAAAgDMbr/0szwPuiqHOp3jgABAgQIECBAgAABAgQIECBAgAABAkFgYWtKgAABAgQIECBAgAABAgQIECBAgACBExU9AQECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBCTbZPAAACAASURBVAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECmDT+6QAAC8pJREFUBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCYiKicuYAAECBAgQIECAAAECBAgQIECAAAFR0Q8QIECAAAECBAgQIECAAAECBAgQIJAERMXEZUyAAAECBAgQIECAAAECBAgQIECAgKjoBwgQIECAAAECBAgQIECAAAECBAgQSAKiYuIyJkCAAAECBAgQIECAAAECBAgQIEBAVPQDBAgQIECAAAECBAgQIECAAAECBAgkAVExcRkTIECAAAECBAgQIECAAAECBAgQICAq+gECBAgQIECAAAECBAgQIECAAAECBJKAqJi4jAkQIECAAAECBAgQIECAAAECBAgQEBX9AAECBAgQIECAAAECBAgQIECAAAECSUBUTFzGBAgQIECAAAECBAgQIECAAAECBAiIin6AAAECBAgQIECAAAECBAgQIECAAIEkIComLmMCBAgQIECAAAECBAgQIECAAAECBERFP0CAAAECBAgQIECAAAECBAgQIECAQBIQFROXMQECBAgQIECAAAECBAgQIECAAAECoqIfIECAAAECBAgQIECAAAECBAgQIEAgCTzB5gMKbZ+yUgAAAABJRU5ErkJggg==","_BorderWidth":1.482,"_Opacity":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"DrawingCanvasShape","__SourceModuleName__":"Global.users.robertkrahn.Canvas","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(1301.0,777.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgba(255,255,255,0)"},"2":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"4":{"partName":"InteractiveDrawingCanvasMorph","requiredModules":[],"partsSpaceName":"PartsBin/Astrid/","comment":"Canvas you can draw that also allows you to get Halos on your objects and drag them around.","changes":[{"__isSmartRef__":true,"id":5},{"__isSmartRef__":true,"id":6},{"__isSmartRef__":true,"id":7},{"__isSmartRef__":true,"id":8},{"__isSmartRef__":true,"id":9},{"__isSmartRef__":true,"id":10},{"__isSmartRef__":true,"id":11},{"__isSmartRef__":true,"id":12},{"__isSmartRef__":true,"id":13},{"__isSmartRef__":true,"id":14},{"__isSmartRef__":true,"id":15},{"__isSmartRef__":true,"id":16},{"__isSmartRef__":true,"id":17},{"__isSmartRef__":true,"id":18},{"__isSmartRef__":true,"id":19},{"__isSmartRef__":true,"id":20},{"__isSmartRef__":true,"id":21},{"__isSmartRef__":true,"id":22},{"__isSmartRef__":true,"id":23},{"__isSmartRef__":true,"id":24},{"__isSmartRef__":true,"id":25},{"__isSmartRef__":true,"id":26},{"__isSmartRef__":true,"id":27},{"__isSmartRef__":true,"id":28},{"__isSmartRef__":true,"id":29},{"__isSmartRef__":true,"id":30},{"__isSmartRef__":true,"id":31},{"__isSmartRef__":true,"id":32},{"__isSmartRef__":true,"id":33},{"__isSmartRef__":true,"id":34},{"__isSmartRef__":true,"id":35},{"__isSmartRef__":true,"id":36},{"__isSmartRef__":true,"id":37},{"__isSmartRef__":true,"id":38},{"__isSmartRef__":true,"id":39},{"__isSmartRef__":true,"id":40},{"__isSmartRef__":true,"id":41},{"__isSmartRef__":true,"id":42},{"__isSmartRef__":true,"id":43},{"__isSmartRef__":true,"id":44},{"__isSmartRef__":true,"id":45},{"__isSmartRef__":true,"id":46},{"__isSmartRef__":true,"id":47},{"__isSmartRef__":true,"id":48},{"__isSmartRef__":true,"id":49},{"__isSmartRef__":true,"id":50},{"__isSmartRef__":true,"id":51}],"migrationLevel":9,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Dec 22 2014 14:58:05 GMT-0800 (PST)\")"},"5":{"author":"athomschke","message":"refactorings away from timeChunks towards history","id":"25F946C4-670B-4C12-B6B1-4DC084E1B853","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 22 2014 14:58:03 GMT-0800 (PST)\")"},"6":{"author":"athomschke","message":"fixes after refactoring","id":"F79E2C3A-583F-4966-9014-D925A96CFB02","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 18 2014 18:04:13 GMT-0800 (PST)\")"},"7":{"author":"athomschke","message":"when dragging a handle, the visibility of strokes is not affected anymore","id":"0DD1D463-9DDE-4BA4-A951-B6524F911C8A","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 17 2014 23:24:15 GMT-0800 (PST)\")"},"8":{"author":"athomschke","message":"allowed access to interface functionalities via menu halo","id":"EA3D3886-FB37-4905-B880-F4467B71FA9B","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 16 2014 17:00:59 GMT-0800 (PST)\")"},"9":{"author":"athomschke","message":"exporting stroke width and colors, too","id":"CF63C77E-B507-4117-9FA4-8602C44D6274","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 15 2014 12:24:57 GMT-0800 (PST)\")"},"10":{"author":"athomschke","message":"was buggy","id":"11C00167-0BB4-4695-8990-10AF75CA6A42","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 17:24:49 GMT-0800 (PST)\")"},"11":{"author":"athomschke","message":"was buggy","id":"23F188B7-7B47-42B9-B686-5FE77AFAFE99","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 17:24:30 GMT-0800 (PST)\")"},"12":{"author":"athomschke","message":"switched handling of toggle halos","id":"96788D0D-B2DF-45FB-9A8D-755035DD0AC1","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 15:42:01 GMT-0800 (PST)\")"},"13":{"author":"athomschke","message":"new way of showing halos on drawings","id":"FBC634F2-F674-4100-B029-8F435ACE6EF6","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 08 2014 18:11:24 GMT-0800 (PST)\")"},"14":{"author":"athomschke","message":"uses shadowmorphs to drag strokes around","id":"F11B9569-FC9B-4FA1-9323-27491CF8C7AC","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 08 2014 17:39:56 GMT-0800 (PST)\")"},"15":{"author":"athomschke","message":"copied from ThumbnailHistoryDrawingCanvasMorph","id":"ADE9E574-A018-4732-8240-F3E411B71FCC","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 27 2014 08:37:08 GMT-0800 (PST)\")"},"16":{"author":"athomschke","message":"thumbnail slider comes with history slider","id":"44288CD3-A2F4-4B4D-A909-016911150AC3","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 24 2014 12:53:37 GMT-0800 (PST)\")"},"17":{"author":"athomschke","message":"drawing does not make eveerything visible again anymore","id":"FDBC2643-DF04-433A-ACD2-D087DD6E6B28","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 21 2014 14:54:14 GMT-0800 (PST)\")"},"18":{"author":"athomschke","message":"allow re-adding exported morphs","id":"2A8FEE79-1036-4529-9291-A979A2F9F2BA","__serializedExpressions__":["date"],"date":"new Date(\"Tue Nov 18 2014 10:00:41 GMT-0800 (PST)\")"},"19":{"author":"athomschke","message":"exporting functionality","id":"1CE17D73-2CBF-40D2-ABAB-09A812A49E0D","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 17 2014 12:55:31 GMT-0800 (PST)\")"},"20":{"author":"athomschke","message":"made canvasses toggling","id":"B526FC1F-173B-4D30-9B63-E040EEB9A659","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 14 2014 15:56:54 GMT-0800 (PST)\")"},"21":{"author":"athomschke","message":"implemented erase button","id":"25F78003-E821-41E0-A9F0-946FF0099DC6","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 13 2014 16:37:49 GMT-0800 (PST)\")"},"22":{"author":"athomschke","message":"fixed colors","id":"EF761A7E-112B-4AB2-9177-714959C36504","__serializedExpressions__":["date"],"date":"new Date(\"Wed Nov 12 2014 18:08:13 GMT-0800 (PST)\")"},"23":{"author":"null","message":"more steady colors for time chunking ","id":"25C17D8D-4585-47C9-ACF3-062C6B8E55D9","__serializedExpressions__":["date"],"date":"new Date(\"Tue Nov 11 2014 13:46:07 GMT-0800 (PST)\")"},"24":{"author":"null","message":"added time information to history","id":"F264FC5B-D4C1-41CA-9885-8A25340691DA","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 10 2014 15:38:45 GMT-0800 (PST)\")"},"25":{"author":"null","message":"implemented history functionality. Use HistorySlider to navigate.","id":"E00F597A-CFC4-4CD6-AB18-11525CE0BB35","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 10 2014 15:30:21 GMT-0800 (PST)\")"},"26":{"author":"athomschke","message":"adding a morph triggers it to be added to owner","id":"FD8C4C2D-CF6C-4E34-8C1B-3F548B63BDBD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Nov 04 2014 13:58:26 GMT-0800 (PST)\")"},"27":{"author":"athomschke","message":"initial","id":"3271B3BE-5414-4C31-981E-757EBD282205","__serializedExpressions__":["date"],"date":"new Date(\"Tue Nov 04 2014 13:26:11 GMT-0800 (PST)\")"},"28":{"author":"athomschke","message":"initial","id":"BA153065-45C7-4C69-A7B9-426107E82C84","__serializedExpressions__":["date"],"date":"new Date(\"Tue Nov 04 2014 13:43:08 GMT-0800 (PST)\")"},"29":{"author":"athomschke","message":"adding added morph to owner while keeping canvas in foreground","id":"E1299D6A-7A3C-477F-9A9B-F682E650A87D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Nov 04 2014 14:01:49 GMT-0800 (PST)\")"},"30":{"author":"null","message":"implemented show and hide history slider","id":"52AD802D-CE21-42CF-B308-B68816E7AE96","__serializedExpressions__":["date"],"date":"new Date(\"Wed Nov 12 2014 10:47:39 GMT-0800 (PST)\")"},"31":{"author":"athomschke","message":"initial","id":"9DE6E0CF-1976-4B04-AC80-C723ECC19A82","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 13 2014 13:28:12 GMT-0800 (PST)\")"},"32":{"author":"athomschke","message":"updated historySlider used","id":"E8281E3C-27E3-44FD-9DE9-4FECFDD9CE62","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 13 2014 13:29:10 GMT-0800 (PST)\")"},"33":{"author":"athomschke","message":"meh","id":"714A631A-A781-4BC3-A81F-F68811BF93E9","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 13 2014 16:41:49 GMT-0800 (PST)\")"},"34":{"author":"athomschke","message":"resetting makes pen black","id":"E3B2021D-CF45-45B6-8B23-10B6F1D71A23","__serializedExpressions__":["date"],"date":"new Date(\"Tue Nov 18 2014 09:32:21 GMT-0800 (PST)\")"},"35":{"author":"athomschke","message":"resetted","id":"1C309E10-D198-4BF8-800A-25E4C2914D2C","__serializedExpressions__":["date"],"date":"new Date(\"Tue Nov 18 2014 09:32:41 GMT-0800 (PST)\")"},"36":{"author":"athomschke","message":"implemented rotation and scale recognition of stamps","id":"8C219F03-08F4-4EDD-AEEC-9F35C3663B4F","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 21 2014 13:51:45 GMT-0800 (PST)\")"},"37":{"author":"athomschke","message":"fixed bug: when dropping a stamp, canvas and time slider would not be updated","id":"4633ADD3-4191-4EF8-A8B2-7386DC34A8E9","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 21 2014 14:03:07 GMT-0800 (PST)\")"},"38":{"author":"athomschke","message":"alta, connections.","id":"38A022A1-2702-4896-93DF-C69EF16E6DB9","__serializedExpressions__":["date"],"date":"new Date(\"Tue Nov 25 2014 18:06:34 GMT-0800 (PST)\")"},"39":{"author":"athomschke","message":"reset all","id":"4E83B6E4-E6DE-4B21-AEF0-DEE4C75A093F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Nov 25 2014 18:08:32 GMT-0800 (PST)\")"},"40":{"author":"athomschke","message":"now?","id":"9CA51B98-368E-4647-9248-E17C6BE18409","__serializedExpressions__":["date"],"date":"new Date(\"Tue Nov 25 2014 18:10:23 GMT-0800 (PST)\")"},"41":{"author":"athomschke","message":"problem with slow connections","id":"5285A71B-AA85-4D96-9C05-CEB66F36B7D2","__serializedExpressions__":["date"],"date":"new Date(\"Tue Nov 25 2014 18:25:41 GMT-0800 (PST)\")"},"42":{"author":"athomschke","message":"better object halo toggling","id":"6C2C5003-069D-431A-A8AA-5BC0AAC9D1F6","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 14:05:39 GMT-0800 (PST)\")"},"43":{"author":"athomschke","message":"removed an alert onClick","id":"D1EC72B8-1E97-4D48-A857-1419EF1DB905","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 14:19:14 GMT-0800 (PST)\")"},"44":{"author":"athomschke","message":"?","id":"FB596323-01B1-48E9-AC22-176337E89542","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 10 2014 15:14:24 GMT-0800 (PST)\")"},"45":{"author":"athomschke","message":"prepared for vice versa halo showing","id":"807147AF-BDA1-4FCF-AA29-52E3B3326768","__serializedExpressions__":["date"],"date":"new Date(\"Fri Dec 12 2014 20:09:34 GMT-0800 (PST)\")"},"46":{"author":"athomschke","message":"better halo reverse showing","id":"7D23E55F-D529-4206-BCD9-A2CBDBA3C52B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Dec 12 2014 20:19:32 GMT-0800 (PST)\")"},"47":{"author":"athomschke","message":"added beforePublish to make part smaller (bytesize) before publishing. important when publishing a whole HyperStack with pages inside.","id":"D541BA8B-B192-4933-A77C-72DE63069933","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 15 2014 14:53:22 GMT-0800 (PST)\")"},"48":{"author":"athomschke","message":"correct handles removing","id":"E90CBC03-654A-44EC-8C99-18A298D3408C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 18 2014 14:31:55 GMT-0800 (PST)\")"},"49":{"author":"athomschke","message":"minor refactorings - got rid of chunkWidths in thumbnail history slider","id":"05FAA8E0-47DC-4B0C-AB26-61AB4E4FBD33","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 18 2014 17:28:53 GMT-0800 (PST)\")"},"50":{"author":"athomschke","message":"fixed a bug with slicing","id":"2B8DE5D0-94FF-405E-AAD2-C71DC48052CF","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 18 2014 18:15:43 GMT-0800 (PST)\")"},"51":{"__serializedExpressions__":["date"],"author":"athomschke","message":"better beforePublish","id":"0EFB9348-7FA0-4DA0-93FC-2D34BB541F0B","date":"new Date(\"Mon Dec 22 2014 15:13:31 GMT-0800 (PST)\")"},"52":{"startDrawing":{"__isSmartRef__":true,"id":53},"finishShape":{"__isSmartRef__":true,"id":56},"drawTo":{"__isSmartRef__":true,"id":59},"onMouseDown":{"__isSmartRef__":true,"id":62},"onMouseMove":{"__isSmartRef__":true,"id":69},"onMouseUp":{"__isSmartRef__":true,"id":76},"getPenColor":{"__isSmartRef__":true,"id":83},"$$addToHistory":{"__isSmartRef__":true,"id":86},"$$removeFromHistory":{"__isSmartRef__":true,"id":89},"goToPointInHistory":{"__isSmartRef__":true,"id":92},"reset":{"__isSmartRef__":true,"id":95},"drawStroke":{"__isSmartRef__":true,"id":98},"repeat":{"__isSmartRef__":true,"id":101},"recordStroke":{"__isSmartRef__":true,"id":104},"setTimeChunks":{"__isSmartRef__":true,"id":107},"showHistorySlider":{"__isSmartRef__":true,"id":110},"showEraseButton":{"__isSmartRef__":true,"id":113},"exportCurrentContent":{"__isSmartRef__":true,"id":116},"showExportButton":{"__isSmartRef__":true,"id":119},"addMorph":{"__isSmartRef__":true,"id":122},"toggleHalos":{"__isSmartRef__":true,"id":129},"canvasFromStrokes":{"__isSmartRef__":true,"id":136},"getContentBounds":{"__isSmartRef__":true,"id":139},"chunksContainingPoint":{"__isSmartRef__":true,"id":142},"addStrokesFromCanvas":{"__isSmartRef__":true,"id":145},"updateTransformForStrokes":{"__isSmartRef__":true,"id":148},"getNewChunkHandle":{"__isSmartRef__":true,"id":151},"handleToShowHalosFor":{"__isSmartRef__":true,"id":154},"showHalos":{"__isSmartRef__":true,"id":157},"fillAreas":{"__isSmartRef__":true,"id":164},"getPenWidth":{"__isSmartRef__":true,"id":167},"updateShownHalos":{"__isSmartRef__":true,"id":170},"beforePublish":{"__isSmartRef__":true,"id":173},"hideAll":{"__isSmartRef__":true,"id":176},"showAll":{"__isSmartRef__":true,"id":179},"morphMenuItems":{"__isSmartRef__":true,"id":182},"showOrHideChunk":{"__isSmartRef__":true,"id":189},"getChunkedPoints":{"__isSmartRef__":true,"id":192},"getTimeChunkThreshold":{"__isSmartRef__":true,"id":195},"onClick":{"__isSmartRef__":true,"id":198}},"53":{"varMapping":{"__isSmartRef__":true,"id":54},"source":"function startDrawing(aPos) {\n    if (!this.currentPenPosition) {\n        this.currentPenPosition = aPos;\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":55},"__LivelyClassName__":"lively.Closure"},"54":{"this":{"__isSmartRef__":true,"id":0}},"55":{"user":"athomschke","tags":["interface"],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:27:40 GMT-0800 (PST)\")"},"56":{"varMapping":{"__isSmartRef__":true,"id":57},"source":"function finishShape(aPos) {\n    if (this.currentPenPosition) {\n        this.drawStroke(this.currentPenPosition, aPos, this.getPenColor(), this.getPenWidth());\n        this.recordStroke(this.currentPenPosition, aPos, this.getPenColor(), this.getPenWidth());\n        delete this.currentPenPosition;\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":58},"__LivelyClassName__":"lively.Closure"},"57":{"this":{"__isSmartRef__":true,"id":0}},"58":{"user":"athomschke","tags":["interface"],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 10 2014 17:24:06 GMT-0800 (PST)\")"},"59":{"varMapping":{"__isSmartRef__":true,"id":60},"source":"function drawTo(aPos) {\n    if (this.currentPenPosition) {\n        this.drawStroke(this.currentPenPosition, aPos, this.getPenColor(), this.getPenWidth());\n        this.recordStroke(this.currentPenPosition, aPos, this.getPenColor(), this.getPenWidth());\n        this.currentPenPosition = aPos;\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":61},"__LivelyClassName__":"lively.Closure"},"60":{"this":{"__isSmartRef__":true,"id":0}},"61":{"user":"athomschke","tags":["interface"],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 10 2014 17:15:31 GMT-0800 (PST)\")"},"62":{"varMapping":{"__isSmartRef__":true,"id":63},"source":"function onMouseDown(evt) {\n    this.startDrawing(evt.getPositionIn(this))\n}","funcProperties":{"__isSmartRef__":true,"id":68},"__LivelyClassName__":"lively.Closure"},"63":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":64}},"64":{"$super":{"__isSmartRef__":true,"id":65}},"65":{"varMapping":{"__isSmartRef__":true,"id":66},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":67},"__LivelyClassName__":"lively.Closure"},"66":{"obj":{"__isSmartRef__":true,"id":0},"name":"onMouseDown"},"67":{},"68":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Nov 26 2014 13:06:33 GMT-0800 (PST)\")"},"69":{"varMapping":{"__isSmartRef__":true,"id":70},"source":"function onMouseMove(evt) {\n    this.drawTo(evt.getPositionIn(this));\n}","funcProperties":{"__isSmartRef__":true,"id":75},"__LivelyClassName__":"lively.Closure"},"70":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":71}},"71":{"$super":{"__isSmartRef__":true,"id":72}},"72":{"varMapping":{"__isSmartRef__":true,"id":73},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":74},"__LivelyClassName__":"lively.Closure"},"73":{"obj":{"__isSmartRef__":true,"id":0},"name":"onMouseMove"},"74":{},"75":{"user":"null","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 10 2014 14:44:21 GMT-0800 (PST)\")"},"76":{"varMapping":{"__isSmartRef__":true,"id":77},"source":"function onMouseUp(evt) {\n    this.finishShape(evt.getPositionIn(this));\n}","funcProperties":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.Closure"},"77":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":78}},"78":{"$super":{"__isSmartRef__":true,"id":79}},"79":{"varMapping":{"__isSmartRef__":true,"id":80},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":81},"__LivelyClassName__":"lively.Closure"},"80":{"obj":{"__isSmartRef__":true,"id":0},"name":"onMouseUp"},"81":{},"82":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Nov 26 2014 13:04:42 GMT-0800 (PST)\")"},"83":{"varMapping":{"__isSmartRef__":true,"id":84},"source":"function getPenColor() {\n    return this.penColor || Global.Color.black;\n}","funcProperties":{"__isSmartRef__":true,"id":85},"__LivelyClassName__":"lively.Closure"},"84":{"this":{"__isSmartRef__":true,"id":0}},"85":{"user":"null","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 10 2014 13:26:56 GMT-0800 (PST)\")"},"86":{"varMapping":{"__isSmartRef__":true,"id":87},"source":"function addToHistory(obj) {\n    this.history.push(obj);\n}","funcProperties":{"__isSmartRef__":true,"id":88},"__LivelyClassName__":"lively.Closure"},"87":{"this":{"__isSmartRef__":true,"id":0}},"88":{"user":"null","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 10 2014 13:26:56 GMT-0800 (PST)\")"},"89":{"varMapping":{"__isSmartRef__":true,"id":90},"source":"function removeFromHistory(obj) {\n    this.history.remove(obj);\n}","funcProperties":{"__isSmartRef__":true,"id":91},"__LivelyClassName__":"lively.Closure"},"90":{"this":{"__isSmartRef__":true,"id":0}},"91":{"user":"null","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 10 2014 13:26:56 GMT-0800 (PST)\")"},"92":{"varMapping":{"__isSmartRef__":true,"id":93},"source":"function goToPointInHistory(idx) {\n    this.clear();\n    this.fillAreas(idx);\n    for (var i = 0; i<this.history.length; i++) {\n        if (i <= idx && this.history[i].isVisible) {\n            this.repeat(this.history[i]);\n        }\n    }\n    this.pointInHistory = idx;\n    lively.bindings.signal(this, 'history', this.history);\n}","funcProperties":{"__isSmartRef__":true,"id":94},"__LivelyClassName__":"lively.Closure"},"93":{"this":{"__isSmartRef__":true,"id":0}},"94":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:22:21 GMT-0800 (PST)\")"},"95":{"varMapping":{"__isSmartRef__":true,"id":96},"source":"function reset() {\n    this.clear();\n    this.history = [];\n    this.chunkColors = [];\n    for (var i = this.history.length; i >= 0; i--){\n        this.history.remove(this.history[i]);\n    }\n    this.setPenColor(Global.Color.black)\n    lively.bindings.disconnectAll(this);\n    this.pointInHistory = 0;\n    this.timeChunks = 'connection point';\n    this.beforePublish();\n}","funcProperties":{"__isSmartRef__":true,"id":97},"__LivelyClassName__":"lively.Closure"},"96":{"this":{"__isSmartRef__":true,"id":0}},"97":{"user":"athomschke","tags":["menu"],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:22:21 GMT-0800 (PST)\")"},"98":{"varMapping":{"__isSmartRef__":true,"id":99},"source":"function drawStroke(from, to, color, width) {\n    var ctxt2d = this.renderContext().ctxt2d || this.getContext(); // canvasmorph\n    ctxt2d.strokeStyle = '#'+color.toHexString();\n    ctxt2d.lineWidth = width;\n    ctxt2d.beginPath();\n    ctxt2d.moveTo(from.x, from.y);\n    ctxt2d.lineTo(to.x, to.y);\n    ctxt2d.stroke();\n}","funcProperties":{"__isSmartRef__":true,"id":100},"__LivelyClassName__":"lively.Closure"},"99":{"this":{"__isSmartRef__":true,"id":0}},"100":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 15 2014 12:24:37 GMT-0800 (PST)\")"},"101":{"varMapping":{"__isSmartRef__":true,"id":102},"source":"function repeat(historyEntry) {\n    if (historyEntry) {\n        this.drawStroke(\n            historyEntry.from,\n            historyEntry.to,\n            historyEntry.color,\n            historyEntry.width)\n        historyEntry.isVisible = true;        \n    }\n}","funcProperties":{"__isSmartRef__":true,"id":103},"__LivelyClassName__":"lively.Closure"},"102":{"this":{"__isSmartRef__":true,"id":0}},"103":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 10 2014 17:15:17 GMT-0800 (PST)\")"},"104":{"varMapping":{"__isSmartRef__":true,"id":105},"source":"function recordStroke(from, to, color, width) {\n    var newEntry = { \n        from: from, \n        to: to, \n        color: color,\n        width: width,\n        time: Date.now(),\n        isVisible: true // hack\n    }\n    this.history.pushAt(newEntry, this.pointInHistory);\n    lively.bindings.signal(this, 'timeChunks', this.getChunkedPoints());\n    this.pointInHistory += 1;\n    lively.bindings.signal(this, 'history', this.history);\n}","funcProperties":{"__isSmartRef__":true,"id":106},"__LivelyClassName__":"lively.Closure"},"105":{"this":{"__isSmartRef__":true,"id":0}},"106":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:18:54 GMT-0800 (PST)\")"},"107":{"varMapping":{"__isSmartRef__":true,"id":108},"source":"function setTimeChunks(treshold) {\n    this.timeChunkThreshold = treshold;\n    lively.bindings.signal(this, 'timeChunks', this.getChunkedPoints());\n}","funcProperties":{"__isSmartRef__":true,"id":109},"__LivelyClassName__":"lively.Closure"},"108":{"this":{"__isSmartRef__":true,"id":0}},"109":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 13:41:48 GMT-0800 (PST)\")"},"110":{"varMapping":{"__isSmartRef__":true,"id":111},"source":"function showHistorySlider(bool) {\n    var doShow = typeof bool === 'undefined' ? true : bool;\n    if (doShow) {\n        if (!this.historySlider) {\n            this.historySlider = $world.openPartItem('ThumbnailHistorySlider', 'PartsBin/Astrid');\n        }\n        if (!this.timeChunkSlider) {\n            this.timeChunkSlider = $world.openPartItem('TimeChunkSlider', 'PartsBin/Astrid');\n        }\n        this.historySlider.showOnCanvas(this);\n        this.setTimeChunks(this.timeChunkThreshold || 1000);\n        this.timeChunkSlider.showOnCanvas(this);\n    } else {\n        if (this.historySlider) {\n            this.historySlider.reset();\n            this.historySlider.remove();\n        }\n        if (this.timeChunkSlider) {\n            this.timeChunkSlider.reset()\n            this.timeChunkSlider.remove()\n        }\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":112},"__LivelyClassName__":"lively.Closure"},"111":{"this":{"__isSmartRef__":true,"id":0}},"112":{"user":"athomschke","tags":["menu"],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 24 2014 12:46:08 GMT-0800 (PST)\")"},"113":{"varMapping":{"__isSmartRef__":true,"id":114},"source":"function showEraseButton(bool) {\n    if ((typeof bool === 'undefined') || bool) {\n        this.eraseButton = this.eraseButton || $world.openPartItem('CanvasContentEraser', 'PartsBin/Astrid');\n        this.owner.addMorph(this.eraseButton)\n        this.eraseButton.setPosition(this.bounds().topRight().subPt(pt(this.eraseButton.getExtent().x, 0)).subPt(pt(5, -5)));\n        this.eraseButton.canvasMorph = this;\n    } else {\n        this.eraseButton && this.eraseButton.remove();\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":115},"__LivelyClassName__":"lively.Closure"},"114":{"this":{"__isSmartRef__":true,"id":0}},"115":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Nov 13 2014 16:41:20 GMT-0800 (PST)\")"},"116":{"varMapping":{"__isSmartRef__":true,"id":117},"source":"function exportCurrentContent() {\n    this.canvasFromStrokes(this.history.select(\n        function(ea) {return ea.isVisible})\n    ).openInHand();\n}","funcProperties":{"__isSmartRef__":true,"id":118},"__LivelyClassName__":"lively.Closure"},"117":{"this":{"__isSmartRef__":true,"id":0}},"118":{"user":"athomschke","tags":["menu"],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Nov 26 2014 14:30:59 GMT-0800 (PST)\")"},"119":{"varMapping":{"__isSmartRef__":true,"id":120},"source":"function showExportButton(bool) {\n    if ((typeof bool === 'undefined') || bool) {\n        this.exportButton = this.exportButton || $world.openPartItem('AsCanvasMorphButton', 'PartsBin/Astrid');\n        this.owner.addMorph(this.exportButton)\n        this.exportButton.align(this.exportButton.bounds().topLeft(),this.bounds().topLeft());\n        this.exportButton.moveBy(pt(-10,-10));\n        this.exportButton.setupConnections(this);\n    } else {\n        this.exportButton && this.exportButton.remove();\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":121},"__LivelyClassName__":"lively.Closure"},"120":{"this":{"__isSmartRef__":true,"id":0}},"121":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 17 2014 12:53:27 GMT-0800 (PST)\")"},"122":{"varMapping":{"__isSmartRef__":true,"id":123},"source":"function addMorph(aMorph, optMorphBefore) {\n    if (aMorph.shape instanceof lively.morphic.Shapes.Image) {\n        this.imageWasDropped(aMorph);\n    } else if (aMorph instanceof lively.morphic.CanvasMorph && aMorph.history) {\n        this.addStrokesFromCanvas(aMorph);\n    }\n    if (aMorph.previousOwner && aMorph.previousPosition) {\n        aMorph.previousOwner.addMorph(aMorph);\n        aMorph.setPosition(aMorph.previousPosition);\n        return;\n    }\n    this.world().addMorph(aMorph);\n}","funcProperties":{"__isSmartRef__":true,"id":128},"__LivelyClassName__":"lively.Closure"},"123":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":124}},"124":{"$super":{"__isSmartRef__":true,"id":125}},"125":{"varMapping":{"__isSmartRef__":true,"id":126},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":127},"__LivelyClassName__":"lively.Closure"},"126":{"obj":{"__isSmartRef__":true,"id":0},"name":"addMorph"},"127":{},"128":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 18 2014 15:08:55 GMT-0800 (PST)\")"},"129":{"varMapping":{"__isSmartRef__":true,"id":130},"source":"function toggleHalos(evt) {\n    var handle\n    if (!this.showsHalos && (handle = this.handleToShowHalosFor(evt))) {\n        handle.showHalos();\n    } else {\n        return $super(evt)\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":135},"__LivelyClassName__":"lively.Closure"},"130":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":131}},"131":{"$super":{"__isSmartRef__":true,"id":132}},"132":{"varMapping":{"__isSmartRef__":true,"id":133},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":134},"__LivelyClassName__":"lively.Closure"},"133":{"obj":{"__isSmartRef__":true,"id":0},"name":"toggleHalos"},"134":{},"135":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:30:03 GMT-0800 (PST)\")"},"136":{"varMapping":{"__isSmartRef__":true,"id":137},"source":"function canvasFromStrokes(strokes) {\n    var bounds = this.getContentBounds(strokes),\n        offset = bounds || { x: 0, y: 0 },\n        cMorph = new lively.morphic.CanvasMorph(bounds && bounds.extent()),\n        ctxt2d = cMorph.getContext();\n    cMorph.history = [];\n    strokes.each(function(stroke) {\n        cMorph.history.push(Object.merge([stroke, {\n            from: pt(stroke.from.x - offset.x, stroke.from.y - offset.y),\n            to: pt(stroke.to.x - offset.x, stroke.to.y - offset.y)\n        }]))\n    });\n    this.fillAreas.bind(cMorph)();\n    cMorph.history.each(function(stroke) {\n        this.drawStroke.bind(cMorph)(stroke.from, stroke.to, stroke.color, stroke.width);\n    }.bind(this));\n    return cMorph;\n}","funcProperties":{"__isSmartRef__":true,"id":138},"__LivelyClassName__":"lively.Closure"},"137":{"this":{"__isSmartRef__":true,"id":0}},"138":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 15 2014 12:24:37 GMT-0800 (PST)\")"},"139":{"varMapping":{"__isSmartRef__":true,"id":140},"source":"function getContentBounds(strokeArray) {\n    if (strokeArray.length > 0) {\n        var b = strokeArray.reduce(function(a,b) {\n            return {\n                minX: Math.min(b.from.x, b.to.x, a.minX),\n                maxX: Math.max(b.from.x, b.to.x, a.maxX),\n                minY: Math.min(b.from.y, b.to.y, a.minY),\n                maxY: Math.max(b.from.y, b.to.y, a.maxY)\n            }\n        }, {minX: 1000000, maxX: 0, minY: 1000000, maxY: 0})\n        return rect(b.minX, b.minY, Math.max(b.maxX - b.minX, 1), Math.max(b.maxY - b.minY, 1));        \n    }\n}","funcProperties":{"__isSmartRef__":true,"id":141},"__LivelyClassName__":"lively.Closure"},"140":{"this":{"__isSmartRef__":true,"id":0}},"141":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Nov 26 2014 14:34:33 GMT-0800 (PST)\")"},"142":{"varMapping":{"__isSmartRef__":true,"id":143},"source":"function chunksContainingPoint(aPos) {\n    return this.getChunkedPoints().select(function(chunk) {\n        return this.getContentBounds(chunk).containsPoint(aPos);\n    }.bind(this))\n}","funcProperties":{"__isSmartRef__":true,"id":144},"__LivelyClassName__":"lively.Closure"},"143":{"this":{"__isSmartRef__":true,"id":0}},"144":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 13:41:48 GMT-0800 (PST)\")"},"145":{"varMapping":{"__isSmartRef__":true,"id":146},"source":"function addStrokesFromCanvas(aMorph, optIndex) {\n    var newPoint = this.pointInHistory + aMorph.history.length;\n    var off = aMorph.getPositionInWorld().subPt(this.getPositionInWorld());\n    aMorph.history.each(function(ea, idx) {\n        var from = ea.from.matrixTransform(aMorph.getGlobalTransform())\n                .subPt(aMorph.getPositionInWorld()),\n            to = ea.to.matrixTransform(aMorph.getGlobalTransform())\n                .subPt(aMorph.getPositionInWorld());\n        this.history.splice((optIndex + idx) || this.history.length-1, 0, Object.merge([ea, {\n            from: pt(from.x+off.x, from.y + off.y),\n            to: pt(to.x+off.x, to.y + off.y),\n            isVisible: true\n        }]));\n    }.bind(this))\n    lively.bindings.signal(this, 'timeChunks', this.getChunkedPoints()) // update thumbnail slider\n    this.goToPointInHistory(newPoint); // update canvas view\n    this.pointInHistory = newPoint; // update slider values\n}","funcProperties":{"__isSmartRef__":true,"id":147},"__LivelyClassName__":"lively.Closure"},"146":{"this":{"__isSmartRef__":true,"id":0}},"147":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:08:12 GMT-0800 (PST)\")"},"148":{"varMapping":{"__isSmartRef__":true,"id":149},"source":"function updateTransformForStrokes(strokes, transform, offset) {\n    strokes.each(function(stroke) {\n        stroke.from = offset.addPt(stroke.from.subPt(offset)\n                .matrixTransform(transform))\n        stroke.to = offset.addPt(stroke.to.subPt(offset)\n                .matrixTransform(transform))\n    }.bind(this))\n    lively.bindings.signal(this, 'timeChunks', this.getChunkedPoints());\n    this.goToPointInHistory(this.pointInHistory);\n}","funcProperties":{"__isSmartRef__":true,"id":150},"__LivelyClassName__":"lively.Closure"},"149":{"this":{"__isSmartRef__":true,"id":0}},"150":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:08:12 GMT-0800 (PST)\")"},"151":{"varMapping":{"__isSmartRef__":true,"id":152},"source":"function getNewChunkHandle(visibleChunk) {\n    var strokes = visibleChunk,\n        bounds = this.getContentBounds(strokes);\n    this.handleProto = this.handleProto || $world.loadPartItem(\n            'ChunkHandle', 'PartsBin/Astrid/')\n    var handle = this.handleProto.copy();\n    this.owner.addMorph(handle);\n    handle.setPosition(this.getPosition());\n    handle.setExtent(bounds.extent());\n    handle.setPosition(handle.getPosition().addPt(bounds.topLeft()));\n    handle.setupWith(this, visibleChunk);\n    this.handles.push(handle);\n    return handle;\n}","funcProperties":{"__isSmartRef__":true,"id":153},"__LivelyClassName__":"lively.Closure"},"152":{"this":{"__isSmartRef__":true,"id":0}},"153":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:14:21 GMT-0800 (PST)\")"},"154":{"varMapping":{"__isSmartRef__":true,"id":155},"source":"function handleToShowHalosFor(evt) {\n    var chunks = this.chunksContainingPoint(evt.getPositionIn(this)),\n        visibleChunks = chunks.select(function(chunk) {\n            return chunk.find(function(stroke) {return stroke.isVisible}) &&\n            !this.handles.find(function(handle) {\n                var length = handle.strokes.pluck('strokeReference')\n                    .intersect(chunk).length;\n                return length === handle.strokes.length && length === chunk.length\n            })\n        }.bind(this)),\n        visibleChunk = visibleChunks.last();\n    if (visibleChunk) {\n        var handle = this.getNewChunkHandle(visibleChunk);\n        return handle\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":156},"__LivelyClassName__":"lively.Closure"},"155":{"this":{"__isSmartRef__":true,"id":0}},"156":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 10 2014 15:38:54 GMT-0800 (PST)\")"},"157":{"varMapping":{"__isSmartRef__":true,"id":158},"source":"function showHalos(evt) {\n    var handle;\n    if (evt && (handle = this.handleToShowHalosFor(evt))) {\n        handle.showHalos()\n    } else {\n        $super()\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":163},"__LivelyClassName__":"lively.Closure"},"158":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":159}},"159":{"$super":{"__isSmartRef__":true,"id":160}},"160":{"varMapping":{"__isSmartRef__":true,"id":161},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":162},"__LivelyClassName__":"lively.Closure"},"161":{"obj":{"__isSmartRef__":true,"id":0},"name":"showHalos"},"162":{},"163":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:26:32 GMT-0800 (PST)\")"},"164":{"varMapping":{"__isSmartRef__":true,"id":165},"source":"function fillAreas(idx) {\n    // todo: include index\n    var ctx = this.renderContext().ctxt2d || this.getContext(); //allow canvasmorph\n    this.history.reduce(function(prevStroke, stroke, i) {\n        if (stroke.fill) {\n            if (i >= idx || !stroke.isVisible) {\n                ctx.closePath();\n                ctx.fill();\n            }\n            if (!prevStroke || !prevStroke.isVisible || stroke.startsFill) {\n                ctx.fillStyle = '#' + stroke.fill.toHexString();\n                ctx.beginPath();\n                ctx.moveTo(stroke.from.x, stroke.from.y);\n            }\n            ctx.lineTo(stroke.to.x, stroke.to.y)\n            if (stroke.endsFill) {\n                ctx.closePath();\n                ctx.fill();\n            }\n        }\n        return stroke;\n    }, this.history.first())\n}","funcProperties":{"__isSmartRef__":true,"id":166},"__LivelyClassName__":"lively.Closure"},"165":{"this":{"__isSmartRef__":true,"id":0}},"166":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 17 2014 11:52:39 GMT-0800 (PST)\")"},"167":{"varMapping":{"__isSmartRef__":true,"id":168},"source":"function getPenWidth() {\n    return this.penWidth || 3;\n}","funcProperties":{"__isSmartRef__":true,"id":169},"__LivelyClassName__":"lively.Closure"},"168":{"this":{"__isSmartRef__":true,"id":0}},"169":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 10 2014 17:16:35 GMT-0800 (PST)\")"},"170":{"varMapping":{"__isSmartRef__":true,"id":171},"source":"function updateShownHalos(fromToObj) {\n    var handle = this.handles.find(function(handle, idx) {\n        return handle.strokes.length === (fromToObj.to - fromToObj.from + 1) &&\n                handle.strokes[0].strokeReference === this.history[fromToObj.from] &&\n                handle.strokes.last().strokeReference === this.history[fromToObj.to]\n    }.bind(this)) || this.getNewChunkHandle(this.history.slice(fromToObj.from, fromToObj.to + 1));\n    handle.showHalos()\n}","funcProperties":{"__isSmartRef__":true,"id":172},"__LivelyClassName__":"lively.Closure"},"171":{"this":{"__isSmartRef__":true,"id":0}},"172":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 18 2014 18:15:11 GMT-0800 (PST)\")"},"173":{"varMapping":{"__isSmartRef__":true,"id":174},"source":"function beforePublish() {\n    var historySlider = this.historySlider;\n    historySlider && historySlider.reset();\n    historySlider && historySlider.remove();\n    delete this.historySlider;\n    var timeChunkSlider = this.timeChunkSlider; \n    timeChunkSlider && timeChunkSlider.reset();\n    timeChunkSlider && timeChunkSlider.remove();\n    delete this.timeChunkSlider;\n    delete this.timeChunkThreshold;\n    this.eraseButton && this.eraseButton.remove();\n    delete this.eraseButton;\n    this.exportButton && this.exportButton.remove();\n    delete this.exportButton;\n    var handlesCopy = [];\n    this.handles.each(function(ea) { handlesCopy.push(ea) });\n    handlesCopy.invoke('remove');\n    this.handles = [];\n    delete this.handleProto;\n}","funcProperties":{"__isSmartRef__":true,"id":175},"__LivelyClassName__":"lively.Closure"},"174":{"this":{"__isSmartRef__":true,"id":0}},"175":{"__serializedExpressions__":["timestamp"],"user":"athomschke","tags":["menu"],"timestamp":"new Date(\"Mon Dec 22 2014 15:13:11 GMT-0800 (PST)\")"},"176":{"varMapping":{"__isSmartRef__":true,"id":177},"source":"function hideAll() {\n    this.clear();\n    this.history.each(function(ea) { ea.isVisible = false })\n    lively.bindings.signal(this, 'history', this.history);\n}","funcProperties":{"__isSmartRef__":true,"id":178},"__LivelyClassName__":"lively.Closure"},"177":{"this":{"__isSmartRef__":true,"id":0}},"178":{"user":"athomschke","tags":["menu"],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:22:21 GMT-0800 (PST)\")"},"179":{"varMapping":{"__isSmartRef__":true,"id":180},"source":"function showAll() {\n    this.history.each(function(ea) { ea.isVisible = true });\n    this.goToPointInHistory(this.pointInHistory);\n}","funcProperties":{"__isSmartRef__":true,"id":181},"__LivelyClassName__":"lively.Closure"},"180":{"this":{"__isSmartRef__":true,"id":0}},"181":{"user":"athomschke","tags":["menu"],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:08:12 GMT-0800 (PST)\")"},"182":{"varMapping":{"__isSmartRef__":true,"id":183},"source":"function morphMenuItems() {\n    var items = $super();\n    var menuFunctionNames = Functions.own(this).select(function(functionName) {\n        return this[functionName].tags && this[functionName].tags.include('menu')\n    }.bind(this))\n    return items.concat([['canvas ...', menuFunctionNames.collect(function(functionName) {\n        return [functionName, this[functionName].bind(this)];\n    }.bind(this))]])\n}","funcProperties":{"__isSmartRef__":true,"id":188},"__LivelyClassName__":"lively.Closure"},"183":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":184}},"184":{"$super":{"__isSmartRef__":true,"id":185}},"185":{"varMapping":{"__isSmartRef__":true,"id":186},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":187},"__LivelyClassName__":"lively.Closure"},"186":{"obj":{"__isSmartRef__":true,"id":0},"name":"morphMenuItems"},"187":{},"188":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 16 2014 16:52:51 GMT-0800 (PST)\")"},"189":{"varMapping":{"__isSmartRef__":true,"id":190},"source":"function showOrHideChunk(fromToObj) {\n    var from = fromToObj.from,\n        to = fromToObj.to;\n    var visible = this.history.select(function(ea, idx) {\n        return idx >= from && idx <= to && ea.isVisible;\n    }).length;\n    var show = visible <= ((to - from) - visible);\n    for (var i = fromToObj.from; i<=fromToObj.to; i++) {\n        this.history[i].isVisible = show;\n    }\n    this.goToPointInHistory(this.pointInHistory);\n}","funcProperties":{"__isSmartRef__":true,"id":191},"__LivelyClassName__":"lively.Closure"},"190":{"this":{"__isSmartRef__":true,"id":0}},"191":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:26:56 GMT-0800 (PST)\")"},"192":{"varMapping":{"__isSmartRef__":true,"id":193},"source":"function getChunkedPoints() {\n    var treshold = this.getTimeChunkThreshold(),\n        chunkIndex = -1,\n        timeChunks = [];\n    this.history.reduce(function(prev, cur, idx, history) {\n        if (prev && Math.abs(cur.time - prev.time) < treshold) {\n            timeChunks[chunkIndex].push(cur);\n        } else {\n            chunkIndex += 1;\n            timeChunks[chunkIndex] = [cur];\n        }\n        return cur;\n    }.bind(this), undefined);\n    return timeChunks;\n}","funcProperties":{"__isSmartRef__":true,"id":194},"__LivelyClassName__":"lively.Closure"},"193":{"this":{"__isSmartRef__":true,"id":0}},"194":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 13:32:19 GMT-0800 (PST)\")"},"195":{"varMapping":{"__isSmartRef__":true,"id":196},"source":"function getTimeChunkThreshold() {\n    return this.timeChunkThreshold || 1000\n}","funcProperties":{"__isSmartRef__":true,"id":197},"__LivelyClassName__":"lively.Closure"},"196":{"this":{"__isSmartRef__":true,"id":0}},"197":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:14:37 GMT-0800 (PST)\")"},"198":{"varMapping":{"__isSmartRef__":true,"id":199},"source":"function onClick() {\n    \n}","funcProperties":{"__isSmartRef__":true,"id":200},"__LivelyClassName__":"lively.Closure"},"199":{"this":{"__isSmartRef__":true,"id":0}},"200":{"user":"athomschke","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 22 2014 14:17:44 GMT-0800 (PST)\")"},"isSimplifiedRegistry":true}}