<html>
<head>
<div height="0" hidden="true">

Skia UnitTests: --match PathOpsSimplify$ --resourcePath resources/ SK_DEBUG

<div id="tiger8b_h_1">
seg=1 {{{{494.348663f, 224.583771f}, {494.365143f, 224.633194f}, {494.376404f, 224.684067f}}}, 0.998645842f}
seg=2 {{{494.376404f, 224.684067f}, {494.005188f, 224.055679f}, {494.019165f, 224.046982f}}}
seg=3 {{{494.019165f, 224.046982f}, {494.029083f, 224.040833f}, {494.232056f, 224.345306f}}}
seg=4 {{{494.232056f, 224.345306f}, {494.273193f, 224.406982f}, {494.30481f, 224.474213f}}}
seg=5 {{{494.30481f, 224.474213f}, {494.334961f, 224.538284f}, {494.355774f, 224.605927f}}}
seg=6 {{{494.355774f, 224.605927f}, {494.363708f, 224.631714f}, {494.370148f, 224.657471f}}}
seg=7 {{{494.370148f, 224.657471f}, {494.375275f, 224.679031f}}}
seg=8 {{{494.375275f, 224.679031f}, {494.376038f, 224.682449f}}}
seg=9 {{{494.376038f, 224.682449f}, {494.376221f, 224.683273f}}}
seg=10 {{{494.376221f, 224.683273f}, {494.376007f, 224.682281f}}}
seg=11 {{{494.376007f, 224.682281f}, {494.375671f, 224.680908f}}}
seg=12 {{{494.375671f, 224.680908f}, {494.375397f, 224.67955f}, {494.376495f, 224.683868f}}}
seg=13 {{{494.376495f, 224.683868f}, {494.634338f, 225.414886f}, {494.895874f, 225.840698f}}}
seg=14 {{{494.895874f, 225.840698f}, {495.737305f, 227.210602f}, {497.243317f, 227.90419f}}}
seg=15 {{{497.243317f, 227.90419f}, {502.478027f, 230.314941f}, {513.407471f, 224.129684f}}}
seg=16 {{{513.407471f, 224.129684f}, {513.900024f, 224.999985f}}}
seg=17 {{{513.900024f, 224.999985f}, {494.348663f, 224.583771f}}}
debugShowConicQuadIntersection wtTs[0]=1 {{{{494.348663,224.583771}, {494.365143,224.633194}, {494.376404,224.684067}}}, 0.998645842} {{494.376404,224.684067}} wnTs[0]=0 {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}}
debugShowConicQuadIntersection no intersect {{{{494.348663,224.583771}, {494.365143,224.633194}, {494.376404,224.684067}}}, 0.998645842} {{{494.30481,224.474213}, {494.334961,224.538284}, {494.355774,224.605927}}}
debugShowConicQuadIntersection no intersect {{{{494.348663,224.583771}, {494.365143,224.633194}, {494.376404,224.684067}}}, 0.998645842} {{{494.355774,224.605927}, {494.363708,224.631714}, {494.370148,224.657471}}}
debugShowConicLineIntersection wtTs[0]=0.737524311 {{{{494.348663,224.583771}, {494.365143,224.633194}, {494.376404,224.684067}}}, 0.998645842} {{494.370148,224.657471}} wtTs[1]=0.95041534 {{494.375275,224.679031}} wnTs[0]=0 {{{494.370148,224.657471}, {494.375275,224.679031}}} wnTs[1]=1
addT insert t=0.737524311 segID=1 spanID=35
addT insert t=0.95041534 segID=1 spanID=36
debugShowConicLineIntersection wtTs[0]=0.950415458 {{{{494.348663,224.583771}, {494.365143,224.633194}, {494.376404,224.684067}}}, 0.998645842} {{494.375275,224.679031}} wtTs[1]=0.984064836 {{494.376038,224.682449}} wnTs[0]=0 {{{494.375275,224.679031}, {494.376038,224.682449}}} wnTs[1]=1
addT insert t=0.984064836 segID=1 spanID=37
debugShowConicLineIntersection wtTs[0]=0.984064896 {{{{494.348663,224.583771}, {494.365143,224.633194}, {494.376404,224.684067}}}, 0.998645842} {{494.376038,224.682449}} wtTs[1]=0.992175496 {{494.376221,224.683273}} wnTs[0]=0 {{{494.376038,224.682449}, {494.376221,224.683273}}} wnTs[1]=1
addT insert t=0.992175496 segID=1 spanID=38
debugShowConicLineIntersection wtTs[0]=0.982426882 {{{{494.348663,224.583771}, {494.365143,224.633194}, {494.376404,224.684067}}}, 0.998645842} {{494.376007,224.682281}} wtTs[1]=0.992175933 {{494.376221,224.683273}} wnTs[0]=1 {{{494.376221,224.683273}, {494.376007,224.682281}}} wnTs[1]=0
debugShowConicLineIntersection wtTs[0]=0.968840505 {{{{494.348663,224.583771}, {494.365143,224.633194}, {494.376404,224.684067}}}, 0.998645842} {{494.375671,224.680908}} wtTs[1]=0.982426925 {{494.376007,224.682281}} wnTs[0]=1 {{{494.376007,224.682281}, {494.375671,224.680908}}} wnTs[1]=0
addT insert t=0.968840505 segID=1 spanID=39
debugShowConicQuadIntersection wtTs[0]=0.966796875 {{{{494.348663,224.583771}, {494.365143,224.633194}, {494.376404,224.684067}}}, 0.998645842} {{494.375641,224.680695}} wtTs[1]=1 {{494.376404,224.684067}} wnTs[0]=0.375 {{{494.375671,224.680908}, {494.375397,224.67955}, {494.376495,224.683868}}} wnTs[1]=1
debugShowConicQuadIntersection no intersect {{{{494.348663,224.583771}, {494.365143,224.633194}, {494.376404,224.684067}}}, 0.998645842} {{{494.376495,224.683868}, {494.634338,225.414886}, {494.895874,225.840698}}}
debugShowConicLineIntersection wtTs[0]=0 {{{{494.348663,224.583771}, {494.365143,224.633194}, {494.376404,224.684067}}}, 0.998645842} {{494.348663,224.583771}} wnTs[0]=1 {{{513.900024,224.999985}, {494.348663,224.583771}}}
debugShowQuadIntersection wtTs[0]=1 {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}} {{494.019165,224.046982}} wnTs[0]=0 {{{494.019165,224.046982}, {494.029083,224.040833}, {494.232056,224.345306}}}
debugShowQuadIntersection no intersect {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}} {{{494.232056,224.345306}, {494.273193,224.406982}, {494.30481,224.474213}}}
debugShowQuadIntersection no intersect {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}} {{{494.30481,224.474213}, {494.334961,224.538284}, {494.355774,224.605927}}}
debugShowQuadIntersection no intersect {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}} {{{494.355774,224.605927}, {494.363708,224.631714}, {494.370148,224.657471}}}
debugShowQuadLineIntersection no intersect {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}} {{{494.370148,224.657471}, {494.375275,224.679031}}}
debugShowQuadLineIntersection no intersect {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}} {{{494.375275,224.679031}, {494.376038,224.682449}}}
debugShowQuadLineIntersection wtTs[0]=0.000586871356 {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}} {{494.376221,224.683273}} wnTs[0]=1 {{{494.376038,224.682449}, {494.376221,224.683273}}}
addT insert t=0.000586871356 segID=2 spanID=40
debugShowQuadLineIntersection wtTs[0]=0.000588090628 {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}} {{494.376221,224.683273}} wnTs[0]=0 {{{494.376221,224.683273}, {494.376007,224.682281}}}
debugShowQuadLineIntersection no intersect {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}} {{{494.376007,224.682281}, {494.375671,224.680908}}}
debugShowQuadIntersection no intersect {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}} {{{494.375671,224.680908}, {494.375397,224.67955}, {494.376495,224.683868}}}
debugShowQuadIntersection no intersect {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}} {{{494.376495,224.683868}, {494.634338,225.414886}, {494.895874,225.840698}}}
debugShowQuadLineIntersection no intersect {{{494.376404,224.684067}, {494.005188,224.055679}, {494.019165,224.046982}}} {{{513.900024,224.999985}, {494.348663,224.583771}}}
debugShowQuadIntersection wtTs[0]=1 {{{494.019165,224.046982}, {494.029083,224.040833}, {494.232056,224.345306}}} {{494.232056,224.345306}} wnTs[0]=0 {{{494.232056,224.345306}, {494.273193,224.406982}, {494.30481,224.474213}}}
debugShowQuadIntersection wtTs[0]=1 {{{494.232056,224.345306}, {494.273193,224.406982}, {494.30481,224.474213}}} {{494.30481,224.474213}} wnTs[0]=0 {{{494.30481,224.474213}, {494.334961,224.538284}, {494.355774,224.605927}}}
debugShowQuadIntersection wtTs[0]=1 {{{494.30481,224.474213}, {494.334961,224.538284}, {494.355774,224.605927}}} {{494.355774,224.605927}} wnTs[0]=0 {{{494.355774,224.605927}, {494.363708,224.631714}, {494.370148,224.657471}}}
debugShowQuadLineIntersection wtTs[0]=0.835281662 {{{494.30481,224.474213}, {494.334961,224.538284}, {494.355774,224.605927}}} {{494.348663,224.583771}} wnTs[0]=1 {{{513.900024,224.999985}, {494.348663,224.583771}}}
addT insert t=0.835281662 segID=5 spanID=41
debugShowQuadLineIntersection wtTs[0]=1 {{{494.355774,224.605927}, {494.363708,224.631714}, {494.370148,224.657471}}} {{494.370148,224.657471}} wnTs[0]=0 {{{494.370148,224.657471}, {494.375275,224.679031}}}
debugShowQuadLineIntersection no intersect {{{494.355774,224.605927}, {494.363708,224.631714}, {494.370148,224.657471}}} {{{513.900024,224.999985}, {494.348663,224.583771}}}
debugShowLineIntersection wtTs[0]=1 {{{494.370148,224.657471}, {494.375275,224.679031}}} {{494.375275,224.679031}} wnTs[0]=0 {{{494.375275,224.679031}, {494.376038,224.682449}}}
debugShowLineIntersection no intersect {{{494.370148,224.657471}, {494.375275,224.679031}}} {{{513.900024,224.999985}, {494.348663,224.583771}}}
debugShowLineIntersection wtTs[0]=1 {{{494.375275,224.679031}, {494.376038,224.682449}}} {{494.376038,224.682449}} wnTs[0]=0 {{{494.376038,224.682449}, {494.376221,224.683273}}}
debugShowLineIntersection wtTs[0]=0.951325082 {{{494.375275,224.679031}, {494.376038,224.682449}}} {{494.376007,224.682281}} wtTs[1]=1 {{494.376038,224.682449}} wnTs[0]=1 {{{494.376221,224.683273}, {494.376007,224.682281}}} wnTs[1]=0.831938475
debugShowLineIntersection wtTs[0]=0.547725719 {{{494.375275,224.679031}, {494.376038,224.682449}}} {{494.375671,224.680908}} wtTs[1]=0.951325082 {{494.376007,224.682281}} wnTs[0]=1 {{{494.376007,224.682281}, {494.375671,224.680908}}} wnTs[1]=0
addT insert t=0.547725719 segID=8 spanID=42
debugShowQuadLineIntersection wtTs[0]=0 {{{494.375671,224.680908}, {494.375397,224.67955}, {494.376495,224.683868}}} {{494.375671,224.680908}} wtTs[1]=0.809546276 {{494.376038,224.682449}} wnTs[0]=0.547726 {{{494.375275,224.679031}, {494.376038,224.682449}}} wnTs[1]=1
addT insert t=0.809546276 segID=12 spanID=43
debugShowLineIntersection no intersect {{{494.375275,224.679031}, {494.376038,224.682449}}} {{{513.900024,224.999985}, {494.348663,224.583771}}}
debugShowLineIntersection wtTs[0]=0 {{{494.376038,224.682449}, {494.376221,224.683273}}} {{494.376038,224.682449}} wtTs[1]=1 {{494.376221,224.683273}} wnTs[0]=0.831938 {{{494.376221,224.683273}, {494.376007,224.682281}}} wnTs[1]=0
debugShowLineIntersection no intersect {{{494.376038,224.682449}, {494.376221,224.683273}}} {{{494.376007,224.682281}, {494.375671,224.680908}}}
debugShowQuadLineIntersection wtTs[0]=0.809559187 {{{494.375671,224.680908}, {494.375397,224.67955}, {494.376495,224.683868}}} {{494.376038,224.682449}} wtTs[1]=0.924341302 {{494.376221,224.683273}} wnTs[0]=0 {{{494.376038,224.682449}, {494.376221,224.683273}}} wnTs[1]=1
addT insert t=0.924341302 segID=12 spanID=44
debugShowLineIntersection no intersect {{{494.376038,224.682449}, {494.376221,224.683273}}} {{{513.900024,224.999985}, {494.348663,224.583771}}}
debugShowLineIntersection wtTs[0]=1 {{{494.376221,224.683273}, {494.376007,224.682281}}} {{494.376007,224.682281}} wnTs[0]=0 {{{494.376007,224.682281}, {494.375671,224.680908}}}
debugShowQuadLineIntersection wtTs[0]=0.783538464 {{{494.375671,224.680908}, {494.375397,224.67955}, {494.376495,224.683868}}} {{494.376007,224.682281}} wtTs[1]=0.924438181 {{494.376221,224.683273}} wnTs[0]=1 {{{494.376221,224.683273}, {494.376007,224.682281}}} wnTs[1]=0
debugShowLineIntersection no intersect {{{494.376221,224.683273}, {494.376007,224.682281}}} {{{513.900024,224.999985}, {494.348663,224.583771}}}
debugShowQuadLineIntersection wtTs[0]=0 {{{494.375671,224.680908}, {494.375397,224.67955}, {494.376495,224.683868}}} {{494.375671,224.680908}} wtTs[1]=0.783197805 {{494.376007,224.682281}} wnTs[0]=1 {{{494.376007,224.682281}, {494.375671,224.680908}}} wnTs[1]=0
debugShowLineIntersection no intersect {{{494.376007,224.682281}, {494.375671,224.680908}}} {{{513.900024,224.999985}, {494.348663,224.583771}}}
debugShowQuadIntersection wtTs[0]=1 {{{494.375671,224.680908}, {494.375397,224.67955}, {494.376495,224.683868}}} {{494.376495,224.683868}} wnTs[0]=0 {{{494.376495,224.683868}, {494.634338,225.414886}, {494.895874,225.840698}}}
debugShowQuadLineIntersection no intersect {{{494.375671,224.680908}, {494.375397,224.67955}, {494.376495,224.683868}}} {{{513.900024,224.999985}, {494.348663,224.583771}}}
debugShowQuadIntersection wtTs[0]=1 {{{494.376495,224.683868}, {494.634338,225.414886}, {494.895874,225.840698}}} {{494.895874,225.840698}} wnTs[0]=0 {{{494.895874,225.840698}, {495.737305,227.210602}, {497.243317,227.90419}}}
debugShowQuadLineIntersection no intersect {{{494.376495,224.683868}, {494.634338,225.414886}, {494.895874,225.840698}}} {{{513.900024,224.999985}, {494.348663,224.583771}}}
debugShowQuadIntersection wtTs[0]=1 {{{494.895874,225.840698}, {495.737305,227.210602}, {497.243317,227.90419}}} {{497.243317,227.90419}} wnTs[0]=0 {{{497.243317,227.90419}, {502.478027,230.314941}, {513.407471,224.129684}}}
debugShowQuadLineIntersection wtTs[0]=1 {{{497.243317,227.90419}, {502.478027,230.314941}, {513.407471,224.129684}}} {{513.407471,224.129684}} wnTs[0]=0 {{{513.407471,224.129684}, {513.900024,224.999985}}}
debugShowQuadLineIntersection wtTs[0]=0.929653854 {{{497.243317,227.90419}, {502.478027,230.314941}, {513.407471,224.129684}}} {{511.897949,224.957367}} wnTs[0]=0.1024 {{{513.900024,224.999985}, {494.348663,224.583771}}}
addT insert t=0.929653854 segID=15 spanID=45
addT insert t=0.102400099 segID=17 spanID=46
debugShowLineIntersection wtTs[0]=1 {{{513.407471,224.129684}, {513.900024,224.999985}}} {{513.900024,224.999985}} wnTs[0]=0 {{{513.900024,224.999985}, {494.348663,224.583771}}}
--x--x---------xx-x--x------------x  start
00:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
01:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
02:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
03:  coinSeg/Span/PtT=12/23/23 endSpan=43 oppSeg/Span/PtT=11/22/22 oppEndSpan=21 MissingCoin
04:  coinSeg/Span/PtT=11/21/21 endSpan=22 oppSeg/Span/PtT=12/43/43 oppEndSpan=23 MissingCoin
05:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
06:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
07:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
08:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
09:  coinSeg/Span/PtT=12/23/23 endSpan=43 oppSeg/Span/PtT=11/22/22 oppEndSpan=21 MissingCoin
10:  coinSeg/Span/PtT=11/21/21 endSpan=22 oppSeg/Span/PtT=12/43/43 oppEndSpan=23 MissingCoin
11:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
12:  segment=12 AddExpandedFail
13:  segment=12 startT=0 endT=0.809546 segment=11 oppStartT=1 oppEndT=0 AddMissingCoin
14:  segment=12 AddExpandedFail
15:  segment=12 startT=0 endT=0.809546 segment=11 oppStartT=1 oppEndT=0 AddMissingCoin
16:  seg/base=10/19 seg/base=12/43 MarkCoinStart
17:  seg/base=10/20 seg/base=12/44 MarkCoinEnd
18:  seg/base=9/17 seg/base=12/43 MarkCoinStart
19:  seg/base=9/18 seg/base=12/44 MarkCoinEnd
20:  seg/base=9/17 seg/base=10/19 MarkCoinStart
21:  seg/base=9/18 seg/base=10/20 MarkCoinEnd
22:  seg/base=8/42 seg/base=12/23 MarkCoinStart
23:  seg/base=8/16 seg/base=12/43 MarkCoinEnd
24:  seg/base=8/42 seg/base=11/21 MarkCoinStart
25:  seg/base=8/16 seg/base=11/22 MarkCoinEnd
26:  seg/base=12/23 seg/base=1/39 MarkCoinStart
27:  seg/base=12/24 seg/base=1/2 MarkCoinEnd
28:  seg/base=1/37 MarkCoinInsert
29:  seg/base=1/38 MarkCoinInsert
30:  seg/base=12/43 MarkCoinInsert
31:  seg/base=12/44 MarkCoinInsert
32:  seg/base=11/21 seg/base=1/39 MarkCoinStart
33:  seg/base=11/22 seg/base=1/37 MarkCoinEnd
34:  seg/base=10/19 seg/base=1/37 MarkCoinStart
35:  seg/base=10/20 seg/base=1/38 MarkCoinEnd
36:  seg/base=9/17 seg/base=1/37 MarkCoinStart
37:  seg/base=9/18 seg/base=1/38 MarkCoinEnd
38:  seg/base=8/15 seg/base=1/36 MarkCoinStart
39:  seg/base=8/16 seg/base=1/37 MarkCoinEnd
40:  seg/base=1/39 MarkCoinInsert
41:  seg/base=8/42 MarkCoinInsert
42:  seg/base=7/13 seg/base=1/35 MarkCoinStart
43:  seg/base=7/14 seg/base=1/36 MarkCoinEnd
active after start:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
--x--x---------xx-x--x------------x  addExpanded
00:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
01:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
02:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
03:  coinSeg/Span/PtT=12/23/23 endSpan=43 oppSeg/Span/PtT=11/22/22 oppEndSpan=21 MissingCoin
04:  coinSeg/Span/PtT=11/21/21 endSpan=22 oppSeg/Span/PtT=12/43/43 oppEndSpan=23 MissingCoin
05:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
06:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
07:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
08:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
09:  coinSeg/Span/PtT=12/23/23 endSpan=43 oppSeg/Span/PtT=11/22/22 oppEndSpan=21 MissingCoin
10:  coinSeg/Span/PtT=11/21/21 endSpan=22 oppSeg/Span/PtT=12/43/43 oppEndSpan=23 MissingCoin
11:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
12:  segment=12 AddExpandedFail
13:  segment=12 startT=0 endT=0.809546 segment=11 oppStartT=1 oppEndT=0 AddMissingCoin
14:  segment=12 AddExpandedFail
15:  segment=12 startT=0 endT=0.809546 segment=11 oppStartT=1 oppEndT=0 AddMissingCoin
16:  seg/base=10/19 seg/base=12/43 MarkCoinStart
17:  seg/base=10/20 seg/base=12/44 MarkCoinEnd
18:  seg/base=9/17 seg/base=12/43 MarkCoinStart
19:  seg/base=9/18 seg/base=12/44 MarkCoinEnd
20:  seg/base=9/17 seg/base=10/19 MarkCoinStart
21:  seg/base=9/18 seg/base=10/20 MarkCoinEnd
22:  seg/base=8/42 seg/base=12/23 MarkCoinStart
23:  seg/base=8/16 seg/base=12/43 MarkCoinEnd
24:  seg/base=8/42 seg/base=11/21 MarkCoinStart
25:  seg/base=8/16 seg/base=11/22 MarkCoinEnd
26:  seg/base=12/23 seg/base=1/39 MarkCoinStart
27:  seg/base=12/24 seg/base=1/2 MarkCoinEnd
28:  seg/base=1/37 MarkCoinInsert
29:  seg/base=1/38 MarkCoinInsert
30:  seg/base=12/43 MarkCoinInsert
31:  seg/base=12/44 MarkCoinInsert
32:  seg/base=11/21 seg/base=1/39 MarkCoinStart
33:  seg/base=11/22 seg/base=1/37 MarkCoinEnd
34:  seg/base=10/19 seg/base=1/37 MarkCoinStart
35:  seg/base=10/20 seg/base=1/38 MarkCoinEnd
36:  seg/base=9/17 seg/base=1/37 MarkCoinStart
37:  seg/base=9/18 seg/base=1/38 MarkCoinEnd
38:  seg/base=8/15 seg/base=1/36 MarkCoinStart
39:  seg/base=8/16 seg/base=1/37 MarkCoinEnd
40:  seg/base=1/39 MarkCoinInsert
41:  seg/base=8/42 MarkCoinInsert
42:  seg/base=7/13 seg/base=1/35 MarkCoinStart
43:  seg/base=7/14 seg/base=1/36 MarkCoinEnd
active after addExpanded:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
--x--x---------xx-x--x------------x  moveMultiples
00:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
01:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
02:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
03:  coinSeg/Span/PtT=12/23/23 endSpan=43 oppSeg/Span/PtT=11/22/22 oppEndSpan=21 MissingCoin
04:  coinSeg/Span/PtT=11/21/21 endSpan=22 oppSeg/Span/PtT=12/43/43 oppEndSpan=23 MissingCoin
05:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
06:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
07:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
08:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
09:  coinSeg/Span/PtT=12/23/23 endSpan=43 oppSeg/Span/PtT=11/22/22 oppEndSpan=21 MissingCoin
10:  coinSeg/Span/PtT=11/21/21 endSpan=22 oppSeg/Span/PtT=12/43/43 oppEndSpan=23 MissingCoin
11:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
12:  segment=12 AddExpandedFail
13:  segment=12 startT=0 endT=0.809546 segment=11 oppStartT=1 oppEndT=0 AddMissingCoin
14:  segment=12 AddExpandedFail
15:  segment=12 startT=0 endT=0.809546 segment=11 oppStartT=1 oppEndT=0 AddMissingCoin
16:  seg/base=10/19 seg/base=12/43 MarkCoinStart
17:  seg/base=10/20 seg/base=12/44 MarkCoinEnd
18:  seg/base=9/17 seg/base=12/43 MarkCoinStart
19:  seg/base=9/18 seg/base=12/44 MarkCoinEnd
20:  seg/base=9/17 seg/base=10/19 MarkCoinStart
21:  seg/base=9/18 seg/base=10/20 MarkCoinEnd
22:  seg/base=8/42 seg/base=12/23 MarkCoinStart
23:  seg/base=8/16 seg/base=12/43 MarkCoinEnd
24:  seg/base=8/42 seg/base=11/21 MarkCoinStart
25:  seg/base=8/16 seg/base=11/22 MarkCoinEnd
26:  seg/base=12/23 seg/base=1/39 MarkCoinStart
27:  seg/base=12/24 seg/base=1/2 MarkCoinEnd
28:  seg/base=1/37 MarkCoinInsert
29:  seg/base=1/38 MarkCoinInsert
30:  seg/base=12/43 MarkCoinInsert
31:  seg/base=12/44 MarkCoinInsert
32:  seg/base=11/21 seg/base=1/39 MarkCoinStart
33:  seg/base=11/22 seg/base=1/37 MarkCoinEnd
34:  seg/base=10/19 seg/base=1/37 MarkCoinStart
35:  seg/base=10/20 seg/base=1/38 MarkCoinEnd
36:  seg/base=9/17 seg/base=1/37 MarkCoinStart
37:  seg/base=9/18 seg/base=1/38 MarkCoinEnd
38:  seg/base=8/15 seg/base=1/36 MarkCoinStart
39:  seg/base=8/16 seg/base=1/37 MarkCoinEnd
40:  seg/base=1/39 MarkCoinInsert
41:  seg/base=8/42 MarkCoinInsert
42:  seg/base=7/13 seg/base=1/35 MarkCoinStart
43:  seg/base=7/14 seg/base=1/36 MarkCoinEnd
active after moveMultiples:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
--x--x---------xx-x--x------------x  moveNearby
00:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
01:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
02:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
03:  coinSeg/Span/PtT=12/23/23 endSpan=43 oppSeg/Span/PtT=11/22/22 oppEndSpan=21 MissingCoin
04:  coinSeg/Span/PtT=11/21/21 endSpan=22 oppSeg/Span/PtT=12/43/43 oppEndSpan=23 MissingCoin
05:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
06:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
07:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
08:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
09:  coinSeg/Span/PtT=12/23/23 endSpan=43 oppSeg/Span/PtT=11/22/22 oppEndSpan=21 MissingCoin
10:  coinSeg/Span/PtT=11/21/21 endSpan=22 oppSeg/Span/PtT=12/43/43 oppEndSpan=23 MissingCoin
11:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
12:  segment=12 AddExpandedFail
13:  segment=12 startT=0 endT=0.809546 segment=11 oppStartT=1 oppEndT=0 AddMissingCoin
14:  segment=12 AddExpandedFail
15:  segment=12 startT=0 endT=0.809546 segment=11 oppStartT=1 oppEndT=0 AddMissingCoin
16:  seg/base=10/19 seg/base=12/43 MarkCoinStart
17:  seg/base=10/20 seg/base=12/44 MarkCoinEnd
18:  seg/base=9/17 seg/base=12/43 MarkCoinStart
19:  seg/base=9/18 seg/base=12/44 MarkCoinEnd
20:  seg/base=9/17 seg/base=10/19 MarkCoinStart
21:  seg/base=9/18 seg/base=10/20 MarkCoinEnd
22:  seg/base=8/42 seg/base=12/23 MarkCoinStart
23:  seg/base=8/16 seg/base=12/43 MarkCoinEnd
24:  seg/base=8/42 seg/base=11/21 MarkCoinStart
25:  seg/base=8/16 seg/base=11/22 MarkCoinEnd
26:  seg/base=12/23 seg/base=1/39 MarkCoinStart
27:  seg/base=12/24 seg/base=1/2 MarkCoinEnd
28:  seg/base=1/37 MarkCoinInsert
29:  seg/base=1/38 MarkCoinInsert
30:  seg/base=12/43 MarkCoinInsert
31:  seg/base=12/44 MarkCoinInsert
32:  seg/base=11/21 seg/base=1/39 MarkCoinStart
33:  seg/base=11/22 seg/base=1/37 MarkCoinEnd
34:  seg/base=10/19 seg/base=1/37 MarkCoinStart
35:  seg/base=10/20 seg/base=1/38 MarkCoinEnd
36:  seg/base=9/17 seg/base=1/37 MarkCoinStart
37:  seg/base=9/18 seg/base=1/38 MarkCoinEnd
38:  seg/base=8/15 seg/base=1/36 MarkCoinStart
39:  seg/base=8/16 seg/base=1/37 MarkCoinEnd
40:  seg/base=1/39 MarkCoinInsert
41:  seg/base=8/42 MarkCoinInsert
42:  seg/base=7/13 seg/base=1/35 MarkCoinStart
43:  seg/base=7/14 seg/base=1/36 MarkCoinEnd
active after moveNearby:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
--x--x---------xx-x--x------------x  addEndMovedSpans
00:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
01:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
02:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
03:  coinSeg/Span/PtT=12/23/23 endSpan=43 oppSeg/Span/PtT=11/22/22 oppEndSpan=21 MissingCoin
04:  coinSeg/Span/PtT=11/21/21 endSpan=22 oppSeg/Span/PtT=12/43/43 oppEndSpan=23 MissingCoin
05:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
06:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
07:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
08:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
09:  coinSeg/Span/PtT=12/23/23 endSpan=43 oppSeg/Span/PtT=11/22/22 oppEndSpan=21 MissingCoin
10:  coinSeg/Span/PtT=11/21/21 endSpan=22 oppSeg/Span/PtT=12/43/43 oppEndSpan=23 MissingCoin
11:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
12:  segment=12 AddExpandedFail
13:  segment=12 startT=0 endT=0.809546 segment=11 oppStartT=1 oppEndT=0 AddMissingCoin
14:  segment=12 AddExpandedFail
15:  segment=12 startT=0 endT=0.809546 segment=11 oppStartT=1 oppEndT=0 AddMissingCoin
16:  seg/base=10/19 seg/base=12/43 MarkCoinStart
17:  seg/base=10/20 seg/base=12/44 MarkCoinEnd
18:  seg/base=9/17 seg/base=12/43 MarkCoinStart
19:  seg/base=9/18 seg/base=12/44 MarkCoinEnd
20:  seg/base=9/17 seg/base=10/19 MarkCoinStart
21:  seg/base=9/18 seg/base=10/20 MarkCoinEnd
22:  seg/base=8/42 seg/base=12/23 MarkCoinStart
23:  seg/base=8/16 seg/base=12/43 MarkCoinEnd
24:  seg/base=8/42 seg/base=11/21 MarkCoinStart
25:  seg/base=8/16 seg/base=11/22 MarkCoinEnd
26:  seg/base=12/23 seg/base=1/39 MarkCoinStart
27:  seg/base=12/24 seg/base=1/2 MarkCoinEnd
28:  seg/base=1/37 MarkCoinInsert
29:  seg/base=1/38 MarkCoinInsert
30:  seg/base=12/43 MarkCoinInsert
31:  seg/base=12/44 MarkCoinInsert
32:  seg/base=11/21 seg/base=1/39 MarkCoinStart
33:  seg/base=11/22 seg/base=1/37 MarkCoinEnd
34:  seg/base=10/19 seg/base=1/37 MarkCoinStart
35:  seg/base=10/20 seg/base=1/38 MarkCoinEnd
36:  seg/base=9/17 seg/base=1/37 MarkCoinStart
37:  seg/base=9/18 seg/base=1/38 MarkCoinEnd
38:  seg/base=8/15 seg/base=1/36 MarkCoinStart
39:  seg/base=8/16 seg/base=1/37 MarkCoinEnd
40:  seg/base=1/39 MarkCoinInsert
41:  seg/base=8/42 MarkCoinInsert
42:  seg/base=7/13 seg/base=1/35 MarkCoinStart
43:  seg/base=7/14 seg/base=1/36 MarkCoinEnd
active after addEndMovedSpans:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
coinSpan - id=11 t=0 tEnd=1
coinSpan + id=12 t=0.809546276 tEnd=0
---------------xx-x--x-------------  addMissing
00:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
01:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
02:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
03:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
04:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
05:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
06:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
07:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
08:  seg/base=11/21 seg/base=12/23 MarkCoinStart
09:  seg/base=11/22 seg/base=12/43 MarkCoinEnd
10:  seg/base=10/19 seg/base=12/43 MarkCoinStart
11:  seg/base=10/20 seg/base=12/44 MarkCoinEnd
12:  seg/base=9/17 seg/base=12/43 MarkCoinStart
13:  seg/base=9/18 seg/base=12/44 MarkCoinEnd
14:  seg/base=9/17 seg/base=10/19 MarkCoinStart
15:  seg/base=9/18 seg/base=10/20 MarkCoinEnd
16:  seg/base=8/42 seg/base=12/23 MarkCoinStart
17:  seg/base=8/16 seg/base=12/43 MarkCoinEnd
18:  seg/base=8/42 seg/base=11/21 MarkCoinStart
19:  seg/base=8/16 seg/base=11/22 MarkCoinEnd
20:  seg/base=12/23 seg/base=1/39 MarkCoinStart
21:  seg/base=12/24 seg/base=1/2 MarkCoinEnd
22:  seg/base=1/37 MarkCoinInsert
23:  seg/base=1/38 MarkCoinInsert
24:  seg/base=12/43 MarkCoinInsert
25:  seg/base=12/44 MarkCoinInsert
26:  seg/base=11/21 seg/base=1/39 MarkCoinStart
27:  seg/base=11/22 seg/base=1/37 MarkCoinEnd
28:  seg/base=10/19 seg/base=1/37 MarkCoinStart
29:  seg/base=10/20 seg/base=1/38 MarkCoinEnd
30:  seg/base=9/17 seg/base=1/37 MarkCoinStart
31:  seg/base=9/18 seg/base=1/38 MarkCoinEnd
32:  seg/base=8/15 seg/base=1/36 MarkCoinStart
33:  seg/base=8/16 seg/base=1/37 MarkCoinEnd
34:  seg/base=1/39 MarkCoinInsert
35:  seg/base=8/42 MarkCoinInsert
36:  seg/base=7/13 seg/base=1/35 MarkCoinStart
37:  seg/base=7/14 seg/base=1/36 MarkCoinEnd
active after addMissing:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
---------------xx-x--x-------------  moveNearby
00:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
01:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
02:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
03:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
04:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
05:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
06:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
07:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
08:  seg/base=11/21 seg/base=12/23 MarkCoinStart
09:  seg/base=11/22 seg/base=12/43 MarkCoinEnd
10:  seg/base=10/19 seg/base=12/43 MarkCoinStart
11:  seg/base=10/20 seg/base=12/44 MarkCoinEnd
12:  seg/base=9/17 seg/base=12/43 MarkCoinStart
13:  seg/base=9/18 seg/base=12/44 MarkCoinEnd
14:  seg/base=9/17 seg/base=10/19 MarkCoinStart
15:  seg/base=9/18 seg/base=10/20 MarkCoinEnd
16:  seg/base=8/42 seg/base=12/23 MarkCoinStart
17:  seg/base=8/16 seg/base=12/43 MarkCoinEnd
18:  seg/base=8/42 seg/base=11/21 MarkCoinStart
19:  seg/base=8/16 seg/base=11/22 MarkCoinEnd
20:  seg/base=12/23 seg/base=1/39 MarkCoinStart
21:  seg/base=12/24 seg/base=1/2 MarkCoinEnd
22:  seg/base=1/37 MarkCoinInsert
23:  seg/base=1/38 MarkCoinInsert
24:  seg/base=12/43 MarkCoinInsert
25:  seg/base=12/44 MarkCoinInsert
26:  seg/base=11/21 seg/base=1/39 MarkCoinStart
27:  seg/base=11/22 seg/base=1/37 MarkCoinEnd
28:  seg/base=10/19 seg/base=1/37 MarkCoinStart
29:  seg/base=10/20 seg/base=1/38 MarkCoinEnd
30:  seg/base=9/17 seg/base=1/37 MarkCoinStart
31:  seg/base=9/18 seg/base=1/38 MarkCoinEnd
32:  seg/base=8/15 seg/base=1/36 MarkCoinStart
33:  seg/base=8/16 seg/base=1/37 MarkCoinEnd
34:  seg/base=1/39 MarkCoinInsert
35:  seg/base=8/42 MarkCoinInsert
36:  seg/base=7/13 seg/base=1/35 MarkCoinStart
37:  seg/base=7/14 seg/base=1/36 MarkCoinEnd
active after moveNearby:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
---------------xx-x--x-------------  addMissing2
00:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
01:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
02:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
03:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
04:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
05:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
06:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
07:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
08:  seg/base=11/21 seg/base=12/23 MarkCoinStart
09:  seg/base=11/22 seg/base=12/43 MarkCoinEnd
10:  seg/base=10/19 seg/base=12/43 MarkCoinStart
11:  seg/base=10/20 seg/base=12/44 MarkCoinEnd
12:  seg/base=9/17 seg/base=12/43 MarkCoinStart
13:  seg/base=9/18 seg/base=12/44 MarkCoinEnd
14:  seg/base=9/17 seg/base=10/19 MarkCoinStart
15:  seg/base=9/18 seg/base=10/20 MarkCoinEnd
16:  seg/base=8/42 seg/base=12/23 MarkCoinStart
17:  seg/base=8/16 seg/base=12/43 MarkCoinEnd
18:  seg/base=8/42 seg/base=11/21 MarkCoinStart
19:  seg/base=8/16 seg/base=11/22 MarkCoinEnd
20:  seg/base=12/23 seg/base=1/39 MarkCoinStart
21:  seg/base=12/24 seg/base=1/2 MarkCoinEnd
22:  seg/base=1/37 MarkCoinInsert
23:  seg/base=1/38 MarkCoinInsert
24:  seg/base=12/43 MarkCoinInsert
25:  seg/base=12/44 MarkCoinInsert
26:  seg/base=11/21 seg/base=1/39 MarkCoinStart
27:  seg/base=11/22 seg/base=1/37 MarkCoinEnd
28:  seg/base=10/19 seg/base=1/37 MarkCoinStart
29:  seg/base=10/20 seg/base=1/38 MarkCoinEnd
30:  seg/base=9/17 seg/base=1/37 MarkCoinStart
31:  seg/base=9/18 seg/base=1/38 MarkCoinEnd
32:  seg/base=8/15 seg/base=1/36 MarkCoinStart
33:  seg/base=8/16 seg/base=1/37 MarkCoinEnd
34:  seg/base=1/39 MarkCoinInsert
35:  seg/base=8/42 MarkCoinInsert
36:  seg/base=7/13 seg/base=1/35 MarkCoinStart
37:  seg/base=7/14 seg/base=1/36 MarkCoinEnd
active after addMissing2:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
---------------xx-x--x-------------  moveNearby2
00:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
01:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
02:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
03:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
04:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
05:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
06:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
07:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
08:  seg/base=11/21 seg/base=12/23 MarkCoinStart
09:  seg/base=11/22 seg/base=12/43 MarkCoinEnd
10:  seg/base=10/19 seg/base=12/43 MarkCoinStart
11:  seg/base=10/20 seg/base=12/44 MarkCoinEnd
12:  seg/base=9/17 seg/base=12/43 MarkCoinStart
13:  seg/base=9/18 seg/base=12/44 MarkCoinEnd
14:  seg/base=9/17 seg/base=10/19 MarkCoinStart
15:  seg/base=9/18 seg/base=10/20 MarkCoinEnd
16:  seg/base=8/42 seg/base=12/23 MarkCoinStart
17:  seg/base=8/16 seg/base=12/43 MarkCoinEnd
18:  seg/base=8/42 seg/base=11/21 MarkCoinStart
19:  seg/base=8/16 seg/base=11/22 MarkCoinEnd
20:  seg/base=12/23 seg/base=1/39 MarkCoinStart
21:  seg/base=12/24 seg/base=1/2 MarkCoinEnd
22:  seg/base=1/37 MarkCoinInsert
23:  seg/base=1/38 MarkCoinInsert
24:  seg/base=12/43 MarkCoinInsert
25:  seg/base=12/44 MarkCoinInsert
26:  seg/base=11/21 seg/base=1/39 MarkCoinStart
27:  seg/base=11/22 seg/base=1/37 MarkCoinEnd
28:  seg/base=10/19 seg/base=1/37 MarkCoinStart
29:  seg/base=10/20 seg/base=1/38 MarkCoinEnd
30:  seg/base=9/17 seg/base=1/37 MarkCoinStart
31:  seg/base=9/18 seg/base=1/38 MarkCoinEnd
32:  seg/base=8/15 seg/base=1/36 MarkCoinStart
33:  seg/base=8/16 seg/base=1/37 MarkCoinEnd
34:  seg/base=1/39 MarkCoinInsert
35:  seg/base=8/42 MarkCoinInsert
36:  seg/base=7/13 seg/base=1/35 MarkCoinStart
37:  seg/base=7/14 seg/base=1/36 MarkCoinEnd
active after moveNearby2:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
---------------xx-x--x-------------  expand2
00:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
01:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
02:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
03:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
04:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
05:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
06:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
07:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
08:  seg/base=11/21 seg/base=12/23 MarkCoinStart
09:  seg/base=11/22 seg/base=12/43 MarkCoinEnd
10:  seg/base=10/19 seg/base=12/43 MarkCoinStart
11:  seg/base=10/20 seg/base=12/44 MarkCoinEnd
12:  seg/base=9/17 seg/base=12/43 MarkCoinStart
13:  seg/base=9/18 seg/base=12/44 MarkCoinEnd
14:  seg/base=9/17 seg/base=10/19 MarkCoinStart
15:  seg/base=9/18 seg/base=10/20 MarkCoinEnd
16:  seg/base=8/42 seg/base=12/23 MarkCoinStart
17:  seg/base=8/16 seg/base=12/43 MarkCoinEnd
18:  seg/base=8/42 seg/base=11/21 MarkCoinStart
19:  seg/base=8/16 seg/base=11/22 MarkCoinEnd
20:  seg/base=12/23 seg/base=1/39 MarkCoinStart
21:  seg/base=12/24 seg/base=1/2 MarkCoinEnd
22:  seg/base=1/37 MarkCoinInsert
23:  seg/base=1/38 MarkCoinInsert
24:  seg/base=12/43 MarkCoinInsert
25:  seg/base=12/44 MarkCoinInsert
26:  seg/base=11/21 seg/base=1/39 MarkCoinStart
27:  seg/base=11/22 seg/base=1/37 MarkCoinEnd
28:  seg/base=10/19 seg/base=1/37 MarkCoinStart
29:  seg/base=10/20 seg/base=1/38 MarkCoinEnd
30:  seg/base=9/17 seg/base=1/37 MarkCoinStart
31:  seg/base=9/18 seg/base=1/38 MarkCoinEnd
32:  seg/base=8/15 seg/base=1/36 MarkCoinStart
33:  seg/base=8/16 seg/base=1/37 MarkCoinEnd
34:  seg/base=1/39 MarkCoinInsert
35:  seg/base=8/42 MarkCoinInsert
36:  seg/base=7/13 seg/base=1/35 MarkCoinStart
37:  seg/base=7/14 seg/base=1/36 MarkCoinEnd
active after expand2:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
---------------xx-x--x-------------  addExpanded3
00:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
01:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
02:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
03:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
04:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
05:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
06:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
07:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
08:  seg/base=11/21 seg/base=12/23 MarkCoinStart
09:  seg/base=11/22 seg/base=12/43 MarkCoinEnd
10:  seg/base=10/19 seg/base=12/43 MarkCoinStart
11:  seg/base=10/20 seg/base=12/44 MarkCoinEnd
12:  seg/base=9/17 seg/base=12/43 MarkCoinStart
13:  seg/base=9/18 seg/base=12/44 MarkCoinEnd
14:  seg/base=9/17 seg/base=10/19 MarkCoinStart
15:  seg/base=9/18 seg/base=10/20 MarkCoinEnd
16:  seg/base=8/42 seg/base=12/23 MarkCoinStart
17:  seg/base=8/16 seg/base=12/43 MarkCoinEnd
18:  seg/base=8/42 seg/base=11/21 MarkCoinStart
19:  seg/base=8/16 seg/base=11/22 MarkCoinEnd
20:  seg/base=12/23 seg/base=1/39 MarkCoinStart
21:  seg/base=12/24 seg/base=1/2 MarkCoinEnd
22:  seg/base=1/37 MarkCoinInsert
23:  seg/base=1/38 MarkCoinInsert
24:  seg/base=12/43 MarkCoinInsert
25:  seg/base=12/44 MarkCoinInsert
26:  seg/base=11/21 seg/base=1/39 MarkCoinStart
27:  seg/base=11/22 seg/base=1/37 MarkCoinEnd
28:  seg/base=10/19 seg/base=1/37 MarkCoinStart
29:  seg/base=10/20 seg/base=1/38 MarkCoinEnd
30:  seg/base=9/17 seg/base=1/37 MarkCoinStart
31:  seg/base=9/18 seg/base=1/38 MarkCoinEnd
32:  seg/base=8/15 seg/base=1/36 MarkCoinStart
33:  seg/base=8/16 seg/base=1/37 MarkCoinEnd
34:  seg/base=1/39 MarkCoinInsert
35:  seg/base=8/42 MarkCoinInsert
36:  seg/base=7/13 seg/base=1/35 MarkCoinStart
37:  seg/base=7/14 seg/base=1/36 MarkCoinEnd
active after addExpanded3:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
---------------------x-------------  mark1
00:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
01:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
02:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
03:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
04:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=1/2/2 oppEndSpan=38 MissingCoin
05:  coinSeg/Span/PtT=12/44/44 endSpan=24 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
06:  coinSeg/Span/PtT=1/38/38 endSpan=2 oppSeg/Span/PtT=2/40/40 oppEndSpan=3 MissingCoin
07:  coinSeg/Span/PtT=2/3/3 endSpan=40 oppSeg/Span/PtT=12/24/24 oppEndSpan=44 MissingCoin
active after mark1:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
missingCoincidence coinSpan=3 endSpan=40 oppSpan=2 oppEndSpan=38
missingCoincidence coinSpan=44 endSpan=24 oppSpan=40 oppEndSpan=3
---------------x--x----------------  missingCoincidence1
00:  seg/base=12/44 seg/base=2/3 MarkCoinStart
01:  seg/base=12/24 seg/base=2/40 MarkCoinEnd
02:  seg/base=2/3 seg/base=1/38 MarkCoinStart
03:  seg/base=2/40 seg/base=1/2 MarkCoinEnd
active after missingCoincidence1:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
---------------x--x----------------  expand3
00:  seg/base=12/44 seg/base=2/3 MarkCoinStart
01:  seg/base=12/24 seg/base=2/40 MarkCoinEnd
02:  seg/base=2/3 seg/base=1/38 MarkCoinStart
03:  seg/base=2/40 seg/base=1/2 MarkCoinEnd
active after expand3:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
---------------x--x----------------  addExpanded3
00:  seg/base=12/44 seg/base=2/3 MarkCoinStart
01:  seg/base=12/24 seg/base=2/40 MarkCoinEnd
02:  seg/base=2/3 seg/base=1/38 MarkCoinStart
03:  seg/base=2/40 seg/base=1/2 MarkCoinEnd
active after addExpanded3:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
-----------------------------------  missingCoincidence3
active after missingCoincidence3:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
-----------------------------------  coincidence.reorder
active after coincidence.reorder:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.370148,224.657471 494.372825,224.668224 494.375275,224.679031 0.999938607f) t=0.737524311 tEnd=0.95041534 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375275,224.679031 494.375488,224.679966 494.375702,224.680908 0.999999523f) t=0.95041534 tEnd=0.968840505 windSum=? windValue=1
debugShowActiveSpans id=1 (494.375702,224.680908 494.375872,224.681675 494.376038,224.682449 0.999999702f) t=0.968840505 tEnd=0.984064836 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376038,224.682449 494.376136,224.68286 494.376221,224.683273 0.99999994f) t=0.984064836 tEnd=0.992175496 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.376404,224.684067 494.37619,224.6837 494.375977,224.683334) t=0 tEnd=0.000586871356 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=1
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=10 (494.376221,224.683273 494.376007,224.682281) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=11 (494.376007,224.682281 494.375671,224.680908) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=12 (494.375671,224.680908 494.375445,224.679787 494.376129,224.682434) t=0 tEnd=0.809546276 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376129,224.682434 494.376227,224.682801 494.376343,224.683243) t=0.809546276 tEnd=0.924341302 windSum=? windValue=1
debugShowActiveSpans id=12 (494.376343,224.683243 494.376415,224.683539 494.376495,224.683868) t=0.924341302 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
markDone id=12 (494.375671,224.680908 494.375397,224.67955 494.376495,224.683868) t=0.924341302 [44] (494.376343,224.683243) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
markDone id=2 (494.376404,224.684067 494.005188,224.055679 494.019165,224.046982) t=0 [3] (494.376404,224.684067) tEnd=0.000586871356 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
markDone id=11 (494.376007,224.682281 494.375671,224.680908) t=0 [21] (494.376007,224.682281) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
markDone id=12 (494.375671,224.680908 494.375397,224.67955 494.376495,224.683868) t=0 [23] (494.375671,224.680908) tEnd=0.809546276 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
markDone id=10 (494.376221,224.683273 494.376007,224.682281) t=0 [19] (494.376221,224.683273) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
markDone id=12 (494.375671,224.680908 494.375397,224.67955 494.376495,224.683868) t=0.809546276 [43] (494.376129,224.682434) tEnd=0.924341302 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
markDone id=1 (494.348663,224.583771 494.365143,224.633194 494.376404,224.684067) t=0.984064836 [37] (494.376038,224.682449) tEnd=0.992175496 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
markDone id=1 (494.348663,224.583771 494.365143,224.633194 494.376404,224.684067) t=0.95041534 [36] (494.375275,224.679031) tEnd=0.968840505 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
markDone id=1 (494.348663,224.583771 494.365143,224.633194 494.376404,224.684067) t=0.968840505 [39] (494.375702,224.680908) tEnd=0.984064836 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
markDone id=1 (494.348663,224.583771 494.365143,224.633194 494.376404,224.684067) t=0.737524311 [35] (494.370148,224.657471) tEnd=0.95041534 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
-----------------------------------  pairs->apply
active after pairs->apply:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=2
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=2
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=2
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=2
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
-----------------------------------  pairs->findOverlaps
active after pairs->findOverlaps:
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=2
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=2
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=2
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=2
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
sortAngles [1] tStart=0 [1]
after [1/1] 25/25 tStart=0 tEnd=0.737524311 < [5/7] 25/25 tStart=0.835281662 tEnd=1 < [5/6] 9/9 tStart=0.835281662 tEnd=0  T 12
afterPart {{{{494.348663,224.58374}, {494.360813,224.620178}, {494.370148,224.65744}}}, 0.999263287} id=1
afterPart {{{494.348663,224.58374}, {494.352356,224.594819}, {494.355774,224.605927}}} id=5
afterPart {{{494.348663,224.58374}, {494.329991,224.527724}, {494.30481,224.474213}}} id=5
after [1/1] 25/25 tStart=0 tEnd=0.737524311 < [17/22] 29/29 tStart=1 tEnd=0.102400099 < [5/7] 25/25 tStart=0.835281662 tEnd=1  T 5
afterPart {{{{494.348663,224.583771}, {494.360813,224.620209}, {494.370148,224.657471}}}, 0.999263287} id=1
afterPart {{{494.348663,224.583771}, {511.897949,224.957367}}} id=17
afterPart {{{494.348663,224.583771}, {494.352356,224.59485}, {494.355774,224.605957}}} id=5
sortAngles [1] tStart=0.737524311 [35]
after [1/2] 9/9 tStart=0.737524311 tEnd=0 < [7/9] 25/25 tStart=0 tEnd=1 < [6/8] 9/9 tStart=1 tEnd=0  T 5
afterPart {{{{494.370148,224.657471}, {494.360813,224.620209}, {494.348663,224.583771}}}, 0.999263287} id=1
afterPart {{{494.370148,224.657471}, {494.375275,224.679031}}} id=7
afterPart {{{494.370148,224.657471}, {494.363708,224.631714}, {494.355774,224.605927}}} id=6
sortAngles [1] tStart=0.992175496 [38]
after [1/3] 25/25 tStart=0.992175496 tEnd=1 < [9/16] 9/9 tStart=1 tEnd=0 < [2/5] 9/9 tStart=0.000586871356 tEnd=1  T 11
afterPart {{{{494.376221,224.683273}, {494.376404,224.684067}, {494.376404,224.684067}}}, 0.99999994} id=1
afterPart {{{494.376221,224.683273}, {494.376038,224.682449}}} id=9
afterPart {{{494.376221,224.683273}, {494.005444,224.055611}, {494.019409,224.046921}}} id=2
sortAngles [1] tStart=1 [2]
sortAngles [2] tStart=0.000586871356 [40]
sortAngles [5] tStart=0.835281662 [41]
sortAngles [6] tStart=1 [12]
sortAngles [7] tStart=0 [13]
sortAngles [7] tStart=1 [14]
sortAngles [8] tStart=0 [15]
sortAngles [8] tStart=0.547725719 [42]
sortAngles [8] tStart=1 [16]
sortAngles [9] tStart=0 [17]
sortAngles [9] tStart=1 [18]
sortAngles [13] tStart=0 [25]
sortAngles [15] tStart=0.929653854 [45]
after [15/18] 17/17 tStart=0.929653854 tEnd=0 < [17/20] 29/29 tStart=0.102400099 tEnd=0 < [15/19] 1/1 tStart=0.929653854 tEnd=1  T 4
afterPart {{{511.897949,224.957367}, {502.109781,230.145352}, {497.243317,227.90419}}} id=15
afterPart {{{511.897949,224.957367}, {513.900024,224.999985}}} id=17
afterPart {{{511.897949,224.957367}, {512.63876,224.564718}, {513.407471,224.129684}}} id=15
after [15/18] 17/17 tStart=0.929653854 tEnd=0 < [17/21] 13/13 tStart=0.102400099 tEnd=1 < [17/20] 29/29 tStart=0.102400099 tEnd=0  F 4
afterPart {{{511.897949,224.957367}, {502.109781,230.145352}, {497.243317,227.90419}}} id=15
afterPart {{{511.897949,224.957367}, {494.348663,224.583771}}} id=17
afterPart {{{511.897949,224.957367}, {513.900024,224.999985}}} id=17
after [17/20] 29/29 tStart=0.102400099 tEnd=0 < [17/21] 13/13 tStart=0.102400099 tEnd=1 < [15/19] 1/1 tStart=0.929653854 tEnd=1  F 4
afterPart {{{511.897949,224.957367}, {513.900024,224.999985}}} id=17
afterPart {{{511.897949,224.957367}, {494.348663,224.583771}}} id=17
afterPart {{{511.897949,224.957367}, {512.63876,224.564718}, {513.407471,224.129684}}} id=15
after [15/19] 1/1 tStart=0.929653854 tEnd=1 < [17/21] 13/13 tStart=0.102400099 tEnd=1 < [15/18] 17/17 tStart=0.929653854 tEnd=0  T 4
afterPart {{{511.897949,224.957367}, {512.63876,224.564718}, {513.407471,224.129684}}} id=15
afterPart {{{511.897949,224.957367}, {494.348663,224.583771}}} id=17
afterPart {{{511.897949,224.957367}, {502.109781,230.145352}, {497.243317,227.90419}}} id=15
sortAngles [17] tStart=0.102400099 [46]
sortAngles [17] tStart=1 [34]
coinSpan - id=12 t=0.924341302 tEnd=1
coinSpan + id=2 t=0.000586871356 tEnd=0
coinSpan - id=2 t=0 tEnd=0.000586871356
coinSpan + id=1 t=1 tEnd=0.992175496
coinSpan - id=11 t=0 tEnd=1
coinSpan + id=12 t=0.809546276 tEnd=0
coinSpan - id=10 t=0 tEnd=1
coinSpan + id=12 t=0.924341302 tEnd=0.809546276
coinSpan - id=9 t=0 tEnd=1
coinSpan + id=12 t=0.809546276 tEnd=0.924341302
coinSpan - id=9 t=0 tEnd=1
coinSpan + id=10 t=1 tEnd=0
coinSpan - id=8 t=0.547725719 tEnd=1
coinSpan + id=12 t=0 tEnd=0.809546276
coinSpan - id=8 t=0.547725719 tEnd=1
coinSpan + id=11 t=1 tEnd=0
coinSpan - id=12 t=0 tEnd=1
coinSpan + id=1 t=0.968840505 tEnd=1
coinSpan - id=11 t=0 tEnd=1
coinSpan + id=1 t=0.984064836 tEnd=0.968840505
coinSpan - id=10 t=0 tEnd=1
coinSpan + id=1 t=0.992175496 tEnd=0.984064836
coinSpan - id=9 t=0 tEnd=1
coinSpan + id=1 t=0.984064836 tEnd=0.992175496
coinSpan - id=8 t=0 tEnd=1
coinSpan + id=1 t=0.95041534 tEnd=0.984064836
coinSpan - id=7 t=0 tEnd=1
coinSpan + id=1 t=0.737524311 tEnd=0.95041534
debugShowActiveSpans id=1 (494.348663,224.583771 494.360813,224.620209 494.370148,224.657471 0.999263287f) t=0 tEnd=0.737524311 windSum=? windValue=1
debugShowActiveSpans id=1 (494.376221,224.683273 494.376316,224.683669 494.376404,224.684067 0.99999994f) t=0.992175496 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=2 (494.375977,224.683334 494.0052,224.055672 494.019165,224.046982) t=0.000586871356 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=5 (494.30481,224.474213 494.329991,224.527724 494.348663,224.58374) t=0 tEnd=0.835281662 windSum=? windValue=1
debugShowActiveSpans id=5 (494.348663,224.58374 494.352356,224.594819 494.355774,224.605927) t=0.835281662 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=7 (494.370148,224.657471 494.375275,224.679031) t=0 tEnd=1 windSum=? windValue=2
debugShowActiveSpans id=8 (494.375275,224.679031 494.375702,224.680908) t=0 tEnd=0.547725719 windSum=? windValue=2
debugShowActiveSpans id=8 (494.375702,224.680908 494.376038,224.682449) t=0.547725719 tEnd=1 windSum=? windValue=2
debugShowActiveSpans id=9 (494.376038,224.682449 494.376221,224.683273) t=0 tEnd=1 windSum=? windValue=2
debugShowActiveSpans id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=15 (497.243317,227.90419 502.109781,230.145352 511.897949,224.957367) t=0 tEnd=0.929653854 windSum=? windValue=1
debugShowActiveSpans id=15 (511.897949,224.957367 512.63876,224.564718 513.407471,224.129684) t=0.929653854 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=16 (513.407471,224.129684 513.900024,224.999985) t=0 tEnd=1 windSum=? windValue=1
debugShowActiveSpans id=17 (513.900024,224.999985 511.897949,224.957367) t=0 tEnd=0.102400099 windSum=? windValue=1
debugShowActiveSpans id=17 (511.897949,224.957367 494.348663,224.583771) t=0.102400099 tEnd=1 windSum=? windValue=1
sortableTop dir=kLeft seg=1 t=0.368762156 pt=(494.360107,224.620407)
sortableTop [0] valid=1 operand=0 span=40 ccw=1 seg=2 {{{494.376404f, 224.684067f}, {494.005188f, 224.055679f}, {494.019165f, 224.046982f}}} t=0.0519857546 pt=(494.338837,224.620407) slope=(-0.351191278,-0.596172402)
sortableTop [1] valid=0 operand=0 span=11 ccw=1 seg=6 {{{494.355774f, 224.605927f}, {494.363708f, 224.631714f}, {494.370148f, 224.657471f}}} t=0.280815892 pt=(494.360107,224.620407) slope=(0,0)
sortableTop [2] valid=1 operand=0 span=1 ccw=0 seg=1 {{{{494.348663f, 224.583771f}, {494.365143f, 224.633194f}, {494.376404f, 224.684067f}}}, 0.998645842f} t=0.368762156 pt=(494.360107,224.620407) slope=(0.0145441391,0.0499217341)
markWinding id=2 (494.376404,224.684067 494.005188,224.055679 494.019165,224.046982) t=0.000586871356 [40] (494.375977,224.683334) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
markWinding id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 [5] (494.019165,224.046982) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
markWinding id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 [7] (494.232056,224.345306) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
markWinding id=5 (494.30481,224.474213 494.334961,224.538284 494.355774,224.605927) t=0 [9] (494.30481,224.474213) tEnd=0.835281662 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
markWinding id=2 (494.376404,224.684067 494.005188,224.055679 494.019165,224.046982) t=0.000586871356 [40] (494.375977,224.683334) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
sortableTop dir=kLeft seg=1 t=0.996087748 pt=(494.376312,224.68367)
sortableTop [0] valid=1 operand=0 span=38 ccw=0 seg=1 {{{{494.348663f, 224.583771f}, {494.365143f, 224.633194f}, {494.376404f, 224.684067f}}}, 0.998645842f} t=0.996087748 pt=(494.376312,224.68367) slope=(0.011266272,0.0507987787)
markWinding id=1 (494.348663,224.583771 494.365143,224.633194 494.376404,224.684067) t=0.992175496 [38] (494.376221,224.683273) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
nextChase mismatched signs
markWinding id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 [25] (494.376495,224.683868) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
markWinding id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 [27] (494.895874,225.840698) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
markWinding id=15 (497.243317,227.90419 502.478027,230.314941 513.407471,224.129684) t=0 [29] (497.243317,227.90419) tEnd=0.929653854 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
markWinding id=1 (494.348663,224.583771 494.365143,224.633194 494.376404,224.684067) t=0.992175496 [38] (494.376221,224.683273) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
markWinding id=9 (494.376038,224.682449 494.376221,224.683273) t=0 [17] (494.376038,224.682449) tEnd=1 newWindSum=1 windSum=? windValue=2
nextChase mismatched signs
markWinding id=8 (494.375275,224.679031 494.376038,224.682449) t=0.547725719 [42] (494.375702,224.680908) tEnd=1 newWindSum=1 windSum=? windValue=2
nextChase mismatched signs
markWinding id=8 (494.375275,224.679031 494.376038,224.682449) t=0 [15] (494.375275,224.679031) tEnd=0.547725719 newWindSum=1 windSum=? windValue=2
nextChase mismatched signs
markWinding id=7 (494.370148,224.657471 494.375275,224.679031) t=0 [13] (494.370148,224.657471) tEnd=1 newWindSum=1 windSum=? windValue=2
markAngle last seg=7 span=13 windSum=1
findNextWinding
dumpOne [1/3] next=9/16 sect=25/25  s=0.992175496 [38] e=1 [2] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
dumpOne [9/16] next=2/5 sect=9/9  s=1 [18] e=0 [17] sgn=1 windVal=2 windSum=1
dumpOne [2/5] next=1/3 sect=9/9  s=0.000586871356 [40] e=1 [4] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0
markDone id=9 (494.376038,224.682449 494.376221,224.683273) t=0 [17] (494.376038,224.682449) tEnd=1 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=2 oppValue=0
nextChase mismatched signs
markDone id=8 (494.375275,224.679031 494.376038,224.682449) t=0.547725719 [42] (494.375702,224.680908) tEnd=1 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=2 oppValue=0
nextChase mismatched signs
markDone id=8 (494.375275,224.679031 494.376038,224.682449) t=0 [15] (494.375275,224.679031) tEnd=0.547725719 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=2 oppValue=0
nextChase mismatched signs
markDone id=7 (494.370148,224.657471 494.375275,224.679031) t=0 [13] (494.370148,224.657471) tEnd=1 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=2 oppValue=0
findNextWinding chase.append segment=7 span=13 windSum=1
markDone id=1 (494.348663,224.583771 494.365143,224.633194 494.376404,224.684067) t=0.992175496 [38] (494.376221,224.683273) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
findNextWinding from:[1] to:[2] start=83893016 end=83886272
bridgeWinding current id=1 from=(494.376404,224.684067) to=(494.376221,224.683273)
findNextWinding simple
markDone id=2 (494.376404,224.684067 494.005188,224.055679 494.019165,224.046982) t=0.000586871356 [40] (494.375977,224.683334) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
bridgeWinding current id=2 from=(494.375977,224.683334) to=(494.019165,224.046982)
path.moveTo(494.376404,224.684067);
path.lineTo(494.376221,224.683273);
path.quadTo(494.005188,224.055679, 494.019165,224.046982);
findNextWinding simple
markDone id=3 (494.019165,224.046982 494.029083,224.040833 494.232056,224.345306) t=0 [5] (494.019165,224.046982) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
bridgeWinding current id=3 from=(494.019165,224.046982) to=(494.232056,224.345306)
path.quadTo(494.029083,224.040833, 494.232056,224.345306);
findNextWinding simple
markDone id=4 (494.232056,224.345306 494.273193,224.406982 494.30481,224.474213) t=0 [7] (494.232056,224.345306) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
bridgeWinding current id=4 from=(494.232056,224.345306) to=(494.30481,224.474213)
path.quadTo(494.273193,224.406982, 494.30481,224.474213);
markWinding id=1 (494.348663,224.583771 494.365143,224.633194 494.376404,224.684067) t=0 [1] (494.348663,224.583771) tEnd=0.737524311 newWindSum=-1 windSum=? windValue=1
markAngle last seg=1 span=35 windSum=?
markWinding id=17 (513.900024,224.999985 494.348663,224.583771) t=0.102400099 [46] (511.897949,224.957367) tEnd=1 newWindSum=-1 windSum=? windValue=1
markAngle last seg=17 span=46 windSum=-1
markWinding id=5 (494.30481,224.474213 494.334961,224.538284 494.355774,224.605927) t=0.835281662 [41] (494.348663,224.58374) tEnd=1 newWindSum=-1 windSum=? windValue=1
markWinding id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 [11] (494.355774,224.605927) tEnd=1 newWindSum=-1 windSum=? windValue=1
markAngle last seg=6 span=12
findNextWinding
dumpOne [5/6] next=1/1 sect=9/9  s=0.835281662 [41] e=0 [9] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0
dumpOne [1/1] next=17/22 sect=25/25  s=0 [1] e=0.737524311 [35] sgn=-1 windVal=1 windSum=-1
dumpOne [17/22] next=5/7 sect=29/29  s=1 [34] e=0.102400099 [46] sgn=1 windVal=1 windSum=-1
dumpOne [5/7] next=5/6 sect=25/25  s=0.835281662 [41] e=1 [10] sgn=-1 windVal=1 windSum=-1
findNextWinding chase.append segment=1 span=35 windSum=-2147483647
findNextWinding chase.append segment=17 span=46 windSum=-1
findNextWinding chase.append segment=6 span=12
markDone id=5 (494.30481,224.474213 494.334961,224.538284 494.355774,224.605927) t=0 [9] (494.30481,224.474213) tEnd=0.835281662 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
findNextWinding from:[5] to:[1] start=4281728 end=83891960
bridgeWinding current id=5 from=(494.30481,224.474213) to=(494.348663,224.58374)
path.quadTo(494.329987,224.527725, 494.348663,224.58374);
findNextWinding
dumpOne [1/2] next=7/9 sect=9/9  s=0.737524311 [35] e=0 [1] sgn=1 windVal=1 windSum=-1
dumpOne [7/9] next=6/8 sect=25/25  s=0 [13] e=1 [14] sgn=-1 windVal=2 windSum=1 done
dumpOne [6/8] next=1/2 sect=9/9  s=1 [12] e=0 [11] sgn=1 windVal=1 windSum=-1
markDone id=1 (494.348663,224.583771 494.365143,224.633194 494.376404,224.684067) t=0 [1] (494.348663,224.583771) tEnd=0.737524311 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
findNextWinding from:[1] to:[6] start=83887544 end=83887400
bridgeWinding current id=1 from=(494.348663,224.583771) to=(494.370148,224.657471)
path.conicTo(494.360809,224.620209, 494.370148,224.657471, 0.999263287);
findNextWinding simple
markDone id=6 (494.355774,224.605927 494.363708,224.631714 494.370148,224.657471) t=0 [11] (494.355774,224.605927) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
bridgeWinding current id=6 from=(494.370148,224.657471) to=(494.355774,224.605927)
path.quadTo(494.363708,224.631714, 494.355774,224.605927);
findNextWinding
dumpOne [5/7] next=5/6 sect=25/25  s=0.835281662 [41] e=1 [10] sgn=-1 windVal=1 windSum=-1
dumpOne [5/6] next=1/1 sect=9/9  s=0.835281662 [41] e=0 [9] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
dumpOne [1/1] next=17/22 sect=25/25  s=0 [1] e=0.737524311 [35] sgn=-1 windVal=1 windSum=-1 done
dumpOne [17/22] next=5/7 sect=29/29  s=1 [34] e=0.102400099 [46] sgn=1 windVal=1 windSum=-1
markDone id=5 (494.30481,224.474213 494.334961,224.538284 494.355774,224.605927) t=0.835281662 [41] (494.348663,224.58374) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
findNextWinding from:[5] to:[17] start=83891792 end=83894160
bridgeWinding current id=5 from=(494.355774,224.605927) to=(494.348663,224.58374)
path.quadTo(494.352356,224.594818, 494.348663,224.58374);
markWinding id=17 (513.900024,224.999985 494.348663,224.583771) t=0 [33] (513.900024,224.999985) tEnd=0.102400099 newWindSum=-1 windSum=? windValue=1
markWinding id=16 (513.407471,224.129684 513.900024,224.999985) t=0 [31] (513.407471,224.129684) tEnd=1 newWindSum=-1 windSum=? windValue=1
markWinding id=15 (497.243317,227.90419 502.478027,230.314941 513.407471,224.129684) t=0.929653854 [45] (511.897949,224.957367) tEnd=1 newWindSum=-1 windSum=? windValue=1
markAngle last seg=15 span=45 windSum=-1
findNextWinding
dumpOne [17/21] next=15/18 sect=13/13  s=0.102400099 [46] e=1 [34] sgn=-1 windVal=1 windSum=-1
dumpOne [15/18] next=17/20 sect=17/17  s=0.929653854 [45] e=0 [29] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
dumpOne [17/20] next=15/19 sect=29/29  s=0.102400099 [46] e=0 [33] sgn=1 windVal=1 windSum=-1
dumpOne [15/19] next=17/21 sect=1/1  s=0.929653854 [45] e=1 [30] sgn=-1 windVal=1 windSum=-1
markDone id=17 (513.900024,224.999985 494.348663,224.583771) t=0 [33] (513.900024,224.999985) tEnd=0.102400099 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
markDone id=16 (513.407471,224.129684 513.900024,224.999985) t=0 [31] (513.407471,224.129684) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
markDone id=15 (497.243317,227.90419 502.478027,230.314941 513.407471,224.129684) t=0.929653854 [45] (511.897949,224.957367) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
findNextWinding chase.append segment=15 span=45 windSum=-1
markDone id=17 (513.900024,224.999985 494.348663,224.583771) t=0.102400099 [46] (511.897949,224.957367) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
findNextWinding from:[17] to:[15] start=83894016 end=83891024
bridgeWinding current id=17 from=(494.348663,224.583771) to=(511.897949,224.957367)
findNextWinding simple
markDone id=15 (497.243317,227.90419 502.478027,230.314941 513.407471,224.129684) t=0 [29] (497.243317,227.90419) tEnd=0.929653854 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
bridgeWinding current id=15 from=(511.897949,224.957367) to=(497.243317,227.90419)
path.lineTo(511.897949,224.957367);
path.quadTo(502.109772,230.145355, 497.243317,227.90419);
findNextWinding simple
markDone id=14 (494.895874,225.840698 495.737305,227.210602 497.243317,227.90419) t=0 [27] (494.895874,225.840698) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
bridgeWinding current id=14 from=(497.243317,227.90419) to=(494.895874,225.840698)
path.quadTo(495.737305,227.210602, 494.895874,225.840698);
nextChase mismatched signs
findNextWinding simple
markDone id=13 (494.376495,224.683868 494.634338,225.414886 494.895874,225.840698) t=0 [25] (494.376495,224.683868) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
bridgeWinding current id=13 from=(494.895874,225.840698) to=(494.376495,224.683868)
path.quadTo(494.634338,225.414886, 494.376495,224.683868);
path.close();
</div>

