diff --git a/flashgl/assets/1.json b/flashgl/assets/1.json new file mode 100644 index 00000000..a60c980e --- /dev/null +++ b/flashgl/assets/1.json @@ -0,0 +1 @@ +{"header":{"formatVersion":0.2,"flashProVersion":"WIN 15,0,0,173","platform":"Windows","stageSize":{"width":800,"height":500},"stageColor":"#666666","frameRate":60,"loop":true,"readable":false,"sceneTimelines":[0]},"fills":[[148,"b","city2.gif","F"],[149,"b","city1.gif","F"],[150,"b","Bitmap 1","T"],[151,"s","S_4","T"],[152,"s","S_5","T"],[153,"s","S_6","T"],[154,"s","S_7","T"],[155,"s","S_8","T"],[156,"s","S_9","T"],[157,"s","S_10","T"],[158,"s","S_11","T"],[159,"s","S_12","T"],[160,"s","S_13","T"],[161,"s","S_14","T"],[162,"s","S_15","T"],[163,"s","S_16","T"],[164,"s","S_17","T"],[165,"s","S_18","T"],[166,"s","S_19","T"],[167,"lG","G_20","T"],[168,"s","S_21","T"],[169,"s","S_22","T"],[170,"s","S_23","T"],[171,"s","S_24","T"],[172,"s","S_25","T"],[173,"s","S_26","T"],[174,"s","S_27","T"],[175,"s","S_28","T"],[176,"s","S_29","T"]],"shapes":[[23,[176,[5.8,-2.6,5.8,-1.15,8.25,-0.75,6.9,0.3,10.1,0.55,11.65,-1.4,6.9,-0.3,10.2,0.55,7.75,-2.4,6.616667,-1.5],[9,2,0,2,5,4,5,2,0],[2,9,1,1,9,0,4,2,3],[],[2,6,3,4,7,5,5,8,0]]],[24,[176,[10.55,2.6,10.55,6.25,11.65,6.35,11.65,3.95,15.45,3.55,15.45,2.75,11.283333,5.516667,14.183333,3.416667,8.5,-6.35,10.1,-4.3,12.75,-3.15,12.75,-3.85,11.8,-6.15,8.65,-5.1,10.9,-3.85,12.75,-5.3],[6,3,1,7,5,3,11,9,12],[1,3,0,0,3,5,3,6,2,2,6,1,5,7,4,4,7,3,8,9,12,11,9,10],[],[8,13,9,9,14,10,11,15,12]]],[25,[176,[17.6,3.7,17.35,4.85,17.55,5.6,17.45,5.8,17,6.65,10.55,7.25,10.55,7.05,9.4,7.95,9.55,8.35,17.6,8.5,17.6,7.7,18.15,6.1,18.7,3.85,17.2,4.2,9.45,7.6,9.35,8.15,18.7,4.55,10.55,-9.55,15.95,-5.25,15.95,-5.7,15.3,-6.75,14.6,-7.45,14.6,-8.25,14.6,-9.05,14.75,-9.2,14.9,-9.4,12.65,-5.85,15.95,-6,14.9,-9.3],[7,5,8,5,4,9,1,12,2,2,12,11,10,9,4,4,11,10,3,2,11,4,3,11,17,23,22,22,21,17,17,21,18,25,24,23,20,18,21],[6,7,5,9,5,8,0,1,12,17,23,25,19,20,18],[1,2,3,3,4,5,9,10,11,20,21,22,22,23,24],[0,13,1,6,14,7,7,15,8,11,16,12,17,26,18,19,27,20,24,28,25]]],[26,[176,[23.95,7.55,22.95,10.55,25.05,13.85,25.05,13.45,24.4,10.5,23.95,8.7,22.5,8.7,23.35,12.1,24.95,12.85,13.8,-18.15,14.6,-16.6,17.05,-15.95,17.05,-16.1,17.6,-16.8,18.15,-17.9,13.85,-17.3,15.5,-15.7,18.15,-17.5],[1,0,5,1,5,4,3,1,4,10,13,12,10,12,11,13,10,14],[3,1,2,9,10,14],[4,5,0,11,12,13],[0,6,1,1,7,2,3,8,4,9,15,10,10,16,11,13,17,14]]],[27,[176,[28.25,9.55,28,9.6,27.7,10.65,29.25,11.1,29.25,11,30.65,10.75,31.3,10.6,32,10.5,32,9.65,28.1,9.55,27.7,9.8,27.7,12,20.25,-21.3,20.25,-20.85,21.3,-19.7,21.3,-19.8,22.65,-20.1,23.3,-20.25,23.95,-20.35,23.95,-21.15,20.4,-20.55],[1,0,2,2,4,3,4,2,0,0,5,4,6,5,8,15,14,13,12,16,15,17,16,19],[8,6,7,0,5,8,13,15,12,19,17,18,12,16,19],[3,4,5,5,6,7,14,15,16,16,17,18],[0,9,1,1,10,2,2,11,3,13,20,14]]],[28,[161,[-10.1,11.05,-7.95,11.1,-7.95,8.8,-7.05,8.7,-6.15,8.8,-3.15,9.05,-3.15,8.9,-3.25,8.15,-4.25,6.5,-10.65,6.35,-4.45,9,-3.15,8.4,-3.45,7.55,-10.65,9.45,-8.666667,10.316667],[9,3,2,14,2,0,2,0,9,8,7,4,6,4,7,8,4,3],[9,3,8,2,14,1,1,14,0,6,4,5],[2,3,4],[4,10,5,6,11,7,7,12,8,9,13,0]]],[29,[161,[-6.35,8.65,-9.25,8.7,-11.65,11.05,-6.35,11.05,-9.05,8.65,-11.65,9.1],[],[3,1,2,0,1,3],[],[0,4,1,1,5,2]]],[30,[161,[-6.35,13.45,-8.45,13.5,-10.1,13.95,-10.1,17.9,-7.95,18.15,-8.25,17.3,-8.25,16.95,-8.15,16.25,-6.35,15.85,-7.75,13.35,-8.9,13.55,-2.1,15.05,-4.7,14.9,-4.7,17.45,-2.65,17.6,-2.65,17.4,-2.35,17.2,-2.1,17.05,-2.183333,16.433333],[3,6,5,7,6,3,2,1,7,8,7,1,18,11,16,16,15,11],[3,7,2,4,5,3,0,1,8,13,15,12,12,15,11,14,15,13,11,18,17,17,18,16],[4,5,6,6,7,8,14,15,16],[0,9,1,1,10,2]]],[31,[161,[-17.6,15.45,-17.6,20.1,-15.45,20.25,-15.45,20.1,-15.45,19,-14.65,17.9,-13.85,15.5,-13.85,16.8,-16.166667,20.15,3.7,20.25,3.7,18.25,-0.55,18.15,-0.55,20.1,0.866667,18.833333,2.283333,19.533333],[4,0,5,1,4,3,8,3,1,13,12,10,14,10,12],[1,4,0,3,8,2,2,8,1,0,5,6,12,13,11,11,13,10,10,14,9,9,14,12],[3,4,5],[5,7,6]]],[32,[161,[-32.55,22.4,-33.05,24.85,-30.35,24.85,-30.35,22.55,-33.05,22.85,-31.083333,23.266667,13.3,24.5,13.3,26.5,15.45,26.65,15.45,24.65,14.016667,25.216667,14.733333,25.933333],[5,0,2,10,7,9,11,9,7],[2,0,1,0,5,3,3,5,2,7,10,6,6,10,9,9,11,8,8,11,7],[],[0,4,1]]],[33,[173,[1,-5.4,1,-7.8,0,-7.85,0,-8.9,-2.1,-9,-2.1,-8.453711,-2.125,-7.95,-4.95,-8.1,-9.55,-8.5,-8.6,-4.1,-10.955078,-5.414258,-13.3,-7.55,-12.2,-5.05,-11,-3.3,-10.65,-1.7,-8.5,-1.7,-8.5,-3.725,-7.498828,-0.272266,-7.45,0.85,-5.25,1,-5.25,-2.3,-5.95,-4.05,-6.65,-5.55,-1.1,-5.7,-0.05,-5.45,-5.15,-8.35,-9.55,-7.433594,-13.3,-6.55,-6.35,-5.05,-1.1,-5.5,0.5,-5.4,-9.216667,-2.375],[11,10,12,13,12,10,8,22,9,22,8,7,16,9,21,13,10,9,13,16,14,16,13,9,31,16,14,9,22,21,5,2,6,6,2,23,16,20,17,2,24,23],[16,31,15,15,31,14,21,16,20,19,17,18,7,23,6,3,5,2,4,5,3,20,17,19,1,24,0,2,24,1,23,7,22],[4,5,6,9,10,11,12,13,14,16,17,18],[7,25,8,8,26,9,11,27,12,21,28,22,23,29,24,24,30,0]]],[34,[173,[-12.75,-10.65,-14.3,-9.7,-15.45,-7.55,-11.65,-7.4,-11.1,-7.4,-9.05,-6.95,-2.1,-6.5,-2.1,-8.9,-5.1,-9.8,-13.55,-10.35,-15.45,-8.75,-13.05,-7.4,-7.05,-6.5,-3.4,-9.4,-8.4,-10.65],[1,0,3,3,2,1,0,4,3,5,4,0,5,8,6,5,0,8],[7,8,6],[3,4,5],[0,9,1,1,10,2,2,11,3,5,12,6,7,13,8,8,14,0]]],[35,[173,[-13.3,-18.7,-13.1,-14.3,-6.9,-11.1,-6.9,-11.3,-8.75,-14.45,-10.95,-15.95,-11.1,-16.25,-9.35,-17.65,-9.55,-18.45,-13.55,-15.8,-12.2,-11.55,-6.9,-13.2,-9.45,-17.1,-9.3,-17.95],[0,6,1,1,5,4,5,1,6,4,2,1,7,6,8],[0,6,8,3,4,2],[4,5,6],[0,9,1,1,10,2,3,11,4,6,12,7,7,13,8]]],[36,[173,[-6.35,-20.75,-6.35,-18.85,-7.7,-18.55,-9.05,-18.2,-8.85,-17.95,-8.05,-17.6,-6.9,-17.05,-4.8,-17.85,-3.85,-18.4,-2.1,-18.7,-2.1,-20.65,-9.05,-18.25,-9.05,-18.05,-5.8,-17.3],[3,2,4,5,4,2,6,5,2,2,1,6,1,0,8,8,7,1,1,7,6],[0,8,10,10,8,9],[0,1,2,4,5,6,7,8,9],[2,11,3,3,12,4,6,13,7]]],[37,[173,[-10.65,-27.2,-10.65,-25.2,-8.5,-25.05,-8.5,-27.05,-9.933333,-26.483333,-9.216667,-25.766667],[4,1,3,5,3,1],[1,4,0,0,4,3,3,5,2,2,5,1],[],[]]],[38,[175,[8,9,8,8.7,8.5,8.3,9,8,9,-7.75,-8,-8,-8,8.75,8.833333,2.85],[7,4,2,2,1,4],[6,1,5,5,1,4,0,1,6,4,7,3,3,7,2],[0,1,2],[]]],[39,[154,[8,9,8,8.7,8.5,8.3,9,8,9,-7.75,-8,-8,-8,8.75,8.833333,2.85],[7,4,2,2,1,4],[6,1,5,5,1,4,0,1,6,4,7,3,3,7,2],[0,1,2],[]]],[40,[174,[8,9,8,8.7,8.5,8.3,9,8,9,-7.75,-8,-8,-8,8.75,8.833333,2.85],[7,4,2,2,1,4],[6,1,5,5,1,4,0,1,6,4,7,3,3,7,2],[0,1,2],[]]],[43,[173,[0.25,-4.75,0.25,-3.1,3.25,-3,3.5,-1.6,5,-1.5,5,-4,4.75,-4.1,4.75,-4.5,2.25,-4.6,3.25,-2.6,2.25,-4.75],[8,6,2,2,6,5],[1,8,0,2,8,1,4,2,3,5,2,4,8,6,7],[5,6,7],[2,9,3,8,10,0]]],[44,[173,[1,-4.25,1.25,-4.4,1.15,-5.65,-2.25,-6,-1.75,-4.85,-0.95,-4.75,-0.05,-4.45,1.6,-4.25,1.25,-5.35,-0.25,-5.9,-2.25,-5.45,0.7,-4.25,3.75,-5,3.95,-3,6.25,-0.75,6.25,-2.25,6.05,-2.35,5.55,-3.75,3.45,-4.25,4.6,-1.4,5.1,-4.95],[3,5,4,5,3,2,6,2,0,2,6,5,1,0,2,12,17,13,13,17,16,16,14,13],[15,16,14],[4,5,6,15,16,17],[0,7,1,1,8,2,2,9,3,3,10,4,6,11,0,12,18,13,13,19,14,17,20,12]]],[45,[173,[-4.45,-9.15,-4.2,-6.4,-2.2,-6.4,-2.55,-6.95,-2.5,-8.1,-4.45,-7.4,-2.7,-9,11.55,-4,8.35,-4.2,5.8,-2.5,8.55,-2.4,9.6,-2.6,10.55,-2.85,11.55,-2.9,10.5,-4.45,5.8,-3.9,8.75,-2.4],[1,0,4,4,3,1,10,8,11,11,8,12,12,8,7],[2,3,1,10,8,9,7,12,13],[2,3,4,11,12,13],[0,5,1,4,6,0,7,14,8,8,15,9,10,16,11]]],[46,[173,[-5.2,-10.95,-9.2,-10.65,-9.45,-9.8,-5.2,-10.05,-8.45,-11.1,-9.3,-10.6,11.05,-7.3,11.1,-6.05,12.55,-5.05,12.55,-6.45,12.5,-6.5,12.2,-7.1,11,-6.55,11.3,-5.15,12.05,-7.4],[6,11,7,7,11,10,9,7,10],[3,1,2,0,1,3,9,7,8],[9,10,11],[0,4,1,1,5,2,6,12,7,7,13,8,11,14,6]]],[47,[172,[2.25,1.25,2.25,3.65,4.75,3.75,4.75,1.25,3.083333,2.05,3.916667,2.883333],[4,1,3,5,3,1],[1,4,0,0,4,3,3,5,2,2,5,1],[],[]]],[48,[172,[4,3.25,4,3.35,3.75,3.5,3.75,5.65,4.75,5.75,4.75,5.65,4.75,4.75,5,4.4,5,3.25,4.416667,5.683333],[2,1,7,7,6,2,6,5,3,9,5,3],[0,1,8,3,6,2,5,9,4,4,9,3,8,1,7],[0,1,2,5,6,7],[]]],[49,[172,[0.8,5.6,0.8,6.75,1.8,6.85,3.8,6.6,3.8,5.6,1.133333,6.4,3.133333,6.35],[5,2,0,6,4,2],[2,5,1,1,5,0,4,6,3,3,6,2,0,2,4],[],[]]],[50,[172,[4.3,7.7,5.05,8.8,6.3,9.45,6.3,7.95,4.3,8.25,5.65,9.25,5.45,7.7],[1,0,3],[3,1,2],[],[0,4,1,1,5,2,3,6,0]]],[51,[171,[4.65,-3.8,4.05,-4.1,3.8,-4.5,3.65,-4.8,-4.35,-5.05,-4.35,3.7,4.65,3.7,1.033333,-4.783333],[7,4,2,1,4,2],[5,1,4,4,7,3,3,7,2,6,1,5,0,1,6],[0,1,2],[]]],[52,[170,[4.45,-3.55,3.85,-3.85,3.6,-4.25,3.45,-4.55,-4.55,-4.8,-4.55,3.95,4.45,3.95,0.833333,-4.533333],[7,4,2,1,4,2],[5,1,4,4,7,3,3,7,2,6,1,5,0,1,6],[0,1,2],[]]],[56,[169,[-5,0.25,-5,4.4,-1,4.4,-1,0.25,-3.666667,1.633333,-2.333333,3.016667],[4,1,3,5,3,1],[1,4,0,0,4,3,3,5,2,2,5,1],[],[]]],[58,[169,[-8.95,4.35,-8.7,6.5,-6.7,6.6,-6.7,4.35,-8.95,5.85,-7.366667,5.816667],[5,3,1],[0,1,3,3,5,2,2,5,1],[],[0,4,1]]],[59,[169,[-11.45,6.2,-11.45,7.35,-10.2,7.45,-10.2,7.2,-9.85,6.05,-10.616667,7.333333],[5,3,1],[1,3,0,3,5,2,2,5,1],[],[3,4,0]]],[61,[159,[0,0,0,8.75,9,8.75,9,1.25,8.4,0.95,8.15,0.55,8,0.25,5.383333,0.266667],[7,0,5,4,0,5],[1,4,0,0,7,6,6,7,5,2,4,1,3,4,2],[3,4,5],[]]],[62,[168,[0,0,0,8.75,9,8.75,9,1.25,8.4,0.95,8.15,0.55,8,0.25,5.383333,0.266667],[7,0,5,4,0,5],[1,4,0,0,7,6,6,7,5,2,4,1,3,4,2],[3,4,5],[]]],[66,[167,[801.95,499.95,801.95,0,0,0,0,499.95,267.316667,166.65,534.633333,333.3],[4,3,1,5,1,3],[3,4,2,2,4,1,1,5,0,0,5,3],[],[],[0,-0.489471,0.305145,0,400.9,250],"Extend"]],[67,[166,[801.95,499.95,801.95,0,0,0,0,499.95,267.316667,166.65,534.633333,333.3],[4,3,1,5,1,3],[3,4,2,2,4,1,1,5,0,0,5,3],[],[]]],[69,[151,[54,12.25,41,12.05,41,0.25,25,0,25,0.2,12,0,12,10.2,0,10,0,25.75,12,25.95,12,34.75,28,35,28,34.85,40,35,40,27.8,54,28,30.333333,0.15,16.333333,3.466667,4,15.316667,49.666667,17.433333,22.666667,34.866667,36,32.55],[16,4,2,17,6,4,18,8,6,9,6,1,1,6,4,12,9,1,12,1,14,19,1,15,20,12,10,21,14,12],[4,16,3,3,16,2,6,17,5,5,17,4,9,6,8,8,18,7,7,18,6,10,12,9,15,1,14,1,19,0,0,19,15,12,20,11,11,20,10,14,21,13,13,21,12,2,4,1],[],[]]],[71,[151,[83.4,46,83.4,45.975,71,45.75,71,42,83.4,42.225,83.4,39,84.4,39,84.4,21.25,80.4,21.2,80.4,20.25,77.4,20.25,77.4,6.25,70.4,6.15,70.4,4.25,67.4,4.25,67.4,0.25,11.4,0,11.4,11.05,4.4,11,4.4,18.1,0,18,0.4,22.95,0.4,28.75,0.7,34.6,0.9,40.6,0.35,45.25,0.15,46.75,11.4,46.75,11.4,54.75,29.05,54.775,28,54.75,28,51,72.4,51.25,72.4,46,0.4,29.35,6.733333,13.383333,3.966667,46.25,22.816667,54.758333,48.733333,1.5,69.4,4.883333,75.066667,10.883333,79.4,20.566667,84.066667,33.083333,79.733333,45.991667,79.266667,41.075],[19,22,21,27,19,17,35,19,17,27,22,19,14,31,17,24,23,27,36,27,25,24,27,25,27,23,22,37,30,28,17,31,27,38,16,14,39,14,12,40,12,10,14,12,10,41,10,8,10,8,5,14,10,3,42,7,5,43,1,33,44,5,3,3,10,5,3,31,14],[20,21,19,17,14,16,19,35,18,18,35,17,27,36,26,26,36,25,28,31,27,30,37,29,29,37,28,31,28,30,32,2,31,16,38,15,15,38,14,14,39,13,13,39,12,12,40,11,11,40,10,10,41,9,9,41,8,8,5,7,3,31,2,33,2,32,7,42,6,6,42,5,2,33,1,1,43,0,0,43,33,5,44,4,4,44,3],[20,21,22,23,24,25],[22,34,23]],[165,[29.05,54.775,29.225,54.773242,29.4,54.775,30.775,54.8,51.5875,54.898633,72.4,55,74,55,74,51.25,72.4,51.25,28,51,28,54.75,30.08125,54.792773,28.35,53.508333,73.466667,52.5,83.4,45.975,85,46,85,42.25,83.4,42.225,71,42,71,45.75,75.133333,43.325,84.466667,44.741667],[12,0,9,1,0,9,2,1,9,9,3,2,3,9,4,13,8,6,8,5,4,20,19,17,21,16,14],[0,12,10,10,12,9,9,4,8,8,13,7,7,13,6,6,8,5,19,20,18,18,20,17,14,17,19,16,21,15,15,21,14,17,14,16],[0,1,2,3,4,5],[2,11,3]]],[73,[164,[802,499.9,802,0,0,0,0,499.9,267.333333,166.633333,534.666667,333.266667],[4,3,1,5,1,3],[3,4,2,2,4,1,1,5,0,0,5,3],[],[]]],[74,[163,[802,499.9,802,0,0,0,0,499.9,267.333333,166.633333,534.666667,333.266667],[4,3,1,5,1,3],[3,4,2,2,4,1,1,5,0,0,5,3],[],[]]],[75,[162,[802,499.9,802,0,0,0,0,499.9,267.333333,166.633333,534.666667,333.266667],[4,3,1,5,1,3],[3,4,2,2,4,1,1,5,0,0,5,3],[],[]]],[77,[150,[0,0,800,0,800,25,0,25,266.666667,8.333333,533.333333,16.666667],[4,3,1,5,1,3],[3,4,0,0,4,1,1,5,2,2,5,3],[],[],[20,0,0,20,0,0],false]],[80,[161,[19.5,-10.25,13.55,-10.35,13.55,-10.275,13.5,-10.275,13.5,-17.25,13.35,-17.25,13.35,-17.4,3.5,-17.4,3.5,-36.25,-2.45,-36.35,-2.45,-29.85,-2.45,-23.35,-2.45,-18.35,-2.45,-17.7,-2.5,-17.7,-2.5,-17.75,-8.45,-17.85,-8.45,-17.7,-9.2,-17.7,-9.2,-17.4,-14.3,-17.4,-14.3,-17.35,-14.45,-17.35,-14.45,-10.85,-14.45,-10.825,-15.95,-10.85,-15.95,-10.35,-16.45,-10.35,-16.45,-10.275,-15.95,-10.25,-15.95,-4.35,-15.95,2.15,-15.95,2.65,-15.95,8.65,-15.95,9.15,-15.95,9.375,-15.95,15.65,-10.775,15.875,-10.75,14.5,-10.25,14.5,-10.25,15.4,-10.35,19.95,-3.85,19.95,2.65,19.95,9.15,19.95,9.325,15.7,14.5,15.9,14.5,11,14.6,10.9,14.5,10.8,14.5,9.2,19.5,9.4,8.5,13.2,8.55,13.25,8.55,14,8.5,14,-14.4,-15.183333,-16.283333,-10.325,-15.45,-10.675,-6.466667,-17.766667,-12.6,-17.383333,-8.95,-17.6,-12.491667,15.341667,-8.15,18.433333,-0.466667,-34.15,10.066667,-17.35,13.45,-14.925,15.533333,-10.291667,7.041667,18.533333,17.833333,2.783333,14.533333,10.9],[56,23,21,57,28,26,26,24,29,58,26,24,59,17,15,60,21,19,14,19,17,61,19,17,21,19,23,19,14,24,30,24,14,32,52,39,62,38,36,63,42,40,52,42,39,64,10,8,7,30,13,65,7,5,7,5,3,66,5,3,67,2,0,3,30,7,31,3,52,55,45,43,68,45,43,69,0,50,50,52,3,49,47,53,70,49,47,0,50,2],[23,56,22,22,56,21,28,57,27,27,57,26,26,58,25,25,58,24,29,26,28,24,19,23,17,59,16,16,59,15,21,60,20,20,60,19,19,61,18,18,61,17,30,24,29,31,3,30,33,39,32,35,38,34,34,39,33,39,34,38,40,42,39,38,62,37,37,62,36,42,63,41,41,63,40,32,52,31,36,38,35,15,17,14,10,64,9,9,64,8,11,7,10,13,7,12,12,7,11,8,10,7,7,65,6,6,65,5,5,66,4,4,66,3,2,67,1,1,67,0,3,50,2,53,49,52,52,43,55,55,45,54,45,68,44,44,68,43,54,45,53,46,53,45,43,52,42,0,69,51,51,69,50,49,70,48,48,70,47,47,53,46,50,52,49,14,30,13],[],[]],[160,[-21.45,-10.35,-21.45,-3.85,-21.45,2.65,-21.45,9.15,-15.95,9.375,-15.95,9.15,-15.95,8.65,-15.95,2.65,-15.95,2.15,-15.95,-4.35,-15.95,-10.25,-16.45,-10.275,-19.783333,-8.158333,-16.116667,-8.291667,-17.783333,9.225],[12,1,11,9,1,11,13,11,9,14,5,3],[1,12,0,0,12,11,2,8,1,3,6,2,11,13,10,10,13,9,9,1,8,8,2,7,6,3,5,5,14,4,4,14,3,7,2,6],[],[]]],[82,[159,[0,0,0,2,2.25,2,2.25,0.1,0.75,0.7,1.5,1.366667],[4,1,3,5,3,1],[1,4,0,0,4,3,3,5,2,2,5,1],[],[]]],[84,[149,[0,0,144,0,144,144,0,144,48,48,96,96],[4,3,1,5,1,3],[3,4,0,0,4,1,1,5,2,2,5,3],[],[],[20,0,0,20,0,0],false]],[85,[148,[0,0,144,0,144,144,0,144,48,48,96,96],[4,3,1,5,1,3],[3,4,0,0,4,1,1,5,2,2,5,3],[],[],[20,0,0,20,0,0],false]],[98,[151,[1,-5,1,-7.75,-1.75,-7.75,-1.75,-5,-0.833333,-6.833333,0.083333,-5.916667],[4,3,1,5,1,3],[3,4,2,2,4,1,1,5,0,0,5,3],[],[]]],[110,[158,[1,-5,1,-7.75,-1.75,-7.75,-1.75,-5,-0.833333,-6.833333,0.083333,-5.916667],[4,3,1,5,1,3],[3,4,2,2,4,1,1,5,0,0,5,3],[],[]]],[122,[157,[1,-5,1,-7.75,-1.75,-7.75,-1.75,-5,-0.833333,-6.833333,0.083333,-5.916667],[4,3,1,5,1,3],[3,4,2,2,4,1,1,5,0,0,5,3],[],[]]],[134,[156,[1,-5,1,-7.75,-1.75,-7.75,-1.75,-5,-0.833333,-6.833333,0.083333,-5.916667],[4,3,1,5,1,3],[3,4,2,2,4,1,1,5,0,0,5,3],[],[]]],[136,[152,[-35,55,-35,70.75,-18,71,-18,55.25,-29.333333,60.333333,-23.666667,65.666667],[4,1,3,5,3,1],[1,4,0,0,4,3,3,5,2,2,5,1],[],[]],[154,[227.6,7.9,225.65,4.55,224.4,1.7,222.4,1.65,222.4,4.2,216.1,4.35,214.15,4.45,213.9,4.45,213.9,2.7,210,3.65,207.75,5.45,202.4,5.45,200.3,5.45,196.95,4.8,188.4,4.15,178.65,4.65,177.4,4.65,177.4,4.7,173.65,4.95,167.4,5.15,151.15,5.15,150,4.95,150,4.2,147.85,4.05,146.6,3.85,145.8,3.7,129.5,3.65,129.5,4.15,117.75,3.2,104.5,3.15,95.7,5.05,89.5,6.15,83.4,6.6,87.5,5.45,87.5,3.2,83,3.15,72.5,3.75,68.5,4.4,66.5,4.45,55.8,3.9,57.85,3.55,59.05,3.3,60.5,3.15,60.5,1.2,56,1.15,51.95,2.3,51.15,3.45,48.5,3.45,35.4,1.45,8,0.15,8,2.45,10.4,2.85,10.8,3.15,11,3.3,11,4.25,11,6.4,7.25,7.6,3.5,10,3.75,10.7,3.5,10.7,3.5,12.95,3.75,15.15,3.5,15.15,1.5,15.65,1.5,16.5,3.95,18.1,4.2,22.1,4.55,27.45,4.55,28.65,4.55,29.9,4.5,28.95,4.5,54.45,4.3,57.15,1.75,82.25,0,110.15,0.2,115.1,3.5,120.65,3.5,120.45,3.5,120.4,3.8,118.9,3.9,119.55,3.75,122,10,124.15,11,123.9,11,121.6,12.5,120.9,12.5,127.7,13,129.2,13,129.95,15.5,129.95,15.5,129.65,15.55,128.2,15.65,126.95,19.5,127.15,58.9,124.05,96.3,120.85,99.25,120.7,136.55,120.7,143,121.15,164.3,121.2,166.4,121.35,175.05,122.75,184.4,124.2,184.4,124.45,184.1,125.3,184.9,126.75,198.9,128.65,214.4,128.65,214.4,128.5,217,128.2,219.1,128,218.9,132.45,220.9,132.45,220.9,132.15,221.6,127.75,225.9,126.95,225.9,124.7,222.1,124.1,226.8,63.15,228.9,15.15,229.9,15.15,229.9,13.2,228.9,13.15,228.9,13.05,225.4,9.9,225.4,9.7,226.85,12.2,226.9,13.1,225.75,13.05,225.65,12.35,225.4,10.7,225.9,15,226.05,15,226.45,15,226.85,15.05,226.7,19.05,226.15,29.15,225.3,42.85,224.9,46.15,224.9,40.2,225.4,37.65,225.4,15.9,225.85,15.65,220.4,8.7,220.4,8.4,222.35,8.2,222.35,9.45,222.3,10.4,220.95,9,209.9,9.25,210.2,9.3,210.55,9.45,209.8,9.65,209,9.8,206.55,9.45,203.6,9,202.3,8.8,208.35,8.85,211.4,14.65,210.65,15.35,210.4,16.95,213.4,17.15,214.3,16.45,218.4,16.2,219.15,39.05,219.9,48.25,219.9,57.65,219.9,72.05,219.15,78.6,218.4,94,219.4,123.6,215.85,122.95,213.9,122.5,206.4,120.7,208.4,117.7,206.15,117.7,204.4,118.55,203.65,118.85,202.45,119.4,201.4,119.4,192.2,119.4,178.85,116.2,164.9,112.65,151.5,112.65,151.5,112.95,142.55,112.55,141,112.15,121.55,111.95,119,111.65,96,111.65,96,111.7,85.3,112.45,41.05,112.45,38.5,112.15,20.5,112.2,20.5,114.45,28,114.7,26.35,115.3,22.7,115.5,16.25,115.85,15.95,115.9,14.75,95.6,13,69.95,13,21.65,12.85,20.45,12.75,18.95,16.6,19,15,20.5,15.2,21.5,18.5,22.65,48,22.65,49.8,22.2,64,22.15,75.95,19.5,81.4,18.2,84.5,18.15,84.8,18,93.2,17.8,97.4,17.7,101.5,17.65,119.2,16.1,128.5,14.9,144.5,14.65,144.95,14.5,156.75,14.3,159.5,14.25,162.3,14.25,168.3,14.9,174.65,16.1,182.7,17.6,190.15,19.45,195.9,19.45,195.9,17.15,187.15,16.75,182.5,15.75,172.85,13.85,174,13.7,178.05,13.7,190.9,14.65,220.4,16.4,220.4,16.3,221.15,16.25,221.55,16.2,221.9,16.2,221.9,19.9,220.95,20.5,220.6,20.9,220.4,20.9,202.2,12.45,199.9,12.45,200.65,12.3,201.35,12.35,192.65,9.45,184.4,9.45,182.75,9.1,181.35,8.8,186.7,8.95,222.05,75.45,222.05,74.3,222.3,73.45,222.4,73.45,222.4,74.65,222.05,75.65,217.9,125.9,213.15,125.95,196.4,122.4,197.4,122.2,207.5,122.55,194.95,124.4,196.45,124.9,198.65,126.15,198.15,126.4,195.1,126.45,190.9,126.45,188.65,125.45,188.2,125.25,186.4,123.9,186.4,123.7,192.4,123.55,141.8,7.2,145.9,7.5,147.2,7.8,149.3,8.35,145.65,8.7,144.9,8.7,143.7,8.7,127.8,7.75,134.5,7.65,135.35,7.5,139.95,7.2,119.4,13.45,107.25,14.45,86,14.65,80.7,15.8,77.85,15.9,72.05,16,72.55,15.85,73.15,15.7,81.65,13.25,85,13.65,113,13.65,124.3,12.95,71.5,12.65,73.55,12.65,75.75,12.8,72.6,13.65,68.65,14.3,61.65,15.45,57.05,15.45,55.55,15.45,49.8,14.65,47.95,14.4,49,14.2,50.1,14,53,14.15,53.3,14,56.7,13.8,58.4,13.7,60,13.65,60.25,13.45,61.9,12.7,71.2,18.3,66.15,19.5,62.75,19.95,48.5,20.15,46.55,20.45,20,20.45,19.3,20.2,21.8,19.65,24.85,19.05,54,19.15,54.75,18.9,57.25,18.4,52.5,10.2,52.25,10.5,44.75,10.55,44.1,10.35,43.8,10.2,41,15.75,47.45,16.55,50.8,16.9,35.1,16.95,37.9,16.35,36.75,7.9,36.45,7.9,34.25,7.4,33.8,7.2,37.5,7.2,37.5,7.4,23.5,8.2,25.25,8.2,29,8.95,25.6,9.5,23.5,9.9,21.75,9.9,22.5,9.65,26,12.15,27.1,11.5,29.5,11.1,26.35,12.55,26.65,12.55,26.85,12.6,26.95,12.75,26.05,12.6,24.5,12.4,29.7,15.35,22.65,16.95,12.75,16.95,12.7,16.95,12.65,16.9,12.65,16.05,22.5,16.15,31.8,14.8,32.35,14.85,15,3.4,14.75,3.2,22.05,3.2,24.8,3.45,19.05,3.75,12.35,9.2,10.5,9.15,10.5,10.6,8.3,9.95,8.75,9.7,12.5,7.95,12.5,8.2,12.55,8.65,19.55,7.65,18.55,7.2,19.25,7.2,20.55,7.45,15.8,8.7,15.9,8.7,16.5,9.15,17.75,9.9,16.3,9.9,9.5,16.4,9.5,16,10.5,16,10.5,16.55,6.5,15.2,6.05,15.2,6,13.65,6,12,10.5,12.95,10.5,14.1,6.5,14.15,6.25,24.45,6.1,21.9,6.05,18.1,9,18.2,10.5,18.85,10.45,26.65,10.3,31.45,10,31.1,9.8,27.45,12.55,14.05,12.55,13.2,14.05,13.35,20.5,13.95,54.75,119.4,60.5,119,67.3,118.7,65.75,118.9,37.8,122.05,20,124.5,15.75,124.95,15.9,120.9,36,120.65,7.05,103.6,6.95,107.4,6.7,114.3,6.25,118.9,6,118.9,6,114.4,12.5,116.5,11.05,116.95,11.1,103.75,11.5,96.95,12.5,101.15,2,111.9,2,104.95,3.45,88.7,5,76.45,4.45,87.9,97.5,118.65,103.05,118.2,131.25,118.45,218.4,4.25,211.8,2.2,193.6,4.15,181.55,4.15,124.15,3.65,86.3,6.35,85.25,6.1,76,3.15,66.5,4.2,56.25,3.85,52.8,1.15,42.6,2.4,21.15,-0.45,3.5,8.8,3.5,10.35,3.6,13.9,1.8,15.15,1.5,17.9,4.05,19.9,0,99.4,0,113.75,0.9,119.55,4.55,124.15,11.25,124.15,12.05,121.15,22.9,127.15,183.7,124.15,184,126.1,187.45,128.55,218.2,128.1,218.9,130.9,221.25,130.1,224.15,127.4,223.85,124.35,224.65,103.85,228.7,27.5,228.9,10.45,225.8,15.7,225.9,15.55,221.6,9.5,220.7,8.8,210.9,15.05,210.15,16.05,218.4,29.8,218.4,85.2,210.4,121.6,208.85,119.95,166.7,112.85,87.05,112.2,18.4,115.65,16.1,115.85,15.75,111,13.6,77.35,15,19.8,15,21.35,15.6,21.7,70.15,20.95,77.95,19.05,110.85,17,126.6,15.35,175.7,14.35,173.4,13.8,180.3,13.95,221.35,20.05,202.3,123.55,143.2,7.4,109.6,14.1,84.2,14.95,78.25,14.5,83.3,13.45,121.7,13.2,48.85,14.5,51.9,14.2,52.35,10.35,43.55,16.1,49.2,16.75,28.3,9,23.5,8.65,26.4,12.5,26.6,12.65,25.6,16.15,26.2,15.75,32.1,14.85,31,15.1,9.4,10.15,10.35,9.05,17.25,9.65,7.7,12.5,9.65,24.95,13.25,13.3,16.5,13.6,53.2,119.95,15.85,122.5,48,120.15,6.9875,105.375,6.643164,110.035352,11.7,116.7,11.8,98.45,11.116667,9.65,3.583333,11.45,14.666667,129.85,23,113.783333,86,3.933333,177.816667,4.666667,223.066667,2.516667,229.566667,14.5,193.983333,18.683333,155.966667,112.75,220.233333,132.35],[51,49,375,52,375,53,375,52,51,54,53,375,54,374,55,49,376,375,384,383,55,55,383,56,386,385,391,391,379,386,384,55,374,546,381,379,374,378,388,388,378,389,374,388,392,377,390,378,48,377,376,389,378,390,377,349,390,391,374,392,392,388,393,349,355,390,377,350,349,388,394,393,350,377,351,374,391,384,376,49,48,547,60,58,58,57,56,58,403,60,58,56,403,404,403,382,382,403,56,60,403,402,401,65,61,402,401,61,402,61,60,417,381,379,354,394,387,353,364,354,364,353,352,394,354,419,418,379,395,354,364,419,404,381,417,398,405,416,417,379,418,394,419,418,419,364,371,404,382,381,346,351,377,373,345,344,347,47,337,358,345,373,352,357,356,352,351,357,357,351,358,338,343,337,361,358,362,337,336,338,358,351,346,342,373,344,336,335,338,47,347,48,377,48,346,39,46,45,47,46,333,39,45,44,40,44,41,333,46,39,317,333,39,315,334,333,319,317,39,39,44,40,302,37,36,360,358,361,334,314,313,335,312,311,313,312,334,372,371,362,341,365,373,342,344,343,310,339,311,311,339,338,372,358,373,338,335,311,366,365,329,316,333,317,318,317,319,37,302,38,320,319,39,38,320,39,315,333,316,332,309,308,305,295,306,305,297,296,308,307,332,340,310,309,314,334,315,343,338,342,303,302,36,305,296,295,64,62,65,66,65,408,407,66,408,68,67,415,67,66,407,408,65,409,409,65,401,73,72,443,69,68,415,201,444,443,413,71,69,72,71,202,67,407,415,400,396,410,368,367,205,399,369,411,416,370,398,368,411,369,415,414,69,411,203,412,411,410,399,202,443,72,368,205,411,414,413,69,410,409,400,202,71,413,75,74,440,74,73,441,434,440,429,442,73,443,440,434,75,429,444,438,73,442,441,75,434,79,78,77,75,79,433,80,80,433,81,78,75,79,430,429,437,437,436,430,437,429,438,201,439,438,439,201,200,429,440,444,430,436,431,432,84,82,84,432,436,85,436,435,85,84,436,432,431,436,82,81,432,85,435,427,438,444,201,205,204,411,327,206,366,327,366,328,358,372,362,365,341,329,362,371,363,366,329,328,342,341,373,208,206,209,208,207,206,209,206,327,339,310,340,340,309,330,330,309,331,331,309,332,323,322,212,322,321,212,307,306,321,412,203,413,435,200,427,92,86,426,200,199,427,197,427,198,427,426,85,426,425,93,87,90,88,90,87,91,548,90,88,424,94,93,91,87,86,92,91,86,443,202,201,549,196,194,198,427,199,196,193,428,428,197,196,420,428,192,93,425,424,423,94,424,422,95,94,422,421,192,192,421,420,212,321,213,204,203,411,306,295,321,295,294,213,550,35,33,286,28,27,33,32,35,299,32,31,287,26,288,30,29,300,289,288,26,301,28,286,32,304,36,24,23,280,18,17,236,551,17,15,279,25,280,280,23,281,281,21,282,21,281,23,18,235,19,255,17,15,297,304,298,36,304,303,304,32,298,286,221,301,220,290,301,222,285,223,31,30,299,215,293,216,221,220,301,220,291,290,285,221,286,219,218,291,298,32,299,285,284,223,223,283,282,225,19,226,235,18,236,255,254,237,15,14,255,253,237,254,17,255,237,20,224,282,224,223,282,19,227,226,224,20,225,235,228,227,235,227,19,283,223,284,234,229,228,256,255,14,36,35,32,13,252,14,12,249,13,157,156,10,10,156,11,9,149,10,11,156,12,249,252,13,14,252,256,156,249,12,157,10,149,9,150,149,248,155,154,9,7,150,7,6,151,7,151,150,552,4,2,6,5,151,2,1,4,144,5,4,5,143,151,162,158,151,145,1,125,125,1,0,1,145,4,148,163,143,158,153,152,162,151,143,158,152,151,125,146,145,130,147,124,126,125,0,124,147,146,163,148,147,238,252,249,153,158,154,251,156,248,158,161,159,154,158,248,156,251,250,129,147,130,128,243,147,123,127,126,127,122,134,123,126,0,128,131,243,133,127,134,135,134,119,134,122,119,553,121,119,132,128,133,237,253,238,141,131,142,294,293,214,292,216,293,292,217,216,292,218,217,220,219,291,214,213,294,191,190,445,295,213,321,228,235,234,233,232,230,554,232,230,233,230,229,234,233,229,97,447,186,185,98,186,555,184,182,98,185,184,182,99,184,181,100,182,95,445,96,445,95,191,99,182,100,102,181,277,276,103,102,103,105,104,105,103,276,276,275,105,102,101,181,100,181,101,278,265,268,265,278,180,270,265,264,265,269,268,266,179,178,266,180,179,277,181,180,274,273,105,274,105,275,272,106,273,265,270,269,273,106,105,267,266,178,278,277,180,191,95,422,147,241,240,240,163,147,240,239,163,163,247,164,161,158,162,138,166,165,167,166,118,140,246,244,244,246,245,140,247,246,242,147,243,136,135,119,247,140,164,118,137,119,242,241,147,258,167,259,138,165,164,260,167,118,118,138,137,119,137,136,138,118,166,261,260,118,163,162,143,167,258,257,173,178,177,173,177,176,173,172,267,175,173,176,178,173,267,171,263,172,108,264,109,107,264,108,263,171,170,263,110,109,267,172,263,270,264,106,262,169,168,114,263,170,257,168,167,169,261,117,262,261,169,261,118,117,170,117,114,111,110,113,113,110,114,556,113,111,115,114,117,110,263,114,131,141,243,304,297,305],[50,51,49,385,391,384,381,546,380,380,546,379,375,54,374,391,379,395,387,354,390,388,394,387,60,547,59,59,547,58,383,56,382,64,62,63,62,65,61,400,397,406,401,409,400,395,418,394,406,397,405,405,417,404,398,405,397,417,405,416,355,390,354,397,400,396,356,352,364,347,48,346,346,358,345,348,337,347,343,337,348,333,47,337,44,41,43,43,41,42,302,38,320,335,312,334,360,358,359,364,371,363,321,307,332,71,69,70,399,370,398,396,410,399,370,399,369,416,370,419,203,413,202,206,367,205,441,74,440,77,75,76,434,79,433,433,81,432,84,82,83,86,426,85,367,206,366,326,210,325,327,209,326,371,419,370,330,341,329,325,210,324,211,324,210,210,326,209,212,323,211,324,211,323,341,330,340,435,200,439,90,548,89,89,548,88,93,426,92,196,549,195,195,549,194,193,428,192,194,196,193,423,94,422,428,197,427,192,422,191,35,550,34,34,550,33,29,300,28,27,287,26,300,30,299,287,27,286,26,289,25,25,280,24,17,551,16,16,551,15,22,23,21,21,282,20,20,225,19,279,25,289,222,285,221,301,28,300,237,17,236,156,248,155,253,238,252,4,552,3,3,552,2,144,5,143,145,4,144,8,9,7,125,146,124,250,156,249,249,238,248,158,248,238,123,127,122,122,119,121,128,133,127,132,128,131,121,553,120,120,553,119,129,147,128,215,293,214,292,218,291,189,446,188,190,446,189,447,188,446,446,190,445,232,554,231,231,554,230,187,447,186,184,555,183,183,555,182,188,447,187,445,96,447,98,186,97,99,184,98,97,447,96,277,102,276,266,180,265,271,106,270,272,106,271,161,159,160,239,163,247,139,164,138,244,141,243,141,244,140,140,164,139,260,167,259,175,173,174,107,264,106,264,109,263,170,117,169,257,168,262,113,556,112,112,556,111,116,117,115],[0,1,2,5,6,7,9,10,11,11,12,13,17,18,19,22,23,24,29,30,31,36,37,38,40,41,42,45,46,47,50,51,52,52,53,54,54,55,56,66,67,68,68,69,70,71,72,73,77,78,79,79,80,81,86,87,88,90,91,92,94,95,96,99,100,101,102,103,104,107,108,109,125,126,127,129,130,124,132,133,134,134,135,136,136,137,138,145,146,147,149,150,151,151,152,153,153,154,155,156,157,149,161,162,163,164,165,166,166,167,168,170,171,172,175,176,177,177,178,179,179,180,181,184,185,186,196,197,198,203,204,205,215,216,217,217,218,219,222,223,224,224,225,226,226,227,228,228,229,230,232,233,234,239,240,241,241,242,243,245,246,247,250,251,248,253,254,255,255,256,252,257,258,259,260,261,262,266,267,263,268,269,270,272,273,274,274,275,276,277,278,268,280,281,282,282,283,284,284,285,286,287,288,289,293,294,295,295,296,297,302,303,304,304,305,306,306,307,308,308,309,310,311,312,313,314,315,316,316,317,318,318,319,320,321,322,323,327,328,329,330,331,332,335,336,337,341,342,338,343,344,345,349,350,351,352,353,354,356,357,358,360,361,362,367,368,369,375,376,377,377,378,374,385,386,379,388,389,390,391,392,393,401,402,403,407,408,409,409,410,411,411,412,413,413,414,415,420,421,422,424,425,426,430,431,432,436,437,438,441,442,443,443,444,440],[4,448,5,8,449,9,13,450,14,14,451,15,27,452,28,31,453,32,32,454,33,35,455,36,38,456,39,39,457,40,44,458,45,47,459,48,48,460,49,56,461,57,57,462,58,60,463,61,62,464,63,64,465,65,65,466,66,73,467,74,74,468,75,75,469,76,81,470,82,82,471,83,84,472,85,93,473,94,101,474,102,104,475,105,105,476,106,109,477,110,110,478,111,113,479,114,114,480,115,116,481,117,117,482,118,118,483,119,123,484,0,141,485,142,142,486,131,147,487,148,148,488,143,158,489,159,159,490,160,163,491,164,168,492,169,172,493,173,173,494,174,181,495,182,190,496,191,198,497,199,199,498,200,200,499,201,201,500,202,206,501,207,207,502,208,208,503,209,212,504,213,213,505,214,219,506,220,220,507,221,234,508,235,235,509,236,237,510,238,244,511,245,264,512,265,279,513,280,290,514,291,292,515,293,297,516,298,298,517,299,301,518,290,310,519,311,313,520,314,333,521,334,338,522,339,339,523,340,351,524,352,355,525,349,358,526,359,362,527,363,365,528,366,371,529,372,372,530,373,373,531,365,381,532,382,383,533,384,393,534,394,403,535,404,415,536,407,417,537,418,418,538,419,423,539,424,426,540,427,428,541,420,429,542,430,434,543,429,435,544,436,438,545,439]],[155,[59.95,42.15,48,41.9,45.15,45.75,44,51.65,45.95,57.65,51.9375,60.775,62,62.15,65.1,63.4,65.75,65.35,66,66.15,66,69.9,66,72.05,65.6375,73.6875,65.275,75.325,64.55,76.45,61.7,80.95,53.3,80.95,48.325,80.95,45,77.5125,41.675,74.075,40,67.2,37.5,67.15,37.5,69.4,37.55,69.5,38.2,72.55,40.25,77.15,47.5375,81.65,60,83.15,66,79.8125,68,69.8,67.8,64.55,65,59.7,60,59.65,56.65,59.9,53.925,59.0875,51.2,58.275,49.1,56.4,46,53.7,46,51.5,46,49.3,47.5,46.95,49.8,43.2,54.55,43.2,56.75,43.2,59.15,44.8,61,46.05,61.5,46.95,61.5,47.4,60.5,47.7,60.5,50.15,66.5,50.15,66.5,49.7,54.55,39.6,46.4,42.45,44,48.85,44,55.7,47.925,59.65,55.95,61.9,38.8,75.3,42.6,80.15,52.475,83.15,64,83.15,68,76.475,68,65.5,67.3,62,65.05,44.55,38.333333,67.916667,64.5,50,158.4,52.65,156.05,51.25,150.5,50.45,147,50.15,143.05,54.3,142.35,55.9,141.8,57,141,51.05,141,49.7,139,49.65,140.15,63.2,141.2,72.75,141,77.45,143.5,77.45,143.5,77.15,143.75,76.25,144,74.65,142.5,61.95,146.05,55.1,148.25,52.9,152.55,52.7,153.5,52.7,154.45,53.65,158.4,54.15,157.15,51.6,154.3,50.65,150.5,50.2,144.5,51.15,139,52.95,144,75.35,144,72.25,155.25,54.5,94.5,53.15,94.25,53.4,90,53.65,89.75,53.9,85,54.15,84.8,49.9,79,37.65,79,38.7,78.35,40.7,77.55,43,76.5,44.2,76.5,46.45,79,46.65,80,43.7,80.3,43.95,80.5,44.4,81.8,47.25,82.75,54.75,81.35,55,79.2,55.3,75.1,55.9,72.5,56.2,72.5,58.45,73.8,58.55,76,58.65,77,58.4,78.4,57.8,81.7,57.35,82.4,57.25,83,57.2,85.1,72.7,92.325,87.8875,98.16875,91.946875,105.5,93.65,108.45,87.8,109,81.75,108.75,78.4,105.5,75.15,105.5,75.9,106.25,78.8,107,81.05,107,81.7,107,83.9,106,86.95,105.25,89.2,104.2,90.325,103.15,91.45,101.8,91.45,98.875,91.45,96.3375,89.3375,93.8,87.225,91.65,83,88.8,77.5,86,66.45,85.4,64.1,85.2,58.9,85.15,57.85,85.15,56.9,86.5,56.65,86.65,56.5,89.1,56.3,90.3,56.2,91.5,56.15,91.85,55.8,99,55.15,99,53.2,84.85,50.7,83.9,39,80,44.65,75.2,58.65,77.25,58.65,84.15,68.5,87.225,82.65,94.875,90.50625,101.4625,93.3875,107.65,91.5,109,85.4,109,79.2,108.1,76,105.5,76.6,86.25,56.7,77.333333,45.766667,72.933333,57.733333,97.5,53.833333,113.1,49.65,113.05,51.05,104,49.15,101.3,51.25,101,53.75,102.325,59.8,106.3,65.05,116,73.15,116,74.45,117.8,74.55,118.3,74.95,120.5,74.95,120.5,73.55,125,65.35,128.5,52.9,127.35,48.9,115,46.15,116.75,48.4,120.5,48.2,121.95,48.95,123.7,50.1,126.5,51.95,126.5,52.9,126.5,55.2,122.6,62.85,119.8,68.3,117.8,70.65,110.4,65,106.7,60.8375,103,56.675,103,54,103,52.95,103.5,52.4,104.6,51.2,108,51.2,110.95,51.2,112.15,54.2,116,58.65,116,58.2,115.8,52.65,115.35,52.2,115.65,51.35,116.3,49.35,113.05,50,110,50,101.8,50.35,101,51.8,101,56.975,103.65,62.625,109.05,67.6,122.45,71.05,128.5,57.4,128.5,50.1,124.5,46,113.4,48.25,113.55,57.75,116.75,54,115.65,52.4,115.5,51.85,116.6,74.05,119.766667,74.483333,169.9,34.7,167.6,40.7,167.4,48.9,167.55,58.65,162.8,60.7,155.5,66.95,157.9,67.15,163.65,64.3,167.7,62.3,168.05,65.35,171.1625,72.625,177.4,81.45,181.9,81.65,183.8,78.95,184.4,78.65,184.4,74.2,182.4,74.15,181.45,76.9,180.5,79.45,179.4,79.45,176.85,79.45,174.85,76.3125,172.85,73.175,171.4,66.9,170.7,63.85,170.25,61.05,177.1,57.7,177.4,57.7,178.65,57.7,179.4,57.95,179.4,55.7,174.4,55.65,169.8,57.65,169.4,54.35,169.4,51.4,168.1,36.05,167.4,42.65,167.4,54.75,164.8,59.8,154.95,64.15,167.85,64.4,168.825,68.6,173.5,76.65,182.3,74.3,171.9,56.7,169.9,40.4],[3,2,39,39,2,40,3,39,38,3,37,4,37,3,38,4,37,36,1,42,41,42,1,0,1,41,40,4,35,5,36,35,4,1,40,2,5,35,34,66,22,20,22,20,23,20,24,23,25,24,19,24,20,19,33,5,34,26,25,18,26,18,17,17,16,26,26,16,27,5,33,6,18,25,19,43,0,44,0,43,42,44,0,45,33,32,6,46,45,51,47,46,51,47,51,49,6,31,7,67,51,49,45,0,51,13,12,28,27,16,15,28,15,14,27,15,28,14,13,28,8,30,9,30,8,7,9,30,29,11,10,29,28,12,29,10,9,29,12,11,29,7,31,30,77,75,74,86,74,73,85,74,86,77,74,78,79,78,85,82,80,83,85,84,79,79,83,80,78,74,85,86,73,72,87,71,70,88,70,89,90,89,69,69,89,70,90,69,68,79,84,83,86,71,87,71,86,72,113,110,109,107,113,108,113,109,108,181,112,110,112,110,113,107,106,114,114,113,107,105,116,115,115,114,105,118,117,128,105,104,117,159,157,104,116,105,117,117,104,157,114,106,105,119,118,127,123,121,120,126,120,119,127,126,119,125,120,126,182,123,121,124,123,120,125,124,120,155,154,129,118,128,127,117,129,128,157,129,117,129,157,156,154,153,130,155,129,156,130,129,154,130,153,152,157,159,158,103,102,163,103,159,104,103,163,161,161,163,162,160,159,103,103,161,160,183,100,164,139,136,140,136,139,138,101,164,163,151,131,152,131,151,150,150,149,131,131,149,132,132,148,147,148,132,149,132,147,133,133,147,146,141,140,135,142,135,134,135,142,141,140,136,135,145,144,133,144,134,133,134,144,143,134,143,142,145,133,146,152,131,130,186,217,187,217,186,218,187,217,216,185,219,186,225,184,226,185,225,224,225,185,184,219,185,220,184,200,226,219,218,186,220,185,224,188,215,214,188,187,215,188,213,189,213,188,214,189,213,212,220,224,223,190,212,211,190,189,212,190,211,191,220,223,222,187,216,215,202,199,203,201,226,200,204,199,205,199,204,203,205,199,198,206,198,207,198,206,205,207,198,197,202,200,199,210,191,211,243,193,191,193,191,210,210,196,193,209,208,197,197,208,207,209,197,196,244,196,194,196,210,209,248,247,278,249,248,253,247,246,279,270,277,276,245,279,246,278,277,248,279,278,247,248,277,270,251,249,252,249,253,252,269,254,253,254,268,255,268,254,269,255,268,267,269,253,270,248,270,253,272,271,275,271,270,276,275,273,272,266,265,256,264,256,265,256,255,266,262,259,258,263,258,257,258,263,262,263,257,264,266,255,267],[22,66,21,21,66,20,49,47,48,32,6,31,51,67,50,50,67,49,77,75,76,81,82,80,88,70,87,68,90,91,112,181,111,111,181,110,123,182,122,122,182,121,102,163,101,101,164,100,100,183,165,165,183,164,138,136,137,202,200,201,193,243,192,192,243,191,196,244,195,195,244,194,194,196,193,222,220,221,251,249,250,276,271,275,275,273,274,261,262,260,257,264,256,260,262,259],[6,7,8,8,9,10,10,11,12,12,13,14,14,15,16,16,17,18,18,19,20,22,23,24,32,33,34,34,35,36,36,37,38,38,39,40,40,41,42,42,43,44,44,45,46,46,47,48,72,73,74,74,75,76,78,79,80,81,82,83,85,86,87,88,89,90,102,103,104,106,107,108,108,109,110,113,114,115,115,116,117,117,118,119,119,120,121,125,126,127,127,128,129,139,140,141,141,142,143,143,144,145,145,146,147,147,148,149,149,150,151,151,152,153,153,154,155,155,156,157,158,159,160,160,161,162,162,163,164,202,203,204,204,205,206,206,207,208,208,209,210,210,211,212,212,213,214,214,215,216,216,217,218,218,219,220,225,226,201,251,252,253,257,258,259,262,263,264,264,265,266,266,267,268,268,269,270,270,271,272,272,273,274,277,278,279],[0,52,1,1,53,2,2,54,3,3,55,4,4,56,5,5,57,6,24,58,25,25,59,26,26,60,27,27,61,28,28,62,29,29,63,30,30,64,31,51,65,0,68,92,69,69,93,70,70,94,71,71,95,72,77,96,78,83,97,84,84,98,85,90,99,91,104,166,105,105,167,106,112,168,113,123,169,124,124,170,125,129,171,130,130,172,131,131,173,132,132,174,133,133,175,134,134,176,135,135,177,136,136,178,137,138,179,139,157,180,158,184,227,185,185,228,186,186,229,187,187,230,188,188,231,189,189,232,190,190,233,191,196,234,197,197,235,198,198,236,199,199,237,200,200,238,184,220,239,221,222,240,223,223,241,224,224,242,225,245,280,246,246,281,247,247,282,248,248,283,249,249,284,250,253,285,254,254,286,255,255,287,256,261,288,262,276,289,277,279,290,245]]],[137,[154,[227.6,7.9,225.65,4.55,224.4,1.7,222.4,1.65,222.4,4.2,216.1,4.35,214.15,4.45,213.9,4.45,213.9,2.7,210,3.65,207.75,5.45,202.4,5.45,200.3,5.45,196.95,4.8,188.4,4.15,178.65,4.65,177.4,4.65,177.4,4.7,173.65,4.95,167.4,5.15,151.15,5.15,150,4.95,150,4.2,147.85,4.05,146.6,3.85,145.8,3.7,129.5,3.65,129.5,4.15,117.75,3.2,104.5,3.15,95.7,5.05,89.5,6.15,83.4,6.6,87.5,5.45,87.5,3.2,83,3.15,72.5,3.75,68.5,4.4,66.5,4.45,55.8,3.9,57.85,3.55,59.05,3.3,60.5,3.15,60.5,1.2,56,1.15,51.95,2.3,51.15,3.45,48.5,3.45,35.4,1.45,8,0.15,8,2.45,10.4,2.85,10.8,3.15,11,3.3,11,4.25,11,6.4,7.25,7.6,3.5,10,3.75,10.7,3.5,10.7,3.5,12.95,3.75,15.15,3.5,15.15,1.5,15.65,1.5,16.5,3.95,18.1,4.2,22.1,4.55,27.45,4.55,28.65,4.55,29.9,4.5,28.95,4.5,54.45,4.3,57.15,1.75,82.25,0,110.15,0.2,115.1,3.5,120.65,3.5,120.45,3.5,120.4,3.8,118.9,3.9,119.55,3.75,122,10,124.15,11,123.9,11,121.6,12.5,120.9,12.5,127.7,13,129.2,13,129.95,15.5,129.95,15.5,129.65,15.55,128.2,15.65,126.95,19.5,127.15,58.9,124.05,96.3,120.85,99.25,120.7,136.55,120.7,143,121.15,164.3,121.2,166.4,121.35,175.05,122.75,184.4,124.2,184.4,124.45,184.1,125.3,184.9,126.75,198.9,128.65,214.4,128.65,214.4,128.5,217,128.2,219.1,128,218.9,132.45,220.9,132.45,220.9,132.15,221.6,127.75,225.9,126.95,225.9,124.7,222.1,124.1,226.8,63.15,228.9,15.15,229.9,15.15,229.9,13.2,228.9,13.15,228.9,13.05,225.4,9.9,225.4,9.7,226.85,12.2,226.9,13.1,225.75,13.05,225.65,12.35,225.4,10.7,225.9,15,226.05,15,226.45,15,226.85,15.05,226.7,19.05,226.15,29.15,225.3,42.85,224.9,46.15,224.9,40.2,225.4,37.65,225.4,15.9,225.85,15.65,220.4,8.7,220.4,8.4,222.35,8.2,222.35,9.45,222.3,10.4,220.95,9,209.9,9.25,210.2,9.3,210.55,9.45,209.8,9.65,209,9.8,206.55,9.45,203.6,9,202.3,8.8,208.35,8.85,211.4,14.65,210.65,15.35,210.4,16.95,213.4,17.15,214.3,16.45,218.4,16.2,219.15,39.05,219.9,48.25,219.9,57.65,219.9,72.05,219.15,78.6,218.4,94,219.4,123.6,215.85,122.95,213.9,122.5,206.4,120.7,208.4,117.7,206.15,117.7,204.4,118.55,203.65,118.85,202.45,119.4,201.4,119.4,192.2,119.4,178.85,116.2,164.9,112.65,151.5,112.65,151.5,112.95,142.55,112.55,141,112.15,121.55,111.95,119,111.65,96,111.65,96,111.7,85.3,112.45,41.05,112.45,38.5,112.15,20.5,112.2,20.5,114.45,28,114.7,26.35,115.3,22.7,115.5,16.25,115.85,15.95,115.9,14.75,95.6,13,69.95,13,21.65,12.85,20.45,12.75,18.95,16.6,19,15,20.5,15.2,21.5,18.5,22.65,48,22.65,49.8,22.2,64,22.15,75.95,19.5,81.4,18.2,84.5,18.15,84.8,18,93.2,17.8,97.4,17.7,101.5,17.65,119.2,16.1,128.5,14.9,144.5,14.65,144.95,14.5,156.75,14.3,159.5,14.25,162.3,14.25,168.3,14.9,174.65,16.1,182.7,17.6,190.15,19.45,195.9,19.45,195.9,17.15,187.15,16.75,182.5,15.75,172.85,13.85,174,13.7,178.05,13.7,190.9,14.65,220.4,16.4,220.4,16.3,221.15,16.25,221.55,16.2,221.9,16.2,221.9,19.9,220.95,20.5,220.6,20.9,220.4,20.9,202.2,12.45,199.9,12.45,200.65,12.3,201.35,12.35,192.65,9.45,184.4,9.45,182.75,9.1,181.35,8.8,186.7,8.95,222.05,75.45,222.05,74.3,222.3,73.45,222.4,73.45,222.4,74.65,222.05,75.65,217.9,125.9,213.15,125.95,196.4,122.4,197.4,122.2,207.5,122.55,194.95,124.4,196.45,124.9,198.65,126.15,198.15,126.4,195.1,126.45,190.9,126.45,188.65,125.45,188.2,125.25,186.4,123.9,186.4,123.7,192.4,123.55,141.8,7.2,145.9,7.5,147.2,7.8,149.3,8.35,145.65,8.7,144.9,8.7,143.7,8.7,127.8,7.75,134.5,7.65,135.35,7.5,139.95,7.2,119.4,13.45,107.25,14.45,86,14.65,80.7,15.8,77.85,15.9,72.05,16,72.55,15.85,73.15,15.7,81.65,13.25,85,13.65,113,13.65,124.3,12.95,71.5,12.65,73.55,12.65,75.75,12.8,72.6,13.65,68.65,14.3,61.65,15.45,57.05,15.45,55.55,15.45,49.8,14.65,47.95,14.4,49,14.2,50.1,14,53,14.15,53.3,14,56.7,13.8,58.4,13.7,60,13.65,60.25,13.45,61.9,12.7,71.2,18.3,66.15,19.5,62.75,19.95,48.5,20.15,46.55,20.45,20,20.45,19.3,20.2,21.8,19.65,24.85,19.05,54,19.15,54.75,18.9,57.25,18.4,52.5,10.2,52.25,10.5,44.75,10.55,44.1,10.35,43.8,10.2,41,15.75,47.45,16.55,50.8,16.9,35.1,16.95,37.9,16.35,36.75,7.9,36.45,7.9,34.25,7.4,33.8,7.2,37.5,7.2,37.5,7.4,23.5,8.2,25.25,8.2,29,8.95,25.6,9.5,23.5,9.9,21.75,9.9,22.5,9.65,26,12.15,27.1,11.5,29.5,11.1,26.35,12.55,26.65,12.55,26.85,12.6,26.95,12.75,26.05,12.6,24.5,12.4,29.7,15.35,22.65,16.95,12.75,16.95,12.7,16.95,12.65,16.9,12.65,16.05,22.5,16.15,31.8,14.8,32.35,14.85,15,3.4,14.75,3.2,22.05,3.2,24.8,3.45,19.05,3.75,12.35,9.2,10.5,9.15,10.5,10.6,8.3,9.95,8.75,9.7,12.5,7.95,12.5,8.2,12.55,8.65,19.55,7.65,18.55,7.2,19.25,7.2,20.55,7.45,15.8,8.7,15.9,8.7,16.5,9.15,17.75,9.9,16.3,9.9,9.5,16.4,9.5,16,10.5,16,10.5,16.55,6.5,15.2,6.05,15.2,6,13.65,6,12,10.5,12.95,10.5,14.1,6.5,14.15,6.25,24.45,6.1,21.9,6.05,18.1,9,18.2,10.5,18.85,10.45,26.65,10.3,31.45,10,31.1,9.8,27.45,12.55,14.05,12.55,13.2,14.05,13.35,20.5,13.95,54.75,119.4,60.5,119,67.3,118.7,65.75,118.9,37.8,122.05,20,124.5,15.75,124.95,15.9,120.9,36,120.65,7.05,103.6,6.95,107.4,6.7,114.3,6.25,118.9,6,118.9,6,114.4,12.5,116.5,11.05,116.95,11.1,103.75,11.5,96.95,12.5,101.15,2,111.9,2,104.95,3.45,88.7,5,76.45,4.45,87.9,97.5,118.65,103.05,118.2,131.25,118.45,218.4,4.25,211.8,2.2,193.6,4.15,181.55,4.15,124.15,3.65,86.3,6.35,85.25,6.1,76,3.15,66.5,4.2,56.25,3.85,52.8,1.15,42.6,2.4,21.15,-0.45,3.5,8.8,3.5,10.35,3.6,13.9,1.8,15.15,1.5,17.9,4.05,19.9,0,99.4,0,113.75,0.9,119.55,4.55,124.15,11.25,124.15,12.05,121.15,22.9,127.15,183.7,124.15,184,126.1,187.45,128.55,218.2,128.1,218.9,130.9,221.25,130.1,224.15,127.4,223.85,124.35,224.65,103.85,228.7,27.5,228.9,10.45,225.8,15.7,225.9,15.55,221.6,9.5,220.7,8.8,210.9,15.05,210.15,16.05,218.4,29.8,218.4,85.2,210.4,121.6,208.85,119.95,166.7,112.85,87.05,112.2,18.4,115.65,16.1,115.85,15.75,111,13.6,77.35,15,19.8,15,21.35,15.6,21.7,70.15,20.95,77.95,19.05,110.85,17,126.6,15.35,175.7,14.35,173.4,13.8,180.3,13.95,221.35,20.05,202.3,123.55,143.2,7.4,109.6,14.1,84.2,14.95,78.25,14.5,83.3,13.45,121.7,13.2,48.85,14.5,51.9,14.2,52.35,10.35,43.55,16.1,49.2,16.75,28.3,9,23.5,8.65,26.4,12.5,26.6,12.65,25.6,16.15,26.2,15.75,32.1,14.85,31,15.1,9.4,10.15,10.35,9.05,17.25,9.65,7.7,12.5,9.65,24.95,13.25,13.3,16.5,13.6,53.2,119.95,15.85,122.5,48,120.15,6.9875,105.375,6.643164,110.035352,11.7,116.7,11.8,98.45,11.116667,9.65,3.583333,11.45,14.666667,129.85,23,113.783333,86,3.933333,177.816667,4.666667,223.066667,2.516667,229.566667,14.5,193.983333,18.683333,155.966667,112.75,220.233333,132.35],[51,49,375,52,375,53,375,52,51,54,53,375,54,374,55,49,376,375,384,383,55,55,383,56,386,385,391,391,379,386,384,55,374,546,381,379,374,378,388,388,378,389,374,388,392,377,390,378,48,377,376,389,378,390,377,349,390,391,374,392,392,388,393,349,355,390,377,350,349,388,394,393,350,377,351,374,391,384,376,49,48,547,60,58,58,57,56,58,403,60,58,56,403,404,403,382,382,403,56,60,403,402,401,65,61,402,401,61,402,61,60,417,381,379,354,394,387,353,364,354,364,353,352,394,354,419,418,379,395,354,364,419,404,381,417,398,405,416,417,379,418,394,419,418,419,364,371,404,382,381,346,351,377,373,345,344,347,47,337,358,345,373,352,357,356,352,351,357,357,351,358,338,343,337,361,358,362,337,336,338,358,351,346,342,373,344,336,335,338,47,347,48,377,48,346,39,46,45,47,46,333,39,45,44,40,44,41,333,46,39,317,333,39,315,334,333,319,317,39,39,44,40,302,37,36,360,358,361,334,314,313,335,312,311,313,312,334,372,371,362,341,365,373,342,344,343,310,339,311,311,339,338,372,358,373,338,335,311,366,365,329,316,333,317,318,317,319,37,302,38,320,319,39,38,320,39,315,333,316,332,309,308,305,295,306,305,297,296,308,307,332,340,310,309,314,334,315,343,338,342,303,302,36,305,296,295,64,62,65,66,65,408,407,66,408,68,67,415,67,66,407,408,65,409,409,65,401,73,72,443,69,68,415,201,444,443,413,71,69,72,71,202,67,407,415,400,396,410,368,367,205,399,369,411,416,370,398,368,411,369,415,414,69,411,203,412,411,410,399,202,443,72,368,205,411,414,413,69,410,409,400,202,71,413,75,74,440,74,73,441,434,440,429,442,73,443,440,434,75,429,444,438,73,442,441,75,434,79,78,77,75,79,433,80,80,433,81,78,75,79,430,429,437,437,436,430,437,429,438,201,439,438,439,201,200,429,440,444,430,436,431,432,84,82,84,432,436,85,436,435,85,84,436,432,431,436,82,81,432,85,435,427,438,444,201,205,204,411,327,206,366,327,366,328,358,372,362,365,341,329,362,371,363,366,329,328,342,341,373,208,206,209,208,207,206,209,206,327,339,310,340,340,309,330,330,309,331,331,309,332,323,322,212,322,321,212,307,306,321,412,203,413,435,200,427,92,86,426,200,199,427,197,427,198,427,426,85,426,425,93,87,90,88,90,87,91,548,90,88,424,94,93,91,87,86,92,91,86,443,202,201,549,196,194,198,427,199,196,193,428,428,197,196,420,428,192,93,425,424,423,94,424,422,95,94,422,421,192,192,421,420,212,321,213,204,203,411,306,295,321,295,294,213,550,35,33,286,28,27,33,32,35,299,32,31,287,26,288,30,29,300,289,288,26,301,28,286,32,304,36,24,23,280,18,17,236,551,17,15,279,25,280,280,23,281,281,21,282,21,281,23,18,235,19,255,17,15,297,304,298,36,304,303,304,32,298,286,221,301,220,290,301,222,285,223,31,30,299,215,293,216,221,220,301,220,291,290,285,221,286,219,218,291,298,32,299,285,284,223,223,283,282,225,19,226,235,18,236,255,254,237,15,14,255,253,237,254,17,255,237,20,224,282,224,223,282,19,227,226,224,20,225,235,228,227,235,227,19,283,223,284,234,229,228,256,255,14,36,35,32,13,252,14,12,249,13,157,156,10,10,156,11,9,149,10,11,156,12,249,252,13,14,252,256,156,249,12,157,10,149,9,150,149,248,155,154,9,7,150,7,6,151,7,151,150,552,4,2,6,5,151,2,1,4,144,5,4,5,143,151,162,158,151,145,1,125,125,1,0,1,145,4,148,163,143,158,153,152,162,151,143,158,152,151,125,146,145,130,147,124,126,125,0,124,147,146,163,148,147,238,252,249,153,158,154,251,156,248,158,161,159,154,158,248,156,251,250,129,147,130,128,243,147,123,127,126,127,122,134,123,126,0,128,131,243,133,127,134,135,134,119,134,122,119,553,121,119,132,128,133,237,253,238,141,131,142,294,293,214,292,216,293,292,217,216,292,218,217,220,219,291,214,213,294,191,190,445,295,213,321,228,235,234,233,232,230,554,232,230,233,230,229,234,233,229,97,447,186,185,98,186,555,184,182,98,185,184,182,99,184,181,100,182,95,445,96,445,95,191,99,182,100,102,181,277,276,103,102,103,105,104,105,103,276,276,275,105,102,101,181,100,181,101,278,265,268,265,278,180,270,265,264,265,269,268,266,179,178,266,180,179,277,181,180,274,273,105,274,105,275,272,106,273,265,270,269,273,106,105,267,266,178,278,277,180,191,95,422,147,241,240,240,163,147,240,239,163,163,247,164,161,158,162,138,166,165,167,166,118,140,246,244,244,246,245,140,247,246,242,147,243,136,135,119,247,140,164,118,137,119,242,241,147,258,167,259,138,165,164,260,167,118,118,138,137,119,137,136,138,118,166,261,260,118,163,162,143,167,258,257,173,178,177,173,177,176,173,172,267,175,173,176,178,173,267,171,263,172,108,264,109,107,264,108,263,171,170,263,110,109,267,172,263,270,264,106,262,169,168,114,263,170,257,168,167,169,261,117,262,261,169,261,118,117,170,117,114,111,110,113,113,110,114,556,113,111,115,114,117,110,263,114,131,141,243,304,297,305],[50,51,49,385,391,384,381,546,380,380,546,379,375,54,374,391,379,395,387,354,390,388,394,387,60,547,59,59,547,58,383,56,382,64,62,63,62,65,61,400,397,406,401,409,400,395,418,394,406,397,405,405,417,404,398,405,397,417,405,416,355,390,354,397,400,396,356,352,364,347,48,346,346,358,345,348,337,347,343,337,348,333,47,337,44,41,43,43,41,42,302,38,320,335,312,334,360,358,359,364,371,363,321,307,332,71,69,70,399,370,398,396,410,399,370,399,369,416,370,419,203,413,202,206,367,205,441,74,440,77,75,76,434,79,433,433,81,432,84,82,83,86,426,85,367,206,366,326,210,325,327,209,326,371,419,370,330,341,329,325,210,324,211,324,210,210,326,209,212,323,211,324,211,323,341,330,340,435,200,439,90,548,89,89,548,88,93,426,92,196,549,195,195,549,194,193,428,192,194,196,193,423,94,422,428,197,427,192,422,191,35,550,34,34,550,33,29,300,28,27,287,26,300,30,299,287,27,286,26,289,25,25,280,24,17,551,16,16,551,15,22,23,21,21,282,20,20,225,19,279,25,289,222,285,221,301,28,300,237,17,236,156,248,155,253,238,252,4,552,3,3,552,2,144,5,143,145,4,144,8,9,7,125,146,124,250,156,249,249,238,248,158,248,238,123,127,122,122,119,121,128,133,127,132,128,131,121,553,120,120,553,119,129,147,128,215,293,214,292,218,291,189,446,188,190,446,189,447,188,446,446,190,445,232,554,231,231,554,230,187,447,186,184,555,183,183,555,182,188,447,187,445,96,447,98,186,97,99,184,98,97,447,96,277,102,276,266,180,265,271,106,270,272,106,271,161,159,160,239,163,247,139,164,138,244,141,243,141,244,140,140,164,139,260,167,259,175,173,174,107,264,106,264,109,263,170,117,169,257,168,262,113,556,112,112,556,111,116,117,115],[0,1,2,5,6,7,9,10,11,11,12,13,17,18,19,22,23,24,29,30,31,36,37,38,40,41,42,45,46,47,50,51,52,52,53,54,54,55,56,66,67,68,68,69,70,71,72,73,77,78,79,79,80,81,86,87,88,90,91,92,94,95,96,99,100,101,102,103,104,107,108,109,125,126,127,129,130,124,132,133,134,134,135,136,136,137,138,145,146,147,149,150,151,151,152,153,153,154,155,156,157,149,161,162,163,164,165,166,166,167,168,170,171,172,175,176,177,177,178,179,179,180,181,184,185,186,196,197,198,203,204,205,215,216,217,217,218,219,222,223,224,224,225,226,226,227,228,228,229,230,232,233,234,239,240,241,241,242,243,245,246,247,250,251,248,253,254,255,255,256,252,257,258,259,260,261,262,266,267,263,268,269,270,272,273,274,274,275,276,277,278,268,280,281,282,282,283,284,284,285,286,287,288,289,293,294,295,295,296,297,302,303,304,304,305,306,306,307,308,308,309,310,311,312,313,314,315,316,316,317,318,318,319,320,321,322,323,327,328,329,330,331,332,335,336,337,341,342,338,343,344,345,349,350,351,352,353,354,356,357,358,360,361,362,367,368,369,375,376,377,377,378,374,385,386,379,388,389,390,391,392,393,401,402,403,407,408,409,409,410,411,411,412,413,413,414,415,420,421,422,424,425,426,430,431,432,436,437,438,441,442,443,443,444,440],[4,448,5,8,449,9,13,450,14,14,451,15,27,452,28,31,453,32,32,454,33,35,455,36,38,456,39,39,457,40,44,458,45,47,459,48,48,460,49,56,461,57,57,462,58,60,463,61,62,464,63,64,465,65,65,466,66,73,467,74,74,468,75,75,469,76,81,470,82,82,471,83,84,472,85,93,473,94,101,474,102,104,475,105,105,476,106,109,477,110,110,478,111,113,479,114,114,480,115,116,481,117,117,482,118,118,483,119,123,484,0,141,485,142,142,486,131,147,487,148,148,488,143,158,489,159,159,490,160,163,491,164,168,492,169,172,493,173,173,494,174,181,495,182,190,496,191,198,497,199,199,498,200,200,499,201,201,500,202,206,501,207,207,502,208,208,503,209,212,504,213,213,505,214,219,506,220,220,507,221,234,508,235,235,509,236,237,510,238,244,511,245,264,512,265,279,513,280,290,514,291,292,515,293,297,516,298,298,517,299,301,518,290,310,519,311,313,520,314,333,521,334,338,522,339,339,523,340,351,524,352,355,525,349,358,526,359,362,527,363,365,528,366,371,529,372,372,530,373,373,531,365,381,532,382,383,533,384,393,534,394,403,535,404,415,536,407,417,537,418,418,538,419,423,539,424,426,540,427,428,541,420,429,542,430,434,543,429,435,544,436,438,545,439]],[155,[57.95,44.15,46,43.9,43.15,47.75,42,53.65,43.95,59.65,49.9375,62.775,60,64.15,63.1,65.4,63.75,67.35,64,68.15,64,71.9,64,74.05,63.6375,75.6875,63.275,77.325,62.55,78.45,59.7,82.95,51.3,82.95,46.325,82.95,43,79.5125,39.675,76.075,38,69.2,35.5,69.15,35.5,71.4,35.55,71.5,36.2,74.55,38.25,79.15,45.5375,83.65,58,85.15,64,81.8125,66,71.8,65.8,66.55,63,61.7,58,61.65,54.65,61.9,51.925,61.0875,49.2,60.275,47.1,58.4,44,55.7,44,53.5,44,51.3,45.5,48.95,47.8,45.2,52.55,45.2,54.75,45.2,57.15,46.8,59,48.05,59.5,48.95,59.5,49.4,58.5,49.7,58.5,52.15,64.5,52.15,64.5,51.7,52.55,41.6,44.4,44.45,42,50.85,42,57.7,45.925,61.65,53.95,63.9,36.8,77.3,40.6,82.15,50.475,85.15,62,85.15,66,78.475,66,67.5,65.3,64,63.05,46.55,36.333333,69.916667,62.5,52,112.1,51.65,112.05,53.05,103,51.15,100.3,53.25,100,55.75,101.325,61.8,105.3,67.05,115,75.15,115,76.45,116.8,76.55,117.3,76.95,119.5,76.95,119.5,75.55,124,67.35,127.5,54.9,126.35,50.9,114,48.15,115.75,50.4,119.5,50.2,120.95,50.95,122.7,52.1,125.5,53.95,125.5,54.9,125.5,57.2,121.6,64.85,118.8,70.3,116.8,72.65,109.4,67,105.7,62.8375,102,58.675,102,56,102,54.95,102.5,54.4,103.6,53.2,107,53.2,109.95,53.2,111.15,56.2,115,60.65,115,60.2,114.8,54.65,114.35,54.2,114.65,53.35,115.3,51.35,112.05,52,109,52,100.8,52.35,100,53.8,100,58.975,102.65,64.625,108.05,69.6,121.45,73.05,127.5,59.4,127.5,52.1,123.5,48,112.4,50.25,112.55,59.75,115.75,56,114.65,54.4,114.5,53.85,115.6,76.05,118.766667,76.483333,81,41.7,81.3,41.95,81.5,42.4,82.8,45.25,83.75,52.75,82.35,53,80.2,53.3,76.1,53.9,73.5,54.2,73.5,56.45,74.8,56.55,77,56.65,78,56.4,79.4,55.8,82.7,55.35,83.4,55.25,84,55.2,86.1,70.7,93.325,85.8875,99.16875,89.946875,106.5,91.65,109.45,85.8,110,79.75,109.75,76.4,106.5,73.15,106.5,73.9,107.25,76.8,108,79.05,108,79.7,108,81.9,107,84.95,106.25,87.2,105.2,88.325,104.15,89.45,102.8,89.45,99.875,89.45,97.3375,87.3375,94.8,85.225,92.65,81,89.8,75.5,87,64.45,86.4,62.1,86.2,56.9,86.15,55.85,86.15,54.9,87.5,54.65,87.65,54.5,90.1,54.3,91.3,54.2,92.5,54.15,92.85,53.8,100,53.15,100,51.2,95.5,51.15,95.25,51.4,91,51.65,90.75,51.9,86,52.15,85.8,47.9,80,35.65,80,36.7,79.35,38.7,78.55,41,77.5,42.2,77.5,44.45,80,44.65,76.2,56.65,78.25,56.65,85.15,66.5,88.225,80.65,95.875,88.50625,102.4625,91.3875,108.65,89.5,110,83.4,110,77.2,109.1,74,106.5,74.6,87.25,54.7,85.85,48.7,84.9,37,81,42.65,78.333333,43.766667,73.933333,55.733333,98.5,51.833333,139,47.7,137,47.65,138.15,61.2,139.2,70.75,139,75.45,141.5,75.45,141.5,75.15,141.75,74.25,142,72.65,140.5,59.95,144.05,53.1,146.25,50.9,150.55,50.7,151.5,50.7,152.45,51.65,156.4,52.15,156.4,50.65,154.05,49.25,148.5,48.45,145,48.15,141.05,52.3,140.35,53.9,139.8,55,139,49.05,137,50.95,142,73.35,142,70.25,153.25,52.5,155.15,49.6,152.3,48.65,148.5,48.2,142.5,49.15,170.9,36.7,168.6,42.7,168.4,50.9,168.55,60.65,163.8,62.7,156.5,68.95,158.9,69.15,164.65,66.3,168.7,64.3,169.05,67.35,172.1625,74.625,178.4,83.45,182.9,83.65,184.8,80.95,185.4,80.65,185.4,76.2,183.4,76.15,182.45,78.9,181.5,81.45,180.4,81.45,177.85,81.45,175.85,78.3125,173.85,75.175,172.4,68.9,171.7,65.85,171.25,63.05,178.1,59.7,178.4,59.7,179.65,59.7,180.4,59.95,180.4,57.7,175.4,57.65,170.8,59.65,170.4,56.35,170.4,53.4,169.1,38.05,168.4,44.65,168.4,56.75,165.8,61.8,155.95,66.15,168.85,66.4,169.825,70.6,174.5,78.65,183.3,76.3,172.9,58.7,170.9,42.4],[3,2,39,39,2,40,3,39,38,3,37,4,37,3,38,4,37,36,1,42,41,42,1,0,1,41,40,4,35,5,36,35,4,1,40,2,5,35,34,66,22,20,22,20,23,20,24,23,25,24,19,24,20,19,33,5,34,26,25,18,26,18,17,17,16,26,26,16,27,5,33,6,18,25,19,43,0,44,0,43,42,44,0,45,33,32,6,46,45,51,47,46,51,47,51,49,6,31,7,67,51,49,45,0,51,13,12,28,27,16,15,28,15,14,27,15,28,14,13,28,8,30,9,30,8,7,9,30,29,11,10,29,28,12,29,10,9,29,12,11,29,7,31,30,70,101,71,101,70,102,71,101,100,69,103,70,109,68,110,69,109,108,109,69,68,103,69,104,68,84,110,103,102,70,104,69,108,72,99,98,72,71,99,72,97,73,97,72,98,73,97,96,104,108,107,74,96,95,74,73,96,74,95,75,104,107,106,71,100,99,86,83,87,85,110,84,88,83,89,83,88,87,89,83,82,90,82,91,82,90,89,91,82,81,86,84,83,94,75,95,127,77,75,77,75,94,94,80,77,93,92,81,81,92,91,93,81,80,128,80,78,80,94,93,129,192,191,189,129,190,129,191,190,210,194,192,194,192,129,189,188,130,130,129,189,187,132,131,131,130,187,134,133,144,187,186,133,175,173,186,132,187,133,133,186,173,130,188,187,135,134,143,139,137,136,142,136,135,143,142,135,141,136,142,211,139,137,140,139,136,141,140,136,171,170,145,134,144,143,133,145,144,173,145,133,145,173,172,170,169,146,171,145,172,146,145,170,146,169,168,173,175,174,185,184,179,185,175,186,185,179,177,177,179,178,176,175,185,185,177,176,212,182,180,155,152,156,152,155,154,183,180,179,167,147,168,147,167,166,166,165,147,147,165,148,148,164,163,164,148,165,148,163,149,149,163,162,157,156,151,158,151,150,151,158,157,156,152,151,161,160,149,160,150,149,150,160,159,150,159,158,161,149,162,168,147,146,214,236,235,223,235,234,222,235,223,214,235,215,216,215,222,219,217,220,222,221,216,216,220,217,215,235,222,223,234,233,224,232,231,225,231,226,227,226,230,230,226,231,227,230,229,216,221,220,223,232,224,232,223,233,248,247,278,249,248,253,247,246,279,270,277,276,245,279,246,278,277,248,279,278,247,248,277,270,251,249,252,249,253,252,269,254,253,254,268,255,268,254,269,255,268,267,269,253,270,248,270,253,272,271,275,271,270,276,275,273,272,266,265,256,264,256,265,256,255,266,262,259,258,263,258,257,258,263,262,263,257,264,266,255,267],[22,66,21,21,66,20,49,47,48,32,6,31,51,67,50,50,67,49,86,84,85,77,127,76,76,127,75,80,128,79,79,128,78,78,80,77,106,104,105,194,210,193,193,210,192,139,211,138,138,211,137,184,179,183,183,180,182,182,212,181,181,212,180,154,152,153,214,236,213,218,219,217,225,231,224,229,227,228,251,249,250,276,271,275,275,273,274,261,262,260,257,264,256,260,262,259],[6,7,8,8,9,10,10,11,12,12,13,14,14,15,16,16,17,18,18,19,20,22,23,24,32,33,34,34,35,36,36,37,38,38,39,40,40,41,42,42,43,44,44,45,46,46,47,48,86,87,88,88,89,90,90,91,92,92,93,94,94,95,96,96,97,98,98,99,100,100,101,102,102,103,104,109,110,85,129,130,131,131,132,133,133,134,135,135,136,137,141,142,143,143,144,145,155,156,157,157,158,159,159,160,161,161,162,163,163,164,165,165,166,167,167,168,169,169,170,171,171,172,173,174,175,176,176,177,178,178,179,180,184,185,186,188,189,190,190,191,192,215,216,217,218,219,220,222,223,224,225,226,227,233,234,235,235,236,213,251,252,253,257,258,259,262,263,264,264,265,266,266,267,268,268,269,270,270,271,272,272,273,274,277,278,279],[0,52,1,1,53,2,2,54,3,3,55,4,4,56,5,5,57,6,24,58,25,25,59,26,26,60,27,27,61,28,28,62,29,29,63,30,30,64,31,51,65,0,68,111,69,69,112,70,70,113,71,71,114,72,72,115,73,73,116,74,74,117,75,80,118,81,81,119,82,82,120,83,83,121,84,84,122,68,104,123,105,106,124,107,107,125,108,108,126,109,139,195,140,140,196,141,145,197,146,146,198,147,147,199,148,148,200,149,149,201,150,150,202,151,151,203,152,152,204,153,154,205,155,173,206,174,186,207,187,187,208,188,194,209,129,214,237,215,220,238,221,221,239,222,227,240,228,229,241,230,230,242,231,231,243,232,232,244,233,245,280,246,246,281,247,247,282,248,248,283,249,249,284,250,253,285,254,254,286,255,255,287,256,261,288,262,276,289,277,279,290,245]]],[138,[154,[227.6,7.9,225.65,4.55,224.4,1.7,222.4,1.65,222.4,4.2,216.1,4.35,214.15,4.45,213.9,4.45,213.9,2.7,210,3.65,207.75,5.45,202.4,5.45,200.3,5.45,196.95,4.8,188.4,4.15,178.65,4.65,177.4,4.65,177.4,4.7,173.65,4.95,167.4,5.15,151.15,5.15,150,4.95,150,4.2,147.85,4.05,146.6,3.85,145.8,3.7,129.5,3.65,129.5,4.15,117.75,3.2,104.5,3.15,95.7,5.05,89.5,6.15,83.4,6.6,87.5,5.45,87.5,3.2,83,3.15,72.5,3.75,68.5,4.4,66.5,4.45,55.8,3.9,57.85,3.55,59.05,3.3,60.5,3.15,60.5,1.2,56,1.15,51.95,2.3,51.15,3.45,48.5,3.45,35.4,1.45,8,0.15,8,2.45,10.4,2.85,10.8,3.15,11,3.3,11,4.25,11,6.4,7.25,7.6,3.5,10,3.75,10.7,3.5,10.7,3.5,12.95,3.75,15.15,3.5,15.15,1.5,15.65,1.5,16.5,3.95,18.1,4.2,22.1,4.55,27.45,4.55,28.65,4.55,29.9,4.5,28.95,4.5,54.45,4.3,57.15,1.75,82.25,0,110.15,0.2,115.1,3.5,120.65,3.5,120.45,3.5,120.4,3.8,118.9,3.9,119.55,3.75,122,10,124.15,11,123.9,11,121.6,12.5,120.9,12.5,127.7,13,129.2,13,129.95,15.5,129.95,15.5,129.65,15.55,128.2,15.65,126.95,19.5,127.15,58.9,124.05,96.3,120.85,99.25,120.7,136.55,120.7,143,121.15,164.3,121.2,166.4,121.35,175.05,122.75,184.4,124.2,184.4,124.45,184.1,125.3,184.9,126.75,198.9,128.65,214.4,128.65,214.4,128.5,217,128.2,219.1,128,218.9,132.45,220.9,132.45,220.9,132.15,221.6,127.75,225.9,126.95,225.9,124.7,222.1,124.1,226.8,63.15,228.9,15.15,229.9,15.15,229.9,13.2,228.9,13.15,228.9,13.05,225.4,9.9,225.4,9.7,226.85,12.2,226.9,13.1,225.75,13.05,225.65,12.35,225.4,10.7,225.9,15,226.05,15,226.45,15,226.85,15.05,226.7,19.05,226.15,29.15,225.3,42.85,224.9,46.15,224.9,40.2,225.4,37.65,225.4,15.9,225.85,15.65,220.4,8.7,220.4,8.4,222.35,8.2,222.35,9.45,222.3,10.4,220.95,9,209.9,9.25,210.2,9.3,210.55,9.45,209.8,9.65,209,9.8,206.55,9.45,203.6,9,202.3,8.8,208.35,8.85,211.4,14.65,210.65,15.35,210.4,16.95,213.4,17.15,214.3,16.45,218.4,16.2,219.15,39.05,219.9,48.25,219.9,57.65,219.9,72.05,219.15,78.6,218.4,94,219.4,123.6,215.85,122.95,213.9,122.5,206.4,120.7,208.4,117.7,206.15,117.7,204.4,118.55,203.65,118.85,202.45,119.4,201.4,119.4,192.2,119.4,178.85,116.2,164.9,112.65,151.5,112.65,151.5,112.95,142.55,112.55,141,112.15,121.55,111.95,119,111.65,96,111.65,96,111.7,85.3,112.45,41.05,112.45,38.5,112.15,20.5,112.2,20.5,114.45,28,114.7,26.35,115.3,22.7,115.5,16.25,115.85,15.95,115.9,14.75,95.6,13,69.95,13,21.65,12.85,20.45,12.75,18.95,16.6,19,15,20.5,15.2,21.5,18.5,22.65,48,22.65,49.8,22.2,64,22.15,75.95,19.5,81.4,18.2,84.5,18.15,84.8,18,93.2,17.8,97.4,17.7,101.5,17.65,119.2,16.1,128.5,14.9,144.5,14.65,144.95,14.5,156.75,14.3,159.5,14.25,162.3,14.25,168.3,14.9,174.65,16.1,182.7,17.6,190.15,19.45,195.9,19.45,195.9,17.15,187.15,16.75,182.5,15.75,172.85,13.85,174,13.7,178.05,13.7,190.9,14.65,220.4,16.4,220.4,16.3,221.15,16.25,221.55,16.2,221.9,16.2,221.9,19.9,220.95,20.5,220.6,20.9,220.4,20.9,202.2,12.45,199.9,12.45,200.65,12.3,201.35,12.35,192.65,9.45,184.4,9.45,182.75,9.1,181.35,8.8,186.7,8.95,222.05,75.45,222.05,74.3,222.3,73.45,222.4,73.45,222.4,74.65,222.05,75.65,217.9,125.9,213.15,125.95,196.4,122.4,197.4,122.2,207.5,122.55,194.95,124.4,196.45,124.9,198.65,126.15,198.15,126.4,195.1,126.45,190.9,126.45,188.65,125.45,188.2,125.25,186.4,123.9,186.4,123.7,192.4,123.55,141.8,7.2,145.9,7.5,147.2,7.8,149.3,8.35,145.65,8.7,144.9,8.7,143.7,8.7,127.8,7.75,134.5,7.65,135.35,7.5,139.95,7.2,119.4,13.45,107.25,14.45,86,14.65,80.7,15.8,77.85,15.9,72.05,16,72.55,15.85,73.15,15.7,81.65,13.25,85,13.65,113,13.65,124.3,12.95,71.5,12.65,73.55,12.65,75.75,12.8,72.6,13.65,68.65,14.3,61.65,15.45,57.05,15.45,55.55,15.45,49.8,14.65,47.95,14.4,49,14.2,50.1,14,53,14.15,53.3,14,56.7,13.8,58.4,13.7,60,13.65,60.25,13.45,61.9,12.7,71.2,18.3,66.15,19.5,62.75,19.95,48.5,20.15,46.55,20.45,20,20.45,19.3,20.2,21.8,19.65,24.85,19.05,54,19.15,54.75,18.9,57.25,18.4,52.5,10.2,52.25,10.5,44.75,10.55,44.1,10.35,43.8,10.2,41,15.75,47.45,16.55,50.8,16.9,35.1,16.95,37.9,16.35,36.75,7.9,36.45,7.9,34.25,7.4,33.8,7.2,37.5,7.2,37.5,7.4,23.5,8.2,25.25,8.2,29,8.95,25.6,9.5,23.5,9.9,21.75,9.9,22.5,9.65,26,12.15,27.1,11.5,29.5,11.1,26.35,12.55,26.65,12.55,26.85,12.6,26.95,12.75,26.05,12.6,24.5,12.4,29.7,15.35,22.65,16.95,12.75,16.95,12.7,16.95,12.65,16.9,12.65,16.05,22.5,16.15,31.8,14.8,32.35,14.85,15,3.4,14.75,3.2,22.05,3.2,24.8,3.45,19.05,3.75,12.35,9.2,10.5,9.15,10.5,10.6,8.3,9.95,8.75,9.7,12.5,7.95,12.5,8.2,12.55,8.65,19.55,7.65,18.55,7.2,19.25,7.2,20.55,7.45,15.8,8.7,15.9,8.7,16.5,9.15,17.75,9.9,16.3,9.9,9.5,16.4,9.5,16,10.5,16,10.5,16.55,6.5,15.2,6.05,15.2,6,13.65,6,12,10.5,12.95,10.5,14.1,6.5,14.15,6.25,24.45,6.1,21.9,6.05,18.1,9,18.2,10.5,18.85,10.45,26.65,10.3,31.45,10,31.1,9.8,27.45,12.55,14.05,12.55,13.2,14.05,13.35,20.5,13.95,54.75,119.4,60.5,119,67.3,118.7,65.75,118.9,37.8,122.05,20,124.5,15.75,124.95,15.9,120.9,36,120.65,7.05,103.6,6.95,107.4,6.7,114.3,6.25,118.9,6,118.9,6,114.4,12.5,116.5,11.05,116.95,11.1,103.75,11.5,96.95,12.5,101.15,2,111.9,2,104.95,3.45,88.7,5,76.45,4.45,87.9,97.5,118.65,103.05,118.2,131.25,118.45,218.4,4.25,211.8,2.2,193.6,4.15,181.55,4.15,124.15,3.65,86.3,6.35,85.25,6.1,76,3.15,66.5,4.2,56.25,3.85,52.8,1.15,42.6,2.4,21.15,-0.45,3.5,8.8,3.5,10.35,3.6,13.9,1.8,15.15,1.5,17.9,4.05,19.9,0,99.4,0,113.75,0.9,119.55,4.55,124.15,11.25,124.15,12.05,121.15,22.9,127.15,183.7,124.15,184,126.1,187.45,128.55,218.2,128.1,218.9,130.9,221.25,130.1,224.15,127.4,223.85,124.35,224.65,103.85,228.7,27.5,228.9,10.45,225.8,15.7,225.9,15.55,221.6,9.5,220.7,8.8,210.9,15.05,210.15,16.05,218.4,29.8,218.4,85.2,210.4,121.6,208.85,119.95,166.7,112.85,87.05,112.2,18.4,115.65,16.1,115.85,15.75,111,13.6,77.35,15,19.8,15,21.35,15.6,21.7,70.15,20.95,77.95,19.05,110.85,17,126.6,15.35,175.7,14.35,173.4,13.8,180.3,13.95,221.35,20.05,202.3,123.55,143.2,7.4,109.6,14.1,84.2,14.95,78.25,14.5,83.3,13.45,121.7,13.2,48.85,14.5,51.9,14.2,52.35,10.35,43.55,16.1,49.2,16.75,28.3,9,23.5,8.65,26.4,12.5,26.6,12.65,25.6,16.15,26.2,15.75,32.1,14.85,31,15.1,9.4,10.15,10.35,9.05,17.25,9.65,7.7,12.5,9.65,24.95,13.25,13.3,16.5,13.6,53.2,119.95,15.85,122.5,48,120.15,6.9875,105.375,6.643164,110.035352,11.7,116.7,11.8,98.45,11.116667,9.65,3.583333,11.45,14.666667,129.85,23,113.783333,86,3.933333,177.816667,4.666667,223.066667,2.516667,229.566667,14.5,193.983333,18.683333,155.966667,112.75,220.233333,132.35],[51,49,375,52,375,53,375,52,51,54,53,375,54,374,55,49,376,375,384,383,55,55,383,56,386,385,391,391,379,386,384,55,374,546,381,379,374,378,388,388,378,389,374,388,392,377,390,378,48,377,376,389,378,390,377,349,390,391,374,392,392,388,393,349,355,390,377,350,349,388,394,393,350,377,351,374,391,384,376,49,48,547,60,58,58,57,56,58,403,60,58,56,403,404,403,382,382,403,56,60,403,402,401,65,61,402,401,61,402,61,60,417,381,379,354,394,387,353,364,354,364,353,352,394,354,419,418,379,395,354,364,419,404,381,417,398,405,416,417,379,418,394,419,418,419,364,371,404,382,381,346,351,377,373,345,344,347,47,337,358,345,373,352,357,356,352,351,357,357,351,358,338,343,337,361,358,362,337,336,338,358,351,346,342,373,344,336,335,338,47,347,48,377,48,346,39,46,45,47,46,333,39,45,44,40,44,41,333,46,39,317,333,39,315,334,333,319,317,39,39,44,40,302,37,36,360,358,361,334,314,313,335,312,311,313,312,334,372,371,362,341,365,373,342,344,343,310,339,311,311,339,338,372,358,373,338,335,311,366,365,329,316,333,317,318,317,319,37,302,38,320,319,39,38,320,39,315,333,316,332,309,308,305,295,306,305,297,296,308,307,332,340,310,309,314,334,315,343,338,342,303,302,36,305,296,295,64,62,65,66,65,408,407,66,408,68,67,415,67,66,407,408,65,409,409,65,401,73,72,443,69,68,415,201,444,443,413,71,69,72,71,202,67,407,415,400,396,410,368,367,205,399,369,411,416,370,398,368,411,369,415,414,69,411,203,412,411,410,399,202,443,72,368,205,411,414,413,69,410,409,400,202,71,413,75,74,440,74,73,441,434,440,429,442,73,443,440,434,75,429,444,438,73,442,441,75,434,79,78,77,75,79,433,80,80,433,81,78,75,79,430,429,437,437,436,430,437,429,438,201,439,438,439,201,200,429,440,444,430,436,431,432,84,82,84,432,436,85,436,435,85,84,436,432,431,436,82,81,432,85,435,427,438,444,201,205,204,411,327,206,366,327,366,328,358,372,362,365,341,329,362,371,363,366,329,328,342,341,373,208,206,209,208,207,206,209,206,327,339,310,340,340,309,330,330,309,331,331,309,332,323,322,212,322,321,212,307,306,321,412,203,413,435,200,427,92,86,426,200,199,427,197,427,198,427,426,85,426,425,93,87,90,88,90,87,91,548,90,88,424,94,93,91,87,86,92,91,86,443,202,201,549,196,194,198,427,199,196,193,428,428,197,196,420,428,192,93,425,424,423,94,424,422,95,94,422,421,192,192,421,420,212,321,213,204,203,411,306,295,321,295,294,213,550,35,33,286,28,27,33,32,35,299,32,31,287,26,288,30,29,300,289,288,26,301,28,286,32,304,36,24,23,280,18,17,236,551,17,15,279,25,280,280,23,281,281,21,282,21,281,23,18,235,19,255,17,15,297,304,298,36,304,303,304,32,298,286,221,301,220,290,301,222,285,223,31,30,299,215,293,216,221,220,301,220,291,290,285,221,286,219,218,291,298,32,299,285,284,223,223,283,282,225,19,226,235,18,236,255,254,237,15,14,255,253,237,254,17,255,237,20,224,282,224,223,282,19,227,226,224,20,225,235,228,227,235,227,19,283,223,284,234,229,228,256,255,14,36,35,32,13,252,14,12,249,13,157,156,10,10,156,11,9,149,10,11,156,12,249,252,13,14,252,256,156,249,12,157,10,149,9,150,149,248,155,154,9,7,150,7,6,151,7,151,150,552,4,2,6,5,151,2,1,4,144,5,4,5,143,151,162,158,151,145,1,125,125,1,0,1,145,4,148,163,143,158,153,152,162,151,143,158,152,151,125,146,145,130,147,124,126,125,0,124,147,146,163,148,147,238,252,249,153,158,154,251,156,248,158,161,159,154,158,248,156,251,250,129,147,130,128,243,147,123,127,126,127,122,134,123,126,0,128,131,243,133,127,134,135,134,119,134,122,119,553,121,119,132,128,133,237,253,238,141,131,142,294,293,214,292,216,293,292,217,216,292,218,217,220,219,291,214,213,294,191,190,445,295,213,321,228,235,234,233,232,230,554,232,230,233,230,229,234,233,229,97,447,186,185,98,186,555,184,182,98,185,184,182,99,184,181,100,182,95,445,96,445,95,191,99,182,100,102,181,277,276,103,102,103,105,104,105,103,276,276,275,105,102,101,181,100,181,101,278,265,268,265,278,180,270,265,264,265,269,268,266,179,178,266,180,179,277,181,180,274,273,105,274,105,275,272,106,273,265,270,269,273,106,105,267,266,178,278,277,180,191,95,422,147,241,240,240,163,147,240,239,163,163,247,164,161,158,162,138,166,165,167,166,118,140,246,244,244,246,245,140,247,246,242,147,243,136,135,119,247,140,164,118,137,119,242,241,147,258,167,259,138,165,164,260,167,118,118,138,137,119,137,136,138,118,166,261,260,118,163,162,143,167,258,257,173,178,177,173,177,176,173,172,267,175,173,176,178,173,267,171,263,172,108,264,109,107,264,108,263,171,170,263,110,109,267,172,263,270,264,106,262,169,168,114,263,170,257,168,167,169,261,117,262,261,169,261,118,117,170,117,114,111,110,113,113,110,114,556,113,111,115,114,117,110,263,114,131,141,243,304,297,305],[50,51,49,385,391,384,381,546,380,380,546,379,375,54,374,391,379,395,387,354,390,388,394,387,60,547,59,59,547,58,383,56,382,64,62,63,62,65,61,400,397,406,401,409,400,395,418,394,406,397,405,405,417,404,398,405,397,417,405,416,355,390,354,397,400,396,356,352,364,347,48,346,346,358,345,348,337,347,343,337,348,333,47,337,44,41,43,43,41,42,302,38,320,335,312,334,360,358,359,364,371,363,321,307,332,71,69,70,399,370,398,396,410,399,370,399,369,416,370,419,203,413,202,206,367,205,441,74,440,77,75,76,434,79,433,433,81,432,84,82,83,86,426,85,367,206,366,326,210,325,327,209,326,371,419,370,330,341,329,325,210,324,211,324,210,210,326,209,212,323,211,324,211,323,341,330,340,435,200,439,90,548,89,89,548,88,93,426,92,196,549,195,195,549,194,193,428,192,194,196,193,423,94,422,428,197,427,192,422,191,35,550,34,34,550,33,29,300,28,27,287,26,300,30,299,287,27,286,26,289,25,25,280,24,17,551,16,16,551,15,22,23,21,21,282,20,20,225,19,279,25,289,222,285,221,301,28,300,237,17,236,156,248,155,253,238,252,4,552,3,3,552,2,144,5,143,145,4,144,8,9,7,125,146,124,250,156,249,249,238,248,158,248,238,123,127,122,122,119,121,128,133,127,132,128,131,121,553,120,120,553,119,129,147,128,215,293,214,292,218,291,189,446,188,190,446,189,447,188,446,446,190,445,232,554,231,231,554,230,187,447,186,184,555,183,183,555,182,188,447,187,445,96,447,98,186,97,99,184,98,97,447,96,277,102,276,266,180,265,271,106,270,272,106,271,161,159,160,239,163,247,139,164,138,244,141,243,141,244,140,140,164,139,260,167,259,175,173,174,107,264,106,264,109,263,170,117,169,257,168,262,113,556,112,112,556,111,116,117,115],[0,1,2,5,6,7,9,10,11,11,12,13,17,18,19,22,23,24,29,30,31,36,37,38,40,41,42,45,46,47,50,51,52,52,53,54,54,55,56,66,67,68,68,69,70,71,72,73,77,78,79,79,80,81,86,87,88,90,91,92,94,95,96,99,100,101,102,103,104,107,108,109,125,126,127,129,130,124,132,133,134,134,135,136,136,137,138,145,146,147,149,150,151,151,152,153,153,154,155,156,157,149,161,162,163,164,165,166,166,167,168,170,171,172,175,176,177,177,178,179,179,180,181,184,185,186,196,197,198,203,204,205,215,216,217,217,218,219,222,223,224,224,225,226,226,227,228,228,229,230,232,233,234,239,240,241,241,242,243,245,246,247,250,251,248,253,254,255,255,256,252,257,258,259,260,261,262,266,267,263,268,269,270,272,273,274,274,275,276,277,278,268,280,281,282,282,283,284,284,285,286,287,288,289,293,294,295,295,296,297,302,303,304,304,305,306,306,307,308,308,309,310,311,312,313,314,315,316,316,317,318,318,319,320,321,322,323,327,328,329,330,331,332,335,336,337,341,342,338,343,344,345,349,350,351,352,353,354,356,357,358,360,361,362,367,368,369,375,376,377,377,378,374,385,386,379,388,389,390,391,392,393,401,402,403,407,408,409,409,410,411,411,412,413,413,414,415,420,421,422,424,425,426,430,431,432,436,437,438,441,442,443,443,444,440],[4,448,5,8,449,9,13,450,14,14,451,15,27,452,28,31,453,32,32,454,33,35,455,36,38,456,39,39,457,40,44,458,45,47,459,48,48,460,49,56,461,57,57,462,58,60,463,61,62,464,63,64,465,65,65,466,66,73,467,74,74,468,75,75,469,76,81,470,82,82,471,83,84,472,85,93,473,94,101,474,102,104,475,105,105,476,106,109,477,110,110,478,111,113,479,114,114,480,115,116,481,117,117,482,118,118,483,119,123,484,0,141,485,142,142,486,131,147,487,148,148,488,143,158,489,159,159,490,160,163,491,164,168,492,169,172,493,173,173,494,174,181,495,182,190,496,191,198,497,199,199,498,200,200,499,201,201,500,202,206,501,207,207,502,208,208,503,209,212,504,213,213,505,214,219,506,220,220,507,221,234,508,235,235,509,236,237,510,238,244,511,245,264,512,265,279,513,280,290,514,291,292,515,293,297,516,298,298,517,299,301,518,290,310,519,311,313,520,314,333,521,334,338,522,339,339,523,340,351,524,352,355,525,349,358,526,359,362,527,363,365,528,366,371,529,372,372,530,373,373,531,365,381,532,382,383,533,384,393,534,394,403,535,404,415,536,407,417,537,418,418,538,419,423,539,424,426,540,427,428,541,420,429,542,430,434,543,429,435,544,436,438,545,439]],[155,[57.95,44.15,46,43.9,43.15,47.75,42,53.65,43.95,59.65,49.9375,62.775,60,64.15,63.1,65.4,63.75,67.35,64,68.15,64,71.9,64,74.05,63.6375,75.6875,63.275,77.325,62.55,78.45,59.7,82.95,51.3,82.95,46.325,82.95,43,79.5125,39.675,76.075,38,69.2,35.5,69.15,35.5,71.4,35.55,71.5,36.2,74.55,38.25,79.15,45.5375,83.65,58,85.15,64,81.8125,66,71.8,65.8,66.55,63,61.7,58,61.65,54.65,61.9,51.925,61.0875,49.2,60.275,47.1,58.4,44,55.7,44,53.5,44,51.3,45.5,48.95,47.8,45.2,52.55,45.2,54.75,45.2,57.15,46.8,59,48.05,59.5,48.95,59.5,49.4,58.5,49.7,58.5,52.15,64.5,52.15,64.5,51.7,52.55,41.6,44.4,44.45,42,50.85,42,57.7,45.925,61.65,53.95,63.9,36.8,77.3,40.6,82.15,50.475,85.15,62,85.15,66,78.475,66,67.5,65.3,64,63.05,46.55,36.333333,69.916667,62.5,52,112.1,51.65,112.05,53.05,103,51.15,100.3,53.25,100,55.75,101.325,61.8,105.3,67.05,115,75.15,115,76.45,116.8,76.55,117.3,76.95,119.5,76.95,119.5,75.55,124,67.35,127.5,54.9,126.35,50.9,114,48.15,115.75,50.4,119.5,50.2,120.95,50.95,122.7,52.1,125.5,53.95,125.5,54.9,125.5,57.2,121.6,64.85,118.8,70.3,116.8,72.65,109.4,67,105.7,62.8375,102,58.675,102,56,102,54.95,102.5,54.4,103.6,53.2,107,53.2,109.95,53.2,111.15,56.2,115,60.65,115,60.2,114.8,54.65,114.35,54.2,114.65,53.35,115.3,51.35,112.05,52,109,52,100.8,52.35,100,53.8,100,58.975,102.65,64.625,108.05,69.6,121.45,73.05,127.5,59.4,127.5,52.1,123.5,48,112.4,50.25,112.55,59.75,115.75,56,114.65,54.4,114.5,53.85,115.6,76.05,118.766667,76.483333,81,41.7,81.3,41.95,81.5,42.4,82.8,45.25,83.75,52.75,82.35,53,80.2,53.3,76.1,53.9,73.5,54.2,73.5,56.45,74.8,56.55,77,56.65,78,56.4,79.4,55.8,82.7,55.35,83.4,55.25,84,55.2,86.1,70.7,93.325,85.8875,99.16875,89.946875,106.5,91.65,109.45,85.8,110,79.75,109.75,76.4,106.5,73.15,106.5,73.9,107.25,76.8,108,79.05,108,79.7,108,81.9,107,84.95,106.25,87.2,105.2,88.325,104.15,89.45,102.8,89.45,99.875,89.45,97.3375,87.3375,94.8,85.225,92.65,81,89.8,75.5,87,64.45,86.4,62.1,86.2,56.9,86.15,55.85,86.15,54.9,87.5,54.65,87.65,54.5,90.1,54.3,91.3,54.2,92.5,54.15,92.85,53.8,100,53.15,100,51.2,95.5,51.15,95.25,51.4,91,51.65,90.75,51.9,86,52.15,85.8,47.9,80,35.65,80,36.7,79.35,38.7,78.55,41,77.5,42.2,77.5,44.45,80,44.65,76.2,56.65,78.25,56.65,85.15,66.5,88.225,80.65,95.875,88.50625,102.4625,91.3875,108.65,89.5,110,83.4,110,77.2,109.1,74,106.5,74.6,87.25,54.7,85.85,48.7,84.9,37,81,42.65,78.333333,43.766667,73.933333,55.733333,98.5,51.833333,139,47.7,137,47.65,138.15,61.2,139.2,70.75,139,75.45,141.5,75.45,141.5,75.15,141.75,74.25,142,72.65,140.5,59.95,144.05,53.1,146.25,50.9,150.55,50.7,151.5,50.7,152.45,51.65,156.4,52.15,156.4,50.65,154.05,49.25,148.5,48.45,145,48.15,141.05,52.3,140.35,53.9,139.8,55,139,49.05,137,50.95,142,73.35,142,70.25,153.25,52.5,155.15,49.6,152.3,48.65,148.5,48.2,142.5,49.15,170.9,36.7,168.6,42.7,168.4,50.9,168.55,60.65,163.8,62.7,156.5,68.95,158.9,69.15,164.65,66.3,168.7,64.3,169.05,67.35,172.1625,74.625,178.4,83.45,182.9,83.65,184.8,80.95,185.4,80.65,185.4,76.2,183.4,76.15,182.45,78.9,181.5,81.45,180.4,81.45,177.85,81.45,175.85,78.3125,173.85,75.175,172.4,68.9,171.7,65.85,171.25,63.05,178.1,59.7,178.4,59.7,179.65,59.7,180.4,59.95,180.4,57.7,175.4,57.65,170.8,59.65,170.4,56.35,170.4,53.4,169.1,38.05,168.4,44.65,168.4,56.75,165.8,61.8,155.95,66.15,168.85,66.4,169.825,70.6,174.5,78.65,183.3,76.3,172.9,58.7,170.9,42.4],[3,2,39,39,2,40,3,39,38,3,37,4,37,3,38,4,37,36,1,42,41,42,1,0,1,41,40,4,35,5,36,35,4,1,40,2,5,35,34,66,22,20,22,20,23,20,24,23,25,24,19,24,20,19,33,5,34,26,25,18,26,18,17,17,16,26,26,16,27,5,33,6,18,25,19,43,0,44,0,43,42,44,0,45,33,32,6,46,45,51,47,46,51,47,51,49,6,31,7,67,51,49,45,0,51,13,12,28,27,16,15,28,15,14,27,15,28,14,13,28,8,30,9,30,8,7,9,30,29,11,10,29,28,12,29,10,9,29,12,11,29,7,31,30,70,101,71,101,70,102,71,101,100,69,103,70,109,68,110,69,109,108,109,69,68,103,69,104,68,84,110,103,102,70,104,69,108,72,99,98,72,71,99,72,97,73,97,72,98,73,97,96,104,108,107,74,96,95,74,73,96,74,95,75,104,107,106,71,100,99,86,83,87,85,110,84,88,83,89,83,88,87,89,83,82,90,82,91,82,90,89,91,82,81,86,84,83,94,75,95,127,77,75,77,75,94,94,80,77,93,92,81,81,92,91,93,81,80,128,80,78,80,94,93,129,192,191,189,129,190,129,191,190,210,194,192,194,192,129,189,188,130,130,129,189,187,132,131,131,130,187,134,133,144,187,186,133,175,173,186,132,187,133,133,186,173,130,188,187,135,134,143,139,137,136,142,136,135,143,142,135,141,136,142,211,139,137,140,139,136,141,140,136,171,170,145,134,144,143,133,145,144,173,145,133,145,173,172,170,169,146,171,145,172,146,145,170,146,169,168,173,175,174,185,184,179,185,175,186,185,179,177,177,179,178,176,175,185,185,177,176,212,182,180,155,152,156,152,155,154,183,180,179,167,147,168,147,167,166,166,165,147,147,165,148,148,164,163,164,148,165,148,163,149,149,163,162,157,156,151,158,151,150,151,158,157,156,152,151,161,160,149,160,150,149,150,160,159,150,159,158,161,149,162,168,147,146,214,236,235,223,235,234,222,235,223,214,235,215,216,215,222,219,217,220,222,221,216,216,220,217,215,235,222,223,234,233,224,232,231,225,231,226,227,226,230,230,226,231,227,230,229,216,221,220,223,232,224,232,223,233,248,247,278,249,248,253,247,246,279,270,277,276,245,279,246,278,277,248,279,278,247,248,277,270,251,249,252,249,253,252,269,254,253,254,268,255,268,254,269,255,268,267,269,253,270,248,270,253,272,271,275,271,270,276,275,273,272,266,265,256,264,256,265,256,255,266,262,259,258,263,258,257,258,263,262,263,257,264,266,255,267],[22,66,21,21,66,20,49,47,48,32,6,31,51,67,50,50,67,49,86,84,85,77,127,76,76,127,75,80,128,79,79,128,78,78,80,77,106,104,105,194,210,193,193,210,192,139,211,138,138,211,137,184,179,183,183,180,182,182,212,181,181,212,180,154,152,153,214,236,213,218,219,217,225,231,224,229,227,228,251,249,250,276,271,275,275,273,274,261,262,260,257,264,256,260,262,259],[6,7,8,8,9,10,10,11,12,12,13,14,14,15,16,16,17,18,18,19,20,22,23,24,32,33,34,34,35,36,36,37,38,38,39,40,40,41,42,42,43,44,44,45,46,46,47,48,86,87,88,88,89,90,90,91,92,92,93,94,94,95,96,96,97,98,98,99,100,100,101,102,102,103,104,109,110,85,129,130,131,131,132,133,133,134,135,135,136,137,141,142,143,143,144,145,155,156,157,157,158,159,159,160,161,161,162,163,163,164,165,165,166,167,167,168,169,169,170,171,171,172,173,174,175,176,176,177,178,178,179,180,184,185,186,188,189,190,190,191,192,215,216,217,218,219,220,222,223,224,225,226,227,233,234,235,235,236,213,251,252,253,257,258,259,262,263,264,264,265,266,266,267,268,268,269,270,270,271,272,272,273,274,277,278,279],[0,52,1,1,53,2,2,54,3,3,55,4,4,56,5,5,57,6,24,58,25,25,59,26,26,60,27,27,61,28,28,62,29,29,63,30,30,64,31,51,65,0,68,111,69,69,112,70,70,113,71,71,114,72,72,115,73,73,116,74,74,117,75,80,118,81,81,119,82,82,120,83,83,121,84,84,122,68,104,123,105,106,124,107,107,125,108,108,126,109,139,195,140,140,196,141,145,197,146,146,198,147,147,199,148,148,200,149,149,201,150,150,202,151,151,203,152,152,204,153,154,205,155,173,206,174,186,207,187,187,208,188,194,209,129,214,237,215,220,238,221,221,239,222,227,240,228,229,241,230,230,242,231,231,243,232,232,244,233,245,280,246,246,281,247,247,282,248,248,283,249,249,284,250,253,285,254,254,286,255,255,287,256,261,288,262,276,289,277,279,290,245]]],[140,[152,[136,144.75,135.25,143.25,119,143,119,143.5,118,144,118,159.75,136,159.75,130,154.75,212,44.875,212,43.5,224,42.75,224,26.25,219.35,22.7,213.1,15.9,203.25,5.25,187,5,187.9,7.45,188.8,9.15,188.7,10.05,188.35,13,178,14.25,176.55,16.325,165,16,157.5,19.8,157.375,20.15,147,20,146.7,20.45,144.55,19.95,141,19,111,19,110.3,22.15,100,22,100,22.8,98.95,24.4,97.5,27,80,27,80.975,29.325,75.864844,28.608789,67.3,27.35,33,24,33.258008,25.111523,33.275,27.075,28,27,28,27.3,27,28.95,26,31.5,19.45,35.25,19,41,22.6,59,24.16543,63.543359,27.075,72.075,21,72,21.5,74.85,21.15,80.25,20.95,89.15,30.75,106.75,43.65,106.65,45.5,108.25,45.95,108.6,46.1,109.3,48.25,109.75,67.75,109.75,67.95,104.85,79,105,79,98.85,79.515625,99.78125,80,100.75,80.4,100.8,101.65,105.4,132,109,132,101.925,137,102,137,101.75,139.55,101.75,199,118,199,117.7,202,117.2,203.5,116.95,205,116.75,205,115.1,206,111.8,207,105.75,206.4,100.25,203.25,92.25,200.025,92.2,200.091211,90.020898,200.25,88.75,218,88.75,218,73.75,216.613281,70.927148,215.75,68.95,220,69,220,53.25,217.574219,51.408203,203.55,5.55,187,5.7,177.199219,15.386719,170.720508,14.94707,159,16.3,157.433008,19.947266,142,19.25,110.474414,20.530859,97.7,26.25,80,27.940234,49.35,24.75,26,30.65,20.75,31.9,19,36.4,19,48.4,20.8,86.65,21.6,100.05,46.45,109.8,67.892969,107.605664,118,108.9,148.85,112.7,207,108.5,206.9,103.2,205.35,94.35,75.316667,102.9,135.333333,101.891667,220,37.5,218.583333,63.733333,212.083333,83.75,257,84,257.1,83.9,257.1,67.225,242,67,242,67.35,240,68,240,83.75,73,-43,73,-26.25,89,-26,89,-26.5,90,-27,90,-42.75],[7,0,5,0,5,3,40,39,38,44,43,41,45,44,41,47,46,45,48,45,41,45,48,47,49,48,38,28,70,30,32,30,33,33,30,34,49,38,50,40,38,41,64,38,37,64,37,36,48,41,38,36,34,64,70,34,30,53,52,50,53,50,54,54,50,56,56,55,54,57,56,60,58,60,59,60,58,57,60,56,62,56,50,62,65,64,67,65,67,66,68,67,64,50,38,64,68,34,70,118,64,62,68,64,34,119,72,70,64,62,50,70,27,72,19,21,20,24,22,21,24,23,22,73,26,24,21,8,24,26,72,27,18,17,14,14,17,16,18,14,19,19,14,13,13,9,19,12,9,13,120,11,9,11,9,12,9,21,19,24,8,86,75,73,84,84,73,85,86,85,73,73,24,86,84,81,75,73,75,74,76,79,77,80,79,76,77,79,78,76,75,80,86,89,88,121,92,90,92,90,93,86,90,89,84,82,81,75,81,80,122,88,86,86,8,90,90,8,93,27,70,28],[5,3,4,1,3,0,2,3,1,0,7,6,6,7,5,42,43,41,31,32,30,35,36,34,51,52,50,61,62,60,64,118,63,63,118,62,70,68,69,72,119,71,71,119,70,29,30,28,73,26,72,25,26,24,15,16,14,9,21,8,11,120,10,10,120,9,84,82,83,92,121,91,91,121,90,88,122,87,87,122,86,129,127,128,125,127,124,126,127,125,124,127,123,123,127,129,131,133,130,130,133,135,132,133,131,135,133,134],[2,3,4,11,12,13,16,17,18,18,19,20,25,26,27,31,32,33,36,37,38,39,40,41,42,43,44,48,49,50,51,52,53,55,56,57,57,58,59,64,65,66,66,67,68,74,75,76,76,77,78,78,79,80,84,85,86,88,89,90,92,93,8,126,127,128,132,133,134],[13,94,14,15,95,16,20,96,21,21,97,22,22,98,23,23,99,24,27,100,28,29,101,30,33,102,34,35,103,36,38,104,39,44,105,45,45,106,46,46,107,47,47,108,48,53,109,54,54,110,55,59,111,60,61,112,62,68,113,69,73,114,74,80,115,81,81,116,82,82,117,83]]],[141,[152,[-31,50,-31,65.75,-14,66,-14,50.25,-25.333333,55.333333,-19.666667,60.666667,116.45,141.35,112,142,112,157.75,130.75,157.75,131,156.25,131,141.25,114.75,141.45,120.45,141.1,124.583333,157.25,223,45.85,223.15,43.15,223.25,41.7,223,37.25,219.8,32.1,212,29.25,209.175,29.225,206.05,25.4,195.25,15.25,168.5,12.65,158,17.5,147.5,18.2,146,18.5,146,20,146,20.642187,145.975,21.2,143.55,19.75,132.975,15.6,130.680273,13.680273,128.25,11.25,111,11,111,14.2,109.75,15.4,109,16.1,107,16.45,104.25,17.5,103.025,21.175,85,21,85.6,22.75,67,22,67.95,25.375,66,24.25,62.7,22.4,62,21.25,59.75,21.25,52.95,19.65,40.6,17.2,15,24,15,27.75,13,33.75,13,51.75,21.75,52.5,25.55,59.6,30.75,66.75,35.05,66.925,35.782617,71.084766,36.15,74.25,19,74,18,84.85,18.55,89.75,20.5,96.5,28,102.55,33.9,106.55,35.75,108.75,38.725,108.75,71,113,71.875,110.775,72.75,111.75,80.075,111.875,80.877539,112.286328,81.75,112.75,96.7,112.75,96.65,113,102.25,119.75,134.75,119.75,138.95,117.1,141,114.5,148,114,148,110.325,183,116,183,113.75,184.75,115.75,191.05,115.825,192.279297,116.875781,192.75,117.75,209,118,209,115.975,215,115,215,105.75,216,105.75,216,104.1,216.494727,104.049805,217,104,217,97.5,227,97,227,81.25,222.6,77.1,222.9,68.8,222.75,62.75,219.75,57.25,222.75,51.15,194.15,85.05,194.125,85.05,194.15,85,200.525,72.725,201.3,70.25,201.3,70.2,202.5,71.5,111,49.45,111,43.5,117,43.5,117.933008,43.434961,118.825,43.375,118.4,46.65,117.675,52.6,116.582617,52.014844,115.3,51.3,223.35,38.95,222.3,34,217.1,30.05,207.368555,26.95,201.1,19.5,175.35,12.5,159.2,12.8,150.5,17.8,144.724414,20.385352,139.153906,17.350195,105,16.8,103.164648,18.585352,85,21.738867,78.716992,21.15293,67,23.161328,67.097266,24.876953,44.9,17.75,23.95,15.05,23,55.45,28.35,64.2,18,77,19.3,94.95,22.2,98.7,46.214062,114.060937,71.622656,112.185742,72.294922,111.345508,96.669727,112.873047,96.45,117.05,136.75,119.35,140.6,115.4,160.745898,114.410352,183.709961,115.002539,211.781641,115.7,223.05,64.55,222.15,59.5,222.05,55.65,223,49.35,194.138867,85.027344,201.029492,71.367773,201.862891,70.882031,201.444531,72.072656,113.816602,43.713477,118.619531,44.954883,117.999609,49.794922,113.53418,50.317773,15.916667,46,146.5,18.9,145.666667,112.941667,223.666667,91.916667,203.583333,117.241667,215.666667,105.2,252,52,252,67.75,271,68,271,52.25,258.333333,57.333333,264.666667,62.666667,64,-33,64,-16.25,80,-16.25,80,-32.75,69.333333,-27.333333,74.666667,-21.75],[4,1,3,5,3,1,8,6,10,14,10,8,51,56,53,49,59,50,49,48,47,52,51,53,54,53,56,43,45,44,59,49,46,59,46,45,50,56,51,46,49,47,113,45,43,41,40,39,41,39,38,33,37,36,117,37,33,38,37,117,114,41,115,114,43,41,115,38,116,118,30,119,115,41,38,38,117,116,60,45,113,167,56,54,57,56,59,59,45,60,50,59,56,65,64,66,67,66,61,66,64,61,61,71,69,61,113,71,70,69,71,61,69,67,120,76,113,119,76,120,73,71,113,60,113,61,74,73,76,78,77,76,113,76,73,76,119,81,121,120,113,118,117,30,31,117,32,32,117,33,111,25,24,22,111,24,108,119,30,28,26,29,168,28,26,26,30,29,26,25,30,25,111,30,117,31,30,24,23,22,111,109,30,104,111,21,19,18,17,16,20,17,17,20,19,21,16,15,104,112,111,112,104,103,15,105,104,103,102,112,21,15,104,112,102,101,21,111,22,169,83,81,119,83,81,87,85,107,107,85,83,83,119,107,107,119,108,80,79,81,91,89,88,88,87,91,79,76,81,98,108,109,109,112,98,93,106,98,170,100,98,98,101,100,112,101,98,91,87,93,171,91,89,96,95,98,172,95,93,93,98,95,87,106,93,109,108,30,33,36,34,177,174,176,178,176,174,183,180,182,184,182,180],[1,4,0,0,4,3,3,5,2,2,5,1,8,6,7,10,14,9,9,14,8,11,6,10,42,43,41,114,43,113,35,36,34,56,167,55,55,167,54,59,57,58,64,61,63,62,63,61,69,67,68,73,71,72,76,74,75,79,76,78,28,168,27,27,168,26,21,16,20,111,109,110,83,169,82,82,169,81,85,83,84,107,87,106,87,85,86,106,98,108,100,170,99,99,170,98,98,96,97,93,91,92,91,171,90,90,171,89,95,172,94,94,172,93,174,177,173,173,177,176,176,178,175,175,178,174,180,183,179,179,183,182,182,184,181,181,184,180],[15,16,17,28,29,30,32,33,34,35,36,37,37,38,39,46,47,48,48,49,50,52,53,54,59,60,61,66,67,68,73,74,75,87,88,89,95,96,97,100,101,102,115,116,117,119,120,121],[6,12,7,11,13,6,17,122,18,18,123,19,19,124,20,21,125,22,22,126,23,23,127,24,24,128,25,25,129,26,30,130,31,31,131,32,39,132,40,40,133,41,42,134,43,43,135,44,44,136,45,45,137,46,50,138,51,51,139,52,56,140,57,57,141,58,62,142,63,64,143,65,65,144,66,69,145,70,70,146,71,71,147,72,76,148,77,77,149,78,79,150,80,80,151,81,83,152,84,85,153,86,91,154,92,102,155,103,103,156,104,104,157,105,105,158,15,107,159,108,109,160,110,111,161,112,112,162,109,114,163,115,117,164,118,118,165,119,121,166,113]]],[142,[152,[-31,50,-31,65.75,-14,66,-14,50.25,-25.333333,55.333333,-19.666667,60.666667,116.45,141.35,112,142,112,157.75,130.75,157.75,131,156.25,131,141.25,114.75,141.45,120.45,141.1,124.583333,157.25,252,52,252,67.75,271,68,271,52.25,258.333333,57.333333,264.666667,62.666667,64,-33,64,-16.25,80,-16.25,80,-32.75,69.333333,-27.333333,74.666667,-21.75],[4,1,3,5,3,1,8,6,10,14,10,8,19,16,18,20,18,16,25,22,24,26,24,22],[1,4,0,0,4,3,3,5,2,2,5,1,8,6,7,10,14,9,9,14,8,11,6,10,16,19,15,15,19,18,18,20,17,17,20,16,22,25,21,21,25,24,24,26,23,23,26,22],[],[6,12,7,11,13,6]],[153,[223,45.85,223.15,43.15,223.25,41.7,223,37.25,219.8,32.1,212,29.25,209.175,29.225,206.05,25.4,195.25,15.25,168.5,12.65,158,17.5,147.5,18.2,146,18.5,146,20,146,20.642187,145.975,21.2,143.55,19.75,132.975,15.6,130.680273,13.680273,128.25,11.25,111,11,111,14.2,109.75,15.4,109,16.1,107,16.45,104.25,17.5,103.025,21.175,85,21,85.6,22.75,67,22,67.95,25.375,66,24.25,62.7,22.4,62,21.25,59.75,21.25,52.95,19.65,40.6,17.2,15,24,15,27.75,13,33.75,13,51.75,21.75,52.5,25.55,59.6,30.75,66.75,35.05,66.925,35.782617,71.084766,36.15,74.25,19,74,18,84.85,18.55,89.75,20.5,96.5,28,102.55,33.9,106.55,35.75,108.75,38.725,108.75,71,113,71.875,110.775,72.75,111.75,80.075,111.875,80.877539,112.286328,81.75,112.75,96.7,112.75,96.65,113,102.25,119.75,134.75,119.75,138.95,117.1,141,114.5,148,114,148,110.325,183,116,183,113.75,184.75,115.75,191.05,115.825,192.279297,116.875781,192.75,117.75,209,118,209,115.975,215,115,215,105.75,216,105.75,216,104.1,216.494727,104.049805,217,104,217,97.5,227,97,227,81.25,222.6,77.1,222.9,68.8,222.75,62.75,219.75,57.25,222.75,51.15,194.15,85.05,194.125,85.05,194.15,85,200.525,72.725,201.3,70.25,201.3,70.2,202.5,71.5,111,49.45,111,43.5,117,43.5,117.933008,43.434961,118.825,43.375,118.4,46.65,117.675,52.6,116.582617,52.014844,115.3,51.3,223.35,38.95,222.3,34,217.1,30.05,207.368555,26.95,201.1,19.5,175.35,12.5,159.2,12.8,150.5,17.8,144.724414,20.385352,139.153906,17.350195,105,16.8,103.164648,18.585352,85,21.738867,78.716992,21.15293,67,23.161328,67.097266,24.876953,44.9,17.75,23.95,15.05,23,55.45,28.35,64.2,18,77,19.3,94.95,22.2,98.7,46.214062,114.060937,71.622656,112.185742,72.294922,111.345508,96.669727,112.873047,96.45,117.05,136.75,119.35,140.6,115.4,160.745898,114.410352,183.709961,115.002539,211.781641,115.7,223.05,64.55,222.15,59.5,222.05,55.65,223,49.35,194.138867,85.027344,201.029492,71.367773,201.862891,70.882031,201.444531,72.072656,113.816602,43.713477,118.619531,44.954883,117.999609,49.794922,113.53418,50.317773,15.916667,46,146.5,18.9,145.666667,112.941667,223.666667,91.916667,203.583333,117.241667,215.666667,105.2],[36,41,38,34,44,35,34,33,32,37,36,38,39,38,41,28,30,29,44,34,31,44,31,30,35,41,36,31,34,32,98,30,28,26,25,24,26,24,23,18,22,21,102,22,18,23,22,102,99,26,100,99,28,26,100,23,101,103,15,104,100,26,23,23,102,101,45,30,98,152,41,39,42,41,44,44,30,45,35,44,41,50,49,51,52,51,46,51,49,46,46,56,54,46,98,56,55,54,56,46,54,52,105,61,98,104,61,105,58,56,98,45,98,46,59,58,61,63,62,61,98,61,58,61,104,66,106,105,98,103,102,15,16,102,17,17,102,18,96,10,9,7,96,9,93,104,15,13,11,14,153,13,11,11,15,14,11,10,15,10,96,15,102,16,15,9,8,7,96,94,15,89,96,6,4,3,2,1,5,2,2,5,4,6,1,0,89,97,96,97,89,88,0,90,89,88,87,97,6,0,89,97,87,86,6,96,7,154,68,66,104,68,66,72,70,92,92,70,68,68,104,92,92,104,93,65,64,66,76,74,73,73,72,76,64,61,66,83,93,94,94,97,83,78,91,83,155,85,83,83,86,85,97,86,83,76,72,78,156,76,74,81,80,83,157,80,78,78,83,80,72,91,78,94,93,15,18,21,19],[27,28,26,99,28,98,20,21,19,41,152,40,40,152,39,44,42,43,49,46,48,47,48,46,54,52,53,58,56,57,61,59,60,64,61,63,13,153,12,12,153,11,6,1,5,96,94,95,68,154,67,67,154,66,70,68,69,92,72,91,72,70,71,91,83,93,85,155,84,84,155,83,83,81,82,78,76,77,76,156,75,75,156,74,80,157,79,79,157,78],[0,1,2,13,14,15,17,18,19,20,21,22,22,23,24,31,32,33,33,34,35,37,38,39,44,45,46,51,52,53,58,59,60,72,73,74,80,81,82,85,86,87,100,101,102,104,105,106],[2,107,3,3,108,4,4,109,5,6,110,7,7,111,8,8,112,9,9,113,10,10,114,11,15,115,16,16,116,17,24,117,25,25,118,26,27,119,28,28,120,29,29,121,30,30,122,31,35,123,36,36,124,37,41,125,42,42,126,43,47,127,48,49,128,50,50,129,51,54,130,55,55,131,56,56,132,57,61,133,62,62,134,63,64,135,65,65,136,66,68,137,69,70,138,71,76,139,77,87,140,88,88,141,89,89,142,90,90,143,0,92,144,93,94,145,95,96,146,97,97,147,94,99,148,100,102,149,103,103,150,104,106,151,98]]],[143,[152,[343.9,242.25,343.9,0,0,0,0,242.25,114.633333,80.75,229.266667,161.5],[4,3,1,5,1,3],[3,4,2,2,4,1,1,5,0,0,5,3],[],[]]],[144,[151,[26,12.85,21.9,9.55,16.85,9.4,15.25,13.35,14.7,16.75,13.7,18,10.95,16.95,8.1,13.95,3.15,13.75,3.15,17.35,12.15,22.25,13.75,22.85,14.3,23.6,15,24.6,15,27,15,34.1,13.75,43.15,12.5,51.95,10.5,59.25,0.65,61.4,0,66.25,0.25,71.75,3.75,76.75,11.25,76.9,13.45,71.95,14.85,68.5,15.75,67.75,17.8,69.15,23.6,73.55,29.65,77.6,47.45,80.65,50.6,79.9,50.6,75.25,49.35,73.3,45.6,73.15,45.6,76.3,42.8,76.75,38.05,77.4,26.55,69.55,15.6,62.1,15.6,59.95,15.6,54.95,17.2,41.5,18.75,23.5,24.95,23.05,26.25,16.45,20.8,15.55,21.9,16.35,21.9,17.05,21.9,17.9,21.7,18.2,21.1,19,18.75,19.3,18.75,16.6,19.35,14.7,19.95,14.9,3.75,66.4,3.75,63.55,7.5,63.4,11.25,63.2,11.25,65.7,11.25,66.9,10.05,69.05,8.1,72.25,6,71.1,5.05,69.95,3.75,68.45,25.8,12.5,15.75,10.2,6.6,20.35,2.75,57.8,0,62.5,0,70.55,0.95,75.1,11.85,75.95,27.3,76.35,35.55,80.65,48.95,80.65,18.75,28.1,26.25,18.6,26.25,13.25,19.35,16.15,8.6,71.4,4.8,15.016667,46.85,74.25,87.15,48.2,86.3,46.7,73.1,44.4,67.45,52.5,63.75,61.2,66.25,70.65,86.85,78.75,91.65,77.5,94.95,74.55,94.95,68.95,91.2,68.95,91.05,71.15,88.6,72.8,85.6,74.85,80.3,74.85,77.75,74.85,73.4,69.85,69.85,65.85,68.7,63.45,79.75,62.45,80.9,61.85,88.7,61.9,88.7,49.75,87.55,49.15,82.45,50.35,84.95,52.05,84.95,55.75,85.1,56.65,85.05,57.2,84,57.55,81.25,58.55,69.35,59.25,69.15,55.45,71.55,52.7,73.7,50.25,76.95,49.55,80.15,48.85,86.65,47,84.45,45.05,71.25,45.6,63.75,59.3,63.75,66.9,71.6,78.75,89,78.75,94.45,76.1,78.4,63.2,84.95,56.05,133.1,46.45,127.5,46.45,118.2,59.85,116.2,66.5,115,70.4,113.7,72.85,110.65,58.05,105,43.95,101.25,43.75,105.35,62.9,112.5,81.75,116.25,81.9,116.25,81.7,116.55,81.65,116.7,81.6,116.85,81.6,118.95,73.65,120.1,68.05,120.95,65.55,124.05,56.05,133.1,50.05,121.05,51.7,118.1,60.1,113.7,66.75,109.9,55.8,102.45,52.8,108.55,74,117.85,78.85,131.233333,47.65,167.9,72.95,171.9,69.7,171.9,60.85,168.75,60.4,167.85,54.15,163.3,47.7,155.75,43.325,148.1,44.4,143.4,52.6,143.1,59.55,143.1,60.1,142.85,62.9,143.7,68.05,157.8,74.85,168.15,65.8,167.75,66.5,163.2,68.65,158.75,70.8,157.8,70.8,151.4,70.8,148.6,66.1,146.85,63.2,146.85,59.7,146.85,56.75,148,53.7,149.3,50.3,151.35,48.95,154.075,47.125,157.1625,49.5,160.25,51.875,163.7,58.45,155.4,59.4,152.35,59.85,151.85,59.85,150.9,59.85,149.4,59.65,148.1,59.4,148.1,63.6,156.2,63.75,159.55,63.3,163.05,62.8,168.15,62.7,169.8,72,169.45,57.75,166.3,50.6,159.55,44.15,151.95,42.5,144,50.6,143.1,53.7,142.8,65.85,146.45,74.85,164.15,74.85,159.25,58.8,148.533333,60.883333,200.6,7.6,200.3,4,198.9,0.25,193.1,0,189.05,18.15,186.9,40.65,188.2,59.8,191.25,80.5,195,80.65,195,79.1,195.3,75.25,195.6,70.8,193.15,57.55,190.65,47.2,190.65,40.75,190.65,39.35,191.05,33.2,191.45,26.3,191.85,22.2,196.2,21.9,200.35,14.9,193.7,11.05,194.75,7.65,196.35,5.2,197.2,8.25,196.4,12,195.4,16.9,191.85,18,191.85,17.7,193.1,13.05,200.6,5.95,199.8,1.2,191.25,2.85,186.9,32.8,186.9,49.95,189,65.8,195.6,71.4,195.6,67.85,199.8,17.15,200.6,13.95,288.75,2.05,287.55,2,287.45,1.45,283.7,1.3,283.75,2.1,283.75,2.9,281.1,6.85,278.95,8.7,274.5,12.55,266.25,15,266.25,18.6,271.85,18.75,281.8,11.6,283.95,9.85,284.3,27.4,283.1,38.5,281.25,65.55,281.3,70.6,276.3,71.45,273.95,72.75,272,73.65,268.4,75.35,262.5,76.75,262.5,74.55,258.75,74.4,258.6,74.8,257.2,76.65,255.6,79.15,255.6,82.35,259.95,82.5,274.35,78.75,278.5,77.45,281.65,76.55,281.85,78.6,285.6,78.75,285.6,78.4,285.9,76.9,286.15,75.3,288.75,74.65,290.1,74.55,295.4,74.95,297,75.5,300,76.45,304.05,76.8,306.1,76.85,308.1,76.9,308.1,73.3,305.65,73.15,301.85,72.25,294.2,71.1,285.7,70.6,285.6,70,285,66.7,285,65.4,285,57.6,286.6,40.45,288.15,15.4,287.95,6.4,288.35,6,288.75,5.65,287.5,1.7,277.25,15.3,282.75,10.85,281.25,54.85,281.25,68.3,277.8,70.75,255.75,78.5,262.6,82.5,281.7,77.65,286.1,75.95,299.6,76.35,300,76.65,298.05,71.3,289.35,70.7,288.15,23.3,288.15,10.1,268.116667,17.45,257.05,81.333333,288.35,3.233333],[83,9,7,7,6,9,9,6,10,19,18,57,40,59,18,6,5,10,12,11,43,13,12,43,11,5,52,15,14,43,13,43,14,42,17,16,52,5,4,11,10,5,41,18,17,20,57,56,57,20,19,56,66,20,20,66,21,22,21,64,65,64,21,21,66,65,22,64,63,58,57,18,61,60,25,60,26,25,63,62,24,63,24,23,24,62,25,62,61,25,39,60,59,18,59,58,16,15,42,3,2,54,3,54,53,1,55,54,55,1,46,52,51,43,43,11,52,46,0,47,0,45,47,47,45,48,51,50,44,45,49,48,49,45,44,49,44,50,46,1,0,42,15,43,40,18,41,17,42,41,39,59,40,26,39,27,28,38,29,38,28,27,39,38,27,39,26,60,84,35,33,29,37,30,38,37,29,30,35,31,36,30,37,3,53,4,88,118,117,118,88,119,88,117,89,89,117,116,87,121,120,121,87,86,120,119,87,87,119,88,116,115,104,89,103,90,89,116,103,90,102,101,102,90,103,104,103,116,100,99,91,101,100,90,105,104,115,90,100,91,105,115,114,110,109,85,111,110,107,108,110,85,111,107,112,110,108,107,113,112,106,85,109,86,109,121,86,106,114,113,98,97,91,91,97,92,98,91,99,105,114,106,96,93,92,96,92,97,138,141,140,142,137,144,137,142,141,136,148,137,146,144,137,138,137,141,136,135,149,134,151,150,160,133,152,133,152,151,151,134,133,145,144,146,147,146,148,137,148,146,149,135,150,149,148,136,134,150,135,185,169,186,169,184,170,184,169,185,183,170,184,169,168,186,187,186,168,187,168,188,168,167,188,214,198,196,171,183,182,183,171,170,172,182,173,182,172,171,173,182,181,195,194,198,198,196,195,194,193,198,181,180,173,173,180,174,167,166,189,190,189,166,190,166,165,189,188,167,191,165,164,165,191,190,164,202,191,192,191,200,201,191,202,179,178,174,174,178,161,174,180,179,176,175,162,176,161,177,161,176,162,177,161,178,191,201,200,199,193,192,232,219,233,243,219,244,219,232,220,242,233,219,236,244,219,220,230,229,230,220,231,228,220,229,220,228,221,226,221,227,226,222,221,227,221,228,220,232,231,236,219,218,237,236,218,237,218,238,215,238,216,239,238,215,216,238,217,240,239,215,226,225,222,225,224,222,241,234,242,235,234,241,235,240,215,235,241,240,267,266,263,262,267,263,331,266,264,264,263,266,267,262,261,312,268,261,260,312,261,260,259,256,261,268,267,272,292,287,271,307,272,268,311,269,273,272,287,281,280,277,332,284,282,281,284,282,277,284,281,285,276,275,275,274,285,286,273,287,286,274,273,276,284,277,276,285,284,274,286,285,288,287,290,271,270,309,310,309,270,310,269,311,309,308,271,307,271,308,292,272,305,269,310,270,256,312,260,333,256,314,256,314,313,312,256,313,268,312,311,257,256,259,305,304,294,293,305,294,294,304,295,290,287,291,292,291,287,293,292,305,297,296,303,296,295,304,298,303,302,299,302,301,297,303,298,298,302,299,296,304,303,272,307,306],[9,83,8,8,83,7,23,63,22,53,4,52,2,54,1,44,51,43,35,84,34,34,84,33,33,35,32,32,35,31,36,30,35,107,112,106,95,96,94,94,96,93,140,138,139,143,144,142,133,160,132,132,160,152,198,214,197,197,214,196,199,193,198,164,202,163,175,163,202,200,192,199,163,175,162,243,219,242,234,242,233,218,238,217,223,224,222,266,331,265,265,331,264,258,259,257,279,280,278,284,332,283,283,332,282,278,280,277,306,272,305,256,333,255,255,333,314,289,290,288,301,299,300],[3,4,5,5,6,7,10,11,12,12,13,14,14,15,16,16,17,18,24,25,26,26,27,28,36,37,38,38,39,40,40,41,42,46,47,48,48,49,50,50,51,52,54,55,46,56,57,58,58,59,60,60,61,62,63,64,65,65,66,56,95,96,97,97,98,99,99,100,101,101,102,103,104,105,106,107,108,85,109,110,111,112,113,114,114,115,116,116,117,118,118,119,120,120,121,109,135,136,137,143,144,145,145,146,147,148,149,150,150,151,152,170,171,172,175,176,177,177,178,179,179,180,181,181,182,183,183,184,185,185,186,187,187,188,189,189,190,191,192,193,194,194,195,196,200,201,202,223,224,225,227,228,229,229,230,231,231,232,233,236,237,238,238,239,240,240,241,242,243,244,236,258,259,260,260,261,262,262,263,264,268,269,270,273,274,275,275,276,277,279,280,281,285,286,287,289,290,291,292,293,294,294,295,296,298,299,300,301,302,303,306,307,308,308,309,310,312,313,314],[0,67,1,2,68,3,9,69,10,18,70,19,19,71,20,20,72,21,21,73,22,23,74,24,28,75,29,29,76,30,30,77,31,42,78,43,44,79,45,45,80,0,53,81,54,62,82,63,85,122,86,86,123,87,87,124,88,88,125,89,89,126,90,90,127,91,91,128,92,92,129,93,103,130,104,111,131,112,133,153,134,134,154,135,137,155,138,138,156,139,140,157,141,141,158,142,147,159,148,161,203,162,164,204,165,165,205,166,166,206,167,167,207,168,168,208,169,169,209,170,172,210,173,173,211,174,174,212,161,191,213,192,215,245,216,216,246,217,218,247,219,219,248,220,220,249,221,221,250,222,225,251,226,226,252,227,234,253,235,235,254,215,256,315,257,266,316,267,267,317,268,270,318,271,271,319,272,272,320,273,281,321,282,284,322,285,287,323,288,291,324,292,296,325,297,297,326,298,303,327,304,304,328,305,310,329,311,311,330,312]]],[145,[151,[30,21.3,29.8,20.55,27,20.5,27,17.75,25.25,13.05,23.05,9.05,19,9,14.6,24.05,9.750391,24.641016,4.5,25,4.5,27.8,13,28,14.125,27.9,13,48.25,13.025,53.025,12,53,12.3,54.05,13,57.75,14.3,63.25,6.5,63,4.15,65.7,4,69.15,7.3,77.8,16,78,18.75,74.6,18.5,71.1,18.5,70.75,22.55,72.8,29.3,76.8,42,77,47.85,74.55,50.5,71,50.2,69.15,45.5,67.5,46,69.05,46.35,70.3,45.75,71.15,43.8,73.8,32.3,73.8,29.6,73.8,24.25,69.95,18,65.25,17.95,65.05,17.25,59,17,57.225,17,56.75,16.895508,56.501758,16.8,56.075,16.775,55.95,16.732813,55.795703,16.7,55.625,16.465039,54.412305,16.25,52.2,16,49.4,16,48.25,16,40.6,17.25,30,17.411914,28.67793,17.575,27.45,30,25.5,20.75,13.25,21.45,14.5,22.6,17.1,24,20.3,24,21.1,24,21.9,23.9,21.95,23,22,23,22.975,18.15,23.55,19.328906,16.447461,7.5,72.5,7,71.1,7,69.25,7,65.5,11.25,66.65,15.5,67.8,15.5,70.85,15.5,72.6,15.3,73,14.3,74.8,10.3,74.8,8.35,74.8,25.3,13.1,24.25,10.55,16.212891,11.832031,13.323047,28,13,38.330273,13,51.501953,13.65,61.15,14.05,63.05,4.65,63.35,4,66.5,4,74.75,18.5,78,44.95,76.9,50.5,72.45,50.5,69.35,49.8,68.85,45.5,67.85,19.05,65.85,17.135156,58.067578,21.874805,26.827734,23.5,21.9,20.823828,23.201172,28.933333,20.783333,92,70.8,92,65.55,89,65.5,89.2,68.25,88.35,70.3,86.7,74.3,79.8,74.3,76.25,74.3,73.6,69.1,72.7,67.3,71.3,62.8,83.5,63,87.05,59.45,89.65,57.55,90.5,53.6,90.65,51.3,89.45,48.8,74,45.5,70.5,48.8,68.55,52.25,67.95,56.95,66.65,58.75,66,59.65,65.5,59.85,66.55,62.65,68.45,66.75,69.55,69.3,74.15,76.8,86.5,77.5,90.55,74.45,82.55,49.7,87.5,51.85,87.5,53.55,87.5,55.25,85.1,56.6,80.75,59.75,74.75,59.8,73.2,59.8,71,58.8,71.6,53.45,74.3,50.05,77.25,47.4,90.5,56.8,90.65,52.15,90.55,49.8,86.4,45.9,72.4,46.4,68.7,51.1,65.5,60.5,72.35,76,75.6,77.5,89,77.5,91.4,72.85,81.8,58.45,127.5,46,127.5,41.55,120.85,48.35,118.5,56.8,116.8,64.8,115.8,72.75,112.5,57.4,108.5,43.05,105,43,105,45.8,106.95,51.05,109.95,64.1,115.5,83.3,118.5,83.3,118.8,60,122.85,43.45,119.7,51.15,117.55,59.9,116.1,69.05,113.65,62.5,110.5,48.65,112.85,76.7,106.166667,43.95,167.5,70,167.5,65.05,164.5,65,164.2,68.3,162.75,71.3,160.05,76.8,154.8,76.8,152.25,76.8,149.55,71.3,148.2,68.45,146.5,63.25,156.8,60.95,161.5,59.5,165.5,59,166,56.4,162.45,50.15,157.05,44.05,151.5,44,144.3,51,142.5,59.75,144.8,70.1,151.8,79.8,158.5,80,165.7,75.35,152.55,49.35,155.9,47.75,158.25,49.05,161.05,50.6,161.5,55.75,153.75,57.8,149,59.1,145.5,59.8,145.5,59.55,145.05,56.9,147.3,53.8,149.4,50.8,151.85,62.5,166,58.3,166,55.05,158.95,45.35,146.45,46.9,142.5,54.55,142.5,64.8,147.3,75.95,163.2,80,166.95,72.95,159.05,56.3,200,6.85,199.85,3.95,197.5,1.05,191.5,1,188.45,8.35,188.3,15.75,183,15.5,183,18.3,188.55,17.95,189.35,25.2,189.5,26.8,189.55,31.7,190.05,37.75,190.3,38.8,191.15,47.45,192,56.15,192,57.75,192,60.1,190.9,68.2,189.7,76.7,189,78.25,189,77.05,186,77,185.3,78.65,185.5,81.25,185.8,84.8,189,85,193.25,71.35,195,57.5,193.95,40.45,192.05,26,191.5,20.25,198.6,14.9,192.7,6.3,193.55,4.4,194.5,4.05,196.1,5.85,196.55,6.45,196.55,7.05,196.55,8.7,195.15,11.8,193.5,15.55,191.5,16.25,191.5,9.05,200,4.45,199.45,2.6,188.6,3.45,188.35,11,188.05,15.55,189.6,35.8,185.25,77,185.3,79.55,185.5,83.75,191.2,82.55,195,61.85,195,48.45,196.35,21.45,200,10.95,195.25,4.9,191.9,8.45,188,77.433333,287.4,0.05,284.4,0,284.2,3,281,6.8,276.8,11.8,270.8,11.8,269.05,11.8,267.65,10.9,263.9,10.5,263.9,13.8,265.15,14.1,266.1,14.65,276.4,15,281.25,12.55,284.3,9.05,284.4,9.5,283.6,18.2,281.4,31.95,277.9,54.05,277.9,65.375,276.9,65,277.9,68.8,277.9,71.3,279.425,71.3,279.538867,71.449219,279.65,71.6,280.3,72.475,279.4,72.5,263.55,76.55,252.9,81.75,252.9,84.3,256.4,84.5,262.65,80.25,267.45,77.4,281.9,76,282.008594,75.891406,284.1,75.75,286.9,76.8,309.4,77,309.4,74.05,306.55,71.05,303.4,71.05,303.4,73.75,289.9,73.8,289.9,72.55,289.3,72.4,287.85,71.4,285.975,70.825,284.940625,69.994727,283.65,68.95,280.75,66.85,280.643359,56.691992,282.8,42.45,287.4,13.55,266.45,10.1,268,15,278.65,15,282.6,11.2,278.3,51.1,277.390039,65.155273,276.869336,66.710938,279.975977,72.05,279.889648,72.485742,268.65,75.2,254.55,78.9,259.55,83.35,285.444141,76.498242,287.368359,71.045117,282.133008,67.736328,286.25,22.95,254.066667,83.516667,278.408333,70.466667,304.45,71.95],[11,8,7,12,55,13,12,11,7,14,13,53,16,14,51,56,55,12,55,54,13,52,51,14,53,52,14,54,53,13,50,17,16,49,47,17,50,49,17,50,16,51,12,7,58,17,47,46,21,20,73,74,73,20,74,20,19,21,73,72,71,21,72,21,71,22,82,81,22,71,82,22,74,19,75,19,18,75,18,17,43,17,46,44,76,18,42,75,18,76,23,80,24,79,78,24,26,77,76,80,79,24,78,77,25,80,23,81,17,44,43,70,69,7,70,6,60,4,61,60,62,61,4,58,68,59,57,12,58,69,68,58,7,69,58,57,56,12,4,3,62,63,62,3,63,2,64,64,2,65,65,59,68,59,65,2,105,2,0,65,68,66,60,5,4,41,40,26,41,26,76,27,40,39,42,41,76,25,77,26,39,28,27,26,40,27,24,78,25,42,18,43,34,33,32,35,32,31,32,35,34,35,31,30,29,38,37,38,28,39,37,36,30,30,36,35,37,30,29,7,6,70,126,125,145,127,126,144,130,128,127,125,124,145,123,147,146,147,123,122,145,144,126,145,124,146,146,124,123,130,127,144,129,128,130,132,131,115,116,131,130,115,131,116,116,130,144,142,116,143,114,113,133,133,113,112,133,132,114,114,132,115,144,143,116,137,136,122,118,140,139,140,118,141,137,120,138,120,137,121,139,120,119,139,138,120,139,119,118,121,137,122,136,147,122,141,118,117,112,111,134,134,111,135,112,134,133,110,106,135,106,110,109,110,135,111,182,169,167,169,167,170,171,170,166,171,165,172,170,167,166,163,162,160,163,160,174,165,164,174,165,171,166,174,173,165,164,163,174,201,217,216,217,201,218,216,215,202,201,216,202,200,207,218,207,200,208,194,193,213,200,218,201,202,214,193,203,193,192,193,203,202,213,193,214,190,203,191,204,190,189,204,203,190,191,203,192,212,194,213,208,199,209,198,210,209,209,199,198,211,198,197,198,211,210,211,196,195,196,211,197,212,211,194,194,211,195,206,205,188,205,189,188,188,187,206,183,206,187,183,187,186,237,235,238,235,272,238,235,234,273,239,238,261,263,273,234,263,234,233,240,239,260,242,259,243,242,241,259,260,241,240,253,252,250,253,250,254,290,252,250,259,244,243,250,249,256,257,256,249,250,256,254,249,248,257,264,233,265,265,232,266,264,263,233,266,231,267,231,266,232,267,231,230,268,230,269,230,268,267,270,269,262,262,269,230,272,261,238,260,259,241,246,245,258,247,246,258,261,272,271,261,260,239,262,261,271,262,271,270,247,258,257,244,258,245,244,259,258,247,257,248,301,299,298,302,298,297,302,301,298,297,296,302,296,295,303,310,342,341,342,309,343,311,310,312,303,295,304,302,296,303,319,324,323,361,322,320,323,322,320,320,319,323,362,314,312,314,312,341,315,314,340,340,316,315,316,340,317,324,318,325,341,340,314,319,318,324,341,312,310,318,317,325,305,304,294,344,343,308,339,317,340,344,308,307,343,309,308,293,291,305,307,306,344,305,294,293,327,317,339,327,338,337,328,337,336,317,326,325,328,327,337,327,326,317,336,334,328,339,338,327,363,333,331,295,294,304],[10,8,9,11,8,10,15,16,14,48,49,47,23,81,22,45,46,44,6,60,5,68,66,67,3,63,2,0,2,59,2,105,1,1,105,0,29,38,28,142,117,141,117,142,116,108,109,107,107,109,106,169,182,168,168,182,167,161,162,160,173,165,172,215,202,214,205,189,204,200,208,199,185,186,184,184,186,183,237,235,236,256,254,255,252,290,251,251,290,250,273,235,272,233,265,232,300,301,299,310,342,309,322,361,321,321,361,320,314,362,313,313,362,312,292,293,291,306,344,305,291,305,344,333,363,332,332,363,331,329,333,328,330,333,329,331,333,330,334,328,333,335,336,334],[7,8,9,15,16,17,24,25,26,26,27,28,34,35,36,36,37,38,38,39,40,41,42,43,45,46,47,48,49,50,50,51,52,52,53,54,54,55,56,56,57,58,60,61,62,62,63,64,64,65,66,69,70,60,71,72,73,73,74,75,75,76,77,77,78,79,79,80,81,81,82,71,108,109,110,110,111,112,112,113,114,114,115,116,117,118,119,125,126,127,127,128,129,130,131,132,136,137,138,138,139,140,142,143,144,144,145,146,146,147,136,169,170,171,173,174,160,185,186,187,187,188,189,189,190,191,191,192,193,194,195,196,207,208,209,209,210,211,212,213,214,215,216,217,217,218,207,237,238,239,239,240,241,242,243,244,244,245,246,246,247,248,248,249,250,259,260,261,263,264,265,266,267,268,268,269,270,270,271,272,292,293,294,294,295,296,296,297,298,300,301,302,306,307,308,314,315,316,323,324,325,325,326,327,335,336,337,338,339,340,341,342,343],[3,83,4,4,84,5,6,85,7,11,86,12,12,87,13,13,88,14,17,89,18,18,90,19,19,91,20,20,92,21,21,93,22,23,94,24,29,95,30,30,96,31,31,97,32,32,98,33,33,99,34,40,100,41,43,101,44,58,102,59,66,103,67,68,104,69,119,148,120,120,149,121,121,150,122,122,151,123,123,152,124,124,153,125,129,154,130,132,155,133,133,156,134,134,157,135,135,158,106,140,159,141,161,175,162,162,176,163,163,177,164,164,178,165,165,179,166,166,180,167,171,181,172,193,219,194,196,220,197,197,221,198,198,222,199,200,223,201,201,224,202,202,225,203,203,226,204,205,227,206,206,228,183,211,229,212,230,274,231,231,275,232,233,276,234,234,277,235,235,278,236,241,279,242,252,280,253,253,281,254,254,282,255,256,283,257,257,284,258,258,285,259,261,286,262,262,287,230,265,288,266,273,289,263,298,345,299,302,346,303,303,347,304,304,348,305,308,349,309,310,350,311,311,351,312,316,352,317,317,353,318,318,354,319,319,355,320,322,356,323,327,357,328,337,358,338,340,359,341,343,360,344]]],[146,[151,[36,21.05,34.5,15.45,31.1,14.3,25,27.95,20.75,27.95,11.5,24.45,9.5,25.05,9.25,25.85,9,26.2,13.7,30.7,24.25,33.7,24.25,33.95,23.25,70.7,19,98.95,2.9,103.1,0,111.45,0.2,113.6,1.45,118,11,124.3,20.4,117.55,22,108.2,26.5,110.7,31.8,114.6,34.8,116.85,40.65,121.35,62.5,132.3,74.5,132.3,76.55,129.25,77,127.3,77.05,124.65,74.5,122.3,72.6,122.7,72.15,123.05,72,123.05,72,126.8,62.75,126.8,59.1,125.65,41.3,113.4,24,101.55,24,101.05,24,97.45,25.5,79.15,27,60.95,27,47.9,31.5,33.15,6.3,115.8,5,113.5,5,111.45,5,108.15,7.95,106.1,11.45,103.65,17.5,104.7,15.75,113.15,14.2,118.8,10.9,118.8,8.05,118.8,36,17.4,33.1,13.65,26.15,15.95,12,24.45,9.95,24.45,9.8,28.65,18,33,6.35,100.65,0,105.2,0,112.3,0.6,116,4.25,124.3,17.7,124.3,22,113.6,51.5,129.3,75.9,130.95,77,128.15,77.25,125.9,76.65,122.3,73.05,122.3,27,61.5,16.9,106.6,121.05,81.8,117.8,75.05,101.75,81.2,92,98.95,93.8,103.85,95.85,109.85,97,117.55,103.8,126.75,120,133.3,129.55,129.35,133,122.2,132.7,119.3,130.5,118.3,128.4,118.95,128.15,119.55,128,119.55,128.8,121.45,127.25,124.1,125.85,126.45,123.75,127.8,116.75,127.8,110.55,126.05,105.35,120.85,100.2,115.7,101,111.95,101,105.95,120.75,98.45,122.2,93.15,122,89.65,122,88.2,101,95.45,106.7,84.8,111.8,82.65,117,80.5,117,89.2,117,93.65,116.55,94.5,115.35,96.55,109,99.95,101,99.95,119.85,77.35,111.9,68.4,97.15,87.2,92,99.4,97.55,121.35,111.45,133.3,125.6,133.3,133,125.9,133,120,132.2,118.3,128.95,118.3,116.9,104.55,122.1,96.3,122,85.35,220.5,75.75,208.45,83.95,203,97.7,203.35,103.8,206.05,116.3,214.6125,129.8,228,134.3,239.55,130.35,244,123.2,239.5,113.45,237.4,114,237.15,114.55,237,114.55,238,118.85,239,121.6,239,122.8,239,124.05,236.45,126.15,232.75,128.8,223,128.8,218.4,127.425,215.5875,125.15,212.775,122.875,211.75,119.7,209,110.45,209,102.95,232.05,97.45,236.65,90,238,84.95,232.55,75.35,212.85,97.5,209.2,97.05,209,96.7,211.35,90.8,212.85,87.7,215.6,82.3,219.25,79.7,229.05,79.95,231.75,81.65,233,82.45,233,84.95,233,87.45,230,91.75,225.65,97.95,218.4,97.95,216.35,97.95,213.4,78.3,203,90.25,203,97.9,204.1,110.65,209.125,125.3,220.1,134.3,234.6,134.3,244,126.8,241.65,113.45,237.95,113.45,237,116.1,233.5,128.25,210.95,112.85,223.55,106.8,234.95,94.25,238,86.75,238,77.7,227.6,73.25,190,79.8,189.75,78.2,189.5,78.1,189.5,77.95,187,77.45,173.25,95.7,169.5,110.1,167.55,118.2,166.5,120.55,150,82.35,141,74.7,154.05,103.2,167.5,131.3,178.9,105.7,190,78.35,189.5,77.45,178.85,77.45,171.9,100.15,158.1,97.85,141,65.15,141,75.2,167.1,131.3,167.75,131.3,190,80.15,273,11.3,270.45,3.2,264,8.7,262.05,16.5,260.75,24.2,259.85,23.6,258.45,21.6,255.5,20.45,253.5,21.05,253.25,21.85,253,22.2,257.45,28,261,31,261,35.45,261,79.55,261,109.7,263.5,139.3,265.4,138.95,265.75,138.55,266,137.05,266,29.2,271,20.2,273,6.35,267.4,-0.6,262.85,12,261.6,19.05,257.6,20.45,253.95,20.45,253.55,24.7,261.4,139.3,265,139.3,268.7,27,273,14.35,265.716667,138.183333,360.25,13.2,357.65,9.95,355.55,7.5,349.05,2.05,327.5,4.45,316.45,15,311.7,22.5,309,25.7,309.25,27.2,309.65,27.6,309.95,28.1,312,28.45,321.6,17.2,331.95,5.95,340.9,5.95,349.325,5.95,354.6,12.1375,359.875,18.325,362,30.7,364.2,43.25,363,57.7,363,65.65,362.8,74.85,362.05,82.5,360.775,94.6,358.2,100.65,355.625,106.7,351.75,106.7,351.35,106.7,346.3,103.7,340.5,100.45,327.5,100.45,319.75,107.6,316,114.95,319.05,122.8,333,129.3,345.95,122.2,350.25,117.3,352.15,115.05,352.75,115.05,353.6,115.05,357.8,117.45,367.05,122.7,389.5,130.3,401.3,124.6,406,115.55,405.7,112.55,403.5,111.45,401.6,111.85,401.15,112.2,401,112.2,401,116.65,399.65,119.35,396.85,124.8,388.9,124.8,382.7,124.8,369.5,118.3,357,112.1,357,110.3,357,109.45,357.425,107.75,357.85,106.05,358.7,103.5,362.5,92.15,368,57.45,367.55,34.45,344.65,108.35,345.2,108.8,346.55,110.65,348.75,112.2,346.2,114.6,343.1,118.5,338.4,123.8,332.9,123.8,329,123.8,325,120.8,321,117.8,321,114.8,321,113.6,324.65,109.8,328.1,106.25,329.25,105.7,341.15,105.4,358.825,11.375,356.475,8.525,352.3,3.85,339.85,-3.05,321.3,8.25,310.4,28.45,312.9,28.45,341.05,100.6,323.05,103.65,316,112.05,316,118.6,323.75,129.3,339.15,129.3,346.9,121.2,365.55,121.85,381.25,130.3,395.9,130.3,406,119.55,406,113.3,405.2,111.45,402.05,111.45,361.9,94.05,368,74.1,368,38.9,366.15,20.55,347.4,111.85,347.8,112.6,343.1,118.45],[7,6,5,8,7,9,14,49,48,49,14,50,14,13,50,9,7,5,4,9,5,10,9,4,38,51,13,51,50,13,40,39,13,40,13,41,20,51,38,13,12,41,15,48,47,48,15,14,15,47,16,17,16,46,46,45,17,16,47,46,17,45,55,52,20,19,52,19,53,55,54,18,18,53,19,53,18,54,55,18,17,51,20,52,39,38,13,43,11,44,42,12,43,21,38,37,43,12,11,12,42,41,38,21,20,44,10,3,2,1,0,22,37,23,22,21,37,3,2,0,23,37,24,24,37,36,36,25,24,25,36,35,31,30,34,30,29,34,34,27,26,34,28,27,29,28,34,34,32,31,80,109,108,109,80,110,108,81,80,81,117,82,79,111,110,104,116,115,115,114,104,110,80,79,82,103,83,103,82,117,83,101,84,102,101,83,84,101,100,100,85,84,103,116,104,86,85,99,99,85,100,86,99,98,78,112,111,113,105,104,112,106,113,112,78,107,78,111,79,107,106,112,91,90,92,106,105,113,87,86,97,87,97,96,95,87,96,90,94,92,88,87,95,88,94,89,95,94,88,94,93,92,89,94,90,104,114,113,133,165,134,165,133,166,134,164,163,164,134,165,157,134,163,167,132,168,132,167,133,157,163,162,167,166,133,157,162,177,135,134,157,135,156,136,136,155,154,155,136,156,136,154,137,157,177,176,153,137,154,137,152,151,152,137,153,137,151,138,175,158,157,157,176,175,168,132,169,169,161,170,161,169,132,158,174,159,170,161,171,158,175,174,171,160,172,160,171,161,172,160,173,159,173,160,159,174,173,145,144,143,139,138,150,139,150,149,142,141,143,146,145,140,147,146,140,148,140,139,140,148,147,139,149,148,141,145,143,141,140,145,206,205,207,204,208,207,208,204,203,208,203,209,205,204,207,209,203,202,200,199,198,200,198,196,201,209,202,209,201,196,196,201,200,198,197,196,230,229,226,227,226,229,227,229,228,230,226,231,231,225,224,225,231,226,231,224,232,233,232,240,224,240,232,223,222,220,220,241,223,220,222,221,241,240,224,236,239,237,239,236,235,253,239,237,224,223,241,265,261,260,259,258,266,259,266,260,265,260,266,265,264,263,261,265,263,266,258,267,268,257,269,257,268,267,269,257,256,267,258,257,334,285,335,320,336,283,336,335,284,284,283,336,282,321,283,286,285,334,287,286,332,333,332,286,332,331,287,334,333,286,287,331,330,288,330,329,330,288,287,328,327,289,329,328,288,288,328,289,320,283,321,282,323,322,322,321,282,291,323,292,289,327,326,326,325,290,289,326,290,325,291,290,291,325,324,291,324,323,323,281,293,282,281,323,270,256,255,256,270,269,254,270,255,316,279,278,254,271,270,313,312,281,313,280,314,315,314,280,316,315,280,280,279,316,280,313,281,271,319,272,273,319,318,319,273,272,273,318,274,278,277,317,317,277,276,278,317,316,275,318,276,318,317,276,271,254,319,292,323,293,294,312,311,312,294,293,294,311,295,312,293,281,296,295,310,309,308,297,310,309,296,295,311,310,296,309,297,305,304,303,303,301,299,301,303,302,300,299,301,308,307,297,307,306,298,297,307,298,299,298,306,299,305,303,299,306,305],[11,44,10,4,10,3,0,3,44,35,25,34,26,34,25,34,32,33,108,81,117,117,103,116,103,83,102,98,86,97,157,135,156,151,138,150,234,240,233,239,253,238,238,253,237,240,234,239,235,239,234,262,263,261,285,335,284,275,318,274],[6,7,8,11,12,13,20,21,22,22,23,24,31,32,33,35,36,37,37,38,39,39,40,41,42,43,44,45,46,47,47,48,49,49,50,51,52,53,54,54,55,45,82,83,84,91,92,93,93,94,95,95,96,97,98,99,100,100,101,102,105,106,107,108,109,110,110,111,112,112,113,114,114,115,116,142,143,144,145,146,147,147,148,149,151,152,153,153,154,155,162,163,164,164,165,166,166,167,168,168,169,170,170,171,172,172,173,174,174,175,176,176,177,162,197,198,199,202,203,204,224,225,226,228,229,230,231,232,233,259,260,261,262,263,264,266,267,268,268,269,270,270,271,272,272,273,274,275,276,277,277,278,279,279,280,281,281,282,283,291,292,293,293,294,295,302,303,304,304,305,306,306,307,308,308,309,310,310,311,312,312,313,314,314,315,316,320,321,322,325,326,327,327,328,329,329,330,331,331,332,333,333,334,335,335,336,320],[0,56,1,1,57,2,2,58,3,4,59,5,5,60,6,8,61,9,9,62,10,13,63,14,14,64,15,15,65,16,16,66,17,17,67,18,18,68,19,19,69,20,24,70,25,26,71,27,27,72,28,28,73,29,29,74,30,30,75,31,41,76,42,51,77,52,78,118,79,79,119,80,80,120,81,81,121,82,84,122,85,85,123,86,86,124,87,87,125,88,88,126,89,89,127,90,90,128,91,103,129,104,104,130,105,107,131,78,132,178,133,133,179,134,134,180,135,135,181,136,136,182,137,137,183,138,138,184,139,139,185,140,140,186,141,141,187,142,144,188,145,149,189,150,155,190,156,157,191,158,158,192,159,159,193,160,160,194,161,161,195,132,196,210,197,199,211,200,200,212,201,201,213,202,204,214,205,205,215,206,206,216,207,207,217,208,208,218,209,209,219,196,220,242,221,221,243,222,222,244,223,223,245,224,226,246,227,227,247,228,230,248,231,235,249,236,236,250,237,240,251,241,241,252,220,254,337,255,255,338,256,256,339,257,257,340,258,258,341,259,264,342,265,265,343,266,283,344,284,285,345,286,286,346,287,287,347,288,288,348,289,289,349,290,290,350,291,295,351,296,296,352,297,297,353,298,298,354,299,299,355,300,300,356,301,301,357,302,316,358,317,317,359,318,318,360,319,319,361,254,322,362,323,323,363,324,324,364,325]]],[147,[151,[33.5,23.6,32.1,17.8,23.75,15,23.5,27,20.2,31.05,13.65,31.35,9.95,31.75,8.5,34.35,8.75,37,12.5,37.5,18.1,36.7,22.85,35.8,23.5,35.75,23.5,70.75,21.25,104.25,19.75,103.85,17.95,102.95,15,101.5,3,101.5,-2.15,106.8,-2.5,111.1,0.3,121.65,14,130.35,26,123.7,26.7,118.3,26.5,115.1,26.5,114.1,26.95,114.25,29.2,115.75,34.3,118.2,65.5,121.35,77.5,117.85,79.5,110.75,78.5,105.55,72,100.5,67.3,103,63.5,106.25,63.75,110,64.2,110.25,66.5,110.5,70,109,72.25,106.25,73.25,106.75,73.95,108.45,74.5,109.4,74.5,110.85,74.5,112.25,73.25,113.5,70.85,115.85,64.85,115.85,35,115.85,28.25,108.75,25.9,106.25,25.95,102.5,26.5,96.75,26.5,96.7,27.5,82.3,28.5,60.75,28.55,46.3,31.05,37.2,21.5,111.4,21.5,113.75,21.5,113.9,20.5,119.4,18.55,124.85,13.85,124.85,8.3,124.85,5,119.4,2.5,115.3,2.5,111.5,2.5,109.85,3.25,108.55,3.7,107.8,4.75,106.75,17.2,107.85,20.05,109.55,21.3,110.25,33.5,19.45,30.05,15.4,23.5,19.5,10.75,31.45,8.5,32.35,8.5,36.85,10,37.5,13.95,37.5,21.5,93.25,15.25,101.6,-1.15,104.35,-2.5,107.75,-2.5,116.2,4.7,130.35,23.75,130.35,26.75,121.45,31.4,117.25,43.75,121.35,74.4,121.35,79.5,115.65,79.45,108.05,76.6,100.5,71.05,100.5,63.5,105.5,63.5,108.75,64.95,110.5,67.9,110.5,72.05,107.45,73.35,107.25,26.5,98.4,28.5,67.95,33.5,28.2,118.8,75.95,104.25,81.25,103,83.3,99.4,88.5,94.5,98.5,97.65,101,98.8,107.15,99.5,110.7,100.35,118.45,104.45,128.2,116.5,132.35,125.5,125.4,128.5,115.25,128,112.9,126,111.5,121.45,120.6,119.45,126.85,116.35,126.85,111.65,126.85,107.9,120.8,104.5,113.85,104.5,103.5,123.9,97.65,126.5,88.5,124.3,81.45,104.5,98,104.9,93.8,107.6,89.15,110.2,84.75,113.4,82.35,116.8,79.75,119,81,121.5,82.4,121.5,88.6,121.5,91.15,120.7,92.7,119.45,95.15,115.5,98,110.5,71.35,96.05,93.7,101.5,125.05,108.35,132.35,121.8,132.35,128.5,119.8,128.5,113.55,127.75,112.6,123.9,113.15,104.9,114.5,118.6,105.3,126.5,93.9,126.5,85,122.1,77.8,208.5,81.25,204.75,90.3,201.5,100.5,203.35,101.6,205.15,106.1,208.7,114.7,208.75,114.85,226,126.35,235.55,120.15,241.5,110.85,241.25,109.25,241,109.15,241,109,238.5,108.5,232.05,114.55,228.9,120.6,226.5,120.6,219.25,120.6,214.3,112.15,211,106.45,210.5,102,231.65,94.25,237.5,82.35,234.45,76.4,227,71.3,210.55,95.6,210.5,95.3,210.5,93.5,210.5,84.15,221.4,80.15,225.55,78.65,228.85,79.05,232.25,79.5,232.25,81.75,232.25,86,228,90.15,222.1,95.85,211,96,210.6,95.8,206.3,85.75,203.8,93.15,214.4,126.35,229.5,126.35,241.5,114.05,241.5,109.4,241,108.5,235.25,108.5,224.3,100.9,237.5,88.9,237.5,79.75,231.25,72.85,215.45,67.2,186.4,96.6,187.5,89.6,184,80.3,180.5,81.1,181.5,85.25,182.5,88.1,182.5,89.35,182.5,99.7,174.5,112.45,172.5,115.6,169,120.35,168.6,120.9,163.653516,113.724805,160.95,109.65,154.95,100.55,153.25,95.25,151.9,92.3,151.95,87.1,152.2,79.05,150,73.9,141.5,74.5,146.45,78.25,147.2,85.6,147.55,92.4,148.5,100,156.4,116.6,168.5,127.35,168.875,127.35,169.5,127.35,183,109.45,187.5,91.1,187.5,86.9,180.5,73.65,180.5,82.35,168.790234,120.635352,152.3,81.4,152,75.05,147.55,72.45,147.2,85.7,147.8,96.8,150.1,107,163.45,127.35,177.1,127.35,184.95,103.5,270,21.25,273.5,9.5,270.75,0.2,265.05,-2.3,260.05,3.95,259.5,21,259.05,21,254.25,20.8,251.5,21.25,256.85,25.45,260.9,26.5,261.5,30.25,263.5,41.5,267,59.85,267.5,63.25,272.15,88.2,273.5,95.4,273.5,107.75,273.7,111,273.85,114.8,273.55,117.9,272.5,127.85,267.1,127.85,266.1,127.85,265.3,126.6,264.5,125.4,264.5,124,264.5,122.5,266,120.35,267.5,115.35,267.55,112.8,265,110.5,262.9,111.15,262.65,111.75,262.5,111.75,262.5,116.05,261,118.75,259.5,123.25,259.5,123.35,259.35,125,259.75,128.45,267.5,133.35,278,122.35,278.65,113.8,278.5,108.95,278.5,107.75,272.5,65.15,266.5,31.35,266.5,29.1,264.5,7,265.7,4.55,266.25,3.15,266.5,3,268.5,5,268.5,9.35,268.5,13.5,268.3,14.6,267.65,17.95,265,20,264.5,19.75,273.5,13.1,273.5,3.7,268.2,-3.15,261.65,-1.45,258.15,10.3,252.55,20.7,252.5,24.35,262.05,34.35,268,66.55,273.5,107.8,267.5,118.15,267.75,113.95,267.2,110.5,263.45,110.5,259.5,121.45,259.3,126.9,261.25,133.35,275.95,133.35,278.7,118.75,278.5,98.95,268.25,25.35,265,6.25,374.5,53.5,364.2,13.15,354.13125,6.38125,340.825,5.225,324.28125,9.68125,304.5,19.75,304.75,21.25,309,22.5,314.55,20.25,317.4375,18.325,321.8,15.25,327.275,11.625,332.5375,9.8125,337.8,8,342.85,8,351.575,8,357.5,13.1875,363.425,18.375,366.55,28.75,369.5,38.6,369.5,53.1,367.4,65.65,363.55,77.95,359.7,90.225,355.625,96.3625,351.55,102.5,347.25,102.5,344.65,102.5,341.05,99,332.5,95.5,320.3,101.25,316.5,108.5,316.5,110.7,317.8,115.1,332,121.35,344.1,117.35,345.65,114.05,346.4,112,347.25,111.25,347.7,111.45,352.1,114.1,361.2,118.85,394,125.35,409.05,121.35,417.5,115.25,417.55,113.25,414.5,111.5,407.9,115.25,400.7,119.75,400.5,119.85,387.25,119.85,373.3,117.25,363.25,113.55,353.25,109.85,351.75,106.75,368.8125,77.9875,329.65,102.1,338.4,99.5,343.25,106.75,341.85,109.7,340.75,111.6,338.65,115.25,335.5,115.85,327.25,115.85,323.85,113.9,322.75,112.6,321.5,111.15,321.5,108.85,321.5,107.2,323.9,105.2,326.35,103.1,374.5,24.85,359.975,8.3625,348.2875,4.4,333.3625,6.05,315.2,13.3125,306,22.5,311.05,22.5,315.625,19.575,319.25,17.075,337.45,95.5,325.25,95.5,316.5,105.65,316.7,113.15,321.2,121.35,341.3,121.35,344.8,116.4,356.75,116.9,375.95,125.35,400.25,125.35,417.5,117.55,417.8,114.1,417.1,111.5,413.9,111.5,363.125,91.3,374.5,64.675],[9,8,7,7,6,9,5,9,6,72,19,18,74,73,17,72,18,73,9,5,10,4,11,10,11,4,12,12,3,59,57,13,58,3,12,4,10,5,4,52,76,14,74,16,15,74,17,16,1,3,2,74,15,14,20,70,69,20,19,70,70,19,71,19,72,71,20,68,21,68,20,69,67,66,21,67,21,68,21,66,22,74,14,75,51,60,76,14,76,75,65,22,66,22,65,64,63,62,24,64,63,23,22,64,23,62,61,26,14,56,55,56,13,57,58,12,59,14,55,54,53,52,14,54,53,14,14,13,56,51,26,60,0,59,3,41,35,34,42,34,33,36,35,40,43,42,33,35,41,40,33,44,43,1,0,3,39,36,40,62,25,24,51,50,28,51,27,26,23,63,24,28,50,29,28,27,51,30,29,50,62,26,25,38,36,39,45,32,46,32,45,44,46,32,31,44,33,32,49,30,50,30,49,48,48,47,31,31,47,46,48,31,30,52,51,76,136,112,111,113,135,134,112,135,113,111,110,137,138,137,110,136,135,112,137,136,111,110,139,138,113,134,114,130,116,115,117,116,129,115,114,130,128,117,129,131,130,146,118,128,127,118,117,128,118,127,119,134,130,114,139,109,140,109,139,110,140,109,133,141,133,132,133,141,140,142,132,143,132,142,141,144,143,131,131,143,132,126,125,119,119,125,120,126,119,127,124,120,125,131,146,145,121,124,123,121,120,124,121,123,122,145,144,131,161,189,162,189,161,190,162,188,187,188,162,189,163,187,186,162,187,163,161,185,190,164,186,199,163,186,164,180,166,165,167,166,179,165,164,181,198,197,181,181,164,199,197,182,181,179,178,167,180,179,166,181,180,165,198,181,199,167,178,168,191,185,192,185,191,190,182,196,195,185,184,192,197,196,182,193,184,183,184,193,192,194,183,195,183,194,193,195,183,182,175,169,176,169,175,170,168,177,176,168,178,177,168,176,169,174,173,172,172,171,170,172,170,174,174,170,175,234,233,232,235,234,231,231,230,235,230,236,235,234,232,231,236,230,229,236,228,237,228,236,229,237,227,238,227,237,228,226,225,238,224,239,238,224,238,225,226,238,227,217,214,218,215,217,216,218,214,219,214,217,215,214,213,219,219,213,220,224,223,241,223,222,241,220,242,221,242,220,213,222,221,242,242,241,222,264,263,266,265,264,266,262,267,266,316,267,262,263,262,266,262,261,306,307,306,261,308,261,260,304,269,268,290,288,287,268,267,305,305,267,315,307,261,308,292,291,290,293,284,294,296,282,297,283,295,294,296,295,283,293,292,285,287,292,290,284,293,285,292,286,285,284,283,294,282,296,283,280,297,281,281,297,282,288,290,289,297,280,298,308,260,309,257,315,314,304,268,305,303,271,270,269,303,270,305,315,257,269,304,303,311,310,258,259,258,310,310,309,259,311,258,312,312,258,313,258,257,313,257,314,313,260,259,309,271,303,272,273,272,302,298,278,299,278,298,279,279,298,280,292,287,286,275,274,301,302,301,274,274,273,302,275,301,300,277,276,300,300,299,277,276,275,300,277,299,278,272,303,302,344,348,347,348,344,343,343,349,348,344,347,346,349,343,350,352,351,342,342,353,352,353,342,354,350,343,351,409,369,368,368,367,396,368,396,395,366,397,396,396,367,366,351,343,342,409,368,395,370,407,406,370,369,407,408,407,369,372,371,405,404,403,372,404,372,405,371,406,405,372,403,402,376,399,398,374,399,375,402,373,372,400,374,373,374,400,399,400,373,401,377,398,397,369,409,408,354,341,355,341,354,342,341,340,355,365,393,397,364,363,393,363,362,393,364,393,365,397,393,377,394,393,362,356,340,357,340,356,355,358,357,340,340,339,358,361,360,394,360,339,394,339,360,359,339,359,358,361,394,362,376,398,377,378,377,393,393,392,378,379,378,392,380,391,390,391,380,379,380,390,381,392,391,379,375,399,376,386,385,383,384,383,385,386,383,382,389,381,390,388,387,382,382,387,386,388,382,381,366,365,397],[18,73,17,61,26,60,13,58,12,42,34,41,38,36,37,134,130,146,130,116,129,241,224,240,240,224,239,316,267,315,306,262,316,345,346,344,371,406,370,402,373,401,389,381,388],[3,4,5,10,11,12,14,15,16,24,25,26,26,27,28,43,44,45,45,46,47,47,48,49,49,50,51,51,52,53,54,55,56,57,58,59,61,62,63,63,64,65,65,66,67,67,68,69,69,70,71,71,72,73,73,74,75,75,76,60,110,111,112,113,114,115,115,116,117,124,125,126,126,127,128,134,135,136,136,137,138,138,139,140,140,141,142,142,143,144,144,145,146,163,164,165,165,166,167,171,172,173,175,176,177,177,178,179,179,180,181,186,187,188,188,189,190,190,191,192,192,193,194,194,195,196,196,197,198,198,199,186,217,218,219,219,220,221,221,222,223,224,225,226,226,227,228,228,229,230,233,234,235,262,263,264,266,267,268,269,270,271,272,273,274,275,276,277,277,278,279,279,280,281,281,282,283,283,284,285,289,290,291,291,292,293,294,295,296,300,301,302,303,304,305,307,308,309,309,310,311,311,312,313,313,314,315,349,350,351,351,352,353,353,354,355,355,356,357,357,358,359,359,360,361,361,362,363,363,364,365,365,366,367,375,376,377,377,378,379,386,387,388,389,390,391,391,392,393,395,396,397,397,398,399,399,400,401,402,403,404,404,405,406,406,407,408,408,409,395],[0,77,1,1,78,2,2,79,3,5,80,6,6,81,7,7,82,8,8,83,9,9,84,10,13,85,14,16,86,17,18,87,19,19,88,20,20,89,21,21,90,22,22,91,23,23,92,24,28,93,29,29,94,30,30,95,31,31,96,32,32,97,33,33,98,34,34,99,35,35,100,36,36,101,37,38,102,39,39,103,40,40,104,41,42,105,43,53,106,54,56,107,57,59,108,0,109,147,110,112,148,113,117,149,118,118,150,119,119,151,120,120,152,121,121,153,122,122,154,123,123,155,124,128,156,129,130,157,131,131,158,132,132,159,133,133,160,109,161,200,162,162,201,163,167,202,168,168,203,169,169,204,170,170,205,171,173,206,174,174,207,175,181,208,182,182,209,183,183,210,184,184,211,185,185,212,161,213,243,214,214,244,215,215,245,216,216,246,217,223,247,224,230,248,231,231,249,232,232,250,233,235,251,236,236,252,237,237,253,238,238,254,239,241,255,242,242,256,213,257,317,258,258,318,259,259,319,260,260,320,261,261,321,262,264,322,265,265,323,266,268,324,269,271,325,272,274,326,275,285,327,286,286,328,287,287,329,288,288,330,289,293,331,294,296,332,297,297,333,298,298,334,299,299,335,300,302,336,303,305,337,257,306,338,307,339,410,340,340,411,341,341,412,342,342,413,343,343,414,344,345,415,346,346,416,347,347,417,348,348,418,349,367,419,368,368,420,369,369,421,370,371,422,372,372,423,373,373,424,374,374,425,375,379,426,380,380,427,381,381,428,382,382,429,383,383,430,384,384,431,385,385,432,386,393,433,394,394,434,339]]]],"sounds":[],"timelines":[[0,"Scene 1","",true,[],[1,"sc_Scene321_1_0",1,"sc_Scene321_2_0",1,"sc_Scene321_3_0",1,"sc_Scene321_4_0",1,"sc_Scene321_5_0",1,"sc_Scene321_6_0",1,"sc_Scene321_7_0",1,"sc_Scene321_8_0"],[[1,9,-1,0,0.798996,0,0,0.798996,246.95,177.55,"level2"],[5,0,0],[1,10,0,1,1,0,0,1,234.5,180.55,"level1"],[5,1,0],[1,11,1,2,1,0,0,1,265,163.35,"startButton"],[1,12,2,3,1,0,0,1,540.15,158.25,"crosshair"],[1,13,3,4,0.764709,0,0,0.764709,710.05,471,"base6"],[1,13,4,5,0.764709,0,0,0.764709,600.05,471,"base5"],[1,13,5,6,0.764709,0,0,0.764709,470.05,471,"base4"],[1,13,6,7,0.764709,0,0,0.764709,270.05,471,"base3"],[1,13,7,8,0.764709,0,0,0.764709,170.05,471,"base2"],[1,13,8,9,0.764709,0,0,0.764709,70.05,471,"base1"],[1,14,9,10,1,0,0,1,379.45,452.1,"hero"],[1,15,10,11,1,0,0,1,0,483.95],[1,16,11,12,"flash_danger"],[3,12,0,50,0,100,0,100,0,100],[5,12,0],[1,17,12,13,"flash_shoot"],[3,13,0,24,0,100,0,100,0,100],[5,13,0],[1,18,13,14]]],[9,"Symbol 5","",false,[],[],[[1,146,-1,0]],[],[],[],[],[],[],[],[],[],[[4,0],[1,147,-1,1]],[],[],[],[],[],[],[],[]],[10,"lvl1","",false,[],[],[[1,144,-1,0]],[],[],[],[],[],[],[],[[4,0],[1,145,-1,1]],[],[],[],[],[],[],[]],[11,"startBtn","",false,[14,"hover"],[13,"mc_startBtn_3_12"],[[1,135,-1,0,0.719772,0,0,0.719772,-5.75,-26.35],[3,0,0,0,0,100,0,100,0,100],[1,136,0,1],[1,140,1,4]],[],[],[],[],[],[],[[4,1],[4,4],[1,137,0,2],[1,141,2,5]],[],[],[],[],[],[[4,2],[4,5],[1,138,0,3],[1,142,3,6]]],[12,"aimer","",false,[],[1,"mc_aimer_0_0"],[[1,98,-1,0,1.652161,0,0,1.652161,5.2,14.95],[1,98,0,1,1.652161,0,0,1.652161,9.75,10.45],[1,98,1,2,1.652161,0,0,1.652161,5.2,10.45],[1,98,2,3,1.652161,0,0,1.652161,-3.9,14.95],[1,98,3,4,1.652161,0,0,1.652161,-3.9,10.45],[1,98,4,5,1.652161,0,0,1.652161,5.2,5.9],[1,98,5,6,1.652161,0,0,1.652161,-8.45,10.45],[1,98,6,7,1.652161,0,0,1.652161,-3.9,5.9],[1,98,7,8,1.652161,0,0,1.652161,0.65,19.5],[1,98,8,9,1.652161,0,0,1.652161,0.65,14.95],[1,98,9,10,1.652161,0,0,1.652161,0.65,5.9],[1,98,10,11,1.652161,0,0,1.652161,0.65,1.35]],[],[],[],[],[[4,0],[4,1],[4,2],[4,3],[4,4],[4,5],[4,6],[4,7],[4,8],[4,9],[4,10],[4,11],[1,110,-1,12,1.652161,0,0,1.652161,5.2,14.95],[1,110,12,13,1.652161,0,0,1.652161,9.75,10.45],[1,110,13,14,1.652161,0,0,1.652161,5.2,10.45],[1,110,14,15,1.652161,0,0,1.652161,-3.9,14.95],[1,110,15,16,1.652161,0,0,1.652161,-3.9,10.45],[1,110,16,17,1.652161,0,0,1.652161,5.2,5.9],[1,110,17,18,1.652161,0,0,1.652161,-8.45,10.45],[1,110,18,19,1.652161,0,0,1.652161,-3.9,5.9],[1,110,19,20,1.652161,0,0,1.652161,0.65,19.5],[1,110,20,21,1.652161,0,0,1.652161,0.65,14.95],[1,110,21,22,1.652161,0,0,1.652161,0.65,5.9],[1,110,22,23,1.652161,0,0,1.652161,0.65,1.35]],[],[],[],[],[[4,12],[4,13],[4,14],[4,15],[4,16],[4,17],[4,18],[4,19],[4,20],[4,21],[4,22],[4,23],[1,122,-1,24,1.652161,0,0,1.652161,5.2,14.95],[1,122,24,25,1.652161,0,0,1.652161,9.75,10.45],[1,122,25,26,1.652161,0,0,1.652161,5.2,10.45],[1,122,26,27,1.652161,0,0,1.652161,-3.9,14.95],[1,122,27,28,1.652161,0,0,1.652161,-3.9,10.45],[1,122,28,29,1.652161,0,0,1.652161,5.2,5.9],[1,122,29,30,1.652161,0,0,1.652161,-8.45,10.45],[1,122,30,31,1.652161,0,0,1.652161,-3.9,5.9],[1,122,31,32,1.652161,0,0,1.652161,0.65,19.5],[1,122,32,33,1.652161,0,0,1.652161,0.65,14.95],[1,122,33,34,1.652161,0,0,1.652161,0.65,5.9],[1,122,34,35,1.652161,0,0,1.652161,0.65,1.35]],[],[],[],[],[[4,24],[4,25],[4,26],[4,27],[4,28],[4,29],[4,30],[4,31],[4,32],[4,33],[4,34],[4,35],[1,134,-1,36,1.652161,0,0,1.652161,5.2,14.95],[1,134,36,37,1.652161,0,0,1.652161,9.75,10.45],[1,134,37,38,1.652161,0,0,1.652161,5.2,10.45],[1,134,38,39,1.652161,0,0,1.652161,-3.9,14.95],[1,134,39,40,1.652161,0,0,1.652161,-3.9,10.45],[1,134,40,41,1.652161,0,0,1.652161,5.2,5.9],[1,134,41,42,1.652161,0,0,1.652161,-8.45,10.45],[1,134,42,43,1.652161,0,0,1.652161,-3.9,5.9],[1,134,43,44,1.652161,0,0,1.652161,0.65,19.5],[1,134,44,45,1.652161,0,0,1.652161,0.65,14.95],[1,134,45,46,1.652161,0,0,1.652161,0.65,5.9],[1,134,46,47,1.652161,0,0,1.652161,0.65,1.35]],[],[],[],[],[]],[13,"crystal","",false,[18,"dead"],[14,"mc_crystal_0_13"],[[1,84,-1,0,0.527084,0,0,0.527084,-47.05,-47.75]],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[[4,0],[1,85,-1,1,0.544891,0,0,0.544891,-48.25,-50.95]],[],[],[],[],[],[],[],[],[],[],[],[],[],[]],[14,"Gun1","",false,[1,"shoot"],[1,"mc_Gun1_0_0"],[[1,79,-1,0,1,0,0,1,0.1,-0.15,"turret"]],[],[],[],[],[[2,0,-1,1,0,0,1,0.1,3.85]],[],[],[],[[2,0,-1,1,0,0,1,0.1,5.85]],[],[],[],[],[],[],[],[],[],[[2,0,-1,1,0,0,1,0.1,-0.15]]],[15,"Symbol 11","",false,[],[],[[1,77,-1,0,1.002502,0,0,0.440002,0,4.95]]],[16,"Symbol 13","",false,[],[],[[1,74,-1,0]],[],[],[],[],[],[],[[4,0],[1,75,-1,1]],[],[],[],[],[],[[4,1],[1,98,-1,2,291.636368,0,0,181.781815,510.35,1408.8]],[],[],[],[],[],[]],[17,"Symbol 12","",false,[],[],[[1,98,-1,0,291.636368,0,0,181.781815,510.35,1408.8]],[],[],[],[],[[4,0],[1,73,-1,1]],[],[],[],[],[],[]],[18,"skyy","",false,[],[],[[1,63,-1,0,1,0,0,1,874.7,209],[1,64,0,1,1,0,0,1,830.8,64],[1,65,1,2],[3,2,0,66,0,100,0,100,0,100],[1,66,2,3]],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]],[19,"Bullet","Bullet",false,[28,"explode"],[25,"mc_Bullet_0_24",51,"mc_Bullet_0_50"],[[1,51,-1,8]],[],[],[],[],[[4,8],[1,52,-1,9]],[],[],[],[],[[4,9],[1,53,-1,10,1,0,0,1,-4.5,-4.8]],[],[],[],[],[],[[4,10],[1,54,-1,11,1,0,0,1,-4.5,-4.8]],[],[],[],[[4,11],[1,55,-1,12,1,0,0,1,-4.6,-4.95]],[],[],[],[],[],[[4,12],[1,43,-1,0],[1,47,0,4],[1,56,4,13]],[],[],[],[],[[4,0],[4,4],[4,13],[1,44,-1,1],[1,48,1,5],[1,58,5,14,1.111115,0,0,0.844452,3.7,-0.4]],[],[],[],[],[],[[4,1],[4,5],[1,45,-1,2],[1,49,2,6],[2,14,6]],[],[],[],[],[],[],[[4,2],[4,6],[4,14],[1,46,-1,3],[1,50,3,7],[1,59,7,16]],[],[],[],[[4,3],[4,7],[4,16]],[],[]],[20,"enemy1","Enemy1",false,[19,"explode"],[18,"mc_enemy1_0_17",56,"mc_enemy1_0_55"],[[1,38,-1,15]],[],[],[],[],[],[[4,15],[1,39,-1,16]],[],[],[],[],[],[[4,16],[1,40,-1,17]],[],[],[],[],[],[[4,17],[1,23,-1,0],[1,28,0,5],[1,33,5,10]],[],[],[],[],[[4,0],[4,5],[4,10],[1,24,-1,1],[1,29,1,6],[1,34,6,11]],[],[],[],[[4,1],[4,6],[4,11],[1,25,-1,2],[1,30,2,7],[1,35,7,12]],[],[],[],[],[[4,2],[4,7],[4,12],[1,26,-1,3],[1,31,3,8],[1,36,8,13]],[],[],[],[],[[4,3],[4,8],[4,13],[1,27,-1,4],[1,32,4,9],[1,37,9,14]],[],[],[],[],[],[[4,4],[4,9],[4,14]],[],[],[],[],[],[],[],[],[],[],[],[],[],[]],[53,"Symbol 4","",false,[],[],[[1,62,-1,0]]],[54,"Symbol 3","",false,[],[],[[1,61,-1,0]]],[55,"Symbol 2","",false,[],[],[[1,61,-1,0]]],[63,"Symbol 9","",false,[],[],[[1,70,-1,0]],[[2,0,-1,1,0,0,1,-0.7,0]],[[2,0,-1,1,0,0,1,-1.45,0]],[[2,0,-1,1,0,0,1,-2.15,0]],[[2,0,-1,1,0,0,1,-2.85,0]],[[2,0,-1,1,0,0,1,-3.55,0]],[[2,0,-1,1,0,0,1,-4.25,0]],[[2,0,-1,1,0,0,1,-5,0]],[[2,0,-1,1,0,0,1,-5.7,0]],[[2,0,-1,1,0,0,1,-6.4,0]],[[2,0,-1,1,0,0,1,-7.1,0]],[[2,0,-1,1,0,0,1,-7.85,0]],[[2,0,-1,1,0,0,1,-8.55,0]],[[2,0,-1,1,0,0,1,-9.25,0]],[[2,0,-1,1,0,0,1,-9.95,0]],[[2,0,-1,1,0,0,1,-10.7,0]],[[2,0,-1,1,0,0,1,-11.4,0]],[[2,0,-1,1,0,0,1,-12.1,0]],[[2,0,-1,1,0,0,1,-12.8,0]],[[2,0,-1,1,0,0,1,-13.5,0]],[[2,0,-1,1,0,0,1,-14.25,0]],[[2,0,-1,1,0,0,1,-14.95,0]],[[2,0,-1,1,0,0,1,-15.65,0]],[[2,0,-1,1,0,0,1,-16.4,0]],[[2,0,-1,1,0,0,1,-17.1,0]],[[2,0,-1,1,0,0,1,-17.8,0]],[[2,0,-1,1,0,0,1,-18.5,0]],[[2,0,-1,1,0,0,1,-19.2,0]],[[2,0,-1,1,0,0,1,-19.95,0]],[[2,0,-1,1,0,0,1,-20.65,0]],[[2,0,-1,1,0,0,1,-21.35,0]],[[2,0,-1,1,0,0,1,-22.05,0]],[[2,0,-1,1,0,0,1,-22.8,0]],[[2,0,-1,1,0,0,1,-23.5,0]],[[2,0,-1,1,0,0,1,-24.2,0]],[[2,0,-1,1,0,0,1,-24.9,0]],[[2,0,-1,1,0,0,1,-25.6,0]],[[2,0,-1,1,0,0,1,-26.35,0]],[[2,0,-1,1,0,0,1,-27.05,0]],[[2,0,-1,1,0,0,1,-27.75,0]],[[2,0,-1,1,0,0,1,-28.45,0]],[[2,0,-1,1,0,0,1,-29.2,0]],[[2,0,-1,1,0,0,1,-29.9,0]],[[2,0,-1,1,0,0,1,-30.6,0]],[[2,0,-1,1,0,0,1,-31.3,0]],[[2,0,-1,1,0,0,1,-32.05,0]],[[2,0,-1,1,0,0,1,-32.75,0]],[[2,0,-1,1,0,0,1,-33.45,0]],[[2,0,-1,1,0,0,1,-34.15,0]],[[2,0,-1,1,0,0,1,-34.85,0]],[[2,0,-1,1,0,0,1,-35.6,0]],[[2,0,-1,1,0,0,1,-36.3,0]],[[2,0,-1,1,0,0,1,-37,0]],[[2,0,-1,1,0,0,1,-37.7,0]],[[2,0,-1,1,0,0,1,-38.45,0]],[[2,0,-1,1,0,0,1,-39.15,0]],[[2,0,-1,1,0,0,1,-39.85,0]],[[2,0,-1,1,0,0,1,-40.55,0]],[[2,0,-1,1,0,0,1,-41.3,0]],[[2,0,-1,1,0,0,1,-42,0]],[[2,0,-1,1,0,0,1,-42.7,0]],[[2,0,-1,1,0,0,1,-43.45,0]],[[2,0,-1,1,0,0,1,-44.1,0]],[[2,0,-1,1,0,0,1,-44.85,0]],[[2,0,-1,1,0,0,1,-45.55,0]],[[2,0,-1,1,0,0,1,-46.25,0]],[[2,0,-1,1,0,0,1,-46.95,0]],[[2,0,-1,1,0,0,1,-47.7,0]],[[2,0,-1,1,0,0,1,-48.4,0]],[[2,0,-1,1,0,0,1,-49.1,0]],[[2,0,-1,1,0,0,1,-49.8,0]],[[2,0,-1,1,0,0,1,-50.55,0]],[[2,0,-1,1,0,0,1,-51.25,0]],[[2,0,-1,1,0,0,1,-51.95,0]],[[2,0,-1,1,0,0,1,-52.65,0]],[[2,0,-1,1,0,0,1,-53.4,0]],[[2,0,-1,1,0,0,1,-54.1,0]],[[2,0,-1,1,0,0,1,-54.8,0]],[[2,0,-1,1,0,0,1,-55.5,0]],[[2,0,-1,1,0,0,1,-56.2,0]],[[2,0,-1,1,0,0,1,-56.95,0]],[[2,0,-1,1,0,0,1,-57.65,0]],[[2,0,-1,1,0,0,1,-58.35,0]],[[2,0,-1,1,0,0,1,-59.05,0]],[[2,0,-1,1,0,0,1,-59.8,0]],[[2,0,-1,1,0,0,1,-60.5,0]],[[2,0,-1,1,0,0,1,-61.2,0]],[[2,0,-1,1,0,0,1,-61.9,0]],[[2,0,-1,1,0,0,1,-62.65,0]],[[2,0,-1,1,0,0,1,-63.35,0]],[[2,0,-1,1,0,0,1,-64.05,0]],[[2,0,-1,1,0,0,1,-64.75,0]],[[2,0,-1,1,0,0,1,-65.5,0]],[[2,0,-1,1,0,0,1,-66.2,0]],[[2,0,-1,1,0,0,1,-66.9,0]],[[2,0,-1,1,0,0,1,-67.6,0]],[[2,0,-1,1,0,0,1,-68.35,0]],[[2,0,-1,1,0,0,1,-69.05,0]],[[2,0,-1,1,0,0,1,-69.75,0]],[[2,0,-1,1,0,0,1,-70.45,0]],[[2,0,-1,1,0,0,1,-71.2,0]],[[2,0,-1,1,0,0,1,-71.9,0]],[[2,0,-1,1,0,0,1,-72.6,0]],[[2,0,-1,1,0,0,1,-73.3,0]],[[2,0,-1,1,0,0,1,-74.05,0]],[[2,0,-1,1,0,0,1,-74.75,0]],[[2,0,-1,1,0,0,1,-75.45,0]],[[2,0,-1,1,0,0,1,-76.15,0]],[[2,0,-1,1,0,0,1,-76.85,0]],[[2,0,-1,1,0,0,1,-77.55,0]],[[2,0,-1,1,0,0,1,-78.3,0]],[[2,0,-1,1,0,0,1,-79,0]],[[2,0,-1,1,0,0,1,-79.75,0]],[[2,0,-1,1,0,0,1,-80.4,0]],[[2,0,-1,1,0,0,1,-81.15,0]],[[2,0,-1,1,0,0,1,-81.85,0]],[[2,0,-1,1,0,0,1,-82.55,0]],[[2,0,-1,1,0,0,1,-83.25,0]],[[2,0,-1,1,0,0,1,-84,0]],[[2,0,-1,1,0,0,1,-84.7,0]],[[2,0,-1,1,0,0,1,-85.4,0]],[[2,0,-1,1,0,0,1,-86.15,0]],[[2,0,-1,1,0,0,1,-86.85,0]],[[2,0,-1,1,0,0,1,-87.55,0]],[[2,0,-1,1,0,0,1,-88.25,0]],[[2,0,-1,1,0,0,1,-88.95,0]],[[2,0,-1,1,0,0,1,-89.7,0]],[[2,0,-1,1,0,0,1,-90.4,0]],[[2,0,-1,1,0,0,1,-91.1,0]],[[2,0,-1,1,0,0,1,-91.8,0]],[[2,0,-1,1,0,0,1,-92.55,0]],[[2,0,-1,1,0,0,1,-93.25,0]],[[2,0,-1,1,0,0,1,-93.95,0]],[[2,0,-1,1,0,0,1,-94.65,0]],[[2,0,-1,1,0,0,1,-95.4,0]],[[2,0,-1,1,0,0,1,-96.1,0]],[[2,0,-1,1,0,0,1,-96.8,0]],[[2,0,-1,1,0,0,1,-97.5,0]],[[2,0,-1,1,0,0,1,-98.2,0]],[[2,0,-1,1,0,0,1,-98.95,0]],[[2,0,-1,1,0,0,1,-99.65,0]],[[2,0,-1,1,0,0,1,-100.35,0]],[[2,0,-1,1,0,0,1,-101.05,0]],[[2,0,-1,1,0,0,1,-101.8,0]],[[2,0,-1,1,0,0,1,-102.5,0]],[[2,0,-1,1,0,0,1,-103.2,0]],[[2,0,-1,1,0,0,1,-103.9,0]],[[2,0,-1,1,0,0,1,-104.65,0]],[[2,0,-1,1,0,0,1,-105.35,0]],[[2,0,-1,1,0,0,1,-106.05,0]],[[2,0,-1,1,0,0,1,-106.75,0]],[[2,0,-1,1,0,0,1,-107.45,0]],[[2,0,-1,1,0,0,1,-108.2,0]],[[2,0,-1,1,0,0,1,-108.9,0]],[[2,0,-1,1,0,0,1,-109.6,0]],[[2,0,-1,1,0,0,1,-110.35,0]],[[2,0,-1,1,0,0,1,-111.05,0]],[[2,0,-1,1,0,0,1,-111.75,0]],[[2,0,-1,1,0,0,1,-112.45,0]],[[2,0,-1,1,0,0,1,-113.15,0]],[[2,0,-1,1,0,0,1,-113.85,0]],[[2,0,-1,1,0,0,1,-114.6,0]],[[2,0,-1,1,0,0,1,-115.3,0]],[[2,0,-1,1,0,0,1,-116,0]],[[2,0,-1,1,0,0,1,-116.75,0]],[[2,0,-1,1,0,0,1,-117.45,0]],[[2,0,-1,1,0,0,1,-118.15,0]],[[2,0,-1,1,0,0,1,-118.85,0]],[[2,0,-1,1,0,0,1,-119.55,0]],[[2,0,-1,1,0,0,1,-120.3,0]],[[2,0,-1,1,0,0,1,-121,0]],[[2,0,-1,1,0,0,1,-121.7,0]],[[2,0,-1,1,0,0,1,-122.4,0]],[[2,0,-1,1,0,0,1,-123.15,0]],[[2,0,-1,1,0,0,1,-123.85,0]],[[2,0,-1,1,0,0,1,-124.55,0]],[[2,0,-1,1,0,0,1,-125.25,0]],[[2,0,-1,1,0,0,1,-126,0]],[[2,0,-1,1,0,0,1,-126.7,0]],[[2,0,-1,1,0,0,1,-127.4,0]],[[2,0,-1,1,0,0,1,-128.1,0]],[[2,0,-1,1,0,0,1,-128.8,0]],[[2,0,-1,1,0,0,1,-129.55,0]],[[2,0,-1,1,0,0,1,-130.25,0]],[[2,0,-1,1,0,0,1,-130.95,0]],[[2,0,-1,1,0,0,1,-131.65,0]],[[2,0,-1,1,0,0,1,-132.4,0]],[[2,0,-1,1,0,0,1,-133.1,0]],[[2,0,-1,1,0,0,1,-133.8,0]],[[2,0,-1,1,0,0,1,-134.5,0]],[[2,0,-1,1,0,0,1,-135.2,0]],[[2,0,-1,1,0,0,1,-135.95,0]],[[2,0,-1,1,0,0,1,-136.65,0]],[[2,0,-1,1,0,0,1,-137.35,0]],[[2,0,-1,1,0,0,1,-138.1,0]],[[2,0,-1,1,0,0,1,-138.8,0]],[[2,0,-1,1,0,0,1,-139.5,0]],[[2,0,-1,1,0,0,1,-140.2,0]],[[2,0,-1,1,0,0,1,-140.9,0]],[[2,0,-1,1,0,0,1,-141.65,0]],[[2,0,-1,1,0,0,1,-142.35,0]],[[2,0,-1,1,0,0,1,-143.05,0]],[[2,0,-1,1,0,0,1,-143.8,0]],[[2,0,-1,1,0,0,1,-144.5,0]],[[2,0,-1,1,0,0,1,-145.2,0]],[[2,0,-1,1,0,0,1,-145.9,0]],[[2,0,-1,1,0,0,1,-146.6,0]],[[2,0,-1,1,0,0,1,-147.35,0]],[[2,0,-1,1,0,0,1,-148.05,0]],[[2,0,-1,1,0,0,1,-148.75,0]],[[2,0,-1,1,0,0,1,-149.45,0]],[[2,0,-1,1,0,0,1,-150.15,0]],[[2,0,-1,1,0,0,1,-150.9,0]],[[2,0,-1,1,0,0,1,-151.6,0]],[[2,0,-1,1,0,0,1,-152.3,0]],[[2,0,-1,1,0,0,1,-153.05,0]],[[2,0,-1,1,0,0,1,-153.75,0]],[[2,0,-1,1,0,0,1,-154.45,0]],[[2,0,-1,1,0,0,1,-155.15,0]],[[2,0,-1,1,0,0,1,-155.85,0]],[[2,0,-1,1,0,0,1,-156.6,0]],[[2,0,-1,1,0,0,1,-157.3,0]],[[2,0,-1,1,0,0,1,-158,0]],[[2,0,-1,1,0,0,1,-158.75,0]],[[2,0,-1,1,0,0,1,-159.45,0]],[[2,0,-1,1,0,0,1,-160.15,0]],[[2,0,-1,1,0,0,1,-160.85,0]],[[2,0,-1,1,0,0,1,-161.55,0]],[[2,0,-1,1,0,0,1,-162.3,0]],[[2,0,-1,1,0,0,1,-163,0]],[[2,0,-1,1,0,0,1,-163.7,0]],[[2,0,-1,1,0,0,1,-164.4,0]],[[2,0,-1,1,0,0,1,-165.1,0]],[[2,0,-1,1,0,0,1,-165.8,0]],[[2,0,-1,1,0,0,1,-166.55,0]],[[2,0,-1,1,0,0,1,-167.25,0]],[[2,0,-1,1,0,0,1,-168,0]],[[2,0,-1,1,0,0,1,-168.7,0]],[[2,0,-1,1,0,0,1,-169.4,0]],[[2,0,-1,1,0,0,1,-170.1,0]],[[2,0,-1,1,0,0,1,-170.8,0]],[[2,0,-1,1,0,0,1,-171.5,0]],[[2,0,-1,1,0,0,1,-172.25,0]],[[2,0,-1,1,0,0,1,-172.95,0]],[[2,0,-1,1,0,0,1,-173.65,0]],[[2,0,-1,1,0,0,1,-174.4,0]],[[2,0,-1,1,0,0,1,-175.1,0]],[[2,0,-1,1,0,0,1,-175.8,0]],[[2,0,-1,1,0,0,1,-176.5,0]],[[2,0,-1,1,0,0,1,-177.2,0]],[[2,0,-1,1,0,0,1,-177.95,0]],[[2,0,-1,1,0,0,1,-178.65,0]],[[2,0,-1,1,0,0,1,-179.35,0]],[[2,0,-1,1,0,0,1,-180.05,0]],[[2,0,-1,1,0,0,1,-180.8,0]],[[2,0,-1,1,0,0,1,-181.5,0]],[[2,0,-1,1,0,0,1,-182.2,0]],[[2,0,-1,1,0,0,1,-182.9,0]],[[2,0,-1,1,0,0,1,-183.65,0]],[[2,0,-1,1,0,0,1,-184.35,0]],[[2,0,-1,1,0,0,1,-185.05,0]],[[2,0,-1,1,0,0,1,-185.75,0]],[[2,0,-1,1,0,0,1,-186.45,0]],[[2,0,-1,1,0,0,1,-187.2,0]],[[2,0,-1,1,0,0,1,-187.9,0]],[[2,0,-1,1,0,0,1,-188.6,0]],[[2,0,-1,1,0,0,1,-189.35,0]],[[2,0,-1,1,0,0,1,-190.05,0]],[[2,0,-1,1,0,0,1,-190.75,0]],[[2,0,-1,1,0,0,1,-191.45,0]],[[2,0,-1,1,0,0,1,-192.15,0]],[[2,0,-1,1,0,0,1,-192.9,0]],[[2,0,-1,1,0,0,1,-193.6,0]],[[2,0,-1,1,0,0,1,-194.3,0]],[[2,0,-1,1,0,0,1,-195.05,0]],[[2,0,-1,1,0,0,1,-195.75,0]],[[2,0,-1,1,0,0,1,-196.45,0]],[[2,0,-1,1,0,0,1,-197.15,0]],[[2,0,-1,1,0,0,1,-197.85,0]],[[2,0,-1,1,0,0,1,-198.6,0]],[[2,0,-1,1,0,0,1,-199.3,0]],[[2,0,-1,1,0,0,1,-200,0]],[[2,0,-1,1,0,0,1,-200.7,0]],[[2,0,-1,1,0,0,1,-201.4,0]],[[2,0,-1,1,0,0,1,-202.15,0]],[[2,0,-1,1,0,0,1,-202.85,0]],[[2,0,-1,1,0,0,1,-203.55,0]],[[2,0,-1,1,0,0,1,-204.25,0]],[[2,0,-1,1,0,0,1,-205,0]],[[2,0,-1,1,0,0,1,-205.7,0]],[[2,0,-1,1,0,0,1,-206.4,0]],[[2,0,-1,1,0,0,1,-207.1,0]],[[2,0,-1,1,0,0,1,-207.8,0]],[[2,0,-1,1,0,0,1,-208.55,0]],[[2,0,-1,1,0,0,1,-209.25,0]],[[2,0,-1,1,0,0,1,-209.95,0]],[[2,0,-1,1,0,0,1,-210.7,0]],[[2,0,-1,1,0,0,1,-211.4,0]],[[2,0,-1,1,0,0,1,-212.1,0]],[[2,0,-1,1,0,0,1,-212.8,0]],[[2,0,-1,1,0,0,1,-213.5,0]],[[2,0,-1,1,0,0,1,-214.25,0]],[[2,0,-1,1,0,0,1,-214.95,0]],[[2,0,-1,1,0,0,1,-215.65,0]],[[2,0,-1,1,0,0,1,-216.4,0]],[[2,0,-1,1,0,0,1,-217.1,0]],[[2,0,-1,1,0,0,1,-217.8,0]],[[2,0,-1,1,0,0,1,-218.5,0]],[[2,0,-1,1,0,0,1,-219.2,0]],[[2,0,-1,1,0,0,1,-219.95,0]],[[2,0,-1,1,0,0,1,-220.65,0]],[[2,0,-1,1,0,0,1,-221.35,0]],[[2,0,-1,1,0,0,1,-222.05,0]],[[2,0,-1,1,0,0,1,-222.75,0]],[[2,0,-1,1,0,0,1,-223.5,0]],[[2,0,-1,1,0,0,1,-224.2,0]],[[2,0,-1,1,0,0,1,-224.9,0]],[[2,0,-1,1,0,0,1,-225.65,0]],[[2,0,-1,1,0,0,1,-226.35,0]],[[2,0,-1,1,0,0,1,-227.05,0]],[[2,0,-1,1,0,0,1,-227.75,0]],[[2,0,-1,1,0,0,1,-228.45,0]],[[2,0,-1,1,0,0,1,-229.15,0]],[[2,0,-1,1,0,0,1,-229.9,0]],[[2,0,-1,1,0,0,1,-230.6,0]],[[2,0,-1,1,0,0,1,-231.35,0]],[[2,0,-1,1,0,0,1,-232.05,0]],[[2,0,-1,1,0,0,1,-232.75,0]],[[2,0,-1,1,0,0,1,-233.45,0]],[[2,0,-1,1,0,0,1,-234.15,0]],[[2,0,-1,1,0,0,1,-234.85,0]],[[2,0,-1,1,0,0,1,-235.6,0]],[[2,0,-1,1,0,0,1,-236.3,0]],[[2,0,-1,1,0,0,1,-237,0]],[[2,0,-1,1,0,0,1,-237.75,0]],[[2,0,-1,1,0,0,1,-238.45,0]],[[2,0,-1,1,0,0,1,-239.15,0]],[[2,0,-1,1,0,0,1,-239.85,0]],[[2,0,-1,1,0,0,1,-240.55,0]],[[2,0,-1,1,0,0,1,-241.3,0]],[[2,0,-1,1,0,0,1,-242,0]],[[2,0,-1,1,0,0,1,-242.7,0]],[[2,0,-1,1,0,0,1,-243.4,0]],[[2,0,-1,1,0,0,1,-244.1,0]],[[2,0,-1,1,0,0,1,-244.85,0]],[[2,0,-1,1,0,0,1,-245.55,0]],[[2,0,-1,1,0,0,1,-246.25,0]],[[2,0,-1,1,0,0,1,-246.95,0]],[[2,0,-1,1,0,0,1,-247.7,0]],[[2,0,-1,1,0,0,1,-248.4,0]],[[2,0,-1,1,0,0,1,-249.1,0]],[[2,0,-1,1,0,0,1,-249.8,0]],[[2,0,-1,1,0,0,1,-250.55,0]],[[2,0,-1,1,0,0,1,-251.25,0]],[[2,0,-1,1,0,0,1,-251.95,0]],[[2,0,-1,1,0,0,1,-252.7,0]],[[2,0,-1,1,0,0,1,-253.4,0]],[[2,0,-1,1,0,0,1,-254.1,0]],[[2,0,-1,1,0,0,1,-254.8,0]],[[2,0,-1,1,0,0,1,-255.5,0]],[[2,0,-1,1,0,0,1,-256.25,0]],[[2,0,-1,1,0,0,1,-256.95,0]],[[2,0,-1,1,0,0,1,-257.65,0]],[[2,0,-1,1,0,0,1,-258.35,0]],[[2,0,-1,1,0,0,1,-259.05,0]],[[2,0,-1,1,0,0,1,-259.75,0]],[[2,0,-1,1,0,0,1,-260.5,0]],[[2,0,-1,1,0,0,1,-261.2,0]],[[2,0,-1,1,0,0,1,-261.95,0]],[[2,0,-1,1,0,0,1,-262.65,0]],[[2,0,-1,1,0,0,1,-263.35,0]],[[2,0,-1,1,0,0,1,-264.05,0]],[[2,0,-1,1,0,0,1,-264.75,0]],[[2,0,-1,1,0,0,1,-265.45,0]],[[2,0,-1,1,0,0,1,-266.2,0]],[[2,0,-1,1,0,0,1,-266.9,0]],[[2,0,-1,1,0,0,1,-267.65,0]],[[2,0,-1,1,0,0,1,-268.35,0]],[[2,0,-1,1,0,0,1,-269.05,0]],[[2,0,-1,1,0,0,1,-269.75,0]],[[2,0,-1,1,0,0,1,-270.45,0]],[[2,0,-1,1,0,0,1,-271.15,0]],[[2,0,-1,1,0,0,1,-271.9,0]],[[2,0,-1,1,0,0,1,-272.6,0]],[[2,0,-1,1,0,0,1,-273.3,0]],[[2,0,-1,1,0,0,1,-274,0]],[[2,0,-1,1,0,0,1,-274.75,0]],[[2,0,-1,1,0,0,1,-275.45,0]],[[2,0,-1,1,0,0,1,-276.15,0]],[[2,0,-1,1,0,0,1,-276.85,0]],[[2,0,-1,1,0,0,1,-277.6,0]],[[2,0,-1,1,0,0,1,-278.3,0]],[[2,0,-1,1,0,0,1,-279,0]],[[2,0,-1,1,0,0,1,-279.7,0]],[[2,0,-1,1,0,0,1,-280.45,0]],[[2,0,-1,1,0,0,1,-281.15,0]],[[2,0,-1,1,0,0,1,-281.85,0]],[[2,0,-1,1,0,0,1,-282.55,0]],[[2,0,-1,1,0,0,1,-283.3,0]],[[2,0,-1,1,0,0,1,-284,0]],[[2,0,-1,1,0,0,1,-284.7,0]],[[2,0,-1,1,0,0,1,-285.4,0]],[[2,0,-1,1,0,0,1,-286.15,0]],[[2,0,-1,1,0,0,1,-286.85,0]],[[2,0,-1,1,0,0,1,-287.55,0]],[[2,0,-1,1,0,0,1,-288.25,0]],[[2,0,-1,1,0,0,1,-288.95,0]],[[2,0,-1,1,0,0,1,-289.7,0]],[[2,0,-1,1,0,0,1,-290.4,0]],[[2,0,-1,1,0,0,1,-291.1,0]],[[2,0,-1,1,0,0,1,-291.8,0]],[[2,0,-1,1,0,0,1,-292.5,0]],[[2,0,-1,1,0,0,1,-293.25,0]],[[2,0,-1,1,0,0,1,-293.95,0]],[[2,0,-1,1,0,0,1,-294.65,0]],[[2,0,-1,1,0,0,1,-295.4,0]],[[2,0,-1,1,0,0,1,-296.1,0]],[[2,0,-1,1,0,0,1,-296.8,0]],[[2,0,-1,1,0,0,1,-297.5,0]],[[2,0,-1,1,0,0,1,-298.2,0]],[[2,0,-1,1,0,0,1,-298.95,0]],[[2,0,-1,1,0,0,1,-299.65,0]],[[2,0,-1,1,0,0,1,-300.35,0]],[[2,0,-1,1,0,0,1,-301.05,0]],[[2,0,-1,1,0,0,1,-301.8,0]],[[2,0,-1,1,0,0,1,-302.5,0]],[[2,0,-1,1,0,0,1,-303.2,0]],[[2,0,-1,1,0,0,1,-303.9,0]],[[2,0,-1,1,0,0,1,-304.65,0]],[[2,0,-1,1,0,0,1,-305.35,0]],[[2,0,-1,1,0,0,1,-306.05,0]],[[2,0,-1,1,0,0,1,-306.75,0]],[[2,0,-1,1,0,0,1,-307.45,0]],[[2,0,-1,1,0,0,1,-308.2,0]],[[2,0,-1,1,0,0,1,-308.9,0]],[[2,0,-1,1,0,0,1,-309.6,0]],[[2,0,-1,1,0,0,1,-310.3,0]],[[2,0,-1,1,0,0,1,-311.05,0]],[[2,0,-1,1,0,0,1,-311.75,0]],[[2,0,-1,1,0,0,1,-312.45,0]],[[2,0,-1,1,0,0,1,-313.15,0]],[[2,0,-1,1,0,0,1,-313.9,0]],[[2,0,-1,1,0,0,1,-314.6,0]],[[2,0,-1,1,0,0,1,-315.3,0]],[[2,0,-1,1,0,0,1,-316,0]],[[2,0,-1,1,0,0,1,-316.75,0]],[[2,0,-1,1,0,0,1,-317.45,0]],[[2,0,-1,1,0,0,1,-318.15,0]],[[2,0,-1,1,0,0,1,-318.85,0]],[[2,0,-1,1,0,0,1,-319.6,0]],[[2,0,-1,1,0,0,1,-320.3,0]],[[2,0,-1,1,0,0,1,-321,0]],[[2,0,-1,1,0,0,1,-321.7,0]],[[2,0,-1,1,0,0,1,-322.4,0]],[[2,0,-1,1,0,0,1,-323.15,0]],[[2,0,-1,1,0,0,1,-323.85,0]],[[2,0,-1,1,0,0,1,-324.55,0]],[[2,0,-1,1,0,0,1,-325.3,0]],[[2,0,-1,1,0,0,1,-326,0]],[[2,0,-1,1,0,0,1,-326.7,0]],[[2,0,-1,1,0,0,1,-327.4,0]],[[2,0,-1,1,0,0,1,-328.1,0]],[[2,0,-1,1,0,0,1,-328.8,0]],[[2,0,-1,1,0,0,1,-329.55,0]],[[2,0,-1,1,0,0,1,-330.25,0]],[[2,0,-1,1,0,0,1,-330.95,0]],[[2,0,-1,1,0,0,1,-331.65,0]],[[2,0,-1,1,0,0,1,-332.4,0]],[[2,0,-1,1,0,0,1,-333.1,0]],[[2,0,-1,1,0,0,1,-333.8,0]],[[2,0,-1,1,0,0,1,-334.5,0]],[[2,0,-1,1,0,0,1,-335.25,0]],[[2,0,-1,1,0,0,1,-335.95,0]],[[2,0,-1,1,0,0,1,-336.65,0]],[[2,0,-1,1,0,0,1,-337.35,0]],[[2,0,-1,1,0,0,1,-338.1,0]],[[2,0,-1,1,0,0,1,-338.8,0]],[[2,0,-1,1,0,0,1,-339.5,0]],[[2,0,-1,1,0,0,1,-340.2,0]],[[2,0,-1,1,0,0,1,-340.95,0]],[[2,0,-1,1,0,0,1,-341.65,0]],[[2,0,-1,1,0,0,1,-342.35,0]],[[2,0,-1,1,0,0,1,-343.05,0]],[[2,0,-1,1,0,0,1,-343.75,0]],[[2,0,-1,1,0,0,1,-344.5,0]],[[2,0,-1,1,0,0,1,-345.2,0]],[[2,0,-1,1,0,0,1,-345.9,0]],[[2,0,-1,1,0,0,1,-346.65,0]],[[2,0,-1,1,0,0,1,-347.35,0]],[[2,0,-1,1,0,0,1,-348.05,0]],[[2,0,-1,1,0,0,1,-348.75,0]],[[2,0,-1,1,0,0,1,-349.45,0]],[[2,0,-1,1,0,0,1,-350.2,0]],[[2,0,-1,1,0,0,1,-350.9,0]],[[2,0,-1,1,0,0,1,-351.6,0]],[[2,0,-1,1,0,0,1,-352.3,0]],[[2,0,-1,1,0,0,1,-353,0]],[[2,0,-1,1,0,0,1,-353.75,0]],[[2,0,-1,1,0,0,1,-354.45,0]],[[2,0,-1,1,0,0,1,-355.15,0]],[[2,0,-1,1,0,0,1,-355.9,0]],[[2,0,-1,1,0,0,1,-356.6,0]],[[2,0,-1,1,0,0,1,-357.3,0]],[[2,0,-1,1,0,0,1,-358,0]],[[2,0,-1,1,0,0,1,-358.7,0]],[[2,0,-1,1,0,0,1,-359.45,0]],[[2,0,-1,1,0,0,1,-360.15,0]],[[2,0,-1,1,0,0,1,-360.85,0]],[[2,0,-1,1,0,0,1,-361.55,0]],[[2,0,-1,1,0,0,1,-362.3,0]],[[2,0,-1,1,0,0,1,-363,0]],[[2,0,-1,1,0,0,1,-363.7,0]],[[2,0,-1,1,0,0,1,-364.4,0]],[[2,0,-1,1,0,0,1,-365.1,0]],[[2,0,-1,1,0,0,1,-365.85,0]],[[2,0,-1,1,0,0,1,-366.55,0]],[[2,0,-1,1,0,0,1,-367.25,0]],[[2,0,-1,1,0,0,1,-367.95,0]],[[2,0,-1,1,0,0,1,-368.7,0]],[[2,0,-1,1,0,0,1,-369.4,0]],[[2,0,-1,1,0,0,1,-370.1,0]],[[2,0,-1,1,0,0,1,-370.8,0]],[[2,0,-1,1,0,0,1,-371.55,0]],[[2,0,-1,1,0,0,1,-372.25,0]],[[2,0,-1,1,0,0,1,-372.95,0]],[[2,0,-1,1,0,0,1,-373.65,0]],[[2,0,-1,1,0,0,1,-374.4,0]],[[2,0,-1,1,0,0,1,-375.1,0]],[[2,0,-1,1,0,0,1,-375.8,0]],[[2,0,-1,1,0,0,1,-376.5,0]],[[2,0,-1,1,0,0,1,-377.25,0]],[[2,0,-1,1,0,0,1,-377.95,0]],[[2,0,-1,1,0,0,1,-378.65,0]],[[2,0,-1,1,0,0,1,-379.35,0]],[[2,0,-1,1,0,0,1,-380.05,0]],[[2,0,-1,1,0,0,1,-380.8,0]],[[2,0,-1,1,0,0,1,-381.5,0]],[[2,0,-1,1,0,0,1,-382.2,0]],[[2,0,-1,1,0,0,1,-382.9,0]],[[2,0,-1,1,0,0,1,-383.65,0]],[[2,0,-1,1,0,0,1,-384.35,0]],[[2,0,-1,1,0,0,1,-385.05,0]],[[2,0,-1,1,0,0,1,-385.75,0]],[[2,0,-1,1,0,0,1,-386.45,0]],[[2,0,-1,1,0,0,1,-387.2,0]],[[2,0,-1,1,0,0,1,-387.9,0]],[[2,0,-1,1,0,0,1,-388.6,0]],[[2,0,-1,1,0,0,1,-389.35,0]],[[2,0,-1,1,0,0,1,-390.05,0]],[[2,0,-1,1,0,0,1,-390.75,0]],[[2,0,-1,1,0,0,1,-391.45,0]],[[2,0,-1,1,0,0,1,-392.15,0]],[[2,0,-1,1,0,0,1,-392.9,0]],[[2,0,-1,1,0,0,1,-393.6,0]],[[2,0,-1,1,0,0,1,-394.3,0]],[[2,0,-1,1,0,0,1,-395.05,0]],[[2,0,-1,1,0,0,1,-395.75,0]],[[2,0,-1,1,0,0,1,-396.45,0]],[[2,0,-1,1,0,0,1,-397.15,0]],[[2,0,-1,1,0,0,1,-397.85,0]],[[2,0,-1,1,0,0,1,-398.6,0]],[[2,0,-1,1,0,0,1,-399.3,0]],[[2,0,-1,1,0,0,1,-400,0]],[[2,0,-1,1,0,0,1,-400.7,0]],[[2,0,-1,1,0,0,1,-401.45,0]],[[2,0,-1,1,0,0,1,-402.15,0]],[[2,0,-1,1,0,0,1,-402.85,0]],[[2,0,-1,1,0,0,1,-403.55,0]],[[2,0,-1,1,0,0,1,-404.3,0]],[[2,0,-1,1,0,0,1,-405,0]],[[2,0,-1,1,0,0,1,-405.7,0]],[[2,0,-1,1,0,0,1,-406.4,0]],[[2,0,-1,1,0,0,1,-407.1,0]],[[2,0,-1,1,0,0,1,-407.85,0]],[[2,0,-1,1,0,0,1,-408.55,0]],[[2,0,-1,1,0,0,1,-409.25,0]],[[2,0,-1,1,0,0,1,-409.95,0]],[[2,0,-1,1,0,0,1,-410.7,0]],[[2,0,-1,1,0,0,1,-411.4,0]],[[2,0,-1,1,0,0,1,-412.1,0]],[[2,0,-1,1,0,0,1,-412.8,0]],[[2,0,-1,1,0,0,1,-413.55,0]],[[2,0,-1,1,0,0,1,-414.25,0]],[[2,0,-1,1,0,0,1,-414.95,0]],[[2,0,-1,1,0,0,1,-415.65,0]],[[2,0,-1,1,0,0,1,-416.35,0]],[[2,0,-1,1,0,0,1,-417.1,0]],[[2,0,-1,1,0,0,1,-417.8,0]],[[2,0,-1,1,0,0,1,-418.5,0]],[[2,0,-1,1,0,0,1,-419.2,0]],[[2,0,-1,1,0,0,1,-419.95,0]],[[2,0,-1,1,0,0,1,-420.65,0]],[[2,0,-1,1,0,0,1,-421.35,0]],[[2,0,-1,1,0,0,1,-422.05,0]],[[2,0,-1,1,0,0,1,-422.8,0]],[[2,0,-1,1,0,0,1,-423.5,0]],[[2,0,-1,1,0,0,1,-424.2,0]],[[2,0,-1,1,0,0,1,-424.9,0]],[[2,0,-1,1,0,0,1,-425.65,0]],[[2,0,-1,1,0,0,1,-426.35,0]],[[2,0,-1,1,0,0,1,-427.05,0]],[[2,0,-1,1,0,0,1,-427.75,0]],[[2,0,-1,1,0,0,1,-428.45,0]],[[2,0,-1,1,0,0,1,-429.2,0]],[[2,0,-1,1,0,0,1,-429.9,0]],[[2,0,-1,1,0,0,1,-430.6,0]],[[2,0,-1,1,0,0,1,-431.3,0]],[[2,0,-1,1,0,0,1,-432,0]],[[2,0,-1,1,0,0,1,-432.75,0]],[[2,0,-1,1,0,0,1,-433.45,0]],[[2,0,-1,1,0,0,1,-434.15,0]],[[2,0,-1,1,0,0,1,-434.9,0]],[[2,0,-1,1,0,0,1,-435.6,0]],[[2,0,-1,1,0,0,1,-436.3,0]],[[2,0,-1,1,0,0,1,-437,0]],[[2,0,-1,1,0,0,1,-437.7,0]],[[2,0,-1,1,0,0,1,-438.45,0]],[[2,0,-1,1,0,0,1,-439.15,0]],[[2,0,-1,1,0,0,1,-439.85,0]],[[2,0,-1,1,0,0,1,-440.6,0]],[[2,0,-1,1,0,0,1,-441.3,0]],[[2,0,-1,1,0,0,1,-442,0]],[[2,0,-1,1,0,0,1,-442.7,0]],[[2,0,-1,1,0,0,1,-443.4,0]],[[2,0,-1,1,0,0,1,-444.15,0]],[[2,0,-1,1,0,0,1,-444.85,0]],[[2,0,-1,1,0,0,1,-445.55,0]],[[2,0,-1,1,0,0,1,-446.25,0]],[[2,0,-1,1,0,0,1,-447,0]],[[2,0,-1,1,0,0,1,-447.7,0]],[[2,0,-1,1,0,0,1,-448.4,0]],[[2,0,-1,1,0,0,1,-449.1,0]],[[2,0,-1,1,0,0,1,-449.8,0]],[[2,0,-1,1,0,0,1,-450.55,0]],[[2,0,-1,1,0,0,1,-451.25,0]],[[2,0,-1,1,0,0,1,-451.95,0]],[[2,0,-1,1,0,0,1,-452.65,0]],[[2,0,-1,1,0,0,1,-453.35,0]],[[2,0,-1,1,0,0,1,-454.1,0]],[[2,0,-1,1,0,0,1,-454.8,0]],[[2,0,-1,1,0,0,1,-455.5,0]],[[2,0,-1,1,0,0,1,-456.25,0]],[[2,0,-1,1,0,0,1,-456.95,0]],[[2,0,-1,1,0,0,1,-457.65,0]],[[2,0,-1,1,0,0,1,-458.35,0]],[[2,0,-1,1,0,0,1,-459.05,0]],[[2,0,-1,1,0,0,1,-459.8,0]],[[2,0,-1,1,0,0,1,-460.5,0]],[[2,0,-1,1,0,0,1,-461.2,0]],[[2,0,-1,1,0,0,1,-461.95,0]],[[2,0,-1,1,0,0,1,-462.65,0]],[[2,0,-1,1,0,0,1,-463.35,0]],[[2,0,-1,1,0,0,1,-464.05,0]],[[2,0,-1,1,0,0,1,-464.75,0]],[[2,0,-1,1,0,0,1,-465.5,0]],[[2,0,-1,1,0,0,1,-466.2,0]],[[2,0,-1,1,0,0,1,-466.9,0]],[[2,0,-1,1,0,0,1,-467.6,0]],[[2,0,-1,1,0,0,1,-468.35,0]],[[2,0,-1,1,0,0,1,-469.05,0]],[[2,0,-1,1,0,0,1,-469.75,0]],[[2,0,-1,1,0,0,1,-470.45,0]],[[2,0,-1,1,0,0,1,-471.2,0]],[[2,0,-1,1,0,0,1,-471.9,0]],[[2,0,-1,1,0,0,1,-472.6,0]],[[2,0,-1,1,0,0,1,-473.3,0]],[[2,0,-1,1,0,0,1,-474,0]],[[2,0,-1,1,0,0,1,-474.75,0]],[[2,0,-1,1,0,0,1,-475.45,0]],[[2,0,-1,1,0,0,1,-476.15,0]],[[2,0,-1,1,0,0,1,-476.9,0]],[[2,0,-1,1,0,0,1,-477.6,0]],[[2,0,-1,1,0,0,1,-478.3,0]],[[2,0,-1,1,0,0,1,-479,0]],[[2,0,-1,1,0,0,1,-479.7,0]],[[2,0,-1,1,0,0,1,-480.4,0]],[[2,0,-1,1,0,0,1,-481.15,0]],[[2,0,-1,1,0,0,1,-481.85,0]],[[2,0,-1,1,0,0,1,-482.55,0]],[[2,0,-1,1,0,0,1,-483.3,0]],[[2,0,-1,1,0,0,1,-484,0]],[[2,0,-1,1,0,0,1,-484.7,0]],[[2,0,-1,1,0,0,1,-485.4,0]],[[2,0,-1,1,0,0,1,-486.1,0]],[[2,0,-1,1,0,0,1,-486.85,0]],[[2,0,-1,1,0,0,1,-487.55,0]],[[2,0,-1,1,0,0,1,-488.25,0]],[[2,0,-1,1,0,0,1,-488.95,0]],[[2,0,-1,1,0,0,1,-489.7,0]],[[2,0,-1,1,0,0,1,-490.4,0]],[[2,0,-1,1,0,0,1,-491.1,0]],[[2,0,-1,1,0,0,1,-491.8,0]],[[2,0,-1,1,0,0,1,-492.55,0]],[[2,0,-1,1,0,0,1,-493.25,0]],[[2,0,-1,1,0,0,1,-493.95,0]],[[2,0,-1,1,0,0,1,-494.65,0]],[[2,0,-1,1,0,0,1,-495.4,0]],[[2,0,-1,1,0,0,1,-496.1,0]],[[2,0,-1,1,0,0,1,-496.8,0]],[[2,0,-1,1,0,0,1,-497.5,0]],[[2,0,-1,1,0,0,1,-498.25,0]],[[2,0,-1,1,0,0,1,-498.95,0]],[[2,0,-1,1,0,0,1,-499.65,0]],[[2,0,-1,1,0,0,1,-500.35,0]],[[2,0,-1,1,0,0,1,-501.05,0]],[[2,0,-1,1,0,0,1,-501.8,0]],[[2,0,-1,1,0,0,1,-502.5,0]],[[2,0,-1,1,0,0,1,-503.2,0]],[[2,0,-1,1,0,0,1,-503.9,0]],[[2,0,-1,1,0,0,1,-504.65,0]],[[2,0,-1,1,0,0,1,-505.35,0]],[[2,0,-1,1,0,0,1,-506.05,0]],[[2,0,-1,1,0,0,1,-506.75,0]],[[2,0,-1,1,0,0,1,-507.5,0]],[[2,0,-1,1,0,0,1,-508.2,0]],[[2,0,-1,1,0,0,1,-508.9,0]],[[2,0,-1,1,0,0,1,-509.6,0]],[[2,0,-1,1,0,0,1,-510.3,0]],[[2,0,-1,1,0,0,1,-511.05,0]],[[2,0,-1,1,0,0,1,-511.75,0]],[[2,0,-1,1,0,0,1,-512.45,0]],[[2,0,-1,1,0,0,1,-513.2,0]],[[2,0,-1,1,0,0,1,-513.9,0]],[[2,0,-1,1,0,0,1,-514.6,0]],[[2,0,-1,1,0,0,1,-515.3,0]],[[2,0,-1,1,0,0,1,-516,0]],[[2,0,-1,1,0,0,1,-516.75,0]],[[2,0,-1,1,0,0,1,-517.45,0]],[[2,0,-1,1,0,0,1,-518.15,0]],[[2,0,-1,1,0,0,1,-518.85,0]],[[2,0,-1,1,0,0,1,-519.55,0]],[[2,0,-1,1,0,0,1,-520.3,0]],[[2,0,-1,1,0,0,1,-521,0]],[[2,0,-1,1,0,0,1,-521.7,0]],[[2,0,-1,1,0,0,1,-522.4,0]],[[2,0,-1,1,0,0,1,-523.15,0]],[[2,0,-1,1,0,0,1,-523.85,0]],[[2,0,-1,1,0,0,1,-524.55,0]],[[2,0,-1,1,0,0,1,-525.3,0]],[[2,0,-1,1,0,0,1,-526,0]],[[2,0,-1,1,0,0,1,-526.7,0]],[[2,0,-1,1,0,0,1,-527.4,0]],[[2,0,-1,1,0,0,1,-528.1,0]],[[2,0,-1,1,0,0,1,-528.85,0]],[[2,0,-1,1,0,0,1,-529.55,0]],[[2,0,-1,1,0,0,1,-530.25,0]],[[2,0,-1,1,0,0,1,-530.95,0]],[[2,0,-1,1,0,0,1,-531.65,0]],[[2,0,-1,1,0,0,1,-532.4,0]],[[2,0,-1,1,0,0,1,-533.1,0]],[[2,0,-1,1,0,0,1,-533.8,0]],[[2,0,-1,1,0,0,1,-534.55,0]],[[2,0,-1,1,0,0,1,-535.25,0]],[[2,0,-1,1,0,0,1,-535.95,0]],[[2,0,-1,1,0,0,1,-536.65,0]],[[2,0,-1,1,0,0,1,-537.35,0]],[[2,0,-1,1,0,0,1,-538.05,0]],[[2,0,-1,1,0,0,1,-538.8,0]],[[2,0,-1,1,0,0,1,-539.5,0]],[[2,0,-1,1,0,0,1,-540.2,0]],[[2,0,-1,1,0,0,1,-540.9,0]],[[2,0,-1,1,0,0,1,-541.65,0]],[[2,0,-1,1,0,0,1,-542.35,0]],[[2,0,-1,1,0,0,1,-543.05,0]],[[2,0,-1,1,0,0,1,-543.75,0]],[[2,0,-1,1,0,0,1,-544.5,0]],[[2,0,-1,1,0,0,1,-545.2,0]],[[2,0,-1,1,0,0,1,-545.9,0]],[[2,0,-1,1,0,0,1,-546.6,0]],[[2,0,-1,1,0,0,1,-547.35,0]],[[2,0,-1,1,0,0,1,-548.05,0]],[[2,0,-1,1,0,0,1,-548.75,0]],[[2,0,-1,1,0,0,1,-549.45,0]],[[2,0,-1,1,0,0,1,-550.2,0]],[[2,0,-1,1,0,0,1,-550.9,0]],[[2,0,-1,1,0,0,1,-551.6,0]],[[2,0,-1,1,0,0,1,-552.3,0]],[[2,0,-1,1,0,0,1,-553,0]],[[2,0,-1,1,0,0,1,-553.75,0]],[[2,0,-1,1,0,0,1,-554.45,0]],[[2,0,-1,1,0,0,1,-555.15,0]],[[2,0,-1,1,0,0,1,-555.9,0]],[[2,0,-1,1,0,0,1,-556.6,0]],[[2,0,-1,1,0,0,1,-557.3,0]],[[2,0,-1,1,0,0,1,-558,0]],[[2,0,-1,1,0,0,1,-558.7,0]],[[2,0,-1,1,0,0,1,-559.45,0]],[[2,0,-1,1,0,0,1,-560.15,0]],[[2,0,-1,1,0,0,1,-560.85,0]],[[2,0,-1,1,0,0,1,-561.55,0]],[[2,0,-1,1,0,0,1,-562.25,0]],[[2,0,-1,1,0,0,1,-563,0]],[[2,0,-1,1,0,0,1,-563.7,0]],[[2,0,-1,1,0,0,1,-564.4,0]],[[2,0,-1,1,0,0,1,-565.15,0]],[[2,0,-1,1,0,0,1,-565.85,0]],[[2,0,-1,1,0,0,1,-566.55,0]],[[2,0,-1,1,0,0,1,-567.25,0]],[[2,0,-1,1,0,0,1,-568,0]],[[2,0,-1,1,0,0,1,-568.7,0]],[[2,0,-1,1,0,0,1,-569.4,0]],[[2,0,-1,1,0,0,1,-570.1,0]],[[2,0,-1,1,0,0,1,-570.85,0]],[[2,0,-1,1,0,0,1,-571.55,0]],[[2,0,-1,1,0,0,1,-572.25,0]],[[2,0,-1,1,0,0,1,-572.95,0]],[[2,0,-1,1,0,0,1,-573.65,0]],[[2,0,-1,1,0,0,1,-574.4,0]],[[2,0,-1,1,0,0,1,-575.1,0]],[[2,0,-1,1,0,0,1,-575.8,0]],[[2,0,-1,1,0,0,1,-576.5,0]],[[2,0,-1,1,0,0,1,-577.25,0]],[[2,0,-1,1,0,0,1,-577.95,0]],[[2,0,-1,1,0,0,1,-578.65,0]],[[2,0,-1,1,0,0,1,-579.35,0]],[[2,0,-1,1,0,0,1,-580.05,0]],[[2,0,-1,1,0,0,1,-580.8,0]],[[2,0,-1,1,0,0,1,-581.5,0]],[[2,0,-1,1,0,0,1,-582.2,0]],[[2,0,-1,1,0,0,1,-582.9,0]],[[2,0,-1,1,0,0,1,-583.65,0]],[[2,0,-1,1,0,0,1,-584.35,0]],[[2,0,-1,1,0,0,1,-585.05,0]],[[2,0,-1,1,0,0,1,-585.75,0]],[[2,0,-1,1,0,0,1,-586.5,0]],[[2,0,-1,1,0,0,1,-587.2,0]],[[2,0,-1,1,0,0,1,-587.9,0]],[[2,0,-1,1,0,0,1,-588.6,0]],[[2,0,-1,1,0,0,1,-589.35,0]],[[2,0,-1,1,0,0,1,-590.05,0]],[[2,0,-1,1,0,0,1,-590.75,0]],[[2,0,-1,1,0,0,1,-591.45,0]],[[2,0,-1,1,0,0,1,-592.2,0]],[[2,0,-1,1,0,0,1,-592.9,0]],[[2,0,-1,1,0,0,1,-593.6,0]],[[2,0,-1,1,0,0,1,-594.3,0]],[[2,0,-1,1,0,0,1,-595,0]],[[2,0,-1,1,0,0,1,-595.75,0]],[[2,0,-1,1,0,0,1,-596.45,0]],[[2,0,-1,1,0,0,1,-597.15,0]],[[2,0,-1,1,0,0,1,-597.85,0]],[[2,0,-1,1,0,0,1,-598.6,0]],[[2,0,-1,1,0,0,1,-599.3,0]],[[2,0,-1,1,0,0,1,-600,0]],[[2,0,-1,1,0,0,1,-600.7,0]],[[2,0,-1,1,0,0,1,-601.45,0]],[[2,0,-1,1,0,0,1,-602.15,0]],[[2,0,-1,1,0,0,1,-602.85,0]],[[2,0,-1,1,0,0,1,-603.55,0]],[[2,0,-1,1,0,0,1,-604.25,0]],[[2,0,-1,1,0,0,1,-605,0]],[[2,0,-1,1,0,0,1,-605.7,0]],[[2,0,-1,1,0,0,1,-606.4,0]],[[2,0,-1,1,0,0,1,-607.1,0]],[[2,0,-1,1,0,0,1,-607.85,0]],[[2,0,-1,1,0,0,1,-608.55,0]],[[2,0,-1,1,0,0,1,-609.25,0]],[[2,0,-1,1,0,0,1,-609.95,0]],[[2,0,-1,1,0,0,1,-610.7,0]],[[2,0,-1,1,0,0,1,-611.4,0]],[[2,0,-1,1,0,0,1,-612.1,0]],[[2,0,-1,1,0,0,1,-612.8,0]],[[2,0,-1,1,0,0,1,-613.55,0]],[[2,0,-1,1,0,0,1,-614.25,0]],[[2,0,-1,1,0,0,1,-614.95,0]],[[2,0,-1,1,0,0,1,-615.65,0]],[[2,0,-1,1,0,0,1,-616.35,0]],[[2,0,-1,1,0,0,1,-617.1,0]],[[2,0,-1,1,0,0,1,-617.8,0]],[[2,0,-1,1,0,0,1,-618.5,0]],[[2,0,-1,1,0,0,1,-619.2,0]],[[2,0,-1,1,0,0,1,-619.95,0]],[[2,0,-1,1,0,0,1,-620.65,0]],[[2,0,-1,1,0,0,1,-621.35,0]],[[2,0,-1,1,0,0,1,-622.05,0]],[[2,0,-1,1,0,0,1,-622.8,0]],[[2,0,-1,1,0,0,1,-623.5,0]],[[2,0,-1,1,0,0,1,-624.2,0]],[[2,0,-1,1,0,0,1,-624.9,0]],[[2,0,-1,1,0,0,1,-625.6,0]],[[2,0,-1,1,0,0,1,-626.35,0]],[[2,0,-1,1,0,0,1,-627.05,0]],[[2,0,-1,1,0,0,1,-627.75,0]],[[2,0,-1,1,0,0,1,-628.5,0]],[[2,0,-1,1,0,0,1,-629.2,0]],[[2,0,-1,1,0,0,1,-629.9,0]],[[2,0,-1,1,0,0,1,-630.6,0]],[[2,0,-1,1,0,0,1,-631.3,0]],[[2,0,-1,1,0,0,1,-632,0]],[[2,0,-1,1,0,0,1,-632.75,0]],[[2,0,-1,1,0,0,1,-633.45,0]],[[2,0,-1,1,0,0,1,-634.15,0]],[[2,0,-1,1,0,0,1,-634.9,0]],[[2,0,-1,1,0,0,1,-635.6,0]],[[2,0,-1,1,0,0,1,-636.3,0]],[[2,0,-1,1,0,0,1,-637,0]],[[2,0,-1,1,0,0,1,-637.7,0]],[[2,0,-1,1,0,0,1,-638.45,0]],[[2,0,-1,1,0,0,1,-639.15,0]],[[2,0,-1,1,0,0,1,-639.85,0]],[[2,0,-1,1,0,0,1,-640.6,0]],[[2,0,-1,1,0,0,1,-641.3,0]],[[2,0,-1,1,0,0,1,-642,0]],[[2,0,-1,1,0,0,1,-642.7,0]],[[2,0,-1,1,0,0,1,-643.4,0]],[[2,0,-1,1,0,0,1,-644.15,0]],[[2,0,-1,1,0,0,1,-644.85,0]],[[2,0,-1,1,0,0,1,-645.55,0]],[[2,0,-1,1,0,0,1,-646.25,0]],[[2,0,-1,1,0,0,1,-646.95,0]],[[2,0,-1,1,0,0,1,-647.7,0]],[[2,0,-1,1,0,0,1,-648.4,0]],[[2,0,-1,1,0,0,1,-649.1,0]],[[2,0,-1,1,0,0,1,-649.85,0]],[[2,0,-1,1,0,0,1,-650.55,0]],[[2,0,-1,1,0,0,1,-651.25,0]],[[2,0,-1,1,0,0,1,-651.95,0]],[[2,0,-1,1,0,0,1,-652.65,0]],[[2,0,-1,1,0,0,1,-653.4,0]],[[2,0,-1,1,0,0,1,-654.1,0]],[[2,0,-1,1,0,0,1,-654.8,0]],[[2,0,-1,1,0,0,1,-655.55,0]],[[2,0,-1,1,0,0,1,-656.25,0]],[[2,0,-1,1,0,0,1,-656.95,0]],[[2,0,-1,1,0,0,1,-657.65,0]],[[2,0,-1,1,0,0,1,-658.35,0]],[[2,0,-1,1,0,0,1,-659.1,0]],[[2,0,-1,1,0,0,1,-659.8,0]],[[2,0,-1,1,0,0,1,-660.5,0]],[[2,0,-1,1,0,0,1,-661.2,0]],[[2,0,-1,1,0,0,1,-661.9,0]],[[2,0,-1,1,0,0,1,-662.65,0]],[[2,0,-1,1,0,0,1,-663.35,0]],[[2,0,-1,1,0,0,1,-664.05,0]],[[2,0,-1,1,0,0,1,-664.8,0]],[[2,0,-1,1,0,0,1,-665.5,0]],[[2,0,-1,1,0,0,1,-666.2,0]],[[2,0,-1,1,0,0,1,-666.9,0]],[[2,0,-1,1,0,0,1,-667.6,0]],[[2,0,-1,1,0,0,1,-668.3,0]],[[2,0,-1,1,0,0,1,-669.05,0]],[[2,0,-1,1,0,0,1,-669.75,0]],[[2,0,-1,1,0,0,1,-670.45,0]],[[2,0,-1,1,0,0,1,-671.2,0]],[[2,0,-1,1,0,0,1,-671.9,0]],[[2,0,-1,1,0,0,1,-672.6,0]],[[2,0,-1,1,0,0,1,-673.3,0]],[[2,0,-1,1,0,0,1,-674,0]],[[2,0,-1,1,0,0,1,-674.75,0]],[[2,0,-1,1,0,0,1,-675.45,0]],[[2,0,-1,1,0,0,1,-676.15,0]],[[2,0,-1,1,0,0,1,-676.85,0]],[[2,0,-1,1,0,0,1,-677.6,0]],[[2,0,-1,1,0,0,1,-678.3,0]],[[2,0,-1,1,0,0,1,-679,0]],[[2,0,-1,1,0,0,1,-679.7,0]],[[2,0,-1,1,0,0,1,-680.45,0]],[[2,0,-1,1,0,0,1,-681.15,0]],[[2,0,-1,1,0,0,1,-681.85,0]],[[2,0,-1,1,0,0,1,-682.55,0]],[[2,0,-1,1,0,0,1,-683.25,0]],[[2,0,-1,1,0,0,1,-684,0]],[[2,0,-1,1,0,0,1,-684.7,0]],[[2,0,-1,1,0,0,1,-685.4,0]],[[2,0,-1,1,0,0,1,-686.15,0]],[[2,0,-1,1,0,0,1,-686.85,0]],[[2,0,-1,1,0,0,1,-687.55,0]],[[2,0,-1,1,0,0,1,-688.25,0]],[[2,0,-1,1,0,0,1,-688.95,0]],[[2,0,-1,1,0,0,1,-689.7,0]],[[2,0,-1,1,0,0,1,-690.4,0]],[[2,0,-1,1,0,0,1,-691.1,0]],[[2,0,-1,1,0,0,1,-691.8,0]],[[2,0,-1,1,0,0,1,-692.55,0]],[[2,0,-1,1,0,0,1,-693.25,0]],[[2,0,-1,1,0,0,1,-693.95,0]],[[2,0,-1,1,0,0,1,-694.65,0]],[[2,0,-1,1,0,0,1,-695.35,0]],[[2,0,-1,1,0,0,1,-696.1,0]],[[2,0,-1,1,0,0,1,-696.8,0]],[[2,0,-1,1,0,0,1,-697.5,0]],[[2,0,-1,1,0,0,1,-698.2,0]],[[2,0,-1,1,0,0,1,-698.95,0]],[[2,0,-1,1,0,0,1,-699.65,0]],[[2,0,-1,1,0,0,1,-700.35,0]],[[2,0,-1,1,0,0,1,-701.05,0]],[[2,0,-1,1,0,0,1,-701.8,0]],[[2,0,-1,1,0,0,1,-702.5,0]],[[2,0,-1,1,0,0,1,-703.2,0]],[[2,0,-1,1,0,0,1,-703.9,0]],[[2,0,-1,1,0,0,1,-704.6,0]],[[2,0,-1,1,0,0,1,-705.35,0]],[[2,0,-1,1,0,0,1,-706.05,0]],[[2,0,-1,1,0,0,1,-706.75,0]],[[2,0,-1,1,0,0,1,-707.5,0]],[[2,0,-1,1,0,0,1,-708.2,0]],[[2,0,-1,1,0,0,1,-708.9,0]],[[2,0,-1,1,0,0,1,-709.6,0]],[[2,0,-1,1,0,0,1,-710.3,0]],[[2,0,-1,1,0,0,1,-711.05,0]],[[2,0,-1,1,0,0,1,-711.75,0]],[[2,0,-1,1,0,0,1,-712.45,0]],[[2,0,-1,1,0,0,1,-713.15,0]],[[2,0,-1,1,0,0,1,-713.9,0]],[[2,0,-1,1,0,0,1,-714.6,0]],[[2,0,-1,1,0,0,1,-715.3,0]],[[2,0,-1,1,0,0,1,-716,0]],[[2,0,-1,1,0,0,1,-716.75,0]],[[2,0,-1,1,0,0,1,-717.45,0]],[[2,0,-1,1,0,0,1,-718.15,0]],[[2,0,-1,1,0,0,1,-718.85,0]],[[2,0,-1,1,0,0,1,-719.6,0]],[[2,0,-1,1,0,0,1,-720.3,0]],[[2,0,-1,1,0,0,1,-721,0]],[[2,0,-1,1,0,0,1,-721.7,0]],[[2,0,-1,1,0,0,1,-722.45,0]],[[2,0,-1,1,0,0,1,-723.15,0]],[[2,0,-1,1,0,0,1,-723.85,0]],[[2,0,-1,1,0,0,1,-724.55,0]],[[2,0,-1,1,0,0,1,-725.25,0]],[[2,0,-1,1,0,0,1,-725.95,0]],[[2,0,-1,1,0,0,1,-726.7,0]],[[2,0,-1,1,0,0,1,-727.4,0]],[[2,0,-1,1,0,0,1,-728.1,0]],[[2,0,-1,1,0,0,1,-728.85,0]],[[2,0,-1,1,0,0,1,-729.55,0]],[[2,0,-1,1,0,0,1,-730.25,0]],[[2,0,-1,1,0,0,1,-730.95,0]],[[2,0,-1,1,0,0,1,-731.65,0]],[[2,0,-1,1,0,0,1,-732.4,0]],[[2,0,-1,1,0,0,1,-733.1,0]],[[2,0,-1,1,0,0,1,-733.8,0]],[[2,0,-1,1,0,0,1,-734.5,0]],[[2,0,-1,1,0,0,1,-735.25,0]],[[2,0,-1,1,0,0,1,-735.95,0]],[[2,0,-1,1,0,0,1,-736.65,0]],[[2,0,-1,1,0,0,1,-737.35,0]],[[2,0,-1,1,0,0,1,-738.1,0]],[[2,0,-1,1,0,0,1,-738.8,0]],[[2,0,-1,1,0,0,1,-739.5,0]],[[2,0,-1,1,0,0,1,-740.2,0]],[[2,0,-1,1,0,0,1,-740.9,0]],[[2,0,-1,1,0,0,1,-741.65,0]],[[2,0,-1,1,0,0,1,-742.35,0]],[[2,0,-1,1,0,0,1,-743.05,0]],[[2,0,-1,1,0,0,1,-743.8,0]],[[2,0,-1,1,0,0,1,-744.5,0]],[[2,0,-1,1,0,0,1,-745.2,0]],[[2,0,-1,1,0,0,1,-745.9,0]],[[2,0,-1,1,0,0,1,-746.6,0]],[[2,0,-1,1,0,0,1,-747.35,0]],[[2,0,-1,1,0,0,1,-748.05,0]],[[2,0,-1,1,0,0,1,-748.75,0]],[[2,0,-1,1,0,0,1,-749.45,0]],[[2,0,-1,1,0,0,1,-750.2,0]],[[2,0,-1,1,0,0,1,-750.9,0]],[[2,0,-1,1,0,0,1,-751.6,0]],[[2,0,-1,1,0,0,1,-752.3,0]],[[2,0,-1,1,0,0,1,-753.05,0]],[[2,0,-1,1,0,0,1,-753.75,0]],[[2,0,-1,1,0,0,1,-754.45,0]],[[2,0,-1,1,0,0,1,-755.15,0]],[[2,0,-1,1,0,0,1,-755.85,0]],[[2,0,-1,1,0,0,1,-756.6,0]],[[2,0,-1,1,0,0,1,-757.3,0]],[[2,0,-1,1,0,0,1,-758,0]],[[2,0,-1,1,0,0,1,-758.75,0]],[[2,0,-1,1,0,0,1,-759.45,0]],[[2,0,-1,1,0,0,1,-760.15,0]],[[2,0,-1,1,0,0,1,-760.85,0]],[[2,0,-1,1,0,0,1,-761.55,0]],[[2,0,-1,1,0,0,1,-762.25,0]],[[2,0,-1,1,0,0,1,-763,0]],[[2,0,-1,1,0,0,1,-763.7,0]],[[2,0,-1,1,0,0,1,-764.4,0]],[[2,0,-1,1,0,0,1,-765.15,0]],[[2,0,-1,1,0,0,1,-765.85,0]],[[2,0,-1,1,0,0,1,-766.55,0]],[[2,0,-1,1,0,0,1,-767.25,0]],[[2,0,-1,1,0,0,1,-767.95,0]],[[2,0,-1,1,0,0,1,-768.7,0]],[[2,0,-1,1,0,0,1,-769.4,0]],[[2,0,-1,1,0,0,1,-770.1,0]],[[2,0,-1,1,0,0,1,-770.8,0]],[[2,0,-1,1,0,0,1,-771.55,0]],[[2,0,-1,1,0,0,1,-772.25,0]],[[2,0,-1,1,0,0,1,-772.95,0]],[[2,0,-1,1,0,0,1,-773.65,0]],[[2,0,-1,1,0,0,1,-774.4,0]],[[2,0,-1,1,0,0,1,-775.1,0]],[[2,0,-1,1,0,0,1,-775.8,0]],[[2,0,-1,1,0,0,1,-776.5,0]],[[2,0,-1,1,0,0,1,-777.2,0]],[[2,0,-1,1,0,0,1,-777.95,0]],[[2,0,-1,1,0,0,1,-778.65,0]],[[2,0,-1,1,0,0,1,-779.35,0]],[[2,0,-1,1,0,0,1,-780.1,0]],[[2,0,-1,1,0,0,1,-780.8,0]],[[2,0,-1,1,0,0,1,-781.5,0]],[[2,0,-1,1,0,0,1,-782.2,0]],[[2,0,-1,1,0,0,1,-782.9,0]],[[2,0,-1,1,0,0,1,-783.65,0]],[[2,0,-1,1,0,0,1,-784.35,0]],[[2,0,-1,1,0,0,1,-785.05,0]],[[2,0,-1,1,0,0,1,-785.8,0]],[[2,0,-1,1,0,0,1,-786.5,0]],[[2,0,-1,1,0,0,1,-787.2,0]],[[2,0,-1,1,0,0,1,-787.9,0]],[[2,0,-1,1,0,0,1,-788.6,0]],[[2,0,-1,1,0,0,1,-789.3,0]],[[2,0,-1,1,0,0,1,-790.05,0]],[[2,0,-1,1,0,0,1,-790.75,0]],[[2,0,-1,1,0,0,1,-791.45,0]],[[2,0,-1,1,0,0,1,-792.15,0]],[[2,0,-1,1,0,0,1,-792.9,0]],[[2,0,-1,1,0,0,1,-793.6,0]],[[2,0,-1,1,0,0,1,-794.3,0]],[[2,0,-1,1,0,0,1,-795,0]],[[2,0,-1,1,0,0,1,-795.75,0]],[[2,0,-1,1,0,0,1,-796.45,0]],[[2,0,-1,1,0,0,1,-797.15,0]],[[2,0,-1,1,0,0,1,-797.85,0]],[[2,0,-1,1,0,0,1,-798.6,0]],[[2,0,-1,1,0,0,1,-799.3,0]],[[2,0,-1,1,0,0,1,-800,0]],[[2,0,-1,1,0,0,1,-800.7,0]],[[2,0,-1,1,0,0,1,-801.45,0]],[[2,0,-1,1,0,0,1,-802.15,0]],[[2,0,-1,1,0,0,1,-802.85,0]],[[2,0,-1,1,0,0,1,-803.55,0]],[[2,0,-1,1,0,0,1,-804.25,0]],[[2,0,-1,1,0,0,1,-805,0]],[[2,0,-1,1,0,0,1,-805.7,0]],[[2,0,-1,1,0,0,1,-806.4,0]],[[2,0,-1,1,0,0,1,-807.15,0]],[[2,0,-1,1,0,0,1,-807.85,0]],[[2,0,-1,1,0,0,1,-808.55,0]],[[2,0,-1,1,0,0,1,-809.25,0]],[[2,0,-1,1,0,0,1,-809.95,0]],[[2,0,-1,1,0,0,1,-810.7,0]],[[2,0,-1,1,0,0,1,-811.4,0]],[[2,0,-1,1,0,0,1,-812.1,0]],[[2,0,-1,1,0,0,1,-812.8,0]],[[2,0,-1,1,0,0,1,-813.5,0]],[[2,0,-1,1,0,0,1,-814.25,0]],[[2,0,-1,1,0,0,1,-814.95,0]],[[2,0,-1,1,0,0,1,-815.65,0]],[[2,0,-1,1,0,0,1,-816.4,0]],[[2,0,-1,1,0,0,1,-817.1,0]],[[2,0,-1,1,0,0,1,-817.8,0]],[[2,0,-1,1,0,0,1,-818.5,0]],[[2,0,-1,1,0,0,1,-819.2,0]],[[2,0,-1,1,0,0,1,-819.9,0]],[[2,0,-1,1,0,0,1,-820.65,0]],[[2,0,-1,1,0,0,1,-821.35,0]],[[2,0,-1,1,0,0,1,-822.05,0]],[[2,0,-1,1,0,0,1,-822.8,0]],[[2,0,-1,1,0,0,1,-823.5,0]],[[2,0,-1,1,0,0,1,-824.2,0]],[[2,0,-1,1,0,0,1,-824.9,0]],[[2,0,-1,1,0,0,1,-825.6,0]],[[2,0,-1,1,0,0,1,-826.35,0]],[[2,0,-1,1,0,0,1,-827.05,0]],[[2,0,-1,1,0,0,1,-827.75,0]],[[2,0,-1,1,0,0,1,-828.45,0]],[[2,0,-1,1,0,0,1,-829.2,0]],[[2,0,-1,1,0,0,1,-829.9,0]],[[2,0,-1,1,0,0,1,-830.6,0]],[[2,0,-1,1,0,0,1,-831.3,0]],[[2,0,-1,1,0,0,1,-832.05,0]],[[2,0,-1,1,0,0,1,-832.75,0]],[[2,0,-1,1,0,0,1,-833.45,0]],[[2,0,-1,1,0,0,1,-834.15,0]],[[2,0,-1,1,0,0,1,-834.9,0]],[[2,0,-1,1,0,0,1,-835.6,0]],[[2,0,-1,1,0,0,1,-836.3,0]],[[2,0,-1,1,0,0,1,-837,0]],[[2,0,-1,1,0,0,1,-837.75,0]],[[2,0,-1,1,0,0,1,-838.45,0]],[[2,0,-1,1,0,0,1,-839.15,0]],[[2,0,-1,1,0,0,1,-839.85,0]],[[2,0,-1,1,0,0,1,-840.55,0]],[[2,0,-1,1,0,0,1,-841.3,0]],[[2,0,-1,1,0,0,1,-842,0]],[[2,0,-1,1,0,0,1,-842.7,0]],[[2,0,-1,1,0,0,1,-843.4,0]],[[2,0,-1,1,0,0,1,-844.15,0]],[[2,0,-1,1,0,0,1,-844.85,0]],[[2,0,-1,1,0,0,1,-845.55,0]],[[2,0,-1,1,0,0,1,-846.25,0]],[[2,0,-1,1,0,0,1,-847,0]],[[2,0,-1,1,0,0,1,-847.7,0]],[[2,0,-1,1,0,0,1,-848.4,0]],[[2,0,-1,1,0,0,1,-849.1,0]],[[2,0,-1,1,0,0,1,-849.85,0]],[[2,0,-1,1,0,0,1,-850.55,0]],[[2,0,-1,1,0,0,1,-851.25,0]],[[2,0,-1,1,0,0,1,-851.95,0]],[[2,0,-1,1,0,0,1,-852.65,0]],[[2,0,-1,1,0,0,1,-853.4,0]],[[2,0,-1,1,0,0,1,-854.1,0]],[[2,0,-1,1,0,0,1,-854.8,0]],[[2,0,-1,1,0,0,1,-855.5,0]],[[2,0,-1,1,0,0,1,-856.25,0]],[[2,0,-1,1,0,0,1,-856.95,0]],[[2,0,-1,1,0,0,1,-857.65,0]],[[2,0,-1,1,0,0,1,-858.35,0]],[[2,0,-1,1,0,0,1,-859.1,0]],[[2,0,-1,1,0,0,1,-859.8,0]],[[2,0,-1,1,0,0,1,-860.5,0]],[[2,0,-1,1,0,0,1,-861.2,0]],[[2,0,-1,1,0,0,1,-861.9,0]],[[2,0,-1,1,0,0,1,-862.65,0]],[[2,0,-1,1,0,0,1,-863.35,0]],[[2,0,-1,1,0,0,1,-864.05,0]],[[2,0,-1,1,0,0,1,-864.8,0]],[[2,0,-1,1,0,0,1,-865.5,0]],[[2,0,-1,1,0,0,1,-866.2,0]],[[2,0,-1,1,0,0,1,-866.9,0]],[[2,0,-1,1,0,0,1,-867.6,0]],[[2,0,-1,1,0,0,1,-868.35,0]],[[2,0,-1,1,0,0,1,-869.05,0]],[[2,0,-1,1,0,0,1,-869.75,0]],[[2,0,-1,1,0,0,1,-870.45,0]],[[2,0,-1,1,0,0,1,-871.15,0]],[[2,0,-1,1,0,0,1,-871.9,0]],[[2,0,-1,1,0,0,1,-872.6,0]],[[2,0,-1,1,0,0,1,-873.3,0]],[[2,0,-1,1,0,0,1,-874.05,0]],[[2,0,-1,1,0,0,1,-874.75,0]],[[2,0,-1,1,0,0,1,-875.45,0]],[[2,0,-1,1,0,0,1,-876.15,0]],[[2,0,-1,1,0,0,1,-876.85,0]],[[2,0,-1,1,0,0,1,-877.6,0]],[[2,0,-1,1,0,0,1,-878.3,0]],[[2,0,-1,1,0,0,1,-879,0]],[[2,0,-1,1,0,0,1,-879.75,0]],[[2,0,-1,1,0,0,1,-880.45,0]],[[2,0,-1,1,0,0,1,-881.15,0]],[[2,0,-1,1,0,0,1,-881.85,0]],[[2,0,-1,1,0,0,1,-882.55,0]],[[2,0,-1,1,0,0,1,-883.25,0]],[[2,0,-1,1,0,0,1,-884,0]],[[2,0,-1,1,0,0,1,-884.7,0]],[[2,0,-1,1,0,0,1,-885.4,0]],[[2,0,-1,1,0,0,1,-886.15,0]],[[2,0,-1,1,0,0,1,-886.85,0]],[[2,0,-1,1,0,0,1,-887.55,0]],[[2,0,-1,1,0,0,1,-888.25,0]],[[2,0,-1,1,0,0,1,-888.95,0]],[[2,0,-1,1,0,0,1,-889.7,0]],[[2,0,-1,1,0,0,1,-890.4,0]],[[2,0,-1,1,0,0,1,-891.1,0]],[[2,0,-1,1,0,0,1,-891.8,0]],[[2,0,-1,1,0,0,1,-892.55,0]],[[2,0,-1,1,0,0,1,-893.25,0]],[[2,0,-1,1,0,0,1,-893.95,0]],[[2,0,-1,1,0,0,1,-894.65,0]],[[2,0,-1,1,0,0,1,-895.4,0]],[[2,0,-1,1,0,0,1,-896.1,0]],[[2,0,-1,1,0,0,1,-896.8,0]],[[2,0,-1,1,0,0,1,-897.5,0]],[[2,0,-1,1,0,0,1,-898.2,0]],[[2,0,-1,1,0,0,1,-898.95,0]],[[2,0,-1,1,0,0,1,-899.65,0]],[[2,0,-1,1,0,0,1,-900.35,0]],[[2,0,-1,1,0,0,1,-901.1,0]],[[2,0,-1,1,0,0,1,-901.8,0]],[[2,0,-1,1,0,0,1,-902.5,0]],[[2,0,-1,1,0,0,1,-903.2,0]],[[2,0,-1,1,0,0,1,-903.9,0]],[[2,0,-1,1,0,0,1,-904.65,0]],[[2,0,-1,1,0,0,1,-905.35,0]],[[2,0,-1,1,0,0,1,-906.05,0]],[[2,0,-1,1,0,0,1,-906.75,0]],[[2,0,-1,1,0,0,1,-907.5,0]],[[2,0,-1,1,0,0,1,-908.2,0]],[[2,0,-1,1,0,0,1,-908.9,0]],[[2,0,-1,1,0,0,1,-909.6,0]],[[2,0,-1,1,0,0,1,-910.35,0]],[[2,0,-1,1,0,0,1,-911.05,0]],[[2,0,-1,1,0,0,1,-911.75,0]],[[2,0,-1,1,0,0,1,-912.45,0]],[[2,0,-1,1,0,0,1,-913.15,0]],[[2,0,-1,1,0,0,1,-913.9,0]],[[2,0,-1,1,0,0,1,-914.6,0]],[[2,0,-1,1,0,0,1,-915.3,0]],[[2,0,-1,1,0,0,1,-916.05,0]],[[2,0,-1,1,0,0,1,-916.75,0]],[[2,0,-1,1,0,0,1,-917.45,0]],[[2,0,-1,1,0,0,1,-918.15,0]],[[2,0,-1,1,0,0,1,-918.85,0]],[[2,0,-1,1,0,0,1,-919.55,0]],[[2,0,-1,1,0,0,1,-920.3,0]],[[2,0,-1,1,0,0,1,-921,0]],[[2,0,-1,1,0,0,1,-921.7,0]],[[2,0,-1,1,0,0,1,-922.45,0]],[[2,0,-1,1,0,0,1,-923.15,0]],[[2,0,-1,1,0,0,1,-923.85,0]],[[2,0,-1,1,0,0,1,-924.55,0]],[[2,0,-1,1,0,0,1,-925.25,0]],[[2,0,-1,1,0,0,1,-926,0]],[[2,0,-1,1,0,0,1,-926.7,0]],[[2,0,-1,1,0,0,1,-927.4,0]],[[2,0,-1,1,0,0,1,-928.1,0]],[[2,0,-1,1,0,0,1,-928.85,0]],[[2,0,-1,1,0,0,1,-929.55,0]],[[2,0,-1,1,0,0,1,-930.25,0]],[[2,0,-1,1,0,0,1,-930.95,0]],[[2,0,-1,1,0,0,1,-931.7,0]],[[2,0,-1,1,0,0,1,-932.4,0]],[[2,0,-1,1,0,0,1,-933.1,0]],[[2,0,-1,1,0,0,1,-933.8,0]],[[2,0,-1,1,0,0,1,-934.5,0]],[[2,0,-1,1,0,0,1,-935.25,0]],[[2,0,-1,1,0,0,1,-935.95,0]],[[2,0,-1,1,0,0,1,-936.65,0]],[[2,0,-1,1,0,0,1,-937.4,0]],[[2,0,-1,1,0,0,1,-938.1,0]],[[2,0,-1,1,0,0,1,-938.8,0]],[[2,0,-1,1,0,0,1,-939.5,0]],[[2,0,-1,1,0,0,1,-940.2,0]],[[2,0,-1,1,0,0,1,-940.9,0]],[[2,0,-1,1,0,0,1,-941.65,0]],[[2,0,-1,1,0,0,1,-942.35,0]],[[2,0,-1,1,0,0,1,-943.05,0]],[[2,0,-1,1,0,0,1,-943.8,0]],[[2,0,-1,1,0,0,1,-944.5,0]],[[2,0,-1,1,0,0,1,-945.2,0]],[[2,0,-1,1,0,0,1,-945.9,0]],[[2,0,-1,1,0,0,1,-946.6,0]],[[2,0,-1,1,0,0,1,-947.35,0]],[[2,0,-1,1,0,0,1,-948.05,0]],[[2,0,-1,1,0,0,1,-948.75,0]],[[2,0,-1,1,0,0,1,-949.45,0]],[[2,0,-1,1,0,0,1,-950.2,0]],[[2,0,-1,1,0,0,1,-950.9,0]],[[2,0,-1,1,0,0,1,-951.6,0]],[[2,0,-1,1,0,0,1,-952.3,0]],[[2,0,-1,1,0,0,1,-953.05,0]],[[2,0,-1,1,0,0,1,-953.75,0]],[[2,0,-1,1,0,0,1,-954.45,0]],[[2,0,-1,1,0,0,1,-955.15,0]],[[2,0,-1,1,0,0,1,-955.85,0]],[[2,0,-1,1,0,0,1,-956.6,0]],[[2,0,-1,1,0,0,1,-957.3,0]],[[2,0,-1,1,0,0,1,-958,0]],[[2,0,-1,1,0,0,1,-958.75,0]],[[2,0,-1,1,0,0,1,-959.45,0]],[[2,0,-1,1,0,0,1,-960.15,0]],[[2,0,-1,1,0,0,1,-960.85,0]],[[2,0,-1,1,0,0,1,-961.55,0]],[[2,0,-1,1,0,0,1,-962.3,0]],[[2,0,-1,1,0,0,1,-963,0]],[[2,0,-1,1,0,0,1,-963.7,0]],[[2,0,-1,1,0,0,1,-964.4,0]],[[2,0,-1,1,0,0,1,-965.15,0]],[[2,0,-1,1,0,0,1,-965.85,0]],[[2,0,-1,1,0,0,1,-966.55,0]],[[2,0,-1,1,0,0,1,-967.25,0]],[[2,0,-1,1,0,0,1,-968,0]],[[2,0,-1,1,0,0,1,-968.7,0]],[[2,0,-1,1,0,0,1,-969.4,0]],[[2,0,-1,1,0,0,1,-970.1,0]],[[2,0,-1,1,0,0,1,-970.8,0]],[[2,0,-1,1,0,0,1,-971.55,0]],[[2,0,-1,1,0,0,1,-972.25,0]],[[2,0,-1,1,0,0,1,-972.95,0]],[[2,0,-1,1,0,0,1,-973.7,0]],[[2,0,-1,1,0,0,1,-974.4,0]],[[2,0,-1,1,0,0,1,-975.1,0]],[[2,0,-1,1,0,0,1,-975.8,0]],[[2,0,-1,1,0,0,1,-976.5,0]],[[2,0,-1,1,0,0,1,-977.2,0]],[[2,0,-1,1,0,0,1,-977.95,0]],[[2,0,-1,1,0,0,1,-978.65,0]],[[2,0,-1,1,0,0,1,-979.35,0]],[[2,0,-1,1,0,0,1,-980.1,0]],[[2,0,-1,1,0,0,1,-980.8,0]],[[2,0,-1,1,0,0,1,-981.5,0]],[[2,0,-1,1,0,0,1,-982.2,0]],[[2,0,-1,1,0,0,1,-982.9,0]],[[2,0,-1,1,0,0,1,-983.65,0]],[[2,0,-1,1,0,0,1,-984.35,0]],[[2,0,-1,1,0,0,1,-985.05,0]],[[2,0,-1,1,0,0,1,-985.75,0]],[[2,0,-1,1,0,0,1,-986.5,0]],[[2,0,-1,1,0,0,1,-987.2,0]],[[2,0,-1,1,0,0,1,-987.9,0]],[[2,0,-1,1,0,0,1,-988.6,0]],[[2,0,-1,1,0,0,1,-989.35,0]],[[2,0,-1,1,0,0,1,-990.05,0]],[[2,0,-1,1,0,0,1,-990.75,0]],[[2,0,-1,1,0,0,1,-991.45,0]],[[2,0,-1,1,0,0,1,-992.15,0]],[[2,0,-1,1,0,0,1,-992.9,0]],[[2,0,-1,1,0,0,1,-993.6,0]],[[2,0,-1,1,0,0,1,-994.3,0]],[[2,0,-1,1,0,0,1,-995.05,0]],[[2,0,-1,1,0,0,1,-995.75,0]],[[2,0,-1,1,0,0,1,-996.45,0]],[[2,0,-1,1,0,0,1,-997.15,0]],[[2,0,-1,1,0,0,1,-997.85,0]],[[2,0,-1,1,0,0,1,-998.6,0]],[[2,0,-1,1,0,0,1,-999.3,0]],[[2,0,-1,1,0,0,1,-1000,0]],[[2,0,-1,1,0,0,1,-1000.7,0]],[[2,0,-1,1,0,0,1,-1001.45,0]],[[2,0,-1,1,0,0,1,-1002.15,0]],[[2,0,-1,1,0,0,1,-1002.85,0]],[[2,0,-1,1,0,0,1,-1003.55,0]],[[2,0,-1,1,0,0,1,-1004.3,0]],[[2,0,-1,1,0,0,1,-1005,0]],[[2,0,-1,1,0,0,1,-1005.7,0]],[[2,0,-1,1,0,0,1,-1006.4,0]],[[2,0,-1,1,0,0,1,-1007.1,0]],[[2,0,-1,1,0,0,1,-1007.85,0]],[[2,0,-1,1,0,0,1,-1008.55,0]],[[2,0,-1,1,0,0,1,-1009.25,0]],[[2,0,-1,1,0,0,1,-1009.95,0]],[[2,0,-1,1,0,0,1,-1010.7,0]],[[2,0,-1,1,0,0,1,-1011.4,0]],[[2,0,-1,1,0,0,1,-1012.1,0]],[[2,0,-1,1,0,0,1,-1012.8,0]],[[2,0,-1,1,0,0,1,-1013.5,0]],[[2,0,-1,1,0,0,1,-1014.25,0]],[[2,0,-1,1,0,0,1,-1014.95,0]],[[2,0,-1,1,0,0,1,-1015.65,0]],[[2,0,-1,1,0,0,1,-1016.4,0]],[[2,0,-1,1,0,0,1,-1017.1,0]],[[2,0,-1,1,0,0,1,-1017.8,0]],[[2,0,-1,1,0,0,1,-1018.5,0]],[[2,0,-1,1,0,0,1,-1019.2,0]],[[2,0,-1,1,0,0,1,-1019.95,0]],[[2,0,-1,1,0,0,1,-1020.65,0]],[[2,0,-1,1,0,0,1,-1021.35,0]],[[2,0,-1,1,0,0,1,-1022.05,0]],[[2,0,-1,1,0,0,1,-1022.8,0]],[[2,0,-1,1,0,0,1,-1023.5,0]],[[2,0,-1,1,0,0,1,-1024.2,0]],[[2,0,-1,1,0,0,1,-1024.9,0]],[[2,0,-1,1,0,0,1,-1025.65,0]],[[2,0,-1,1,0,0,1,-1026.35,0]],[[2,0,-1,1,0,0,1,-1027.05,0]],[[2,0,-1,1,0,0,1,-1027.75,0]],[[2,0,-1,1,0,0,1,-1028.45,0]],[[2,0,-1,1,0,0,1,-1029.2,0]],[[2,0,-1,1,0,0,1,-1029.9,0]],[[2,0,-1,1,0,0,1,-1030.6,0]],[[2,0,-1,1,0,0,1,-1031.35,0]],[[2,0,-1,1,0,0,1,-1032.05,0]],[[2,0,-1,1,0,0,1,-1032.75,0]],[[2,0,-1,1,0,0,1,-1033.45,0]],[[2,0,-1,1,0,0,1,-1034.15,0]],[[2,0,-1,1,0,0,1,-1034.85,0]],[[2,0,-1,1,0,0,1,-1035.6,0]],[[2,0,-1,1,0,0,1,-1036.3,0]],[[2,0,-1,1,0,0,1,-1037,0]],[[2,0,-1,1,0,0,1,-1037.75,0]],[[2,0,-1,1,0,0,1,-1038.45,0]],[[2,0,-1,1,0,0,1,-1039.15,0]],[[2,0,-1,1,0,0,1,-1039.85,0]],[[2,0,-1,1,0,0,1,-1040.55,0]],[[2,0,-1,1,0,0,1,-1041.3,0]],[[2,0,-1,1,0,0,1,-1042,0]],[[2,0,-1,1,0,0,1,-1042.7,0]],[[2,0,-1,1,0,0,1,-1043.4,0]],[[2,0,-1,1,0,0,1,-1044.15,0]],[[2,0,-1,1,0,0,1,-1044.85,0]],[[2,0,-1,1,0,0,1,-1045.55,0]],[[2,0,-1,1,0,0,1,-1046.25,0]],[[2,0,-1,1,0,0,1,-1047,0]],[[2,0,-1,1,0,0,1,-1047.7,0]],[[2,0,-1,1,0,0,1,-1048.4,0]],[[2,0,-1,1,0,0,1,-1049.1,0]],[[2,0,-1,1,0,0,1,-1049.8,0]],[[2,0,-1,1,0,0,1,-1050.55,0]],[[2,0,-1,1,0,0,1,-1051.25,0]]],[64,"Symbol 7","",false,[],[],[[1,68,-1,0]],[[2,0,-1,1,0,0,1,-0.3,0]],[[2,0,-1,1,0,0,1,-0.6,0]],[[2,0,-1,1,0,0,1,-0.9,0]],[[2,0,-1,1,0,0,1,-1.2,0]],[[2,0,-1,1,0,0,1,-1.5,0]],[[2,0,-1,1,0,0,1,-1.8,0]],[[2,0,-1,1,0,0,1,-2.1,0]],[[2,0,-1,1,0,0,1,-2.4,0]],[[2,0,-1,1,0,0,1,-2.7,0]],[[2,0,-1,1,0,0,1,-3,0]],[[2,0,-1,1,0,0,1,-3.3,0]],[[2,0,-1,1,0,0,1,-3.6,0]],[[2,0,-1,1,0,0,1,-3.95,0]],[[2,0,-1,1,0,0,1,-4.25,0]],[[2,0,-1,1,0,0,1,-4.55,0]],[[2,0,-1,1,0,0,1,-4.85,0]],[[2,0,-1,1,0,0,1,-5.15,0]],[[2,0,-1,1,0,0,1,-5.45,0]],[[2,0,-1,1,0,0,1,-5.75,0]],[[2,0,-1,1,0,0,1,-6.05,0]],[[2,0,-1,1,0,0,1,-6.35,0]],[[2,0,-1,1,0,0,1,-6.65,0]],[[2,0,-1,1,0,0,1,-6.95,0]],[[2,0,-1,1,0,0,1,-7.25,0]],[[2,0,-1,1,0,0,1,-7.55,0]],[[2,0,-1,1,0,0,1,-7.85,0]],[[2,0,-1,1,0,0,1,-8.15,0]],[[2,0,-1,1,0,0,1,-8.45,0]],[[2,0,-1,1,0,0,1,-8.75,0]],[[2,0,-1,1,0,0,1,-9.05,0]],[[2,0,-1,1,0,0,1,-9.35,0]],[[2,0,-1,1,0,0,1,-9.65,0]],[[2,0,-1,1,0,0,1,-10,0]],[[2,0,-1,1,0,0,1,-10.3,0]],[[2,0,-1,1,0,0,1,-10.6,0]],[[2,0,-1,1,0,0,1,-10.9,0]],[[2,0,-1,1,0,0,1,-11.2,0]],[[2,0,-1,1,0,0,1,-11.5,0]],[[2,0,-1,1,0,0,1,-11.8,0]],[[2,0,-1,1,0,0,1,-12.1,0]],[[2,0,-1,1,0,0,1,-12.4,0]],[[2,0,-1,1,0,0,1,-12.7,0]],[[2,0,-1,1,0,0,1,-13,0]],[[2,0,-1,1,0,0,1,-13.3,0]],[[2,0,-1,1,0,0,1,-13.6,0]],[[2,0,-1,1,0,0,1,-13.9,0]],[[2,0,-1,1,0,0,1,-14.2,0]],[[2,0,-1,1,0,0,1,-14.5,0]],[[2,0,-1,1,0,0,1,-14.8,0]],[[2,0,-1,1,0,0,1,-15.1,0]],[[2,0,-1,1,0,0,1,-15.4,0]],[[2,0,-1,1,0,0,1,-15.7,0]],[[2,0,-1,1,0,0,1,-16,0]],[[2,0,-1,1,0,0,1,-16.35,0]],[[2,0,-1,1,0,0,1,-16.65,0]],[[2,0,-1,1,0,0,1,-16.9,0]],[[2,0,-1,1,0,0,1,-17.25,0]],[[2,0,-1,1,0,0,1,-17.5,0]],[[2,0,-1,1,0,0,1,-17.8,0]],[[2,0,-1,1,0,0,1,-18.15,0]],[[2,0,-1,1,0,0,1,-18.45,0]],[[2,0,-1,1,0,0,1,-18.75,0]],[[2,0,-1,1,0,0,1,-19.05,0]],[[2,0,-1,1,0,0,1,-19.35,0]],[[2,0,-1,1,0,0,1,-19.65,0]],[[2,0,-1,1,0,0,1,-19.95,0]],[[2,0,-1,1,0,0,1,-20.25,0]],[[2,0,-1,1,0,0,1,-20.55,0]],[[2,0,-1,1,0,0,1,-20.85,0]],[[2,0,-1,1,0,0,1,-21.15,0]],[[2,0,-1,1,0,0,1,-21.45,0]],[[2,0,-1,1,0,0,1,-21.75,0]],[[2,0,-1,1,0,0,1,-22.05,0]],[[2,0,-1,1,0,0,1,-22.35,0]],[[2,0,-1,1,0,0,1,-22.65,0]],[[2,0,-1,1,0,0,1,-22.95,0]],[[2,0,-1,1,0,0,1,-23.3,0]],[[2,0,-1,1,0,0,1,-23.55,0]],[[2,0,-1,1,0,0,1,-23.9,0]],[[2,0,-1,1,0,0,1,-24.15,0]],[[2,0,-1,1,0,0,1,-24.5,0]],[[2,0,-1,1,0,0,1,-24.8,0]],[[2,0,-1,1,0,0,1,-25.1,0]],[[2,0,-1,1,0,0,1,-25.4,0]],[[2,0,-1,1,0,0,1,-25.7,0]],[[2,0,-1,1,0,0,1,-26,0]],[[2,0,-1,1,0,0,1,-26.3,0]],[[2,0,-1,1,0,0,1,-26.6,0]],[[2,0,-1,1,0,0,1,-26.9,0]],[[2,0,-1,1,0,0,1,-27.2,0]],[[2,0,-1,1,0,0,1,-27.5,0]],[[2,0,-1,1,0,0,1,-27.8,0]],[[2,0,-1,1,0,0,1,-28.1,0]],[[2,0,-1,1,0,0,1,-28.4,0]],[[2,0,-1,1,0,0,1,-28.7,0]],[[2,0,-1,1,0,0,1,-29,0]],[[2,0,-1,1,0,0,1,-29.3,0]],[[2,0,-1,1,0,0,1,-29.6,0]],[[2,0,-1,1,0,0,1,-29.9,0]],[[2,0,-1,1,0,0,1,-30.2,0]],[[2,0,-1,1,0,0,1,-30.5,0]],[[2,0,-1,1,0,0,1,-30.85,0]],[[2,0,-1,1,0,0,1,-31.15,0]],[[2,0,-1,1,0,0,1,-31.45,0]],[[2,0,-1,1,0,0,1,-31.75,0]],[[2,0,-1,1,0,0,1,-32.05,0]],[[2,0,-1,1,0,0,1,-32.35,0]],[[2,0,-1,1,0,0,1,-32.65,0]],[[2,0,-1,1,0,0,1,-32.95,0]],[[2,0,-1,1,0,0,1,-33.25,0]],[[2,0,-1,1,0,0,1,-33.55,0]],[[2,0,-1,1,0,0,1,-33.85,0]],[[2,0,-1,1,0,0,1,-34.15,0]],[[2,0,-1,1,0,0,1,-34.45,0]],[[2,0,-1,1,0,0,1,-34.75,0]],[[2,0,-1,1,0,0,1,-35.05,0]],[[2,0,-1,1,0,0,1,-35.35,0]],[[2,0,-1,1,0,0,1,-35.65,0]],[[2,0,-1,1,0,0,1,-35.95,0]],[[2,0,-1,1,0,0,1,-36.25,0]],[[2,0,-1,1,0,0,1,-36.55,0]],[[2,0,-1,1,0,0,1,-36.85,0]],[[2,0,-1,1,0,0,1,-37.2,0]],[[2,0,-1,1,0,0,1,-37.5,0]],[[2,0,-1,1,0,0,1,-37.8,0]],[[2,0,-1,1,0,0,1,-38.1,0]],[[2,0,-1,1,0,0,1,-38.35,0]],[[2,0,-1,1,0,0,1,-38.7,0]],[[2,0,-1,1,0,0,1,-39,0]],[[2,0,-1,1,0,0,1,-39.3,0]],[[2,0,-1,1,0,0,1,-39.6,0]],[[2,0,-1,1,0,0,1,-39.9,0]],[[2,0,-1,1,0,0,1,-40.2,0]],[[2,0,-1,1,0,0,1,-40.5,0]],[[2,0,-1,1,0,0,1,-40.8,0]],[[2,0,-1,1,0,0,1,-41.1,0]],[[2,0,-1,1,0,0,1,-41.4,0]],[[2,0,-1,1,0,0,1,-41.7,0]],[[2,0,-1,1,0,0,1,-42,0]],[[2,0,-1,1,0,0,1,-42.3,0]],[[2,0,-1,1,0,0,1,-42.6,0]],[[2,0,-1,1,0,0,1,-42.9,0]],[[2,0,-1,1,0,0,1,-43.2,0]],[[2,0,-1,1,0,0,1,-43.5,0]],[[2,0,-1,1,0,0,1,-43.8,0]],[[2,0,-1,1,0,0,1,-44.1,0]],[[2,0,-1,1,0,0,1,-44.4,0]],[[2,0,-1,1,0,0,1,-44.7,0]],[[2,0,-1,1,0,0,1,-45.05,0]],[[2,0,-1,1,0,0,1,-45.35,0]],[[2,0,-1,1,0,0,1,-45.65,0]],[[2,0,-1,1,0,0,1,-45.95,0]],[[2,0,-1,1,0,0,1,-46.25,0]],[[2,0,-1,1,0,0,1,-46.55,0]],[[2,0,-1,1,0,0,1,-46.85,0]],[[2,0,-1,1,0,0,1,-47.15,0]],[[2,0,-1,1,0,0,1,-47.45,0]],[[2,0,-1,1,0,0,1,-47.75,0]],[[2,0,-1,1,0,0,1,-48.05,0]],[[2,0,-1,1,0,0,1,-48.35,0]],[[2,0,-1,1,0,0,1,-48.65,0]],[[2,0,-1,1,0,0,1,-48.95,0]],[[2,0,-1,1,0,0,1,-49.25,0]],[[2,0,-1,1,0,0,1,-49.55,0]],[[2,0,-1,1,0,0,1,-49.85,0]],[[2,0,-1,1,0,0,1,-50.15,0]],[[2,0,-1,1,0,0,1,-50.45,0]],[[2,0,-1,1,0,0,1,-50.75,0]],[[2,0,-1,1,0,0,1,-51.1,0]],[[2,0,-1,1,0,0,1,-51.4,0]],[[2,0,-1,1,0,0,1,-51.7,0]],[[2,0,-1,1,0,0,1,-51.95,0]],[[2,0,-1,1,0,0,1,-52.3,0]],[[2,0,-1,1,0,0,1,-52.6,0]],[[2,0,-1,1,0,0,1,-52.9,0]],[[2,0,-1,1,0,0,1,-53.2,0]],[[2,0,-1,1,0,0,1,-53.5,0]],[[2,0,-1,1,0,0,1,-53.8,0]],[[2,0,-1,1,0,0,1,-54.1,0]],[[2,0,-1,1,0,0,1,-54.4,0]],[[2,0,-1,1,0,0,1,-54.7,0]],[[2,0,-1,1,0,0,1,-55,0]],[[2,0,-1,1,0,0,1,-55.3,0]],[[2,0,-1,1,0,0,1,-55.6,0]],[[2,0,-1,1,0,0,1,-55.9,0]],[[2,0,-1,1,0,0,1,-56.2,0]],[[2,0,-1,1,0,0,1,-56.5,0]],[[2,0,-1,1,0,0,1,-56.8,0]],[[2,0,-1,1,0,0,1,-57.15,0]],[[2,0,-1,1,0,0,1,-57.45,0]],[[2,0,-1,1,0,0,1,-57.75,0]],[[2,0,-1,1,0,0,1,-58,0]],[[2,0,-1,1,0,0,1,-58.3,0]],[[2,0,-1,1,0,0,1,-58.6,0]],[[2,0,-1,1,0,0,1,-58.95,0]],[[2,0,-1,1,0,0,1,-59.25,0]],[[2,0,-1,1,0,0,1,-59.55,0]],[[2,0,-1,1,0,0,1,-59.85,0]],[[2,0,-1,1,0,0,1,-60.15,0]],[[2,0,-1,1,0,0,1,-60.45,0]],[[2,0,-1,1,0,0,1,-60.75,0]],[[2,0,-1,1,0,0,1,-61.05,0]],[[2,0,-1,1,0,0,1,-61.35,0]],[[2,0,-1,1,0,0,1,-61.65,0]],[[2,0,-1,1,0,0,1,-61.95,0]],[[2,0,-1,1,0,0,1,-62.25,0]],[[2,0,-1,1,0,0,1,-62.55,0]],[[2,0,-1,1,0,0,1,-62.85,0]],[[2,0,-1,1,0,0,1,-63.15,0]],[[2,0,-1,1,0,0,1,-63.45,0]],[[2,0,-1,1,0,0,1,-63.8,0]],[[2,0,-1,1,0,0,1,-64.05,0]],[[2,0,-1,1,0,0,1,-64.35,0]],[[2,0,-1,1,0,0,1,-64.65,0]],[[2,0,-1,1,0,0,1,-65,0]],[[2,0,-1,1,0,0,1,-65.3,0]],[[2,0,-1,1,0,0,1,-65.6,0]],[[2,0,-1,1,0,0,1,-65.9,0]],[[2,0,-1,1,0,0,1,-66.2,0]],[[2,0,-1,1,0,0,1,-66.5,0]],[[2,0,-1,1,0,0,1,-66.8,0]],[[2,0,-1,1,0,0,1,-67.1,0]],[[2,0,-1,1,0,0,1,-67.4,0]],[[2,0,-1,1,0,0,1,-67.7,0]],[[2,0,-1,1,0,0,1,-68,0]],[[2,0,-1,1,0,0,1,-68.3,0]],[[2,0,-1,1,0,0,1,-68.6,0]],[[2,0,-1,1,0,0,1,-68.9,0]],[[2,0,-1,1,0,0,1,-69.2,0]],[[2,0,-1,1,0,0,1,-69.5,0]],[[2,0,-1,1,0,0,1,-69.8,0]],[[2,0,-1,1,0,0,1,-70.1,0]],[[2,0,-1,1,0,0,1,-70.4,0]],[[2,0,-1,1,0,0,1,-70.7,0]],[[2,0,-1,1,0,0,1,-71,0]],[[2,0,-1,1,0,0,1,-71.35,0]],[[2,0,-1,1,0,0,1,-71.65,0]],[[2,0,-1,1,0,0,1,-71.95,0]],[[2,0,-1,1,0,0,1,-72.25,0]],[[2,0,-1,1,0,0,1,-72.5,0]],[[2,0,-1,1,0,0,1,-72.85,0]],[[2,0,-1,1,0,0,1,-73.15,0]],[[2,0,-1,1,0,0,1,-73.45,0]],[[2,0,-1,1,0,0,1,-73.75,0]],[[2,0,-1,1,0,0,1,-74.05,0]],[[2,0,-1,1,0,0,1,-74.35,0]],[[2,0,-1,1,0,0,1,-74.65,0]],[[2,0,-1,1,0,0,1,-74.95,0]],[[2,0,-1,1,0,0,1,-75.25,0]],[[2,0,-1,1,0,0,1,-75.55,0]],[[2,0,-1,1,0,0,1,-75.85,0]],[[2,0,-1,1,0,0,1,-76.15,0]],[[2,0,-1,1,0,0,1,-76.45,0]],[[2,0,-1,1,0,0,1,-76.75,0]],[[2,0,-1,1,0,0,1,-77.05,0]],[[2,0,-1,1,0,0,1,-77.35,0]],[[2,0,-1,1,0,0,1,-77.7,0]],[[2,0,-1,1,0,0,1,-78,0]],[[2,0,-1,1,0,0,1,-78.3,0]],[[2,0,-1,1,0,0,1,-78.55,0]],[[2,0,-1,1,0,0,1,-78.85,0]],[[2,0,-1,1,0,0,1,-79.2,0]],[[2,0,-1,1,0,0,1,-79.5,0]],[[2,0,-1,1,0,0,1,-79.8,0]],[[2,0,-1,1,0,0,1,-80.1,0]],[[2,0,-1,1,0,0,1,-80.4,0]],[[2,0,-1,1,0,0,1,-80.7,0]],[[2,0,-1,1,0,0,1,-81,0]],[[2,0,-1,1,0,0,1,-81.3,0]],[[2,0,-1,1,0,0,1,-81.6,0]],[[2,0,-1,1,0,0,1,-81.9,0]],[[2,0,-1,1,0,0,1,-82.2,0]],[[2,0,-1,1,0,0,1,-82.5,0]],[[2,0,-1,1,0,0,1,-82.8,0]],[[2,0,-1,1,0,0,1,-83.1,0]],[[2,0,-1,1,0,0,1,-83.4,0]],[[2,0,-1,1,0,0,1,-83.7,0]],[[2,0,-1,1,0,0,1,-84.05,0]],[[2,0,-1,1,0,0,1,-84.35,0]],[[2,0,-1,1,0,0,1,-84.6,0]],[[2,0,-1,1,0,0,1,-84.95,0]],[[2,0,-1,1,0,0,1,-85.25,0]],[[2,0,-1,1,0,0,1,-85.55,0]],[[2,0,-1,1,0,0,1,-85.85,0]],[[2,0,-1,1,0,0,1,-86.15,0]],[[2,0,-1,1,0,0,1,-86.45,0]],[[2,0,-1,1,0,0,1,-86.75,0]],[[2,0,-1,1,0,0,1,-87.05,0]],[[2,0,-1,1,0,0,1,-87.35,0]],[[2,0,-1,1,0,0,1,-87.65,0]],[[2,0,-1,1,0,0,1,-87.95,0]],[[2,0,-1,1,0,0,1,-88.25,0]],[[2,0,-1,1,0,0,1,-88.55,0]],[[2,0,-1,1,0,0,1,-88.85,0]],[[2,0,-1,1,0,0,1,-89.15,0]],[[2,0,-1,1,0,0,1,-89.45,0]],[[2,0,-1,1,0,0,1,-89.75,0]],[[2,0,-1,1,0,0,1,-90.05,0]],[[2,0,-1,1,0,0,1,-90.4,0]],[[2,0,-1,1,0,0,1,-90.65,0]],[[2,0,-1,1,0,0,1,-90.95,0]],[[2,0,-1,1,0,0,1,-91.25,0]],[[2,0,-1,1,0,0,1,-91.55,0]],[[2,0,-1,1,0,0,1,-91.9,0]],[[2,0,-1,1,0,0,1,-92.2,0]],[[2,0,-1,1,0,0,1,-92.5,0]],[[2,0,-1,1,0,0,1,-92.75,0]],[[2,0,-1,1,0,0,1,-93.1,0]],[[2,0,-1,1,0,0,1,-93.4,0]],[[2,0,-1,1,0,0,1,-93.7,0]],[[2,0,-1,1,0,0,1,-94,0]],[[2,0,-1,1,0,0,1,-94.3,0]],[[2,0,-1,1,0,0,1,-94.6,0]],[[2,0,-1,1,0,0,1,-94.9,0]],[[2,0,-1,1,0,0,1,-95.2,0]],[[2,0,-1,1,0,0,1,-95.5,0]],[[2,0,-1,1,0,0,1,-95.8,0]],[[2,0,-1,1,0,0,1,-96.1,0]],[[2,0,-1,1,0,0,1,-96.4,0]],[[2,0,-1,1,0,0,1,-96.7,0]],[[2,0,-1,1,0,0,1,-97,0]],[[2,0,-1,1,0,0,1,-97.3,0]],[[2,0,-1,1,0,0,1,-97.6,0]],[[2,0,-1,1,0,0,1,-97.95,0]],[[2,0,-1,1,0,0,1,-98.2,0]],[[2,0,-1,1,0,0,1,-98.55,0]],[[2,0,-1,1,0,0,1,-98.8,0]],[[2,0,-1,1,0,0,1,-99.1,0]],[[2,0,-1,1,0,0,1,-99.45,0]],[[2,0,-1,1,0,0,1,-99.75,0]],[[2,0,-1,1,0,0,1,-100.05,0]],[[2,0,-1,1,0,0,1,-100.35,0]],[[2,0,-1,1,0,0,1,-100.65,0]],[[2,0,-1,1,0,0,1,-100.95,0]],[[2,0,-1,1,0,0,1,-101.25,0]],[[2,0,-1,1,0,0,1,-101.55,0]],[[2,0,-1,1,0,0,1,-101.85,0]],[[2,0,-1,1,0,0,1,-102.15,0]],[[2,0,-1,1,0,0,1,-102.45,0]],[[2,0,-1,1,0,0,1,-102.75,0]],[[2,0,-1,1,0,0,1,-103.05,0]],[[2,0,-1,1,0,0,1,-103.35,0]],[[2,0,-1,1,0,0,1,-103.65,0]],[[2,0,-1,1,0,0,1,-103.95,0]],[[2,0,-1,1,0,0,1,-104.25,0]],[[2,0,-1,1,0,0,1,-104.6,0]],[[2,0,-1,1,0,0,1,-104.85,0]],[[2,0,-1,1,0,0,1,-105.2,0]],[[2,0,-1,1,0,0,1,-105.45,0]],[[2,0,-1,1,0,0,1,-105.8,0]],[[2,0,-1,1,0,0,1,-106.1,0]],[[2,0,-1,1,0,0,1,-106.4,0]],[[2,0,-1,1,0,0,1,-106.7,0]],[[2,0,-1,1,0,0,1,-107,0]],[[2,0,-1,1,0,0,1,-107.3,0]],[[2,0,-1,1,0,0,1,-107.6,0]],[[2,0,-1,1,0,0,1,-107.9,0]],[[2,0,-1,1,0,0,1,-108.2,0]],[[2,0,-1,1,0,0,1,-108.5,0]],[[2,0,-1,1,0,0,1,-108.8,0]],[[2,0,-1,1,0,0,1,-109.1,0]],[[2,0,-1,1,0,0,1,-109.4,0]],[[2,0,-1,1,0,0,1,-109.7,0]],[[2,0,-1,1,0,0,1,-110,0]],[[2,0,-1,1,0,0,1,-110.3,0]],[[2,0,-1,1,0,0,1,-110.6,0]],[[2,0,-1,1,0,0,1,-110.9,0]],[[2,0,-1,1,0,0,1,-111.2,0]],[[2,0,-1,1,0,0,1,-111.5,0]],[[2,0,-1,1,0,0,1,-111.85,0]],[[2,0,-1,1,0,0,1,-112.15,0]],[[2,0,-1,1,0,0,1,-112.45,0]],[[2,0,-1,1,0,0,1,-112.75,0]],[[2,0,-1,1,0,0,1,-113.05,0]],[[2,0,-1,1,0,0,1,-113.35,0]],[[2,0,-1,1,0,0,1,-113.65,0]],[[2,0,-1,1,0,0,1,-113.95,0]],[[2,0,-1,1,0,0,1,-114.25,0]],[[2,0,-1,1,0,0,1,-114.55,0]],[[2,0,-1,1,0,0,1,-114.85,0]],[[2,0,-1,1,0,0,1,-115.15,0]],[[2,0,-1,1,0,0,1,-115.45,0]],[[2,0,-1,1,0,0,1,-115.75,0]],[[2,0,-1,1,0,0,1,-116.05,0]],[[2,0,-1,1,0,0,1,-116.35,0]],[[2,0,-1,1,0,0,1,-116.65,0]],[[2,0,-1,1,0,0,1,-116.95,0]],[[2,0,-1,1,0,0,1,-117.25,0]],[[2,0,-1,1,0,0,1,-117.55,0]],[[2,0,-1,1,0,0,1,-117.85,0]],[[2,0,-1,1,0,0,1,-118.15,0]],[[2,0,-1,1,0,0,1,-118.5,0]],[[2,0,-1,1,0,0,1,-118.8,0]],[[2,0,-1,1,0,0,1,-119.05,0]],[[2,0,-1,1,0,0,1,-119.4,0]],[[2,0,-1,1,0,0,1,-119.7,0]],[[2,0,-1,1,0,0,1,-120,0]],[[2,0,-1,1,0,0,1,-120.3,0]],[[2,0,-1,1,0,0,1,-120.6,0]],[[2,0,-1,1,0,0,1,-120.9,0]],[[2,0,-1,1,0,0,1,-121.2,0]],[[2,0,-1,1,0,0,1,-121.5,0]],[[2,0,-1,1,0,0,1,-121.8,0]],[[2,0,-1,1,0,0,1,-122.1,0]],[[2,0,-1,1,0,0,1,-122.4,0]],[[2,0,-1,1,0,0,1,-122.7,0]],[[2,0,-1,1,0,0,1,-123,0]],[[2,0,-1,1,0,0,1,-123.3,0]],[[2,0,-1,1,0,0,1,-123.6,0]],[[2,0,-1,1,0,0,1,-123.9,0]],[[2,0,-1,1,0,0,1,-124.2,0]],[[2,0,-1,1,0,0,1,-124.5,0]],[[2,0,-1,1,0,0,1,-124.8,0]],[[2,0,-1,1,0,0,1,-125.1,0]],[[2,0,-1,1,0,0,1,-125.4,0]],[[2,0,-1,1,0,0,1,-125.75,0]],[[2,0,-1,1,0,0,1,-126.05,0]],[[2,0,-1,1,0,0,1,-126.35,0]],[[2,0,-1,1,0,0,1,-126.65,0]],[[2,0,-1,1,0,0,1,-126.95,0]],[[2,0,-1,1,0,0,1,-127.25,0]],[[2,0,-1,1,0,0,1,-127.55,0]],[[2,0,-1,1,0,0,1,-127.85,0]],[[2,0,-1,1,0,0,1,-128.15,0]],[[2,0,-1,1,0,0,1,-128.45,0]],[[2,0,-1,1,0,0,1,-128.75,0]],[[2,0,-1,1,0,0,1,-129.05,0]],[[2,0,-1,1,0,0,1,-129.35,0]],[[2,0,-1,1,0,0,1,-129.65,0]],[[2,0,-1,1,0,0,1,-129.95,0]],[[2,0,-1,1,0,0,1,-130.25,0]],[[2,0,-1,1,0,0,1,-130.55,0]],[[2,0,-1,1,0,0,1,-130.85,0]],[[2,0,-1,1,0,0,1,-131.15,0]],[[2,0,-1,1,0,0,1,-131.45,0]],[[2,0,-1,1,0,0,1,-131.75,0]],[[2,0,-1,1,0,0,1,-132.05,0]],[[2,0,-1,1,0,0,1,-132.4,0]],[[2,0,-1,1,0,0,1,-132.7,0]],[[2,0,-1,1,0,0,1,-133,0]],[[2,0,-1,1,0,0,1,-133.3,0]],[[2,0,-1,1,0,0,1,-133.6,0]],[[2,0,-1,1,0,0,1,-133.9,0]],[[2,0,-1,1,0,0,1,-134.2,0]],[[2,0,-1,1,0,0,1,-134.5,0]],[[2,0,-1,1,0,0,1,-134.8,0]],[[2,0,-1,1,0,0,1,-135.1,0]],[[2,0,-1,1,0,0,1,-135.4,0]],[[2,0,-1,1,0,0,1,-135.7,0]],[[2,0,-1,1,0,0,1,-136,0]],[[2,0,-1,1,0,0,1,-136.3,0]],[[2,0,-1,1,0,0,1,-136.6,0]],[[2,0,-1,1,0,0,1,-136.9,0]],[[2,0,-1,1,0,0,1,-137.2,0]],[[2,0,-1,1,0,0,1,-137.5,0]],[[2,0,-1,1,0,0,1,-137.8,0]],[[2,0,-1,1,0,0,1,-138.1,0]],[[2,0,-1,1,0,0,1,-138.4,0]],[[2,0,-1,1,0,0,1,-138.75,0]],[[2,0,-1,1,0,0,1,-139.05,0]],[[2,0,-1,1,0,0,1,-139.35,0]],[[2,0,-1,1,0,0,1,-139.6,0]],[[2,0,-1,1,0,0,1,-139.95,0]],[[2,0,-1,1,0,0,1,-140.25,0]],[[2,0,-1,1,0,0,1,-140.55,0]],[[2,0,-1,1,0,0,1,-140.85,0]],[[2,0,-1,1,0,0,1,-141.15,0]],[[2,0,-1,1,0,0,1,-141.45,0]],[[2,0,-1,1,0,0,1,-141.75,0]],[[2,0,-1,1,0,0,1,-142.05,0]],[[2,0,-1,1,0,0,1,-142.35,0]],[[2,0,-1,1,0,0,1,-142.65,0]],[[2,0,-1,1,0,0,1,-142.95,0]],[[2,0,-1,1,0,0,1,-143.25,0]],[[2,0,-1,1,0,0,1,-143.55,0]],[[2,0,-1,1,0,0,1,-143.85,0]],[[2,0,-1,1,0,0,1,-144.15,0]],[[2,0,-1,1,0,0,1,-144.45,0]],[[2,0,-1,1,0,0,1,-144.75,0]],[[2,0,-1,1,0,0,1,-145.05,0]],[[2,0,-1,1,0,0,1,-145.4,0]],[[2,0,-1,1,0,0,1,-145.65,0]],[[2,0,-1,1,0,0,1,-146,0]],[[2,0,-1,1,0,0,1,-146.25,0]],[[2,0,-1,1,0,0,1,-146.6,0]],[[2,0,-1,1,0,0,1,-146.9,0]],[[2,0,-1,1,0,0,1,-147.2,0]],[[2,0,-1,1,0,0,1,-147.5,0]],[[2,0,-1,1,0,0,1,-147.8,0]],[[2,0,-1,1,0,0,1,-148.1,0]],[[2,0,-1,1,0,0,1,-148.4,0]],[[2,0,-1,1,0,0,1,-148.7,0]],[[2,0,-1,1,0,0,1,-149,0]],[[2,0,-1,1,0,0,1,-149.3,0]],[[2,0,-1,1,0,0,1,-149.6,0]],[[2,0,-1,1,0,0,1,-149.9,0]],[[2,0,-1,1,0,0,1,-150.2,0]],[[2,0,-1,1,0,0,1,-150.5,0]],[[2,0,-1,1,0,0,1,-150.8,0]],[[2,0,-1,1,0,0,1,-151.1,0]],[[2,0,-1,1,0,0,1,-151.4,0]],[[2,0,-1,1,0,0,1,-151.7,0]],[[2,0,-1,1,0,0,1,-152,0]],[[2,0,-1,1,0,0,1,-152.3,0]],[[2,0,-1,1,0,0,1,-152.6,0]],[[2,0,-1,1,0,0,1,-152.95,0]],[[2,0,-1,1,0,0,1,-153.25,0]],[[2,0,-1,1,0,0,1,-153.55,0]],[[2,0,-1,1,0,0,1,-153.85,0]],[[2,0,-1,1,0,0,1,-154.15,0]],[[2,0,-1,1,0,0,1,-154.45,0]],[[2,0,-1,1,0,0,1,-154.75,0]],[[2,0,-1,1,0,0,1,-155.05,0]],[[2,0,-1,1,0,0,1,-155.35,0]],[[2,0,-1,1,0,0,1,-155.65,0]],[[2,0,-1,1,0,0,1,-155.95,0]],[[2,0,-1,1,0,0,1,-156.25,0]],[[2,0,-1,1,0,0,1,-156.55,0]],[[2,0,-1,1,0,0,1,-156.85,0]],[[2,0,-1,1,0,0,1,-157.15,0]],[[2,0,-1,1,0,0,1,-157.45,0]],[[2,0,-1,1,0,0,1,-157.75,0]],[[2,0,-1,1,0,0,1,-158.05,0]],[[2,0,-1,1,0,0,1,-158.35,0]],[[2,0,-1,1,0,0,1,-158.65,0]],[[2,0,-1,1,0,0,1,-158.95,0]],[[2,0,-1,1,0,0,1,-159.3,0]],[[2,0,-1,1,0,0,1,-159.6,0]],[[2,0,-1,1,0,0,1,-159.85,0]],[[2,0,-1,1,0,0,1,-160.2,0]],[[2,0,-1,1,0,0,1,-160.5,0]],[[2,0,-1,1,0,0,1,-160.8,0]],[[2,0,-1,1,0,0,1,-161.1,0]],[[2,0,-1,1,0,0,1,-161.4,0]],[[2,0,-1,1,0,0,1,-161.7,0]],[[2,0,-1,1,0,0,1,-162,0]],[[2,0,-1,1,0,0,1,-162.3,0]],[[2,0,-1,1,0,0,1,-162.6,0]],[[2,0,-1,1,0,0,1,-162.9,0]],[[2,0,-1,1,0,0,1,-163.2,0]],[[2,0,-1,1,0,0,1,-163.5,0]],[[2,0,-1,1,0,0,1,-163.8,0]],[[2,0,-1,1,0,0,1,-164.1,0]],[[2,0,-1,1,0,0,1,-164.4,0]],[[2,0,-1,1,0,0,1,-164.7,0]],[[2,0,-1,1,0,0,1,-165,0]],[[2,0,-1,1,0,0,1,-165.3,0]],[[2,0,-1,1,0,0,1,-165.6,0]],[[2,0,-1,1,0,0,1,-165.9,0]],[[2,0,-1,1,0,0,1,-166.2,0]],[[2,0,-1,1,0,0,1,-166.55,0]],[[2,0,-1,1,0,0,1,-166.85,0]],[[2,0,-1,1,0,0,1,-167.15,0]],[[2,0,-1,1,0,0,1,-167.45,0]],[[2,0,-1,1,0,0,1,-167.75,0]],[[2,0,-1,1,0,0,1,-168.05,0]],[[2,0,-1,1,0,0,1,-168.35,0]],[[2,0,-1,1,0,0,1,-168.65,0]],[[2,0,-1,1,0,0,1,-168.95,0]],[[2,0,-1,1,0,0,1,-169.25,0]],[[2,0,-1,1,0,0,1,-169.55,0]],[[2,0,-1,1,0,0,1,-169.85,0]],[[2,0,-1,1,0,0,1,-170.15,0]],[[2,0,-1,1,0,0,1,-170.45,0]],[[2,0,-1,1,0,0,1,-170.75,0]],[[2,0,-1,1,0,0,1,-171.05,0]],[[2,0,-1,1,0,0,1,-171.35,0]],[[2,0,-1,1,0,0,1,-171.65,0]],[[2,0,-1,1,0,0,1,-171.95,0]],[[2,0,-1,1,0,0,1,-172.25,0]],[[2,0,-1,1,0,0,1,-172.55,0]],[[2,0,-1,1,0,0,1,-172.9,0]],[[2,0,-1,1,0,0,1,-173.15,0]],[[2,0,-1,1,0,0,1,-173.5,0]],[[2,0,-1,1,0,0,1,-173.8,0]],[[2,0,-1,1,0,0,1,-174.05,0]],[[2,0,-1,1,0,0,1,-174.4,0]],[[2,0,-1,1,0,0,1,-174.7,0]],[[2,0,-1,1,0,0,1,-175,0]],[[2,0,-1,1,0,0,1,-175.3,0]],[[2,0,-1,1,0,0,1,-175.6,0]],[[2,0,-1,1,0,0,1,-175.9,0]],[[2,0,-1,1,0,0,1,-176.2,0]],[[2,0,-1,1,0,0,1,-176.5,0]],[[2,0,-1,1,0,0,1,-176.8,0]],[[2,0,-1,1,0,0,1,-177.1,0]],[[2,0,-1,1,0,0,1,-177.4,0]],[[2,0,-1,1,0,0,1,-177.7,0]],[[2,0,-1,1,0,0,1,-178,0]],[[2,0,-1,1,0,0,1,-178.3,0]],[[2,0,-1,1,0,0,1,-178.6,0]],[[2,0,-1,1,0,0,1,-178.9,0]],[[2,0,-1,1,0,0,1,-179.2,0]],[[2,0,-1,1,0,0,1,-179.55,0]],[[2,0,-1,1,0,0,1,-179.85,0]],[[2,0,-1,1,0,0,1,-180.1,0]],[[2,0,-1,1,0,0,1,-180.45,0]],[[2,0,-1,1,0,0,1,-180.75,0]],[[2,0,-1,1,0,0,1,-181.05,0]],[[2,0,-1,1,0,0,1,-181.35,0]],[[2,0,-1,1,0,0,1,-181.65,0]],[[2,0,-1,1,0,0,1,-181.95,0]],[[2,0,-1,1,0,0,1,-182.25,0]],[[2,0,-1,1,0,0,1,-182.55,0]],[[2,0,-1,1,0,0,1,-182.85,0]],[[2,0,-1,1,0,0,1,-183.15,0]],[[2,0,-1,1,0,0,1,-183.45,0]],[[2,0,-1,1,0,0,1,-183.75,0]],[[2,0,-1,1,0,0,1,-184.05,0]],[[2,0,-1,1,0,0,1,-184.35,0]],[[2,0,-1,1,0,0,1,-184.65,0]],[[2,0,-1,1,0,0,1,-184.95,0]],[[2,0,-1,1,0,0,1,-185.25,0]],[[2,0,-1,1,0,0,1,-185.55,0]],[[2,0,-1,1,0,0,1,-185.85,0]],[[2,0,-1,1,0,0,1,-186.15,0]],[[2,0,-1,1,0,0,1,-186.45,0]],[[2,0,-1,1,0,0,1,-186.75,0]],[[2,0,-1,1,0,0,1,-187.1,0]],[[2,0,-1,1,0,0,1,-187.4,0]],[[2,0,-1,1,0,0,1,-187.7,0]],[[2,0,-1,1,0,0,1,-188,0]],[[2,0,-1,1,0,0,1,-188.3,0]],[[2,0,-1,1,0,0,1,-188.6,0]],[[2,0,-1,1,0,0,1,-188.9,0]],[[2,0,-1,1,0,0,1,-189.2,0]],[[2,0,-1,1,0,0,1,-189.5,0]],[[2,0,-1,1,0,0,1,-189.8,0]],[[2,0,-1,1,0,0,1,-190.1,0]],[[2,0,-1,1,0,0,1,-190.4,0]],[[2,0,-1,1,0,0,1,-190.7,0]],[[2,0,-1,1,0,0,1,-191,0]],[[2,0,-1,1,0,0,1,-191.3,0]],[[2,0,-1,1,0,0,1,-191.6,0]],[[2,0,-1,1,0,0,1,-191.9,0]],[[2,0,-1,1,0,0,1,-192.2,0]],[[2,0,-1,1,0,0,1,-192.5,0]],[[2,0,-1,1,0,0,1,-192.8,0]],[[2,0,-1,1,0,0,1,-193.1,0]],[[2,0,-1,1,0,0,1,-193.4,0]],[[2,0,-1,1,0,0,1,-193.75,0]],[[2,0,-1,1,0,0,1,-194.05,0]],[[2,0,-1,1,0,0,1,-194.3,0]],[[2,0,-1,1,0,0,1,-194.6,0]],[[2,0,-1,1,0,0,1,-194.95,0]],[[2,0,-1,1,0,0,1,-195.25,0]],[[2,0,-1,1,0,0,1,-195.55,0]],[[2,0,-1,1,0,0,1,-195.85,0]],[[2,0,-1,1,0,0,1,-196.15,0]],[[2,0,-1,1,0,0,1,-196.45,0]],[[2,0,-1,1,0,0,1,-196.75,0]],[[2,0,-1,1,0,0,1,-197.05,0]],[[2,0,-1,1,0,0,1,-197.35,0]],[[2,0,-1,1,0,0,1,-197.65,0]],[[2,0,-1,1,0,0,1,-197.95,0]],[[2,0,-1,1,0,0,1,-198.25,0]],[[2,0,-1,1,0,0,1,-198.55,0]],[[2,0,-1,1,0,0,1,-198.85,0]],[[2,0,-1,1,0,0,1,-199.15,0]],[[2,0,-1,1,0,0,1,-199.45,0]],[[2,0,-1,1,0,0,1,-199.75,0]],[[2,0,-1,1,0,0,1,-200.1,0]],[[2,0,-1,1,0,0,1,-200.35,0]],[[2,0,-1,1,0,0,1,-200.65,0]],[[2,0,-1,1,0,0,1,-201,0]],[[2,0,-1,1,0,0,1,-201.3,0]],[[2,0,-1,1,0,0,1,-201.6,0]],[[2,0,-1,1,0,0,1,-201.9,0]],[[2,0,-1,1,0,0,1,-202.2,0]],[[2,0,-1,1,0,0,1,-202.5,0]],[[2,0,-1,1,0,0,1,-202.8,0]],[[2,0,-1,1,0,0,1,-203.1,0]],[[2,0,-1,1,0,0,1,-203.4,0]],[[2,0,-1,1,0,0,1,-203.7,0]],[[2,0,-1,1,0,0,1,-204,0]],[[2,0,-1,1,0,0,1,-204.3,0]],[[2,0,-1,1,0,0,1,-204.6,0]],[[2,0,-1,1,0,0,1,-204.9,0]],[[2,0,-1,1,0,0,1,-205.2,0]],[[2,0,-1,1,0,0,1,-205.5,0]],[[2,0,-1,1,0,0,1,-205.8,0]],[[2,0,-1,1,0,0,1,-206.1,0]],[[2,0,-1,1,0,0,1,-206.45,0]],[[2,0,-1,1,0,0,1,-206.7,0]],[[2,0,-1,1,0,0,1,-207,0]],[[2,0,-1,1,0,0,1,-207.3,0]],[[2,0,-1,1,0,0,1,-207.65,0]],[[2,0,-1,1,0,0,1,-207.95,0]],[[2,0,-1,1,0,0,1,-208.25,0]],[[2,0,-1,1,0,0,1,-208.55,0]],[[2,0,-1,1,0,0,1,-208.85,0]],[[2,0,-1,1,0,0,1,-209.15,0]],[[2,0,-1,1,0,0,1,-209.45,0]],[[2,0,-1,1,0,0,1,-209.75,0]],[[2,0,-1,1,0,0,1,-210.05,0]],[[2,0,-1,1,0,0,1,-210.35,0]],[[2,0,-1,1,0,0,1,-210.65,0]],[[2,0,-1,1,0,0,1,-210.95,0]],[[2,0,-1,1,0,0,1,-211.25,0]],[[2,0,-1,1,0,0,1,-211.55,0]],[[2,0,-1,1,0,0,1,-211.85,0]],[[2,0,-1,1,0,0,1,-212.15,0]],[[2,0,-1,1,0,0,1,-212.45,0]],[[2,0,-1,1,0,0,1,-212.75,0]],[[2,0,-1,1,0,0,1,-213.05,0]],[[2,0,-1,1,0,0,1,-213.35,0]],[[2,0,-1,1,0,0,1,-213.7,0]],[[2,0,-1,1,0,0,1,-214,0]],[[2,0,-1,1,0,0,1,-214.3,0]],[[2,0,-1,1,0,0,1,-214.6,0]],[[2,0,-1,1,0,0,1,-214.9,0]],[[2,0,-1,1,0,0,1,-215.2,0]],[[2,0,-1,1,0,0,1,-215.5,0]],[[2,0,-1,1,0,0,1,-215.8,0]],[[2,0,-1,1,0,0,1,-216.1,0]],[[2,0,-1,1,0,0,1,-216.4,0]],[[2,0,-1,1,0,0,1,-216.7,0]],[[2,0,-1,1,0,0,1,-217,0]],[[2,0,-1,1,0,0,1,-217.3,0]],[[2,0,-1,1,0,0,1,-217.6,0]],[[2,0,-1,1,0,0,1,-217.9,0]],[[2,0,-1,1,0,0,1,-218.2,0]],[[2,0,-1,1,0,0,1,-218.5,0]],[[2,0,-1,1,0,0,1,-218.8,0]],[[2,0,-1,1,0,0,1,-219.1,0]],[[2,0,-1,1,0,0,1,-219.4,0]],[[2,0,-1,1,0,0,1,-219.7,0]],[[2,0,-1,1,0,0,1,-220,0]],[[2,0,-1,1,0,0,1,-220.35,0]],[[2,0,-1,1,0,0,1,-220.65,0]],[[2,0,-1,1,0,0,1,-220.9,0]],[[2,0,-1,1,0,0,1,-221.2,0]],[[2,0,-1,1,0,0,1,-221.55,0]],[[2,0,-1,1,0,0,1,-221.85,0]],[[2,0,-1,1,0,0,1,-222.15,0]],[[2,0,-1,1,0,0,1,-222.45,0]],[[2,0,-1,1,0,0,1,-222.75,0]],[[2,0,-1,1,0,0,1,-223.05,0]],[[2,0,-1,1,0,0,1,-223.35,0]],[[2,0,-1,1,0,0,1,-223.65,0]],[[2,0,-1,1,0,0,1,-223.95,0]],[[2,0,-1,1,0,0,1,-224.25,0]],[[2,0,-1,1,0,0,1,-224.55,0]],[[2,0,-1,1,0,0,1,-224.85,0]],[[2,0,-1,1,0,0,1,-225.15,0]],[[2,0,-1,1,0,0,1,-225.45,0]],[[2,0,-1,1,0,0,1,-225.75,0]],[[2,0,-1,1,0,0,1,-226.05,0]],[[2,0,-1,1,0,0,1,-226.35,0]],[[2,0,-1,1,0,0,1,-226.65,0]],[[2,0,-1,1,0,0,1,-226.95,0]],[[2,0,-1,1,0,0,1,-227.25,0]],[[2,0,-1,1,0,0,1,-227.6,0]],[[2,0,-1,1,0,0,1,-227.85,0]],[[2,0,-1,1,0,0,1,-228.2,0]],[[2,0,-1,1,0,0,1,-228.5,0]],[[2,0,-1,1,0,0,1,-228.8,0]],[[2,0,-1,1,0,0,1,-229.1,0]],[[2,0,-1,1,0,0,1,-229.4,0]],[[2,0,-1,1,0,0,1,-229.7,0]],[[2,0,-1,1,0,0,1,-230,0]],[[2,0,-1,1,0,0,1,-230.3,0]],[[2,0,-1,1,0,0,1,-230.6,0]],[[2,0,-1,1,0,0,1,-230.9,0]],[[2,0,-1,1,0,0,1,-231.2,0]],[[2,0,-1,1,0,0,1,-231.5,0]],[[2,0,-1,1,0,0,1,-231.8,0]],[[2,0,-1,1,0,0,1,-232.1,0]],[[2,0,-1,1,0,0,1,-232.4,0]],[[2,0,-1,1,0,0,1,-232.7,0]],[[2,0,-1,1,0,0,1,-233,0]],[[2,0,-1,1,0,0,1,-233.3,0]],[[2,0,-1,1,0,0,1,-233.6,0]],[[2,0,-1,1,0,0,1,-233.9,0]],[[2,0,-1,1,0,0,1,-234.25,0]],[[2,0,-1,1,0,0,1,-234.55,0]],[[2,0,-1,1,0,0,1,-234.85,0]],[[2,0,-1,1,0,0,1,-235.1,0]],[[2,0,-1,1,0,0,1,-235.45,0]],[[2,0,-1,1,0,0,1,-235.75,0]],[[2,0,-1,1,0,0,1,-236.05,0]],[[2,0,-1,1,0,0,1,-236.35,0]],[[2,0,-1,1,0,0,1,-236.65,0]],[[2,0,-1,1,0,0,1,-236.95,0]],[[2,0,-1,1,0,0,1,-237.25,0]],[[2,0,-1,1,0,0,1,-237.55,0]],[[2,0,-1,1,0,0,1,-237.85,0]],[[2,0,-1,1,0,0,1,-238.15,0]],[[2,0,-1,1,0,0,1,-238.45,0]],[[2,0,-1,1,0,0,1,-238.75,0]],[[2,0,-1,1,0,0,1,-239.05,0]],[[2,0,-1,1,0,0,1,-239.35,0]],[[2,0,-1,1,0,0,1,-239.65,0]],[[2,0,-1,1,0,0,1,-239.95,0]],[[2,0,-1,1,0,0,1,-240.25,0]],[[2,0,-1,1,0,0,1,-240.6,0]],[[2,0,-1,1,0,0,1,-240.9,0]],[[2,0,-1,1,0,0,1,-241.15,0]],[[2,0,-1,1,0,0,1,-241.45,0]],[[2,0,-1,1,0,0,1,-241.8,0]],[[2,0,-1,1,0,0,1,-242.1,0]],[[2,0,-1,1,0,0,1,-242.4,0]],[[2,0,-1,1,0,0,1,-242.7,0]],[[2,0,-1,1,0,0,1,-243,0]],[[2,0,-1,1,0,0,1,-243.3,0]],[[2,0,-1,1,0,0,1,-243.6,0]],[[2,0,-1,1,0,0,1,-243.9,0]],[[2,0,-1,1,0,0,1,-244.2,0]],[[2,0,-1,1,0,0,1,-244.5,0]],[[2,0,-1,1,0,0,1,-244.8,0]],[[2,0,-1,1,0,0,1,-245.1,0]],[[2,0,-1,1,0,0,1,-245.4,0]],[[2,0,-1,1,0,0,1,-245.7,0]],[[2,0,-1,1,0,0,1,-246,0]],[[2,0,-1,1,0,0,1,-246.3,0]],[[2,0,-1,1,0,0,1,-246.6,0]],[[2,0,-1,1,0,0,1,-246.95,0]],[[2,0,-1,1,0,0,1,-247.2,0]],[[2,0,-1,1,0,0,1,-247.5,0]],[[2,0,-1,1,0,0,1,-247.85,0]],[[2,0,-1,1,0,0,1,-248.15,0]],[[2,0,-1,1,0,0,1,-248.45,0]],[[2,0,-1,1,0,0,1,-248.75,0]],[[2,0,-1,1,0,0,1,-249.05,0]],[[2,0,-1,1,0,0,1,-249.35,0]],[[2,0,-1,1,0,0,1,-249.65,0]],[[2,0,-1,1,0,0,1,-249.95,0]],[[2,0,-1,1,0,0,1,-250.25,0]],[[2,0,-1,1,0,0,1,-250.55,0]],[[2,0,-1,1,0,0,1,-250.85,0]],[[2,0,-1,1,0,0,1,-251.15,0]],[[2,0,-1,1,0,0,1,-251.45,0]],[[2,0,-1,1,0,0,1,-251.75,0]],[[2,0,-1,1,0,0,1,-252.05,0]],[[2,0,-1,1,0,0,1,-252.35,0]],[[2,0,-1,1,0,0,1,-252.65,0]],[[2,0,-1,1,0,0,1,-252.95,0]],[[2,0,-1,1,0,0,1,-253.25,0]],[[2,0,-1,1,0,0,1,-253.55,0]],[[2,0,-1,1,0,0,1,-253.85,0]],[[2,0,-1,1,0,0,1,-254.15,0]],[[2,0,-1,1,0,0,1,-254.5,0]],[[2,0,-1,1,0,0,1,-254.8,0]],[[2,0,-1,1,0,0,1,-255.1,0]],[[2,0,-1,1,0,0,1,-255.35,0]],[[2,0,-1,1,0,0,1,-255.7,0]],[[2,0,-1,1,0,0,1,-256,0]],[[2,0,-1,1,0,0,1,-256.3,0]],[[2,0,-1,1,0,0,1,-256.6,0]],[[2,0,-1,1,0,0,1,-256.9,0]],[[2,0,-1,1,0,0,1,-257.2,0]],[[2,0,-1,1,0,0,1,-257.5,0]],[[2,0,-1,1,0,0,1,-257.8,0]],[[2,0,-1,1,0,0,1,-258.1,0]],[[2,0,-1,1,0,0,1,-258.4,0]],[[2,0,-1,1,0,0,1,-258.7,0]],[[2,0,-1,1,0,0,1,-259,0]],[[2,0,-1,1,0,0,1,-259.3,0]],[[2,0,-1,1,0,0,1,-259.6,0]],[[2,0,-1,1,0,0,1,-259.9,0]],[[2,0,-1,1,0,0,1,-260.2,0]],[[2,0,-1,1,0,0,1,-260.55,0]],[[2,0,-1,1,0,0,1,-260.85,0]],[[2,0,-1,1,0,0,1,-261.1,0]],[[2,0,-1,1,0,0,1,-261.4,0]],[[2,0,-1,1,0,0,1,-261.7,0]],[[2,0,-1,1,0,0,1,-262.05,0]],[[2,0,-1,1,0,0,1,-262.35,0]],[[2,0,-1,1,0,0,1,-262.65,0]],[[2,0,-1,1,0,0,1,-262.95,0]],[[2,0,-1,1,0,0,1,-263.25,0]],[[2,0,-1,1,0,0,1,-263.55,0]],[[2,0,-1,1,0,0,1,-263.85,0]],[[2,0,-1,1,0,0,1,-264.15,0]],[[2,0,-1,1,0,0,1,-264.45,0]],[[2,0,-1,1,0,0,1,-264.75,0]],[[2,0,-1,1,0,0,1,-265.05,0]],[[2,0,-1,1,0,0,1,-265.35,0]],[[2,0,-1,1,0,0,1,-265.65,0]],[[2,0,-1,1,0,0,1,-265.95,0]],[[2,0,-1,1,0,0,1,-266.25,0]],[[2,0,-1,1,0,0,1,-266.55,0]],[[2,0,-1,1,0,0,1,-266.85,0]],[[2,0,-1,1,0,0,1,-267.15,0]],[[2,0,-1,1,0,0,1,-267.5,0]],[[2,0,-1,1,0,0,1,-267.75,0]],[[2,0,-1,1,0,0,1,-268.05,0]],[[2,0,-1,1,0,0,1,-268.4,0]],[[2,0,-1,1,0,0,1,-268.7,0]],[[2,0,-1,1,0,0,1,-269,0]],[[2,0,-1,1,0,0,1,-269.3,0]],[[2,0,-1,1,0,0,1,-269.6,0]],[[2,0,-1,1,0,0,1,-269.9,0]],[[2,0,-1,1,0,0,1,-270.2,0]],[[2,0,-1,1,0,0,1,-270.5,0]],[[2,0,-1,1,0,0,1,-270.8,0]],[[2,0,-1,1,0,0,1,-271.1,0]],[[2,0,-1,1,0,0,1,-271.4,0]],[[2,0,-1,1,0,0,1,-271.7,0]],[[2,0,-1,1,0,0,1,-272,0]],[[2,0,-1,1,0,0,1,-272.3,0]],[[2,0,-1,1,0,0,1,-272.6,0]],[[2,0,-1,1,0,0,1,-272.9,0]],[[2,0,-1,1,0,0,1,-273.2,0]],[[2,0,-1,1,0,0,1,-273.5,0]],[[2,0,-1,1,0,0,1,-273.8,0]],[[2,0,-1,1,0,0,1,-274.1,0]],[[2,0,-1,1,0,0,1,-274.4,0]],[[2,0,-1,1,0,0,1,-274.75,0]],[[2,0,-1,1,0,0,1,-275.05,0]],[[2,0,-1,1,0,0,1,-275.35,0]],[[2,0,-1,1,0,0,1,-275.6,0]],[[2,0,-1,1,0,0,1,-275.95,0]],[[2,0,-1,1,0,0,1,-276.25,0]],[[2,0,-1,1,0,0,1,-276.55,0]],[[2,0,-1,1,0,0,1,-276.85,0]],[[2,0,-1,1,0,0,1,-277.15,0]],[[2,0,-1,1,0,0,1,-277.45,0]],[[2,0,-1,1,0,0,1,-277.75,0]],[[2,0,-1,1,0,0,1,-278.05,0]],[[2,0,-1,1,0,0,1,-278.35,0]],[[2,0,-1,1,0,0,1,-278.65,0]],[[2,0,-1,1,0,0,1,-278.95,0]],[[2,0,-1,1,0,0,1,-279.25,0]],[[2,0,-1,1,0,0,1,-279.55,0]],[[2,0,-1,1,0,0,1,-279.85,0]],[[2,0,-1,1,0,0,1,-280.15,0]],[[2,0,-1,1,0,0,1,-280.45,0]],[[2,0,-1,1,0,0,1,-280.75,0]],[[2,0,-1,1,0,0,1,-281.1,0]],[[2,0,-1,1,0,0,1,-281.4,0]],[[2,0,-1,1,0,0,1,-281.7,0]],[[2,0,-1,1,0,0,1,-281.95,0]],[[2,0,-1,1,0,0,1,-282.3,0]],[[2,0,-1,1,0,0,1,-282.6,0]],[[2,0,-1,1,0,0,1,-282.9,0]],[[2,0,-1,1,0,0,1,-283.2,0]],[[2,0,-1,1,0,0,1,-283.5,0]],[[2,0,-1,1,0,0,1,-283.8,0]],[[2,0,-1,1,0,0,1,-284.1,0]],[[2,0,-1,1,0,0,1,-284.4,0]],[[2,0,-1,1,0,0,1,-284.7,0]],[[2,0,-1,1,0,0,1,-285,0]],[[2,0,-1,1,0,0,1,-285.3,0]],[[2,0,-1,1,0,0,1,-285.6,0]],[[2,0,-1,1,0,0,1,-285.9,0]],[[2,0,-1,1,0,0,1,-286.2,0]],[[2,0,-1,1,0,0,1,-286.5,0]],[[2,0,-1,1,0,0,1,-286.8,0]],[[2,0,-1,1,0,0,1,-287.1,0]],[[2,0,-1,1,0,0,1,-287.45,0]],[[2,0,-1,1,0,0,1,-287.75,0]],[[2,0,-1,1,0,0,1,-288,0]],[[2,0,-1,1,0,0,1,-288.35,0]],[[2,0,-1,1,0,0,1,-288.65,0]],[[2,0,-1,1,0,0,1,-288.95,0]],[[2,0,-1,1,0,0,1,-289.25,0]],[[2,0,-1,1,0,0,1,-289.55,0]],[[2,0,-1,1,0,0,1,-289.85,0]],[[2,0,-1,1,0,0,1,-290.15,0]],[[2,0,-1,1,0,0,1,-290.45,0]],[[2,0,-1,1,0,0,1,-290.75,0]],[[2,0,-1,1,0,0,1,-291.05,0]],[[2,0,-1,1,0,0,1,-291.35,0]],[[2,0,-1,1,0,0,1,-291.65,0]],[[2,0,-1,1,0,0,1,-291.95,0]],[[2,0,-1,1,0,0,1,-292.25,0]],[[2,0,-1,1,0,0,1,-292.55,0]],[[2,0,-1,1,0,0,1,-292.85,0]],[[2,0,-1,1,0,0,1,-293.15,0]],[[2,0,-1,1,0,0,1,-293.45,0]],[[2,0,-1,1,0,0,1,-293.8,0]],[[2,0,-1,1,0,0,1,-294.05,0]],[[2,0,-1,1,0,0,1,-294.35,0]],[[2,0,-1,1,0,0,1,-294.65,0]],[[2,0,-1,1,0,0,1,-295,0]],[[2,0,-1,1,0,0,1,-295.3,0]],[[2,0,-1,1,0,0,1,-295.6,0]],[[2,0,-1,1,0,0,1,-295.9,0]],[[2,0,-1,1,0,0,1,-296.15,0]],[[2,0,-1,1,0,0,1,-296.5,0]],[[2,0,-1,1,0,0,1,-296.8,0]],[[2,0,-1,1,0,0,1,-297.1,0]],[[2,0,-1,1,0,0,1,-297.4,0]],[[2,0,-1,1,0,0,1,-297.7,0]],[[2,0,-1,1,0,0,1,-298,0]],[[2,0,-1,1,0,0,1,-298.3,0]],[[2,0,-1,1,0,0,1,-298.6,0]],[[2,0,-1,1,0,0,1,-298.9,0]],[[2,0,-1,1,0,0,1,-299.2,0]],[[2,0,-1,1,0,0,1,-299.5,0]],[[2,0,-1,1,0,0,1,-299.8,0]],[[2,0,-1,1,0,0,1,-300.1,0]],[[2,0,-1,1,0,0,1,-300.4,0]],[[2,0,-1,1,0,0,1,-300.7,0]],[[2,0,-1,1,0,0,1,-301,0]],[[2,0,-1,1,0,0,1,-301.3,0]],[[2,0,-1,1,0,0,1,-301.65,0]],[[2,0,-1,1,0,0,1,-301.95,0]],[[2,0,-1,1,0,0,1,-302.2,0]],[[2,0,-1,1,0,0,1,-302.55,0]],[[2,0,-1,1,0,0,1,-302.85,0]],[[2,0,-1,1,0,0,1,-303.15,0]],[[2,0,-1,1,0,0,1,-303.45,0]],[[2,0,-1,1,0,0,1,-303.75,0]],[[2,0,-1,1,0,0,1,-304.05,0]],[[2,0,-1,1,0,0,1,-304.35,0]],[[2,0,-1,1,0,0,1,-304.65,0]],[[2,0,-1,1,0,0,1,-304.95,0]],[[2,0,-1,1,0,0,1,-305.25,0]],[[2,0,-1,1,0,0,1,-305.55,0]],[[2,0,-1,1,0,0,1,-305.85,0]],[[2,0,-1,1,0,0,1,-306.15,0]],[[2,0,-1,1,0,0,1,-306.45,0]],[[2,0,-1,1,0,0,1,-306.75,0]],[[2,0,-1,1,0,0,1,-307.05,0]],[[2,0,-1,1,0,0,1,-307.35,0]],[[2,0,-1,1,0,0,1,-307.65,0]],[[2,0,-1,1,0,0,1,-307.95,0]],[[2,0,-1,1,0,0,1,-308.25,0]],[[2,0,-1,1,0,0,1,-308.55,0]],[[2,0,-1,1,0,0,1,-308.85,0]],[[2,0,-1,1,0,0,1,-309.15,0]],[[2,0,-1,1,0,0,1,-309.5,0]],[[2,0,-1,1,0,0,1,-309.8,0]],[[2,0,-1,1,0,0,1,-310.1,0]],[[2,0,-1,1,0,0,1,-310.4,0]],[[2,0,-1,1,0,0,1,-310.7,0]],[[2,0,-1,1,0,0,1,-311,0]],[[2,0,-1,1,0,0,1,-311.3,0]],[[2,0,-1,1,0,0,1,-311.6,0]],[[2,0,-1,1,0,0,1,-311.9,0]],[[2,0,-1,1,0,0,1,-312.2,0]],[[2,0,-1,1,0,0,1,-312.5,0]],[[2,0,-1,1,0,0,1,-312.8,0]],[[2,0,-1,1,0,0,1,-313.1,0]],[[2,0,-1,1,0,0,1,-313.4,0]],[[2,0,-1,1,0,0,1,-313.7,0]],[[2,0,-1,1,0,0,1,-314,0]],[[2,0,-1,1,0,0,1,-314.3,0]],[[2,0,-1,1,0,0,1,-314.6,0]],[[2,0,-1,1,0,0,1,-314.9,0]],[[2,0,-1,1,0,0,1,-315.2,0]],[[2,0,-1,1,0,0,1,-315.55,0]],[[2,0,-1,1,0,0,1,-315.85,0]],[[2,0,-1,1,0,0,1,-316.15,0]],[[2,0,-1,1,0,0,1,-316.45,0]],[[2,0,-1,1,0,0,1,-316.75,0]],[[2,0,-1,1,0,0,1,-317.05,0]],[[2,0,-1,1,0,0,1,-317.35,0]],[[2,0,-1,1,0,0,1,-317.65,0]],[[2,0,-1,1,0,0,1,-317.95,0]],[[2,0,-1,1,0,0,1,-318.25,0]],[[2,0,-1,1,0,0,1,-318.55,0]],[[2,0,-1,1,0,0,1,-318.85,0]],[[2,0,-1,1,0,0,1,-319.15,0]],[[2,0,-1,1,0,0,1,-319.45,0]],[[2,0,-1,1,0,0,1,-319.75,0]],[[2,0,-1,1,0,0,1,-320.05,0]],[[2,0,-1,1,0,0,1,-320.35,0]],[[2,0,-1,1,0,0,1,-320.65,0]],[[2,0,-1,1,0,0,1,-320.95,0]],[[2,0,-1,1,0,0,1,-321.25,0]],[[2,0,-1,1,0,0,1,-321.55,0]],[[2,0,-1,1,0,0,1,-321.9,0]],[[2,0,-1,1,0,0,1,-322.2,0]],[[2,0,-1,1,0,0,1,-322.45,0]],[[2,0,-1,1,0,0,1,-322.8,0]],[[2,0,-1,1,0,0,1,-323.1,0]],[[2,0,-1,1,0,0,1,-323.4,0]],[[2,0,-1,1,0,0,1,-323.7,0]],[[2,0,-1,1,0,0,1,-324,0]],[[2,0,-1,1,0,0,1,-324.3,0]],[[2,0,-1,1,0,0,1,-324.6,0]],[[2,0,-1,1,0,0,1,-324.9,0]],[[2,0,-1,1,0,0,1,-325.2,0]],[[2,0,-1,1,0,0,1,-325.5,0]],[[2,0,-1,1,0,0,1,-325.8,0]],[[2,0,-1,1,0,0,1,-326.1,0]],[[2,0,-1,1,0,0,1,-326.4,0]],[[2,0,-1,1,0,0,1,-326.7,0]],[[2,0,-1,1,0,0,1,-327,0]],[[2,0,-1,1,0,0,1,-327.3,0]],[[2,0,-1,1,0,0,1,-327.6,0]],[[2,0,-1,1,0,0,1,-327.9,0]],[[2,0,-1,1,0,0,1,-328.25,0]],[[2,0,-1,1,0,0,1,-328.5,0]],[[2,0,-1,1,0,0,1,-328.8,0]],[[2,0,-1,1,0,0,1,-329.1,0]],[[2,0,-1,1,0,0,1,-329.4,0]],[[2,0,-1,1,0,0,1,-329.75,0]],[[2,0,-1,1,0,0,1,-330.05,0]],[[2,0,-1,1,0,0,1,-330.35,0]],[[2,0,-1,1,0,0,1,-330.65,0]],[[2,0,-1,1,0,0,1,-330.95,0]],[[2,0,-1,1,0,0,1,-331.25,0]],[[2,0,-1,1,0,0,1,-331.55,0]],[[2,0,-1,1,0,0,1,-331.85,0]],[[2,0,-1,1,0,0,1,-332.15,0]],[[2,0,-1,1,0,0,1,-332.45,0]],[[2,0,-1,1,0,0,1,-332.75,0]],[[2,0,-1,1,0,0,1,-333.05,0]],[[2,0,-1,1,0,0,1,-333.35,0]],[[2,0,-1,1,0,0,1,-333.65,0]],[[2,0,-1,1,0,0,1,-333.95,0]],[[2,0,-1,1,0,0,1,-334.25,0]],[[2,0,-1,1,0,0,1,-334.55,0]],[[2,0,-1,1,0,0,1,-334.85,0]],[[2,0,-1,1,0,0,1,-335.15,0]],[[2,0,-1,1,0,0,1,-335.45,0]],[[2,0,-1,1,0,0,1,-335.75,0]],[[2,0,-1,1,0,0,1,-336.1,0]],[[2,0,-1,1,0,0,1,-336.4,0]],[[2,0,-1,1,0,0,1,-336.65,0]],[[2,0,-1,1,0,0,1,-337,0]],[[2,0,-1,1,0,0,1,-337.3,0]],[[2,0,-1,1,0,0,1,-337.6,0]],[[2,0,-1,1,0,0,1,-337.9,0]],[[2,0,-1,1,0,0,1,-338.2,0]],[[2,0,-1,1,0,0,1,-338.5,0]],[[2,0,-1,1,0,0,1,-338.8,0]],[[2,0,-1,1,0,0,1,-339.1,0]],[[2,0,-1,1,0,0,1,-339.4,0]],[[2,0,-1,1,0,0,1,-339.7,0]],[[2,0,-1,1,0,0,1,-340,0]],[[2,0,-1,1,0,0,1,-340.3,0]],[[2,0,-1,1,0,0,1,-340.6,0]],[[2,0,-1,1,0,0,1,-340.9,0]],[[2,0,-1,1,0,0,1,-341.2,0]],[[2,0,-1,1,0,0,1,-341.5,0]],[[2,0,-1,1,0,0,1,-341.8,0]],[[2,0,-1,1,0,0,1,-342.1,0]],[[2,0,-1,1,0,0,1,-342.45,0]],[[2,0,-1,1,0,0,1,-342.75,0]],[[2,0,-1,1,0,0,1,-343,0]],[[2,0,-1,1,0,0,1,-343.35,0]],[[2,0,-1,1,0,0,1,-343.65,0]],[[2,0,-1,1,0,0,1,-343.95,0]],[[2,0,-1,1,0,0,1,-344.25,0]],[[2,0,-1,1,0,0,1,-344.55,0]],[[2,0,-1,1,0,0,1,-344.85,0]],[[2,0,-1,1,0,0,1,-345.15,0]],[[2,0,-1,1,0,0,1,-345.45,0]],[[2,0,-1,1,0,0,1,-345.75,0]],[[2,0,-1,1,0,0,1,-346.05,0]],[[2,0,-1,1,0,0,1,-346.35,0]],[[2,0,-1,1,0,0,1,-346.65,0]],[[2,0,-1,1,0,0,1,-346.95,0]],[[2,0,-1,1,0,0,1,-347.25,0]],[[2,0,-1,1,0,0,1,-347.55,0]],[[2,0,-1,1,0,0,1,-347.85,0]],[[2,0,-1,1,0,0,1,-348.15,0]],[[2,0,-1,1,0,0,1,-348.45,0]],[[2,0,-1,1,0,0,1,-348.75,0]],[[2,0,-1,1,0,0,1,-349.05,0]],[[2,0,-1,1,0,0,1,-349.35,0]],[[2,0,-1,1,0,0,1,-349.65,0]],[[2,0,-1,1,0,0,1,-350,0]],[[2,0,-1,1,0,0,1,-350.3,0]],[[2,0,-1,1,0,0,1,-350.6,0]],[[2,0,-1,1,0,0,1,-350.9,0]],[[2,0,-1,1,0,0,1,-351.2,0]],[[2,0,-1,1,0,0,1,-351.5,0]],[[2,0,-1,1,0,0,1,-351.8,0]],[[2,0,-1,1,0,0,1,-352.1,0]],[[2,0,-1,1,0,0,1,-352.4,0]],[[2,0,-1,1,0,0,1,-352.7,0]],[[2,0,-1,1,0,0,1,-353,0]],[[2,0,-1,1,0,0,1,-353.3,0]],[[2,0,-1,1,0,0,1,-353.6,0]],[[2,0,-1,1,0,0,1,-353.9,0]],[[2,0,-1,1,0,0,1,-354.2,0]],[[2,0,-1,1,0,0,1,-354.5,0]],[[2,0,-1,1,0,0,1,-354.8,0]],[[2,0,-1,1,0,0,1,-355.1,0]],[[2,0,-1,1,0,0,1,-355.4,0]],[[2,0,-1,1,0,0,1,-355.7,0]],[[2,0,-1,1,0,0,1,-356,0]],[[2,0,-1,1,0,0,1,-356.35,0]],[[2,0,-1,1,0,0,1,-356.65,0]],[[2,0,-1,1,0,0,1,-356.95,0]],[[2,0,-1,1,0,0,1,-357.25,0]],[[2,0,-1,1,0,0,1,-357.55,0]],[[2,0,-1,1,0,0,1,-357.85,0]],[[2,0,-1,1,0,0,1,-358.15,0]],[[2,0,-1,1,0,0,1,-358.45,0]],[[2,0,-1,1,0,0,1,-358.75,0]],[[2,0,-1,1,0,0,1,-359.05,0]],[[2,0,-1,1,0,0,1,-359.35,0]],[[2,0,-1,1,0,0,1,-359.65,0]],[[2,0,-1,1,0,0,1,-359.95,0]],[[2,0,-1,1,0,0,1,-360.25,0]],[[2,0,-1,1,0,0,1,-360.55,0]],[[2,0,-1,1,0,0,1,-360.85,0]],[[2,0,-1,1,0,0,1,-361.15,0]],[[2,0,-1,1,0,0,1,-361.45,0]],[[2,0,-1,1,0,0,1,-361.75,0]],[[2,0,-1,1,0,0,1,-362.05,0]],[[2,0,-1,1,0,0,1,-362.35,0]],[[2,0,-1,1,0,0,1,-362.7,0]],[[2,0,-1,1,0,0,1,-363,0]],[[2,0,-1,1,0,0,1,-363.3,0]],[[2,0,-1,1,0,0,1,-363.55,0]],[[2,0,-1,1,0,0,1,-363.9,0]],[[2,0,-1,1,0,0,1,-364.2,0]],[[2,0,-1,1,0,0,1,-364.5,0]],[[2,0,-1,1,0,0,1,-364.8,0]],[[2,0,-1,1,0,0,1,-365.1,0]],[[2,0,-1,1,0,0,1,-365.4,0]],[[2,0,-1,1,0,0,1,-365.7,0]],[[2,0,-1,1,0,0,1,-366,0]],[[2,0,-1,1,0,0,1,-366.3,0]],[[2,0,-1,1,0,0,1,-366.6,0]],[[2,0,-1,1,0,0,1,-366.9,0]],[[2,0,-1,1,0,0,1,-367.2,0]],[[2,0,-1,1,0,0,1,-367.5,0]],[[2,0,-1,1,0,0,1,-367.8,0]],[[2,0,-1,1,0,0,1,-368.1,0]],[[2,0,-1,1,0,0,1,-368.4,0]],[[2,0,-1,1,0,0,1,-368.7,0]],[[2,0,-1,1,0,0,1,-369,0]],[[2,0,-1,1,0,0,1,-369.3,0]],[[2,0,-1,1,0,0,1,-369.6,0]],[[2,0,-1,1,0,0,1,-369.95,0]],[[2,0,-1,1,0,0,1,-370.25,0]],[[2,0,-1,1,0,0,1,-370.55,0]],[[2,0,-1,1,0,0,1,-370.85,0]],[[2,0,-1,1,0,0,1,-371.15,0]],[[2,0,-1,1,0,0,1,-371.45,0]],[[2,0,-1,1,0,0,1,-371.75,0]],[[2,0,-1,1,0,0,1,-372.05,0]],[[2,0,-1,1,0,0,1,-372.35,0]],[[2,0,-1,1,0,0,1,-372.65,0]],[[2,0,-1,1,0,0,1,-372.95,0]],[[2,0,-1,1,0,0,1,-373.25,0]],[[2,0,-1,1,0,0,1,-373.55,0]],[[2,0,-1,1,0,0,1,-373.85,0]],[[2,0,-1,1,0,0,1,-374.15,0]],[[2,0,-1,1,0,0,1,-374.45,0]],[[2,0,-1,1,0,0,1,-374.75,0]],[[2,0,-1,1,0,0,1,-375.05,0]],[[2,0,-1,1,0,0,1,-375.35,0]],[[2,0,-1,1,0,0,1,-375.65,0]],[[2,0,-1,1,0,0,1,-375.95,0]],[[2,0,-1,1,0,0,1,-376.25,0]],[[2,0,-1,1,0,0,1,-376.6,0]],[[2,0,-1,1,0,0,1,-376.9,0]],[[2,0,-1,1,0,0,1,-377.2,0]],[[2,0,-1,1,0,0,1,-377.5,0]],[[2,0,-1,1,0,0,1,-377.8,0]],[[2,0,-1,1,0,0,1,-378.1,0]],[[2,0,-1,1,0,0,1,-378.4,0]],[[2,0,-1,1,0,0,1,-378.7,0]],[[2,0,-1,1,0,0,1,-379,0]],[[2,0,-1,1,0,0,1,-379.3,0]],[[2,0,-1,1,0,0,1,-379.6,0]],[[2,0,-1,1,0,0,1,-379.9,0]],[[2,0,-1,1,0,0,1,-380.2,0]],[[2,0,-1,1,0,0,1,-380.5,0]],[[2,0,-1,1,0,0,1,-380.8,0]],[[2,0,-1,1,0,0,1,-381.1,0]],[[2,0,-1,1,0,0,1,-381.4,0]],[[2,0,-1,1,0,0,1,-381.7,0]],[[2,0,-1,1,0,0,1,-382,0]],[[2,0,-1,1,0,0,1,-382.3,0]],[[2,0,-1,1,0,0,1,-382.6,0]],[[2,0,-1,1,0,0,1,-382.9,0]],[[2,0,-1,1,0,0,1,-383.25,0]],[[2,0,-1,1,0,0,1,-383.5,0]],[[2,0,-1,1,0,0,1,-383.8,0]],[[2,0,-1,1,0,0,1,-384.1,0]],[[2,0,-1,1,0,0,1,-384.45,0]],[[2,0,-1,1,0,0,1,-384.75,0]],[[2,0,-1,1,0,0,1,-385.05,0]],[[2,0,-1,1,0,0,1,-385.35,0]],[[2,0,-1,1,0,0,1,-385.65,0]],[[2,0,-1,1,0,0,1,-385.95,0]],[[2,0,-1,1,0,0,1,-386.25,0]],[[2,0,-1,1,0,0,1,-386.55,0]],[[2,0,-1,1,0,0,1,-386.85,0]],[[2,0,-1,1,0,0,1,-387.15,0]],[[2,0,-1,1,0,0,1,-387.45,0]],[[2,0,-1,1,0,0,1,-387.75,0]],[[2,0,-1,1,0,0,1,-388.05,0]],[[2,0,-1,1,0,0,1,-388.35,0]],[[2,0,-1,1,0,0,1,-388.65,0]],[[2,0,-1,1,0,0,1,-388.95,0]],[[2,0,-1,1,0,0,1,-389.25,0]],[[2,0,-1,1,0,0,1,-389.55,0]],[[2,0,-1,1,0,0,1,-389.85,0]],[[2,0,-1,1,0,0,1,-390.15,0]],[[2,0,-1,1,0,0,1,-390.5,0]],[[2,0,-1,1,0,0,1,-390.8,0]],[[2,0,-1,1,0,0,1,-391.1,0]],[[2,0,-1,1,0,0,1,-391.4,0]],[[2,0,-1,1,0,0,1,-391.7,0]],[[2,0,-1,1,0,0,1,-392,0]],[[2,0,-1,1,0,0,1,-392.3,0]],[[2,0,-1,1,0,0,1,-392.6,0]],[[2,0,-1,1,0,0,1,-392.9,0]],[[2,0,-1,1,0,0,1,-393.2,0]],[[2,0,-1,1,0,0,1,-393.5,0]],[[2,0,-1,1,0,0,1,-393.8,0]],[[2,0,-1,1,0,0,1,-394.1,0]],[[2,0,-1,1,0,0,1,-394.4,0]],[[2,0,-1,1,0,0,1,-394.7,0]],[[2,0,-1,1,0,0,1,-395,0]],[[2,0,-1,1,0,0,1,-395.3,0]],[[2,0,-1,1,0,0,1,-395.6,0]],[[2,0,-1,1,0,0,1,-395.9,0]],[[2,0,-1,1,0,0,1,-396.2,0]],[[2,0,-1,1,0,0,1,-396.5,0]],[[2,0,-1,1,0,0,1,-396.8,0]],[[2,0,-1,1,0,0,1,-397.15,0]],[[2,0,-1,1,0,0,1,-397.45,0]],[[2,0,-1,1,0,0,1,-397.7,0]],[[2,0,-1,1,0,0,1,-398.05,0]],[[2,0,-1,1,0,0,1,-398.35,0]],[[2,0,-1,1,0,0,1,-398.65,0]],[[2,0,-1,1,0,0,1,-398.95,0]],[[2,0,-1,1,0,0,1,-399.25,0]],[[2,0,-1,1,0,0,1,-399.55,0]],[[2,0,-1,1,0,0,1,-399.85,0]],[[2,0,-1,1,0,0,1,-400.15,0]],[[2,0,-1,1,0,0,1,-400.45,0]],[[2,0,-1,1,0,0,1,-400.75,0]],[[2,0,-1,1,0,0,1,-401.05,0]],[[2,0,-1,1,0,0,1,-401.35,0]],[[2,0,-1,1,0,0,1,-401.65,0]],[[2,0,-1,1,0,0,1,-401.95,0]],[[2,0,-1,1,0,0,1,-402.25,0]],[[2,0,-1,1,0,0,1,-402.55,0]],[[2,0,-1,1,0,0,1,-402.85,0]],[[2,0,-1,1,0,0,1,-403.15,0]],[[2,0,-1,1,0,0,1,-403.45,0]],[[2,0,-1,1,0,0,1,-403.75,0]],[[2,0,-1,1,0,0,1,-404.05,0]],[[2,0,-1,1,0,0,1,-404.35,0]],[[2,0,-1,1,0,0,1,-404.7,0]],[[2,0,-1,1,0,0,1,-405,0]],[[2,0,-1,1,0,0,1,-405.3,0]],[[2,0,-1,1,0,0,1,-405.6,0]],[[2,0,-1,1,0,0,1,-405.9,0]],[[2,0,-1,1,0,0,1,-406.2,0]],[[2,0,-1,1,0,0,1,-406.5,0]],[[2,0,-1,1,0,0,1,-406.8,0]],[[2,0,-1,1,0,0,1,-407.1,0]],[[2,0,-1,1,0,0,1,-407.4,0]],[[2,0,-1,1,0,0,1,-407.7,0]],[[2,0,-1,1,0,0,1,-408,0]],[[2,0,-1,1,0,0,1,-408.3,0]],[[2,0,-1,1,0,0,1,-408.6,0]],[[2,0,-1,1,0,0,1,-408.9,0]],[[2,0,-1,1,0,0,1,-409.2,0]],[[2,0,-1,1,0,0,1,-409.5,0]],[[2,0,-1,1,0,0,1,-409.85,0]],[[2,0,-1,1,0,0,1,-410.1,0]],[[2,0,-1,1,0,0,1,-410.4,0]],[[2,0,-1,1,0,0,1,-410.7,0]],[[2,0,-1,1,0,0,1,-411.05,0]],[[2,0,-1,1,0,0,1,-411.35,0]],[[2,0,-1,1,0,0,1,-411.65,0]],[[2,0,-1,1,0,0,1,-411.95,0]],[[2,0,-1,1,0,0,1,-412.25,0]],[[2,0,-1,1,0,0,1,-412.55,0]],[[2,0,-1,1,0,0,1,-412.85,0]],[[2,0,-1,1,0,0,1,-413.15,0]],[[2,0,-1,1,0,0,1,-413.45,0]],[[2,0,-1,1,0,0,1,-413.75,0]],[[2,0,-1,1,0,0,1,-414.05,0]],[[2,0,-1,1,0,0,1,-414.35,0]],[[2,0,-1,1,0,0,1,-414.65,0]],[[2,0,-1,1,0,0,1,-414.95,0]],[[2,0,-1,1,0,0,1,-415.25,0]],[[2,0,-1,1,0,0,1,-415.55,0]],[[2,0,-1,1,0,0,1,-415.85,0]],[[2,0,-1,1,0,0,1,-416.15,0]],[[2,0,-1,1,0,0,1,-416.45,0]],[[2,0,-1,1,0,0,1,-416.75,0]],[[2,0,-1,1,0,0,1,-417.05,0]],[[2,0,-1,1,0,0,1,-417.4,0]],[[2,0,-1,1,0,0,1,-417.7,0]],[[2,0,-1,1,0,0,1,-418,0]],[[2,0,-1,1,0,0,1,-418.25,0]],[[2,0,-1,1,0,0,1,-418.6,0]],[[2,0,-1,1,0,0,1,-418.9,0]],[[2,0,-1,1,0,0,1,-419.2,0]],[[2,0,-1,1,0,0,1,-419.5,0]],[[2,0,-1,1,0,0,1,-419.8,0]],[[2,0,-1,1,0,0,1,-420.1,0]],[[2,0,-1,1,0,0,1,-420.4,0]],[[2,0,-1,1,0,0,1,-420.7,0]],[[2,0,-1,1,0,0,1,-421,0]],[[2,0,-1,1,0,0,1,-421.3,0]],[[2,0,-1,1,0,0,1,-421.6,0]],[[2,0,-1,1,0,0,1,-421.9,0]],[[2,0,-1,1,0,0,1,-422.2,0]],[[2,0,-1,1,0,0,1,-422.5,0]],[[2,0,-1,1,0,0,1,-422.8,0]],[[2,0,-1,1,0,0,1,-423.1,0]],[[2,0,-1,1,0,0,1,-423.45,0]],[[2,0,-1,1,0,0,1,-423.75,0]],[[2,0,-1,1,0,0,1,-424.05,0]],[[2,0,-1,1,0,0,1,-424.3,0]],[[2,0,-1,1,0,0,1,-424.65,0]],[[2,0,-1,1,0,0,1,-424.95,0]],[[2,0,-1,1,0,0,1,-425.25,0]],[[2,0,-1,1,0,0,1,-425.55,0]],[[2,0,-1,1,0,0,1,-425.85,0]],[[2,0,-1,1,0,0,1,-426.15,0]],[[2,0,-1,1,0,0,1,-426.45,0]],[[2,0,-1,1,0,0,1,-426.75,0]],[[2,0,-1,1,0,0,1,-427.05,0]],[[2,0,-1,1,0,0,1,-427.35,0]],[[2,0,-1,1,0,0,1,-427.65,0]],[[2,0,-1,1,0,0,1,-427.95,0]],[[2,0,-1,1,0,0,1,-428.25,0]],[[2,0,-1,1,0,0,1,-428.55,0]],[[2,0,-1,1,0,0,1,-428.85,0]],[[2,0,-1,1,0,0,1,-429.15,0]],[[2,0,-1,1,0,0,1,-429.45,0]],[[2,0,-1,1,0,0,1,-429.75,0]],[[2,0,-1,1,0,0,1,-430.1,0]],[[2,0,-1,1,0,0,1,-430.35,0]],[[2,0,-1,1,0,0,1,-430.65,0]],[[2,0,-1,1,0,0,1,-430.95,0]],[[2,0,-1,1,0,0,1,-431.3,0]],[[2,0,-1,1,0,0,1,-431.6,0]],[[2,0,-1,1,0,0,1,-431.9,0]],[[2,0,-1,1,0,0,1,-432.2,0]],[[2,0,-1,1,0,0,1,-432.5,0]],[[2,0,-1,1,0,0,1,-432.8,0]],[[2,0,-1,1,0,0,1,-433.1,0]],[[2,0,-1,1,0,0,1,-433.4,0]],[[2,0,-1,1,0,0,1,-433.7,0]],[[2,0,-1,1,0,0,1,-434,0]],[[2,0,-1,1,0,0,1,-434.3,0]],[[2,0,-1,1,0,0,1,-434.6,0]],[[2,0,-1,1,0,0,1,-434.9,0]],[[2,0,-1,1,0,0,1,-435.2,0]],[[2,0,-1,1,0,0,1,-435.5,0]],[[2,0,-1,1,0,0,1,-435.8,0]],[[2,0,-1,1,0,0,1,-436.1,0]],[[2,0,-1,1,0,0,1,-436.4,0]],[[2,0,-1,1,0,0,1,-436.7,0]],[[2,0,-1,1,0,0,1,-437,0]],[[2,0,-1,1,0,0,1,-437.3,0]],[[2,0,-1,1,0,0,1,-437.65,0]],[[2,0,-1,1,0,0,1,-437.95,0]],[[2,0,-1,1,0,0,1,-438.25,0]],[[2,0,-1,1,0,0,1,-438.55,0]],[[2,0,-1,1,0,0,1,-438.85,0]],[[2,0,-1,1,0,0,1,-439.15,0]],[[2,0,-1,1,0,0,1,-439.45,0]],[[2,0,-1,1,0,0,1,-439.75,0]],[[2,0,-1,1,0,0,1,-440.05,0]],[[2,0,-1,1,0,0,1,-440.35,0]],[[2,0,-1,1,0,0,1,-440.65,0]],[[2,0,-1,1,0,0,1,-440.95,0]],[[2,0,-1,1,0,0,1,-441.25,0]],[[2,0,-1,1,0,0,1,-441.55,0]],[[2,0,-1,1,0,0,1,-441.85,0]],[[2,0,-1,1,0,0,1,-442.15,0]],[[2,0,-1,1,0,0,1,-442.45,0]],[[2,0,-1,1,0,0,1,-442.75,0]],[[2,0,-1,1,0,0,1,-443.05,0]],[[2,0,-1,1,0,0,1,-443.35,0]],[[2,0,-1,1,0,0,1,-443.65,0]],[[2,0,-1,1,0,0,1,-444,0]],[[2,0,-1,1,0,0,1,-444.3,0]],[[2,0,-1,1,0,0,1,-444.55,0]],[[2,0,-1,1,0,0,1,-444.85,0]],[[2,0,-1,1,0,0,1,-445.2,0]],[[2,0,-1,1,0,0,1,-445.5,0]],[[2,0,-1,1,0,0,1,-445.8,0]],[[2,0,-1,1,0,0,1,-446.1,0]],[[2,0,-1,1,0,0,1,-446.4,0]],[[2,0,-1,1,0,0,1,-446.7,0]],[[2,0,-1,1,0,0,1,-447,0]],[[2,0,-1,1,0,0,1,-447.3,0]],[[2,0,-1,1,0,0,1,-447.6,0]],[[2,0,-1,1,0,0,1,-447.9,0]],[[2,0,-1,1,0,0,1,-448.2,0]],[[2,0,-1,1,0,0,1,-448.5,0]],[[2,0,-1,1,0,0,1,-448.8,0]],[[2,0,-1,1,0,0,1,-449.1,0]],[[2,0,-1,1,0,0,1,-449.4,0]],[[2,0,-1,1,0,0,1,-449.7,0]],[[2,0,-1,1,0,0,1,-450,0]],[[2,0,-1,1,0,0,1,-450.3,0]],[[2,0,-1,1,0,0,1,-450.6,0]],[[2,0,-1,1,0,0,1,-450.9,0]],[[2,0,-1,1,0,0,1,-451.2,0]],[[2,0,-1,1,0,0,1,-451.55,0]],[[2,0,-1,1,0,0,1,-451.85,0]],[[2,0,-1,1,0,0,1,-452.15,0]],[[2,0,-1,1,0,0,1,-452.45,0]],[[2,0,-1,1,0,0,1,-452.75,0]],[[2,0,-1,1,0,0,1,-453.05,0]],[[2,0,-1,1,0,0,1,-453.35,0]],[[2,0,-1,1,0,0,1,-453.65,0]],[[2,0,-1,1,0,0,1,-453.95,0]],[[2,0,-1,1,0,0,1,-454.25,0]],[[2,0,-1,1,0,0,1,-454.55,0]],[[2,0,-1,1,0,0,1,-454.85,0]],[[2,0,-1,1,0,0,1,-455.15,0]],[[2,0,-1,1,0,0,1,-455.45,0]],[[2,0,-1,1,0,0,1,-455.75,0]],[[2,0,-1,1,0,0,1,-456.05,0]],[[2,0,-1,1,0,0,1,-456.35,0]],[[2,0,-1,1,0,0,1,-456.65,0]],[[2,0,-1,1,0,0,1,-456.95,0]],[[2,0,-1,1,0,0,1,-457.25,0]],[[2,0,-1,1,0,0,1,-457.55,0]],[[2,0,-1,1,0,0,1,-457.9,0]],[[2,0,-1,1,0,0,1,-458.2,0]],[[2,0,-1,1,0,0,1,-458.5,0]],[[2,0,-1,1,0,0,1,-458.8,0]],[[2,0,-1,1,0,0,1,-459.1,0]],[[2,0,-1,1,0,0,1,-459.4,0]],[[2,0,-1,1,0,0,1,-459.7,0]],[[2,0,-1,1,0,0,1,-460,0]],[[2,0,-1,1,0,0,1,-460.3,0]],[[2,0,-1,1,0,0,1,-460.6,0]],[[2,0,-1,1,0,0,1,-460.9,0]],[[2,0,-1,1,0,0,1,-461.2,0]],[[2,0,-1,1,0,0,1,-461.5,0]],[[2,0,-1,1,0,0,1,-461.8,0]],[[2,0,-1,1,0,0,1,-462.1,0]],[[2,0,-1,1,0,0,1,-462.4,0]],[[2,0,-1,1,0,0,1,-462.7,0]],[[2,0,-1,1,0,0,1,-463,0]],[[2,0,-1,1,0,0,1,-463.3,0]],[[2,0,-1,1,0,0,1,-463.6,0]],[[2,0,-1,1,0,0,1,-463.9,0]],[[2,0,-1,1,0,0,1,-464.25,0]],[[2,0,-1,1,0,0,1,-464.55,0]],[[2,0,-1,1,0,0,1,-464.8,0]],[[2,0,-1,1,0,0,1,-465.1,0]],[[2,0,-1,1,0,0,1,-465.45,0]],[[2,0,-1,1,0,0,1,-465.75,0]],[[2,0,-1,1,0,0,1,-466.05,0]],[[2,0,-1,1,0,0,1,-466.35,0]],[[2,0,-1,1,0,0,1,-466.65,0]],[[2,0,-1,1,0,0,1,-466.95,0]],[[2,0,-1,1,0,0,1,-467.25,0]],[[2,0,-1,1,0,0,1,-467.55,0]],[[2,0,-1,1,0,0,1,-467.85,0]],[[2,0,-1,1,0,0,1,-468.15,0]],[[2,0,-1,1,0,0,1,-468.45,0]],[[2,0,-1,1,0,0,1,-468.75,0]],[[2,0,-1,1,0,0,1,-469.05,0]],[[2,0,-1,1,0,0,1,-469.35,0]],[[2,0,-1,1,0,0,1,-469.65,0]],[[2,0,-1,1,0,0,1,-469.95,0]],[[2,0,-1,1,0,0,1,-470.25,0]],[[2,0,-1,1,0,0,1,-470.55,0]],[[2,0,-1,1,0,0,1,-470.85,0]],[[2,0,-1,1,0,0,1,-471.15,0]],[[2,0,-1,1,0,0,1,-471.45,0]],[[2,0,-1,1,0,0,1,-471.75,0]],[[2,0,-1,1,0,0,1,-472.1,0]],[[2,0,-1,1,0,0,1,-472.4,0]],[[2,0,-1,1,0,0,1,-472.7,0]],[[2,0,-1,1,0,0,1,-473,0]],[[2,0,-1,1,0,0,1,-473.3,0]],[[2,0,-1,1,0,0,1,-473.6,0]],[[2,0,-1,1,0,0,1,-473.9,0]],[[2,0,-1,1,0,0,1,-474.2,0]],[[2,0,-1,1,0,0,1,-474.5,0]],[[2,0,-1,1,0,0,1,-474.8,0]],[[2,0,-1,1,0,0,1,-475.1,0]],[[2,0,-1,1,0,0,1,-475.4,0]],[[2,0,-1,1,0,0,1,-475.7,0]],[[2,0,-1,1,0,0,1,-476,0]],[[2,0,-1,1,0,0,1,-476.3,0]],[[2,0,-1,1,0,0,1,-476.6,0]],[[2,0,-1,1,0,0,1,-476.9,0]],[[2,0,-1,1,0,0,1,-477.2,0]],[[2,0,-1,1,0,0,1,-477.5,0]],[[2,0,-1,1,0,0,1,-477.8,0]],[[2,0,-1,1,0,0,1,-478.1,0]],[[2,0,-1,1,0,0,1,-478.45,0]],[[2,0,-1,1,0,0,1,-478.75,0]],[[2,0,-1,1,0,0,1,-479,0]],[[2,0,-1,1,0,0,1,-479.35,0]],[[2,0,-1,1,0,0,1,-479.65,0]],[[2,0,-1,1,0,0,1,-479.95,0]],[[2,0,-1,1,0,0,1,-480.25,0]],[[2,0,-1,1,0,0,1,-480.55,0]],[[2,0,-1,1,0,0,1,-480.85,0]],[[2,0,-1,1,0,0,1,-481.15,0]],[[2,0,-1,1,0,0,1,-481.45,0]],[[2,0,-1,1,0,0,1,-481.75,0]],[[2,0,-1,1,0,0,1,-482.05,0]],[[2,0,-1,1,0,0,1,-482.35,0]],[[2,0,-1,1,0,0,1,-482.65,0]],[[2,0,-1,1,0,0,1,-482.95,0]],[[2,0,-1,1,0,0,1,-483.25,0]],[[2,0,-1,1,0,0,1,-483.55,0]],[[2,0,-1,1,0,0,1,-483.85,0]],[[2,0,-1,1,0,0,1,-484.15,0]],[[2,0,-1,1,0,0,1,-484.45,0]],[[2,0,-1,1,0,0,1,-484.8,0]],[[2,0,-1,1,0,0,1,-485.1,0]],[[2,0,-1,1,0,0,1,-485.35,0]],[[2,0,-1,1,0,0,1,-485.65,0]],[[2,0,-1,1,0,0,1,-486,0]],[[2,0,-1,1,0,0,1,-486.3,0]],[[2,0,-1,1,0,0,1,-486.6,0]],[[2,0,-1,1,0,0,1,-486.9,0]],[[2,0,-1,1,0,0,1,-487.2,0]],[[2,0,-1,1,0,0,1,-487.5,0]],[[2,0,-1,1,0,0,1,-487.8,0]],[[2,0,-1,1,0,0,1,-488.1,0]],[[2,0,-1,1,0,0,1,-488.4,0]],[[2,0,-1,1,0,0,1,-488.7,0]],[[2,0,-1,1,0,0,1,-489,0]],[[2,0,-1,1,0,0,1,-489.3,0]],[[2,0,-1,1,0,0,1,-489.6,0]],[[2,0,-1,1,0,0,1,-489.9,0]],[[2,0,-1,1,0,0,1,-490.2,0]],[[2,0,-1,1,0,0,1,-490.5,0]],[[2,0,-1,1,0,0,1,-490.8,0]],[[2,0,-1,1,0,0,1,-491.15,0]],[[2,0,-1,1,0,0,1,-491.4,0]],[[2,0,-1,1,0,0,1,-491.7,0]],[[2,0,-1,1,0,0,1,-492,0]],[[2,0,-1,1,0,0,1,-492.35,0]],[[2,0,-1,1,0,0,1,-492.65,0]],[[2,0,-1,1,0,0,1,-492.95,0]],[[2,0,-1,1,0,0,1,-493.25,0]],[[2,0,-1,1,0,0,1,-493.55,0]],[[2,0,-1,1,0,0,1,-493.85,0]],[[2,0,-1,1,0,0,1,-494.15,0]],[[2,0,-1,1,0,0,1,-494.45,0]],[[2,0,-1,1,0,0,1,-494.75,0]],[[2,0,-1,1,0,0,1,-495.05,0]],[[2,0,-1,1,0,0,1,-495.35,0]],[[2,0,-1,1,0,0,1,-495.65,0]],[[2,0,-1,1,0,0,1,-495.95,0]],[[2,0,-1,1,0,0,1,-496.25,0]],[[2,0,-1,1,0,0,1,-496.55,0]],[[2,0,-1,1,0,0,1,-496.85,0]],[[2,0,-1,1,0,0,1,-497.15,0]],[[2,0,-1,1,0,0,1,-497.45,0]],[[2,0,-1,1,0,0,1,-497.75,0]],[[2,0,-1,1,0,0,1,-498.05,0]],[[2,0,-1,1,0,0,1,-498.35,0]],[[2,0,-1,1,0,0,1,-498.65,0]],[[2,0,-1,1,0,0,1,-499,0]],[[2,0,-1,1,0,0,1,-499.3,0]],[[2,0,-1,1,0,0,1,-499.6,0]],[[2,0,-1,1,0,0,1,-499.9,0]],[[2,0,-1,1,0,0,1,-500.2,0]],[[2,0,-1,1,0,0,1,-500.5,0]],[[2,0,-1,1,0,0,1,-500.8,0]],[[2,0,-1,1,0,0,1,-501.1,0]],[[2,0,-1,1,0,0,1,-501.4,0]],[[2,0,-1,1,0,0,1,-501.7,0]],[[2,0,-1,1,0,0,1,-502,0]],[[2,0,-1,1,0,0,1,-502.3,0]],[[2,0,-1,1,0,0,1,-502.6,0]],[[2,0,-1,1,0,0,1,-502.9,0]],[[2,0,-1,1,0,0,1,-503.2,0]],[[2,0,-1,1,0,0,1,-503.5,0]],[[2,0,-1,1,0,0,1,-503.8,0]],[[2,0,-1,1,0,0,1,-504.1,0]],[[2,0,-1,1,0,0,1,-504.4,0]],[[2,0,-1,1,0,0,1,-504.7,0]],[[2,0,-1,1,0,0,1,-505.05,0]],[[2,0,-1,1,0,0,1,-505.35,0]],[[2,0,-1,1,0,0,1,-505.6,0]],[[2,0,-1,1,0,0,1,-505.9,0]],[[2,0,-1,1,0,0,1,-506.25,0]],[[2,0,-1,1,0,0,1,-506.55,0]],[[2,0,-1,1,0,0,1,-506.85,0]],[[2,0,-1,1,0,0,1,-507.15,0]],[[2,0,-1,1,0,0,1,-507.45,0]],[[2,0,-1,1,0,0,1,-507.75,0]],[[2,0,-1,1,0,0,1,-508.05,0]],[[2,0,-1,1,0,0,1,-508.35,0]],[[2,0,-1,1,0,0,1,-508.65,0]],[[2,0,-1,1,0,0,1,-508.95,0]],[[2,0,-1,1,0,0,1,-509.25,0]],[[2,0,-1,1,0,0,1,-509.55,0]],[[2,0,-1,1,0,0,1,-509.85,0]],[[2,0,-1,1,0,0,1,-510.15,0]],[[2,0,-1,1,0,0,1,-510.45,0]],[[2,0,-1,1,0,0,1,-510.75,0]],[[2,0,-1,1,0,0,1,-511.05,0]],[[2,0,-1,1,0,0,1,-511.35,0]],[[2,0,-1,1,0,0,1,-511.65,0]],[[2,0,-1,1,0,0,1,-511.95,0]],[[2,0,-1,1,0,0,1,-512.25,0]],[[2,0,-1,1,0,0,1,-512.55,0]],[[2,0,-1,1,0,0,1,-512.9,0]],[[2,0,-1,1,0,0,1,-513.2,0]],[[2,0,-1,1,0,0,1,-513.5,0]],[[2,0,-1,1,0,0,1,-513.8,0]],[[2,0,-1,1,0,0,1,-514.1,0]],[[2,0,-1,1,0,0,1,-514.4,0]],[[2,0,-1,1,0,0,1,-514.7,0]],[[2,0,-1,1,0,0,1,-515,0]],[[2,0,-1,1,0,0,1,-515.3,0]],[[2,0,-1,1,0,0,1,-515.6,0]],[[2,0,-1,1,0,0,1,-515.9,0]],[[2,0,-1,1,0,0,1,-516.2,0]],[[2,0,-1,1,0,0,1,-516.5,0]],[[2,0,-1,1,0,0,1,-516.8,0]],[[2,0,-1,1,0,0,1,-517.1,0]],[[2,0,-1,1,0,0,1,-517.4,0]],[[2,0,-1,1,0,0,1,-517.7,0]],[[2,0,-1,1,0,0,1,-518,0]],[[2,0,-1,1,0,0,1,-518.3,0]],[[2,0,-1,1,0,0,1,-518.6,0]],[[2,0,-1,1,0,0,1,-518.9,0]],[[2,0,-1,1,0,0,1,-519.25,0]],[[2,0,-1,1,0,0,1,-519.55,0]],[[2,0,-1,1,0,0,1,-519.8,0]],[[2,0,-1,1,0,0,1,-520.15,0]],[[2,0,-1,1,0,0,1,-520.45,0]],[[2,0,-1,1,0,0,1,-520.75,0]],[[2,0,-1,1,0,0,1,-521.05,0]],[[2,0,-1,1,0,0,1,-521.35,0]],[[2,0,-1,1,0,0,1,-521.65,0]],[[2,0,-1,1,0,0,1,-521.95,0]],[[2,0,-1,1,0,0,1,-522.25,0]],[[2,0,-1,1,0,0,1,-522.55,0]],[[2,0,-1,1,0,0,1,-522.85,0]],[[2,0,-1,1,0,0,1,-523.15,0]],[[2,0,-1,1,0,0,1,-523.45,0]],[[2,0,-1,1,0,0,1,-523.75,0]],[[2,0,-1,1,0,0,1,-524.05,0]],[[2,0,-1,1,0,0,1,-524.35,0]],[[2,0,-1,1,0,0,1,-524.65,0]],[[2,0,-1,1,0,0,1,-524.95,0]],[[2,0,-1,1,0,0,1,-525.3,0]],[[2,0,-1,1,0,0,1,-525.6,0]],[[2,0,-1,1,0,0,1,-525.85,0]],[[2,0,-1,1,0,0,1,-526.15,0]],[[2,0,-1,1,0,0,1,-526.45,0]],[[2,0,-1,1,0,0,1,-526.8,0]],[[2,0,-1,1,0,0,1,-527.1,0]],[[2,0,-1,1,0,0,1,-527.4,0]],[[2,0,-1,1,0,0,1,-527.7,0]],[[2,0,-1,1,0,0,1,-528,0]],[[2,0,-1,1,0,0,1,-528.3,0]],[[2,0,-1,1,0,0,1,-528.6,0]],[[2,0,-1,1,0,0,1,-528.9,0]],[[2,0,-1,1,0,0,1,-529.2,0]],[[2,0,-1,1,0,0,1,-529.5,0]],[[2,0,-1,1,0,0,1,-529.8,0]],[[2,0,-1,1,0,0,1,-530.1,0]],[[2,0,-1,1,0,0,1,-530.4,0]],[[2,0,-1,1,0,0,1,-530.7,0]],[[2,0,-1,1,0,0,1,-531,0]],[[2,0,-1,1,0,0,1,-531.3,0]],[[2,0,-1,1,0,0,1,-531.6,0]],[[2,0,-1,1,0,0,1,-531.9,0]],[[2,0,-1,1,0,0,1,-532.2,0]],[[2,0,-1,1,0,0,1,-532.5,0]],[[2,0,-1,1,0,0,1,-532.85,0]],[[2,0,-1,1,0,0,1,-533.15,0]],[[2,0,-1,1,0,0,1,-533.45,0]],[[2,0,-1,1,0,0,1,-533.75,0]],[[2,0,-1,1,0,0,1,-534.05,0]],[[2,0,-1,1,0,0,1,-534.35,0]],[[2,0,-1,1,0,0,1,-534.65,0]],[[2,0,-1,1,0,0,1,-534.95,0]],[[2,0,-1,1,0,0,1,-535.25,0]],[[2,0,-1,1,0,0,1,-535.55,0]],[[2,0,-1,1,0,0,1,-535.85,0]],[[2,0,-1,1,0,0,1,-536.15,0]],[[2,0,-1,1,0,0,1,-536.45,0]],[[2,0,-1,1,0,0,1,-536.75,0]],[[2,0,-1,1,0,0,1,-537.05,0]],[[2,0,-1,1,0,0,1,-537.35,0]],[[2,0,-1,1,0,0,1,-537.65,0]],[[2,0,-1,1,0,0,1,-537.95,0]],[[2,0,-1,1,0,0,1,-538.25,0]],[[2,0,-1,1,0,0,1,-538.55,0]],[[2,0,-1,1,0,0,1,-538.85,0]],[[2,0,-1,1,0,0,1,-539.15,0]],[[2,0,-1,1,0,0,1,-539.5,0]],[[2,0,-1,1,0,0,1,-539.8,0]],[[2,0,-1,1,0,0,1,-540.05,0]],[[2,0,-1,1,0,0,1,-540.4,0]],[[2,0,-1,1,0,0,1,-540.7,0]],[[2,0,-1,1,0,0,1,-541,0]],[[2,0,-1,1,0,0,1,-541.3,0]],[[2,0,-1,1,0,0,1,-541.6,0]],[[2,0,-1,1,0,0,1,-541.9,0]],[[2,0,-1,1,0,0,1,-542.2,0]],[[2,0,-1,1,0,0,1,-542.5,0]],[[2,0,-1,1,0,0,1,-542.8,0]],[[2,0,-1,1,0,0,1,-543.1,0]],[[2,0,-1,1,0,0,1,-543.4,0]],[[2,0,-1,1,0,0,1,-543.7,0]],[[2,0,-1,1,0,0,1,-544,0]],[[2,0,-1,1,0,0,1,-544.3,0]],[[2,0,-1,1,0,0,1,-544.6,0]],[[2,0,-1,1,0,0,1,-544.9,0]],[[2,0,-1,1,0,0,1,-545.2,0]],[[2,0,-1,1,0,0,1,-545.5,0]],[[2,0,-1,1,0,0,1,-545.85,0]],[[2,0,-1,1,0,0,1,-546.15,0]],[[2,0,-1,1,0,0,1,-546.4,0]],[[2,0,-1,1,0,0,1,-546.75,0]],[[2,0,-1,1,0,0,1,-547.05,0]],[[2,0,-1,1,0,0,1,-547.35,0]],[[2,0,-1,1,0,0,1,-547.65,0]],[[2,0,-1,1,0,0,1,-547.95,0]],[[2,0,-1,1,0,0,1,-548.25,0]],[[2,0,-1,1,0,0,1,-548.55,0]],[[2,0,-1,1,0,0,1,-548.85,0]],[[2,0,-1,1,0,0,1,-549.15,0]],[[2,0,-1,1,0,0,1,-549.45,0]],[[2,0,-1,1,0,0,1,-549.75,0]],[[2,0,-1,1,0,0,1,-550.05,0]],[[2,0,-1,1,0,0,1,-550.35,0]],[[2,0,-1,1,0,0,1,-550.65,0]],[[2,0,-1,1,0,0,1,-550.95,0]],[[2,0,-1,1,0,0,1,-551.25,0]],[[2,0,-1,1,0,0,1,-551.55,0]],[[2,0,-1,1,0,0,1,-551.85,0]],[[2,0,-1,1,0,0,1,-552.15,0]],[[2,0,-1,1,0,0,1,-552.45,0]],[[2,0,-1,1,0,0,1,-552.75,0]],[[2,0,-1,1,0,0,1,-553.05,0]],[[2,0,-1,1,0,0,1,-553.4,0]],[[2,0,-1,1,0,0,1,-553.7,0]],[[2,0,-1,1,0,0,1,-554,0]],[[2,0,-1,1,0,0,1,-554.3,0]],[[2,0,-1,1,0,0,1,-554.6,0]],[[2,0,-1,1,0,0,1,-554.9,0]],[[2,0,-1,1,0,0,1,-555.2,0]],[[2,0,-1,1,0,0,1,-555.5,0]],[[2,0,-1,1,0,0,1,-555.8,0]],[[2,0,-1,1,0,0,1,-556.1,0]],[[2,0,-1,1,0,0,1,-556.4,0]],[[2,0,-1,1,0,0,1,-556.7,0]],[[2,0,-1,1,0,0,1,-557,0]],[[2,0,-1,1,0,0,1,-557.3,0]],[[2,0,-1,1,0,0,1,-557.6,0]],[[2,0,-1,1,0,0,1,-557.9,0]],[[2,0,-1,1,0,0,1,-558.2,0]],[[2,0,-1,1,0,0,1,-558.5,0]],[[2,0,-1,1,0,0,1,-558.8,0]],[[2,0,-1,1,0,0,1,-559.1,0]],[[2,0,-1,1,0,0,1,-559.4,0]],[[2,0,-1,1,0,0,1,-559.75,0]],[[2,0,-1,1,0,0,1,-560.05,0]],[[2,0,-1,1,0,0,1,-560.35,0]],[[2,0,-1,1,0,0,1,-560.65,0]],[[2,0,-1,1,0,0,1,-560.95,0]],[[2,0,-1,1,0,0,1,-561.25,0]],[[2,0,-1,1,0,0,1,-561.55,0]],[[2,0,-1,1,0,0,1,-561.85,0]],[[2,0,-1,1,0,0,1,-562.15,0]],[[2,0,-1,1,0,0,1,-562.45,0]],[[2,0,-1,1,0,0,1,-562.75,0]],[[2,0,-1,1,0,0,1,-563.05,0]],[[2,0,-1,1,0,0,1,-563.35,0]],[[2,0,-1,1,0,0,1,-563.65,0]],[[2,0,-1,1,0,0,1,-563.95,0]],[[2,0,-1,1,0,0,1,-564.25,0]],[[2,0,-1,1,0,0,1,-564.55,0]],[[2,0,-1,1,0,0,1,-564.85,0]],[[2,0,-1,1,0,0,1,-565.15,0]],[[2,0,-1,1,0,0,1,-565.45,0]],[[2,0,-1,1,0,0,1,-565.75,0]],[[2,0,-1,1,0,0,1,-566.1,0]],[[2,0,-1,1,0,0,1,-566.4,0]],[[2,0,-1,1,0,0,1,-566.65,0]],[[2,0,-1,1,0,0,1,-566.95,0]],[[2,0,-1,1,0,0,1,-567.3,0]],[[2,0,-1,1,0,0,1,-567.6,0]],[[2,0,-1,1,0,0,1,-567.9,0]],[[2,0,-1,1,0,0,1,-568.2,0]],[[2,0,-1,1,0,0,1,-568.5,0]],[[2,0,-1,1,0,0,1,-568.8,0]],[[2,0,-1,1,0,0,1,-569.1,0]],[[2,0,-1,1,0,0,1,-569.4,0]],[[2,0,-1,1,0,0,1,-569.7,0]],[[2,0,-1,1,0,0,1,-570,0]],[[2,0,-1,1,0,0,1,-570.3,0]],[[2,0,-1,1,0,0,1,-570.6,0]],[[2,0,-1,1,0,0,1,-570.9,0]],[[2,0,-1,1,0,0,1,-571.2,0]],[[2,0,-1,1,0,0,1,-571.5,0]],[[2,0,-1,1,0,0,1,-571.8,0]],[[2,0,-1,1,0,0,1,-572.1,0]],[[2,0,-1,1,0,0,1,-572.4,0]],[[2,0,-1,1,0,0,1,-572.7,0]],[[2,0,-1,1,0,0,1,-573,0]],[[2,0,-1,1,0,0,1,-573.3,0]],[[2,0,-1,1,0,0,1,-573.65,0]],[[2,0,-1,1,0,0,1,-573.95,0]],[[2,0,-1,1,0,0,1,-574.25,0]],[[2,0,-1,1,0,0,1,-574.55,0]],[[2,0,-1,1,0,0,1,-574.85,0]],[[2,0,-1,1,0,0,1,-575.15,0]],[[2,0,-1,1,0,0,1,-575.45,0]],[[2,0,-1,1,0,0,1,-575.75,0]],[[2,0,-1,1,0,0,1,-576.05,0]],[[2,0,-1,1,0,0,1,-576.35,0]],[[2,0,-1,1,0,0,1,-576.65,0]],[[2,0,-1,1,0,0,1,-576.95,0]],[[2,0,-1,1,0,0,1,-577.25,0]],[[2,0,-1,1,0,0,1,-577.55,0]],[[2,0,-1,1,0,0,1,-577.85,0]],[[2,0,-1,1,0,0,1,-578.15,0]],[[2,0,-1,1,0,0,1,-578.45,0]],[[2,0,-1,1,0,0,1,-578.75,0]],[[2,0,-1,1,0,0,1,-579.05,0]],[[2,0,-1,1,0,0,1,-579.35,0]],[[2,0,-1,1,0,0,1,-579.65,0]],[[2,0,-1,1,0,0,1,-580,0]],[[2,0,-1,1,0,0,1,-580.3,0]],[[2,0,-1,1,0,0,1,-580.6,0]],[[2,0,-1,1,0,0,1,-580.85,0]],[[2,0,-1,1,0,0,1,-581.2,0]],[[2,0,-1,1,0,0,1,-581.5,0]],[[2,0,-1,1,0,0,1,-581.8,0]],[[2,0,-1,1,0,0,1,-582.1,0]],[[2,0,-1,1,0,0,1,-582.4,0]],[[2,0,-1,1,0,0,1,-582.7,0]],[[2,0,-1,1,0,0,1,-583,0]],[[2,0,-1,1,0,0,1,-583.3,0]],[[2,0,-1,1,0,0,1,-583.6,0]],[[2,0,-1,1,0,0,1,-583.9,0]],[[2,0,-1,1,0,0,1,-584.2,0]],[[2,0,-1,1,0,0,1,-584.5,0]],[[2,0,-1,1,0,0,1,-584.8,0]],[[2,0,-1,1,0,0,1,-585.1,0]],[[2,0,-1,1,0,0,1,-585.4,0]],[[2,0,-1,1,0,0,1,-585.7,0]],[[2,0,-1,1,0,0,1,-586,0]],[[2,0,-1,1,0,0,1,-586.3,0]],[[2,0,-1,1,0,0,1,-586.65,0]],[[2,0,-1,1,0,0,1,-586.9,0]],[[2,0,-1,1,0,0,1,-587.2,0]],[[2,0,-1,1,0,0,1,-587.55,0]],[[2,0,-1,1,0,0,1,-587.85,0]],[[2,0,-1,1,0,0,1,-588.15,0]],[[2,0,-1,1,0,0,1,-588.45,0]],[[2,0,-1,1,0,0,1,-588.75,0]],[[2,0,-1,1,0,0,1,-589.05,0]],[[2,0,-1,1,0,0,1,-589.35,0]],[[2,0,-1,1,0,0,1,-589.65,0]],[[2,0,-1,1,0,0,1,-589.95,0]],[[2,0,-1,1,0,0,1,-590.25,0]],[[2,0,-1,1,0,0,1,-590.55,0]],[[2,0,-1,1,0,0,1,-590.85,0]],[[2,0,-1,1,0,0,1,-591.15,0]],[[2,0,-1,1,0,0,1,-591.45,0]],[[2,0,-1,1,0,0,1,-591.75,0]],[[2,0,-1,1,0,0,1,-592.05,0]],[[2,0,-1,1,0,0,1,-592.35,0]],[[2,0,-1,1,0,0,1,-592.65,0]],[[2,0,-1,1,0,0,1,-592.95,0]],[[2,0,-1,1,0,0,1,-593.25,0]],[[2,0,-1,1,0,0,1,-593.55,0]],[[2,0,-1,1,0,0,1,-593.9,0]],[[2,0,-1,1,0,0,1,-594.2,0]],[[2,0,-1,1,0,0,1,-594.5,0]],[[2,0,-1,1,0,0,1,-594.8,0]],[[2,0,-1,1,0,0,1,-595.1,0]],[[2,0,-1,1,0,0,1,-595.4,0]],[[2,0,-1,1,0,0,1,-595.7,0]],[[2,0,-1,1,0,0,1,-596,0]],[[2,0,-1,1,0,0,1,-596.3,0]],[[2,0,-1,1,0,0,1,-596.6,0]],[[2,0,-1,1,0,0,1,-596.9,0]],[[2,0,-1,1,0,0,1,-597.2,0]],[[2,0,-1,1,0,0,1,-597.5,0]],[[2,0,-1,1,0,0,1,-597.8,0]],[[2,0,-1,1,0,0,1,-598.1,0]],[[2,0,-1,1,0,0,1,-598.4,0]],[[2,0,-1,1,0,0,1,-598.7,0]],[[2,0,-1,1,0,0,1,-599,0]],[[2,0,-1,1,0,0,1,-599.3,0]],[[2,0,-1,1,0,0,1,-599.6,0]],[[2,0,-1,1,0,0,1,-599.9,0]],[[2,0,-1,1,0,0,1,-600.25,0]],[[2,0,-1,1,0,0,1,-600.55,0]],[[2,0,-1,1,0,0,1,-600.85,0]],[[2,0,-1,1,0,0,1,-601.1,0]],[[2,0,-1,1,0,0,1,-601.45,0]],[[2,0,-1,1,0,0,1,-601.75,0]],[[2,0,-1,1,0,0,1,-602.05,0]],[[2,0,-1,1,0,0,1,-602.35,0]],[[2,0,-1,1,0,0,1,-602.65,0]],[[2,0,-1,1,0,0,1,-602.95,0]],[[2,0,-1,1,0,0,1,-603.25,0]],[[2,0,-1,1,0,0,1,-603.55,0]],[[2,0,-1,1,0,0,1,-603.85,0]],[[2,0,-1,1,0,0,1,-604.15,0]],[[2,0,-1,1,0,0,1,-604.45,0]],[[2,0,-1,1,0,0,1,-604.75,0]],[[2,0,-1,1,0,0,1,-605.05,0]],[[2,0,-1,1,0,0,1,-605.35,0]],[[2,0,-1,1,0,0,1,-605.65,0]],[[2,0,-1,1,0,0,1,-605.95,0]],[[2,0,-1,1,0,0,1,-606.25,0]],[[2,0,-1,1,0,0,1,-606.55,0]],[[2,0,-1,1,0,0,1,-606.9,0]],[[2,0,-1,1,0,0,1,-607.15,0]],[[2,0,-1,1,0,0,1,-607.45,0]],[[2,0,-1,1,0,0,1,-607.8,0]],[[2,0,-1,1,0,0,1,-608.1,0]],[[2,0,-1,1,0,0,1,-608.4,0]],[[2,0,-1,1,0,0,1,-608.7,0]],[[2,0,-1,1,0,0,1,-609,0]],[[2,0,-1,1,0,0,1,-609.3,0]],[[2,0,-1,1,0,0,1,-609.6,0]],[[2,0,-1,1,0,0,1,-609.9,0]],[[2,0,-1,1,0,0,1,-610.2,0]],[[2,0,-1,1,0,0,1,-610.5,0]],[[2,0,-1,1,0,0,1,-610.8,0]],[[2,0,-1,1,0,0,1,-611.1,0]],[[2,0,-1,1,0,0,1,-611.4,0]],[[2,0,-1,1,0,0,1,-611.7,0]],[[2,0,-1,1,0,0,1,-612,0]],[[2,0,-1,1,0,0,1,-612.3,0]],[[2,0,-1,1,0,0,1,-612.6,0]],[[2,0,-1,1,0,0,1,-612.9,0]],[[2,0,-1,1,0,0,1,-613.2,0]],[[2,0,-1,1,0,0,1,-613.5,0]],[[2,0,-1,1,0,0,1,-613.8,0]],[[2,0,-1,1,0,0,1,-614.15,0]],[[2,0,-1,1,0,0,1,-614.45,0]],[[2,0,-1,1,0,0,1,-614.75,0]],[[2,0,-1,1,0,0,1,-615.05,0]],[[2,0,-1,1,0,0,1,-615.35,0]],[[2,0,-1,1,0,0,1,-615.65,0]],[[2,0,-1,1,0,0,1,-615.95,0]],[[2,0,-1,1,0,0,1,-616.25,0]],[[2,0,-1,1,0,0,1,-616.55,0]],[[2,0,-1,1,0,0,1,-616.85,0]],[[2,0,-1,1,0,0,1,-617.15,0]],[[2,0,-1,1,0,0,1,-617.45,0]],[[2,0,-1,1,0,0,1,-617.75,0]],[[2,0,-1,1,0,0,1,-618.05,0]],[[2,0,-1,1,0,0,1,-618.35,0]],[[2,0,-1,1,0,0,1,-618.65,0]],[[2,0,-1,1,0,0,1,-618.95,0]],[[2,0,-1,1,0,0,1,-619.25,0]],[[2,0,-1,1,0,0,1,-619.55,0]],[[2,0,-1,1,0,0,1,-619.85,0]],[[2,0,-1,1,0,0,1,-620.15,0]],[[2,0,-1,1,0,0,1,-620.45,0]],[[2,0,-1,1,0,0,1,-620.8,0]],[[2,0,-1,1,0,0,1,-621.1,0]],[[2,0,-1,1,0,0,1,-621.4,0]],[[2,0,-1,1,0,0,1,-621.65,0]],[[2,0,-1,1,0,0,1,-622,0]],[[2,0,-1,1,0,0,1,-622.3,0]],[[2,0,-1,1,0,0,1,-622.6,0]],[[2,0,-1,1,0,0,1,-622.9,0]],[[2,0,-1,1,0,0,1,-623.2,0]],[[2,0,-1,1,0,0,1,-623.5,0]],[[2,0,-1,1,0,0,1,-623.8,0]],[[2,0,-1,1,0,0,1,-624.1,0]],[[2,0,-1,1,0,0,1,-624.4,0]],[[2,0,-1,1,0,0,1,-624.7,0]],[[2,0,-1,1,0,0,1,-625,0]],[[2,0,-1,1,0,0,1,-625.3,0]],[[2,0,-1,1,0,0,1,-625.6,0]],[[2,0,-1,1,0,0,1,-625.9,0]],[[2,0,-1,1,0,0,1,-626.2,0]],[[2,0,-1,1,0,0,1,-626.5,0]],[[2,0,-1,1,0,0,1,-626.8,0]],[[2,0,-1,1,0,0,1,-627.1,0]],[[2,0,-1,1,0,0,1,-627.45,0]],[[2,0,-1,1,0,0,1,-627.7,0]],[[2,0,-1,1,0,0,1,-628,0]],[[2,0,-1,1,0,0,1,-628.35,0]],[[2,0,-1,1,0,0,1,-628.65,0]],[[2,0,-1,1,0,0,1,-628.95,0]],[[2,0,-1,1,0,0,1,-629.25,0]],[[2,0,-1,1,0,0,1,-629.55,0]],[[2,0,-1,1,0,0,1,-629.85,0]],[[2,0,-1,1,0,0,1,-630.15,0]],[[2,0,-1,1,0,0,1,-630.45,0]],[[2,0,-1,1,0,0,1,-630.75,0]],[[2,0,-1,1,0,0,1,-631.05,0]],[[2,0,-1,1,0,0,1,-631.35,0]],[[2,0,-1,1,0,0,1,-631.65,0]],[[2,0,-1,1,0,0,1,-631.95,0]],[[2,0,-1,1,0,0,1,-632.25,0]],[[2,0,-1,1,0,0,1,-632.55,0]],[[2,0,-1,1,0,0,1,-632.85,0]],[[2,0,-1,1,0,0,1,-633.15,0]],[[2,0,-1,1,0,0,1,-633.5,0]],[[2,0,-1,1,0,0,1,-633.75,0]],[[2,0,-1,1,0,0,1,-634.05,0]],[[2,0,-1,1,0,0,1,-634.35,0]],[[2,0,-1,1,0,0,1,-634.7,0]],[[2,0,-1,1,0,0,1,-635,0]],[[2,0,-1,1,0,0,1,-635.3,0]],[[2,0,-1,1,0,0,1,-635.6,0]],[[2,0,-1,1,0,0,1,-635.9,0]],[[2,0,-1,1,0,0,1,-636.2,0]],[[2,0,-1,1,0,0,1,-636.5,0]],[[2,0,-1,1,0,0,1,-636.8,0]],[[2,0,-1,1,0,0,1,-637.1,0]],[[2,0,-1,1,0,0,1,-637.4,0]],[[2,0,-1,1,0,0,1,-637.7,0]],[[2,0,-1,1,0,0,1,-638,0]],[[2,0,-1,1,0,0,1,-638.3,0]],[[2,0,-1,1,0,0,1,-638.6,0]],[[2,0,-1,1,0,0,1,-638.9,0]],[[2,0,-1,1,0,0,1,-639.2,0]],[[2,0,-1,1,0,0,1,-639.5,0]],[[2,0,-1,1,0,0,1,-639.8,0]],[[2,0,-1,1,0,0,1,-640.1,0]],[[2,0,-1,1,0,0,1,-640.4,0]],[[2,0,-1,1,0,0,1,-640.7,0]],[[2,0,-1,1,0,0,1,-641.05,0]],[[2,0,-1,1,0,0,1,-641.35,0]],[[2,0,-1,1,0,0,1,-641.65,0]],[[2,0,-1,1,0,0,1,-641.95,0]],[[2,0,-1,1,0,0,1,-642.25,0]],[[2,0,-1,1,0,0,1,-642.55,0]],[[2,0,-1,1,0,0,1,-642.85,0]],[[2,0,-1,1,0,0,1,-643.15,0]],[[2,0,-1,1,0,0,1,-643.45,0]],[[2,0,-1,1,0,0,1,-643.75,0]],[[2,0,-1,1,0,0,1,-644.05,0]],[[2,0,-1,1,0,0,1,-644.35,0]],[[2,0,-1,1,0,0,1,-644.65,0]],[[2,0,-1,1,0,0,1,-644.95,0]],[[2,0,-1,1,0,0,1,-645.25,0]],[[2,0,-1,1,0,0,1,-645.55,0]],[[2,0,-1,1,0,0,1,-645.85,0]],[[2,0,-1,1,0,0,1,-646.15,0]],[[2,0,-1,1,0,0,1,-646.45,0]],[[2,0,-1,1,0,0,1,-646.75,0]],[[2,0,-1,1,0,0,1,-647.05,0]],[[2,0,-1,1,0,0,1,-647.35,0]],[[2,0,-1,1,0,0,1,-647.7,0]],[[2,0,-1,1,0,0,1,-647.95,0]],[[2,0,-1,1,0,0,1,-648.25,0]],[[2,0,-1,1,0,0,1,-648.6,0]],[[2,0,-1,1,0,0,1,-648.9,0]],[[2,0,-1,1,0,0,1,-649.2,0]],[[2,0,-1,1,0,0,1,-649.5,0]],[[2,0,-1,1,0,0,1,-649.8,0]],[[2,0,-1,1,0,0,1,-650.1,0]],[[2,0,-1,1,0,0,1,-650.4,0]],[[2,0,-1,1,0,0,1,-650.7,0]],[[2,0,-1,1,0,0,1,-651,0]],[[2,0,-1,1,0,0,1,-651.3,0]],[[2,0,-1,1,0,0,1,-651.6,0]],[[2,0,-1,1,0,0,1,-651.9,0]],[[2,0,-1,1,0,0,1,-652.2,0]],[[2,0,-1,1,0,0,1,-652.5,0]],[[2,0,-1,1,0,0,1,-652.8,0]],[[2,0,-1,1,0,0,1,-653.1,0]],[[2,0,-1,1,0,0,1,-653.4,0]],[[2,0,-1,1,0,0,1,-653.7,0]],[[2,0,-1,1,0,0,1,-654,0]],[[2,0,-1,1,0,0,1,-654.3,0]],[[2,0,-1,1,0,0,1,-654.6,0]],[[2,0,-1,1,0,0,1,-654.95,0]],[[2,0,-1,1,0,0,1,-655.25,0]],[[2,0,-1,1,0,0,1,-655.55,0]],[[2,0,-1,1,0,0,1,-655.85,0]],[[2,0,-1,1,0,0,1,-656.15,0]],[[2,0,-1,1,0,0,1,-656.45,0]],[[2,0,-1,1,0,0,1,-656.75,0]],[[2,0,-1,1,0,0,1,-657.05,0]],[[2,0,-1,1,0,0,1,-657.35,0]],[[2,0,-1,1,0,0,1,-657.65,0]],[[2,0,-1,1,0,0,1,-657.95,0]],[[2,0,-1,1,0,0,1,-658.25,0]],[[2,0,-1,1,0,0,1,-658.55,0]],[[2,0,-1,1,0,0,1,-658.85,0]],[[2,0,-1,1,0,0,1,-659.15,0]],[[2,0,-1,1,0,0,1,-659.45,0]],[[2,0,-1,1,0,0,1,-659.75,0]],[[2,0,-1,1,0,0,1,-660.05,0]],[[2,0,-1,1,0,0,1,-660.35,0]],[[2,0,-1,1,0,0,1,-660.65,0]],[[2,0,-1,1,0,0,1,-660.95,0]],[[2,0,-1,1,0,0,1,-661.25,0]],[[2,0,-1,1,0,0,1,-661.6,0]],[[2,0,-1,1,0,0,1,-661.9,0]],[[2,0,-1,1,0,0,1,-662.15,0]],[[2,0,-1,1,0,0,1,-662.5,0]],[[2,0,-1,1,0,0,1,-662.8,0]],[[2,0,-1,1,0,0,1,-663.1,0]],[[2,0,-1,1,0,0,1,-663.4,0]],[[2,0,-1,1,0,0,1,-663.7,0]],[[2,0,-1,1,0,0,1,-664,0]],[[2,0,-1,1,0,0,1,-664.3,0]],[[2,0,-1,1,0,0,1,-664.6,0]],[[2,0,-1,1,0,0,1,-664.9,0]],[[2,0,-1,1,0,0,1,-665.2,0]],[[2,0,-1,1,0,0,1,-665.5,0]],[[2,0,-1,1,0,0,1,-665.8,0]],[[2,0,-1,1,0,0,1,-666.1,0]],[[2,0,-1,1,0,0,1,-666.4,0]],[[2,0,-1,1,0,0,1,-666.7,0]],[[2,0,-1,1,0,0,1,-667,0]],[[2,0,-1,1,0,0,1,-667.3,0]],[[2,0,-1,1,0,0,1,-667.6,0]],[[2,0,-1,1,0,0,1,-667.95,0]],[[2,0,-1,1,0,0,1,-668.2,0]],[[2,0,-1,1,0,0,1,-668.5,0]],[[2,0,-1,1,0,0,1,-668.85,0]],[[2,0,-1,1,0,0,1,-669.15,0]],[[2,0,-1,1,0,0,1,-669.45,0]],[[2,0,-1,1,0,0,1,-669.75,0]],[[2,0,-1,1,0,0,1,-670.05,0]],[[2,0,-1,1,0,0,1,-670.35,0]],[[2,0,-1,1,0,0,1,-670.65,0]],[[2,0,-1,1,0,0,1,-670.95,0]],[[2,0,-1,1,0,0,1,-671.25,0]],[[2,0,-1,1,0,0,1,-671.55,0]],[[2,0,-1,1,0,0,1,-671.85,0]],[[2,0,-1,1,0,0,1,-672.15,0]],[[2,0,-1,1,0,0,1,-672.45,0]],[[2,0,-1,1,0,0,1,-672.75,0]],[[2,0,-1,1,0,0,1,-673.05,0]],[[2,0,-1,1,0,0,1,-673.35,0]],[[2,0,-1,1,0,0,1,-673.65,0]],[[2,0,-1,1,0,0,1,-673.95,0]],[[2,0,-1,1,0,0,1,-674.25,0]],[[2,0,-1,1,0,0,1,-674.55,0]],[[2,0,-1,1,0,0,1,-674.85,0]],[[2,0,-1,1,0,0,1,-675.15,0]],[[2,0,-1,1,0,0,1,-675.5,0]],[[2,0,-1,1,0,0,1,-675.8,0]],[[2,0,-1,1,0,0,1,-676.1,0]],[[2,0,-1,1,0,0,1,-676.4,0]],[[2,0,-1,1,0,0,1,-676.7,0]],[[2,0,-1,1,0,0,1,-677,0]],[[2,0,-1,1,0,0,1,-677.3,0]],[[2,0,-1,1,0,0,1,-677.6,0]],[[2,0,-1,1,0,0,1,-677.9,0]],[[2,0,-1,1,0,0,1,-678.2,0]],[[2,0,-1,1,0,0,1,-678.5,0]],[[2,0,-1,1,0,0,1,-678.8,0]],[[2,0,-1,1,0,0,1,-679.1,0]],[[2,0,-1,1,0,0,1,-679.4,0]],[[2,0,-1,1,0,0,1,-679.7,0]],[[2,0,-1,1,0,0,1,-680,0]],[[2,0,-1,1,0,0,1,-680.3,0]],[[2,0,-1,1,0,0,1,-680.6,0]],[[2,0,-1,1,0,0,1,-680.9,0]],[[2,0,-1,1,0,0,1,-681.2,0]],[[2,0,-1,1,0,0,1,-681.5,0]],[[2,0,-1,1,0,0,1,-681.85,0]],[[2,0,-1,1,0,0,1,-682.15,0]],[[2,0,-1,1,0,0,1,-682.4,0]],[[2,0,-1,1,0,0,1,-682.75,0]],[[2,0,-1,1,0,0,1,-683.05,0]],[[2,0,-1,1,0,0,1,-683.35,0]],[[2,0,-1,1,0,0,1,-683.65,0]],[[2,0,-1,1,0,0,1,-683.95,0]],[[2,0,-1,1,0,0,1,-684.25,0]],[[2,0,-1,1,0,0,1,-684.55,0]],[[2,0,-1,1,0,0,1,-684.85,0]],[[2,0,-1,1,0,0,1,-685.15,0]],[[2,0,-1,1,0,0,1,-685.45,0]],[[2,0,-1,1,0,0,1,-685.75,0]],[[2,0,-1,1,0,0,1,-686.05,0]],[[2,0,-1,1,0,0,1,-686.35,0]],[[2,0,-1,1,0,0,1,-686.65,0]],[[2,0,-1,1,0,0,1,-686.95,0]],[[2,0,-1,1,0,0,1,-687.25,0]],[[2,0,-1,1,0,0,1,-687.55,0]],[[2,0,-1,1,0,0,1,-687.85,0]],[[2,0,-1,1,0,0,1,-688.15,0]],[[2,0,-1,1,0,0,1,-688.5,0]],[[2,0,-1,1,0,0,1,-688.75,0]],[[2,0,-1,1,0,0,1,-689.1,0]],[[2,0,-1,1,0,0,1,-689.4,0]],[[2,0,-1,1,0,0,1,-689.7,0]],[[2,0,-1,1,0,0,1,-690,0]],[[2,0,-1,1,0,0,1,-690.3,0]],[[2,0,-1,1,0,0,1,-690.6,0]],[[2,0,-1,1,0,0,1,-690.9,0]],[[2,0,-1,1,0,0,1,-691.2,0]],[[2,0,-1,1,0,0,1,-691.5,0]],[[2,0,-1,1,0,0,1,-691.8,0]],[[2,0,-1,1,0,0,1,-692.1,0]],[[2,0,-1,1,0,0,1,-692.4,0]],[[2,0,-1,1,0,0,1,-692.7,0]],[[2,0,-1,1,0,0,1,-693,0]],[[2,0,-1,1,0,0,1,-693.3,0]],[[2,0,-1,1,0,0,1,-693.6,0]],[[2,0,-1,1,0,0,1,-693.9,0]],[[2,0,-1,1,0,0,1,-694.2,0]],[[2,0,-1,1,0,0,1,-694.55,0]],[[2,0,-1,1,0,0,1,-694.8,0]],[[2,0,-1,1,0,0,1,-695.1,0]],[[2,0,-1,1,0,0,1,-695.4,0]],[[2,0,-1,1,0,0,1,-695.75,0]],[[2,0,-1,1,0,0,1,-696.05,0]],[[2,0,-1,1,0,0,1,-696.35,0]],[[2,0,-1,1,0,0,1,-696.65,0]],[[2,0,-1,1,0,0,1,-696.95,0]],[[2,0,-1,1,0,0,1,-697.25,0]],[[2,0,-1,1,0,0,1,-697.55,0]],[[2,0,-1,1,0,0,1,-697.85,0]],[[2,0,-1,1,0,0,1,-698.15,0]],[[2,0,-1,1,0,0,1,-698.45,0]],[[2,0,-1,1,0,0,1,-698.75,0]],[[2,0,-1,1,0,0,1,-699.05,0]],[[2,0,-1,1,0,0,1,-699.35,0]],[[2,0,-1,1,0,0,1,-699.65,0]],[[2,0,-1,1,0,0,1,-699.95,0]],[[2,0,-1,1,0,0,1,-700.25,0]],[[2,0,-1,1,0,0,1,-700.55,0]],[[2,0,-1,1,0,0,1,-700.85,0]],[[2,0,-1,1,0,0,1,-701.15,0]],[[2,0,-1,1,0,0,1,-701.45,0]],[[2,0,-1,1,0,0,1,-701.75,0]],[[2,0,-1,1,0,0,1,-702.1,0]],[[2,0,-1,1,0,0,1,-702.4,0]],[[2,0,-1,1,0,0,1,-702.7,0]],[[2,0,-1,1,0,0,1,-702.95,0]],[[2,0,-1,1,0,0,1,-703.3,0]],[[2,0,-1,1,0,0,1,-703.6,0]],[[2,0,-1,1,0,0,1,-703.9,0]],[[2,0,-1,1,0,0,1,-704.2,0]],[[2,0,-1,1,0,0,1,-704.5,0]],[[2,0,-1,1,0,0,1,-704.8,0]],[[2,0,-1,1,0,0,1,-705.1,0]],[[2,0,-1,1,0,0,1,-705.4,0]],[[2,0,-1,1,0,0,1,-705.7,0]],[[2,0,-1,1,0,0,1,-706,0]],[[2,0,-1,1,0,0,1,-706.3,0]],[[2,0,-1,1,0,0,1,-706.6,0]],[[2,0,-1,1,0,0,1,-706.9,0]],[[2,0,-1,1,0,0,1,-707.2,0]],[[2,0,-1,1,0,0,1,-707.5,0]],[[2,0,-1,1,0,0,1,-707.8,0]],[[2,0,-1,1,0,0,1,-708.1,0]],[[2,0,-1,1,0,0,1,-708.4,0]],[[2,0,-1,1,0,0,1,-708.75,0]],[[2,0,-1,1,0,0,1,-709,0]],[[2,0,-1,1,0,0,1,-709.3,0]],[[2,0,-1,1,0,0,1,-709.65,0]],[[2,0,-1,1,0,0,1,-709.95,0]],[[2,0,-1,1,0,0,1,-710.25,0]],[[2,0,-1,1,0,0,1,-710.55,0]],[[2,0,-1,1,0,0,1,-710.85,0]],[[2,0,-1,1,0,0,1,-711.15,0]],[[2,0,-1,1,0,0,1,-711.45,0]],[[2,0,-1,1,0,0,1,-711.75,0]],[[2,0,-1,1,0,0,1,-712.05,0]],[[2,0,-1,1,0,0,1,-712.35,0]],[[2,0,-1,1,0,0,1,-712.65,0]],[[2,0,-1,1,0,0,1,-712.95,0]],[[2,0,-1,1,0,0,1,-713.25,0]],[[2,0,-1,1,0,0,1,-713.55,0]],[[2,0,-1,1,0,0,1,-713.85,0]],[[2,0,-1,1,0,0,1,-714.15,0]],[[2,0,-1,1,0,0,1,-714.45,0]],[[2,0,-1,1,0,0,1,-714.75,0]],[[2,0,-1,1,0,0,1,-715.05,0]],[[2,0,-1,1,0,0,1,-715.35,0]],[[2,0,-1,1,0,0,1,-715.65,0]],[[2,0,-1,1,0,0,1,-716,0]],[[2,0,-1,1,0,0,1,-716.3,0]],[[2,0,-1,1,0,0,1,-716.6,0]],[[2,0,-1,1,0,0,1,-716.9,0]],[[2,0,-1,1,0,0,1,-717.2,0]],[[2,0,-1,1,0,0,1,-717.5,0]],[[2,0,-1,1,0,0,1,-717.8,0]],[[2,0,-1,1,0,0,1,-718.1,0]],[[2,0,-1,1,0,0,1,-718.4,0]],[[2,0,-1,1,0,0,1,-718.7,0]],[[2,0,-1,1,0,0,1,-719,0]],[[2,0,-1,1,0,0,1,-719.3,0]],[[2,0,-1,1,0,0,1,-719.6,0]],[[2,0,-1,1,0,0,1,-719.9,0]],[[2,0,-1,1,0,0,1,-720.2,0]],[[2,0,-1,1,0,0,1,-720.5,0]],[[2,0,-1,1,0,0,1,-720.8,0]],[[2,0,-1,1,0,0,1,-721.1,0]],[[2,0,-1,1,0,0,1,-721.4,0]],[[2,0,-1,1,0,0,1,-721.7,0]],[[2,0,-1,1,0,0,1,-722,0]],[[2,0,-1,1,0,0,1,-722.3,0]],[[2,0,-1,1,0,0,1,-722.65,0]],[[2,0,-1,1,0,0,1,-722.95,0]],[[2,0,-1,1,0,0,1,-723.2,0]],[[2,0,-1,1,0,0,1,-723.55,0]],[[2,0,-1,1,0,0,1,-723.85,0]],[[2,0,-1,1,0,0,1,-724.15,0]],[[2,0,-1,1,0,0,1,-724.45,0]],[[2,0,-1,1,0,0,1,-724.75,0]],[[2,0,-1,1,0,0,1,-725.05,0]],[[2,0,-1,1,0,0,1,-725.35,0]],[[2,0,-1,1,0,0,1,-725.65,0]],[[2,0,-1,1,0,0,1,-725.95,0]],[[2,0,-1,1,0,0,1,-726.25,0]],[[2,0,-1,1,0,0,1,-726.55,0]],[[2,0,-1,1,0,0,1,-726.85,0]],[[2,0,-1,1,0,0,1,-727.15,0]],[[2,0,-1,1,0,0,1,-727.45,0]],[[2,0,-1,1,0,0,1,-727.75,0]],[[2,0,-1,1,0,0,1,-728.05,0]],[[2,0,-1,1,0,0,1,-728.35,0]],[[2,0,-1,1,0,0,1,-728.65,0]],[[2,0,-1,1,0,0,1,-729,0]],[[2,0,-1,1,0,0,1,-729.25,0]],[[2,0,-1,1,0,0,1,-729.55,0]],[[2,0,-1,1,0,0,1,-729.85,0]],[[2,0,-1,1,0,0,1,-730.2,0]],[[2,0,-1,1,0,0,1,-730.5,0]],[[2,0,-1,1,0,0,1,-730.8,0]],[[2,0,-1,1,0,0,1,-731.1,0]],[[2,0,-1,1,0,0,1,-731.4,0]],[[2,0,-1,1,0,0,1,-731.7,0]],[[2,0,-1,1,0,0,1,-732,0]],[[2,0,-1,1,0,0,1,-732.3,0]],[[2,0,-1,1,0,0,1,-732.6,0]],[[2,0,-1,1,0,0,1,-732.9,0]],[[2,0,-1,1,0,0,1,-733.2,0]],[[2,0,-1,1,0,0,1,-733.5,0]],[[2,0,-1,1,0,0,1,-733.8,0]],[[2,0,-1,1,0,0,1,-734.1,0]],[[2,0,-1,1,0,0,1,-734.4,0]],[[2,0,-1,1,0,0,1,-734.7,0]],[[2,0,-1,1,0,0,1,-735,0]],[[2,0,-1,1,0,0,1,-735.3,0]],[[2,0,-1,1,0,0,1,-735.6,0]],[[2,0,-1,1,0,0,1,-735.9,0]],[[2,0,-1,1,0,0,1,-736.2,0]],[[2,0,-1,1,0,0,1,-736.55,0]],[[2,0,-1,1,0,0,1,-736.85,0]],[[2,0,-1,1,0,0,1,-737.15,0]],[[2,0,-1,1,0,0,1,-737.45,0]],[[2,0,-1,1,0,0,1,-737.75,0]],[[2,0,-1,1,0,0,1,-738.05,0]],[[2,0,-1,1,0,0,1,-738.35,0]],[[2,0,-1,1,0,0,1,-738.65,0]],[[2,0,-1,1,0,0,1,-738.95,0]],[[2,0,-1,1,0,0,1,-739.25,0]],[[2,0,-1,1,0,0,1,-739.55,0]],[[2,0,-1,1,0,0,1,-739.85,0]],[[2,0,-1,1,0,0,1,-740.15,0]],[[2,0,-1,1,0,0,1,-740.45,0]],[[2,0,-1,1,0,0,1,-740.75,0]],[[2,0,-1,1,0,0,1,-741.05,0]],[[2,0,-1,1,0,0,1,-741.35,0]],[[2,0,-1,1,0,0,1,-741.65,0]],[[2,0,-1,1,0,0,1,-741.95,0]],[[2,0,-1,1,0,0,1,-742.25,0]],[[2,0,-1,1,0,0,1,-742.55,0]],[[2,0,-1,1,0,0,1,-742.9,0]],[[2,0,-1,1,0,0,1,-743.2,0]],[[2,0,-1,1,0,0,1,-743.45,0]],[[2,0,-1,1,0,0,1,-743.8,0]],[[2,0,-1,1,0,0,1,-744.1,0]],[[2,0,-1,1,0,0,1,-744.4,0]],[[2,0,-1,1,0,0,1,-744.7,0]],[[2,0,-1,1,0,0,1,-745,0]],[[2,0,-1,1,0,0,1,-745.3,0]],[[2,0,-1,1,0,0,1,-745.6,0]],[[2,0,-1,1,0,0,1,-745.9,0]],[[2,0,-1,1,0,0,1,-746.2,0]],[[2,0,-1,1,0,0,1,-746.5,0]],[[2,0,-1,1,0,0,1,-746.8,0]],[[2,0,-1,1,0,0,1,-747.1,0]],[[2,0,-1,1,0,0,1,-747.4,0]],[[2,0,-1,1,0,0,1,-747.7,0]],[[2,0,-1,1,0,0,1,-748,0]],[[2,0,-1,1,0,0,1,-748.3,0]],[[2,0,-1,1,0,0,1,-748.6,0]],[[2,0,-1,1,0,0,1,-748.9,0]],[[2,0,-1,1,0,0,1,-749.25,0]],[[2,0,-1,1,0,0,1,-749.55,0]],[[2,0,-1,1,0,0,1,-749.8,0]],[[2,0,-1,1,0,0,1,-750.1,0]],[[2,0,-1,1,0,0,1,-750.45,0]],[[2,0,-1,1,0,0,1,-750.75,0]],[[2,0,-1,1,0,0,1,-751.05,0]],[[2,0,-1,1,0,0,1,-751.35,0]],[[2,0,-1,1,0,0,1,-751.65,0]],[[2,0,-1,1,0,0,1,-751.95,0]],[[2,0,-1,1,0,0,1,-752.25,0]],[[2,0,-1,1,0,0,1,-752.55,0]],[[2,0,-1,1,0,0,1,-752.85,0]],[[2,0,-1,1,0,0,1,-753.15,0]],[[2,0,-1,1,0,0,1,-753.45,0]],[[2,0,-1,1,0,0,1,-753.75,0]],[[2,0,-1,1,0,0,1,-754.05,0]],[[2,0,-1,1,0,0,1,-754.35,0]],[[2,0,-1,1,0,0,1,-754.65,0]],[[2,0,-1,1,0,0,1,-754.95,0]],[[2,0,-1,1,0,0,1,-755.25,0]],[[2,0,-1,1,0,0,1,-755.6,0]],[[2,0,-1,1,0,0,1,-755.85,0]],[[2,0,-1,1,0,0,1,-756.15,0]],[[2,0,-1,1,0,0,1,-756.45,0]],[[2,0,-1,1,0,0,1,-756.8,0]],[[2,0,-1,1,0,0,1,-757.1,0]],[[2,0,-1,1,0,0,1,-757.4,0]],[[2,0,-1,1,0,0,1,-757.7,0]],[[2,0,-1,1,0,0,1,-758,0]],[[2,0,-1,1,0,0,1,-758.3,0]],[[2,0,-1,1,0,0,1,-758.6,0]],[[2,0,-1,1,0,0,1,-758.9,0]],[[2,0,-1,1,0,0,1,-759.2,0]],[[2,0,-1,1,0,0,1,-759.5,0]],[[2,0,-1,1,0,0,1,-759.8,0]],[[2,0,-1,1,0,0,1,-760.1,0]],[[2,0,-1,1,0,0,1,-760.4,0]],[[2,0,-1,1,0,0,1,-760.7,0]],[[2,0,-1,1,0,0,1,-761,0]],[[2,0,-1,1,0,0,1,-761.3,0]],[[2,0,-1,1,0,0,1,-761.6,0]],[[2,0,-1,1,0,0,1,-761.9,0]],[[2,0,-1,1,0,0,1,-762.2,0]],[[2,0,-1,1,0,0,1,-762.5,0]],[[2,0,-1,1,0,0,1,-762.8,0]],[[2,0,-1,1,0,0,1,-763.1,0]],[[2,0,-1,1,0,0,1,-763.45,0]],[[2,0,-1,1,0,0,1,-763.75,0]],[[2,0,-1,1,0,0,1,-764,0]],[[2,0,-1,1,0,0,1,-764.35,0]],[[2,0,-1,1,0,0,1,-764.65,0]],[[2,0,-1,1,0,0,1,-764.95,0]],[[2,0,-1,1,0,0,1,-765.25,0]],[[2,0,-1,1,0,0,1,-765.55,0]],[[2,0,-1,1,0,0,1,-765.85,0]],[[2,0,-1,1,0,0,1,-766.15,0]],[[2,0,-1,1,0,0,1,-766.45,0]],[[2,0,-1,1,0,0,1,-766.75,0]],[[2,0,-1,1,0,0,1,-767.05,0]],[[2,0,-1,1,0,0,1,-767.35,0]],[[2,0,-1,1,0,0,1,-767.65,0]],[[2,0,-1,1,0,0,1,-767.95,0]],[[2,0,-1,1,0,0,1,-768.25,0]],[[2,0,-1,1,0,0,1,-768.55,0]],[[2,0,-1,1,0,0,1,-768.85,0]],[[2,0,-1,1,0,0,1,-769.15,0]],[[2,0,-1,1,0,0,1,-769.5,0]],[[2,0,-1,1,0,0,1,-769.8,0]],[[2,0,-1,1,0,0,1,-770.05,0]],[[2,0,-1,1,0,0,1,-770.35,0]],[[2,0,-1,1,0,0,1,-770.7,0]],[[2,0,-1,1,0,0,1,-771,0]],[[2,0,-1,1,0,0,1,-771.3,0]],[[2,0,-1,1,0,0,1,-771.6,0]],[[2,0,-1,1,0,0,1,-771.9,0]],[[2,0,-1,1,0,0,1,-772.2,0]],[[2,0,-1,1,0,0,1,-772.5,0]],[[2,0,-1,1,0,0,1,-772.8,0]],[[2,0,-1,1,0,0,1,-773.1,0]],[[2,0,-1,1,0,0,1,-773.4,0]],[[2,0,-1,1,0,0,1,-773.7,0]],[[2,0,-1,1,0,0,1,-774,0]],[[2,0,-1,1,0,0,1,-774.3,0]],[[2,0,-1,1,0,0,1,-774.6,0]],[[2,0,-1,1,0,0,1,-774.9,0]],[[2,0,-1,1,0,0,1,-775.2,0]],[[2,0,-1,1,0,0,1,-775.5,0]],[[2,0,-1,1,0,0,1,-775.8,0]],[[2,0,-1,1,0,0,1,-776.1,0]],[[2,0,-1,1,0,0,1,-776.4,0]],[[2,0,-1,1,0,0,1,-776.7,0]],[[2,0,-1,1,0,0,1,-777.05,0]],[[2,0,-1,1,0,0,1,-777.35,0]],[[2,0,-1,1,0,0,1,-777.65,0]],[[2,0,-1,1,0,0,1,-777.95,0]],[[2,0,-1,1,0,0,1,-778.25,0]],[[2,0,-1,1,0,0,1,-778.55,0]],[[2,0,-1,1,0,0,1,-778.85,0]],[[2,0,-1,1,0,0,1,-779.15,0]],[[2,0,-1,1,0,0,1,-779.45,0]],[[2,0,-1,1,0,0,1,-779.75,0]],[[2,0,-1,1,0,0,1,-780.05,0]],[[2,0,-1,1,0,0,1,-780.35,0]],[[2,0,-1,1,0,0,1,-780.65,0]],[[2,0,-1,1,0,0,1,-780.95,0]],[[2,0,-1,1,0,0,1,-781.25,0]],[[2,0,-1,1,0,0,1,-781.55,0]],[[2,0,-1,1,0,0,1,-781.85,0]],[[2,0,-1,1,0,0,1,-782.15,0]],[[2,0,-1,1,0,0,1,-782.45,0]],[[2,0,-1,1,0,0,1,-782.75,0]],[[2,0,-1,1,0,0,1,-783.05,0]],[[2,0,-1,1,0,0,1,-783.35,0]],[[2,0,-1,1,0,0,1,-783.7,0]],[[2,0,-1,1,0,0,1,-784,0]],[[2,0,-1,1,0,0,1,-784.25,0]],[[2,0,-1,1,0,0,1,-784.6,0]],[[2,0,-1,1,0,0,1,-784.9,0]],[[2,0,-1,1,0,0,1,-785.2,0]],[[2,0,-1,1,0,0,1,-785.5,0]],[[2,0,-1,1,0,0,1,-785.8,0]],[[2,0,-1,1,0,0,1,-786.1,0]],[[2,0,-1,1,0,0,1,-786.4,0]],[[2,0,-1,1,0,0,1,-786.7,0]],[[2,0,-1,1,0,0,1,-787,0]],[[2,0,-1,1,0,0,1,-787.3,0]],[[2,0,-1,1,0,0,1,-787.6,0]],[[2,0,-1,1,0,0,1,-787.9,0]],[[2,0,-1,1,0,0,1,-788.2,0]],[[2,0,-1,1,0,0,1,-788.5,0]],[[2,0,-1,1,0,0,1,-788.8,0]],[[2,0,-1,1,0,0,1,-789.1,0]],[[2,0,-1,1,0,0,1,-789.4,0]],[[2,0,-1,1,0,0,1,-789.7,0]],[[2,0,-1,1,0,0,1,-790.05,0]],[[2,0,-1,1,0,0,1,-790.3,0]],[[2,0,-1,1,0,0,1,-790.6,0]],[[2,0,-1,1,0,0,1,-790.95,0]],[[2,0,-1,1,0,0,1,-791.25,0]],[[2,0,-1,1,0,0,1,-791.55,0]],[[2,0,-1,1,0,0,1,-791.85,0]],[[2,0,-1,1,0,0,1,-792.15,0]],[[2,0,-1,1,0,0,1,-792.45,0]],[[2,0,-1,1,0,0,1,-792.75,0]],[[2,0,-1,1,0,0,1,-793.05,0]],[[2,0,-1,1,0,0,1,-793.35,0]],[[2,0,-1,1,0,0,1,-793.65,0]],[[2,0,-1,1,0,0,1,-793.95,0]],[[2,0,-1,1,0,0,1,-794.25,0]],[[2,0,-1,1,0,0,1,-794.55,0]],[[2,0,-1,1,0,0,1,-794.85,0]],[[2,0,-1,1,0,0,1,-795.15,0]],[[2,0,-1,1,0,0,1,-795.45,0]],[[2,0,-1,1,0,0,1,-795.75,0]],[[2,0,-1,1,0,0,1,-796.05,0]],[[2,0,-1,1,0,0,1,-796.35,0]],[[2,0,-1,1,0,0,1,-796.65,0]],[[2,0,-1,1,0,0,1,-796.95,0]],[[2,0,-1,1,0,0,1,-797.25,0]],[[2,0,-1,1,0,0,1,-797.6,0]],[[2,0,-1,1,0,0,1,-797.9,0]],[[2,0,-1,1,0,0,1,-798.2,0]],[[2,0,-1,1,0,0,1,-798.5,0]],[[2,0,-1,1,0,0,1,-798.8,0]],[[2,0,-1,1,0,0,1,-799.1,0]],[[2,0,-1,1,0,0,1,-799.4,0]],[[2,0,-1,1,0,0,1,-799.7,0]],[[2,0,-1,1,0,0,1,-800,0]],[[2,0,-1,1,0,0,1,-800.3,0]],[[2,0,-1,1,0,0,1,-800.6,0]],[[2,0,-1,1,0,0,1,-800.9,0]],[[2,0,-1,1,0,0,1,-801.2,0]],[[2,0,-1,1,0,0,1,-801.5,0]],[[2,0,-1,1,0,0,1,-801.8,0]],[[2,0,-1,1,0,0,1,-802.1,0]],[[2,0,-1,1,0,0,1,-802.4,0]],[[2,0,-1,1,0,0,1,-802.7,0]],[[2,0,-1,1,0,0,1,-803,0]],[[2,0,-1,1,0,0,1,-803.3,0]],[[2,0,-1,1,0,0,1,-803.6,0]],[[2,0,-1,1,0,0,1,-803.95,0]],[[2,0,-1,1,0,0,1,-804.25,0]],[[2,0,-1,1,0,0,1,-804.5,0]],[[2,0,-1,1,0,0,1,-804.85,0]],[[2,0,-1,1,0,0,1,-805.15,0]],[[2,0,-1,1,0,0,1,-805.45,0]],[[2,0,-1,1,0,0,1,-805.75,0]],[[2,0,-1,1,0,0,1,-806.05,0]],[[2,0,-1,1,0,0,1,-806.35,0]],[[2,0,-1,1,0,0,1,-806.65,0]],[[2,0,-1,1,0,0,1,-806.95,0]],[[2,0,-1,1,0,0,1,-807.25,0]],[[2,0,-1,1,0,0,1,-807.55,0]],[[2,0,-1,1,0,0,1,-807.85,0]],[[2,0,-1,1,0,0,1,-808.15,0]],[[2,0,-1,1,0,0,1,-808.45,0]],[[2,0,-1,1,0,0,1,-808.75,0]],[[2,0,-1,1,0,0,1,-809.05,0]],[[2,0,-1,1,0,0,1,-809.35,0]],[[2,0,-1,1,0,0,1,-809.65,0]],[[2,0,-1,1,0,0,1,-809.95,0]],[[2,0,-1,1,0,0,1,-810.3,0]],[[2,0,-1,1,0,0,1,-810.55,0]],[[2,0,-1,1,0,0,1,-810.85,0]],[[2,0,-1,1,0,0,1,-811.15,0]],[[2,0,-1,1,0,0,1,-811.5,0]],[[2,0,-1,1,0,0,1,-811.8,0]],[[2,0,-1,1,0,0,1,-812.1,0]],[[2,0,-1,1,0,0,1,-812.4,0]],[[2,0,-1,1,0,0,1,-812.7,0]],[[2,0,-1,1,0,0,1,-813,0]],[[2,0,-1,1,0,0,1,-813.3,0]],[[2,0,-1,1,0,0,1,-813.6,0]],[[2,0,-1,1,0,0,1,-813.9,0]],[[2,0,-1,1,0,0,1,-814.2,0]],[[2,0,-1,1,0,0,1,-814.5,0]],[[2,0,-1,1,0,0,1,-814.8,0]],[[2,0,-1,1,0,0,1,-815.1,0]],[[2,0,-1,1,0,0,1,-815.4,0]],[[2,0,-1,1,0,0,1,-815.7,0]],[[2,0,-1,1,0,0,1,-816,0]],[[2,0,-1,1,0,0,1,-816.3,0]],[[2,0,-1,1,0,0,1,-816.6,0]],[[2,0,-1,1,0,0,1,-816.9,0]],[[2,0,-1,1,0,0,1,-817.2,0]],[[2,0,-1,1,0,0,1,-817.5,0]],[[2,0,-1,1,0,0,1,-817.85,0]],[[2,0,-1,1,0,0,1,-818.15,0]],[[2,0,-1,1,0,0,1,-818.45,0]],[[2,0,-1,1,0,0,1,-818.75,0]],[[2,0,-1,1,0,0,1,-819.05,0]],[[2,0,-1,1,0,0,1,-819.35,0]],[[2,0,-1,1,0,0,1,-819.65,0]],[[2,0,-1,1,0,0,1,-819.95,0]],[[2,0,-1,1,0,0,1,-820.25,0]],[[2,0,-1,1,0,0,1,-820.55,0]],[[2,0,-1,1,0,0,1,-820.85,0]],[[2,0,-1,1,0,0,1,-821.15,0]],[[2,0,-1,1,0,0,1,-821.45,0]],[[2,0,-1,1,0,0,1,-821.75,0]],[[2,0,-1,1,0,0,1,-822.05,0]],[[2,0,-1,1,0,0,1,-822.35,0]],[[2,0,-1,1,0,0,1,-822.65,0]],[[2,0,-1,1,0,0,1,-822.95,0]],[[2,0,-1,1,0,0,1,-823.25,0]],[[2,0,-1,1,0,0,1,-823.55,0]],[[2,0,-1,1,0,0,1,-823.85,0]],[[2,0,-1,1,0,0,1,-824.2,0]],[[2,0,-1,1,0,0,1,-824.5,0]],[[2,0,-1,1,0,0,1,-824.8,0]],[[2,0,-1,1,0,0,1,-825.1,0]],[[2,0,-1,1,0,0,1,-825.4,0]],[[2,0,-1,1,0,0,1,-825.7,0]],[[2,0,-1,1,0,0,1,-826,0]],[[2,0,-1,1,0,0,1,-826.3,0]],[[2,0,-1,1,0,0,1,-826.6,0]],[[2,0,-1,1,0,0,1,-826.9,0]],[[2,0,-1,1,0,0,1,-827.2,0]],[[2,0,-1,1,0,0,1,-827.5,0]],[[2,0,-1,1,0,0,1,-827.8,0]],[[2,0,-1,1,0,0,1,-828.1,0]],[[2,0,-1,1,0,0,1,-828.4,0]],[[2,0,-1,1,0,0,1,-828.7,0]],[[2,0,-1,1,0,0,1,-829,0]],[[2,0,-1,1,0,0,1,-829.3,0]],[[2,0,-1,1,0,0,1,-829.6,0]],[[2,0,-1,1,0,0,1,-829.9,0]],[[2,0,-1,1,0,0,1,-830.2,0]],[[2,0,-1,1,0,0,1,-830.55,0]],[[2,0,-1,1,0,0,1,-830.85,0]],[[2,0,-1,1,0,0,1,-831.1,0]],[[2,0,-1,1,0,0,1,-831.4,0]],[[2,0,-1,1,0,0,1,-831.75,0]],[[2,0,-1,1,0,0,1,-832.05,0]],[[2,0,-1,1,0,0,1,-832.35,0]],[[2,0,-1,1,0,0,1,-832.65,0]],[[2,0,-1,1,0,0,1,-832.95,0]],[[2,0,-1,1,0,0,1,-833.25,0]],[[2,0,-1,1,0,0,1,-833.55,0]],[[2,0,-1,1,0,0,1,-833.85,0]],[[2,0,-1,1,0,0,1,-834.15,0]],[[2,0,-1,1,0,0,1,-834.45,0]],[[2,0,-1,1,0,0,1,-834.75,0]],[[2,0,-1,1,0,0,1,-835.05,0]],[[2,0,-1,1,0,0,1,-835.35,0]],[[2,0,-1,1,0,0,1,-835.65,0]],[[2,0,-1,1,0,0,1,-835.95,0]],[[2,0,-1,1,0,0,1,-836.25,0]],[[2,0,-1,1,0,0,1,-836.55,0]],[[2,0,-1,1,0,0,1,-836.85,0]],[[2,0,-1,1,0,0,1,-837.15,0]],[[2,0,-1,1,0,0,1,-837.45,0]],[[2,0,-1,1,0,0,1,-837.75,0]],[[2,0,-1,1,0,0,1,-838.1,0]],[[2,0,-1,1,0,0,1,-838.4,0]],[[2,0,-1,1,0,0,1,-838.7,0]],[[2,0,-1,1,0,0,1,-839,0]],[[2,0,-1,1,0,0,1,-839.3,0]],[[2,0,-1,1,0,0,1,-839.6,0]],[[2,0,-1,1,0,0,1,-839.9,0]],[[2,0,-1,1,0,0,1,-840.2,0]],[[2,0,-1,1,0,0,1,-840.5,0]],[[2,0,-1,1,0,0,1,-840.8,0]],[[2,0,-1,1,0,0,1,-841.1,0]],[[2,0,-1,1,0,0,1,-841.4,0]],[[2,0,-1,1,0,0,1,-841.7,0]],[[2,0,-1,1,0,0,1,-842,0]],[[2,0,-1,1,0,0,1,-842.3,0]],[[2,0,-1,1,0,0,1,-842.6,0]],[[2,0,-1,1,0,0,1,-842.9,0]],[[2,0,-1,1,0,0,1,-843.2,0]],[[2,0,-1,1,0,0,1,-843.5,0]],[[2,0,-1,1,0,0,1,-843.8,0]],[[2,0,-1,1,0,0,1,-844.1,0]],[[2,0,-1,1,0,0,1,-844.4,0]],[[2,0,-1,1,0,0,1,-844.75,0]],[[2,0,-1,1,0,0,1,-845.05,0]],[[2,0,-1,1,0,0,1,-845.3,0]],[[2,0,-1,1,0,0,1,-845.65,0]],[[2,0,-1,1,0,0,1,-845.95,0]],[[2,0,-1,1,0,0,1,-846.25,0]],[[2,0,-1,1,0,0,1,-846.55,0]],[[2,0,-1,1,0,0,1,-846.85,0]],[[2,0,-1,1,0,0,1,-847.15,0]],[[2,0,-1,1,0,0,1,-847.45,0]],[[2,0,-1,1,0,0,1,-847.75,0]],[[2,0,-1,1,0,0,1,-848.05,0]],[[2,0,-1,1,0,0,1,-848.35,0]],[[2,0,-1,1,0,0,1,-848.65,0]],[[2,0,-1,1,0,0,1,-848.95,0]],[[2,0,-1,1,0,0,1,-849.25,0]],[[2,0,-1,1,0,0,1,-849.55,0]],[[2,0,-1,1,0,0,1,-849.85,0]],[[2,0,-1,1,0,0,1,-850.15,0]],[[2,0,-1,1,0,0,1,-850.45,0]],[[2,0,-1,1,0,0,1,-850.75,0]],[[2,0,-1,1,0,0,1,-851.1,0]],[[2,0,-1,1,0,0,1,-851.35,0]],[[2,0,-1,1,0,0,1,-851.65,0]],[[2,0,-1,1,0,0,1,-852,0]],[[2,0,-1,1,0,0,1,-852.3,0]],[[2,0,-1,1,0,0,1,-852.6,0]],[[2,0,-1,1,0,0,1,-852.9,0]],[[2,0,-1,1,0,0,1,-853.2,0]],[[2,0,-1,1,0,0,1,-853.5,0]],[[2,0,-1,1,0,0,1,-853.8,0]],[[2,0,-1,1,0,0,1,-854.1,0]],[[2,0,-1,1,0,0,1,-854.4,0]],[[2,0,-1,1,0,0,1,-854.7,0]],[[2,0,-1,1,0,0,1,-855,0]],[[2,0,-1,1,0,0,1,-855.3,0]],[[2,0,-1,1,0,0,1,-855.6,0]],[[2,0,-1,1,0,0,1,-855.9,0]],[[2,0,-1,1,0,0,1,-856.2,0]],[[2,0,-1,1,0,0,1,-856.5,0]],[[2,0,-1,1,0,0,1,-856.8,0]],[[2,0,-1,1,0,0,1,-857.1,0]],[[2,0,-1,1,0,0,1,-857.4,0]],[[2,0,-1,1,0,0,1,-857.7,0]],[[2,0,-1,1,0,0,1,-858,0]],[[2,0,-1,1,0,0,1,-858.3,0]],[[2,0,-1,1,0,0,1,-858.65,0]],[[2,0,-1,1,0,0,1,-858.95,0]],[[2,0,-1,1,0,0,1,-859.25,0]],[[2,0,-1,1,0,0,1,-859.55,0]],[[2,0,-1,1,0,0,1,-859.85,0]],[[2,0,-1,1,0,0,1,-860.15,0]],[[2,0,-1,1,0,0,1,-860.45,0]],[[2,0,-1,1,0,0,1,-860.75,0]],[[2,0,-1,1,0,0,1,-861.05,0]],[[2,0,-1,1,0,0,1,-861.35,0]],[[2,0,-1,1,0,0,1,-861.65,0]],[[2,0,-1,1,0,0,1,-861.95,0]],[[2,0,-1,1,0,0,1,-862.25,0]],[[2,0,-1,1,0,0,1,-862.55,0]],[[2,0,-1,1,0,0,1,-862.85,0]],[[2,0,-1,1,0,0,1,-863.15,0]],[[2,0,-1,1,0,0,1,-863.45,0]],[[2,0,-1,1,0,0,1,-863.75,0]],[[2,0,-1,1,0,0,1,-864.05,0]],[[2,0,-1,1,0,0,1,-864.35,0]],[[2,0,-1,1,0,0,1,-864.65,0]],[[2,0,-1,1,0,0,1,-865,0]],[[2,0,-1,1,0,0,1,-865.3,0]],[[2,0,-1,1,0,0,1,-865.55,0]],[[2,0,-1,1,0,0,1,-865.9,0]],[[2,0,-1,1,0,0,1,-866.2,0]],[[2,0,-1,1,0,0,1,-866.5,0]],[[2,0,-1,1,0,0,1,-866.8,0]],[[2,0,-1,1,0,0,1,-867.1,0]],[[2,0,-1,1,0,0,1,-867.4,0]],[[2,0,-1,1,0,0,1,-867.7,0]],[[2,0,-1,1,0,0,1,-868,0]],[[2,0,-1,1,0,0,1,-868.3,0]],[[2,0,-1,1,0,0,1,-868.6,0]],[[2,0,-1,1,0,0,1,-868.9,0]],[[2,0,-1,1,0,0,1,-869.2,0]],[[2,0,-1,1,0,0,1,-869.5,0]],[[2,0,-1,1,0,0,1,-869.8,0]],[[2,0,-1,1,0,0,1,-870.1,0]],[[2,0,-1,1,0,0,1,-870.4,0]],[[2,0,-1,1,0,0,1,-870.7,0]],[[2,0,-1,1,0,0,1,-871,0]],[[2,0,-1,1,0,0,1,-871.35,0]],[[2,0,-1,1,0,0,1,-871.6,0]],[[2,0,-1,1,0,0,1,-871.9,0]],[[2,0,-1,1,0,0,1,-872.25,0]],[[2,0,-1,1,0,0,1,-872.55,0]],[[2,0,-1,1,0,0,1,-872.85,0]],[[2,0,-1,1,0,0,1,-873.15,0]],[[2,0,-1,1,0,0,1,-873.45,0]],[[2,0,-1,1,0,0,1,-873.75,0]],[[2,0,-1,1,0,0,1,-874.05,0]],[[2,0,-1,1,0,0,1,-874.35,0]],[[2,0,-1,1,0,0,1,-874.65,0]],[[2,0,-1,1,0,0,1,-874.95,0]],[[2,0,-1,1,0,0,1,-875.25,0]],[[2,0,-1,1,0,0,1,-875.55,0]],[[2,0,-1,1,0,0,1,-875.85,0]],[[2,0,-1,1,0,0,1,-876.15,0]],[[2,0,-1,1,0,0,1,-876.45,0]],[[2,0,-1,1,0,0,1,-876.75,0]],[[2,0,-1,1,0,0,1,-877.05,0]],[[2,0,-1,1,0,0,1,-877.35,0]],[[2,0,-1,1,0,0,1,-877.65,0]],[[2,0,-1,1,0,0,1,-877.95,0]],[[2,0,-1,1,0,0,1,-878.25,0]],[[2,0,-1,1,0,0,1,-878.55,0]],[[2,0,-1,1,0,0,1,-878.9,0]],[[2,0,-1,1,0,0,1,-879.2,0]],[[2,0,-1,1,0,0,1,-879.5,0]],[[2,0,-1,1,0,0,1,-879.8,0]],[[2,0,-1,1,0,0,1,-880.1,0]],[[2,0,-1,1,0,0,1,-880.4,0]],[[2,0,-1,1,0,0,1,-880.7,0]],[[2,0,-1,1,0,0,1,-881,0]],[[2,0,-1,1,0,0,1,-881.3,0]],[[2,0,-1,1,0,0,1,-881.6,0]],[[2,0,-1,1,0,0,1,-881.9,0]],[[2,0,-1,1,0,0,1,-882.2,0]],[[2,0,-1,1,0,0,1,-882.5,0]],[[2,0,-1,1,0,0,1,-882.8,0]],[[2,0,-1,1,0,0,1,-883.1,0]],[[2,0,-1,1,0,0,1,-883.4,0]],[[2,0,-1,1,0,0,1,-883.7,0]],[[2,0,-1,1,0,0,1,-884,0]],[[2,0,-1,1,0,0,1,-884.3,0]],[[2,0,-1,1,0,0,1,-884.6,0]],[[2,0,-1,1,0,0,1,-884.9,0]],[[2,0,-1,1,0,0,1,-885.25,0]],[[2,0,-1,1,0,0,1,-885.55,0]],[[2,0,-1,1,0,0,1,-885.8,0]],[[2,0,-1,1,0,0,1,-886.1,0]],[[2,0,-1,1,0,0,1,-886.45,0]],[[2,0,-1,1,0,0,1,-886.75,0]],[[2,0,-1,1,0,0,1,-887.05,0]],[[2,0,-1,1,0,0,1,-887.35,0]],[[2,0,-1,1,0,0,1,-887.65,0]],[[2,0,-1,1,0,0,1,-887.95,0]],[[2,0,-1,1,0,0,1,-888.25,0]],[[2,0,-1,1,0,0,1,-888.55,0]],[[2,0,-1,1,0,0,1,-888.85,0]],[[2,0,-1,1,0,0,1,-889.15,0]],[[2,0,-1,1,0,0,1,-889.45,0]],[[2,0,-1,1,0,0,1,-889.75,0]],[[2,0,-1,1,0,0,1,-890.05,0]],[[2,0,-1,1,0,0,1,-890.35,0]],[[2,0,-1,1,0,0,1,-890.65,0]],[[2,0,-1,1,0,0,1,-890.95,0]],[[2,0,-1,1,0,0,1,-891.25,0]],[[2,0,-1,1,0,0,1,-891.55,0]],[[2,0,-1,1,0,0,1,-891.9,0]],[[2,0,-1,1,0,0,1,-892.15,0]],[[2,0,-1,1,0,0,1,-892.45,0]],[[2,0,-1,1,0,0,1,-892.8,0]],[[2,0,-1,1,0,0,1,-893.1,0]],[[2,0,-1,1,0,0,1,-893.4,0]],[[2,0,-1,1,0,0,1,-893.7,0]],[[2,0,-1,1,0,0,1,-894,0]],[[2,0,-1,1,0,0,1,-894.3,0]],[[2,0,-1,1,0,0,1,-894.6,0]],[[2,0,-1,1,0,0,1,-894.9,0]],[[2,0,-1,1,0,0,1,-895.2,0]],[[2,0,-1,1,0,0,1,-895.5,0]],[[2,0,-1,1,0,0,1,-895.8,0]],[[2,0,-1,1,0,0,1,-896.1,0]],[[2,0,-1,1,0,0,1,-896.4,0]],[[2,0,-1,1,0,0,1,-896.7,0]],[[2,0,-1,1,0,0,1,-897,0]],[[2,0,-1,1,0,0,1,-897.3,0]],[[2,0,-1,1,0,0,1,-897.6,0]],[[2,0,-1,1,0,0,1,-897.9,0]],[[2,0,-1,1,0,0,1,-898.2,0]],[[2,0,-1,1,0,0,1,-898.5,0]],[[2,0,-1,1,0,0,1,-898.8,0]],[[2,0,-1,1,0,0,1,-899.15,0]],[[2,0,-1,1,0,0,1,-899.45,0]],[[2,0,-1,1,0,0,1,-899.75,0]],[[2,0,-1,1,0,0,1,-900.05,0]],[[2,0,-1,1,0,0,1,-900.35,0]],[[2,0,-1,1,0,0,1,-900.65,0]],[[2,0,-1,1,0,0,1,-900.95,0]],[[2,0,-1,1,0,0,1,-901.25,0]],[[2,0,-1,1,0,0,1,-901.55,0]],[[2,0,-1,1,0,0,1,-901.85,0]],[[2,0,-1,1,0,0,1,-902.15,0]],[[2,0,-1,1,0,0,1,-902.45,0]],[[2,0,-1,1,0,0,1,-902.75,0]],[[2,0,-1,1,0,0,1,-903.05,0]],[[2,0,-1,1,0,0,1,-903.35,0]],[[2,0,-1,1,0,0,1,-903.65,0]],[[2,0,-1,1,0,0,1,-903.95,0]],[[2,0,-1,1,0,0,1,-904.25,0]],[[2,0,-1,1,0,0,1,-904.55,0]],[[2,0,-1,1,0,0,1,-904.85,0]],[[2,0,-1,1,0,0,1,-905.15,0]],[[2,0,-1,1,0,0,1,-905.45,0]],[[2,0,-1,1,0,0,1,-905.8,0]],[[2,0,-1,1,0,0,1,-906.1,0]],[[2,0,-1,1,0,0,1,-906.35,0]],[[2,0,-1,1,0,0,1,-906.7,0]],[[2,0,-1,1,0,0,1,-907,0]],[[2,0,-1,1,0,0,1,-907.3,0]],[[2,0,-1,1,0,0,1,-907.6,0]],[[2,0,-1,1,0,0,1,-907.9,0]],[[2,0,-1,1,0,0,1,-908.2,0]],[[2,0,-1,1,0,0,1,-908.5,0]],[[2,0,-1,1,0,0,1,-908.8,0]],[[2,0,-1,1,0,0,1,-909.1,0]],[[2,0,-1,1,0,0,1,-909.4,0]],[[2,0,-1,1,0,0,1,-909.7,0]],[[2,0,-1,1,0,0,1,-910,0]],[[2,0,-1,1,0,0,1,-910.3,0]],[[2,0,-1,1,0,0,1,-910.6,0]],[[2,0,-1,1,0,0,1,-910.9,0]],[[2,0,-1,1,0,0,1,-911.2,0]],[[2,0,-1,1,0,0,1,-911.5,0]],[[2,0,-1,1,0,0,1,-911.8,0]],[[2,0,-1,1,0,0,1,-912.15,0]],[[2,0,-1,1,0,0,1,-912.4,0]],[[2,0,-1,1,0,0,1,-912.7,0]],[[2,0,-1,1,0,0,1,-913.05,0]],[[2,0,-1,1,0,0,1,-913.35,0]],[[2,0,-1,1,0,0,1,-913.65,0]],[[2,0,-1,1,0,0,1,-913.95,0]],[[2,0,-1,1,0,0,1,-914.25,0]],[[2,0,-1,1,0,0,1,-914.55,0]],[[2,0,-1,1,0,0,1,-914.85,0]],[[2,0,-1,1,0,0,1,-915.15,0]],[[2,0,-1,1,0,0,1,-915.45,0]],[[2,0,-1,1,0,0,1,-915.75,0]],[[2,0,-1,1,0,0,1,-916.05,0]],[[2,0,-1,1,0,0,1,-916.35,0]],[[2,0,-1,1,0,0,1,-916.65,0]],[[2,0,-1,1,0,0,1,-916.95,0]],[[2,0,-1,1,0,0,1,-917.25,0]],[[2,0,-1,1,0,0,1,-917.55,0]],[[2,0,-1,1,0,0,1,-917.85,0]],[[2,0,-1,1,0,0,1,-918.15,0]],[[2,0,-1,1,0,0,1,-918.45,0]],[[2,0,-1,1,0,0,1,-918.75,0]],[[2,0,-1,1,0,0,1,-919.05,0]],[[2,0,-1,1,0,0,1,-919.35,0]],[[2,0,-1,1,0,0,1,-919.7,0]],[[2,0,-1,1,0,0,1,-920,0]],[[2,0,-1,1,0,0,1,-920.3,0]],[[2,0,-1,1,0,0,1,-920.6,0]],[[2,0,-1,1,0,0,1,-920.9,0]],[[2,0,-1,1,0,0,1,-921.2,0]],[[2,0,-1,1,0,0,1,-921.5,0]],[[2,0,-1,1,0,0,1,-921.8,0]],[[2,0,-1,1,0,0,1,-922.1,0]],[[2,0,-1,1,0,0,1,-922.4,0]],[[2,0,-1,1,0,0,1,-922.7,0]],[[2,0,-1,1,0,0,1,-923,0]],[[2,0,-1,1,0,0,1,-923.3,0]],[[2,0,-1,1,0,0,1,-923.6,0]],[[2,0,-1,1,0,0,1,-923.9,0]],[[2,0,-1,1,0,0,1,-924.2,0]],[[2,0,-1,1,0,0,1,-924.5,0]],[[2,0,-1,1,0,0,1,-924.8,0]],[[2,0,-1,1,0,0,1,-925.1,0]],[[2,0,-1,1,0,0,1,-925.4,0]],[[2,0,-1,1,0,0,1,-925.7,0]],[[2,0,-1,1,0,0,1,-926.05,0]],[[2,0,-1,1,0,0,1,-926.35,0]],[[2,0,-1,1,0,0,1,-926.6,0]],[[2,0,-1,1,0,0,1,-926.95,0]],[[2,0,-1,1,0,0,1,-927.25,0]],[[2,0,-1,1,0,0,1,-927.55,0]],[[2,0,-1,1,0,0,1,-927.85,0]],[[2,0,-1,1,0,0,1,-928.15,0]],[[2,0,-1,1,0,0,1,-928.45,0]],[[2,0,-1,1,0,0,1,-928.75,0]],[[2,0,-1,1,0,0,1,-929.05,0]],[[2,0,-1,1,0,0,1,-929.35,0]],[[2,0,-1,1,0,0,1,-929.65,0]],[[2,0,-1,1,0,0,1,-929.95,0]],[[2,0,-1,1,0,0,1,-930.25,0]],[[2,0,-1,1,0,0,1,-930.55,0]],[[2,0,-1,1,0,0,1,-930.85,0]],[[2,0,-1,1,0,0,1,-931.15,0]],[[2,0,-1,1,0,0,1,-931.45,0]],[[2,0,-1,1,0,0,1,-931.75,0]],[[2,0,-1,1,0,0,1,-932.05,0]],[[2,0,-1,1,0,0,1,-932.4,0]],[[2,0,-1,1,0,0,1,-932.65,0]],[[2,0,-1,1,0,0,1,-932.95,0]],[[2,0,-1,1,0,0,1,-933.25,0]],[[2,0,-1,1,0,0,1,-933.6,0]],[[2,0,-1,1,0,0,1,-933.9,0]],[[2,0,-1,1,0,0,1,-934.2,0]],[[2,0,-1,1,0,0,1,-934.5,0]],[[2,0,-1,1,0,0,1,-934.8,0]],[[2,0,-1,1,0,0,1,-935.1,0]],[[2,0,-1,1,0,0,1,-935.4,0]],[[2,0,-1,1,0,0,1,-935.7,0]],[[2,0,-1,1,0,0,1,-936,0]],[[2,0,-1,1,0,0,1,-936.3,0]],[[2,0,-1,1,0,0,1,-936.6,0]],[[2,0,-1,1,0,0,1,-936.9,0]],[[2,0,-1,1,0,0,1,-937.2,0]],[[2,0,-1,1,0,0,1,-937.5,0]],[[2,0,-1,1,0,0,1,-937.8,0]],[[2,0,-1,1,0,0,1,-938.1,0]],[[2,0,-1,1,0,0,1,-938.4,0]],[[2,0,-1,1,0,0,1,-938.7,0]],[[2,0,-1,1,0,0,1,-939,0]],[[2,0,-1,1,0,0,1,-939.3,0]],[[2,0,-1,1,0,0,1,-939.6,0]],[[2,0,-1,1,0,0,1,-939.95,0]],[[2,0,-1,1,0,0,1,-940.25,0]],[[2,0,-1,1,0,0,1,-940.55,0]],[[2,0,-1,1,0,0,1,-940.85,0]],[[2,0,-1,1,0,0,1,-941.15,0]],[[2,0,-1,1,0,0,1,-941.45,0]],[[2,0,-1,1,0,0,1,-941.75,0]],[[2,0,-1,1,0,0,1,-942.05,0]],[[2,0,-1,1,0,0,1,-942.35,0]],[[2,0,-1,1,0,0,1,-942.65,0]],[[2,0,-1,1,0,0,1,-942.95,0]],[[2,0,-1,1,0,0,1,-943.25,0]],[[2,0,-1,1,0,0,1,-943.55,0]],[[2,0,-1,1,0,0,1,-943.85,0]],[[2,0,-1,1,0,0,1,-944.15,0]],[[2,0,-1,1,0,0,1,-944.45,0]],[[2,0,-1,1,0,0,1,-944.75,0]],[[2,0,-1,1,0,0,1,-945.05,0]],[[2,0,-1,1,0,0,1,-945.35,0]],[[2,0,-1,1,0,0,1,-945.65,0]],[[2,0,-1,1,0,0,1,-945.95,0]],[[2,0,-1,1,0,0,1,-946.3,0]],[[2,0,-1,1,0,0,1,-946.6,0]],[[2,0,-1,1,0,0,1,-946.85,0]],[[2,0,-1,1,0,0,1,-947.15,0]],[[2,0,-1,1,0,0,1,-947.5,0]],[[2,0,-1,1,0,0,1,-947.8,0]],[[2,0,-1,1,0,0,1,-948.1,0]],[[2,0,-1,1,0,0,1,-948.4,0]],[[2,0,-1,1,0,0,1,-948.7,0]],[[2,0,-1,1,0,0,1,-949,0]],[[2,0,-1,1,0,0,1,-949.3,0]],[[2,0,-1,1,0,0,1,-949.6,0]],[[2,0,-1,1,0,0,1,-949.9,0]]],[65,"Symbol 6","",false,[],[],[[1,67,-1,0]]],[68,"Symbol 8","",false,[],[],[[1,69,-1,0]]],[70,"Symbol 10","",false,[],[],[[1,71,-1,0]]],[79,"turret","",false,[],[],[[1,80,-1,0],[1,81,0,1,1,0,0,1,-0.5,-43,"target"],[5,1,0]]],[81,"Symbol 1","",false,[],[],[[1,82,-1,0]]],[135,"hit","",false,[],[],[[1,143,-1,0]]]]} \ No newline at end of file diff --git a/flashgl/assets/1_actions.js b/flashgl/assets/1_actions.js new file mode 100644 index 00000000..7a6a795a --- /dev/null +++ b/flashgl/assets/1_actions.js @@ -0,0 +1,5864 @@ +var flwebgl; +(function (flwebgl) { + (function (actions) { + actions.sc_Scene321_1_0 = function() { + window.onMouseEnterMovieClip = function(mc,callback){ + var inside = false; + window.addEventListener('mousemove',function mouseDown(e) { + var clickedAt = new flwebgl.geom.Point(e.pageX, e.pageY); + var bounds = mc.getBounds(player.getStage()); + if (isPointInsideRect(clickedAt,bounds) && !inside){ + callback(e); + inside = true; + }; + + if (!isPointInsideRect(clickedAt,bounds)) { + inside = false; + }; + }); + }; + + window.onMouseExitMovieClip = function (mc,callback){ + var inside = false; + window.addEventListener('mousemove',function mouseDown(e) { + var clickedAt = new flwebgl.geom.Point(e.pageX, e.pageY); + var bounds = mc.getBounds(player.getStage()); + if (isPointInsideRect(clickedAt,bounds) && !inside){ + inside = true; + }; + + if (!isPointInsideRect(clickedAt,bounds) && inside) { + callback(e); + inside = false; + }; + }); + }; + + window. addListener = function(type,mc,callback){ + window.addEventListener(type,function mouseDown(e) { + var clickedAt = new flwebgl.geom.Point(e.pageX, e.pageY); + var bounds = mc.getBounds(player.getStage()); + if (isPointInsideRect(clickedAt,bounds)){ + callback(e); + } + }); + }; + + window. isPointInsideRect = function(point, rect) { + if (point.x > rect.left && point.x < (rect.left + rect.width)) { + if (point.y > rect.top && point.y < (rect.top + rect.height)) { + return true; + } + } + + return false; + } + + window.setOpacity = function(mc,opacity){ + var transform = startButton.getLocalColorTransform(); + transform.setAlphaMultiplier(opacity); + startButton.setLocalColorTransform(transform); + } + + } + actions.sc_Scene321_2_0 = function() { + (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.chai = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o + * MIT Licensed + */ + + var used = [] + , exports = module.exports = {}; + + /*! + * Chai version + */ + + exports.version = '3.0.0'; + + /*! + * Assertion Error + */ + + exports.AssertionError = require('assertion-error'); + + /*! + * Utils for plugins (not exported) + */ + + var util = require('./chai/utils'); + + /** + * # .use(function) + * + * Provides a way to extend the internals of Chai + * + * @param {Function} + * @returns {this} for chaining + * @api public + */ + + exports.use = function (fn) { + if (!~used.indexOf(fn)) { + fn(this, util); + used.push(fn); + } + + return this; + }; + + /*! + * Utility Functions + */ + + exports.util = util; + + /*! + * Configuration + */ + + var config = require('./chai/config'); + exports.config = config; + + /*! + * Primary `Assertion` prototype + */ + + var assertion = require('./chai/assertion'); + exports.use(assertion); + + /*! + * Core Assertions + */ + + var core = require('./chai/core/assertions'); + exports.use(core); + + /*! + * Expect interface + */ + + var expect = require('./chai/interface/expect'); + exports.use(expect); + + /*! + * Should interface + */ + + var should = require('./chai/interface/should'); + exports.use(should); + + /*! + * Assert interface + */ + + var assert = require('./chai/interface/assert'); + exports.use(assert); + + },{"./chai/assertion":2,"./chai/config":3,"./chai/core/assertions":4,"./chai/interface/assert":5,"./chai/interface/expect":6,"./chai/interface/should":7,"./chai/utils":20,"assertion-error":28}],2:[function(require,module,exports){ + /*! + * chai + * http://chaijs.com + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + + var config = require('./config'); + + module.exports = function (_chai, util) { + /*! + * Module dependencies. + */ + + var AssertionError = _chai.AssertionError + , flag = util.flag; + + /*! + * Module export. + */ + + _chai.Assertion = Assertion; + + /*! + * Assertion Constructor + * + * Creates object for chaining. + * + * @api private + */ + + function Assertion (obj, msg, stack) { + flag(this, 'ssfi', stack || arguments.callee); + flag(this, 'object', obj); + flag(this, 'message', msg); + } + + Object.defineProperty(Assertion, 'includeStack', { + get: function() { + console.warn('Assertion.includeStack is deprecated, use chai.config.includeStack instead.'); + return config.includeStack; + }, + set: function(value) { + console.warn('Assertion.includeStack is deprecated, use chai.config.includeStack instead.'); + config.includeStack = value; + } + }); + + Object.defineProperty(Assertion, 'showDiff', { + get: function() { + console.warn('Assertion.showDiff is deprecated, use chai.config.showDiff instead.'); + return config.showDiff; + }, + set: function(value) { + console.warn('Assertion.showDiff is deprecated, use chai.config.showDiff instead.'); + config.showDiff = value; + } + }); + + Assertion.addProperty = function (name, fn) { + util.addProperty(this.prototype, name, fn); + }; + + Assertion.addMethod = function (name, fn) { + util.addMethod(this.prototype, name, fn); + }; + + Assertion.addChainableMethod = function (name, fn, chainingBehavior) { + util.addChainableMethod(this.prototype, name, fn, chainingBehavior); + }; + + Assertion.overwriteProperty = function (name, fn) { + util.overwriteProperty(this.prototype, name, fn); + }; + + Assertion.overwriteMethod = function (name, fn) { + util.overwriteMethod(this.prototype, name, fn); + }; + + Assertion.overwriteChainableMethod = function (name, fn, chainingBehavior) { + util.overwriteChainableMethod(this.prototype, name, fn, chainingBehavior); + }; + + /** + * ### .assert(expression, message, negateMessage, expected, actual, showDiff) + * + * Executes an expression and check expectations. Throws AssertionError for reporting if test doesn't pass. + * + * @name assert + * @param {Philosophical} expression to be tested + * @param {String or Function} message or function that returns message to display if expression fails + * @param {String or Function} negatedMessage or function that returns negatedMessage to display if negated expression fails + * @param {Mixed} expected value (remember to check for negation) + * @param {Mixed} actual (optional) will default to `this.obj` + * @param {Boolean} showDiff (optional) when set to `true`, assert will display a diff in addition to the message if expression fails + * @api private + */ + + Assertion.prototype.assert = function (expr, msg, negateMsg, expected, _actual, showDiff) { + var ok = util.test(this, arguments); + if (true !== showDiff) showDiff = false; + if (true !== config.showDiff) showDiff = false; + + if (!ok) { + var msg = util.getMessage(this, arguments) + , actual = util.getActual(this, arguments); + throw new AssertionError(msg, { + actual: actual + , expected: expected + , showDiff: showDiff + }, (config.includeStack) ? this.assert : flag(this, 'ssfi')); + } + }; + + /*! + * ### ._obj + * + * Quick reference to stored `actual` value for plugin developers. + * + * @api private + */ + + Object.defineProperty(Assertion.prototype, '_obj', + { get: function () { + return flag(this, 'object'); + } + , set: function (val) { + flag(this, 'object', val); + } + }); + }; + + },{"./config":3}],3:[function(require,module,exports){ + module.exports = { + + /** + * ### config.includeStack + * + * User configurable property, influences whether stack trace + * is included in Assertion error message. Default of false + * suppresses stack trace in the error message. + * + * chai.config.includeStack = true; // enable stack on error + * + * @param {Boolean} + * @api public + */ + + includeStack: false, + + /** + * ### config.showDiff + * + * User configurable property, influences whether or not + * the `showDiff` flag should be included in the thrown + * AssertionErrors. `false` will always be `false`; `true` + * will be true when the assertion has requested a diff + * be shown. + * + * @param {Boolean} + * @api public + */ + + showDiff: true, + + /** + * ### config.truncateThreshold + * + * User configurable property, sets length threshold for actual and + * expected values in assertion errors. If this threshold is exceeded, for + * example for large data structures, the value is replaced with something + * like `[ Array(3) ]` or `{ Object (prop1, prop2) }`. + * + * Set it to zero if you want to disable truncating altogether. + * + * This is especially userful when doing assertions on arrays: having this + * set to a reasonable large value makes the failure messages readily + * inspectable. + * + * chai.config.truncateThreshold = 0; // disable truncating + * + * @param {Number} + * @api public + */ + + truncateThreshold: 40 + + }; + + },{}],4:[function(require,module,exports){ + /*! + * chai + * http://chaijs.com + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + + module.exports = function (chai, _) { + var Assertion = chai.Assertion + , toString = Object.prototype.toString + , flag = _.flag; + + /** + * ### Language Chains + * + * The following are provided as chainable getters to + * improve the readability of your assertions. They + * do not provide testing capabilities unless they + * have been overwritten by a plugin. + * + * **Chains** + * + * - to + * - be + * - been + * - is + * - that + * - which + * - and + * - has + * - have + * - with + * - at + * - of + * - same + * + * @name language chains + * @api public + */ + + [ 'to', 'be', 'been' + , 'is', 'and', 'has', 'have' + , 'with', 'that', 'which', 'at' + , 'of', 'same' ].forEach(function (chain) { + Assertion.addProperty(chain, function () { + return this; + }); + }); + + /** + * ### .not + * + * Negates any of assertions following in the chain. + * + * expect(foo).to.not.equal('bar'); + * expect(goodFn).to.not.throw(Error); + * expect({ foo: 'baz' }).to.have.property('foo') + * .and.not.equal('bar'); + * + * @name not + * @api public + */ + + Assertion.addProperty('not', function () { + flag(this, 'negate', true); + }); + + /** + * ### .deep + * + * Sets the `deep` flag, later used by the `equal` and + * `property` assertions. + * + * expect(foo).to.deep.equal({ bar: 'baz' }); + * expect({ foo: { bar: { baz: 'quux' } } }) + * .to.have.deep.property('foo.bar.baz', 'quux'); + * + * `.deep.property` special characters can be escaped + * by adding two slashes before the `.` or `[]`. + * + * var deepCss = { '.link': { '[target]': 42 }}; + * expect(deepCss).to.have.deep.property('\\.link.\\[target\\]', 42); + * + * @name deep + * @api public + */ + + Assertion.addProperty('deep', function () { + flag(this, 'deep', true); + }); + + /** + * ### .any + * + * Sets the `any` flag, (opposite of the `all` flag) + * later used in the `keys` assertion. + * + * expect(foo).to.have.any.keys('bar', 'baz'); + * + * @name any + * @api public + */ + + Assertion.addProperty('any', function () { + flag(this, 'any', true); + flag(this, 'all', false) + }); + + + /** + * ### .all + * + * Sets the `all` flag (opposite of the `any` flag) + * later used by the `keys` assertion. + * + * expect(foo).to.have.all.keys('bar', 'baz'); + * + * @name all + * @api public + */ + + Assertion.addProperty('all', function () { + flag(this, 'all', true); + flag(this, 'any', false); + }); + + /** + * ### .a(type) + * + * The `a` and `an` assertions are aliases that can be + * used either as language chains or to assert a value's + * type. + * + * // typeof + * expect('test').to.be.a('string'); + * expect({ foo: 'bar' }).to.be.an('object'); + * expect(null).to.be.a('null'); + * expect(undefined).to.be.an('undefined'); + * expect(new Promise).to.be.a('promise'); + * expect(new Float32Array()).to.be.a('float32array'); + * expect(Symbol()).to.be.a('symbol'); + * + * // es6 overrides + * expect({[Symbol.toStringTag]:()=>'foo'}).to.be.a('foo'); + * + * // language chain + * expect(foo).to.be.an.instanceof(Foo); + * + * @name a + * @alias an + * @param {String} type + * @param {String} message _optional_ + * @api public + */ + + function an (type, msg) { + if (msg) flag(this, 'message', msg); + type = type.toLowerCase(); + var obj = flag(this, 'object') + , article = ~[ 'a', 'e', 'i', 'o', 'u' ].indexOf(type.charAt(0)) ? 'an ' : 'a '; + + this.assert( + type === _.type(obj) + , 'expected #{this} to be ' + article + type + , 'expected #{this} not to be ' + article + type + ); + } + + Assertion.addChainableMethod('an', an); + Assertion.addChainableMethod('a', an); + + /** + * ### .include(value) + * + * The `include` and `contain` assertions can be used as either property + * based language chains or as methods to assert the inclusion of an object + * in an array or a substring in a string. When used as language chains, + * they toggle the `contains` flag for the `keys` assertion. + * + * expect([1,2,3]).to.include(2); + * expect('foobar').to.contain('foo'); + * expect({ foo: 'bar', hello: 'universe' }).to.include.keys('foo'); + * + * @name include + * @alias contain + * @alias includes + * @alias contains + * @param {Object|String|Number} obj + * @param {String} message _optional_ + * @api public + */ + + function includeChainingBehavior () { + flag(this, 'contains', true); + } + + function include (val, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + var expected = false; + if (_.type(obj) === 'array' && _.type(val) === 'object') { + for (var i in obj) { + if (_.eql(obj[i], val)) { + expected = true; + break; + } + } + } else if (_.type(val) === 'object') { + if (!flag(this, 'negate')) { + for (var k in val) new Assertion(obj).property(k, val[k]); + return; + } + var subset = {}; + for (var k in val) subset[k] = obj[k]; + expected = _.eql(subset, val); + } else { + expected = obj && ~obj.indexOf(val); + } + this.assert( + expected + , 'expected #{this} to include ' + _.inspect(val) + , 'expected #{this} to not include ' + _.inspect(val)); + } + + Assertion.addChainableMethod('include', include, includeChainingBehavior); + Assertion.addChainableMethod('contain', include, includeChainingBehavior); + Assertion.addChainableMethod('contains', include, includeChainingBehavior); + Assertion.addChainableMethod('includes', include, includeChainingBehavior); + + /** + * ### .ok + * + * Asserts that the target is truthy. + * + * expect('everthing').to.be.ok; + * expect(1).to.be.ok; + * expect(false).to.not.be.ok; + * expect(undefined).to.not.be.ok; + * expect(null).to.not.be.ok; + * + * @name ok + * @api public + */ + + Assertion.addProperty('ok', function () { + this.assert( + flag(this, 'object') + , 'expected #{this} to be truthy' + , 'expected #{this} to be falsy'); + }); + + /** + * ### .true + * + * Asserts that the target is `true`. + * + * expect(true).to.be.true; + * expect(1).to.not.be.true; + * + * @name true + * @api public + */ + + Assertion.addProperty('true', function () { + this.assert( + true === flag(this, 'object') + , 'expected #{this} to be true' + , 'expected #{this} to be false' + , this.negate ? false : true + ); + }); + + /** + * ### .false + * + * Asserts that the target is `false`. + * + * expect(false).to.be.false; + * expect(0).to.not.be.false; + * + * @name false + * @api public + */ + + Assertion.addProperty('false', function () { + this.assert( + false === flag(this, 'object') + , 'expected #{this} to be false' + , 'expected #{this} to be true' + , this.negate ? true : false + ); + }); + + /** + * ### .null + * + * Asserts that the target is `null`. + * + * expect(null).to.be.null; + * expect(undefined).to.not.be.null; + * + * @name null + * @api public + */ + + Assertion.addProperty('null', function () { + this.assert( + null === flag(this, 'object') + , 'expected #{this} to be null' + , 'expected #{this} not to be null' + ); + }); + + /** + * ### .undefined + * + * Asserts that the target is `undefined`. + * + * expect(undefined).to.be.undefined; + * expect(null).to.not.be.undefined; + * + * @name undefined + * @api public + */ + + Assertion.addProperty('undefined', function () { + this.assert( + undefined === flag(this, 'object') + , 'expected #{this} to be undefined' + , 'expected #{this} not to be undefined' + ); + }); + + /** + * ### .exist + * + * Asserts that the target is neither `null` nor `undefined`. + * + * var foo = 'hi' + * , bar = null + * , baz; + * + * expect(foo).to.exist; + * expect(bar).to.not.exist; + * expect(baz).to.not.exist; + * + * @name exist + * @api public + */ + + Assertion.addProperty('exist', function () { + this.assert( + null != flag(this, 'object') + , 'expected #{this} to exist' + , 'expected #{this} to not exist' + ); + }); + + + /** + * ### .empty + * + * Asserts that the target's length is `0`. For arrays and strings, it checks + * the `length` property. For objects, it gets the count of + * enumerable keys. + * + * expect([]).to.be.empty; + * expect('').to.be.empty; + * expect({}).to.be.empty; + * + * @name empty + * @api public + */ + + Assertion.addProperty('empty', function () { + var obj = flag(this, 'object') + , expected = obj; + + if (Array.isArray(obj) || 'string' === typeof object) { + expected = obj.length; + } else if (typeof obj === 'object') { + expected = Object.keys(obj).length; + } + + this.assert( + !expected + , 'expected #{this} to be empty' + , 'expected #{this} not to be empty' + ); + }); + + /** + * ### .arguments + * + * Asserts that the target is an arguments object. + * + * function test () { + * expect(arguments).to.be.arguments; + * } + * + * @name arguments + * @alias Arguments + * @api public + */ + + function checkArguments () { + var obj = flag(this, 'object') + , type = Object.prototype.toString.call(obj); + this.assert( + '[object Arguments]' === type + , 'expected #{this} to be arguments but got ' + type + , 'expected #{this} to not be arguments' + ); + } + + Assertion.addProperty('arguments', checkArguments); + Assertion.addProperty('Arguments', checkArguments); + + /** + * ### .equal(value) + * + * Asserts that the target is strictly equal (`===`) to `value`. + * Alternately, if the `deep` flag is set, asserts that + * the target is deeply equal to `value`. + * + * expect('hello').to.equal('hello'); + * expect(42).to.equal(42); + * expect(1).to.not.equal(true); + * expect({ foo: 'bar' }).to.not.equal({ foo: 'bar' }); + * expect({ foo: 'bar' }).to.deep.equal({ foo: 'bar' }); + * + * @name equal + * @alias equals + * @alias eq + * @alias deep.equal + * @param {Mixed} value + * @param {String} message _optional_ + * @api public + */ + + function assertEqual (val, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'deep')) { + return this.eql(val); + } else { + this.assert( + val === obj + , 'expected #{this} to equal #{exp}' + , 'expected #{this} to not equal #{exp}' + , val + , this._obj + , true + ); + } + } + + Assertion.addMethod('equal', assertEqual); + Assertion.addMethod('equals', assertEqual); + Assertion.addMethod('eq', assertEqual); + + /** + * ### .eql(value) + * + * Asserts that the target is deeply equal to `value`. + * + * expect({ foo: 'bar' }).to.eql({ foo: 'bar' }); + * expect([ 1, 2, 3 ]).to.eql([ 1, 2, 3 ]); + * + * @name eql + * @alias eqls + * @param {Mixed} value + * @param {String} message _optional_ + * @api public + */ + + function assertEql(obj, msg) { + if (msg) flag(this, 'message', msg); + this.assert( + _.eql(obj, flag(this, 'object')) + , 'expected #{this} to deeply equal #{exp}' + , 'expected #{this} to not deeply equal #{exp}' + , obj + , this._obj + , true + ); + } + + Assertion.addMethod('eql', assertEql); + Assertion.addMethod('eqls', assertEql); + + /** + * ### .above(value) + * + * Asserts that the target is greater than `value`. + * + * expect(10).to.be.above(5); + * + * Can also be used in conjunction with `length` to + * assert a minimum length. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.above(2); + * expect([ 1, 2, 3 ]).to.have.length.above(2); + * + * @name above + * @alias gt + * @alias greaterThan + * @param {Number} value + * @param {String} message _optional_ + * @api public + */ + + function assertAbove (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len > n + , 'expected #{this} to have a length above #{exp} but got #{act}' + , 'expected #{this} to not have a length above #{exp}' + , n + , len + ); + } else { + this.assert( + obj > n + , 'expected #{this} to be above ' + n + , 'expected #{this} to be at most ' + n + ); + } + } + + Assertion.addMethod('above', assertAbove); + Assertion.addMethod('gt', assertAbove); + Assertion.addMethod('greaterThan', assertAbove); + + /** + * ### .least(value) + * + * Asserts that the target is greater than or equal to `value`. + * + * expect(10).to.be.at.least(10); + * + * Can also be used in conjunction with `length` to + * assert a minimum length. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.of.at.least(2); + * expect([ 1, 2, 3 ]).to.have.length.of.at.least(3); + * + * @name least + * @alias gte + * @param {Number} value + * @param {String} message _optional_ + * @api public + */ + + function assertLeast (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len >= n + , 'expected #{this} to have a length at least #{exp} but got #{act}' + , 'expected #{this} to have a length below #{exp}' + , n + , len + ); + } else { + this.assert( + obj >= n + , 'expected #{this} to be at least ' + n + , 'expected #{this} to be below ' + n + ); + } + } + + Assertion.addMethod('least', assertLeast); + Assertion.addMethod('gte', assertLeast); + + /** + * ### .below(value) + * + * Asserts that the target is less than `value`. + * + * expect(5).to.be.below(10); + * + * Can also be used in conjunction with `length` to + * assert a maximum length. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.below(4); + * expect([ 1, 2, 3 ]).to.have.length.below(4); + * + * @name below + * @alias lt + * @alias lessThan + * @param {Number} value + * @param {String} message _optional_ + * @api public + */ + + function assertBelow (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len < n + , 'expected #{this} to have a length below #{exp} but got #{act}' + , 'expected #{this} to not have a length below #{exp}' + , n + , len + ); + } else { + this.assert( + obj < n + , 'expected #{this} to be below ' + n + , 'expected #{this} to be at least ' + n + ); + } + } + + Assertion.addMethod('below', assertBelow); + Assertion.addMethod('lt', assertBelow); + Assertion.addMethod('lessThan', assertBelow); + + /** + * ### .most(value) + * + * Asserts that the target is less than or equal to `value`. + * + * expect(5).to.be.at.most(5); + * + * Can also be used in conjunction with `length` to + * assert a maximum length. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.of.at.most(4); + * expect([ 1, 2, 3 ]).to.have.length.of.at.most(3); + * + * @name most + * @alias lte + * @param {Number} value + * @param {String} message _optional_ + * @api public + */ + + function assertMost (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len <= n + , 'expected #{this} to have a length at most #{exp} but got #{act}' + , 'expected #{this} to have a length above #{exp}' + , n + , len + ); + } else { + this.assert( + obj <= n + , 'expected #{this} to be at most ' + n + , 'expected #{this} to be above ' + n + ); + } + } + + Assertion.addMethod('most', assertMost); + Assertion.addMethod('lte', assertMost); + + /** + * ### .within(start, finish) + * + * Asserts that the target is within a range. + * + * expect(7).to.be.within(5,10); + * + * Can also be used in conjunction with `length` to + * assert a length range. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.within(2,4); + * expect([ 1, 2, 3 ]).to.have.length.within(2,4); + * + * @name within + * @param {Number} start lowerbound inclusive + * @param {Number} finish upperbound inclusive + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('within', function (start, finish, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object') + , range = start + '..' + finish; + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len >= start && len <= finish + , 'expected #{this} to have a length within ' + range + , 'expected #{this} to not have a length within ' + range + ); + } else { + this.assert( + obj >= start && obj <= finish + , 'expected #{this} to be within ' + range + , 'expected #{this} to not be within ' + range + ); + } + }); + + /** + * ### .instanceof(constructor) + * + * Asserts that the target is an instance of `constructor`. + * + * var Tea = function (name) { this.name = name; } + * , Chai = new Tea('chai'); + * + * expect(Chai).to.be.an.instanceof(Tea); + * expect([ 1, 2, 3 ]).to.be.instanceof(Array); + * + * @name instanceof + * @param {Constructor} constructor + * @param {String} message _optional_ + * @alias instanceOf + * @api public + */ + + function assertInstanceOf (constructor, msg) { + if (msg) flag(this, 'message', msg); + var name = _.getName(constructor); + this.assert( + flag(this, 'object') instanceof constructor + , 'expected #{this} to be an instance of ' + name + , 'expected #{this} to not be an instance of ' + name + ); + }; + + Assertion.addMethod('instanceof', assertInstanceOf); + Assertion.addMethod('instanceOf', assertInstanceOf); + + /** + * ### .property(name, [value]) + * + * Asserts that the target has a property `name`, optionally asserting that + * the value of that property is strictly equal to `value`. + * If the `deep` flag is set, you can use dot- and bracket-notation for deep + * references into objects and arrays. + * + * // simple referencing + * var obj = { foo: 'bar' }; + * expect(obj).to.have.property('foo'); + * expect(obj).to.have.property('foo', 'bar'); + * + * // deep referencing + * var deepObj = { + * green: { tea: 'matcha' } + * , teas: [ 'chai', 'matcha', { tea: 'konacha' } ] + * }; + * + * expect(deepObj).to.have.deep.property('green.tea', 'matcha'); + * expect(deepObj).to.have.deep.property('teas[1]', 'matcha'); + * expect(deepObj).to.have.deep.property('teas[2].tea', 'konacha'); + * + * You can also use an array as the starting point of a `deep.property` + * assertion, or traverse nested arrays. + * + * var arr = [ + * [ 'chai', 'matcha', 'konacha' ] + * , [ { tea: 'chai' } + * , { tea: 'matcha' } + * , { tea: 'konacha' } ] + * ]; + * + * expect(arr).to.have.deep.property('[0][1]', 'matcha'); + * expect(arr).to.have.deep.property('[1][2].tea', 'konacha'); + * + * Furthermore, `property` changes the subject of the assertion + * to be the value of that property from the original object. This + * permits for further chainable assertions on that property. + * + * expect(obj).to.have.property('foo') + * .that.is.a('string'); + * expect(deepObj).to.have.property('green') + * .that.is.an('object') + * .that.deep.equals({ tea: 'matcha' }); + * expect(deepObj).to.have.property('teas') + * .that.is.an('array') + * .with.deep.property('[2]') + * .that.deep.equals({ tea: 'konacha' }); + * + * Note that dots and bracket in `name` must be backslash-escaped when + * the `deep` flag is set, while they must NOT be escaped when the `deep` + * flag is not set. + * + * // simple referencing + * var css = { '.link[target]': 42 }; + * expect(css).to.have.property('.link[target]', 42); + * + * // deep referencing + * var deepCss = { '.link': { '[target]': 42 }}; + * expect(deepCss).to.have.deep.property('\\.link.\\[target\\]', 42); + * + * @name property + * @alias deep.property + * @param {String} name + * @param {Mixed} value (optional) + * @param {String} message _optional_ + * @returns value of property for chaining + * @api public + */ + + Assertion.addMethod('property', function (name, val, msg) { + if (msg) flag(this, 'message', msg); + + var isDeep = !!flag(this, 'deep') + , descriptor = isDeep ? 'deep property ' : 'property ' + , negate = flag(this, 'negate') + , obj = flag(this, 'object') + , pathInfo = isDeep ? _.getPathInfo(name, obj) : null + , hasProperty = isDeep + ? pathInfo.exists + : _.hasProperty(name, obj) + , value = isDeep + ? pathInfo.value + : obj[name]; + + if (negate && arguments.length > 1) { + if (undefined === value) { + msg = (msg != null) ? msg + ': ' : ''; + throw new Error(msg + _.inspect(obj) + ' has no ' + descriptor + _.inspect(name)); + } + } else { + this.assert( + hasProperty + , 'expected #{this} to have a ' + descriptor + _.inspect(name) + , 'expected #{this} to not have ' + descriptor + _.inspect(name)); + } + + if (arguments.length > 1) { + this.assert( + val === value + , 'expected #{this} to have a ' + descriptor + _.inspect(name) + ' of #{exp}, but got #{act}' + , 'expected #{this} to not have a ' + descriptor + _.inspect(name) + ' of #{act}' + , val + , value + ); + } + + flag(this, 'object', value); + }); + + + /** + * ### .ownProperty(name) + * + * Asserts that the target has an own property `name`. + * + * expect('test').to.have.ownProperty('length'); + * + * @name ownProperty + * @alias haveOwnProperty + * @param {String} name + * @param {String} message _optional_ + * @api public + */ + + function assertOwnProperty (name, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + this.assert( + obj.hasOwnProperty(name) + , 'expected #{this} to have own property ' + _.inspect(name) + , 'expected #{this} to not have own property ' + _.inspect(name) + ); + } + + Assertion.addMethod('ownProperty', assertOwnProperty); + Assertion.addMethod('haveOwnProperty', assertOwnProperty); + + /** + * ### .ownPropertyDescriptor(name[, descriptor[, message]]) + * + * Asserts that the target has an own property descriptor `name`, that optionally matches `descriptor`. + * + * expect('test').to.have.ownPropertyDescriptor('length'); + * expect('test').to.have.ownPropertyDescriptor('length', { enumerable: false, configurable: false, writable: false, value: 4 }); + * expect('test').not.to.have.ownPropertyDescriptor('length', { enumerable: false, configurable: false, writable: false, value: 3 }); + * expect('test').ownPropertyDescriptor('length').to.have.property('enumerable', false); + * expect('test').ownPropertyDescriptor('length').to.have.keys('value'); + * + * @name ownPropertyDescriptor + * @alias haveOwnPropertyDescriptor + * @param {String} name + * @param {Object} descriptor _optional_ + * @param {String} message _optional_ + * @api public + */ + + function assertOwnPropertyDescriptor (name, descriptor, msg) { + if (typeof descriptor === 'string') { + msg = descriptor; + descriptor = null; + } + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + var actualDescriptor = Object.getOwnPropertyDescriptor(Object(obj), name); + if (actualDescriptor && descriptor) { + this.assert( + _.eql(descriptor, actualDescriptor) + , 'expected the own property descriptor for ' + _.inspect(name) + ' on #{this} to match ' + _.inspect(descriptor) + ', got ' + _.inspect(actualDescriptor) + , 'expected the own property descriptor for ' + _.inspect(name) + ' on #{this} to not match ' + _.inspect(descriptor) + , descriptor + , actualDescriptor + , true + ); + } else { + this.assert( + actualDescriptor + , 'expected #{this} to have an own property descriptor for ' + _.inspect(name) + , 'expected #{this} to not have an own property descriptor for ' + _.inspect(name) + ); + } + flag(this, 'object', actualDescriptor); + } + + Assertion.addMethod('ownPropertyDescriptor', assertOwnPropertyDescriptor); + Assertion.addMethod('haveOwnPropertyDescriptor', assertOwnPropertyDescriptor); + + /** + * ### .length + * + * Sets the `doLength` flag later used as a chain precursor to a value + * comparison for the `length` property. + * + * expect('foo').to.have.length.above(2); + * expect([ 1, 2, 3 ]).to.have.length.above(2); + * expect('foo').to.have.length.below(4); + * expect([ 1, 2, 3 ]).to.have.length.below(4); + * expect('foo').to.have.length.within(2,4); + * expect([ 1, 2, 3 ]).to.have.length.within(2,4); + * + * *Deprecation notice:* Using `length` as an assertion will be deprecated + * in version 2.4.0 and removed in 3.0.0. Code using the old style of + * asserting for `length` property value using `length(value)` should be + * switched to use `lengthOf(value)` instead. + * + * @name length + * @api public + */ + + /** + * ### .lengthOf(value[, message]) + * + * Asserts that the target's `length` property has + * the expected value. + * + * expect([ 1, 2, 3]).to.have.lengthOf(3); + * expect('foobar').to.have.lengthOf(6); + * + * @name lengthOf + * @param {Number} length + * @param {String} message _optional_ + * @api public + */ + + function assertLengthChain () { + flag(this, 'doLength', true); + } + + function assertLength (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + + this.assert( + len == n + , 'expected #{this} to have a length of #{exp} but got #{act}' + , 'expected #{this} to not have a length of #{act}' + , n + , len + ); + } + + Assertion.addChainableMethod('length', assertLength, assertLengthChain); + Assertion.addMethod('lengthOf', assertLength); + + /** + * ### .match(regexp) + * + * Asserts that the target matches a regular expression. + * + * expect('foobar').to.match(/^foo/); + * + * @name match + * @alias matches + * @param {RegExp} RegularExpression + * @param {String} message _optional_ + * @api public + */ + function assertMatch(re, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + this.assert( + re.exec(obj) + , 'expected #{this} to match ' + re + , 'expected #{this} not to match ' + re + ); + } + + Assertion.addMethod('match', assertMatch); + Assertion.addMethod('matches', assertMatch); + + /** + * ### .string(string) + * + * Asserts that the string target contains another string. + * + * expect('foobar').to.have.string('bar'); + * + * @name string + * @param {String} string + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('string', function (str, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + new Assertion(obj, msg).is.a('string'); + + this.assert( + ~obj.indexOf(str) + , 'expected #{this} to contain ' + _.inspect(str) + , 'expected #{this} to not contain ' + _.inspect(str) + ); + }); + + + /** + * ### .keys(key1, [key2], [...]) + * + * Asserts that the target contains any or all of the passed-in keys. + * Use in combination with `any`, `all`, `contains`, or `have` will affect + * what will pass. + * + * When used in conjunction with `any`, at least one key that is passed + * in must exist in the target object. This is regardless whether or not + * the `have` or `contain` qualifiers are used. Note, either `any` or `all` + * should be used in the assertion. If neither are used, the assertion is + * defaulted to `all`. + * + * When both `all` and `contain` are used, the target object must have at + * least all of the passed-in keys but may have more keys not listed. + * + * When both `all` and `have` are used, the target object must both contain + * all of the passed-in keys AND the number of keys in the target object must + * match the number of keys passed in (in other words, a target object must + * have all and only all of the passed-in keys). + * + * expect({ foo: 1, bar: 2 }).to.have.any.keys('foo', 'baz'); + * expect({ foo: 1, bar: 2 }).to.have.any.keys('foo'); + * expect({ foo: 1, bar: 2 }).to.contain.any.keys('bar', 'baz'); + * expect({ foo: 1, bar: 2 }).to.contain.any.keys(['foo']); + * expect({ foo: 1, bar: 2 }).to.contain.any.keys({'foo': 6}); + * expect({ foo: 1, bar: 2 }).to.have.all.keys(['bar', 'foo']); + * expect({ foo: 1, bar: 2 }).to.have.all.keys({'bar': 6, 'foo': 7}); + * expect({ foo: 1, bar: 2, baz: 3 }).to.contain.all.keys(['bar', 'foo']); + * expect({ foo: 1, bar: 2, baz: 3 }).to.contain.all.keys({'bar': 6}); + * + * + * @name keys + * @alias key + * @param {String...|Array|Object} keys + * @api public + */ + + function assertKeys (keys) { + var obj = flag(this, 'object') + , str + , ok = true + , mixedArgsMsg = 'keys must be given single argument of Array|Object|String, or multiple String arguments'; + + switch (_.type(keys)) { + case "array": + if (arguments.length > 1) throw (new Error(mixedArgsMsg)); + break; + case "object": + if (arguments.length > 1) throw (new Error(mixedArgsMsg)); + keys = Object.keys(keys); + break; + default: + keys = Array.prototype.slice.call(arguments); + } + + if (!keys.length) throw new Error('keys required'); + + var actual = Object.keys(obj) + , expected = keys + , len = keys.length + , any = flag(this, 'any') + , all = flag(this, 'all'); + + if (!any && !all) { + all = true; + } + + // Has any + if (any) { + var intersection = expected.filter(function(key) { + return ~actual.indexOf(key); + }); + ok = intersection.length > 0; + } + + // Has all + if (all) { + ok = keys.every(function(key){ + return ~actual.indexOf(key); + }); + if (!flag(this, 'negate') && !flag(this, 'contains')) { + ok = ok && keys.length == actual.length; + } + } + + // Key string + if (len > 1) { + keys = keys.map(function(key){ + return _.inspect(key); + }); + var last = keys.pop(); + if (all) { + str = keys.join(', ') + ', and ' + last; + } + if (any) { + str = keys.join(', ') + ', or ' + last; + } + } else { + str = _.inspect(keys[0]); + } + + // Form + str = (len > 1 ? 'keys ' : 'key ') + str; + + // Have / include + str = (flag(this, 'contains') ? 'contain ' : 'have ') + str; + + // Assertion + this.assert( + ok + , 'expected #{this} to ' + str + , 'expected #{this} to not ' + str + , expected.slice(0).sort() + , actual.sort() + , true + ); + } + + Assertion.addMethod('keys', assertKeys); + Assertion.addMethod('key', assertKeys); + + /** + * ### .throw(constructor) + * + * Asserts that the function target will throw a specific error, or specific type of error + * (as determined using `instanceof`), optionally with a RegExp or string inclusion test + * for the error's message. + * + * var err = new ReferenceError('This is a bad function.'); + * var fn = function () { throw err; } + * expect(fn).to.throw(ReferenceError); + * expect(fn).to.throw(Error); + * expect(fn).to.throw(/bad function/); + * expect(fn).to.not.throw('good function'); + * expect(fn).to.throw(ReferenceError, /bad function/); + * expect(fn).to.throw(err); + * expect(fn).to.not.throw(new RangeError('Out of range.')); + * + * Please note that when a throw expectation is negated, it will check each + * parameter independently, starting with error constructor type. The appropriate way + * to check for the existence of a type of error but for a message that does not match + * is to use `and`. + * + * expect(fn).to.throw(ReferenceError) + * .and.not.throw(/good function/); + * + * @name throw + * @alias throws + * @alias Throw + * @param {ErrorConstructor} constructor + * @param {String|RegExp} expected error message + * @param {String} message _optional_ + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @returns error for chaining (null if no error) + * @api public + */ + + function assertThrows (constructor, errMsg, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + new Assertion(obj, msg).is.a('function'); + + var thrown = false + , desiredError = null + , name = null + , thrownError = null; + + if (arguments.length === 0) { + errMsg = null; + constructor = null; + } else if (constructor && (constructor instanceof RegExp || 'string' === typeof constructor)) { + errMsg = constructor; + constructor = null; + } else if (constructor && constructor instanceof Error) { + desiredError = constructor; + constructor = null; + errMsg = null; + } else if (typeof constructor === 'function') { + name = constructor.prototype.name || constructor.name; + if (name === 'Error' && constructor !== Error) { + name = (new constructor()).name; + } + } else { + constructor = null; + } + + try { + obj(); + } catch (err) { + // first, check desired error + if (desiredError) { + this.assert( + err === desiredError + , 'expected #{this} to throw #{exp} but #{act} was thrown' + , 'expected #{this} to not throw #{exp}' + , (desiredError instanceof Error ? desiredError.toString() : desiredError) + , (err instanceof Error ? err.toString() : err) + ); + + flag(this, 'object', err); + return this; + } + + // next, check constructor + if (constructor) { + this.assert( + err instanceof constructor + , 'expected #{this} to throw #{exp} but #{act} was thrown' + , 'expected #{this} to not throw #{exp} but #{act} was thrown' + , name + , (err instanceof Error ? err.toString() : err) + ); + + if (!errMsg) { + flag(this, 'object', err); + return this; + } + } + + // next, check message + var message = 'error' === _.type(err) && "message" in err + ? err.message + : '' + err; + + if ((message != null) && errMsg && errMsg instanceof RegExp) { + this.assert( + errMsg.exec(message) + , 'expected #{this} to throw error matching #{exp} but got #{act}' + , 'expected #{this} to throw error not matching #{exp}' + , errMsg + , message + ); + + flag(this, 'object', err); + return this; + } else if ((message != null) && errMsg && 'string' === typeof errMsg) { + this.assert( + ~message.indexOf(errMsg) + , 'expected #{this} to throw error including #{exp} but got #{act}' + , 'expected #{this} to throw error not including #{act}' + , errMsg + , message + ); + + flag(this, 'object', err); + return this; + } else { + thrown = true; + thrownError = err; + } + } + + var actuallyGot = '' + , expectedThrown = name !== null + ? name + : desiredError + ? '#{exp}' //_.inspect(desiredError) + : 'an error'; + + if (thrown) { + actuallyGot = ' but #{act} was thrown' + } + + this.assert( + thrown === true + , 'expected #{this} to throw ' + expectedThrown + actuallyGot + , 'expected #{this} to not throw ' + expectedThrown + actuallyGot + , (desiredError instanceof Error ? desiredError.toString() : desiredError) + , (thrownError instanceof Error ? thrownError.toString() : thrownError) + ); + + flag(this, 'object', thrownError); + }; + + Assertion.addMethod('throw', assertThrows); + Assertion.addMethod('throws', assertThrows); + Assertion.addMethod('Throw', assertThrows); + + /** + * ### .respondTo(method) + * + * Asserts that the object or class target will respond to a method. + * + * Klass.prototype.bar = function(){}; + * expect(Klass).to.respondTo('bar'); + * expect(obj).to.respondTo('bar'); + * + * To check if a constructor will respond to a static function, + * set the `itself` flag. + * + * Klass.baz = function(){}; + * expect(Klass).itself.to.respondTo('baz'); + * + * @name respondTo + * @param {String} method + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('respondTo', function (method, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object') + , itself = flag(this, 'itself') + , context = ('function' === _.type(obj) && !itself) + ? obj.prototype[method] + : obj[method]; + + this.assert( + 'function' === typeof context + , 'expected #{this} to respond to ' + _.inspect(method) + , 'expected #{this} to not respond to ' + _.inspect(method) + ); + }); + + /** + * ### .itself + * + * Sets the `itself` flag, later used by the `respondTo` assertion. + * + * function Foo() {} + * Foo.bar = function() {} + * Foo.prototype.baz = function() {} + * + * expect(Foo).itself.to.respondTo('bar'); + * expect(Foo).itself.not.to.respondTo('baz'); + * + * @name itself + * @api public + */ + + Assertion.addProperty('itself', function () { + flag(this, 'itself', true); + }); + + /** + * ### .satisfy(method) + * + * Asserts that the target passes a given truth test. + * + * expect(1).to.satisfy(function(num) { return num > 0; }); + * + * @name satisfy + * @param {Function} matcher + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('satisfy', function (matcher, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + var result = matcher(obj); + this.assert( + result + , 'expected #{this} to satisfy ' + _.objDisplay(matcher) + , 'expected #{this} to not satisfy' + _.objDisplay(matcher) + , this.negate ? false : true + , result + ); + }); + + /** + * ### .closeTo(expected, delta) + * + * Asserts that the target is equal `expected`, to within a +/- `delta` range. + * + * expect(1.5).to.be.closeTo(1, 0.5); + * + * @name closeTo + * @param {Number} expected + * @param {Number} delta + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('closeTo', function (expected, delta, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + + new Assertion(obj, msg).is.a('number'); + if (_.type(expected) !== 'number' || _.type(delta) !== 'number') { + throw new Error('the arguments to closeTo must be numbers'); + } + + this.assert( + Math.abs(obj - expected) <= delta + , 'expected #{this} to be close to ' + expected + ' +/- ' + delta + , 'expected #{this} not to be close to ' + expected + ' +/- ' + delta + ); + }); + + function isSubsetOf(subset, superset, cmp) { + return subset.every(function(elem) { + if (!cmp) return superset.indexOf(elem) !== -1; + + return superset.some(function(elem2) { + return cmp(elem, elem2); + }); + }) + } + + /** + * ### .members(set) + * + * Asserts that the target is a superset of `set`, + * or that the target and `set` have the same strictly-equal (===) members. + * Alternately, if the `deep` flag is set, set members are compared for deep + * equality. + * + * expect([1, 2, 3]).to.include.members([3, 2]); + * expect([1, 2, 3]).to.not.include.members([3, 2, 8]); + * + * expect([4, 2]).to.have.members([2, 4]); + * expect([5, 2]).to.not.have.members([5, 2, 1]); + * + * expect([{ id: 1 }]).to.deep.include.members([{ id: 1 }]); + * + * @name members + * @param {Array} set + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('members', function (subset, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + + new Assertion(obj).to.be.an('array'); + new Assertion(subset).to.be.an('array'); + + var cmp = flag(this, 'deep') ? _.eql : undefined; + + if (flag(this, 'contains')) { + return this.assert( + isSubsetOf(subset, obj, cmp) + , 'expected #{this} to be a superset of #{act}' + , 'expected #{this} to not be a superset of #{act}' + , obj + , subset + ); + } + + this.assert( + isSubsetOf(obj, subset, cmp) && isSubsetOf(subset, obj, cmp) + , 'expected #{this} to have the same members as #{act}' + , 'expected #{this} to not have the same members as #{act}' + , obj + , subset + ); + }); + + /** + * ### .change(function) + * + * Asserts that a function changes an object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val += 3 }; + * var noChangeFn = function() { return 'foo' + 'bar'; } + * expect(fn).to.change(obj, 'val'); + * expect(noChangFn).to.not.change(obj, 'val') + * + * @name change + * @alias changes + * @alias Change + * @param {String} object + * @param {String} property name + * @param {String} message _optional_ + * @api public + */ + + function assertChanges (object, prop, msg) { + if (msg) flag(this, 'message', msg); + var fn = flag(this, 'object'); + new Assertion(object, msg).to.have.property(prop); + new Assertion(fn).is.a('function'); + + var initial = object[prop]; + fn(); + + this.assert( + initial !== object[prop] + , 'expected .' + prop + ' to change' + , 'expected .' + prop + ' to not change' + ); + } + + Assertion.addChainableMethod('change', assertChanges); + Assertion.addChainableMethod('changes', assertChanges); + + /** + * ### .increase(function) + * + * Asserts that a function increases an object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 15 }; + * expect(fn).to.increase(obj, 'val'); + * + * @name increase + * @alias increases + * @alias Increase + * @param {String} object + * @param {String} property name + * @param {String} message _optional_ + * @api public + */ + + function assertIncreases (object, prop, msg) { + if (msg) flag(this, 'message', msg); + var fn = flag(this, 'object'); + new Assertion(object, msg).to.have.property(prop); + new Assertion(fn).is.a('function'); + + var initial = object[prop]; + fn(); + + this.assert( + object[prop] - initial > 0 + , 'expected .' + prop + ' to increase' + , 'expected .' + prop + ' to not increase' + ); + } + + Assertion.addChainableMethod('increase', assertIncreases); + Assertion.addChainableMethod('increases', assertIncreases); + + /** + * ### .decrease(function) + * + * Asserts that a function decreases an object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 5 }; + * expect(fn).to.decrease(obj, 'val'); + * + * @name decrease + * @alias decreases + * @alias Decrease + * @param {String} object + * @param {String} property name + * @param {String} message _optional_ + * @api public + */ + + function assertDecreases (object, prop, msg) { + if (msg) flag(this, 'message', msg); + var fn = flag(this, 'object'); + new Assertion(object, msg).to.have.property(prop); + new Assertion(fn).is.a('function'); + + var initial = object[prop]; + fn(); + + this.assert( + object[prop] - initial < 0 + , 'expected .' + prop + ' to decrease' + , 'expected .' + prop + ' to not decrease' + ); + } + + Assertion.addChainableMethod('decrease', assertDecreases); + Assertion.addChainableMethod('decreases', assertDecreases); + + }; + + },{}],5:[function(require,module,exports){ + /*! + * chai + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + + + module.exports = function (chai, util) { + + /*! + * Chai dependencies. + */ + + var Assertion = chai.Assertion + , flag = util.flag; + + /*! + * Module export. + */ + + /** + * ### assert(expression, message) + * + * Write your own test expressions. + * + * assert('foo' !== 'bar', 'foo is not bar'); + * assert(Array.isArray([]), 'empty arrays are arrays'); + * + * @param {Mixed} expression to test for truthiness + * @param {String} message to display on error + * @name assert + * @api public + */ + + var assert = chai.assert = function (express, errmsg) { + var test = new Assertion(null, null, chai.assert); + test.assert( + express + , errmsg + , '[ negation message unavailable ]' + ); + }; + + /** + * ### .fail(actual, expected, [message], [operator]) + * + * Throw a failure. Node.js `assert` module-compatible. + * + * @name fail + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @param {String} operator + * @api public + */ + + assert.fail = function (actual, expected, message, operator) { + message = message || 'assert.fail()'; + throw new chai.AssertionError(message, { + actual: actual + , expected: expected + , operator: operator + }, assert.fail); + }; + + /** + * ### .ok(object, [message]) + * + * Asserts that `object` is truthy. + * + * assert.ok('everything', 'everything is ok'); + * assert.ok(false, 'this will fail'); + * + * @name ok + * @param {Mixed} object to test + * @param {String} message + * @api public + */ + + assert.ok = function (val, msg) { + new Assertion(val, msg).is.ok; + }; + + /** + * ### .notOk(object, [message]) + * + * Asserts that `object` is falsy. + * + * assert.notOk('everything', 'this will fail'); + * assert.notOk(false, 'this will pass'); + * + * @name notOk + * @param {Mixed} object to test + * @param {String} message + * @api public + */ + + assert.notOk = function (val, msg) { + new Assertion(val, msg).is.not.ok; + }; + + /** + * ### .equal(actual, expected, [message]) + * + * Asserts non-strict equality (`==`) of `actual` and `expected`. + * + * assert.equal(3, '3', '== coerces values to strings'); + * + * @name equal + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @api public + */ + + assert.equal = function (act, exp, msg) { + var test = new Assertion(act, msg, assert.equal); + + test.assert( + exp == flag(test, 'object') + , 'expected #{this} to equal #{exp}' + , 'expected #{this} to not equal #{act}' + , exp + , act + ); + }; + + /** + * ### .notEqual(actual, expected, [message]) + * + * Asserts non-strict inequality (`!=`) of `actual` and `expected`. + * + * assert.notEqual(3, 4, 'these numbers are not equal'); + * + * @name notEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @api public + */ + + assert.notEqual = function (act, exp, msg) { + var test = new Assertion(act, msg, assert.notEqual); + + test.assert( + exp != flag(test, 'object') + , 'expected #{this} to not equal #{exp}' + , 'expected #{this} to equal #{act}' + , exp + , act + ); + }; + + /** + * ### .strictEqual(actual, expected, [message]) + * + * Asserts strict equality (`===`) of `actual` and `expected`. + * + * assert.strictEqual(true, true, 'these booleans are strictly equal'); + * + * @name strictEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @api public + */ + + assert.strictEqual = function (act, exp, msg) { + new Assertion(act, msg).to.equal(exp); + }; + + /** + * ### .notStrictEqual(actual, expected, [message]) + * + * Asserts strict inequality (`!==`) of `actual` and `expected`. + * + * assert.notStrictEqual(3, '3', 'no coercion for strict equality'); + * + * @name notStrictEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @api public + */ + + assert.notStrictEqual = function (act, exp, msg) { + new Assertion(act, msg).to.not.equal(exp); + }; + + /** + * ### .deepEqual(actual, expected, [message]) + * + * Asserts that `actual` is deeply equal to `expected`. + * + * assert.deepEqual({ tea: 'green' }, { tea: 'green' }); + * + * @name deepEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @api public + */ + + assert.deepEqual = function (act, exp, msg) { + new Assertion(act, msg).to.eql(exp); + }; + + /** + * ### .notDeepEqual(actual, expected, [message]) + * + * Assert that `actual` is not deeply equal to `expected`. + * + * assert.notDeepEqual({ tea: 'green' }, { tea: 'jasmine' }); + * + * @name notDeepEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @api public + */ + + assert.notDeepEqual = function (act, exp, msg) { + new Assertion(act, msg).to.not.eql(exp); + }; + + /** + * ### .isTrue(value, [message]) + * + * Asserts that `value` is true. + * + * var teaServed = true; + * assert.isTrue(teaServed, 'the tea has been served'); + * + * @name isTrue + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isAbove = function (val, abv, msg) { + new Assertion(val, msg).to.be.above(abv); + }; + + /** + * ### .isAbove(valueToCheck, valueToBeAbove, [message]) + * + * Asserts `valueToCheck` is strictly greater than (>) `valueToBeAbove` + * + * assert.isAbove(5, 2, '5 is strictly greater than 2'); + * + * @name isAbove + * @param {Mixed} valueToCheck + * @param {Mixed} valueToBeAbove + * @param {String} message + * @api public + */ + + assert.isBelow = function (val, blw, msg) { + new Assertion(val, msg).to.be.below(blw); + }; + + /** + * ### .isBelow(valueToCheck, valueToBeBelow, [message]) + * + * Asserts `valueToCheck` is strictly less than (<) `valueToBeBelow` + * + * assert.isBelow(3, 6, '3 is strictly less than 6'); + * + * @name isBelow + * @param {Mixed} valueToCheck + * @param {Mixed} valueToBeBelow + * @param {String} message + * @api public + */ + + assert.isTrue = function (val, msg) { + new Assertion(val, msg).is['true']; + }; + + /** + * ### .isFalse(value, [message]) + * + * Asserts that `value` is false. + * + * var teaServed = false; + * assert.isFalse(teaServed, 'no tea yet? hmm...'); + * + * @name isFalse + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isFalse = function (val, msg) { + new Assertion(val, msg).is['false']; + }; + + /** + * ### .isNull(value, [message]) + * + * Asserts that `value` is null. + * + * assert.isNull(err, 'there was no error'); + * + * @name isNull + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNull = function (val, msg) { + new Assertion(val, msg).to.equal(null); + }; + + /** + * ### .isNotNull(value, [message]) + * + * Asserts that `value` is not null. + * + * var tea = 'tasty chai'; + * assert.isNotNull(tea, 'great, time for tea!'); + * + * @name isNotNull + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotNull = function (val, msg) { + new Assertion(val, msg).to.not.equal(null); + }; + + /** + * ### .isUndefined(value, [message]) + * + * Asserts that `value` is `undefined`. + * + * var tea; + * assert.isUndefined(tea, 'no tea defined'); + * + * @name isUndefined + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isUndefined = function (val, msg) { + new Assertion(val, msg).to.equal(undefined); + }; + + /** + * ### .isDefined(value, [message]) + * + * Asserts that `value` is not `undefined`. + * + * var tea = 'cup of chai'; + * assert.isDefined(tea, 'tea has been defined'); + * + * @name isDefined + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isDefined = function (val, msg) { + new Assertion(val, msg).to.not.equal(undefined); + }; + + /** + * ### .isFunction(value, [message]) + * + * Asserts that `value` is a function. + * + * function serveTea() { return 'cup of tea'; }; + * assert.isFunction(serveTea, 'great, we can have tea now'); + * + * @name isFunction + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isFunction = function (val, msg) { + new Assertion(val, msg).to.be.a('function'); + }; + + /** + * ### .isNotFunction(value, [message]) + * + * Asserts that `value` is _not_ a function. + * + * var serveTea = [ 'heat', 'pour', 'sip' ]; + * assert.isNotFunction(serveTea, 'great, we have listed the steps'); + * + * @name isNotFunction + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotFunction = function (val, msg) { + new Assertion(val, msg).to.not.be.a('function'); + }; + + /** + * ### .isObject(value, [message]) + * + * Asserts that `value` is an object (as revealed by + * `Object.prototype.toString`). + * + * var selection = { name: 'Chai', serve: 'with spices' }; + * assert.isObject(selection, 'tea selection is an object'); + * + * @name isObject + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isObject = function (val, msg) { + new Assertion(val, msg).to.be.a('object'); + }; + + /** + * ### .isNotObject(value, [message]) + * + * Asserts that `value` is _not_ an object. + * + * var selection = 'chai' + * assert.isNotObject(selection, 'tea selection is not an object'); + * assert.isNotObject(null, 'null is not an object'); + * + * @name isNotObject + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotObject = function (val, msg) { + new Assertion(val, msg).to.not.be.a('object'); + }; + + /** + * ### .isArray(value, [message]) + * + * Asserts that `value` is an array. + * + * var menu = [ 'green', 'chai', 'oolong' ]; + * assert.isArray(menu, 'what kind of tea do we want?'); + * + * @name isArray + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isArray = function (val, msg) { + new Assertion(val, msg).to.be.an('array'); + }; + + /** + * ### .isNotArray(value, [message]) + * + * Asserts that `value` is _not_ an array. + * + * var menu = 'green|chai|oolong'; + * assert.isNotArray(menu, 'what kind of tea do we want?'); + * + * @name isNotArray + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotArray = function (val, msg) { + new Assertion(val, msg).to.not.be.an('array'); + }; + + /** + * ### .isString(value, [message]) + * + * Asserts that `value` is a string. + * + * var teaOrder = 'chai'; + * assert.isString(teaOrder, 'order placed'); + * + * @name isString + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isString = function (val, msg) { + new Assertion(val, msg).to.be.a('string'); + }; + + /** + * ### .isNotString(value, [message]) + * + * Asserts that `value` is _not_ a string. + * + * var teaOrder = 4; + * assert.isNotString(teaOrder, 'order placed'); + * + * @name isNotString + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotString = function (val, msg) { + new Assertion(val, msg).to.not.be.a('string'); + }; + + /** + * ### .isNumber(value, [message]) + * + * Asserts that `value` is a number. + * + * var cups = 2; + * assert.isNumber(cups, 'how many cups'); + * + * @name isNumber + * @param {Number} value + * @param {String} message + * @api public + */ + + assert.isNumber = function (val, msg) { + new Assertion(val, msg).to.be.a('number'); + }; + + /** + * ### .isNotNumber(value, [message]) + * + * Asserts that `value` is _not_ a number. + * + * var cups = '2 cups please'; + * assert.isNotNumber(cups, 'how many cups'); + * + * @name isNotNumber + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotNumber = function (val, msg) { + new Assertion(val, msg).to.not.be.a('number'); + }; + + /** + * ### .isBoolean(value, [message]) + * + * Asserts that `value` is a boolean. + * + * var teaReady = true + * , teaServed = false; + * + * assert.isBoolean(teaReady, 'is the tea ready'); + * assert.isBoolean(teaServed, 'has tea been served'); + * + * @name isBoolean + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isBoolean = function (val, msg) { + new Assertion(val, msg).to.be.a('boolean'); + }; + + /** + * ### .isNotBoolean(value, [message]) + * + * Asserts that `value` is _not_ a boolean. + * + * var teaReady = 'yep' + * , teaServed = 'nope'; + * + * assert.isNotBoolean(teaReady, 'is the tea ready'); + * assert.isNotBoolean(teaServed, 'has tea been served'); + * + * @name isNotBoolean + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotBoolean = function (val, msg) { + new Assertion(val, msg).to.not.be.a('boolean'); + }; + + /** + * ### .typeOf(value, name, [message]) + * + * Asserts that `value`'s type is `name`, as determined by + * `Object.prototype.toString`. + * + * assert.typeOf({ tea: 'chai' }, 'object', 'we have an object'); + * assert.typeOf(['chai', 'jasmine'], 'array', 'we have an array'); + * assert.typeOf('tea', 'string', 'we have a string'); + * assert.typeOf(/tea/, 'regexp', 'we have a regular expression'); + * assert.typeOf(null, 'null', 'we have a null'); + * assert.typeOf(undefined, 'undefined', 'we have an undefined'); + * + * @name typeOf + * @param {Mixed} value + * @param {String} name + * @param {String} message + * @api public + */ + + assert.typeOf = function (val, type, msg) { + new Assertion(val, msg).to.be.a(type); + }; + + /** + * ### .notTypeOf(value, name, [message]) + * + * Asserts that `value`'s type is _not_ `name`, as determined by + * `Object.prototype.toString`. + * + * assert.notTypeOf('tea', 'number', 'strings are not numbers'); + * + * @name notTypeOf + * @param {Mixed} value + * @param {String} typeof name + * @param {String} message + * @api public + */ + + assert.notTypeOf = function (val, type, msg) { + new Assertion(val, msg).to.not.be.a(type); + }; + + /** + * ### .instanceOf(object, constructor, [message]) + * + * Asserts that `value` is an instance of `constructor`. + * + * var Tea = function (name) { this.name = name; } + * , chai = new Tea('chai'); + * + * assert.instanceOf(chai, Tea, 'chai is an instance of tea'); + * + * @name instanceOf + * @param {Object} object + * @param {Constructor} constructor + * @param {String} message + * @api public + */ + + assert.instanceOf = function (val, type, msg) { + new Assertion(val, msg).to.be.instanceOf(type); + }; + + /** + * ### .notInstanceOf(object, constructor, [message]) + * + * Asserts `value` is not an instance of `constructor`. + * + * var Tea = function (name) { this.name = name; } + * , chai = new String('chai'); + * + * assert.notInstanceOf(chai, Tea, 'chai is not an instance of tea'); + * + * @name notInstanceOf + * @param {Object} object + * @param {Constructor} constructor + * @param {String} message + * @api public + */ + + assert.notInstanceOf = function (val, type, msg) { + new Assertion(val, msg).to.not.be.instanceOf(type); + }; + + /** + * ### .include(haystack, needle, [message]) + * + * Asserts that `haystack` includes `needle`. Works + * for strings and arrays. + * + * assert.include('foobar', 'bar', 'foobar contains string "bar"'); + * assert.include([ 1, 2, 3 ], 3, 'array contains value'); + * + * @name include + * @param {Array|String} haystack + * @param {Mixed} needle + * @param {String} message + * @api public + */ + + assert.include = function (exp, inc, msg) { + new Assertion(exp, msg, assert.include).include(inc); + }; + + /** + * ### .notInclude(haystack, needle, [message]) + * + * Asserts that `haystack` does not include `needle`. Works + * for strings and arrays. + * + * assert.notInclude('foobar', 'baz', 'string not include substring'); + * assert.notInclude([ 1, 2, 3 ], 4, 'array not include contain value'); + * + * @name notInclude + * @param {Array|String} haystack + * @param {Mixed} needle + * @param {String} message + * @api public + */ + + assert.notInclude = function (exp, inc, msg) { + new Assertion(exp, msg, assert.notInclude).not.include(inc); + }; + + /** + * ### .match(value, regexp, [message]) + * + * Asserts that `value` matches the regular expression `regexp`. + * + * assert.match('foobar', /^foo/, 'regexp matches'); + * + * @name match + * @param {Mixed} value + * @param {RegExp} regexp + * @param {String} message + * @api public + */ + + assert.match = function (exp, re, msg) { + new Assertion(exp, msg).to.match(re); + }; + + /** + * ### .notMatch(value, regexp, [message]) + * + * Asserts that `value` does not match the regular expression `regexp`. + * + * assert.notMatch('foobar', /^foo/, 'regexp does not match'); + * + * @name notMatch + * @param {Mixed} value + * @param {RegExp} regexp + * @param {String} message + * @api public + */ + + assert.notMatch = function (exp, re, msg) { + new Assertion(exp, msg).to.not.match(re); + }; + + /** + * ### .property(object, property, [message]) + * + * Asserts that `object` has a property named by `property`. + * + * assert.property({ tea: { green: 'matcha' }}, 'tea'); + * + * @name property + * @param {Object} object + * @param {String} property + * @param {String} message + * @api public + */ + + assert.property = function (obj, prop, msg) { + new Assertion(obj, msg).to.have.property(prop); + }; + + /** + * ### .notProperty(object, property, [message]) + * + * Asserts that `object` does _not_ have a property named by `property`. + * + * assert.notProperty({ tea: { green: 'matcha' }}, 'coffee'); + * + * @name notProperty + * @param {Object} object + * @param {String} property + * @param {String} message + * @api public + */ + + assert.notProperty = function (obj, prop, msg) { + new Assertion(obj, msg).to.not.have.property(prop); + }; + + /** + * ### .deepProperty(object, property, [message]) + * + * Asserts that `object` has a property named by `property`, which can be a + * string using dot- and bracket-notation for deep reference. + * + * assert.deepProperty({ tea: { green: 'matcha' }}, 'tea.green'); + * + * @name deepProperty + * @param {Object} object + * @param {String} property + * @param {String} message + * @api public + */ + + assert.deepProperty = function (obj, prop, msg) { + new Assertion(obj, msg).to.have.deep.property(prop); + }; + + /** + * ### .notDeepProperty(object, property, [message]) + * + * Asserts that `object` does _not_ have a property named by `property`, which + * can be a string using dot- and bracket-notation for deep reference. + * + * assert.notDeepProperty({ tea: { green: 'matcha' }}, 'tea.oolong'); + * + * @name notDeepProperty + * @param {Object} object + * @param {String} property + * @param {String} message + * @api public + */ + + assert.notDeepProperty = function (obj, prop, msg) { + new Assertion(obj, msg).to.not.have.deep.property(prop); + }; + + /** + * ### .propertyVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property` with value given + * by `value`. + * + * assert.propertyVal({ tea: 'is good' }, 'tea', 'is good'); + * + * @name propertyVal + * @param {Object} object + * @param {String} property + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.propertyVal = function (obj, prop, val, msg) { + new Assertion(obj, msg).to.have.property(prop, val); + }; + + /** + * ### .propertyNotVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property`, but with a value + * different from that given by `value`. + * + * assert.propertyNotVal({ tea: 'is good' }, 'tea', 'is bad'); + * + * @name propertyNotVal + * @param {Object} object + * @param {String} property + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.propertyNotVal = function (obj, prop, val, msg) { + new Assertion(obj, msg).to.not.have.property(prop, val); + }; + + /** + * ### .deepPropertyVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property` with value given + * by `value`. `property` can use dot- and bracket-notation for deep + * reference. + * + * assert.deepPropertyVal({ tea: { green: 'matcha' }}, 'tea.green', 'matcha'); + * + * @name deepPropertyVal + * @param {Object} object + * @param {String} property + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.deepPropertyVal = function (obj, prop, val, msg) { + new Assertion(obj, msg).to.have.deep.property(prop, val); + }; + + /** + * ### .deepPropertyNotVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property`, but with a value + * different from that given by `value`. `property` can use dot- and + * bracket-notation for deep reference. + * + * assert.deepPropertyNotVal({ tea: { green: 'matcha' }}, 'tea.green', 'konacha'); + * + * @name deepPropertyNotVal + * @param {Object} object + * @param {String} property + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.deepPropertyNotVal = function (obj, prop, val, msg) { + new Assertion(obj, msg).to.not.have.deep.property(prop, val); + }; + + /** + * ### .lengthOf(object, length, [message]) + * + * Asserts that `object` has a `length` property with the expected value. + * + * assert.lengthOf([1,2,3], 3, 'array has length of 3'); + * assert.lengthOf('foobar', 5, 'string has length of 6'); + * + * @name lengthOf + * @param {Mixed} object + * @param {Number} length + * @param {String} message + * @api public + */ + + assert.lengthOf = function (exp, len, msg) { + new Assertion(exp, msg).to.have.length(len); + }; + + /** + * ### .throws(function, [constructor/string/regexp], [string/regexp], [message]) + * + * Asserts that `function` will throw an error that is an instance of + * `constructor`, or alternately that it will throw an error with message + * matching `regexp`. + * + * assert.throw(fn, 'function throws a reference error'); + * assert.throw(fn, /function throws a reference error/); + * assert.throw(fn, ReferenceError); + * assert.throw(fn, ReferenceError, 'function throws a reference error'); + * assert.throw(fn, ReferenceError, /function throws a reference error/); + * + * @name throws + * @alias throw + * @alias Throw + * @param {Function} function + * @param {ErrorConstructor} constructor + * @param {RegExp} regexp + * @param {String} message + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @api public + */ + + assert.Throw = function (fn, errt, errs, msg) { + if ('string' === typeof errt || errt instanceof RegExp) { + errs = errt; + errt = null; + } + + var assertErr = new Assertion(fn, msg).to.Throw(errt, errs); + return flag(assertErr, 'object'); + }; + + /** + * ### .doesNotThrow(function, [constructor/regexp], [message]) + * + * Asserts that `function` will _not_ throw an error that is an instance of + * `constructor`, or alternately that it will not throw an error with message + * matching `regexp`. + * + * assert.doesNotThrow(fn, Error, 'function does not throw'); + * + * @name doesNotThrow + * @param {Function} function + * @param {ErrorConstructor} constructor + * @param {RegExp} regexp + * @param {String} message + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @api public + */ + + assert.doesNotThrow = function (fn, type, msg) { + if ('string' === typeof type) { + msg = type; + type = null; + } + + new Assertion(fn, msg).to.not.Throw(type); + }; + + /** + * ### .operator(val1, operator, val2, [message]) + * + * Compares two values using `operator`. + * + * assert.operator(1, '<', 2, 'everything is ok'); + * assert.operator(1, '>', 2, 'this will fail'); + * + * @name operator + * @param {Mixed} val1 + * @param {String} operator + * @param {Mixed} val2 + * @param {String} message + * @api public + */ + + assert.operator = function (val, operator, val2, msg) { + var ok; + switch(operator) { + case '==': + ok = val == val2; + break; + case '===': + ok = val === val2; + break; + case '>': + ok = val > val2; + break; + case '>=': + ok = val >= val2; + break; + case '<': + ok = val < val2; + break; + case '<=': + ok = val <= val2; + break; + case '!=': + ok = val != val2; + break; + case '!==': + ok = val !== val2; + break; + default: + throw new Error('Invalid operator "' + operator + '"'); + } + var test = new Assertion(ok, msg); + test.assert( + true === flag(test, 'object') + , 'expected ' + util.inspect(val) + ' to be ' + operator + ' ' + util.inspect(val2) + , 'expected ' + util.inspect(val) + ' to not be ' + operator + ' ' + util.inspect(val2) ); + }; + + /** + * ### .closeTo(actual, expected, delta, [message]) + * + * Asserts that the target is equal `expected`, to within a +/- `delta` range. + * + * assert.closeTo(1.5, 1, 0.5, 'numbers are close'); + * + * @name closeTo + * @param {Number} actual + * @param {Number} expected + * @param {Number} delta + * @param {String} message + * @api public + */ + + assert.closeTo = function (act, exp, delta, msg) { + new Assertion(act, msg).to.be.closeTo(exp, delta); + }; + + /** + * ### .sameMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` have the same members. + * Order is not taken into account. + * + * assert.sameMembers([ 1, 2, 3 ], [ 2, 1, 3 ], 'same members'); + * + * @name sameMembers + * @param {Array} set1 + * @param {Array} set2 + * @param {String} message + * @api public + */ + + assert.sameMembers = function (set1, set2, msg) { + new Assertion(set1, msg).to.have.same.members(set2); + } + + /** + * ### .sameDeepMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` have the same members - using a deep equality checking. + * Order is not taken into account. + * + * assert.sameDeepMembers([ {b: 3}, {a: 2}, {c: 5} ], [ {c: 5}, {b: 3}, {a: 2} ], 'same deep members'); + * + * @name sameDeepMembers + * @param {Array} set1 + * @param {Array} set2 + * @param {String} message + * @api public + */ + + assert.sameDeepMembers = function (set1, set2, msg) { + new Assertion(set1, msg).to.have.same.deep.members(set2); + } + + /** + * ### .includeMembers(superset, subset, [message]) + * + * Asserts that `subset` is included in `superset`. + * Order is not taken into account. + * + * assert.includeMembers([ 1, 2, 3 ], [ 2, 1 ], 'include members'); + * + * @name includeMembers + * @param {Array} superset + * @param {Array} subset + * @param {String} message + * @api public + */ + + assert.includeMembers = function (superset, subset, msg) { + new Assertion(superset, msg).to.include.members(subset); + } + + /** + * ### .changes(function, object, property) + * + * Asserts that a function changes the value of a property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 22 }; + * assert.changes(fn, obj, 'val'); + * + * @name changes + * @param {Function} modifier function + * @param {Object} object + * @param {String} property name + * @param {String} message _optional_ + * @api public + */ + + assert.changes = function (fn, obj, prop) { + new Assertion(fn).to.change(obj, prop); + } + + /** + * ### .doesNotChange(function, object, property) + * + * Asserts that a function does not changes the value of a property + * + * var obj = { val: 10 }; + * var fn = function() { console.log('foo'); }; + * assert.doesNotChange(fn, obj, 'val'); + * + * @name doesNotChange + * @param {Function} modifier function + * @param {Object} object + * @param {String} property name + * @param {String} message _optional_ + * @api public + */ + + assert.doesNotChange = function (fn, obj, prop) { + new Assertion(fn).to.not.change(obj, prop); + } + + /** + * ### .increases(function, object, property) + * + * Asserts that a function increases an object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 13 }; + * assert.increases(fn, obj, 'val'); + * + * @name increases + * @param {Function} modifier function + * @param {Object} object + * @param {String} property name + * @param {String} message _optional_ + * @api public + */ + + assert.increases = function (fn, obj, prop) { + new Assertion(fn).to.increase(obj, prop); + } + + /** + * ### .doesNotIncrease(function, object, property) + * + * Asserts that a function does not increase object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 8 }; + * assert.doesNotIncrease(fn, obj, 'val'); + * + * @name doesNotIncrease + * @param {Function} modifier function + * @param {Object} object + * @param {String} property name + * @param {String} message _optional_ + * @api public + */ + + assert.doesNotIncrease = function (fn, obj, prop) { + new Assertion(fn).to.not.increase(obj, prop); + } + + /** + * ### .decreases(function, object, property) + * + * Asserts that a function decreases an object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 5 }; + * assert.decreases(fn, obj, 'val'); + * + * @name decreases + * @param {Function} modifier function + * @param {Object} object + * @param {String} property name + * @param {String} message _optional_ + * @api public + */ + + assert.decreases = function (fn, obj, prop) { + new Assertion(fn).to.decrease(obj, prop); + } + + /** + * ### .doesNotDecrease(function, object, property) + * + * Asserts that a function does not decreases an object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 15 }; + * assert.doesNotDecrease(fn, obj, 'val'); + * + * @name doesNotDecrease + * @param {Function} modifier function + * @param {Object} object + * @param {String} property name + * @param {String} message _optional_ + * @api public + */ + + assert.doesNotDecrease = function (fn, obj, prop) { + new Assertion(fn).to.not.decrease(obj, prop); + } + + /*! + * ### .ifError(object) + * + * Asserts if value is not a false value, and throws if it is a true value. + * This is added to allow for chai to be a drop-in replacement for Node's + * assert class. + * + * var err = new Error('I am a custom error'); + * assert.ifError(err); // Rethrows err! + * + * @name ifError + * @param {Object} object + * @api public + */ + + assert.ifError = function (val) { + if (val) { + throw(val); + } + }; + + /*! + * Aliases. + */ + + (function alias(name, as){ + assert[as] = assert[name]; + return alias; + }) + ('Throw', 'throw') + ('Throw', 'throws'); + }; + + },{}],6:[function(require,module,exports){ + /*! + * chai + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + + module.exports = function (chai, util) { + chai.expect = function (val, message) { + return new chai.Assertion(val, message); + }; + + /** + * ### .fail(actual, expected, [message], [operator]) + * + * Throw a failure. + * + * @name fail + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @param {String} operator + * @api public + */ + + chai.expect.fail = function (actual, expected, message, operator) { + message = message || 'expect.fail()'; + throw new chai.AssertionError(message, { + actual: actual + , expected: expected + , operator: operator + }, chai.expect.fail); + }; + }; + + },{}],7:[function(require,module,exports){ + /*! + * chai + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + + module.exports = function (chai, util) { + var Assertion = chai.Assertion; + + function loadShould () { + // explicitly define this method as function as to have it's name to include as `ssfi` + function shouldGetter() { + if (this instanceof String || this instanceof Number || this instanceof Boolean ) { + return new Assertion(this.valueOf(), null, shouldGetter); + } + return new Assertion(this, null, shouldGetter); + } + function shouldSetter(value) { + // See https://github.com/chaijs/chai/issues/86: this makes + // `whatever.should = someValue` actually set `someValue`, which is + // especially useful for `global.should = require('chai').should()`. + // + // Note that we have to use [[DefineProperty]] instead of [[Put]] + // since otherwise we would trigger this very setter! + Object.defineProperty(this, 'should', { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } + // modify Object.prototype to have `should` + Object.defineProperty(Object.prototype, 'should', { + set: shouldSetter + , get: shouldGetter + , configurable: true + }); + + var should = {}; + + /** + * ### .fail(actual, expected, [message], [operator]) + * + * Throw a failure. + * + * @name fail + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @param {String} operator + * @api public + */ + + should.fail = function (actual, expected, message, operator) { + message = message || 'should.fail()'; + throw new chai.AssertionError(message, { + actual: actual + , expected: expected + , operator: operator + }, should.fail); + }; + + should.equal = function (val1, val2, msg) { + new Assertion(val1, msg).to.equal(val2); + }; + + should.Throw = function (fn, errt, errs, msg) { + new Assertion(fn, msg).to.Throw(errt, errs); + }; + + should.exist = function (val, msg) { + new Assertion(val, msg).to.exist; + } + + // negation + should.not = {} + + should.not.equal = function (val1, val2, msg) { + new Assertion(val1, msg).to.not.equal(val2); + }; + + should.not.Throw = function (fn, errt, errs, msg) { + new Assertion(fn, msg).to.not.Throw(errt, errs); + }; + + should.not.exist = function (val, msg) { + new Assertion(val, msg).to.not.exist; + } + + should['throw'] = should['Throw']; + should.not['throw'] = should.not['Throw']; + + return should; + }; + + chai.should = loadShould; + chai.Should = loadShould; + }; + + },{}],8:[function(require,module,exports){ + /*! + * Chai - addChainingMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /*! + * Module dependencies + */ + + var transferFlags = require('./transferFlags'); + var flag = require('./flag'); + var config = require('../config'); + + /*! + * Module variables + */ + + // Check whether `__proto__` is supported + var hasProtoSupport = '__proto__' in Object; + + // Without `__proto__` support, this module will need to add properties to a function. + // However, some Function.prototype methods cannot be overwritten, + // and there seems no easy cross-platform way to detect them (@see chaijs/chai/issues/69). + var excludeNames = /^(?:length|name|arguments|caller)$/; + + // Cache `Function` properties + var call = Function.prototype.call, + apply = Function.prototype.apply; + + /** + * ### addChainableMethod (ctx, name, method, chainingBehavior) + * + * Adds a method to an object, such that the method can also be chained. + * + * utils.addChainableMethod(chai.Assertion.prototype, 'foo', function (str) { + * var obj = utils.flag(this, 'object'); + * new chai.Assertion(obj).to.be.equal(str); + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.addChainableMethod('foo', fn, chainingBehavior); + * + * The result can then be used as both a method assertion, executing both `method` and + * `chainingBehavior`, or as a language chain, which only executes `chainingBehavior`. + * + * expect(fooStr).to.be.foo('bar'); + * expect(fooStr).to.be.foo.equal('foo'); + * + * @param {Object} ctx object to which the method is added + * @param {String} name of method to add + * @param {Function} method function to be used for `name`, when called + * @param {Function} chainingBehavior function to be called every time the property is accessed + * @name addChainableMethod + * @api public + */ + + module.exports = function (ctx, name, method, chainingBehavior) { + if (typeof chainingBehavior !== 'function') { + chainingBehavior = function () { }; + } + + var chainableBehavior = { + method: method + , chainingBehavior: chainingBehavior + }; + + // save the methods so we can overwrite them later, if we need to. + if (!ctx.__methods) { + ctx.__methods = {}; + } + ctx.__methods[name] = chainableBehavior; + + Object.defineProperty(ctx, name, + { get: function () { + chainableBehavior.chainingBehavior.call(this); + + var assert = function assert() { + var old_ssfi = flag(this, 'ssfi'); + if (old_ssfi && config.includeStack === false) + flag(this, 'ssfi', assert); + var result = chainableBehavior.method.apply(this, arguments); + return result === undefined ? this : result; + }; + + // Use `__proto__` if available + if (hasProtoSupport) { + // Inherit all properties from the object by replacing the `Function` prototype + var prototype = assert.__proto__ = Object.create(this); + // Restore the `call` and `apply` methods from `Function` + prototype.call = call; + prototype.apply = apply; + } + // Otherwise, redefine all properties (slow!) + else { + var asserterNames = Object.getOwnPropertyNames(ctx); + asserterNames.forEach(function (asserterName) { + if (!excludeNames.test(asserterName)) { + var pd = Object.getOwnPropertyDescriptor(ctx, asserterName); + Object.defineProperty(assert, asserterName, pd); + } + }); + } + + transferFlags(this, assert); + return assert; + } + , configurable: true + }); + }; + + },{"../config":3,"./flag":11,"./transferFlags":27}],9:[function(require,module,exports){ + /*! + * Chai - addMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + var config = require('../config'); + + /** + * ### .addMethod (ctx, name, method) + * + * Adds a method to the prototype of an object. + * + * utils.addMethod(chai.Assertion.prototype, 'foo', function (str) { + * var obj = utils.flag(this, 'object'); + * new chai.Assertion(obj).to.be.equal(str); + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.addMethod('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(fooStr).to.be.foo('bar'); + * + * @param {Object} ctx object to which the method is added + * @param {String} name of method to add + * @param {Function} method function to be used for name + * @name addMethod + * @api public + */ + var flag = require('./flag'); + + module.exports = function (ctx, name, method) { + ctx[name] = function () { + var old_ssfi = flag(this, 'ssfi'); + if (old_ssfi && config.includeStack === false) + flag(this, 'ssfi', ctx[name]); + var result = method.apply(this, arguments); + return result === undefined ? this : result; + }; + }; + + },{"../config":3,"./flag":11}],10:[function(require,module,exports){ + /*! + * Chai - addProperty utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /** + * ### addProperty (ctx, name, getter) + * + * Adds a property to the prototype of an object. + * + * utils.addProperty(chai.Assertion.prototype, 'foo', function () { + * var obj = utils.flag(this, 'object'); + * new chai.Assertion(obj).to.be.instanceof(Foo); + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.addProperty('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.be.foo; + * + * @param {Object} ctx object to which the property is added + * @param {String} name of property to add + * @param {Function} getter function to be used for name + * @name addProperty + * @api public + */ + + module.exports = function (ctx, name, getter) { + Object.defineProperty(ctx, name, + { get: function () { + var result = getter.call(this); + return result === undefined ? this : result; + } + , configurable: true + }); + }; + + },{}],11:[function(require,module,exports){ + /*! + * Chai - flag utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /** + * ### flag(object, key, [value]) + * + * Get or set a flag value on an object. If a + * value is provided it will be set, else it will + * return the currently set value or `undefined` if + * the value is not set. + * + * utils.flag(this, 'foo', 'bar'); // setter + * utils.flag(this, 'foo'); // getter, returns `bar` + * + * @param {Object} object constructed Assertion + * @param {String} key + * @param {Mixed} value (optional) + * @name flag + * @api private + */ + + module.exports = function (obj, key, value) { + var flags = obj.__flags || (obj.__flags = Object.create(null)); + if (arguments.length === 3) { + flags[key] = value; + } else { + return flags[key]; + } + }; + + },{}],12:[function(require,module,exports){ + /*! + * Chai - getActual utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /** + * # getActual(object, [actual]) + * + * Returns the `actual` value for an Assertion + * + * @param {Object} object (constructed Assertion) + * @param {Arguments} chai.Assertion.prototype.assert arguments + */ + + module.exports = function (obj, args) { + return args.length > 4 ? args[4] : obj._obj; + }; + + },{}],13:[function(require,module,exports){ + /*! + * Chai - getEnumerableProperties utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /** + * ### .getEnumerableProperties(object) + * + * This allows the retrieval of enumerable property names of an object, + * inherited or not. + * + * @param {Object} object + * @returns {Array} + * @name getEnumerableProperties + * @api public + */ + + module.exports = function getEnumerableProperties(object) { + var result = []; + for (var name in object) { + result.push(name); + } + return result; + }; + + },{}],14:[function(require,module,exports){ + /*! + * Chai - message composition utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /*! + * Module dependancies + */ + + var flag = require('./flag') + , getActual = require('./getActual') + , inspect = require('./inspect') + , objDisplay = require('./objDisplay'); + + /** + * ### .getMessage(object, message, negateMessage) + * + * Construct the error message based on flags + * and template tags. Template tags will return + * a stringified inspection of the object referenced. + * + * Message template tags: + * - `#{this}` current asserted object + * - `#{act}` actual value + * - `#{exp}` expected value + * + * @param {Object} object (constructed Assertion) + * @param {Arguments} chai.Assertion.prototype.assert arguments + * @name getMessage + * @api public + */ + + module.exports = function (obj, args) { + var negate = flag(obj, 'negate') + , val = flag(obj, 'object') + , expected = args[3] + , actual = getActual(obj, args) + , msg = negate ? args[2] : args[1] + , flagMsg = flag(obj, 'message'); + + if(typeof msg === "function") msg = msg(); + msg = msg || ''; + msg = msg + .replace(/#{this}/g, objDisplay(val)) + .replace(/#{act}/g, objDisplay(actual)) + .replace(/#{exp}/g, objDisplay(expected)); + + return flagMsg ? flagMsg + ': ' + msg : msg; + }; + + },{"./flag":11,"./getActual":12,"./inspect":21,"./objDisplay":22}],15:[function(require,module,exports){ + /*! + * Chai - getName utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /** + * # getName(func) + * + * Gets the name of a function, in a cross-browser way. + * + * @param {Function} a function (usually a constructor) + */ + + module.exports = function (func) { + if (func.name) return func.name; + + var match = /^\s?function ([^(]*)\(/.exec(func); + return match && match[1] ? match[1] : ""; + }; + + },{}],16:[function(require,module,exports){ + /*! + * Chai - getPathInfo utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + var hasProperty = require('./hasProperty'); + + /** + * ### .getPathInfo(path, object) + * + * This allows the retrieval of property info in an + * object given a string path. + * + * The path info consists of an object with the + * following properties: + * + * * parent - The parent object of the property referenced by `path` + * * name - The name of the final property, a number if it was an array indexer + * * value - The value of the property, if it exists, otherwise `undefined` + * * exists - Whether the property exists or not + * + * @param {String} path + * @param {Object} object + * @returns {Object} info + * @name getPathInfo + * @api public + */ + + module.exports = function getPathInfo(path, obj) { + var parsed = parsePath(path), + last = parsed[parsed.length - 1]; + + var info = { + parent: parsed.length > 1 ? _getPathValue(parsed, obj, parsed.length - 1) : obj, + name: last.p || last.i, + value: _getPathValue(parsed, obj) + }; + info.exists = hasProperty(info.name, info.parent); + + return info; + }; + + + /*! + * ## parsePath(path) + * + * Helper function used to parse string object + * paths. Use in conjunction with `_getPathValue`. + * + * var parsed = parsePath('myobject.property.subprop'); + * + * ### Paths: + * + * * Can be as near infinitely deep and nested + * * Arrays are also valid using the formal `myobject.document[3].property`. + * * Literal dots and brackets (not delimiter) must be backslash-escaped. + * + * @param {String} path + * @returns {Object} parsed + * @api private + */ + + function parsePath (path) { + var str = path.replace(/([^\\])\[/g, '$1.[') + , parts = str.match(/(\\\.|[^.]+?)+/g); + return parts.map(function (value) { + var re = /^\[(\d+)\]$/ + , mArr = re.exec(value); + if (mArr) return { i: parseFloat(mArr[1]) }; + else return { p: value.replace(/\\([.\[\]])/g, '$1') }; + }); + } + + + /*! + * ## _getPathValue(parsed, obj) + * + * Helper companion function for `.parsePath` that returns + * the value located at the parsed address. + * + * var value = getPathValue(parsed, obj); + * + * @param {Object} parsed definition from `parsePath`. + * @param {Object} object to search against + * @param {Number} object to search against + * @returns {Object|Undefined} value + * @api private + */ + + function _getPathValue (parsed, obj, index) { + var tmp = obj + , res; + + index = (index === undefined ? parsed.length : index); + + for (var i = 0, l = index; i < l; i++) { + var part = parsed[i]; + if (tmp) { + if ('undefined' !== typeof part.p) + tmp = tmp[part.p]; + else if ('undefined' !== typeof part.i) + tmp = tmp[part.i]; + if (i == (l - 1)) res = tmp; + } else { + res = undefined; + } + } + return res; + } + + },{"./hasProperty":19}],17:[function(require,module,exports){ + /*! + * Chai - getPathValue utility + * Copyright(c) 2012-2014 Jake Luer + * @see https://github.com/logicalparadox/filtr + * MIT Licensed + */ + + var getPathInfo = require('./getPathInfo'); + + /** + * ### .getPathValue(path, object) + * + * This allows the retrieval of values in an + * object given a string path. + * + * var obj = { + * prop1: { + * arr: ['a', 'b', 'c'] + * , str: 'Hello' + * } + * , prop2: { + * arr: [ { nested: 'Universe' } ] + * , str: 'Hello again!' + * } + * } + * + * The following would be the results. + * + * getPathValue('prop1.str', obj); // Hello + * getPathValue('prop1.att[2]', obj); // b + * getPathValue('prop2.arr[0].nested', obj); // Universe + * + * @param {String} path + * @param {Object} object + * @returns {Object} value or `undefined` + * @name getPathValue + * @api public + */ + module.exports = function(path, obj) { + var info = getPathInfo(path, obj); + return info.value; + }; + + },{"./getPathInfo":16}],18:[function(require,module,exports){ + /*! + * Chai - getProperties utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /** + * ### .getProperties(object) + * + * This allows the retrieval of property names of an object, enumerable or not, + * inherited or not. + * + * @param {Object} object + * @returns {Array} + * @name getProperties + * @api public + */ + + module.exports = function getProperties(object) { + var result = Object.getOwnPropertyNames(subject); + + function addProperty(property) { + if (result.indexOf(property) === -1) { + result.push(property); + } + } + + var proto = Object.getPrototypeOf(subject); + while (proto !== null) { + Object.getOwnPropertyNames(proto).forEach(addProperty); + proto = Object.getPrototypeOf(proto); + } + + return result; + }; + + },{}],19:[function(require,module,exports){ + /*! + * Chai - hasProperty utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + var type = require('type-detect'); + + /** + * ### .hasProperty(object, name) + * + * This allows checking whether an object has + * named property or numeric array index. + * + * Basically does the same thing as the `in` + * operator but works properly with natives + * and null/undefined values. + * + * var obj = { + * arr: ['a', 'b', 'c'] + * , str: 'Hello' + * } + * + * The following would be the results. + * + * hasProperty('str', obj); // true + * hasProperty('constructor', obj); // true + * hasProperty('bar', obj); // false + * + * hasProperty('length', obj.str); // true + * hasProperty(1, obj.str); // true + * hasProperty(5, obj.str); // false + * + * hasProperty('length', obj.arr); // true + * hasProperty(2, obj.arr); // true + * hasProperty(3, obj.arr); // false + * + * @param {Objuect} object + * @param {String|Number} name + * @returns {Boolean} whether it exists + * @name getPathInfo + * @api public + */ + + var literals = { + 'number': Number + , 'string': String + }; + + module.exports = function hasProperty(name, obj) { + var ot = type(obj); + + // Bad Object, obviously no props at all + if(ot === 'null' || ot === 'undefined') + return false; + + // The `in` operator does not work with certain literals + // box these before the check + if(literals[ot] && typeof obj !== 'object') + obj = new literals[ot](obj); + + return name in obj; + }; + + },{"type-detect":33}],20:[function(require,module,exports){ + /*! + * chai + * Copyright(c) 2011 Jake Luer + * MIT Licensed + */ + + /*! + * Main exports + */ + + var exports = module.exports = {}; + + /*! + * test utility + */ + + exports.test = require('./test'); + + /*! + * type utility + */ + + exports.type = require('type-detect'); + + /*! + * message utility + */ + + exports.getMessage = require('./getMessage'); + + /*! + * actual utility + */ + + exports.getActual = require('./getActual'); + + /*! + * Inspect util + */ + + exports.inspect = require('./inspect'); + + /*! + * Object Display util + */ + + exports.objDisplay = require('./objDisplay'); + + /*! + * Flag utility + */ + + exports.flag = require('./flag'); + + /*! + * Flag transferring utility + */ + + exports.transferFlags = require('./transferFlags'); + + /*! + * Deep equal utility + */ + + exports.eql = require('deep-eql'); + + /*! + * Deep path value + */ + + exports.getPathValue = require('./getPathValue'); + + /*! + * Deep path info + */ + + exports.getPathInfo = require('./getPathInfo'); + + /*! + * Check if a property exists + */ + + exports.hasProperty = require('./hasProperty'); + + /*! + * Function name + */ + + exports.getName = require('./getName'); + + /*! + * add Property + */ + + exports.addProperty = require('./addProperty'); + + /*! + * add Method + */ + + exports.addMethod = require('./addMethod'); + + /*! + * overwrite Property + */ + + exports.overwriteProperty = require('./overwriteProperty'); + + /*! + * overwrite Method + */ + + exports.overwriteMethod = require('./overwriteMethod'); + + /*! + * Add a chainable method + */ + + exports.addChainableMethod = require('./addChainableMethod'); + + /*! + * Overwrite chainable method + */ + + exports.overwriteChainableMethod = require('./overwriteChainableMethod'); + + + },{"./addChainableMethod":8,"./addMethod":9,"./addProperty":10,"./flag":11,"./getActual":12,"./getMessage":14,"./getName":15,"./getPathInfo":16,"./getPathValue":17,"./hasProperty":19,"./inspect":21,"./objDisplay":22,"./overwriteChainableMethod":23,"./overwriteMethod":24,"./overwriteProperty":25,"./test":26,"./transferFlags":27,"deep-eql":29,"type-detect":33}],21:[function(require,module,exports){ + // This is (almost) directly from Node.js utils + // https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js + + var getName = require('./getName'); + var getProperties = require('./getProperties'); + var getEnumerableProperties = require('./getEnumerableProperties'); + + module.exports = inspect; + + /** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Boolean} showHidden Flag that shows hidden (not enumerable) + * properties of objects. + * @param {Number} depth Depth in which to descend in object. Default is 2. + * @param {Boolean} colors Flag to turn on ANSI escape codes to color the + * output. Default is false (no coloring). + */ + function inspect(obj, showHidden, depth, colors) { + var ctx = { + showHidden: showHidden, + seen: [], + stylize: function (str) { return str; } + }; + return formatValue(ctx, obj, (typeof depth === 'undefined' ? 2 : depth)); + } + + // Returns true if object is a DOM element. + var isDOMElement = function (object) { + if (typeof HTMLElement === 'object') { + return object instanceof HTMLElement; + } else { + return object && + typeof object === 'object' && + object.nodeType === 1 && + typeof object.nodeName === 'string'; + } + }; + + function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if (value && typeof value.inspect === 'function' && + // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && + // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes); + if (typeof ret !== 'string') { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } + + // Primitive types cannot have properties + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } + + // If this is a DOM element, try to get the outer HTML. + if (isDOMElement(value)) { + if ('outerHTML' in value) { + return value.outerHTML; + // This value does not have an outerHTML attribute, + // it could still be an XML element + } else { + // Attempt to serialize it + try { + if (document.xmlVersion) { + var xmlSerializer = new XMLSerializer(); + return xmlSerializer.serializeToString(value); + } else { + // Firefox 11- do not support outerHTML + // It does, however, support innerHTML + // Use the following to render the element + var ns = "http://www.w3.org/1999/xhtml"; + var container = document.createElementNS(ns, '_'); + + container.appendChild(value.cloneNode(false)); + html = container.innerHTML + .replace('><', '>' + value.innerHTML + '<'); + container.innerHTML = ''; + return html; + } + } catch (err) { + // This could be a non-native DOM implementation, + // continue with the normal flow: + // printing the element as if it is an object. + } + } + } + + // Look up the keys of the object. + var visibleKeys = getEnumerableProperties(value); + var keys = ctx.showHidden ? getProperties(value) : visibleKeys; + + // Some type of object without properties can be shortcutted. + // In IE, errors have a single `stack` property, or if they are vanilla `Error`, + // a `stack` plus `description` property; ignore those for consistency. + if (keys.length === 0 || (isError(value) && ( + (keys.length === 1 && keys[0] === 'stack') || + (keys.length === 2 && keys[0] === 'description' && keys[1] === 'stack') + ))) { + if (typeof value === 'function') { + var name = getName(value); + var nameSuffix = name ? ': ' + name : ''; + return ctx.stylize('[Function' + nameSuffix + ']', 'special'); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toUTCString.call(value), 'date'); + } + if (isError(value)) { + return formatError(value); + } + } + + var base = '', array = false, braces = ['{', '}']; + + // Make Array say that they are Array + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } + + // Make functions say that they are functions + if (typeof value === 'function') { + var name = getName(value); + var nameSuffix = name ? ': ' + name : ''; + base = ' [Function' + nameSuffix + ']'; + } + + // Make RegExps say that they are RegExps + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } + + // Make dates with properties first say the date + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } + + // Make error with message first say the error + if (isError(value)) { + return formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function(key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + + return reduceToSingleString(output, base, braces); + } + + + function formatPrimitive(ctx, value) { + switch (typeof value) { + case 'undefined': + return ctx.stylize('undefined', 'undefined'); + + case 'string': + var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + '\''; + return ctx.stylize(simple, 'string'); + + case 'number': + if (value === 0 && (1/value) === -Infinity) { + return ctx.stylize('-0', 'number'); + } + return ctx.stylize('' + value, 'number'); + + case 'boolean': + return ctx.stylize('' + value, 'boolean'); + } + // For some reason typeof null is "object", so special case here. + if (value === null) { + return ctx.stylize('null', 'null'); + } + } + + + function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; + } + + + function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (Object.prototype.hasOwnProperty.call(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + String(i), true)); + } else { + output.push(''); + } + } + keys.forEach(function(key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + key, true)); + } + }); + return output; + } + + + function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str; + if (value.__lookupGetter__) { + if (value.__lookupGetter__(key)) { + if (value.__lookupSetter__(key)) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (value.__lookupSetter__(key)) { + str = ctx.stylize('[Setter]', 'special'); + } + } + } + if (visibleKeys.indexOf(key) < 0) { + name = '[' + key + ']'; + } + if (!str) { + if (ctx.seen.indexOf(value[key]) < 0) { + if (recurseTimes === null) { + str = formatValue(ctx, value[key], null); + } else { + str = formatValue(ctx, value[key], recurseTimes - 1); + } + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + if (typeof name === 'undefined') { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify('' + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; + } + + + function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function(prev, cur) { + numLinesEst++; + if (cur.indexOf('\n') >= 0) numLinesEst++; + return prev + cur.length + 1; + }, 0); + + if (length > 60) { + return braces[0] + + (base === '' ? '' : base + '\n ') + + ' ' + + output.join(',\n ') + + ' ' + + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; + } + + function isArray(ar) { + return Array.isArray(ar) || + (typeof ar === 'object' && objectToString(ar) === '[object Array]'); + } + + function isRegExp(re) { + return typeof re === 'object' && objectToString(re) === '[object RegExp]'; + } + + function isDate(d) { + return typeof d === 'object' && objectToString(d) === '[object Date]'; + } + + function isError(e) { + return typeof e === 'object' && objectToString(e) === '[object Error]'; + } + + function objectToString(o) { + return Object.prototype.toString.call(o); + } + + },{"./getEnumerableProperties":13,"./getName":15,"./getProperties":18}],22:[function(require,module,exports){ + /*! + * Chai - flag utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /*! + * Module dependancies + */ + + var inspect = require('./inspect'); + var config = require('../config'); + + /** + * ### .objDisplay (object) + * + * Determines if an object or an array matches + * criteria to be inspected in-line for error + * messages or should be truncated. + * + * @param {Mixed} javascript object to inspect + * @name objDisplay + * @api public + */ + + module.exports = function (obj) { + var str = inspect(obj) + , type = Object.prototype.toString.call(obj); + + if (config.truncateThreshold && str.length >= config.truncateThreshold) { + if (type === '[object Function]') { + return !obj.name || obj.name === '' + ? '[Function]' + : '[Function: ' + obj.name + ']'; + } else if (type === '[object Array]') { + return '[ Array(' + obj.length + ') ]'; + } else if (type === '[object Object]') { + var keys = Object.keys(obj) + , kstr = keys.length > 2 + ? keys.splice(0, 2).join(', ') + ', ...' + : keys.join(', '); + return '{ Object (' + kstr + ') }'; + } else { + return str; + } + } else { + return str; + } + }; + + },{"../config":3,"./inspect":21}],23:[function(require,module,exports){ + /*! + * Chai - overwriteChainableMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /** + * ### overwriteChainableMethod (ctx, name, method, chainingBehavior) + * + * Overwites an already existing chainable method + * and provides access to the previous function or + * property. Must return functions to be used for + * name. + * + * utils.overwriteChainableMethod(chai.Assertion.prototype, 'length', + * function (_super) { + * } + * , function (_super) { + * } + * ); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.overwriteChainableMethod('foo', fn, fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.have.length(3); + * expect(myFoo).to.have.length.above(3); + * + * @param {Object} ctx object whose method / property is to be overwritten + * @param {String} name of method / property to overwrite + * @param {Function} method function that returns a function to be used for name + * @param {Function} chainingBehavior function that returns a function to be used for property + * @name overwriteChainableMethod + * @api public + */ + + module.exports = function (ctx, name, method, chainingBehavior) { + var chainableBehavior = ctx.__methods[name]; + + var _chainingBehavior = chainableBehavior.chainingBehavior; + chainableBehavior.chainingBehavior = function () { + var result = chainingBehavior(_chainingBehavior).call(this); + return result === undefined ? this : result; + }; + + var _method = chainableBehavior.method; + chainableBehavior.method = function () { + var result = method(_method).apply(this, arguments); + return result === undefined ? this : result; + }; + }; + + },{}],24:[function(require,module,exports){ + /*! + * Chai - overwriteMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /** + * ### overwriteMethod (ctx, name, fn) + * + * Overwites an already existing method and provides + * access to previous function. Must return function + * to be used for name. + * + * utils.overwriteMethod(chai.Assertion.prototype, 'equal', function (_super) { + * return function (str) { + * var obj = utils.flag(this, 'object'); + * if (obj instanceof Foo) { + * new chai.Assertion(obj.value).to.equal(str); + * } else { + * _super.apply(this, arguments); + * } + * } + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.overwriteMethod('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.equal('bar'); + * + * @param {Object} ctx object whose method is to be overwritten + * @param {String} name of method to overwrite + * @param {Function} method function that returns a function to be used for name + * @name overwriteMethod + * @api public + */ + + module.exports = function (ctx, name, method) { + var _method = ctx[name] + , _super = function () { return this; }; + + if (_method && 'function' === typeof _method) + _super = _method; + + ctx[name] = function () { + var result = method(_super).apply(this, arguments); + return result === undefined ? this : result; + } + }; + + },{}],25:[function(require,module,exports){ + /*! + * Chai - overwriteProperty utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /** + * ### overwriteProperty (ctx, name, fn) + * + * Overwites an already existing property getter and provides + * access to previous value. Must return function to use as getter. + * + * utils.overwriteProperty(chai.Assertion.prototype, 'ok', function (_super) { + * return function () { + * var obj = utils.flag(this, 'object'); + * if (obj instanceof Foo) { + * new chai.Assertion(obj.name).to.equal('bar'); + * } else { + * _super.call(this); + * } + * } + * }); + * + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.overwriteProperty('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.be.ok; + * + * @param {Object} ctx object whose property is to be overwritten + * @param {String} name of property to overwrite + * @param {Function} getter function that returns a getter function to be used for name + * @name overwriteProperty + * @api public + */ + + module.exports = function (ctx, name, getter) { + var _get = Object.getOwnPropertyDescriptor(ctx, name) + , _super = function () {}; + + if (_get && 'function' === typeof _get.get) + _super = _get.get + + Object.defineProperty(ctx, name, + { get: function () { + var result = getter(_super).call(this); + return result === undefined ? this : result; + } + , configurable: true + }); + }; + + },{}],26:[function(require,module,exports){ + /*! + * Chai - test utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /*! + * Module dependancies + */ + + var flag = require('./flag'); + + /** + * # test(object, expression) + * + * Test and object for expression. + * + * @param {Object} object (constructed Assertion) + * @param {Arguments} chai.Assertion.prototype.assert arguments + */ + + module.exports = function (obj, args) { + var negate = flag(obj, 'negate') + , expr = args[0]; + return negate ? !expr : expr; + }; + + },{"./flag":11}],27:[function(require,module,exports){ + /*! + * Chai - transferFlags utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + + /** + * ### transferFlags(assertion, object, includeAll = true) + * + * Transfer all the flags for `assertion` to `object`. If + * `includeAll` is set to `false`, then the base Chai + * assertion flags (namely `object`, `ssfi`, and `message`) + * will not be transferred. + * + * + * var newAssertion = new Assertion(); + * utils.transferFlags(assertion, newAssertion); + * + * var anotherAsseriton = new Assertion(myObj); + * utils.transferFlags(assertion, anotherAssertion, false); + * + * @param {Assertion} assertion the assertion to transfer the flags from + * @param {Object} object the object to transfer the flags to; usually a new assertion + * @param {Boolean} includeAll + * @name transferFlags + * @api private + */ + + module.exports = function (assertion, object, includeAll) { + var flags = assertion.__flags || (assertion.__flags = Object.create(null)); + + if (!object.__flags) { + object.__flags = Object.create(null); + } + + includeAll = arguments.length === 3 ? includeAll : true; + + for (var flag in flags) { + if (includeAll || + (flag !== 'object' && flag !== 'ssfi' && flag != 'message')) { + object.__flags[flag] = flags[flag]; + } + } + }; + + },{}],28:[function(require,module,exports){ + /*! + * assertion-error + * Copyright(c) 2013 Jake Luer + * MIT Licensed + */ + + /*! + * Return a function that will copy properties from + * one object to another excluding any originally + * listed. Returned function will create a new `{}`. + * + * @param {String} excluded properties ... + * @return {Function} + */ + + function exclude () { + var excludes = [].slice.call(arguments); + + function excludeProps (res, obj) { + Object.keys(obj).forEach(function (key) { + if (!~excludes.indexOf(key)) res[key] = obj[key]; + }); + } + + return function extendExclude () { + var args = [].slice.call(arguments) + , i = 0 + , res = {}; + + for (; i < args.length; i++) { + excludeProps(res, args[i]); + } + + return res; + }; + }; + + /*! + * Primary Exports + */ + + module.exports = AssertionError; + + /** + * ### AssertionError + * + * An extension of the JavaScript `Error` constructor for + * assertion and validation scenarios. + * + * @param {String} message + * @param {Object} properties to include (optional) + * @param {callee} start stack function (optional) + */ + + function AssertionError (message, _props, ssf) { + var extend = exclude('name', 'message', 'stack', 'constructor', 'toJSON') + , props = extend(_props || {}); + + // default values + this.message = message || 'Unspecified AssertionError'; + this.showDiff = false; + + // copy from properties + for (var key in props) { + this[key] = props[key]; + } + + // capture stack trace + ssf = ssf || arguments.callee; + if (ssf && Error.captureStackTrace) { + Error.captureStackTrace(this, ssf); + } else { + this.stack = new Error().stack; + } + } + + /*! + * Inherit from Error.prototype + */ + + AssertionError.prototype = Object.create(Error.prototype); + + /*! + * Statically set name + */ + + AssertionError.prototype.name = 'AssertionError'; + + /*! + * Ensure correct constructor + */ + + AssertionError.prototype.constructor = AssertionError; + + /** + * Allow errors to be converted to JSON for static transfer. + * + * @param {Boolean} include stack (default: `true`) + * @return {Object} object that can be `JSON.stringify` + */ + + AssertionError.prototype.toJSON = function (stack) { + var extend = exclude('constructor', 'toJSON', 'stack') + , props = extend({ name: this.name }, this); + + // include stack if exists and not turned off + if (false !== stack && this.stack) { + props.stack = this.stack; + } + + return props; + }; + + },{}],29:[function(require,module,exports){ + module.exports = require('./lib/eql'); + + },{"./lib/eql":30}],30:[function(require,module,exports){ + /*! + * deep-eql + * Copyright(c) 2013 Jake Luer + * MIT Licensed + */ + + /*! + * Module dependencies + */ + + var type = require('type-detect'); + + /*! + * Buffer.isBuffer browser shim + */ + + var Buffer; + try { Buffer = require('buffer').Buffer; } + catch(ex) { + Buffer = {}; + Buffer.isBuffer = function() { return false; } + } + + /*! + * Primary Export + */ + + module.exports = deepEqual; + + /** + * Assert super-strict (egal) equality between + * two objects of any type. + * + * @param {Mixed} a + * @param {Mixed} b + * @param {Array} memoised (optional) + * @return {Boolean} equal match + */ + + function deepEqual(a, b, m) { + if (sameValue(a, b)) { + return true; + } else if ('date' === type(a)) { + return dateEqual(a, b); + } else if ('regexp' === type(a)) { + return regexpEqual(a, b); + } else if (Buffer.isBuffer(a)) { + return bufferEqual(a, b); + } else if ('arguments' === type(a)) { + return argumentsEqual(a, b, m); + } else if (!typeEqual(a, b)) { + return false; + } else if (('object' !== type(a) && 'object' !== type(b)) + && ('array' !== type(a) && 'array' !== type(b))) { + return sameValue(a, b); + } else { + return objectEqual(a, b, m); + } + } + + /*! + * Strict (egal) equality test. Ensures that NaN always + * equals NaN and `-0` does not equal `+0`. + * + * @param {Mixed} a + * @param {Mixed} b + * @return {Boolean} equal match + */ + + function sameValue(a, b) { + if (a === b) return a !== 0 || 1 / a === 1 / b; + return a !== a && b !== b; + } + + /*! + * Compare the types of two given objects and + * return if they are equal. Note that an Array + * has a type of `array` (not `object`) and arguments + * have a type of `arguments` (not `array`/`object`). + * + * @param {Mixed} a + * @param {Mixed} b + * @return {Boolean} result + */ + + function typeEqual(a, b) { + return type(a) === type(b); + } + + /*! + * Compare two Date objects by asserting that + * the time values are equal using `saveValue`. + * + * @param {Date} a + * @param {Date} b + * @return {Boolean} result + */ + + function dateEqual(a, b) { + if ('date' !== type(b)) return false; + return sameValue(a.getTime(), b.getTime()); + } + + /*! + * Compare two regular expressions by converting them + * to string and checking for `sameValue`. + * + * @param {RegExp} a + * @param {RegExp} b + * @return {Boolean} result + */ + + function regexpEqual(a, b) { + if ('regexp' !== type(b)) return false; + return sameValue(a.toString(), b.toString()); + } + + /*! + * Assert deep equality of two `arguments` objects. + * Unfortunately, these must be sliced to arrays + * prior to test to ensure no bad behavior. + * + * @param {Arguments} a + * @param {Arguments} b + * @param {Array} memoize (optional) + * @return {Boolean} result + */ + + function argumentsEqual(a, b, m) { + if ('arguments' !== type(b)) return false; + a = [].slice.call(a); + b = [].slice.call(b); + return deepEqual(a, b, m); + } + + /*! + * Get enumerable properties of a given object. + * + * @param {Object} a + * @return {Array} property names + */ + + function enumerable(a) { + var res = []; + for (var key in a) res.push(key); + return res; + } + + /*! + * Simple equality for flat iterable objects + * such as Arrays or Node.js buffers. + * + * @param {Iterable} a + * @param {Iterable} b + * @return {Boolean} result + */ + + function iterableEqual(a, b) { + if (a.length !== b.length) return false; + + var i = 0; + var match = true; + + for (; i < a.length; i++) { + if (a[i] !== b[i]) { + match = false; + break; + } + } + + return match; + } + + /*! + * Extension to `iterableEqual` specifically + * for Node.js Buffers. + * + * @param {Buffer} a + * @param {Mixed} b + * @return {Boolean} result + */ + + function bufferEqual(a, b) { + if (!Buffer.isBuffer(b)) return false; + return iterableEqual(a, b); + } + + /*! + * Block for `objectEqual` ensuring non-existing + * values don't get in. + * + * @param {Mixed} object + * @return {Boolean} result + */ + + function isValue(a) { + return a !== null && a !== undefined; + } + + /*! + * Recursively check the equality of two objects. + * Once basic sameness has been established it will + * defer to `deepEqual` for each enumerable key + * in the object. + * + * @param {Mixed} a + * @param {Mixed} b + * @return {Boolean} result + */ + + function objectEqual(a, b, m) { + if (!isValue(a) || !isValue(b)) { + return false; + } + + if (a.prototype !== b.prototype) { + return false; + } + + var i; + if (m) { + for (i = 0; i < m.length; i++) { + if ((m[i][0] === a && m[i][1] === b) + || (m[i][0] === b && m[i][1] === a)) { + return true; + } + } + } else { + m = []; + } + + try { + var ka = enumerable(a); + var kb = enumerable(b); + } catch (ex) { + return false; + } + + ka.sort(); + kb.sort(); + + if (!iterableEqual(ka, kb)) { + return false; + } + + m.push([ a, b ]); + + var key; + for (i = ka.length - 1; i >= 0; i--) { + key = ka[i]; + if (!deepEqual(a[key], b[key], m)) { + return false; + } + } + + return true; + } + + },{"buffer":undefined,"type-detect":31}],31:[function(require,module,exports){ + module.exports = require('./lib/type'); + + },{"./lib/type":32}],32:[function(require,module,exports){ + /*! + * type-detect + * Copyright(c) 2013 jake luer + * MIT Licensed + */ + + /*! + * Primary Exports + */ + + var exports = module.exports = getType; + + /*! + * Detectable javascript natives + */ + + var natives = { + '[object Array]': 'array' + , '[object RegExp]': 'regexp' + , '[object Function]': 'function' + , '[object Arguments]': 'arguments' + , '[object Date]': 'date' + }; + + /** + * ### typeOf (obj) + * + * Use several different techniques to determine + * the type of object being tested. + * + * + * @param {Mixed} object + * @return {String} object type + * @api public + */ + + function getType (obj) { + var str = Object.prototype.toString.call(obj); + if (natives[str]) return natives[str]; + if (obj === null) return 'null'; + if (obj === undefined) return 'undefined'; + if (obj === Object(obj)) return 'object'; + return typeof obj; + } + + exports.Library = Library; + + /** + * ### Library + * + * Create a repository for custom type detection. + * + * ```js + * var lib = new type.Library; + * ``` + * + */ + + function Library () { + this.tests = {}; + } + + /** + * #### .of (obj) + * + * Expose replacement `typeof` detection to the library. + * + * ```js + * if ('string' === lib.of('hello world')) { + * // ... + * } + * ``` + * + * @param {Mixed} object to test + * @return {String} type + */ + + Library.prototype.of = getType; + + /** + * #### .define (type, test) + * + * Add a test to for the `.test()` assertion. + * + * Can be defined as a regular expression: + * + * ```js + * lib.define('int', /^[0-9]+$/); + * ``` + * + * ... or as a function: + * + * ```js + * lib.define('bln', function (obj) { + * if ('boolean' === lib.of(obj)) return true; + * var blns = [ 'yes', 'no', 'true', 'false', 1, 0 ]; + * if ('string' === lib.of(obj)) obj = obj.toLowerCase(); + * return !! ~blns.indexOf(obj); + * }); + * ``` + * + * @param {String} type + * @param {RegExp|Function} test + * @api public + */ + + Library.prototype.define = function (type, test) { + if (arguments.length === 1) return this.tests[type]; + this.tests[type] = test; + return this; + }; + + /** + * #### .test (obj, test) + * + * Assert that an object is of type. Will first + * check natives, and if that does not pass it will + * use the user defined custom tests. + * + * ```js + * assert(lib.test('1', 'int')); + * assert(lib.test('yes', 'bln')); + * ``` + * + * @param {Mixed} object + * @param {String} type + * @return {Boolean} result + * @api public + */ + + Library.prototype.test = function (obj, type) { + if (type === getType(obj)) return true; + var test = this.tests[type]; + + if (test && 'regexp' === getType(test)) { + return test.test(obj); + } else if (test && 'function' === getType(test)) { + return test(obj); + } else { + throw new ReferenceError('Type test "' + type + '" not defined or invalid.'); + } + }; + + },{}],33:[function(require,module,exports){ + arguments[4][31][0].apply(exports,arguments) + },{"./lib/type":34,"dup":31}],34:[function(require,module,exports){ + /*! + * type-detect + * Copyright(c) 2013 jake luer + * MIT Licensed + */ + + /*! + * Primary Exports + */ + + var exports = module.exports = getType; + + /** + * ### typeOf (obj) + * + * Use several different techniques to determine + * the type of object being tested. + * + * + * @param {Mixed} object + * @return {String} object type + * @api public + */ + var objectTypeRegexp = /^\[object (.*)\]$/; + + function getType(obj) { + var type = Object.prototype.toString.call(obj).match(objectTypeRegexp)[1].toLowerCase(); + // Let "new String('')" return 'object' + if (typeof Promise === 'function' && obj instanceof Promise) return 'promise'; + // PhantomJS has type "DOMWindow" for null + if (obj === null) return 'null'; + // PhantomJS has type "DOMWindow" for undefined + if (obj === undefined) return 'undefined'; + return type; + } + + exports.Library = Library; + + /** + * ### Library + * + * Create a repository for custom type detection. + * + * ```js + * var lib = new type.Library; + * ``` + * + */ + + function Library() { + if (!(this instanceof Library)) return new Library(); + this.tests = {}; + } + + /** + * #### .of (obj) + * + * Expose replacement `typeof` detection to the library. + * + * ```js + * if ('string' === lib.of('hello world')) { + * // ... + * } + * ``` + * + * @param {Mixed} object to test + * @return {String} type + */ + + Library.prototype.of = getType; + + /** + * #### .define (type, test) + * + * Add a test to for the `.test()` assertion. + * + * Can be defined as a regular expression: + * + * ```js + * lib.define('int', /^[0-9]+$/); + * ``` + * + * ... or as a function: + * + * ```js + * lib.define('bln', function (obj) { + * if ('boolean' === lib.of(obj)) return true; + * var blns = [ 'yes', 'no', 'true', 'false', 1, 0 ]; + * if ('string' === lib.of(obj)) obj = obj.toLowerCase(); + * return !! ~blns.indexOf(obj); + * }); + * ``` + * + * @param {String} type + * @param {RegExp|Function} test + * @api public + */ + + Library.prototype.define = function(type, test) { + if (arguments.length === 1) return this.tests[type]; + this.tests[type] = test; + return this; + }; + + /** + * #### .test (obj, test) + * + * Assert that an object is of type. Will first + * check natives, and if that does not pass it will + * use the user defined custom tests. + * + * ```js + * assert(lib.test('1', 'int')); + * assert(lib.test('yes', 'bln')); + * ``` + * + * @param {Mixed} object + * @param {String} type + * @return {Boolean} result + * @api public + */ + + Library.prototype.test = function(obj, type) { + if (type === getType(obj)) return true; + var test = this.tests[type]; + + if (test && 'regexp' === getType(test)) { + return test.test(obj); + } else if (test && 'function' === getType(test)) { + return test(obj); + } else { + throw new ReferenceError('Type test "' + type + '" not defined or invalid.'); + } + }; + + },{}],35:[function(require,module,exports){ + module.exports = require('./lib/chai'); + + },{"./lib/chai":1}]},{},[35])(35) + }); + } + actions.sc_Scene321_3_0 = function() { + window.sounds = { + //shot1:function(){playSound('assets/multimedia-button-click-04.mp3')} + shot1:function(){playSound('assets/nes/nes-00-02.wav')}, + shot2:function(){playSound('assets/nes/nes-02-04.wav')}, + shot3:function(){playSound('assets/nes/nes-03-01.wav')}, + shot4:function(){playSound('assets/nes/nes-02-08.wav')}, + shot5:function(){playSound('assets/nes/nes-08-12.wav')} + } + function playSound(src){ + var audio = new Audio(src); + audio.play(); + } + + } + actions.sc_Scene321_4_0 = function() { + + window.getDistance = function(vector1,vector2){ + var deltaX = Math.abs(vector1.x - vector2.x); + var deltaY = Math.abs(vector1.y - vector2.y); + + return distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY); + } + + + + window. setPosition = function(mc, x, y) { + var mat = new flwebgl.geom.Matrix([1, 0, 0, 1, x, y]); + mc.setLocalTransform(mat); + } + + window.getPosition = function(mc){ + return { + x:mc.getGlobalTransform(player.getStage()).b[12], + y:mc.getGlobalTransform(player.getStage()).b[13], + } + } + + window.getAOrientToB = function(vector1,vector2){ + return Math.atan2(vector1.y-vector2.y,vector1.x-vector2.x); + } + } + actions.sc_Scene321_5_0 = function() { + window.mousepos = { + x: 0, + y: 0 + }; + window.stage = player.getStage(); + window.turretAngle = Math.PI / 2; + window.turretPos = {}; + + window.game = this; + window.hero = this.getChildByName('hero'); + window.startButton = this.getChildByName('startButton'); + window.cursor = this.getChildByName('crosshair'); + window.turret = hero.getChildByName('turret'); + window.target = turret.getChildByName('target'); + + window.gameState = {}; + window.bases = []; + window.bullets = []; + window.enemies = []; + window.home; + + window.existenceBounds = { + left: -1000, + right: 1000, + top: -1000, + bottom: 1000 + } + } + actions.sc_Scene321_6_0 = function() { + window.levels = { + 1:{ + number:1, + startingAmmo:70, + enemies: 30, + enemySpawnRate:60, + enemySpeed:1, + }, + 2:{ + number:2, + startingAmmo:80, + enemies: 35, + enemySpawnRate:45, + enemySpeed:1.3, + } + } + } + actions.sc_Scene321_7_0 = function() { + document.body.style.cursor = 'none'; + + + function newGame() { + gameState = { + lives: 3, + level: 1, + timeToNextEnemy:0, + weaponSpeed: 5, + weaponFireRate: 16, + timeToNextShot: 0, + gold:100, + ammunition:50, + enemiesLeft:0, + points:0, + isRunning:true, + levelNumber:1, + level:{} + } + + bases = ['base1','base2','base3','base4','base5','base6'] + .map(function(baseName){ + var base = game.getChildByName(baseName); + base.gotoAndStop(1); + return { + mc:base, + hp:50, + maxhp:50 + } + }); + + home = { + mc:hero, + hp:200, + maxhp:200 + } + + startLevel(gameState.levelNumber); + + + } + + function startLevel(number){ + + showDecal(number); + gameState.level = window.levels[number]; + + + + gameState.enemiesLeft = gameState.level.enemies; + gameState.ammunition = gameState.level.startingAmmo; + + } + + function showDecal(number){ + var decals = { + 1:game.getChildByName('level1'), + 2:game.getChildByName('level2') + }; + + + var level = decals[number]; + level.setVisible(true); + setTimeout(function(){ + level.setVisible(false); + },2666); + } + + var startButtonActive = true; + + function init(){ + + window.addEventListener('mousemove',function mouseDown(e) { + mousepos = new flwebgl.geom.Point(e.pageX, e.pageY); + placeCursor(mousepos); + }); + window.addEventListener('mousedown',function mouseDown(e) { + shoot(); + }); + + addListener('mousedown',startButton ,function(a){ + if (!startButtonActive) { + return; + } + newGame(); + setOpacity(startButton,0); + startButtonActive = false; + }); + + onMouseEnterMovieClip(startButton,function(a){ + startButton.gotoAndStop('hover'); + }) + + + onMouseExitMovieClip(startButton,function(a){ + startButton.gotoAndPlay(1); + }) + + setInterval(loop,20); + } + + function restart(){ + setOpacity(startButton,1); + startButtonActive = true; + gameState.isRunning = false; + } + + + + function placeCursor(pos){ + setPosition(cursor,pos.x,pos.y); + } + + + + function shoot(){ + if (gameState.timeToNextShot > 0) { + return; + } + + if (gameState.ammunition < 1) { + return; + } + + if (gameState.ammunition > 0) { + gameState.ammunition--; + } + + var scene = player.getScenegraphFactory(); + var bullet = scene.createMovieClipInstance("Bullet"); + player.getStage().addChild(bullet); + + var targetPos = getPosition(target); + setPosition(bullet,targetPos.x,targetPos.y); + var vector = getTurretMouseVector(); + bullets.push({ + mc:bullet, + vector:vector + }); + hero.gotoAndPlay(2); + cursor.gotoAndPlay(2); + gameState.timeToNextShot = gameState.weaponFireRate; + + sounds.shot1(); + + flashShoot(); + } + + function flashShoot(){ + var flash = game.getChildByName('flash_shoot'); + flash.setVisible(true); + setTimeout(function(){ + flash.setVisible(false); + },150); + } + + function flashDanger(){ + var flash = game.getChildByName('flash_danger'); + flash.setVisible(true); + setTimeout(function(){ + flash.setVisible(false); + },300); + } + + + function getTurretMouseVector(){ + return Math.atan2(turretPos.y-mousepos.y,turretPos.x-mousepos.x); + } + + + + function spawnEnemy() { + var targets = bases.concat(home).filter(function(x){return x.hp > 0}).map(function(a){return a.mc}); + var target = targets[Math.floor(Math.random()*targets.length)]; + var scene = player.getScenegraphFactory(); + var enemyStartX = Math.random() * 800; + var enemyStartY = -100; + var enemyTargetX = getPosition(target).x; + var enemyTargetY = 500; + var enemy = { + orientation:Math.atan2(enemyStartY-enemyTargetY,enemyStartX-enemyTargetX), + mc:scene.createMovieClipInstance("Enemy1") + }; + stage.addChild(enemy.mc); + enemies.push(enemy); + setPosition(enemy.mc,enemyStartX,enemyStartY); + } + + + function loop(){ + + if (!gameState.isRunning) { + return; + } + turretPos = getPosition(turret); + var vector = getTurretMouseVector(); + + var delta = turretAngle - vector; + + var matrix = turret.getLocalTransform(); + + matrix.rotate(-delta); + turretAngle-= delta; + turret.setLocalTransform(matrix); + + bullets.forEach(function(bullet){ + + var matrix = bullet.mc.getLocalTransform(player.getStage()); + var x = -Math.cos(bullet.vector); + var y = -Math.sin(bullet.vector); + var speed = 5; + matrix.b[12]+=x*speed; + matrix.b[13]+=y*speed; + + bullet.mc.setLocalTransform(matrix); + + var bulletpos = getPosition(bullet.mc); + enemies.forEach(function(enemy){ + var enemypos = getPosition(enemy.mc); + var distance = getDistance(enemypos,bulletpos); + if (distance < 15) { + killEnemy(enemy); + killBullet(bullet); + flashShoot(); + } + }) + }); + + enemies.forEach(function(enemy){ + var matrix = enemy.mc.getLocalTransform(player.getStage()); + var x = -Math.cos(enemy.orientation); + var y = -Math.sin(enemy.orientation); + var speed = gameState.level.enemySpeed; + matrix.b[12]+=x*speed; + matrix.b[13]+=y*speed; + + enemy.mc.setLocalTransform(matrix); + enemy.position = getPosition(enemy.mc); + + bases.concat(home).forEach(function(target){ + var distance = getDistance(enemy.position,getPosition(target.mc)); + if (distance < 25) { + target.hp -= 50; + killEnemy(enemy); + if (target.hp <= 0){ + killBase(target); + if (bases.every(function(a){return a.hp < 1})){ + loseGame(); + } + } + flashDanger(); + } + }) + }) + + gameState.timeToNextEnemy--; + gameState.timeToNextShot--; + + if (gameState.timeToNextEnemy < 1 && gameState.enemiesLeft > 0){ + spawnEnemy(); + gameState.timeToNextEnemy = gameState.level.enemySpawnRate; + gameState.enemiesLeft--; + } + + } + + function loseGame(){ + console.log("LOSE"); + for (var i = enemies.length; i > 0; i--){ + + var enemy = enemies[i-1]; + console.log("KILL EEMY",enemy); + killEnemy(enemy); + } + enemies.forEach(function(enemy){ + + }); + restart(); + } + + function killEnemy(enemy){ + enemy.mc.gotoAndPlay('explode'); + setTimeout(function(){ + stage.removeChild(enemy.mc); + },200); + enemies.splice(enemies.indexOf(enemy),1); + if (gameState.enemiesLeft==0 && enemies.length === 0){ + //alert("no more enemies."); + winLevel(); + } + sounds.shot2(); + } + + function winLevel(){ + gameState.levelNumber+=1; + // alert("You win."); + startLevel(gameState.levelNumber); + } + + function killBase(base){ + //stage.removeChild(base.mc); + base.mc.gotoAndStop('dead'); + sounds.shot3(); + }; + + function killBullet(enemy){ + enemy.mc.gotoAndPlay('explode'); + setTimeout(function(){ + stage.removeChild(enemy.mc); + },200); + bullets.splice(bullets.indexOf(enemy),1); + sounds.shot5(); + } + + init(); + } + actions.sc_Scene321_8_0 = function() { + var assert = chai.assert; + + function tests(){ + assert.isFunction(window.getPosition); + assert.isFunction(window.getSnarks); + } + + try { + tests(); + } catch (e){ + console.log("DANGER PHIL BOWLBINSON", e); + } + + } + actions.mc_enemy1_0_17 = function() { + this.gotoAndPlay(1); + } + actions.mc_enemy1_0_55 = function() { + this.stop(); + } + actions.mc_Bullet_0_24 = function() { + this.gotoAndPlay(1); + } + actions.mc_Bullet_0_50 = function() { + this.stop(); + } + actions.mc_Gun1_0_0 = function() { + this.stop(); + } + actions.mc_crystal_0_13 = function() { + this.stop(); + } + actions.mc_aimer_0_0 = function() { + this.stop(); + } + actions.mc_startBtn_3_12 = function() { + this.gotoAndPlay(1); + } + })(flwebgl.actions || (flwebgl.actions = {})); +})(flwebgl || (flwebgl = {})); diff --git a/flashgl/assets/1_atlas.json b/flashgl/assets/1_atlas.json new file mode 100644 index 00000000..d7e2abfd --- /dev/null +++ b/flashgl/assets/1_atlas.json @@ -0,0 +1,243 @@ +{"frames": { + +"Bitmap 1": +{ + "frame": {"x":0,"y":0,"w":802,"h":27}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":802,"h":27}, + "sourceSize": {"w":802,"h":27} +}, +"G_20": +{ + "frame": {"x":0,"y":173,"w":258,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":258,"h":4}, + "sourceSize": {"w":258,"h":4} +}, +"S_10": +{ + "frame": {"x":170,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_11": +{ + "frame": {"x":206,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_12": +{ + "frame": {"x":210,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_13": +{ + "frame": {"x":214,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_14": +{ + "frame": {"x":222,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_15": +{ + "frame": {"x":218,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_16": +{ + "frame": {"x":226,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_17": +{ + "frame": {"x":230,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_18": +{ + "frame": {"x":234,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_19": +{ + "frame": {"x":190,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_21": +{ + "frame": {"x":174,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_22": +{ + "frame": {"x":186,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_23": +{ + "frame": {"x":178,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_24": +{ + "frame": {"x":182,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_25": +{ + "frame": {"x":194,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_26": +{ + "frame": {"x":198,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_27": +{ + "frame": {"x":202,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_28": +{ + "frame": {"x":242,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_29": +{ + "frame": {"x":238,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_4": +{ + "frame": {"x":146,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_5": +{ + "frame": {"x":162,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_6": +{ + "frame": {"x":154,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_7": +{ + "frame": {"x":158,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_8": +{ + "frame": {"x":150,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"S_9": +{ + "frame": {"x":166,"y":27,"w":4,"h":4}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":4,"h":4}, + "sourceSize": {"w":4,"h":4} +}, +"city1.gif": +{ + "frame": {"x":802,"y":0,"w":146,"h":146}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":146,"h":146}, + "sourceSize": {"w":146,"h":146} +}, +"city2.gif": +{ + "frame": {"x":0,"y":27,"w":146,"h":146}, + "rotated": false, + "trimmed": false, + "spriteSourceSize": {"x":0,"y":0,"w":146,"h":146}, + "sourceSize": {"w":146,"h":146} +}}, +"meta": { + "app": "Adobe Flash Professional", + "version": "15.0.0.173", + "image": "1_atlas.png", + "format": "RGBA8888", + "size": {"w":1024,"h":1024}, + "scale": "1" +} +} diff --git a/flashgl/assets/1_atlas.png b/flashgl/assets/1_atlas.png new file mode 100644 index 00000000..aa0c40bf Binary files /dev/null and b/flashgl/assets/1_atlas.png differ