gd-canvas
Version:
This set of libraries was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.0 and no dependencies accept gd-tree (it has jquery and jstree) and gd-graph (it has jquery and chart.js).
15 lines (13 loc) • 152 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("gd-canvas-custom-types"),require("gd-common"),require("gd-tooltip"),require("@angular/common"),require("gd-window")):"function"==typeof define&&define.amd?define("gd-canvas",["exports","@angular/core","gd-canvas-custom-types","gd-common","gd-tooltip","@angular/common","gd-window"],t):t((e=e||self)["gd-canvas"]={},e.ng.core,e["gd-canvas-custom-types"],e["gd-common"],e["gd-tooltip"],e.ng.common,e["gd-window"])}(this,(function(e,t,s,n,i,a,h){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */var r=function(){return(r=Object.assign||function(e){for(var t,s=1,n=arguments.length;s<n;s++)for(var i in t=arguments[s])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function o(e,t){var s="function"==typeof Symbol&&e[Symbol.iterator];if(!s)return e;var n,i,a=s.call(e),h=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)h.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(s=a.return)&&s.call(a)}finally{if(i)throw i.error}}return h}function M(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(o(arguments[t]));return e}var c,L=function(){function e(){this.showContextmenu$=new t.EventEmitter,this.focusedMove$=new t.EventEmitter,this.redrawRefChildren$=new t.EventEmitter,this.selectedChanged$=new t.EventEmitter,this.canvasIsReady$=new t.EventEmitter,this.canvasInfo$=new t.EventEmitter,this.customLayerRequest$=new t.EventEmitter,this.shapeChangedParent$=new t.EventEmitter}return e.prototype.SelectedChanged=function(e){this.selectedChanged$.emit(e)},e.prototype.ShowContextmenu=function(e){this.showContextmenu$.emit(e)},e.prototype.CustomLayerRequest=function(e){this.customLayerRequest$.emit(e)},e.prototype.CanvasIsReady=function(e){this.canvasIsReady$.emit(e)},e.prototype.CanvasInfo=function(e){this.canvasInfo$.emit(e)},e.prototype.FocusedMove=function(e){this.focusedMove$.emit(e)},e.prototype.RedrawRefChildren=function(){this.redrawRefChildren$.emit()},e.prototype.ShapeChangedParent=function(e){this.shapeChangedParent$.emit(e)},e.ɵfac=function(t){return new(t||e)},e.ɵprov=t["ɵɵdefineInjectable"]({token:e,factory:e.ɵfac,providedIn:"root"}),e}();(c=e.GondolaTypes||(e.GondolaTypes={}))[c.regular=1]="regular",c[c.wall=2]="wall";var l,d,f,w=function(e,t){this.shape=e,this.distance=t};(l=e.DefaultActions||(e.DefaultActions={}))[l.none=0]="none",l[l.move=1]="move",l[l.moveActivePoint=2]="moveActivePoint",l[l.moveActiveLine=3]="moveActiveLine",l[l.rotate=4]="rotate",l[l.resize=5]="resize",l[l.select=6]="select",l[l.selectShapesInOrder=7]="selectShapesInOrder",l[l.selectShapes=8]="selectShapes",l[l.pan=9]="pan",l[l.scale=10]="scale",l[l.dnd=11]="dnd",l[l.addShape=14]="addShape",l[l.addPolygon=15]="addPolygon",l[l.edit=17]="edit",l[l.deletePolylinePoint=18]="deletePolylinePoint",l[l.addPolylinePoint=19]="addPolylinePoint",(d=e.State||(e.State={}))[d.unchanged=0]="unchanged",d[d.added=1]="added",d[d.changed=2]="changed",d[d.deleted=3]="deleted",(f=e.DefaultTypes||(e.DefaultTypes={}))[f.none=0]="none",f[f.drawing=1]="drawing",f[f.fixture=2]="fixture",f[f.fixtureContainer=3]="fixtureContainer",f[f.fixtureProduct=4]="fixtureProduct",f[f.container=6]="container",f[f.polygon=7]="polygon",f[f.shape=8]="shape",f[f.text=9]="text",f[f.segment=10]="segment",f[f.polyline=11]="polyline",f[f.arc=12]="arc",f[f.dimension=13]="dimension",f[f.callout=14]="callout",f[f.reference=16]="reference",f[f.block=17]="block",f[f.gondolaWall=18]="gondolaWall";var p,u,v,g,y=function(){};(p=e.ShapeTypes||(e.ShapeTypes={}))[p.none=0]="none",p[p.Rect=1]="Rect",p[p.Ellipse=2]="Ellipse",(u=e.TextLayout||(e.TextLayout={}))[u.none=0]="none",u[u.Above=1]="Above",u[u.Inside=2]="Inside",u[u.Bellow=3]="Bellow",(v=e.LineStyles||(e.LineStyles={}))[v.none=0]="none",v[v.Solid=1]="Solid",v[v.Dashed=2]="Dashed",v[v.Dotted=3]="Dotted",(g=e.LineTypes||(e.LineTypes={}))[g.none=0]="none",g[g.Line=1]="Line",g[g.Arc=2]="Arc";var m,x=r(r({},e.DefaultTypes),s.CustomTypes),I=r(r({},e.DefaultActions),s.CustomActions),b=function(){function e(){}return e.prototype.Rotate=function(e,t,s){var i=new n.Point(e.x-t.x,e.y-t.y);if(0===s)return i;var a=s*Math.PI/180,h=i.x*Math.cos(a)-i.y*Math.sin(a),r=i.x*Math.sin(a)+i.y*Math.cos(a);return new n.Point(h,r)},e.prototype.Normal=function(e,t,s){if(s.x===t.x)return new n.Point(t.x,e.y);if(s.y===t.y)return new n.Point(e.x,t.y);var i=(s.y-t.y)/(s.x-t.x),a=(t.x-s.x)/(s.y-t.y),h=t.y-i*t.x,r=(e.y-a*e.x-h)/(i-a),o=i*r+h;return new n.Point(r,o)},e.prototype.DistanceTo=function(e,t,s){return Math.abs((s.y-t.y)*e.x-(s.x-t.x)*e.y+s.x*t.y-s.y*t.x)/Math.sqrt(Math.pow(s.y-t.y,2)+Math.pow(s.x-t.x,2))},e.prototype.Intersect_OLD=function(e,t,s,n){var i=this.Intersection(e,t,s,n);return 0!==i.x&&0!==i.y},e.prototype.Intersect=function(e,t,s,n){return this.doIntersect(e,t,s,n)},e.prototype.onSegment=function(e,t,s){return t.x<=Math.max(e.x,s.x)&&t.x>=Math.min(e.x,s.x)&&t.y<=Math.max(e.y,s.y)&&t.y>=Math.min(e.y,s.y)},e.prototype.orientation=function(e,t,s){var n=(t.y-e.y)*(s.x-t.x)-(t.x-e.x)*(s.y-t.y);return 0===n?0:n>0?1:2},e.prototype.doIntersect=function(e,t,s,n){var i=this.orientation(e,t,s),a=this.orientation(e,t,n),h=this.orientation(s,n,e),r=this.orientation(s,n,t);return i!==a&&h!==r||(!(0!==i||!this.onSegment(e,s,t))||(!(0!==a||!this.onSegment(e,n,t))||(!(0!==h||!this.onSegment(s,e,n))||!(0!==r||!this.onSegment(s,t,n)))))},e.prototype.Intersection=function(e,t,s,i){var a=t.x-e.x,h=t.y-e.y,r=i.x-s.x,o=i.y-s.y,M=e.x-s.x,c=e.y-s.y,L=Math.sqrt(a*a+h*h),l=Math.sqrt(r*r+o*o),d=(a*r+h*o)/(L*l);if(1===Math.abs(d))return new n.Point(0,0);var f=new n.Point(0,0),w=o*a-r*h,p=(r*c-o*M)/w;f.x=e.x+p*a,f.y=e.y+p*h,a=f.x-e.x,h=f.y-e.y,r=f.x-t.x,o=f.y-t.y;var u=Math.sqrt(a*a+h*h)+Math.sqrt(r*r+o*o);a=f.x-s.x,h=f.y-s.y,r=f.x-i.x,o=f.y-i.y;var v=Math.sqrt(a*a+h*h)+Math.sqrt(r*r+o*o),g=Math.abs(L-u),y=Math.abs(l-v);return g>.01||y>.01?new n.Point(0,0):f},e.prototype.PointSide=function(e,t,s){var n=(e.x-t.x)*(s.y-t.y)-(e.y-t.y)*(s.x-t.x);return 0===n?"INSIDE":n>0?"RIGHT":"LEFT"},e.prototype.RoundRect=function(e,t,s,n,i,a,h,r){void 0===r&&(r=!0),void 0===a&&(a=5),e.beginPath(),e.moveTo(t+a,s),e.lineTo(t+n-a,s),e.quadraticCurveTo(t+n,s,t+n,s+a),e.lineTo(t+n,s+i-a),e.quadraticCurveTo(t+n,s+i,t+n-a,s+i),e.lineTo(t+a,s+i),e.quadraticCurveTo(t,s+i,t,s+i-a),e.lineTo(t,s+a),e.quadraticCurveTo(t,s,t+a,s),e.closePath(),h&&e.fill(),r&&e.stroke()},e.prototype.MeasureText=function(e,t,s){var n=document.createElement("div");document.body.appendChild(n),n.style.font=t,n.style.position="absolute",n.style.left="-1000",n.style.top="-1000",n.style.fontStyle=s,n.innerHTML=e;var i={width:n.clientWidth,height:n.clientHeight};return document.body.removeChild(n),n=null,i},e}(),O=function(){function e(e,t){var s=this;this.service=t,this.canvas=e,this.selected=new Array,this.focused=null,this.tools=new b,t.focusedMove$.subscribe((function(e){return s.OnFocusedMove(e)}))}return Object.defineProperty(e.prototype,"StartX",{get:function(){return this.startX},set:function(e){this.startX=e,this.rect=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"StartY",{get:function(){return this.startY},set:function(e){this.startY=e,this.rect=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"EndX",{get:function(){return this.endX},set:function(e){this.endX=e,this.rect=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"EndY",{get:function(){return this.endY},set:function(e){this.endY=e,this.rect=null},enumerable:!0,configurable:!0}),e.prototype.OnFocusedMove=function(e){for(var t=0;t<this.selected.length;++t)this.selected[t].IsFocused||null===this.selected[t].ParentID&&this.selected[t].MoveOffset(e.x,e.y)},e.prototype.GetPoints=function(){var e=Math.min(this.startX,this.endX),t=Math.min(this.startY,this.endY),s=Math.abs(this.startX-this.endX),n=Math.abs(this.startY-this.endY);return[{x:e,y:t},{x:e+s,y:t},{x:e+s,y:t+n},{x:e,y:t+n},{x:e,y:t}]},e.prototype.Refresh=function(){if(null===this.rect){var e=Math.min(this.startX,this.endX),t=Math.min(this.startY,this.endY),s=Math.abs(this.startX-this.endX),i=Math.abs(this.startY-this.endY);this.rect=new n.Rect(e,t,s,i)}},e.prototype.Add=function(e){if(null===this.rect)return!1;if(void 0===e)return!1;if(e.IsSelected)return!1;for(var t=!0,s=this.rect.x/this.canvas.scale-this.canvas.canvasOffsetX,i=this.rect.y/this.canvas.scale-this.canvas.canvasOffsetY,a=new n.Rect(s,i,this.rect.w/this.canvas.scale,this.rect.h/this.canvas.scale),h=e.GetPolygon(),r=0;r<h.length;++r)if(!a.IsContains(h[r])){t=!1;break}return!!t&&(0===this.selected.length&&(this.focused=e,e.IsFocused=!0),this.selected.push(e),e.IsSelected=!0,!0)},e.prototype.ClearSelection=function(){this.selected=new Array,null!==this.focused&&(this.focused.IsFocused=!1,this.focused.activePoint=-1,this.focused.activeLine=-1,this.focused=null)},e.prototype.Select=function(e,t){var n=[],i=this.canvas.GetObjectClicked(e);if(void 0===i){if(null!==this.focused){var a=this.UnSelect();this.canvas.DRAW(a),this.service.SelectedChanged(null)}return!1}if(this.canvas.isAltKey)if(i.type===x.polygon)i.Text.IsFocused?this.selected.push(i):(i.IsSelected||this.UnSelect(),-1!==i.activeLine&&this.selected.push(i));else if(i.IsSelected){var h=this.selected.indexOf(i);h>-1&&this.selected.splice(h,1),i.IsSelected=!1,i.IsFocused&&(this.focused.IsFocused=!1,this.focused.activePoint=-1,this.focused.activeLine=-1,this.focused=null,this.selected.length>0&&(this.focused=this.selected[0],this.focused.IsFocused=!0))}else{if(this.selected.push(i),s.CustomObject.Select(i)){if(void 0!==this.canvas.map.get(i.Type)){r=x[i.Type].toString();-1===n.indexOf(r)&&n.push(r)}if(void 0!==this.canvas.map.get(i.ParentType)){r=x[i.ParentType].toString();-1===n.indexOf(r)&&n.push(r)}}i.type===x.reference&&(i.IsVisible=!0),i.type===x.shape&&i.IsRef&&(i.Reference.IsVisible=!0),null!==this.focused&&(this.focused.IsFocused=!1,this.focused.activePoint=-1,this.focused.activeLine=-1),this.focused=i,this.focused.IsFocused=!0,this.focused.IsSelected=!0,this.focused.ClickOffsetX=e.x-this.focused.X,this.focused.ClickOffsetY=e.y-this.focused.Y}else{if(i.type,x.polyline,i.type===x.polygon)i.Text.IsFocused?this.selected.push(i):(i.IsSelected||this.UnSelect(),-1!==i.activeLine&&this.selected.push(i));else if(i.IsRef&&(i.IsSelected?(i.Reference.IsVisible=!i.Reference.IsVisible,i.Reference.IsRef&&(i.Reference.Reference.IsVisible=i.Reference.IsVisible)):i.Reference.IsVisible=!0),!i.IsSelected){if(n=this.UnSelect(),this.selected.push(i),s.CustomObject.Select(i)){if(void 0!==this.canvas.map.get(i.Type)){var r=x[i.Type].toString();-1===n.indexOf(r)&&n.push(r);var o=this.canvas.mapChildren.get(i.Type);if(void 0!==o){var r=x[o].toString();-1===n.indexOf(r)&&n.push(r)}}if(void 0!==this.canvas.map.get(i.ParentType)){var r=x[i.ParentType].toString();-1===n.indexOf(r)&&n.push(r)}}i.type===x.reference&&(i.IsVisible=!0,i.Select())}null!==this.focused&&this.focused!==i&&(this.focused.IsFocused=!1,this.focused.activePoint=-1,this.focused.activeLine=-1,i.IsSelected||(this.focused.IsSelected=!1)),this.focused=i,this.focused.IsFocused=!0,this.focused.IsSelected=!0,this.focused.ClickOffsetX=e.x-this.focused.X,this.focused.ClickOffsetY=e.y-this.focused.Y}var M=x[i.type];return-1===n.indexOf(M)&&n.push(x[i.type]),-1===n.indexOf("selected")&&n.push("selected"),i.isRef&&-1===n.indexOf("reference")&&n.push("reference"),i.type===x.text&&i.ParentType===x.polygon&&-1===n.indexOf("polygon")&&n.push("polygon"),this.canvas.DRAW(n),!0},e.prototype.UnSelect=function(){if(0===this.selected.length)return[];var e=new Array;e.push("selected");for(var t=0;t<this.selected.length;++t){if(this.selected[t].IsSelected=!1,s.CustomObject.UnSelect(this.selected[t])){var n=this.canvas.mapChildren.get(this.selected[t].type);if(void 0!==n){var i=x[n].toString();-1===e.indexOf(i)&&e.push(i),i=x[this.selected[t].type].toString(),-1===e.indexOf(i)&&e.push(i)}}switch(this.selected[t].type){case x.block:-1===e.indexOf("block")&&e.push("block");break;case x.dimension:-1===e.indexOf("dimension")&&e.push("dimension");break;case x.segment:-1===e.indexOf("segment")&&e.push("segment");break;case x.arc:-1===e.indexOf("arc")&&e.push("arc");break;case x.polygon:-1===e.indexOf("polygon")&&e.push("polygon");break;case x.callout:-1===e.indexOf("callout")&&e.push("callout");break;case x.polyline:-1===e.indexOf("polyline")&&e.push("polyline"),this.selected[t].activePoint=-1,this.selected[t].activeLine=-1,this.selected[t].activeLineKeeper=-1;break;case x.reference:this.selected[t].IsVisible=!1,-1===e.indexOf("reference")&&e.push("reference");for(var a=0;a<this.selected[t].Children.length;++a){var h=x[this.selected[t].Children[a].type];-1===e.indexOf(h)&&e.push(h)}break;case x.shape:if(s.CustomObject.UnSelect(this.selected[t]))if(null!==this.canvas.map.get(this.selected[t].ParentType)){i=x[this.selected[t].ParentType].toString();-1===e.indexOf(i)&&e.push(i)}this.selected[t].IsRef&&(this.selected[t].Reference.IsVisible=!1,this.selected[t].Reference.IsRef&&(this.selected[t].Reference.Reference.IsVisible=!1),-1===e.indexOf("reference")&&e.push("reference")),-1===e.indexOf("shape")&&e.push("shape");break;case x.text:this.selected[t].ParentType===x.polygon?-1===e.indexOf("polygon")&&e.push("polygon"):-1===e.indexOf("text")&&e.push("text")}}return this.ClearSelection(),e},e.prototype.IsContains=function(e){return!1},e.prototype.Draw=function(e){if(null!=e){this.Refresh();e.clearRect(-.5,-.5,this.canvas.width+1,this.canvas.height+1),this.canvas.action!==I.select&&this.canvas.action!==I.selectShapes||(e.save(),e.fillStyle="rgba(128, 159, 255, 0.15)",e.strokeStyle="rgba( 0, 45, 179, 1.00)",e.lineWidth=.25,e.beginPath(),e.rect(this.rect.x+.5/this.canvas.scale,this.rect.y+.5/this.canvas.scale,this.rect.w,this.rect.h),e.closePath(),e.fill(),e.stroke(),e.restore()),this.canvas.action===I.selectShapesInOrder&&(e.save(),e.strokeStyle="rgba( 0, 45, 179, 1.00)",e.lineWidth=.25,e.beginPath(),e.moveTo(this.startX,this.startY),e.lineTo(this.endX,this.endY),e.closePath(),e.stroke(),e.restore()),s.CustomObject.DoCustomAction(e,this.canvas.action,this.startX,this.startY,this.endX,this.endY,this.canvas.scale,.25)}},e.prototype.DrawRegularGondola=function(e){try{var t=new n.Point(this.StartX/this.canvas.scale,this.StartY/this.canvas.scale),s=new n.Point(this.EndX/this.canvas.scale,this.EndY/this.canvas.scale),i=new n.Vector(t,s),a=i.Angle(),h=i.Length(),r=new n.Vector(t,s);r.Normalize(),r.Scale(-20);var o=new n.Vector(t,s);o.Normalize(),o.Scale(20);var M=new n.Vector(t,s);M.Rotate90(),M.Normalize(),M.Scale(20);var c=new n.Vector(t,s);c.Rotate90(),c.Rotate90(),c.Rotate90(),c.Normalize(),c.Scale(20);var L=new n.Line(this.startX,this.startY,this.endX,this.endY),l=new n.Line(this.startX+c.x,this.startY+c.y,this.startX+M.x,this.startY+M.y),d=new n.Line(this.startX+M.x,this.startY+M.y,this.endX+M.x,this.endY+M.y),f=new n.Line(this.endX+M.x,this.endY+M.y,this.endX+c.x,this.endY+c.y),w=new n.Line(this.endX+c.x,this.endY+c.y,this.startX+c.x,this.startY+c.y),p=new n.Line(this.startX+M.x,this.startY+M.y,this.startX+r.x+M.x,this.startY+r.y+M.y),u=new n.Line(this.startX+r.x+M.x,this.startY+r.y+M.y,this.startX+r.x+c.x,this.startY+r.y+c.y),v=new n.Line(this.startX+r.x+c.x,this.startY+r.y+c.y,this.startX+c.x,this.startY+c.y),g=new n.Line(this.endX+M.x,this.endY+M.y,this.endX+o.x+M.x,this.endY+o.y+M.y),y=new n.Line(this.endX+o.x+M.x,this.endY+o.y+M.y,this.endX+o.x+c.x,this.endY+o.y+c.y),m=new n.Line(this.endX+o.x+c.x,this.endY+o.y+c.y,this.endX+c.x,this.endY+c.y);e.beginPath(),e.moveTo(L.x1,L.y1),e.lineTo(L.x2,L.y2),e.moveTo(l.x1,l.y1),e.lineTo(l.x2,l.y2),e.lineTo(d.x2,d.y2),e.lineTo(f.x2,f.y2),e.lineTo(w.x2,w.y2),e.moveTo(p.x1,p.y1),e.lineTo(p.x2,p.y2),e.lineTo(u.x2,u.y2),e.lineTo(v.x2,v.y2),e.moveTo(g.x1,g.y1),e.lineTo(g.x2,g.y2),e.lineTo(y.x2,y.y2),e.lineTo(m.x2,m.y2),e.closePath(),e.stroke();for(var x=new n.Vector(t,s),I=h/40,b=1;b<=I;++b){x.Normalize(),x.Scale(40*b);var O=new n.Line(this.startX+M.x+x.x,this.startY+M.y+x.y,this.startX+c.x+x.x,this.startY+c.y+x.y);e.beginPath(),e.moveTo(O.x1,O.y1),e.lineTo(O.x2,O.y2),e.closePath(),e.stroke()}var S=new n.Vector(t,s),C=new n.Vector(t,s);C.Normalize(),C.Scale(-20);var D=new n.Vector(t,s);D.Rotate90(),D.Normalize(),D.Scale(6);var P="",X=0,Y=0;for(b=1;b<=I;++b)e.save(),S.Normalize(),S.Scale(40*b),P=(1+2*Math.floor(I)+1-b).toString(),X=this.startX+S.x+C.x+D.x,Y=this.startY+S.y+C.y+D.y,e.translate(X,Y),e.rotate(a*Math.PI/180),e.font="10px Sans",e.fillStyle="black",e.textAlign="center",e.fillText(P,0,0),e.restore();P=(1+Math.floor(I)).toString();var k=new n.Vector(t,s);k.Normalize(),k.Scale(7),X=this.endX+k.x,Y=this.endY+k.y,e.save(),e.translate(X,Y),e.rotate((a+90)*Math.PI/180),e.font="10px Sans",e.fillStyle="black",e.textAlign="center",e.fillText(P,0,0),e.restore(),D.Normalize(),D.Scale(-6);for(b=1;b<=I;++b)e.save(),S.Normalize(),S.Scale(40*b),P=(1+b-1).toString(),X=this.startX+S.x+C.x+D.x,Y=this.startY+S.y+C.y+D.y,e.translate(X,Y),e.rotate((a+180)*Math.PI/180),e.font="10px Sans",e.fillStyle="black",e.textAlign="center",e.fillText(P,0,0),e.restore();var R=new n.Vector(t,s);R.Normalize(),R.Scale(-6),P=(1+2*Math.floor(I)+1).toString(),X=this.startX+R.x,Y=this.startY+R.y,e.save(),e.translate(X,Y),e.rotate((a+270)*Math.PI/180),e.font="10px Sans",e.fillStyle="black",e.textAlign="center",e.fillText(P,0,0),e.restore()}catch(e){}},e.prototype.DrawWallGondola=function(e){try{var t=new n.Point(this.StartX/this.canvas.scale,this.StartY/this.canvas.scale),s=new n.Point(this.EndX/this.canvas.scale,this.EndY/this.canvas.scale),i=new n.Vector(t,s),a=i.Angle(),h=i.Length(),r=new n.Vector(t,s);r.Rotate90(),r.Normalize(),r.Scale(-20);var o=new n.Line(this.startX,this.startY,this.endX,this.endY),M=new n.Line(this.endX,this.endY,this.endX+r.x,this.endY+r.y),c=new n.Line(this.endX+r.x,this.endY+r.y,this.startX+r.x,this.startY+r.y),L=new n.Line(this.startX,this.startY,this.startX+r.x,this.startY+r.y);e.beginPath(),e.moveTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(M.x2,M.y2),e.lineTo(c.x2,c.y2),e.lineTo(L.x2,L.y2),e.closePath(),e.stroke();for(var l=new n.Vector(t,s),d=h/40,f=1;f<=d;++f){l.Normalize(),l.Scale(40*f);var w=new n.Line(this.startX+l.x,this.startY+l.y,this.startX+r.x+l.x,this.startY+r.y+l.y);e.beginPath(),e.moveTo(w.x1,w.y1),e.lineTo(w.x2,w.y2),e.closePath(),e.stroke()}var p=new n.Vector(t,s),u=new n.Vector(t,s);u.Normalize(),u.Scale(-25);var v=new n.Vector(t,s);v.Normalize(),v.Scale(7);var g="",y=0,m=0;for(f=1;f<=d;++f)e.save(),p.Normalize(),p.Scale(40*f),g=(1+f-1).toString(),y=this.startX+p.x+u.x+v.x,m=this.startY+p.y+u.y+v.x,e.translate(y,m),e.rotate((a+180)*Math.PI/180),e.font="10px Sans",e.fillStyle="black",e.textAlign="center",e.fillText(g,0,0),e.restore()}catch(e){}},e.prototype.DrawArea=function(e){if(!(this.startX>this.endX||this.startY>this.endY)){var t=new n.Rect(this.startX,this.startY,this.endX-this.startX,this.endY-this.startY),s=t.x+5*this.canvas.scale,i=t.y+5*this.canvas.scale,a="";e.globalAlpha=.75,e.strokeStyle="#444",e.fillStyle="#eee",e.save(),e.beginPath(),e.rect(t.x,t.y,t.w,t.h),e.closePath(),e.fill(),e.stroke(),e.restore(),e.save(),a="Area 1";if(e.font="10px Sans",e.fillStyle="black",e.textAlign="left",e.fillText(a,t.x+1,t.y-3),e.restore(),e.strokeStyle="#777",e.fillStyle="#eee",!(t.w<45||t.h<25)){var h=new n.Vector(100,0);h.Normalize(),h.Scale(20);var r=new n.Vector(0,100);r.Normalize(),r.Scale(14);for(var o=0;!(s+40+3>t.x+t.w&&(s=t.x+5*this.canvas.scale,(i=i+20+3)+20+3>t.y+t.h));++o){e.save(),e.beginPath(),this.tools.RoundRect(e,s,i,40,20,3,"#f00","#000"),e.closePath(),e.stroke(),e.restore(),e.save(),h.Normalize(),h.Scale(20),a=(1+o).toString();var M=s+h.x+r.x,c=i+h.y+r.y;e.font="10px Sans",e.fillStyle="black",e.textAlign="center",e.fillText(a,M,c),e.restore(),s=s+40+3}}}},e}(),S=function(){function e(){this.MaxHeight=32,this.chars=[[new C(16,""),new C(10,"M 5 4 L 5 18 M 5 23 L 4 24 5 25 6 24 5 23"),new C(16,"M 4 4 L 4 11 M 12 4 L 12 11"),new C(21,"M 11 0 L 4 32 M 17 0 L 10 32 M 4 13 L 18 13 M 3 19 L 17 19"),new C(20,"M 8 0 L 8 29 M 12 0 L 12 29 M 17 7 L 15 5 12 4 8 4 5 5 3 7 3 9 4 11 5 12 7 13 13 15 15 16 16 17 17 19 17 22 15 24 12 25 8 25 5 24 3 22"),new C(24,"M 21 4 L 3 25 M 8 4 L 10 6 10 8 9 10 7 11 5 11 3 9 3 7 4 5 6 4 8 4 10 5 13 6 16 6 19 5 21 4 M 17 18 L 15 19 14 21 14 23 16 25 18 25 20 24 21 22 21 20 19 18 17 18"),new C(26,"M 23 13 L 23 12 22 11 21 11 20 12 19 14 17 19 15 22 13 24 11 25 7 25 5 24 4 23 3 21 3 19 4 17 5 16 12 12 13 11 14 9 14 7 13 5 11 4 9 5 8 7 8 9 9 12 11 15 16 22 18 24 20 25 22 25 23 24 23 23"),new C(10,"M 5 6 L 4 5 5 4 6 5 6 7 5 9 4 10"),new C(14,"M 11 0 L 9 2 7 5 5 9 4 14 4 18 5 23 7 27 9 30 11 32"),new C(14,"M 3 0 L 5 2 7 5 9 9 10 14 10 18 9 23 7 27 5 30 3 32"),new C(16,"M 8 10 L 8 22 M 3 13 L 13 19 M 13 13 L 3 19"),new C(26,"M 13 7 L 13 25 M 4 16 L 22 16"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23 M 6 24 L 6 26 5 28 4 29"),new C(26,"M 4 16 L 22 16"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(22,"M 20 0 L 2 32"),new C(20,"M 9 4 L 6 5 4 8 3 13 3 16 4 21 6 24 9 25 11 25 14 24 16 21 17 16 17 13 16 8 14 5 11 4 9 4"),new C(20,"M 6 8 L 8 7 11 4 11 25"),new C(20,"M 4 9 L 4 8 5 6 6 5 8 4 12 4 14 5 15 6 16 8 16 10 15 12 13 15 3 25 17 25"),new C(22,"M 5 4 L 16 4 10 12 13 12 15 13 16 14 17 17 17 19 16 22 14 24 11 25 8 25 5 24 4 23 3 21"),new C(20,"M 13 4 L 3 18 18 18 M 13 4 L 13 25"),new C(20,"M 15 4 L 5 4 4 13 5 12 8 11 11 11 14 12 16 14 17 17 17 19 16 22 14 24 11 25 8 25 5 24 4 23 3 21"),new C(20,"M 16 7 L 15 5 12 4 10 4 7 5 5 8 4 13 4 18 5 22 7 24 10 25 11 25 14 24 16 22 17 19 17 18 16 15 14 13 11 12 10 12 7 13 5 15 4 18"),new C(20,"M 17 4 L 7 25 M 3 4 L 17 4"),new C(20,"M 8 4 L 5 5 4 7 4 9 5 11 7 12 11 13 14 14 16 16 17 18 17 21 16 23 15 24 12 25 8 25 5 24 4 23 3 21 3 18 4 16 6 14 9 13 13 12 15 11 16 9 16 7 15 5 12 4 8 4"),new C(20,"M 16 11 L 15 14 13 16 10 17 9 17 6 16 4 14 3 11 3 10 4 7 6 5 9 4 10 4 13 5 15 7 16 11 16 16 15 21 13 24 10 25 8 25 5 24 4 22"),new C(10,"M 5 11 L 4 12 5 13 6 12 5 11 M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 11 L 4 12 5 13 6 12 5 11 M 6 24 L 5 25 4 24 5 23 6 24 6 26 5 28 4 29"),new C(24,"M 20 7 L 4 16 20 25"),new C(26,"M 4 13 L 22 13 M 4 19 L 22 19"),new C(24,"M 4 7 L 20 16 4 25"),new C(18,"M 3 9 L 3 8 4 6 5 5 7 4 11 4 13 5 14 6 15 8 15 10 14 12 13 13 9 15 9 18 M 9 23 L 8 24 9 25 10 24 9 23"),new C(27,"M 18 12 L 17 10 15 9 12 9 10 10 9 11 8 14 8 17 9 19 11 20 14 20 16 19 17 17 M 12 9 L 10 11 9 14 9 17 10 19 11 20 M 18 9 L 17 17 17 19 19 20 21 20 23 18 24 15 24 13 23 10 22 8 20 6 18 5 15 4 12 4 9 5 7 6 5 8 4 10 3 13 3 16 4 19 5 21 7 23 9 24 12 25 15 25 18 24 20 23 21 22 M 19 9 L 18 17 18 19 19 20"),new C(18,"M 9 4 L 1 25 M 9 4 L 17 25 M 4 18 L 14 18"),new C(21,"M 4 4 L 4 25 M 4 4 L 13 4 16 5 17 6 18 8 18 10 17 12 16 13 13 14 M 4 14 L 13 14 16 15 17 16 18 18 18 21 17 23 16 24 13 25 4 25"),new C(21,"M 18 9 L 17 7 15 5 13 4 9 4 7 5 5 7 4 9 3 12 3 17 4 20 5 22 7 24 9 25 13 25 15 24 17 22 18 20"),new C(21,"M 4 4 L 4 25 M 4 4 L 11 4 14 5 16 7 17 9 18 12 18 17 17 20 16 22 14 24 11 25 4 25"),new C(19,"M 4 4 L 4 25 M 4 4 L 17 4 M 4 14 L 12 14 M 4 25 L 17 25"),new C(18,"M 4 4 L 4 25 M 4 4 L 17 4 M 4 14 L 12 14"),new C(21,"M 18 9 L 17 7 15 5 13 4 9 4 7 5 5 7 4 9 3 12 3 17 4 20 5 22 7 24 9 25 13 25 15 24 17 22 18 20 18 17 M 13 17 L 18 17"),new C(22,"M 4 4 L 4 25 M 18 4 L 18 25 M 4 14 L 18 14"),new C(8,"M 4 4 L 4 25"),new C(16,"M 12 4 L 12 20 11 23 10 24 8 25 6 25 4 24 3 23 2 20 2 18"),new C(21,"M 4 4 L 4 25 M 18 4 L 4 18 M 9 13 L 18 25"),new C(17,"M 4 4 L 4 25 M 4 25 L 16 25"),new C(24,"M 4 4 L 4 25 M 4 4 L 12 25 M 20 4 L 12 25 M 20 4 L 20 25"),new C(22,"M 4 4 L 4 25 M 4 4 L 18 25 M 18 4 L 18 25"),new C(22,"M 9 4 L 7 5 5 7 4 9 3 12 3 17 4 20 5 22 7 24 9 25 13 25 15 24 17 22 18 20 19 17 19 12 18 9 17 7 15 5 13 4 9 4"),new C(21,"M 4 4 L 4 25 M 4 4 L 13 4 16 5 17 6 18 8 18 11 17 13 16 14 13 15 4 15"),new C(22,"M 9 4 L 7 5 5 7 4 9 3 12 3 17 4 20 5 22 7 24 9 25 13 25 15 24 17 22 18 20 19 17 19 12 18 9 17 7 15 5 13 4 9 4 M 12 21 L 18 27"),new C(21,"M 4 4 L 4 25 M 4 4 L 13 4 16 5 17 6 18 8 18 10 17 12 16 13 13 14 4 14 M 11 14 L 18 25"),new C(20,"M 17 7 L 15 5 12 4 8 4 5 5 3 7 3 9 4 11 5 12 7 13 13 15 15 16 16 17 17 19 17 22 15 24 12 25 8 25 5 24 3 22"),new C(16,"M 8 4 L 8 25 M 1 4 L 15 4"),new C(22,"M 4 4 L 4 19 5 22 7 24 10 25 12 25 15 24 17 22 18 19 18 4"),new C(18,"M 1 4 L 9 25 M 17 4 L 9 25"),new C(24,"M 2 4 L 7 25 M 12 4 L 7 25 M 12 4 L 17 25 M 22 4 L 17 25"),new C(20,"M 3 4 L 17 25 M 17 4 L 3 25"),new C(18,"M 1 4 L 9 14 9 25 M 17 4 L 9 14"),new C(20,"M 17 4 L 3 25 M 3 4 L 17 4 M 3 25 L 17 25"),new C(14,"M 4 1 L 4 31 M 5 1 L 5 31 M 4 1 L 11 1 M 4 31 L 11 31"),new C(14,"M 0 4 L 14 28"),new C(14,"M 9 1 L 9 31 M 10 1 L 10 31 M 3 1 L 10 1 M 3 31 L 10 31"),new C(22,"M 3 18 L 11 13 19 18 M 3 18 L 11 14 19 18"),new C(14,"M 14 24 L 0 24"),new C(10,"M 6 4 L 5 5 4 7 4 9 5 10 6 9 5 8"),new C(19,"M 15 11 L 15 25 M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(19,"M 4 4 L 4 25 M 4 14 L 6 12 8 11 11 11 13 12 15 14 16 17 16 19 15 22 13 24 11 25 8 25 6 24 4 22"),new C(18,"M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(19,"M 15 4 L 15 25 M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(18,"M 3 17 L 15 17 15 15 14 13 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(12,"M 10 4 L 8 4 6 5 5 8 5 25 M 2 11 L 9 11"),new C(19,"M 15 11 L 15 27 14 30 13 31 11 32 8 32 6 31 M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(19,"M 4 4 L 4 25 M 4 15 L 7 12 9 11 12 11 14 12 15 15 15 25"),new C(8,"M 3 4 L 4 5 5 4 4 3 3 4 M 4 11 L 4 25"),new C(10,"M 5 4 L 6 5 7 4 6 3 5 4 M 6 11 L 6 28 5 31 3 32 1 32"),new C(17,"M 4 4 L 4 25 M 14 11 L 4 21 M 8 17 L 15 25"),new C(8,"M 4 4 L 4 25"),new C(30,"M 4 11 L 4 25 M 4 15 L 7 12 9 11 12 11 14 12 15 15 15 25 M 15 15 L 18 12 20 11 23 11 25 12 26 15 26 25"),new C(19,"M 4 11 L 4 25 M 4 15 L 7 12 9 11 12 11 14 12 15 15 15 25"),new C(19,"M 8 11 L 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 16 19 16 17 15 14 13 12 11 11 8 11"),new C(19,"M 4 11 L 4 32 M 4 14 L 6 12 8 11 11 11 13 12 15 14 16 17 16 19 15 22 13 24 11 25 8 25 6 24 4 22"),new C(19,"M 15 11 L 15 32 M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(13,"M 4 11 L 4 25 M 4 17 L 5 14 7 12 9 11 12 11"),new C(17,"M 14 14 L 13 12 10 11 7 11 4 12 3 14 4 16 6 17 11 18 13 19 14 21 14 22 13 24 10 25 7 25 4 24 3 22"),new C(12,"M 5 4 L 5 21 6 24 8 25 10 25 M 2 11 L 9 11"),new C(19,"M 4 11 L 4 21 5 24 7 25 10 25 12 24 15 21 M 15 11 L 15 25"),new C(16,"M 2 11 L 8 25 M 14 11 L 8 25"),new C(22,"M 3 11 L 7 25 M 11 11 L 7 25 M 11 11 L 15 25 M 19 11 L 15 25"),new C(17,"M 3 11 L 14 25 M 14 11 L 3 25"),new C(16,"M 2 11 L 8 25 M 14 11 L 8 25 6 29 4 31 2 32 1 32"),new C(17,"M 14 11 L 3 25 M 3 11 L 14 11 M 3 25 L 14 25"),new C(14,"M 9 0 L 7 1 6 2 5 4 5 6 6 8 7 9 8 11 8 13 6 15 M 7 1 L 6 3 6 5 7 7 8 8 9 10 9 12 8 14 4 16 8 18 9 20 9 22 8 24 7 25 6 27 6 29 7 31 M 6 17 L 8 19 8 21 7 23 6 24 5 26 5 28 6 30 7 31 9 32"),new C(8,"M 4 0 L 4 32"),new C(14,"M 5 0 L 7 1 8 2 9 4 9 6 8 8 7 9 6 11 6 13 8 15 M 7 1 L 8 3 8 5 7 7 6 8 5 10 5 12 6 14 10 16 6 18 5 20 5 22 6 24 7 25 8 27 8 29 7 31 M 8 17 L 6 19 6 21 7 23 8 24 9 26 9 28 8 30 7 31 5 32"),new C(24,"M 3 19 L 3 17 4 14 6 13 8 13 10 14 14 17 16 18 18 18 20 17 21 15 M 3 17 L 4 15 6 14 8 14 10 15 14 18 16 19 18 19 20 18 21 15 21 13"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 6 4 L 5 5 4 7 4 9 5 10 6 9 5 8"),new C(10,"M 5 6 L 4 5 5 4 6 5 6 7 5 9 4 10"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 9 L 5 24 M 5 5 L 6 6 M 5 5 L 4 6 5 7 6 6"),new C(18,"M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 M 9 8 L 9 28"),new C(20,"M 14 9 L 12 7 10 7 8 10 7 17 6 23 4 25 3 25 2 24 2 23 3 22 4 22 9 25 13 25 15 23 M 5 15 L 10 15"),new C(19,"M 13 12 L 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 M 13 12 L 15 14 16 17 16 19 15 22 M 4 14 L 1 11 M 4 22 L 1 25 M 15 14 L 18 11 M 15 22 L 18 25"),new C(16,"M 4 13 L 12 13 M 4 16 L 12 16 M 8 14 L 8 23 M 8 14 L 4 6 M 8 14 L 12 6"),new C(10,"M 5 5 L 5 12 M 5 15 L 5 23"),new C(14,"M 6 7 L 8 7 9 8 9 9 M 6 7 L 5 8 5 10 6 11 9 13 M 6 11 L 5 12 5 14 6 15 9 17 M 9 13 L 10 14 10 16 9 17 10 18 10 20 9 21 7 21 6 20 6 19"),new C(12,"M 2 8 L 3 7 M 2 8 L 3 9 4 8 3 7 M 4 8 L 4 8 M 8 8 L 9 9 10 8 9 7 8 8"),new C(19,"M 13 12 L 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 M 13 12 L 15 14 16 17 16 19 15 22 M 9 14 L 10 14 12 15 M 9 14 L 7 15 6 17 6 19 7 21 9 22 10 22 12 21"),new C(19,"M 8 12 L 11 12 M 5 24 L 13 24 M 6 13 L 5 15 M 8 12 L 6 13 M 5 15 L 5 18 M 8 21 L 11 21 M 6 20 L 8 21 M 5 18 L 6 20 M 11 12 L 13 14 M 13 12 L 13 21 M 11 21 L 13 19"),new C(14,"M 1 21 L 6 27 M 1 21 L 6 15 M 5 21 L 10 27 M 5 21 L 10 15"),new C(14,"M 13 21 L 13 27 M 13 21 L 2 21"),new C(10,"M 2 20 L 8 20"),new C(19,"M 13 12 L 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 M 13 12 L 15 14 16 17 16 19 15 22 M 7 14 L 11 14 13 15 13 17 M 7 14 L 7 22 M 11 19 L 7 19 M 10 19 L 13 22 M 11 19 L 13 17"),new C(10,"M 2 8 L 8 8"),new C(19,"M 9 7 L 10 7 M 9 7 L 8 8 8 9 9 10 10 10 11 9 11 8 10 7"),new C(19,"M 6 13 L 14 13 M 10 9 L 10 17 M 6 19 L 14 19"),new C(19,"M 8 7 L 10 7 M 8 7 L 7 8 M 11 8 L 10 7 M 11 8 L 11 9 7 13 11 13"),new C(19,"M 8 7 L 10 7 M 8 7 L 7 8 M 11 8 L 10 7 M 11 8 L 11 9 10 10 8 10 M 10 10 L 11 11 11 12 10 13 8 13 M 7 12 L 8 13"),new C(19,"M 12 6 L 8 9"),new C(19,"M 2 16 L 1 23 0 26 -1 28 -3 30 M 2 11 L 2 18 3 22 4 23 6 24 7 24 9 23 10 22 11 18 11 11 M 11 18 L 12 21 13 23 14 24"),new C(19,"M 6 8 L 14 8 M 12 8 L 12 23 M 8 8 L 8 23 M 6 8 L 5 9 5 11 6 12 8 12"),new C(19,"M 10 8 L 10 8 M 10 12 L 9 13 10 14 M 11 13 L 10 14 M 11 13 L 10 12"),new C(19,"M 9 23 L 8 22 M 11 22 L 10 20 M 11 22 L 10 23 M 9 23 L 10 23"),new C(19,"M 9 6 L 8 8 M 9 6 L 9 13"),new C(19,"M 8 7 L 10 7 M 8 7 L 7 8 M 11 8 L 10 7 M 11 8 L 11 9 10 10 M 7 13 L 11 13 M 10 10 L 8 10 7 9 7 8"),new C(14,"M 9 21 L 4 27 M 9 21 L 4 15 M 13 21 L 8 27 M 13 21 L 8 15"),new C(19,"M 6 6 L 5 8 M 6 6 L 6 13 M 13 15 L 10 20 M 13 15 L 13 22 M 15 6 L 4 22 M 13 20 L 10 20"),new C(19,"M 12 16 L 14 16 M 12 16 L 11 17 M 15 17 L 14 16 M 15 17 L 15 18 11 22 15 22 M 14 7 L 5 22 M 6 13 L 6 7 5 9"),new C(19,"M 3 22 L 16 6 M 15 15 L 15 21 M 15 15 L 12 19 15 19 M 3 6 L 5 6 M 3 6 L 2 7 M 6 7 L 5 6 M 6 8 L 5 9 3 9 M 5 9 L 6 10 M 6 11 L 5 12 3 12 M 2 11 L 3 12 M 6 7 L 6 8 M 6 10 L 6 11"),new C(18,"M 9 4 L 8 5 9 6 10 5 9 4 M 9 9 L 9 12 8 14 7 15 5 16 4 17 3 19 3 21 4 23 5 24 7 25 11 25 13 24 14 23 15 21 15 20"),new C(18,"M 4 1 L 8 4 M 9 5 L 1 25 M 9 5 L 17 25 M 4 18 L 14 18"),new C(18,"M 15 1 L 10 4 M 9 5 L 1 25 M 9 5 L 17 25 M 4 18 L 14 18"),new C(18,"M 9 1 L 14 4 M 9 5 L 1 25 M 9 5 L 17 25 M 4 18 L 14 18 M 9 1 L 4 4"),new C(18,"M 4 3 L 5 2 7 1 8 1 11 4 12 4 14 3 15 2 M 9 5 L 1 25 M 9 5 L 17 25 M 4 18 L 14 18"),new C(18,"M 9 5 L 1 25 M 9 5 L 17 25 M 4 18 L 14 18 M 6 1 L 5 2 6 3 7 2 6 1 M 13 1 L 12 2 13 3 14 2 13 1"),new C(18,"M 9 5 L 1 25 M 9 5 L 17 25 M 4 18 L 14 18 M 7 4 L 7 2 8 1 10 1 11 2 11 4 10 5 8 5 7 4"),new C(19,"M 9 4 L 9 25 M 8 4 L 18 4 M 9 14 L 15 14 M 9 25 L 18 25 M 8 4 L 1 25 M 9 19 L 3 19"),new C(18,"M 7 4 L 11 4 M 7 4 L 5 5 3 7 1 12 1 17 3 22 5 24 7 25 11 25 13 24 15 22 16 20 M 11 4 L 13 5 15 7 16 9 M 8 25 L 9 26 11 27 11 29 9 30 7 30 5 28"),new C(19,"M 7 1 L 14 3 M 4 4 L 4 25 M 4 4 L 17 4 M 4 14 L 12 14 M 4 25 L 17 25"),new C(19,"M 13 1 L 7 3 M 4 4 L 4 25 M 4 4 L 17 4 M 4 14 L 12 14 M 4 25 L 17 25"),new C(19,"M 11 1 L 6 3 M 4 4 L 4 25 M 4 4 L 17 4 M 4 14 L 12 14 M 4 25 L 17 25 M 11 1 L 16 3"),new C(19,"M 4 4 L 4 25 M 4 4 L 17 4 M 4 14 L 12 14 M 4 25 L 17 25 M 6 1 L 5 2 6 3 7 2 6 1 M 16 2 L 15 3 14 2 15 1 16 2"),new C(19,"M 4 1 L 11 3 M 10 4 L 10 25"),new C(19,"M 16 1 L 9 3 M 10 4 L 10 25"),new C(19,"M 10 1 L 6 3 M 10 4 L 10 25 M 10 1 L 14 3"),new C(19,"M 11 4 L 11 25 M 6 1 L 5 2 6 3 7 2 6 1 M 16 2 L 15 3 14 2 15 1 16 2"),new C(21,"M 4 4 L 4 25 M 4 4 L 11 4 14 5 16 7 17 9 18 12 18 17 17 20 16 22 14 24 11 25 4 25 M 3 15 L 11 15"),new C(22,"M 6 3 L 7 2 9 1 10 1 13 4 14 4 16 3 17 2 M 4 4 L 4 25 M 4 4 L 18 25 M 18 4 L 18 25"),new C(22,"M 9 4 L 7 5 5 7 4 9 3 12 3 17 4 20 5 22 7 24 9 25 13 25 15 24 17 22 18 20 19 17 19 12 18 9 17 7 15 5 13 4 9 4 M 13 3 L 6 1"),new C(22,"M 9 4 L 7 5 5 7 4 9 3 12 3 17 4 20 5 22 7 24 9 25 13 25 15 24 17 22 18 20 19 17 19 12 18 9 17 7 15 5 13 4 9 4 M 9 3 L 16 1"),new C(22,"M 9 4 L 7 5 5 7 4 9 3 12 3 17 4 20 5 22 7 24 9 25 13 25 15 24 17 22 18 20 19 17 19 12 18 9 17 7 15 5 13 4 9 4 M 11 1 L 6 3 M 11 1 L 16 3"),new C(22,"M 6 3 L 7 2 9 1 10 1 13 3 14 3 16 2 17 1 M 9 4 L 7 5 5 7 4 9 3 12 3 17 4 20 5 22 7 24 9 25 13 25 15 24 17 22 18 20 19 17 19 12 18 9 17 7 15 5 13 4 9 4"),new C(22,"M 9 4 L 7 5 5 7 4 9 3 12 3 17 4 20 5 22 7 24 9 25 13 25 15 24 17 22 18 20 19 17 19 12 18 9 17 7 15 5 13 4 9 4 M 7 1 L 6 2 7 3 8 2 7 1 M 14 1 L 13 2 14 3 15 2 14 1"),new C(17,"M 4 14 L 13 25 M 13 14 L 4 25"),new C(22,"M 9 4 L 7 5 5 7 4 9 3 12 3 17 4 20 5 22 7 24 9 25 13 25 15 24 17 22 18 20 19 17 19 12 18 9 17 7 15 5 13 4 9 4 M 3 24 L 19 5"),new C(22,"M 4 4 L 4 19 5 22 7 24 10 25 12 25 15 24 17 22 18 19 18 4 M 15 3 L 7 1"),new C(22,"M 4 4 L 4 19 5 22 7 24 10 25 12 25 15 24 17 22 18 19 18 4 M 14 1 L 7 3"),new C(22,"M 4 4 L 4 19 5 22 7 24 10 25 12 25 15 24 17 22 18 19 18 4 M 6 3 L 11 1 16 3"),new C(22,"M 4 4 L 4 19 5 22 7 24 10 25 12 25 15 24 17 22 18 19 18 4 M 7 1 L 6 2 7 3 8 2 7 1 M 15 1 L 14 2 15 3 16 2 15 1"),new C(18,"M 1 4 L 9 14 9 25 M 17 4 L 9 14 M 8 4 L 15 1"),new C(19,"M 4 11 L 4 32 M 16 20 L 16 23 14 26 11 27 4 27 M 4 16 L 11 16 14 17 16 20"),new C(22,"M 5 28 L 5 22 6 10 7 8 9 7 12 7 14 8 15 9 16 11 16 12 15 14 14 15 12 16 7 16 12 16 15 17 16 18 17 20 17 21 16 23 15 24 12 25 7 25"),new C(19,"M 6 5 L 12 8 M 15 11 L 15 25 M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(19,"M 6 8 L 12 5 M 15 11 L 15 25 M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(19,"M 5 8 L 9 5 13 8 M 15 11 L 15 25 M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(19,"M 4 8 L 5 7 7 6 8 6 11 9 12 9 14 8 15 7 M 15 11 L 15 25 M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(19,"M 15 11 L 15 25 M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 M 13 6 L 14 5 M 13 6 L 12 5 13 4 14 5 M 4 5 L 5 6 M 4 5 L 5 4 6 5 5 6"),new C(19,"M 7 8 L 7 6 8 5 10 5 11 6 11 8 10 9 8 9 7 8 M 15 11 L 15 25 M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(19,"M 1 14 L 2 13 4 12 6 12 8 13 9 15 9 21 8 23 6 24 4 24 2 23 1 21 1 20 2 18 4 17 6 17 8 18 9 20 M 9 15 L 10 13 12 12 14 12 16 13 17 15 M 17 21 L 16 23 14 24 12 24 10 23 9 21 M 9 18 L 17 17 M 17 15 L 17 17"),new C(18,"M 9 25 L 10 26 12 27 12 29 10 30 8 30 6 28 M 15 14 L 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(18,"M 6 5 L 12 8 M 3 17 L 15 17 15 15 14 13 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(18,"M 15 5 L 8 8 M 3 17 L 15 17 15 15 14 13 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(18,"M 5 8 L 9 5 13 8 M 3 17 L 15 17 15 15 14 13 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(18,"M 6 4 L 5 5 6 6 7 5 6 4 M 13 4 L 12 5 13 6 14 5 13 4 M 3 17 L 15 17 15 15 14 13 13 12 11 11 8 11 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22"),new C(8,"M 1 4 L 5 7 M 4 11 L 4 25"),new C(8,"M 6 4 L 3 7 M 4 11 L 4 25"),new C(8,"M 0 8 L 4 5 8 8 M 4 11 L 4 25"),new C(8,"M 1 4 L 0 5 1 6 2 5 1 4 M 8 4 L 7 5 8 6 9 5 8 4 M 4 11 L 4 25"),new C(19,"M 7 5 L 12 8 M 8 11 L 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 16 19 16 17 15 14 13 12 11 11 8 11 M 12 8 L 14 10 15 12 16 17 M 7 8 L 13 6"),new C(19,"M 4 8 L 5 7 7 6 8 6 11 9 12 9 14 8 15 7 M 4 11 L 4 25 M 4 15 L 7 12 9 11 12 11 14 12 15 15 15 25"),new C(19,"M 6 5 L 12 8 M 8 11 L 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 16 19 16 17 15 14 13 12 11 11 8 11"),new C(19,"M 6 8 L 12 5 M 8 11 L 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 16 19 16 17 15 14 13 12 11 11 8 11"),new C(19,"M 5 8 L 9 5 13 8 M 8 11 L 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 16 19 16 17 15 14 13 12 11 11 8 11"),new C(19,"M 8 11 L 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 16 19 16 17 15 14 13 12 11 11 8 11 M 5 7 L 8 6 11 7 14 6"),new C(19,"M 6 4 L 5 5 6 6 7 5 6 4 M 13 4 L 12 5 13 6 14 5 13 4 M 8 11 L 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 16 19 16 17 15 14 13 12 11 11 8 11"),new C(19,"M 10 12 L 9 13 10 14 11 13 10 12 M 10 22 L 9 23 10 24 11 23 10 22 M 5 18 L 15 18"),new C(19,"M 8 11 L 6 12 4 14 3 17 3 19 4 22 6 24 8 25 11 25 13 24 15 22 16 19 16 17 15 14 13 12 11 11 8 11 M 2 24 L 17 12"),new C(19,"M 6 5 L 12 8 M 4 11 L 4 21 5 24 7 25 10 25 12 24 15 21 M 15 11 L 15 25"),new C(19,"M 6 8 L 12 5 M 4 11 L 4 21 5 24 7 25 10 25 12 24 15 21 M 15 11 L 15 25"),new C(19,"M 5 8 L 9 5 13 8 M 4 11 L 4 21 5 24 7 25 10 25 12 24 15 21 M 15 11 L 15 25"),new C(19,"M 6 4 L 5 5 6 6 7 5 6 4 M 13 4 L 12 5 13 6 14 5 13 4 M 4 11 L 4 21 5 24 7 25 10 25 12 24 15 21 M 15 11 L 15 25"),new C(16,"M 2 11 L 8 25 M 14 11 L 8 25 6 29 4 31 2 32 1 32 M 5 9 L 12 6"),new C(19,"M 4 11 L 4 32 M 16 20 L 16 23 15 26 13 28 11 29 8 29 6 28 4 26 M 4 17 L 6 15 8 14 11 14 13 15 15 17 16 20"),new C(16,"M 5 4 L 4 5 5 6 6 5 5 4 M 12 4 L 11 5 12 6 13 5 12 4 M 2 11 L 8 25 M 14 11 L 8 25 6 29 4 31 2 32 1 32")],[new C(16,""),new C(10,"M 5 4 L 4 6 5 18 6 6 5 4 M 5 6 L 5 12 M 5 23 L 4 24 5 25 6 24 5 23"),new C(16,"M 4 4 L 3 11 M 5 4 L 3 11 M 12 4 L 11 11 M 13 4 L 11 11"),new C(21,"M 11 4 L 4 32 M 17 4 L 10 32 M 4 15 L 18 15 M 3 21 L 17 21"),new C(20,"M 8 0 L 8 29 M 12 0 L 12 29 M 16 7 L 15 8 16 9 17 8 17 7 15 5 12 4 8 4 5 5 3 7 3 9 4 11 5 12 7 13 13 15 15 16 17 18 M 3 9 L 5 11 7 12 13 14 15 15 16 16 17 18 17 22 15 24 12 25 8 25 5 24 3 22 3 21 4 20 5 21 4 22"),new C(24,"M 21 4 L 3 25 M 8 4 L 10 6 10 8 9 10 7 11 5 11 3 9 3 7 4 5 6 4 8 4 10 5 13 6 16 6 19 5 21 4 M 17 18 L 15 19 14 21 14 23 16 25 18 25 20 24 21 22 21 20 19 18 17 18"),new C(25,"M 21 12 L 20 13 21 14 22 13 22 12 21 11 20 11 19 12 18 14 16 19 14 22 12 24 10 25 7 25 4 24 3 22 3 19 4 17 10 13 12 11 13 9 13 7 12 5 10 4 8 5 7 7 7 9 8 12 10 15 15 22 17 24 20 25 21 25 22 24 22 23 M 7 25 L 5 24 4 22 4 19 5 17 7 15 M 7 9 L 8 11 16 22 18 24 20 25"),new C(10,"M 5 6 L 4 5 5 4 6 5 6 7 5 9 4 10"),new C(14,"M 11 0 L 9 2 7 5 5 9 4 14 4 18 5 23 7 27 9 30 11 32 M 9 2 L 7 6 6 9 5 14 5 18 6 23 7 26 9 30"),new C(14,"M 3 0 L 5 2 7 5 9 9 10 14 10 18 9 23 7 27 5 30 3 32 M 5 2 L 7 6 8 9 9 14 9 18 8 23 7 26 5 30"),new C(16,"M 8 4 L 8 16 M 3 7 L 13 13 M 13 7 L 3 13"),new C(26,"M 13 7 L 13 25 M 4 16 L 22 16"),new C(10,"M 5 23 L 4 24 5 25 M 6 26 L 6 24 5 23 M 6 26 L 5 28 M 5 25 L 6 24"),new C(26,"M 4 16 L 22 16"),new C(10,"M 5 23 L 4 24 5 25 6 24 5 23"),new C(22,"M 20 0 L 2 32"),new C(20,"M 9 4 L 6 5 4 8 3 13 3 16 4 21 6 24 9 25 11 25 14 24 16 21 17 16 17 13 16 8 14 5 11 4 9 4 M 9 4 L 7 5 6 6 5 8 4 13 4 16 5 21 6 23 7 24 9 25 M 11 25 L 13 24 14 23 15 21 16 16 16 13 15 8 14 6 13 5 11 4"),new C(20,"M 6 8 L 8 7 11 4 11 25 M 10 5 L 10 25 M 6 25 L 15 25"),new C(20,"M 4 8 L 5 9 4 10 3 9 3 8 4 6 5 5 8 4 12 4 15 5 16 6 17 8 17 10 16 12 13 14 8 16 6 17 4 19 3 22 3 25 M 12 4 L 14 5 15 6 16 8 16 10 15 12 12 14 8 16 M 3 23 L 4 22 6 22 11 24 14 24 16 23 17 22 M 6 22 L 11 25 15 25 16 24 17 22 17 20"),new C(20,"M 4 8 L 5 9 4 10 3 9 3 8 4 6 5 5 8 4 12 4 15 5 16 7 16 10 15 12 12 13 9 13 M 12 4 L 14 5 15 7 15 10 14 12 12 13 M 12 13 L 14 14 16 16 17 18 17 21 16 23 15 24 12 25 8 25 5 24 4 23 3 21 3 20 4 19 5 20 4 21 M 15 15 L 16 18 16 21 15 23 14 24 12 25"),new C(22,"M 12 6 L 12 25 M 13 4 L 13 25 M 13 4 L 2 19 18 19 M 9 25 L 16 25"),new C(20,"M 5 4 L 3 14 M 3 14 L 5 12 8 11 11 11 14 12 16 14 17 17 17 19 16 22 14 24 11 25 8 25 5 24 4 23 3 21 3 20 4 19 5 20 4 21 M 11 11 L 13 12 15 14 16 17 16 19 15 22 13 24 11 25 M 5 4 L 15 4 M 5 5 L 10 5 15 4"),new C(20,"M 15 7 L 14 8 15 9 16 8 16 7 15 5 13 4 10 4 7 5 5 7 4 9 3 13 3 19 4 22 6 24 9 25 11 25 14 24 16 22 17 19 17 18 16 15 14 13 11 12 10 12 7 13 5 15 4 18 M 10 4 L 8 5 6 7 5 9 4 13 4 19 5 22 7 24 9 25 M 11 25 L 13 24 15 22 16 19 16 18 15 15 13 13 11 12"),new C(20,"M 3 4 L 3 10 M 3 8 L 4 6 6 4 8 4 13 7 15 7 16 6 17 4 M 4 6 L 6 5 8 5 13 7 M 17 4 L 17 7 16 10 12 15 11 17 10 20 10 25 M 16 10 L 11 15 10 17 9 20 9 25"),new C(20,"M 8 4 L 5 5 4 7 4 10 5 12 8 13 12 13 15 12 16 10 16 7 15 5 12 4 8 4 M 8 4 L 6 5 5 7 5 10 6 12 8 13 M 12 13 L 14 12 15 10 15 7 14 5 12 4 M 8 13 L 5 14 4 15 3 17 3 21 4 23 5 24 8 25 12 25 15 24 16 23 17 21 17 17 16 15 15 14 12 13 M 8 13 L 6 14 5 15 4 17 4 21 5 23 6 24 8 25 M 12 25 L 14 24 15 23 16 21 16 17 15 15 14 14 12 13"),new C(20,"M 16 11 L 15 14 13 16 10 17 9 17 6 16 4 14 3 11 3 10 4 7 6 5 9 4 11 4 14 5 16 7 17 10 17 16 16 20 15 22 13 24 10 25 7 25 5 24 4 22 4 21 5 20 6 21 5 22 M 9 17 L 7 16 5 14 4 11 4 10 5 7 7 5 9 4 M 11 4 L 13 5 15 7 16 10 16 16 15 20 14 22 12 24 10 25"),new C(10,"M 5 11 L 4 12 5 13 6 12 5 11 M 5 23 L 4 24 5 25 6 24 5 23"),new C(10,"M 5 11 L 4 12 5 13 6 12 5 11 M 5 25 L 4 24 5 23 6 24 6 26 5 28 4 29"),new C(24,"M 20 7 L 4 16 20 25"),new C(26,"M 4 13 L 22 13 M 4 19 L 22 19"),new C(24,"M 4 7 L 20 16 4 25"),new C(18,"M 4 8 L 5 9 4 10 3 9 3 8 4 6 5 5 7 4 10 4 13 5 14 6 15 8 15 10 14 12 13 13 9 15 9 18 M 10 4 L 12 5 13 6 14 8 14 10 13 12 11 14 M 9 23 L 8 24 9 25 10 24 9 23"),new C(27,"M 18 12 L 17 10 15 9 12 9 10 10 9 11 8 14 8 17 9 19 11 20 14 20 16 19 17 17 M 12 9 L 10 11 9 14 9 17 10 19 11 20 M 18 9 L 17 17 17 19 19 20 21 20 23 18 24 15 24 13 23 10 22 8 20 6 18 5 15 4 12 4 9 5 7 6 5 8 4 10 3 13 3 16 4 19 5 21 7 23 9 24 12 25 15 25 18 24 20 23 21 22 M 19 9 L 18 17 18 19 19 20"),new C(20,"M 10 4 L 3 25 M 10 4 L 17 25 M 10 7 L 16 25 M 5 19 L 14 19 M 1 25 L 7 25 M 13 25 L 19 25"),new C(22,"M 5 4 L 5 25 M 6 4 L 6 25 M 2 4 L 14 4 17 5 18 6 19 8 19 10 18 12 17 13 14 14 M 14 4 L 16 5 17 6 18 8 18 10 17 12 16 13 14 14 M 6 14 L 14 14 17 15 18 16 19 18 19 21 18 23 17 24 14 25 2 25 M 14 14 L 16 15 17 16 18 18 18 21 17 23 16 24 14 25"),new C(21,"M 17 7 L 18 10 18 4 17 7 15 5 12 4 10 4 7 5 5 7 4 9 3 12 3 17 4 20 5 22 7 24 10 25 12 25 15 24 17 22 18 20 M 10 4 L 8 5 6 7 5 9 4 12 4 17 5 20 6 22 8 24 10 25"),new C(22,"M 5 4 L 5 25 M 6 4 L 6 25 M 2 4 L 12 4 15 5 17 7 18 9 19 12 19 17 18 20 17 22 15 24 12 25 2 25 M 12 4 L 14 5 16 7 17 9 18 12 18 17 17 20 16 22 14 24 12 25"),new C(21,"M 5 4 L 5 25 M 6 4 L 6 25 M 12 10 L 12 18 M 2 4 L 18 4 18 10 17 4 M 6 14 L 12 14 M 2 25 L 18 25 18 19 17 25"),new C(20,"M 5 4 L 5 25 M 6 4 L 6 25 M 12 10 L 12 18 M 2 4 L 18 4 18 10 17 4 M 6 14 L 12 14 M 2 25 L 9 25"),new C(23,"M 17 7 L 18 10 18 4 17 7 15 5 12 4 10 4 7 5 5 7 4 9 3 12 3 17 4 20 5 22 7 24 10 25 12 25 15 24 17 22 M 10 4 L 8 5 6 7 5 9 4 12 4 17 5 20 6 22 8 24 10 25 M 17 17 L 17 25 M 18 17 L 18 25 M 14 17 L 21 17"),new C(24,"M 5 4 L 5 25 M 6 4 L 6 25 M 18 4 L 18 25 M 19 4 L 19 25 M 2 4 L 9 4 M 15 4 L 22 4 M 6 14 L 18 14 M 2 25 L 9 25 M 15 25 L 22 25"),new C(11,"M 5 4 L 5 25 M 6 4 L 6 25 M 2 4 L 9 4 M 2 25 L 9 25"),new C(15,"M 10 4 L 10 21 9 24 7 25 5 25 3 24 2 22 2 20 3 19 4 20 3 21 M 9 4 L 9 21 8 24 7 25 M 6 4 L 13 4"),new C(22,"M 5 4 L 5 25 M 6 4 L 6 25 M 19 4 L 6 17 M 11 13 L 19 25 M 10 13 L 18 25 M 2 4 L 9 4 M 15 4 L 21 4 M 2 25 L 9 25 M 15 25 L 21 25"),new C(18,"M 5 4 L 5 25 M 6 4 L 6 25 M 2 4 L 9 4 M 2 25 L 17 25 17 19 16 25"),new C(25,"M 5 4 L 5 25 M 6 4 L 12 22 M 5 4 L 12 25 M 19 4 L 12 25 M 19 4 L 19 25 M 20 4 L 20 25 M 2 4 L 6 4 M 19 4 L 23 4 M 2 25 L 8 25 M 16 25 L 23 25"),new C(23,"M 5 4 L 5 25 M 6 4 L 18 23 M 6 6 L 18 25 M 18 4 L 18 25 M 2 4 L 6 4 M 15 4 L 21 4 M 2 25 L 8 25"),new C(22,"M 10 4 L 7 5 5 7 4 9 3 13 3 16 4 20 5 22 7 24 10 25 12 25 15 24 17 22 18 20 19 16 19 13 18 9 17 7 15 5 12 4 10 4 M 10 4 L 8 5 6 7 5 9 4 13 4 16 5 20 6 22 8 24 10 25 M 12 25 L 14 24 16 22 17 20 18 16 18 13 17 9 16 7 14 5 12 4"),new C(22,"M 5 4 L 5 25 M 6 4 L 6 25 M 2 4 L 14 4 17 5 18 6 19 8 19 11 18 13 17 14 14 15 6 15 M 14 4 L 16 5 17 6 18 8 18 11 17 13 16 14 14 15 M 2 25 L 9 25"),new C(22,"M 10 4 L 7 5 5 7 4 9 3 13 3 16 4 20 5 22 7 24 10 25 12 25 15 24 17 22 18 20 19 16 19 13 18 9 17 7 15 5 12 4 10 4 M 10 4 L 8 5 6 7 5 9 4 13 4 16 5 20 6 22 8 24 10 25 M 12 25 L 14 24 16 22 17 20 18 16 18 13 17 9 16 7 14 5 12 4 M 7 23 L 7 22 8 20 10 19 11 19 13 20 14 22 15 29 16 30 18 30 19 28 19 27 M 14 22 L 15 26 16 28 17 29 18 29 19 28"),new C(22,"M 5 4 L 5 25 M 6 4 L 6 25 M 2 4 L 14 4 17 5 18 6 19 8 19 10 18 12 17 13 14 14 6 14 M 14 4 L 16 5 17 6 18 8 18 10 17 12 16 13 14 14 M 2 25 L 9 25 M 11 14 L 13 15 14 16 17 23 18 24 19 24 20 23 M 13 15 L 14 17 16 24 17 25 19 25 20 23 20 22"),new C(20,"M 16 7 L 17 4 17 10 16 7 14 5 11 4 8 4 5 5 3 7 3 9 4 11 5 12 7 13 13 15 15 16 17 18 M 3 9 L 5 11 7 12 13 14 15 15 16 16 17 18 17 22 15 24 12 25 9 25 6 24 4 22 3 19 3 25 4 22"),new C(19,"M 9 4 L 9 25 M 10 4 L 10 25 M 3 4 L 2 10 2 4 17 4 17 10 16 4 M 6 25 L 13 25"),new C(24,"M 5 4 L 5 19 6 22 8 24 11 25 13 25 16 24 18 22 19 19 19 4 M 6 4 L 6 19 7 22 9 24 11 25 M 2 4 L 9 4 M 16 4 L 22 4"),new C(20,"M 3 4 L 10 25 M 4 4 L 10 22 M 17 4 L 10 25 M 1 4 L 7 4 M 13 4 L 19 4"),new C(24,"M 4 4 L 8 25 M 5 4 L 8 20 M 12 4 L 8 25 M 12 4 L 16 25 M 13 4 L 16 20 M 20 4 L 16 25 M 1 4 L 8 4 M 17 4 L 23 4"),new C(20,"M 3 4 L 16 25 M 4 4 L 17 25 M 17 4 L 3 25 M 1 4 L 7 4 M 13 4 L 19 4 M 1 25 L 7 25 M 13 25 L 19 25"),new C(21,"M 3 4 L 10 15 10 25 M 4 4 L 11 15 11 25 M 18 4 L 11 15 M 1 4 L 7 4 M 14 4 L 20 4 M 7 25 L 14 25"),new C(20,"M 16 4 L 3 25 M 17 4 L 4 25 M 4 4 L 3 10 3 4 17 4 M 3 25 L 17 25 17 19 16 25"),new C(14,"M 4 1 L 4 32 M 5 1 L 5 32 M 4 1 L 11 1 M 4 32 L 11 32"),new C(14,"M 0 4 L 14 28"),new C(14,"M 9 1 L 9 32 M 10 1 L 10 32 M 3 1 L 10 1 M 3 32 L 10 32"),new C(22,"M 3 18 L 11 13 19 18 M 3 18 L 11 14 19 18"),new C(20,"M 0 23 L 20 23 M 0 24 L 20 24"),new C(10,"M 6 4 L 5 5 4 7 4 9 5 10 6 9 5 8"),new C(20,"M 5 13 L 5 14 4 14 4 13 5 12 7 11 11 11 13 12 14 13 15 15 15 22 16 24 17 25 M 14 13 L 14 22 15 24 17 25 18 25 M 14 15 L 13 16 7 17 4 18 3 20 3 22 4 24 7 25 10 25 12 24 14 22 M 7 17 L 5 18 4 20 4 22 5 24 7 25"),new C(21,"M 5 4 L 5 25 M 6 4 L 6 25 M 6 14 L 8 12 10 11 12 11 15 12 17 14 18 17 18 19 17 22 15 24 12 25 10 25 8 24 6 22 M 12 11 L 14 12 16 14 17 17 17 19 16 22 14 24 12 25 M 2 4 L 6 4"),new C(19,"M 15 14 L 14 15 15 16 16 15 16 14 14 12 12 11 9 11 6 12 4 14 3 17 3 19 4 22 6 24 9 25 11 25 14 24 16 22 M 9 11 L 7 12 5 14 4 17 4 19 5 22 7 24 9 25"),new C(21,"M 15 4 L 15 25 M 16 4 L 16 25 M 15 14 L 13 12 11 11 9 11 6 12 4 14 3 17 3 19 4 22 6 24 9 25 11 25 13 24 15 22 M 9 11 L 7 12 5 14 4 17 4 19 5 22 7 24 9 25 M 12 4 L 16 4 M 15 25 L 19 25"),new C(19,"M 4 17 L 16 17 16 15 15 13 14 12 12 11 9 11 6 12 4 14 3 17 3 19 4 22 6 24 9 25 11 25 14 24 16 22 M 15 17 L 15 14 14 12 M 9 11 L 7 12 5 14 4 17 4 19 5 22 7 24 9 25"),new C(13,"M 10 5 L 9 6 10 7 11 6 11 5 10 4 8 4 6 5 5 7 5 25 M 8 4 L 7 5 6 7 6 25 M 2 11 L 10 11 M 2 25 L 9 25"),new C(19,"M 8 11 L 6 12 5 13 4 15 4 17 5 19 6 20 8 21 10 21 12 20 13 19 14 17 14 15 13 13 12 12 10 11 8 11 M 6 12 L 5 14 5 18 6 20 M 12 20 L 13 18 13 14 12 12 M 13 13 L 14 12 16 11 16 12 14 12 M 5 19 L 4 20 3 22 3 23 4 25 7 26 12 26 15 27 16 28 M 3 23 L 4 24 7 25 12 25 15 26 16 28 16 29 15 31 12 32 6 32 3 31 2 29 2 28 3 26 6 25"),new C(22,"M 5 4 L 5 25 M 6 4 L 6 25 M 6 14 L 8 12 11 11 13 11 16 12 17 14 17 25 M 13 11 L 15 12 16 14 16 25 M 2 4 L 6 4 M 2 25 L 9 25 M 13 25 L 20 25"),new C(11,"M 5 4 L 4 5 5 6 6 5 5 4 M 5 11 L 5 25 M 6 11 L 6 25 M 2 11 L 6 11 M 2 25 L 9 25"),new C(11,"M 6 4 L 5 5 6 6 7 5 6 4 M 7 11 L 7 29 6 31 4 32 2 32 1 31 1 30 2 29 3 30 2 31 M 6 11 L 6 29 5 31 4 32 M 3 11 L 7 11"),new C(21,"M 5 4 L 5 25 M 6 4 L 6 25 M 16 11 L 6 21 M 11 17 L 17 25 M 10 17 L 16 25 M 2 4 L 6 4 M 13 11 L 19 11 M 2 25 L 9 25 M 13 25 L 19 25"),new C(11,"M 5 4 L 5 25 M 6 4 L 6 25 M 2 4 L 6 4 M 2 25 L 9 25"),new C(33,"M 5 11 L 5 25 M 6 11 L 6 25 M 6 14 L 8 12 11 11 13 11 16 12