</div>

<script type="text/javascript">

    var testDivs = [
        tiger8b_h_1,
    ];

var decimal_places = 3; // make this 3 to show more precision

var tests = [];
var testLines = [];
var testTitles = [];
var testIndex = 0;
var ctx;

var xmin, xmax, focusXmin, focusXmax;
var ymin, ymax, focusYmin, focusYmax;
var scale;
var mouseX, mouseY;
var srcLeft, srcTop;
var screenWidth, screenHeight;
var drawnPts, drawnLines, drawnQuads, drawnConics, drawnCubics;
var curveT = 0;

var pt_labels = 2;
var collect_bounds = false;
var control_lines = 0;
var curve_t = false;
var debug_xy = 1;
var focus_enabled = false;
var focus_on_selection = false;
var step_limit = 0;
var draw_active = false;
var draw_add = false;
var draw_angle = 0;
var draw_coincidence = false;
var draw_deriviatives = 0;
var draw_hints = false;
var draw_id = false;
var draw_intersection = 0;
var draw_intersectT = false;
var draw_legend = true;
var draw_log = false;
var draw_mark = false;
var draw_midpoint = false;
var draw_op = 0;
var draw_sequence = false;
var draw_sort = 0;
var draw_top = false;
var draw_path = 3;
var draw_computed = 0;
var retina_scale = !!window.devicePixelRatio;

