clone

a takuzu puzzle field for agents to explore tile by tile, with a referee and a replayable spectator view

engine: generator and judge over manifest v3 (gen-v5)

dami committed 4d39f71
gen: most-constrained-first fill order, joint completion via SAT, pins
and seam clues per overlap region, regiven repair, coupled uniqueness,
per-tile assertions re-verified from JSON in tests; manifest v3 (shapes,
overlaps, holes, no zones). judge: shapes input, forced/guess by
propagation. main: gen | judge | pack | version. Fixtures: the 2x2 of
14x14 standard and the X=15 envelope.
commit
4d39f71fc595a33887036143c48a6823ccfc6c3b
parent
9b64e24301e84116b771f74ef5844a1a7e1fdf3d
author
dami <gazey55@gmail.com>
7 files changed, +2176 -0
Aengine/gen/gen.go1358++++++++++++++++++++++++++++++
Aengine/gen/gen_test.go405+++++++++
Aengine/judge/judge.go108++
Aengine/judge/judge_test.go185++++
Aengine/main.go118+++
Aengine/testdata/mosaic-15-14.json1+
Aengine/testdata/mosaic-2-14.json1+
A engine/gen/gen.go +1358 -0
@@ -0,0 +1,1358 @@
1+// Package gen builds a mosaic over a layout: Takuzu tiles of any valid2+// shape (unions of rectangles whose lines are even and at least 4 long)3+// scattered on a field, overlapping by arbitrary regions. Every tile alone4+// has 2..m solutions and every alternative differs from the truth inside5+// some overlap region; the mosaic as a whole has exactly one solution.6+// Deterministic per seed. The phase-1 X-by-X grid is the packer kind7+// "grid".8+package gen9+10+import (11+ "context"12+ "crypto/sha256"13+ "encoding/binary"14+ "encoding/hex"15+ "errors"16+ "fmt"17+ "math/rand/v2"18+ "os"19+ "runtime"20+ "sort"21+ "sync"22+ "time"23+24+ "mosaic-engine/pack"25+ "mosaic-engine/rules"26+ "mosaic-engine/sat"27+)28+29+// Policy is what the generator asserts for a tile of a given cell count.30+// Small tiles are fillers around the hard ones: they still have 2..m31+// solutions that differ inside an overlap, but the technique checks and32+// the blank floor scale up with size, and only tiles of 144 cells and33+// more (a 12x12) are held to the canonical hard standard.34+type Policy struct {35+ M int36+ BlankMin float6437+ BlankMax float6438+ NeedsUnique bool39+ NeedsBifurcation bool40+}41+42+func PolicyFor(cells int) Policy {43+ switch {44+ case cells <= 64:45+ return Policy{M: pack.MFor(cells), BlankMin: 0.55, BlankMax: 0.70}46+ case cells <= 100:47+ return Policy{M: pack.MFor(cells), BlankMin: 0.65, BlankMax: 0.75}48+ case cells < 144:49+ return Policy{M: pack.MFor(cells), BlankMin: 0.70, BlankMax: 0.75}50+ case cells <= 196:51+ return Policy{M: pack.MFor(cells), BlankMin: 0.70, BlankMax: 0.75, NeedsUnique: true, NeedsBifurcation: true}52+ default:53+ // counting past ~73% blank at 256 cells is where single counts take seconds54+ return Policy{M: pack.MFor(cells), BlankMin: 0.70, BlankMax: 0.73, NeedsUnique: true, NeedsBifurcation: true}55+ }56+}57+58+// Verbose logs failed attempts to stderr.59+var Verbose = os.Getenv("MOSAIC_DEBUG") != ""60+61+// Version changes whenever the generator's output for a seed could change.62+const Version = "gen-v5" // v5: manifest v3, shapes and overlap regions63+64+type Params struct {65+ Seed string `json:"seed"`66+ Nonce string `json:"nonce,omitempty"`67+ G int `json:"G"`68+ Kind string `json:"kind"` // scatter | grid | big-first | bands69+ N int `json:"n,omitempty"`70+ // legacy grid shorthand: X tiles per side of size N71+ X int `json:"X,omitempty"`72+ BigArea float64 `json:"big_area,omitempty"`73+ Coverage float64 `json:"coverage,omitempty"`74+ Compound float64 `json:"compound,omitempty"`75+ BandUnique bool `json:"band_unique"`76+ MaxAttempts int `json:"max_attempts,omitempty"`77+}78+79+type Rules struct {80+ Overlaps bool `json:"overlaps"`81+ CrossTile bool `json:"cross_tile"`82+ SeamClues bool `json:"seam_clues"`83+ BandUnique bool `json:"band_unique"`84+}85+86+type PackerInfo struct {87+ Kind string `json:"kind"`88+ Params map[string]any `json:"params"`89+}90+91+// OverlapPublic is what the manifest says about a shared region: the92+// partner and how many cells; the cell set is the intersection of the two93+// shapes.94+type OverlapPublic struct {95+ With int `json:"with"`96+ Cells int `json:"cells"`97+}98+99+// TilePublic is what the manifest carries about a tile.100+type TilePublic struct {101+ ID int `json:"id"`102+ X0 int `json:"x0"`103+ Y0 int `json:"y0"`104+ W int `json:"w"`105+ H int `json:"h"`106+ Rects [][4]int `json:"rects"`107+ Cells int `json:"cells"`108+ Hash string `json:"hash"`109+ M int `json:"m"`110+ Overlaps []OverlapPublic `json:"overlaps"`111+ Pins []int `json:"pins"` // indexes into Overlaps some alternative differs on112+}113+114+type Manifest struct {115+ Version int `json:"version"`116+ ID string `json:"id"`117+ SeedCommit string `json:"seed_commit"`118+ G int `json:"G"`119+ Packer PackerInfo `json:"packer"`120+ MByN map[string]int `json:"m_by_n"`121+ Rules Rules `json:"rules"`122+ SeedTile int `json:"seed_tile"`123+ Tiles []TilePublic `json:"tiles"`124+ K string `json:"k"`125+ Generator string `json:"generator"`126+ Library *string `json:"library"`127+}128+129+// TilePrivate is the generator's per-tile record: never in the public log.130+type TilePrivate struct {131+ ID int `json:"id"`132+ Givens [][2]int `json:"givens"` // [global cell id, value]133+ Blank float64 `json:"blank"`134+ NeedsUnique bool `json:"needs_unique"`135+ NeedsBifurcation bool `json:"needs_bifurcation"`136+ Flip []int `json:"flip"` // global ids of the planted ambiguity137+ Ladder Ladder `json:"ladder"`138+}139+140+// Ladder is what the technique-ladder solver used on the pinned tile141+// (analyzer data; not asserted).142+type Ladder struct {143+ UsedUnique bool `json:"used_unique"`144+ UsedBifurcation bool `json:"used_bifurcation"`145+ Bifurcations int `json:"bifurcations"`146+ Complete bool `json:"complete"`147+}148+149+type Stats struct {150+ Ms int64 `json:"ms"`151+ Attempts int `json:"attempts"`152+ Refills int `json:"refills"`153+ Backjumps int `json:"backjumps"`154+ Regivens int `json:"regivens"`155+ Waves int `json:"waves"`156+}157+158+type Output struct {159+ Manifest Manifest `json:"manifest"`160+ Solution []string `json:"solution"` // G rows; '.' where no tile covers the cell161+ Tiles []TilePrivate `json:"tiles"`162+ Stats Stats `json:"stats"`163+ Layout pack.Report `json:"layout"`164+}165+166+func defaults(p Params) (Params, error) {167+ if p.X > 0 {168+ if p.N == 0 {169+ p.N = 14170+ }171+ p.Kind = "grid"172+ p.G = p.X*(p.N-1) + 1173+ }174+ if p.Kind == "" {175+ p.Kind = "scatter"176+ }177+ if p.G < pack.MinLine {178+ return p, fmt.Errorf("G must be at least %d", pack.MinLine)179+ }180+ if p.MaxAttempts == 0 {181+ p.MaxAttempts = 20182+ }183+ if p.Nonce == "" {184+ h := sha256.Sum256([]byte("mosaic-nonce|" + p.Seed))185+ p.Nonce = hex.EncodeToString(h[:8])186+ }187+ return p, nil188+}189+190+func rngFor(parts ...string) *rand.Rand {191+ h := sha256.New()192+ for _, s := range parts {193+ h.Write([]byte(s))194+ h.Write([]byte{0})195+ }196+ sum := h.Sum(nil)197+ return rand.New(rand.NewPCG(binary.LittleEndian.Uint64(sum[:8]), binary.LittleEndian.Uint64(sum[8:16])))198+}199+200+// Generate runs the full pipeline. The layout is drawn once from the seed;201+// attempts redraw the tile contents with a derived rng when an attempt202+// cannot satisfy every assertion.203+func Generate(ctx context.Context, p Params) (*Output, error) {204+ p, err := defaults(p)205+ if err != nil {206+ return nil, err207+ }208+ L, err := pack.Pack(pack.Params{Seed: p.Seed + "|" + p.Nonce, G: p.G, Kind: p.Kind, N: p.N, BigArea: p.BigArea, Coverage: p.Coverage, Compound: p.Compound})209+ if err != nil {210+ return nil, err211+ }212+ // every tile must be able to carry the rules on its own before any213+ // search starts (an infeasible shape costs SAT seconds to refute)214+ for _, t := range L.Tiles {215+ sh := rules.Shape{X0: t.X0, Y0: t.Y0, W: t.W, H: t.H, Rects: t.Rects}216+ if err := sh.Valid(); err != nil {217+ return nil, fmt.Errorf("layout tile %d (%dx%d at %d,%d): %w", t.ID, t.W, t.H, t.X0, t.Y0, err)218+ }219+ }220+ start := time.Now()221+ var last error222+ for attempt := 0; attempt < p.MaxAttempts; attempt++ {223+ out, err := generateAttempt(ctx, p, L, attempt)224+ if err == nil {225+ out.Stats.Attempts = attempt + 1226+ out.Stats.Ms = time.Since(start).Milliseconds()227+ out.Layout = L.Report228+ return out, nil229+ }230+ if ctx.Err() != nil {231+ return nil, ctx.Err()232+ }233+ last = err234+ if Verbose {235+ fmt.Fprintf(os.Stderr, "gen: attempt %d failed after %s: %v\n", attempt, time.Since(start).Round(time.Millisecond), err)236+ }237+ }238+ return nil, fmt.Errorf("no mosaic after %d attempts: %w", p.MaxAttempts, last)239+}240+241+// tileGeom is everything fixed about a tile before any content exists.242+// Local indexes are ly*W+lx over the bounding box; cells outside the243+// shape (mask false) are never read or written.244+type tileGeom struct {245+ id int246+ sh rules.Shape247+ W, H int248+ cells int249+ m int250+ mask []bool251+ overlaps []pack.Overlap252+ shared []bool // local index -> owned by another tile too253+ regsAt [][]int // local index -> indexes of pin-eligible overlaps (>= MinLine cells)254+ junction []bool // local index -> shared cell that is not on any pin-eligible overlap, or has 3+ owners255+ dist int // BFS distance to the seed tile over overlaps256+ rank int // position in the fill order (see fillOrder)257+ deps []int // tiles earlier in the fill order sharing any cell, by id258+}259+260+func (g *tileGeom) gid(m *mosaic, local int) int {261+ return m.global.Idx(g.sh.X0+local%g.W, g.sh.Y0+local/g.W)262+}263+264+type mosaic struct {265+ p Params266+ L *pack.Layout267+ G int268+ global *rules.Board269+ geom []*tileGeom270+ order []int // fill order: position -> tile id271+ owners [][]int // per cell, tile ids owning it272+ stats Stats273+274+ bandUniqueHeld bool275+276+ seamGivens map[int]rules.Cell // shared cells given to hold m; shared by all owners277+ used map[int]bool // cells of planted rectangles: never givens278+ mu sync.Mutex279+}280+281+func newMosaic(p Params, L *pack.Layout) *mosaic {282+ m := &mosaic{p: p, L: L, G: L.G, bandUniqueHeld: p.BandUnique,283+ seamGivens: map[int]rules.Cell{}, used: map[int]bool{}}284+ m.global = rules.NewBoard(m.G, m.G)285+ m.owners = L.Owners()286+ for _, t := range L.Tiles {287+ m.global.Shapes = append(m.global.Shapes, rules.Shape{X0: t.X0, Y0: t.Y0, W: t.W, H: t.H, Rects: t.Rects})288+ }289+ // BFS distance from the seed tile over overlaps290+ dist := make([]int, len(L.Tiles))291+ for i := range dist {292+ dist[i] = -1293+ }294+ dist[L.SeedTile] = 0295+ queue := []int{L.SeedTile}296+ for len(queue) > 0 {297+ t := queue[0]298+ queue = queue[1:]299+ for _, u := range L.Neighbours(t) {300+ if dist[u] < 0 {301+ dist[u] = dist[t] + 1302+ queue = append(queue, u)303+ }304+ }305+ }306+ for _, t := range L.Tiles {307+ g := &tileGeom{id: t.ID, sh: m.global.Shapes[t.ID], W: t.W, H: t.H, cells: t.Cells, m: t.M, overlaps: L.Overlaps[t.ID], dist: dist[t.ID]}308+ g.mask = g.sh.Mask()309+ g.shared = make([]bool, t.W*t.H)310+ g.regsAt = make([][]int, t.W*t.H)311+ g.junction = make([]bool, t.W*t.H)312+ for oi, o := range g.overlaps {313+ if o.Cells < pack.MinLine {314+ continue315+ }316+ for _, id := range o.Ids {317+ gx, gy := id%m.G, id/m.G318+ li := (gy-t.Y0)*t.W + gx - t.X0319+ g.regsAt[li] = append(g.regsAt[li], oi)320+ }321+ }322+ for li, ok := range g.mask {323+ if !ok {324+ continue325+ }326+ own := m.owners[g.gid(m, li)]327+ if len(own) >= 2 {328+ g.shared[li] = true329+ }330+ // shared with three or more tiles, or shared only through331+ // regions too small to pin: a junction, never planted, never332+ // given333+ if len(own) >= 3 || (len(own) >= 2 && len(g.regsAt[li]) == 0) {334+ g.junction[li] = true335+ }336+ }337+ m.geom = append(m.geom, g)338+ }339+ m.order = m.fillOrder()340+ for pos, id := range m.order {341+ m.geom[id].rank = pos342+ }343+ for _, g := range m.geom {344+ depSet := map[int]bool{}345+ for li, ok := range g.mask {346+ if !ok {347+ continue348+ }349+ for _, o := range m.owners[g.gid(m, li)] {350+ if m.geom[o].rank < g.rank {351+ depSet[o] = true352+ }353+ }354+ }355+ for d := range depSet {356+ g.deps = append(g.deps, d)357+ }358+ sort.Ints(g.deps)359+ }360+ return m361+}362+363+// fillOrder decides the order tiles get their solution in: most constrained364+// first. Starting from the seed tile, the next tile is always the unplaced365+// one with the largest share of its cells already fixed by placed366+// neighbours (ties: fewer cells, then lower id). A small tile is therefore367+// filled as soon as one neighbour exists, while it still has few fixed368+// cells and many completions, and its remaining cells become constraints369+// on the large tiles around it, which have room to spare.370+func (m *mosaic) fillOrder() []int {371+ total := len(m.geom)372+ placed := make([]bool, total)373+ fixed := make([]int, total)374+ order := make([]int, 0, total)375+ place := func(id int) {376+ placed[id] = true377+ order = append(order, id)378+ g := m.geom[id]379+ for li, ok := range g.mask {380+ if !ok {381+ continue382+ }383+ for _, o := range m.owners[g.gid(m, li)] {384+ if !placed[o] {385+ fixed[o]++386+ }387+ }388+ }389+ }390+ place(m.L.SeedTile)391+ for len(order) < total {392+ best := -1393+ var bestShare float64394+ for _, g := range m.geom {395+ if placed[g.id] {396+ continue397+ }398+ share := float64(fixed[g.id]) / float64(g.cells)399+ if best < 0 || share > bestShare ||400+ (share == bestShare && (g.cells < m.geom[best].cells || (g.cells == m.geom[best].cells && g.id < best))) {401+ best, bestShare = g.id, share402+ }403+ }404+ place(best)405+ }406+ return order407+}408+409+func generateAttempt(ctx context.Context, p Params, L *pack.Layout, attempt int) (*Output, error) {410+ m := newMosaic(p, L)411+ tag := fmt.Sprintf("%s|%s|%d", p.Seed, p.Nonce, attempt)412+413+ // Phase A: the solution, tile by tile in most-constrained-first order414+ // (fillOrder) with backjumping (fillSolution).415+ total := len(L.Tiles)416+ if err := m.fillSolution(ctx, tag); err != nil {417+ return nil, err418+ }419+ // Phase B: givens, in waves over the fixed solution. A tile is ready when420+ // every earlier tile (fill order) it shares a cell with is done (seam421+ // givens flow from earlier tiles); tiles in one wave share no cell, so422+ // they run in parallel and the output equals sequential fill order.423+ tiles := make([]*tileWork, total)424+ done := make([]bool, total)425+ remaining := total426+ for remaining > 0 {427+ var idx []int428+ for _, g := range m.geom {429+ if done[g.id] {430+ continue431+ }432+ ready := true433+ for _, d := range g.deps {434+ if !done[d] {435+ ready = false436+ break437+ }438+ }439+ if ready {440+ idx = append(idx, g.id)441+ }442+ }443+ if len(idx) == 0 {444+ return nil, errors.New("dependency cycle in tile order (bug)")445+ }446+ m.stats.Waves++447+ results := make([]*tileWork, len(idx))448+ errs := make([]error, len(idx))449+ var wg sync.WaitGroup450+ sem := make(chan struct{}, runtime.GOMAXPROCS(0))451+ for k, i := range idx {452+ wg.Add(1)453+ sem <- struct{}{}454+ go func(k, i int) {455+ defer wg.Done()456+ defer func() { <-sem }()457+ results[k], errs[k] = m.buildGivens(ctx, tag, i)458+ }(k, i)459+ }460+ wg.Wait()461+ for k, i := range idx {462+ if errs[k] != nil {463+ g := m.geom[i]464+ return nil, fmt.Errorf("tile %d (%dx%d, %d cells at %d,%d): %w", i, g.W, g.H, g.cells, g.sh.X0, g.sh.Y0, errs[k])465+ }466+ tiles[i] = results[k]467+ m.commitGivens(results[k])468+ done[i] = true469+ remaining--470+ }471+ }472+ if err := m.global.Validate(rules.All); err != nil {473+ return nil, fmt.Errorf("solution invalid: %w", err)474+ }475+476+ // Later tiles may have added seam givens on earlier tiles' shared cells:477+ // settle every tile's final givens and solution set, then check the478+ // coupled system has exactly one solution. Repair by regenerating the479+ // givens of a tile that lacks a witness neighbour, or that its480+ // neighbours' clues pinned past its policy.481+ shapes := make([]rules.Shape, total)482+ for i, g := range m.geom {483+ shapes[i] = g.sh484+ }485+ regiven := func(bad, round int) error {486+ for _, id := range tiles[bad].protect {487+ delete(m.used, id)488+ }489+ tw, err := m.makeGivens(ctx, tag, bad, 100+round)490+ if err != nil {491+ return fmt.Errorf("repair tile %d: %w", bad, err)492+ }493+ tiles[bad] = tw494+ m.commitGivens(tw)495+ m.stats.Regivens++496+ return nil497+ }498+ for round := 0; ; round++ {499+ sols := make([]rules.TileSolutions, total)500+ settled := true501+ for i, t := range tiles {502+ if err := m.settle(t); err != nil {503+ if round >= 3*total {504+ return nil, err505+ }506+ if Verbose {507+ fmt.Fprintf(os.Stderr, "gen: settle: %v; regiven\n", err)508+ }509+ if err := regiven(i, round); err != nil {510+ return nil, err511+ }512+ settled = false513+ break514+ }515+ sols[i] = t.sols516+ }517+ if !settled {518+ continue519+ }520+ count, _ := rules.CoupledSolutions(shapes, sols, 2)521+ if count == 1 {522+ break523+ }524+ if round >= 3*total {525+ return nil, fmt.Errorf("coupled system has %d solutions after %d repairs", count, round)526+ }527+ bad := m.tileWithoutWitness(tiles)528+ if bad < 0 {529+ return nil, fmt.Errorf("coupled system has %d solutions but every tile has a witness (bug)", count)530+ }531+ if err := regiven(bad, round); err != nil {532+ return nil, err533+ }534+ }535+536+ commit := sha256.Sum256([]byte(p.Seed + "|" + p.Nonce))537+ mByN := map[string]int{}538+ for n := pack.MinN; n <= pack.MaxN; n += 2 {539+ mByN[fmt.Sprint(n)] = pack.MByN(n)540+ }541+ out := &Output{542+ Manifest: Manifest{543+ Version: 3,544+ ID: hex.EncodeToString(commit[:]),545+ SeedCommit: hex.EncodeToString(commit[:]),546+ G: m.G,547+ Packer: PackerInfo{Kind: L.Kind, Params: map[string]any{"n": p.N, "big_area": p.BigArea, "coverage": p.Coverage, "compound": p.Compound}},548+ MByN: mByN,549+ Rules: Rules{Overlaps: true, CrossTile: false, SeamClues: len(m.seamGivens) > 0, BandUnique: m.bandUniqueHeld},550+ SeedTile: L.SeedTile,551+ K: "unmeasured",552+ Generator: generatorHash(),553+ },554+ Stats: m.stats,555+ }556+ for y := 0; y < m.G; y++ {557+ row := make([]byte, m.G)558+ for x := 0; x < m.G; x++ {559+ if len(m.owners[m.global.Idx(x, y)]) == 0 {560+ row[x] = '.'561+ } else {562+ row[x] = byte('0' + m.global.At(x, y))563+ }564+ }565+ out.Solution = append(out.Solution, string(row))566+ }567+ for _, t := range tiles {568+ out.Manifest.Tiles = append(out.Manifest.Tiles, t.public)569+ out.Tiles = append(out.Tiles, t.private)570+ }571+ return out, nil572+}573+574+func generatorHash() string {575+ h := sha256.Sum256([]byte("mosaic-engine/" + Version))576+ return hex.EncodeToString(h[:8])577+}578+579+// fillSolution walks the fill order with backjumping. A tile whose prefilled580+// cells admit no completion sends the search back to the latest earlier581+// tile that shares a cell with it; everything from there on is cleared and582+// redrawn with the next try. Repeated failures of the same tile escalate:583+// every second failure targets the next earlier dependency, so a conflict584+// caused by a neighbour other than the latest one is reached rather than585+// looping on a refill that cannot help.586+func (m *mosaic) fillSolution(ctx context.Context, tag string) error {587+ total := len(m.geom)588+ tries := make([]int, total) // by tile id589+ fails := make([]int, total) // consecutive NOFITs by tile id590+ backjumps := 0591+ for pos := 0; pos < total; {592+ if ctx.Err() != nil {593+ return ctx.Err()594+ }595+ i := m.order[pos]596+ ok, err := m.fillTile(ctx, tag, i, tries[i])597+ if err != nil {598+ return err599+ }600+ tries[i]++601+ if ok {602+ fails[i] = 0603+ pos++604+ continue605+ }606+ backjumps++607+ m.bump(&m.stats.Backjumps)608+ if backjumps > 6*total {609+ return errors.New("too many backjumps")610+ }611+ g := m.geom[i]612+ if len(g.deps) == 0 {613+ return fmt.Errorf("tile %d admits no completion with nothing prefilled (bug)", i)614+ }615+ // dependencies from latest to earliest in the fill order616+ byRank := append([]int(nil), g.deps...)617+ sort.Slice(byRank, func(a, b int) bool { return m.geom[byRank[a]].rank > m.geom[byRank[b]].rank })618+ k := fails[i] / 2619+ fails[i]++620+ if k >= len(byRank) {621+ k = len(byRank) - 1622+ }623+ j := byRank[k]624+ if Verbose {625+ fmt.Fprintf(os.Stderr, "gen: tile %d (%d cells) has no completion; backjump to tile %d (dep %d of %d, try %d)\n", i, g.cells, j, k+1, len(byRank), tries[j])626+ }627+ for p := pos; p >= m.geom[j].rank; p-- {628+ m.clearTile(m.order[p])629+ }630+ pos = m.geom[j].rank631+ }632+ return nil633+}634+635+// buildGivens makes a tile's givens over its solution. A few rounds try636+// different removal orders; if none work, the tile's own interior is637+// redrawn (shared cells stay, since the neighbours are filled already) and638+// the rounds repeat. Only after several refills does the attempt fail.639+// `fillTry` continues the per-tile fill counter across refills so each640+// draw is distinct and deterministic.641+func (m *mosaic) buildGivens(ctx context.Context, tag string, i int) (*tileWork, error) {642+ var gerr error643+ fillTry := 1 // 0 was used by phase A644+ for refill := 0; refill < 6; refill++ {645+ for round := 0; round < 4; round++ {646+ tw, err := m.makeGivens(ctx, tag, i, refill*4+round)647+ if err == nil {648+ return tw, nil649+ }650+ if ctx.Err() != nil {651+ return nil, ctx.Err()652+ }653+ gerr = err654+ if Verbose {655+ fmt.Fprintf(os.Stderr, "gen: tile %d refill %d round %d: %v\n", i, refill, round, err)656+ }657+ }658+ m.clearInterior(i)659+ ok, err := m.fillTile(ctx, tag, i, fillTry)660+ fillTry++661+ if err != nil {662+ return nil, err663+ }664+ if !ok {665+ return nil, fmt.Errorf("refill %d admits no completion: %w", refill, gerr)666+ }667+ }668+ return nil, gerr669+}670+671+// commitGivens registers a tile's planted cells and seam givens.672+func (m *mosaic) commitGivens(t *tileWork) {673+ for _, id := range t.protect {674+ m.used[id] = true675+ }676+ for _, id := range t.ownSeam {677+ m.seamGivens[id] = t.ownSeamValue[id]678+ }679+}680+681+func (m *mosaic) bump(counter *int) {682+ m.mu.Lock()683+ *counter++684+ m.mu.Unlock()685+}686+687+// clearTile blanks every cell of the tile that no tile earlier in the fill688+// order owns.689+func (m *mosaic) clearTile(i int) {690+ g := m.geom[i]691+ for li, ok := range g.mask {692+ if !ok {693+ continue694+ }695+ id := g.gid(m, li)696+ earlier := false697+ for _, o := range m.owners[id] {698+ if m.geom[o].rank < g.rank {699+ earlier = true700+ }701+ }702+ if !earlier {703+ m.global.Cells[id] = rules.Empty704+ }705+ }706+}707+708+// clearInterior blanks only the cells no other tile owns. Used once every709+// tile has a solution (phase B): a redraw must not touch a shared cell,710+// because the tiles across it are already filled and may be building their711+// givens in the same wave.712+func (m *mosaic) clearInterior(i int) {713+ g := m.geom[i]714+ for li, ok := range g.mask {715+ if !ok {716+ continue717+ }718+ id := g.gid(m, li)719+ if len(m.owners[id]) == 1 {720+ m.global.Cells[id] = rules.Empty721+ }722+ }723+}724+725+// fillTile completes tile i over its prefilled cells, jointly with every726+// later neighbour (tiles after it in the fill order that share a cell):727+// one SAT instance over the union of those shapes, of which only tile i's728+// cells are written. That is forward checking with the interactions729+// between the neighbours included, which per-neighbour checks miss (the730+// last small neighbour of a boxed-in tile cannot balance its own edge and731+// finish the big tile's forced edge at once). Returns ok=false when no732+// joint completion exists: a definitive NOFIT, and the caller backjumps.733+func (m *mosaic) fillTile(ctx context.Context, tag string, i, refill int) (bool, error) {734+ g := m.geom[i]735+ var later []rules.Shape736+ for _, o := range m.geom {737+ if o.rank > g.rank {738+ for _, d := range o.deps {739+ if d == i {740+ later = append(later, o.sh)741+ break742+ }743+ }744+ }745+ }746+ const tries = 16 // only band collisions need a second draw747+ var collided []rules.Cell748+ for t := 0; t < tries; t++ {749+ if ctx.Err() != nil {750+ return false, ctx.Err()751+ }752+ rng := rngFor(tag, "fill", fmt.Sprint(i), fmt.Sprint(refill), fmt.Sprint(t))753+ full, ok := sat.CompleteRegion(m.global.Cells, m.G, later, g.sh, rng)754+ if !ok {755+ return false, nil756+ }757+ if m.p.BandUnique && m.bandCollision(i, full) {758+ m.bump(&m.stats.Refills)759+ collided = full760+ continue761+ }762+ m.writeTile(g, full)763+ return true, nil764+ }765+ m.mu.Lock()766+ m.bandUniqueHeld = false767+ m.mu.Unlock()768+ m.writeTile(g, collided)769+ return true, nil770+}771+772+// writeTile fills only the cells that are still empty: prefilled cells came773+// from earlier tiles and carry the same value.774+func (m *mosaic) writeTile(g *tileGeom, full []rules.Cell) {775+ for li, ok := range g.mask {776+ if !ok {777+ continue778+ }779+ id := g.gid(m, li)780+ if m.global.Cells[id] != rules.Empty {781+ continue782+ }783+ m.global.Cells[id] = full[li]784+ }785+}786+787+// bandCollision reports whether any row of the candidate tile equals a row788+// of an already generated tile of the same size in the same band (same789+// y0). Only square tiles take part (the grid packers).790+func (m *mosaic) bandCollision(i int, full []rules.Cell) bool {791+ g := m.geom[i]792+ if g.W != g.H || len(g.sh.Rects) != 1 {793+ return false794+ }795+ seen := map[string]bool{}796+ for _, o := range m.geom {797+ if o.rank >= g.rank || o.sh.Y0 != g.sh.Y0 || o.W != g.W || o.H != g.H || len(o.sh.Rects) != 1 {798+ continue799+ }800+ for ly := 0; ly < o.H; ly++ {801+ row := make([]byte, o.W)802+ for lx := 0; lx < o.W; lx++ {803+ row[lx] = byte('0' + m.global.At(o.sh.X0+lx, o.sh.Y0+ly))804+ }805+ seen[string(row)] = true806+ }807+ }808+ for ly := 0; ly < g.H; ly++ {809+ row := make([]byte, g.W)810+ for lx := 0; lx < g.W; lx++ {811+ row[lx] = byte('0' + full[ly*g.W+lx])812+ }813+ if seen[string(row)] {814+ return true815+ }816+ }817+ return false818+}819+820+// tileWork is a tile's givens under construction: its solution set, the821+// public and private records, the interior givens (local, Empty where822+// blank or outside the shape), the planted cells to protect from removal,823+// and the seam givens it added on its own shared cells (global ids and824+// values).825+type tileWork struct {826+ id int827+ sols rules.TileSolutions828+ public TilePublic829+ private TilePrivate830+ interior []rules.Cell831+ protect []int832+ ownSeam []int833+ ownSeamValue map[int]rules.Cell834+}835+836+// puzzleOf assembles a tile's current puzzle: interior givens plus every837+// seam given on its cells, whichever tile added it.838+func (m *mosaic) puzzleOf(t *tileWork) []rules.Cell {839+ g := m.geom[t.id]840+ p := append([]rules.Cell(nil), t.interior...)841+ for li, ok := range g.mask {842+ if !ok {843+ continue844+ }845+ if v, ok := m.seamGivens[g.gid(m, li)]; ok {846+ p[li] = v847+ }848+ }849+ return p850+}851+852+// settle recomputes a tile's givens, blank ratio, hash and solution set853+// from the final puzzle, and re-checks the assertions seam givens can move.854+func (m *mosaic) settle(t *tileWork) error {855+ g := m.geom[t.id]856+ p := m.puzzleOf(t)857+ var exhausted bool858+ t.sols, exhausted = solutionsPT(p, g.sh, g.m+1)859+ if !exhausted {860+ return fmt.Errorf("tile %d: solution count over budget after settling", t.id)861+ }862+ if len(t.sols) < 2 || len(t.sols) > g.m {863+ return fmt.Errorf("tile %d: %d solutions after settling", t.id, len(t.sols))864+ }865+ t.public.M = len(t.sols)866+ // pins follow the settled solution set: neighbours' seam clues may have867+ // removed alternatives, so the overlaps some alternative still differs868+ // on are recomputed here, not carried from makeGivens869+ truth := g.sh.Local(m.global.Cells, m.G)870+ pinned := map[int]bool{}871+ for _, s := range t.sols {872+ for _, li := range rules.Diff(truth, s) {873+ for _, oi := range g.regsAt[li] {874+ pinned[oi] = true875+ }876+ }877+ }878+ t.public.Pins = []int{}879+ for oi := range g.overlaps {880+ if pinned[oi] {881+ t.public.Pins = append(t.public.Pins, oi)882+ }883+ }884+ if len(t.public.Pins) == 0 {885+ return fmt.Errorf("tile %d: no alternative differs inside an overlap after settling", t.id)886+ }887+ t.private.Givens = nil888+ blanks := 0889+ for li, ok := range g.mask {890+ if !ok {891+ continue892+ }893+ if p[li] == rules.Empty {894+ blanks++895+ } else {896+ t.private.Givens = append(t.private.Givens, [2]int{g.gid(m, li), int(p[li])})897+ }898+ }899+ t.private.Blank = float64(blanks) / float64(g.cells)900+ if t.private.Blank < PolicyFor(g.cells).BlankMin {901+ return fmt.Errorf("tile %d: %.0f%% blank after neighbours' seam clues", t.id, t.private.Blank*100)902+ }903+ // content hash: shape, solution bits, givens mask, shared mask904+ h := sha256.New()905+ h.Write([]byte(fmt.Sprintf("%d,%d,%v|", g.W, g.H, g.sh.Rects)))906+ sol := make([]byte, len(p))907+ giv := make([]byte, len(p))908+ shared := make([]byte, len(p))909+ for li := range p {910+ sol[li], giv[li], shared[li] = '.', '.', '.'911+ if !g.mask[li] {912+ continue913+ }914+ sol[li] = byte('0' + m.global.Cells[g.gid(m, li)])915+ if p[li] != rules.Empty {916+ giv[li] = '1'917+ } else {918+ giv[li] = '0'919+ }920+ if g.shared[li] {921+ shared[li] = '1'922+ } else {923+ shared[li] = '0'924+ }925+ }926+ h.Write(sol)927+ h.Write(giv)928+ h.Write(shared)929+ t.public.Hash = hex.EncodeToString(h.Sum(nil))930+ return nil931+}932+933+// tileGrid reads a tile's solution as H rows of W local cells (Empty934+// outside the shape).935+func (m *mosaic) tileGrid(i int) [][]rules.Cell {936+ g := m.geom[i]937+ s := make([][]rules.Cell, g.H)938+ for ly := range s {939+ s[ly] = make([]rules.Cell, g.W)940+ for lx := range s[ly] {941+ s[ly][lx] = rules.Empty942+ if g.mask[ly*g.W+lx] {943+ s[ly][lx] = m.global.At(g.sh.X0+lx, g.sh.Y0+ly)944+ }945+ }946+ }947+ return s948+}949+950+// makeGivens plants a flip rectangle touching a pin-eligible overlap, then951+// removes clues while the tile keeps at most m solutions, and checks every952+// per-tile assertion.953+func (m *mosaic) makeGivens(ctx context.Context, tag string, i int, round int) (*tileWork, error) {954+ g := m.geom[i]955+ S := m.tileGrid(i)956+ gid := func(lx, ly int) int { return g.gid(m, ly*g.W+lx) }957+958+ // preferred overlaps: with a neighbour closer to the seed tile959+ preferred := make([]bool, len(g.overlaps))960+ for oi, o := range g.overlaps {961+ preferred[oi] = m.geom[o.With].dist >= 0 && g.dist >= 0 && m.geom[o.With].dist < g.dist962+ }963+964+ type cand struct {965+ r rules.Rect966+ pref bool967+ }968+ var cands []cand969+ for _, r := range rules.FindFlips(g.sh, S, rules.All) {970+ onRegion, pref, clash := false, false, false971+ for _, c := range r.Cells() {972+ li := c[1]*g.W + c[0]973+ if _, given := m.seamGivens[gid(c[0], c[1])]; given || m.used[gid(c[0], c[1])] || g.junction[li] {974+ clash = true975+ }976+ if len(g.regsAt[li]) > 0 {977+ onRegion = true978+ }979+ for _, oi := range g.regsAt[li] {980+ if preferred[oi] {981+ pref = true982+ }983+ }984+ }985+ if onRegion && !clash {986+ cands = append(cands, cand{r, pref})987+ }988+ }989+ if len(cands) == 0 {990+ // small tiles hemmed in by junctions may have no plantable991+ // rectangle: rely on the ambiguity blank shared cells leave naturally992+ cands = append(cands, cand{r: rules.Rect{R1: -1}})993+ }994+ rng := rngFor(tag, "givens", fmt.Sprint(i), fmt.Sprint(round))995+ rng.Shuffle(len(cands), func(a, b int) { cands[a], cands[b] = cands[b], cands[a] })996+ sort.SliceStable(cands, func(a, b int) bool { return cands[a].pref && !cands[b].pref })997+998+ limit := len(cands)999+ if limit > 10 {1000+ limit = 101001+ }1002+ // Candidates are independent and read-only over the mosaic, so they run1003+ // in parallel; the winner is the first success by index, which keeps the1004+ // output deterministic whatever the scheduling.1005+ type result struct {1006+ tw *tileWork1007+ err error1008+ ms int641009+ }1010+ results := make([]result, limit)1011+ var wg sync.WaitGroup1012+ for ci := 0; ci < limit; ci++ {1013+ wg.Add(1)1014+ go func(ci int) {1015+ defer wg.Done()1016+ t0 := time.Now()1017+ crng := rngFor(tag, "givens", fmt.Sprint(i), fmt.Sprint(round), fmt.Sprint(ci))1018+ tw, err := m.removeClues(ctx, crng, i, S, cands[ci].r)1019+ results[ci] = result{tw, err, time.Since(t0).Milliseconds()}1020+ }(ci)1021+ }1022+ wg.Wait()1023+ var lastErr error1024+ for ci, res := range results {1025+ if Verbose {1026+ fmt.Fprintf(os.Stderr, "gen: tile %d (%d cells) flip %d/%d %v in %dms: %v\n", i, g.cells, ci+1, limit, cands[ci].r, res.ms, res.err)1027+ }1028+ if res.err == nil {1029+ return res.tw, nil1030+ }1031+ lastErr = res.err1032+ }1033+ if ctx.Err() != nil {1034+ return nil, ctx.Err()1035+ }1036+ return nil, fmt.Errorf("no acceptable givens: %w", lastErr)1037+}1038+1039+// solutionsPT enumerates up to limit solutions (all rules) with the SAT1040+// backend. ok is always true (kept for the callers' shape).1041+func solutionsPT(puzzle []rules.Cell, sh rules.Shape, limit int) (rules.TileSolutions, bool) {1042+ sols, _ := sat.Enumerate(puzzle, sh, rules.All, limit)1043+ return rules.TileSolutions(sols), true1044+}1045+1046+// countPT counts solutions up to limit (all rules) with the SAT backend.1047+func countPT(puzzle []rules.Cell, sh rules.Shape, limit int) int {1048+ c, _ := sat.Count(puzzle, sh, rules.All, limit)1049+ return c1050+}1051+1052+// uniquenessRects lists rectangles whose flip keeps run and balance but1053+// duplicates a line, shuffled.1054+func uniquenessRects(sh rules.Shape, S [][]rules.Cell, rng *rand.Rand) []rules.Rect {1055+ valid := map[rules.Rect]bool{}1056+ for _, r := range rules.FindFlips(sh, S, rules.All) {1057+ valid[r] = true1058+ }1059+ var out []rules.Rect1060+ for _, r := range rules.FindFlips(sh, S, rules.Run|rules.Balance) {1061+ if !valid[r] {1062+ out = append(out, r)1063+ }1064+ }1065+ rng.Shuffle(len(out), func(i, j int) { out[i], out[j] = out[j], out[i] })1066+ return out1067+}1068+1069+func (m *mosaic) removeClues(ctx context.Context, rng *rand.Rand, ti int, S [][]rules.Cell, r rules.Rect) (*tileWork, error) {1070+ g := m.geom[ti]1071+ W := g.W1072+ M := g.m1073+ gid := func(lx, ly int) int { return g.gid(m, ly*W+lx) }1074+ protect := map[int]bool{} // local indices never given: planted rectangles1075+ planted := r.R1 >= 01076+ if planted {1077+ for _, c := range r.Cells() {1078+ protect[c[1]*W+c[0]] = true1079+ }1080+ }1081+ ownSeam := map[int]rules.Cell{} // seam givens this tile adds (local index)1082+ build := func() []rules.Cell {1083+ p := make([]rules.Cell, len(g.mask))1084+ for i := range p {1085+ switch {1086+ case !g.mask[i]:1087+ p[i] = rules.Empty1088+ case protect[i]:1089+ p[i] = rules.Empty1090+ case g.shared[i]:1091+ if v, ok := m.seamGivens[gid(i%W, i/W)]; ok {1092+ p[i] = v1093+ } else if v, ok := ownSeam[i]; ok {1094+ p[i] = v1095+ } else {1096+ p[i] = rules.Empty1097+ }1098+ default:1099+ p[i] = S[i/W][i%W]1100+ }1101+ }1102+ return p1103+ }1104+ // Seam clues: blank shared cells alone can leave more than m1105+ // solutions. Give the fewest shared cells that bring the count within1106+ // m, never planted cells, never junctions.1107+ addSeamClues := func() bool {1108+ if countPT(build(), g.sh, M+1) <= M {1109+ return true1110+ }1111+ var cands []int1112+ for i := range g.mask {1113+ if !g.mask[i] {1114+ continue1115+ }1116+ _, inherited := m.seamGivens[gid(i%W, i/W)]1117+ _, own := ownSeam[i]1118+ if g.shared[i] && !g.junction[i] && !protect[i] && !inherited && !own && !m.used[gid(i%W, i/W)] {1119+ cands = append(cands, i)1120+ }1121+ }1122+ rng.Shuffle(len(cands), func(a, b int) { cands[a], cands[b] = cands[b], cands[a] })1123+ ok := false1124+ added := []int{}1125+ for _, i := range cands {1126+ ownSeam[i] = S[i/W][i%W]1127+ added = append(added, i)1128+ if countPT(build(), g.sh, M+1) <= M {1129+ ok = true1130+ break1131+ }1132+ }1133+ if !ok {1134+ for _, i := range added {1135+ delete(ownSeam, i)1136+ }1137+ return false1138+ }1139+ for _, i := range added {1140+ v := ownSeam[i]1141+ delete(ownSeam, i)1142+ if countPT(build(), g.sh, M+1) > M {1143+ ownSeam[i] = v1144+ }1145+ }1146+ return true1147+ }1148+ if !addSeamClues() {1149+ return nil, fmt.Errorf("shared cells stay ambiguous with every one given")1150+ }1151+ // Plant a uniqueness situation: a rectangle whose flip is legal under1152+ // run+balance but duplicates a line. Kept blank, only the uniqueness1153+ // constraint separates the solution from its flip there.1154+ uniq := uniquenessRects(g.sh, S, rng)1155+ if len(uniq) > 4 {1156+ uniq = uniq[:4]1157+ }1158+ for _, u := range uniq {1159+ clash := false1160+ for _, c := range u.Cells() {1161+ li := c[1]*W + c[0]1162+ id := gid(c[0], c[1])1163+ _, given := m.seamGivens[id]1164+ _, own := ownSeam[li]1165+ if protect[li] || m.used[id] || given || own || g.junction[li] {1166+ clash = true1167+ }1168+ }1169+ if clash {1170+ continue1171+ }1172+ for _, c := range u.Cells() {1173+ protect[c[1]*W+c[0]] = true1174+ }1175+ if addSeamClues() {1176+ break1177+ }1178+ for _, c := range u.Cells() {1179+ delete(protect, c[1]*W+c[0])1180+ }1181+ }1182+ puzzle := build()1183+ blanks := 01184+ var removable []int1185+ for i, v := range puzzle {1186+ if !g.mask[i] {1187+ continue1188+ }1189+ if v == rules.Empty {1190+ blanks++1191+ } else if !g.shared[i] {1192+ removable = append(removable, i)1193+ }1194+ }1195+ count := func(lim int) int { return countPT(puzzle, g.sh, lim) }1196+ rng.Shuffle(len(removable), func(a, b int) { removable[a], removable[b] = removable[b], removable[a] })1197+ pol := PolicyFor(g.cells)1198+ target := int(pol.BlankMax * float64(g.cells))1199+ for _, i := range removable {1200+ if blanks >= target {1201+ break1202+ }1203+ if ctx.Err() != nil {1204+ return nil, ctx.Err()1205+ }1206+ saved := puzzle[i]1207+ puzzle[i] = rules.Empty1208+ t := rules.Single(g.sh, append([]rules.Cell(nil), puzzle...))1209+ t.Propagate(rules.All, 0)1210+ if t.Cells[i] == saved {1211+ blanks++1212+ continue1213+ }1214+ if count(M+1) > M {1215+ puzzle[i] = saved1216+ continue1217+ }1218+ blanks++1219+ }1220+ blank := float64(blanks) / float64(g.cells)1221+ if blank < pol.BlankMin {1222+ return nil, fmt.Errorf("only %.0f%% blank", blank*100)1223+ }1224+ sols, exhausted := solutionsPT(puzzle, g.sh, M+1)1225+ if !exhausted {1226+ return nil, errors.New("solution count over budget")1227+ }1228+ if len(sols) < 2 || len(sols) > M {1229+ return nil, fmt.Errorf("%d solutions alone", len(sols))1230+ }1231+ // every alternative must differ inside some pin-eligible overlap1232+ flat := make([]rules.Cell, len(g.mask))1233+ for ly := 0; ly < g.H; ly++ {1234+ copy(flat[ly*W:(ly+1)*W], S[ly])1235+ }1236+ pins := map[int]bool{}1237+ for _, s := range sols {1238+ d := rules.Diff(flat, s)1239+ if len(d) == 0 {1240+ continue1241+ }1242+ touched := false1243+ for _, i := range d {1244+ for _, oi := range g.regsAt[i] {1245+ pins[oi] = true1246+ touched = true1247+ }1248+ }1249+ if !touched {1250+ return nil, errors.New("an alternative solution differs inside no overlap region")1251+ }1252+ }1253+ // technique checks on the pinned puzzle (every shared cell fixed)1254+ pinned := append([]rules.Cell(nil), puzzle...)1255+ for i := range pinned {1256+ if g.mask[i] && g.shared[i] {1257+ pinned[i] = S[i/W][i%W]1258+ }1259+ }1260+ rating := rules.Single(g.sh, append([]rules.Cell(nil), pinned...)).Ladder(12)1261+ needsBif := rating.UsedBifurcation1262+ noUnique, _ := sat.Count(pinned, g.sh, rules.Run|rules.Balance, 2)1263+ needsUnique := noUnique >= 21264+ if pol.NeedsBifurcation && !needsBif {1265+ return nil, errors.New("pinned tile falls to propagation alone")1266+ }1267+ if pol.NeedsUnique && !needsUnique {1268+ return nil, errors.New("pinned tile is unique without the uniqueness constraint")1269+ }1270+ if one, ok := solutionsPT(pinned, g.sh, 2); !ok || len(one) != 1 {1271+ return nil, errors.New("pinned tile is not unique (bug)")1272+ }1273+1274+ tw := &tileWork{id: ti, sols: sols}1275+ tw.public = TilePublic{ID: ti, X0: g.sh.X0, Y0: g.sh.Y0, W: g.W, H: g.H, Rects: g.sh.Rects, Cells: g.cells, M: len(sols), Overlaps: []OverlapPublic{}, Pins: []int{}}1276+ for oi, o := range g.overlaps {1277+ tw.public.Overlaps = append(tw.public.Overlaps, OverlapPublic{With: o.With, Cells: o.Cells})1278+ if pins[oi] {1279+ tw.public.Pins = append(tw.public.Pins, oi)1280+ }1281+ }1282+ tw.private = TilePrivate{ID: ti, Blank: blank, NeedsUnique: needsUnique, NeedsBifurcation: needsBif, Flip: []int{},1283+ Ladder: Ladder{UsedUnique: rating.UsedUnique, UsedBifurcation: rating.UsedBifurcation, Bifurcations: rating.Bifurcations, Complete: rating.Complete}}1284+ if planted {1285+ for _, c := range r.Cells() {1286+ tw.private.Flip = append(tw.private.Flip, gid(c[0], c[1]))1287+ }1288+ }1289+ tw.interior = make([]rules.Cell, len(g.mask))1290+ for i, v := range puzzle {1291+ if !g.mask[i] || g.shared[i] {1292+ tw.interior[i] = rules.Empty1293+ } else {1294+ tw.interior[i] = v1295+ }1296+ }1297+ for i := range protect {1298+ tw.protect = append(tw.protect, gid(i%W, i/W))1299+ }1300+ tw.ownSeamValue = map[int]rules.Cell{}1301+ for i, v := range ownSeam {1302+ id := gid(i%W, i/W)1303+ tw.ownSeam = append(tw.ownSeam, id)1304+ tw.ownSeamValue[id] = v1305+ }1306+ sort.Ints(tw.protect)1307+ sort.Ints(tw.ownSeam)1308+ for i, v := range puzzle {1309+ if g.mask[i] && v != rules.Empty {1310+ tw.private.Givens = append(tw.private.Givens, [2]int{gid(i%W, i/W), int(v)})1311+ }1312+ }1313+ return tw, nil1314+}1315+1316+// tileWithoutWitness finds a tile some alternative of which is not refuted1317+// by any neighbour that is unanimous on a shared cell where the alternative1318+// differs from the solution. Returns -1 if every tile has a witness.1319+func (m *mosaic) tileWithoutWitness(tiles []*tileWork) int {1320+ unanimous := func(t *tileWork, gx, gy int) bool {1321+ g := m.geom[t.id]1322+ i := (gy-g.sh.Y0)*g.W + (gx - g.sh.X0)1323+ v := t.sols[0][i]1324+ for _, s := range t.sols[1:] {1325+ if s[i] != v {1326+ return false1327+ }1328+ }1329+ return v == m.global.At(gx, gy)1330+ }1331+ for ti, t := range tiles {1332+ g := m.geom[ti]1333+ f := g.sh.Local(m.global.Cells, m.G)1334+ for _, s := range t.sols {1335+ d := rules.Diff(f, s)1336+ if len(d) == 0 {1337+ continue1338+ }1339+ witness := false1340+ for _, i := range d {1341+ gx, gy := g.sh.X0+i%g.W, g.sh.Y0+i/g.W1342+ for _, ui := range m.owners[m.global.Idx(gx, gy)] {1343+ if ui != ti && unanimous(tiles[ui], gx, gy) {1344+ witness = true1345+ break1346+ }1347+ }1348+ if witness {1349+ break1350+ }1351+ }1352+ if !witness {1353+ return ti1354+ }1355+ }1356+ }1357+ return -11358+}
A engine/gen/gen_test.go +405 -0
@@ -0,0 +1,405 @@
1+package gen2+3+import (4+ "context"5+ "encoding/json"6+ "os"7+ "testing"8+9+ "mosaic-engine/pack"10+ "mosaic-engine/rules"11+ "mosaic-engine/sat"12+)13+14+func TestGenDeterministicPerSeed(t *testing.T) {15+ p := Params{Seed: "det", X: 2, N: 8}16+ a, err := Generate(context.Background(), p)17+ if err != nil {18+ t.Fatal(err)19+ }20+ b, err := Generate(context.Background(), p)21+ if err != nil {22+ t.Fatal(err)23+ }24+ a.Stats, b.Stats = Stats{}, Stats{}25+ ja, _ := json.Marshal(a)26+ jb, _ := json.Marshal(b)27+ if string(ja) != string(jb) {28+ t.Fatal("same seed produced different mosaics")29+ }30+ c, err := Generate(context.Background(), Params{Seed: "det2", X: 2, N: 8})31+ if err != nil {32+ t.Fatal(err)33+ }34+ if c.Solution[0] == a.Solution[0] && c.Solution[1] == a.Solution[1] {35+ t.Fatal("different seeds produced the same solution")36+ }37+}38+39+// checkAssertions re-verifies every per-tile and whole-mosaic assertion from40+// the emitted JSON alone, independently of the generator's own bookkeeping.41+func checkAssertions(t *testing.T, o *Output) {42+ t.Helper()43+ man := o.Manifest44+ G := man.G45+ if man.Version != 3 || len(o.Solution) != G {46+ t.Fatalf("bad manifest version %d or rows %d", man.Version, len(o.Solution))47+ }48+ if len(o.Tiles) != len(man.Tiles) {49+ t.Fatalf("%d private tiles for %d public", len(o.Tiles), len(man.Tiles))50+ }51+ board := rules.NewBoard(G, G)52+ shapes := make([]rules.Shape, len(man.Tiles))53+ masks := make([][]bool, len(man.Tiles))54+ owners := make([][]int, G*G)55+ for i, tp := range man.Tiles {56+ if tp.ID != i {57+ t.Fatalf("tile %d out of order", i)58+ }59+ shapes[i] = rules.Shape{X0: tp.X0, Y0: tp.Y0, W: tp.W, H: tp.H, Rects: tp.Rects}60+ if err := shapes[i].Valid(); err != nil {61+ t.Fatalf("tile %d: %v", i, err)62+ }63+ if tp.X0 < 0 || tp.Y0 < 0 || tp.X0+tp.W > G || tp.Y0+tp.H > G {64+ t.Fatalf("tile %d outside the field", i)65+ }66+ masks[i] = shapes[i].Mask()67+ if c := shapes[i].Cells(); c != tp.Cells {68+ t.Fatalf("tile %d: %d cells, manifest says %d", i, c, tp.Cells)69+ }70+ board.Shapes = append(board.Shapes, shapes[i])71+ for li, ok := range masks[i] {72+ if ok {73+ id := (tp.Y0+li/tp.W)*G + tp.X0 + li%tp.W74+ owners[id] = append(owners[id], i)75+ }76+ }77+ }78+ for y, row := range o.Solution {79+ if len(row) != G {80+ t.Fatalf("row %d has %d cells", y, len(row))81+ }82+ for x, ch := range row {83+ id := y*G + x84+ switch ch {85+ case '.':86+ if len(owners[id]) != 0 {87+ t.Fatalf("owned cell %d is a hole in the solution", id)88+ }89+ case '0', '1':90+ if len(owners[id]) == 0 {91+ t.Fatalf("unowned cell %d has a value", id)92+ }93+ board.Cells[id] = rules.Cell(ch - '0')94+ default:95+ t.Fatalf("bad solution char %q", ch)96+ }97+ }98+ }99+ if err := board.Validate(rules.All); err != nil {100+ t.Fatal(err)101+ }102+ if !board.Complete() {103+ t.Fatal("solution incomplete on some tile")104+ }105+ // overlap cell sets from the masks; pin-eligible when >= MinLine cells106+ overlapCells := func(a, b int) []int {107+ var out []int108+ sa := shapes[a]109+ for li, ok := range masks[a] {110+ if !ok {111+ continue112+ }113+ gx, gy := sa.X0+li%sa.W, sa.Y0+li/sa.W114+ if shapes[b].Contains(gx, gy) {115+ out = append(out, li)116+ }117+ }118+ return out119+ }120+ sols := make([]rules.TileSolutions, len(man.Tiles))121+ seamGiven := map[int][]int{}122+ for i, tp := range man.Tiles {123+ priv := o.Tiles[i]124+ sh := shapes[i]125+ if tp.M < 2 || tp.M > pack.MFor(tp.Cells) {126+ t.Fatalf("tile %d m=%d for %d cells", i, tp.M, tp.Cells)127+ }128+ cells := make([]rules.Cell, tp.W*tp.H)129+ for j := range cells {130+ cells[j] = rules.Empty131+ }132+ regions := map[int][]int{} // overlap index -> local cells133+ onRegion := make([]bool, tp.W*tp.H)134+ for oi, ov := range tp.Overlaps {135+ oc := overlapCells(i, ov.With)136+ if len(oc) != ov.Cells {137+ t.Fatalf("tile %d overlap %d with %d: %d shared cells, manifest says %d", i, oi, ov.With, len(oc), ov.Cells)138+ }139+ if ov.Cells >= pack.MinLine {140+ regions[oi] = oc141+ for _, li := range oc {142+ onRegion[li] = true143+ }144+ }145+ }146+ for _, g := range priv.Givens {147+ gx, gy := g[0]%G, g[0]/G148+ if !sh.Contains(gx, gy) {149+ t.Fatalf("tile %d: given %d outside the shape", i, g[0])150+ }151+ if len(owners[g[0]]) >= 3 {152+ t.Fatalf("tile %d: given on cell %d with %d owners", i, g[0], len(owners[g[0]]))153+ }154+ if len(owners[g[0]]) >= 2 {155+ if !man.Rules.SeamClues {156+ t.Fatalf("tile %d: shared cell %d is a given but the manifest says no seam clues", i, g[0])157+ }158+ seamGiven[g[0]] = append(seamGiven[g[0]], i)159+ }160+ if int(o.Solution[gy][gx]-'0') != g[1] {161+ t.Fatalf("tile %d: given %d disagrees with the solution", i, g[0])162+ }163+ cells[(gy-tp.Y0)*tp.W+gx-tp.X0] = rules.Cell(g[1])164+ }165+ pol := PolicyFor(tp.Cells)166+ blank := 1 - float64(len(priv.Givens))/float64(tp.Cells)167+ if blank < pol.BlankMin {168+ t.Fatalf("tile %d (%d cells): %.0f%% blank", i, tp.Cells, blank*100)169+ }170+ // re-derived from the JSON, not the generator's bookkeeping: the171+ // SAT enumerator counts; the propagation solver must agree wherever172+ // it can finish within its budget173+ sols2, _ := sat.Enumerate(cells, sh, rules.All, pack.MFor(tp.Cells)+1)174+ s := rules.TileSolutions(sols2)175+ if len(s) < 2 || len(s) > pack.MFor(tp.Cells) || len(s) != tp.M {176+ t.Fatalf("tile %d: %d solutions alone (reported %d, m=%d)", i, len(s), tp.M, pack.MFor(tp.Cells))177+ }178+ if byRules, exhausted := rules.Single(sh, append([]rules.Cell(nil), cells...)).SolutionsBudget(rules.All, pack.MFor(tp.Cells)+1, rules.DefaultBudget); exhausted && len(byRules) != len(s) {179+ t.Fatalf("tile %d: propagation solver finds %d solutions, SAT %d", i, len(byRules), len(s))180+ }181+ truth := sh.Local(board.Cells, G)182+ hasTruth := false183+ pinned := map[int]bool{}184+ for _, sol := range s {185+ d := rules.Diff(truth, sol)186+ if len(d) == 0 {187+ hasTruth = true188+ continue189+ }190+ touched := false191+ for _, j := range d {192+ if onRegion[j] {193+ touched = true194+ for oi, oc := range regions {195+ for _, li := range oc {196+ if li == j {197+ pinned[oi] = true198+ }199+ }200+ }201+ }202+ }203+ if !touched {204+ t.Fatalf("tile %d: an alternative differs inside no overlap region", i)205+ }206+ }207+ if !hasTruth {208+ t.Fatalf("tile %d: the solution is not among the tile's solutions", i)209+ }210+ if len(tp.Pins) == 0 {211+ t.Fatalf("tile %d: no pins", i)212+ }213+ for _, pi := range tp.Pins {214+ if pi < 0 || pi >= len(tp.Overlaps) || tp.Overlaps[pi].Cells < pack.MinLine {215+ t.Fatalf("tile %d: pin %d is not a pin-eligible overlap", i, pi)216+ }217+ if !pinned[pi] {218+ t.Fatalf("tile %d: pin %d but no alternative differs there", i, pi)219+ }220+ }221+ if (pol.NeedsUnique && !priv.NeedsUnique) || (pol.NeedsBifurcation && !priv.NeedsBifurcation) {222+ t.Fatalf("tile %d (%d cells): needs_unique=%v needs_bifurcation=%v", i, tp.Cells, priv.NeedsUnique, priv.NeedsBifurcation)223+ }224+ if tp.Hash == "" {225+ t.Fatalf("tile %d: no hash", i)226+ }227+ sols[i] = s228+ }229+ for id, listed := range seamGiven {230+ if len(listed) != len(owners[id]) {231+ t.Fatalf("seam given %d listed by %d tiles, owned by %d", id, len(listed), len(owners[id]))232+ }233+ }234+ count, _ := rules.CoupledSolutions(shapes, sols, 2)235+ if count != 1 {236+ t.Fatalf("mosaic has %d coupled solutions", count)237+ }238+ if man.SeedTile < 0 || man.SeedTile >= len(man.Tiles) {239+ t.Fatalf("seed tile %d outside the mosaic", man.SeedTile)240+ }241+}242+243+func TestGenAssertionsSmall(t *testing.T) {244+ for _, seed := range []string{"a", "b"} {245+ o, err := Generate(context.Background(), Params{Seed: seed, X: 2, N: 8})246+ if err != nil {247+ t.Fatal(err)248+ }249+ checkAssertions(t, o)250+ }251+ o, err := Generate(context.Background(), Params{Seed: "three", X: 3, N: 8})252+ if err != nil {253+ t.Fatal(err)254+ }255+ checkAssertions(t, o)256+}257+258+func TestGenPacked(t *testing.T) {259+ for _, kind := range []string{"bands", "big-first"} {260+ o, err := Generate(context.Background(), Params{Seed: "packed", G: 30, Kind: kind})261+ if err != nil {262+ t.Fatalf("%s: %v", kind, err)263+ }264+ checkAssertions(t, o)265+ t.Logf("%s G=30: %d tiles, %d waves, %dms", kind, len(o.Manifest.Tiles), o.Stats.Waves, o.Stats.Ms)266+ }267+}268+269+func TestGenScatter(t *testing.T) {270+ o, err := Generate(context.Background(), Params{Seed: "scatter", G: 40, Kind: "scatter"})271+ if err != nil {272+ // a "layout tile ... parallel lines" error means the packer let a273+ // shape through that rules.Shape.Valid refuses (pigeonhole bound)274+ t.Fatal(err)275+ }276+ checkAssertions(t, o)277+ compound := 0278+ for _, tp := range o.Manifest.Tiles {279+ if len(tp.Rects) > 1 {280+ compound++281+ }282+ }283+ holes := 0284+ for _, row := range o.Solution {285+ for _, ch := range row {286+ if ch == '.' {287+ holes++288+ }289+ }290+ }291+ t.Logf("scatter G=40: %d tiles (%d compound), coverage %.2f, %d hole cells, %d waves, %d attempts, %dms",292+ len(o.Manifest.Tiles), compound, o.Layout.Coverage, holes, o.Stats.Waves, o.Stats.Attempts, o.Stats.Ms)293+ if compound == 0 {294+ t.Error("no compound (non-rectangular) tile in a scatter field")295+ }296+}297+298+func loadFixture(t *testing.T, path string) *Output {299+ t.Helper()300+ data, err := os.ReadFile(path)301+ if err != nil {302+ t.Skip("no fixture: " + err.Error())303+ }304+ var o Output305+ if err := json.Unmarshal(data, &o); err != nil {306+ t.Fatal(err)307+ }308+ if o.Manifest.Version != 3 {309+ t.Skip("fixture predates manifest v3")310+ }311+ return &o312+}313+314+// TestGenAssertionsStandard checks the shipped 2x2 n=14 fixture (PLAN item 1).315+func TestGenAssertionsStandard(t *testing.T) {316+ o := loadFixture(t, "../testdata/mosaic-2-14.json")317+ checkAssertions(t, o)318+ if len(o.Manifest.Tiles) != 4 || o.Manifest.G != 27 {319+ t.Fatalf("fixture is not a 2x2 of 14: %d tiles, G=%d", len(o.Manifest.Tiles), o.Manifest.G)320+ }321+}322+323+// TestGenAssertionsEnvelope checks the X=15 fixture when present (PLAN item 6).324+func TestGenAssertionsEnvelope(t *testing.T) {325+ o := loadFixture(t, "../testdata/mosaic-15-14.json")326+ checkAssertions(t, o)327+ if len(o.Manifest.Tiles) != 225 || o.Manifest.G != 196 {328+ t.Fatalf("fixture is not a 15x15 of 14: %d tiles, G=%d", len(o.Manifest.Tiles), o.Manifest.G)329+ }330+}331+332+// TestGenFixtureReproduces regenerates the 2x2 fixture from its seed and333+// compares byte for byte (MOSAIC_SLOW=1; ~15 s).334+func TestGenFixtureReproduces(t *testing.T) {335+ if os.Getenv("MOSAIC_SLOW") == "" {336+ t.Skip("MOSAIC_SLOW=1 to regenerate the fixture")337+ }338+ o := loadFixture(t, "../testdata/mosaic-2-14.json")339+ re, err := Generate(context.Background(), Params{Seed: "a", X: 2, N: 14})340+ if err != nil {341+ t.Fatal(err)342+ }343+ o.Stats, re.Stats = Stats{}, Stats{}344+ ja, _ := json.Marshal(o)345+ jb, _ := json.Marshal(re)346+ if string(ja) != string(jb) {347+ t.Fatal("regenerated fixture differs from the shipped one")348+ }349+}350+351+// TestFillOrder checks the most-constrained-first order on a real scatter352+// layout: a permutation, seed tile first, every later tile touches an353+// earlier one, and few fillers (<= 64 cells) are filled after all of their354+// neighbours (the regime where a small shape with most sides fixed has no355+// completion and the old id order looped on backjumps for minutes).356+func TestFillOrder(t *testing.T) {357+ L, err := pack.Pack(pack.Params{Seed: "a|order", G: 60, Kind: "scatter"})358+ if err != nil {359+ t.Fatal(err)360+ }361+ m := newMosaic(Params{Seed: "a", Nonce: "order", G: 60, Kind: "scatter"}, L)362+ if len(m.order) != len(L.Tiles) {363+ t.Fatalf("order has %d entries for %d tiles", len(m.order), len(L.Tiles))364+ }365+ if m.order[0] != L.SeedTile {366+ t.Fatalf("order starts at %d, seed tile is %d", m.order[0], L.SeedTile)367+ }368+ seen := map[int]bool{}369+ late, fillers := 0, 0370+ for pos, id := range m.order {371+ if seen[id] {372+ t.Fatalf("tile %d twice in the order", id)373+ }374+ seen[id] = true375+ g := m.geom[id]376+ if g.rank != pos {377+ t.Fatalf("tile %d rank %d at position %d", id, g.rank, pos)378+ }379+ if pos > 0 && len(g.deps) == 0 {380+ t.Fatalf("tile %d at position %d shares no cell with an earlier tile", id, pos)381+ }382+ for _, d := range g.deps {383+ if m.geom[d].rank >= g.rank {384+ t.Fatalf("tile %d depends on %d, which is later", id, d)385+ }386+ }387+ nbs := L.Neighbours(id)388+ last := len(nbs) >= 3389+ for _, nb := range nbs {390+ if m.geom[nb].rank > g.rank {391+ last = false392+ }393+ }394+ if g.cells <= 64 {395+ fillers++396+ if last {397+ late++398+ }399+ }400+ }401+ t.Logf("%d of %d fillers are filled after three or more neighbours", late, fillers)402+ if late*5 > fillers {403+ t.Errorf("%d of %d fillers are filled after all of their >= 3 neighbours; want under 20%%", late, fillers)404+ }405+}
A engine/judge/judge.go +108 -0
@@ -0,0 +1,108 @@
1+// Package judge classifies candidate commits as forced or guess by running2+// the rules over revealed information only: the known cells of the revealed3+// tiles, propagated to a fixpoint with optional bifurcation.4+package judge5+6+import (7+ "fmt"8+ "time"9+10+ "mosaic-engine/rules"11+)12+13+// ShapeSpec is a revealed tile: a union of rectangles (local coordinates)14+// placed at (x0, y0) on the board.15+type ShapeSpec struct {16+ X0 int `json:"x0"`17+ Y0 int `json:"y0"`18+ W int `json:"w"`19+ H int `json:"h"`20+ Rects [][4]int `json:"rects"`21+}22+23+type Input struct {24+ G int `json:"G"`25+ Shapes []ShapeSpec `json:"shapes"` // revealed tiles26+ Known [][2]int `json:"known"` // [global id, value]27+ Candidates [][2]int `json:"candidates"` // [global id, value]28+ Depth int `json:"depth"`29+}30+31+type Result struct {32+ ID int `json:"id"`33+ V int `json:"v"`34+ Class string `json:"class"` // forced | guess | contradiction | known35+ Rules []string `json:"rules"`36+}37+38+type Output struct {39+ Ms float64 `json:"ms"`40+ Results []Result `json:"results"`41+ Steps int `json:"steps"`42+}43+44+func Judge(in Input) (*Output, error) {45+ start := time.Now()46+ if in.G < 4 {47+ return nil, fmt.Errorf("bad size G=%d", in.G)48+ }49+ b := rules.NewBoard(in.G, in.G)50+ for _, w := range in.Shapes {51+ sh := rules.Shape{X0: w.X0, Y0: w.Y0, W: w.W, H: w.H, Rects: w.Rects}52+ if w.X0 < 0 || w.Y0 < 0 || w.X0+w.W > in.G || w.Y0+w.H > in.G {53+ return nil, fmt.Errorf("shape at (%d,%d) %dx%d outside the %dx%d board", w.X0, w.Y0, w.W, w.H, in.G, in.G)54+ }55+ if err := sh.Valid(); err != nil {56+ return nil, fmt.Errorf("shape at (%d,%d): %w", w.X0, w.Y0, err)57+ }58+ b.Shapes = append(b.Shapes, sh)59+ }60+ for _, k := range in.Known {61+ if k[0] < 0 || k[0] >= in.G*in.G || k[1] < 0 || k[1] > 1 {62+ return nil, fmt.Errorf("bad known cell %v", k)63+ }64+ b.Cells[k[0]] = rules.Cell(k[1])65+ }66+ if err := b.Validate(rules.All); err != nil {67+ return nil, fmt.Errorf("known cells violate rules: %w", err)68+ }69+ known := map[int]rules.Cell{}70+ for _, k := range in.Known {71+ known[k[0]] = rules.Cell(k[1])72+ }73+ steps, ok := b.Propagate(rules.All, in.Depth)74+ if !ok {75+ return nil, fmt.Errorf("known cells lead to a contradiction")76+ }77+ forced := map[int]rules.Step{}78+ for _, s := range steps {79+ forced[b.Idx(s.X, s.Y)] = s80+ }81+ out := &Output{Steps: len(steps)}82+ for _, c := range in.Candidates {83+ if c[0] < 0 || c[0] >= in.G*in.G || c[1] < 0 || c[1] > 1 {84+ return nil, fmt.Errorf("bad candidate %v", c)85+ }86+ r := Result{ID: c[0], V: c[1], Rules: []string{}}87+ if v, isKnown := known[c[0]]; isKnown {88+ r.Rules = []string{"seam"}89+ if v == rules.Cell(c[1]) {90+ r.Class = "known"91+ } else {92+ r.Class = "contradiction"93+ }94+ } else if s, isForced := forced[c[0]]; isForced {95+ r.Rules = s.Rules96+ if s.V == rules.Cell(c[1]) {97+ r.Class = "forced"98+ } else {99+ r.Class = "contradiction"100+ }101+ } else {102+ r.Class = "guess"103+ }104+ out.Results = append(out.Results, r)105+ }106+ out.Ms = float64(time.Since(start).Microseconds()) / 1000107+ return out, nil108+}
A engine/judge/judge_test.go +185 -0
@@ -0,0 +1,185 @@
1+package judge2+3+import (4+ "context"5+ "encoding/json"6+ "os"7+ "testing"8+ "time"9+10+ "mosaic-engine/gen"11+ "mosaic-engine/rules"12+)13+14+func generate(t *testing.T, X, n int) *gen.Output {15+ t.Helper()16+ out, err := gen.Generate(context.Background(), gen.Params{Seed: "judge-test", X: X, N: n})17+ if err != nil {18+ t.Fatal(err)19+ }20+ return out21+}22+23+func fixture(t *testing.T) *gen.Output {24+ t.Helper()25+ data, err := os.ReadFile("../testdata/mosaic-2-14.json")26+ if err != nil {27+ t.Skip("no 14x14 fixture: " + err.Error())28+ }29+ var o gen.Output30+ if err := json.Unmarshal(data, &o); err != nil {31+ t.Fatal(err)32+ }33+ if o.Manifest.Version != 3 {34+ t.Skip("fixture predates manifest v3")35+ }36+ return &o37+}38+39+// pinnedInput builds the referee's view of one revealed tile: its givens plus40+// every cell it shares with another tile fixed (as if all neighbours were41+// solved).42+func pinnedInput(o *gen.Output, i int, depth int) Input {43+ G := o.Manifest.G44+ tp := o.Manifest.Tiles[i]45+ in := Input{G: G, Shapes: []ShapeSpec{{X0: tp.X0, Y0: tp.Y0, W: tp.W, H: tp.H, Rects: tp.Rects}}, Depth: depth}46+ seen := map[int]bool{}47+ for _, g := range o.Tiles[i].Givens {48+ in.Known = append(in.Known, g)49+ seen[g[0]] = true50+ }51+ sh := rules.Shape{X0: tp.X0, Y0: tp.Y0, W: tp.W, H: tp.H, Rects: tp.Rects}52+ for ly := 0; ly < tp.H; ly++ {53+ for lx := 0; lx < tp.W; lx++ {54+ gx, gy := tp.X0+lx, tp.Y0+ly55+ if !sh.Contains(gx, gy) {56+ continue57+ }58+ id := gy*G + gx59+ shared := false60+ for _, other := range o.Manifest.Tiles {61+ osh := rules.Shape{X0: other.X0, Y0: other.Y0, W: other.W, H: other.H, Rects: other.Rects}62+ if other.ID != i && osh.Contains(gx, gy) {63+ shared = true64+ }65+ }66+ if shared && !seen[id] {67+ in.Known = append(in.Known, [2]int{id, int(o.Solution[gy][gx] - '0')})68+ seen[id] = true69+ }70+ }71+ }72+ return in73+}74+75+func TestJudgeClassifiesForcedGuessContradiction(t *testing.T) {76+ // n = 12 is the smallest size the policy holds to the hard standard77+ // (needs a bifurcation), so a pinned tile still has guess cells at78+ // depth 0; fillers (n <= 8) may be fully forced once pinned79+ o := generate(t, 2, 12)80+ in := pinnedInput(o, 0, 0)81+ G := o.Manifest.G82+ tp := o.Manifest.Tiles[0]83+ known := map[int]bool{}84+ for _, k := range in.Known {85+ known[k[0]] = true86+ }87+ sh := rules.Shape{X0: tp.X0, Y0: tp.Y0, W: tp.W, H: tp.H, Rects: tp.Rects}88+ for ly := 0; ly < tp.H; ly++ {89+ for lx := 0; lx < tp.W; lx++ {90+ id := (tp.Y0+ly)*G + tp.X0 + lx91+ if known[id] || !sh.Contains(tp.X0+lx, tp.Y0+ly) {92+ continue93+ }94+ v := int(o.Solution[tp.Y0+ly][tp.X0+lx] - '0')95+ in.Candidates = append(in.Candidates, [2]int{id, v}, [2]int{id, 1 - v})96+ }97+ }98+ out, err := Judge(in)99+ if err != nil {100+ t.Fatal(err)101+ }102+ forced, guess := 0, 0103+ for i := 0; i < len(out.Results); i += 2 {104+ right, wrong := out.Results[i], out.Results[i+1]105+ switch right.Class {106+ case "forced":107+ forced++108+ if len(right.Rules) == 0 || wrong.Class != "contradiction" {109+ t.Fatalf("cell %d: %+v / %+v", right.ID, right, wrong)110+ }111+ case "guess":112+ guess++113+ if wrong.Class != "guess" {114+ t.Fatalf("cell %d: right is guess but wrong value is %s", right.ID, wrong.Class)115+ }116+ default:117+ t.Fatalf("cell %d: unexpected class %s", right.ID, right.Class)118+ }119+ }120+ if forced == 0 || guess == 0 {121+ t.Fatalf("want both forced and guess cells on a pinned hard tile, got forced=%d guess=%d", forced, guess)122+ }123+ t.Logf("forced=%d guess=%d steps=%d in %.2fms", forced, guess, out.Steps, out.Ms)124+}125+126+func TestJudgeKnownCells(t *testing.T) {127+ o := generate(t, 2, 8)128+ in := pinnedInput(o, 0, 0)129+ k := in.Known[0]130+ in.Candidates = [][2]int{k, {k[0], 1 - k[1]}}131+ out, err := Judge(in)132+ if err != nil {133+ t.Fatal(err)134+ }135+ if out.Results[0].Class != "known" || out.Results[0].Rules[0] != "seam" {136+ t.Fatalf("known cell: %+v", out.Results[0])137+ }138+ if out.Results[1].Class != "contradiction" {139+ t.Fatalf("wrong value on a known cell: %+v", out.Results[1])140+ }141+}142+143+// TestJudgeUnder50msAt14 is PLAN item 2: a batch at n=14 judged in under144+// 50 ms with depth 0, over all four revealed tiles of a 2x2 mosaic.145+func TestJudgeUnder50msAt14(t *testing.T) {146+ o := fixture(t)147+ G := o.Manifest.G148+ in := Input{G: G, Depth: 0}149+ seen := map[int]bool{}150+ for i, tp := range o.Manifest.Tiles {151+ in.Shapes = append(in.Shapes, ShapeSpec{X0: tp.X0, Y0: tp.Y0, W: tp.W, H: tp.H, Rects: tp.Rects})152+ for _, g := range o.Tiles[i].Givens {153+ if !seen[g[0]] {154+ seen[g[0]] = true155+ in.Known = append(in.Known, g)156+ }157+ }158+ }159+ for id := 0; id < G*G; id++ {160+ if !seen[id] && o.Solution[id/G][id%G] != '.' {161+ in.Candidates = append(in.Candidates, [2]int{id, int(o.Solution[id/G][id%G] - '0')})162+ }163+ }164+ var worst time.Duration165+ for i := 0; i < 5; i++ {166+ t0 := time.Now()167+ out, err := Judge(in)168+ if err != nil {169+ t.Fatal(err)170+ }171+ if d := time.Since(t0); d > worst {172+ worst = d173+ }174+ if i == 0 {175+ t.Logf("%d candidates, %d steps, %.2fms", len(in.Candidates), out.Steps, out.Ms)176+ }177+ }178+ if worst > 50*time.Millisecond {179+ t.Fatalf("judge took %s, want < 50ms", worst)180+ }181+ in.Depth = 1182+ t0 := time.Now()183+ out, _ := Judge(in)184+ t.Logf("depth 1: %d steps in %s", out.Steps, time.Since(t0))185+}
A engine/main.go +118 -0
@@ -0,0 +1,118 @@
1+// mosaic-engine: pure functions over JSON. No state, no ports.2+//3+// mosaic-engine gen [--seed s --G 100 --kind scatter --coverage 0.72 --compound 0.4 | --X 2 --n 14] (or JSON params on stdin)4+// mosaic-engine judge (JSON on stdin)5+// mosaic-engine pack [--seed s --G 100 --kind scatter|grid|big-first|bands --n 14]6+// mosaic-engine version (generator version; cache key)7+package main8+9+import (10+ "context"11+ "encoding/json"12+ "flag"13+ "fmt"14+ "io"15+ "os"16+ "time"17+18+ "mosaic-engine/gen"19+ "mosaic-engine/judge"20+ "mosaic-engine/pack"21+)22+23+func main() {24+ if len(os.Args) < 2 {25+ fmt.Fprintln(os.Stderr, "usage: mosaic-engine gen|judge")26+ os.Exit(2)27+ }28+ switch os.Args[1] {29+ case "gen":30+ runGen(os.Args[2:])31+ case "judge":32+ runJudge()33+ case "pack":34+ runPack(os.Args[2:])35+ case "version":36+ fmt.Println(gen.Version)37+ default:38+ fmt.Fprintln(os.Stderr, "unknown command", os.Args[1])39+ os.Exit(2)40+ }41+}42+43+func runGen(args []string) {44+ fs := flag.NewFlagSet("gen", flag.ExitOnError)45+ seed := fs.String("seed", "", "seed string; empty reads JSON params from stdin")46+ nonce := fs.String("nonce", "", "commitment nonce (derived from seed when empty)")47+ G := fs.Int("G", 0, "cells per side (packed layouts)")48+ kind := fs.String("kind", "scatter", "scatter | grid | big-first | bands")49+ n := fs.Int("n", 14, "tile size for kind=grid (even, 6..16)")50+ X := fs.Int("X", 0, "legacy grid shorthand: X tiles per side of size n")51+ bigArea := fs.Float64("big-area", 0, "big-first: share of area placed as large tiles first")52+ coverage := fs.Float64("coverage", 0, "scatter: target share of the field covered (default 0.72)")53+ compound := fs.Float64("compound", 0, "scatter: share of drops that are unions of two rectangles (default 0.4)")54+ band := fs.Bool("band-unique", false, "reject tiles whose rows repeat within the band (grid only)")55+ timeout := fs.Duration("timeout", 30*time.Minute, "overall budget")56+ _ = fs.Parse(args)57+ p := gen.Params{Seed: *seed, Nonce: *nonce, G: *G, Kind: *kind, N: *n, X: *X, BigArea: *bigArea, Coverage: *coverage, Compound: *compound, BandUnique: *band}58+ if *seed == "" {59+ if err := json.NewDecoder(os.Stdin).Decode(&p); err != nil {60+ fail(err)61+ }62+ }63+ if p.G == 0 && p.X == 0 {64+ fail(fmt.Errorf("gen needs --G (packed) or --X with --n (grid)"))65+ }66+ ctx, cancel := context.WithTimeout(context.Background(), *timeout)67+ defer cancel()68+ out, err := gen.Generate(ctx, p)69+ if err != nil {70+ fail(err)71+ }72+ emit(out)73+}74+75+func runPack(args []string) {76+ fs := flag.NewFlagSet("pack", flag.ExitOnError)77+ seed := fs.String("seed", "a", "seed string")78+ G := fs.Int("G", 100, "cells per side")79+ kind := fs.String("kind", "scatter", "scatter | grid | big-first | bands")80+ n := fs.Int("n", 14, "tile size for kind=grid")81+ bigArea := fs.Float64("big-area", 0.45, "big-first: share of area placed as large tiles first")82+ coverage := fs.Float64("coverage", 0, "scatter: target share of the field covered (default 0.72)")83+ compound := fs.Float64("compound", 0, "scatter: share of drops that are unions of two rectangles (default 0.4)")84+ _ = fs.Parse(args)85+ L, err := pack.Pack(pack.Params{Seed: *seed, G: *G, Kind: *kind, N: *n, BigArea: *bigArea, Coverage: *coverage, Compound: *compound})86+ if err != nil {87+ fail(err)88+ }89+ emit(L)90+}91+92+func runJudge() {93+ data, err := io.ReadAll(os.Stdin)94+ if err != nil {95+ fail(err)96+ }97+ var in judge.Input98+ if err := json.Unmarshal(data, &in); err != nil {99+ fail(err)100+ }101+ out, err := judge.Judge(in)102+ if err != nil {103+ fail(err)104+ }105+ emit(out)106+}107+108+func emit(v any) {109+ enc := json.NewEncoder(os.Stdout)110+ if err := enc.Encode(v); err != nil {111+ fail(err)112+ }113+}114+115+func fail(err error) {116+ _ = json.NewEncoder(os.Stderr).Encode(map[string]string{"error": err.Error()})117+ os.Exit(1)118+}
A engine/testdata/mosaic-15-14.json +1 -0
@@ -0,0 +1 @@
1+{"manifest":{"version":3,"id":"3e47144edce6e1c6d8f489a30b2327fd04f0d32e4053e125d6e734cfbdadff75","seed_commit":"3e47144edce6e1c6d8f489a30b2327fd04f0d32e4053e125d6e734cfbdadff75","G":196,"packer":{"kind":"grid","params":{"big_area":0,"compound":0,"coverage":0,"n":14}},"m_by_n":{"10":3,"12":3,"14":3,"16":4,"6":2,"8":2},"rules":{"overlaps":true,"cross_tile":false,"seam_clues":true,"band_unique":false},"seed_tile":65,"tiles":[{"id":0,"x0":0,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"7dbdf5985747aafcf19bc5184ac2dd95bc0853f91451ce62482050033cdef16d","m":2,"overlaps":[{"with":1,"cells":14},{"with":15,"cells":14},{"with":16,"cells":1}],"pins":[0]},{"id":1,"x0":13,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"98349154afb2c7b904e192370e11b14890a7d495d96d262888c4b2362eae9689","m":3,"overlaps":[{"with":0,"cells":14},{"with":2,"cells":14},{"with":15,"cells":1},{"with":16,"cells":14},{"with":17,"cells":1}],"pins":[0,3]},{"id":2,"x0":26,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"120d98513761fa8fd09d321b117673311bf2655f0f2af9392575e14590f7b536","m":3,"overlaps":[{"with":1,"cells":14},{"with":3,"cells":14},{"with":16,"cells":1},{"with":17,"cells":14},{"with":18,"cells":1}],"pins":[0,3]},{"id":3,"x0":39,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"ce919ca0e988858ba052b0d2672cbff9de960670ccb81f7f5ca918d00ef1ad60","m":3,"overlaps":[{"with":2,"cells":14},{"with":4,"cells":14},{"with":17,"cells":1},{"with":18,"cells":14},{"with":19,"cells":1}],"pins":[3]},{"id":4,"x0":52,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"9cdff37634e3945a1b510085dc3fac9039d7e9a4eeaf1533fcfb24c031719844","m":3,"overlaps":[{"with":3,"cells":14},{"with":5,"cells":14},{"with":18,"cells":1},{"with":19,"cells":14},{"with":20,"cells":1}],"pins":[1,3]},{"id":5,"x0":65,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"3b008f776bb222598ad9beab3fb9fd22353cf93d4acddd6884d071fed00ea594","m":3,"overlaps":[{"with":4,"cells":14},{"with":6,"cells":14},{"with":19,"cells":1},{"with":20,"cells":14},{"with":21,"cells":1}],"pins":[0,3]},{"id":6,"x0":78,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"e61b9e4c004da36bf5a74c5516f6a514b294885a234d7c70df219500620aa127","m":3,"overlaps":[{"with":5,"cells":14},{"with":7,"cells":14},{"with":20,"cells":1},{"with":21,"cells":14},{"with":22,"cells":1}],"pins":[3]},{"id":7,"x0":91,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"23812b9893d134e2f5b209a3c81a65573b6e4bd3d39cb6429fa23a0e2a2ee416","m":2,"overlaps":[{"with":6,"cells":14},{"with":8,"cells":14},{"with":21,"cells":1},{"with":22,"cells":14},{"with":23,"cells":1}],"pins":[3]},{"id":8,"x0":104,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"c1b32d189e1b31159872a744e74a9894ae6980ca211ab5725ceea1d4f56700a3","m":3,"overlaps":[{"with":7,"cells":14},{"with":9,"cells":14},{"with":22,"cells":1},{"with":23,"cells":14},{"with":24,"cells":1}],"pins":[0,3]},{"id":9,"x0":117,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"1347541b26905de95f2ac9d009d44bf0d87775b9c347a10c70f2ed05c2abbd5f","m":3,"overlaps":[{"with":8,"cells":14},{"with":10,"cells":14},{"with":23,"cells":1},{"with":24,"cells":14},{"with":25,"cells":1}],"pins":[0,1,3]},{"id":10,"x0":130,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"0c50ed614b03093e4edf9430fcbd891d5f95be02584987a696eb940d0975431c","m":2,"overlaps":[{"with":9,"cells":14},{"with":11,"cells":14},{"with":24,"cells":1},{"with":25,"cells":14},{"with":26,"cells":1}],"pins":[0]},{"id":11,"x0":143,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"259c36f63e6ed8782505a2f6c9778e7f8148534939f74debf11d1742891caab0","m":3,"overlaps":[{"with":10,"cells":14},{"with":12,"cells":14},{"with":25,"cells":1},{"with":26,"cells":14},{"with":27,"cells":1}],"pins":[0]},{"id":12,"x0":156,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"eff52fd7e7c757408cd54566710a5226a25ba36a261a7658fa9e7f452f7b2610","m":3,"overlaps":[{"with":11,"cells":14},{"with":13,"cells":14},{"with":26,"cells":1},{"with":27,"cells":14},{"with":28,"cells":1}],"pins":[0]},{"id":13,"x0":169,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"4ddbb303b55bfe814a1128679fb6b4f85382c66f28f7a6c1dab58ad1a627f5eb","m":2,"overlaps":[{"with":12,"cells":14},{"with":14,"cells":14},{"with":27,"cells":1},{"with":28,"cells":14},{"with":29,"cells":1}],"pins":[0]},{"id":14,"x0":182,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"8090f72c7af3ae58fa9305e8464a5157dc3215970ed014d2108e6e8fcbaef097","m":3,"overlaps":[{"with":13,"cells":14},{"with":28,"cells":1},{"with":29,"cells":14}],"pins":[0,2]},{"id":15,"x0":0,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"c33c7895994b5fd50bf5d89d29b6c4407b676141a93fee6c922018453b5be457","m":3,"overlaps":[{"with":0,"cells":14},{"with":1,"cells":1},{"with":16,"cells":14},{"with":30,"cells":14},{"with":31,"cells":1}],"pins":[2]},{"id":16,"x0":13,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"94e722c8faf2bbc6819aa6820585c4ad809a579e3e76d09255cd15372cd25312","m":3,"overlaps":[{"with":0,"cells":1},{"with":1,"cells":14},{"with":2,"cells":1},{"with":15,"cells":14},{"with":17,"cells":14},{"with":30,"cells":1},{"with":31,"cells":14},{"with":32,"cells":1}],"pins":[4]},{"id":17,"x0":26,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"c3dbe54ace27f4fda79e9f09bb30cffbc9315fa71b93cd3d4eb1130eb5f511c8","m":3,"overlaps":[{"with":1,"cells":1},{"with":2,"cells":14},{"with":3,"cells":1},{"with":16,"cells":14},{"with":18,"cells":14},{"with":31,"cells":1},{"with":32,"cells":14},{"with":33,"cells":1}],"pins":[1,3,4,6]},{"id":18,"x0":39,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"f821bf0e85b07272e599fba336dc67794452f128b00223f4242420debef2bf01","m":3,"overlaps":[{"with":2,"cells":1},{"with":3,"cells":14},{"with":4,"cells":1},{"with":17,"cells":14},{"with":19,"cells":14},{"with":32,"cells":1},{"with":33,"cells":14},{"with":34,"cells":1}],"pins":[1,3,4,6]},{"id":19,"x0":52,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"728038b6ed6460f043c390cdd930a2de7936ef69786f2630aa769d32b02f3817","m":3,"overlaps":[{"with":3,"cells":1},{"with":4,"cells":14},{"with":5,"cells":1},{"with":18,"cells":14},{"with":20,"cells":14},{"with":33,"cells":1},{"with":34,"cells":14},{"with":35,"cells":1}],"pins":[1,4,6]},{"id":20,"x0":65,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"e69ae97ceabd40a84e5b90a4c38cad888fa29f86ceeb5275e5423606c2c6fc0b","m":3,"overlaps":[{"with":4,"cells":1},{"with":5,"cells":14},{"with":6,"cells":1},{"with":19,"cells":14},{"with":21,"cells":14},{"with":34,"cells":1},{"with":35,"cells":14},{"with":36,"cells":1}],"pins":[3,6]},{"id":21,"x0":78,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"77349841d4ea96db0e0607de6a2856cf1774d27c95648b29a0d1927e6cff2162","m":3,"overlaps":[{"with":5,"cells":1},{"with":6,"cells":14},{"with":7,"cells":1},{"with":20,"cells":14},{"with":22,"cells":14},{"with":35,"cells":1},{"with":36,"cells":14},{"with":37,"cells":1}],"pins":[1,6]},{"id":22,"x0":91,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"9890588876f9d9cd9185d14024082297ddf93d6a50f03e3509aab2fd40e12931","m":3,"overlaps":[{"with":6,"cells":1},{"with":7,"cells":14},{"with":8,"cells":1},{"with":21,"cells":14},{"with":23,"cells":14},{"with":36,"cells":1},{"with":37,"cells":14},{"with":38,"cells":1}],"pins":[4,6]},{"id":23,"x0":104,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"62c646a6ad9e3962151ab14d8b1649a7d27c11ab86921d6560d5247775417b2b","m":3,"overlaps":[{"with":7,"cells":1},{"with":8,"cells":14},{"with":9,"cells":1},{"with":22,"cells":14},{"with":24,"cells":14},{"with":37,"cells":1},{"with":38,"cells":14},{"with":39,"cells":1}],"pins":[3]},{"id":24,"x0":117,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"e2f79d8a70b2f96e45022da31628ad6d817847c4ec6a749a7a3ed69c175caa1a","m":3,"overlaps":[{"with":8,"cells":1},{"with":9,"cells":14},{"with":10,"cells":1},{"with":23,"cells":14},{"with":25,"cells":14},{"with":38,"cells":1},{"with":39,"cells":14},{"with":40,"cells":1}],"pins":[3]},{"id":25,"x0":130,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"5fa54bf8695b72cff0a169ab65389fe185b7a3bc76f2cc3a1264e7044c5b4065","m":2,"overlaps":[{"with":9,"cells":1},{"with":10,"cells":14},{"with":11,"cells":1},{"with":24,"cells":14},{"with":26,"cells":14},{"with":39,"cells":1},{"with":40,"cells":14},{"with":41,"cells":1}],"pins":[3,4]},{"id":26,"x0":143,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"03c0b6bbde50479b48ace2094d9a5406e9832c645e9713adfef4c0d34f6202ae","m":3,"overlaps":[{"with":10,"cells":1},{"with":11,"cells":14},{"with":12,"cells":1},{"with":25,"cells":14},{"with":27,"cells":14},{"with":40,"cells":1},{"with":41,"cells":14},{"with":42,"cells":1}],"pins":[3,4]},{"id":27,"x0":156,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"10ff0f98b6cef58f56babb7364aceaad33ea1996a6fd1ea7166264006db06beb","m":3,"overlaps":[{"with":11,"cells":1},{"with":12,"cells":14},{"with":13,"cells":1},{"with":26,"cells":14},{"with":28,"cells":14},{"with":41,"cells":1},{"with":42,"cells":14},{"with":43,"cells":1}],"pins":[3,4,6]},{"id":28,"x0":169,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"7a9f0aed84ad44cbed2fe054b9706b641074ea892a601388364cf15fba453bd6","m":2,"overlaps":[{"with":12,"cells":1},{"with":13,"cells":14},{"with":14,"cells":1},{"with":27,"cells":14},{"with":29,"cells":14},{"with":42,"cells":1},{"with":43,"cells":14},{"with":44,"cells":1}],"pins":[3]},{"id":29,"x0":182,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"de9746ea0c249278a0b44a6edd1998218e85f2de2c3b2a0604a0d1af6db6d2cc","m":3,"overlaps":[{"with":13,"cells":1},{"with":14,"cells":14},{"with":28,"cells":14},{"with":43,"cells":1},{"with":44,"cells":14}],"pins":[2]},{"id":30,"x0":0,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"6423e98b8791a8faa7604d1a2d9f90cb576eabcc29efc6b155c45bc55f20b30c","m":3,"overlaps":[{"with":15,"cells":14},{"with":16,"cells":1},{"with":31,"cells":14},{"with":45,"cells":14},{"with":46,"cells":1}],"pins":[2,3]},{"id":31,"x0":13,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"5194b08505599a7889a4407ded566b2ec8204e4ae5138c093d90bc6b5a905dc7","m":3,"overlaps":[{"with":15,"cells":1},{"with":16,"cells":14},{"with":17,"cells":1},{"with":30,"cells":14},{"with":32,"cells":14},{"with":45,"cells":1},{"with":46,"cells":14},{"with":47,"cells":1}],"pins":[4]},{"id":32,"x0":26,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"39ca1039bdf4bde526d4160ff0034f809e6841050ff172383b8d3c3fe81af1c2","m":3,"overlaps":[{"with":16,"cells":1},{"with":17,"cells":14},{"with":18,"cells":1},{"with":31,"cells":14},{"with":33,"cells":14},{"with":46,"cells":1},{"with":47,"cells":14},{"with":48,"cells":1}],"pins":[4]},{"id":33,"x0":39,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"0e205486a85bdcedd75df056479eb216ae77040e92b3ac9b7b0211355d9d2566","m":3,"overlaps":[{"with":17,"cells":1},{"with":18,"cells":14},{"with":19,"cells":1},{"with":32,"cells":14},{"with":34,"cells":14},{"with":47,"cells":1},{"with":48,"cells":14},{"with":49,"cells":1}],"pins":[1,3,4,6]},{"id":34,"x0":52,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"20d8d384e9fcd62f0ef9fc9c389e1ee128d33f741c3e355b54e9a6dda3895d23","m":3,"overlaps":[{"with":18,"cells":1},{"with":19,"cells":14},{"with":20,"cells":1},{"with":33,"cells":14},{"with":35,"cells":14},{"with":48,"cells":1},{"with":49,"cells":14},{"with":50,"cells":1}],"pins":[1,3,6]},{"id":35,"x0":65,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"eb9b3c3c5c39074c338225d4e7420bf07ef817a0ae75c218eef2bfef1a19fa67","m":3,"overlaps":[{"with":19,"cells":1},{"with":20,"cells":14},{"with":21,"cells":1},{"with":34,"cells":14},{"with":36,"cells":14},{"with":49,"cells":1},{"with":50,"cells":14},{"with":51,"cells":1}],"pins":[1,6]},{"id":36,"x0":78,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"75a767bdc8698b12e0201fe6afb0e1c84c6331c7fb694836f4d653b972265d92","m":3,"overlaps":[{"with":20,"cells":1},{"with":21,"cells":14},{"with":22,"cells":1},{"with":35,"cells":14},{"with":37,"cells":14},{"with":50,"cells":1},{"with":51,"cells":14},{"with":52,"cells":1}],"pins":[6]},{"id":37,"x0":91,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"6a69178c0d8a5ae28ffa3fc332d836614c35cd429d58ef5b143e8abe2d0f6b67","m":3,"overlaps":[{"with":21,"cells":1},{"with":22,"cells":14},{"with":23,"cells":1},{"with":36,"cells":14},{"with":38,"cells":14},{"with":51,"cells":1},{"with":52,"cells":14},{"with":53,"cells":1}],"pins":[3,4]},{"id":38,"x0":104,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"ed003dc7df5524f5cc25e64ee2fd4b8d76db21fe8d00053a43295746a3014733","m":2,"overlaps":[{"with":22,"cells":1},{"with":23,"cells":14},{"with":24,"cells":1},{"with":37,"cells":14},{"with":39,"cells":14},{"with":52,"cells":1},{"with":53,"cells":14},{"with":54,"cells":1}],"pins":[3]},{"id":39,"x0":117,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"a191f1abc2036d8f79bbca0a92ac5b49ada8441bdc21363d2b4979b70b09f3e0","m":3,"overlaps":[{"with":23,"cells":1},{"with":24,"cells":14},{"with":25,"cells":1},{"with":38,"cells":14},{"with":40,"cells":14},{"with":53,"cells":1},{"with":54,"cells":14},{"with":55,"cells":1}],"pins":[3,4,6]},{"id":40,"x0":130,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"397fea11503fd28ff0964f3b6930d4afd5e64c8e8c639b0e3d81b12479eec776","m":3,"overlaps":[{"with":24,"cells":1},{"with":25,"cells":14},{"with":26,"cells":1},{"with":39,"cells":14},{"with":41,"cells":14},{"with":54,"cells":1},{"with":55,"cells":14},{"with":56,"cells":1}],"pins":[3]},{"id":41,"x0":143,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"aae08d23b098ac94b42246a43ccab8622b88b184bd114183060aa3f89c641c9f","m":3,"overlaps":[{"with":25,"cells":1},{"with":26,"cells":14},{"with":27,"cells":1},{"with":40,"cells":14},{"with":42,"cells":14},{"with":55,"cells":1},{"with":56,"cells":14},{"with":57,"cells":1}],"pins":[1,3]},{"id":42,"x0":156,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"7d932edc8cb662f78da288ae552b358216f581a76c10add212aa44b8eecb5e05","m":3,"overlaps":[{"with":26,"cells":1},{"with":27,"cells":14},{"with":28,"cells":1},{"with":41,"cells":14},{"with":43,"cells":14},{"with":56,"cells":1},{"with":57,"cells":14},{"with":58,"cells":1}],"pins":[1,3,4]},{"id":43,"x0":169,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"1e73be66c7a325cdd15fbc264e4eaa17ad609b6945876229575de5e72f626159","m":3,"overlaps":[{"with":27,"cells":1},{"with":28,"cells":14},{"with":29,"cells":1},{"with":42,"cells":14},{"with":44,"cells":14},{"with":57,"cells":1},{"with":58,"cells":14},{"with":59,"cells":1}],"pins":[3,4]},{"id":44,"x0":182,"y0":26,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"931e19a784fa5b1c1e8e604be4b6eb994d8c4eeaa901895efab03327e9de1ea7","m":2,"overlaps":[{"with":28,"cells":1},{"with":29,"cells":14},{"with":43,"cells":14},{"with":58,"cells":1},{"with":59,"cells":14}],"pins":[2]},{"id":45,"x0":0,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"51e7b2ca3da2e951f279b56ec722c5a1bc30835e19548d2234e931249e83cd31","m":3,"overlaps":[{"with":30,"cells":14},{"with":31,"cells":1},{"with":46,"cells":14},{"with":60,"cells":14},{"with":61,"cells":1}],"pins":[0,2]},{"id":46,"x0":13,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"f0802dc3124cc6b5e865d3b56b87dfee374669ac8a5fbd3a9b74cc106a27adcf","m":3,"overlaps":[{"with":30,"cells":1},{"with":31,"cells":14},{"with":32,"cells":1},{"with":45,"cells":14},{"with":47,"cells":14},{"with":60,"cells":1},{"with":61,"cells":14},{"with":62,"cells":1}],"pins":[4,6]},{"id":47,"x0":26,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"da691d986ef745d4ab3a0c98b981e7f789cc2fbace2e8fc21ef090c27cefdd5d","m":3,"overlaps":[{"with":31,"cells":1},{"with":32,"cells":14},{"with":33,"cells":1},{"with":46,"cells":14},{"with":48,"cells":14},{"with":61,"cells":1},{"with":62,"cells":14},{"with":63,"cells":1}],"pins":[4]},{"id":48,"x0":39,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"09e2dbf80924d493584c1f9e90e3fb9b586a3a34bceeb957adf977696825b960","m":3,"overlaps":[{"with":32,"cells":1},{"with":33,"cells":14},{"with":34,"cells":1},{"with":47,"cells":14},{"with":49,"cells":14},{"with":62,"cells":1},{"with":63,"cells":14},{"with":64,"cells":1}],"pins":[4]},{"id":49,"x0":52,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"adcc244977584c8c253e5ec8d850061ee675984e9412c205a812a9fda969eba6","m":3,"overlaps":[{"with":33,"cells":1},{"with":34,"cells":14},{"with":35,"cells":1},{"with":48,"cells":14},{"with":50,"cells":14},{"with":63,"cells":1},{"with":64,"cells":14},{"with":65,"cells":1}],"pins":[3,4]},{"id":50,"x0":65,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"40d487ba07b132f29bd3560552f83043776883719c0c3f642d793a8bcd2df4eb","m":3,"overlaps":[{"with":34,"cells":1},{"with":35,"cells":14},{"with":36,"cells":1},{"with":49,"cells":14},{"with":51,"cells":14},{"with":64,"cells":1},{"with":65,"cells":14},{"with":66,"cells":1}],"pins":[1,3,6]},{"id":51,"x0":78,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"a8138c382a084feacf5ed326c05ee6be0a22635736665ae634feaf9df984a3af","m":3,"overlaps":[{"with":35,"cells":1},{"with":36,"cells":14},{"with":37,"cells":1},{"with":50,"cells":14},{"with":52,"cells":14},{"with":65,"cells":1},{"with":66,"cells":14},{"with":67,"cells":1}],"pins":[4,6]},{"id":52,"x0":91,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"6859858722a17a4699eb8c3dda6012cb6f35c948ae7a8956ff1e5edd88864ecc","m":2,"overlaps":[{"with":36,"cells":1},{"with":37,"cells":14},{"with":38,"cells":1},{"with":51,"cells":14},{"with":53,"cells":14},{"with":66,"cells":1},{"with":67,"cells":14},{"with":68,"cells":1}],"pins":[1]},{"id":53,"x0":104,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"84e0309108196ad0f2fec214b344c4020a00bc216877b329ab9e5649c3f0aaf3","m":3,"overlaps":[{"with":37,"cells":1},{"with":38,"cells":14},{"with":39,"cells":1},{"with":52,"cells":14},{"with":54,"cells":14},{"with":67,"cells":1},{"with":68,"cells":14},{"with":69,"cells":1}],"pins":[3]},{"id":54,"x0":117,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"7288e325b8a98974a360e4d93224ba403330dd93524d0a37aa62ac79055eb43d","m":3,"overlaps":[{"with":38,"cells":1},{"with":39,"cells":14},{"with":40,"cells":1},{"with":53,"cells":14},{"with":55,"cells":14},{"with":68,"cells":1},{"with":69,"cells":14},{"with":70,"cells":1}],"pins":[1,3,6]},{"id":55,"x0":130,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"d09c7810e834455e117691ebd702a5dded44e74b96c108da489f86020f0b1fe3","m":3,"overlaps":[{"with":39,"cells":1},{"with":40,"cells":14},{"with":41,"cells":1},{"with":54,"cells":14},{"with":56,"cells":14},{"with":69,"cells":1},{"with":70,"cells":14},{"with":71,"cells":1}],"pins":[3]},{"id":56,"x0":143,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"80987d38630dbc811e7380128a8f6f6816b73dfcfff4209ccab1bbe0f62499a0","m":2,"overlaps":[{"with":40,"cells":1},{"with":41,"cells":14},{"with":42,"cells":1},{"with":55,"cells":14},{"with":57,"cells":14},{"with":70,"cells":1},{"with":71,"cells":14},{"with":72,"cells":1}],"pins":[3]},{"id":57,"x0":156,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"3c1666671c8b84b7dc5db80842ffb944e0f4c17314534e06be8adbe0f25f8754","m":3,"overlaps":[{"with":41,"cells":1},{"with":42,"cells":14},{"with":43,"cells":1},{"with":56,"cells":14},{"with":58,"cells":14},{"with":71,"cells":1},{"with":72,"cells":14},{"with":73,"cells":1}],"pins":[3,6]},{"id":58,"x0":169,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"75e47db438b9a9f773e167dcaba055234830ccd1ef40e0b822a98813f3ba1afc","m":3,"overlaps":[{"with":42,"cells":1},{"with":43,"cells":14},{"with":44,"cells":1},{"with":57,"cells":14},{"with":59,"cells":14},{"with":72,"cells":1},{"with":73,"cells":14},{"with":74,"cells":1}],"pins":[3,4,6]},{"id":59,"x0":182,"y0":39,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"3e529b23f4d8305fecdf36a9070f694579d271901a0256ce7e903f673d351d73","m":3,"overlaps":[{"with":43,"cells":1},{"with":44,"cells":14},{"with":58,"cells":14},{"with":73,"cells":1},{"with":74,"cells":14}],"pins":[2]},{"id":60,"x0":0,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"fd90d3643096d531971c9f4949591a0325cb31c81cf657ba6b5a0a46cce72e26","m":3,"overlaps":[{"with":45,"cells":14},{"with":46,"cells":1},{"with":61,"cells":14},{"with":75,"cells":14},{"with":76,"cells":1}],"pins":[2]},{"id":61,"x0":13,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"42c8bc35e1e9eadb119863d5a4fceccab4d81bf57af5c414bc5d0b91c6e03d34","m":3,"overlaps":[{"with":45,"cells":1},{"with":46,"cells":14},{"with":47,"cells":1},{"with":60,"cells":14},{"with":62,"cells":14},{"with":75,"cells":1},{"with":76,"cells":14},{"with":77,"cells":1}],"pins":[4]},{"id":62,"x0":26,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"5de7a9e581eb546976b7ff18266791b637198a8f8adfbac23f2ea59b1bdc3eb4","m":3,"overlaps":[{"with":46,"cells":1},{"with":47,"cells":14},{"with":48,"cells":1},{"with":61,"cells":14},{"with":63,"cells":14},{"with":76,"cells":1},{"with":77,"cells":14},{"with":78,"cells":1}],"pins":[1,3,4,6]},{"id":63,"x0":39,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"594708b461d39c99ac58a933fa1b293b21acd367ec101a980b0744f10591b8aa","m":3,"overlaps":[{"with":47,"cells":1},{"with":48,"cells":14},{"with":49,"cells":1},{"with":62,"cells":14},{"with":64,"cells":14},{"with":77,"cells":1},{"with":78,"cells":14},{"with":79,"cells":1}],"pins":[3,4]},{"id":64,"x0":52,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"bafb025f6afba1cfe31c75e0a18dadd0697ede3a7bb6ad9882e60f115eb5eba9","m":3,"overlaps":[{"with":48,"cells":1},{"with":49,"cells":14},{"with":50,"cells":1},{"with":63,"cells":14},{"with":65,"cells":14},{"with":78,"cells":1},{"with":79,"cells":14},{"with":80,"cells":1}],"pins":[4]},{"id":65,"x0":65,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"0840b0ecc829441444230b4aa4d65338be59a696bc96a4fd732ba61aa2189215","m":3,"overlaps":[{"with":49,"cells":1},{"with":50,"cells":14},{"with":51,"cells":1},{"with":64,"cells":14},{"with":66,"cells":14},{"with":79,"cells":1},{"with":80,"cells":14},{"with":81,"cells":1}],"pins":[1,6]},{"id":66,"x0":78,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"effe081f00002f914a4c6042eb5bd6bf084586318a6a4302e519cfed5b69b9ac","m":2,"overlaps":[{"with":50,"cells":1},{"with":51,"cells":14},{"with":52,"cells":1},{"with":65,"cells":14},{"with":67,"cells":14},{"with":80,"cells":1},{"with":81,"cells":14},{"with":82,"cells":1}],"pins":[3]},{"id":67,"x0":91,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"6badb9792ec0ec6611e43994f78e0c76057154d77ae18d7e84f17f89a1b5f32b","m":3,"overlaps":[{"with":51,"cells":1},{"with":52,"cells":14},{"with":53,"cells":1},{"with":66,"cells":14},{"with":68,"cells":14},{"with":81,"cells":1},{"with":82,"cells":14},{"with":83,"cells":1}],"pins":[1,3]},{"id":68,"x0":104,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"d4b3c1542313e62d891c96f6472f9841e90124b390f2893609c6d4555a98cc5f","m":3,"overlaps":[{"with":52,"cells":1},{"with":53,"cells":14},{"with":54,"cells":1},{"with":67,"cells":14},{"with":69,"cells":14},{"with":82,"cells":1},{"with":83,"cells":14},{"with":84,"cells":1}],"pins":[4,6]},{"id":69,"x0":117,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"752107571409fd3cd92d1adaa7379f43f6e90271cee6c7f96b21b519c2306111","m":3,"overlaps":[{"with":53,"cells":1},{"with":54,"cells":14},{"with":55,"cells":1},{"with":68,"cells":14},{"with":70,"cells":14},{"with":83,"cells":1},{"with":84,"cells":14},{"with":85,"cells":1}],"pins":[1,3,6]},{"id":70,"x0":130,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"ebe826cc798e20d5f88ea20aa944d8b7a02ff2f5a746df483c31cf384bdfd1ac","m":3,"overlaps":[{"with":54,"cells":1},{"with":55,"cells":14},{"with":56,"cells":1},{"with":69,"cells":14},{"with":71,"cells":14},{"with":84,"cells":1},{"with":85,"cells":14},{"with":86,"cells":1}],"pins":[1,3,6]},{"id":71,"x0":143,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"af080e94be370689e01ce78a98e6e099ae874601ca0f31ed3286c5adde38ae04","m":2,"overlaps":[{"with":55,"cells":1},{"with":56,"cells":14},{"with":57,"cells":1},{"with":70,"cells":14},{"with":72,"cells":14},{"with":85,"cells":1},{"with":86,"cells":14},{"with":87,"cells":1}],"pins":[3]},{"id":72,"x0":156,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"aacc304daf3bbb29aea54ebe23401a7188e7d517f47c7492c9e3b0fcff014476","m":3,"overlaps":[{"with":56,"cells":1},{"with":57,"cells":14},{"with":58,"cells":1},{"with":71,"cells":14},{"with":73,"cells":14},{"with":86,"cells":1},{"with":87,"cells":14},{"with":88,"cells":1}],"pins":[1,4]},{"id":73,"x0":169,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"34b8c3932a10e2d991d4e95b99212edabe444b3c219488ff0ecae897b4e5bc5a","m":3,"overlaps":[{"with":57,"cells":1},{"with":58,"cells":14},{"with":59,"cells":1},{"with":72,"cells":14},{"with":74,"cells":14},{"with":87,"cells":1},{"with":88,"cells":14},{"with":89,"cells":1}],"pins":[3,4,6]},{"id":74,"x0":182,"y0":52,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"9dd149f974eb563618267cd9b08a1728f6b92d23dd1de56c27c8a3b24d3c2a06","m":3,"overlaps":[{"with":58,"cells":1},{"with":59,"cells":14},{"with":73,"cells":14},{"with":88,"cells":1},{"with":89,"cells":14}],"pins":[1,2]},{"id":75,"x0":0,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"7d983ead45d5551d48eef6f9f6dd8607ab9bde50e843ddb2c6809dcca6265387","m":3,"overlaps":[{"with":60,"cells":14},{"with":61,"cells":1},{"with":76,"cells":14},{"with":90,"cells":14},{"with":91,"cells":1}],"pins":[0,2]},{"id":76,"x0":13,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"f9d1e4df74321d900f0293ca33d7dd2097a7ee00ebce13dc7c1bc329bb410347","m":3,"overlaps":[{"with":60,"cells":1},{"with":61,"cells":14},{"with":62,"cells":1},{"with":75,"cells":14},{"with":77,"cells":14},{"with":90,"cells":1},{"with":91,"cells":14},{"with":92,"cells":1}],"pins":[4]},{"id":77,"x0":26,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"347d7a4b9ef2e029c6abcf4086262d9e85c3c4d40ca015c0bc59fb236552bb76","m":3,"overlaps":[{"with":61,"cells":1},{"with":62,"cells":14},{"with":63,"cells":1},{"with":76,"cells":14},{"with":78,"cells":14},{"with":91,"cells":1},{"with":92,"cells":14},{"with":93,"cells":1}],"pins":[3,4]},{"id":78,"x0":39,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"7b4c87f012bdaf19fdd064ecee45e201f4322dd37674fd3c5fe8e07066c3b52c","m":2,"overlaps":[{"with":62,"cells":1},{"with":63,"cells":14},{"with":64,"cells":1},{"with":77,"cells":14},{"with":79,"cells":14},{"with":92,"cells":1},{"with":93,"cells":14},{"with":94,"cells":1}],"pins":[4]},{"id":79,"x0":52,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"bc7e8e2510e2614c79e965e1f2167db6a294ca9826c72e32a55775c747fa4639","m":3,"overlaps":[{"with":63,"cells":1},{"with":64,"cells":14},{"with":65,"cells":1},{"with":78,"cells":14},{"with":80,"cells":14},{"with":93,"cells":1},{"with":94,"cells":14},{"with":95,"cells":1}],"pins":[3]},{"id":80,"x0":65,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"de1ebfbd2298a0ae03e03c9a89843c7ca030ef2b018a2906f75587cc88f56e11","m":3,"overlaps":[{"with":64,"cells":1},{"with":65,"cells":14},{"with":66,"cells":1},{"with":79,"cells":14},{"with":81,"cells":14},{"with":94,"cells":1},{"with":95,"cells":14},{"with":96,"cells":1}],"pins":[1,6]},{"id":81,"x0":78,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"4f0fbba9e010f97d905ae597f248934d16ab9cdd40d64721eb23874299a259a4","m":2,"overlaps":[{"with":65,"cells":1},{"with":66,"cells":14},{"with":67,"cells":1},{"with":80,"cells":14},{"with":82,"cells":14},{"with":95,"cells":1},{"with":96,"cells":14},{"with":97,"cells":1}],"pins":[4]},{"id":82,"x0":91,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"d7343e86359221ace7887e7e315199aaa384105f96d10a910be9f7585e38529d","m":3,"overlaps":[{"with":66,"cells":1},{"with":67,"cells":14},{"with":68,"cells":1},{"with":81,"cells":14},{"with":83,"cells":14},{"with":96,"cells":1},{"with":97,"cells":14},{"with":98,"cells":1}],"pins":[3]},{"id":83,"x0":104,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"df21f7c40745bf0ae39116e838cf5685a87e961427d091ea9ad0ccb1765e83e5","m":3,"overlaps":[{"with":67,"cells":1},{"with":68,"cells":14},{"with":69,"cells":1},{"with":82,"cells":14},{"with":84,"cells":14},{"with":97,"cells":1},{"with":98,"cells":14},{"with":99,"cells":1}],"pins":[3,4]},{"id":84,"x0":117,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"24d45b807f894dcd5f91fb99c616cba0b6a1070e64464212366e6982ad9c13d3","m":3,"overlaps":[{"with":68,"cells":1},{"with":69,"cells":14},{"with":70,"cells":1},{"with":83,"cells":14},{"with":85,"cells":14},{"with":98,"cells":1},{"with":99,"cells":14},{"with":100,"cells":1}],"pins":[3,4]},{"id":85,"x0":130,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"2c4f46b59d98a4c9f3a903b09a635ddaa22023ba0c713fa15de90bbb362808f9","m":2,"overlaps":[{"with":69,"cells":1},{"with":70,"cells":14},{"with":71,"cells":1},{"with":84,"cells":14},{"with":86,"cells":14},{"with":99,"cells":1},{"with":100,"cells":14},{"with":101,"cells":1}],"pins":[3]},{"id":86,"x0":143,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"4dfdb1b71902fb06de5b4506c6cf45d8c0959a509c5aa75bed2590ac6662e4e6","m":3,"overlaps":[{"with":70,"cells":1},{"with":71,"cells":14},{"with":72,"cells":1},{"with":85,"cells":14},{"with":87,"cells":14},{"with":100,"cells":1},{"with":101,"cells":14},{"with":102,"cells":1}],"pins":[1,3,4]},{"id":87,"x0":156,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"03fe20efb5172ea4a31408b1e92610e3e98d0db34d5719fb17320d9698f9e1d5","m":3,"overlaps":[{"with":71,"cells":1},{"with":72,"cells":14},{"with":73,"cells":1},{"with":86,"cells":14},{"with":88,"cells":14},{"with":101,"cells":1},{"with":102,"cells":14},{"with":103,"cells":1}],"pins":[3]},{"id":88,"x0":169,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"ec08884f9f2e246b312f48d738785580622bb4250bb0d1992a8f83e7ba524634","m":3,"overlaps":[{"with":72,"cells":1},{"with":73,"cells":14},{"with":74,"cells":1},{"with":87,"cells":14},{"with":89,"cells":14},{"with":102,"cells":1},{"with":103,"cells":14},{"with":104,"cells":1}],"pins":[3]},{"id":89,"x0":182,"y0":65,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"eac3133bba1626c4476c78468a9ca03010dc9e68e09c2490d8ca3223532baa78","m":3,"overlaps":[{"with":73,"cells":1},{"with":74,"cells":14},{"with":88,"cells":14},{"with":103,"cells":1},{"with":104,"cells":14}],"pins":[1,4]},{"id":90,"x0":0,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"8402f7b11b663eb3698b33e79fed930e7ec271a534532fab6f11b18b94609eaa","m":3,"overlaps":[{"with":75,"cells":14},{"with":76,"cells":1},{"with":91,"cells":14},{"with":105,"cells":14},{"with":106,"cells":1}],"pins":[2]},{"id":91,"x0":13,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"9eb3e17366af1b8faaf2a05559d56d45b8f81ad0b03f4460c0fb481ca566c215","m":3,"overlaps":[{"with":75,"cells":1},{"with":76,"cells":14},{"with":77,"cells":1},{"with":90,"cells":14},{"with":92,"cells":14},{"with":105,"cells":1},{"with":106,"cells":14},{"with":107,"cells":1}],"pins":[1,3,4]},{"id":92,"x0":26,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"6cd5b752033b0bdbac583d1abdc31d79a90fa3208b1d4acc1cf14feaa67800e9","m":3,"overlaps":[{"with":76,"cells":1},{"with":77,"cells":14},{"with":78,"cells":1},{"with":91,"cells":14},{"with":93,"cells":14},{"with":106,"cells":1},{"with":107,"cells":14},{"with":108,"cells":1}],"pins":[1,3,4]},{"id":93,"x0":39,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"6c8e6392d719bd8a52e5cc498d3cbc76694717b08d42fa4c797da7c60cfeaf77","m":3,"overlaps":[{"with":77,"cells":1},{"with":78,"cells":14},{"with":79,"cells":1},{"with":92,"cells":14},{"with":94,"cells":14},{"with":107,"cells":1},{"with":108,"cells":14},{"with":109,"cells":1}],"pins":[1,3]},{"id":94,"x0":52,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"bf204f2f73779455f4dbcea06405b8fea3d461651d9b6b910f86a94b433f5ee6","m":3,"overlaps":[{"with":78,"cells":1},{"with":79,"cells":14},{"with":80,"cells":1},{"with":93,"cells":14},{"with":95,"cells":14},{"with":108,"cells":1},{"with":109,"cells":14},{"with":110,"cells":1}],"pins":[3,4]},{"id":95,"x0":65,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"2ac84c5eacc3e3d5923164a2e35155074ee23dad997fe71a5938306b2f87a2a2","m":3,"overlaps":[{"with":79,"cells":1},{"with":80,"cells":14},{"with":81,"cells":1},{"with":94,"cells":14},{"with":96,"cells":14},{"with":109,"cells":1},{"with":110,"cells":14},{"with":111,"cells":1}],"pins":[1,6]},{"id":96,"x0":78,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"a603dd7cc5298d74bed52b68f82b3b0e27dbf0cb5eab4737936ce26f0c43e965","m":3,"overlaps":[{"with":80,"cells":1},{"with":81,"cells":14},{"with":82,"cells":1},{"with":95,"cells":14},{"with":97,"cells":14},{"with":110,"cells":1},{"with":111,"cells":14},{"with":112,"cells":1}],"pins":[1,6]},{"id":97,"x0":91,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"bc210bc64dd8d37eb4c3e7898373b8b383b5682e6e5f5fa79a3f8cfc5cada200","m":3,"overlaps":[{"with":81,"cells":1},{"with":82,"cells":14},{"with":83,"cells":1},{"with":96,"cells":14},{"with":98,"cells":14},{"with":111,"cells":1},{"with":112,"cells":14},{"with":113,"cells":1}],"pins":[4]},{"id":98,"x0":104,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"d1343d13b00f3639d195897e1dc9d1737757e5bf0973940490346f6d38c0446a","m":3,"overlaps":[{"with":82,"cells":1},{"with":83,"cells":14},{"with":84,"cells":1},{"with":97,"cells":14},{"with":99,"cells":14},{"with":112,"cells":1},{"with":113,"cells":14},{"with":114,"cells":1}],"pins":[1,3,4]},{"id":99,"x0":117,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"1ec0dcfa90c80c0513cc1aa57ec08cdd4b64ef1307ea659d3dd17af6ce5cdde3","m":3,"overlaps":[{"with":83,"cells":1},{"with":84,"cells":14},{"with":85,"cells":1},{"with":98,"cells":14},{"with":100,"cells":14},{"with":113,"cells":1},{"with":114,"cells":14},{"with":115,"cells":1}],"pins":[3,4,6]},{"id":100,"x0":130,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"1a0278d334c5aea59fd163855e4dac1bb03c50bcfa65e98a504d6da635a1598a","m":3,"overlaps":[{"with":84,"cells":1},{"with":85,"cells":14},{"with":86,"cells":1},{"with":99,"cells":14},{"with":101,"cells":14},{"with":114,"cells":1},{"with":115,"cells":14},{"with":116,"cells":1}],"pins":[3,6]},{"id":101,"x0":143,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"0d105f3784b0da8386d9c0584a4d55d2e321369e480b6c7cbca21a38ca4a5b4b","m":3,"overlaps":[{"with":85,"cells":1},{"with":86,"cells":14},{"with":87,"cells":1},{"with":100,"cells":14},{"with":102,"cells":14},{"with":115,"cells":1},{"with":116,"cells":14},{"with":117,"cells":1}],"pins":[1,3,4]},{"id":102,"x0":156,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"f8341d85ceb4de5f5908cacc0dccaeff377a61f143fa1163b992c56c9e4a5021","m":3,"overlaps":[{"with":86,"cells":1},{"with":87,"cells":14},{"with":88,"cells":1},{"with":101,"cells":14},{"with":103,"cells":14},{"with":116,"cells":1},{"with":117,"cells":14},{"with":118,"cells":1}],"pins":[3]},{"id":103,"x0":169,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"e7a82d5853f99d63ca3459bd55eed3b4c183bf85a9c44c7b927ee86a5f076eb6","m":3,"overlaps":[{"with":87,"cells":1},{"with":88,"cells":14},{"with":89,"cells":1},{"with":102,"cells":14},{"with":104,"cells":14},{"with":117,"cells":1},{"with":118,"cells":14},{"with":119,"cells":1}],"pins":[3]},{"id":104,"x0":182,"y0":78,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"3b761874ff411a60726ce5dcaa75ba39db06c887f3774f4e9bc93fd5a923ed79","m":3,"overlaps":[{"with":88,"cells":1},{"with":89,"cells":14},{"with":103,"cells":14},{"with":118,"cells":1},{"with":119,"cells":14}],"pins":[2,4]},{"id":105,"x0":0,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"9a672f96354f120f22fb819ab079f7e4062ad4f95a780621d0a8640f147eb7a4","m":2,"overlaps":[{"with":90,"cells":14},{"with":91,"cells":1},{"with":106,"cells":14},{"with":120,"cells":14},{"with":121,"cells":1}],"pins":[2]},{"id":106,"x0":13,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"6b070dc7907e69267a20f1232d339234b6137e04a9edfe450f5c3e999a364fea","m":3,"overlaps":[{"with":90,"cells":1},{"with":91,"cells":14},{"with":92,"cells":1},{"with":105,"cells":14},{"with":107,"cells":14},{"with":120,"cells":1},{"with":121,"cells":14},{"with":122,"cells":1}],"pins":[3,4,6]},{"id":107,"x0":26,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"74be8c026f528a5213549b394c1dd834286d2e0832eaebbfe0695a5716169c1c","m":3,"overlaps":[{"with":91,"cells":1},{"with":92,"cells":14},{"with":93,"cells":1},{"with":106,"cells":14},{"with":108,"cells":14},{"with":121,"cells":1},{"with":122,"cells":14},{"with":123,"cells":1}],"pins":[3,6]},{"id":108,"x0":39,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"1c8404c5a5011c6741571fcb997899b8e22d47037e7e577aad1a62402b015290","m":2,"overlaps":[{"with":92,"cells":1},{"with":93,"cells":14},{"with":94,"cells":1},{"with":107,"cells":14},{"with":109,"cells":14},{"with":122,"cells":1},{"with":123,"cells":14},{"with":124,"cells":1}],"pins":[1]},{"id":109,"x0":52,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"09c89e9b3a2582c0d55bc2bd88ab88e1dc84c595a5ca6348e7e0067f8ef85ea0","m":3,"overlaps":[{"with":93,"cells":1},{"with":94,"cells":14},{"with":95,"cells":1},{"with":108,"cells":14},{"with":110,"cells":14},{"with":123,"cells":1},{"with":124,"cells":14},{"with":125,"cells":1}],"pins":[1,6]},{"id":110,"x0":65,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"86f60a021fef53c5b9ed63040f8372d77ea0ebfbf151a19ced05a938b9bb3c08","m":3,"overlaps":[{"with":94,"cells":1},{"with":95,"cells":14},{"with":96,"cells":1},{"with":109,"cells":14},{"with":111,"cells":14},{"with":124,"cells":1},{"with":125,"cells":14},{"with":126,"cells":1}],"pins":[1,6]},{"id":111,"x0":78,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"82717e9d1145f8b9c1ee06b8959363aa8815a9c9af07e6f05ea1a6a9385ba293","m":3,"overlaps":[{"with":95,"cells":1},{"with":96,"cells":14},{"with":97,"cells":1},{"with":110,"cells":14},{"with":112,"cells":14},{"with":125,"cells":1},{"with":126,"cells":14},{"with":127,"cells":1}],"pins":[1,6]},{"id":112,"x0":91,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"b160480940861c8c643ac593b05b762653613e53127a048bbba1689819f545f9","m":2,"overlaps":[{"with":96,"cells":1},{"with":97,"cells":14},{"with":98,"cells":1},{"with":111,"cells":14},{"with":113,"cells":14},{"with":126,"cells":1},{"with":127,"cells":14},{"with":128,"cells":1}],"pins":[1]},{"id":113,"x0":104,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"14c015fde8c413ffd4effa665540776c038d38122ccc90d2352e525266d23564","m":3,"overlaps":[{"with":97,"cells":1},{"with":98,"cells":14},{"with":99,"cells":1},{"with":112,"cells":14},{"with":114,"cells":14},{"with":127,"cells":1},{"with":128,"cells":14},{"with":129,"cells":1}],"pins":[4,6]},{"id":114,"x0":117,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"c52ad18cf3b140b6ccdf7c77da94a9dfcc27b8700a13ab7f49fe8511511220a2","m":3,"overlaps":[{"with":98,"cells":1},{"with":99,"cells":14},{"with":100,"cells":1},{"with":113,"cells":14},{"with":115,"cells":14},{"with":128,"cells":1},{"with":129,"cells":14},{"with":130,"cells":1}],"pins":[3,4]},{"id":115,"x0":130,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"8b74a9c86fdf1aec7fc194e98bf417a549cc312dac55ea7d44c0dbc1884e8c78","m":3,"overlaps":[{"with":99,"cells":1},{"with":100,"cells":14},{"with":101,"cells":1},{"with":114,"cells":14},{"with":116,"cells":14},{"with":129,"cells":1},{"with":130,"cells":14},{"with":131,"cells":1}],"pins":[3,4]},{"id":116,"x0":143,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"780563b0a0027758fcb866353e72f79f026f23823b7a37cbc79994ae4805874a","m":2,"overlaps":[{"with":100,"cells":1},{"with":101,"cells":14},{"with":102,"cells":1},{"with":115,"cells":14},{"with":117,"cells":14},{"with":130,"cells":1},{"with":131,"cells":14},{"with":132,"cells":1}],"pins":[3]},{"id":117,"x0":156,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"d47be51f6c3203438db67aeea586bbc03e7c7af9892c05bb97eb50be17fce2d8","m":3,"overlaps":[{"with":101,"cells":1},{"with":102,"cells":14},{"with":103,"cells":1},{"with":116,"cells":14},{"with":118,"cells":14},{"with":131,"cells":1},{"with":132,"cells":14},{"with":133,"cells":1}],"pins":[3]},{"id":118,"x0":169,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"3178f7b1dfaec429a5f68ad9178deebdea62c9137a21f7472b81f4cc8388c296","m":3,"overlaps":[{"with":102,"cells":1},{"with":103,"cells":14},{"with":104,"cells":1},{"with":117,"cells":14},{"with":119,"cells":14},{"with":132,"cells":1},{"with":133,"cells":14},{"with":134,"cells":1}],"pins":[3,6]},{"id":119,"x0":182,"y0":91,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"1b770f4fdc6be392f0add304086d9c563cadc947f25853218270000d7355dcc6","m":3,"overlaps":[{"with":103,"cells":1},{"with":104,"cells":14},{"with":118,"cells":14},{"with":133,"cells":1},{"with":134,"cells":14}],"pins":[1,2,4]},{"id":120,"x0":0,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"d4f102a35c80464b48ced6189c3ca8cb4a9fb24d316f189e82098710e3326f3a","m":3,"overlaps":[{"with":105,"cells":14},{"with":106,"cells":1},{"with":121,"cells":14},{"with":135,"cells":14},{"with":136,"cells":1}],"pins":[2,3]},{"id":121,"x0":13,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"8ad5963f23f92f8e41c05e250901773addc9ab307abf87d2bd0ffe5c95c03d41","m":3,"overlaps":[{"with":105,"cells":1},{"with":106,"cells":14},{"with":107,"cells":1},{"with":120,"cells":14},{"with":122,"cells":14},{"with":135,"cells":1},{"with":136,"cells":14},{"with":137,"cells":1}],"pins":[1,3,4]},{"id":122,"x0":26,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"7fb38f1fd4357411b15be6b6958bb6e86013cd55c57a332e7a338c1bfbdc6a61","m":3,"overlaps":[{"with":106,"cells":1},{"with":107,"cells":14},{"with":108,"cells":1},{"with":121,"cells":14},{"with":123,"cells":14},{"with":136,"cells":1},{"with":137,"cells":14},{"with":138,"cells":1}],"pins":[1]},{"id":123,"x0":39,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"bb08750c372982d4974b65e5827e0a565700faeeed8892e0c7277358e98c6d94","m":3,"overlaps":[{"with":107,"cells":1},{"with":108,"cells":14},{"with":109,"cells":1},{"with":122,"cells":14},{"with":124,"cells":14},{"with":137,"cells":1},{"with":138,"cells":14},{"with":139,"cells":1}],"pins":[1,6]},{"id":124,"x0":52,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"b264acb11af482d64b7948316636a6490ab5351517baffd0c0a8bd5ecd77789a","m":3,"overlaps":[{"with":108,"cells":1},{"with":109,"cells":14},{"with":110,"cells":1},{"with":123,"cells":14},{"with":125,"cells":14},{"with":138,"cells":1},{"with":139,"cells":14},{"with":140,"cells":1}],"pins":[1,4,6]},{"id":125,"x0":65,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"14e596fdea9dd7fd5d8bca02211c5ff44ee4baa7ca7d2bed75e74700b598ce09","m":3,"overlaps":[{"with":109,"cells":1},{"with":110,"cells":14},{"with":111,"cells":1},{"with":124,"cells":14},{"with":126,"cells":14},{"with":139,"cells":1},{"with":140,"cells":14},{"with":141,"cells":1}],"pins":[1,4]},{"id":126,"x0":78,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"b81d5c48b5ad8a9daa64d5d3d048307e354d452db4122d82c1e32cdc86bbf496","m":3,"overlaps":[{"with":110,"cells":1},{"with":111,"cells":14},{"with":112,"cells":1},{"with":125,"cells":14},{"with":127,"cells":14},{"with":140,"cells":1},{"with":141,"cells":14},{"with":142,"cells":1}],"pins":[1,6]},{"id":127,"x0":91,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"d92f01d351de50142ad34ad7780c14b1b8d7ae3278f21b73093b838de9059fc3","m":2,"overlaps":[{"with":111,"cells":1},{"with":112,"cells":14},{"with":113,"cells":1},{"with":126,"cells":14},{"with":128,"cells":14},{"with":141,"cells":1},{"with":142,"cells":14},{"with":143,"cells":1}],"pins":[1]},{"id":128,"x0":104,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"266b62ecacb413b0e53bc3551dc4de8acc7a7ff56a9bd710ae6ff7c95232c454","m":3,"overlaps":[{"with":112,"cells":1},{"with":113,"cells":14},{"with":114,"cells":1},{"with":127,"cells":14},{"with":129,"cells":14},{"with":142,"cells":1},{"with":143,"cells":14},{"with":144,"cells":1}],"pins":[1,4]},{"id":129,"x0":117,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"4d61475293c50f528bba80bb00622dc084e86b0149ede0b0fea1781b6b8ae301","m":3,"overlaps":[{"with":113,"cells":1},{"with":114,"cells":14},{"with":115,"cells":1},{"with":128,"cells":14},{"with":130,"cells":14},{"with":143,"cells":1},{"with":144,"cells":14},{"with":145,"cells":1}],"pins":[3,6]},{"id":130,"x0":130,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"f2423afc8471c1d4cace70235a380d0998bfb102600ecc59256aae06e8777200","m":3,"overlaps":[{"with":114,"cells":1},{"with":115,"cells":14},{"with":116,"cells":1},{"with":129,"cells":14},{"with":131,"cells":14},{"with":144,"cells":1},{"with":145,"cells":14},{"with":146,"cells":1}],"pins":[3,4,6]},{"id":131,"x0":143,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"af500755d149e5418934efdcff84a3c8b0f892e2e421383f3b17b6d19f28e871","m":3,"overlaps":[{"with":115,"cells":1},{"with":116,"cells":14},{"with":117,"cells":1},{"with":130,"cells":14},{"with":132,"cells":14},{"with":145,"cells":1},{"with":146,"cells":14},{"with":147,"cells":1}],"pins":[4]},{"id":132,"x0":156,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"50864c58751cade66adcf7787475803e9819211482c6bc230e7dc1e8c4be95f1","m":3,"overlaps":[{"with":116,"cells":1},{"with":117,"cells":14},{"with":118,"cells":1},{"with":131,"cells":14},{"with":133,"cells":14},{"with":146,"cells":1},{"with":147,"cells":14},{"with":148,"cells":1}],"pins":[3,4]},{"id":133,"x0":169,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"9cb034a2a28690f8e723d44a549e702f80bcf899d187da3abe22c605960d1543","m":3,"overlaps":[{"with":117,"cells":1},{"with":118,"cells":14},{"with":119,"cells":1},{"with":132,"cells":14},{"with":134,"cells":14},{"with":147,"cells":1},{"with":148,"cells":14},{"with":149,"cells":1}],"pins":[3]},{"id":134,"x0":182,"y0":104,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"277cf8290a57b00ab01ae53468fa41a589ba3368fa9bbae5cfca6d6921c647f3","m":3,"overlaps":[{"with":118,"cells":1},{"with":119,"cells":14},{"with":133,"cells":14},{"with":148,"cells":1},{"with":149,"cells":14}],"pins":[2]},{"id":135,"x0":0,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"d760f513390b5bc1a41d2b1d9724cbffe5b9360addea3fe776fb95bc47b4b9ec","m":2,"overlaps":[{"with":120,"cells":14},{"with":121,"cells":1},{"with":136,"cells":14},{"with":150,"cells":14},{"with":151,"cells":1}],"pins":[3]},{"id":136,"x0":13,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"bd110719f00b4a4e0063ef74f12438f940466cb9a6c77c894fa44d64e69c4e00","m":3,"overlaps":[{"with":120,"cells":1},{"with":121,"cells":14},{"with":122,"cells":1},{"with":135,"cells":14},{"with":137,"cells":14},{"with":150,"cells":1},{"with":151,"cells":14},{"with":152,"cells":1}],"pins":[1]},{"id":137,"x0":26,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"d02007cd460f208c3404e1010c4e77e776f34e33fbf026c540b1d62b24ce48f1","m":3,"overlaps":[{"with":121,"cells":1},{"with":122,"cells":14},{"with":123,"cells":1},{"with":136,"cells":14},{"with":138,"cells":14},{"with":151,"cells":1},{"with":152,"cells":14},{"with":153,"cells":1}],"pins":[4]},{"id":138,"x0":39,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"4f94cb31353bfca92f7579d125481c6a688ea47f677a38e2d375957719de5942","m":3,"overlaps":[{"with":122,"cells":1},{"with":123,"cells":14},{"with":124,"cells":1},{"with":137,"cells":14},{"with":139,"cells":14},{"with":152,"cells":1},{"with":153,"cells":14},{"with":154,"cells":1}],"pins":[1]},{"id":139,"x0":52,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"e50371e56443c923c83d300190b7b18dc42075bc6ff88bd962d013a895da94ce","m":3,"overlaps":[{"with":123,"cells":1},{"with":124,"cells":14},{"with":125,"cells":1},{"with":138,"cells":14},{"with":140,"cells":14},{"with":153,"cells":1},{"with":154,"cells":14},{"with":155,"cells":1}],"pins":[1,6]},{"id":140,"x0":65,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"00a8598c3b918b16c060f4d962248bb8c1dc10103bb95fecab5d95bcfb0be165","m":3,"overlaps":[{"with":124,"cells":1},{"with":125,"cells":14},{"with":126,"cells":1},{"with":139,"cells":14},{"with":141,"cells":14},{"with":154,"cells":1},{"with":155,"cells":14},{"with":156,"cells":1}],"pins":[1,4]},{"id":141,"x0":78,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"dd3a2b73f64bc077ad0a6ff9015fd8364a74c0aceb90c2cbf9abdaa36eea7c33","m":3,"overlaps":[{"with":125,"cells":1},{"with":126,"cells":14},{"with":127,"cells":1},{"with":140,"cells":14},{"with":142,"cells":14},{"with":155,"cells":1},{"with":156,"cells":14},{"with":157,"cells":1}],"pins":[1,6]},{"id":142,"x0":91,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"95ded2cf1c39970e8a955deefc7ebd2dcc026719093f39d91cc3ad6fbde436e4","m":3,"overlaps":[{"with":126,"cells":1},{"with":127,"cells":14},{"with":128,"cells":1},{"with":141,"cells":14},{"with":143,"cells":14},{"with":156,"cells":1},{"with":157,"cells":14},{"with":158,"cells":1}],"pins":[1,6]},{"id":143,"x0":104,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"bb50e478a5fe2b53455ed1588c994c76b8e1695220dc842eb0afa23cb11ce633","m":3,"overlaps":[{"with":127,"cells":1},{"with":128,"cells":14},{"with":129,"cells":1},{"with":142,"cells":14},{"with":144,"cells":14},{"with":157,"cells":1},{"with":158,"cells":14},{"with":159,"cells":1}],"pins":[1]},{"id":144,"x0":117,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"e89f7d56d44ccdc24e37815fbb8eb81b2f5b0d0d42f6ca31b139645bf9e64cc7","m":3,"overlaps":[{"with":128,"cells":1},{"with":129,"cells":14},{"with":130,"cells":1},{"with":143,"cells":14},{"with":145,"cells":14},{"with":158,"cells":1},{"with":159,"cells":14},{"with":160,"cells":1}],"pins":[3,4,6]},{"id":145,"x0":130,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"291bc6b528d554d5553497ecdf1d5d0ab56eba67618d678cc5d1362f71ffb94e","m":3,"overlaps":[{"with":129,"cells":1},{"with":130,"cells":14},{"with":131,"cells":1},{"with":144,"cells":14},{"with":146,"cells":14},{"with":159,"cells":1},{"with":160,"cells":14},{"with":161,"cells":1}],"pins":[1,4,6]},{"id":146,"x0":143,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"a89ec18d60f49f5c7fbd54bd69ca715ae3d270d56e09fcad374c044084fd5363","m":3,"overlaps":[{"with":130,"cells":1},{"with":131,"cells":14},{"with":132,"cells":1},{"with":145,"cells":14},{"with":147,"cells":14},{"with":160,"cells":1},{"with":161,"cells":14},{"with":162,"cells":1}],"pins":[3,6]},{"id":147,"x0":156,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"613eb3776a2e392d9f1465dcd0dd1901cf5d791358303e331504d34c5d414c92","m":3,"overlaps":[{"with":131,"cells":1},{"with":132,"cells":14},{"with":133,"cells":1},{"with":146,"cells":14},{"with":148,"cells":14},{"with":161,"cells":1},{"with":162,"cells":14},{"with":163,"cells":1}],"pins":[1,3]},{"id":148,"x0":169,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"47ba8cedbb58677b369f5bdaf3c8f0d24807a0b97234023ac6e618404c0dfd50","m":3,"overlaps":[{"with":132,"cells":1},{"with":133,"cells":14},{"with":134,"cells":1},{"with":147,"cells":14},{"with":149,"cells":14},{"with":162,"cells":1},{"with":163,"cells":14},{"with":164,"cells":1}],"pins":[3]},{"id":149,"x0":182,"y0":117,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"142568a4754673daedd74be8ff5ba19145b8f40b2d3d0ed7e4481738db734fbc","m":3,"overlaps":[{"with":133,"cells":1},{"with":134,"cells":14},{"with":148,"cells":14},{"with":163,"cells":1},{"with":164,"cells":14}],"pins":[1,2]},{"id":150,"x0":0,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"a62be599ef83833f4da640d1855ebb75a7aa2d1487ffccd806bdf79032d43ae5","m":3,"overlaps":[{"with":135,"cells":14},{"with":136,"cells":1},{"with":151,"cells":14},{"with":165,"cells":14},{"with":166,"cells":1}],"pins":[0,3]},{"id":151,"x0":13,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"8d96489d8e8f5354665e5529d3eb901fe4d0f4b88750ce34a531e2711820f1ab","m":3,"overlaps":[{"with":135,"cells":1},{"with":136,"cells":14},{"with":137,"cells":1},{"with":150,"cells":14},{"with":152,"cells":14},{"with":165,"cells":1},{"with":166,"cells":14},{"with":167,"cells":1}],"pins":[1]},{"id":152,"x0":26,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"25fefd3aa4aa369d23bf9561dd487a65bd21456517f13dc182f4e1a7b01abfd7","m":3,"overlaps":[{"with":136,"cells":1},{"with":137,"cells":14},{"with":138,"cells":1},{"with":151,"cells":14},{"with":153,"cells":14},{"with":166,"cells":1},{"with":167,"cells":14},{"with":168,"cells":1}],"pins":[1,3,4,6]},{"id":153,"x0":39,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"03f9f0db93e02d52fbe59d44f955934fd533c03c187ced1e97c431ce54d073fd","m":3,"overlaps":[{"with":137,"cells":1},{"with":138,"cells":14},{"with":139,"cells":1},{"with":152,"cells":14},{"with":154,"cells":14},{"with":167,"cells":1},{"with":168,"cells":14},{"with":169,"cells":1}],"pins":[1,6]},{"id":154,"x0":52,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"688dc9d17ac21574dce6de143f2ea07f179072e485a56fdacdc64a5e2403e35d","m":3,"overlaps":[{"with":138,"cells":1},{"with":139,"cells":14},{"with":140,"cells":1},{"with":153,"cells":14},{"with":155,"cells":14},{"with":168,"cells":1},{"with":169,"cells":14},{"with":170,"cells":1}],"pins":[1]},{"id":155,"x0":65,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"5b3d1b4a241532243042a5698c74b554f5a2bffb85438fa3ee29d879176252f0","m":3,"overlaps":[{"with":139,"cells":1},{"with":140,"cells":14},{"with":141,"cells":1},{"with":154,"cells":14},{"with":156,"cells":14},{"with":169,"cells":1},{"with":170,"cells":14},{"with":171,"cells":1}],"pins":[1,4,6]},{"id":156,"x0":78,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"eb8434cafd191512126d3446bdcd1e666b594dd1178dd7c7b76f3b698200e6e3","m":3,"overlaps":[{"with":140,"cells":1},{"with":141,"cells":14},{"with":142,"cells":1},{"with":155,"cells":14},{"with":157,"cells":14},{"with":170,"cells":1},{"with":171,"cells":14},{"with":172,"cells":1}],"pins":[1,4]},{"id":157,"x0":91,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"db9214c7a95900edd19d969e8df7f72fc87c9781e1ee2a128acfecc1b7d52748","m":3,"overlaps":[{"with":141,"cells":1},{"with":142,"cells":14},{"with":143,"cells":1},{"with":156,"cells":14},{"with":158,"cells":14},{"with":171,"cells":1},{"with":172,"cells":14},{"with":173,"cells":1}],"pins":[1]},{"id":158,"x0":104,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"fed7ca55c61b5eaf040b3a6dc8278807be2d4c1db4bc727f436b7e7e9080d6fd","m":3,"overlaps":[{"with":142,"cells":1},{"with":143,"cells":14},{"with":144,"cells":1},{"with":157,"cells":14},{"with":159,"cells":14},{"with":172,"cells":1},{"with":173,"cells":14},{"with":174,"cells":1}],"pins":[1,4]},{"id":159,"x0":117,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"3e6412aaf9149d7bcfaaa0dbd8aa1d14460421b1942c1abc4a7d9b0fd9c7a0bd","m":3,"overlaps":[{"with":143,"cells":1},{"with":144,"cells":14},{"with":145,"cells":1},{"with":158,"cells":14},{"with":160,"cells":14},{"with":173,"cells":1},{"with":174,"cells":14},{"with":175,"cells":1}],"pins":[1,3]},{"id":160,"x0":130,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"14422c5355819a46142c434cded103ed02729f9642f935ae9a08065369f3ec93","m":3,"overlaps":[{"with":144,"cells":1},{"with":145,"cells":14},{"with":146,"cells":1},{"with":159,"cells":14},{"with":161,"cells":14},{"with":174,"cells":1},{"with":175,"cells":14},{"with":176,"cells":1}],"pins":[1,6]},{"id":161,"x0":143,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"cdb3d20da56454755a11d284d64fccb4b94cdbf7bcff276e7bf57fa05555cb0e","m":3,"overlaps":[{"with":145,"cells":1},{"with":146,"cells":14},{"with":147,"cells":1},{"with":160,"cells":14},{"with":162,"cells":14},{"with":175,"cells":1},{"with":176,"cells":14},{"with":177,"cells":1}],"pins":[1,3,4,6]},{"id":162,"x0":156,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"804a1fdebd1ae2b9feab6a90a3a09a76bf4d3c33e790a016ec75571bbb4778dd","m":2,"overlaps":[{"with":146,"cells":1},{"with":147,"cells":14},{"with":148,"cells":1},{"with":161,"cells":14},{"with":163,"cells":14},{"with":176,"cells":1},{"with":177,"cells":14},{"with":178,"cells":1}],"pins":[3]},{"id":163,"x0":169,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"08903ef615460177bef12efb4cb1555892c47e3d033ac6b10ebedc97fbc57bdf","m":3,"overlaps":[{"with":147,"cells":1},{"with":148,"cells":14},{"with":149,"cells":1},{"with":162,"cells":14},{"with":164,"cells":14},{"with":177,"cells":1},{"with":178,"cells":14},{"with":179,"cells":1}],"pins":[3,6]},{"id":164,"x0":182,"y0":130,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"6de30a73d1838cdbde9ec1c3355f16273dad264e70175f80ebe284ee7391ed90","m":3,"overlaps":[{"with":148,"cells":1},{"with":149,"cells":14},{"with":163,"cells":14},{"with":178,"cells":1},{"with":179,"cells":14}],"pins":[2]},{"id":165,"x0":0,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"9486993bbffe1c793137122003c9aabe529d7ef8ee049fca6c9a8363fd15092a","m":3,"overlaps":[{"with":150,"cells":14},{"with":151,"cells":1},{"with":166,"cells":14},{"with":180,"cells":14},{"with":181,"cells":1}],"pins":[0,2]},{"id":166,"x0":13,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"d319611fadc29f9c1c12cae6207f1c0e703ef022539fc6a0b70cbe20a1536864","m":2,"overlaps":[{"with":150,"cells":1},{"with":151,"cells":14},{"with":152,"cells":1},{"with":165,"cells":14},{"with":167,"cells":14},{"with":180,"cells":1},{"with":181,"cells":14},{"with":182,"cells":1}],"pins":[1]},{"id":167,"x0":26,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"a9ebe99f2d7a5848b5761c64cb75151f8d80870f35fb7460839232d4b94173a8","m":3,"overlaps":[{"with":151,"cells":1},{"with":152,"cells":14},{"with":153,"cells":1},{"with":166,"cells":14},{"with":168,"cells":14},{"with":181,"cells":1},{"with":182,"cells":14},{"with":183,"cells":1}],"pins":[4]},{"id":168,"x0":39,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"4a7970c82b61bf98aa93a721257a9013e958f5cefd70e0374ba1c8e1109794ba","m":3,"overlaps":[{"with":152,"cells":1},{"with":153,"cells":14},{"with":154,"cells":1},{"with":167,"cells":14},{"with":169,"cells":14},{"with":182,"cells":1},{"with":183,"cells":14},{"with":184,"cells":1}],"pins":[1,6]},{"id":169,"x0":52,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"e4ff7f8dd06e3fb107caa3b7f1d553c2fc47cffd62a23f2ccf3116a99edba4ff","m":3,"overlaps":[{"with":153,"cells":1},{"with":154,"cells":14},{"with":155,"cells":1},{"with":168,"cells":14},{"with":170,"cells":14},{"with":183,"cells":1},{"with":184,"cells":14},{"with":185,"cells":1}],"pins":[1,4,6]},{"id":170,"x0":65,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"2ca6cbba8e0ab77ec8783730112771ff822cb13d57f84749164cbba2ff949ddb","m":3,"overlaps":[{"with":154,"cells":1},{"with":155,"cells":14},{"with":156,"cells":1},{"with":169,"cells":14},{"with":171,"cells":14},{"with":184,"cells":1},{"with":185,"cells":14},{"with":186,"cells":1}],"pins":[1,6]},{"id":171,"x0":78,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"3f09ce08ce5e22439e6d031f72c3c138d0a2947b8e517a0ba977588ac1a225b1","m":3,"overlaps":[{"with":155,"cells":1},{"with":156,"cells":14},{"with":157,"cells":1},{"with":170,"cells":14},{"with":172,"cells":14},{"with":185,"cells":1},{"with":186,"cells":14},{"with":187,"cells":1}],"pins":[1,3,4,6]},{"id":172,"x0":91,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"fe3219d60a9f04e8e59cc37af31b09435559294bc740ed630d35530d420c33e0","m":3,"overlaps":[{"with":156,"cells":1},{"with":157,"cells":14},{"with":158,"cells":1},{"with":171,"cells":14},{"with":173,"cells":14},{"with":186,"cells":1},{"with":187,"cells":14},{"with":188,"cells":1}],"pins":[1,6]},{"id":173,"x0":104,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"5f3ebf44b8cf0166ac055070c841f1c8e2e56a5d14f1a57467f9fcee5a8093bf","m":3,"overlaps":[{"with":157,"cells":1},{"with":158,"cells":14},{"with":159,"cells":1},{"with":172,"cells":14},{"with":174,"cells":14},{"with":187,"cells":1},{"with":188,"cells":14},{"with":189,"cells":1}],"pins":[1,4]},{"id":174,"x0":117,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"bfdf2d5bb5b08e67a2a003d8b012031bf3aff4d6924257db1252bd093dbcadde","m":3,"overlaps":[{"with":158,"cells":1},{"with":159,"cells":14},{"with":160,"cells":1},{"with":173,"cells":14},{"with":175,"cells":14},{"with":188,"cells":1},{"with":189,"cells":14},{"with":190,"cells":1}],"pins":[1,3]},{"id":175,"x0":130,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"9189c6bd8b4df2239b901029d84d69a20a12c0dc1ad6b294fa9003b4d256da44","m":3,"overlaps":[{"with":159,"cells":1},{"with":160,"cells":14},{"with":161,"cells":1},{"with":174,"cells":14},{"with":176,"cells":14},{"with":189,"cells":1},{"with":190,"cells":14},{"with":191,"cells":1}],"pins":[3,4]},{"id":176,"x0":143,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"e4e958f0249c4e16e0327cbb0b818ed047d796d8872fbe4ec778fe21335928ea","m":3,"overlaps":[{"with":160,"cells":1},{"with":161,"cells":14},{"with":162,"cells":1},{"with":175,"cells":14},{"with":177,"cells":14},{"with":190,"cells":1},{"with":191,"cells":14},{"with":192,"cells":1}],"pins":[1,3,6]},{"id":177,"x0":156,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"c059ca224fb6c0f626f7ed3285e9fc3e8fe20c81f30f9a9e9845f3552784788e","m":3,"overlaps":[{"with":161,"cells":1},{"with":162,"cells":14},{"with":163,"cells":1},{"with":176,"cells":14},{"with":178,"cells":14},{"with":191,"cells":1},{"with":192,"cells":14},{"with":193,"cells":1}],"pins":[4,6]},{"id":178,"x0":169,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"5696182634a93eef3e20ab337bd2767717563e54ffee1f84d74d8366da5a4589","m":3,"overlaps":[{"with":162,"cells":1},{"with":163,"cells":14},{"with":164,"cells":1},{"with":177,"cells":14},{"with":179,"cells":14},{"with":192,"cells":1},{"with":193,"cells":14},{"with":194,"cells":1}],"pins":[3,4]},{"id":179,"x0":182,"y0":143,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"4449dec7c54e16db24308b77f3ea1d70d55086668e9a97e8fbcc4312ec8b9458","m":3,"overlaps":[{"with":163,"cells":1},{"with":164,"cells":14},{"with":178,"cells":14},{"with":193,"cells":1},{"with":194,"cells":14}],"pins":[4]},{"id":180,"x0":0,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"1fea79ee0f2cbcad5e421f7266061be09098cfe851428e1ad7539ca61a75f0c4","m":3,"overlaps":[{"with":165,"cells":14},{"with":166,"cells":1},{"with":181,"cells":14},{"with":195,"cells":14},{"with":196,"cells":1}],"pins":[0,2,3]},{"id":181,"x0":13,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"3227054de2486a36f09ba6b82a72e43e893e3616387310436c2252dee8987e3d","m":3,"overlaps":[{"with":165,"cells":1},{"with":166,"cells":14},{"with":167,"cells":1},{"with":180,"cells":14},{"with":182,"cells":14},{"with":195,"cells":1},{"with":196,"cells":14},{"with":197,"cells":1}],"pins":[1,6]},{"id":182,"x0":26,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"71f51592e70e1e5edcd9073e06b321e07e2aedf1561e0964e38fe0f023a0aae1","m":3,"overlaps":[{"with":166,"cells":1},{"with":167,"cells":14},{"with":168,"cells":1},{"with":181,"cells":14},{"with":183,"cells":14},{"with":196,"cells":1},{"with":197,"cells":14},{"with":198,"cells":1}],"pins":[1]},{"id":183,"x0":39,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"f3e562f6951951034fdf0d797afa52ac5aa2307f109ee4d6fad0eaf7953b288d","m":2,"overlaps":[{"with":167,"cells":1},{"with":168,"cells":14},{"with":169,"cells":1},{"with":182,"cells":14},{"with":184,"cells":14},{"with":197,"cells":1},{"with":198,"cells":14},{"with":199,"cells":1}],"pins":[1]},{"id":184,"x0":52,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"12c748ccc2e24b4f7fa93068c951823ba6c1efd850bc4f240edc8230f4c10a1a","m":3,"overlaps":[{"with":168,"cells":1},{"with":169,"cells":14},{"with":170,"cells":1},{"with":183,"cells":14},{"with":185,"cells":14},{"with":198,"cells":1},{"with":199,"cells":14},{"with":200,"cells":1}],"pins":[1,4]},{"id":185,"x0":65,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"1c1d07fa0edd022a3e72a0ac57ac05c6714156244e6663d9a89cf4879fee82b3","m":3,"overlaps":[{"with":169,"cells":1},{"with":170,"cells":14},{"with":171,"cells":1},{"with":184,"cells":14},{"with":186,"cells":14},{"with":199,"cells":1},{"with":200,"cells":14},{"with":201,"cells":1}],"pins":[1]},{"id":186,"x0":78,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"ae1839e62f244e201a9b9ea395435ca7a4fd8db15ad1f88af494ca35f1946580","m":2,"overlaps":[{"with":170,"cells":1},{"with":171,"cells":14},{"with":172,"cells":1},{"with":185,"cells":14},{"with":187,"cells":14},{"with":200,"cells":1},{"with":201,"cells":14},{"with":202,"cells":1}],"pins":[1]},{"id":187,"x0":91,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"18d56c39a570aba2f37bf5c9f40561bab0bcaf662505fa1e10e7c5a9e9fd6025","m":3,"overlaps":[{"with":171,"cells":1},{"with":172,"cells":14},{"with":173,"cells":1},{"with":186,"cells":14},{"with":188,"cells":14},{"with":201,"cells":1},{"with":202,"cells":14},{"with":203,"cells":1}],"pins":[1,6]},{"id":188,"x0":104,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"e700c8ed82cddf4d0d608fb990a3c4e27caad9eab3bb66ff62bc3142ef0b275a","m":3,"overlaps":[{"with":172,"cells":1},{"with":173,"cells":14},{"with":174,"cells":1},{"with":187,"cells":14},{"with":189,"cells":14},{"with":202,"cells":1},{"with":203,"cells":14},{"with":204,"cells":1}],"pins":[1,6]},{"id":189,"x0":117,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"e8edf8c0c8b19548fd05355c0a8bfefa3db7744fb85284e33e4d6c76518125f1","m":3,"overlaps":[{"with":173,"cells":1},{"with":174,"cells":14},{"with":175,"cells":1},{"with":188,"cells":14},{"with":190,"cells":14},{"with":203,"cells":1},{"with":204,"cells":14},{"with":205,"cells":1}],"pins":[1]},{"id":190,"x0":130,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"b809a7a11cbe20b8e6144822e09aac1e417bfff2870b7acde58524cd7ae2daab","m":3,"overlaps":[{"with":174,"cells":1},{"with":175,"cells":14},{"with":176,"cells":1},{"with":189,"cells":14},{"with":191,"cells":14},{"with":204,"cells":1},{"with":205,"cells":14},{"with":206,"cells":1}],"pins":[1,3,4,6]},{"id":191,"x0":143,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"2d2ea2f7fa1860aefd839f7c325de42af3c8e73967ece0b0271867a9cecf90fb","m":3,"overlaps":[{"with":175,"cells":1},{"with":176,"cells":14},{"with":177,"cells":1},{"with":190,"cells":14},{"with":192,"cells":14},{"with":205,"cells":1},{"with":206,"cells":14},{"with":207,"cells":1}],"pins":[6]},{"id":192,"x0":156,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"bb2d2455b1a9f83cbc742776d451306b15a99178aebe6fad488c89c119aebe11","m":2,"overlaps":[{"with":176,"cells":1},{"with":177,"cells":14},{"with":178,"cells":1},{"with":191,"cells":14},{"with":193,"cells":14},{"with":206,"cells":1},{"with":207,"cells":14},{"with":208,"cells":1}],"pins":[1,6]},{"id":193,"x0":169,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"898531de1b341ef743d39f055a4d2f963339e80108421353be4cf41793919297","m":3,"overlaps":[{"with":177,"cells":1},{"with":178,"cells":14},{"with":179,"cells":1},{"with":192,"cells":14},{"with":194,"cells":14},{"with":207,"cells":1},{"with":208,"cells":14},{"with":209,"cells":1}],"pins":[1,3,4,6]},{"id":194,"x0":182,"y0":156,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"46399ccf06e8a76e4d7d4c2c53e080fa8242b92b5a853977873c8bc913975aff","m":3,"overlaps":[{"with":178,"cells":1},{"with":179,"cells":14},{"with":193,"cells":14},{"with":208,"cells":1},{"with":209,"cells":14}],"pins":[2,4]},{"id":195,"x0":0,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"20d29ffb07125991b80257d355aaced32ce325a8a7135e5cdbdc896316d5b111","m":3,"overlaps":[{"with":180,"cells":14},{"with":181,"cells":1},{"with":196,"cells":14},{"with":210,"cells":14},{"with":211,"cells":1}],"pins":[0,3]},{"id":196,"x0":13,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"0bbba90d87e87efa2ae128f660b78a8aa430bb39a03457ec9b75883411e1b7d6","m":3,"overlaps":[{"with":180,"cells":1},{"with":181,"cells":14},{"with":182,"cells":1},{"with":195,"cells":14},{"with":197,"cells":14},{"with":210,"cells":1},{"with":211,"cells":14},{"with":212,"cells":1}],"pins":[1,6]},{"id":197,"x0":26,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"ab1cc124ca4f69e904f82862995ed6d13ea485a87d73703d1ae4b169dacf3784","m":3,"overlaps":[{"with":181,"cells":1},{"with":182,"cells":14},{"with":183,"cells":1},{"with":196,"cells":14},{"with":198,"cells":14},{"with":211,"cells":1},{"with":212,"cells":14},{"with":213,"cells":1}],"pins":[1]},{"id":198,"x0":39,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"9a951c9a0cef99876177e9fd7c3de0f9870250a06fdb3c2fd613930fd35bc550","m":3,"overlaps":[{"with":182,"cells":1},{"with":183,"cells":14},{"with":184,"cells":1},{"with":197,"cells":14},{"with":199,"cells":14},{"with":212,"cells":1},{"with":213,"cells":14},{"with":214,"cells":1}],"pins":[1,3]},{"id":199,"x0":52,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"057f0966455bc2e7043ed27e85538913dd51fffed217b6977491c57f49276fc6","m":3,"overlaps":[{"with":183,"cells":1},{"with":184,"cells":14},{"with":185,"cells":1},{"with":198,"cells":14},{"with":200,"cells":14},{"with":213,"cells":1},{"with":214,"cells":14},{"with":215,"cells":1}],"pins":[1,3,6]},{"id":200,"x0":65,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"40b1f2948d885a4f4df52b3d17ab28fb531e59acf5130bdf2466865a5d8824ac","m":3,"overlaps":[{"with":184,"cells":1},{"with":185,"cells":14},{"with":186,"cells":1},{"with":199,"cells":14},{"with":201,"cells":14},{"with":214,"cells":1},{"with":215,"cells":14},{"with":216,"cells":1}],"pins":[1,3,4]},{"id":201,"x0":78,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"039762b39f666f7d56da4dc88c5089272f5b1c15e2d76b4cc417d6771e726b7e","m":3,"overlaps":[{"with":185,"cells":1},{"with":186,"cells":14},{"with":187,"cells":1},{"with":200,"cells":14},{"with":202,"cells":14},{"with":215,"cells":1},{"with":216,"cells":14},{"with":217,"cells":1}],"pins":[1]},{"id":202,"x0":91,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"5e6deafca49ed39a544f632944e2958bfdf6fa35200b002bd827ce2c52a8bbc5","m":3,"overlaps":[{"with":186,"cells":1},{"with":187,"cells":14},{"with":188,"cells":1},{"with":201,"cells":14},{"with":203,"cells":14},{"with":216,"cells":1},{"with":217,"cells":14},{"with":218,"cells":1}],"pins":[1,6]},{"id":203,"x0":104,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"73d0c0d3cd0e060380873b70901bb9a710fdd9f0845ce5290c0239a1f86bd4d4","m":3,"overlaps":[{"with":187,"cells":1},{"with":188,"cells":14},{"with":189,"cells":1},{"with":202,"cells":14},{"with":204,"cells":14},{"with":217,"cells":1},{"with":218,"cells":14},{"with":219,"cells":1}],"pins":[1]},{"id":204,"x0":117,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"4207994b4bc2b5d86457306966a56b671982799c44f2a28a37fe91e944e563f4","m":3,"overlaps":[{"with":188,"cells":1},{"with":189,"cells":14},{"with":190,"cells":1},{"with":203,"cells":14},{"with":205,"cells":14},{"with":218,"cells":1},{"with":219,"cells":14},{"with":220,"cells":1}],"pins":[1,6]},{"id":205,"x0":130,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"787484136919494223957a496a25e15e62a326c4c1c9b005c22e60e57108cdbf","m":2,"overlaps":[{"with":189,"cells":1},{"with":190,"cells":14},{"with":191,"cells":1},{"with":204,"cells":14},{"with":206,"cells":14},{"with":219,"cells":1},{"with":220,"cells":14},{"with":221,"cells":1}],"pins":[1]},{"id":206,"x0":143,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"cf4f7d9ca2ce7e3e04b2cfc018cd9a61d3e94019a847b35236c68704565e6675","m":3,"overlaps":[{"with":190,"cells":1},{"with":191,"cells":14},{"with":192,"cells":1},{"with":205,"cells":14},{"with":207,"cells":14},{"with":220,"cells":1},{"with":221,"cells":14},{"with":222,"cells":1}],"pins":[3,4]},{"id":207,"x0":156,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"589d58b411118b22fa75299c714fdb2fd80f08c012382faa62714976b505d0f4","m":3,"overlaps":[{"with":191,"cells":1},{"with":192,"cells":14},{"with":193,"cells":1},{"with":206,"cells":14},{"with":208,"cells":14},{"with":221,"cells":1},{"with":222,"cells":14},{"with":223,"cells":1}],"pins":[3,4]},{"id":208,"x0":169,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"7c217db724f85e12ae145fd20269622b9704b51003b5c70b85a0ce8c20f4c6e6","m":3,"overlaps":[{"with":192,"cells":1},{"with":193,"cells":14},{"with":194,"cells":1},{"with":207,"cells":14},{"with":209,"cells":14},{"with":222,"cells":1},{"with":223,"cells":14},{"with":224,"cells":1}],"pins":[1]},{"id":209,"x0":182,"y0":169,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"4cc1b5315dae73ce22fe450348024927db4f5ff5ad1ccaeba98bf241826d9b85","m":3,"overlaps":[{"with":193,"cells":1},{"with":194,"cells":14},{"with":208,"cells":14},{"with":223,"cells":1},{"with":224,"cells":14}],"pins":[1,2]},{"id":210,"x0":0,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"2fce41aac207db319b50420744e55a7e5a57ba972e79aa8fec26619022e48f0d","m":3,"overlaps":[{"with":195,"cells":14},{"with":196,"cells":1},{"with":211,"cells":14}],"pins":[0,2]},{"id":211,"x0":13,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"bb97b48b3dd26d9695af7481625c570bc1eb6adf1a3468105fba1e32eeda020d","m":3,"overlaps":[{"with":195,"cells":1},{"with":196,"cells":14},{"with":197,"cells":1},{"with":210,"cells":14},{"with":212,"cells":14}],"pins":[1,3]},{"id":212,"x0":26,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"024a1ee48e9713b19da92b8637e1456ef9caa56a1b8307be17494cd9eaf10115","m":3,"overlaps":[{"with":196,"cells":1},{"with":197,"cells":14},{"with":198,"cells":1},{"with":211,"cells":14},{"with":213,"cells":14}],"pins":[1,4]},{"id":213,"x0":39,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"291511fa1a8ee40995da5549aef3ba430fbd32dfbe368b950ace5b9adaaf9fad","m":3,"overlaps":[{"with":197,"cells":1},{"with":198,"cells":14},{"with":199,"cells":1},{"with":212,"cells":14},{"with":214,"cells":14}],"pins":[1,3]},{"id":214,"x0":52,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"40b7b22a060ab32b8cb77be2004c53e013c9731f131faca406560d997ce457b0","m":3,"overlaps":[{"with":198,"cells":1},{"with":199,"cells":14},{"with":200,"cells":1},{"with":213,"cells":14},{"with":215,"cells":14}],"pins":[1,4]},{"id":215,"x0":65,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"450d143dc79ceed251efa8b1ecec4d26b13e32e654e47e365ab06dd4e40d2abf","m":3,"overlaps":[{"with":199,"cells":1},{"with":200,"cells":14},{"with":201,"cells":1},{"with":214,"cells":14},{"with":216,"cells":14}],"pins":[1,3]},{"id":216,"x0":78,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"cfc6b041e62fddc9a6b0eed964919717e810b6d6e8e920608044be40043719e3","m":3,"overlaps":[{"with":200,"cells":1},{"with":201,"cells":14},{"with":202,"cells":1},{"with":215,"cells":14},{"with":217,"cells":14}],"pins":[1]},{"id":217,"x0":91,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"69e9d94579d041a649a5ef4af91105c71584512e051121fdbb5c766c70f6ea9e","m":3,"overlaps":[{"with":201,"cells":1},{"with":202,"cells":14},{"with":203,"cells":1},{"with":216,"cells":14},{"with":218,"cells":14}],"pins":[1,3]},{"id":218,"x0":104,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"d340f6d275373b9331c84823b22a6702af6c3790b635d29866c99c2ee9f92c83","m":3,"overlaps":[{"with":202,"cells":1},{"with":203,"cells":14},{"with":204,"cells":1},{"with":217,"cells":14},{"with":219,"cells":14}],"pins":[1,4]},{"id":219,"x0":117,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"caf8d6ce5df51b330984622c85b1398b0eeedc3a705434ef808ff0981e6f4b28","m":2,"overlaps":[{"with":203,"cells":1},{"with":204,"cells":14},{"with":205,"cells":1},{"with":218,"cells":14},{"with":220,"cells":14}],"pins":[1]},{"id":220,"x0":130,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"5611b9cd3997c96265524418ac146a0aecbaee695fafcf26637d7886e2654e6a","m":3,"overlaps":[{"with":204,"cells":1},{"with":205,"cells":14},{"with":206,"cells":1},{"with":219,"cells":14},{"with":221,"cells":14}],"pins":[1,4]},{"id":221,"x0":143,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"62799e73908ba7af45f488b6a5346194e8593f109e9299d9b31a7434ecb0d36c","m":2,"overlaps":[{"with":205,"cells":1},{"with":206,"cells":14},{"with":207,"cells":1},{"with":220,"cells":14},{"with":222,"cells":14}],"pins":[1]},{"id":222,"x0":156,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"f1e8f2af7d42c872c2f66cf64a40fe4d23ae50abe6a7c9c14bcdb05003e21506","m":3,"overlaps":[{"with":206,"cells":1},{"with":207,"cells":14},{"with":208,"cells":1},{"with":221,"cells":14},{"with":223,"cells":14}],"pins":[1,4]},{"id":223,"x0":169,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"778a489f86df73d1888ec294cf24ef25de9e1595d25e2654d5cd98af94068c02","m":3,"overlaps":[{"with":207,"cells":1},{"with":208,"cells":14},{"with":209,"cells":1},{"with":222,"cells":14},{"with":224,"cells":14}],"pins":[1,4]},{"id":224,"x0":182,"y0":182,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"ca6daab61862d6f9fd6a025f7eb196743a11e2d5753a0e7bdd3e434678a07d91","m":3,"overlaps":[{"with":208,"cells":1},{"with":209,"cells":14},{"with":223,"cells":14}],"pins":[1]}],"k":"unmeasured","generator":"feb831a53261e6bc","library":null},"solution":["0011001101101010010011010110100101001011011001100110010101011010100100101101011001011001100101011011001000110110110010110100101011011010010100110010110110100101010011010101101001010101100110011001","1101101001010010110100110011010101001010100110010101101011001001010010100101011100100110010100100100110111001101001100101011010101010110010010110100101010011010010101011011001101001010010101100110","1010010010101101001100101101001010110101101001101001011010110100101101011010100011011001011011011011001000101011010011010101100100101101101001001101011001100101101010100100110010110100101010011011","0010100110101110110011001000110010101011010010010110100101001010110010010011011010110010100100101010010111010010101100101010101011010010010110110010010110011011010100101010110101001011010010110100","1101011001010001101010010111001101010010101101001101011010110101001100101100110101101101001011010100110101100101100101001101010100100101101101001001100101011100100101010101001100101101010101001011","0010110011010101010101101000110110110100110110101010011010101101001011011010100101001010110100101101001010101101010010110110110010001011011010101101011010100010011010101100101011010010101010110100","1100101100101010101010010110011001001011001001010101100101010010110101100101001010010101101010101010110101011010101100011011001001110100100101010110100101100011011010011011010110101001101101100100","1011011010010010110101101001101010110100110110110010001100110100111010010010011010101011001001010101100110010010011011001001010101101001001010111001001010011100100101100100100101010110010010011011","0110010101001101001101001100100101011011101100101010011011001101001101001010110101010100110110100101011001101101010100100110110110010110110011001010011001101001101100101011011010100100101001101011","0100100110110110011010010010010010101101001001001101110011010011000101101101100110100110011011001010100110010010101101011001001010101010110100100110110101010110010011010100100101011011001101010100","1001101010011001100110110101101100110100010110110010100100101010111010010101001011001001101001010011011010101001001011100100101001100101001011010101100110100101101100110011011010101000110010101011","0010010101101110100101101001101011010010110101101001011011010101000101101010110100110011010110100100101101100110110100110010110110010110101001101010011010011010010010101110010010010110011010010011","0101010101100101011001001010010101001101001010010110100100101011011010110100100110110110010001011010110010011001001011001001001101101001010110010011001001011001101101001001101101101001101101001100","1101101010010001001010110111011010100100010011011001100100100110110011010011001001001100101110110101001001010100110011010110011010011001101101001101100101100110101011010010010010110111010101100100","1010010011001110010101001010100110110010101101010101010110101010101010110110100010110011011001101101011001101101001100100101101001101001010011010010011010011100100100101110110101001000100110101101","0100101100110110110011001000100101011011100100100110101001011001010101001100110101011011010011001010100110101010100101011001010100110110100100100100110110101001010010110101001101010010101001010011","1011010011001001001100110111011001001100011011011010010110110101001011010011001010100100101110010010011010010011011010101010110110001100101010111011001001010110011001011010101010101101011010101100","0100101001101110110101001000100110110011100100100101101001001010110110101010010101010011010100110101011001001101100101010100101011010011011001011001010101001010100100101101010100110011010110100100","1010010110110011011011001001101101001100101010100101110101011001001001101101100011001101101011001100100110110010010011001011001100101101010100100110101010110101011010010101010011011000101001011011","0101100101001100100100110110010010011011011001011010001010100110110110010010101100100100101100110010100111001001101100110101010011010110101011001011010100101001001101101010101010100110010100101011","0010011001101100101001010110110101100100110110101010010010010110111001001001011011011010010001101011011000110110101100110010100101110010010110010100101101010010110110100101010101011001101011010100","1010100110110011010110101001001001011011001100100101101101101001001100100110110110011001100110010101100101001101010011001101101010001101011001101010010011011101001011010010101100100111011010100100","1101010101010010110010010111010110010100110011011010001001010110110010011001101100100101001101010010101010011010011010100110010101110110101001001101101010100011010100101101101011001000100101011011","0011001010101101101001100100101001101011001001001101110110010101000101100101011001101010110010101010010110100101100101011001101010001001010110110010010101011010110011010010010110010110010010011011","0110110100101001010110101011010110100100110100100101110010101001101101011010010010011011001100101101101001011001100110101100110100110010010010111001101010100101101101010001101001101011011001100100","1001101101010010101101011000101001011011001011011010001101100110011010101100100110110100110001010010110110110010011010110010010101100110101101000101001011011001010100101101001001101100100110011011","0101011010010101001010110101011010100101010110110010011011011001000100110101011101100110010011001101010101100110011001001011001011001001100110110110110100100110101011001010110110010101101101010010","1010100101101010100110011010101100101100101101101001010110100100111001001101010110010110101010110011001011001001001101010100110110010110010110101101100110100010101101010110011001010100110011011001","1010011001001110110101001001100101011010010011010101100100100110110110010010101001101001010101001010101010011001100110101101001001110101001001010010011001011001010100101101100100101011011010100100","0101100110110001011010100110010011010011101100100110011001011011001001101101100110011001001110100101010101100110110010011010110100101010101001011001010010011101010010110010101011001100100101011011","1010011011001011001001011011001010101100110010101010110010110101000110110110010010110110110001011010110100110011011001100100110011010101010110100110101101100110101101001001010010110110101010110100","1101100100100100110101101000110101011010010101010101100101001010110011011001001001001001101100110010101011011001001100011011001100101010101011001010010011011001010011010100101101011001010101001011","0011010101011010101010010111001001010101001010101011011010110100101100100110110110010101001110101101001001101100100110100101100110110010010100110101101010100011011010110011011011001001011010100101","1010101010110001010101100110110010101010110101011010001101001011010011010010011010101010110001010100110110010011011001100110011001001101101011000101001101011100100100101100100100110110101101010010","0101010010101110100110101000110110110100100110010101110010101001011010101001100101010110101011011011001001101010110010011001001101110110010101001010110110100110011011010011001100110010010010101101","1101001101001011011010011001001101001011011010101010001101010110101101101100100010110101001100101001100110010101100101010100100110101001100100110101101001010011010100110110110011001001100100101011","0010110010110100100101010110010010110011001001010101100110101010100110010011011101101001010011010110011000100110011011101010011001010011011011001010011011001001101001001101001010100111001101010100","0010101001101100100110100110101101001100110110110010010010110101011011001010100110011010110001100100110111011001001010010101100110110110101001000101100110110110010110110001100101011010110010101100","1101001101010011011001011001100110010011101001001100101101001101000100101101101001100100101110011011001000101100110101101010110010001100110100111001001001011001100100101110011010100101001010101011","0100110110010101011001100101011001100101001001001101101001010010111001010010011001001011010100100100110110010110100110110011011001001001011010111010010100101100101011001001010101101010010101010110","1100100110011010011010011010100110011010110010011010100110101100100110101101100100101101101011010011011001101011010100011010100110110110101001000110110110010101010100101110010010010110010110101001","1011001001100110100110101001101010110100100110110110010100110011010010101010110110010100110101101100101000101001101011101101010010010110100101100101101001011010010101010110101001101001101010010011","0011010011011001101001010110010101001011011001101001001011011011001001010101011001010011001100101001010110010110010011100101001001101001011010011001010101100101101010101001010110010110100101010110","1100101100110011010110100101101100110100010011011010110100100100110101101010100110101001011011010110101001101001101100011010100101100110101010010010100110011010101010100110101100101001011001101001","0011010110100100100110101010110011010010100110100101100101010010110010100101101100100110100100110110010100110010011011101001011010010010110101101101001011010101010101011001101011011000110010011011","1101101001001001011001011010010100101101101100110010011011001011001101011010010011011010101011001001011011010101100100010101100101101101010010010011011001100110101100110010010011010110101100110100","1100110101010010110011010101101101010100011001001101100100110100111011010100100110110101010001010101101011001101010100110110011010011011001101000100110110011011001010100101001100101101001101101100","0010011010101110100100101010010010101011100110101001011010010100110010101001101100100100101110101010010100101010011011001010010110100100100110111011001001100100110101011010110101101001010011001011","0101001001101101001010010110010010011011011011010010010101101011001101010110010011011011010010101101100101010010101011001001101101010011010010110100100101011011001100100101001011010010101010110100","1010110110010010110101101001101101100100101100100110101010101101000110011011001001100100101101010011001010101101010100110110110010001101101101001101011010100010110011011010110110100101100101001011","0110110110010011001010010111010110100100110010011001101001010100111001100101100110110110010010011010011010010010101101001001011010110010010100110010010011011101011010010010101001011010010010011011","1001001001101100101101011000101001011011001101100101010110101011000110011010011001001001101100101101100101101101010010100100101101101100101011001101101100100010100101101101010010010111011010100100","0011001001101101010101100101001011001011010101010110011011001101001100100101011011011010010011010010100111010100101001010110100101011001010101101010101010101001010011010101101100100101101101100100","1100100110010101010110011000110100110101101100101001010110110100100110110101100100110100101110011001010010011010100101101001010010100110101101000100110101011101100100101011011011001001010110010011","1011011001010010101001101010101010011010010011011010100100110010111001011010010110101011010001100110101101100101010110010101011011010010110010111001011001010110011011010010010011011010011001001011","0100100101101110010010100111010101100100110110010100101001001011010010100101101011001101010011011011001000101011011010110110100101001101011010011010100110100010101101010100101100100110100110110100","0100101010110101100110011000101100110101101001101001011010101100100101101010011001010010101100110101010011010100100101001011001010110100101101000101011001101001010010101101010011001101011001100101","1011010110010001011001100110010010011011001010010110100110110101001101010110100100101011001100100100110111001011010010100100110101110010100100110100101010011101101010010010101010110010011010011010","0101101101001010100110101101101101100100010110100101100101010010111010011001100110110101010011001010101100101100101101011011001010001011011011001011010101100010010101101100101101011001100101101001","0100110010101101001001011010011001001011101001001011011001101011000101100110011001001010101110110011001001010011010110100101101100100101001010110110100100110110110110010011010010100110010100110110","1011011010010010110110100101100110110010011011010010101010101101001010011010011011010101010001001100110110011001011001001010010101110110100100101101001011001001001001101101010110100101101011001100","0010100101101101101010011001101101010100100100110101100101010100110011011001100100100110101100101101101001101100101010110100110011011010010011011001010110010110010110110010101001011010011010010011","1101011010010010011001010110010011001101100110101010011001001010110100100101011001001001101110010011011000110011010110011001101100101101001100100110101100101101101001001011010101010101100100101101","0010010101101101010110101001010010101011011011010010010110101101001011011010010110110011010001101100100110010101101001101010011001010101101101001001001011011010010110010101101010101000110011011010","1101100110010010101001010110101100110100010100101101100110010010110110100101100101001100110110011001011001101010100110010110110110001010110011010110110100100010101100101100100101011011001010010011","1010011001101010101101010011010011001010101001101101011001010011011001001010101010110100101001100110010110100110011001101001001010101001010010110011010011010101101001101010010100110110100101101100","0101010011001101001010101101101010101100101100110010110010101100101010110011010101010110010110110011001001011001010110010110110100101010101101001101001100101010010010101101100110010101101101010010","1001101100110010110100101010010100110011010010010101100110011001010110100100110101101011010011001100110100100110101011001001011011010110110101000110100101011010110110010011011001101001011010101001","0010101011001101001011010100101001011011101101001010001001100110110101001011001010100100101100101011010011011010100100110110100110001101001010111010011010100101001001101100101001011010110010100101","1101010110010001010010110111010110100100010010110101110110010100101010110101010101011011010011010010101101101101010100100101010101110011010100101001010011011001101101010010110110100101001101010110","1101100100110010101101101000100101011011101011001010001001101011010101010110100110100110010100101100101010010011001011001010101001110100110101000100101101101010010010110101001001101010011010101001","0010011011001101010010010111011001010100110101011010010110110100101100101010011001001001101110010011010011010110100100010110110110001101001011011011010010010101001010101110100110010101100101011001","1011011010010011001101101001010010101011001010100101100101010010110010010101011011010101010001101100101100101001011011101101001001010010011010111010110100100110101101001001011011010011010010010110","0100100101101100100100110110101101010100100110110110011010101101001011011001100100101010101110010100110010010101101100010010101101110110100101000101001011011011010101010010100101101100101010101011","0100101100101110110011001000101101100101010101001001100100100110110101101010010011011011010010101011001101011010010011100100110110001001011010111010101100100100101010110101101010010011010101010100","1011010011010011011011001001010010011011011010011001011011011001001010010101101010010100101101011001101000100101101011011001001011011010101011000100110011011010110101001010010101101100101011010011","1011010100110001001100110110101101001010100110100110110010010010110010010011011100101001011010110110010011010010110100110110100100100101010100111011010100100101001100101101101011001001100110101100","0100101011001100110010010110110110100100010101101011001101101101001101101100100101101010100101001001010110101001001011101001010010110110101001000100101011011010110011010001011010010110011001001011","0110100100110110110101001001001010110101011001010100101101001011000101101100101010010101101001010101101101101100110100011011011001001001100110110101101100100101010110010110010100101010010100110110","1001011011010001011001101010110101001010011011010101010110100100111010011001010010101101010101001011001011001101010010100110101100100110101011001010100110011011001001101011011010010011011001001001","0010010110101110100110010101011010110010100110101010101001010110100100110011011101010010101010110100110100110011001101101001010011011011010100101001011011010110101011010001100101101100100110110011","1101101001010001010110101010100101001101001100110011010011011001011011001100100110101101010010101101101001001100101011011010110010010100110010110110010101100100110110010110101010101001101101001100","0011011001100100101001100111010010110010110011001101001100100110110010100110101001010010110101001010011011011001010010110101001100101001001011010100101010011011001100101001010011010111010010010011","1100100110011011010101011001101101100100101100110010110011011001001101011001010101001011001110110010100100110110110100100100101101110110010100101011010010110101011011010010010101100110101001101001","1101010010101001101010100110010010011011011001011010001010110011010011010011001010101100101010101101010010101001001101011011010010011001101001101101100101001010100100110101101010011001100110101100","0010101101010110101001011001101100100110010010101101110100101100101100101100110101010010110101010101101001010011001011100100100110100110011010010110011001010110110101001011011001100101011011010010","0011010011001110010101100100101011001101100100100101101011001011000101010011011001100101001101001010010110100110110010011001001101101011010100101001011010101001011011010010100101011010010101010101","1100110010101001100110011011010101010010101101011010010010110101011011001001100110101011010010100100110110011001001101100110110010010101101101001101100110100110100100101101001010100110101010101010","1011001101010001001010110110010100101101010011001001100101010010110100100110101001010100101101011011001001010110101100010100101101100100101011010010011001011001001001101100110101011001011001001101","0101101010010110011001100100101010101011001100100101101101001010101010010011011010110011001010110101101001101011010010101011010011011010010010110011010101001010110011010010101011011001100110110100","0010010101101100100110011011001011010100110011011010011010110101001101101100100101101100110001101010010110100100101101010110100110011011010101001100100110110100101100101101001100100110011001001011","1100101100101011011010010100110101011001100110100110010100101100110010110110010110011010010110010010010110010010110011001001011001100100101101010010101001101001010010101100110110010100100110110110","1011010010110010100101011011001001100110110100101001110010010011010011010110100101100110110001101101010101101100110100110010110110011011010010101100100110110110101101001010101011011001010110010011","0011001011010101001001101010101010100101011011010010001101100101101100101001101011011001001011011010101001010011001011001100101001100100110101010101010101001010110011010001010101100110101001101100","1100110101001010110110100101010110011010101101100110011001001100111010010110010100100110101110100100101010101101010100101011001101001011001011010010011001101101001100100110110100101001001011001011","0010110010110100100101011010011001100101010010011001100110110010010101001001101011010101010001101001010110010100101011010110110010010101010110101101100110010110010101011010101010010110110110010100","1101001011001001011011001101100101101100011001100101100110101101000101101010011101011001010010010110101101011011001010011001100110101100101100100110010110011001101010010101001001101011011001100100","0010110100110110100100110011010010010011100101011010011001010010111010010110100010100110101100100110110010101100110100100101011001101010010011011001011001100101011010101011010100101100100110101011","0101001010101101001001010110101001001011001010010101101011011001001001101001011001001001101101011001001010100101001101010110010101010101101010101010100110011010110101010010110110010100101001011011","1010110101010011011011001000110110110100010100101101110100100110100101001011011100110101010010101101100101010010101011101010100110010011010100110101001001011100100100110100101001101011010100110100","0101001001101100110110101001001101001101101011001010001010011010110110110100100010010110101100100110110101101011010010101101001010101010101001011010110010100011001010101101001001010110010011001011","1010110110010001001100110111001010110010100101010110101011010101001010101001011001101010110001011001011010010101001101010010010101110101010010101011001101100110110011010011010110011001101101100100","1101010110010010101011010100110110110010011010110101010101101101000101011011010110010101010110010101100101100100101011101010110010011010101101000100110110011001001101001100101101100101101100110100","0011001001101101010100101011001001001101011001101010010110010010111011010100100010101010101101101010011001101010110100110101001101001010010110110011011001100101010110110011010010110010010010011011","0100101101001110110010100100110110011010100110011001101001101011001100100101101101101001001011010011001010011011010100010101101010110101101001001101101010010010101001101101001011001011011001001001","1011010011010001100101100111010011010100110011011010010010101100110010010110011010010010101101001100110101100100101011100100110011011010110010101001001101101101001010110010110101100101001011011010","0100110100101101001011011001001001101011001100100101110101010101001001101011010101001101010100101011001010110011001010101011001100100110010100110010110011001001010101001101001010010110110110100100","0101101011010010011010101010101100110100110010101011001100101010110110110100100010110110101011010101101001001100110101011010110010001001101101010101001100110110101010110011010011011001100100101011","1010010100101101100101010101010010011011001101010010101010010100111001001001011010101001001100101010110101101101010010110101101001010110110010101010011001011100100100101110101100101001011011010100","1100100110110010101101010010011001100101001010010101110101100101001010010011011101010100110001010011010110010010101101001001001101100101001100110010110010101001011011010001010011010110101011010100","0011011011010001011010101101100110110010110010101101001010011011010101100110100110011011010010101101101001011011010010110110010110011010101101001101100110100110011011010010110010101101010100101011","0100101100101101010100100110100101001011010101011010010101001100111011001100100010100110101100110100100110100100101101011010101001010101010010110101011001010101100100101101101101001000101101010011","1101010010110010100101011011011010100100101001010101100110110100100100110011011101100101010011011010011000110010011011001101001100101010010011011010100100101010110110010010010110010110101010101100","0010101011001101011010101000100110011011011010100100101001001011010011011010010101011010110010100101010111001101100100110011010011011001101101001101010110100011011001001110011001101001010101010110","1011010100101010110110010101101001101100110101101010011010110011001101101100100010110011001101101100101000101010011011100100110100100110010010110010011011010100100110101101100100110010100100101011","0101100100110101001101001011010110010100101001011011010110010100110010100101101010101100110011011011001001010101011010011011001011001100100110110101100100101101100101010010011010010110101010110100","1010011011010010010010110110011001001011010110100100100101101010101101011010010101001001101110010010010111011010100100100100110101110011001101001010100101011011011001001001101101101001010101001011","1011001001001110101001011000101101100101001101100110011011010011000110011001101001010110010100100100110110100101100101001010010110101001011011000110011011010010010110110100100100110110010010110101","0101101100100101010100101011010011001010011010011001101001001100111001101010010010101101101001101101001101101001010110110011010011001101100110010101100101010100110110011011011011001001101010110100","0100110110110010101010010111011010010010100101010101100100110011011011010100100110110010011011011011001001010110101010101100101101010010101101101001010110101101101001001001010010110110010101001011","1010010011011001101101101000101100101101011001100110010110101101000100101011011101001010010100110010110010101010011001010101100100110101010011000110011011001011001001100100101100101101100101100110","0011001101100110010101100100110011011010110110011010011011001100101100100101011010010101100110100101001100110101100101101011010010001011001100111001100100110010110110011011010011011001101010011001","0100101100101101010010010111001010010101100100100101100100110010110011010110100100101101101001011011011001011010011010010110101101010110110011001010011011001101100110010010101010100110011001001011","1010110011010010101001101010100100101011011011010010010110110101000101101001011011001010010110100100100111001011010100110100101001100100101100110110100100110110011001100101001100100110010110110100","1101001100100101010110100101011011010100100110101100101011001001101010010101011101010010011011011001101000110101101001001001010110101011001001011001001010101001011011001010110011011001101101001100","0010110011001101001011011001011001101100110101011001010101010010110101100110100010110101100101010010011010110010010011100110101010011010110011001010110101001100100100110101101101001000101010101011","0010110011011010101001100110100110010011001010100110101010101101001100101001011101101001010010101101010101001101101100010010110101100100110100110100101100110110101100110001001010110111010101010010","1101001100110001010110011010010100101101101001001001100100100110111011010010100010010110101101010010100110010010011011101101001010010101001010110011010010011001010011001110110101001001101101010100","0101011001100110010110100101101011010100110110011001011001010010110010101101100100101010101100101101101000110101010011010101011010011010101101001101101001100101101011010010110110101000110010101101","1010100110011001101001010111010100110010010010110110100110101101000101010110011101100101010010010110010111001100101100011010100101101010010100110010110100101010010100101101001001010110010101101010","1101010010011010110110011000100101101011001001101011011001011010011010011010100011011001101011001010110011001010100110101001011001110101010010101101001011010011001001101110010101010011001010010011","0110101011010001101101100101011010100101010100101001100110110011001001101010011100100101001100110010101101101001011001100110100110001001101011010100100110110101100110110001100110101100101101101100","1001001100101110010010110011010101010010101011010100100110100100110101010101100011011010110001001101010110110100101100011001001101100110010101101011011001001010011001010110011001001101010110010011","0110110011010011001101001100101011001101010010011011011001001101100110110100110110100101001110100101001010011010010011100100110010110101001010010100110100110110100100101100101011010010110010101100","1001001011001100101010110011001010110010101101101010011010110011001001001011011101011010010011010010110101100101101100011011010110011010101001010010100110101001011011010011010100101101101101001100","0101101100110010110011001100110101001101011010010100100101100100110110100101100010110101100100101011001010010110100101101001001001100100110101101011011001010101101010101011001010011010010010110011","1010110110010011001100100110101010010110100101001101101001011001101011010010011001001011001101001100110101011001010011010110100100110011001010010100100110101010010101100100100101100110011011001001","0010011001101101010101010011001010101010110110110010011010101011001100101101010110010110110010110011011001101011001100101100110011001100110101101011001100101101101010010001011010110101100101101100","1101100110010010110010101100110101011001001001010101100110010100110101100101100010110101011001010101100110010100110011010011001010101011010010011010011001010100110101001110110011001001001010110011","1010011001100101001001010111010110100100010010101101101001001010111010010010101001001010101110101100101001100110101100010110110101010010101101100100110011011010010100110100100101011010110101001010","0100110100101100110110101000101001011011101101010010010101101101000101011001011100100100110100110010010110011001010011101001011010001100110110011001100100101001101011001011011010100101101100110100","1011001011010011011010011000110101001011001010010101100110110101001101101100100110011011010011010101010101101101001010010110101100101001010010110011001101010101101101010011011001100101010011010101","0101010100101101001001100111001010110100110110101010011001001010110010100110011001100100101101101100101000100110110101010110010101010110101101000110110011001010010010101100100110011010100100101011","0010100101101100100101011011010100110100110101100110010110010110010010011011001101101010010010011011001010010011011010101001101011011011001100101101011010100110010110011001101100110010011001010110","0110011010101011001101101000101010110011101011001010001100110101101010110010110110010101101011010100110101101001100101010110010100101101010011000101010101101001100101101011010010100111001011001001","1001010110010101010010100111011001001010010110011001101001101010010101100101001001001010110100101010010111001100101001101100101010010100100110110010100110011001011010100110101001011001100100101011","1100101001010100101010010111010101010100110100110100110011011001001010011010110100101101011011010101101000110011010110110011010101011010101001101101101010100110101011010001010100110110110011010100","0110110100101011010101101000101010101101001011001011010110100100110100100110011010010010101101101001010101011010010101001011001010100101010110011001010101001001010100101110010011001101001101011001","1001011010100110011010010011010110010010101001010101101101001011001011010101001011011001010010010010110110100100101011010100100101101101101001000110101011010110110010011001101101101000100110101011","1011001001011001101011010101101101100100010110110110010011011001101010101010110101100100101101101101001000101101101100100110110110010010110100111001100100110011001101100100101010010111011010100100","0100100101101110110100101000110011001011001100101001110010100110010101001001011010110011010011010110100101011010010011001001011001101101001010100110011011001100100110010110010101100100110101010101","1011011010010011001001010111001010110100110011010110001101011001101101010110100101001100101100101010011011010101001001011011001010010011011011001101001001011011011001001011010110101001101100101010","0110101101001001011010110100110101001011101010011010011001011011001010101001011100110101010010100101010110100110101100110100110100100100110101011010100110100100101001101100101001010111010010010011","1001010010110110110101001000101010011011001100100101100110100100110101101100100011001010101101011010101001101001010110101010110101001010100110110010110100110110100110110011011011001000101101101100","1001001101101001101011001011001101100100110101101010011010101011000101010011011001001101100100100110101011011001001001010011001010110101001010100101001011011001011001010101010110101001101101100100","0110110011010010010100110110010010011011010010011001101001010100111010101100100110110110010011010101010100100110110110010100110101110010011001011010110100100011001101101010100101010110010010011011","0101100110010100100110101100100101101101001001100101100100100110110101010101100010110011001100101001101010010110110010101101001011001010110101010010011001011100110010010100101010011010010010110110","0110110101001011010110100100110010011011001101011010011010011001010100100110101101001001101010110110101001101001001101010100110101010011011011001100110010110011001101101011010101100101010110010011","1001001001101101101001010011001010110010110110011010010101101101001011011010010110110110010011001011010101101010100101010010101100110100100100111001100110100100110011001100100110110100101101101001","1010011010110010011011001010110101100100011001100101101101010010100100101101011011001100100100100100110110010110011010101011001011001010010110110011001001011001100110110001011010011011011010010100","0110110110010011010100110101010110011001101010011001010010101011011001010101100100110011011001010101101010101001011001010100110100110101011001000110011011001010011001010110100101100101100101001011","1101001001001100101101101000101010110110010110110110001100110100111010011010010100110100101110101010010101101101100100101011011010010101101100101101100110100101001100101101100100110010101100101010","1011010100110001011010011010011001001011010101001001110011001101000110101010011011001100110011010100101101010010011011010011001101001010110011011001010101010110110011010011011010011001011011010100","0010100110101110010010010111010110010100101010010110101010011011001101100101100110110011010001101011010010110101100100101100100110101101001010100110101001011001001100110110011001100101100100101101","0101011011001001101101101001101101100100110110110010010101100100110010011001101001001011001110010010110101001001101011010110010010110100100101010100101010101100100100101100100110010110010010011011","1001101001010100100101010110010011001011001001001101100100101010110010101010011100100100110101001101001100100110011011101001101001011011010010101011010110010011011011001001001101101011001011010100","1010010110110011011010101001101100110100110101101001011011010101001101100110100011011001101010110110010011010110100100010010110101100101001101010010101101100110110110010010110011001100100101101011","0101010010101110010011010011001001010011101010010110001001100110111001010101001001010110011011011010101000101001011011100110011010010110101101000101011001011001100100110100100100110111011010100100","1010101101010001100100110110010010101101010010101001110110011001000110101001011100101010010100100101010111011010100100011001100101101001010010111010010110100110011011001011011011001000101001011011","0100101001101110101001001101101101001010100101100110101011010010101011010010110011001101100101011001001010010101010110101101010010101010101010101101100100101011001001101011011001001010110101100100","0011010110010101010010100110010010110101001001011010110100101010011001001101010110100110011010110110100101101010101001010110101001010110110101000110011011010100110101001110100110101001101010010110","1010101011001010101101010010101001001011011010010101011011010101000110110010101001011001001101001010010110110010011001001001010110101001001101011001100101010011011010110001011001010110010010101011","0101100100101101011010011001010100110110100110101001100101010010110110010101010110011010110010101101011001001101100110101100101011001101010010110110010010101001001101001100100110110101100101011001","1101011010010001010101100110011010010101010101011010011010101101001001101100110100100101101101010110100101011001011001010110011001010110101101001101101010100110110011010011010110101001001010110110","1010101011010010101010110100100101101011101001100110001001011010111001010010101011011010010001101010110010100110011010101001100110101001001010110010110101010100110100101110101001010010010110101100","0110010100101110100110011001101101010010110010011001100100100110110110101001010110100101100110100101011001101001100101001010010101110100110101001010011010011001001010110101100100101100101101010011","1101010101010001011001100111010010100101001101100100110110101001001100100110101100110010101011010010101101010110010110110101101010010011001011010101101010100110110011001001011011011001010010011011","1001101010110010010101100110110010011001011010010011011011011001001011011001001001001101011001001101010110010011001011010010100101101001100100110010010101011010101100100110010010010110101101100100","0010010101101101100110011001001101101010110011011001001001100110110100101011010110110010010100101001101010101101100100101011011001010110110100101010010011011001001011011001101100100111010100100110","1101101010010001011011011001101010110100101100100110110100100101010010010110101001001001101110110010100101101100110010110100110110010101011011001101101100100101010110010110010011011000101011011001","0011010101010110010100100110010110010101011011010010010110011010101101101001100101101100101001001101011010010010011011001100100110101010101001010010101101100110100101101001101101101000100101011011","0010010110101110101010011000110101101010010110101101001011010101100100110110011010110011010010110010101101101101100100110011011001010110010110101001010011011011011010010010011010100111011010100100","1100101001101001100101101011001011001100100100101101100100101101010011001101001001010110010110010101010010010010101101010011001100101001010010110101001100101100100100110100100101010111011001001001","0101101010010101011010010101101100110010011011011010011011010100101100110100101101001010110010110010101101101100110100100101010101110010101010010100100101011011001001001100101010110010101100101100","1011010110010010101100101100110100110101100100100101110101010011001101101010010110101001001101001011010010010011001011001010101011010110010101101011010011010100110110110011010101101000100110110011","0010100101101110010011010010010011001011011011001010001010101010110010010011011010010101101010010101101101101101100100010110110110001001101010110100101100101010011001001110100101010101011011010100","1100101011010001101101001011001101010100110110110010001101010101101001100101101101001010010100100100110110010010011011100101001001110110010101000110110011010101100110101001011010101011001001001011","0011010100110110010110100101100100101011001001010101110010011010010101001100110010101001101101011010011001101101001100011010110110011011001001011001001101010110011010110011011001100100110100110011","0011010010101101001001010110010010101011101010101001001101101010100110011011001001010101101010101001101100110010110011101101010010001100100110111001010010101001011001001100100110010110100110110100","1100101101001010110010011010101101010100110110010110011011010101001010110110010110110010010101100110010011001101010100010110101001100110011011000110100110011001100110110011011011001001011011001100","1101011010010010101101100101001010101011001001011010100100101100110101001001101001101100101001011010101100100101101011101001100110011001101100101011011001100110110101001001001100110110101001001011","0010010110110101011011001000110110011010010101100101110010101011001010110010110010010101101110100101010011011010010010010101011001101001010011010100101011001001001011010110110100101001010110110100","1101100101001010100100110111011001100100110110011010001101010101010100101101010110110011010011011011001000101011001101101010010101010110101100101010110100110010101100101101101011001000100101011011","1101101010010011010010011010100101100101101011010010011011010010101001010110101001001010101101010100100111010100110010110100101010101011010101001001010110110110110010110010011001010111011001100100","0010011001101101011001101000110010011011001001100101110010101001010110101001010101101101010010101010010111011010100100011001001101100100110010110110101001001101010011010001100110101101100110100110","0010010101101100100110110101011011010100010100101101100100100110111011010010100110110110010001101101101000100101011011101010110010010101101101001011011010100011001101001110010010011010010010011011"],"tiles":[{"id":0,"givens":[[4,0],[5,0],[12,1],[13,0],[196,1],[197,1],[198,0],[207,1],[393,0],[395,0],[396,0],[398,0],[591,0],[596,1],[597,0],[601,1],[786,0],[791,0],[793,1],[796,0],[980,0],[987,0],[991,1],[1178,0],[1179,0],[1374,1],[1376,0],[1569,1],[1574,0],[1577,1],[1764,0],[1769,0],[1771,1],[1772,1],[1774,1],[1775,1],[1961,0],[1962,0],[1972,1],[2160,0],[2162,0],[2165,1],[2166,1],[2168,1],[2169,1],[2356,0],[2358,0],[2361,1],[2362,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[992,993,1188,1189],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":1,"givens":[[13,0],[18,0],[211,0],[214,0],[215,1],[218,1],[220,0],[221,0],[406,0],[408,0],[411,1],[412,0],[413,0],[414,1],[601,1],[602,1],[604,1],[605,1],[607,0],[803,0],[810,1],[997,1],[1000,0],[1002,1],[1004,1],[1005,0],[1190,1],[1191,0],[1193,0],[1199,1],[1388,1],[1393,1],[1397,0],[1582,0],[1586,1],[1590,0],[1593,1],[1779,0],[1781,1],[1978,0],[1980,1],[1982,1],[2169,1],[2170,1],[2173,0],[2175,1],[2177,1],[2178,1],[2367,1],[2375,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[800,806,2564,2570],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":2,"givens":[[29,0],[30,0],[33,1],[35,0],[37,0],[39,1],[226,0],[227,1],[229,1],[234,1],[420,0],[426,1],[427,1],[431,1],[626,1],[810,1],[811,1],[815,1],[818,0],[820,0],[822,1],[1009,1],[1012,1],[1015,1],[1205,1],[1207,0],[1210,0],[1214,1],[1400,1],[1402,1],[1404,1],[1408,0],[1595,0],[1596,1],[1601,1],[1603,1],[1607,1],[1794,0],[1798,1],[1802,0],[1987,1],[1988,1],[1991,1],[1996,0],[1999,0],[2183,1],[2184,1],[2192,0],[2384,0],[2386,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[1597,1604,2577,2584],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":3,"givens":[[39,1],[41,1],[43,0],[44,0],[47,0],[48,0],[238,0],[245,1],[248,1],[431,1],[435,0],[436,0],[442,0],[630,0],[631,0],[634,0],[635,1],[636,0],[639,0],[826,1],[829,1],[830,0],[833,1],[1020,1],[1021,1],[1023,1],[1029,0],[1222,0],[1225,1],[1412,1],[1413,1],[1416,1],[1417,0],[1419,1],[1607,1],[1608,1],[1613,0],[1619,0],[1808,0],[1810,0],[1812,1],[1999,0],[2001,1],[2002,0],[2197,1],[2201,1],[2202,1],[2397,0],[2401,1],[2402,1],[2588,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[1611,1612,2591,2592],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":4,"givens":[[53,1],[58,0],[59,1],[61,0],[63,0],[248,1],[251,0],[254,0],[255,0],[257,0],[258,0],[445,1],[446,1],[642,0],[649,0],[837,1],[838,1],[844,0],[846,0],[847,1],[848,0],[849,0],[1033,1],[1034,1],[1036,1],[1039,0],[1044,0],[1236,0],[1426,1],[1427,1],[1435,0],[1625,1],[1631,1],[1818,0],[1822,0],[1825,0],[1829,0],[2014,0],[2020,1],[2021,0],[2209,1],[2212,1],[2213,1],[2218,0],[2220,0],[2407,1],[2411,0],[2414,1],[2415,1],[2602,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[1431,1434,2607,2610],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":11,"complete":false}},{"id":5,"givens":[[66,0],[67,1],[69,0],[70,1],[72,1],[73,1],[78,1],[262,0],[268,0],[270,0],[459,1],[463,1],[469,0],[662,1],[665,1],[849,0],[860,1],[1046,1],[1056,1],[1057,0],[1245,1],[1248,0],[1253,0],[1254,1],[1439,0],[1442,0],[1444,0],[1448,0],[1638,0],[1639,0],[1642,1],[1645,1],[1829,0],[1834,1],[1835,0],[1837,1],[1839,1],[1840,1],[2029,0],[2032,0],[2034,0],[2037,0],[2223,1],[2232,1],[2418,1],[2420,1],[2425,1],[2428,1],[2430,0],[2617,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[1635,1636,2615,2616],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":6,"givens":[[78,1],[79,0],[82,0],[87,1],[276,0],[277,0],[279,0],[283,0],[284,0],[286,0],[471,0],[476,1],[667,0],[670,1],[671,1],[677,0],[678,0],[866,1],[869,1],[873,0],[1063,0],[1254,1],[1263,1],[1264,1],[1266,1],[1451,0],[1452,1],[1454,1],[1456,1],[1653,1],[1656,1],[1657,1],[1844,1],[1846,1],[1853,1],[1855,0],[2040,1],[2045,0],[2050,1],[2237,0],[2240,0],[2241,0],[2243,1],[2247,1],[2430,0],[2431,1],[2432,1],[2435,1],[2443,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[2434,2442,2630,2638],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":7,"givens":[[96,1],[97,0],[103,0],[288,0],[289,0],[291,0],[292,0],[295,0],[299,1],[486,0],[490,1],[496,0],[680,0],[681,0],[682,1],[686,1],[687,0],[689,1],[691,1],[883,0],[885,1],[1072,0],[1073,0],[1075,0],[1077,1],[1269,0],[1276,1],[1279,1],[1472,1],[1474,0],[1660,1],[1665,1],[1855,0],[1859,0],[1862,1],[1863,0],[1865,0],[1866,0],[2052,0],[2064,1],[2247,1],[2249,0],[2255,0],[2257,0],[2443,0],[2444,0],[2446,0],[2451,0],[2454,0],[2455,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[2057,2058,2645,2646],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":8,"givens":[[105,0],[108,0],[109,1],[110,1],[111,0],[115,0],[302,0],[307,1],[310,1],[496,0],[497,0],[498,1],[501,0],[503,1],[694,0],[697,0],[698,1],[703,1],[892,0],[897,0],[898,0],[1085,0],[1089,1],[1094,0],[1281,1],[1283,1],[1286,1],[1288,1],[1478,0],[1480,0],[1482,1],[1678,0],[1681,1],[1869,0],[1870,0],[1872,0],[1874,1],[1880,0],[2064,1],[2066,1],[2073,0],[2264,0],[2271,1],[2272,0],[2457,0],[2463,1],[2465,0],[2468,1],[2655,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[1683,1684,2663,2664],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":9,"givens":[[118,1],[120,0],[122,0],[124,1],[128,1],[129,1],[318,1],[325,1],[326,0],[517,0],[518,0],[708,1],[713,0],[902,0],[905,1],[907,1],[910,0],[1107,0],[1108,1],[1295,1],[1298,1],[1300,0],[1304,0],[1490,0],[1497,1],[1499,1],[1500,0],[1689,1],[1692,1],[1886,0],[1889,0],[1891,0],[1893,0],[2078,1],[2080,0],[2081,1],[2082,0],[2083,0],[2085,0],[2089,1],[2274,1],[2275,1],[2283,1],[2471,0],[2473,0],[2474,0],[2475,1],[2476,0],[2479,1],[2666,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[717,718,913,914],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":10,"givens":[[132,1],[134,1],[136,0],[138,0],[142,1],[326,0],[331,0],[332,0],[334,0],[335,0],[338,1],[523,0],[720,0],[721,0],[915,0],[916,0],[919,1],[920,1],[1111,0],[1120,1],[1122,1],[1310,0],[1311,0],[1314,0],[1319,1],[1504,1],[1506,0],[1508,0],[1512,1],[1514,1],[1701,1],[1704,1],[1705,1],[1708,1],[1895,0],[1902,0],[1906,1],[1907,0],[2091,0],[2092,0],[2096,0],[2098,1],[2100,1],[2288,0],[2290,1],[2297,1],[2483,0],[2485,0],[2488,0],[2494,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[1110,1117,1306,1313],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":11,"givens":[[148,1],[153,0],[341,1],[343,0],[349,0],[351,1],[537,1],[541,1],[542,1],[543,0],[545,1],[547,0],[732,0],[737,1],[739,1],[740,1],[742,0],[934,0],[939,1],[1124,1],[1125,1],[1134,1],[1319,1],[1321,1],[1328,0],[1518,0],[1520,0],[1522,1],[1526,0],[1712,1],[1715,0],[1717,1],[1718,1],[1720,0],[1723,0],[1907,0],[1913,1],[1916,0],[1918,0],[2301,0],[2303,0],[2304,0],[2307,0],[2309,0],[2310,0],[2498,1],[2501,0],[2506,0],[2692,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[339,340,535,536],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":12,"givens":[[160,0],[162,0],[164,1],[169,1],[353,0],[356,0],[364,1],[550,0],[556,1],[557,0],[559,0],[560,0],[752,0],[753,0],[942,0],[943,0],[945,0],[946,0],[948,0],[949,1],[952,0],[1140,0],[1341,0],[1343,1],[1530,0],[1531,0],[1533,0],[1534,0],[1540,0],[1726,0],[1728,1],[1730,1],[1732,0],[1733,0],[1923,0],[1926,0],[1927,0],[1932,0],[2126,1],[2313,0],[2315,0],[2316,0],[2321,0],[2324,1],[2509,0],[2510,0],[2514,1],[2515,1],[2520,1],[2716,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[1724,1725,1920,1921],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":13,"givens":[[169,1],[171,1],[172,1],[175,0],[368,0],[373,1],[375,0],[377,0],[378,1],[562,0],[570,1],[573,1],[759,0],[767,0],[954,0],[957,0],[962,1],[964,1],[1150,0],[1152,1],[1154,1],[1161,0],[1346,1],[1348,0],[1543,0],[1545,0],[1548,0],[1551,1],[1552,0],[1738,1],[1739,1],[1740,0],[1742,1],[1746,1],[1749,1],[2130,1],[2131,1],[2133,1],[2134,1],[2137,0],[2138,1],[2140,1],[2328,0],[2331,0],[2338,1],[2523,1],[2526,1],[2529,1],[2531,0],[2723,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[757,760,953,956],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":14,"givens":[[185,0],[189,0],[190,0],[191,1],[195,1],[378,1],[382,0],[388,0],[581,0],[582,0],[586,1],[772,0],[775,0],[777,0],[778,1],[783,0],[968,0],[1163,0],[1165,0],[1169,0],[1174,0],[1175,0],[1362,1],[1366,1],[1370,0],[1371,0],[1556,0],[1564,1],[1752,1],[1755,0],[1756,0],[1763,1],[1948,0],[1953,1],[1954,0],[2145,1],[2146,0],[2154,1],[2338,1],[2341,1],[2342,1],[2345,0],[2350,1],[2351,1],[2538,1],[2539,1],[2543,0],[2544,1],[2742,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[1358,1359,1554,1555],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":15,"givens":[[2744,1],[2746,1],[2748,0],[2750,0],[2752,1],[2755,0],[2942,0],[2943,0],[2944,1],[2945,0],[3136,1],[3138,1],[3144,1],[3146,0],[3147,0],[3335,0],[3336,1],[3530,1],[3535,1],[3537,0],[3538,1],[3724,0],[3728,1],[3731,1],[3735,0],[3923,0],[3929,1],[3930,1],[4116,1],[4118,1],[4123,1],[4124,1],[4126,1],[4312,1],[4314,0],[4318,0],[4319,1],[4509,0],[4517,0],[4519,0],[4706,1],[4708,1],[4716,1],[4900,1],[4905,0],[4907,1],[4909,1],[4911,1],[4912,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[3730,3737,4906,4913],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":16,"givens":[[2759,0],[2763,1],[2766,0],[2767,0],[2769,0],[2954,1],[2956,1],[2958,0],[2962,0],[2963,0],[2965,0],[3152,0],[3155,1],[3160,0],[3346,1],[3349,1],[3354,0],[3355,0],[3542,1],[3544,0],[3546,1],[3550,0],[3551,0],[3553,0],[3740,1],[3934,0],[3935,0],[3941,1],[4135,1],[4139,0],[4140,1],[4142,0],[4326,1],[4328,1],[4329,1],[4335,1],[4336,0],[4337,1],[4338,1],[4524,1],[4529,1],[4533,1],[4723,1],[4724,1],[4727,0],[4730,1],[4916,1],[4919,1],[4925,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[3545,3554,3741,3750],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":5,"complete":false}},{"id":17,"givens":[[2771,0],[2773,0],[2774,0],[2776,1],[2778,1],[2779,1],[2967,0],[2969,0],[2971,1],[2973,1],[2975,1],[2976,1],[3165,1],[3169,1],[3361,0],[3364,1],[3366,1],[3371,1],[3560,0],[3564,1],[3566,0],[3751,0],[3752,0],[3754,0],[3755,0],[3757,0],[3761,0],[3952,0],[4142,0],[4144,0],[4145,0],[4147,0],[4148,0],[4151,1],[4338,1],[4339,1],[4343,1],[4350,0],[4547,1],[4730,1],[4735,1],[4736,1],[4738,1],[4927,0],[4928,1],[4933,1],[4936,1],[5126,1],[5132,0],[5134,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[2578,2586,2970,2978],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":18,"givens":[[2588,0],[2786,1],[2787,1],[2793,1],[2984,0],[2987,0],[2988,0],[3178,1],[3371,1],[3373,0],[3374,0],[3377,0],[3379,0],[3381,1],[3383,1],[3569,0],[3573,0],[3575,0],[3576,0],[3764,0],[3775,0],[3776,0],[3963,1],[3964,1],[3967,0],[3969,0],[3970,1],[3972,0],[4156,0],[4157,0],[4163,0],[4352,1],[4355,0],[4361,0],[4364,0],[4547,1],[4549,0],[4551,0],[4556,1],[4744,1],[4745,1],[4755,1],[4944,1],[4947,1],[4949,0],[5136,0],[5139,1],[5140,1],[5142,1],[5144,0],[5145,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[2783,2784,4939,4940],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":19,"givens":[[2602,0],[2797,1],[2799,1],[2800,1],[2802,1],[2805,0],[2993,0],[3001,0],[3002,0],[3003,1],[3004,0],[3189,1],[3192,1],[3194,1],[3195,1],[3200,0],[3387,0],[3584,0],[3587,1],[3589,0],[3592,0],[3776,0],[3786,1],[3972,0],[3975,0],[3980,0],[4170,1],[4173,1],[4364,0],[4370,0],[4373,1],[4561,1],[4563,1],[4564,1],[4567,1],[4569,1],[4570,0],[4758,0],[4764,1],[4766,0],[4955,1],[4956,0],[4957,1],[4958,1],[4961,1],[4964,0],[5149,1],[5152,1],[5158,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[2605,2612,5153,5160],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":20,"givens":[[2617,1],[2810,1],[2811,0],[2812,1],[2813,0],[2817,1],[2821,0],[2822,0],[3017,1],[3204,1],[3205,1],[3210,1],[3212,0],[3404,1],[3408,0],[3409,1],[3595,0],[3596,0],[3603,1],[3794,0],[3796,0],[3797,0],[3798,1],[3988,0],[3990,0],[3991,0],[3993,0],[3995,1],[4182,1],[4183,1],[4186,1],[4191,0],[4192,1],[4193,1],[4381,0],[4385,0],[4386,0],[4388,1],[4574,0],[4576,0],[4580,0],[4583,1],[4771,1],[4777,0],[4966,1],[4968,1],[4972,1],[4976,1],[5163,1],[5170,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[3009,3010,5165,5166],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":21,"givens":[[2822,0],[2824,1],[2825,0],[2826,1],[2828,0],[2829,0],[2831,1],[2833,1],[2835,0],[3019,1],[3020,0],[3023,1],[3025,0],[3026,1],[3027,1],[3030,0],[3412,0],[3414,0],[3418,1],[3419,1],[3610,0],[3612,1],[3615,1],[3617,0],[3618,1],[3803,1],[3807,0],[3810,0],[3814,1],[4003,1],[4005,0],[4195,1],[4201,0],[4203,1],[4205,0],[4206,0],[4394,1],[4400,0],[4401,0],[4587,0],[4590,1],[4593,0],[4597,1],[4783,0],[4784,1],[4980,1],[4982,1],[4983,1],[4987,0],[5181,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[2823,2834,5175,5186],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":22,"givens":[[2835,0],[2836,0],[2840,1],[2847,0],[3033,1],[3035,0],[3037,0],[3042,0],[3230,0],[3233,0],[3235,0],[3239,0],[3424,0],[3425,0],[3433,1],[3435,0],[3620,1],[3624,1],[3628,1],[3821,0],[3823,0],[3824,1],[4013,1],[4022,1],[4210,0],[4212,0],[4217,0],[4408,0],[4409,0],[4412,1],[4413,0],[4415,0],[4601,0],[4607,0],[4609,1],[4610,0],[4796,0],[4797,0],[4798,1],[4800,1],[4801,1],[4807,0],[4992,0],[4994,0],[4995,1],[4997,0],[4998,1],[4999,0],[5002,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[3427,3428,5191,5192],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":23,"givens":[[2655,1],[2851,0],[2856,0],[2857,0],[2860,0],[2861,0],[3045,0],[3047,0],[3049,0],[3050,1],[3053,0],[3056,0],[3241,0],[3245,0],[3247,1],[3440,1],[3446,0],[3637,0],[3639,0],[3830,0],[3835,1],[3840,0],[3841,0],[4027,1],[4029,1],[4030,1],[4034,1],[4036,0],[4221,1],[4222,0],[4225,1],[4229,1],[4231,0],[4417,0],[4425,1],[4426,1],[4613,0],[4617,1],[4618,0],[4811,1],[4813,0],[4814,0],[4819,1],[4820,1],[5006,1],[5007,1],[5009,0],[5011,0],[5013,1],[5016,1],[5212,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[2848,2850,3240,3242],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":24,"givens":[[2666,0],[2861,0],[2863,0],[2865,1],[2867,1],[2868,1],[2870,1],[2871,0],[3060,1],[3062,0],[3063,1],[3070,1],[3255,0],[3256,1],[3260,1],[3264,1],[3454,0],[3455,0],[3460,1],[3461,1],[3646,0],[3657,0],[3841,0],[3843,1],[3845,1],[3847,1],[3850,0],[4038,1],[4046,0],[4049,1],[4050,1],[4236,1],[4240,1],[4431,0],[4433,1],[4437,1],[4438,0],[4630,0],[4637,0],[4826,0],[4828,1],[4829,1],[4832,0],[4833,0],[5018,1],[5019,1],[5021,0],[5022,1],[5026,0],[5214,0],[5216,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[3449,3450,4821,4822],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":25,"givens":[[2875,0],[2877,0],[2878,0],[2879,1],[2882,0],[2883,0],[2886,0],[3070,1],[3071,1],[3082,1],[3083,0],[3271,0],[3277,0],[3463,1],[3470,1],[3661,1],[3662,0],[3665,1],[3668,0],[3855,1],[3857,1],[3858,1],[3864,1],[3865,1],[3867,0],[4050,1],[4052,0],[4054,1],[4056,0],[4060,1],[4248,1],[4249,1],[4250,0],[4252,0],[4255,0],[4259,0],[4443,1],[4447,0],[4448,1],[4450,1],[4641,0],[4642,0],[4836,0],[4837,0],[4841,1],[4843,0],[4845,0],[5034,1],[5037,0],[5038,1],[5227,0],[5231,1],[5232,1]],"blank":0.7295918367346939,"needs_unique":true,"needs_bifurcation":true,"flip":[3462,3475,3658,3671],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":26,"givens":[[2692,1],[2888,0],[2889,0],[2891,0],[2892,0],[2895,0],[2897,0],[2898,0],[2900,1],[3083,0],[3084,0],[3092,1],[3282,1],[3283,1],[3284,0],[3291,1],[3477,0],[3478,0],[3481,1],[3487,0],[3675,0],[3682,1],[3867,0],[3869,0],[3874,0],[3879,0],[4067,0],[4069,0],[4070,1],[4259,0],[4260,1],[4264,0],[4267,0],[4271,1],[4456,1],[4459,1],[4463,0],[4652,0],[4656,0],[4658,0],[4660,0],[4661,1],[4664,1],[4849,0],[4851,1],[4855,0],[4857,0],[4859,0],[5048,0],[5049,0],[5052,1],[5241,1]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[4847,4860,5043,5056],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":27,"givens":[[2716,0],[2900,1],[2908,0],[2909,0],[3097,0],[3101,1],[3103,0],[3104,1],[3106,1],[3296,0],[3299,0],[3300,0],[3489,0],[3491,0],[3496,0],[3497,0],[3687,1],[3690,1],[3692,1],[3693,0],[3694,0],[3882,0],[3884,0],[3885,0],[3889,1],[3893,0],[4079,0],[4084,1],[4088,0],[4273,1],[4276,0],[4281,1],[4283,1],[4285,0],[4471,1],[4473,1],[4475,1],[4477,0],[4480,1],[4664,1],[4670,0],[4676,0],[4863,1],[4864,1],[4867,1],[4869,1],[4871,1],[5057,0],[5058,0],[5062,0],[5063,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[3684,3685,3880,3881],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":28,"givens":[[2723,0],[2915,0],[2922,0],[2923,0],[2924,1],[2925,0],[2926,0],[3110,0],[3118,0],[3121,0],[3308,1],[3312,1],[3502,0],[3506,0],[3511,1],[3513,0],[3698,0],[3702,0],[3706,0],[3893,0],[3896,1],[3903,0],[3904,0],[3905,1],[4096,0],[4099,1],[4100,1],[4285,0],[4286,1],[4288,1],[4290,1],[4292,0],[4483,1],[4484,1],[4489,1],[4493,0],[4690,1],[4874,0],[4875,1],[4877,0],[4879,0],[4880,0],[4881,1],[4885,0],[5070,0],[5073,0],[5075,0],[5077,1],[5078,1],[5268,1],[5277,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[4873,4876,5069,5072],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":29,"givens":[[2742,0],[2926,0],[2927,0],[2929,0],[2930,0],[2931,1],[2932,1],[2935,0],[2938,0],[3127,0],[3319,1],[3321,1],[3324,1],[3326,1],[3328,1],[3330,0],[3331,0],[3516,0],[3523,0],[3524,0],[3711,0],[3715,0],[3716,0],[3722,1],[3908,0],[3909,1],[3916,1],[3919,1],[4103,1],[4108,1],[4299,1],[4301,1],[4498,0],[4502,0],[4504,1],[4507,1],[4690,1],[4692,0],[4694,0],[4696,1],[4698,0],[4700,1],[4703,1],[4891,0],[5083,0],[5089,0],[5090,0],[5094,1],[5095,1],[5279,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[3514,3527,3710,3723],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":30,"givens":[[5292,1],[5294,1],[5297,0],[5299,1],[5301,1],[5302,1],[5304,1],[5488,1],[5491,0],[5492,0],[5494,1],[5498,0],[5697,0],[5881,0],[5883,0],[5884,0],[5889,1],[5891,0],[6076,1],[6087,0],[6272,0],[6273,0],[6276,0],[6279,1],[6284,1],[6474,1],[6478,1],[6664,0],[6665,1],[6669,1],[6674,1],[6676,1],[6861,1],[6867,1],[6872,1],[7056,0],[7059,0],[7062,0],[7063,0],[7254,1],[7256,1],[7259,0],[7260,0],[7262,1],[7448,1],[7449,1],[7453,0],[7458,0],[7461,0],[7648,1],[7651,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[5880,5893,7252,7265],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":31,"givens":[[5306,1],[5309,0],[5310,0],[5312,1],[5316,1],[5318,1],[5510,0],[5511,0],[5697,0],[5698,0],[5706,1],[5707,0],[5896,0],[5898,1],[5899,0],[5900,0],[5904,1],[5906,1],[6286,1],[6293,0],[6294,0],[6296,0],[6298,1],[6485,1],[6487,1],[6682,0],[6685,0],[6689,0],[6690,0],[6874,1],[6875,1],[6876,0],[6882,0],[6885,0],[6886,0],[7070,0],[7074,0],[7077,1],[7079,1],[7270,0],[7273,0],[7276,0],[7461,0],[7463,1],[7465,1],[7468,0],[7471,1],[7661,1],[7664,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[7266,7278,7462,7474],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":32,"givens":[[5126,1],[5132,0],[5134,0],[5318,1],[5319,0],[5321,0],[5327,0],[5330,0],[5331,0],[5519,1],[5523,1],[5711,0],[5712,0],[5714,0],[5715,0],[5906,1],[5908,0],[5916,1],[5918,0],[5919,0],[6111,1],[6112,1],[6298,1],[6301,0],[6303,0],[6304,0],[6306,0],[6310,0],[6496,1],[6690,0],[6695,1],[6696,1],[6697,0],[6698,1],[6886,0],[6887,1],[6888,0],[6891,1],[6895,0],[7083,0],[7090,1],[7091,1],[7279,0],[7281,0],[7282,1],[7289,1],[7476,1],[7478,0],[7481,0],[7482,0],[7486,1],[7680,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[5524,5527,7484,7487],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":33,"givens":[[5136,0],[5139,1],[5140,1],[5142,1],[5144,0],[5145,0],[5331,0],[5332,1],[5334,1],[5335,1],[5337,1],[5338,1],[5339,0],[5340,1],[5343,1],[5344,0],[5724,1],[5725,0],[5727,1],[5731,0],[5735,0],[5919,0],[5922,0],[5924,1],[5925,0],[5927,0],[5931,0],[6116,0],[6119,1],[6312,0],[6316,1],[6321,0],[6511,1],[6515,1],[6517,0],[6705,0],[6707,1],[6708,1],[6712,0],[6904,1],[6906,1],[6908,1],[6909,0],[6911,0],[7097,0],[7293,1],[7296,1],[7303,0],[7488,1],[7496,1],[7497,1],[7499,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[7103,7104,7691,7692],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":34,"givens":[[5149,1],[5152,1],[5158,0],[5344,0],[5349,0],[5351,0],[5352,0],[5356,1],[5357,1],[5544,0],[5545,0],[5548,0],[5550,1],[5552,1],[5737,1],[5745,0],[5749,0],[5934,0],[5935,0],[5939,1],[6130,0],[6131,1],[6134,0],[6137,0],[6140,1],[6336,1],[6522,1],[6523,1],[6526,0],[6527,0],[6530,1],[6725,0],[6728,0],[6915,1],[6922,1],[7109,0],[7110,0],[7113,0],[7120,1],[7309,0],[7311,1],[7314,0],[7502,1],[7503,1],[7506,0],[7509,1],[7512,0],[7513,0],[7697,0],[7700,0],[7704,0],[7705,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[5346,5347,7698,7699],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":35,"givens":[[5163,1],[5170,0],[5357,1],[5362,0],[5364,1],[5554,0],[5564,1],[5749,0],[5750,1],[5752,0],[5753,1],[5754,1],[5756,1],[5757,1],[5947,1],[5948,1],[5950,1],[5951,1],[5953,1],[5956,0],[6147,1],[6150,0],[6152,0],[6339,1],[6340,0],[6341,0],[6730,1],[6732,1],[6734,1],[6739,1],[6740,1],[6926,1],[6927,1],[6932,1],[6933,1],[6937,0],[7123,1],[7124,1],[7126,0],[7129,0],[7318,1],[7320,1],[7326,1],[7328,1],[7513,0],[7517,0],[7519,0],[7525,0],[7710,1],[7712,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[5167,5168,7323,7324],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":36,"givens":[[5181,1],[5372,1],[5375,1],[5376,0],[5377,1],[5378,1],[5382,1],[5569,1],[5570,1],[5575,1],[5577,1],[5763,1],[5764,1],[5767,1],[5770,0],[5960,1],[5963,1],[5965,1],[5967,0],[5968,1],[5969,1],[6155,0],[6158,0],[6162,0],[6353,0],[6357,1],[6548,1],[6549,0],[6551,0],[6552,1],[6556,1],[6559,0],[6747,1],[6754,1],[6942,1],[6943,1],[6947,1],[7138,1],[7140,1],[7143,1],[7146,0],[7337,0],[7340,1],[7341,1],[7527,0],[7528,0],[7532,0],[7534,0],[7535,0],[7723,0],[7724,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[6361,6362,7733,7734],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":37,"givens":[[5386,1],[5387,1],[5389,0],[5391,1],[5393,0],[5395,0],[5580,0],[5582,0],[5586,1],[5591,0],[5780,0],[5785,1],[5787,1],[5975,1],[5979,0],[5981,1],[6168,0],[6170,1],[6171,1],[6173,0],[6175,0],[6366,1],[6367,0],[6368,1],[6370,0],[6559,0],[6560,0],[6566,0],[6757,1],[6764,0],[6765,0],[6952,0],[6956,1],[6957,0],[7149,1],[7152,0],[7156,0],[7158,1],[7344,0],[7345,1],[7348,0],[7352,1],[7355,1],[7356,1],[7540,1],[7546,1],[7549,0],[7552,0],[7736,0],[7744,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[5983,5984,6179,6180],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":4,"complete":true}},{"id":38,"givens":[[5212,0],[5401,0],[5406,1],[5407,1],[5593,0],[5594,0],[5602,0],[5603,1],[5604,1],[5605,0],[5791,0],[5794,1],[5796,1],[5798,0],[5985,0],[5987,1],[5990,1],[5993,1],[6185,0],[6189,0],[6190,1],[6379,0],[6383,0],[6384,1],[6574,0],[6576,0],[6577,0],[6579,1],[6580,0],[6581,1],[6770,1],[6774,1],[6775,0],[6778,0],[6779,0],[6781,0],[6965,0],[6975,1],[7161,0],[7170,1],[7172,1],[7356,1],[7358,0],[7359,1],[7362,0],[7363,1],[7364,0],[7552,0],[7553,0],[7557,1],[7561,1],[7759,1]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[6376,6377,6572,6573],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":5,"complete":false}},{"id":39,"givens":[[5214,0],[5216,1],[5410,0],[5411,1],[5414,0],[5415,0],[5421,0],[5605,0],[5610,0],[5613,0],[5615,0],[5616,0],[5617,1],[5803,1],[5804,1],[5808,1],[5810,0],[5812,0],[5998,1],[6003,0],[6196,1],[6197,0],[6198,1],[6205,0],[6206,1],[6391,0],[6592,0],[6593,1],[6596,0],[6781,0],[6782,0],[6785,0],[6786,0],[6787,1],[6789,0],[6794,1],[6978,0],[6979,1],[6983,0],[6987,1],[6988,1],[7179,0],[7373,1],[7377,0],[7378,0],[7380,1],[7382,1],[7567,0],[7571,0],[7572,1],[7574,0],[7767,1]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[5801,5809,6977,6985],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":40,"givens":[[5227,0],[5231,1],[5232,1],[5423,1],[5434,1],[5619,1],[5626,1],[5628,0],[5631,1],[5816,1],[5818,1],[5820,1],[5823,0],[5824,0],[5826,0],[6011,1],[6020,1],[6206,1],[6209,0],[6212,1],[6214,1],[6217,1],[6404,0],[6405,0],[6407,0],[6412,0],[6415,1],[6604,1],[6608,1],[6610,0],[6794,1],[6802,0],[6993,0],[6996,1],[6998,0],[7000,0],[7190,1],[7191,1],[7193,1],[7197,1],[7382,1],[7383,1],[7386,1],[7390,1],[7580,1],[7581,1],[7585,1],[7586,0],[7589,0],[7783,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[5422,5431,5618,5627],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":41,"givens":[[5241,1],[5441,0],[5442,0],[5631,1],[5632,0],[5633,0],[5635,0],[5640,0],[5643,1],[5834,0],[5835,0],[5838,0],[6025,1],[6033,1],[6223,0],[6224,0],[6228,1],[6229,1],[6415,1],[6416,0],[6418,0],[6421,0],[6613,1],[6614,0],[6618,1],[6619,1],[6816,1],[6817,0],[7010,1],[7011,0],[7012,0],[7015,1],[7200,1],[7205,1],[7207,0],[7210,0],[7399,1],[7401,0],[7404,1],[7407,1],[7592,1],[7594,0],[7596,0],[7597,0],[7601,1],[7603,1],[7604,1],[7792,0],[7796,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[7199,7208,7591,7600],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":42,"givens":[[5449,0],[5450,1],[5454,1],[5455,1],[5460,0],[5645,0],[5646,0],[5648,0],[5650,0],[5651,1],[5653,0],[5842,0],[5844,0],[5851,1],[5853,0],[6037,1],[6041,0],[6046,0],[6238,0],[6240,1],[6242,0],[6244,0],[6430,1],[6431,1],[6440,0],[6625,1],[6630,0],[6633,0],[6821,1],[6822,1],[6824,0],[6831,1],[7021,1],[7025,0],[7027,1],[7029,1],[7213,0],[7214,0],[7220,0],[7415,1],[7416,1],[7418,1],[7420,0],[7604,1],[7606,0],[7610,0],[7612,0],[7613,0],[7802,0],[7806,1],[7811,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[5257,5258,5845,5846],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":43,"givens":[[5268,1],[5277,1],[5462,1],[5463,0],[5468,0],[5469,1],[5473,1],[5474,0],[5658,0],[5660,1],[5666,1],[5669,0],[5853,0],[5855,0],[5856,1],[5858,1],[5860,1],[5865,1],[6050,0],[6055,0],[6060,0],[6442,1],[6450,0],[6453,0],[6640,1],[6642,0],[6643,1],[6648,0],[6650,1],[6834,1],[6837,0],[6840,0],[6842,1],[7029,1],[7030,1],[7032,1],[7039,0],[7229,0],[7232,1],[7235,0],[7236,0],[7425,0],[7619,0],[7620,0],[7622,1],[7624,1],[7627,0],[7629,1],[7823,0],[7825,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[6054,6062,6250,6258],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":44,"givens":[[5279,1],[5474,0],[5479,0],[5484,1],[5485,0],[5486,0],[5671,1],[5678,1],[5681,1],[5868,1],[5869,0],[5870,0],[5872,0],[5874,0],[6066,1],[6072,0],[6259,1],[6261,1],[6262,0],[6263,1],[6264,0],[6270,1],[6271,1],[6456,0],[6461,0],[6463,0],[6650,1],[6662,1],[6847,0],[6849,1],[6850,0],[6854,1],[7045,0],[7046,0],[7047,1],[7050,1],[7051,0],[7053,0],[7439,0],[7442,1],[7444,1],[7445,1],[7632,0],[7633,0],[7634,1],[7636,1],[7637,0],[7639,0],[7827,0],[7828,0],[7837,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[7434,7447,7630,7643],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":true}},{"id":45,"givens":[[7648,1],[7651,1],[7840,1],[7842,0],[7847,1],[7849,0],[7852,1],[8037,0],[8041,0],[8046,1],[8232,0],[8233,0],[8235,1],[8239,0],[8241,1],[8245,0],[8434,1],[8627,1],[8631,1],[8632,1],[8820,1],[8823,1],[8831,0],[8833,0],[9016,1],[9021,1],[9022,0],[9024,0],[9025,1],[9217,1],[9219,0],[9223,0],[9409,1],[9417,1],[9418,1],[9419,0],[9421,1],[9606,1],[9607,0],[9616,0],[9804,1],[9805,1],[9807,1],[9810,0],[9812,0],[10005,1],[10194,1],[10200,0],[10203,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[9801,9813,9997,10009],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":46,"givens":[[7661,1],[7664,0],[7854,1],[7858,1],[7860,1],[7863,1],[7864,1],[7866,1],[8053,0],[8057,0],[8061,0],[8245,0],[8247,1],[8249,0],[8252,0],[8443,1],[8447,1],[8448,1],[8451,0],[8453,1],[8642,0],[8644,1],[8646,1],[8833,0],[8837,1],[9032,1],[9034,0],[9037,1],[9039,1],[9226,1],[9231,1],[9232,0],[9421,1],[9424,0],[9425,0],[9426,1],[9433,1],[9619,0],[9624,0],[9629,0],[9814,1],[9818,1],[9821,0],[9822,0],[10011,0],[10014,1],[10019,1],[10020,1],[10217,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[9429,9434,9625,9630],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":47,"givens":[[7680,0],[7866,1],[7869,0],[7870,0],[7872,1],[7875,1],[7876,1],[7878,1],[8063,1],[8064,1],[8071,1],[8262,0],[8266,0],[8268,1],[8270,1],[8456,1],[8458,1],[8463,1],[8651,0],[8653,1],[8658,0],[8660,0],[8661,0],[8663,0],[8847,0],[8848,0],[8852,0],[9049,1],[9050,0],[9052,0],[9054,0],[9239,0],[9243,0],[9250,1],[9251,1],[9435,0],[9437,1],[9439,0],[9440,1],[9446,1],[9632,1],[9640,0],[9833,0],[9838,0],[10023,0],[10027,0],[10028,0],[10031,1],[10032,1],[10035,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[9438,9447,9634,9643],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":true}},{"id":48,"givens":[[7880,1],[7882,0],[7883,0],[7889,0],[8080,1],[8081,0],[8082,1],[8083,1],[8085,1],[8086,1],[8273,1],[8278,1],[8280,1],[8475,1],[8476,1],[8479,0],[8663,0],[8665,0],[8667,1],[8862,1],[8863,1],[8865,0],[8868,0],[8870,1],[9056,0],[9059,0],[9063,0],[9065,1],[9251,1],[9255,1],[9256,1],[9450,1],[9452,1],[9459,0],[9460,0],[9644,1],[9646,1],[9649,0],[9655,0],[9840,1],[9842,0],[9845,0],[9848,1],[9850,0],[10035,1],[10036,0],[10037,0],[10042,1],[10045,1],[10235,1],[10243,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[9843,9852,10039,10048],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":49,"givens":[[7697,0],[7700,0],[7704,0],[7705,0],[7893,0],[7894,0],[7896,1],[7897,0],[7902,0],[8093,0],[8097,0],[8100,0],[8290,0],[8291,1],[8292,1],[8294,1],[8295,1],[8481,1],[8482,0],[8678,0],[8681,1],[8685,0],[8686,1],[8873,1],[8875,0],[8876,1],[9070,0],[9073,0],[9075,1],[9079,0],[9265,1],[9269,0],[9270,0],[9272,0],[9275,0],[9460,0],[9461,1],[9462,0],[9467,0],[9664,1],[9668,0],[9853,0],[9857,1],[10049,1],[10051,1],[10052,1],[10056,1],[10058,1],[10060,0],[10248,1],[10253,1],[10256,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[8284,8288,8480,8484],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":50,"givens":[[7710,1],[7712,0],[7907,1],[7909,0],[7911,0],[7915,1],[7916,1],[7918,0],[8102,0],[8107,0],[8109,0],[8111,0],[8112,1],[8307,1],[8494,0],[8497,1],[8501,0],[8505,0],[8690,0],[8701,0],[8891,1],[8892,1],[8897,1],[9085,1],[9089,1],[9090,0],[9091,0],[9093,0],[9094,0],[9285,0],[9289,0],[9475,1],[9478,0],[9483,0],[9484,0],[9671,1],[9674,0],[9678,1],[9681,0],[9867,0],[9868,0],[9871,0],[9872,0],[10063,1],[10070,1],[10074,1],[10259,1],[10262,1],[10264,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[7906,7908,10258,10260],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":51,"givens":[[7723,0],[7724,0],[7918,0],[7920,0],[7921,0],[7924,1],[7925,1],[8115,1],[8119,1],[8122,0],[8312,0],[8316,0],[8317,0],[8318,1],[8321,0],[8513,0],[8514,0],[8518,1],[8703,1],[8704,0],[8707,0],[8713,0],[8908,1],[8909,0],[9094,0],[9095,1],[9098,1],[9099,1],[9104,0],[9107,0],[9291,1],[9296,0],[9297,1],[9488,1],[9489,1],[9495,1],[9497,1],[9687,0],[9688,0],[9689,1],[9690,0],[9880,1],[9882,1],[9886,1],[10074,1],[10079,0],[10081,0],[10085,0],[10086,1],[10275,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[10076,10084,10272,10280],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":52,"givens":[[7736,0],[7744,1],[7933,1],[7938,1],[7939,1],[7941,1],[7942,1],[8129,1],[8130,1],[8132,1],[8135,0],[8139,0],[8324,0],[8330,0],[8525,1],[8528,1],[8716,0],[8718,1],[8719,1],[8722,1],[8917,0],[8921,1],[8923,0],[8924,1],[9107,0],[9109,1],[9110,0],[9113,1],[9114,0],[9119,0],[9304,1],[9313,1],[9500,1],[9504,1],[9505,1],[9507,1],[9508,1],[9511,1],[9699,1],[9702,1],[9893,0],[9895,1],[9896,1],[9899,0],[9901,1],[9903,0],[10088,0],[10089,0],[10092,1],[10096,1],[10293,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[7743,7745,9703,9705],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":53,"givens":[[7759,1],[7945,1],[7946,1],[7947,0],[7950,1],[7951,1],[7953,1],[8144,1],[8147,1],[8150,1],[8151,0],[8152,1],[8342,1],[8534,1],[8542,1],[8544,0],[8730,1],[8731,1],[8734,1],[8736,0],[8924,1],[8925,1],[8931,1],[8934,0],[9124,1],[9129,1],[9131,1],[9133,0],[9318,1],[9320,1],[9321,0],[9325,1],[9513,1],[9518,1],[9519,0],[9713,1],[9716,0],[9720,0],[9721,0],[9905,0],[9906,0],[9914,1],[9916,0],[10103,0],[10104,1],[10105,1],[10107,1],[10297,1],[10308,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[9120,9132,9316,9328],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":54,"givens":[[7767,1],[7958,0],[7960,1],[7961,0],[7964,1],[7965,0],[7968,1],[7970,1],[8156,1],[8157,1],[8165,0],[8353,1],[8356,0],[8357,0],[8547,1],[8553,0],[8556,0],[8746,0],[8750,1],[8751,0],[8754,0],[8939,1],[8941,1],[8942,0],[8950,1],[9133,0],[9135,1],[9141,1],[9145,0],[9330,0],[9333,0],[9334,1],[9336,0],[9338,0],[9339,1],[9340,1],[9526,0],[9527,0],[9538,0],[9721,0],[9722,1],[9731,0],[9922,0],[9925,1],[9926,1],[9928,1],[10114,1],[10120,1],[10122,1],[10125,1],[10126,1],[10312,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[7957,7959,8349,8351],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":true}},{"id":55,"givens":[[7783,0],[7970,1],[7971,1],[7973,1],[7974,1],[7976,1],[7978,1],[8168,0],[8170,1],[8173,0],[8174,0],[8175,1],[8177,1],[8363,0],[8365,0],[8369,1],[8370,1],[8374,0],[8375,1],[8559,0],[8560,0],[8566,1],[8569,0],[8570,0],[8754,0],[8756,0],[8760,1],[8950,1],[8956,0],[8959,0],[8962,0],[9148,1],[9150,1],[9151,1],[9343,0],[9354,1],[9538,0],[9540,0],[9546,0],[9550,1],[9737,1],[9739,1],[9741,0],[9932,0],[9935,0],[9940,0],[9941,0],[10126,1],[10130,0],[10134,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[9734,9740,9930,9936],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":6,"complete":false}},{"id":56,"givens":[[7792,0],[7796,0],[7984,0],[7994,0],[7995,1],[8180,0],[8183,1],[8188,0],[8190,0],[8375,1],[8379,1],[8381,1],[8385,1],[8572,0],[8573,0],[8579,1],[8583,1],[8770,0],[8771,1],[8774,1],[8775,0],[8776,1],[8777,1],[8779,1],[8967,1],[8970,1],[9160,0],[9162,0],[9170,0],[9359,1],[9360,0],[9365,1],[9552,0],[9554,0],[9562,0],[9749,1],[9751,1],[9753,1],[9754,1],[9755,0],[9757,0],[9758,1],[9944,0],[9946,1],[9950,0],[9951,0],[9956,1],[10143,1],[10144,1],[10150,1],[10340,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[9159,9165,9355,9361],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":6,"complete":true}},{"id":57,"givens":[[7802,0],[7806,1],[7811,0],[8000,0],[8003,1],[8006,1],[8007,0],[8009,1],[8193,0],[8195,0],[8196,0],[8200,0],[8204,0],[8389,1],[8390,0],[8394,1],[8398,1],[8400,1],[8590,1],[8782,0],[8784,0],[8787,1],[8791,1],[8977,1],[8978,1],[8984,0],[8985,0],[8988,0],[8989,0],[9177,0],[9181,0],[9184,0],[9372,1],[9375,1],[9566,1],[9567,1],[9762,1],[9765,1],[9769,1],[9771,1],[9772,1],[9956,1],[9961,1],[9965,0],[10153,0],[10157,0],[10158,0],[10159,1],[10353,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[8584,8585,8780,8781],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":58,"givens":[[7823,0],[7825,0],[8009,1],[8011,0],[8012,0],[8014,0],[8015,0],[8016,1],[8017,0],[8018,0],[8021,1],[8207,0],[8214,1],[8402,0],[8408,1],[8602,1],[8609,0],[8795,1],[8796,1],[8800,1],[8801,1],[8803,1],[8804,1],[8989,0],[8997,1],[9001,1],[9191,1],[9196,1],[9383,0],[9386,0],[9389,1],[9390,1],[9393,0],[9578,0],[9581,0],[9585,1],[9589,0],[9774,1],[9775,0],[9779,1],[9780,1],[9970,1],[9972,1],[9973,0],[9979,1],[10170,0],[10171,0],[10174,0],[10363,1],[10364,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[9577,9580,9773,9776],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":59,"givens":[[7827,0],[7828,0],[7837,1],[8028,1],[8032,1],[8034,0],[8035,1],[8220,1],[8223,0],[8417,0],[8420,0],[8427,0],[8611,1],[8615,0],[8618,1],[8620,1],[8623,1],[8809,1],[8811,0],[8816,1],[8817,0],[8818,1],[8819,1],[9009,0],[9200,0],[9206,1],[9208,1],[9210,0],[9397,1],[9401,1],[9404,1],[9407,1],[9591,0],[9595,0],[9602,0],[9787,1],[9790,0],[9796,1],[9799,1],[9986,0],[9987,0],[9989,0],[9992,1],[9993,0],[10179,1],[10181,1],[10184,1],[10187,0],[10383,0],[10384,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[8022,8023,9394,9395],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":60,"givens":[[10194,1],[10200,0],[10203,0],[10391,0],[10396,1],[10397,0],[10398,0],[10400,0],[10584,1],[10586,1],[10590,1],[10592,0],[10595,1],[10783,0],[10976,0],[10979,0],[10982,1],[10985,0],[10988,0],[11178,0],[11181,0],[11184,0],[11368,0],[11371,1],[11372,1],[11567,0],[11569,1],[11572,1],[11762,1],[11765,1],[11766,1],[11772,0],[11958,1],[11960,1],[11962,0],[11966,1],[11968,1],[12157,1],[12348,0],[12349,0],[12353,1],[12354,0],[12355,1],[12356,0],[12546,0],[12547,1],[12551,1],[12552,1],[12745,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[11375,11381,11571,11577],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":61,"givens":[[10217,1],[10403,1],[10407,1],[10408,1],[10412,1],[10598,1],[10600,1],[10605,1],[10609,0],[10795,0],[10796,0],[10799,0],[10990,0],[10994,0],[10997,0],[10999,1],[11000,1],[11001,0],[11002,0],[11186,0],[11188,0],[11384,1],[11387,1],[11392,1],[11393,1],[11578,0],[11582,1],[11588,1],[11776,1],[11780,1],[11974,1],[11977,0],[11978,0],[11982,0],[12166,1],[12171,0],[12172,0],[12175,1],[12176,0],[12558,1],[12560,1],[12563,0],[12564,0],[12566,0],[12569,1],[12570,1],[12754,1],[12756,1],[12758,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[11581,11590,11777,11786],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":62,"givens":[[10416,1],[10417,1],[10420,0],[10421,0],[10424,0],[10426,0],[10611,0],[10615,0],[10616,1],[10617,0],[10623,0],[10809,1],[10815,0],[10816,0],[10818,0],[11002,0],[11003,0],[11008,0],[11011,1],[11014,0],[11199,0],[11396,1],[11398,1],[11401,1],[11592,0],[11594,1],[11596,0],[11602,1],[11787,1],[11788,1],[11792,1],[11798,1],[11982,0],[11983,1],[11986,1],[11989,1],[11992,0],[12180,0],[12184,1],[12185,1],[12190,0],[12378,0],[12379,0],[12384,1],[12387,1],[12570,1],[12571,0],[12572,1],[12573,0],[12582,0],[12769,1],[12777,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[12577,12578,12773,12774],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":63,"givens":[[10235,1],[10243,0],[10430,1],[10431,1],[10433,0],[10437,0],[10623,0],[10626,0],[10632,1],[10635,0],[10820,1],[10824,1],[10830,0],[10831,0],[11018,1],[11022,1],[11212,0],[11213,0],[11217,0],[11221,1],[11408,0],[11413,0],[11415,0],[11416,0],[11610,0],[11611,0],[11803,0],[11806,0],[11808,0],[11809,0],[11996,1],[11997,0],[11998,0],[12193,0],[12194,0],[12197,0],[12200,1],[12202,1],[12203,0],[12387,1],[12390,1],[12393,1],[12397,0],[12399,0],[12400,0],[12585,1],[12586,0],[12589,0],[12591,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[11995,12008,12191,12204],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":64,"givens":[[10248,1],[10253,1],[10256,0],[10443,1],[10444,1],[10447,1],[10449,1],[10450,0],[10451,0],[10637,0],[10638,0],[10639,1],[10644,0],[10648,1],[10833,0],[10841,0],[10843,1],[10844,0],[11031,0],[11033,0],[11036,1],[11225,0],[11228,1],[11235,1],[11421,0],[11427,1],[11428,0],[11430,1],[11618,1],[11628,0],[11629,0],[11813,0],[11815,0],[11820,1],[11821,1],[12009,0],[12020,1],[12207,0],[12208,0],[12211,0],[12215,0],[12400,0],[12405,0],[12407,0],[12597,0],[12598,0],[12604,0],[12605,0],[12606,1],[12607,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[11230,11237,12210,12217],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":8,"complete":true}},{"id":65,"givens":[[10259,1],[10262,1],[10264,0],[10455,1],[10456,1],[10458,1],[10459,1],[10465,0],[10655,1],[10659,0],[10660,0],[10846,0],[10848,1],[10858,1],[11042,0],[11045,1],[11049,0],[11050,1],[11053,1],[11239,1],[11242,0],[11243,1],[11246,1],[11435,0],[11439,1],[11441,0],[11444,1],[11629,0],[11630,0],[11633,1],[11638,1],[11641,1],[11836,0],[11838,1],[12022,0],[12024,1],[12025,1],[12027,1],[12032,1],[12218,0],[12220,0],[12224,0],[12227,1],[12229,1],[12416,1],[12417,1],[12424,0],[12610,0],[12612,1],[12615,0],[12617,1],[12619,1],[12807,0],[12815,0]],"blank":0.7244897959183674,"needs_unique":true,"needs_bifurcation":true,"flip":[10268,10269,11248,11249],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":66,"givens":[[10275,1],[10468,0],[10469,0],[10474,0],[10478,1],[10664,1],[10668,1],[10669,0],[10671,1],[10858,1],[10860,1],[10861,1],[10866,0],[10867,1],[11055,0],[11061,0],[11065,0],[11252,0],[11255,0],[11258,1],[11260,0],[11261,0],[11449,0],[11455,1],[11643,0],[11650,1],[11652,1],[11654,1],[11838,1],[11840,1],[11841,1],[11842,0],[11844,0],[11847,1],[11849,1],[11850,0],[12036,0],[12039,0],[12040,0],[12045,0],[12234,0],[12239,1],[12240,1],[12242,1],[12243,1],[12427,1],[12626,0],[12628,1],[12629,1],[12635,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[12230,12232,12426,12428],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":67,"givens":[[10293,0],[10481,0],[10483,1],[10486,0],[10680,0],[10681,1],[10686,1],[10687,1],[10875,1],[10876,1],[10878,1],[10882,1],[11068,0],[11069,0],[11073,1],[11075,1],[11079,0],[11264,0],[11265,0],[11272,1],[11274,0],[11463,0],[11465,0],[11467,0],[11472,0],[11665,0],[11666,1],[11852,0],[11855,0],[11857,1],[12048,0],[12050,1],[12052,1],[12053,1],[12055,1],[12059,0],[12243,1],[12250,1],[12253,1],[12254,1],[12440,0],[12446,0],[12447,0],[12449,0],[12635,1],[12640,1],[12643,1],[12646,1],[12833,1],[12835,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[10675,10677,12047,12049],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":5,"complete":false}},{"id":68,"givens":[[10297,1],[10308,0],[10493,0],[10495,1],[10496,1],[10497,0],[10503,1],[10504,0],[10692,0],[10695,1],[10697,1],[10699,1],[10886,1],[10887,0],[10890,1],[10891,1],[10893,1],[10896,1],[11085,1],[11088,1],[11092,0],[11280,1],[11288,1],[11472,0],[11473,0],[11478,0],[11482,1],[11669,1],[11675,1],[11679,1],[11680,1],[11867,1],[11869,0],[11870,0],[11873,1],[12066,0],[12072,1],[12259,1],[12263,1],[12267,1],[12268,1],[12453,0],[12454,0],[12459,1],[12463,0],[12653,0],[12657,0],[12845,0],[12855,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[12658,12660,12854,12856],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":69,"givens":[[10312,0],[10508,1],[10511,1],[10513,1],[10703,1],[10710,1],[10713,1],[10898,1],[10900,0],[10903,0],[10905,0],[10907,1],[10909,1],[11098,1],[11101,0],[11290,1],[11296,1],[11301,1],[11302,1],[11488,1],[11491,1],[11493,0],[11682,1],[11683,0],[11687,1],[11690,1],[11691,1],[11884,0],[11889,1],[12074,1],[12075,1],[12076,0],[12077,1],[12271,1],[12274,0],[12276,1],[12278,1],[12279,1],[12468,1],[12472,0],[12473,1],[12476,0],[12662,0],[12665,1],[12666,1],[12668,1],[12669,1],[12671,1],[12860,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[10897,10899,11093,11095],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":70,"givens":[[10519,0],[10520,0],[10522,1],[10526,1],[10717,0],[10720,1],[10723,0],[10727,1],[10913,1],[10915,1],[10919,0],[10921,0],[10922,0],[10923,1],[11108,0],[11109,1],[11111,0],[11118,0],[11302,1],[11304,0],[11308,1],[11309,0],[11310,0],[11313,0],[11508,1],[11696,0],[11701,0],[11704,1],[11705,0],[11891,1],[11897,0],[11898,0],[11901,0],[12087,1],[12089,0],[12091,0],[12092,0],[12094,0],[12096,1],[12285,1],[12286,0],[12292,0],[12293,0],[12295,0],[12479,1],[12480,0],[12486,1],[12487,1],[12490,0],[12677,0],[12680,1],[12686,0],[12687,1]],"blank":0.7295918367346939,"needs_unique":true,"needs_bifurcation":true,"flip":[12282,12288,12478,12484],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":71,"givens":[[10340,1],[10533,1],[10536,1],[10537,1],[10538,0],[10540,0],[10543,1],[10727,1],[10728,1],[10730,0],[10733,1],[10734,1],[10737,1],[10739,1],[10923,1],[10924,1],[11127,0],[11131,0],[11316,0],[11317,1],[11321,0],[11325,0],[11514,1],[11516,0],[11519,1],[11521,1],[11524,0],[11715,1],[11719,1],[11913,1],[11914,0],[12100,1],[12102,0],[12107,1],[12109,0],[12110,0],[12295,0],[12301,0],[12305,0],[12494,0],[12496,0],[12498,1],[12687,1],[12688,0],[12691,0],[12696,0],[12697,0],[12700,0],[12884,0],[12890,0],[12895,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[11315,11319,11511,11515],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":72,"givens":[[10353,1],[10546,0],[10549,0],[10552,0],[10553,0],[10555,0],[10741,1],[10743,0],[10746,1],[10942,1],[10945,1],[10947,1],[10948,0],[11133,0],[11134,0],[11145,1],[11329,1],[11331,1],[11332,1],[11337,0],[11340,0],[11524,0],[11526,1],[11531,1],[11721,1],[11722,1],[11723,0],[11727,1],[11728,1],[11731,1],[11926,1],[11928,1],[12113,1],[12116,0],[12316,0],[12318,0],[12319,0],[12320,1],[12507,0],[12508,0],[12511,1],[12514,0],[12700,0],[12701,0],[12702,1],[12703,0],[12708,0],[12709,0],[12712,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[10545,10557,10937,10949],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":73,"givens":[[10363,1],[10364,1],[10558,1],[10559,1],[10561,1],[10564,1],[10565,1],[10757,1],[10758,0],[10759,0],[10764,1],[10957,0],[10959,0],[11145,1],[11150,0],[11152,1],[11343,0],[11344,1],[11346,1],[11347,0],[11350,1],[11351,1],[11539,0],[11542,1],[11545,1],[11548,1],[11734,1],[11739,0],[11741,0],[11743,0],[11936,1],[11939,0],[11940,0],[11942,0],[12126,1],[12128,1],[12130,1],[12133,1],[12323,1],[12330,0],[12334,0],[12519,1],[12520,1],[12522,1],[12716,1],[12723,1],[12724,1],[12726,1],[12912,0],[12921,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[12321,12322,12713,12714],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":74,"givens":[[10383,0],[10384,0],[10571,1],[10573,1],[10576,1],[10579,1],[10580,0],[10582,1],[10583,1],[10767,0],[10769,1],[10770,1],[10775,0],[10779,1],[10970,1],[10973,1],[11161,1],[11162,1],[11165,1],[11167,0],[11168,0],[11171,1],[11355,0],[11356,0],[11358,1],[11360,1],[11551,1],[11563,1],[11750,0],[11752,0],[11753,0],[11759,0],[11942,0],[11944,1],[11955,0],[12150,1],[12334,0],[12337,0],[12338,0],[12341,0],[12535,0],[12541,0],[12726,1],[12727,1],[12729,0],[12732,1],[12738,1],[12739,1],[12923,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[10962,10963,11158,11159],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":75,"givens":[[12745,1],[12936,0],[12938,0],[12940,0],[12945,1],[12947,0],[13134,0],[13138,1],[13140,0],[13338,0],[13524,1],[13525,1],[13530,0],[13531,1],[13532,1],[13535,1],[13721,1],[13722,0],[13723,1],[13916,0],[13921,1],[13922,1],[13926,0],[13927,0],[14112,1],[14114,1],[14117,1],[14118,1],[14120,1],[14124,0],[14311,0],[14312,1],[14506,0],[14507,0],[14513,0],[14700,1],[14706,0],[14708,1],[14709,1],[14896,1],[14898,1],[14907,1],[15095,0],[15097,0],[15099,0],[15102,0],[15104,1],[15289,1],[15297,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[13720,13733,14308,14321],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":76,"givens":[[12754,1],[12756,1],[12758,1],[12954,1],[12956,1],[12957,0],[12960,1],[12961,1],[13146,1],[13148,1],[13149,1],[13151,1],[13153,0],[13158,1],[13348,1],[13353,1],[13354,0],[13541,1],[13544,1],[13546,1],[13547,1],[13549,1],[13734,1],[13738,1],[13741,1],[13742,1],[13744,1],[13931,1],[13941,1],[14126,1],[14131,1],[14133,1],[14134,1],[14322,0],[14331,1],[14521,1],[14523,0],[14526,0],[14528,1],[14530,0],[14716,0],[14718,1],[14720,1],[14726,0],[14910,0],[14912,0],[14918,1],[14919,1],[15106,0],[15109,1],[15113,0],[15302,1],[15313,0]],"blank":0.7295918367346939,"needs_unique":true,"needs_bifurcation":true,"flip":[13543,13550,13739,13746],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":77,"givens":[[12769,1],[12777,0],[12964,1],[12970,1],[13158,1],[13159,0],[13161,1],[13164,0],[13166,1],[13168,0],[13169,0],[13354,0],[13355,0],[13363,1],[13555,1],[13560,0],[13748,1],[13753,1],[13754,0],[13755,1],[13758,1],[13759,1],[13948,0],[13952,0],[14139,1],[14141,1],[14337,0],[14338,1],[14339,1],[14340,0],[14342,0],[14343,1],[14345,1],[14530,0],[14531,0],[14533,0],[14538,1],[14726,0],[14728,0],[14736,1],[14739,1],[14924,1],[14928,0],[14930,0],[14931,0],[14934,1],[15122,0],[15124,1],[15127,0],[15131,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[13942,13955,14138,14151],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":78,"givens":[[12978,1],[12979,1],[12981,0],[12985,0],[12987,0],[13172,0],[13177,0],[13178,0],[13182,0],[13370,1],[13373,1],[13374,0],[13569,0],[13759,1],[13760,1],[13762,1],[13764,1],[13767,0],[13771,0],[13967,0],[14152,0],[14153,0],[14156,1],[14158,1],[14160,0],[14162,0],[14351,1],[14354,1],[14355,1],[14358,1],[14544,0],[14547,1],[14553,0],[14739,1],[14741,1],[14742,1],[14744,1],[14747,1],[14748,1],[14751,1],[14938,0],[14941,0],[14943,0],[15131,0],[15135,1],[15139,0],[15142,1],[15143,1],[15329,1],[15331,0],[15338,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[13963,13968,14159,14164],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":79,"givens":[[12990,0],[12991,0],[12996,1],[12998,0],[13185,0],[13186,0],[13188,1],[13194,0],[13381,0],[13386,1],[13388,0],[13578,0],[13579,1],[13581,0],[13586,0],[13587,0],[13775,0],[13778,1],[13783,1],[13784,0],[13785,1],[13970,0],[13972,1],[13974,1],[13975,1],[13979,0],[13980,1],[14165,0],[14166,0],[14176,1],[14366,1],[14368,1],[14369,1],[14370,0],[14557,0],[14558,0],[14563,0],[14564,0],[14755,0],[14756,1],[14757,1],[14952,1],[14956,0],[14957,0],[14960,1],[14961,1],[15146,1],[15147,1],[15150,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[14948,14953,15144,15149],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":80,"givens":[[12807,0],[12815,0],[13003,0],[13006,1],[13007,1],[13009,0],[13013,1],[13014,0],[13200,1],[13203,0],[13204,0],[13209,1],[13394,0],[13398,0],[13399,0],[13402,1],[13597,1],[13598,0],[13785,1],[13787,1],[13791,1],[13792,0],[13982,1],[13983,1],[13993,1],[14180,1],[14182,0],[14186,0],[14188,0],[14374,1],[14377,1],[14379,1],[14380,1],[14382,0],[14573,1],[14577,0],[14582,0],[14766,1],[14768,1],[14770,0],[14776,1],[14961,1],[14963,0],[14965,0],[14966,0],[14968,0],[14971,1],[14973,1],[15158,1],[15363,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[12813,12814,15165,15166],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":81,"givens":[[13014,0],[13016,0],[13022,1],[13024,0],[13026,0],[13027,1],[13211,1],[13213,1],[13214,1],[13218,1],[13222,0],[13415,0],[13605,1],[13608,1],[13610,1],[13614,0],[13802,1],[13803,0],[13808,0],[13810,0],[13995,0],[13996,0],[13998,0],[13999,0],[14001,0],[14002,0],[14006,1],[14194,0],[14393,0],[14395,0],[14398,1],[14582,0],[14584,1],[14586,0],[14587,1],[14589,0],[14594,0],[14781,0],[14782,0],[14786,0],[14788,1],[14977,0],[14981,0],[14983,1],[14986,1],[15171,1],[15172,0],[15175,0],[15177,0],[15178,1],[15367,0],[15375,1],[15376,1]],"blank":0.7295918367346939,"needs_unique":true,"needs_bifurcation":true,"flip":[14985,14987,15181,15183],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":82,"givens":[[12833,1],[12835,0],[13027,1],[13028,1],[13030,1],[13032,0],[13036,0],[13037,0],[13224,1],[13424,1],[13427,1],[13430,0],[13431,0],[13618,0],[13621,0],[13622,1],[13625,0],[13627,1],[13820,1],[13823,0],[14009,0],[14010,0],[14012,0],[14018,0],[14019,0],[14206,1],[14210,0],[14215,1],[14216,0],[14401,0],[14404,0],[14406,0],[14407,0],[14596,1],[14597,0],[14599,0],[14605,0],[14607,1],[14793,1],[14797,0],[14799,1],[14988,1],[14996,0],[14998,0],[15186,0],[15187,0],[15190,0],[15192,0],[15194,0],[15386,0],[15389,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[13615,13617,13811,13813],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":83,"givens":[[12845,0],[12855,0],[13043,1],[13044,1],[13046,0],[13052,1],[13237,0],[13239,0],[13245,0],[13247,0],[13248,1],[13434,0],[13436,1],[13629,1],[13630,1],[13826,0],[13828,0],[13829,0],[13830,1],[13831,1],[13833,0],[13836,1],[14025,1],[14026,1],[14029,0],[14216,0],[14217,0],[14219,0],[14413,0],[14414,0],[14416,0],[14419,1],[14420,1],[14611,1],[14619,0],[14621,1],[14807,0],[14812,1],[14814,1],[14816,1],[14817,1],[15005,0],[15008,1],[15010,0],[15197,0],[15201,0],[15202,0],[15205,0],[15208,1],[15396,1],[15397,1],[15404,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[13236,13249,13432,13445],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":84,"givens":[[12860,1],[13054,0],[13057,1],[13058,1],[13060,1],[13061,1],[13063,1],[13065,0],[13250,0],[13251,0],[13254,0],[13256,0],[13259,0],[13261,1],[13449,1],[13456,1],[13643,0],[13644,0],[13645,1],[13654,1],[13839,0],[13841,0],[13843,0],[13844,1],[13848,0],[13850,1],[14037,1],[14038,1],[14040,1],[14043,1],[14233,1],[14236,0],[14240,0],[14242,0],[14426,0],[14428,0],[14431,0],[14433,0],[14436,0],[14621,1],[14627,0],[14631,1],[14817,1],[14819,1],[14822,0],[14827,0],[14828,1],[14829,1],[15021,0],[15022,0],[15218,0],[15410,1]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[14033,14041,14229,14237],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":5,"complete":false}},{"id":85,"givens":[[13069,0],[13070,1],[13074,1],[13075,1],[13078,0],[13263,1],[13265,1],[13266,1],[13272,0],[13460,1],[13464,0],[13471,1],[13654,1],[13656,0],[13658,1],[13659,1],[13662,0],[13664,0],[13666,1],[13850,1],[13856,1],[13857,1],[13859,1],[13863,0],[14057,1],[14242,0],[14244,0],[14245,0],[14250,1],[14442,1],[14443,0],[14445,0],[14449,1],[14451,0],[14642,1],[14646,1],[14647,1],[14831,1],[14837,0],[14840,1],[14842,0],[15029,1],[15031,1],[15035,1],[15037,0],[15039,1],[15223,1],[15226,1],[15228,1],[15230,1],[15232,0],[15234,0],[15235,0]],"blank":0.7295918367346939,"needs_unique":true,"needs_bifurcation":true,"flip":[14830,14832,15026,15028],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":86,"givens":[[12884,0],[12890,0],[12895,1],[13081,1],[13088,0],[13090,1],[13092,1],[13282,0],[13471,1],[13473,0],[13475,0],[13476,0],[13483,0],[13668,1],[13670,0],[13674,0],[13675,0],[13677,1],[13680,1],[13863,0],[13872,0],[13875,0],[14062,1],[14063,1],[14066,0],[14072,0],[14256,1],[14258,1],[14261,1],[14264,0],[14265,0],[14451,0],[14454,0],[14647,1],[14648,1],[14652,1],[14656,0],[14846,0],[14848,1],[14851,0],[14854,0],[15039,1],[15043,1],[15045,1],[15235,0],[15236,0],[15238,0],[15239,0],[15244,1],[15248,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[13275,13288,14255,14268],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":5,"complete":false}},{"id":87,"givens":[[13092,1],[13095,0],[13096,0],[13098,0],[13099,0],[13102,1],[13105,1],[13289,0],[13292,1],[13293,1],[13295,1],[13297,0],[13486,0],[13680,1],[13683,1],[13686,1],[13877,0],[13880,0],[13883,0],[13885,0],[14072,0],[14073,1],[14076,0],[14077,0],[14081,0],[14083,0],[14273,0],[14275,1],[14279,0],[14466,1],[14470,0],[14471,1],[14473,1],[14663,0],[14665,0],[14858,1],[14860,1],[14863,1],[14864,0],[14867,0],[15056,0],[15058,1],[15063,0],[15064,1],[15065,1],[15248,1],[15250,1],[15252,1],[15257,1],[15445,1],[15454,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[14856,14857,15052,15053],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":88,"givens":[[12912,0],[12921,1],[13105,1],[13106,0],[13107,1],[13114,0],[13117,1],[13302,1],[13305,1],[13307,0],[13308,0],[13499,0],[13501,0],[13502,1],[13506,0],[13696,1],[13697,1],[13700,1],[13702,1],[13703,0],[13704,0],[13896,0],[14086,1],[14088,1],[14092,1],[14097,1],[14283,1],[14285,1],[14286,1],[14288,1],[14289,1],[14485,1],[14486,1],[14488,1],[14489,1],[14674,0],[14679,0],[14684,0],[14877,1],[14881,1],[15065,1],[15067,1],[15072,1],[15073,1],[15075,0],[15263,1],[15264,0],[15267,0],[15460,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[13693,13694,13889,13890],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":89,"givens":[[12923,0],[13119,1],[13120,1],[13122,1],[13126,0],[13315,1],[13317,1],[13318,1],[13320,1],[13327,1],[13515,0],[13516,1],[13521,1],[13522,0],[13707,1],[13710,1],[13713,1],[13715,1],[13716,0],[13906,1],[13915,1],[14101,0],[14104,0],[14106,0],[14109,0],[14110,0],[14299,0],[14301,0],[14302,0],[14304,0],[14491,0],[14494,1],[14496,1],[14502,1],[14690,0],[14694,0],[14696,0],[14883,0],[14889,1],[14892,0],[14895,1],[15090,0],[15275,0],[15276,0],[15278,1],[15283,0],[15286,1],[15287,1],[15473,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[12932,12935,13520,13523],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":90,"givens":[[15289,1],[15297,0],[15485,0],[15486,0],[15487,1],[15489,1],[15496,0],[15497,0],[15684,0],[15686,0],[15687,1],[15688,1],[15876,1],[15879,1],[16075,1],[16077,1],[16083,0],[16085,1],[16270,0],[16275,1],[16277,0],[16279,1],[16280,1],[16473,0],[16476,1],[16660,0],[16661,0],[16664,1],[16858,1],[16862,0],[16863,0],[16866,0],[16868,1],[17055,0],[17060,1],[17065,0],[17253,0],[17258,0],[17259,1],[17260,0],[17444,0],[17447,1],[17448,1],[17454,0],[17456,0],[17640,0],[17641,0],[17646,0],[17836,1],[17847,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[15681,15693,15877,15889],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":91,"givens":[[15302,1],[15313,0],[15497,0],[15499,1],[15509,0],[15694,1],[15696,1],[15699,1],[15700,1],[15892,0],[15895,1],[15896,1],[15899,0],[15900,1],[15902,1],[16085,1],[16088,1],[16092,0],[16094,1],[16283,1],[16285,1],[16286,0],[16289,1],[16292,1],[16479,1],[16481,0],[16487,0],[16678,1],[16681,1],[16684,1],[16686,0],[16870,1],[16877,1],[16879,0],[17065,0],[17067,1],[17265,0],[17268,1],[17270,1],[17271,1],[17274,1],[17463,0],[17466,1],[17470,0],[17655,0],[17657,0],[17661,0],[17665,0],[17850,1],[17851,1],[17857,0],[17858,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[16086,16098,16282,16294],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":92,"givens":[[15512,1],[15513,1],[15514,0],[15515,1],[15518,0],[15519,0],[15522,1],[15709,1],[15718,1],[15902,1],[15906,0],[15908,0],[15910,0],[15911,0],[16099,1],[16107,1],[16108,0],[16295,1],[16296,1],[16300,0],[16304,0],[16495,0],[16503,1],[16686,0],[16692,0],[16693,0],[16695,0],[16696,0],[16885,0],[16888,1],[16890,0],[16893,1],[17083,1],[17274,1],[17276,0],[17281,0],[17284,1],[17470,0],[17474,1],[17476,1],[17479,0],[17668,0],[17669,0],[17671,0],[17674,0],[17676,0],[17678,0],[17864,1],[17869,1],[17873,0],[17874,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[17079,17091,17275,17287],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":93,"givens":[[15329,1],[15331,0],[15338,0],[15528,1],[15529,1],[15532,0],[15535,1],[15536,0],[15721,0],[15722,0],[15726,1],[15729,0],[15918,1],[15919,1],[15921,0],[15925,0],[15927,1],[16112,1],[16120,1],[16124,0],[16310,1],[16317,0],[16319,0],[16503,1],[16505,1],[16507,0],[16508,0],[16514,1],[16702,0],[16705,0],[16898,0],[16900,0],[16903,0],[16906,0],[17092,1],[17095,1],[17100,1],[17102,1],[17103,0],[17290,0],[17293,1],[17296,1],[17297,0],[17298,0],[17484,0],[17487,1],[17494,0],[17682,0],[17685,1],[17689,0],[17882,1],[17887,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[15332,15333,15724,15725],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":94,"givens":[[15536,0],[15542,1],[15544,0],[15546,0],[15547,0],[15549,1],[15735,0],[15737,1],[15740,0],[15742,1],[15744,1],[15929,1],[15931,0],[15935,1],[15939,1],[16124,0],[16125,0],[16129,0],[16134,1],[16137,1],[16324,1],[16327,1],[16328,1],[16518,1],[16519,0],[16522,1],[16525,0],[16718,1],[16720,1],[16909,0],[16911,0],[16921,0],[17111,1],[17113,1],[17114,0],[17116,0],[17301,0],[17306,0],[17308,0],[17309,0],[17310,1],[17311,0],[17498,1],[17499,1],[17502,0],[17506,1],[17694,1],[17699,1],[17704,0],[17894,1],[17900,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[16517,16529,16713,16725],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":95,"givens":[[15363,0],[15549,1],[15551,0],[15552,1],[15555,1],[15556,1],[15559,1],[15561,1],[15746,0],[15748,0],[15753,0],[15756,0],[15758,1],[15947,0],[15951,0],[15953,0],[15954,0],[16137,1],[16146,1],[16338,0],[16341,0],[16345,1],[16346,0],[16534,0],[16538,1],[16540,0],[16541,0],[16726,1],[16728,0],[16735,0],[16921,0],[16924,0],[16926,0],[16928,0],[16929,0],[16931,1],[17125,0],[17126,0],[17317,0],[17319,0],[17320,0],[17325,0],[17510,1],[17513,0],[17518,1],[17522,1],[17706,1],[17707,1],[17710,1],[17712,1],[17715,0],[17910,1]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[15354,15357,15550,15553],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":96,"givens":[[15367,0],[15375,1],[15376,1],[15565,0],[15568,1],[15569,1],[15758,1],[15759,1],[15764,0],[15766,1],[15768,1],[15954,0],[15963,1],[15965,1],[15966,0],[16153,1],[16163,1],[16346,0],[16348,0],[16350,0],[16351,0],[16353,0],[16357,0],[16548,1],[16550,0],[16552,1],[16554,1],[16739,1],[16741,1],[16939,0],[16944,0],[17132,1],[17136,1],[17138,1],[17140,0],[17142,0],[17327,0],[17328,0],[17331,1],[17337,0],[17522,1],[17524,1],[17526,1],[17527,1],[17529,0],[17533,0],[17721,1],[17727,0],[17920,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[15368,15369,16936,16937],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":97,"givens":[[15386,0],[15389,0],[15578,0],[15579,0],[15582,1],[15585,0],[15587,0],[15772,1],[15775,1],[15780,1],[15968,1],[15972,1],[15973,1],[15975,1],[15976,1],[15979,0],[15980,0],[16163,1],[16167,0],[16170,1],[16361,0],[16363,1],[16370,0],[16563,1],[16566,0],[16567,0],[16753,1],[16754,0],[16758,0],[16759,1],[16763,0],[16948,0],[16950,0],[16951,0],[16957,1],[17150,0],[17342,0],[17344,1],[17348,0],[17349,0],[17351,0],[17536,1],[17538,1],[17539,1],[17543,1],[17545,0],[17546,1],[17734,1],[17740,0],[17929,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[16760,16764,16956,16960],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":98,"givens":[[15396,1],[15397,1],[15404,0],[15592,1],[15595,1],[15791,1],[15794,1],[15796,0],[15980,0],[15984,1],[15986,0],[16177,1],[16182,0],[16185,1],[16186,0],[16374,1],[16379,0],[16384,0],[16570,1],[16573,0],[16576,0],[16578,1],[16770,1],[16771,1],[16773,0],[16776,1],[16961,0],[16968,1],[16973,0],[17162,0],[17163,1],[17166,1],[17167,1],[17168,0],[17353,1],[17354,0],[17357,1],[17362,1],[17363,1],[17549,1],[17550,1],[17554,1],[17555,1],[17558,0],[17746,1],[17747,0],[17753,0],[17755,1],[17941,0],[17944,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[15588,15601,15784,15797],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":99,"givens":[[15410,1],[15603,0],[15604,0],[15606,1],[15607,0],[15610,1],[15611,1],[15612,0],[15798,1],[15801,0],[15808,1],[15809,1],[15994,0],[15998,1],[16000,1],[16005,0],[16194,0],[16196,0],[16197,0],[16201,0],[16386,1],[16387,0],[16388,0],[16394,1],[16587,1],[16592,1],[16593,0],[16780,0],[16785,0],[16786,0],[16788,1],[16973,0],[16975,1],[16978,0],[16983,1],[16986,1],[17172,0],[17176,1],[17178,0],[17181,0],[17370,0],[17372,1],[17563,0],[17564,1],[17570,0],[17572,1],[17573,1],[17761,1],[17762,1],[17765,0],[17965,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[17561,17562,17757,17758],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":100,"givens":[[15616,0],[15618,1],[15619,0],[15811,1],[15812,1],[15814,1],[15816,0],[15818,0],[16008,0],[16013,1],[16015,0],[16018,1],[16208,0],[16211,0],[16213,1],[16214,0],[16400,0],[16401,1],[16402,1],[16410,1],[16595,1],[16597,0],[16599,1],[16603,0],[16606,1],[16797,1],[16798,1],[16802,0],[16986,1],[16991,1],[16996,0],[16997,0],[17183,1],[17185,1],[17189,0],[17190,1],[17192,0],[17382,0],[17383,0],[17576,1],[17577,0],[17583,0],[17586,1],[17771,1],[17772,1],[17774,1],[17775,1],[17777,1],[17781,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[17378,17379,17574,17575],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":101,"givens":[[15628,1],[15630,1],[15633,0],[15635,1],[15637,0],[15638,0],[15826,0],[15832,1],[15833,1],[15834,0],[15835,1],[16021,1],[16025,1],[16216,0],[16218,0],[16221,0],[16222,1],[16225,0],[16417,1],[16418,0],[16422,1],[16423,1],[16608,1],[16609,1],[16613,0],[16809,1],[16813,1],[16816,0],[17003,1],[17005,1],[17006,1],[17011,0],[17199,1],[17201,0],[17204,1],[17206,1],[17392,0],[17393,0],[17396,0],[17588,0],[17594,0],[17595,1],[17597,1],[17785,1],[17786,0],[17789,0],[17791,1],[17794,1],[17796,0],[17988,0],[17991,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[16215,16219,16411,16415],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":102,"givens":[[15445,1],[15454,0],[15642,1],[15649,1],[15837,1],[15838,1],[15840,1],[15843,0],[15844,1],[15845,1],[15846,0],[15848,0],[16037,1],[16039,1],[16042,0],[16230,1],[16231,1],[16236,0],[16426,0],[16429,1],[16430,1],[16435,1],[16625,0],[16628,0],[16632,0],[16816,0],[16817,1],[16818,1],[16823,1],[16825,1],[17019,0],[17020,1],[17021,1],[17023,1],[17025,0],[17213,0],[17214,0],[17217,0],[17218,1],[17409,0],[17603,0],[17606,0],[17796,0],[17798,0],[17801,0],[17805,0],[17806,1],[17807,0],[17808,1],[17998,0],[17999,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[17208,17209,17404,17405],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":9,"complete":false}},{"id":103,"givens":[[15460,0],[15655,1],[15661,0],[15664,0],[15665,0],[15851,1],[15854,0],[15858,1],[16048,1],[16049,0],[16052,1],[16054,1],[16057,0],[16242,0],[16244,0],[16246,0],[16247,0],[16252,0],[16441,1],[16448,0],[16634,0],[16643,1],[16644,1],[16646,0],[16831,1],[16833,1],[16834,1],[16837,1],[16838,1],[16840,0],[17025,0],[17033,1],[17232,0],[17418,0],[17420,1],[17424,0],[17427,1],[17617,0],[17621,1],[17623,1],[17810,0],[17811,1],[17813,0],[17817,0],[17818,1],[17820,0],[18006,0],[18014,0],[18017,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[16829,16830,17221,17222],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":104,"givens":[[15473,1],[15667,1],[15670,1],[15673,1],[15677,0],[15678,0],[15864,1],[15865,0],[15870,1],[15871,1],[15873,0],[15874,1],[16059,1],[16060,1],[16061,0],[16063,1],[16255,1],[16261,0],[16265,0],[16455,0],[16459,0],[16461,0],[16462,0],[16646,0],[16658,0],[16659,0],[16845,1],[16846,1],[16848,1],[16849,1],[16854,1],[17039,0],[17041,1],[17046,0],[17047,1],[17239,0],[17240,1],[17431,1],[17434,1],[17436,0],[17441,1],[17443,1],[17627,1],[17628,1],[17636,0],[17638,0],[17825,1],[17826,1],[17835,1],[18022,0],[18024,1],[18031,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[15666,15672,15862,15868],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":105,"givens":[[17836,1],[17847,0],[18033,0],[18034,1],[18036,0],[18038,0],[18039,0],[18043,1],[18228,0],[18229,0],[18235,0],[18237,1],[18239,1],[18241,1],[18424,1],[18428,1],[18430,0],[18433,1],[18621,0],[18624,1],[18626,0],[18628,1],[18632,0],[18816,1],[18824,1],[18825,1],[19013,0],[19016,1],[19024,0],[19208,0],[19213,0],[19218,1],[19220,1],[19406,1],[19408,1],[19412,0],[19601,1],[19607,0],[19610,1],[19796,1],[19801,1],[19807,1],[19992,1],[19994,0],[19995,1],[19997,1],[20002,0],[20192,0],[20195,0],[20197,1],[20384,0],[20386,0],[20388,1],[20392,0],[20394,0]],"blank":0.7193877551020408,"needs_unique":true,"needs_bifurcation":true,"flip":[18032,18045,19012,19025],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":6,"complete":true}},{"id":106,"givens":[[17850,1],[17851,1],[17857,0],[17858,0],[18049,0],[18050,0],[18052,0],[18054,0],[18056,1],[18241,1],[18245,0],[18247,0],[18249,1],[18253,0],[18439,0],[18443,1],[18447,0],[18634,0],[18637,0],[18638,0],[18641,1],[18644,1],[18830,0],[18833,1],[18834,1],[18838,0],[18840,1],[19028,1],[19032,0],[19037,0],[19223,1],[19224,0],[19227,0],[19228,0],[19231,1],[19419,1],[19421,1],[19425,1],[19427,0],[19614,0],[19626,0],[19813,0],[19815,1],[20008,1],[20016,0],[20017,1],[20204,0],[20208,0],[20211,0],[20402,0],[20404,1],[20409,1]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[18244,18254,18440,18450],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":107,"givens":[[17864,1],[17869,1],[17873,0],[17874,0],[18061,0],[18063,0],[18066,1],[18069,1],[18255,0],[18257,0],[18260,1],[18266,0],[18453,1],[18454,0],[18456,1],[18458,0],[18460,1],[18462,1],[18843,1],[18845,0],[18849,1],[18850,1],[18852,1],[18853,1],[19039,1],[19042,0],[19043,0],[19049,0],[19243,0],[19435,1],[19436,1],[19438,1],[19626,0],[19628,0],[19629,0],[19634,0],[19823,1],[19828,1],[19830,1],[19831,1],[19833,0],[20028,0],[20029,0],[20216,0],[20217,0],[20219,0],[20220,0],[20222,0],[20419,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[18264,18265,20420,20421],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":5,"complete":false}},{"id":108,"givens":[[17882,1],[17887,0],[18073,1],[18075,1],[18076,0],[18077,0],[18080,1],[18269,1],[18275,1],[18464,1],[18466,1],[18469,1],[18470,1],[18663,0],[18667,1],[18670,0],[18857,1],[18858,1],[18861,1],[18866,0],[19054,0],[19056,0],[19058,0],[19063,0],[19064,0],[19248,0],[19250,1],[19253,0],[19254,0],[19259,1],[19447,1],[19640,1],[19644,1],[19645,1],[19649,0],[19836,1],[19838,0],[19841,1],[19843,1],[20033,1],[20039,1],[20040,0],[20041,1],[20044,0],[20229,1],[20230,1],[20232,0],[20234,1],[20426,0],[20432,1],[20434,0],[20435,1]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[17878,17879,20034,20035],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":109,"givens":[[17894,1],[17900,1],[18090,0],[18092,0],[18093,0],[18096,0],[18282,1],[18283,1],[18285,1],[18291,1],[18292,1],[18478,1],[18481,1],[18482,0],[18485,1],[18673,0],[18679,1],[18683,0],[18869,0],[18872,1],[18878,0],[19064,0],[19066,1],[19070,0],[19076,1],[19263,0],[19267,1],[19270,0],[19272,0],[19273,0],[19461,0],[19462,1],[19469,0],[19653,0],[19656,1],[19659,1],[19660,1],[19850,1],[19852,1],[19858,0],[19860,0],[20044,0],[20047,1],[20049,1],[20052,1],[20053,1],[20056,0],[20241,1],[20243,1],[20440,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[17897,17898,20445,20446],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":110,"givens":[[17910,1],[18100,1],[18101,1],[18106,1],[18108,1],[18301,0],[18304,1],[18493,0],[18686,0],[18687,1],[18690,0],[18691,0],[18693,0],[18695,1],[18696,1],[18884,0],[18886,1],[18888,1],[18890,1],[18891,0],[18894,1],[19078,1],[19080,1],[19273,0],[19278,1],[19281,0],[19282,0],[19284,0],[19469,0],[19470,0],[19473,1],[19475,0],[19476,1],[19478,1],[19667,1],[19670,1],[19869,0],[19872,0],[20058,0],[20061,1],[20064,1],[20065,0],[20067,1],[20254,1],[20256,1],[20257,1],[20260,0],[20264,1],[20265,0],[20450,1],[20456,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[17903,17904,20451,20452],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":111,"givens":[[17920,1],[18112,0],[18113,1],[18115,0],[18120,1],[18309,1],[18310,0],[18314,0],[18316,0],[18318,1],[18506,1],[18509,1],[18701,1],[18703,1],[18705,1],[18706,0],[18708,0],[18709,1],[18710,0],[18894,1],[18902,0],[18905,1],[18907,0],[19091,0],[19101,0],[19102,1],[19287,0],[19288,0],[19290,0],[19291,0],[19295,1],[19296,1],[19484,0],[19488,0],[19490,0],[19491,1],[19679,0],[19685,1],[19875,0],[19879,0],[19884,1],[19886,0],[20073,0],[20074,0],[20082,0],[20274,1],[20275,0],[20279,1],[20463,1],[20470,0],[20473,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[17918,17919,20270,20271],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":112,"givens":[[17929,0],[18125,1],[18126,1],[18128,1],[18129,1],[18130,0],[18131,1],[18134,0],[18324,1],[18327,0],[18331,0],[18517,0],[18518,1],[18519,0],[18524,1],[18718,0],[18722,0],[18907,0],[18909,0],[18910,0],[18912,0],[19104,0],[19105,0],[19107,0],[19108,0],[19113,1],[19115,0],[19300,0],[19306,0],[19312,1],[19497,0],[19501,1],[19506,0],[19508,0],[19696,0],[19698,1],[19700,1],[19701,1],[19702,0],[19889,1],[19891,1],[19892,1],[19897,1],[19898,1],[20086,0],[20089,1],[20096,0],[20279,1],[20281,1],[20286,1],[20290,1],[20483,1],[20485,0]],"blank":0.7295918367346939,"needs_unique":true,"needs_bifurcation":true,"flip":[17936,17937,18328,18329],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":113,"givens":[[17941,0],[17944,0],[18138,1],[18141,1],[18147,1],[18336,0],[18341,0],[18345,1],[18529,0],[18533,1],[18725,0],[18728,0],[18729,1],[18731,0],[18733,0],[18735,0],[18927,1],[18930,1],[18932,1],[19117,0],[19122,0],[19312,1],[19316,0],[19318,0],[19320,0],[19322,1],[19323,1],[19508,0],[19509,1],[19512,0],[19517,0],[19705,1],[19706,1],[19707,0],[19709,0],[19711,1],[19716,1],[19908,0],[19909,0],[20096,0],[20099,0],[20100,0],[20102,0],[20106,1],[20293,1],[20294,1],[20299,0],[20303,1],[20500,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[18923,18933,19315,19325],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":114,"givens":[[17965,1],[18150,1],[18152,0],[18154,1],[18159,1],[18160,1],[18345,1],[18346,0],[18546,1],[18551,1],[18738,0],[18745,1],[18746,0],[18747,0],[18749,0],[18750,0],[18935,1],[18941,0],[18943,1],[18944,1],[19132,0],[19133,1],[19135,1],[19332,0],[19334,0],[19336,0],[19522,1],[19525,0],[19526,1],[19530,0],[19534,0],[19720,1],[19721,1],[19724,0],[19725,0],[19919,0],[19920,0],[19921,1],[19923,1],[19924,0],[20118,0],[20121,0],[20306,1],[20307,1],[20309,1],[20315,1],[20316,0],[20504,0],[20511,0],[20513,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[19129,19137,19521,19529],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":115,"givens":[[18164,1],[18166,1],[18167,1],[18171,0],[18174,1],[18359,0],[18366,0],[18558,1],[18559,1],[18564,1],[18566,0],[18750,0],[18754,0],[18756,0],[18759,1],[18760,1],[18762,1],[18948,1],[18957,0],[19144,1],[19147,0],[19148,0],[19149,1],[19150,0],[19342,0],[19346,1],[19348,1],[19350,1],[19534,0],[19545,0],[19731,0],[19732,1],[19734,1],[19735,0],[19739,0],[19742,0],[19934,0],[19935,0],[19938,1],[20123,1],[20124,1],[20127,0],[20321,0],[20322,1],[20325,1],[20327,1],[20328,1],[20330,1],[20515,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[18554,18567,18946,18959],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":116,"givens":[[17988,0],[17991,0],[18178,0],[18179,0],[18182,0],[18184,1],[18186,1],[18187,1],[18373,1],[18377,1],[18378,0],[18380,0],[18568,0],[18571,0],[18572,0],[18576,0],[18765,1],[18768,1],[18771,1],[18775,1],[18960,0],[18964,0],[18966,0],[18969,0],[19157,0],[19159,1],[19160,0],[19161,1],[19166,1],[19353,0],[19360,1],[19363,1],[19552,0],[19555,0],[19744,1],[19751,0],[19753,0],[19756,0],[19940,1],[19943,1],[19946,1],[19950,1],[20136,0],[20137,1],[20141,1],[20142,0],[20144,1],[20337,1],[20341,1],[20342,1],[20533,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[18175,18176,18371,18372],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":117,"givens":[[17998,0],[17999,0],[18189,1],[18190,1],[18191,0],[18193,0],[18197,1],[18389,1],[18393,1],[18396,0],[18397,0],[18582,0],[18584,0],[18592,0],[18777,1],[18780,0],[18787,1],[18974,0],[18979,0],[18980,1],[18982,0],[19178,1],[19180,1],[19366,1],[19367,0],[19374,0],[19376,0],[19562,0],[19563,0],[19565,0],[19566,0],[19568,0],[19572,0],[19756,0],[19761,0],[19767,0],[19953,1],[19962,0],[19963,1],[20152,0],[20154,1],[20156,0],[20157,1],[20158,0],[20345,1],[20348,0],[20350,0],[20351,1],[20355,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[19168,19169,19364,19365],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":118,"givens":[[18006,0],[18014,0],[18017,1],[18203,0],[18397,0],[18400,0],[18401,1],[18404,0],[18408,0],[18409,1],[18594,1],[18598,0],[18600,0],[18601,0],[18604,1],[18790,1],[18797,0],[18798,0],[18802,1],[18989,0],[18993,1],[19182,1],[19186,0],[19192,1],[19193,1],[19378,1],[19380,1],[19381,1],[19383,1],[19384,1],[19389,1],[19770,0],[19771,1],[19775,0],[19776,0],[19778,0],[19967,1],[19972,1],[19973,0],[20164,1],[20167,1],[20169,1],[20170,1],[20173,1],[20359,1],[20362,0],[20366,1],[20367,1],[20556,0],[20557,0],[20561,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[20161,20162,20357,20358],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":119,"givens":[[18022,0],[18024,1],[18031,0],[18215,1],[18222,0],[18226,1],[18227,1],[18413,0],[18415,0],[18608,0],[18610,1],[18612,1],[18614,0],[18615,0],[18618,1],[18619,1],[18802,1],[18811,1],[19004,0],[19006,1],[19010,0],[19011,0],[19199,1],[19396,0],[19397,1],[19398,0],[19399,1],[19400,1],[19403,1],[19587,1],[19588,0],[19592,0],[19784,0],[19788,1],[19791,0],[19979,1],[19982,1],[19986,1],[20175,1],[20180,0],[20181,0],[20372,0],[20374,0],[20375,0],[20377,0],[20567,1],[20569,1],[20574,0],[20577,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[19390,19402,19586,19598],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":6,"complete":false}},{"id":120,"givens":[[20384,0],[20386,0],[20388,1],[20392,0],[20394,0],[20583,1],[20585,1],[20588,1],[20589,1],[20591,1],[20776,0],[20778,0],[20787,0],[20976,1],[20980,1],[21168,1],[21171,0],[21175,1],[21178,1],[21367,0],[21369,0],[21374,1],[21375,1],[21566,1],[21568,1],[21570,0],[21572,0],[21756,0],[21758,0],[21762,1],[21765,0],[21953,1],[21955,1],[21959,0],[21961,0],[22160,1],[22161,1],[22344,1],[22348,0],[22350,0],[22351,1],[22354,1],[22548,0],[22549,0],[22551,1],[22741,1],[22742,1],[22748,0],[22749,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[21176,21181,21372,21377],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":121,"givens":[[20402,0],[20404,1],[20409,1],[20594,0],[20595,1],[20596,1],[20598,0],[20790,0],[20792,0],[20793,0],[20794,1],[20800,1],[20986,1],[20994,1],[20996,1],[20997,0],[20998,1],[21186,0],[21188,0],[21190,0],[21382,1],[21383,1],[21386,0],[21388,0],[21574,0],[21576,0],[21585,1],[21771,1],[21777,0],[21970,0],[21977,0],[22161,1],[22165,1],[22168,1],[22173,0],[22360,1],[22361,1],[22363,1],[22364,1],[22366,0],[22560,0],[22749,0],[22751,0],[22752,0],[22754,0],[22755,0],[22761,1],[22949,0],[22954,0],[22955,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[20593,20606,20789,20802],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":122,"givens":[[20419,1],[20611,0],[20613,1],[20615,1],[20618,0],[20804,0],[20805,0],[20808,0],[20809,1],[20815,1],[20998,1],[21002,1],[21005,0],[21006,1],[21007,1],[21010,0],[21203,1],[21204,1],[21391,0],[21393,1],[21394,1],[21396,0],[21398,1],[21400,0],[21402,0],[21587,1],[21594,1],[21596,0],[21785,0],[21791,0],[21793,0],[21982,1],[21986,1],[21990,0],[21991,0],[22177,0],[22178,0],[22180,1],[22184,1],[22371,1],[22378,1],[22568,0],[22573,0],[22578,0],[22579,0],[22765,1],[22766,1],[22959,0],[22968,0],[22970,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[20411,20412,20607,20608],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":123,"givens":[[20426,0],[20432,1],[20434,0],[20435,1],[20620,1],[20621,1],[20628,1],[20632,0],[20815,1],[20819,1],[20820,0],[20821,0],[20823,0],[21012,1],[21013,1],[21019,0],[21022,1],[21023,1],[21209,0],[21216,0],[21405,0],[21408,1],[21411,1],[21600,1],[21603,0],[21606,1],[21612,0],[21796,0],[21797,1],[21803,1],[21806,1],[21991,0],[21996,0],[21999,1],[22001,1],[22193,0],[22198,0],[22199,0],[22384,1],[22385,1],[22386,0],[22388,0],[22391,0],[22395,0],[22579,0],[22581,0],[22585,1],[22588,1],[22590,1],[22778,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[20430,20431,22782,22783],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":124,"givens":[[20440,0],[20632,0],[20634,0],[20637,0],[20640,1],[20641,1],[20643,0],[20829,1],[20837,1],[21028,0],[21029,0],[21035,0],[21221,0],[21225,0],[21229,1],[21232,1],[21417,1],[21419,1],[21423,0],[21424,0],[21425,1],[21612,0],[21617,0],[21625,1],[21810,0],[21812,0],[21816,1],[21817,1],[21820,1],[22005,0],[22006,0],[22013,1],[22014,0],[22015,0],[22201,0],[22204,0],[22206,0],[22398,1],[22401,0],[22402,1],[22403,1],[22597,0],[22600,0],[22603,0],[22789,0],[22791,1],[22794,1],[22796,1],[22799,0],[22991,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[21814,21821,22010,22017],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":125,"givens":[[20450,1],[20456,0],[20646,0],[20647,0],[20653,1],[20655,0],[20656,0],[20846,1],[20850,1],[20853,1],[20854,0],[21040,1],[21042,1],[21235,0],[21239,0],[21242,0],[21431,0],[21434,0],[21436,0],[21437,0],[21438,1],[21625,1],[21628,0],[21629,1],[21632,0],[21831,0],[21833,0],[21834,0],[22019,1],[22020,0],[22021,0],[22023,1],[22026,1],[22214,0],[22218,0],[22219,1],[22220,1],[22222,1],[22411,1],[22413,1],[22609,0],[22611,0],[22613,1],[22614,0],[22617,0],[22802,1],[22803,1],[22808,1],[23003,1],[23008,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[20453,20459,22217,22223],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":126,"givens":[[20463,1],[20470,0],[20473,0],[20660,1],[20661,0],[20662,0],[20664,0],[20665,0],[20667,0],[20669,0],[20854,0],[20861,1],[21051,0],[21054,1],[21055,1],[21062,1],[21247,0],[21249,0],[21251,0],[21253,0],[21254,0],[21448,0],[21453,1],[21639,1],[21643,1],[21646,1],[21647,1],[21649,1],[21834,0],[21841,1],[22031,1],[22033,1],[22034,1],[22227,1],[22233,0],[22235,0],[22237,1],[22238,0],[22426,1],[22429,0],[22431,1],[22619,0],[22621,0],[22624,1],[22628,1],[22820,1],[22822,0],[22824,1],[22826,1],[23021,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[22821,22823,23017,23019],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":127,"givens":[[20483,1],[20485,0],[20672,0],[20674,0],[20675,0],[20678,0],[20684,0],[20868,0],[20872,1],[20877,0],[21065,1],[21066,0],[21068,0],[21073,0],[21261,0],[21265,0],[21456,0],[21459,1],[21461,0],[21467,1],[21652,1],[21850,1],[21851,1],[21854,0],[21860,1],[22045,1],[22047,1],[22051,0],[22052,0],[22251,1],[22252,1],[22437,1],[22438,1],[22439,0],[22440,1],[22443,0],[22445,0],[22632,1],[22633,1],[22636,1],[22640,0],[22642,1],[22828,1],[22832,0],[22833,0],[22835,0],[22836,0],[22838,0],[23034,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[20477,20478,21653,21654],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":128,"givens":[[20500,0],[20684,0],[20686,1],[20687,0],[20690,0],[20691,0],[20694,1],[20882,1],[20888,0],[20893,0],[21080,1],[21082,0],[21085,1],[21273,1],[21276,1],[21277,1],[21280,0],[21282,0],[21283,0],[21470,0],[21480,0],[21667,1],[21668,1],[21674,0],[21860,1],[21866,0],[21867,0],[21871,1],[21873,1],[22060,0],[22063,0],[22252,1],[22253,1],[22257,1],[22262,0],[22450,1],[22453,0],[22456,0],[22458,1],[22460,1],[22645,1],[22652,0],[22654,1],[22656,1],[22841,1],[22843,1],[22844,1],[22846,1],[22849,0],[22851,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[20489,20492,20685,20688],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":3,"complete":true}},{"id":129,"givens":[[20504,0],[20511,0],[20513,0],[20699,0],[20700,0],[20703,0],[20707,0],[20893,0],[20894,1],[20898,1],[20902,1],[21286,1],[21287,1],[21291,1],[21294,1],[21297,1],[21488,0],[21491,1],[21679,1],[21682,1],[21687,1],[21873,1],[21874,0],[21878,1],[21880,1],[21886,0],[22072,1],[22076,0],[22079,1],[22266,1],[22271,1],[22274,0],[22276,1],[22277,1],[22463,0],[22464,0],[22466,0],[22470,0],[22472,0],[22667,0],[22855,0],[22858,0],[22859,0],[22862,0],[22865,1],[22866,1],[23054,1],[23056,0],[23058,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[21875,21884,23051,23060],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":130,"givens":[[20515,1],[20712,1],[20714,1],[20720,1],[20722,1],[20907,0],[20911,0],[20912,0],[20918,1],[21111,1],[21115,1],[21299,1],[21301,1],[21304,1],[21309,0],[21496,0],[21500,0],[21502,1],[21503,1],[21505,0],[21691,1],[21693,0],[21698,1],[21699,1],[21886,0],[21888,0],[21893,1],[21897,0],[21898,1],[22084,1],[22087,0],[22088,0],[22090,0],[22091,0],[22094,0],[22281,0],[22284,1],[22476,0],[22478,1],[22482,0],[22486,1],[22675,0],[22677,0],[22679,1],[22681,0],[22866,1],[22867,1],[22870,1],[22873,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[22278,22279,22474,22475],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":131,"givens":[[20533,0],[20724,1],[20725,0],[20726,0],[20728,0],[20729,0],[20732,0],[20735,0],[20920,0],[20921,0],[21115,1],[21120,0],[21121,0],[21122,1],[21124,0],[21127,1],[21313,0],[21323,1],[21508,0],[21509,0],[21513,1],[21516,1],[21710,0],[21714,1],[21901,1],[21902,0],[21905,1],[21908,0],[21909,1],[22102,0],[22104,0],[22105,0],[22107,0],[22293,1],[22294,0],[22299,1],[22488,0],[22496,1],[22684,0],[22685,1],[22688,1],[22690,0],[22695,0],[22882,1],[22885,0],[22886,0],[22889,1],[22890,0],[22891,1],[23078,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[21315,21324,21707,21716],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":132,"givens":[[20738,0],[20740,0],[20741,0],[20743,0],[20747,1],[20749,0],[20933,0],[20934,0],[20935,1],[20943,0],[21133,0],[21327,0],[21329,0],[21330,0],[21332,0],[21334,1],[21336,1],[21337,1],[21529,1],[21530,0],[21717,1],[21718,1],[21720,0],[21727,1],[21918,0],[21920,0],[21921,0],[22109,0],[22112,1],[22115,1],[22118,0],[22306,1],[22309,1],[22312,0],[22314,0],[22315,0],[22507,1],[22512,1],[22697,1],[22699,1],[22700,1],[22703,1],[22706,0],[22708,0],[22894,1],[22895,1],[22900,0],[22902,0],[22903,0],[23094,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[22304,22317,22892,22905],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":133,"givens":[[20556,0],[20557,0],[20561,1],[20749,0],[20754,0],[20947,1],[20951,0],[20953,0],[20955,1],[21143,1],[21146,0],[21149,1],[21151,1],[21152,1],[21337,1],[21338,1],[21345,0],[21349,0],[21535,1],[21732,1],[21740,1],[21741,1],[21931,1],[21933,1],[21936,1],[22122,1],[22123,0],[22124,0],[22127,1],[22129,0],[22132,0],[22318,1],[22324,0],[22328,1],[22329,0],[22516,1],[22518,0],[22520,0],[22521,0],[22525,0],[22907,1],[22908,1],[22910,1],[22913,1],[22914,1],[23102,0],[23105,0],[23108,0],[23110,1],[23111,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[20945,20946,21141,21142],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":134,"givens":[[20567,1],[20569,1],[20574,0],[20577,0],[20764,0],[20768,1],[20771,1],[20772,1],[20775,0],[20964,1],[20967,0],[20969,1],[20971,0],[21155,1],[21158,0],[21162,1],[21166,1],[21351,1],[21360,0],[21363,0],[21550,1],[21556,0],[21744,0],[21748,0],[21754,1],[21755,1],[21940,1],[21942,1],[21943,1],[21949,0],[21951,1],[22142,1],[22146,0],[22335,1],[22342,1],[22343,0],[22528,1],[22531,1],[22534,1],[22537,0],[22538,1],[22725,0],[22729,0],[22735,0],[22919,1],[22923,1],[22926,0],[22927,0],[22930,1],[23126,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[21350,21356,22526,22532],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":135,"givens":[[23128,0],[23134,1],[23139,0],[23140,0],[23324,0],[23326,0],[23327,0],[23332,1],[23334,1],[23335,1],[23337,0],[23523,0],[23526,0],[23528,1],[23529,1],[23716,0],[23720,0],[23725,1],[23914,0],[23915,0],[23916,1],[23917,0],[24108,1],[24112,1],[24115,0],[24117,1],[24119,1],[24305,1],[24306,0],[24310,1],[24316,0],[24317,1],[24501,0],[24508,1],[24509,1],[24696,0],[24697,0],[24703,0],[24707,1],[24895,1],[24898,1],[24901,0],[24903,1],[24904,0],[25089,1],[25096,0],[25098,1],[25290,0],[25291,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[24503,24504,25483,25484],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":136,"givens":[[22949,0],[22954,0],[22955,1],[23143,1],[23148,0],[23149,0],[23154,1],[23337,0],[23341,0],[23343,0],[23345,0],[23349,1],[23350,1],[23535,1],[23538,1],[23542,1],[23732,0],[23737,1],[23739,0],[23741,1],[23927,1],[23930,0],[23931,0],[23936,0],[24123,0],[24131,0],[24317,1],[24320,0],[24322,0],[24327,0],[24328,0],[24516,0],[24517,0],[24520,1],[24522,0],[24710,1],[24715,0],[24718,1],[24722,1],[24912,1],[24918,1],[25102,1],[25104,0],[25112,0],[25299,1],[25303,0],[25304,0],[25307,1],[25309,1],[25310,1],[25497,1],[25499,1],[25501,0]],"blank":0.7295918367346939,"needs_unique":true,"needs_bifurcation":true,"flip":[22950,22951,25106,25107],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":137,"givens":[[22959,0],[22968,0],[22970,0],[23154,1],[23156,0],[23161,1],[23165,0],[23350,1],[23353,1],[23354,1],[23358,0],[23362,1],[23363,0],[23547,0],[23548,1],[23553,0],[23745,1],[23748,1],[23752,1],[23940,0],[23945,0],[23946,0],[23950,0],[24136,1],[24146,1],[24147,1],[24331,1],[24333,1],[24334,1],[24341,1],[24527,1],[24529,1],[24533,1],[24536,1],[24537,1],[24722,1],[24726,0],[24918,1],[24924,0],[24929,1],[25115,1],[25118,1],[25121,1],[25124,0],[25126,0],[25310,1],[25312,0],[25314,0],[25316,0],[25507,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[24919,24931,25311,25323],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":138,"givens":[[23168,0],[23174,0],[23177,0],[23178,0],[23363,0],[23365,0],[23366,0],[23369,1],[23370,0],[23373,1],[23374,0],[23560,0],[23563,0],[23569,1],[23756,1],[23758,0],[23761,0],[23767,0],[23953,0],[23954,0],[23956,0],[23957,0],[23959,0],[23960,0],[24147,1],[24154,0],[24156,0],[24345,0],[24346,0],[24544,0],[24550,0],[24737,0],[24743,0],[24744,0],[24746,1],[24933,0],[24935,0],[24938,0],[24939,0],[24941,0],[24942,0],[24943,1],[25128,1],[25133,0],[25134,0],[25325,1],[25330,1],[25333,1],[25520,0],[25521,0],[25529,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[22980,22981,25136,25137],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":6,"complete":false}},{"id":139,"givens":[[22991,1],[23181,0],[23184,0],[23186,0],[23187,0],[23193,1],[23377,0],[23378,0],[23379,1],[23381,0],[23382,1],[23385,0],[23389,1],[23575,1],[23576,1],[23581,1],[23769,1],[23772,1],[23773,1],[23776,1],[23780,1],[23969,0],[23976,1],[24161,1],[24162,0],[24164,1],[24167,1],[24171,1],[24173,0],[24359,0],[24361,1],[24362,0],[24365,0],[24367,1],[24368,1],[24559,1],[24749,0],[24751,0],[24754,1],[24755,0],[24945,0],[24947,1],[24949,0],[24951,0],[24952,0],[25142,1],[25144,0],[25148,0],[25337,0],[25342,1],[25345,1],[25347,1]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[22993,22994,23777,23778],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":140,"givens":[[23003,1],[23008,1],[23193,1],[23195,0],[23199,0],[23202,1],[23205,1],[23389,1],[23586,0],[23588,0],[23589,0],[23593,0],[23597,1],[23783,1],[23784,0],[23785,0],[23787,0],[23788,0],[23790,0],[23791,1],[23792,0],[23985,1],[24173,0],[24174,0],[24181,0],[24183,1],[24184,0],[24373,0],[24374,0],[24375,1],[24377,1],[24379,1],[24381,1],[24382,1],[24571,0],[24762,1],[24765,0],[24772,0],[24960,1],[24966,1],[25154,0],[25155,0],[25161,1],[25350,0],[25351,1],[25354,0],[25356,0],[25359,0],[25361,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[23000,23001,23196,23197],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":141,"givens":[[23021,1],[23207,0],[23208,1],[23209,0],[23211,0],[23218,1],[23403,1],[23404,1],[23406,1],[23413,1],[23414,1],[23599,1],[23602,0],[23603,0],[23607,0],[23608,0],[23797,0],[23806,0],[23995,0],[24195,0],[24196,0],[24382,1],[24383,1],[24388,0],[24393,1],[24581,0],[24584,0],[24588,1],[24590,0],[24776,0],[24778,1],[24781,0],[24786,0],[24787,0],[24973,0],[24978,1],[25167,1],[25169,0],[25170,1],[25172,1],[25174,1],[25365,1],[25366,1],[25368,0],[25370,0],[25371,1],[25374,0],[25375,0],[25567,1],[25570,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[23018,23020,25566,25568],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":142,"givens":[[23034,0],[23220,0],[23221,1],[23228,0],[23229,0],[23231,1],[23417,1],[23422,1],[23423,1],[23424,0],[23427,0],[23428,0],[23615,1],[23618,1],[23620,1],[23621,1],[23622,0],[23810,1],[23812,0],[23816,0],[23818,1],[24007,1],[24010,1],[24011,1],[24014,1],[24200,1],[24209,0],[24396,1],[24397,1],[24401,0],[24402,0],[24405,0],[24407,0],[24594,0],[24787,0],[24792,1],[24793,1],[24989,0],[24992,1],[24994,0],[25181,0],[25184,1],[25188,1],[25190,1],[25375,0],[25377,0],[25380,0],[25383,0],[25572,1],[25580,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[23027,23033,23419,23425],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":143,"givens":[[23233,1],[23234,1],[23236,1],[23238,0],[23239,1],[23240,0],[23242,0],[23243,1],[23244,1],[23428,0],[23437,0],[23438,1],[23635,0],[23636,0],[23822,1],[23823,1],[24019,1],[24020,1],[24024,0],[24025,1],[24216,1],[24220,0],[24222,0],[24224,0],[24409,0],[24413,1],[24414,0],[24415,1],[24420,0],[24605,0],[24607,1],[24608,0],[24609,0],[24612,0],[24614,0],[24810,1],[24997,0],[25003,0],[25005,1],[25006,1],[25009,1],[25195,1],[25197,1],[25200,0],[25205,1],[25392,1],[25393,1],[25395,0],[25398,1],[25400,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[23042,23043,23630,23631],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":144,"givens":[[23054,1],[23056,0],[23058,0],[23246,1],[23248,0],[23251,1],[23256,1],[23257,1],[23442,1],[23444,1],[23446,0],[23453,1],[23643,1],[23645,0],[23835,0],[23838,1],[23842,0],[24031,1],[24033,1],[24037,0],[24039,1],[24226,1],[24230,0],[24231,0],[24234,1],[24236,0],[24423,0],[24426,0],[24618,1],[24621,1],[24625,0],[24627,0],[24629,0],[24819,0],[24822,0],[25009,1],[25013,1],[25016,0],[25020,1],[25022,0],[25205,1],[25207,1],[25213,1],[25214,1],[25217,0],[25403,1],[25404,1],[25407,0],[25410,0],[25601,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[24225,24227,24617,24619],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":145,"givens":[[23260,1],[23261,1],[23263,1],[23265,0],[23266,0],[23269,0],[23270,0],[23463,1],[23466,1],[23467,0],[23653,1],[23656,0],[23658,0],[23662,0],[23847,0],[23850,1],[23852,0],[23853,0],[24046,1],[24051,0],[24053,1],[24054,0],[24239,0],[24244,1],[24245,0],[24247,1],[24248,0],[24249,0],[24435,0],[24437,0],[24441,0],[24443,0],[24444,0],[24446,0],[24642,0],[24827,0],[24828,0],[24838,1],[25022,0],[25025,1],[25031,0],[25034,1],[25223,0],[25226,1],[25227,1],[25415,0],[25418,1],[25423,1],[25424,0],[25425,0],[25614,0],[25619,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[23661,23663,23857,23859],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":146,"givens":[[23078,1],[23272,0],[23275,1],[23276,1],[23467,0],[23476,1],[23479,0],[23666,1],[23669,1],[23670,1],[23672,1],[23675,0],[23860,1],[23861,0],[23867,1],[23870,1],[23871,1],[24056,1],[24059,0],[24063,0],[24068,1],[24257,0],[24258,0],[24260,0],[24262,1],[24449,0],[24453,0],[24456,1],[24458,1],[24459,0],[24645,0],[24646,1],[24648,1],[24655,0],[24845,0],[25038,1],[25039,1],[25047,1],[25234,0],[25237,0],[25239,0],[25242,1],[25244,0],[25428,0],[25429,0],[25432,1],[25433,1],[25436,0],[25437,0],[25439,0],[25625,1],[25629,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[25035,25036,25231,25232],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":147,"givens":[[23094,0],[23285,1],[23286,0],[23288,1],[23289,1],[23291,1],[23293,0],[23482,0],[23483,1],[23484,1],[23488,0],[23490,0],[23491,0],[23493,0],[23683,0],[23684,0],[23879,1],[23883,1],[23884,1],[24068,1],[24069,1],[24071,1],[24074,0],[24076,1],[24265,1],[24268,0],[24462,0],[24464,0],[24465,1],[24472,1],[24658,0],[24662,0],[24664,0],[24665,0],[24860,0],[24863,1],[25050,0],[25058,0],[25244,0],[25245,1],[25246,0],[25253,1],[25254,0],[25257,0],[25443,0],[25444,0],[25451,0],[25452,1],[25643,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[23676,23681,23872,23877],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":148,"givens":[[23102,0],[23105,0],[23108,0],[23110,1],[23111,1],[23299,1],[23302,1],[23493,0],[23495,1],[23500,1],[23502,1],[23503,1],[23505,1],[23694,1],[23698,1],[23700,1],[23701,1],[23892,1],[23895,1],[24086,1],[24087,0],[24089,0],[24090,1],[24092,0],[24093,1],[24278,0],[24281,0],[24285,0],[24287,0],[24288,0],[24476,1],[24671,1],[24672,1],[24674,1],[24676,0],[24873,0],[24877,1],[25064,1],[25065,1],[25067,1],[25071,0],[25257,0],[25258,1],[25268,1],[25456,0],[25459,0],[25460,0],[25463,1],[25466,1],[25651,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[24669,24678,24865,24874],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":true}},{"id":149,"givens":[[23126,0],[23311,1],[23312,1],[23315,0],[23507,0],[23512,0],[23513,1],[23515,0],[23518,1],[23705,0],[23707,1],[23708,0],[23711,0],[23899,1],[23908,1],[23911,1],[24096,0],[24102,0],[24291,0],[24292,0],[24295,1],[24296,1],[24301,1],[24487,1],[24490,1],[24491,1],[24497,1],[24684,1],[24685,0],[24691,0],[24693,0],[24884,0],[24885,1],[24889,0],[24891,0],[25076,1],[25079,1],[25081,1],[25083,1],[25271,0],[25272,1],[25274,0],[25281,1],[25282,0],[25466,1],[25467,0],[25472,0],[25474,1],[25479,0],[25668,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[23702,23703,24094,24095],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":9,"complete":true}},{"id":150,"givens":[[25677,1],[25678,1],[25681,0],[25684,1],[25685,1],[25687,1],[25873,0],[25876,0],[25878,1],[26071,0],[26075,0],[26077,1],[26264,1],[26266,0],[26270,1],[26272,1],[26461,1],[26462,0],[26466,1],[26469,0],[26472,0],[26663,1],[26664,1],[26668,0],[26852,0],[26853,0],[26855,0],[26857,1],[27052,1],[27246,1],[27247,0],[27250,1],[27253,1],[27254,1],[27257,1],[27442,0],[27445,1],[27449,0],[27639,1],[27832,0],[27834,0],[27835,1],[27837,1],[27839,1],[27841,0],[27842,1],[27845,1],[28028,0],[28039,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[25481,25482,28029,28030],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":151,"givens":[[25497,1],[25499,1],[25501,0],[25691,1],[25692,1],[25698,1],[25701,1],[25891,0],[25894,1],[25895,1],[25897,0],[26083,1],[26085,0],[26088,0],[26089,1],[26094,0],[26282,1],[26484,1],[26485,1],[26670,1],[26672,0],[26674,1],[26676,0],[26677,0],[26680,0],[26868,0],[26871,1],[26876,0],[27062,1],[27257,1],[27258,0],[27263,0],[27264,0],[27268,0],[27454,0],[27456,1],[27457,1],[27461,0],[27465,0],[27651,1],[27653,1],[27654,1],[27657,0],[27659,1],[27660,1],[27845,1],[27851,0],[27852,0],[27855,0],[27858,1],[28042,0],[28043,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[25495,25496,27847,27848],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":5,"complete":false}},{"id":152,"givens":[[25507,0],[25704,0],[25706,1],[25707,0],[25708,1],[25709,0],[25710,1],[25712,0],[25715,1],[25899,1],[26094,0],[26097,0],[26099,0],[26101,1],[26102,0],[26104,1],[26105,1],[26292,0],[26293,0],[26296,1],[26298,1],[26492,0],[26497,1],[26685,0],[26686,1],[26689,0],[26690,0],[26693,1],[26880,0],[26881,0],[26884,1],[26891,0],[27086,0],[27271,1],[27276,1],[27282,0],[27475,1],[27476,1],[27479,1],[27669,1],[27670,0],[27672,1],[27675,1],[27858,1],[27860,0],[27861,0],[27863,0],[28055,1],[28066,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[25702,25703,26682,26683],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":7,"complete":true}},{"id":153,"givens":[[25520,0],[25521,0],[25529,0],[25715,1],[25721,0],[25722,1],[25725,0],[25726,0],[25914,1],[25918,0],[25922,0],[26108,0],[26111,0],[26112,1],[26306,1],[26308,0],[26309,1],[26501,1],[26506,0],[26508,0],[26510,0],[26511,0],[26699,1],[26701,1],[26702,0],[26891,0],[26895,1],[26899,1],[27089,0],[27090,1],[27094,0],[27096,0],[27099,1],[27284,0],[27287,0],[27293,1],[27479,1],[27482,1],[27484,0],[27487,1],[27490,1],[27675,1],[27677,0],[27683,1],[27685,1],[27872,1],[27875,1],[27876,1],[27883,0],[28068,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[25526,25527,26114,26115],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":5,"complete":true}},{"id":154,"givens":[[25729,0],[25732,1],[25733,0],[25736,0],[25737,0],[25739,1],[25928,1],[25931,0],[25933,1],[26121,1],[26122,1],[26127,0],[26128,1],[26130,0],[26131,1],[26132,1],[26317,1],[26318,1],[26325,0],[26327,1],[26514,0],[26518,1],[26524,1],[26709,0],[26711,0],[26713,1],[26717,0],[26719,1],[26720,1],[26905,1],[26907,0],[27101,0],[27102,0],[27106,0],[27111,0],[27297,0],[27300,0],[27303,0],[27304,1],[27306,1],[27495,1],[27497,1],[27498,1],[27501,1],[27503,1],[27694,1],[27699,1],[27885,1],[27886,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[25534,25535,25730,25731],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":true}},{"id":155,"givens":[[25744,0],[25746,1],[25751,0],[25752,0],[25938,0],[25940,0],[25944,0],[25946,0],[26135,1],[26138,1],[26142,0],[26145,1],[26339,1],[26340,0],[26341,1],[26527,1],[26528,1],[26535,1],[26538,0],[26722,1],[26724,1],[26727,1],[26732,0],[26918,1],[26921,0],[26925,1],[26926,0],[27117,1],[27118,1],[27121,1],[27125,0],[27314,0],[27316,0],[27320,1],[27321,0],[27508,0],[27512,1],[27514,0],[27517,1],[27702,1],[27703,1],[27704,0],[27705,1],[27706,1],[27708,1],[27709,1],[27898,0],[27902,1],[27908,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[25554,25555,27122,27123],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":156,"givens":[[25567,1],[25570,1],[25759,0],[25760,0],[25762,0],[25764,0],[25765,0],[25766,1],[25953,1],[26147,1],[26152,0],[26156,0],[26158,1],[26345,1],[26538,0],[26539,0],[26547,1],[26550,0],[26742,1],[26743,1],[26745,0],[26932,1],[26936,0],[26938,1],[26941,1],[26943,0],[27127,0],[27129,0],[27132,0],[27137,1],[27323,0],[27324,0],[27325,1],[27332,1],[27520,0],[27521,0],[27523,0],[27524,0],[27526,0],[27528,1],[27716,1],[27724,0],[27725,1],[27911,0],[27912,0],[27915,0],[27916,0],[27922,1],[28110,1],[28116,0],[28117,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[25559,25561,25755,25757],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":157,"givens":[[25572,1],[25580,1],[25772,0],[25776,1],[25777,0],[25967,0],[25969,1],[25970,0],[26161,0],[26163,0],[26164,0],[26169,0],[26171,0],[26356,1],[26358,0],[26364,1],[26553,0],[26554,1],[26556,1],[26563,0],[26748,0],[26754,0],[26757,1],[26760,0],[26943,0],[26945,0],[26947,1],[26954,1],[27141,1],[27144,0],[27146,0],[27148,1],[27339,0],[27342,0],[27343,0],[27533,0],[27534,1],[27536,0],[27543,1],[27728,1],[27729,1],[27732,0],[27733,1],[27739,1],[27924,0],[27926,1],[27930,0],[27931,0],[27936,0],[28130,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[25573,25574,25769,25770],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":158,"givens":[[25782,1],[25789,1],[25791,0],[25978,1],[25979,1],[25982,0],[25986,1],[26173,0],[26176,1],[26177,0],[26182,0],[26183,0],[26370,1],[26373,1],[26375,1],[26376,1],[26378,1],[26569,1],[26571,0],[26573,0],[26574,0],[26575,1],[26576,0],[26760,0],[26762,0],[26770,0],[26957,1],[26959,0],[26961,0],[26962,1],[26968,0],[27155,1],[27162,0],[27163,0],[27352,0],[27545,0],[27548,1],[27554,0],[27555,0],[27557,1],[27742,1],[27746,0],[27748,0],[27751,0],[27936,0],[27937,0],[27938,1],[27946,0],[27948,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[25594,25596,25790,25792],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":9,"complete":false}},{"id":159,"givens":[[25601,0],[25801,0],[25804,1],[25806,0],[25992,1],[25996,0],[26186,1],[26193,1],[26194,0],[26195,0],[26197,0],[26385,0],[26386,1],[26387,1],[26389,1],[26392,1],[26579,0],[26587,0],[26776,0],[26777,1],[26781,0],[26782,0],[26785,0],[26970,1],[26974,0],[26976,1],[26977,1],[26979,0],[26980,1],[27167,1],[27173,0],[27176,1],[27363,1],[27365,1],[27366,1],[27557,1],[27567,0],[27755,1],[27757,1],[27758,1],[27760,1],[27763,1],[27765,0],[27950,0],[27951,1],[27954,1],[27956,0],[27958,0],[27960,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[25606,25607,25802,25803],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":160,"givens":[[25614,0],[25619,0],[25806,0],[25807,0],[25810,0],[25811,1],[25815,0],[25818,0],[26003,0],[26005,1],[26008,0],[26009,1],[26010,0],[26204,0],[26206,1],[26210,0],[26399,0],[26403,0],[26404,0],[26406,0],[26407,1],[26591,0],[26592,0],[26599,1],[26601,1],[26792,0],[26983,0],[26984,1],[26988,1],[26989,1],[26994,1],[27180,1],[27182,1],[27187,0],[27189,0],[27378,1],[27379,0],[27385,1],[27386,1],[27575,0],[27577,1],[27582,0],[27774,0],[27779,1],[27964,0],[27966,1],[27967,0],[27973,1],[28161,0],[28165,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[25615,25616,26595,26596],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":161,"givens":[[25625,1],[25629,0],[25820,0],[25822,0],[25823,0],[25825,0],[25827,1],[26021,1],[26025,1],[26026,0],[26212,0],[26216,1],[26219,1],[26223,1],[26407,1],[26408,0],[26413,0],[26415,1],[26416,1],[26419,0],[26800,0],[26805,0],[26807,1],[26811,0],[26998,1],[27004,0],[27192,1],[27193,0],[27194,1],[27197,1],[27200,0],[27397,1],[27585,0],[27589,0],[27590,0],[27592,0],[27593,0],[27594,1],[27779,1],[27781,0],[27782,1],[27788,0],[27790,0],[27791,1],[27978,1],[27979,0],[27980,1],[27981,1],[27986,0],[28175,1],[28181,0],[28182,1]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[25633,25634,26221,26222],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":162,"givens":[[25643,0],[25837,0],[25839,1],[25840,1],[25844,0],[26040,0],[26225,1],[26226,1],[26229,0],[26233,0],[26235,0],[26423,1],[26426,1],[26428,1],[26619,1],[26621,0],[26623,0],[26625,0],[26627,0],[26823,0],[26824,0],[27016,1],[27017,0],[27020,0],[27206,0],[27207,0],[27212,0],[27214,0],[27215,0],[27401,0],[27403,0],[27404,0],[27406,0],[27408,0],[27597,0],[27598,0],[27608,1],[27794,0],[27796,1],[27798,1],[27799,1],[27803,1],[27989,0],[27990,1],[27991,0],[27996,1],[27997,0],[28000,1],[28190,0],[28192,1],[28196,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[25832,25833,26028,26029],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":163,"givens":[[25651,0],[25847,1],[25848,1],[25852,1],[25854,1],[25856,1],[25857,1],[26047,0],[26050,0],[26052,1],[26054,0],[26239,0],[26243,0],[26246,0],[26248,0],[26249,0],[26434,1],[26442,1],[26631,1],[26633,0],[26637,0],[26826,0],[26829,0],[26834,1],[26837,1],[27029,0],[27034,0],[27220,1],[27222,0],[27223,0],[27226,0],[27227,0],[27228,1],[27416,1],[27418,0],[27425,0],[27610,1],[27611,1],[27615,0],[27616,1],[27618,1],[27806,1],[27807,1],[27815,0],[28003,0],[28005,0],[28006,0],[28012,1],[28200,1],[28205,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[26041,26043,26433,26435],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":164,"givens":[[25668,1],[25860,1],[25866,1],[25868,1],[25869,1],[26054,0],[26059,1],[26060,1],[26066,1],[26252,1],[26254,0],[26255,0],[26262,0],[26263,0],[26454,0],[26455,0],[26645,1],[26648,1],[26654,1],[26655,1],[26843,0],[26849,0],[26850,0],[27034,0],[27036,1],[27037,0],[27039,1],[27042,1],[27232,0],[27238,1],[27239,1],[27242,1],[27430,0],[27432,0],[27439,0],[27623,1],[27624,1],[27631,1],[27634,0],[27635,0],[27823,0],[27825,1],[27827,1],[27829,1],[28015,0],[28017,0],[28021,0],[28027,1],[28211,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[26446,26448,26642,26644],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":165,"givens":[[28028,0],[28039,0],[28229,1],[28231,0],[28420,1],[28421,0],[28429,0],[28430,0],[28432,0],[28617,1],[28618,0],[28619,0],[28623,0],[28624,0],[28628,0],[28819,1],[28820,0],[29010,0],[29015,0],[29018,1],[29204,1],[29206,1],[29208,0],[29213,1],[29215,1],[29216,1],[29400,0],[29409,1],[29598,1],[29601,1],[29602,1],[29605,0],[29607,1],[29802,0],[29804,1],[29989,0],[29990,0],[29993,1],[29995,0],[30184,1],[30192,0],[30193,1],[30194,1],[30196,1],[30386,0],[30389,1],[30390,0],[30392,0],[30586,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[28036,28037,28232,28233],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":166,"givens":[[28042,0],[28043,0],[28240,0],[28243,1],[28245,1],[28246,1],[28434,0],[28436,0],[28441,0],[28443,0],[28444,0],[28631,0],[28826,1],[28829,1],[28833,1],[28835,0],[29023,0],[29024,0],[29027,0],[29029,0],[29030,0],[29031,1],[29032,0],[29033,0],[29228,0],[29414,1],[29416,1],[29419,1],[29421,0],[29610,1],[29613,0],[29615,0],[29621,1],[29807,1],[29809,1],[29810,1],[29812,1],[29814,1],[29815,1],[29817,1],[29818,0],[30005,1],[30012,1],[30199,1],[30203,0],[30210,1],[30394,1],[30396,0],[30400,0],[30401,0],[30402,1],[30596,1]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[28048,28049,28636,28637],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":167,"givens":[[28055,1],[28066,0],[28254,1],[28258,1],[28260,0],[28450,1],[28451,0],[28454,0],[28455,0],[28457,0],[28459,0],[28643,1],[28648,0],[28650,0],[28655,0],[28842,1],[28849,1],[29035,1],[29036,0],[29037,1],[29039,1],[29042,0],[29044,0],[29231,1],[29232,1],[29237,1],[29428,1],[29430,0],[29432,1],[29433,1],[29436,1],[29437,0],[29627,0],[29629,0],[29818,0],[29823,1],[29824,0],[29827,0],[29829,0],[29830,1],[30017,0],[30020,1],[30210,1],[30214,1],[30215,1],[30217,1],[30218,1],[30221,1],[30610,1],[30614,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[29630,29635,29826,29831],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":168,"givens":[[28068,1],[28264,1],[28267,0],[28270,0],[28271,0],[28275,0],[28459,0],[28462,0],[28464,1],[28467,1],[28468,1],[28470,0],[28472,1],[28655,0],[28666,0],[28668,1],[28853,0],[28854,1],[28855,0],[28857,1],[28858,0],[28860,1],[29048,1],[29051,0],[29054,0],[29248,1],[29251,1],[29254,1],[29440,0],[29448,1],[29449,0],[29450,0],[29639,0],[29641,1],[29642,0],[29644,0],[29832,1],[29834,1],[29838,0],[29843,0],[30030,1],[30032,0],[30033,0],[30037,1],[30038,0],[30233,0],[30425,0],[30427,1],[30428,1],[30430,0],[30622,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[28078,28079,30626,30627],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":169,"givens":[[28277,0],[28472,1],[28475,0],[28478,1],[28480,1],[28483,0],[28668,1],[28670,0],[28673,1],[28676,1],[28867,1],[28868,1],[28870,1],[28873,1],[29066,0],[29070,1],[29071,1],[29258,0],[29259,0],[29261,1],[29263,1],[29265,0],[29266,0],[29453,1],[29454,0],[29460,0],[29463,0],[29651,1],[29655,1],[29656,1],[29659,1],[29660,1],[29848,0],[29850,0],[29851,1],[29852,1],[29854,1],[29855,1],[29857,0],[30041,0],[30042,0],[30043,1],[30045,0],[30050,0],[30239,0],[30243,0],[30249,0],[30433,0],[30435,0],[30442,0],[30443,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[28090,28091,28286,28287],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":170,"givens":[[28290,1],[28292,1],[28294,1],[28297,0],[28300,1],[28301,1],[28486,0],[28489,1],[28491,0],[28493,1],[28689,0],[28693,1],[28881,0],[28883,0],[28887,0],[28888,0],[29074,1],[29076,1],[29083,1],[29084,0],[29270,1],[29274,1],[29277,0],[29281,1],[29467,1],[29470,0],[29477,1],[29662,1],[29663,1],[29669,1],[29674,0],[29857,0],[29863,0],[29866,0],[30058,1],[30062,0],[30063,0],[30064,1],[30066,0],[30249,0],[30250,0],[30252,0],[30253,1],[30260,0],[30261,1],[30448,1],[30452,1],[30453,1],[30456,1],[30643,1],[30652,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[28098,28100,28490,28492],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":171,"givens":[[28110,1],[28116,0],[28117,1],[28303,1],[28306,0],[28310,0],[28312,1],[28500,0],[28502,0],[28503,0],[28507,0],[28510,0],[28701,1],[28705,1],[28891,0],[28892,1],[28894,0],[28896,0],[29088,1],[29091,1],[29096,0],[29098,0],[29099,0],[29285,1],[29287,0],[29481,0],[29487,1],[29490,0],[29491,0],[29674,0],[29676,0],[29679,0],[29685,0],[29871,1],[29874,1],[29879,1],[29882,0],[30066,0],[30069,1],[30263,0],[30266,0],[30267,0],[30274,0],[30460,1],[30463,1],[30468,0],[30470,0],[30655,0],[30657,0],[30660,0],[30661,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[28109,28118,28697,28706],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":172,"givens":[[28130,1],[28316,1],[28317,1],[28320,0],[28322,0],[28326,0],[28328,0],[28517,0],[28708,1],[28709,1],[28715,1],[28716,1],[28905,1],[28909,0],[28910,0],[28912,0],[28914,0],[28915,1],[29099,0],[29102,0],[29104,0],[29297,1],[29299,0],[29301,1],[29491,0],[29497,1],[29498,1],[29500,1],[29503,1],[29688,0],[29689,0],[29694,1],[29885,0],[29886,1],[29896,1],[30086,1],[30088,1],[30090,1],[30280,0],[30282,1],[30285,0],[30286,1],[30472,1],[30473,1],[30475,1],[30477,1],[30479,1],[30483,1],[30668,0],[30676,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[28127,28129,28323,28325],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":173,"givens":[[28328,0],[28330,1],[28333,0],[28337,0],[28339,1],[28340,0],[28526,0],[28531,0],[28533,0],[28536,0],[28537,1],[28721,0],[28723,1],[28724,0],[28728,0],[28731,1],[28919,1],[28921,0],[28922,1],[28923,0],[29113,0],[29116,0],[29117,1],[29118,0],[29119,0],[29313,1],[29318,1],[29510,1],[29512,0],[29514,0],[29515,0],[29704,0],[29708,0],[29712,0],[29896,1],[29899,0],[29900,0],[29903,0],[29906,1],[29907,1],[30093,1],[30094,1],[30103,1],[30289,1],[30290,0],[30294,0],[30296,0],[30300,0],[30493,1],[30495,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[28133,28142,28329,28338],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":174,"givens":[[28343,1],[28345,1],[28347,0],[28349,1],[28350,0],[28352,0],[28353,0],[28537,1],[28538,1],[28540,1],[28541,1],[28739,1],[28744,0],[28930,0],[28935,1],[28938,1],[29126,0],[29128,0],[29130,0],[29133,0],[29137,1],[29331,1],[29518,0],[29521,0],[29522,0],[29525,1],[29528,0],[29714,0],[29716,1],[29720,0],[29725,0],[29911,1],[29918,0],[29920,0],[29921,0],[30107,0],[30110,1],[30111,0],[30113,1],[30116,0],[30304,0],[30306,1],[30308,0],[30309,0],[30313,0],[30498,0],[30503,0],[30505,1],[30507,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[28150,28152,28346,28348],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":175,"givens":[[28161,0],[28165,0],[28357,1],[28363,0],[28366,0],[28551,1],[28553,1],[28554,0],[28556,1],[28557,0],[28561,0],[28750,1],[28753,0],[28754,1],[28756,0],[28943,0],[28944,0],[28947,1],[28951,1],[28954,0],[29144,1],[29335,1],[29337,0],[29340,1],[29341,1],[29345,0],[29347,1],[29537,0],[29540,1],[29542,1],[29728,0],[29730,1],[29736,1],[29923,0],[29924,0],[29931,1],[30123,0],[30125,0],[30126,0],[30318,0],[30321,0],[30324,1],[30327,0],[30512,0],[30513,0],[30515,0],[30519,0],[30522,0],[30713,1],[30718,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[28550,28560,29138,29148],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":176,"givens":[[28175,1],[28181,0],[28182,1],[28368,0],[28370,0],[28373,1],[28374,0],[28379,0],[28564,0],[28569,0],[28570,0],[28573,0],[28574,0],[28761,1],[28763,1],[28764,1],[28768,1],[28956,1],[28958,0],[28961,1],[29153,1],[29155,0],[29156,1],[29160,1],[29161,1],[29163,1],[29347,1],[29350,0],[29358,1],[29545,1],[29548,0],[29550,1],[29552,1],[29555,0],[29740,1],[29746,1],[29936,1],[29938,1],[29941,0],[29944,1],[30133,0],[30136,1],[30141,0],[30143,1],[30327,0],[30337,1],[30339,1],[30530,0],[30536,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[28173,28183,30721,30731],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":177,"givens":[[28190,0],[28192,1],[28196,1],[28381,0],[28382,0],[28389,1],[28391,0],[28577,0],[28578,0],[28580,0],[28587,0],[28781,1],[28783,1],[28973,1],[28976,0],[29165,1],[29166,1],[29170,0],[29173,0],[29176,1],[29364,0],[29367,1],[29557,1],[29558,0],[29561,0],[29563,1],[29566,0],[29568,0],[29760,0],[29763,0],[29764,1],[29950,0],[29957,1],[29958,1],[30152,1],[30154,1],[30341,0],[30342,0],[30344,0],[30346,1],[30349,1],[30536,0],[30538,1],[30540,0],[30541,0],[30543,1],[30545,1],[30546,1],[30548,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[28392,28393,28588,28589],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":178,"givens":[[28200,1],[28205,0],[28394,1],[28395,1],[28399,0],[28405,1],[28406,1],[28592,1],[28787,1],[28797,1],[28986,0],[28987,0],[28989,1],[28991,0],[28993,1],[29178,0],[29185,1],[29189,0],[29375,0],[29378,1],[29382,0],[29571,0],[29572,0],[29575,1],[29578,1],[29581,1],[29766,1],[29770,0],[29771,1],[29772,1],[29965,0],[29968,0],[29970,0],[29972,0],[30159,1],[30160,0],[30161,1],[30164,1],[30165,1],[30166,0],[30355,1],[30357,1],[30360,1],[30364,1],[30550,1],[30554,0],[30558,0],[30561,1],[30747,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[30353,30366,30549,30562],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":179,"givens":[[28211,0],[28406,1],[28408,0],[28409,0],[28415,0],[28417,0],[28418,0],[28605,0],[28613,0],[28997,0],[28999,1],[29000,0],[29002,0],[29195,1],[29196,1],[29198,1],[29203,1],[29387,1],[29388,0],[29394,1],[29397,1],[29398,0],[29584,1],[29587,1],[29590,0],[29591,1],[29594,0],[29779,1],[29780,1],[29783,1],[29789,0],[29975,1],[29976,0],[29986,1],[29987,1],[30173,0],[30174,1],[30175,1],[30178,1],[30368,1],[30369,0],[30370,1],[30371,1],[30374,1],[30375,0],[30563,0],[30569,0],[30570,0],[30766,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[29006,29007,30770,30771],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":180,"givens":[[30586,0],[30776,1],[30781,1],[30783,0],[30785,0],[30968,1],[30972,0],[30975,0],[30979,0],[31164,1],[31165,0],[31167,0],[31169,1],[31171,0],[31174,1],[31360,0],[31362,1],[31364,1],[31365,1],[31366,0],[31556,1],[31564,0],[31567,0],[31753,0],[31754,1],[31755,1],[31760,0],[31761,0],[31948,0],[31953,0],[31958,1],[31959,0],[32147,1],[32155,0],[32340,1],[32343,1],[32347,0],[32536,1],[32541,1],[32734,0],[32737,1],[32741,0],[32744,1],[32928,1],[32929,0],[32932,1],[32934,1],[32935,1],[32937,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[30582,30583,33130,33131],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":181,"givens":[[30596,1],[30785,0],[30786,1],[30789,1],[30790,0],[30792,1],[30797,1],[30983,1],[30984,1],[30985,0],[30986,1],[30993,0],[30994,1],[31181,1],[31182,1],[31184,1],[31185,1],[31187,0],[31189,0],[31375,1],[31381,0],[31570,0],[31574,1],[31580,1],[31766,0],[31768,0],[31770,1],[31773,0],[31774,0],[31776,1],[31969,0],[31970,0],[31972,0],[32158,0],[32160,1],[32163,1],[32358,0],[32360,0],[32550,1],[32551,1],[32553,1],[32560,1],[32748,0],[32750,0],[32755,1],[32757,0],[32943,1],[32945,0],[32950,1],[32951,1],[33142,1]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[30591,30600,30787,30796],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":182,"givens":[[30610,1],[30614,0],[30805,0],[30994,1],[30995,1],[30997,0],[31002,1],[31003,1],[31193,1],[31198,1],[31387,1],[31388,0],[31391,1],[31392,1],[31583,0],[31586,1],[31594,1],[31779,0],[31781,1],[31784,0],[31975,1],[31978,0],[31979,1],[31982,0],[31985,1],[31986,0],[31987,0],[32172,1],[32175,1],[32177,1],[32182,0],[32183,0],[32370,0],[32563,1],[32564,1],[32570,1],[32572,0],[32573,1],[32574,0],[32759,1],[32760,0],[32762,1],[32763,0],[32767,1],[32956,0],[32958,0],[32959,0],[32961,0],[32966,0],[33162,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[30603,30612,32171,32180],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":183,"givens":[[30622,1],[30814,1],[30815,1],[30820,1],[30822,1],[31008,1],[31009,1],[31012,1],[31014,0],[31019,0],[31020,0],[31205,1],[31209,1],[31210,1],[31213,1],[31401,0],[31403,0],[31405,0],[31411,1],[31596,0],[31607,0],[31798,0],[31801,0],[31802,0],[31804,1],[31987,0],[31989,0],[31991,0],[31993,0],[31994,0],[31997,1],[32183,0],[32189,0],[32192,0],[32195,0],[32385,1],[32386,0],[32389,1],[32577,1],[32586,0],[32774,1],[32777,0],[32778,0],[32781,1],[32968,0],[32971,0],[32973,0],[32976,1],[32979,1],[32980,1],[33171,0],[33172,0]],"blank":0.7346938775510204,"needs_unique":true,"needs_bifurcation":true,"flip":[30624,30625,31016,31017],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":184,"givens":[[30825,1],[30826,1],[30829,0],[30830,0],[30832,1],[30835,1],[31020,0],[31023,1],[31028,1],[31031,1],[31218,1],[31220,0],[31222,0],[31225,0],[31413,1],[31422,1],[31425,1],[31611,1],[31804,1],[31805,1],[31809,1],[31811,0],[31813,1],[31815,1],[31817,0],[32002,1],[32007,1],[32013,0],[32197,1],[32201,1],[32203,0],[32204,0],[32393,0],[32396,0],[32397,0],[32403,0],[32590,1],[32596,0],[32598,0],[32599,1],[32787,0],[32788,0],[32796,1],[32980,1],[32981,1],[32986,0],[32988,1],[33180,1],[33181,1],[33188,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[30633,30640,31025,31032],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":185,"givens":[[30643,1],[30652,1],[30840,0],[30841,0],[30842,1],[30843,0],[30846,1],[30850,1],[31034,1],[31043,0],[31044,0],[31232,0],[31235,0],[31237,1],[31241,1],[31425,1],[31428,0],[31430,0],[31433,1],[31434,0],[31622,1],[31625,0],[31626,0],[31632,0],[31634,0],[31817,0],[31821,0],[31827,0],[31828,0],[32013,0],[32014,1],[32018,1],[32020,0],[32211,0],[32213,0],[32219,1],[32220,1],[32406,0],[32407,0],[32411,0],[32607,0],[32609,1],[32613,0],[32799,0],[32800,0],[32801,1],[32808,0],[32809,0],[33000,1],[33006,1],[33190,1],[33197,0],[33201,1]],"blank":0.7295918367346939,"needs_unique":true,"needs_bifurcation":true,"flip":[30648,30649,32216,32217],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":186,"givens":[[30655,0],[30657,0],[30660,0],[30661,0],[30850,1],[30853,1],[31052,0],[31054,1],[31056,0],[31057,1],[31248,1],[31249,1],[31251,0],[31442,1],[31445,0],[31449,1],[31450,1],[31634,0],[31636,0],[31638,1],[31639,1],[31645,0],[31841,1],[32030,1],[32032,0],[32033,0],[32035,1],[32036,0],[32037,1],[32223,0],[32224,0],[32229,0],[32235,1],[32420,0],[32428,1],[32617,1],[32619,1],[32623,1],[32624,1],[32625,0],[32811,0],[32812,0],[32815,1],[32819,0],[32822,1],[33006,1],[33007,1],[33012,1],[33017,1],[33207,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[30663,30664,31643,31644],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":187,"givens":[[30668,0],[30676,1],[30864,1],[30865,0],[30866,1],[30867,1],[30869,1],[30870,1],[31060,1],[31066,1],[31069,1],[31071,1],[31264,1],[31265,1],[31452,0],[31460,1],[31463,0],[31651,0],[31653,0],[31655,0],[31844,1],[31845,1],[31852,1],[31854,1],[31855,1],[32050,0],[32235,1],[32245,1],[32247,1],[32248,0],[32432,0],[32434,0],[32435,0],[32438,0],[32440,0],[32444,0],[32631,1],[32635,0],[32639,0],[32824,1],[32825,1],[32826,0],[32827,1],[32828,1],[32833,0],[32834,1],[33022,1],[33025,1],[33027,1],[33217,1],[33221,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[30672,30673,31456,31457],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":188,"givens":[[30877,1],[30878,1],[30880,1],[30881,0],[30884,0],[30885,0],[30889,1],[31074,1],[31076,1],[31078,1],[31084,0],[31269,0],[31272,0],[31274,1],[31276,0],[31278,1],[31466,1],[31473,1],[31475,0],[31476,0],[31661,1],[31662,1],[31857,1],[31860,0],[31861,0],[32060,1],[32248,0],[32250,0],[32251,0],[32253,0],[32254,0],[32256,1],[32259,0],[32444,0],[32445,0],[32447,0],[32451,0],[32454,1],[32644,0],[32647,0],[32650,0],[32653,0],[32838,1],[32841,0],[32845,1],[32849,1],[33033,1],[33039,0],[33040,1],[33042,0],[33044,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[30691,30692,30887,30888],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":189,"givens":[[30889,1],[30891,1],[30894,0],[30895,0],[30896,1],[31086,0],[31088,0],[31089,0],[31091,0],[31094,1],[31097,0],[31285,0],[31292,1],[31293,1],[31674,1],[31676,1],[31677,0],[31679,1],[31680,0],[31681,1],[31682,1],[31683,0],[31873,0],[31876,0],[32075,1],[32077,0],[32262,0],[32263,1],[32270,0],[32271,0],[32273,0],[32460,1],[32461,0],[32464,1],[32467,0],[32653,0],[32654,0],[32656,0],[32657,0],[32660,1],[32849,1],[32851,0],[32855,0],[32860,1],[33047,1],[33054,0],[33250,0],[33251,0],[33253,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[30703,30704,30899,30900],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":190,"givens":[[30713,1],[30718,0],[30904,0],[30905,0],[30907,1],[30909,1],[31099,1],[31106,0],[31108,0],[31109,0],[31295,0],[31300,0],[31302,0],[31491,1],[31492,0],[31493,1],[31495,1],[31497,1],[31691,1],[31694,1],[31695,1],[31883,0],[31888,1],[31894,0],[32082,0],[32085,0],[32088,1],[32091,0],[32275,1],[32277,1],[32280,1],[32283,1],[32471,1],[32474,1],[32475,1],[32667,0],[32668,0],[32672,0],[32675,1],[32678,0],[32864,0],[32871,1],[32873,1],[32874,0],[33059,0],[33061,0],[33062,0],[33066,0],[33263,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[30716,30717,33264,33265],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":191,"givens":[[30916,1],[30926,1],[30927,1],[31113,0],[31114,0],[31116,1],[31121,0],[31312,0],[31313,0],[31504,0],[31505,1],[31513,1],[31515,0],[31703,1],[31707,1],[31898,0],[31901,1],[31904,0],[32091,0],[32095,0],[32098,1],[32099,0],[32288,0],[32290,0],[32291,0],[32294,1],[32297,0],[32298,1],[32491,1],[32492,1],[32493,0],[32495,1],[32682,1],[32684,1],[32686,1],[32687,1],[32690,1],[32881,1],[32882,1],[32883,0],[32884,0],[32886,0],[33079,1],[33080,1],[33082,1],[33083,0],[33269,1],[33272,1],[33273,0],[33279,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[31905,31906,33277,33278],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":192,"givens":[[30929,0],[30934,1],[30935,1],[30937,1],[30938,1],[30940,1],[31125,1],[31128,1],[31131,0],[31321,0],[31323,1],[31329,0],[31330,1],[31331,1],[31523,0],[31524,0],[31528,0],[31713,1],[31717,0],[31718,1],[31720,0],[31724,1],[31917,1],[31919,1],[31920,0],[32105,0],[32106,0],[32107,1],[32112,0],[32113,0],[32115,1],[32305,0],[32306,0],[32498,1],[32499,1],[32504,1],[32506,0],[32509,0],[32693,1],[32694,1],[32696,1],[32697,1],[32698,0],[32699,1],[32700,1],[32893,0],[32899,1],[33087,0],[33283,1],[33290,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[30733,30734,33281,33282],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":193,"givens":[[30747,0],[30942,1],[30945,1],[30947,1],[30952,0],[31141,0],[31142,0],[31146,1],[31147,1],[31149,1],[31334,0],[31335,1],[31343,1],[31532,1],[31533,0],[31534,0],[31535,1],[31540,0],[31728,1],[31732,0],[31734,1],[31735,1],[31922,1],[31925,1],[31929,0],[32119,0],[32121,1],[32125,1],[32126,1],[32315,0],[32325,1],[32509,0],[32513,0],[32519,0],[32706,1],[32708,1],[32711,0],[32713,1],[32717,1],[32902,0],[32903,0],[32906,0],[33098,1],[33099,1],[33101,1],[33103,0],[33104,1],[33107,0],[33294,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[30941,30943,31137,31139],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":194,"givens":[[30766,1],[30955,1],[30959,1],[30961,0],[30962,0],[30967,1],[31153,0],[31154,1],[31155,1],[31156,0],[31158,1],[31161,0],[31163,1],[31353,0],[31354,0],[31543,1],[31544,1],[31546,0],[31549,1],[31551,0],[31554,1],[31742,1],[31744,0],[31935,1],[31938,1],[31941,1],[31942,0],[31946,0],[32131,1],[32134,0],[32140,1],[32141,1],[32334,0],[32525,0],[32526,1],[32529,1],[32533,1],[32534,0],[32721,0],[32725,1],[32918,1],[32926,0],[33111,0],[33112,1],[33115,0],[33117,1],[33122,1],[33123,1],[33308,1],[33319,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[32914,32924,33110,33120],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":195,"givens":[[33320,0],[33322,1],[33323,1],[33325,1],[33327,1],[33522,1],[33523,0],[33524,1],[33715,1],[33717,0],[33724,1],[33908,1],[33909,1],[33914,1],[33915,0],[33917,0],[34104,1],[34106,1],[34112,1],[34115,1],[34305,1],[34307,1],[34310,1],[34500,0],[34503,1],[34508,0],[34692,1],[34695,1],[34702,1],[34703,1],[34893,1],[34901,1],[35084,1],[35085,1],[35088,1],[35093,0],[35094,0],[35096,0],[35280,0],[35281,0],[35284,0],[35285,1],[35287,1],[35290,0],[35292,0],[35476,0],[35479,0],[35480,0],[35483,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[33132,33134,33328,33330],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":196,"givens":[[33142,1],[33334,0],[33339,0],[33340,1],[33344,0],[33534,1],[33537,1],[33540,0],[33541,0],[33726,0],[33734,0],[33925,1],[33929,1],[33932,0],[34118,1],[34121,0],[34123,0],[34126,1],[34128,0],[34129,1],[34130,0],[34314,1],[34316,1],[34321,0],[34510,0],[34516,0],[34518,1],[34520,0],[34709,1],[34710,0],[34717,1],[34718,1],[34901,1],[34907,1],[34908,1],[34910,0],[35099,1],[35100,0],[35101,1],[35107,1],[35297,1],[35298,0],[35300,0],[35301,0],[35302,1],[35305,1],[35490,1],[35497,0],[35498,0],[35502,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[33140,33141,33728,33729],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":3,"complete":true}},{"id":197,"givens":[[33162,1],[33347,0],[33348,0],[33350,0],[33351,0],[33354,1],[33543,0],[33547,0],[33548,0],[33552,1],[33553,0],[33740,0],[33745,0],[33746,1],[33747,1],[33751,0],[33936,0],[33942,0],[33945,1],[33946,0],[34130,0],[34134,0],[34137,1],[34327,1],[34523,1],[34526,0],[34527,0],[34531,0],[34534,0],[34718,1],[34720,1],[34721,1],[34725,0],[34726,0],[34728,1],[34730,0],[34921,1],[34925,0],[35112,1],[35116,1],[35307,0],[35313,0],[35314,0],[35502,0],[35503,0],[35506,0],[35511,0],[35512,1],[35514,1],[35706,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[33157,33158,35117,35118],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":198,"givens":[[33171,0],[33172,0],[33362,1],[33364,0],[33367,1],[33557,1],[33558,1],[33562,0],[33563,1],[33567,1],[33751,0],[33759,0],[33761,0],[33763,1],[33951,1],[33957,0],[34144,1],[34149,1],[34154,1],[34156,0],[34342,0],[34344,1],[34345,0],[34346,0],[34545,1],[34735,0],[34737,0],[34738,0],[34740,0],[34742,1],[34743,1],[34928,1],[34929,1],[34931,0],[34933,1],[34934,0],[35126,1],[35132,0],[35133,1],[35134,1],[35135,0],[35321,1],[35322,1],[35324,1],[35327,1],[35330,1],[35516,0],[35519,1],[35520,1],[35527,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[33168,33169,33560,33561],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":199,"givens":[[33180,1],[33181,1],[33188,1],[33373,1],[33378,1],[33379,0],[33381,0],[33383,0],[33569,1],[33572,1],[33573,1],[33577,1],[33770,0],[33776,1],[33962,1],[33964,1],[33967,0],[33972,0],[34156,0],[34157,0],[34159,0],[34160,0],[34161,1],[34164,1],[34168,1],[34353,0],[34356,0],[34557,0],[34559,1],[34745,1],[34748,1],[34749,1],[34756,0],[34942,1],[34947,0],[34950,1],[35141,0],[35143,0],[35144,0],[35146,0],[35333,1],[35342,1],[35344,1],[35532,1],[35533,1],[35534,0],[35536,0],[35538,0],[35540,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[33185,33186,35733,35734],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":5,"complete":false}},{"id":200,"givens":[[33190,1],[33197,0],[33201,1],[33388,0],[33390,0],[33397,1],[33582,0],[33583,1],[33584,1],[33588,0],[33589,0],[33592,1],[33779,1],[33784,0],[33785,1],[33789,1],[33977,1],[33982,0],[33984,1],[33985,1],[34172,0],[34175,1],[34367,1],[34370,1],[34377,1],[34564,0],[34565,0],[34569,1],[34759,0],[34764,1],[34766,0],[34768,0],[34954,0],[34956,0],[34957,0],[34959,0],[34962,1],[35150,0],[35153,0],[35154,0],[35159,0],[35347,1],[35544,0],[35545,0],[35549,1],[35550,1],[35552,0],[35743,0],[35748,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[33199,33200,33395,33396],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":201,"givens":[[33207,0],[33399,1],[33401,0],[33403,0],[33410,1],[33596,0],[33600,1],[33604,0],[33605,0],[33791,1],[33796,1],[33989,0],[33994,0],[33996,1],[33998,1],[34186,0],[34189,0],[34191,0],[34195,0],[34379,1],[34380,1],[34381,0],[34388,1],[34575,1],[34577,0],[34583,0],[34586,1],[34587,0],[34772,0],[34775,0],[34777,1],[34782,1],[34967,1],[34975,0],[35164,0],[35166,0],[35167,0],[35169,0],[35171,1],[35172,1],[35173,0],[35366,0],[35369,0],[35555,0],[35560,0],[35561,0],[35564,0],[35567,0],[35752,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[33212,33213,33408,33409],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":202,"givens":[[33217,1],[33221,0],[33412,1],[33418,1],[33421,0],[33610,0],[33611,0],[33618,0],[33806,1],[33810,0],[33812,0],[33813,1],[34000,0],[34006,1],[34195,0],[34201,0],[34204,1],[34207,0],[34392,1],[34401,1],[34402,1],[34587,0],[34588,1],[34589,1],[34591,1],[34595,0],[34598,1],[34786,0],[34791,1],[34980,0],[34982,1],[34983,0],[34985,0],[34988,1],[34991,0],[35176,1],[35181,0],[35184,1],[35373,1],[35381,1],[35382,1],[35383,0],[35567,0],[35570,1],[35571,1],[35573,0],[35578,1],[35579,1],[35771,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[33218,33219,34198,34199],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":203,"givens":[[33425,1],[33426,1],[33428,1],[33431,0],[33432,1],[33435,0],[33436,0],[33624,0],[33631,0],[33632,0],[33818,0],[33820,1],[33821,1],[33823,1],[33825,0],[34013,1],[34017,0],[34019,1],[34022,1],[34211,0],[34214,1],[34220,1],[34405,1],[34408,1],[34417,1],[34601,1],[34603,1],[34606,1],[34611,1],[34800,0],[34805,0],[34993,0],[34997,1],[34998,0],[35000,1],[35002,0],[35190,1],[35192,1],[35194,0],[35195,0],[35200,1],[35391,0],[35394,1],[35396,1],[35581,1],[35582,1],[35584,1],[35585,1],[35588,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[33233,33234,33429,33430],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":204,"givens":[[33250,0],[33251,0],[33253,0],[33438,0],[33448,0],[33449,1],[33450,0],[33634,0],[33635,0],[33638,0],[33642,0],[33832,1],[33833,1],[33840,1],[33841,1],[34026,0],[34031,0],[34035,0],[34038,0],[34232,1],[34417,1],[34418,0],[34419,0],[34422,1],[34424,0],[34427,1],[34616,0],[34617,1],[34619,1],[34620,1],[34626,0],[34812,0],[34815,0],[34817,0],[34821,1],[35006,1],[35017,1],[35202,1],[35205,1],[35208,1],[35211,1],[35212,1],[35400,1],[35401,1],[35404,1],[35405,0],[35406,0],[35408,1],[35594,1],[35791,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[33245,33246,34813,34814],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":3,"complete":true}},{"id":205,"givens":[[33263,0],[33450,0],[33459,1],[33462,0],[33649,0],[33650,0],[33652,0],[33655,1],[33658,0],[33847,1],[33853,0],[33855,1],[34038,0],[34041,1],[34045,0],[34048,0],[34237,0],[34238,0],[34241,0],[34242,1],[34244,1],[34432,0],[34434,0],[34441,1],[34442,0],[34626,0],[34628,0],[34635,0],[34638,0],[34825,0],[34827,1],[34830,0],[35019,1],[35024,1],[35025,1],[35027,1],[35215,1],[35217,1],[35221,1],[35413,0],[35414,1],[35419,0],[35420,0],[35607,1],[35610,1],[35611,0],[35613,1],[35615,1],[35805,0],[35808,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[33257,33258,33845,33846],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":206,"givens":[[33269,1],[33272,1],[33273,0],[33279,0],[33465,1],[33469,1],[33470,1],[33472,1],[33473,1],[33475,1],[33476,0],[33662,0],[33670,0],[33855,1],[33857,1],[33860,0],[33863,0],[33867,0],[34056,1],[34059,0],[34061,0],[34248,0],[34249,0],[34252,1],[34258,0],[34446,1],[34447,0],[34448,0],[34450,1],[34453,0],[34454,0],[34640,0],[34644,1],[34647,0],[34648,1],[34839,0],[34840,0],[35034,1],[35036,0],[35228,1],[35231,1],[35234,1],[35238,1],[35428,1],[35433,1],[35434,1],[35435,0],[35626,0],[35629,1],[35816,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[34835,34836,35031,35032],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":207,"givens":[[33283,1],[33290,1],[33476,0],[33478,0],[33483,1],[33487,0],[33675,1],[33677,1],[33678,1],[33679,0],[33682,1],[33870,0],[33872,0],[33875,1],[33877,1],[34065,1],[34262,0],[34264,1],[34265,1],[34269,0],[34272,1],[34461,0],[34463,0],[34466,1],[34653,1],[34654,1],[34655,0],[34656,1],[34660,1],[34664,1],[34851,0],[34854,1],[34860,0],[35045,0],[35049,0],[35050,1],[35052,1],[35054,0],[35250,0],[35437,1],[35438,1],[35440,1],[35442,0],[35445,1],[35447,0],[35448,1],[35634,1],[35635,1],[35637,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[34859,34861,35055,35057],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":208,"givens":[[33294,1],[33491,0],[33492,1],[33495,1],[33496,1],[33499,0],[33689,1],[33690,1],[33697,1],[33698,1],[33883,0],[33888,1],[33890,1],[33891,1],[34078,1],[34086,1],[34088,1],[34089,0],[34277,0],[34280,0],[34285,0],[34471,1],[34472,1],[34480,1],[34668,0],[34670,1],[34672,1],[34863,0],[34866,0],[34867,0],[34869,0],[34870,0],[34872,0],[35060,1],[35067,0],[35254,1],[35260,1],[35261,1],[35264,1],[35452,1],[35454,1],[35457,1],[35459,0],[35460,1],[35647,0],[35650,1],[35655,0],[35657,1],[35843,0],[35845,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[33298,33299,33886,33887],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":true}},{"id":209,"givens":[[33308,1],[33319,0],[33506,1],[33508,1],[33511,1],[33513,1],[33698,1],[33700,0],[33704,1],[33706,1],[33708,1],[33711,1],[33897,0],[33903,1],[33904,1],[34094,1],[34099,1],[34102,1],[34291,1],[34292,1],[34296,1],[34484,1],[34486,1],[34487,1],[34489,1],[34493,0],[34687,1],[34691,1],[34878,1],[34884,0],[34886,0],[35071,1],[35075,1],[35076,0],[35077,0],[35081,1],[35082,1],[35269,0],[35271,0],[35273,1],[35275,1],[35471,1],[35472,1],[35662,1],[35664,1],[35670,0],[35671,0],[35862,0],[35866,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[33313,33318,33509,33514],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":210,"givens":[[35872,1],[35877,0],[35878,0],[35881,1],[36064,1],[36066,1],[36067,1],[36071,1],[36073,0],[36261,0],[36267,1],[36270,1],[36467,1],[36469,0],[36652,0],[36653,0],[36656,0],[36658,0],[36659,1],[36661,0],[36848,0],[36852,0],[36854,0],[36860,1],[37045,1],[37051,1],[37056,1],[37241,1],[37245,1],[37246,1],[37248,1],[37250,0],[37441,1],[37635,1],[37643,0],[37645,0],[37831,1],[37832,1],[37834,1],[37836,1],[38024,0],[38025,0],[38035,0],[38220,0],[38221,0],[38223,0],[38225,1],[38226,0],[38232,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[35672,35675,35868,35871],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":211,"givens":[[35881,1],[35885,1],[35887,0],[35888,1],[35890,0],[35892,0],[35894,0],[36079,0],[36086,1],[36088,1],[36275,0],[36278,0],[36280,1],[36281,1],[36285,0],[36469,0],[36472,1],[36478,0],[36672,1],[36676,0],[36864,0],[36865,0],[36867,0],[36871,1],[36872,0],[37058,1],[37059,0],[37061,1],[37063,0],[37067,1],[37254,1],[37255,0],[37261,1],[37453,1],[37645,0],[37646,1],[37650,0],[37652,0],[37653,0],[37842,1],[37846,0],[37847,0],[37849,0],[37850,0],[38040,0],[38049,0],[38235,0],[38238,0],[38240,1],[38243,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[35690,35693,35886,35889],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":212,"givens":[[35706,0],[35894,0],[35896,1],[35900,0],[35902,1],[35903,1],[35906,1],[36093,1],[36096,0],[36288,0],[36290,0],[36292,1],[36293,1],[36296,1],[36299,1],[36484,0],[36487,1],[36682,0],[36685,0],[36688,1],[36689,0],[36875,0],[36878,0],[36882,1],[36883,0],[36885,0],[37071,0],[37075,1],[37077,1],[37269,0],[37270,1],[37271,0],[37273,0],[37278,1],[37464,1],[37472,1],[37665,1],[37667,0],[37668,0],[37855,0],[37858,0],[37859,1],[37865,1],[38053,1],[38056,1],[38059,1],[38060,1],[38061,0],[38248,0],[38252,1],[38259,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[35707,35708,36099,36100],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":213,"givens":[[35909,1],[35910,1],[35912,1],[35914,0],[35918,1],[35920,0],[36109,0],[36112,0],[36115,1],[36299,1],[36301,1],[36302,1],[36304,1],[36499,1],[36500,1],[36502,1],[36503,1],[36693,0],[36700,0],[36888,1],[36891,0],[36895,0],[36897,0],[36898,0],[36900,0],[37084,1],[37088,1],[37091,1],[37281,0],[37283,0],[37286,0],[37289,0],[37481,1],[37484,0],[37488,1],[37672,1],[37679,1],[37683,0],[37873,1],[37875,1],[37876,0],[37879,0],[38064,0],[38065,0],[38067,0],[38069,1],[38259,0],[38260,0],[38262,0],[38264,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[35717,35723,35913,35919],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":214,"givens":[[35920,0],[35921,1],[35922,1],[35923,0],[35924,1],[35925,1],[35927,1],[35932,1],[36118,0],[36124,0],[36126,1],[36128,0],[36129,0],[36316,1],[36320,1],[36321,0],[36509,0],[36510,1],[36513,1],[36519,1],[36710,0],[36900,0],[36905,1],[37097,1],[37098,1],[37099,0],[37100,1],[37105,1],[37109,0],[37297,0],[37299,0],[37302,0],[37488,1],[37495,0],[37499,1],[37685,0],[37690,0],[37694,0],[37696,0],[37884,1],[37885,1],[38078,0],[38080,1],[38084,1],[38086,0],[38273,0],[38274,0],[38278,1],[38279,0],[38284,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[35729,35730,36121,36122],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":215,"givens":[[35743,0],[35748,0],[35935,1],[35938,1],[35939,1],[35944,1],[35946,1],[36129,0],[36131,1],[36133,1],[36326,0],[36332,0],[36335,1],[36525,1],[36528,0],[36530,0],[36532,1],[36719,1],[36721,1],[36727,0],[36729,1],[36915,1],[36919,1],[36920,1],[36922,1],[36925,0],[37109,0],[37118,1],[37311,0],[37315,1],[37503,0],[37508,0],[37509,0],[37512,1],[37513,1],[37698,0],[37701,0],[37709,1],[37894,1],[37901,1],[37903,0],[37904,1],[38095,0],[38098,0],[38099,1],[38286,1],[38290,0],[38293,0],[38296,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[35738,35740,35934,35936],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":3,"complete":false}},{"id":216,"givens":[[35752,0],[35946,1],[35947,1],[35950,0],[35951,0],[35958,0],[36146,1],[36149,0],[36150,0],[36153,0],[36339,0],[36342,0],[36346,0],[36349,0],[36538,0],[36544,0],[36731,0],[36739,1],[36741,0],[36742,1],[36927,0],[36932,0],[36936,1],[36938,1],[37124,1],[37126,1],[37127,1],[37130,1],[37319,0],[37321,1],[37326,0],[37328,1],[37330,1],[37515,0],[37516,1],[37517,0],[37518,0],[37522,0],[37525,0],[37715,1],[37719,1],[37908,0],[38103,1],[38105,1],[38106,1],[38111,1],[38113,1],[38115,0],[38308,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[35758,35760,36738,36740],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":217,"givens":[[35771,1],[35960,1],[35963,1],[35965,0],[35970,1],[35971,1],[36158,0],[36162,1],[36164,0],[36166,0],[36359,1],[36360,1],[36363,1],[36548,0],[36551,0],[36556,1],[36744,0],[36748,1],[36753,1],[36754,1],[36942,1],[36948,1],[36950,1],[37137,1],[37138,1],[37141,1],[37142,1],[37147,0],[37332,0],[37336,1],[37344,0],[37535,1],[37538,0],[37539,0],[37724,1],[37725,1],[37726,0],[37733,0],[37921,1],[37923,1],[37926,0],[37927,0],[37932,1],[38115,0],[38121,0],[38313,1],[38316,1],[38317,1],[38319,1],[38320,1],[38321,0]],"blank":0.7397959183673469,"needs_unique":true,"needs_bifurcation":true,"flip":[35764,35766,38312,38314],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":218,"givens":[[35973,1],[35974,1],[35976,1],[35977,1],[35981,1],[35984,0],[36175,1],[36365,1],[36366,1],[36368,1],[36369,1],[36371,1],[36561,0],[36564,0],[36569,1],[36571,0],[36758,1],[36761,1],[36767,1],[36954,1],[36956,0],[36960,1],[36961,1],[37153,1],[37157,1],[37159,1],[37160,0],[37344,0],[37348,0],[37352,1],[37356,1],[37541,1],[37543,1],[37546,1],[37551,0],[37932,1],[37933,1],[37936,0],[37940,1],[37942,0],[37943,0],[38130,0],[38131,1],[38135,0],[38328,0],[38333,1],[38334,1],[38336,1],[38337,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[35777,35786,38129,38138],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":true}},{"id":219,"givens":[[35791,1],[35987,0],[35991,1],[35997,1],[36182,0],[36184,1],[36188,1],[36190,1],[36192,1],[36193,1],[36378,0],[36379,1],[36384,1],[36386,0],[36390,0],[36583,0],[36771,1],[36772,1],[36777,1],[36779,1],[36780,1],[36968,1],[36969,1],[37162,0],[37165,1],[37168,1],[37170,1],[37174,1],[37363,1],[37370,0],[37554,0],[37557,1],[37560,0],[37565,1],[37756,0],[37758,0],[37760,0],[37946,1],[37947,1],[37950,0],[37952,1],[37958,1],[38146,0],[38147,1],[38148,0],[38150,1],[38337,1],[38338,1],[38344,1],[38345,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[35797,35798,35993,35994],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":4,"complete":false}},{"id":220,"givens":[[35805,0],[35808,0],[36000,0],[36001,0],[36006,1],[36008,1],[36010,0],[36195,1],[36198,1],[36205,1],[36390,0],[36395,1],[36396,1],[36398,1],[36593,1],[36596,0],[36598,0],[36786,1],[36788,0],[36794,0],[36795,1],[36979,0],[36988,1],[37174,1],[37175,0],[37178,1],[37180,0],[37182,1],[37184,1],[37370,0],[37378,1],[37382,1],[37569,0],[37766,1],[37770,1],[37771,1],[37773,0],[37958,1],[37960,1],[37961,0],[37966,0],[37967,1],[37969,1],[38155,0],[38156,0],[38158,0],[38159,0],[38162,0],[38361,1],[38362,0]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[35811,35812,38359,38360],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":5,"complete":false}},{"id":221,"givens":[[35816,0],[36012,0],[36013,1],[36015,0],[36017,0],[36018,0],[36023,1],[36210,1],[36213,1],[36214,0],[36217,1],[36404,0],[36405,1],[36406,0],[36415,0],[36607,0],[36610,0],[36612,0],[36795,1],[36803,1],[36805,1],[36807,1],[36996,0],[36998,0],[37189,1],[37190,1],[37195,1],[37386,1],[37389,1],[37393,1],[37394,1],[37584,1],[37585,0],[37588,1],[37590,0],[37591,0],[37779,0],[37780,1],[37785,0],[37975,1],[38168,0],[38172,1],[38175,0],[38176,0],[38178,0],[38179,0],[38366,1],[38367,1],[38370,1],[38372,1]],"blank":0.7448979591836735,"needs_unique":true,"needs_bifurcation":true,"flip":[35819,35820,36407,36408],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":222,"givens":[[36026,1],[36031,0],[36032,0],[36223,0],[36224,1],[36225,1],[36228,1],[36230,1],[36421,1],[36428,1],[36429,1],[36612,0],[36620,1],[36622,1],[36623,0],[36809,1],[36810,1],[36813,1],[36814,1],[37005,0],[37009,1],[37010,1],[37015,0],[37016,1],[37201,0],[37203,1],[37204,1],[37208,1],[37212,0],[37406,0],[37593,0],[37597,0],[37599,0],[37602,0],[37604,0],[37789,0],[37791,0],[37793,0],[37796,0],[37986,1],[37995,1],[38186,0],[38188,1],[38189,1],[38377,0],[38378,1],[38380,0],[38386,0],[38387,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[35839,35840,36035,36036],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":223,"givens":[[35843,0],[35845,0],[36038,0],[36039,0],[36044,1],[36049,0],[36238,0],[36240,0],[36244,1],[36429,1],[36433,0],[36438,0],[36441,1],[36630,1],[36633,0],[36635,0],[36822,1],[36824,0],[36827,0],[36829,1],[36831,0],[36832,0],[37021,0],[37028,0],[37214,1],[37215,1],[37219,0],[37222,0],[37412,0],[37413,0],[37419,1],[37421,1],[37422,1],[37611,1],[37613,0],[37802,0],[37812,1],[38001,1],[38004,0],[38009,1],[38010,1],[38195,1],[38199,1],[38204,1],[38205,1],[38390,1],[38392,0],[38397,0],[38400,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[35842,35853,36234,36245],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":224,"givens":[[35862,0],[35866,0],[36057,0],[36252,1],[36256,0],[36258,1],[36259,1],[36443,1],[36448,1],[36640,0],[36641,0],[36643,0],[36650,1],[36840,0],[36844,0],[36845,0],[37031,0],[37033,0],[37035,1],[37043,0],[37232,1],[37235,0],[37237,1],[37422,1],[37430,0],[37432,1],[37620,0],[37627,1],[37631,0],[37818,0],[37823,1],[37824,1],[37826,1],[38010,1],[38018,1],[38019,0],[38023,0],[38207,1],[38209,0],[38211,1],[38212,1],[38216,0],[38404,0],[38406,0],[38409,0],[38410,0],[38412,1],[38414,1],[38415,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[35865,35867,36061,36063],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}}],"stats":{"ms":1116591,"attempts":1,"refills":0,"backjumps":0,"regivens":1,"waves":50},"layout":{"tiles":225,"coverage":1,"holes":0,"hole_cells":0,"mean_hole":0,"by_cells":{"129-256":225},"overlaps":812,"mean_overlap":7.724137931034483,"compound":0}}
A engine/testdata/mosaic-2-14.json +1 -0
@@ -0,0 +1 @@
1+{"manifest":{"version":3,"id":"3e47144edce6e1c6d8f489a30b2327fd04f0d32e4053e125d6e734cfbdadff75","seed_commit":"3e47144edce6e1c6d8f489a30b2327fd04f0d32e4053e125d6e734cfbdadff75","G":27,"packer":{"kind":"grid","params":{"big_area":0,"compound":0,"coverage":0,"n":14}},"m_by_n":{"10":3,"12":3,"14":3,"16":4,"6":2,"8":2},"rules":{"overlaps":true,"cross_tile":false,"seam_clues":false,"band_unique":false},"seed_tile":0,"tiles":[{"id":0,"x0":0,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"278721a54ac3ec4df562ecd5f3b7e9cc7c915bb688781fca4632364a65bff742","m":3,"overlaps":[{"with":1,"cells":14},{"with":2,"cells":14},{"with":3,"cells":1}],"pins":[1]},{"id":1,"x0":13,"y0":0,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"6b9eda012e81d3e638faa3cc001a322b213d20bcd904ad4217f0a25092cbf434","m":3,"overlaps":[{"with":0,"cells":14},{"with":2,"cells":1},{"with":3,"cells":14}],"pins":[0,2]},{"id":2,"x0":0,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"170acaaf99604d402a410822ba61176423e72f007291c5e443afb1e4b1808727","m":2,"overlaps":[{"with":0,"cells":14},{"with":1,"cells":1},{"with":3,"cells":14}],"pins":[0]},{"id":3,"x0":13,"y0":13,"w":14,"h":14,"rects":[[0,0,14,14]],"cells":196,"hash":"4691921906b455fc8c72c56224d42e1038819ab23f38918d92fb949891e5f5f1","m":3,"overlaps":[{"with":0,"cells":1},{"with":1,"cells":14},{"with":2,"cells":14}],"pins":[2]}],"k":"unmeasured","generator":"feb831a53261e6bc","library":null},"solution":["100101101010010100110110100","011010100100110011001100101","100101011001101011001001011","101011001011001100110011010","010100110100110010110100101","010011010110010101001011001","101100101011001011010101010","100110011001101100101010101","011001100110010011011001010","010011001100110100100110110","101100110011001011001100101","010100110011011010010011010","011011001100100100110110110","101010010101101101101001001","010101100110010100100110110","100100101010110011011001100","101011010101001010010110011","010101001010110101101001100","011010110101001101010110100","100100110110101010011010011","011001001010110110100101100","100110011001011001001010011","011001100101101011010101100","011010011010010100101001011","100110101010010010110110100","100101100101101001001101011","011011011001000110110010011"],"tiles":[{"id":0,"givens":[[1,0],[2,0],[4,0],[6,1],[9,0],[11,0],[12,0],[27,0],[32,0],[54,1],[57,1],[60,0],[61,1],[65,1],[85,1],[86,1],[89,1],[90,0],[91,1],[92,1],[108,0],[110,0],[147,0],[162,1],[164,1],[165,1],[168,1],[172,1],[173,1],[195,0],[196,1],[216,0],[219,0],[224,0],[227,0],[250,0],[253,0],[254,0],[272,1],[274,0],[276,1],[282,0],[297,0],[301,0],[303,1],[304,1],[324,0],[334,0],[335,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[62,63,359,360],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":1,"givens":[[16,0],[21,1],[23,0],[26,0],[41,0],[42,0],[45,0],[47,1],[50,0],[71,1],[79,1],[97,0],[98,0],[107,0],[122,0],[126,1],[149,0],[150,1],[154,0],[156,0],[160,0],[185,1],[188,0],[203,1],[204,1],[206,0],[233,1],[236,1],[237,0],[242,0],[262,0],[265,1],[268,1],[269,0],[286,1],[288,0],[290,1],[293,0],[311,1],[313,1],[319,1],[322,1],[343,1],[345,1],[346,1],[347,0],[348,1],[349,1],[350,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[13,14,67,68],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":1,"complete":false}},{"id":2,"givens":[[379,1],[380,0],[382,0],[388,1],[390,0],[409,0],[413,1],[415,1],[416,0],[417,1],[433,0],[437,1],[442,0],[459,0],[460,1],[465,0],[470,0],[487,1],[490,1],[493,1],[494,0],[515,0],[520,1],[521,0],[523,1],[525,1],[550,1],[552,1],[574,1],[576,0],[594,0],[597,0],[605,1],[621,0],[624,0],[625,1],[626,0],[627,0],[629,1],[656,1],[658,1],[660,0],[679,0],[682,0],[686,1],[703,1],[704,1],[711,0],[713,1]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[357,358,384,385],"ladder":{"used_unique":false,"used_bifurcation":true,"bifurcations":2,"complete":false}},{"id":3,"givens":[[392,0],[394,0],[395,0],[398,0],[404,0],[419,0],[422,1],[424,1],[431,0],[448,1],[451,1],[453,1],[454,1],[482,1],[483,1],[485,0],[500,1],[503,1],[505,1],[507,1],[511,0],[512,0],[527,1],[528,0],[531,0],[536,0],[555,1],[556,1],[564,1],[584,1],[585,0],[586,0],[609,0],[610,1],[611,1],[617,1],[618,1],[635,0],[636,1],[643,0],[646,1],[665,0],[669,1],[693,0],[694,0],[696,1],[700,1],[717,1],[719,0]],"blank":0.75,"needs_unique":true,"needs_bifurcation":true,"flip":[499,501,580,582],"ladder":{"used_unique":true,"used_bifurcation":true,"bifurcations":1,"complete":false}}],"stats":{"ms":9757,"attempts":1,"refills":0,"backjumps":0,"regivens":0,"waves":4},"layout":{"tiles":4,"coverage":1,"holes":0,"hole_cells":0,"mean_hole":0,"by_cells":{"129-256":4},"overlaps":6,"mean_overlap":9.666666666666666,"compound":0}}