var activeCount = 0;
var addCount = 0;
var angleCount = 0;
var coinCount = 0;
var opCount = 0;
var sectCount = 0;
var sortCount = 0;
var topCount = 0;
var markCount = 0;
var activeMax = 0;
var addMax = 0;
var angleMax = 0;
var coinMax = 0;
var sectMax = 0;
var sectMax2 = 0;
var sortMax = 0;
var topMax = 0;
var markMax = 0;
var opMax = 0;
var stepMax = 0;
var lastIndex = 0;
var hasPath = false;
var hasAlignedPath = false;
var hasComputedPath = false;
var angleBetween = false;
var afterIndex = 0;

var firstActiveSpan = -1;
var logStart = -1;
var logRange = 0;

var SPAN_ID = 0;
var SPAN_X1 = SPAN_ID + 1;
var SPAN_Y1 = SPAN_X1 + 1;
var SPAN_X2 = SPAN_Y1 + 1;
var SPAN_Y2 = SPAN_X2 + 1;

var SPAN_L_TX = SPAN_Y2 + 1;
var SPAN_L_TY = SPAN_L_TX + 1;
var SPAN_L_OTHER = SPAN_L_TY + 1;
var SPAN_L_OTHERT = SPAN_L_OTHER + 1;
var SPAN_L_OTHERI = SPAN_L_OTHERT + 1;
var SPAN_L_SUM = SPAN_L_OTHERI + 1;
var SPAN_L_VAL = SPAN_L_SUM + 1;
var SPAN_L_OPP = SPAN_L_VAL + 1;

var SPAN_X3 = SPAN_Y2 + 1;
var SPAN_Y3 = SPAN_X3 + 1;

var SPAN_Q_TX = SPAN_Y3 + 1;
var SPAN_Q_TY = SPAN_Q_TX + 1;
var SPAN_Q_OTHER = SPAN_Q_TY + 1;
var SPAN_Q_OTHERT = SPAN_Q_OTHER + 1;
var SPAN_Q_OTHERI = SPAN_Q_OTHERT + 1;
var SPAN_Q_SUM = SPAN_Q_OTHERI + 1;
var SPAN_Q_VAL = SPAN_Q_SUM + 1;
var SPAN_Q_OPP = SPAN_Q_VAL + 1;

var SPAN_K_W = SPAN_Y3 + 1;
var SPAN_K_TX = SPAN_K_W + 1;
var SPAN_K_TY = SPAN_K_TX + 1;
var SPAN_K_OTHER = SPAN_K_TY + 1;
var SPAN_K_OTHERT = SPAN_K_OTHER + 1;
var SPAN_K_OTHERI = SPAN_K_OTHERT + 1;
var SPAN_K_SUM = SPAN_K_OTHERI + 1;
var SPAN_K_VAL = SPAN_K_SUM + 1;
var SPAN_K_OPP = SPAN_K_VAL + 1;

var SPAN_X4 = SPAN_Y3 + 1;
var SPAN_Y4 = SPAN_X4 + 1;

var SPAN_C_TX = SPAN_Y4 + 1;
var SPAN_C_TY = SPAN_C_TX + 1;
var SPAN_C_OTHER = SPAN_C_TY + 1;
var SPAN_C_OTHERT = SPAN_C_OTHER + 1;
var SPAN_C_OTHERI = SPAN_C_OTHERT + 1;
var SPAN_C_SUM = SPAN_C_OTHERI + 1;
var SPAN_C_VAL = SPAN_C_SUM + 1;
var SPAN_C_OPP = SPAN_C_VAL + 1;

var ACTIVE_LINE_SPAN =        1;
var ACTIVE_QUAD_SPAN =        ACTIVE_LINE_SPAN + 1;
var ACTIVE_CONIC_SPAN =       ACTIVE_QUAD_SPAN + 1;
var ACTIVE_CUBIC_SPAN =       ACTIVE_CONIC_SPAN + 1;

var ADD_MOVETO =              ACTIVE_CUBIC_SPAN + 1;
var ADD_LINETO =              ADD_MOVETO + 1;
var ADD_QUADTO =              ADD_LINETO + 1;
var ADD_CONICTO =             ADD_QUADTO + 1;
var ADD_CUBICTO =             ADD_CONICTO + 1;
var ADD_CLOSE =               ADD_CUBICTO + 1;
var ADD_FILL =                ADD_CLOSE + 1;

var PATH_LINE =               ADD_FILL + 1;
var PATH_QUAD =               PATH_LINE + 1;
var PATH_CONIC =              PATH_QUAD + 1;
var PATH_CUBIC =              PATH_CONIC + 1;

var INTERSECT_LINE =          PATH_CUBIC + 1;
var INTERSECT_LINE_2 =        INTERSECT_LINE + 1;
var INTERSECT_LINE_NO =       INTERSECT_LINE_2 + 1;
var INTERSECT_QUAD_LINE =     INTERSECT_LINE_NO + 1;
var INTERSECT_QUAD_LINE_2 =   INTERSECT_QUAD_LINE + 1;
var INTERSECT_QUAD_LINE_NO =  INTERSECT_QUAD_LINE_2 + 1;
var INTERSECT_QUAD =          INTERSECT_QUAD_LINE_NO + 1;
var INTERSECT_QUAD_2 =        INTERSECT_QUAD + 1;
var INTERSECT_QUAD_NO =       INTERSECT_QUAD_2 + 1;
var INTERSECT_CONIC_LINE =    INTERSECT_QUAD_NO + 1;
var INTERSECT_CONIC_LINE_2 =  INTERSECT_CONIC_LINE + 1;
var INTERSECT_CONIC_LINE_NO = INTERSECT_CONIC_LINE_2 + 1;
var INTERSECT_CONIC_QUAD =    INTERSECT_CONIC_LINE_NO + 1;
var INTERSECT_CONIC_QUAD_2 =  INTERSECT_CONIC_QUAD + 1;
var INTERSECT_CONIC_QUAD_3 =  INTERSECT_CONIC_QUAD_2 + 1;
var INTERSECT_CONIC_QUAD_4 =  INTERSECT_CONIC_QUAD_3 + 1;
var INTERSECT_CONIC_QUAD_NO = INTERSECT_CONIC_QUAD_4 + 1;
var INTERSECT_CONIC =         INTERSECT_CONIC_QUAD_NO + 1;
var INTERSECT_CONIC_2 =       INTERSECT_CONIC + 1;
var INTERSECT_CONIC_NO =      INTERSECT_CONIC_2 + 1;
var INTERSECT_SELF_CUBIC =    INTERSECT_CONIC_NO + 1;
var INTERSECT_SELF_CUBIC_NO = INTERSECT_SELF_CUBIC + 1;
var INTERSECT_CUBIC_LINE =    INTERSECT_SELF_CUBIC_NO + 1;
var INTERSECT_CUBIC_LINE_2 =  INTERSECT_CUBIC_LINE + 1;
var INTERSECT_CUBIC_LINE_3 =  INTERSECT_CUBIC_LINE_2 + 1;
var INTERSECT_CUBIC_LINE_NO = INTERSECT_CUBIC_LINE_3 + 1;
var INTERSECT_CUBIC_QUAD =    INTERSECT_CUBIC_LINE_NO + 1;
var INTERSECT_CUBIC_QUAD_2 =  INTERSECT_CUBIC_QUAD + 1;
var INTERSECT_CUBIC_QUAD_3 =  INTERSECT_CUBIC_QUAD_2 + 1;
var INTERSECT_CUBIC_QUAD_4 =  INTERSECT_CUBIC_QUAD_3 + 1;
var INTERSECT_CUBIC_QUAD_NO = INTERSECT_CUBIC_QUAD_4 + 1;
var INTERSECT_CUBIC =         INTERSECT_CUBIC_QUAD_NO + 1;
var INTERSECT_CUBIC_2 =       INTERSECT_CUBIC + 1;
var INTERSECT_CUBIC_3 =       INTERSECT_CUBIC_2 + 1;
var INTERSECT_CUBIC_4 =       INTERSECT_CUBIC_3 + 1;
// FIXME: add cubic 5- 9
var INTERSECT_CUBIC_NO =      INTERSECT_CUBIC_4 + 1;

var SORT_UNARY =              INTERSECT_CUBIC_NO + 1;
var SORT_BINARY =             SORT_UNARY + 1;

var OP_DIFFERENCE =           SORT_BINARY + 1;
var OP_INTERSECT =            OP_DIFFERENCE + 1;
var OP_UNION =                OP_INTERSECT + 1;
var OP_XOR =                  OP_UNION + 1;

var MARK_LINE =               OP_XOR + 1;
var MARK_QUAD =               MARK_LINE + 1;
var MARK_CONIC =              MARK_QUAD + 1;
var MARK_CUBIC =              MARK_CONIC + 1;
var MARK_DONE_LINE =          MARK_CUBIC + 1;
var MARK_DONE_QUAD =          MARK_DONE_LINE + 1;
var MARK_DONE_CONIC =         MARK_DONE_QUAD + 1;
var MARK_DONE_CUBIC =         MARK_DONE_CONIC + 1;
var MARK_UNSORTABLE_LINE =    MARK_DONE_CUBIC + 1;
var MARK_UNSORTABLE_QUAD =    MARK_UNSORTABLE_LINE + 1;
var MARK_UNSORTABLE_CONIC =   MARK_UNSORTABLE_QUAD + 1;
var MARK_UNSORTABLE_CUBIC =   MARK_UNSORTABLE_CONIC + 1;
var MARK_SIMPLE_LINE =        MARK_UNSORTABLE_CUBIC + 1;
var MARK_SIMPLE_QUAD =        MARK_SIMPLE_LINE + 1;
var MARK_SIMPLE_CONIC =       MARK_SIMPLE_QUAD + 1;
var MARK_SIMPLE_CUBIC =       MARK_SIMPLE_CONIC + 1;
var MARK_SIMPLE_DONE_LINE =   MARK_SIMPLE_CUBIC + 1;
var MARK_SIMPLE_DONE_QUAD =   MARK_SIMPLE_DONE_LINE + 1;
var MARK_SIMPLE_DONE_CONIC =  MARK_SIMPLE_DONE_QUAD + 1;
var MARK_SIMPLE_DONE_CUBIC =  MARK_SIMPLE_DONE_CONIC + 1;
var MARK_DONE_UNARY_LINE =    MARK_SIMPLE_DONE_CUBIC + 1;
var MARK_DONE_UNARY_QUAD =    MARK_DONE_UNARY_LINE + 1;
var MARK_DONE_UNARY_CONIC =   MARK_DONE_UNARY_QUAD + 1;
var MARK_DONE_UNARY_CUBIC =   MARK_DONE_UNARY_CONIC + 1;
var MARK_ANGLE_LAST =         MARK_DONE_UNARY_CUBIC + 1;

var COMPUTED_SET_1 =          MARK_ANGLE_LAST + 1;
var COMPUTED_SET_2 =          COMPUTED_SET_1 + 1;

var ANGLE_AFTER =             COMPUTED_SET_2 + 1;
var ANGLE_AFTERPART =         ANGLE_AFTER + 1;

var ACTIVE_OP =               ANGLE_AFTERPART + 1;

var COIN_MAIN_SPAN =          ACTIVE_OP + 1;
var COIN_OPP_SPAN =           COIN_MAIN_SPAN + 1;

var FRAG_TYPE_LAST =          COIN_OPP_SPAN;

var REC_TYPE_UNKNOWN = -1;
var REC_TYPE_PATH = 0;
var REC_TYPE_PATH2 = 1;
var REC_TYPE_SECT = 2;
var REC_TYPE_ACTIVE = 3;
var REC_TYPE_ADD = 4;
var REC_TYPE_SORT = 5;
var REC_TYPE_OP = 6;
var REC_TYPE_MARK = 7;
var REC_TYPE_COMPUTED = 8;
var REC_TYPE_COIN = 9;
var REC_TYPE_ANGLE = 10;
var REC_TYPE_ACTIVE_OP = 11;
var REC_TYPE_AFTERPART = 12;
var REC_TYPE_TOP = 13;
var REC_TYPE_COINCIDENCE = 14;
var REC_TYPE_ALIGNED = 15;
var REC_TYPE_LAST = REC_TYPE_ALIGNED;

function strs_to_nums(strs) {
    var result = [];
    for (var idx = 1; idx < strs.length; ++idx) {
        var str = strs[idx];
        var num = parseFloat(str);
        if (isNaN(num)) {
            result.push(str);
        } else {
            result.push(num);
        }
    }
    return result;
}

function filter_str_by(id, str, regex, array) {
    if (regex.test(str)) {
        var strs = regex.exec(str);
        var result = strs_to_nums(strs);
        array.push(id);
        array.push(result);
        return true;
    }
    return false;
}

function construct_regexp2(pattern) {
    var escape = pattern.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
    escape = escape.replace(/UNSORTABLE/g, "\\*\\*\\* UNSORTABLE \\*\\*\\*");
    escape = escape.replace(/CUBIC_VAL/g, "\\(P_VAL P_VAL P_VAL P_VAL\\)");
    escape = escape.replace(/CONIC_VAL/g, "\\(P_VAL P_VAL P_VAL W_VAL\\)");
    escape = escape.replace(/QUAD_VAL/g, "\\(P_VAL P_VAL P_VAL\\)");
    escape = escape.replace(/LINE_VAL/g, "\\(P_VAL P_VAL\\)");
    escape = escape.replace(/FILL_TYPE/g, "SkPath::k[a-zA-Z]+_FillType");
    escape = escape.replace(/PTR_VAL/g, "0x[0-9A-F]+");
    escape = escape.replace(/PT_VAL/g, "\\(P_VAL\\)");
    escape = escape.replace(/P_VAL/g, "(-?\\d+\\.?\\d*(?:e-?\\d+)?)[Ff]?, ?(-?\\d+\\.?\\d*(?:e-?\\d+)?)[Ff]?");
    escape = escape.replace(/T_VAL/g, "(-?\\d+\\.?\\d*(?:e-?\\d+)?)");
    escape = escape.replace(/W_VAL/g, "(-?\\d+\\.?\\d*(?:e-?\\d+)?)[Ff]?");
    escape = escape.replace(/PATH/g, "pathB?");
    escape = escape.replace(/IDX/g, "(-?\\d+)");
    escape = escape.replace(/NUM/g, "(-?\\d+)");
    escape = escape.replace(/OPT/g, "(\\?|-?\\d+)");
    return new RegExp(escape, 'i');
}

function construct_regexp2c(pattern) {
    var escape = pattern.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
    escape = escape.replace(/UNSORTABLE/g, "\\*\\*\\* UNSORTABLE \\*\\*\\*");
    escape = escape.replace(/CUBIC_VAL/g, "(?:\\$\\d = )?\\{\\{\\{P_VAL\\}, \\{P_VAL\\}, \\{P_VAL\\}, \\{P_VAL\\}\\}\\}");
    escape = escape.replace(/CONIC_VAL/g, "(?:\\$\\d = )?\\{\\{\\{\\{P_VAL\\}, \\{P_VAL\\}, \\{P_VAL\\}\\}\\}, W_VAL\\}");
    escape = escape.replace(/QUAD_VAL/g, "(?:\\$\\d = )?\\{\\{\\{P_VAL\\}, \\{P_VAL\\}, \\{P_VAL\\}\\}\\}");
    escape = escape.replace(/LINE_VAL/g, "(?:\\$\\d = )?\\{\\{\\{P_VAL\\}, \\{P_VAL\\}\\}\\}");
    escape = escape.replace(/FILL_TYPE/g, "SkPath::k[a-zA-Z]+_FillType");
    escape = escape.replace(/PTR_VAL/g, "0x[0-9A-F]+");
    escape = escape.replace(/PT_VAL/g, "\\{\\{P_VAL\\}\\}");
    escape = escape.replace(/P_VAL/g, "(?:f?[xX] = )?(-?\\d+\\.?\\d*(?:e-?\\d+)?)[Ff]?, *(?: f?[yY] = )?(-?\\d+\\.?\\d*(?:e-?\\d+)?)[Ff]?");
    escape = escape.replace(/T_VAL/g, "(-?\\d+\\.?\\d*(?:e-?\\d+)?)");
    escape = escape.replace(/W_VAL/g, "(-?\\d+\\.?\\d*(?:e-?\\d+)?)[Ff]?");
    escape = escape.replace(/OPER/g, "[a-z]+");
    escape = escape.replace(/PATH/g, "pathB?");
    escape = escape.replace(/T_F/g, "([TF])");
    escape = escape.replace(/IDX/g, "(-?\\d+)");
    escape = escape.replace(/NUM/g, "(-?\\d+)");
    escape = escape.replace(/OPT/g, "(\\?|-?\\d+)");
    return new RegExp(escape, 'i');
}

function match_regexp(str, lineNo, array, id, pattern) {
    var regex = construct_regexp2(pattern);
    if (filter_str_by(id, str, regex, array)) {
        return true;
    }
    regex = construct_regexp2c(pattern);
    return filter_str_by(id, str, regex, array);
}

function endsWith(str, suffix) {
    return str.indexOf(suffix, str.length - suffix.length) !== -1;
}

function parse_all(test) {
    var lines = test.match(/[^\r\n]+/g);
    var records = []; // a rec can be the original paths, a set of intersections, a set of active spans, a sort, or a path add
    var record = [];
    var recType = REC_TYPE_UNKNOWN;
    var lastLineNo;
    var moveX, moveY;
    for (var lineNo = 0; lineNo < lines.length; ++lineNo) {
        var line = lines[lineNo];
        if (line.length == 0) {
            continue;
        }
        var opStart = "SkOpSegment::";
        if (line.lastIndexOf(opStart, 0) === 0) {
            line = line.substr(opStart.length);
        }
        var angleStart = "SkOpAngle::";
        if (line.lastIndexOf(angleStart, 0) === 0) {
            line = line.substr(angleStart.length);
        }
        var coinStart = "SkOpCoincidence::";
        if (line.lastIndexOf(coinStart, 0) === 0) {
            line = line.substr(coinStart.length);
        }
        var type = line.lastIndexOf("debugShowActiveSpans", 0) === 0 ? REC_TYPE_ACTIVE
                : line.lastIndexOf("debugShowCoincidence", 0) === 0 ? REC_TYPE_COINCIDENCE
                : line.lastIndexOf("((SkOpSegment*)", 0) === 0 ? REC_TYPE_PATH2
                : line.lastIndexOf("debugShowTs", 0) === 0 ? REC_TYPE_COIN
                : line.lastIndexOf("afterPart", 0) === 0 ? REC_TYPE_AFTERPART
                : line.lastIndexOf("debugShow", 0) === 0 ? REC_TYPE_SECT
                : line.lastIndexOf("activeOp", 0) === 0 ? REC_TYPE_ACTIVE_OP
                : line.lastIndexOf("computed", 0) === 0 ? REC_TYPE_COMPUTED
                : line.lastIndexOf("debugOne", 0) === 0 ? REC_TYPE_SORT
                : line.lastIndexOf("aligned=", 0) === 0 ? REC_TYPE_ALIGNED
                : line.lastIndexOf("dumpOne", 0) === 0 ? REC_TYPE_SORT
                : line.lastIndexOf("findTop", 0) === 0 ? REC_TYPE_TOP
                : line.lastIndexOf("pathB.", 0) === 0 ? REC_TYPE_ADD
                : line.lastIndexOf("path.", 0) === 0 ? REC_TYPE_ADD
                : line.lastIndexOf("after", 0) === 0 ? REC_TYPE_ANGLE
                : line.lastIndexOf("mark", 0) === 0 ? REC_TYPE_MARK
                : line.lastIndexOf("  {{", 0) === 0 ? REC_TYPE_COMPUTED
                : line.lastIndexOf("seg=", 0) === 0 ? REC_TYPE_PATH
                : line.lastIndexOf("op", 0) === 0 ? REC_TYPE_OP
                : line.lastIndexOf("$", 0) === 0 ? REC_TYPE_PATH
                : REC_TYPE_UNKNOWN;
        if (recType != type || recType == REC_TYPE_ADD || recType == REC_TYPE_SECT
                || recType == REC_TYPE_ACTIVE_OP || recType == REC_TYPE_ANGLE) {
            if (recType != REC_TYPE_UNKNOWN) {
                records.push(recType);
                records.push(lastLineNo);
                records.push(record);
            }
            record = [];
            recType = type;
            lastLineNo = lineNo;
        }
        var found = false;
        switch (recType) {
            case REC_TYPE_ACTIVE:
                found = match_regexp(line, lineNo, record, ACTIVE_LINE_SPAN, "debugShowActiveSpans" +
" id=IDX LINE_VAL t=T_VAL tEnd=T_VAL windSum=OPT windValue=IDX"
                ) || match_regexp(line, lineNo, record, ACTIVE_QUAD_SPAN, "debugShowActiveSpans" +
" id=IDX QUAD_VAL t=T_VAL tEnd=T_VAL windSum=OPT windValue=IDX"
                ) || match_regexp(line, lineNo, record, ACTIVE_CONIC_SPAN, "debugShowActiveSpans" +
" id=IDX CONIC_VAL t=T_VAL tEnd=T_VAL windSum=OPT windValue=IDX"
                ) || match_regexp(line, lineNo, record, ACTIVE_CUBIC_SPAN, "debugShowActiveSpans" +
" id=IDX CUBIC_VAL t=T_VAL tEnd=T_VAL windSum=OPT windValue=IDX"
                ) || match_regexp(line, lineNo, record, ACTIVE_LINE_SPAN, "debugShowActiveSpans" +
" id=IDX LINE_VAL t=T_VAL tEnd=T_VAL windSum=OPT oppSum=OPT windValue=IDX oppValue=NUM"
                ) || match_regexp(line, lineNo, record, ACTIVE_QUAD_SPAN, "debugShowActiveSpans" +
" id=IDX QUAD_VAL t=T_VAL tEnd=T_VAL windSum=OPT oppSum=OPT windValue=IDX oppValue=NUM"
                ) || match_regexp(line, lineNo, record, ACTIVE_CONIC_SPAN, "debugShowActiveSpans" +
" id=IDX CONIC_VAL t=T_VAL tEnd=T_VAL windSum=OPT oppSum=OPT windValue=IDX oppValue=NUM"
                ) || match_regexp(line, lineNo, record, ACTIVE_CUBIC_SPAN, "debugShowActiveSpans" +
" id=IDX CUBIC_VAL t=T_VAL tEnd=T_VAL windSum=OPT oppSum=OPT windValue=IDX oppValue=NUM"
                );
                break;
            case REC_TYPE_ACTIVE_OP:
                found = match_regexp(line, lineNo, record, ACTIVE_OP, "activeOp" +
" id=IDX t=T_VAL tEnd=T_VAL op=OPER miFrom=NUM miTo=NUM suFrom=NUM suTo=NUM result=IDX"
                );
                break;
            case REC_TYPE_ADD:
                if (match_regexp(line, lineNo, record, ADD_MOVETO, "PATH.moveTo(P_VAL);")) {
                    moveX = record[1][0];
                    moveY = record[1][1];
                    found = true;
                } else if (match_regexp(line, lineNo, record, ADD_LINETO, "PATH.lineTo(P_VAL);")) {
                    record[1].unshift(moveY);
                    record[1].unshift(moveX);
                    moveX = record[1][2];
                    moveY = record[1][3];
                    found = true;
                } else if (match_regexp(line, lineNo, record, ADD_QUADTO, "PATH.quadTo(P_VAL, P_VAL);")) {
                    record[1].unshift(moveY);
                    record[1].unshift(moveX);
                    moveX = record[1][4];
                    moveY = record[1][5];
                    found = true;
                } else if (match_regexp(line, lineNo, record, ADD_CONICTO, "PATH.conicTo(P_VAL, P_VAL, T_VAL);")) {
                    record[1].unshift(moveY);
                    record[1].unshift(moveX);
                    moveX = record[1][4];
                    moveY = record[1][5];
                    found = true;
                } else if (match_regexp(line, lineNo, record, ADD_CUBICTO, "PATH.cubicTo(P_VAL, P_VAL, P_VAL);")) {
                    record[1].unshift(moveY);
                    record[1].unshift(moveX);
                    moveX = record[1][6];
                    moveY = record[1][7];
                    found = true;
                } else if (match_regexp(line, lineNo, record, ADD_FILL, "PATH.setFillType(FILL_TYPE);")) {
                    found = true;
                } else {
                    found = match_regexp(line, lineNo, record, ADD_CLOSE, "PATH.close();");
                }
                break;
            case REC_TYPE_AFTERPART:
                found = match_regexp(line, lineNo, record, PATH_LINE, "afterPart LINE_VAL")
                    || match_regexp(line, lineNo, record, PATH_QUAD, "afterPart QUAD_VAL")
                    || match_regexp(line, lineNo, record, PATH_CONIC, "afterPart CONIC_VAL")
                    || match_regexp(line, lineNo, record, PATH_CUBIC, "afterPart CUBIC_VAL")
                break;
            case REC_TYPE_ALIGNED:
                found = match_regexp(line, lineNo, record, PATH_LINE, "aligned=IDX LINE_VAL"
                ) || match_regexp(line, lineNo, record, PATH_QUAD, "aligned=IDX QUAD_VAL"
                ) || match_regexp(line, lineNo, record, PATH_CONIC, "aligned=IDX CONIC_VAL"
                ) || match_regexp(line, lineNo, record, PATH_CUBIC, "aligned=IDX CUBIC_VAL"
                );
                break;
            case REC_TYPE_ANGLE:
                found = match_regexp(line, lineNo, record, ANGLE_AFTER, "after " +
"[IDX/IDX] NUM/NUM tStart=T_VAL tEnd=T_VAL < [IDX/IDX] NUM/NUM tStart=T_VAL tEnd=T_VAL < [IDX/IDX] NUM/NUM tStart=T_VAL tEnd=T_VAL  T_F IDX");
                break;
            case REC_TYPE_COIN:
                found = true;
                break;
            case REC_TYPE_COINCIDENCE:
                found = match_regexp(line, lineNo, record, COIN_MAIN_SPAN, "debugShowCoincidence" +
" + id=IDX t=T_VAL tEnd=T_VAL"
                ) || match_regexp(line, lineNo, record, COIN_OPP_SPAN, "debugShowCoincidence" +
" - id=IDX t=T_VAL tEnd=T_VAL"
                );
                break;
            case REC_TYPE_COMPUTED:
                found = line ==  "computed quadratics given"
                  || match_regexp(line, lineNo, record, COMPUTED_SET_1, "computed quadratics set 1"
                ) || match_regexp(line, lineNo, record, COMPUTED_SET_2, "computed quadratics set 2"
                ) || match_regexp(line, lineNo, record, PATH_QUAD, "  QUAD_VAL,"
                ) || match_regexp(line, lineNo, record, PATH_CONIC, "  CONIC_VAL,"
                ) || match_regexp(line, lineNo, record, PATH_CUBIC, "  CUBIC_VAL,"
                );
                break;
            case REC_TYPE_PATH:
                found = match_regexp(line, lineNo, record, PATH_LINE, "seg=IDX LINE_VAL"
                ) || match_regexp(line, lineNo, record, PATH_QUAD, "seg=IDX QUAD_VAL"
                ) || match_regexp(line, lineNo, record, PATH_CONIC, "seg=IDX CONIC_VAL"
                ) || match_regexp(line, lineNo, record, PATH_CUBIC, "seg=IDX CUBIC_VAL"
                );
                break;
            case REC_TYPE_PATH2:
                found = match_regexp(line, lineNo, record, PATH_LINE, "((SkOpSegment*) PTR_VAL) [IDX] {LINE_VAL}"
                ) || match_regexp(line, lineNo, record, PATH_QUAD, "((SkOpSegment*) PTR_VAL) [IDX] {QUAD_VAL}"
                ) || match_regexp(line, lineNo, record, PATH_CONIC, "((SkOpSegment*) PTR_VAL) [IDX] {CONIC_VAL}"
                ) || match_regexp(line, lineNo, record, PATH_CUBIC, "((SkOpSegment*) PTR_VAL) [IDX] {CUBIC_VAL}"
                );
                break;
            case REC_TYPE_SECT:
                found = match_regexp(line, lineNo, record, INTERSECT_LINE, "debugShowLineIntersection" +
" wtTs[0]=T_VAL LINE_VAL PT_VAL wnTs[0]=T_VAL LINE_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_LINE_2, "debugShowLineIntersection" +
" wtTs[0]=T_VAL LINE_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wnTs[0]=T_VAL LINE_VAL wnTs[1]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_LINE_NO, "debugShowLineIntersection" +
" no intersect LINE_VAL LINE_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_QUAD_LINE, "debugShowQuadLineIntersection" +
" wtTs[0]=T_VAL QUAD_VAL PT_VAL wnTs[0]=T_VAL LINE_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_QUAD_LINE_2, "debugShowQuadLineIntersection" +
" wtTs[0]=T_VAL QUAD_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wnTs[0]=T_VAL LINE_VAL wnTs[1]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_QUAD_LINE_NO, "debugShowQuadLineIntersection" +
" no intersect QUAD_VAL LINE_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_QUAD, "debugShowQuadIntersection" +
" wtTs[0]=T_VAL QUAD_VAL PT_VAL wnTs[0]=T_VAL QUAD_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_QUAD_2, "debugShowQuadIntersection" +
" wtTs[0]=T_VAL QUAD_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wnTs[0]=T_VAL QUAD_VAL wnTs[1]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_QUAD_NO, "debugShowQuadIntersection" +
" no intersect QUAD_VAL QUAD_VAL"

                ) || match_regexp(line, lineNo, record, INTERSECT_CONIC_LINE, "debugShowConicLineIntersection" +
" wtTs[0]=T_VAL CONIC_VAL PT_VAL wnTs[0]=T_VAL LINE_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CONIC_LINE_2, "debugShowConicLineIntersection" +
" wtTs[0]=T_VAL CONIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wnTs[0]=T_VAL LINE_VAL wnTs[1]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CONIC_LINE_NO, "debugShowConicLineIntersection" +
" no intersect CONIC_VAL LINE_VAL"

                ) || match_regexp(line, lineNo, record, INTERSECT_CONIC_QUAD, "debugShowConicQuadIntersection" +
" wtTs[0]=T_VAL CONIC_VAL PT_VAL wnTs[0]=T_VAL QUAD_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CONIC_QUAD_2, "debugShowConicQuadIntersection" +
" wtTs[0]=T_VAL CONIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wnTs[0]=T_VAL QUAD_VAL wnTs[1]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CONIC_QUAD_3, "debugShowConicQuadIntersection" +
" wtTs[0]=T_VAL CONIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wtTs[2]=T_VAL PT_VAL wnTs[0]=T_VAL QUAD_VAL wnTs[1]=T_VAL wnTs[2]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CONIC_QUAD_4, "debugShowConicQuadIntersection" +
" wtTs[0]=T_VAL CONIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wtTs[2]=T_VAL PT_VAL wtTs[3]=T_VAL PT_VAL wnTs[0]=T_VAL QUAD_VAL wnTs[1]=T_VAL wnTs[2]=T_VAL wnTs[3]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CONIC_QUAD_NO, "debugShowConicQuadIntersection" +
" no intersect CONIC_VAL QUAD_VAL"

                ) || match_regexp(line, lineNo, record, INTERSECT_CONIC, "debugShowConicIntersection" +
" wtTs[0]=T_VAL CONIC_VAL PT_VAL wnTs[0]=T_VAL CONIC_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CONIC_2, "debugShowConicIntersection" +
" wtTs[0]=T_VAL CONIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wnTs[0]=T_VAL CONIC_VAL wnTs[1]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CONIC_NO, "debugShowConicIntersection" +
" no intersect CONIC_VAL CONIC_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_LINE, "debugShowCubicLineIntersection" +
" wtTs[0]=T_VAL CUBIC_VAL PT_VAL wnTs[0]=T_VAL LINE_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_LINE_2, "debugShowCubicLineIntersection" +
" wtTs[0]=T_VAL CUBIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wnTs[0]=T_VAL LINE_VAL wnTs[1]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_LINE_3, "debugShowCubicLineIntersection" +
" wtTs[0]=T_VAL CUBIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wtTs[2]=T_VAL PT_VAL wnTs[0]=T_VAL LINE_VAL wnTs[1]=T_VAL wnTs[2]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_LINE_NO, "debugShowCubicLineIntersection" +
" no intersect CUBIC_VAL LINE_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_QUAD, "debugShowCubicQuadIntersection" +
" wtTs[0]=T_VAL CUBIC_VAL PT_VAL wnTs[0]=T_VAL QUAD_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_QUAD_2, "debugShowCubicQuadIntersection" +
" wtTs[0]=T_VAL CUBIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wnTs[0]=T_VAL QUAD_VAL wnTs[1]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_QUAD_3, "debugShowCubicQuadIntersection" +
" wtTs[0]=T_VAL CUBIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wtTs[2]=T_VAL PT_VAL wnTs[0]=T_VAL QUAD_VAL wnTs[1]=T_VAL wnTs[2]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_QUAD_4, "debugShowCubicQuadIntersection" +
" wtTs[0]=T_VAL CUBIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wtTs[2]=T_VAL wtTs[3]=T_VAL PT_VAL wnTs[0]=T_VAL QUAD_VAL wnTs[1]=T_VAL wnTs[2]=T_VAL wnTs[3]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_QUAD_NO, "debugShowCubicQuadIntersection" +
" no intersect CUBIC_VAL QUAD_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC, "debugShowCubicIntersection" +
" wtTs[0]=T_VAL CUBIC_VAL PT_VAL wnTs[0]=T_VAL CUBIC_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_2, "debugShowCubicIntersection" +
" wtTs[0]=T_VAL CUBIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wnTs[0]=T_VAL CUBIC_VAL wnTs[1]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_3, "debugShowCubicIntersection" +
" wtTs[0]=T_VAL CUBIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wtTs[2]=T_VAL PT_VAL wnTs[0]=T_VAL CUBIC_VAL wnTs[1]=T_VAL wnTs[2]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_4, "debugShowCubicIntersection" +
" wtTs[0]=T_VAL CUBIC_VAL PT_VAL wtTs[1]=T_VAL PT_VAL wtTs[2]=T_VAL PT_VAL wtTs[3]=T_VAL PT_VAL wnTs[0]=T_VAL CUBIC_VAL wnTs[1]=T_VAL wnTs[2]=T_VAL wnTs[3]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_CUBIC_NO, "debugShowCubicIntersection" +
" no intersect CUBIC_VAL CUBIC_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_SELF_CUBIC, "debugShowCubicIntersection" +
" wtTs[0]=T_VAL CUBIC_VAL PT_VAL wtTs[1]=T_VAL"
                ) || match_regexp(line, lineNo, record, INTERSECT_SELF_CUBIC_NO, "debugShowCubicIntersection" +
" no self intersect CUBIC_VAL"
                );
                break;
            case REC_TYPE_SORT:
                var hasDone = / done/.test(line);
                var hasUnorderable = / unorderable/.test(line);
                var hasSmall = / small/.test(line);
                var hasTiny = / tiny/.test(line);
                var hasOperand = / operand/.test(line);
                var hasStop = / stop/.test(line);
                line.replace(/[ a-z]+$/, "");
                found = match_regexp(line, lineNo, record, SORT_UNARY, "debugOne" +
" [IDX/IDX] next=IDX/IDX sect=IDX/IDX  s=T_VAL [IDX] e=T_VAL [IDX] sgn=NUM windVal=IDX windSum=OPT"
                ) || match_regexp(line, lineNo, record, SORT_BINARY, "debugOne" +
" [IDX/IDX] next=IDX/IDX sect=IDX/IDX  s=T_VAL [IDX] e=T_VAL [IDX] sgn=NUM windVal=IDX windSum=OPT oppVal=IDX oppSum=OPT"
                ) || match_regexp(line, lineNo, record, SORT_UNARY, "dumpOne" +
" [IDX/IDX] next=IDX/IDX sect=NUM/NUM  s=T_VAL [IDX] e=T_VAL [IDX] sgn=NUM windVal=IDX windSum=OPT"
                ) || match_regexp(line, lineNo, record, SORT_BINARY, "dumpOne" +
" [IDX/IDX] next=IDX/IDX sect=NUM/NUM  s=T_VAL [IDX] e=T_VAL [IDX] sgn=NUM windVal=IDX windSum=OPT oppVal=IDX oppSum=OPT"
                );
                if (found) {
                    record[1].push(hasDone);
                    record[1].push(hasUnorderable);
                    record[1].push(hasSmall);
                    record[1].push(hasTiny);
                    record[1].push(hasOperand);
                    record[1].push(hasStop);
                }
                break;
            case REC_TYPE_TOP:
                found = match_regexp(line, lineNo, record, ACTIVE_OP, "findTop" +
" id=IDX s=T_VAL e=T_VAL cw=NUM swap=NUM inflections=NUM monotonic=NUM"
                ) || match_regexp(line, lineNo, record, ACTIVE_OP, "findTop" +
" id=IDX s=T_VAL e=T_VAL (-) cw=NUM swap=NUM inflections=NUM monotonic=NUM"
                ) || match_regexp(line, lineNo, record, ACTIVE_OP, "findTop" +
" id=IDX s=T_VAL e=T_VAL (+) cw=NUM swap=NUM inflections=NUM monotonic=NUM"
                );
                break;
            case REC_TYPE_MARK:
                found = match_regexp(line, lineNo, record, MARK_LINE, "markWinding" +
" id=IDX LINE_VAL t=T_VAL [IDX] PT_VAL tEnd=T_VAL newWindSum=NUM newOppSum=OPT oppSum=OPT windSum=OPT windValue=IDX"
                ) || match_regexp(line, lineNo, record, MARK_QUAD, "markWinding" +
" id=IDX QUAD_VAL t=T_VAL [IDX] PT_VAL tEnd=T_VAL newWindSum=NUM newOppSum=OPT oppSum=OPT windSum=OPT windValue=IDX"
                ) || match_regexp(line, lineNo, record, MARK_CONIC, "markWinding" +
" id=IDX CONIC_VAL t=T_VAL [IDX] PT_VAL tEnd=T_VAL newWindSum=NUM newOppSum=OPT oppSum=OPT windSum=OPT windValue=IDX"
                ) || match_regexp(line, lineNo, record, MARK_CUBIC, "markWinding" +
" id=IDX CUBIC_VAL t=T_VAL [IDX] PT_VAL tEnd=T_VAL newWindSum=NUM newOppSum=OPT oppSum=OPT windSum=OPT windValue=IDX"
                ) || match_regexp(line, lineNo, record, MARK_DONE_LINE, "markDone" +
" id=IDX LINE_VAL t=T_VAL [IDX] PT_VAL tEnd=T_VAL newWindSum=OPT newOppSum=OPT oppSum=OPT windSum=OPT windValue=IDX oppValue=OPT"
                ) || match_regexp(line, lineNo, record, MARK_DONE_QUAD, "markDone" +
" id=IDX QUAD_VAL t=T_VAL [IDX] PT_VAL tEnd=T_VAL newWindSum=OPT newOppSum=OPT oppSum=OPT windSum=OPT windValue=IDX oppValue=OPT"
                ) || match_regexp(line, lineNo, record, MARK_DONE_CONIC, "markDone" +
" id=IDX CONIC_VAL t=T_VAL [IDX] PT_VAL tEnd=T_VAL newWindSum=OPT newOppSum=OPT oppSum=OPT windSum=OPT windValue=IDX oppValue=OPT"
                ) || match_regexp(line, lineNo, record, MARK_DONE_CUBIC, "markDone" +
" id=IDX CUBIC_VAL t=T_VAL [IDX] PT_VAL tEnd=T_VAL newWindSum=OPT newOppSum=OPT oppSum=OPT windSum=OPT windValue=IDX oppValue=OPT"
                ) || match_regexp(line, lineNo, record, MARK_SIMPLE_LINE, "markWinding" +
" id=IDX LINE_VAL t=T_VAL [IDX] PT_VAL tEnd=T_VAL newWindSum=NUM windSum=OPT windValue=IDX"
                ) || match_regexp(line, lineNo, record, MARK_SIMPLE_QUAD, "markWinding" +
" id=IDX QUAD_VAL t=T_VAL [IDX] PT_VAL tEnd=T_VAL newWindSum=NUM windSum=OPT windValue=IDX"
                ) || match_regexp(line, lineNo, record, MARK_SIMPLE_CONIC, "markWinding" +
" id=IDX CONIC_VAL t=T_VAL [IDX] PT_VAL tEnd=T_VAL newWindSum=NUM windSum=OPT windValue=IDX"
                ) || match_regexp(line, lineNo, record, MARK_SIMPLE_CUBIC, "markWinding" +
" id=IDX CUBIC_VAL t=T_VAL [IDX] PT_VAL tEnd=T_VAL newWindSum=NUM windSum=OPT windValue=IDX"
                ) || match_regexp(line, lineNo, record, MARK_ANGLE_LAST, "markAngle" +
" last segment=IDX span=IDX"
                ) || match_regexp(line, lineNo, record, MARK_ANGLE_LAST, "markAngle" +
" last seg=IDX span=IDX"
                ) || match_regexp(line, lineNo, record, MARK_ANGLE_LAST, "markAngle" +
" last segment=IDX span=IDX windSum=OPT"
                ) || match_regexp(line, lineNo, record, MARK_ANGLE_LAST, "markAngle" +
" last seg=IDX span=IDX windSum=OPT"
                );
                break;
            case REC_TYPE_OP:
                if (line.lastIndexOf("oppSign oppSign=", 0) === 0
                        || line.lastIndexOf("operator<", 0) === 0) {
                    found = true;
                    break;
                }
                found = match_regexp(line, lineNo, record, OP_DIFFERENCE, "op diff"
                ) || match_regexp(line, lineNo, record, OP_INTERSECT, "op intersect"
                ) || match_regexp(line, lineNo, record, OP_INTERSECT, "op sect"
                ) || match_regexp(line, lineNo, record, OP_UNION, "op union"
                ) || match_regexp(line, lineNo, record, OP_XOR, "op xor"
                );
                break;
            case REC_TYPE_UNKNOWN:
                found = true;
                break;
        }
        if (!found) {
            console.log(line + " [" + lineNo + "] of type " + type + " not found");
        }
    }
    if (recType != REC_TYPE_UNKNOWN) {
        records.push(recType);
        records.push(lastLineNo);
        records.push(record);
    }
    if (records.length >= 1) {
        tests[testIndex] = records;
        testLines[testIndex] = lines;
    }
}

function init(test) {
    var canvas = document.getElementById('canvas');
    if (!canvas.getContext) return;
    ctx = canvas.getContext('2d');
    var resScale = retina_scale && window.devicePixelRatio ? window.devicePixelRatio : 1;
    var unscaledWidth = window.innerWidth - 20;
    var unscaledHeight = window.innerHeight - 20;
    screenWidth = unscaledWidth;
    screenHeight = unscaledHeight;
    canvas.width = unscaledWidth * resScale;
    canvas.height = unscaledHeight * resScale;
    canvas.style.width = unscaledWidth + 'px';
    canvas.style.height = unscaledHeight + 'px';
    if (resScale != 1) {
        ctx.scale(resScale, resScale);
    }
    xmin = Infinity;
    xmax = -Infinity;
    ymin = Infinity;
    ymax = -Infinity;
    hasPath = hasAlignedPath = hasComputedPath = false;
    firstActiveSpan = -1;
    for (var tIndex = 0; tIndex < test.length; tIndex += 3) {
        var recType = test[tIndex];
        if (!typeof recType == 'number' || recType < REC_TYPE_UNKNOWN || recType > REC_TYPE_LAST) {
            console.log("unknown rec type: " + recType);
            throw "stop execution";
        }
        var records = test[tIndex + 2];
        for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2) {
            var fragType = records[recordIndex];
            if (!typeof fragType == 'number' || fragType < 1 || fragType > FRAG_TYPE_LAST) {
                console.log("unknown in range frag type: " + fragType);
                throw "stop execution";
            }
            var frags = records[recordIndex + 1];
            var first = 0;
            var last = -1;
            var first2 = 0;
            var last2 = 0;
            switch (recType) {
                case REC_TYPE_ALIGNED:
                    hasAlignedPath = true;
                case REC_TYPE_COMPUTED:
                    if (fragType == COMPUTED_SET_1 || fragType == COMPUTED_SET_2) {
                        break;
                    }
                    if (REC_TYPE_COMPUTED == recType) {
                        hasComputedPath = true;
                    }
                case REC_TYPE_PATH:
                    first = 1;
                    switch (fragType) {
                        case PATH_LINE:
                            last = 5;
                            break;
                        case PATH_CONIC:
                        case PATH_QUAD:
                            last = 7;
                            break;
                        case PATH_CUBIC:
                            last = 9;
                            break;
                        default:
                            console.log("unknown " + (recType == REC_TYPE_PATH ? "REC_TYPE_PATH"
                                    : "REC_TYPE_COMPUTED") + " frag type:" + fragType);
                            throw "stop execution";
                    }
                    if (recType == REC_TYPE_PATH) {
                        hasPath = true;
                    }
                    break;
                case REC_TYPE_PATH2:
                    first = 1;
                    switch (fragType) {
                        case PATH_LINE:
                            last = 5;
                            break;
                        case PATH_CONIC:
                        case PATH_QUAD:
                            last = 7;
                            break;
                        case PATH_CUBIC:
                            last = 9;
                            break;
                        default:
                            console.log("unknown " + (recType == REC_TYPE_PATH2 ? "REC_TYPE_PATH2"
                                    : "REC_TYPE_COMPUTED") + " frag type:" + fragType);
                            throw "stop execution";
                    }
                    if (recType == REC_TYPE_PATH2) {
                        hasPath = true;
                    }
                    break;
                case REC_TYPE_ACTIVE:
                    if (firstActiveSpan < 0) {
                        firstActiveSpan = tIndex;
                    }
                    first = 1;
                    switch (fragType) {
                        case ACTIVE_LINE_SPAN:
                            last = 5;
                            break;
                        case ACTIVE_CONIC_SPAN:
                        case ACTIVE_QUAD_SPAN:
                            last = 7;
                            break;
                        case ACTIVE_CUBIC_SPAN:
                            last = 9;
                            break;
                        default:
                            console.log("unknown REC_TYPE_ACTIVE frag type: " + fragType);
                            throw "stop execution";
                    }
                    break;
                case REC_TYPE_ADD:
                    switch (fragType) {
                        case ADD_MOVETO:
                            break;
                        case ADD_LINETO:
                            last = 4;
                            break;
                        case ADD_CONICTO:
                        case ADD_QUADTO:
                            last = 6;
                            break;
                        case ADD_CUBICTO:
                            last = 8;
                            break;
                        case ADD_CLOSE:
                        case ADD_FILL:
                            break;
                        default:
                            console.log("unknown REC_TYPE_ADD frag type: " + fragType);
                            throw "stop execution";
                    }
                    break;
                case REC_TYPE_AFTERPART:
                    switch (fragType) {
                        case PATH_LINE:
                            last = 4;
                            break;
                        case PATH_CONIC:
                        case PATH_QUAD:
                            last = 6;
                            break;
                        case PATH_CUBIC:
                            last = 8;
                            break;
                        default:
                            console.log("unknown REC_TYPE_ACTIVEPART frag type: " + fragType);
                            throw "stop execution";
                    }
                    break;
                case REC_TYPE_SECT:
                    switch (fragType) {
                        case INTERSECT_LINE:
                            first = 1; last = 5; first2 = 8; last2 = 12;
                            break;
                        case INTERSECT_LINE_2:
                            first = 1; last = 5; first2 = 11; last2 = 15;
                            break;
                        case INTERSECT_LINE_NO:
                            first = 0; last = 4; first2 = 4; last2 = 8;
                            break;
                        case INTERSECT_CONIC_LINE:
                            first = 1; last = 7; first2 = 11; last2 = 15;
                            break;
                        case INTERSECT_QUAD_LINE:
                            first = 1; last = 7; first2 = 10; last2 = 14;
                            break;
                        case INTERSECT_CONIC_LINE_2:
                            first = 1; last = 7; first2 = 14; last2 = 18;
                            break;
                        case INTERSECT_QUAD_LINE_2:
                            first = 1; last = 7; first2 = 13; last2 = 17;
                            break;
                        case INTERSECT_CONIC_LINE_NO:
                            first = 0; last = 6; first2 = 7; last2 = 11;
                            break;
                        case INTERSECT_QUAD_LINE_NO:
                            first = 0; last = 6; first2 = 6; last2 = 10;
                            break;
                        case INTERSECT_CONIC:
                            first = 1; last = 7; first2 = 11; last2 = 17;
                            break;
                        case INTERSECT_QUAD:
                            first = 1; last = 7; first2 = 10; last2 = 16;
                            break;
                        case INTERSECT_CONIC_2:
                            first = 1; last = 7; first2 = 14; last2 = 20;
                            break;
                        case INTERSECT_QUAD_2:
                            first = 1; last = 7; first2 = 13; last2 = 19;
                            break;
                        case INTERSECT_CONIC_NO:
                            first = 0; last = 6; first2 = 7; last2 = 13;
                            break;
                        case INTERSECT_QUAD_NO:
                            first = 0; last = 6; first2 = 6; last2 = 12;
                            break;
                        case INTERSECT_SELF_CUBIC:
                            first = 1; last = 9;
                            break;
                        case INTERSECT_SELF_CUBIC_NO:
                            first = 0; last = 8;
                            break;
                        case INTERSECT_CUBIC_LINE:
                            first = 1; last = 9; first2 = 12; last2 = 16;
                            break;
                        case INTERSECT_CUBIC_LINE_2:
                            first = 1; last = 9; first2 = 15; last2 = 19;
                            break;
                        case INTERSECT_CUBIC_LINE_3:
                            first = 1; last = 9; first2 = 18; last2 = 22;
                            break;
                        case INTERSECT_CUBIC_LINE_NO:
                            first = 0; last = 8; first2 = 8; last2 = 12;
                            break;
                        case INTERSECT_CONIC_QUAD:
                            first = 1; last = 7; first2 = 11; last2 = 17;
                            break;
                        case INTERSECT_CONIC_QUAD_2:
                            first = 1; last = 7; first2 = 14; last2 = 20;
                            break;
                        case INTERSECT_CONIC_QUAD_3:
                            first = 1; last = 7; first2 = 17; last2 = 23;
                            break;
                        case INTERSECT_CONIC_QUAD_4:
                            first = 1; last = 7; first2 = 20; last2 = 26;
                            break;
                        case INTERSECT_CONIC_QUAD_NO:
                            first = 0; last = 6; first2 = 7; last2 = 13;
                            break;
                        case INTERSECT_CUBIC_QUAD:
                            first = 1; last = 9; first2 = 12; last2 = 18;
                            break;
                        case INTERSECT_CUBIC_QUAD_2:
                            first = 1; last = 9; first2 = 15; last2 = 21;
                            break;
                        case INTERSECT_CUBIC_QUAD_3:
                            first = 1; last = 9; first2 = 18; last2 = 24;
                            break;
                        case INTERSECT_CUBIC_QUAD_4:
                            first = 1; last = 9; first2 = 21; last2 = 27;
                            break;
                        case INTERSECT_CUBIC_QUAD_NO:
                            first = 0; last = 8; first2 = 8; last2 = 14;
                            break;
                        case INTERSECT_CUBIC:
                            first = 1; last = 9; first2 = 12; last2 = 20;
                            break;
                        case INTERSECT_CUBIC_2:
                            first = 1; last = 9; first2 = 15; last2 = 23;
                            break;
                        case INTERSECT_CUBIC_3:
                            first = 1; last = 9; first2 = 18; last2 = 26;
                            break;
                        case INTERSECT_CUBIC_4:
                            first = 1; last = 9; first2 = 21; last2 = 29;
                            break;
                        case INTERSECT_CUBIC_NO:
                            first = 0; last = 8; first2 = 8; last2 = 16;
                            break;
                        default:
                            console.log("unknown REC_TYPE_SECT frag type: " + fragType);
                            throw "stop execution";
                    }
                    break;
                default:
                    continue;
            }
            for (var idx = first; idx < last; idx += 2) {
                xmin = Math.min(xmin, frags[idx]);
                xmax = Math.max(xmax, frags[idx]);
                ymin = Math.min(ymin, frags[idx + 1]);
                ymax = Math.max(ymax, frags[idx + 1]);
            }
            for (var idx = first2; idx < last2; idx += 2) {
                xmin = Math.min(xmin, frags[idx]);
                xmax = Math.max(xmax, frags[idx]);
                ymin = Math.min(ymin, frags[idx + 1]);
                ymax = Math.max(ymax, frags[idx + 1]);
            }
        }
    }
    var angleBounds = [Infinity, Infinity, -Infinity, -Infinity];
    for (var tIndex = 0; tIndex < test.length; tIndex += 3) {
        var recType = test[tIndex];
        var records = test[tIndex + 2];
        for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2) {
            var fragType = records[recordIndex];
            var frags = records[recordIndex + 1];
            switch (recType) {
                case REC_TYPE_ACTIVE_OP:
                    if (!draw_op) {
                        break;
                    }
                    {
                        var curve = curvePartialByID(test, frags[0], frags[1], frags[2]);
                        curve_extremes(curve, angleBounds);
                    }
                    break;
                case REC_TYPE_ANGLE:
                    if (!draw_angle) {
                        break;
                    }
                    {
                        var curve = curvePartialByID(test, frags[0], frags[4], frags[5]);
                        curve_extremes(curve, angleBounds);
                        curve = curvePartialByID(test, frags[6], frags[10], frags[11]);
                        curve_extremes(curve, angleBounds);
                        curve = curvePartialByID(test, frags[12], frags[16], frags[17]);
                    }
                    break;
                case REC_TYPE_COINCIDENCE:
                    if (!draw_coincidence) {
                        break;
                    }
                    {
                        var curve = curvePartialByID(test, frags[0], frags[1], frags[2]);
                        curve_extremes(curve, angleBounds);
                    }
                    break;
                case REC_TYPE_SORT:
                    if (!draw_sort) {
                        break;
                    }
                    if (fragType == SORT_UNARY || fragType == SORT_BINARY) {
                        var curve = curvePartialByID(test, frags[0], frags[6], frags[8]);
                        curve_extremes(curve, angleBounds);
                    }
                    break;
                case REC_TYPE_TOP:
                    if (!draw_top) {
                        break;
                    }
                    {
                        var curve = curvePartialByID(test, frags[0], frags[1], frags[2]);
                        curve_extremes(curve, angleBounds);
                    }
                    break;
            }
        }
    }
    xmin = Math.min(xmin, angleBounds[0]);
    ymin = Math.min(ymin, angleBounds[1]);
    xmax = Math.max(xmax, angleBounds[2]);
    ymax = Math.max(ymax, angleBounds[3]);
    setScale(xmin, xmax, ymin, ymax);
    if (hasPath == false && hasComputedPath == true && !draw_computed) {
        draw_computed = 7; // show quadratics, conics, and cubics
    }
    if (hasPath == true && hasComputedPath == false && draw_computed) {
        draw_computed = 0;
    }
}

function curveByIDMatch(test, id, recMatch) {
    var tIndex = -3;
    while ((tIndex += 3) < test.length) {
        var recType = test[tIndex];
        if (recType == REC_TYPE_OP) {
            continue;
        }
        if (recType != recMatch) {
            return [];
        }
        var records = test[tIndex + 2];
        for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2) {
            var fragType = records[recordIndex];
            var frags = records[recordIndex + 1];
            if (frags[0] == id) {
                switch (fragType) {
                    case PATH_LINE:
                        return [frags[1], frags[2], frags[3], frags[4]];
                    case PATH_QUAD:
                        return [frags[1], frags[2], frags[3], frags[4],
                                frags[5], frags[6]];
                    case PATH_CONIC:
                        return [frags[1], frags[2], frags[3], frags[4],
                                frags[5], frags[6], frags[7]];
                    case PATH_CUBIC:
                        return [frags[1], frags[2], frags[3], frags[4],
                                frags[5], frags[6], frags[7], frags[8]];
                }
            }
        }
    }
    return [];
}

function curveByID(test, id) {
    var result = draw_path >= 4 ? curveByIDMatch(test, id, REC_TYPE_ALIGNED) : [];
    if (!result.length) {
        result = curveByIDMatch(test, id, REC_TYPE_PATH);
    }
    return result;
}

function curvePartialByIDMatch(test, id, t0, t1, recMatch) {
    var tIndex = -3;
    while ((tIndex += 3) < test.length) {
        var recType = test[tIndex];
        if (recType == REC_TYPE_OP) {
            continue;
        }
        if (recType != recMatch) {
            return [];
        }
        var records = test[tIndex + 2];
        for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2) {
            var fragType = records[recordIndex];
            var frags = records[recordIndex + 1];
            if (frags[0] == id) {
                switch (fragType) {
                    case PATH_LINE:
                        return linePartial(frags[1], frags[2], frags[3], frags[4], t0, t1);
                    case PATH_QUAD:
                        return quadPartial(frags[1], frags[2], frags[3], frags[4],
                                frags[5], frags[6], t0, t1);
                    case PATH_CONIC:
                        return conicPartial(frags[1], frags[2], frags[3], frags[4],
                                frags[5], frags[6], frags[7], t0, t1);
                    case PATH_CUBIC:
                        return cubicPartial(frags[1], frags[2], frags[3], frags[4],
                                frags[5], frags[6], frags[7], frags[8], t0, t1);
                }
            }
        }
    }
    return [];
}

function curvePartialByID(test, id, t0, t1) {
    var result = draw_path >= 4 ? curvePartialByIDMatch(test, id, t0, t1, REC_TYPE_ALIGNED) : [];
    if (!result.length) {
        result = curvePartialByIDMatch(test, id, t0, t1, REC_TYPE_PATH);
    }
    return result;
}

function idByCurveIDMatch(test, frag, type, recMatch) {
    var tIndex = 0;
    while (tIndex < test.length) {
        var recType = test[tIndex];
        if (recType != recMatch) {
            ++tIndex;
            continue;
        }
        var records = test[tIndex + 2];
        for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2) {
            var fragType = records[recordIndex];
            var frags = records[recordIndex + 1];
            if (frag.length != frags.length - 1) {
                continue;
            }
            switch (fragType) {
                case PATH_LINE:
                    if (frag[0] != frags[1] || frag[1] != frags[2]
                            || frag[2] != frags[3] || frag[3] != frags[4]) {
                        continue;
                    }
                    return frags[0];
                case PATH_QUAD:
                    if (frag[0] != frags[1] || frag[1] != frags[2]
                            || frag[2] != frags[3] || frag[3] != frags[4]
                            || frag[4] != frags[5] || frag[5] != frags[6]) {
                        continue;
                    }
                    return frags[0];
                case PATH_CONIC:
                    if (frag[0] != frags[1] || frag[1] != frags[2]
                            || frag[2] != frags[3] || frag[3] != frags[4]
                            || frag[4] != frags[5] || frag[5] != frags[6]
                            || frag[6] != frags[7]) {
                        continue;
                    }
                    return frags[0];
                case PATH_CUBIC:
                    if (frag[0] != frags[1] || frag[1] != frags[2]
                            || frag[2] != frags[3] || frag[3] != frags[4]
                            || frag[4] != frags[5] || frag[5] != frags[6]
                            || frag[6] != frags[7] || frag[7] != frags[8]) {
                        continue;
                    }
                    return frags[0];
            }
        }
        ++tIndex;
    }
    return -1;
}

function idByCurve(test, frag, type) {
    var result = draw_path >= 4 ? idByCurveIDMatch(test, frag, type, REC_TYPE_ALIGNED) : [];
    if (!result.length) {
        result = idByCurveIDMatch(test, frag, type, REC_TYPE_PATH);
    }
    return result;
}

function curve_extremes(curve, bounds) {
    var length = curve.length == 7 ? 6 : curve.length;
    for (var index = 0; index < length; index += 2) {
        var x = curve[index];
        var y = curve[index + 1];
        bounds[0] = Math.min(bounds[0], x);
        bounds[1] = Math.min(bounds[1], y);
        bounds[2] = Math.max(bounds[2], x);
        bounds[3] = Math.max(bounds[3], y);
    }
}

function setScale(x0, x1, y0, y1) {
    var srcWidth = x1 - x0;
    var srcHeight = y1 - y0;
    var usableWidth = screenWidth;
    var xDigits = Math.ceil(Math.log(Math.abs(xmax)) / Math.log(10));
    var yDigits = Math.ceil(Math.log(Math.abs(ymax)) / Math.log(10));
    usableWidth -= (xDigits + yDigits) * 10;
    usableWidth -= decimal_places * 10;
    if (draw_legend) {
        usableWidth -= 40;
    }
    var hscale = usableWidth / srcWidth;
    var vscale = screenHeight / srcHeight;
    scale = Math.min(hscale, vscale);
    var invScale = 1 / scale;
    var sxmin = x0 - invScale * 5;
    var symin = y0 - invScale * 10;
    var sxmax = x1 + invScale * (6 * decimal_places + 10);
    var symax = y1 + invScale * 10;
    srcWidth = sxmax - sxmin;
    srcHeight = symax - symin;
    hscale = usableWidth / srcWidth;
    vscale = screenHeight / srcHeight;
    scale = Math.min(hscale, vscale);
    srcLeft = sxmin;
    srcTop = symin;
}

function drawArc(curve, op, from, to) {
    var type = PATH_LINE + (curve.length / 2 - 2);
    var pt = pointAtT(curve, type, op ? 0.4 : 0.6);
    var dy = pt.y - curve[1];
    var dx = pt.x - curve[0];
    var dist = Math.sqrt(dy * dy + dx * dx);
    var _dist = dist * scale;
    var angle = Math.atan2(dy, dx);
    var _px = (curve[0] - srcLeft) * scale;
    var _py = (curve[1] - srcTop) * scale;
    var divisor = 4;
    var endDist;
    do {
        var ends = [];
        for (var index = -1; index <= 1; index += 2) {
            var px = Math.cos(index * Math.PI / divisor);
            var py = Math.sin(index * Math.PI / divisor);
            ends.push(px);
            ends.push(py);
        }
        var endDx = (ends[2] - ends[0]) * scale * dist;
        var endDy = (ends[3] - ends[1]) * scale * dist;
        endDist = Math.sqrt(endDx * endDx + endDy * endDy);
        if (endDist < 100) {
            break;
        }
        divisor *= 2;
    } while (true);
    if (endDist < 30) {
        return;
    }
    if (op) {
        divisor *= 2;
    }
    ctx.strokeStyle = op ? "rgba(210,0,45, 0.4)" : "rgba(90,90,90, 0.5)";
    ctx.beginPath();
    ctx.arc(_px, _py, _dist, angle - Math.PI / divisor, angle + Math.PI / divisor, false);
    ctx.stroke();
    var saveAlign = ctx.textAlign;
    var saveStyle = ctx.fillStyle;
    var saveFont = ctx.font;
    ctx.textAlign = "center";
    ctx.fillStyle = "black";
    ctx.font = "normal 24px Arial";
    divisor *= 0.8;
    for (var index = -1; index <= 1; index += 2) {
        var px = curve[0] + Math.cos(angle + index * Math.PI / divisor) * dist;
        var py = curve[1] + Math.sin(angle + index * Math.PI / divisor) * dist;
        var _px = (px - srcLeft) * scale;
        var _py = (py - srcTop) * scale;
        ctx.fillText(index < 0 ? to.toString() : from.toString(), _px, _py + 8);
    }
    ctx.textAlign = saveAlign;
    ctx.fillStyle = saveStyle;
    ctx.font = saveFont;
}

function drawPoint(px, py, end) {
    var length = drawnPts.length == 7 ? 6 : drawnPts.length;
    for (var pts = 0; pts < length; pts += 2) {
        var x = drawnPts[pts];
        var y = drawnPts[pts + 1];
        if (px == x && py == y) {
            return;
        }
    }
    drawnPts.push(px);
    drawnPts.push(py);
    var label = px.toFixed(decimal_places) + ", " + py.toFixed(decimal_places);
    var _px = (px - srcLeft) * scale;
    var _py = (py - srcTop) * scale;
    ctx.beginPath();
    ctx.arc(_px, _py, 3, 0, Math.PI*2, true);
    ctx.closePath();
    if (end) {
        ctx.fill();
    } else {
        ctx.stroke();
    }
    if (debug_xy) {
        ctx.textAlign = "left";
        ctx.fillText(label, _px + 5, _py);
    }
}

function coordCount(curveType) {
    switch (curveType) {
        case PATH_LINE:
            return 4;
        case PATH_QUAD:
            return 6;
        case PATH_CONIC:
            return 6;
        case PATH_CUBIC:
            return 8;
    }
    return -1;
}

function drawPoints(ptArray, curveType, drawControls) {
    var count = coordCount(curveType);
    for (var idx = 0; idx < count; idx += 2) {
        if (!drawControls && idx != 0 && idx != count - 2) {
            continue;
        }
        drawPoint(ptArray[idx], ptArray[idx + 1], idx == 0 || idx == count - 2);
    }
}

function drawControlLines(curve, curveType, drawEnd) {
    if (curveType == PATH_LINE) {
        return;
    }
    ctx.strokeStyle = "rgba(0,0,0, 0.3)";
    drawLine(curve[0], curve[1], curve[2], curve[3]);
    drawLine(curve[2], curve[3], curve[4], curve[5]);
    if (curveType == PATH_CUBIC) {
        drawLine(curve[4], curve[5], curve[6], curve[7]);
        if (drawEnd > 1) {
            drawLine(curve[6], curve[7], curve[0], curve[1]);
            if (drawEnd > 2) {
                drawLine(curve[0], curve[1], curve[4], curve[5]);
                drawLine(curve[6], curve[7], curve[2], curve[3]);
            }
        }
    } else if (drawEnd > 1) {
        drawLine(curve[4], curve[5], curve[0], curve[1]);
    }
}

function pointAtT(curve, curveType, t) {
    var xy = {};
    switch (curveType) {
        case PATH_LINE:
            var a = 1 - t;
            var b = t;
            xy.x = a * curve[0] + b * curve[2];
            xy.y = a * curve[1] + b * curve[3];
            break;
        case PATH_QUAD:
            var one_t = 1 - t;
            var a = one_t * one_t;
            var b = 2 * one_t * t;
            var c = t * t;
            xy.x = a * curve[0] + b * curve[2] + c * curve[4];
            xy.y = a * curve[1] + b * curve[3] + c * curve[5];
            break;
        case PATH_CONIC:
            var one_t = 1 - t;
            var a = one_t * one_t;
            var b = 2 * one_t * t;
            var c = t * t;
            xy.x = a * curve[0] + b * curve[2] * curve[6] + c * curve[4];
            xy.y = a * curve[1] + b * curve[3] * curve[6] + c * curve[5];
            var d = a + b * curve[6] + c;
            xy.x /= d;
            xy.y /= d;
            break;
        case PATH_CUBIC:
            var one_t = 1 - t;
            var one_t2 = one_t * one_t;
            var a = one_t2 * one_t;
            var b = 3 * one_t2 * t;
            var t2 = t * t;
            var c = 3 * one_t * t2;
            var d = t2 * t;
            xy.x = a * curve[0] + b * curve[2] + c * curve[4] + d * curve[6];
            xy.y = a * curve[1] + b * curve[3] + c * curve[5] + d * curve[7];
            break;
    }
    return xy;
}

function drawPointAtT(curve, curveType) {
    var x, y;
    var xy = pointAtT(curve, curveType, curveT);
    drawPoint(xy.x, xy.y, true);
    if (!draw_intersectT) {
        return;
    }
    ctx.fillStyle = "red";
    drawTAtPointUp(xy.x, xy.y, curveT);
}

function drawTAtPointUp(px, py, t) {
    var label = t.toFixed(decimal_places);
    var _px = (px - srcLeft)* scale;
    var _py = (py - srcTop) * scale;
    ctx.fillText(label, _px + 5, _py - 10);
}

function drawTAtPointDown(px, py, t) {
    var label = t.toFixed(decimal_places);
    var _px = (px - srcLeft)* scale;
    var _py = (py - srcTop) * scale;
    ctx.fillText(label, _px + 5, _py + 10);
}

function alreadyDrawnLine(x1, y1, x2, y2) {
    if (collect_bounds) {
        if (focus_enabled) {
            focusXmin = Math.min(focusXmin, x1, x2);
            focusYmin = Math.min(focusYmin, y1, y2);
            focusXmax = Math.max(focusXmax, x1, x2);
            focusYmax = Math.max(focusYmax, y1, y2);
        }
        return true;
    }
    for (var pts = 0; pts < drawnLines.length; pts += 4) {
        if (x1 == drawnLines[pts] && y1 == drawnLines[pts + 1]
                && x2 == drawnLines[pts + 2] && y2 == drawnLines[pts + 3]) {
            return true;
        }
    }
    drawnLines.push(x1);
    drawnLines.push(y1);
    drawnLines.push(x2);
    drawnLines.push(y2);
    return false;
}

function drawLine(x1, y1, x2, y2) {
    if (alreadyDrawnLine(x1, y1, x2, y2)) {
        return;
    }
    ctx.beginPath();
    ctx.moveTo((x1 - srcLeft) * scale,
            (y1 - srcTop) * scale);
    ctx.lineTo((x2 - srcLeft) * scale,
            (y2 - srcTop) * scale);
    ctx.stroke();
}

function linePartial(x1, y1, x2, y2, t1, t2) {
    var dx = x1 - x2;
    var dy = y1 - y2;
    var array = [
        x1 - t1 * dx,
        y1 - t1 * dy,
        x1 - t2 * dx,
        y1 - t2 * dy
    ];
    return array;
}

function drawLinePartial(x1, y1, x2, y2, t1, t2) {
    var a = linePartial(x1, y1, x2, y2, t1, t2);
    var ax = a[0];
    var ay = a[1];
    var bx = a[2];
    var by = a[3];
    if (alreadyDrawnLine(ax, ay, bx, by)) {
        return;
    }
    ctx.beginPath();
    ctx.moveTo((ax - srcLeft) * scale,
            (ay - srcTop) * scale);
    ctx.lineTo((bx - srcLeft) * scale,
            (by - srcTop) * scale);
    ctx.stroke();
}

function alreadyDrawnQuad(x1, y1, x2, y2, x3, y3) {
    if (collect_bounds) {
        if (focus_enabled) {
            focusXmin = Math.min(focusXmin, x1, x2, x3);
            focusYmin = Math.min(focusYmin, y1, y2, y3);
            focusXmax = Math.max(focusXmax, x1, x2, x3);
            focusYmax = Math.max(focusYmax, y1, y2, y3);
        }
        return true;
    }
    for (var pts = 0; pts < drawnQuads.length; pts += 6) {
        if (x1 == drawnQuads[pts] && y1 == drawnQuads[pts + 1]
                && x2 == drawnQuads[pts + 2] && y2 == drawnQuads[pts + 3]
                && x3 == drawnQuads[pts + 4] && y3 == drawnQuads[pts + 5]) {
            return true;
        }
    }
    drawnQuads.push(x1);
    drawnQuads.push(y1);
    drawnQuads.push(x2);
    drawnQuads.push(y2);
    drawnQuads.push(x3);
    drawnQuads.push(y3);
    return false;
}

function drawQuad(x1, y1, x2, y2, x3, y3) {
    if (alreadyDrawnQuad(x1, y1, x2, y2, x3, y3)) {
        return;
    }
    ctx.beginPath();
    ctx.moveTo((x1 - srcLeft) * scale,
            (y1 - srcTop) * scale);
    ctx.quadraticCurveTo((x2 - srcLeft) * scale,
            (y2 - srcTop) * scale,
            (x3 - srcLeft) * scale,
            (y3 - srcTop) * scale);
    ctx.stroke();
}

function interp(A, B, t) {
    return A + (B - A) * t;
}

function interp_quad_coords(x1, x2, x3, t)
{
    var ab = interp(x1, x2, t);
    var bc = interp(x2, x3, t);
    var abc = interp(ab, bc, t);
    return abc;
}

function quadPartial(x1, y1, x2, y2, x3, y3, t1, t2) {
    var ax = interp_quad_coords(x1, x2, x3, t1);
    var ay = interp_quad_coords(y1, y2, y3, t1);
    var dx = interp_quad_coords(x1, x2, x3, (t1 + t2) / 2);
    var dy = interp_quad_coords(y1, y2, y3, (t1 + t2) / 2);
    var cx = interp_quad_coords(x1, x2, x3, t2);
    var cy = interp_quad_coords(y1, y2, y3, t2);
    var bx = 2*dx - (ax + cx)/2;
    var by = 2*dy - (ay + cy)/2;
    var array = [
        ax, ay, bx, by, cx, cy
    ];
    return array;
}

function drawQuadPartial(x1, y1, x2, y2, x3, y3, t1, t2) {
    var a = quadPartial(x1, y1, x2, y2, x3, y3, t1, t2);
    var ax = a[0];
    var ay = a[1];
    var bx = a[2];
    var by = a[3];
    var cx = a[4];
    var cy = a[5];
    if (alreadyDrawnQuad(ax, ay, bx, by, cx, cy)) {
        return;
    }
    ctx.beginPath();
    ctx.moveTo((ax - srcLeft) * scale,
            (ay - srcTop) * scale);
    ctx.quadraticCurveTo((bx - srcLeft) * scale,
            (by - srcTop) * scale,
            (cx - srcLeft) * scale,
            (cy - srcTop) * scale);
    ctx.stroke();
}

function alreadyDrawnConic(x1, y1, x2, y2, x3, y3, w) {
    if (collect_bounds) {
        if (focus_enabled) {
            focusXmin = Math.min(focusXmin, x1, x2, x3);
            focusYmin = Math.min(focusYmin, y1, y2, y3);
            focusXmax = Math.max(focusXmax, x1, x2, x3);
            focusYmax = Math.max(focusYmax, y1, y2, y3);
        }
        return true;
    }
    for (var pts = 0; pts < drawnConics.length; pts += 8) {
        if (x1 == drawnConics[pts] && y1 == drawnCubics[pts + 1]
                && x2 == drawnCubics[pts + 2] && y2 == drawnCubics[pts + 3]
                && x3 == drawnCubics[pts + 4] && y3 == drawnCubics[pts + 5]
                && w == drawnCubics[pts + 6]) {
            return true;
        }
    }
    drawnConics.push(x1);
    drawnConics.push(y1);
    drawnConics.push(x2);
    drawnConics.push(y2);
    drawnConics.push(x3);
    drawnConics.push(y3);
    drawnCubics.push(w);
    return false;
}

var kMaxConicToQuadPOW2 = 5;

function computeQuadPOW2(curve, tol) {
    var a = curve[6] - 1;
    var k = a / (4 * (2 + a));
    var x = k * (curve[0] - 2 * curve[2] + curve[4]);
    var y = k * (curve[1] - 2 * curve[3] + curve[5]);

    var error = Math.sqrt(x * x + y * y);
    var pow2;
    for (pow2 = 0; pow2 < kMaxConicToQuadPOW2; ++pow2) {
        if (error <= tol) {
            break;
        }
        error *= 0.25;
    }
    return pow2;
}

function subdivide_w_value(w) {
    return Math.sqrt(0.5 + w * 0.5);
}

function chop(curve, part1, part2) {
    var w = curve[6];
    var scale = 1 / (1 + w);
    part1[0] = curve[0];
    part1[1] = curve[1];
    part1[2] = (curve[0] + curve[2] * w) * scale;
    part1[3] = (curve[1] + curve[3] * w) * scale;
    part1[4] = part2[0] = (curve[0] + (curve[2] * w) * 2 + curve[4]) * scale * 0.5;
    part1[5] = part2[1] = (curve[1] + (curve[3] * w) * 2 + curve[5]) * scale * 0.5;
    part2[2] = (curve[2] * w + curve[4]) * scale;
    part2[3] = (curve[3] * w + curve[5]) * scale;
    part2[4] = curve[4];
    part2[5] = curve[5];
    part1[6] = part2[6] = subdivide_w_value(w);
}

function subdivide(curve, level, pts) {
    if (0 == level) {
        pts.push(curve[2]);
        pts.push(curve[3]);
        pts.push(curve[4]);
        pts.push(curve[5]);
    } else {
        var part1 = [], part2 = [];
        chop(curve, part1, part2);
        --level;
        subdivide(part1, level, pts);
        subdivide(part2, level, pts);
    }
}

function chopIntoQuadsPOW2(curve, pow2, pts) {
    subdivide(curve, pow2, pts);
    return 1 << pow2;
}

function drawConicWithQuads(x1, y1, x2, y2, x3, y3, w) {
    if (alreadyDrawnConic(x1, y1, x2, y2, x3, y3, w)) {
        return;
    }
    ctx.beginPath();
    ctx.moveTo((x1 - srcLeft) * scale,
            (y1 - srcTop) * scale);
    var tol = 1 / scale;
    var curve = [x1, y1, x2, y2, x3, y3, w];
    var pow2 = computeQuadPOW2(curve, tol);
    var pts = [];
    chopIntoQuadsPOW2(curve, pow2, pts);
    for (var i = 0; i < pts.length; i += 4) {
        ctx.quadraticCurveTo(
            (pts[i + 0] - srcLeft) * scale, (pts[i + 1] - srcTop) * scale,
            (pts[i + 2] - srcLeft) * scale, (pts[i + 3] - srcTop) * scale);
    }
    ctx.stroke();
}

function conic_eval_numerator(x1, x2, x3, w, t) {
    var src2w = x2 * w;
    var C = x1;
    var A = x3 - 2 * src2w + C;
    var B = 2 * (src2w - C);
    return (A * t + B) * t + C;
}


function conic_eval_denominator(w, t) {
    var B = 2 * (w - 1);
    var C = 1;
    var A = -B;
    return (A * t + B) * t + C;
}

function conicPartial(x1, y1, x2, y2, x3, y3, w, t1, t2) {
    var ax = conic_eval_numerator(x1, x2, x3, w, t1);
    var ay = conic_eval_numerator(y1, y2, y3, w, t1);
    var az = conic_eval_denominator(w, t1);
    var midT = (t1 + t2) / 2;
    var dx = conic_eval_numerator(x1, x2, x3, w, midT);
    var dy = conic_eval_numerator(y1, y2, y3, w, midT);
    var dz = conic_eval_denominator(w, midT);
    var cx = conic_eval_numerator(x1, x2, x3, w, t2);
    var cy = conic_eval_numerator(y1, y2, y3, w, t2);
    var cz = conic_eval_denominator(w, t2);
    var bx = 2 * dx - (ax + cx) / 2;
    var by = 2 * dy - (ay + cy) / 2;
    var bz = 2 * dz - (az + cz) / 2;
    var dt = t2 - t1;
    var dt_1 = 1 - dt;
    var array = [
        ax / az, ay / az, bx / bz, by / bz, cx / cz, cy / cz, 0
    ];
    var dMidAC = { x:(array[0] + array[4]) / 2, y:(array[1] + array[5]) / 2 };
    var dMid = { x:dx / dz, y:dy / dz };
    var dWNumer = { x:dMidAC.x - dMid.x, y:dMidAC.y - dMid.y };
    var dWDenom = { x:dMid.x - array[2], y:dMid.y - array[3] };
    var partW = Math.sqrt(dWNumer.x * dWNumer.x + dWNumer.y * dWNumer.y)
                / Math.sqrt(dWDenom.x * dWDenom.x + dWDenom.y * dWDenom.y);
    array[6] = partW;
    return array;
}

function drawConicPartial(x1, y1, x2, y2, x3, y3, w, t1, t2) {
    var a = conicPartial(x1, y1, x2, y2, x3, y3, w, t1, t2);
    var ax = a[0];
    var ay = a[1];
    var bx = a[2];
    var by = a[3];
    var cx = a[4];
    var cy = a[5];
    var w_ = a[6];
    drawConicWithQuads(ax, ay, bx, by, cx, cy, w_);
}

function alreadyDrawnCubic(x1, y1, x2, y2, x3, y3, x4, y4) {
    if (collect_bounds) {
        if (focus_enabled) {
            focusXmin = Math.min(focusXmin, x1, x2, x3, x4);
            focusYmin = Math.min(focusYmin, y1, y2, y3, y4);
            focusXmax = Math.max(focusXmax, x1, x2, x3, x4);
            focusYmax = Math.max(focusYmax, y1, y2, y3, y4);
        }
        return true;
    }
    for (var pts = 0; pts < drawnCubics.length; pts += 8) {
        if (x1 == drawnCubics[pts] && y1 == drawnCubics[pts + 1]
                && x2 == drawnCubics[pts + 2] && y2 == drawnCubics[pts + 3]
                && x3 == drawnCubics[pts + 4] && y3 == drawnCubics[pts + 5]
                && x4 == drawnCubics[pts + 6] && y4 == drawnCubics[pts + 7]) {
            return true;
        }
    }
    drawnCubics.push(x1);
    drawnCubics.push(y1);
    drawnCubics.push(x2);
    drawnCubics.push(y2);
    drawnCubics.push(x3);
    drawnCubics.push(y3);
    drawnCubics.push(x4);
    drawnCubics.push(y4);
    return false;
}

function drawCubic(x1, y1, x2, y2, x3, y3, x4, y4) {
    if (alreadyDrawnCubic(x1, y1, x2, y2, x3, y3, x4, y4)) {
        return;
    }
    ctx.beginPath();
    ctx.moveTo((x1 - srcLeft) * scale,
            (y1 - srcTop) * scale);
    ctx.bezierCurveTo((x2 - srcLeft) * scale,
            (y2 - srcTop) * scale,
            (x3 - srcLeft) * scale,
            (y3 - srcTop) * scale,
            (x4 - srcLeft) * scale,
            (y4 - srcTop) * scale);
    ctx.stroke();
}

function interp_cubic_coords(x1, x2, x3, x4, t)
{
    var ab = interp(x1, x2, t);
    var bc = interp(x2, x3, t);
    var cd = interp(x3, x4, t);
    var abc = interp(ab, bc, t);
    var bcd = interp(bc, cd, t);
    var abcd = interp(abc, bcd, t);
    return abcd;
}

function cubicPartial(x1, y1, x2, y2, x3, y3, x4, y4, t1, t2) {
    var ax = interp_cubic_coords(x1, x2, x3, x4, t1);
    var ay = interp_cubic_coords(y1, y2, y3, y4, t1);
    var ex = interp_cubic_coords(x1, x2, x3, x4, (t1*2+t2)/3);
    var ey = interp_cubic_coords(y1, y2, y3, y4, (t1*2+t2)/3);
    var fx = interp_cubic_coords(x1, x2, x3, x4, (t1+t2*2)/3);
    var fy = interp_cubic_coords(y1, y2, y3, y4, (t1+t2*2)/3);
    var dx = interp_cubic_coords(x1, x2, x3, x4, t2);
    var dy = interp_cubic_coords(y1, y2, y3, y4, t2);
    var mx = ex * 27 - ax * 8 - dx;
    var my = ey * 27 - ay * 8 - dy;
    var nx = fx * 27 - ax - dx * 8;
    var ny = fy * 27 - ay - dy * 8;
    var bx = (mx * 2 - nx) / 18;
    var by = (my * 2 - ny) / 18;
    var cx = (nx * 2 - mx) / 18;
    var cy = (ny * 2 - my) / 18;
    var array = [
        ax, ay, bx, by, cx, cy, dx, dy
    ];
    return array;
}

function drawCubicPartial(x1, y1, x2, y2, x3, y3, x4, y4, t1, t2) {
    var a = cubicPartial(x1, y1, x2, y2, x3, y3, x4, y4, t1, t2);
    var ax = a[0];
    var ay = a[1];
    var bx = a[2];
    var by = a[3];
    var cx = a[4];
    var cy = a[5];
    var dx = a[6];
    var dy = a[7];
    if (alreadyDrawnCubic(ax, ay, bx, by, cx, cy, dx, dy)) {
        return;
    }
    ctx.beginPath();
    ctx.moveTo((ax - srcLeft) * scale,
            (ay - srcTop) * scale);
    ctx.bezierCurveTo((bx - srcLeft) * scale,
            (by - srcTop) * scale,
            (cx - srcLeft) * scale,
            (cy - srcTop) * scale,
            (dx - srcLeft) * scale,
            (dy - srcTop) * scale);
    ctx.stroke();
}

function drawCurve(c) {
    switch (c.length) {
        case 4:
            drawLine(c[0], c[1], c[2], c[3]);
            break;
        case 6:
            drawQuad(c[0], c[1], c[2], c[3], c[4], c[5]);
            break;
        case 7:
            drawConicWithQuads(c[0], c[1], c[2], c[3], c[4], c[5], c[6]);
            break;
        case 8:
            drawCubic(c[0], c[1], c[2], c[3], c[4], c[5], c[6], c[7]);
            break;
    }
}

function boundsWidth(pts) {
    var min = pts[0];
    var max = pts[0];
    var length = pts.length == 7 ? 6 : pts.length;
    for (var idx = 2; idx < length; idx += 2) {
        min = Math.min(min, pts[idx]);
        max = Math.max(max, pts[idx]);
    }
    return max - min;
}

function boundsHeight(pts) {
    var min = pts[1];
    var max = pts[1];
    var length = pts.length == 7 ? 6 : pts.length;
    for (var idx = 3; idx < length; idx += 2) {
        min = Math.min(min, pts[idx]);
        max = Math.max(max, pts[idx]);
    }
    return max - min;
}

function tangent(pts) {
    var dx = pts[2] - pts[0];
    var dy = pts[3] - pts[1];
    if (dx == 0 && dy == 0 && pts.length > 4) {
        dx = pts[4] - pts[0];
        dy = pts[5] - pts[1];
        if (dx == 0 && dy == 0 && pts.length == 8) {
            dx = pts[6] - pts[0];
            dy = pts[7] - pts[1];
        }
    }
    return Math.atan2(-dy, dx);
}

function hodograph(cubic) {
    var hodo = [];
    hodo[0] = 3 * (cubic[2] - cubic[0]);
    hodo[1] = 3 * (cubic[3] - cubic[1]);
    hodo[2] = 3 * (cubic[4] - cubic[2]);
    hodo[3] = 3 * (cubic[5] - cubic[3]);
    hodo[4] = 3 * (cubic[6] - cubic[4]);
    hodo[5] = 3 * (cubic[7] - cubic[5]);
    return hodo;
}

function hodograph2(cubic) {
    var quad = hodograph(cubic);
    var hodo = [];
    hodo[0] = 2 * (quad[2] - quad[0]);
    hodo[1] = 2 * (quad[3] - quad[1]);
    hodo[2] = 2 * (quad[4] - quad[2]);
    hodo[3] = 2 * (quad[5] - quad[3]);
    return hodo;
}

function quadraticRootsReal(A, B, C, s) {
    if (A == 0) {
        if (B == 0) {
            s[0] = 0;
            return C == 0;
        }
        s[0] = -C / B;
        return 1;
    }
    /* normal form: x^2 + px + q = 0 */
    var p = B / (2 * A);
    var q = C / A;
    var p2 = p * p;
    if (p2 < q) {
        return 0;
    }
    var sqrt_D = 0;
    if (p2 > q) {
        sqrt_D = sqrt(p2 - q);
    }
    s[0] = sqrt_D - p;
    s[1] = -sqrt_D - p;
    return 1 + s[0] != s[1];
}

function add_valid_ts(s, realRoots, t) {
    var foundRoots = 0;
    for (var index = 0; index < realRoots; ++index) {
        var tValue = s[index];
        if (tValue >= 0 && tValue <= 1) {
            for (var idx2 = 0; idx2 < foundRoots; ++idx2) {
                if (t[idx2] != tValue) {
                    t[foundRoots++] = tValue;
                }
            }
        }
    }
    return foundRoots;
}

function quadraticRootsValidT(a, b, c, t) {
    var s = [];
    var realRoots = quadraticRootsReal(A, B, C, s);
    var foundRoots = add_valid_ts(s, realRoots, t);
    return foundRoots != 0;
}

function find_cubic_inflections(cubic, tValues) {
    var Ax = src[2] - src[0];
    var Ay = src[3] - src[1];
    var Bx = src[4] - 2 * src[2] + src[0];
    var By = src[5] - 2 * src[3] + src[1];
    var Cx = src[6] + 3 * (src[2] - src[4]) - src[0];
    var Cy = src[7] + 3 * (src[3] - src[5]) - src[1];
    return quadraticRootsValidT(Bx * Cy - By * Cx, (Ax * Cy - Ay * Cx),
            Ax * By - Ay * Bx, tValues);
}

function dxy_at_t(curve, type, t) {
    var dxy = {};
    if (type == PATH_QUAD) {
        var a = t - 1;
        var b = 1 - 2 * t;
        var c = t;
        dxy.x = a * curve[0] + b * curve[2] + c * curve[4];
        dxy.y = a * curve[1] + b * curve[3] + c * curve[5];
    } else if (type == PATH_CONIC) {
        var p20x = curve[4] - curve[0];
        var p20y = curve[5] - curve[1];
        var p10xw = (curve[2] - curve[0]) * curve[6];
        var p10yw = (curve[3] - curve[1]) * curve[6];
        var coeff0x = curve[6] * p20x - p20x;
        var coeff0y = curve[6] * p20y - p20y;
        var coeff1x = p20x - 2 * p10xw;
        var coeff1y = p20y - 2 * p10yw;
        dxy.x = t * (t * coeff0x + coeff1x) + p10xw;
        dxy.y = t * (t * coeff0y + coeff1y) + p10yw;
    } else if (type == PATH_CUBIC) {
        var one_t = 1 - t;
        var a = curve[0];
        var b = curve[2];
        var c = curve[4];
        var d = curve[6];
        dxy.x = 3 * ((b - a) * one_t * one_t + 2 * (c - b) * t * one_t + (d - c) * t * t);
        a = curve[1];
        b = curve[3];
        c = curve[5];
        d = curve[7];
        dxy.y = 3 * ((b - a) * one_t * one_t + 2 * (c - b) * t * one_t + (d - c) * t * t);
    }
    return dxy;
}

function drawLabel(num, px, py) {
    ctx.beginPath();
    ctx.arc(px, py, 8, 0, Math.PI*2, true);
    ctx.closePath();
    ctx.strokeStyle = "rgba(0,0,0, 0.4)";
    ctx.lineWidth = num == 0 || num == 3 ? 2 : 1;
    ctx.stroke();
    ctx.fillStyle = "black";
    ctx.font = "normal 10px Arial";
  //  ctx.rotate(0.001);
    ctx.fillText(num, px - 2, py + 3);
  //  ctx.rotate(-0.001);
}

function drawLabelX(ymin, num, loc) {
    var px = (loc - srcLeft) * scale;
    var py = (ymin - srcTop) * scale - 20;
    drawLabel(num, px, py);
}

function drawLabelY(xmin, num, loc) {
    var px = (xmin - srcLeft) * scale - 20;
    var py = (loc - srcTop) * scale;
    drawLabel(num, px, py);
}

function drawHodoOrigin(hx, hy, hMinX, hMinY, hMaxX, hMaxY) {
    ctx.beginPath();
    ctx.moveTo(hx, hy - 100);
    ctx.lineTo(hx, hy);
    ctx.strokeStyle = hMinY < 0 ? "green" : "blue";
    ctx.stroke();
    ctx.beginPath();
    ctx.moveTo(hx, hy);
    ctx.lineTo(hx, hy + 100);
    ctx.strokeStyle = hMaxY > 0 ? "green" : "blue";
    ctx.stroke();
    ctx.beginPath();
    ctx.moveTo(hx - 100, hy);
    ctx.lineTo(hx, hy);
    ctx.strokeStyle = hMinX < 0 ? "green" : "blue";
    ctx.stroke();
    ctx.beginPath();
    ctx.moveTo(hx, hy);
    ctx.lineTo(hx + 100, hy);
    ctx.strokeStyle = hMaxX > 0 ? "green" : "blue";
    ctx.stroke();
}

function scalexy(x, y, mag) {
    var length = Math.sqrt(x * x + y * y);
    return mag / length;
}

function drawArrow(x, y, dx, dy, s) {
    var dscale = scalexy(dx, dy, 1 / scale * 100 * s);
    dx *= dscale;
    dy *= dscale;
    ctx.beginPath();
    ctx.moveTo((x - srcLeft) * scale, (y - srcTop) * scale);
    x += dx;
    y += dy;
    ctx.lineTo((x - srcLeft) * scale, (y - srcTop) * scale);
    dx /= 10;
    dy /= 10;
    ctx.lineTo((x - dy - srcLeft) * scale, (y + dx - srcTop) * scale);
    ctx.lineTo((x + dx * 2 - srcLeft) * scale, (y + dy * 2 - srcTop) * scale);
    ctx.lineTo((x + dy - srcLeft) * scale, (y - dx - srcTop) * scale);
    ctx.lineTo((x - srcLeft) * scale, (y - srcTop) * scale);
    ctx.strokeStyle = "rgba(0,75,0, 0.4)";
    ctx.stroke();
}

function x_at_t(curve, t) {
    var one_t = 1 - t;
    if (curve.length == 4) {
        return one_t * curve[0] + t * curve[2];
    }
    var one_t2 = one_t * one_t;
    var t2 = t * t;
    if (curve.length == 6) {
        return one_t2 * curve[0] + 2 * one_t * t * curve[2] + t2 * curve[4];
    }
    if (curve.length == 7) {
        return (one_t2 * curve[0] + 2 * one_t * t * curve[2] * curve[6] + t2 * curve[4])
                / (one_t2 +2 * one_t * t * curve[6] + t2);
    }
    var a = one_t2 * one_t;
    var b = 3 * one_t2 * t;
    var c = 3 * one_t * t2;
    var d = t2 * t;
    return a * curve[0] + b * curve[2] + c * curve[4] + d * curve[6];
}

function y_at_t(curve, t) {
    var one_t = 1 - t;
    if (curve.length == 4) {
        return one_t * curve[1] + t * curve[3];
    }
    var one_t2 = one_t * one_t;
    var t2 = t * t;
    if (curve.length == 6) {
        return one_t2 * curve[1] + 2 * one_t * t * curve[3] + t2 * curve[5];
    }
    if (curve.length == 7) {
        return (one_t2 * curve[1] + 2 * one_t * t * curve[3] * curve[6] + t2 * curve[5])
                / (one_t2 +2 * one_t * t * curve[6] + t2);
    }
    var a = one_t2 * one_t;
    var b = 3 * one_t2 * t;
    var c = 3 * one_t * t2;
    var d = t2 * t;
    return a * curve[1] + b * curve[3] + c * curve[5] + d * curve[7];
}

function drawOrder(curve, label) {
    var px = x_at_t(curve, 0.75);
    var py = y_at_t(curve, 0.75);
    var _px = (px - srcLeft) * scale;
    var _py = (py - srcTop) * scale;
    ctx.beginPath();
    ctx.arc(_px, _py, 15, 0, Math.PI * 2, true);
    ctx.closePath();
    ctx.fillStyle = "white";
    ctx.fill();
    if (label == 'L') {
        ctx.strokeStyle = "rgba(255,0,0, 1)";
        ctx.fillStyle = "rgba(255,0,0, 1)";
    } else {
        ctx.strokeStyle = "rgba(0,0,255, 1)";
        ctx.fillStyle = "rgba(0,0,255, 1)";
    }
    ctx.stroke();
    ctx.font = "normal 16px Arial";
    ctx.textAlign = "center";
    ctx.fillText(label, _px, _py + 5);
    ctx.font = "normal 10px Arial";
}

function drawID(curve, id) {
    var px = x_at_t(curve, 0.5);
    var py = y_at_t(curve, 0.5);
    var _px = (px - srcLeft) * scale;
    var _py = (py - srcTop) * scale;
    draw_id_at(id, _px, _py);
}

function draw_id_at(id, _px, _py) {
    ctx.beginPath();
    ctx.arc(_px, _py, 15, 0, Math.PI * 2, true);
    ctx.closePath();
    ctx.fillStyle = "white";
    ctx.fill();
    ctx.strokeStyle = "rgba(127,127,0, 1)";
    ctx.fillStyle = "rgba(127,127,0, 1)";
    ctx.stroke();
    ctx.font = "normal 16px Arial";
    ctx.textAlign = "center";
    ctx.fillText(id, _px, _py + 5);
    ctx.font = "normal 10px Arial";
}

function drawLinePartialID(id, x1, y1, x2, y2, t1, t2) {
    var curve = [x1, y1, x2, y2];
    drawCurvePartialID(id, curve, t1, t2);
}

function drawLineID(id, x1, y1, x2, y2) {
    drawLinePartialID(id, x1, y1, x2, y2, 0, 1);
}

function drawQuadPartialID(id, x1, y1, x2, y2, x3, y3, t1, t2) {
    var curve = [x1, y1, x2, y2, x3, y3];
    drawCurvePartialID(id, curve, t1, t2);
}

function drawQuadID(id, x1, y1, x2, y2, x3, y3) {
    drawQuadPartialID(id, x1, y1, x2, y2, x3, y3, 0, 1);
}

function drawConicPartialID(id, x1, y1, x2, y2, x3, y3, w, t1, t2) {
    var curve = [x1, y1, x2, y2, x3, y3, w];
    drawCurvePartialID(id, curve, t1, t2);
}

function drawConicID(id, x1, y1, x2, y2, x3, y3, w) {
    drawConicPartialID(id, x1, y1, x2, y2, x3, y3, w, 0, 1);
}

function drawCubicPartialID(id, x1, y1, x2, y2, x3, y3, x4, y4, t1, t2) {
    var curve = [x1, y1, x2, y2, x3, y3, x4, y4];
    drawCurvePartialID(id, curve, t1, t2);
}

function drawCubicID(id, x1, y1, x2, y2, x3, y3, x4, y4) {
    drawCubicPartialID(id, x1, y1, x2, y2, x3, y3, x4, y4, 0, 1);
}

function  drawCurvePartialID(id, curve, t1, t2) {
    var px = x_at_t(curve, (t1 + t2) / 2);
    var py = y_at_t(curve, (t1 + t2) / 2);
    var _px = (px - srcLeft) * scale;
    var _py = (py - srcTop) * scale;
    draw_id_at(id, _px, _py);
}

function drawCurveSpecials(test, curve, type) {
    if (pt_labels) {
        drawPoints(curve, type, pt_labels == 2);
    }
    if (control_lines != 0) {
        drawControlLines(curve, type, control_lines);
    }
    if (curve_t) {
        drawPointAtT(curve, type);
    }
    if (draw_midpoint) {
        var mid = pointAtT(curve, type, 0.5);
        drawPoint(mid.x, mid.y, true);
    }
    if (draw_id) {
        var id = idByCurve(test, curve, type);
        if (id >= 0) {
            drawID(curve, id);
        }
    }
    if (type == PATH_LINE) {
        return;
    }
    if (draw_deriviatives > 0) {
        var d = dxy_at_t(curve, type, 0);
        drawArrow(curve[0], curve[1], d.x, d.y, 1);
        if (draw_deriviatives == 2) {
            d = dxy_at_t(curve, type, 1);
            if (type == PATH_CUBIC) {
                drawArrow(curve[6], curve[7], d.x, d.y, 1);
            } else {
                drawArrow(curve[4], curve[5], d.x, d.y, 1);
            }
        }
        if (draw_midpoint) {
            var mid = pointAtT(curve, type, 0.5);
            d = dxy_at_t(curve, type, 0.5);
            drawArrow(mid.x, mid.y, d.x, d.y, 1);
        }
    }
    if (type != PATH_CUBIC) {
        return;
    }
    if (draw_sequence) {
        var ymin = Math.min(curve[1], curve[3], curve[5], curve[7]);
        for (var i = 0; i < 8; i+= 2) {
            drawLabelX(ymin, i >> 1, curve[i]);
        }
        var xmin = Math.min(curve[0], curve[2], curve[4], curve[6]);
        for (var i = 1; i < 8; i+= 2) {
            drawLabelY(xmin, i >> 1, curve[i]);
        }
    }
}

function logCurves(test) {
    for (curves in test) {
        var curve = test[curves];
        dumpCurve(curve);
    }
}

function curveToString(curve) {
    var str = "{{";
    var length = curve.length == 7 ? 6 : curve.length;
    if (curve.length == 7) {
        str += "{";
    }
    for (i = 0; i < length; i += 2) {
        str += curve[i].toFixed(decimal_places) + "," + curve[i + 1].toFixed(decimal_places);
        if (i < curve.length - 2) {
            str += "}, {";
        }
    }
    str += "}";
    if (curve.length == 7) {
        str += "}, " + curve[6].toFixed(decimal_places);
    }
    str += "}";
    return str;
}

function dumpCurve(curve) {
    console.log(curveToString(curve));
}

function draw(test, lines, title) {
    ctx.fillStyle = "rgba(0,0,0, 0.1)";
    ctx.font = "normal 50px Arial";
    ctx.textAlign = "left";
    ctx.fillText(title, 50, 50);
    ctx.font = "normal 10px Arial";
    ctx.lineWidth = "1.001"; "0.999";
    var secondPath = test.length;
    var closeCount = 0;
    logStart = -1;
    logRange = 0;
    // find last active rec type at this step
    var curType = test[0];
    var curStep = 0;
    var hasOp = false;
    var lastActive = 0;
    var lastAdd = 0;
    var lastCoin = 0;
    var lastSect = 0;
    var lastSort = 0;
    var lastMark = 0;
    var lastTop = 0;
    activeCount = 0;
    addCount = 0;
    angleCount = 0;
    opCount = 0;
    sectCount = 0;
    sortCount = 0;
    topCount = 0;
    markCount = 0;
    activeMax = 0;
    addMax = 0;
    angleMax = 0;
    coinMax = 0;
    opMax = 0;
    sectMax = 0;
    sectMax2 = 0;
    sortMax = 0;
    topMax = 0;
    markMax = 0;
    lastIndex = test.length - 3;
    for (var tIndex = 0; tIndex < test.length; tIndex += 3) {
        var recType = test[tIndex];
        if (!typeof recType == 'number' || recType < REC_TYPE_UNKNOWN || recType > REC_TYPE_LAST) {
            console.log("unknown rec type: " + recType);
            throw "stop execution";
        }
   //     if (curType == recType && curType != REC_TYPE_ADD) {
   //         continue;
   //     }
        var inStepRange = step_limit == 0 || curStep < step_limit;
        curType = recType;
        if (recType == REC_TYPE_OP) {
            hasOp = true;
            continue;
        }
        if (recType == REC_TYPE_UNKNOWN) {
            // these types do not advance step
            continue;
        }
        var bumpStep = false;
        var records = test[tIndex + 2];
        var fragType = records[0];
        if (recType == REC_TYPE_ADD) {
            if (records.length != 2) {
                console.log("expect only two elements: " + records.length);
                throw "stop execution";
            }
            if (fragType == ADD_MOVETO || fragType == ADD_CLOSE) {
                continue;
            }
            ++addMax;
            if (!draw_add || !inStepRange) {
                continue;
            }
            lastAdd = tIndex;
            ++addCount;
            bumpStep = true;
        }
        if (recType == REC_TYPE_PATH && hasOp) {
            secondPath = tIndex;
        }
        if (recType == REC_TYPE_PATH2 && hasOp) {
            secondPath = tIndex;
        }
        if (recType == REC_TYPE_ACTIVE) {
            ++activeMax;
            if (!draw_active || !inStepRange) {
                continue;
            }
            lastActive = tIndex;
            ++activeCount;
            bumpStep = true;
        }
        if (recType == REC_TYPE_ACTIVE_OP) {
            ++opMax;
            if (!draw_op || !inStepRange) {
                continue;
            }
            lastOp = tIndex;
            ++opCount;
            bumpStep = true;
        }
        if (recType == REC_TYPE_AFTERPART) {
            if (draw_angle != 3 || !inStepRange) {
                continue;
            }
            lastAngle = tIndex;
            ++angleCount;
            bumpStep = true;
        }
        if (recType == REC_TYPE_ANGLE) {
            ++angleMax;
            if (draw_angle == 0 || draw_angle == 3 || !inStepRange) {
                continue;
            }
            lastAngle = tIndex;
            ++angleCount;
            bumpStep = true;
        }
        if (recType == REC_TYPE_COINCIDENCE) {
            ++coinMax;
            if (!draw_coincidence || !inStepRange) {
                continue;
            }
            lastCoin = tIndex;
            ++coinCount;
            bumpStep = true;
        }
        if (recType == REC_TYPE_SECT) {
            if (records.length != 2) {
                console.log("expect only two elements: " + records.length);
                throw "stop execution";
            }
            ++sectMax;
            var sectBump = 1;
            switch (fragType) {
                case INTERSECT_LINE:
                case INTERSECT_QUAD_LINE:
                case INTERSECT_QUAD:
                case INTERSECT_CONIC_LINE:
                case INTERSECT_CONIC_QUAD:
                case INTERSECT_CONIC:
                case INTERSECT_SELF_CUBIC:
                case INTERSECT_CUBIC_LINE:
                case INTERSECT_CUBIC_QUAD:
                case INTERSECT_CUBIC:
                    sectBump = 1;
                    break;
                case INTERSECT_LINE_2:
                case INTERSECT_QUAD_LINE_2:
                case INTERSECT_QUAD_2:
                case INTERSECT_CONIC_LINE_2:
                case INTERSECT_CONIC_QUAD_2:
                case INTERSECT_CONIC_2:
                case INTERSECT_CUBIC_LINE_2:
                case INTERSECT_CUBIC_QUAD_2:
                case INTERSECT_CUBIC_2:
                    sectBump = 2;
                    break;
                case INTERSECT_LINE_NO:
                case INTERSECT_QUAD_LINE_NO:
                case INTERSECT_QUAD_NO:
                case INTERSECT_CONIC_LINE_NO:
                case INTERSECT_CONIC_QUAD_NO:
                case INTERSECT_CONIC_NO:
                case INTERSECT_SELF_CUBIC_NO:
                case INTERSECT_CUBIC_LINE_NO:
                case INTERSECT_CUBIC_QUAD_NO:
                case INTERSECT_CUBIC_NO:
                    sectBump = 0;
                    break;
                case INTERSECT_CONIC_QUAD_3:
                case INTERSECT_CUBIC_LINE_3:
                case INTERSECT_CUBIC_QUAD_3:
                case INTERSECT_CUBIC_3:
                    sectBump = 3;
                    break;
                case INTERSECT_CONIC_QUAD_4:
                case INTERSECT_CUBIC_QUAD_4:
                case INTERSECT_CUBIC_4:
                    sectBump = 4;
                    break;
                default:
                    console.log("missing case " + records.length);
                    throw "stop execution";
            }
            sectMax2 += sectBump;
            if (draw_intersection <= 1 || !inStepRange) {
                continue;
            }
            lastSect = tIndex;
            sectCount += sectBump;
            bumpStep = true;
        }
        if (recType == REC_TYPE_SORT) {
            ++sortMax;
            if (!draw_sort || !inStepRange) {
                continue;
            }
            lastSort = tIndex;
            ++sortCount;
            bumpStep = true;
        }
        if (recType == REC_TYPE_TOP) {
            ++topMax;
            if (!draw_top || !inStepRange) {
                continue;
            }
            lastTop = tIndex;
            ++topCount;
            bumpStep = true;
        }
        if (recType == REC_TYPE_MARK) {
            ++markMax;
            if (!draw_mark || !inStepRange) {
                continue;
            }
            lastMark = tIndex;
            ++markCount;
            bumpStep = true;
        }
        if (bumpStep) {
            lastIndex = tIndex;
            logStart = test[tIndex + 1];
            logRange = records.length / 2;
            ++curStep;
        }
    }
    stepMax = (draw_add ? addMax : 0)
            + (draw_active ? activeMax : 0)
            + (draw_angle ? angleMax : 0)
            + (draw_coincidence ? coinMax : 0)
            + (draw_op ? opMax : 0)
            + (draw_sort ? sortMax : 0)
            + (draw_top ? topMax : 0)
            + (draw_mark ? markMax : 0)
            + (draw_intersection == 2 ? sectMax : draw_intersection == 3 ? sectMax2 : 0);
    if (stepMax == 0) {
        stepMax = addMax + activeMax + angleMax + coinMax + opMax + sortMax + topMax + markMax;
    }
    drawnPts = [];
    drawnLines = [];
    drawnQuads = [];
    drawnConics = [];
    drawnCubics = [];
    focusXmin = focusYmin = Infinity;
    focusXmax = focusYmax = -Infinity;
    var pathIndex = 0;
    var opLetter = 'S';
    for (var tIndex = lastIndex; tIndex >= 0; tIndex -= 3) {
        var recType = test[tIndex];
        var records = test[tIndex + 2];
        for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2) {
            var fragType = records[recordIndex];
            if (!typeof fragType == 'number' || fragType < 1 || fragType > FRAG_TYPE_LAST) {
                console.log("unknown in range frag type: " + fragType);
                throw "stop execution";
            }
            var frags = records[recordIndex + 1];
            focus_enabled = false;
            switch (recType) {
                case REC_TYPE_COMPUTED:
                    if (draw_computed == 0) {
                        continue;
                    }
                    ctx.lineWidth = 1;
                    ctx.strokeStyle = pathIndex == 0 ? "black" : "red";
                    ctx.fillStyle = "blue";
                    var drawThis = false;
                    switch (fragType) {
                        case PATH_QUAD:
                            if ((draw_computed & 0x9) == 1 || ((draw_computed & 8) != 0
                                    && (draw_computed & 7) == pathIndex)) {
                                drawQuad(frags[0], frags[1], frags[2], frags[3],
                                        frags[4], frags[5]);
                                drawThis = true;
                            }
                            break;
                        case PATH_CONIC:
                            if ((draw_computed & 0xA) == 2 || ((draw_computed & 8) != 0
                                    && (draw_computed & 7) == pathIndex)) {
                                drawConicWithQuads(frags[0], frags[1], frags[2], frags[3],
                                        frags[4], frags[5], frags[6]);
                                drawThis = true;
                            }
                            break;
                        case PATH_CUBIC:
                            if ((draw_computed & 0xC) == 4 || ((draw_computed & 8) != 0
                                     && (draw_computed & 7) == pathIndex)) {
                                drawCubic(frags[0], frags[1], frags[2], frags[3],
                                        frags[4], frags[5], frags[6], frags[7]);
                                drawThis = true;
                            }
                            ++pathIndex;
                            break;
                        case COMPUTED_SET_1:
                            pathIndex = 0;
                            break;
                        case COMPUTED_SET_2:
                            pathIndex = 1;
                            break;
                        default:
                            console.log("unknown REC_TYPE_COMPUTED frag type: " + fragType);
                            throw "stop execution";
                    }
                    if (!drawThis || collect_bounds) {
                        break;
                    }
                    drawCurveSpecials(test, frags, fragType);
                    break;
                case REC_TYPE_ALIGNED:
                    if (draw_path < 4) {
                        continue;
                    }
                case REC_TYPE_PATH:
                case REC_TYPE_PATH2:
                    if (REC_TYPE_ALIGNED != recType && draw_path >= 4) {
                        continue;
                    }
                    if (!draw_path) {
                        continue;
                    }
                    var firstPath = tIndex < secondPath;
                    if ((draw_path & (firstPath ? 1 : 2)) == 0) {
                        continue;
                    }
                    ctx.lineWidth = 1;
                    ctx.strokeStyle = firstPath ? "black" : "red";
                    ctx.fillStyle = "blue";
                    var frags2 = [];
                    switch (fragType) {
                        case PATH_LINE:
                            for (var i = 0; i < 4; ++ i) { frags2[i] = frags[i + 1]; }
                            drawLine(frags2[0], frags2[1], frags2[2], frags2[3]);
                            break;
                        case PATH_QUAD:
                            for (var i = 0; i < 6; ++ i) { frags2[i] = frags[i + 1]; }
                            drawQuad(frags2[0], frags2[1], frags2[2], frags2[3],
                                    frags2[4], frags2[5]);
                            break;
                        case PATH_CONIC:
                            for (var i = 0; i < 7; ++ i) { frags2[i] = frags[i + 1]; }
                            drawConicWithQuads(frags2[0], frags2[1], frags2[2], frags2[3],
                                    frags2[4], frags2[5], frags2[6]);
                            break;
                        case PATH_CUBIC:
                            for (var i = 0; i < 8; ++ i) { frags2[i] = frags[i + 1]; }
                            drawCubic(frags2[0], frags2[1], frags2[2], frags2[3],
                                    frags2[4], frags2[5], frags2[6], frags2[7]);
                            break;
                        default:
                            console.log("unknown " + recType + " frag type: " + fragType);
                            throw "stop execution";
                    }
                    if (collect_bounds) {
                        break;
                    }
                    drawCurveSpecials(test, frags2, fragType);
                    break;
                case REC_TYPE_OP:
                    switch (fragType) {
                        case OP_INTERSECT: opLetter = 'I'; break;
                        case OP_DIFFERENCE: opLetter = 'D'; break;
                        case OP_UNION: opLetter = 'U'; break;
                        case OP_XOR: opLetter = 'X'; break;
                        default:
                            console.log("unknown REC_TYPE_OP frag type: " + fragType);
                            throw "stop execution";
                    }
                    break;
                case REC_TYPE_ACTIVE:
                    if (!draw_active || (step_limit > 0 && tIndex < lastActive)) {
                        continue;
                    }
                    var x1 = frags[SPAN_X1];
                    var y1 = frags[SPAN_Y1];
                    var x2 = frags[SPAN_X2];
                    var y2 = frags[SPAN_Y2];
                    var x3, y3, x3, y4, w;
                    ctx.lineWidth = 3;
                    ctx.strokeStyle = "rgba(0,0,255, 0.3)";
                    focus_enabled = true;
                    switch (fragType) {
                        case ACTIVE_LINE_SPAN:
                            drawLine(x1, y1, x2, y2);
                            if (draw_id) {
                                drawLineID(frags[0], x1, y1, x2, y2);
                            }
                            if (pt_labels) {
                                var curve = [x1, y1, x2, y2];
                                ctx.fillStyle = "blue";
                                drawPoints(curve, PATH_LINE, pt_labels == 2);
                            }
                             break;
                        case ACTIVE_QUAD_SPAN:
                            x3 = frags[SPAN_X3];
                            y3 = frags[SPAN_Y3];
                            drawQuad(x1, y1, x2, y2, x3, y3);
                            if (draw_id) {
                                drawQuadID(frags[0], x1, y1, x2, y2, x3, y3);
                            }
                            if (pt_labels) {
                                var curve = [x1, y1, x2, y2, x3, y3];
                                ctx.fillStyle = "blue";
                                drawPoints(curve, PATH_QUAD, pt_labels == 2);
                            }
                            break;
                        case ACTIVE_CONIC_SPAN:
                            x3 = frags[SPAN_X3];
                            y3 = frags[SPAN_Y3];
                            w = frags[SPAN_K_W];
                            drawConicWithQuads(x1, y1, x2, y2, x3, y3, w);
                            if (draw_id) {
                                drawConicID(frags[0], x1, y1, x2, y2, x3, y3, w);
                            }
                            if (pt_labels) {
                                var curve = [x1, y1, x2, y2, x3, y3, w];
                                ctx.fillStyle = "blue";
                                drawPoints(curve, PATH_CONIC, pt_labels == 2);
                            }
                            break;
                        case ACTIVE_CUBIC_SPAN:
                            x3 = frags[SPAN_X3];
                            y3 = frags[SPAN_Y3];
                            x4 = frags[SPAN_X4];
                            y4 = frags[SPAN_Y4];
                            drawCubic(x1, y1, x2, y2, x3, y3, x4, y4);
                            if (draw_id) {
                                drawCubicID(frags[0], x1, y1, x2, y2, x3, y3, x4, y4);
                            }
                            if (pt_labels) {
                                var curve = [x1, y1, x2, y2, x3, y3, x4, y4];
                                ctx.fillStyle = "blue";
                                drawPoints(curve, PATH_CUBIC, pt_labels == 2);
                            }
                            break;
                        default:
                            console.log("unknown REC_TYPE_ACTIVE frag type: " + fragType);
                            throw "stop execution";
                    }
                    break;
                case REC_TYPE_ACTIVE_OP:
                    if (!draw_op || (step_limit > 0 && tIndex < lastOp)) {
                        continue;
                    }
                    focus_enabled = true;
                    ctx.lineWidth = 3;
                    var activeSpan = frags[7] == "1";
                    ctx.strokeStyle = activeSpan ? "rgba(45,160,0, 0.3)" : "rgba(255,45,0, 0.5)";
                    var curve = curvePartialByID(test, frags[0], frags[1], frags[2]);
                    drawCurve(curve);
                    if (draw_op > 1) {
                        drawArc(curve, false, frags[3], frags[4]);
                        drawArc(curve, true, frags[5], frags[6]);
                    }
                    break;
                case REC_TYPE_ADD:
                    if (!draw_add) {
                        continue;
                    }
                    ctx.lineWidth = 3;
                    ctx.strokeStyle = closeCount == 0 ? "rgba(0,0,255, 0.3)"
                            : closeCount == 1 ? "rgba(0,127,0, 0.3)"
                            : closeCount == 2 ? "rgba(0,127,127, 0.3)"
                            : closeCount == 3 ? "rgba(127,127,0, 0.3)"
                            : "rgba(127,0,127, 0.3)";
                    focus_enabled = true;
                    switch (fragType) {
                        case ADD_MOVETO:
                            break;
                        case ADD_LINETO:
                            if (step_limit == 0 || tIndex >= lastAdd) {
                                drawLine(frags[0], frags[1], frags[2], frags[3]);
                            }
                            break;
                        case ADD_QUADTO:
                            if (step_limit == 0 || tIndex >= lastAdd) {
                                drawQuad(frags[0], frags[1], frags[2], frags[3], frags[4], frags[5]);
                            }
                            break;
                        case ADD_CONICTO:
                            if (step_limit == 0 || tIndex >= lastAdd) {
                                drawConicWithQuads(frags[0], frags[1], frags[2], frags[3],
                                        frags[4], frags[5], frags[6]);
                            }
                            break;
                        case ADD_CUBICTO:
                            if (step_limit == 0 || tIndex >= lastAdd) {
                                drawCubic(frags[0], frags[1], frags[2], frags[3],
                                        frags[4], frags[5], frags[6], frags[7]);
                            }
                            break;
                        case ADD_CLOSE:
                            ++closeCount;
                            break;
                        case ADD_FILL:
                            break;
                        default:
                            console.log("unknown REC_TYPE_ADD frag type: " + fragType);
                            throw "stop execution";
                    }
                    break;
                case REC_TYPE_ANGLE:
                    angleBetween = frags[18] == "T";
                    afterIndex = 0;
                    if (draw_angle == 0 || draw_angle == 3 || (step_limit > 0 && tIndex < lastAngle)) {
                        continue;
                    }
                    focus_enabled = true;
                    ctx.lineWidth = 3;
                    ctx.strokeStyle = "rgba(127,45,127, 0.3)";
                    var leftCurve = curvePartialByID(test, frags[0], frags[4], frags[5]);
                    var midCurve = curvePartialByID(test, frags[6], frags[10], frags[11]);
                    var rightCurve = curvePartialByID(test, frags[12], frags[16], frags[17]);
                    drawCurve(leftCurve);
                    drawCurve(rightCurve);
                    ctx.strokeStyle = angleBetween ? "rgba(0,160,45, 0.3)" : "rgba(255,0,45, 0.5)";
                    drawCurve(midCurve);
                    if (draw_angle > 1) {
                        drawOrder(leftCurve, 'L');
                        drawOrder(rightCurve, 'R');
                    }
                    break;
                case REC_TYPE_AFTERPART:
                    if (draw_angle != 3 || (step_limit > 0 && tIndex < lastAngle)) {
                        continue;
                    }
                    ctx.strokeStyle = afterIndex == 0 ? "rgba(255,0,0, 1.0)"
                            : (afterIndex == 1) == angleBetween ? "rgba(0,128,0, 1.0)"
                            :  "rgba(0,0,255, 1.0)";
                    switch (fragType) {
                        case PATH_LINE:
                            drawLine(frags[0], frags[1], frags[2], frags[3]);
                            break;
                        case PATH_QUAD:
                            drawQuad(frags[0], frags[1], frags[2], frags[3],
                                     frags[4], frags[5]);
                            break;
                        case PATH_CONIC:
                            drawConicWithQuads(frags[0], frags[1], frags[2], frags[3],
                                     frags[4], frags[5], frags[6]);
                            break;
                        case PATH_CUBIC:
                            drawCubic(frags[0], frags[1], frags[2], frags[3],
                                     frags[4], frags[5], frags[6], frags[7]);
                            break;
                        default:
                            console.log("unknown REC_TYPE_AFTERPART frag type: " + fragType);
                            throw "stop execution";
                    }
                    ++afterIndex;
                    break;
                case REC_TYPE_COINCIDENCE:
                    if (!draw_coincidence || (step_limit > 0 && tIndex < lastCoin)) {
                        continue;
                    }
                    focus_enabled = true;
                    ctx.lineWidth = 3;
                    ctx.strokeStyle = "rgba(127,45,63, 0.3)";
                    var curve = curvePartialByID(test, frags[0], frags[1], frags[2]);
                    drawCurve(curve);
                    break;
                case REC_TYPE_SECT:
                    if (!draw_intersection) {
                        continue;
                    }
                    if (draw_intersection != 1 && (step_limit > 0 && tIndex < lastSect)) {
                        continue;
                    }
                    // draw_intersection == 1 : show all
                    // draw_intersection == 2 : step == 0 ? show all : show intersection line #step
                    // draw_intersection == 3 : step == 0 ? show all : show intersection #step
                    ctx.lineWidth = 1;
                    ctx.strokeStyle = "rgba(0,0,255, 0.3)";
                    ctx.fillStyle = "blue";
                    focus_enabled = true;
                    var f = [];
                    var c1s;
                    var c1l;
                    var c2s;
                    var c2l;
                    switch (fragType) {
                        case INTERSECT_LINE:
                            f.push(5, 6, 0, 7);
                            c1s = 1; c1l = 4; c2s = 8; c2l = 4;
                            break;
                        case INTERSECT_LINE_2:
                            f.push(5, 6, 0, 10);
                            f.push(8, 9, 7, 15);
                            c1s = 1; c1l = 4; c2s = 11; c2l = 4;
                            break;
                        case INTERSECT_LINE_NO:
                            c1s = 0; c1l = 4; c2s = 4; c2l = 4;
                            break;
                        case INTERSECT_QUAD_LINE:
                            f.push(7, 8, 0, 9);
                            c1s = 1; c1l = 6; c2s = 10; c2l = 4;
                            break;
                        case INTERSECT_QUAD_LINE_2:
                            f.push(7, 8, 0, 12);
                            f.push(10, 11, 9, 17);
                            c1s = 1; c1l = 6; c2s = 13; c2l = 4;
                            break;
                        case INTERSECT_QUAD_LINE_NO:
                            c1s = 0; c1l = 6; c2s = 6; c2l = 4;
                            break;
                        case INTERSECT_QUAD:
                            f.push(7, 8, 0, 9);
                            c1s = 1; c1l = 6; c2s = 10; c2l = 6;
                            break;
                        case INTERSECT_QUAD_2:
                            f.push(7, 8, 0, 12);
                            f.push(10, 11, 9, 19);
                            c1s = 1; c1l = 6; c2s = 13; c2l = 6;
                            break;
                        case INTERSECT_QUAD_NO:
                            c1s = 0; c1l = 6; c2s = 6; c2l = 6;
                            break;
                        case INTERSECT_CONIC_LINE:
                            f.push(8, 9, 0, 10);
                            c1s = 1; c1l = 7; c2s = 11; c2l = 4;
                            break;
                        case INTERSECT_CONIC_LINE_2:
                            f.push(8, 9, 0, 12);
                            f.push(11, 12, 10, 18);
                            c1s = 1; c1l = 7; c2s = 14; c2l = 4;
                            break;
                        case INTERSECT_CONIC_LINE_NO:
                            c1s = 0; c1l = 7; c2s = 7; c2l = 4;
                            break;
                        case INTERSECT_CONIC_QUAD:
                            f.push(8, 9, 0, 10);
                            c1s = 1; c1l = 7; c2s = 11; c2l = 6;
                            break;
                        case INTERSECT_CONIC_QUAD_2:
                            f.push(8, 9, 0, 12);
                            f.push(11, 12, 10, 18);
                            c1s = 1; c1l = 7; c2s = 14; c2l = 6;
                            break;
                        case INTERSECT_CONIC_QUAD_3:
                            f.push(8, 9, 0, 15);
                            f.push(11, 12, 10, 21);
                            f.push(14, 15, 13, 22);
                            c1s = 1; c1l = 7; c2s = 17; c2l = 6;
                            break;
                        case INTERSECT_CONIC_QUAD_4:
                            f.push(8, 9, 0, 18);
                            f.push(11, 12, 10, 24);
                            f.push(14, 15, 13, 25);
                            f.push(17, 18, 16, 26);
                            c1s = 1; c1l = 7; c2s = 20; c2l = 6;
                            break;
                        case INTERSECT_CONIC_QUAD_NO:
                            c1s = 0; c1l = 7; c2s = 7; c2l = 6;
                            break;
                        case INTERSECT_CONIC:
                            f.push(8, 9, 0, 10);
                            c1s = 1; c1l = 7; c2s = 11; c2l = 7;
                            break;
                        case INTERSECT_CONIC_2:
                            f.push(8, 9, 0, 13);
                            f.push(11, 12, 10, 21);
                            c1s = 1; c1l = 7; c2s = 14; c2l = 7;
                            break;
                        case INTERSECT_CONIC_NO:
                            c1s = 0; c1l = 7; c2s = 7; c2l = 7;
                            break;
                        case INTERSECT_SELF_CUBIC:
                            f.push(9, 10, 0, 11);
                            c1s = 1; c1l = 8; c2s = 0; c2l = 0;
                            break;
                        case INTERSECT_SELF_CUBIC_NO:
                            c1s = 0; c1l = 8; c2s = 0; c2l = 0;
                            break;
                        case INTERSECT_CUBIC_LINE:
                            f.push(9, 10, 0, 11);
                            c1s = 1; c1l = 8; c2s = 12; c2l = 4;
                            break;
                        case INTERSECT_CUBIC_LINE_2:
                            f.push(9, 10, 0, 14);
                            f.push(12, 13, 11, 19);
                            c1s = 1; c1l = 8; c2s = 15; c2l = 4;
                            break;
                        case INTERSECT_CUBIC_LINE_3:
                            f.push(9, 10, 0, 17);
                            f.push(12, 13, 11, 22);
                            f.push(15, 16, 14, 23);
                            c1s = 1; c1l = 8; c2s = 18; c2l = 4;
                            break;
                        case INTERSECT_CUBIC_QUAD_NO:
                            c1s = 0; c1l = 8; c2s = 8; c2l = 6;
                            break;
                        case INTERSECT_CUBIC_QUAD:
                            f.push(9, 10, 0, 11);
                            c1s = 1; c1l = 8; c2s = 12; c2l = 6;
                            break;
                        case INTERSECT_CUBIC_QUAD_2:
                            f.push(9, 10, 0, 14);
                            f.push(12, 13, 11, 21);
                            c1s = 1; c1l = 8; c2s = 15; c2l = 6;
                            break;
                        case INTERSECT_CUBIC_QUAD_3:
                            f.push(9, 10, 0, 17);
                            f.push(12, 13, 11, 24);
                            f.push(15, 16, 14, 25);
                            c1s = 1; c1l = 8; c2s = 18; c2l = 6;
                            break;
                        case INTERSECT_CUBIC_QUAD_4:
                            f.push(9, 10, 0, 20);
                            f.push(12, 13, 11, 27);
                            f.push(15, 16, 14, 28);
                            f.push(18, 19, 17, 29);
                            c1s = 1; c1l = 8; c2s = 21; c2l = 6;
                            break;
                        case INTERSECT_CUBIC_LINE_NO:
                            c1s = 0; c1l = 8; c2s = 8; c2l = 4;
                            break;
                        case INTERSECT_CUBIC:
                            f.push(9, 10, 0, 11);
                            c1s = 1; c1l = 8; c2s = 12; c2l = 8;
                            break;
                        case INTERSECT_CUBIC_2:
                            f.push(9, 10, 0, 14);
                            f.push(12, 13, 11, 23);
                            c1s = 1; c1l = 8; c2s = 15; c2l = 8;
                            break;
                        case INTERSECT_CUBIC_3:
                            f.push(9, 10, 0, 17);
                            f.push(12, 13, 11, 26);
                            f.push(15, 16, 14, 27);
                            c1s = 1; c1l = 8; c2s = 18; c2l = 8;
                            break;
                        case INTERSECT_CUBIC_4:
                            f.push(9, 10, 0, 20);
                            f.push(12, 13, 11, 29);
                            f.push(15, 16, 14, 30);
                            f.push(18, 19, 17, 31);
                            c1s = 1; c1l = 8; c2s = 21; c2l = 8;
                            break;
                        case INTERSECT_CUBIC_NO:
                            c1s = 0; c1l = 8; c2s = 8; c2l = 8;
                            break;
                        default:
                            console.log("unknown REC_TYPE_SECT frag type: " + fragType);
                            throw "stop execution";
                    }
                    if (draw_intersection != 1) {
                        var id = -1;
                        var curve;
                        switch (c1l) {
                            case 4:
                                drawLine(frags[c1s], frags[c1s + 1], frags[c1s + 2], frags[c1s + 3]);
                                if (draw_id) {
                                    curve = [frags[c1s], frags[c1s + 1], frags[c1s + 2], frags[c1s + 3]];
                                    id = idByCurve(test, curve, PATH_LINE);
                                }
                                break;
                            case 6:
                                drawQuad(frags[c1s], frags[c1s + 1], frags[c1s + 2], frags[c1s + 3],
                                        frags[c1s + 4], frags[c1s + 5]);
                                if (draw_id) {
                                    curve = [frags[c1s], frags[c1s + 1], frags[c1s + 2], frags[c1s + 3],
                                            frags[c1s + 4], frags[c1s + 5]];
                                    id = idByCurve(test, curve, PATH_QUAD);
                                }
                                break;
                            case 7:
                                drawConicWithQuads(frags[c1s], frags[c1s + 1], frags[c1s + 2], frags[c1s + 3],
                                        frags[c1s + 4], frags[c1s + 5], frags[c1s + 6]);
                                if (draw_id) {
                                    curve = [frags[c1s], frags[c1s + 1], frags[c1s + 2], frags[c1s + 3],
                                            frags[c1s + 4], frags[c1s + 5], frags[c1s + 6]];
                                    id = idByCurve(test, curve, PATH_CONIC);
                                }
                                break;
                            case 8:
                                drawCubic(frags[c1s], frags[c1s + 1], frags[c1s + 2], frags[c1s + 3],
                                        frags[c1s + 4], frags[c1s + 5], frags[c1s + 6], frags[c1s + 7]);
                                if (draw_id) {
                                    curve = [frags[c1s], frags[c1s + 1], frags[c1s + 2], frags[c1s + 3],
                                            frags[c1s + 4], frags[c1s + 5], frags[c1s + 6], frags[c1s + 7]];
                                    id = idByCurve(test, curve, PATH_CUBIC);
                                }
                                break;
                        }
                        if (id >= 0) {
                            drawID(curve, id);
                        }
                        id = -1;
                        switch (c2l) {
                            case 0:
                                break;
                            case 4:
                                drawLine(frags[c2s], frags[c2s + 1], frags[c2s + 2], frags[c2s + 3]);
                                if (draw_id) {
                                    curve = [frags[c2s], frags[c2s + 1], frags[c2s + 2], frags[c2s + 3]];
                                    id = idByCurve(test, curve, PATH_LINE);
                                }
                                break;
                            case 6:
                                drawQuad(frags[c2s], frags[c2s + 1], frags[c2s + 2], frags[c2s + 3],
                                        frags[c2s + 4], frags[c2s + 5]);
                                if (draw_id) {
                                    curve = [frags[c2s], frags[c2s + 1], frags[c2s + 2], frags[c2s + 3],
                                            frags[c2s + 4], frags[c2s + 5]];
                                    id = idByCurve(test, curve, PATH_QUAD);
                                }
                                break;
                            case 7:
                                drawConicWithQuads(frags[c2s], frags[c2s + 1], frags[c2s + 2], frags[c2s + 3],
                                        frags[c2s + 4], frags[c2s + 5], frags[c2s + 6]);
                                if (draw_id) {
                                    curve = [frags[c2s], frags[c2s + 1], frags[c2s + 2], frags[c2s + 3],
                                            frags[c2s + 4], frags[c2s + 5], frags[c2s + 6]];
                                    id = idByCurve(test, curve, PATH_CONIC);
                                }
                                break;
                            case 8:
                                drawCubic(frags[c2s], frags[c2s + 1], frags[c2s + 2], frags[c2s + 3],
                                        frags[c2s + 4], frags[c2s + 5], frags[c2s + 6], frags[c2s + 7]);
                                if (draw_id) {
                                    curve = [frags[c2s], frags[c2s + 1], frags[c2s + 2], frags[c2s + 3],
                                            frags[c2s + 4], frags[c2s + 5], frags[c2s + 6], frags[c2s + 7]];
                                    id = idByCurve(test, curve, PATH_CUBIC);
                                }
                                break;
                        }
                        if (id >= 0) {
                            drawID(curve, id);
                        }
                    }
                    if (collect_bounds) {
                        break;
                    }
                    if (draw_intersection != 3 || step_limit == 0 || tIndex >= lastSect) {
                        for (var idx = 0; idx < f.length; idx += 4) {
                            drawPoint(frags[f[idx]], frags[f[idx + 1]], true);
                        }
                    }
                    if (!draw_intersectT) {
                        break;
                    }
                    ctx.fillStyle = "red";
                    if (draw_intersection != 3 || step_limit == 0 || tIndex >= lastSect) {
                        for (var idx = 0; idx < f.length; idx += 4) {
                            drawTAtPointUp(frags[f[idx]], frags[f[idx + 1]], frags[f[idx + 2]]);
                            drawTAtPointDown(frags[f[idx]], frags[f[idx + 1]], frags[f[idx + 3]]);
                        }
                    }
                    break;
                case REC_TYPE_SORT:
                    if (!draw_sort || (step_limit > 0 && tIndex < lastSort)) {
                        continue;
                    }
                    ctx.lineWidth = 3;
                    ctx.strokeStyle = "rgba(127,127,0, 0.5)";
                    focus_enabled = true;
                    switch (fragType) {
                        case SORT_UNARY:
                        case SORT_BINARY:
                            var curve = curvePartialByID(test, frags[0], frags[6], frags[8]);
                            drawCurve(curve);
                            break;
                        default:
                            console.log("unknown REC_TYPE_SORT frag type: " + fragType);
                            throw "stop execution";
                    }
                    break;
                case REC_TYPE_TOP:
                    if (!draw_top || (step_limit > 0 && tIndex < lastTop)) {
                        continue;
                    }
                    ctx.lineWidth = 3;
                    ctx.strokeStyle = "rgba(127,127,0, 0.5)";
                    focus_enabled = true;
                    {
                        var curve = curvePartialByID(test, frags[0], frags[1], frags[2]);
                        drawCurve(curve);
                        var type = PATH_LINE + (curve.length / 2 - 2);
                        var mid = pointAtT(curve, type, 0.5);
                        var d = dxy_at_t(curve, type, 0.5);
                        drawArrow(mid.x, mid.y, d.x, d.y, 0.3);
                    }
                    break;
                case REC_TYPE_MARK:
                    if (!draw_mark || (step_limit > 0 && tIndex < lastMark)) {
                        continue;
                    }
                    ctx.lineWidth = 3;
                    ctx.strokeStyle = fragType >= MARK_DONE_LINE ?
                            "rgba(127,0,127, 0.5)" : "rgba(127,127,0, 0.5)";
                    focus_enabled = true;
                    switch (fragType) {
                        case MARK_LINE:
                        case MARK_DONE_LINE:
                        case MARK_UNSORTABLE_LINE:
                        case MARK_SIMPLE_LINE:
                        case MARK_SIMPLE_DONE_LINE:
                        case MARK_DONE_UNARY_LINE:
                            drawLinePartial(frags[1], frags[2], frags[3], frags[4],
                                frags[5], frags[9]);
                            if (draw_id) {
                                drawLinePartialID(frags[0], frags[1], frags[2], frags[3], frags[4],
                                frags[5], frags[9]);
                            }
                            break;
                        case MARK_QUAD:
                        case MARK_DONE_QUAD:
                        case MARK_UNSORTABLE_QUAD:
                        case MARK_SIMPLE_QUAD:
                        case MARK_SIMPLE_DONE_QUAD:
                        case MARK_DONE_UNARY_QUAD:
                            drawQuadPartial(frags[1], frags[2], frags[3], frags[4],
                                frags[5], frags[6], frags[7], frags[11]);
                            if (draw_id) {
                                drawQuadPartialID(frags[0], frags[1], frags[2], frags[3], frags[4],
                                frags[5], frags[6], frags[7], frags[11]);
                            }
                            break;
                        case MARK_CUBIC:
                        case MARK_DONE_CUBIC:
                        case MARK_UNSORTABLE_CUBIC:
                        case MARK_SIMPLE_CUBIC:
                        case MARK_SIMPLE_DONE_CUBIC:
                        case MARK_DONE_UNARY_CUBIC:
                            drawCubicPartial(frags[1], frags[2], frags[3], frags[4],
                                frags[5], frags[6], frags[7], frags[8], frags[9], frags[13]);
                            if (draw_id) {
                                drawCubicPartialID(frags[0], frags[1], frags[2], frags[3], frags[4],
                                frags[5], frags[6], frags[7], frags[8], frags[9], frags[13]);
                            }
                            break;
                        case MARK_ANGLE_LAST:
                            // FIXME: ignored for now
                            break;
                        default:
                            console.log("unknown REC_TYPE_MARK frag type: " + fragType);
                            throw "stop execution";
                    }
                    break;
                default:
                    continue;
            }
        }
        switch (recType) {
            case REC_TYPE_SORT:
                if (!draw_sort || (step_limit > 0 && tIndex < lastSort)) {
                    break;
                }
                var angles = []; // use tangent lines to describe arcs
                var windFrom = [];
                var windTo = [];
                var opp = [];
                var minXY = Number.MAX_VALUE;
                var partial;
                focus_enabled = true;
                var someUnsortable = false;
                for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2) {
                    var fragType = records[recordIndex];
                    var frags = records[recordIndex + 1];
                    var unsortable = (fragType == SORT_UNARY && frags[14]) ||
                            (fragType == SORT_BINARY && frags[16]);
                    someUnsortable |= unsortable;
                    switch (fragType) {
                        case SORT_UNARY:
                        case SORT_BINARY:
                            partial = curvePartialByID(test, frags[0], frags[6], frags[8]);
                            break;
                        default:
                            console.log("unknown REC_TYPE_SORT frag type: " + fragType);
                            throw "stop execution";
                    }
                    var dx = boundsWidth(partial);
                    var dy = boundsHeight(partial);
                    minXY = Math.min(minXY, dx * dx + dy * dy);
                    if (collect_bounds) {
                        continue;
                    }
                    angles.push(tangent(partial));
                    var from = frags[12];
                    var to = frags[12];
                    var sgn = frags[10];
                    if (sgn < 0) {
                        from -= frags[11];
                    } else if (sgn > 0) {
                        to -= frags[11];
                    }
                    windFrom.push(from + (unsortable ? "!" : ""));
                    windTo.push(to + (unsortable ? "!" : ""));
                    opp.push(fragType == SORT_BINARY);
                    if (draw_sort == 1) {
                        drawOrder(partial, frags[12]);
                    } else {
                        drawOrder(partial, (recordIndex / 2) + 1);
                    }
                }
                var radius = Math.sqrt(minXY) / 2 * scale;
                radius = Math.min(50, radius);
                var scaledRadius = radius / scale;
                var centerX = partial[0];
                var centerY = partial[1];
                if (collect_bounds) {
                    if (focus_enabled) {
                        focusXmin = Math.min(focusXmin, centerX - scaledRadius);
                        focusYmin = Math.min(focusYmin, centerY - scaledRadius);
                        focusXmax = Math.max(focusXmax, centerX + scaledRadius);
                        focusYmax = Math.max(focusYmax, centerY + scaledRadius);
                    }
                    break;
                }
                break;
            default:
                break;
        }
    }
    if (collect_bounds) {
        return;
    }
    if (draw_log && logStart >= 0) {
        ctx.font = "normal 10px Arial";
        ctx.textAlign = "left";
        ctx.beginPath();
        var top = screenHeight - 20 - (logRange + 2) * 10;
        ctx.rect(50, top, screenWidth - 100, (logRange + 2) * 10);
        ctx.fillStyle = "white";
        ctx.fill();
        ctx.fillStyle = "rgba(0,0,0, 0.5)";
        if (logStart > 0) {
            ctx.fillText(lines[logStart - 1], 50, top + 8);
        }
        ctx.fillStyle = "black";
        for (var idx = 0; idx < logRange; ++idx) {
            ctx.fillText(lines[logStart + idx], 50, top + 18 + 10 * idx);
        }
        ctx.fillStyle = "rgba(0,0,0, 0.5)";
        if (logStart + logRange < lines.length) {
            ctx.fillText(lines[logStart + logRange], 50, top + 18 + 10 * logRange);
        }
    }
    if (draw_legend) {
        var pos = 0;
        var drawSomething = draw_add | draw_active | draw_angle | draw_coincidence | draw_sort | draw_mark;
   //     drawBox(pos++, "yellow", "black", opLetter, true, '');
        drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_intersection > 1 ? sectCount : sectMax2, draw_intersection, intersectionKey);
        drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_add ? addCount : addMax, draw_add, addKey);
        drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_active ? activeCount : activeMax, draw_active, activeKey);
        drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_angle ? angleCount : angleMax, draw_angle, angleKey);
        drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_coincidence ? coinCount : coinMax, draw_coincidence, coincidenceKey);
        drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_op ? opCount : opMax, draw_op, opKey);
        drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_sort ? sortCount : sortMax, draw_sort, sortKey);
        drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_top ? topCount : topMax, draw_top, topKey);
        drawBox(pos++, "rgba(127,0,127, 0.3)", "black", draw_mark ? markCount : markMax, draw_mark, markKey);
        drawBox(pos++, "black", "white",
                (new Array('P', 'P1', 'P2', 'P', 'p', 'p1', 'p2'))[draw_path], draw_path != 0, pathKey);
        drawBox(pos++, "rgba(0,63,0, 0.7)", "white",
                (new Array('Q', 'Q', 'C', 'QC', 'Qc', 'Cq'))[draw_computed],
                draw_computed != 0, computedKey);
        drawBox(pos++, "green", "black", step_limit, drawSomething, '');
        drawBox(pos++, "green", "black", stepMax, drawSomething, '');
        drawBox(pos++, "rgba(255,0,0, 0.6)", "black", lastIndex, drawSomething & draw_log, '');
        drawBox(pos++, "rgba(255,0,0, 0.6)", "black", test.length - 1, drawSomething & draw_log, '');
        if (curve_t) {
            drawCurveTControl();
        }
        ctx.font = "normal 20px Arial";
        ctx.fillStyle = "rgba(0,0,0, 0.3)";
        ctx.textAlign = "right";
        ctx.fillText(scale.toFixed(decimal_places) + 'x' , screenWidth - 10, screenHeight - 5);
    }
    if (draw_hints) {
        ctx.font = "normal 10px Arial";
        ctx.fillStyle = "rgba(0,0,0, 0.5)";
        ctx.textAlign = "right";
        var y = 4;
        ctx.fillText("control lines : " +  controlLinesKey, ctx.screenWidthwidth - 10, pos * 50 + y++ * 10);
        ctx.fillText("curve t : " +  curveTKey, screenWidth - 10, pos * 50 + y++ * 10);
        ctx.fillText("deriviatives : " +  deriviativesKey, screenWidth - 10, pos * 50 + y++ * 10);
        ctx.fillText("intersect t : " +  intersectTKey, screenWidth - 10, pos * 50 + y++ * 10);
        ctx.fillText("log : " +  logKey, screenWidth - 10, pos * 50 + y++ * 10);
        ctx.fillText("log curve : " +  logCurvesKey, screenWidth - 10, pos * 50 + y++ * 10);
        ctx.fillText("mid point : " +  midpointKey, screenWidth - 10, pos * 50 + y++ * 10);
        ctx.fillText("points : " +  ptsKey, screenWidth - 10, pos * 50 + y++ * 10);
        ctx.fillText("sequence : " +  sequenceKey, screenWidth - 10, pos * 50 + y++ * 10);
        ctx.fillText("xy : " +  xyKey, screenWidth - 10, pos * 50 + y++ * 10);
    }
}

function drawBox(y, backC, foreC, str, enable, label) {
    ctx.beginPath();
    ctx.fillStyle = backC;
    ctx.rect(screenWidth - 40, y * 50 + 10, 40, 30);
    ctx.fill();
    ctx.font = "normal 16px Arial";
    ctx.fillStyle = foreC;
    ctx.textAlign = "center";
    ctx.fillText(str, screenWidth - 20, y * 50 + 32);
    if (!enable) {
        ctx.fillStyle = "rgba(255,255,255, 0.5)";
        ctx.fill();
    }
    if (label != '') {
        ctx.font = "normal 9px Arial";
        ctx.fillStyle = "black";
        ctx.fillText(label, screenWidth - 47, y * 50 + 40);
    }
}

function drawCurveTControl() {
    ctx.lineWidth = 2;
    ctx.strokeStyle = "rgba(0,0,0, 0.3)";
    ctx.beginPath();
    ctx.rect(screenWidth - 80, 40, 28, screenHeight - 80);
    ctx.stroke();
    var ty = 40 + curveT * (screenHeight - 80);
    ctx.beginPath();
    ctx.moveTo(screenWidth - 80, ty);
    ctx.lineTo(screenWidth - 85, ty - 5);
    ctx.lineTo(screenWidth - 85, ty + 5);
    ctx.lineTo(screenWidth - 80, ty);
    ctx.fillStyle = "rgba(0,0,0, 0.6)";
    ctx.fill();
    var num = curveT.toFixed(decimal_places);
    ctx.font = "normal 10px Arial";
    ctx.textAlign = "left";
    ctx.fillText(num, screenWidth - 78, ty);
}

function ptInTControl() {
    var e = window.event;
    var tgt = e.target || e.srcElement;
    var left = tgt.offsetLeft;
    var top = tgt.offsetTop;
    var x = (e.clientX - left);
    var y = (e.clientY - top);
    if (x < screenWidth - 80 || x > screenWidth - 50) {
        return false;
    }
    if (y < 40 || y > screenHeight - 80) {
        return false;
    }
    curveT = (y - 40) / (screenHeight - 120);
    if (curveT < 0 || curveT > 1) {
        throw "stop execution";
    }
    return true;
}

function drawTop() {
    if (tests[testIndex] == null) {
        var str = testDivs[testIndex].textContent;
        parse_all(str);
        var title = testDivs[testIndex].id.toString();
        testTitles[testIndex] = title;
    }
    init(tests[testIndex]);
    redraw();
}

function redraw() {
    if (focus_on_selection) {
        collect_bounds = true;
        draw(tests[testIndex], testLines[testIndex], testTitles[testIndex]);
        collect_bounds = false;
        if (focusXmin < focusXmax && focusYmin < focusYmax) {
            setScale(focusXmin, focusXmax, focusYmin, focusYmax);
        }
    }
    ctx.beginPath();
    ctx.fillStyle = "white";
    ctx.rect(0, 0, screenWidth, screenHeight);
    ctx.fill();
    draw(tests[testIndex], testLines[testIndex], testTitles[testIndex]);
}

function dumpCurvePartial(test, id, t0, t1) {
    var curve = curveByID(test, id);
    var name = ["line", "quad", "cubic"][curve.length / 2 - 2];
    console.log("id=" + id + " " + name + "=" +  curveToString(curve)
        + " t0=" + t0 + " t1=" + t1
        + " partial=" + curveToString(curvePartialByID(test, id, t0, t1)));
}

function dumpAngleTest(test, id, t0, t1) {
    var curve = curveByID(test, id);
    console.log("    { {" + curveToString(curve) + "}, "
            + curve.length / 2 + ", " + t0 + ", " + t1 + ", {} }, //");
}

function dumpLogToConsole() {
    if (logStart < 0) {
        return;
    }
    var test = tests[testIndex];
    var recType = REC_TYPE_UNKNOWN;
    var records;
    for (var index = 0; index < test.length; index += 3) {
        var lastLineNo = test[index + 1];
        if (lastLineNo >= logStart && lastLineNo < logStart + logRange) {
            recType = test[index];
            records = test[index + 2];
            break;
        }
    }
    if (recType == REC_TYPE_UNKNOWN) {
        return;
    }
    var lines = testLines[testIndex];
    for (var idx = 0; idx < logRange; ++idx) {
        var line = lines[logStart + idx];
        console.log(line);
        for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2) {
            var fragType = records[recordIndex];
            var frags = records[recordIndex + 1];
            if (recType == REC_TYPE_ANGLE && fragType == ANGLE_AFTER) {
                dumpCurvePartial(test, frags[0], frags[4], frags[5]);
                dumpCurvePartial(test, frags[6], frags[10], frags[11]);
                dumpCurvePartial(test, frags[12], frags[16], frags[17]);
                console.log("\nstatic IntersectData intersectDataSet[] = { //");
                dumpAngleTest(test, frags[0], frags[4], frags[5]);
                dumpAngleTest(test, frags[6], frags[10], frags[11]);
                dumpAngleTest(test, frags[12], frags[16], frags[17]);
                console.log("}; //");
            }
        }
    }
}

var activeKey = 'a';
var pathKey = 'b';
var pathBackKey = 'B';
var centerKey = 'c';
var coincidenceKey = 'C';
var addKey = 'd';
var deriviativesKey = 'f';
var angleKey = 'g';
var angleBackKey = 'G';
var intersectionKey = 'i';
var intersectionBackKey = 'I';
var sequenceKey = 'j';
var midpointKey = 'k';
var logKey = 'l';
var logToConsoleKey = 'L';
var markKey = 'm';
var sortKey = 'o';
var opKey = 'p';
var opBackKey = 'P';
var computedKey = 'q';
var computedBackKey = 'Q';
var stepKey = 's';
var stepBackKey = 'S';
var intersectTKey = 't';
var topKey = 'T';
var curveTKey = 'u';
var controlLinesBackKey = 'V';
var controlLinesKey = 'v';
var ptsKey = 'x';
var xyKey = 'y';
var logCurvesKey = 'z';
var focusKey = '`';
var idKey = '.';
var retinaKey = '\\';

function doKeyPress(evt) {
    var char = String.fromCharCode(evt.charCode);
    var focusWasOn = false;
    switch (char) {
    case '0':
    case '1':
    case '2':
    case '3':
    case '4':
    case '5':
    case '6':
    case '7':
    case '8':
    case '9':
        decimal_places = char - '0';
        redraw();
        break;
    case activeKey:
        draw_active ^= true;
        redraw();
        break;
    case addKey:
        draw_add ^= true;
        redraw();
        break;
    case angleKey:
        draw_angle = (draw_angle + 1) % 4;
        redraw();
        break;
    case angleBackKey:
        draw_angle = (draw_angle + 2) % 3;
        redraw();
        break;
    case centerKey:
        setScale(xmin, xmax, ymin, ymax);
        redraw();
        break;
    case coincidenceKey:
        draw_coincidence ^= true;
        redraw();
        break;
    case controlLinesBackKey:
        control_lines = (control_lines + 3) % 4;
        redraw();
        break;
    case controlLinesKey:
        control_lines = (control_lines + 1) % 4;
        redraw();
        break;
    case computedBackKey:
        draw_computed = (draw_computed + 5) % 6;
        redraw();
        break;
    case computedKey:
        draw_computed = (draw_computed + 1) % 6;
        redraw();
        break;
    case curveTKey:
        curve_t ^= true;
        if (curve_t) {
            draw_legend = true;
        }
        redraw();
        break;
    case deriviativesKey:
        draw_deriviatives = (draw_deriviatives + 1) % 3;
        redraw();
        break;
    case focusKey:
        focus_on_selection ^= true;
        setScale(xmin, xmax, ymin, ymax);
        redraw();
        break;
    case idKey:
        draw_id ^= true;
        redraw();
        break;
    case intersectionBackKey:
        draw_intersection = (draw_intersection + 3) % 4;
        redraw();
        break;
    case intersectionKey:
        draw_intersection = (draw_intersection + 1) % 4;
        redraw();
        break;
    case intersectTKey:
        draw_intersectT ^= true;
        redraw();
        break;
    case logCurvesKey:
        logCurves(tests[testIndex]);
        break;
    case logKey:
        draw_log ^= true;
        redraw();
        break;
    case logToConsoleKey:
        if (draw_log) {
            dumpLogToConsole();
        }
        break;
    case markKey:
        draw_mark ^= true;
        redraw();
        break;
    case midpointKey:
        draw_midpoint ^= true;
        redraw();
        break;
    case opKey:
        draw_op = (draw_op + 1) % 3;
        redraw();
        break;
    case opBackKey:
        draw_op = (draw_op + 2) % 3;
        redraw();
        break;
    case pathKey:
        draw_path = (draw_path + 1) % (4 + (hasAlignedPath ? 3 : 0));
        redraw();
        break;
    case pathBackKey:
        draw_path = (draw_path + 3 + (hasAlignedPath ? 3 : 0)) % (4 + (hasAlignedPath ? 3 : 0));
        redraw();
        break;
    case ptsKey:
        pt_labels = (pt_labels + 1) % 3;
        redraw();
        break;
    case retinaKey:
        retina_scale ^= true;
        drawTop();
        break;
    case sequenceKey:
        draw_sequence ^= true;
        redraw();
        break;
    case sortKey:
        draw_sort = (draw_sort + 1) % 3;
        drawTop();
        break;
    case stepKey:
        step_limit++;
        if (step_limit > stepMax) {
            step_limit = stepMax;
        }
        redraw();
        break;
    case stepBackKey:
        step_limit--;
        if (step_limit < 0) {
            step_limit = 0;
        }
        redraw();
        break;
    case topKey:
        draw_top ^= true;
        redraw();
        break;
    case xyKey:
        debug_xy = (debug_xy + 1) % 3;
        redraw();
        break;
    case '-':
        focusWasOn = focus_on_selection;
        if (focusWasOn) {
            focus_on_selection = false;
            scale /= 1.2;
        } else {
            scale /= 2;
            calcLeftTop();
        }
        redraw();
        focus_on_selection = focusWasOn;
        break;
    case '=':
    case '+':
        focusWasOn = focus_on_selection;
        if (focusWasOn) {
            focus_on_selection = false;
            scale *= 1.2;
        } else {
            scale *= 2;
            calcLeftTop();
        }
        redraw();
        focus_on_selection = focusWasOn;
        break;
    case '?':
        draw_hints ^= true;
        if (draw_hints && !draw_legend) {
            draw_legend = true;
        }
        redraw();
        break;
    case '/':
        draw_legend ^= true;
        redraw();
        break;
    }
}

function doKeyDown(evt) {
    var char = evt.keyCode;
    var preventDefault = false;
    switch (char) {
    case 37: // left arrow
        if (evt.shiftKey) {
            testIndex -= 9;
        }
        if (--testIndex < 0)
            testIndex = tests.length - 1;
        drawTop();
        preventDefault = true;
        break;
    case 39: // right arrow
        if (evt.shiftKey) {
            testIndex += 9;
        }
        if (++testIndex >= tests.length)
            testIndex = 0;
        drawTop();
        preventDefault = true;
        break;
    }
    if (preventDefault) {
          evt.preventDefault();
          return false;
    }
    return true;
}

(function() {
    var hidden = "hidden";

    // Standards:
    if (hidden in document)
        document.addEventListener("visibilitychange", onchange);
    else if ((hidden = "mozHidden") in document)
        document.addEventListener("mozvisibilitychange", onchange);
    else if ((hidden = "webkitHidden") in document)
        document.addEventListener("webkitvisibilitychange", onchange);
    else if ((hidden = "msHidden") in document)
        document.addEventListener("msvisibilitychange", onchange);
    // IE 9 and lower:
    else if ('onfocusin' in document)
        document.onfocusin = document.onfocusout = onchange;
    // All others:
    else
        window.onpageshow = window.onpagehide
            = window.onfocus = window.onblur = onchange;

    function onchange (evt) {
        var v = 'visible', h = 'hidden',
            evtMap = {
                focus:v, focusin:v, pageshow:v, blur:h, focusout:h, pagehide:h
            };

        evt = evt || window.event;
        if (evt.type in evtMap)
            document.body.className = evtMap[evt.type];
        else
            document.body.className = this[hidden] ? "hidden" : "visible";
    }
})();

function calcXY() {
    var e = window.event;
    var tgt = e.target || e.srcElement;
    var left = tgt.offsetLeft;
    var top = tgt.offsetTop;
    mouseX = (e.clientX - left) / scale + srcLeft;
    mouseY = (e.clientY - top) / scale + srcTop;
}

function calcLeftTop() {
    srcLeft = mouseX - screenWidth / 2 / scale;
    srcTop = mouseY - screenHeight / 2 / scale;
}

var disableClick = false;

function handleMouseClick() {
    if (disableClick) {
        return;
    }
    if (!curve_t || !ptInTControl()) {
        calcXY();
        calcLeftTop();
    }
    redraw();
//    if (!curve_t || !ptInTControl()) {
//        mouseX = screenWidth / 2 / scale + srcLeft;
//        mouseY = screenHeight / 2 / scale + srcTop;
//    }
}

function handleMouseOver() {
    calcXY();
    if (debug_xy != 2) {
        return;
    }
    var num = mouseX.toFixed(decimal_places) + ", " + mouseY.toFixed(decimal_places);
    ctx.beginPath();
    ctx.rect(300,100,num.length * 6,10);
    ctx.fillStyle="white";
    ctx.fill();
    ctx.font = "normal 10px Arial";
    ctx.fillStyle="black";
    ctx.textAlign = "left";
    ctx.fillText(num, 300, 108);
}

function start() {
    for (var i = 0; i < testDivs.length; ++i) {
        tests[i] = null;
    }
    testIndex = 0;
    drawTop();
    window.addEventListener('keypress', doKeyPress, true);
    window.addEventListener('keydown', doKeyDown, true);
    window.onresize = function() {
        drawTop();
    }
    /*
    window.onpagehide = function() {
        disableClick = true;
    }
    */
    window.onpageshow = function () {
        disableClick = false;
    }
}

</script>
</head>

<body onLoad="start();">
<canvas id="canvas" width="750" height="500"
    onmousemove="handleMouseOver()"
    onclick="handleMouseClick()"
    ></canvas >
</body>
</html>
