flo-mat 4.1.4 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/closest-boundary-point/get-endpoint-info.spec.ts +140 -0
- package/__tests__/closest-boundary-point/root-interval-to-distance-squared-interval.spec.ts +87 -0
- package/__tests__/cp-node/circle-identity.spec.ts +56 -0
- package/__tests__/cp-node/fs/get-all-on-loop-by-loop.spec.ts +55 -0
- package/__tests__/cp-node/fs/get-angle-between-mat-curves.spec.ts +39 -3
- package/__tests__/cp-node/fs/get-boundary-bezier-parts-to-next.spec.ts +87 -3
- package/__tests__/cp-node/fs/get-boundary-beziers-between.spec.ts +68 -3
- package/__tests__/cp-node/fs/get-boundary-beziers-to-next.spec.ts +41 -3
- package/__tests__/cp-node/fs/get-boundary-distance-to-next.spec.ts +20 -3
- package/__tests__/cp-node/fs/get-branch-beziers.spec.ts +42 -3
- package/__tests__/cp-node/fs/get-branch.spec.ts +60 -3
- package/__tests__/cp-node/fs/get-cp-node-ordering.spec.ts +19 -3
- package/__tests__/cp-node/fs/get-distance-to-next.spec.ts +37 -4
- package/__tests__/cp-node/fs/get-edge-direction.spec.ts +50 -3
- package/__tests__/cp-node/fs/get-first-exit.spec.ts +78 -3
- package/__tests__/cp-node/fs/get-hole-closers.spec.ts +32 -3
- package/__tests__/cp-node/fs/get-implied-boundary-bezier-between.spec.ts +48 -3
- package/__tests__/cp-node/fs/get-mat-curve-between.spec.ts +77 -3
- package/__tests__/cp-node/fs/get-mat-curve-to-next.spec.ts +17 -4
- package/__tests__/cp-node/fs/get-mat-curves-between.spec.ts +38 -3
- package/__tests__/cp-node/fs/get-salience.spec.ts +68 -3
- package/__tests__/cp-node/fs/get-vertex-forward-children.spec.ts +40 -3
- package/__tests__/cp-node/fs/insert-cp-node.spec.ts +87 -3
- package/__tests__/cp-node/fs/is-special.spec.ts +1 -1
- package/__tests__/cp-node/fs/remove-cp-node.spec.ts +42 -3
- package/__tests__/find-2-prong/calc-seperation-tolerance.spec.ts +46 -0
- package/__tests__/find-2-prong/get-medial/dd-get-medial-point-coeffs-same-curve.spec.ts +7 -5
- package/__tests__/find-2-prong/get-medial/dd-get-medial-point-coeffs.spec.ts +4 -2
- package/__tests__/find-2-prong/get-medial/get-closest-points.spec.ts +1 -1
- package/__tests__/floyd-warshall/get-graph.spec.ts +100 -0
- package/__tests__/get-mats-with-hole.ts +28 -0
- package/__tests__/get-mats1.spec.ts +61 -0
- package/__tests__/get-mats1.ts +75 -67
- package/__tests__/helpers/cp-node-by-id.ts +27 -0
- package/__tests__/helpers/expect-point-close.ts +42 -0
- package/__tests__/mat/hausdorff-distance-one-sided-exceeds.spec.ts +129 -0
- package/__tests__/mat/simplify-mat.spec.ts +85 -0
- package/__tests__/reconstruct-from-mat/reconstruct-from-mat.spec.ts +39 -0
- package/__tests__/specific-cases/test-svgs/achispado.svg +14 -0
- package/__tests__/utils/get-beziers-from-tangents.spec.ts +142 -0
- package/browser/index.js +17882 -13800
- package/browser/index.min.js +1 -1
- package/node/add-n-prong.ts/join-spokes.js +3 -2
- package/node/add-n-prong.ts/join-spokes.js.map +1 -1
- package/node/closest-boundary-point/cull-curve-pieces.d.ts +21 -0
- package/node/closest-boundary-point/cull-curve-pieces.js +40 -0
- package/node/closest-boundary-point/cull-curve-pieces.js.map +1 -0
- package/node/closest-boundary-point/get-close-boundary-points-certified.js +5 -2
- package/node/closest-boundary-point/get-close-boundary-points-certified.js.map +1 -1
- package/node/closest-boundary-point/get-endpoint-info.d.ts +39 -0
- package/node/closest-boundary-point/get-endpoint-info.js +78 -0
- package/node/closest-boundary-point/get-endpoint-info.js.map +1 -0
- package/node/closest-boundary-point/get-potential-closest-points-on-curve-certified.js +5 -19
- package/node/closest-boundary-point/get-potential-closest-points-on-curve-certified.js.map +1 -1
- package/node/closest-boundary-point/root-interval-to-distance-squared-interval.d.ts +17 -5
- package/node/closest-boundary-point/root-interval-to-distance-squared-interval.js +37 -50
- package/node/closest-boundary-point/root-interval-to-distance-squared-interval.js.map +1 -1
- package/node/corner/get-corner.d.ts +18 -1
- package/node/corner/get-corner.js +8 -1
- package/node/corner/get-corner.js.map +1 -1
- package/node/corner/get-interface-ccw.js.map +1 -1
- package/node/cp-node/cp-node.d.ts +4 -3
- package/node/cp-node/fs/enhance-cp-node.d.ts +9 -9
- package/node/cp-node/fs/get-all-on-loop-by-loop.js +0 -4
- package/node/cp-node/fs/get-all-on-loop-by-loop.js.map +1 -1
- package/node/cp-node/fs/get-angle-between-mat-curves.d.ts +1 -1
- package/node/cp-node/fs/get-angle-between-mat-curves.js +7 -4
- package/node/cp-node/fs/get-angle-between-mat-curves.js.map +1 -1
- package/node/cp-node/fs/get-boundary-beziers-between.d.ts +6 -4
- package/node/cp-node/fs/get-boundary-beziers-between.js +6 -4
- package/node/cp-node/fs/get-boundary-beziers-between.js.map +1 -1
- package/node/cp-node/fs/get-branch-beziers.d.ts +2 -1
- package/node/cp-node/fs/get-branch-beziers.js +3 -2
- package/node/cp-node/fs/get-branch-beziers.js.map +1 -1
- package/node/cp-node/fs/get-branch.js +1 -2
- package/node/cp-node/fs/get-branch.js.map +1 -1
- package/node/cp-node/fs/get-distance-to-next.js +4 -2
- package/node/cp-node/fs/get-distance-to-next.js.map +1 -1
- package/node/cp-node/fs/get-edge-direction.js +3 -2
- package/node/cp-node/fs/get-edge-direction.js.map +1 -1
- package/node/cp-node/fs/get-first-exit.d.ts +7 -3
- package/node/cp-node/fs/get-first-exit.js +13 -11
- package/node/cp-node/fs/get-first-exit.js.map +1 -1
- package/node/cp-node/fs/get-implied-boundary-bezier-between.d.ts +10 -2
- package/node/cp-node/fs/get-implied-boundary-bezier-between.js +11 -54
- package/node/cp-node/fs/get-implied-boundary-bezier-between.js.map +1 -1
- package/node/cp-node/fs/get-mat-curve-between.d.ts +5 -3
- package/node/cp-node/fs/get-mat-curve-between.js +6 -49
- package/node/cp-node/fs/get-mat-curve-between.js.map +1 -1
- package/node/cp-node/fs/get-mat-curve-to-next.d.ts +1 -1
- package/node/cp-node/fs/get-mat-curves-between.d.ts +8 -0
- package/node/cp-node/fs/get-mat-curves-between.js +9 -2
- package/node/cp-node/fs/get-mat-curves-between.js.map +1 -1
- package/node/cp-node/fs/get-real-prong-count.d.ts +2 -1
- package/node/cp-node/fs/get-real-prong-count.js +11 -5
- package/node/cp-node/fs/get-real-prong-count.js.map +1 -1
- package/node/cp-node/fs/get-salience.d.ts +10 -0
- package/node/cp-node/fs/get-salience.js +17 -1
- package/node/cp-node/fs/get-salience.js.map +1 -1
- package/node/cp-node/fs/is-fully-terminating.d.ts +4 -2
- package/node/cp-node/fs/is-fully-terminating.js +6 -17
- package/node/cp-node/fs/is-fully-terminating.js.map +1 -1
- package/node/cp-node/fs/is-on-same-circle.d.ts +3 -0
- package/node/cp-node/fs/is-on-same-circle.js +4 -4
- package/node/cp-node/fs/is-on-same-circle.js.map +1 -1
- package/node/cp-node/fs/is-on-same-loop.d.ts +1 -1
- package/node/cp-node/fs/is-special.d.ts +7 -0
- package/node/cp-node/fs/is-special.js +9 -2
- package/node/cp-node/fs/is-special.js.map +1 -1
- package/node/cp-node/fs/is-vertex.d.ts +1 -1
- package/node/cp-node/fs/traverse-edges.d.ts +7 -3
- package/node/cp-node/fs/traverse-edges.js +7 -3
- package/node/cp-node/fs/traverse-edges.js.map +1 -1
- package/node/cp-node/stringification/from-stringifyable.d.ts +2 -2
- package/node/cp-node/stringification/from-stringifyable.js +17 -1
- package/node/cp-node/stringification/from-stringifyable.js.map +1 -1
- package/node/cp-node/stringification/to-stringifyable.d.ts +3 -3
- package/node/cp-node/stringification/to-stringifyable.js +3 -3
- package/node/debug/debug.d.ts +26 -3
- package/node/debug/debug.js +16 -5
- package/node/debug/debug.js.map +1 -1
- package/node/find-2-prong/add-2-prong.js +7 -9
- package/node/find-2-prong/add-2-prong.js.map +1 -1
- package/node/find-2-prong/calc-seperation-tolerance.d.ts +28 -5
- package/node/find-2-prong/calc-seperation-tolerance.js +32 -89
- package/node/find-2-prong/calc-seperation-tolerance.js.map +1 -1
- package/node/find-2-prong/find-2-prong.js +8 -10
- package/node/find-2-prong/find-2-prong.js.map +1 -1
- package/node/find-2-prong/find-and-add-2-prongs.js +2 -2
- package/node/find-2-prong/find-and-add-2-prongs.js.map +1 -1
- package/node/find-2-prong/get-medial/get-antipodal-points.d.ts +1 -2
- package/node/find-2-prong/get-medial/get-antipodal-points.js +2 -3
- package/node/find-2-prong/get-medial/get-antipodal-points.js.map +1 -1
- package/node/find-2-prong/get-medial/get-closest-points.d.ts +1 -8
- package/node/find-2-prong/get-medial/get-closest-points.js +4 -40
- package/node/find-2-prong/get-medial/get-closest-points.js.map +1 -1
- package/node/find-2-prong/reduce-radius.d.ts +1 -1
- package/node/find-2-prong/reduce-radius.js +6 -3
- package/node/find-2-prong/reduce-radius.js.map +1 -1
- package/node/find-3-prong/calc-better-x.js +1 -1
- package/node/find-3-prong/calc-better-x.js.map +1 -1
- package/node/find-3-prong/find-3-prong-for-delta3s.d.ts +3 -2
- package/node/find-3-prong/find-3-prong-for-delta3s.js +36 -42
- package/node/find-3-prong/find-3-prong-for-delta3s.js.map +1 -1
- package/node/find-3-prong/find-3-prong.js +3 -1
- package/node/find-3-prong/find-3-prong.js.map +1 -1
- package/node/find-3-prong/find-and-add-3-prongs.js +16 -0
- package/node/find-3-prong/find-and-add-3-prongs.js.map +1 -1
- package/node/find-mat/create-initial-cp-tree.js +2 -2
- package/node/find-mat/create-initial-cp-tree.js.map +1 -1
- package/node/find-mat/find-mat.js +3 -4
- package/node/find-mat/find-mat.js.map +1 -1
- package/node/find-mat/find-mats.d.ts +6 -12
- package/node/find-mat/find-mats.js +10 -27
- package/node/find-mat/find-mats.js.map +1 -1
- package/node/find-mat/get-dull-corners-on-loop.js +2 -2
- package/node/find-mat/get-dull-corners-on-loop.js.map +1 -1
- package/node/find-mat/get-for-1-prongs-on-loop.js +36 -8
- package/node/find-mat/get-for-1-prongs-on-loop.js.map +1 -1
- package/node/find-mat/get-meta.d.ts +14 -4
- package/node/find-mat/get-meta.js +30 -24
- package/node/find-mat/get-meta.js.map +1 -1
- package/node/find-mat/get-sharp-corners.js +2 -2
- package/node/find-mat/get-sharp-corners.js.map +1 -1
- package/node/find-mat/mat-options.d.ts +2 -2
- package/node/floyd-warshall/get-graph.d.ts +12 -1
- package/node/floyd-warshall/get-graph.js +41 -38
- package/node/floyd-warshall/get-graph.js.map +1 -1
- package/node/geometry/get-bounding-box-.d.ts +16 -2
- package/node/geometry/get-bounding-box-.js +5 -2
- package/node/geometry/get-bounding-box-.js.map +1 -1
- package/node/geometry/get-closest-square-distance-to-rect.d.ts +3 -0
- package/node/geometry/get-closest-square-distance-to-rect.js +7 -5
- package/node/geometry/get-closest-square-distance-to-rect.js.map +1 -1
- package/node/geometry/get-closest-squared-distance-to-rotated-rect.d.ts +4 -0
- package/node/geometry/get-closest-squared-distance-to-rotated-rect.js +12 -5
- package/node/geometry/get-closest-squared-distance-to-rotated-rect.js.map +1 -1
- package/node/get-medial-points/double-double/dd-get-medial-point-coeffs-bez3.js +1 -2
- package/node/get-medial-points/double-double/dd-get-medial-point-coeffs-bez3.js.map +1 -1
- package/node/index.d.ts +3 -2
- package/node/index.js +2 -1
- package/node/index.js.map +1 -1
- package/node/mat/clone-mat.d.ts +9 -0
- package/node/mat/clone-mat.js +17 -0
- package/node/mat/clone-mat.js.map +1 -0
- package/node/mat/clone-meta.d.ts +12 -0
- package/node/mat/clone-meta.js +24 -0
- package/node/mat/clone-meta.js.map +1 -0
- package/node/mat/get-boundary-piece-beziers.d.ts +5 -0
- package/node/mat/get-boundary-piece-beziers.js +7 -93
- package/node/mat/get-boundary-piece-beziers.js.map +1 -1
- package/node/mat/get-closeby-cp-if-exist.js +2 -1
- package/node/mat/get-closeby-cp-if-exist.js.map +1 -1
- package/node/mat/get-largest-3-prong.d.ts +6 -0
- package/node/mat/get-largest-3-prong.js +8 -5
- package/node/mat/get-largest-3-prong.js.map +1 -1
- package/node/mat/get-largest-vertex.d.ts +15 -1
- package/node/mat/get-largest-vertex.js +20 -7
- package/node/mat/get-largest-vertex.js.map +1 -1
- package/node/mat/hausdorff-distance-one-sided-exceeds.d.ts +79 -0
- package/node/mat/hausdorff-distance-one-sided-exceeds.js +251 -0
- package/node/mat/hausdorff-distance-one-sided-exceeds.js.map +1 -0
- package/node/mat/mat-meta.d.ts +0 -6
- package/node/mat/simplify-mat.d.ts +25 -8
- package/node/mat/simplify-mat.js +182 -53
- package/node/mat/simplify-mat.js.map +1 -1
- package/node/mat/trim-mat.d.ts +4 -2
- package/node/mat/trim-mat.js +3 -1
- package/node/mat/trim-mat.js.map +1 -1
- package/node/point-on-shape/get-boundary-tangent-line.d.ts +19 -0
- package/node/point-on-shape/get-boundary-tangent-line.js +33 -0
- package/node/point-on-shape/get-boundary-tangent-line.js.map +1 -0
- package/node/point-on-shape/get-osculating-circle.d.ts +6 -4
- package/node/point-on-shape/get-osculating-circle.js +6 -4
- package/node/point-on-shape/get-osculating-circle.js.map +1 -1
- package/node/point-on-shape/get-pos-corner.js +2 -2
- package/node/point-on-shape/get-pos-corner.js.map +1 -1
- package/node/point-on-shape/point-on-shape.d.ts +5 -0
- package/node/reconstruct-from-mat/reconstruct-from-mat.js +20 -80
- package/node/reconstruct-from-mat/reconstruct-from-mat.js.map +1 -1
- package/node/reconstruct-from-mat/remove-sat-induced-trivial-3prongs.d.ts +4 -0
- package/node/reconstruct-from-mat/remove-sat-induced-trivial-3prongs.js +4 -0
- package/node/reconstruct-from-mat/remove-sat-induced-trivial-3prongs.js.map +1 -1
- package/node/sat/cull.d.ts +7 -6
- package/node/sat/cull.js +13 -16
- package/node/sat/cull.js.map +1 -1
- package/node/sat/get-sat-culls.d.ts +12 -2
- package/node/sat/get-sat-culls.js +21 -16
- package/node/sat/get-sat-culls.js.map +1 -1
- package/node/svg/get-shape-bounds.d.ts +1 -12
- package/node/svg/get-shape-bounds.js +2 -3
- package/node/svg/get-shape-bounds.js.map +1 -1
- package/node/sweep-line/sweep-line.js.map +1 -1
- package/node/utils/get-beziers-from-tangents.d.ts +28 -0
- package/node/utils/get-beziers-from-tangents.js +92 -0
- package/node/utils/get-beziers-from-tangents.js.map +1 -0
- package/node/vertex/remove-vertex.d.ts +5 -3
- package/node/vertex/remove-vertex.js +5 -3
- package/node/vertex/remove-vertex.js.map +1 -1
- package/package.json +16 -16
- package/qv-infinite-loop.md +120 -0
- package/src/add-n-prong.ts/join-spokes.ts +4 -2
- package/src/closest-boundary-point/cull-curve-pieces.ts +49 -0
- package/src/closest-boundary-point/get-close-boundary-points-certified.ts +5 -2
- package/src/closest-boundary-point/get-endpoint-info.ts +96 -0
- package/src/closest-boundary-point/get-potential-closest-points-on-curve-certified.ts +5 -23
- package/src/closest-boundary-point/root-interval-to-distance-squared-interval.ts +42 -60
- package/src/corner/get-corner.ts +10 -1
- package/src/corner/get-interface-ccw.ts +2 -2
- package/src/cp-node/cp-node.ts +4 -3
- package/src/cp-node/fs/get-all-on-loop-by-loop.ts +0 -4
- package/src/cp-node/fs/get-angle-between-mat-curves.ts +9 -5
- package/src/cp-node/fs/get-boundary-beziers-between.ts +10 -8
- package/src/cp-node/fs/get-branch-beziers.ts +3 -2
- package/src/cp-node/fs/get-branch.ts +1 -2
- package/src/cp-node/fs/get-distance-to-next.ts +4 -2
- package/src/cp-node/fs/get-edge-direction.ts +4 -2
- package/src/cp-node/fs/get-first-exit.ts +15 -14
- package/src/cp-node/fs/get-implied-boundary-bezier-between.ts +18 -70
- package/src/cp-node/fs/get-mat-curve-between.ts +10 -67
- package/src/cp-node/fs/get-mat-curves-between.ts +9 -2
- package/src/cp-node/fs/get-real-prong-count.ts +11 -7
- package/src/cp-node/fs/get-salience.ts +15 -2
- package/src/cp-node/fs/is-fully-terminating.ts +6 -22
- package/src/cp-node/fs/is-on-same-circle.ts +6 -7
- package/src/cp-node/fs/is-on-same-loop.ts +2 -2
- package/src/cp-node/fs/is-special.ts +11 -6
- package/src/cp-node/fs/is-vertex.ts +1 -1
- package/src/cp-node/fs/traverse-edges.ts +8 -4
- package/src/cp-node/stringification/from-stringifyable.ts +75 -58
- package/src/cp-node/stringification/to-stringifyable.ts +3 -3
- package/src/debug/debug.ts +44 -8
- package/src/find-2-prong/add-2-prong.ts +9 -11
- package/src/find-2-prong/calc-seperation-tolerance.ts +34 -115
- package/src/find-2-prong/find-2-prong.ts +9 -11
- package/src/find-2-prong/find-and-add-2-prongs.ts +2 -2
- package/src/find-2-prong/get-medial/get-antipodal-points.ts +1 -3
- package/src/find-2-prong/get-medial/get-closest-points.ts +6 -51
- package/src/find-2-prong/reduce-radius.ts +6 -4
- package/src/find-3-prong/calc-better-x.ts +2 -2
- package/src/find-3-prong/find-3-prong-for-delta3s.ts +197 -214
- package/src/find-3-prong/find-3-prong.ts +54 -51
- package/src/find-3-prong/find-and-add-3-prongs.ts +20 -1
- package/src/find-mat/create-initial-cp-tree.ts +2 -2
- package/src/find-mat/find-mat.ts +4 -6
- package/src/find-mat/find-mats.ts +83 -105
- package/src/find-mat/get-dull-corners-on-loop.ts +2 -2
- package/src/find-mat/get-for-1-prongs-on-loop.ts +40 -8
- package/src/find-mat/get-meta.ts +34 -39
- package/src/find-mat/get-sharp-corners.ts +2 -2
- package/src/find-mat/mat-options.ts +2 -2
- package/src/floyd-warshall/get-graph.ts +46 -47
- package/src/geometry/get-bounding-box-.ts +5 -2
- package/src/geometry/get-closest-square-distance-to-rect.ts +7 -7
- package/src/geometry/get-closest-squared-distance-to-rotated-rect.ts +15 -13
- package/src/get-medial-points/double-double/dd-get-medial-point-coeffs-bez3.ts +1 -2
- package/src/index.ts +3 -2
- package/src/mat/clone-mat.ts +9 -3
- package/src/mat/clone-meta.ts +8 -0
- package/src/mat/get-boundary-piece-beziers.ts +16 -117
- package/src/mat/get-closeby-cp-if-exist.ts +3 -1
- package/src/mat/get-largest-3-prong.ts +9 -6
- package/src/mat/get-largest-vertex.ts +25 -9
- package/src/mat/hausdorff-distance-one-sided-exceeds.ts +314 -0
- package/src/mat/mat-meta.ts +0 -9
- package/src/mat/simplify-mat.ts +254 -116
- package/src/mat/trim-mat.ts +6 -4
- package/src/point-on-shape/get-boundary-tangent-line.ts +36 -0
- package/src/point-on-shape/get-osculating-circle.ts +7 -5
- package/src/point-on-shape/get-pos-corner.ts +2 -2
- package/src/point-on-shape/point-on-shape.ts +5 -0
- package/src/reconstruct-from-mat/reconstruct-from-mat.ts +22 -111
- package/src/reconstruct-from-mat/remove-sat-induced-trivial-3prongs.ts +4 -0
- package/src/sat/cull.ts +16 -20
- package/src/sat/get-sat-culls.ts +28 -23
- package/src/svg/get-shape-bounds.ts +2 -3
- package/src/sweep-line/sweep-line.ts +1 -1
- package/src/utils/deg-to-rad.ts +4 -2
- package/src/utils/get-beziers-from-tangents.ts +110 -0
- package/src/utils/map-map.ts +1 -1
- package/src/utils/rad-to-deg.ts +4 -1
- package/src/vertex/remove-vertex.ts +5 -3
- package/webpack.config.cjs +7 -2
- package/__tests__/cp-node/fs/get-distance-between.spec.ts +0 -7
- package/__tests__/cp-node/fs/get-terminating-on-circle.spec.ts +0 -24
- package/__tests__/cp-node/fs/is-single-3-prong.spec.ts +0 -17
- package/__tests__/cp-node/fs/iterate-all-on-loop.spec.ts +0 -17
- package/__tests__/cp-node/fs/traverse-all-forward.spec.ts +0 -14
- package/node/closest-boundary-point/cull-bezier-pieces-1.d.ts +0 -9
- package/node/closest-boundary-point/cull-bezier-pieces-1.js +0 -17
- package/node/closest-boundary-point/cull-bezier-pieces-1.js.map +0 -1
- package/node/closest-boundary-point/cull-by-loose-bounding-box.d.ts +0 -13
- package/node/closest-boundary-point/cull-by-loose-bounding-box.js +0 -27
- package/node/closest-boundary-point/cull-by-loose-bounding-box.js.map +0 -1
- package/node/closest-boundary-point/cull-by-tight-boundary-box.d.ts +0 -11
- package/node/closest-boundary-point/cull-by-tight-boundary-box.js +0 -27
- package/node/closest-boundary-point/cull-by-tight-boundary-box.js.map +0 -1
- package/node/cp-node/fs/find-first.d.ts +0 -10
- package/node/cp-node/fs/find-first.js +0 -19
- package/node/cp-node/fs/find-first.js.map +0 -1
- package/node/debug/functions/check-ordering.d.ts +0 -4
- package/node/debug/functions/check-ordering.js +0 -43
- package/node/debug/functions/check-ordering.js.map +0 -1
- package/node/find-2-prong/cull-bezier-pieces.d.ts +0 -13
- package/node/find-2-prong/cull-bezier-pieces.js +0 -43
- package/node/find-2-prong/cull-bezier-pieces.js.map +0 -1
- package/node/floyd-warshall/get-hole-closer-pairs.d.ts +0 -8
- package/node/floyd-warshall/get-hole-closer-pairs.js +0 -27
- package/node/floyd-warshall/get-hole-closer-pairs.js.map +0 -1
- package/node/utils/dual-set.d.ts +0 -27
- package/node/utils/dual-set.js +0 -55
- package/node/utils/dual-set.js.map +0 -1
- package/node/utils/tri-map.d.ts +0 -27
- package/node/utils/tri-map.js +0 -49
- package/node/utils/tri-map.js.map +0 -1
- package/src/closest-boundary-point/cull-bezier-pieces-1.ts +0 -36
- package/src/closest-boundary-point/cull-by-loose-bounding-box.ts +0 -42
- package/src/closest-boundary-point/cull-by-tight-boundary-box.ts +0 -43
- package/src/closest-boundary-point/get-p-from-box.ts +0 -14
- package/src/cp-node/fs/add-distance-from.ts +0 -49
- package/src/cp-node/fs/get-distance-between.ts +0 -16
- package/src/cp-node/fs/get-terminating-on-circle.ts +0 -24
- package/src/cp-node/fs/is-single-3-prong.ts +0 -15
- package/src/cp-node/fs/iterate-all-on-loop.ts +0 -15
- package/src/cp-node/fs/traverse-all-forward.ts +0 -24
- package/src/debug/functions/draw/draw-beziers-as-single-path.ts +0 -40
- package/src/debug/functions/draw/draw-disk.ts +0 -34
- package/src/debug/functions/draw/xmlns.ts +0 -5
- package/src/find-2-prong/cull-bezier-pieces.ts +0 -61
- package/src/find-2-prong/find-and-add-2-prong.ts +0 -30
- package/src/find-2-prong/get-medial/get-closest-points-d.ts +0 -213
- package/src/find-2-prong/x-for-debugging.ts +0 -13
- package/src/floyd-warshall/get-hole-closer-pairs.ts +0 -35
- package/src/mat/get-two-prong-type.ts +0 -13
- package/src/point-on-shape/is-pos-dull-corner.ts +0 -18
- package/src/point-on-shape/is-pos-quite-dull-corner.ts +0 -18
- package/src/point-on-shape/is-pos-quite-sharp-corner.ts +0 -18
- package/src/point-on-shape/pos-to-human-string.ts +0 -18
- package/src/sweep-line/are-boxes-intersecting.ts +0 -37
package/browser/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function t(t=[],e){const o=[],r={beziers:t,curves:o,idx:e};if(0===t.length)return r;let c,i=0;for(let e=0;e<t.length;e++){if(n(t[e]))continue;const s={loop:r,ps:t[e],prev:c,next:void 0,idx:i};c&&(c.next=s),c=s,o.push(s),i++}const s=o[o.length-1];return o[0].prev=s,s.next=o[0],s.ps[s.ps.length-1]=o[0].ps[0],r}function n(t){if(t.length<=1)return!0;const n=t[0],e=t[1],o=n[0]===e[0]&&n[1]===e[1];if(2===t.length)return o;const r=t[2],c=e[0]===r[0]&&e[1]===r[1];if(3===t.length)return o&&c;const i=t[3],s=r[0]===i[0]&&r[1]===i[1];return o&&c&&s}function e(t){const n=[];for(let e=0;e<t.length;e++){const o=t[e];0===e&&n.push("M "+o[0][0].toString()+" "+o[0][1].toString()),4===o.length?n.push("C "+o[1][0].toString()+" "+o[1][1].toString()+" "+o[2][0].toString()+" "+o[2][1].toString()+" "+o[3][0].toString()+" "+o[3][1].toString()+" "):3===o.length?n.push("Q "+o[1][0].toString()+" "+o[1][1].toString()+" "+o[2][0].toString()+" "+o[2][1].toString()+" "):2===o.length&&n.push("L "+o[1][0].toString()+" "+o[1][1].toString()+" ")}return n.push(" z"),n.join("\n")}function o(t){const n=[t.p,t.initialPoint];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n}function r(t,n,e){function o(e){return[e[0]*n-e[1]*t,e[0]*t+e[1]*n]}return void 0===e?o:o(e)}const{min:c,max:i}=Math;function s(t,n,e){return c(e,i(n,t))}const{abs:u,sqrt:f,asin:l,sin:a,cos:p,tan:h,PI:d}=Math;function v(t,n,e,o,c,i,g,m,x,w){const b=d*g/180;let _,M,S,C,y=[];if(w)_=w[0],M=w[1],S=w[2],C=w[3];else{const h=r(a(-b),p(-b));[t,n]=h([t,n]),[e,o]=h([e,o]);const v=(t-e)/2,g=(n-o)/2;let w=v*v/(c*c)+g*g/(i*i);w>1&&(w=f(w),c*=w,i*=w);const y=c*c,O=i*i,N=(m===x?-1:1)*f(u((y*O-y*g*g-O*v*v)/(y*g*g+O*v*v)));S=N*c*g/i+(t+e)/2,C=N*-i*v/c+(n+o)/2,_=l(s((n-C)/i,-1,1)),M=l(s((o-C)/i,-1,1)),t<S&&(_=d-_),e<S&&(M=d-M),_<0&&(_=2*d+_),M<0&&(M=2*d+M),x&&_>M&&(_-=2*d),!x&&M>_&&(M-=2*d)}let O=M-_;if(u(O)>120*d/180){const t=M,n=e,r=o;M=_+(x&&M>_?1:-1)*d*120/180,y=v(e=S+c*p(M),o=C+i*a(M),n,r,c,i,g,0,x,[M,t,S,C])}O=M-_;const N=p(_),E=a(_),I=p(M),k=a(M),B=h(O/4),P=4/3*c*B,T=4/3*i*B,A=[t,n],z=[t+P*E,n-T*N],D=[e+P*k,o-T*I],L=[e,o];if(z[0]=2*A[0]-z[0],z[1]=2*A[1]-z[1],w)return[z,D,L,...y];const q=[z,D,L,...y].flat(),W=[];let j=[];const F=r(a(b),p(b));return q.forEach(function(t,n){if(n%2){const t=F([q[n-1],q[n]]);j.push(t[1])}else{const t=F([q[n],q[n+1]]);j.push(t[0])}6===j.length&&(W.push(j),j=[])}),W}function g(t){t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0;const n=t.p,e=[t.vals[5],t.vals[6]],o=Math.abs(t.vals[0]),r=Math.abs(t.vals[1]);if(n[0]===e[0]&&n[1]===e[1])return[];if(0===o||0===r)return t.p=e,[[n,e]];const c=v(n[0],n[1],e[0],e[1],o,r,t.vals[2],t.vals[3],t.vals[4]),i=[];let s=n;for(const t of c){const n=[s,[t[0],t[1]],[t[2],t[3]],[t[4],t[5]]];i.push(n),s=n[3]}const u=i[i.length-1];return t.p=u[u.length-1],i}const m={c:function(t){const n=[t.p,[t.vals[0],t.vals[1]],[t.vals[2],t.vals[3]],[t.vals[4],t.vals[5]]];return t.prev2ndCubicControlPoint=n[2],t.prev2ndQuadraticControlPoint=void 0,n},h:function(t){const n=[t.p,[t.vals[0],t.p[1]]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},l:function(t){const n=[t.p,t.vals];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},q:function(t){const n=[t.vals[0],t.vals[1]],e=[t.vals[2],t.vals[3]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=n,[t.p,n,e]},s:function(t){const n=t.prev2ndCubicControlPoint?[t.p[0]-t.prev2ndCubicControlPoint[0]+t.p[0],t.p[1]-t.prev2ndCubicControlPoint[1]+t.p[1]]:t.p,e=[t.p,n,[t.vals[0],t.vals[1]],[t.vals[2],t.vals[3]]];return t.prev2ndCubicControlPoint=e[2],t.prev2ndQuadraticControlPoint=void 0,e},t:function(t){const n=t.prev2ndQuadraticControlPoint?[t.p[0]-t.prev2ndQuadraticControlPoint[0]+t.p[0],t.p[1]-t.prev2ndQuadraticControlPoint[1]+t.p[1]]:t.p,e=[t.vals[0],t.vals[1]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=n,[t.p,n,e]},v:function(t){const n=[t.p,[t.p[0],t.vals[0]]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},z:o},x=new Set("MLCQAHVSTZmlcqahvstz");function w(t){if(x.has(t))return"z"===t?"Z":t}const b=/[ \t\n\r\f]/;function _(t){return b.test(t._string[t._currentIndex])}function M(t){for(;t._currentIndex<t._endIndex&&_(t);)t._currentIndex++;return t._currentIndex<t._endIndex}function S(t){return!(t._currentIndex<t._endIndex&&!_(t)&&","!==t._string[t._currentIndex])&&(M(t)&&t._currentIndex<t._endIndex&&","===t._string[t._currentIndex]&&(t._currentIndex++,M(t)),t._currentIndex<t._endIndex)}function C(t){let n=0,e=0,o=1,r=0,c=1,i=1;const s=t._currentIndex;M(t);let u=t._currentIndex;u<t._endIndex&&"+"===t._string[u]?(t._currentIndex++,u++):u<t._endIndex&&"-"===t._string[u]&&(t._currentIndex++,u++,c=-1);const f=t._string[u];if(u===t._endIndex||(f<"0"||f>"9")&&"."!==f)throw new Error(`The first character of a number must be one of [0-9+-.]. Found '${f}' at index ${u}.`);const l=t._currentIndex;for(;u<t._endIndex&&t._string[u]>="0"&&t._string[u]<="9";)t._currentIndex++,u++;if(u!==l){let n=u-1,o=1;for(;n>=l;)e+=o*(Number(t._string[n])-0),n-=1,o*=10}if(u<t._endIndex&&"."===t._string[u]){if(t._currentIndex++,u++,u>=t._endIndex||t._string[u]<"0"||t._string[u]>"9")throw new Error("There must be a least one digit following the .");for(;u<t._endIndex&&t._string[u]>="0"&&t._string[u]<="9";)o*=10,r+=Number(t._string[u])/o,t._currentIndex++,u++}if(u!==s&&u+1<t._endIndex&&("e"===t._string[u]||"E"===t._string[u])&&"x"!==t._string[u+1]&&"m"!==t._string[u+1]){if(t._currentIndex++,u++,"+"===t._string[u]?(t._currentIndex++,u++):"-"===t._string[u]&&(t._currentIndex++,u++,i=-1),u>=t._endIndex||t._string[u]<"0"||t._string[u]>"9")throw new Error("There must be an exponent.");for(;u<t._endIndex&&t._string[u]>="0"&&t._string[u]<="9";)n*=10,n+=Number(t._string[u]),t._currentIndex++,u++}let a=e+r;return a*=c,n&&(a*=10**(i*n)),S(t),a}function y(t){if(t._currentIndex>=t._endIndex)throw new Error("Unable to parse arc flag");let n;const e=t._string[t._currentIndex];if(t._currentIndex++,"0"===e)n=0;else{if("1"!==e)throw new Error("Unable to parse arc flag - arc flag must be 0 or 1");n=1}return S(t),n}function O(t){const n=t._string[t._currentIndex];let e=w(n);if(void 0===e){if(!("+"===n||"-"===n||"."===n||n>="0"&&n<="9")||"Z"===t._prevCommand)throw new Error("Remaining coordinates not found for implicit command");e="M"===t._prevCommand?"L":"m"===t._prevCommand?"l":t._prevCommand}else t._currentIndex++;t._prevCommand=e;const o=e.toUpperCase();let r;return"H"===o||"V"===o?r=[C(t)]:"M"===o||"L"===o||"T"===o?r=[C(t),C(t)]:"S"===o||"Q"===o?r=[C(t),C(t),C(t),C(t)]:"C"===o?r=[C(t),C(t),C(t),C(t),C(t),C(t)]:"A"===o?r=[C(t),C(t),C(t),y(t),y(t),C(t),C(t)]:(M(t),r=[]),{command:e,values:r}}function N(t){return t._currentIndex<t._endIndex}function E(t){return function(t){if(0===t.length)return[];if("m"!==t[0].command.toLowerCase())throw new Error("Invalid SVG - every new path must start with an M or m.");const n={p:[0,0],initialPoint:void 0,prev2ndCubicControlPoint:void 0,prev2ndQuadraticControlPoint:void 0,vals:void 0},e=[];let r,c=[];for(let i=0;i<t.length;i++){const s=t[i],u=s.command.toLowerCase();if(n.vals=s.values,s.command===u)if("v"===u)n.vals[0]+=n.p[1];else if("a"===u)n.vals[5]+=n.p[0],n.vals[6]+=n.p[1];else for(let t=0;t<n.vals.length;t++)n.vals[t]+=n.p[t%2];if("m"!==u){if("a"===u)c.push(...g(n));else{const t=m[u];if(!t)throw new Error("Invalid SVG - command not recognized.");const e=t(n);n.p=e[e.length-1],c.push(e)}r=u}else c.length&&("z"!==r&&c.push(o(n)),e.push(c),c=[]),n.initialPoint=n.p=n.vals,r=u}return c.length>0&&("z"!==r&&c.push(o(n)),e.push(c)),e}(function(t){if(!t.length)return[];const n={_string:t,_currentIndex:0,_endIndex:t.length,_prevCommand:void 0};if(M(n),!function(t){if(!N(t))return!0;const n=w(t._string[t._currentIndex]);return"M"===n||"m"===n}(n))throw new Error("Path must start with m or M");const e=[];for(;N(n);)e.push(O(n));return e}(t))}function I(t){const n=t.length,e=Array.from(Array(n),()=>new Array(n).fill(0));for(let o=0;o<n;o++)for(let r=0;r<n;r++)e[o][r]=t[o][r];for(let t=0;t<n;t++)for(let o=0;o<n;o++)for(let r=0;r<n;r++)e[o][t]+e[t][r]<e[o][r]&&(e[o][r]=e[o][t]+e[t][r]);return e}function k(t){const n=t,e=[];do{e.push(t),t=t.next}while(t!==n);return e}function B(t){return k(t).filter(t=>t.isHoleClosing)}function P(t){const n=t.pointOnShape;return{idx:n.curve.idx,t:n.t,order:n.order,order2:n.order2}}function T(t){const n=t;let e=n,o=0;do{o++,e=e.nextOnCircle}while(e!==n);return o}function A(t,n=!1){const e=t,o=n?[]:[t];let r=t.nextOnCircle;for(;r!==e;)o.push(r),r=r.nextOnCircle;return o}function z(t){return t===t.next.prevOnCircle}function D(t){return A(t).filter(t=>!z(t)).length}function L(t){return A(t).every(z)}function q(t){if(!z(t))return!1;if(L(t))return!0;for(;t.prev===t.prevOnCircle;)t=t.prev;return A(t.prevOnCircle,!0).every(z)}function W(t){return 0===t.pointOnShape.circle.radius}function j(t){const n=t.pointOnShape,e=n.curve;return{...t,pos:n,p:n.p,t:n.t,isTerminating:z(t),isFullyTerminating:q(t),isSharp:W(t),prongCount:T(t),getRealProngCount:D(t),ordering:P(t),curve:e,loop:e.loop}}function F(t){let n=t;if(z(n))return[n];const e=[];do{e.push(n);const t=n.next.prevOnCircle;n=n=n===t?n.next.next:t}while(n!==t);return e}function H(t,n){const e=k(t),o=new Set;for(t of e)z(t)||o.has(t.next.prevOnCircle)||n(t),o.add(t)}function Y(t){const n=[],e=t;let o=e;for(;o!==e.prevOnCircle;)z(o)||n.push(o.next),o=o.nextOnCircle;return n}function R(t,n){n(t);const e=A(t).filter(t=>!z(t)).map(t=>t.next);for(const t of e){const e=[t];for(;e.length;){const t=e.pop();n(t),e.push(...Y(t))}}}const X=["prev","next","prevOnCircle","nextOnCircle","holeCloserTwin"];function Q(t){const n=new Map,e=V(t);n.set(t,e);const o=[{cpNode:t,newCpNode:e}];for(;o.length;){const{cpNode:t,newCpNode:e}=o.pop();for(const r of X){const c=t[r];if(void 0===c)continue;let i=n.get(c);i||(i=V(c),n.set(c,i),o.push({cpNode:c,newCpNode:i})),e[r]=i}}return e}function V(t){return{...t,prev:void 0,next:void 0,prevOnCircle:void 0,nextOnCircle:void 0,holeCloserTwin:void 0}}function $(t){const n=t,e=t.next,o=n.pointOnShape,r=e.pointOnShape,c=o.curve,i=r.curve;if(c.loop!==i.loop)return[];const s=[];return i===c?s.push({ps:o.curve.ps,ts:[o.t,r.t]}):(s.push({ps:o.curve.ps,ts:[o.t,1]}),function(t,n,e,o){let r=n;do{r=r.next;const n=r===e?o:1;t.push({ps:r.ps,ts:[0,n]})}while(r!==e)}(s,o.curve,r.curve,r.t)),s}function U(t,n,e){if(4===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=i-n*(i-u),h=u-n*(u-l),d=p-n*(p-h),v=s-n*(s-f),g=f-n*(f-a),m=v-n*(v-g);return[e,[p,v],[d,m],[d-n*(d-(h-n*(h-(l-n*(l-c[0]))))),m-n*(m-(g-n*(g-(a-n*(a-c[1])))))]]}(t,e):1===e?function(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=i-n*(i-u),h=u-n*(u-l),d=l-n*(l-c[0]),v=p-n*(p-h),g=h-n*(h-d),m=s-n*(s-f),x=f-n*(f-a),w=a-n*(a-c[1]),b=m-n*(m-x),_=x-n*(x-w);return[[v-n*(v-g),b-n*(b-_)],[g,_],[d,w],c]}(t,n):function(t,n,e){const o=t[0],r=t[1],c=t[2],i=t[3],s=o[0],u=o[1],f=r[0],l=r[1],a=c[0],p=c[1],h=n*n,d=n*h,v=e*e,g=e*v,m=n*e,x=s-f,w=a-f,b=x+w,_=n*x,M=e*x,S=i[0]-s-3*w,C=u-l,y=p-l,O=C+y,N=n*C,E=e*C,I=i[1]-u-3*y;return[[d*S+(3*n*(n*b-x)+s),d*I+(3*n*(n*O-C)+u)],[m*(n*S+2*b)+(h*b+s-(M+2*_)),m*(n*I+2*O)+(h*O+u-(E+2*N))],[m*(e*S+2*b)+(v*b+s-(2*M+_)),m*(e*I+2*O)+(v*O+u-(2*E+N))],[g*S+(3*e*(e*b-x)+s),g*I+(3*e*(e*O-C)+u)]]}(t,n,e)}(t,n,e);if(3===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],o=t[1],r=t[2],c=e[0],i=e[1],s=o[0],u=o[1],f=n*n,l=c-s,a=i-u;return[e,[-n*l+c,-n*a+i],[f*(l+(r[0]-s))-(2*n*l-c),f*(a+(r[1]-u))-(2*n*a-i)]]}(t,e):1===e?function(t,n){const e=t[0],o=t[1],r=t[2],c=e[0],i=e[1],s=o[0],u=o[1],f=n*n,l=c-s,a=r[0]-s,p=i-u,h=r[1]-u;return[[f*(l+a)-(2*n*l-c),f*(p+h)-(2*n*p-i)],[n*a+s,n*h+u],r]}(t,n):function(t,n,e){const o=t[0],r=t[1],c=t[2],i=o[0],s=o[1],u=r[0],f=r[1],l=n*n,a=e*e,p=n*e,h=i-u,d=h+(c[0]-u),v=s-f,g=v+(c[1]-f);return[[l*d-(2*n*h-i),l*g-(2*n*v-s)],[p*d-(h*(e+n)-i),p*g-(v*(e+n)-s)],[a*d-(2*e*h-i),a*g-(2*e*v-s)]]}(t,n,e)}(t,n,e);if(2===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],o=t[1],r=e[0],c=e[1];return[e,[n*(o[0]-r)+r,n*(o[1]-c)+c]]}(t,e):1===e?function(t,n){const e=t[0],o=t[1],r=e[0],c=e[1];return[[n*(o[0]-r)+r,n*(o[1]-c)+c],o]}(t,n):function(t,n,e){const o=t[0],r=t[1],c=o[0],i=o[1],s=r[0],u=r[1];return[[n*(s-c)+c,n*(u-i)+i],[e*(s-c)+c,e*(u-i)+i]]}(t,n,e)}(t,n,e);if(1===t.length)return t;throw new Error("The given bezier curve must be of order <= 3.")}function Z(t){return $(t).map(t=>U(t.ps,t.ts[0],t.ts[1]))}function G(t,n){const{cpTrees:e}=n,o=t.prev,r=t.next;o.next=r,r.prev=o,e.get(t.pointOnShape.curve.loop).remove(t)}function J(t,n){const e=T(t);if(2!==e)throw new Error(`Cannot delete \`CpNode\` on ${e}-prong`);A(t).forEach(t=>G(t,n))}function K(t){const n=[],e=t.next;let o=e;do{n.push(o),o=o.nextOnCircle}while(o.nextOnCircle!==e);return n}function tt(t,n,e){if(void 0===t.size||void 0===e)return;const o=e[n];if(t.size>o&&void 0!==o)for(const[n]of t){t.delete(n);break}}const nt=[function(t,n){let e,o=!1;return function(){return o||(e=t(),o=!0),e}},function(t,n,e=!1){const o=new WeakMap,r=new Map;function c(t){return"object"!=typeof t&&"function"!=typeof t||null===t?r:o}const i=function(o){let i;const s=c(o);return s.has(o)?(e&&console.log("cache hit"),i=s.get(o)):(e&&console.log("cache miss"),i=t(o),s.set(o,i),tt(r,0,n)),i};return i.mapS=r,i.weakMapS=o,i.clearCache=function(){r.clear()},i.addToCache=function(t,e){const o=c(e);o.set(e,t),tt(o,1,n)},i},function(t,n){const e=new WeakMap,o=new Map;function r(t,r){const c=("object"==typeof r||"function"==typeof r)&&null!==r;let i="object"!=typeof t&&"function"!=typeof t||null===t?o:e,s=i.get(t);return void 0===s&&(s={weakMap:new WeakMap,map:new Map},i.set(t,s),tt(i,0,n)),c?s.weakMap:s.map}function c(e,o){const c=r(e,o);let i;return c.has(o)?i=c.get(o):(i=t(e,o),c.set(o,i),tt(c,1,n)),i}return c.mapS=o,c.weakMapS=e,c.clearCache=function(){o.clear()},c.addToCache=function(t,e,o){const c=r(e,o);c.set(o,t),tt(c,1,n)},c},function(t,n){const e=new WeakMap,o=new Map;function r(t,r,c){const i=("object"==typeof r||"function"==typeof r)&&null!==r,s=("object"==typeof c||"function"==typeof c)&&null!==c;let u="object"!=typeof t&&"function"!=typeof t||null===t?o:e,f=u.get(t);void 0===f&&(f={weakMap:new WeakMap,map:new Map},u.set(t,f),tt(u,0,n));const l=i?f.weakMap:f.map;let a=l.get(r);return void 0===a&&(a={weakMap:new WeakMap,map:new Map},l.set(r,a),tt(l,1,n)),s?a.weakMap:a.map}const c=function(e,o,c){const i=r(e,o,c);let s;return i.has(c)?s=i.get(c):(s=t(e,o,c),i.set(c,s),tt(i,2,n)),s};return c.mapS=o,c.weakMapS=e,c.clearCache=function(){o.clear()},c.addToCache=function(t,e,o,c){const i=r(e,o,c);i.set(c,t),tt(i,2,n)},c},function(t,n,e=!1){const o=new WeakMap,r=new Map;function c(t,e,c,i){const s=("object"==typeof e||"function"==typeof e)&&null!==e,u=("object"==typeof c||"function"==typeof c)&&null!==c,f=("object"==typeof i||"function"==typeof i)&&null!==i;let l="object"!=typeof t&&"function"!=typeof t||null===t?r:o,a=l.get(t);void 0===a&&(a={weakMap:new WeakMap,map:new Map},l.set(t,a),tt(l,0,n));const p=s?a.weakMap:a.map;let h=p.get(e);void 0===h&&(h={weakMap:new WeakMap,map:new Map},p.set(e,h),tt(p,1,n));const d=u?h.weakMap:h.map;let v=d.get(c);return void 0===v&&(v={weakMap:new WeakMap,map:new Map},d.set(c,v),tt(d,2,n)),f?v.weakMap:v.map}const i=function(o,r,i,s){const u=c(o,r,i,s);let f;return u.has(s)?(e&&console.log("cache hit"),f=u.get(s)):(e&&console.log("cache miss"),f=t(o,r,i,s),u.set(s,f),tt(u,3,n)),f};return i.mapS=r,i.weakMapS=o,i.clearCache=function(){r.clear()},i.addToCache=function(t,e,o,r,i){const s=c(e,o,r,i);s.set(i,t),tt(s,3,n)},i},function(t,n){const e=new WeakMap,o=new Map;function r(t,r,c,i,s){const u=("object"==typeof r||"function"==typeof r)&&null!==r,f=("object"==typeof c||"function"==typeof c)&&null!==c,l=("object"==typeof i||"function"==typeof i)&&null!==i,a=("object"==typeof s||"function"==typeof s)&&null!==s;let p="object"!=typeof t&&"function"!=typeof t||null===t?o:e,h=p.get(t);void 0===h&&(h={weakMap:new WeakMap,map:new Map},p.set(t,h),tt(p,0,n));const d=u?h.weakMap:h.map;let v=d.get(r);void 0===v&&(v={weakMap:new WeakMap,map:new Map},d.set(r,v),tt(d,1,n));const g=f?v.weakMap:v.map;let m=g.get(c);void 0===m&&(m={weakMap:new WeakMap,map:new Map},g.set(c,m),tt(g,2,n));const x=l?m.weakMap:m.map;let w=x.get(i);return void 0===w&&(w={weakMap:new WeakMap,map:new Map},x.set(i,w),tt(x,3,n)),a?w.weakMap:w.map}const c=function(e,o,c,i,s){const u=r(e,o,c,i,s);let f;return u.has(s)?f=u.get(s):(f=t(e,o,c,i,s),u.set(s,f),tt(u,4,n)),f};return c.mapS=o,c.weakMapS=e,c.clearCache=function(){o.clear()},c.addToCache=function(t,e,o,c,i,s){const u=r(e,o,c,i,s);u.set(s,t),tt(u,4,n)},c},function(t,n){const e=new WeakMap,o=new Map;function r(t,r,c,i,s,u){const f=("object"==typeof r||"function"==typeof r)&&null!==r,l=("object"==typeof c||"function"==typeof c)&&null!==c,a=("object"==typeof i||"function"==typeof i)&&null!==i,p=("object"==typeof s||"function"==typeof s)&&null!==s,h=("object"==typeof u||"function"==typeof u)&&null!==u;let d="object"!=typeof t&&"function"!=typeof t||null===t?o:e,v=d.get(t);void 0===v&&(v={weakMap:new WeakMap,map:new Map},d.set(t,v),tt(d,0,n));const g=f?v.weakMap:v.map;let m=g.get(r);void 0===m&&(m={weakMap:new WeakMap,map:new Map},g.set(r,m),tt(g,1,n));const x=l?m.weakMap:m.map;let w=x.get(c);void 0===w&&(w={weakMap:new WeakMap,map:new Map},x.set(c,w),tt(x,2,n));const b=a?w.weakMap:w.map;let _=b.get(i);void 0===_&&(_={weakMap:new WeakMap,map:new Map},b.set(i,_),tt(b,3,n));const M=p?_.weakMap:_.map;let S=M.get(s);return void 0===S&&(S={weakMap:new WeakMap,map:new Map},M.set(s,S),tt(M,4,n)),h?S.weakMap:S.map}const c=function(e,o,c,i,s,u){const f=r(e,o,c,i,s,u);let l;return f.has(u)?l=f.get(u):(l=t(e,o,c,i,s,u),f.set(u,l),tt(f,5,n)),l};return c.mapS=o,c.weakMapS=e,c.clearCache=function(){o.clear()},c.addToCache=function(t,e,o,c,i,s,u){const f=r(e,o,c,i,s,u);f.set(u,t),tt(f,5,n)},c},function(t,n){const e=new WeakMap,o=new Map;function r(t,r,c,i,s,u,f){const l=("object"==typeof r||"function"==typeof r)&&null!==r,a=("object"==typeof c||"function"==typeof c)&&null!==c,p=("object"==typeof i||"function"==typeof i)&&null!==i,h=("object"==typeof s||"function"==typeof s)&&null!==s,d=("object"==typeof u||"function"==typeof u)&&null!==u,v=("object"==typeof f||"function"==typeof f)&&null!==f;let g="object"!=typeof t&&"function"!=typeof t||null===t?o:e,m=g.get(t);void 0===m&&(m={weakMap:new WeakMap,map:new Map},g.set(t,m),tt(g,0,n));const x=l?m.weakMap:m.map;let w=x.get(r);void 0===w&&(w={weakMap:new WeakMap,map:new Map},x.set(r,w),tt(x,1,n));const b=a?w.weakMap:w.map;let _=b.get(c);void 0===_&&(_={weakMap:new WeakMap,map:new Map},b.set(c,_),tt(b,2,n));const M=p?_.weakMap:_.map;let S=M.get(i);void 0===S&&(S={weakMap:new WeakMap,map:new Map},M.set(i,S),tt(M,3,n));const C=h?S.weakMap:S.map;let y=C.get(s);void 0===y&&(y={weakMap:new WeakMap,map:new Map},C.set(s,y),tt(C,4,n));const O=d?y.weakMap:y.map;let N=O.get(u);return void 0===N&&(N={weakMap:new WeakMap,map:new Map},O.set(u,N),tt(O,5,n)),v?N.weakMap:N.map}const c=function(e,o,c,i,s,u,f){const l=r(e,o,c,i,s,u,f);let a;return l.has(f)?a=l.get(f):(a=t(e,o,c,i,s,u,f),l.set(f,a),tt(l,6,n)),a};return c.mapS=o,c.weakMapS=e,c.clearCache=function(){o.clear()},c.addToCache=function(t,e,o,c,i,s,u,f){const l=r(e,o,c,i,s,u,f);l.set(f,t),tt(l,6,n)},c},function(t,n){const e=new WeakMap,o=new Map;function r(t,r,c,i,s,u,f,l){const a=("object"==typeof r||"function"==typeof r)&&null!==r,p=("object"==typeof c||"function"==typeof c)&&null!==c,h=("object"==typeof i||"function"==typeof i)&&null!==i,d=("object"==typeof s||"function"==typeof s)&&null!==s,v=("object"==typeof u||"function"==typeof u)&&null!==u,g=("object"==typeof f||"function"==typeof f)&&null!==f,m=("object"==typeof l||"function"==typeof l)&&null!==l;let x="object"!=typeof t&&"function"!=typeof t||null===t?o:e,w=x.get(t);void 0===w&&(w={weakMap:new WeakMap,map:new Map},x.set(t,w),tt(x,0,n));const b=a?w.weakMap:w.map;let _=b.get(r);void 0===_&&(_={weakMap:new WeakMap,map:new Map},b.set(r,_),tt(b,1,n));const M=p?_.weakMap:_.map;let S=M.get(c);void 0===S&&(S={weakMap:new WeakMap,map:new Map},M.set(c,S),tt(M,2,n));const C=h?S.weakMap:S.map;let y=C.get(i);void 0===y&&(y={weakMap:new WeakMap,map:new Map},C.set(i,y),tt(C,3,n));const O=d?y.weakMap:y.map;let N=O.get(s);void 0===N&&(N={weakMap:new WeakMap,map:new Map},O.set(s,N),tt(O,4,n));const E=v?N.weakMap:N.map;let I=E.get(u);void 0===I&&(I={weakMap:new WeakMap,map:new Map},E.set(u,I),tt(E,5,n));const k=g?I.weakMap:I.map;let B=k.get(f);return void 0===B&&(B={weakMap:new WeakMap,map:new Map},k.set(f,B),tt(k,6,n)),m?B.weakMap:B.map}const c=function(e,o,c,i,s,u,f,l){const a=r(e,o,c,i,s,u,f,l);let p;return a.has(l)?p=a.get(l):(p=t(e,o,c,i,s,u,f,l),a.set(l,p),tt(a,7,n)),p};return c.mapS=o,c.weakMapS=e,c.clearCache=function(){o.clear()},c.addToCache=function(t,e,o,c,i,s,u,f,l){const a=r(e,o,c,i,s,u,f,l);a.set(l,t),tt(a,7,n)},c}];function et(t,n,e=!1){const o=t.length;if(o>8)throw new Error("A maximum of 8 formal parameters are supported");return(0,nt[o])(t,n,e)}function ot(t,n){const[[e,o],[r,c]]=t,[[i,s],[u,f]]=n,l=r-e,a=c-o,p=u-i,h=f-s,d=p*a-h*l;if(0===d)return;const v=((s-o)*l-(i-e)*a)/d;return[i+v*p,s+v*h]}function rt(t,n){return[n[0]-t[0],n[1]-t[1]]}function ct(t,n){return t[0]*n[0]+t[1]*n[1]}function it(t){return[-t[1],t[0]]}function st(t,n){return t[0]*n[1]-t[1]*n[0]}function ut(t,n,e){return[t[0]+(n[0]-t[0])*e,t[1]+(n[1]-t[1])*e]}function ft(t,n){function e(n){return[t[0]+n[0],t[1]+n[1]]}return void 0===n?e:e(n)}function lt(t){const n=1/Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]*n,t[1]*n]}function at(t,n){let e=0;for(let o=0;o<t.length;o++)e=e*n+t[o];return e}function pt(t){if(4===t.length)return function(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[3*(s-n+3*(o-c)),6*(c+n-2*o),3*(o-n)],[3*(u-e+3*(r-i)),6*(i+e-2*r),3*(r-e)]]}(t);if(3===t.length)return function(t){const[[n,e],[o,r],[c,i]]=t;return[[2*(c+n-2*o),2*(o-n)],[2*(i+e-2*r),2*(r-e)]]}(t);if(2===t.length)return function(t){const[[n,e],[o,r]]=t;return[[o-n],[r-e]]}(t);if(1===t.length)return[[0],[0]];throw new Error("The bezier curve must be of order <= 3.")}function ht(t,n){const[e,o]=pt(t);return[at(e,n),at(o,n)]}function dt(t,n){const e=t-n,o=t-e;return[t-(e+o)+(o-n),e]}function vt(t,n){const e=t.length,o=n.length;let r=0,c=0;const i=[];for(;r<e&&c<o;)0!==t[r]?0!==n[c]?Math.abs(t[r])<=Math.abs(n[c])?(i.push(t[r]),r++):(i.push(n[c]),c++):c++:r++;for(;r<e;)i.push(t[r]),r++;for(;c<o;)i.push(n[c]),c++;if(0===i.length)return[0];const s=i.length;if(1===s)return i;const u=[],f=i[1],l=i[0];let a=f+l;const p=l-(a-f);0!==p&&u.push(p),c=0;for(let t=2;t<s;t++){const n=i[t],e=a+n,o=e-a,r=a-(e-o)+(n-o);0!==r&&u.push(r),a=e}return 0===a&&0!==u.length||u.push(a),u}const gt=134217729;function mt(t,n){const e=t.length;let o;const r=t[0];let c=r*n;const i=gt*r,s=i-(i-r),u=r-s,f=gt*n,l=f-(f-n),a=n-l,p=[],h=u*a-(c-s*l-u*l-s*a);0!==h&&p.push(h);for(let r=1;r<e;r++){const e=t[r],i=e*n,s=gt*e,u=s-(s-e),f=e-u,l=gt*n,a=l-(l-n),h=n-a,d=f*h-(i-u*a-f*a-u*h),v=c+d,g=v-c,m=c-(v-g)+(d-g);0!==m&&p.push(m),o=v;const x=i+o,w=o-(x-i);0!==w&&p.push(w),c=x}return 0===c&&0!==p.length||p.push(c),p}function xt(t,n){const e=n.length;let o;const r=n[0];let c=r*t;const i=gt*r,s=i-(i-r),u=r-s,f=gt*t,l=f-(f-t),a=t-l,p=[],h=u*a-(c-s*l-u*l-s*a);0!==h&&p.push(h);for(let r=1;r<e;r++){const e=n[r],i=e*t,s=gt*e,u=s-(s-e),f=e-u,l=gt*t,a=l-(l-t),h=t-a,d=f*h-(i-u*a-f*a-u*h),v=c+d,g=v-c,m=c-(v-g)+(d-g);0!==m&&p.push(m),o=v;const x=i+o,w=o-(x-i);0!==w&&p.push(w),c=x}return 0===c&&0!==p.length||p.push(c),p}function wt(t,n){let e=[0];for(let o=0;o<t.length;o++)e=vt(e,mt(n,t[o]));return e}function bt(t){let n=t[0];for(let e=1;e<t.length;e++)n+=t[e];return n}function _t(t){const n=t.length,e=new Array(n);for(let o=0;o<n;o++)e[o]=-t[o];return e}function Mt(t,n){return vt(t,_t(n))}function St(t){return t[t.length-1]}const Ct=dt,yt=xt;function Ot(t){if(4===t.length){const[[n,e],[o,r]]=t;return[yt(3,Ct(o,n)),yt(3,Ct(r,e))]}if(3===t.length){const[[n,e],[o,r]]=t;return[Ct(2*o,2*n),Ct(2*r,2*e)]}if(2===t.length){const[[n,e],[o,r]]=t;return[Ct(o,n),Ct(r,e)]}if(1===t.length)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}function Nt(t,n){const e=t+n,o=e-t;return[t-(e-o)+(n-o),e]}function Et(t,n){const e=t.length;let o=n;const r=[];for(let n=0;n<e;n++){const e=t[n],c=o+e,i=c-o,s=o-(c-i)+(e-i);0!==s&&r.push(s),o=c}return 0===o&&0!==r.length||r.push(o),r}const It=Nt,kt=xt,Bt=Et;function Pt(t){if(4===t.length){const[[n,e],[o,r],[c,i]]=t;return[kt(6,Bt(It(c,n),-2*o)),kt(6,Bt(It(i,e),-2*r))]}if(3===t.length){const[[n,e],[o,r],[c,i]]=t;return[Bt(It(2*c,2*n),-4*o),Bt(It(2*i,2*e),-4*r)]}if(t.length<=2)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3")}const Tt=dt,At=xt,zt=vt;function Dt(t){if(4===t.length){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[At(6,zt(Tt(s,n),At(3,Tt(o,c))))],[At(6,zt(Tt(u,e),At(3,Tt(r,i))))]]}if(t.length<=3)return[[[0]],[[0]]];throw new Error("The given bezier curve must be of order <= 3.")}const{sign:Lt}=Math;function qt(t,n){const[e,o]=Ot(t),[r,c]=Pt(t),[i,s]=Ot(n),[u,f]=Pt(n),l=Mt(wt(e,c),wt(o,r)),a=Mt(wt(i,f),wt(s,u)),p=St(l),h=St(a);if(Lt(p)!==Lt(h))return p-h;const d=vt(wt(i,i),wt(s,s)),v=vt(wt(e,e),wt(o,o)),g=wt(d,d),m=wt(g,d),x=wt(v,v),w=wt(x,v);if(0!==p||0!==h){const t=wt(l,l),n=wt(a,a),e=St(Mt(wt(t,m),wt(n,w)));if(0!==e)return p>0?e:-e}const[[b],[_]]=Dt(t),[[M],[S]]=Dt(n),C=Mt(wt(e,_),wt(o,b)),y=vt(wt(e,r),wt(o,c)),O=Mt(wt(i,S),wt(s,M)),N=vt(wt(i,u),wt(s,f)),E=Mt(wt(v,C),mt(wt(l,y),3)),I=Mt(wt(d,O),mt(wt(a,N),3)),k=St(E),B=St(I);if(k!==B)return k-B;if(0===k&&0===B)return 0;const P=wt(E,E),T=wt(g,m),A=wt(I,I),z=wt(x,w),D=St(Mt(wt(P,T),wt(A,z)));return k>0?D:-D}function Wt(t,n){return t[0]===n[0]&&t[1]===n[1]}function jt(t,n){const{ccw:e,tangentI:o,tangentO:r,dotTangents:c}=function(t,n){const e=t.length;let o=t[e-2],r=n[0],c=n[1];Wt(o,r)&&(o=t[e-3]),Wt(r,c)&&(c=n[2]);const i=function(t,n,e){const o=dt(t[0],e[0]),r=dt(n[1],e[1]),c=dt(t[1],e[1]),i=dt(n[0],e[0]);return bt(vt(wt(o,r),_t(wt(c,i))))}(o,r,c),s=[dt(r[0],o[0]),dt(r[1],o[1])],u=[dt(c[0],r[0]),dt(c[1],r[1])],f=function(t,n){return bt(vt(wt(t[0],n[0]),wt(t[1],n[1])))}(s,u);return 0!==i||f>0?{ccw:i,tangentI:s,tangentO:u,dotTangents:f}:{ccw:qt(t.slice().reverse(),n),tangentI:s,tangentO:u,dotTangents:f}}(t,n),i=e<0,s=e>0,u=[lt(o.map(t=>t[1])),lt(r.map(t=>t[1]))],f=st(u[0],u[1]);let l,a;return c>0?(l=f<-.0698,a=f>.0698):(l=i,a=s),{tangents:u,isSharp:i,isDull:s,isQuiteSharp:l,isQuiteDull:a}}const Ft=et(function(t){const{t:n,curve:e}=t;return jt(1===n?e.ps:e.prev.ps,1===n?e.next.ps:e.ps)});function Ht(t){return 0===t.t||1===t.t}function Yt(t){return!!Ht(t)&&Ft(t).isSharp}function Rt(t){const n=t.pointOnShape.circle.center,e=t,o=t.nextOnCircle,c=e.pointOnShape,i=o.pointOnShape,s=c.p,u=i.p;let f;if(Yt(c)){let t,n;0===c.t?(t=c.curve,n=c.curve.prev):1===c.t&&(t=c.curve.next,n=c.curve);const e=lt(ht(t.ps,0)),o=[-(l=lt(ht(n.ps,1)))[0],-l[1]],i=ct(e,o),s=Math.sqrt((1+i)/2);f=r(Math.sqrt((1-i)/2),s,o)}else f=s[0]===u[0]&&s[1]===u[1]?rt(s,n):it(rt(s,u));var l;return[n,ft(lt(f),n)]}const{abs:Xt}=Math,Qt=1e-4;function Vt(t,n){const e=t.pointOnShape.circle.center,o=Rt(t),r=n.pointOnShape.circle.center,c=Rt(n.prevOnCircle),i=ot(o,c),s=rt(e,r);let u;if(i){const t=rt(e,i),n=rt(r,i);u=ct(t,s)<0||ct(n,s)>0}else u=!0;if(!u)return[e,i,r];const f=it(s),l=rt(o[0],o[1]),a=rt(c[0],c[1]),p=Xt(st(s,l))/9,h=Xt(st(s,a))/9;if(p>.01||h>.01)return[e,r];if(p>Qt||h>Qt){const t=ut(e,r,1/3),n=ut(e,r,2/3),i=ft(f,t),s=[n,ft(f,n)];return[e,ot(o,[t,i]),ot(c,s),r]}return[e,r]}function $t(t){return Vt(t,t.next)}function Ut(t){const n=t;let e=n;for(;e.next===e.prevOnCircle;)if(e=e.next,e===n)return;return e}function Zt(t,n){return A(t).indexOf(n)>=0}function Gt(t){return 1===D(t)&&!t.isHoleClosing}function Jt(t){return 2===D(t)}function Kt(t){if(L(t))return[];for(;z(t);)t=t.nextOnCircle;for(t=t.next;2===D(t);)t=t.next;t=t.prevOnCircle;const n=[];do{n.push(t),t=t.next}while(!q(t)&&2===D(t));return n}function tn(t){return Kt(t).map(t=>$t(t))}function nn(t,n){const e=n[0]-t[0],o=n[1]-t[1];return Math.sqrt(e*e+o*o)}function en(t,n){const[e,o]=t,[[r,c],[i,s]]=n;return nn([r+e*(i-r),c+e*(s-c)],[r+o*(i-r),c+o*(s-c)])}function on(t,n,e=16){if(n[0]===n[1])return 0;const{weights:o,abscissas:r}=rn[e],[c,i]=n;let s=0;const u=(i-c)/2,f=(i+c)/2;for(let n=0;n<=e-1;n++)s+=o[n]*t(u*r[n]+f);return u*s}et($t);const rn={2:{weights:[1,1],abscissas:[-.5773502691896257,.5773502691896257]},4:{weights:[.6521451548625461,.6521451548625461,.3478548451374538,.3478548451374538],abscissas:[-.3399810435848563,.3399810435848563,-.8611363115940526,.8611363115940526]},8:{weights:[.362683783378362,.362683783378362,.3137066458778873,.3137066458778873,.2223810344533745,.2223810344533745,.1012285362903763,.1012285362903763],abscissas:[-.1834346424956498,.1834346424956498,-.525532409916329,.525532409916329,-.7966664774136267,.7966664774136267,-.9602898564975363,.9602898564975363]},16:{weights:[.027152459411754096,.062253523938647894,.09515851168249279,.12462897125553388,.14959598881657674,.16915651939500254,.18260341504492358,.1894506104550685,.1894506104550685,.18260341504492358,.16915651939500254,.14959598881657674,.12462897125553388,.09515851168249279,.062253523938647894,.027152459411754096],abscissas:[-.9894009349916499,-.9445750230732326,-.8656312023878318,-.755404408355003,-.6178762444026438,-.45801677765722737,-.2816035507792589,-.09501250983763744,.09501250983763744,.2816035507792589,.45801677765722737,.6178762444026438,.755404408355003,.8656312023878318,.9445750230732326,.9894009349916499]},64:{weights:[.048690957009139724,.048690957009139724,.04857546744150343,.04857546744150343,.048344762234802954,.048344762234802954,.04799938859645831,.04799938859645831,.04754016571483031,.04754016571483031,.04696818281621002,.04696818281621002,.046284796581314416,.046284796581314416,.04549162792741814,.04549162792741814,.044590558163756566,.044590558163756566,.04358372452932345,.04358372452932345,.04247351512365359,.04247351512365359,.04126256324262353,.04126256324262353,.03995374113272034,.03995374113272034,.038550153178615626,.038550153178615626,.03705512854024005,.03705512854024005,.035472213256882386,.035472213256882386,.033805161837141606,.033805161837141606,.03205792835485155,.03205792835485155,.030234657072402478,.030234657072402478,.028339672614259483,.028339672614259483,.02637746971505466,.02637746971505466,.024352702568710874,.024352702568710874,.022270173808383253,.022270173808383253,.02013482315353021,.02013482315353021,.017951715775697343,.017951715775697343,.015726030476024718,.015726030476024718,.013463047896718643,.013463047896718643,.011168139460131128,.011168139460131128,.008846759826363947,.008846759826363947,.006504457968978363,.006504457968978363,.004147033260562468,.004147033260562468,.001783280721696433,.001783280721696433],abscissas:[-.024350292663424433,.024350292663424433,-.07299312178779904,.07299312178779904,-.12146281929612056,.12146281929612056,-.16964442042399283,.16964442042399283,-.21742364374000708,.21742364374000708,-.2646871622087674,.2646871622087674,-.31132287199021097,.31132287199021097,-.3572201583376681,.3572201583376681,-.4022701579639916,.4022701579639916,-.4463660172534641,.4463660172534641,-.48940314570705296,.48940314570705296,-.5312794640198946,.5312794640198946,-.571895646202634,.571895646202634,-.6111553551723933,.6111553551723933,-.6489654712546573,.6489654712546573,-.6852363130542333,.6852363130542333,-.7198818501716109,.7198818501716109,-.7528199072605319,.7528199072605319,-.7839723589433414,.7839723589433414,-.8132653151227975,.8132653151227975,-.8406292962525803,.8406292962525803,-.8659993981540928,.8659993981540928,-.8893154459951141,.8893154459951141,-.9105221370785028,.9105221370785028,-.9295691721319396,.9295691721319396,-.9464113748584028,.9464113748584028,-.9610087996520538,.9610087996520538,-.973326827789911,.973326827789911,-.983336253884626,.983336253884626,-.9910133714767443,.9910133714767443,-.9963401167719553,.9963401167719553,-.9993050417357722,.9993050417357722]}},{sqrt:cn}=Math;function sn(t){const[n,e]=pt(t);return function(t){const o=at(n,t),r=at(e,t);return cn(o*o+r*r)}}const{abs:un}=Math,fn=[[0,0],[0,0],[0,0]];function ln(t,n,e){return 0===n?1===e?{ps:t,_ps:fn}:function(t,n){const e=t[0],o=t[1],r=t[2],c=e[0],i=e[1],s=o[0],u=o[1],f=r[0],l=r[1],a=n*n,p=c-s,h=i-u,d=[[c,i],[-n*p+c,-n*h+i],[a*(p+(f-s))-(2*n*p-c),a*(h+(l-u))-(2*n*h-i)]],v=un(n),g=un(c),m=un(s),x=un(f),w=g+m,b=un(i),_=un(u),M=b+_;return{ps:d,_ps:[[0,0],[v*w+g,v*M+b],[a*(w+(x+m))+(2*v*w+g),a*(M+(un(l)+_))+(2*v*M+b)]]}}(t,e):1===e?function(t,n){const e=t[0],o=t[1],r=t[2],c=e[0],i=e[1],s=o[0],u=o[1],f=r[0],l=r[1],a=n*n,p=c-s,h=f-s,d=i-u,v=l-u,g=[[a*(p+h)-(2*n*p-c),a*(d+v)-(2*n*d-i)],[n*h+s,n*v+u],[f,l]],m=un(n),x=un(c),w=un(s),b=x+w,_=un(f)+w,M=un(i),S=un(u),C=M+S;return{ps:g,_ps:[[a*(b+_)+(2*m*b+x),a*(C+(un(l)+S))+(2*m*C+M)],[m*_+w,0],[0,0]]}}(t,n):function(t,n,e){const o=t[0],r=t[1],c=t[2],i=o[0],s=o[1],u=r[0],f=r[1],l=c[0],a=c[1],p=n*n,h=e*e,d=n*e,v=i-u,g=v+(l-u),m=s-f,x=m+(a-f),w=p*g-(2*n*v-i),b=d*g-(v*(e+n)-i),_=h*g-(2*e*v-i),M=p*x-(2*n*m-s),S=d*x-(m*(e+n)-s),C=h*x-(2*e*m-s),y=un(n),O=un(e),N=un(d),E=un(i),I=un(u),k=E+I,B=k+un(l)+I,P=un(s),T=un(f),A=P+T,z=A+un(a)+T;return{ps:[[w,M],[b,S],[_,C]],_ps:[[p*B+(2*y*k+E),p*z+(2*y*A+P)],[N*B+(k*(O+y)+E),N*x+(A*(O+y)+P)],[h*B+(2*O*k+E),h*z+(2*O*A+P)]]}}(t,n,e)}const an=134217729;function pn(t,n){const e=t*n,o=an*t,r=o-(o-t),c=t-r,i=an*n,s=i-(i-n),u=n-s;return[c*u-(e-r*s-c*s-r*u),e]}function hn(t,n){const e=t[0],o=t[1],r=n[0],c=n[1],i=o+c,s=i-o,u=e+r,f=u-e,l=o-(i-s)+(c-s)+u,a=i+l,p=e-(u-f)+(r-f)+(l-(a-i)),h=a+p;return[p-(h-a),h]}function dn(t,n){const e=t[0],o=t[1],r=n[0],c=n[1],i=o-c,s=i-o,u=e-r,f=u-e,l=o-(i-s)+(-c-s)+u,a=i+l,p=e-(u-f)+(-r-f)+(l-(a-i)),h=a+p;return[p-(h-a),h]}const{atan2:vn}=Math,gn=pn;function mn(t,n){const e=t[0],o=t[1],r=n[0],c=n[1],i=dn(gn(c,e),gn(r,o))[1],s=hn(gn(r,e),gn(c,o))[1];return vn(i,s)}const{abs:xn}=Math;function wn(t){const n=[];for(let e=0;e<t.length-1;e++){const o=[t[e+1][0]-t[e][0],t[e+1][1]-t[e][1]];0!==(0!==o[0]||o[1])&&n.push(o)}const e=n.length;let o=0;for(let t=0;t<e-1;t++)o+=xn(mn(n[t],n[t+1]));return o}function bn(t,n=.4,e=2**-16){const o=[0],r=[1];for(;;){const c=o[o.length-1],i=r[r.length-1];if(wn(U(t,c,i))<=n||i-c<=e){if(o.push(r.pop()),1===i)return o;continue}const s=(c+i)/2;r.push(s)}}const{sqrt:_n,log:Mn}=Math;function Sn(t,n,e=.4,o=16){const r=t[0],c=t[1];if(r===c)return 0;const[[i,s],[u,f],[l,a]]=n;if(i===u&&u===l&&s===f&&f===a)return 0;const p=ln(n,r,c).ps,h=bn(p,e);let d=0;for(let t=0;t<h.length-1;t++){const n=h[t],e=h[t+1];d+=on(sn(p),[n,e],o)}return d}const{abs:Cn}=Math,yn=[[0,0],[0,0],[0,0],[0,0]];function On(t,n,e){return 0===n?1===e?{ps:t,_ps:yn}:function(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=c[0],h=c[1],d=i-n*(i-u),v=u-n*(u-l),g=d-n*(d-v),m=g-n*(g-(v-n*(v-(l-n*(l-p))))),x=s-n*(s-f),w=f-n*(f-a),b=x-n*(x-w),_=b-n*(b-(w-n*(w-(a-n*(a-h))))),M=Cn(n),S=Cn(i),C=Cn(u),y=Cn(l),O=Cn(p),N=Cn(s),E=Cn(f),I=Cn(a),k=S+M*(S+C),B=C+M*(C+y),P=k+M*(k+B),T=N+M*(N+E),A=E+M*(E+I),z=T+M*(T+A);return{ps:[[i,s],[d,x],[g,b],[m,_]],_ps:[[0,0],[k,T],[P,z],[P+M*(P+(B+M*(B+(y+M*(y+O))))),z+M*(z+(A+M*(A+(I+M*(I+Cn(h))))))]]}}(t,e):1===e?function(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=c[0],h=c[1],d=i-n*(i-u),v=u-n*(u-l),g=l-n*(l-p),m=d-n*(d-v),x=v-n*(v-g),w=m-n*(m-x),b=s-n*(s-f),_=f-n*(f-a),M=a-n*(a-h),S=b-n*(b-_),C=_-n*(_-M),y=S-n*(S-C),O=Cn(n),N=Cn(i),E=Cn(u),I=Cn(l),k=Cn(p),B=Cn(s),P=Cn(f),T=Cn(a),A=N+O*(N+E),z=E+O*(E+I),D=I+O*(I+k),L=A+O*(A+z),q=z+O*(z+D),W=B+O*(B+P),j=P+O*(P+T),F=T+O*(T+Cn(h)),H=W+O*(W+j),Y=j+O*(j+F);return{ps:[[w,y],[x,C],[g,M],[p,h]],_ps:[[L+O*(L+q),H+O*(H+Y)],[q,Y],[D,F],[0,0]]}}(t,n):function(t,n,e){const o=t[0],r=t[1],c=t[2],i=t[3],s=o[0],u=o[1],f=r[0],l=r[1],a=c[0],p=c[1],h=n*n,d=n*h,v=e*e,g=e*v,m=n*e,x=s-f,w=a-f,b=i[0]-s,_=x+w,M=n*x,S=e*x,C=b-3*w,y=u-l,O=p-l,N=i[1]-u,E=y+O,I=n*y,k=e*y,B=N-3*O,P=d*C+(3*n*(n*_-x)+s),T=m*(n*C+2*_)+(h*_+s-(S+2*M)),A=m*(e*C+2*_)+(v*_+s-(2*S+M)),z=g*C+(3*e*(e*_-x)+s),D=d*B+(3*n*(n*E-y)+u),L=m*(n*B+2*E)+(h*E+u-(k+2*I)),q=m*(e*B+2*E)+(v*E+u-(2*k+I)),W=g*B+(3*e*(e*E-y)+u),j=Cn(n),F=Cn(e),H=Cn(m),Y=Cn(d),R=Cn(g),X=Cn(s),Q=Cn(f),V=X+Q,$=Cn(a)+Q,U=V+$,Z=j*V,G=F*V,J=Cn(b)+3*$,K=Cn(u),tt=Cn(l),nt=K+tt,et=Cn(p)+tt,ot=nt+et,rt=j*nt,ct=F*nt,it=Cn(N)+3*et;return{ps:[[P,D],[T,L],[A,q],[z,W]],_ps:[[Y*J+(3*j*(j*U+V)+X),Y*it+(3*j*(j*ot+nt)+K)],[H*(j*J+2*U)+(h*U+X+(G+2*Z)),H*(j*it+2*ot)+(h*ot+K+(ct+2*rt))],[H*(F*J+2*U)+(v*U+X+(2*G+Z)),H*(F*it+2*ot)+(v*ot+K+(2*ct+rt))],[R*J+(3*F*(F*U+V)+X),R*it+(3*F*(F*ot+nt)+K)]]}}(t,n,e)}function Nn(t,n,e=.4,o=16){const r=t[0],c=t[1];if(r===c)return 0;const[[i,s],[u,f],[l,a],[p,h]]=n;if(i===u&&u===l&&l===p&&s===f&&f===a&&a===h)return 0;const d=On(n,r,c).ps,v=bn(d,e);let g=0;for(let t=0;t<v.length-1;t++){const n=v[t],e=v[t+1];g+=on(sn(d),[n,e],o)}return g}function En(t,n=.4,e=16){if(4===t.length)return Nn([0,1],t,n,e);if(3===t.length)return Sn([0,1],t,n,e);if(2===t.length)return en([0,1],t);if(1===t.length)return 0;throw new Error("The given bezier curve must be of order <= 3.")}function In(t,n,e=!0){const{cpNodes:o,hasHoleCloser:r}=function(t,n,e=!0){if(!e&&t===n)return{cpNodes:[],hasHoleCloser:!1};const o=t,r=[o];let c=t.next,i=o.isHoleClosing;for(;c!==n&&c!==o;)c.isHoleClosing&&(i=!0),r.push(c),c=c.next;return{cpNodes:r,hasHoleCloser:i}}(t,n,e);return{pss:o.flatMap(Z),hasHoleCloser:r}}function kn(t){const n=t,e=t.nextOnCircle,o=nn(n.pointOnShape.p,e.pointOnShape.p),{pss:r,hasHoleCloser:c}=In(n,e),i=function(t){let n=0;for(let e of t)n+=e;return n}(r.map(t=>En(t)));return c?1/0:i/o}function Bn(t,n){let e=t;const o=[];for(;e!==n;){const t=Vt(e,e.next);o.push(t),e=e.next}return o}function Pn(t,n){const e=st(lt(ht($t(t),0)),lt(ht($t(n),0)));return Math.abs(Math.asin(e)*(180/Math.PI))}function Tn(t){const n=[];return R(t,t=>{n.push(t)}),n}function An(t,n){let e;return e=t.curve.idx-n.curve.idx,0!==e||(e=t.t-n.t,0!==e||(e=t.order-n.order,0!==e||(e=t.order2-n.order2))),e}function zn(t,n){return An(t.pointOnShape,n.pointOnShape)}const Dn={getChildren:K,getVertexForwardChildren:Y,getAllOnLoop:k,getAllOnCircle:A,isOnSameCircle:Zt,isTerminating:z,isFullyTerminating:q,getFirstExit:Ut,isSharp:W,isOneProng:Gt,getProngCount:T,getRealProngCount:D,cpNodeComparator:zn,enhanceCpNode:j,traverseCp:F,traverseEdges:H,traverseVertices:R,clone:Q,getBoundaryBezierPartsToNext:$,getBoundaryBeziersToNext:Z,removeVertex:J,getMatCurveToNext:$t,isTwoProng:Jt,getBranch:Kt,getBranchBeziers:tn,getSalience:kn,getMatCurveBetween:Vt,getEdgeDirection:Rt,getBoundaryBeziersBetween:In,getMatCurvesBetween:Bn,getHoleClosers:B,getInitialDegAngleBetweenMatCurves:Pn,getAllVertices:Tn};function Ln(t){return n=>A(n).some(t)}const qn=Ln(function(t){return 2!==D(t)&&!t.isHoleClosing});const{abs:Wn}=Math,{abs:jn}=Math;function Fn(t,n){if(t.length!==n.length)throw new Error("`p` and `p_` must be of equal length.");for(let e=0;e<t.length;e++){const o=jn(n[e]);if(t[e]-o>=0)continue;let r=!1,c=!1;for(let o=0;o<e;o++){const e=jn(n[o]),i=t[o]-e,s=t[o]+e;if(i>0){r=!0;break}s>0&&(c=!0)}if(!r&&c)return 1/0}return function(t){const n=t.length-1;if(n<1)return 0;t[0]<0&&(t=function(t){const n=new Array(t.length);for(let e=0;e<t.length;e++)n[e]=-t[e];return n}(t));const e=[];for(let t=0;t<n;t++)e.push(1);let o=0;for(let r=0;r<=n;r++){if(t[r]>=0)continue;let n=1/0,c=!1;for(let o=0;o<r;o++){if(t[o]<=0)continue;const i=(-t[r]/(t[o]/2**e[o]))**(1/(r-o));e[o]++,n>i&&(n=i),c=!0}c&&o<n&&(o=n)}return o}(function(t,n){if(t.length!==n.length)throw new Error("`p` and `p_` must be of equal length.");const e=new Array(t.length);for(let o=0;o<t.length;o++){const r=Wn(n[o]),c=t[o]-r,i=t[o]+r;e[o]=c>0||i<0?c:0}return e}(t,n))}const Hn=(Yn=Fn,(t,n)=>-Yn(function(t){const n=t.length-1;if(n<0)return[];const e=t.slice();for(let t=0;t<n+1;t++)t%2==(n-1)%2&&(e[t]=-e[t]);return e}(t),n));var Yn;const{min:Rn,max:Xn,abs:Qn}=Math,Vn=17976931348623157e292,$n=Number.EPSILON,Un=$n/2,Zn=Un*Un,Gn=Kn(1),Jn=function(){const t=3*Zn;return t/(1-t)}();function Kn(t){const n=t*Un;return n/(1-n)}new Array(20).fill(0).map((t,n)=>Kn(n));const{abs:te}=Math;function ne(t){const n=t.slice(),e=n.length;if(1===e)return n;let o=n[e-1],r=e;for(let t=e-2;t>=0;--t){const e=o,c=n[t];o=e+c;const i=c-(o-e);i&&(n[--r]=o,o=i)}let c=0;for(let t=r;t<e;++t){const e=n[t],r=o;o=e+r;const i=r-(o-e);i&&(n[c++]=i)}return n[c++]=o,n.length=c,n}const{abs:ee}=Math,{abs:oe}=Math,re=134217729;function ce(t,n){const e=n[0],o=n[1],r=o*t,c=re*o,i=c-(c-o),s=o-i,u=re*t,f=u-(u-t),l=t-f,a=e*t,p=r+a,h=a-(p-r)+(s*l-(r-i*f-s*f-i*l)),d=p+h;return[h-(d-p),d]}function ie(t,n){const e=n[0],o=n[1],r=o*t,c=re*o,i=c-(c-o),s=o-i,u=re*t,f=u-(u-t),l=t-f,a=s*l-(r-i*f-s*f-i*l)+e*t,p=r+a;return[a-(p-r),p]}const{abs:se}=Math;function ue(t,n,e){const o=t.length-1;if(o<0)return[[],[]];const r=se(n),c=t.slice(),i=e.slice();for(let t=0;t<=o;t++)for(let e=1;e<=o-t;e++){const t=c[e-1],o=i[e-1],s=ie(n,t),u=r*o+se(s[1]),f=c[e];c[e]=hn(f,s),i[e]=i[e]+u+se(c[e][1])}return[c,i]}const fe=2**27+1;function le(t,n){const e=t[1],o=n[1],r=e*o,c=fe*e,i=c-(c-e),s=e-i,u=fe*o,f=u-(u-o),l=o-f,a=s*l-(r-i*f-s*f-i*l)+(e*n[0]+t[0]*o),p=r+a;return[a-(p-r),p]}const{abs:ae}=Math;function pe(t,n){const e=t.length-1;if(e<0)return[];const o=t.slice();for(let t=0;t<=e;t++)for(let r=1;r<=e-t;r++)o[r]=ne(vt(o[r],mt(o[r-1],n)));return o}function he(t,n){const e=t.length-1;if(e<0)return[];const o=new Array(e+1);o[e]=t[e];let r=[1];for(let c=1;c<=e;c++)r=mt(r,n),o[e-c]=wt(t[e-c],r);return o}const{abs:de,sign:ve}=Math;const ge=134217729;function me(t,n){const e=t*n,o=ge*t,r=o-(o-t),c=t-r,i=ge*n,s=i-(i-n),u=n-s;return[c*u-(e-r*s-c*s-r*u),e]}const{abs:xe}=Math;function we(t,n){const e=xe(n);let o=t[0],r=.5*xe(o);for(let c=1;c<t.length;c++)o=o*n+t[c],r=r*e+xe(o);return r=Un*(2*r-xe(o)),[o,r]}const be=Math.abs,{abs:_e}=Math,Me=Kn(1),Se=Kn(2);function Ce(t,n,e=void 0,o=1){const r=t[0],[c,i]=we(r,n),s=Se*function(t,n){const e=be(n);let o=0;for(let n=0;n<t.length;n++)o=o*e+be(t[n]);return o}(r,n),u=void 0!==e?at(e,_e(n)):0;if((i+s+u)*o<Math.abs(c))return c;const f=function(t,n){const e=[],o=[];let r,c=t[0];for(let i=1;i<t.length;i++){const[s,u]=me(c,n);[r,c]=Nt(u,t[i]),e.push(s),o.push(r)}return{r̂:c,pπ:e,pσ:o}}(r,n),{pπ:l,pσ:a}=f;let{r̂:p}=f;const[h,d]=we(l,n),[v,g]=we(a,n),[m,x]=we(t[1],n);let w=d+g+x+u;return p=h+v+m+p,w+=Me*p,w*o<Math.abs(p)?p:0}function ye(t,n){let e=[0];for(let o=0;o<t.length;o++)e=vt(t[o],mt(e,n));return e}const{abs:Oe,min:Ne,max:Ee,log2:Ie,ceil:ke}=Math;function Be(t,n,e,o,r,c,i,s){let u=e,f=o,l=u,a=r,p=f-u,h=p;for(;;){let d;Oe(a)<Oe(c)&&(u=f,f=l,l=u,r=c,c=a,a=r);const v=Ee(Oe(u),Oe(f));d=v<=1?$n:$n*2**ke(Ie(v));const g=.5*(l-f);if(Oe(g)<=d)return f<l?[f,l,f]:[l,f,f];if(Oe(p)<d||Oe(r)<=Oe(c))p=g,h=p;else{let t,n,e=c/r;if(u===l)t=2*g*e,n=1-e;else{n=r/a;const o=c/a;t=e*(2*g*n*(n-o)-(f-u)*(o-1)),n=(n-1)*(o-1)*(e-1)}0<t?n=-n:t=-t,e=p,p=h,2*t<3*g*n-Oe(d*n)&&t<Oe(.5*e*n)?h=t/n:(p=g,h=p)}if(u=f,r=c,d<Oe(h)?f+=h:0<g?f+=d:f-=d,0===(c=s?bt(ye(i(),f)):Ce(t,f,n))){if(s)return[f,f,f];const r=Ee(e,f-d),u=Ne(o,f+d);if(Ce(t,r,n)*Ce(t,u,n)!==0)return[r,u,f];if(s=!0,0===(c=bt(ye(i(),f))))return[f,f,f]}(0<c&&0<a||c<=0&&a<=0)&&(l=u,a=r,p=f-u,h=p)}}const{abs:Pe}=Math;function Te(t,n,e){const o=Pe(n);let r=t[0],c=e[0];for(let i=1;i<t.length;i++){const s=r*n;r=s+t[i],c=c*o+Pe(s)+e[i]+Pe(r)}return[r,c]}function Ae(t){const n=t[0].length,e=[];for(let o=0;o<n;o++){const r=[];for(let e=0;e<t.length;e++)r.push(t[e][n-(o+1)]);e.push(r)}return e}const ze=hn,De=ie,{abs:Le}=Math;function qe(t,n,e){const o=Le(n);let r=t[0],c=e[0];for(let i=1;i<t.length;i++){const s=De(n,r);r=ze(s,t[i]),c=c*o+Le(s[1])+e[i]+Le(r[1])}return[r,c]}const{abs:We,min:je,max:Fe,log2:He,ceil:Ye}=Math,Re=Jn/Gn;function Xe(t,n,e,o,r,c,i){const s=t.length-1;let u=0,f=1;for(;;){f*=2;for(let l=1;l<f;l+=2){u++;const a=r+(c-r)*(f+2*l)/(4*f),[p,h]=Te(t,a,n);if(We(p)>h*Gn)return[a,p];if(u>s)return Qe(e,o,r,c,i)}}}function Qe(t,n,e,o,r){const c=t.length-1;let i=0,s=1;for(;;){s*=2;for(let u=1;u<s;u+=2){i++;const f=e+(o-e)*(s+2*u)/(4*s),[l,a]=qe(t,f,n);if(We(l[1])>a*Jn)return[f,l[1]];if(i>c)return Ve(r(),e,o)}}}function Ve(t,n,e){const o=t.length-1;let r=1;for(;;){r*=2;for(let c=1;c<r;c+=2){const i=n+(e-n)*(r+2*c)/(4*r),s=ne(ye(t,i)),u=s[s.length-1];if(0!==u)return[i,u];if(0>o)throw new Error("Cannot resolve root even in Shewchuk expansion precision")}}}const{abs:$e,max:Ue,log2:Ze,ceil:Ge}=Math;function Je(t,n=-1/0,e=1/0,o,r,c=!1){let i;"number"==typeof t[0]&&(t=t.map(t=>[0,t]));const s=()=>void 0===r?t:(void 0===i&&(i=r()),i);o=o||new Array(t.length).fill(0),({pDd:t,pDd_:o,pExact:i}=function(t,n,e,o){let r;if(0===t.length||te(t[0][1])>o*n[0])return{pDd:t,pDd_:n,pExact:r};r=r||e();for(let e=0;e<r.length;e++){const c=r[e],i=t[e];i[1]=c[c.length-1],i[0]=c[c.length-2]??0,n[e]=te(i[1])*(Jn/o)}let c=0;for(;c<t.length&&0===t[c][1];)c++;return t=t.slice(c),n=n.slice(c),r=r.slice(c),{pDd:t,pDd_:n,pExact:r}}(t,o,s,Jn));const u=t.map(t=>t[0]+t[1]);if((c||$e(n)>2**20||$e(e)>2**20)&&([n,e]=function(t,n,e,o,r){t=Xn(t,Hn(e,o.map(t=>t*r))),n=Rn(n,Fn(e,o.map(t=>t*r)));const c=2**(-2*(e.length-1));for(Number.isFinite(t)||(t=-c*Vn),Number.isFinite(n)||(n=c*Vn);;){const o=Qn(at(e,t)),r=Qn(at(e,n));if(o>c*Vn)t/=2;else{if(!(r>c*Vn))break;n/=2}}return[t,n]}(n,e,u,o,Jn)),0!==t.length){if(1===t.length)return[];if(n===e){const t=2*$n*Ue(1,2**Ge(Ze(Ue($e(n),$e(e)))));n-=t,e+=t}return function(t,n,e,o,r,c){const i=e.map((n,e)=>n*Re+We(t[e])),s=o,u=r;let f,l,a,p,h=r-o;for(;[f,l]=Te(t,o,i),!(We(f)>l*Gn);)o-=h/2,h*=2;for(;[a,p]=Te(t,r,i),!(We(a)>p*Gn);)r+=h/2,h*=2;const d=[[o,r,f,a,0]],v=[],g=function(t,n,e,o,r){return function(c,i,s,u,f){let[l,a]=function(t,n,e){const o=t.length-1,r=ee(n),c=t.slice(),i=e.slice();for(let t=0;t<=o;t++)for(let e=1;e<=o-t;e++){const t=n*c[e-1],o=r*i[e-1]+ee(t);c[e]=c[e]+t,i[e]=i[e]+o+ee(c[e])}return[c,i]}(t,c,n);!function(t,n,e){const o=t.length-1;if(o<0)return;let r=n,c=0;for(let i=1;i<=o;i++){const s=o-i,u=t[s],f=oe(u),l=e[s],a=u*r;t[s]=a,e[s]=l*r+f*c+oe(a);const p=r*n;c=c*n+p,r=p}}(l,i-c,a),l.reverse(),a.reverse(),function(t,n){const e=t.length-1;for(let o=0;o<=e;o++)for(let r=1;r<=e-o;r++){const e=t[r-1],o=n[r-1]+ee(e);t[r]=t[r]+e,n[r]=n[r]+o+ee(t[r])}}(l,a);let p=0,h=0,d=ve(s);for(let t=1;t<l.length-1;t++){let n=ve(l[t]);const e=l[t],o=a[t]*Gn;de(e)<=o&&(h++,n=-d),n!==d&&(p++,d=n)}return ve(u)!==d&&p++,1===h&&1===p?1:h>0?function(t,n,e,o,r,c,i,s){let[u,f]=ue(t,e,n);(function(t,n,e){const o=t.length-1;if(o<0)return;let r=[0,n],c=0;for(let i=1;i<=o;i++){const s=o-i,u=t[s],f=ae(u[1]),l=e[s],a=le(r,u);t[s]=a,e[s]=l*r[1]+f*c+ae(a[1]);const p=le(r,[0,n]);c=c*n+p[1],r=p}})(u,o-e,f),u.reverse(),f.reverse(),[u,f]=ue(u,1,f);let l=0,a=0,p=ve(r);for(let t=0;t<u.length-1;t++){let n=ve(u[t][1]);const e=f[t]*Jn,o=u[t];e>=de(o[1])&&(a++,n=-p),n!==p&&(l++,p=n)}return ve(c)!==p&&l++,1===a&&1===l?1:0===a?l:i>1?function(t,n,e,o,r){let c=pe(t(),n);c=he(c,e-n),c.reverse(),c=pe(c,1);let i=0,s=ve(o);for(let t=1;t<c.length-1;t++){const n=c[t];let e=ve(n[n.length-1]);e!==s&&0!==e&&(i++,s=e)}return ve(r)!==s&&i++,i}(s,e,o,r,c):-l}(e,o,c,i,s,u,f,r):p}}(t,i,n,e,c);let m,x;for(;d.length>0;){const o=d.pop(),[r,s,u,f,l]=o,a=g(r,s,u,f,l);if(0===a)continue;if(1===a){m=m||e.map(t=>t*Jn),x=x||Ae(n);const[t,o,i]=Be(x,m,r,s,u,f,c,!1);v.push({t:i,tS:t,tE:o,multiplicity:1});continue}let p=a<0?l+1:0;if(s-r<=2*We(a)*$n*Fe(1,2**Ye(He(Fe(We(r),We(s)))))){if(0===p){v.push({t:(r+s)/2,tS:r,tE:s,multiplicity:We(a)});continue}p=1/0}const[h,w]=Xe(t,i,n,e,r,s,c);d.push([r,h,u,w,p]),d.push([h,s,w,f,p])}return v.reverse(),v.filter(t=>{const{tS:n,tE:e}=t;return!(e<s||n>u)})}(u,t,o,n,e,s)}}function Ke(t,n){if(0===n)return t[0];if(1===n)return t[t.length-1];if(4===t.length){const[[e,o],[r,c],[i,s],[u,f]]=t,l=e+(r-e)*n,a=r+(i-r)*n,p=l+(a-l)*n,h=o+(c-o)*n,d=c+(s-c)*n,v=h+(d-h)*n;return[p+(a+(i+(u-i)*n-a)*n-p)*n,v+(d+(s+(f-s)*n-d)*n-v)*n]}if(3===t.length){const[[e,o],[r,c],[i,s]]=t,u=e+(r-e)*n,f=o+(c-o)*n;return[u+(r+(i-r)*n-u)*n,f+(c+(s-c)*n-f)*n]}if(2===t.length){const[[e,o],[r,c]]=t;return[e+(r-e)*n,o+(c-o)*n]}if(1===t.length)return t[0];throw new Error("The given bezier curve must be of order <= 3.")}function to(t){const n=pt(t),e=Je(n[0],0,1)?.map(t=>t.t)||[],o=Je(n[1],0,1)?.map(t=>t.t)||[];e.push(0,1),o.push(0,1);let r,c,i,s,u=1/0,f=-1/0,l=1/0,a=-1/0;for(let n=0;n<e.length;n++){const o=e[n],[i]=Ke(t,o);i<u&&(u=i,r=o),i>f&&(f=i,c=o)}for(let n=0;n<o.length;n++){const e=o[n],[,r]=Ke(t,e);r<l&&(l=r,i=e),r>a&&(a=r,s=e)}return{ts:[[r,i],[c,s]],box:[[u,l],[f,a]]}}const no=et(to);function eo(t,n){return oo(t)-oo(n)}function oo(t){let n=1/0;for(const e of t){const t=no(e).box[0][1];t<n&&(n=t)}return n}function ro(t){const n=[],e=[t];for(;e.length;){const t=e.pop();if(0===t.windingNum)for(const e of t.children)0!==e.windingNum&&n.push(e);e.push(...t.children)}return n}const{abs:co}=Math;function io(t,n){return"AND"===t?co(n)>=2:"XOR"===t?co(n)%2==1:0!==n}function so(t){return n=>{const e=[],o=[[n,0]];for(;o.length;){const[n,r]=o.pop(),c=n.parent.windingNum,i=io(t,n.windingNum)!==io(t,c);i&&e.push({out:n,depth:r,windingNum:n.windingNum,parentWinding:c});const s=i?r+1:r;for(const t of n.children)0===n.windingNum&&0!==t.windingNum||o.push([t,s])}return e}}function uo(t,n){let e=t.x.curve.idx-n.x.curve.idx;return 0!==e||(e=t.x.ri.tS-n.x.ri.tS),e}const{floor:fo,ceil:lo}=Math;function ao(t,n,e,o){const r=[];for(const o of t)r.push({type:-1,item:o,x:n(o)}),r.push({type:1,item:o,x:e(o)});r.sort(po);const c=new Set,i=[];for(const t of r){const{item:n,type:e}=t;if(-1===e){for(const t of c){const e=o(n,t);e&&i.push({a:n,b:t,u:e})}c.add(n)}else 1===e&&c.delete(n)}return i}function po(t,n){const e=t.x-n.x;return 0!==e?e:t.type}function ho(t,n,e){let[[o,r],[c,i]]=n,[[s,u],[f,l]]=e;r>i&&([r,i]=[i,r]),u>l&&([u,l]=[l,u]),o>c&&([o,c]=[c,o]),s>f&&([s,f]=[f,s]);const a=t||o===c&&s===f,p=t||r===i&&u===l;return(a?o<=f:o<f)&&(a?c>=s:c>s)&&(p?u<=i:u<i)&&(p?l>=r:l>r)}function vo(t,n){let[[e,o],[r,c]]=t;e>r&&([e,r]=[r,e]),o>c&&([o,c]=[c,o]);const i=(r-e)*n,s=(c-o)*n;return[[e-i,o-s],[r+i,c+s]]}function go(t,n){return ho(!0,vo(t.box,.5),vo(n.box,.5))}function mo(t,n){const[e,o]=n;t.getOrInsert(e,[]).push(o),t.getOrInsert(o,[]).push(e)}function xo(t,n,e,o){e.add(n),o.push(n);const r=t.get(n);for(let n=0;n<r.length;n++){const c=r[n];e.has(c)||xo(t,c,e,o)}}function wo(t){const n=[],e=new Set;for(const o of t){const r=o[0];e.has(r)||(n.push([]),xo(t,r,e,n[n.length-1]))}return n}const{min:bo,max:_o}=Math;function Mo(t){let n=1/0,e=1/0,o=-1/0,r=-1/0;const c=[];for(const i of t){const[[t,s],[u,f]]=i.box;n=bo(n,t),e=bo(e,s),o=_o(o,u),r=_o(r,f),c.push(...i.xs)}return{xs:c,box:[[n,e],[o,r]]}}function So(t){const n=[];function e(...e){if("undefined"==typeof _debug_)return t.apply(this,e);const o=performance.now(),r=t.apply(this,e),c=performance.now();return n.push(c-o),r}return e.getStats=()=>{const e=function(t){let n=0;for(let e of t)n+=e;return n}(n);return{name:t.name,totalMs:e,count:n.length}},e.resetStats=()=>{n.length=0},e}const Co=So(function(t){for(;;){const n=ao(t,t=>vo(t.box,.5)[0][0],t=>vo(t.box,.5)[1][0],go);if(!n.length)break;const e=new Map(t.map(t=>[t,[]]));for(let t=0;t<n.length;t++){const o=n[t];mo(e,[o.a,o.b])}t=wo(e).map(Mo)}return t});function yo(t,n){const e=t[0],o=t[1],r=n[0],c=n[1],i=o-c,s=i-o,u=e-r,f=u-e,l=o-(i-s)+(-c-s)+u,a=i+l;return a+(e-(u-f)+(-r-f)+(l-(a-i)))}function Oo(t,n){const e=t-n,o=t-e;return[t-(e+o)+(o-n),e]}function No(t,n){const e=t[0],o=t[1],r=o+n,c=r-o,i=e+(o-(r-c)+(n-c)),s=r+i;return[i-(s-r),s]}const Eo=le,Io=hn,ko=dn,Bo=Oo,Po=No;function To(t,n){if(0===n[0]&&0===n[1])return t[0].map(t=>[0,t]);if(0===n[0]&&1===n[1])return t[t.length-1].map(t=>[0,t]);if(4===t.length){const[[e,o],[r,c],[i,s],[u,f]]=t,l=Po(Eo(Bo(r,e),n),e),a=Po(Eo(Bo(i,r),n),r),p=Po(Eo(Bo(u,i),n),i),h=Io(l,Eo(ko(a,l),n)),d=Io(a,Eo(ko(p,a),n)),v=Io(h,Eo(ko(d,h),n)),g=Po(Eo(Bo(c,o),n),o),m=Po(Eo(Bo(s,c),n),c),x=Po(Eo(Bo(f,s),n),s),w=Io(g,Eo(ko(m,g),n)),b=Io(m,Eo(ko(x,m),n));return[v,Io(w,Eo(ko(b,w),n))]}if(3===t.length){const[[e,o],[r,c],[i,s]]=t,u=Io([0,e],Eo(Bo(r,e),n)),f=Io([0,r],Eo(Bo(i,r),n)),l=Io(u,Eo(ko(f,u),n)),a=Io([0,o],Eo(Bo(c,o),n)),p=Io([0,c],Eo(Bo(s,c),n));return[l,Io(a,Eo(ko(p,a),n))]}if(2===t.length){const[[e,o],[r,c]]=t;return[Po(Eo(Bo(r,e),n),e),Po(Eo(Bo(c,o),n),o)]}if(1===t.length){const[n,e]=t[0];return[[0,n],[0,e]]}throw new Error("The given bezier curve must be of order <= 3.")}function Ao(t,n){return To(t,[0,n]).map(t=>t[0]+t[1])}const{min:zo,max:Do}=Math;function Lo(t,n,e,o){let r;for(const{curve:c,ts:i}of function*(t,n){const e=n?t.next:t.prev,o=t.x.curve,r=t.x.ri.tS,c=e.x.curve,i=e.x.ri.tS,s=n?1:0,u=n?0:1;let f=o,l=r,a=!1;for(;;){if(f===c&&(l===i?a:n?l<i:l>i))return void(yield{ts:[l,i],curve:f});yield{ts:[l,s],curve:f},a=!0,l=u,f=n?f.next:f.prev}}(n,o)){const{ps:n}=c;void 0===r&&(r=Ao(n,i[0]));const o=Ao(n,i[1]),[s,u]=r,[f,l]=o;let a=[];for(let t=0;t<e.length;t++){const n=e[t],[[o,r]]=n;(t%2==0&&zo(u,l)<=r&&r<=Do(u,l)||t%2==1&&zo(s,f)<=o&&o<=Do(s,f))&&a.push(t)}if(a.length>0)return t.oSideIdxs=a,a;r=o}}function qo(t,n){const e=t[0],o=t[1],r=o-n,c=r-o,i=e-e,s=o-(r-c)+(-n-c)+e,u=r+s,f=e-(e-i)-i+(s-(u-r)),l=u+f;return[f-(l-u),l]}const Wo=134217729;function jo(t,n){const e=t[0],o=t[1],r=o/n,c=r*n,i=Wo*r,s=i-(i-r),u=r-s,f=Wo*n,l=f-(f-n),a=n-l,p=(o-c-(u*a-(c-s*l-u*l-s*a))+e)/n,h=r+p;return[p-(h-r),h]}const Fo=dn;function Ho(t,n){return Fo(t,n)[1]>0?n:t}const Yo=dn;function Ro(t,n){return Yo(t,n)[1]>0?t:n}function Xo(t){return[-t[0],-t[1]]}const Qo=Oo,Vo=ie,$o=hn,Uo=No,{abs:Zo}=Math;function Go(t){const[[n,e],[o,r],[c,i],[s,u]]=t,f=Qo(s,n),l=Qo(o,c),a=3*(o-c),p=Vo(3,l),h=Zo(a),d=$o(f,p),v=h+Zo(s-n+a),g=Qo(c,2*o),m=Uo(g,n),x=Zo(c-2*o+n),w=Vo(3,m),b=6*x,_=Qo(o,n),M=Vo(3,_),S=Zo(3*(o-n)),C=Qo(u,e),y=Qo(r,i),O=3*(r-i),N=Vo(3,y),E=Zo(O),I=$o(C,N),k=E+Zo(u-e+O),B=Qo(i,2*r),P=Uo(B,e),T=Zo(i-2*r+e),A=Vo(3,P),z=6*T,D=Qo(r,e);return{coeffs:[[d,w,M,[0,n]],[I,A,Vo(3,D),[0,e]]],errorBound:[[v,b,S,0],[k,z,Zo(3*(r-e)),0]]}}function Jo(t){const[[n,e],[o,r],[c,i]]=t,s=c-2*o,u=Qo(c,2*o),f=Uo(u,n),l=Zo(s+n),a=Qo(2*o,2*n),p=i-2*r,h=Qo(i,2*r),d=Uo(h,e),v=Zo(p+e);return{coeffs:[[f,a,[0,n]],[d,Qo(2*r,2*e),[0,e]]],errorBound:[[l,0,0],[v,0,0]]}}function Ko(t){const[[n,e],[o,r]]=t;return[[Qo(o,n),[0,n]],[Qo(r,e),[0,e]]]}const tr=dn,nr=ie,er=Xo,{abs:or}=Math;function rr(t){const[[n,[,e]],[o,[,r]]]=Ko(t),c=er(o),i=n,s=nr(r,n),u=or(s[1]),f=nr(e,o),l=or(f[1]),a=tr(f,s);return{coeffs:{vₓ:c,vᵧ:i,v:a},errorBound:{v_:u+l+or(a[1])}}}const{abs:cr}=Math,ir=hn,sr=ie,ur=le;function fr(t){return[2*t[0],2*t[1]]}const lr=Xo,ar=fr,pr=ie,hr=le,dr=dn,{abs:vr}=Math;function gr(t){const{coeffs:[[n,e,[,o]],[r,c,[,i]]],errorBound:[[s],[u]]}=Jo(t),f=n[1],l=e[1],a=r[1],p=c[1],h=vr(o),d=vr(l),v=vr(f),g=vr(i),m=vr(p),x=vr(a),w=hr(n,c),b=s*m+2*vr(f*p),_=hr(e,r),M=d*u+2*vr(l*a),S=pr(i,n),C=g*s+vr(i*f),y=pr(o,r),O=h*u+vr(o*a),N=pr(i,e),E=vr(i*l),I=pr(o,c),k=vr(o*p),B=hr(n,n),P=2*(s*v+vr(f*f)),T=hr(n,r),A=s*x+v*u+2*vr(f*a),z=hr(r,r),D=2*(u*x+vr(a*a)),L=f*p-l*a,q=f*i-o*a,W=l*i-o*p,j=dr(w,_),F=vr(L),H=b+M+F,Y=dr(S,y),R=vr(q),X=C+O+R,Q=dr(N,I),V=vr(W),$=E+k+V,U=lr(z),Z=D,G=ar(T),J=2*A,K=lr(B),tt=P,nt=p*L,et=hr(c,j),ot=m*H+2*vr(nt),rt=2*q*a,ct=ar(hr(r,Y)),it=2*(u*R+x*X+2*vr(rt)),st=nt-rt,ut=dr(et,ct),ft=ot+it+vr(st),lt=2*f*q,at=ar(hr(n,Y)),pt=2*(s*R+v*X+2*vr(lt)),ht=l*L,dt=hr(e,j),vt=d*H+2*vr(ht),gt=lt-ht,mt=dr(at,dt),xt=pt+vt+vr(gt),wt=L*W,bt=hr(j,Q),_t=H*V+F*$+2*vr(wt),Mt=q*q,St=hr(Y,Y),Ct=2*(X*R+vr(Mt)),yt=wt-Mt;return{coeffs:{vₓₓ:U,vₓᵧ:G,vᵧᵧ:K,vₓ:ut,vᵧ:mt,v:dr(bt,St)},errorBound:{vₓₓ_:Z,vₓᵧ_:J,vᵧᵧ_:tt,vₓ_:ft,vᵧ_:xt,v_:_t+Ct+vr(yt)}}}const mr=pn,xr=fr,wr=ie,br=le,_r=hn,{abs:Mr}=Math;function Sr(t){return[t[0]/2,t[1]/2]}const{abs:Cr}=Math,yr=Xo,Or=fr,Nr=Sr,Er=ie,Ir=le,kr=dn,Br=hn;function Pr(t){const{coeffs:[[n,e,o,[,r]],[c,i,s,[,u]]],errorBound:[[f,l,a],[p,h,d]]}=Go(t),v=o[1],g=e[1],m=n[1],x=s[1],w=i[1],b=c[1],_=Cr(r),M=Cr(v),S=Cr(g),C=Cr(m),y=Cr(u),O=Cr(x),N=Cr(w),E=Cr(b),I=Ir(n,s),k=m*x,B=f*O+C*d+2*Cr(k),P=Ir(o,c),T=v*b,A=a*E+M*p+2*Cr(T),z=Ir(n,i),D=m*w,L=f*N+C*h+2*Cr(D),q=Ir(e,i),W=g*w,j=l*N+S*h+2*Cr(W),F=Ir(e,c),H=g*b,Y=l*E+S*p+2*Cr(H),R=Ir(n,n),X=m*m,Q=Cr(X),V=f*C+C*f+2*Cr(X),$=Ir(i,i),U=w*w,Z=h*N+N*h+2*Cr(U),G=Ir(c,c),J=b*b,K=Cr(J),tt=p*E+E*p+2*Cr(J),nt=Ir(o,n),et=v*m,ot=a*C+M*f+2*Cr(et),rt=Ir(e,e),ct=g*g,it=l*S+S*l+2*Cr(ct),st=Ir(s,c),ut=x*b,ft=d*E+O*p+2*Cr(ut),lt=Ir(i,c),at=Cr(w*b),pt=h*E+N*p+2*at,ht=Ir(e,n),dt=Cr(g*m),vt=l*C+S*f+2*dt,gt=Ir(n,c),mt=Cr(m*b),xt=f*E+C*p+2*mt,wt=Er(u,n),bt=m*u,_t=f*y+Cr(bt),Mt=Er(r,c),St=r*b,Ct=_*p+Cr(St),yt=Er(u,e),Ot=g*u,Nt=l*y+Cr(Ot),Et=Er(r,i),It=r*w,kt=_*h+Cr(It),Bt=Ir(e,s),Pt=g*x,Tt=l*O+S*d+2*Cr(Pt),At=Ir(o,i),zt=v*w,Dt=a*N+M*h+2*Cr(zt),Lt=Er(u,o),qt=v*u,Wt=a*y+Cr(qt),jt=Er(r,s),Ft=r*x,Ht=_*d+Cr(Ft),Yt=kr(wt,Mt),Rt=_t+Ct+Cr(bt-St),Xt=kr(I,P),Qt=B+A+Cr(k-T),Vt=kr(z,F),$t=L+Y+Cr(D-H),Ut=kr(yt,Et),Zt=Nt+kt+Cr(Ot-It),Gt=kr(Bt,At),Jt=Tt+Dt+Cr(Pt-zt),Kt=kr(Lt,jt),tn=Wt+Ht+Cr(qt-Ft),nn=Cr(ut-U),en=kr(st,$),on=ft+Z+nn,rn=Cr(et-ct),cn=kr(nt,rt),sn=ot+it+Cr(et-ct),un=Cr(H+D),fn=Br(F,z),ln=Y+L+Cr(H+D),an=T+k,pn=Cr(an),hn=Br(P,I),dn=A+B+pn,vn=Or(Xt),gn=2*Qt,mn=bt-St,xn=k-T,wn=D-H,bn=Ot-It,_n=Pt-zt,Mn=qt-Ft,Sn=Cr(mn),Cn=Cr(xn),yn=Cr(wn),On=Cr(bn),Nn=Cr(_n),En=Cr(Mn),In=2*Cn,kn=Ir(Yt,Yt),Bn=Ir(Yt,Xt),Pn=Ir(Yt,Vt),Tn=Ir(Yt,Gt),An=Ir(Xt,Xt),zn=Ir(vn,Ut),Dn=Ir(Vt,Ut),Ln=Cr(Dn[1]),qn=Ir(Vt,Gt),Wn=Ir(Vt,Kt),jn=Rt*Sn+Sn*Rt+2*Cr(kn[1]),Fn=Rt*Cn+Sn*Qt+2*Cr(Bn[1]),Hn=Rt*yn+Sn*$t+2*Cr(Pn[1]),Yn=Rt*Nn+Sn*Jt+2*Cr(Tn[1]),Rn=Qt*Cn+Cn*Qt+2*Cr(An[1]),Xn=gn*On+In*Zt+2*Cr(zn[1]),Qn=$t*On+yn*Zt+2*Ln,Vn=$t*Nn+yn*Jt+2*Cr(qn[1]),$n=$t*En+yn*tn+2*Cr(Wn[1]),Un=Ir(yr(c),G),Zn=p*K+E*tt+2*Cr(Un[1]),Gn=3*C,Jn=Er(3,n),Kn=3*f+Gn,te=Ir(Jn,G),ne=Kn*K+Gn*tt+2*Cr(te[1]),ee=3*E,oe=Er(-3,c),re=3*p+ee,ce=Ir(oe,R),ie=re*Q+ee*V+2*Cr(ce[1]),se=Ir(n,R),ue=f*Q+C*V+2*Cr(se[1]),fe=-3*mn,le=3*Sn,ae=Er(-3,Yt),pe=3*Rt+le,he=kr(ae,Gt),de=Cr(fe-_n),ve=pe+Jt+de,ge=Ir(he,G),me=ve*K+de*tt+2*Cr(ge[1]),xe=Ir(Vt,en),we=$t*nn+yn*on+2*Cr(xe[1]),be=Br(ge,xe),_e=me+we+Cr(be[1]),Me=Ir(vn,lt),Se=gn*at+In*pt+2*Cr(Me[1]),Ce=Br(be,Me),ye=_e+Se+Cr(Ce[1]),Oe=Ir(he,R),Ne=ve*Q+de*V+2*Cr(Oe[1]),Ee=Ir(Vt,cn),Ie=$t*rn+yn*sn+2*Cr(Ee[1]),ke=Br(Oe,Ee),Be=Ne+Ie+Cr(ke[1]),Pe=Ir(vn,ht),Te=gn*dt+In*vt+2*Cr(Pe[1]),Ae=Br(ke,Pe),ze=Be+Te+Cr(Ae[1]),De=Cr(W-an/2),Le=kr(q,Nr(hn)),qe=j+dn/2+Cr(Le[1]),We=Ir(he,gt),je=ve*mt+de*xt+2*Cr(We[1]),Fe=Ir(Xt,fn),He=Qt*un+Cn*ln+2*Cr(Fe[1]),Ye=Br(We,Fe),Re=je+He+Cr(Ye[1]),Xe=Ir(Vt,Le),Qe=$t*De+yn*qe+2*Cr(Xe[1]),Ve=Or(kr(Xe,Ye)),$e=2*(Qe+Re)+Cr(Ve[1]),Ue=Er(-3,kn),Ze=3*jn+Cr(Ue[1]),Ge=kr(Ue,Or(Tn)),Je=Ze+2*Yn+Cr(Ge[1]),Ke=Br(zn,Wn),to=Xn+$n+Cr(Ke[1]),no=Br(Ge,Ke),eo=Cr(no[1]),oo=Je+to+eo,ro=Or(kr(Bn,Dn)),co=Cr(ro[1]),io=2*(Fn+Qn)+co,so=kr(Pn,An),uo=Hn+Rn+Cr(so[1]),fo=Br(so,qn),lo=fo[1],ao=Cr(lo),po=uo+Vn+ao,ho=Ir(c,no),vo=p*eo+E*oo+2*Cr(ho[1]),go=Ir(i,ro),mo=h*co+N*io+2*Cr(go[1]),xo=Ir(s,fo),wo=d*ao+O*po+2*Cr(xo[1]),bo=Br(go,xo),_o=mo+wo+Cr(bo[1]),Mo=Br(ho,bo),So=vo+_o+Cr(Mo[1]),Co=Ir(n,no),yo=f*eo+C*oo+2*Cr(Co[1]),Oo=Ir(e,ro),No=l*co+S*io+2*Cr(Oo[1]),Eo=Ir(o,fo),Io=a*ao+M*po+2*Cr(Eo[1]),ko=Br(Oo,Eo),Bo=No+Io+Cr(ko[1]),Po=yr(Br(Co,ko)),To=yo+Bo+Cr(Po[1]),Ao=kr(zn,kn),zo=Xn+jn+Cr(Ao[1]),Do=kr(Ao,Tn),Lo=Cr(Do[1]),qo=zo+Yn+Lo,Wo=Ir(fo,Kt),jo=ao*En+po*En+Cr(Wo[1]),Fo=Ir(Dn,Ut),Ho=Ln*Zt+Qn*On+Cr(Fo[1]),Yo=kr(Wo,Fo),Ro=jo+Ho+Cr(Yo[1]),Xo=Ir(Yt,Do),Qo=Rt*Lo+Sn*qo+Cr(Xo[1]),Vo=Br(Xo,Yo);return{coeffs:{vₓₓₓ:Un,vₓₓᵧ:te,vₓᵧᵧ:ce,vᵧᵧᵧ:se,vₓₓ:Ce,vₓᵧ:Ve,vᵧᵧ:Ae,vₓ:Mo,vᵧ:Po,v:Vo},errorBound:{vₓₓₓ_:Zn,vₓₓᵧ_:ne,vₓᵧᵧ_:ie,vᵧᵧᵧ_:ue,vₓₓ_:ye,vₓᵧ_:$e,vᵧᵧ_:ze,vₓ_:So,vᵧ_:To,v_:Qo+Ro+Cr(Vo[1])}}}const Tr=pn,Ar=fr,zr=ie,Dr=le,Lr=hn,{abs:qr}=Math,Wr=hn,jr=ie,Fr=le,{abs:Hr}=Math,Yr=pn,Rr=fr,Xr=ie,Qr=le,Vr=hn,{abs:$r}=Math,Ur=pn,Zr=fr,Gr=ie,Jr=le,Kr=hn,{abs:tc}=Math,nc=hn,ec=ie,oc=le,{abs:rc}=Math,cc=pn,ic=fr,sc=ie,uc=le,fc=hn,{abs:lc}=Math,ac=pn,pc=fr,hc=ie,dc=le,vc=hn,{abs:gc}=Math,mc=dt,xc=Nt,wc=xt,bc=Et;function _c(t){if(4===t.length)return Mc(t);if(3===t.length)return Sc(t);if(2===t.length)return Cc(t);if(1===t.length)return function(t){const[[n,e]]=t;return[[[n]],[[e]]]}(t);throw new Error("The given bezier curve must be of order <= cubic.")}function Mc(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[vt(mc(s,n),wc(3,mc(o,c))),wc(3,bc(xc(c,n),-2*o)),wc(3,mc(o,n)),[n]].map(ne),[vt(mc(u,e),wc(3,mc(r,i))),wc(3,bc(xc(i,e),-2*r)),wc(3,mc(r,e)),[e]].map(ne)]}function Sc(t){const[[n,e],[o,r],[c,i]]=t;return[[bc(xc(c,n),-2*o),mc(2*o,2*n),[n]],[bc(xc(i,e),-2*r),mc(2*r,2*e),[e]]]}function Cc(t){const[[n,e],[o,r]]=t;return[[mc(o,n),[n]],[mc(r,e),[e]]]}const yc=xt,Oc=_t;function Nc(t){const[[n,[e]],[o,[r]]]=t;if(0!==St(n)||0!==St(o))return{vₓ:Oc(o),vᵧ:n,v:ne(Mt(yc(e,o),yc(r,n)))}}const Ec=xt,Ic=wt,kc=vt;function Bc(t,n){const e=Cc(t),[[o,[r]],[c,[i]]]=Cc(n),{vₓ:s,vᵧ:u,v:f}=Nc(e),l=Ic(o,s),a=Ic(c,u),p=kc(l,a),h=Ec(r,s),d=Ec(i,u),v=kc(h,d);return[p,kc(v,f)].map(ne)}function Pc(t){const n=[];for(let e=0;e<t.length;e++)n.push(2*t[e]);return n}const Tc=xt,Ac=Pc,zc=Mt,Dc=wt,Lc=_t;function qc(t){const[[n,e,[o]],[r,c,[i]]]=t;if(0===St(n)&&0===St(r))return Nc([[e,[o]],[c,[i]]]);const s=Dc(n,c),u=Dc(e,r),f=Tc(i,n),l=Tc(o,r),a=Tc(i,e),p=Tc(o,c),h=Dc(n,n),d=Dc(n,r),v=Dc(r,r),g=zc(s,u),m=zc(f,l),x=zc(a,p),w=ne(Lc(v)),b=ne(Ac(d)),_=ne(Lc(h)),M=Dc(c,g),S=Ac(Dc(r,m)),C=ne(zc(M,S)),y=Ac(Dc(n,m)),O=Dc(e,g),N=ne(zc(y,O)),E=Dc(g,x),I=Dc(m,m);return{vₓₓ:w,vₓᵧ:b,vᵧᵧ:_,vₓ:C,vᵧ:N,v:ne(zc(E,I))}}const Wc=me,jc=xt,Fc=wt,Hc=vt,Yc=Pc;function Rc(t,n){const e=Sc(t);if(0===St(e[0][0])&&0===St(e[1][0]))return Bc([t[0],t[2]],n);const[[o,[r]],[c,[i]]]=Cc(n),{vₓₓ:s,vₓᵧ:u,vᵧᵧ:f,vₓ:l,vᵧ:a,v:p}=qc(e),h=Wc(r,r),d=jc(r,o),v=Wc(r,i),g=jc(r,c),m=Fc(o,o),x=jc(i,o),w=Fc(o,c),b=Wc(i,i),_=jc(i,c),M=Fc(c,c),S=Fc(m,s),C=Fc(M,f),y=Fc(w,u),O=Hc(S,C),N=Hc(O,y),E=Fc(d,s),I=Fc(_,f),k=Hc(g,x),B=Fc(k,u),P=Yc(Hc(E,I)),T=Hc(P,B),A=Fc(o,l),z=Fc(c,a),D=Hc(A,z),L=Hc(T,D),q=Fc(h,s),W=Fc(v,u),j=Fc(b,f),F=Hc(q,W),H=Hc(F,j),Y=jc(r,l),R=jc(i,a),X=Hc(Y,R),Q=Hc(H,X);return[N,L,Hc(Q,p)].map(ne)}const Xc=wt,Qc=dt,Vc=mt,$c=Nt;function Uc(t,n=!1){const[e,o,r,c]=t;if(!n){const[t,n]=e,[i,s]=o,[u,f]=r,[l,a]=c;return[e,[bt(Mt(Vc($c(i/4,u/4),3),$c(t/4,l/4))),bt(Mt(Vc($c(s/4,f/4),3),$c(n/4,a/4)))],c]}const i=function(t,n){const[[e,o],[r,c]]=t,[[i,s],[u,f]]=n,l=Qc(r,e),a=Qc(c,o),p=Qc(u,i),h=Qc(f,s),d=Mt(Xc(p,a),Xc(h,l));if(0===St(d))return;const v=Qc(i,e),g=Qc(s,o),m=bt(Mt(Xc(g,l),Xc(v,a)))/bt(d);return[i+m*bt(p),s+m*bt(h)]}([e,o],[c,r]);if(void 0!==i)return[e,i,c]}const Zc=xt,Gc=wt,Jc=vt,Kc=Mt,ti=_t,ni=Pc;function ei(t){const[[n,e,o,[r]],[c,i,s,[u]]]=t;if(0===St(n)&&0===St(c))return qc([[e,o,[r]],[i,s,[u]]]);const f=Gc(n,s),l=Gc(o,c),a=Gc(n,i),p=Gc(e,i),h=Gc(e,c),d=Gc(n,n),v=Gc(i,i),g=Gc(c,c),m=Gc(o,n),x=Gc(e,e),w=Gc(s,c),b=Gc(i,c),_=Gc(e,n),M=Gc(n,c),S=Zc(u,n),C=Zc(r,c),y=Zc(u,e),O=Zc(r,i),N=Gc(e,s),E=Gc(o,i),I=Zc(u,o),k=Zc(r,s),B=Kc(S,C),P=Kc(f,l),T=Kc(a,h),A=Kc(y,O),z=Kc(N,E),D=Kc(I,k),L=Kc(w,v),q=Kc(m,x),W=Jc(h,a),j=Jc(l,f),F=ni(P),H=Gc(B,B),Y=Gc(B,P),R=Gc(B,T),X=Gc(B,z),Q=Gc(P,P),V=Gc(F,A),$=Gc(T,A),U=Gc(T,z),Z=Gc(T,D),G=ne(Gc(ti(c),g)),J=ne(Gc(Zc(3,n),g)),K=ne(Gc(Zc(-3,c),d)),tt=ne(Gc(n,d)),nt=Kc(Zc(-3,B),z),et=Gc(nt,g),ot=Gc(T,L),rt=Jc(et,ot),ct=Gc(F,b),it=ne(Jc(rt,ct)),st=Gc(nt,d),ut=Gc(T,q),ft=Jc(st,ut),lt=Gc(F,_),at=ne(Jc(ft,lt)),pt=Kc(p,function(t){const n=[];for(let e=0;e<t.length;e++)n.push(.5*t[e]);return n}(j)),ht=Gc(nt,M),dt=Gc(P,W),vt=Jc(ht,dt),gt=Gc(T,pt),mt=ne(ni(Kc(gt,vt))),xt=Zc(-3,H),wt=Kc(xt,ni(X)),bt=Jc(V,Z),_t=Jc(wt,bt),Mt=ni(Kc(Y,$)),Ct=Kc(R,Q),yt=Jc(Ct,U),Ot=Gc(c,_t),Nt=Gc(i,Mt),Et=Gc(s,yt),It=Jc(Nt,Et),kt=ne(Jc(Ot,It)),Bt=Gc(n,_t),Pt=Gc(e,Mt),Tt=Gc(o,yt),At=Jc(Pt,Tt),zt=ne(ti(Jc(Bt,At))),Dt=Kc(V,H),Lt=Kc(Dt,X),qt=Gc(yt,D),Wt=Gc($,A),jt=Kc(qt,Wt),Ft=Gc(B,Lt);return{vₓₓₓ:G,vₓₓᵧ:J,vₓᵧᵧ:K,vᵧᵧᵧ:tt,vₓₓ:it,vₓᵧ:mt,vᵧᵧ:at,vₓ:kt,vᵧ:zt,v:ne(Jc(Ft,jt))}}const oi=me,ri=xt,ci=wt,ii=vt,si=Pc;function ui(t,n){const e=Mc(t);if(0===St(e[0][0])&&0===St(e[1][0]))return Rc(Uc(t),n);const[[o,[r]],[c,[i]]]=Cc(n),{vₓₓₓ:s,vₓₓᵧ:u,vₓᵧᵧ:f,vᵧᵧᵧ:l,vₓₓ:a,vₓᵧ:p,vᵧᵧ:h,vₓ:d,vᵧ:v,v:g}=ei(e),m=oi(r,r),x=ri(r,o),w=oi(r,i),b=ri(r,c),_=ci(o,o),M=ri(i,o),S=ci(o,c),C=oi(i,i),y=ri(i,c),O=ci(c,c),N=ri(r,s),E=ci(oi(3,r),s),I=ri(r,u),k=ri(i,u),B=ri(r,f),P=ri(i,f),T=ri(i,l),A=ci(oi(3,i),l),z=ci(o,s),D=ci(o,f),L=ci(c,u),q=ci(c,l),W=ii(z,L),j=ii(D,q),F=ci(_,W),H=ci(O,j),Y=ii(F,H),R=ii(E,k),X=si(ii(I,P)),Q=ii(B,A),V=ii(R,a),$=ii(X,p),U=ii(Q,h),Z=ci(_,V),G=ci(S,$),J=ci(O,U),K=ii(Z,G),tt=ii(K,J),nt=si(ii(k,a)),et=si(ii(B,h)),ot=ii(E,nt),rt=ii(A,et),ct=ii(I,p),it=ii(P,p),st=ci(x,ot),ut=ci(y,rt),ft=ci(b,ct),lt=ci(M,it),at=ci(o,d),pt=ci(c,v),ht=ii(st,ut),dt=ii(ft,lt),vt=ii(ht,dt),gt=ii(at,pt),mt=ii(vt,gt),xt=ii(N,k),wt=ii(T,B),bt=ii(xt,a),_t=ii(wt,h),Mt=ci(m,bt),Ct=ci(C,_t),yt=ci(w,p),Ot=ii(Mt,Ct),Nt=ii(Ot,yt),Et=ri(r,d),It=ri(i,v),kt=ii(Et,It),Bt=ii(Nt,kt);return[Y,tt,mt,ii(Bt,g)].map(ne)}const fi=xt,li=wt,ai=vt;function pi(t,n){const e=Cc(t),[[o,r,[c]],[i,s,[u]]]=Sc(n);if(0===St(o)&&0===St(i))return Bc(t,[n[0],n[2]]);const{vₓ:f,vᵧ:l,v:a}=Nc(e),p=li(o,f),h=li(i,l),d=ai(p,h),v=li(r,f),g=li(s,l),m=ai(v,g),x=fi(c,f),w=fi(u,l),b=ai(x,w);return[d,m,ai(b,a)].map(ne)}const hi=me,di=xt,vi=wt,gi=vt,mi=Pc;function xi(t,n){const e=Sc(t);if(0===St(e[0][0])&&0===St(e[1][0]))return pi([t[0],t[2]],n);const[[o,r,[c]],[i,s,[u]]]=Sc(n);if(0===St(o)&&0===St(i))return Rc(t,[n[0],n[2]]);const{vₓₓ:f,vₓᵧ:l,vᵧᵧ:a,vₓ:p,vᵧ:h,v:d}=qc(e),v=hi(c,c),g=di(c,r),m=di(c,o),x=hi(c,u),w=di(c,s),b=di(c,i),_=vi(r,r),M=vi(r,o),S=di(u,r),C=vi(r,s),y=vi(r,i),O=vi(o,s),N=vi(o,o),E=di(u,o),I=vi(o,i),k=hi(u,u),B=di(u,s),P=di(u,i),T=vi(s,s),A=vi(s,i),z=vi(i,i),D=vi(N,f),L=vi(I,l),q=vi(z,a),W=gi(D,L),j=gi(W,q),F=vi(M,f),H=vi(A,a),Y=gi(y,O),R=vi(Y,l),X=mi(gi(F,H)),Q=gi(X,R),V=gi(mi(m),_),$=gi(mi(P),T),U=gi(b,C),Z=gi(U,E),G=vi(V,f),J=vi($,a),K=vi(Z,l),tt=vi(o,p),nt=vi(i,h),et=gi(G,J),ot=gi(et,K),rt=gi(tt,nt),ct=gi(ot,rt),it=vi(g,f),st=vi(B,a),ut=gi(w,S),ft=vi(ut,l),lt=mi(gi(it,st)),at=vi(r,p),pt=vi(s,h),ht=gi(lt,ft),dt=gi(at,pt),vt=gi(ht,dt),gt=vi(v,f),mt=vi(x,l),xt=vi(k,a),wt=di(c,p),bt=di(u,h),_t=gi(gt,mt),Mt=gi(_t,xt),Ct=gi(wt,bt),yt=gi(Mt,Ct);return[j,Q,ct,vt,gi(yt,d)].map(ne)}const wi=me,bi=xt,_i=wt,Mi=vt,Si=Pc;function Ci(t,n){const e=Mc(t);if(0===St(e[0][0])&&0===St(e[1][0]))return xi(Uc(t),n);const[[o,r,[c]],[i,s,[u]]]=Sc(n);if(0===St(o)&&0===St(i))return ui(t,[n[0],n[2]]);const{vₓₓₓ:f,vₓₓᵧ:l,vₓᵧᵧ:a,vᵧᵧᵧ:p,vₓₓ:h,vₓᵧ:d,vᵧᵧ:v,vₓ:g,vᵧ:m,v:x}=ei(e),w=wi(c,c),b=bi(c,r),_=bi(c,o),M=wi(c,u),S=bi(c,s),C=bi(c,i),y=_i(r,r),O=_i(r,o),N=bi(u,r),E=_i(r,s),I=_i(r,i),k=_i(o,s),B=_i(o,o),P=bi(u,o),T=_i(o,i),A=wi(u,u),z=bi(u,s),D=bi(u,i),L=_i(s,s),q=_i(s,i),W=_i(i,i),j=_i(o,f),F=_i(o,a),H=_i(i,l),Y=_i(i,p),R=Mi(j,H),X=Mi(F,Y),Q=_i(B,R),V=_i(W,X),$=Mi(Q,V),U=Mi(_,y),Z=Mi(D,L),G=Mi(Si(_),y),J=Mi(Si(D),L),K=Mi(Si(E),P),tt=Mi(Si(E),C),nt=Mi(Si(P),E),et=Mi(bi(6,_),y),ot=Mi(bi(6,D),L),rt=Mi(I,k),ct=Mi(C,P),it=Mi(Si(N),S),st=Mi(Si(S),N),ut=Mi(C,E),ft=Mi(ut,P),lt=bi(3,B),at=bi(3,W),pt=_i(lt,f),ht=_i(B,l),dt=Si(_i(T,l)),vt=Si(_i(T,a)),gt=_i(W,a),mt=_i(at,p),xt=Mi(pt,dt),wt=Mi(ht,vt),bt=Mi(xt,gt),_t=Mi(wt,mt),Mt=_i(r,bt),Ct=_i(s,_t),yt=Mi(Mt,Ct),Ot=_i(i,G),Nt=_i(i,tt),Et=_i(o,K),It=_i(o,J),kt=_i(bi(3,o),U),Bt=_i(bi(3,i),Z),Pt=Mi(Ot,Et),Tt=Mi(Nt,It),At=_i(kt,f),zt=_i(Bt,p),Dt=_i(Pt,l),Lt=_i(Tt,a),qt=Mi(At,zt),Wt=Mi(Dt,Lt),jt=_i(B,h),Ft=_i(W,v),Ht=_i(T,d),Yt=Mi(jt,Ft),Rt=Mi(qt,Wt),Xt=Mi(Yt,Ht),Qt=Mi(Rt,Xt),Vt=_i(r,et),$t=_i(s,ot),Ut=bi(2*c,rt),Zt=_i(Si(s),ct),Gt=_i(r,nt),Jt=_i(r,J),Kt=Mi(Ut,Gt),tn=Mi(Zt,Jt),nn=_i(q,v),en=_i(O,h),on=_i(rt,d),rn=Mi(nn,en),cn=_i(Vt,f),sn=_i(Kt,l),un=_i($t,p),fn=_i(tn,a),ln=Mi(cn,un),an=Mi(sn,fn),pn=Mi(ln,an),hn=Mi(Si(rn),on),dn=Mi(pn,hn),vn=_i(wi(3,c),U),gn=_i(wi(3,u),Z),mn=bi(c,tt),xn=bi(c,J),wn=bi(u,G),bn=bi(u,K),_n=Mi(mn,wn),Mn=Mi(xn,bn),Sn=_i(vn,f),Cn=_i(gn,p),yn=_i(_n,l),On=_i(Mn,a),Nn=_i(G,h),En=_i(J,v),In=_i(ft,d),kn=_i(o,g),Bn=_i(i,m),Pn=Mi(Sn,Cn),Tn=Mi(yn,On),An=Mi(Nn,En),zn=Mi(Pn,Tn),Dn=Mi(An,In),Ln=Mi(kn,Bn),qn=Mi(zn,Dn),Wn=Mi(qn,Ln),jn=_i(wi(3,c),b),Fn=_i(wi(3,u),z),Hn=bi(c,it),Yn=bi(u,st),Rn=_i(b,h),Xn=_i(z,v),Qn=_i(S,d),Vn=_i(N,d),$n=Si(Mi(Rn,Xn)),Un=Mi(Qn,Vn),Zn=_i(r,g),Gn=_i(s,m),Jn=_i(jn,f),Kn=_i(Fn,p),te=_i(Hn,l),ee=_i(Yn,a),oe=Mi(Jn,Kn),re=Mi(te,ee),ce=Mi(oe,re),ie=Mi($n,Un),se=Mi(Zn,Gn),ue=Mi(ce,ie),fe=Mi(ue,se),le=bi(c,f),ae=bi(c,a),pe=bi(u,l),he=bi(u,p),de=Mi(le,pe),ve=Mi(ae,he),ge=Mi(de,h),me=Mi(ve,v),xe=_i(w,ge),we=_i(A,me),be=_i(M,d),_e=bi(c,g),Me=bi(u,m),Se=Mi(xe,we),Ce=Mi(Se,be),ye=Mi(_e,Me),Oe=Mi(Ce,ye);return[$,yt,Qt,dn,Wn,fe,Mi(Oe,x)].map(ne)}const yi=xt,Oi=wt,Ni=vt;function Ei(t,n){const e=Cc(t),[[o,r,c,[i]],[s,u,f,[l]]]=Mc(n);if(0===St(o)&&0===St(s))return pi(t,Uc(n));const{vₓ:a,vᵧ:p,v:h}=Nc(e),d=Oi(o,a),v=Oi(s,p),g=Ni(d,v),m=Oi(r,a),x=Oi(u,p),w=Ni(m,x),b=Oi(c,a),_=Oi(f,p),M=Ni(b,_),S=yi(i,a),C=yi(l,p),y=Ni(S,C);return[g,w,M,Ni(y,h)].map(ne)}const Ii=me,ki=xt,Bi=wt,Pi=vt,Ti=Pc;function Ai(t,n){const e=Sc(t);if(0===St(e[0][0])&&0===St(e[1][0]))return Ei([t[0],t[2]],n);const[[o,r,c,[i]],[s,u,f,[l]]]=Mc(n);if(0===St(o)&&0===St(s))return xi(t,Uc(n));const{vₓₓ:a,vₓᵧ:p,vᵧᵧ:h,vₓ:d,vᵧ:v,v:g}=qc(e),m=Ii(i,i),x=ki(i,c),w=ki(i,r),b=ki(i,o),_=Ii(i,l),M=ki(i,f),S=ki(i,u),C=ki(i,s),y=Bi(c,c),O=Bi(c,r),N=Bi(c,o),E=ki(l,c),I=Bi(c,f),k=Bi(c,u),B=Bi(c,s),P=Bi(r,f),T=Bi(r,r),A=Bi(r,o),z=ki(l,r),D=Bi(r,u),L=Bi(r,s),q=Bi(o,o),W=ki(l,o),j=Bi(o,f),F=Bi(o,u),H=Bi(o,s),Y=Ii(l,l),R=ki(l,f),X=ki(l,u),Q=ki(l,s),V=Bi(f,f),$=Bi(f,u),U=Bi(s,s),Z=Bi(u,u),G=Bi(u,s),J=Bi(f,s),K=Bi(q,a),tt=Bi(H,p),nt=Bi(U,h),et=Pi(K,tt),ot=Pi(et,nt),rt=Bi(A,a),ct=Bi(G,h),it=Pi(rt,ct),st=Pi(L,F),ut=Bi(st,p),ft=Pi(Ti(it),ut),lt=Pi(Ti(N),T),at=Pi(Ti(J),Z),pt=Pi(B,D),ht=Pi(pt,j),dt=Bi(lt,a),vt=Bi(at,h),gt=Pi(dt,vt),mt=Bi(ht,p),xt=Pi(gt,mt),wt=Pi(b,O),bt=Pi(Q,$),_t=Pi(C,k),Mt=Pi(P,W),Ct=Pi(_t,Mt),yt=Bi(wt,a),Ot=Bi(bt,h),Nt=Ti(Pi(yt,Ot)),Et=Bi(Ct,p),It=Bi(o,d),kt=Bi(s,v),Bt=Pi(It,kt),Pt=Pi(Nt,Et),Tt=Pi(Pt,Bt),At=Pi(Ti(w),y),zt=Pi(Ti(X),V),Dt=Pi(S,I),Lt=Pi(Dt,z),qt=Bi(At,a),Wt=Bi(zt,h),jt=Bi(Lt,p),Ft=Pi(qt,Wt),Ht=Pi(Ft,jt),Yt=Bi(r,d),Rt=Bi(u,v),Xt=Pi(Yt,Rt),Qt=Pi(Ht,Xt),Vt=Bi(x,a),$t=Bi(R,h),Ut=Pi(M,E),Zt=Bi(Ut,p),Gt=Ti(Pi(Vt,$t)),Jt=Pi(Gt,Zt),Kt=Bi(c,d),tn=Bi(f,v),nn=Pi(Kt,tn),en=Pi(Jt,nn),on=Bi(m,a),rn=Bi(_,p),cn=Bi(Y,h),sn=ki(i,d),un=ki(l,v),fn=Pi(on,rn),ln=Pi(fn,cn),an=Pi(sn,un),pn=Pi(ln,an);return[ot,ft,xt,Tt,Qt,en,Pi(pn,g)].map(ne)}const zi=me,Di=xt,Li=wt,qi=vt,Wi=Pc,ji=[[function(t,n){const{coeffs:{vₓ:e,vᵧ:o,v:r},errorBound:{v_:c}}=rr(t),[[i,[,s]],[u,[,f]]]=Ko(n),l=i[1],a=u[1],p=e[1],h=o[1],d=r[1],v=l*p,g=2*cr(v),m=ur(i,e),x=a*h,w=2*cr(x),b=ur(u,o),_=v+x,M=ir(m,b),S=g+w+cr(_),C=s*p,y=sr(s,e),O=cr(C),N=f*h,E=sr(f,o),I=cr(N),k=C+N,B=ir(y,E),P=O+I+cr(k);return{coeffs:[M,ir(B,r)],errBound:[S,P+c+cr(k+d)]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:o,v:r},errorBound:{v_:c}}=rr(t),{coeffs:[[i,s,[,u]],[f,l,[,a]]],errorBound:[[p],[h]]}=Jo(n),d=e[1],v=o[1],g=r[1],m=Hr(d),x=Hr(v),w=s[1],b=i[1],_=l[1],M=f[1],S=b*d,C=Fr(i,e),y=p*m+2*Hr(S),O=M*v,N=Fr(f,o),E=h*x+2*Hr(O),I=S+O,k=Wr(C,N),B=y+E+Hr(I),P=w*d,T=Fr(s,e),A=2*Hr(P),z=_*v,D=Fr(l,o),L=2*Hr(z),q=P+z,W=Wr(T,D),j=A+L+Hr(q),F=jr(u,e),H=u*d,Y=Hr(H),R=jr(a,o),X=a*v,Q=Hr(X),V=H+X,$=Wr(F,R),U=Y+Q+Hr(V),Z=V+g;return{coeffs:[k,W,Wr($,r)],errBound:[B,j,U+c+Hr(Z)]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:o,v:r},errorBound:{v_:c}}=rr(t),{coeffs:[[i,s,u,[,f]],[l,a,p,[,h]]],errorBound:[[d,v,g],[m,x,w]]}=Go(n),b=rc(e[1]),_=rc(o[1]),M=oc(i,e),S=d*b+2*rc(M[1]),C=oc(l,o),y=m*_+2*rc(C[1]),O=nc(M,C),N=S+y+rc(O[1]),E=oc(s,e),I=v*b+2*rc(E[1]),k=oc(a,o),B=x*_+2*rc(k[1]),P=nc(E,k),T=I+B+rc(P[1]),A=oc(u,e),z=g*b+2*rc(A[1]),D=oc(p,o),L=w*_+2*rc(D[1]),q=nc(A,D),W=z+L+rc(q[1]),j=ec(f,e),F=rc(j[1]),H=ec(h,o),Y=rc(H[1]),R=nc(j,H),X=F+Y+rc(R[1]),Q=nc(R,r);return{coeffs:[O,P,q,Q],errBound:[N,T,W,X+c+rc(Q[1])]}}],[function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:o,vᵧᵧ:r,vₓ:c,vᵧ:i,v:s},errorBound:{vₓₓ_:u,vₓᵧ_:f,vᵧᵧ_:l,vₓ_:a,vᵧ_:p,v_:h}}=gr(t),[[d,[,v]],[g,[,m]]]=Ko(n),x=e[1],w=o[1],b=r[1],_=c[1],M=i[1],S=s[1],C=Mr(x),y=Mr(w),O=Mr(b),N=d[1],E=g[1],I=Mr(v),k=Mr(N),B=Mr(m),P=Mr(E),T=v*v,A=v*N,z=v*m,D=v*E,L=N*N,q=N*m,W=N*E,j=m*m,F=m*E,H=E*E,Y=mr(v,v),R=wr(v,d),X=Mr(A),Q=mr(v,m),V=wr(v,g),$=Mr(D),U=Mr(L),Z=br(d,d),G=2*U,J=wr(m,d),K=Mr(q),tt=Mr(W),nt=br(d,g),et=2*tt,ot=mr(m,m),rt=wr(m,g),ct=Mr(F),it=Mr(H),st=br(g,g),ut=2*it,ft=L*x,lt=br(Z,e),at=G*C*U*u+2*Mr(ft),pt=H*b,ht=br(st,r),dt=ut*O*it*l+2*Mr(pt),vt=W*w,gt=br(nt,o),mt=et*y*tt*f+2*Mr(vt),xt=ft+pt,wt=_r(lt,ht),bt=at+dt+Mr(xt),_t=xt+vt,Mt=_r(wt,gt),St=bt+mt+Mr(_t),Ct=A*x,yt=br(R,e),Ot=X*(C+u)+2*Mr(Ct),Nt=F*b,Et=br(rt,r),It=ct*(O+l)+2*Mr(Nt),kt=D+q,Bt=_r(V,J),Pt=$+K+Mr(kt),Tt=kt*w,At=br(Bt,o),zt=Pt*y+Mr(kt)*f+2*Mr(Tt),Dt=2*(Ct+Nt),Lt=xr(_r(yt,Et)),qt=2*(Ot+It)+Mr(Dt),Wt=Dt+Tt,jt=_r(Lt,At),Ft=qt+zt+Mr(Wt),Ht=N*_,Yt=br(d,c),Rt=k*a+2*Mr(Ht),Xt=E*M,Qt=br(g,i),Vt=P*p+2*Mr(Xt),$t=Ht+Xt,Ut=_r(Yt,Qt),Zt=Rt+Vt+Mr($t),Gt=Wt+$t,Jt=_r(jt,Ut),Kt=Ft+Zt+Mr(Gt),tn=T*x,nn=br(Y,e),en=2*Mr(tn),on=z*w,rn=br(Q,o),cn=2*Mr(on),sn=j*b,un=br(ot,r),fn=2*Mr(sn),ln=tn+on,an=_r(nn,rn),pn=en+cn+Mr(ln),hn=ln+sn,dn=_r(an,un),vn=pn+fn+Mr(hn),gn=v*_,mn=wr(v,c),xn=I*a+Mr(gn),wn=m*M,bn=wr(m,i),_n=B*p+Mr(wn),Mn=gn+wn,Sn=_r(mn,bn),Cn=xn+_n+Mr(Mn),yn=hn+Mn,On=_r(dn,Sn),Nn=vn+Cn+Mr(yn),En=yn+S;return{coeffs:[Mt,Jt,_r(On,s)],errBound:[St,Kt,Nn+h+Mr(En)]}},function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:o,vᵧᵧ:r,vₓ:c,vᵧ:i,v:s},errorBound:{vₓₓ_:u,vₓᵧ_:f,vᵧᵧ_:l,vₓ_:a,vᵧ_:p,v_:h}}=gr(t),{coeffs:[[d,v,[,g]],[m,x,[,w]]],errorBound:[[b],[_]]}=Jo(n),M=e[1],S=o[1],C=r[1],y=c[1],O=i[1],N=s[1],E=$r(M),I=$r(S),k=$r(C),B=$r(y),P=$r(O),T=v[1],A=d[1],z=x[1],D=m[1],L=$r(g),q=$r(T),W=$r(A),j=$r(w),F=$r(z),H=$r(D),Y=g*g,R=g*T,X=g*A,Q=g*w,V=g*z,$=g*D,U=T*T,Z=T*A,G=T*w,J=T*z,K=T*D,tt=A*z,nt=A*A,et=A*w,ot=A*D,rt=w*w,ct=w*z,it=w*D,st=z*z,ut=z*D,ft=D*D,lt=$r(Y),at=$r(Q),pt=$r(rt),ht=Yr(g,g),dt=Xr(g,v),vt=$r(R),gt=Xr(g,d),mt=$r(X),xt=Yr(g,w),wt=Xr(g,x),bt=$r(V),_t=Xr(g,m),Mt=$r($),St=Qr(v,v),Ct=2*$r(U),yt=Qr(v,d),Ot=$r(Z),Nt=q*b+2*Ot,Et=Xr(w,v),It=$r(G),kt=Qr(v,x),Bt=2*$r(J),Pt=Qr(v,m),Tt=q*_+2*$r(K),At=Qr(d,x),zt=b*F+2*$r(tt),Dt=Qr(d,d),Lt=$r(nt),qt=2*(b*W+Lt),Wt=Xr(w,d),jt=$r(et),Ft=Qr(d,m),Ht=$r(ot),Yt=b*H+W*_+2*Ht,Rt=Yr(w,w),Xt=Xr(w,x),Qt=$r(ct),Vt=Xr(w,m),$t=$r(it),Ut=Qr(x,x),Zt=2*$r(st),Gt=Qr(x,m),Jt=$r(ut),Kt=F*_+2*Jt,tn=Qr(m,m),nn=$r(ft),en=2*(_*H+nn),on=nt*M,rn=Qr(Dt,e),cn=qt*E+Lt*u+2*$r(on),sn=ot*S,un=Qr(Ft,o),fn=Yt*I+Ht*f+2*$r(sn),ln=ft*C,an=Qr(tn,r),pn=en*k+nn*l+2*$r(ln),hn=on+sn,dn=Vr(rn,un),vn=cn+fn+$r(hn),gn=hn+ln,mn=Vr(dn,an),xn=vn+pn+$r(gn),wn=Z*M,bn=Qr(yt,e),_n=Nt*E+Ot*u+2*$r(wn),Mn=ut*C,Sn=Qr(Gt,r),Cn=Kt*k+Jt*l+2*$r(Mn),yn=K+tt,On=Vr(Pt,At),Nn=$r(yn),En=Tt+zt+Nn,In=yn*S,kn=Qr(On,o),Bn=En*I+Nn*f+2*$r(In),Pn=2*(wn+Mn),Tn=Rr(Vr(bn,Sn)),An=2*(_n+Cn)+$r(Pn),zn=Pn+In,Dn=Vr(Tn,kn),Ln=An+Bn+$r(zn),qn=2*X+U,Wn=$r(qn),jn=Vr(Rr(gt),St),Fn=2*mt+Ct+$r(qn),Hn=2*it+st,Yn=$r(Hn),Rn=Vr(Rr(Vt),Ut),Xn=2*$t+Zt+$r(Hn),Qn=$+J,Vn=($r(Qn),Vr(_t,kt)),$n=Mt+Bt+$r(Qn),Un=Qn+et,Zn=Vr(Vn,Wt),Gn=$r(Un),Jn=$n+jt+Gn,Kn=qn*M,te=Qr(jn,e),ne=Fn*E+Wn*u+2*$r(Kn),ee=Hn*C,oe=Qr(Rn,r),re=Xn*k+Yn*l+2*$r(ee),ce=Un*S,ie=Qr(Zn,o),se=Jn*I+Gn*f+2*$r(ce),ue=A*y,fe=Qr(d,c),le=b*B+W*a+$r(ue),ae=D*O,pe=Qr(m,i),he=_*P+H*p+$r(ae),de=Kn+ee,ve=Vr(te,oe),ge=ne+re+$r(de),me=de+ce,xe=Vr(ve,ie),we=ge+se+$r(me),be=ue+ae,_e=Vr(fe,pe),Me=le+he+$r(be),Se=me+be,Ce=Vr(xe,_e),ye=we+Me+$r(Se),Oe=R*M,Ne=Qr(dt,e),Ee=vt*(E+u)+2*$r(Oe),Ie=ct*C,ke=Qr(Xt,r),Be=Qt*(k+l)+2*$r(Ie),Pe=V+G,Te=Vr(wt,Et),Ae=$r(Pe),ze=bt+It+Ae,De=Pe*S,Le=Qr(Te,o),qe=ze*I+Ae*f+2*$r(De),We=2*(Oe+Ie),je=Rr(Vr(Ne,ke)),Fe=2*(Ee+Be)+$r(We),He=T*y,Ye=Qr(v,c),Re=q*a+2*$r(He),Xe=z*O,Qe=Qr(x,i),Ve=F*p+2*$r(Xe),$e=We+De,Ue=Vr(je,Le),Ze=Fe+qe+$r($e),Ge=He+Xe,Je=Vr(Ye,Qe),Ke=Re+Ve+$r(Ge),to=$e+Ge,no=Vr(Ue,Je),eo=Ze+Ke+$r(to),oo=Y*M,ro=Qr(ht,e),co=lt*u+2*$r(oo),io=Q*S,so=Qr(xt,o),uo=at*f+2*$r(io),fo=rt*C,lo=Qr(Rt,r),ao=pt*l+2*$r(fo),po=g*y,ho=Xr(g,c),vo=L*a+$r(po),go=w*O,mo=Xr(w,i),xo=j*p+$r(go),wo=oo+io,bo=Vr(ro,so),_o=co+uo+$r(wo),Mo=wo+fo,So=Vr(bo,lo),Co=_o+ao+$r(Mo),yo=po+go,Oo=Vr(ho,mo),No=vo+xo+$r(yo),Eo=Mo+yo,Io=Vr(So,Oo),ko=Co+No+$r(Eo),Bo=Eo+N;return{coeffs:[mn,Dn,Ce,no,Vr(Io,s)],errBound:[xn,Ln,ye,eo,ko+h+$r(Bo)]}},function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:o,vᵧᵧ:r,vₓ:c,vᵧ:i,v:s},errorBound:{vₓₓ_:u,vₓᵧ_:f,vᵧᵧ_:l,vₓ_:a,vᵧ_:p,v_:h}}=gr(t),{coeffs:[[d,v,g,[,m]],[x,w,b,[,_]]],errorBound:[[M,S,C],[y,O,N]]}=Go(n),E=e[1],I=o[1],k=r[1],B=c[1],P=i[1],T=s[1],A=lc(E),z=lc(I),D=lc(k),L=lc(B),q=lc(P),W=g[1],j=v[1],F=d[1],H=b[1],Y=w[1],R=x[1],X=lc(m),Q=lc(W),V=lc(j),$=lc(F),U=lc(_),Z=lc(H),G=lc(Y),J=lc(R),K=m*m,tt=m*W,nt=m*j,et=m*F,ot=m*_,rt=m*H,ct=m*Y,it=m*R,st=W*W,ut=W*j,ft=W*F,lt=W*_,at=W*H,pt=W*Y,ht=W*R,dt=j*H,vt=j*j,gt=j*F,mt=j*_,xt=j*Y,wt=j*R,bt=F*F,_t=F*_,Mt=F*H,St=F*Y,Ct=F*R,yt=_*_,Ot=_*H,Nt=_*Y,Et=_*R,It=H*H,kt=H*Y,Bt=R*R,Pt=Y*Y,Tt=Y*R,At=H*R,zt=cc(m,m),Dt=lc(K),Lt=sc(m,g),qt=lc(tt),Wt=X*C+qt,jt=sc(m,v),Ft=X*S+lc(nt),Ht=sc(m,d),Yt=X*M+lc(et),Rt=cc(m,_),Xt=lc(ot),Qt=sc(m,b),Vt=X*N+lc(rt),$t=sc(m,w),Ut=X*O+lc(ct),Zt=sc(m,x),Gt=X*y+lc(it),Jt=uc(g,g),Kt=C*Q+Q*C+2*lc(st),tn=uc(g,v),nn=C*V+Q*S+2*lc(ut),en=uc(g,d),on=C*$+Q*M+2*lc(ft),rn=sc(_,g),cn=U*C+lc(lt),sn=uc(g,b),un=C*Z+Q*N+2*lc(at),fn=uc(g,w),ln=C*G+Q*O+2*lc(pt),an=uc(g,x),pn=C*J+Q*y+2*lc(ht),hn=uc(v,b),dn=S*Z+V*N+2*lc(dt),vn=uc(v,v),gn=S*V+V*S+2*lc(vt),mn=uc(v,d),xn=lc(gt),wn=S*$+V*M+2*xn,bn=sc(_,v),_n=U*S+lc(mt),Mn=uc(v,w),Sn=S*G+V*O+2*lc(xt),Cn=uc(v,x),yn=S*J+V*y+2*lc(wt),On=uc(d,d),Nn=lc(bt),En=M*$+$*M+2*Nn,In=sc(_,d),kn=U*M+lc(_t),Bn=uc(d,b),Pn=M*Z+$*N+2*lc(Mt),Tn=uc(d,w),An=M*G+$*O+2*lc(St),zn=uc(d,x),Dn=lc(Ct),Ln=M*J+$*y+2*Dn,qn=cc(_,_),Wn=lc(yt),jn=sc(_,b),Fn=lc(Ot),Hn=U*N+Fn,Yn=sc(_,w),Rn=U*O+lc(Nt),Xn=sc(_,x),Qn=U*y+lc(Et),Vn=uc(b,b),$n=N*Z+Z*N+2*lc(It),Un=uc(b,w),Zn=N*G+Z*O+2*lc(kt),Gn=uc(x,x),Jn=lc(Bt),Kn=y*J+J*y+2*Jn,te=uc(w,w),ne=O*G+G*O+2*lc(Pt),ee=uc(w,x),oe=lc(Tt),re=O*J+G*y+2*oe,ce=uc(b,x),ie=N*J+Z*y+2*lc(At),se=bt*E,ue=uc(On,e),fe=En*A+Nn*u+2*lc(se),le=Ct*I,ae=uc(zn,o),pe=Ln*z+Dn*f+2*lc(le),he=Bt*k,de=uc(Gn,r),ve=Kn*D+Jn*l+2*lc(he),ge=se+le,me=fc(ue,ae),xe=fe+pe+lc(ge),we=ge+he,be=fc(me,de),_e=xe+ve+lc(we),Me=gt*E,Se=uc(mn,e),Ce=wn*A+xn*u+2*lc(Me),ye=Tt*k,Oe=uc(ee,r),Ne=re*D+oe*l+2*lc(ye),Ee=Me+ye,Ie=fc(Se,Oe),ke=Ce+Ne+lc(Ee),Be=wt+St,Pe=fc(Cn,Tn),Te=lc(Be),Ae=yn+An+Te,ze=Be*I,De=uc(Pe,o),Le=Ae*z+Te*f+2*lc(ze),qe=2*Ee+ze,We=fc(ic(Ie),De),je=2*ke+Le+lc(qe),Fe=2*ft+vt,He=fc(ic(en),vn),Ye=lc(Fe),Re=2*on+gn+lc(Fe),Xe=2*At+Pt,Qe=fc(ic(ce),te),Ve=lc(Xe),$e=2*ie+ne+lc(Xe),Ue=ht+xt,Ze=fc(an,Mn),Ge=pn+Sn+lc(Ue),Je=Ue+Mt,Ke=fc(Ze,Bn),to=lc(Je),no=Ge+Pn+to,eo=Fe*E,oo=uc(He,e),ro=Re*A+Ye*u+2*lc(eo),co=Xe*k,io=uc(Qe,r),so=$e*D+Ve*l+2*lc(co),uo=eo+co,fo=fc(oo,io),lo=ro+so+lc(uo),ao=Je*I,po=uc(Ke,o),ho=no*z+to*f+2*lc(ao),vo=uo+ao,go=fc(fo,po),mo=lo+ho+lc(vo),xo=et+ut,wo=fc(Ht,tn),bo=lc(xo),_o=Yt+nn+bo,Mo=Et+kt,So=fc(Xn,Un),Co=lc(Mo),yo=Qn+Zn+Co,Oo=it+pt,No=fc(Zt,fn),Eo=Gt+ln+lc(Oo),Io=dt+_t,ko=fc(hn,In),Bo=dn+kn+lc(Io),Po=Oo+Io,To=fc(No,ko),Ao=lc(Po),zo=Eo+Bo+Ao,Do=xo*E,Lo=uc(wo,e),qo=_o*A+bo*u+2*lc(Do),Wo=Mo*k,jo=uc(So,r),Fo=yo*D+Co*l+2*lc(Wo),Ho=2*(Do+Wo),Yo=ic(fc(Lo,jo)),Ro=2*(qo+Fo)+lc(Ho),Xo=Po*I,Qo=uc(To,o),Vo=zo*z+Ao*f+2*lc(Xo),$o=F*B,Uo=uc(d,c),Zo=M*L+$*a+2*lc($o),Jo=R*P,Ko=uc(x,i),tr=y*q+J*p+2*lc(Jo),nr=$o+Jo,er=fc(Uo,Ko),or=Zo+tr+lc(nr),rr=Ho+Xo,cr=fc(Yo,Qo),ir=Ro+Vo+lc(rr),sr=rr+nr,ur=fc(cr,er),fr=ir+or+lc(sr),lr=2*nt+st,ar=fc(ic(jt),Jt),pr=lc(lr),hr=2*Ft+Kt+pr,dr=2*Nt+It,vr=fc(ic(Yn),Vn),mr=lc(dr),xr=2*Rn+$n+mr,wr=ct+at,br=fc($t,sn),_r=Ut+un+lc(wr),Mr=wr+mt,Sr=fc(br,bn),Cr=lc(Mr),yr=_r+_n+Cr,Or=lr*E,Nr=uc(ar,e),Er=hr*A+pr*u+2*lc(Or),Ir=dr*k,kr=uc(vr,r),Br=xr*D+mr*l+2*lc(Ir),Pr=Mr*I,Tr=uc(Sr,o),Ar=yr*z+Cr*f+2*lc(Pr),zr=Or+Ir,Dr=fc(Nr,kr),Lr=Er+Br+lc(zr),qr=zr+Pr,Wr=fc(Dr,Tr),jr=Lr+Ar+lc(qr),Fr=j*B,Hr=uc(v,c),Yr=S*L+V*a+2*lc(Fr),Rr=Y*P,Xr=uc(w,i),Qr=O*q+G*p+2*lc(Rr),Vr=Fr+Rr,$r=fc(Hr,Xr),Ur=Yr+Qr+lc(Vr),Zr=qr+Vr,Gr=fc(Wr,$r),Jr=jr+Ur+lc(Zr),Kr=tt*E,tc=uc(Lt,e),nc=Wt*A+qt*u+2*lc(Kr),ec=Ot*k,oc=uc(jn,r),rc=Hn*D+Fn*l+2*lc(ec),ac=rt+lt,pc=fc(Qt,rn),hc=lc(ac),dc=Vt+cn+hc,vc=ac*I,gc=uc(pc,o),mc=dc*z+hc*f+2*lc(vc),xc=2*(Kr+ec),wc=ic(fc(tc,oc)),bc=2*(nc+rc)+lc(xc),_c=xc+vc,Mc=fc(wc,gc),Sc=bc+mc+lc(_c),Cc=W*B,yc=uc(g,c),Oc=C*L+Q*a+2*lc(Cc),Nc=H*P,Ec=uc(b,i),Ic=N*q+Z*p+2*lc(Nc),kc=Cc+Nc,Bc=fc(yc,Ec),Pc=Oc+Ic+lc(kc),Tc=_c+kc,Ac=fc(Mc,Bc),zc=Sc+Pc+lc(Tc),Dc=K*E,Lc=uc(zt,e),qc=Dt*u+2*lc(Dc),Wc=ot*I,jc=uc(Rt,o),Fc=Xt*f+2*lc(Wc),Hc=yt*k,Yc=uc(qn,r),Rc=Wn*l+2*lc(Hc),Xc=m*B,Qc=sc(m,c),Vc=X*a+lc(Xc),$c=_*P,Uc=sc(_,i),Zc=U*p+lc($c),Gc=Dc+Wc,Jc=fc(Lc,jc),Kc=qc+Fc+lc(Gc),ti=Gc+Hc,ni=fc(Jc,Yc),ei=Kc+Rc+lc(ti),oi=Xc+$c,ri=fc(Qc,Uc),ci=Vc+Zc+lc(oi),ii=ti+oi,si=fc(ni,ri),ui=ei+ci+lc(ii),fi=ii+T;return{coeffs:[be,We,go,ur,Gr,Ac,fc(si,s)],errBound:[_e,je,mo,fr,Jr,zc,ui+h+lc(fi)]}}],[function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:o,vₓᵧᵧ:r,vᵧᵧᵧ:c,vₓₓ:i,vₓᵧ:s,vᵧᵧ:u,vₓ:f,vᵧ:l,v:a},errorBound:{vₓₓₓ_:p,vₓₓᵧ_:h,vₓᵧᵧ_:d,vᵧᵧᵧ_:v,vₓₓ_:g,vₓᵧ_:m,vᵧᵧ_:x,vₓ_:w,vᵧ_:b,v_:_}}=Pr(t),[[M,[,S]],[C,[,y]]]=Ko(n),O=e[1],N=o[1],E=r[1],I=c[1],k=i[1],B=s[1],P=u[1],T=f[1],A=l[1],z=a[1],D=M[1],L=C[1],q=qr(S),W=qr(D),j=qr(y),F=qr(L),H=S*S,Y=S*D,R=S*y,X=S*L,Q=D*D,V=D*y,$=D*L,U=y*y,Z=y*L,G=L*L,J=Tr(S,S),K=zr(S,M),tt=qr(Y),nt=Tr(S,y),et=zr(S,C),ot=qr(X),rt=Dr(M,M),ct=2*qr(Q),it=zr(y,M),st=qr(V),ut=Dr(M,C),ft=2*qr($),lt=Tr(y,y),at=zr(y,C),pt=qr(Z),ht=Dr(C,C),dt=2*qr(G),vt=qr(H),gt=qr(Y),mt=qr(R),xt=qr(X),wt=qr(Q),bt=qr(V),_t=qr($),Mt=qr(U),St=qr(Z),Ct=qr(G),yt=S*O,Ot=zr(S,e),Nt=q*p+qr(yt),Et=3*S,It=Tr(3,S),kt=qr(Et),Bt=Et*O,Pt=Dr(It,e),Tt=kt*p+2*qr(Bt),At=S*N,zt=zr(S,o),Dt=q*h+qr(At),Lt=y*N,qt=zr(y,o),Wt=j*h+qr(Lt),jt=S*E,Ft=zr(S,r),Ht=q*d+qr(jt),Yt=y*E,Rt=zr(y,r),Xt=j*d+qr(Yt),Qt=y*I,Vt=zr(y,c),$t=j*v+qr(Qt),Ut=3*y,Zt=Tr(3,y),Gt=qr(Ut),Jt=Ut*I,Kt=Dr(Zt,c),tn=Gt*v+2*qr(Jt),nn=D*O,en=Dr(M,e),on=W*p+2*qr(nn),rn=D*E,cn=Dr(M,r),sn=W*d+2*qr(rn),un=L*N,fn=Dr(C,o),ln=F*h+2*qr(un),an=L*I,pn=Dr(C,c),hn=F*v+2*qr(an),dn=nn+un,vn=Lr(en,fn),gn=qr(dn),mn=on+ln+gn,xn=rn+an,wn=Lr(cn,pn),bn=qr(xn),_n=sn+hn+bn,Mn=Q*dn,Sn=Dr(rt,vn),Cn=ct*gn+wt*mn+2*qr(Mn),yn=G*xn,On=Dr(ht,wn),Nn=dt*bn+Ct*_n+2*qr(yn),En=Mn+yn,In=Lr(Sn,On),kn=Cn+Nn+qr(En),Bn=Bt+Lt,Pn=Lr(Pt,qt),Tn=Tt+Wt+qr(Bn),An=2*(At+Yt),zn=Ar(Lr(zt,Rt)),Dn=2*(Dt+Xt)+qr(An),Ln=jt+Jt,qn=Lr(Ft,Kt),Wn=Ht+tn+qr(Ln),jn=Bn+k,Fn=Lr(Pn,i),Hn=qr(jn),Yn=Tn+g+Hn,Rn=An+B,Xn=Lr(zn,s),Qn=qr(Rn),Vn=Dn+m+Qn,$n=Ln+P,Un=Lr(qn,u),Zn=qr($n),Gn=Wn+x+Zn,Jn=Q*jn,Kn=Dr(rt,Fn),te=ct*Hn+wt*Yn+2*qr(Jn),ne=$*Rn,ee=Dr(ut,Xn),oe=ft*Qn+_t*Vn+2*qr(ne),re=G*$n,ce=Dr(ht,Un),ie=dt*Zn+Ct*Gn+2*qr(re),se=Jn+ne,ue=Lr(Kn,ee),fe=te+oe+qr(se),le=se+re,ae=Lr(ue,ce),pe=fe+ie+qr(le),he=2*(Lt+k),de=Ar(Lr(qt,i)),ve=2*(Wt+g)+qr(he),ge=2*(jt+P),me=Ar(Lr(Ft,u)),xe=2*(Ht+x)+qr(ge),we=Bt+he,be=Lr(Pt,de),_e=qr(we),Me=Tt+ve+_e,Se=Jt+ge,Ce=Lr(Kt,me),ye=qr(Se),Oe=tn+xe+ye,Ne=At+B,Ee=Lr(zt,s),Ie=qr(Ne),ke=Dt+m+Ie,Be=Yt+B,Pe=Lr(Rt,s),Te=qr(Be),Ae=Xt+m+Te,ze=Y*we,De=Dr(K,be),Le=tt*_e+gt*Me+2*qr(ze),qe=Z*Se,We=Dr(at,Ce),je=pt*ye+St*Oe+2*qr(qe),Fe=X*Ne,He=Dr(et,Ee),Ye=ot*Ie+xt*ke+2*qr(Fe),Re=V*Be,Xe=Dr(it,Pe),Qe=st*Te+bt*Ae+2*qr(Re),Ve=D*T,$e=Dr(M,f),Ue=W*w+2*qr(Ve),Ze=L*A,Ge=Dr(C,l),Je=F*b+2*qr(Ze),Ke=ze+qe,to=Lr(De,We),no=Le+je+qr(Ke),eo=Fe+Re,oo=Lr(He,Xe),ro=Ye+Qe+qr(eo),co=Ke+eo,io=Lr(to,oo),so=no+ro+qr(co),uo=Ve+Ze,fo=Lr($e,Ge),lo=Ue+Je+qr(uo),ao=co+uo,po=Lr(io,fo),ho=so+lo+qr(ao),vo=yt+Lt,go=Lr(Ot,qt),mo=Nt+Wt+qr(vo),xo=Qt+jt,wo=Lr(Vt,Ft),bo=$t+Ht+qr(xo),_o=vo+k,Mo=Lr(go,i),So=mo+g+qr(_o),Co=xo+P,yo=Lr(wo,u),Oo=bo+x+qr(Co),No=H*_o,Eo=Dr(J,Mo),Io=vt*So+2*qr(No),ko=U*Co,Bo=Dr(lt,yo),Po=Mt*Oo+2*qr(ko),To=R*B,Ao=Dr(nt,s),zo=mt*m+2*qr(To),Do=No+ko,Lo=Lr(Eo,Bo),qo=Io+Po+qr(Do),Wo=Do+To,jo=Lr(Lo,Ao),Fo=qo+zo+qr(Wo),Ho=S*T,Yo=zr(S,f),Ro=q*w+qr(Ho),Xo=y*A,Qo=zr(y,l),Vo=j*b+qr(Xo),$o=Ho+Xo,Uo=Lr(Yo,Qo),Zo=Ro+Vo+qr($o),Go=Wo+$o,Jo=Lr(jo,Uo),tr=Fo+Zo+qr(Go),nr=Go+z;return{coeffs:[In,ae,po,Lr(Jo,a)],errBound:[kn,pe,ho,tr+_+qr(nr)]}},function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:o,vₓᵧᵧ:r,vᵧᵧᵧ:c,vₓₓ:i,vₓᵧ:s,vᵧᵧ:u,vₓ:f,vᵧ:l,v:a},errorBound:{vₓₓₓ_:p,vₓₓᵧ_:h,vₓᵧᵧ_:d,vᵧᵧᵧ_:v,vₓₓ_:g,vₓᵧ_:m,vᵧᵧ_:x,vₓ_:w,vᵧ_:b,v_:_}}=Pr(t),{coeffs:[[M,S,[,C]],[y,O,[,N]]],errorBound:[[E],[I]]}=Jo(n),k=e[1],B=o[1],P=r[1],T=c[1],A=i[1],z=s[1],D=u[1],L=f[1],q=l[1],W=a[1],j=tc(k),F=tc(B),H=tc(P),Y=tc(T),R=tc(A),X=tc(D),Q=tc(z),V=tc(L),$=tc(q),U=S[1],Z=M[1],G=O[1],J=y[1],K=tc(C),tt=tc(U),nt=tc(Z),et=tc(N),ot=tc(G),rt=tc(J),ct=C*C,it=C*U,st=C*Z,ut=C*N,ft=C*G,lt=C*J,at=U*U,pt=U*Z,ht=U*N,dt=U*G,vt=U*J,gt=Z*G,mt=Z*Z,xt=Z*N,wt=Z*J,bt=N*N,_t=N*G,Mt=N*J,St=G*G,Ct=G*J,yt=J*J,Ot=Ur(C,C),Nt=Gr(C,S),Et=tc(it),It=Gr(C,M),kt=K*E+tc(st),Bt=Ur(C,N),Pt=Gr(C,O),Tt=tc(ft),At=Gr(C,y),zt=K*I+tc(lt),Dt=Jr(S,S),Lt=2*tc(at),qt=Jr(S,M),Wt=tt*E+2*tc(pt),jt=Gr(N,S),Ft=tc(ht),Ht=Jr(S,O),Yt=2*tc(dt),Rt=Jr(S,y),Xt=tt*I+2*tc(vt),Qt=Jr(M,O),Vt=E*ot+2*tc(gt),$t=Jr(M,M),Ut=2*(E*nt+tc(mt)),Zt=Gr(N,M),Gt=et*E+tc(xt),Jt=Jr(M,y),Kt=E*rt+nt*I+2*tc(wt),tn=Ur(N,N),nn=Gr(N,O),en=tc(_t),on=Gr(N,y),rn=et*I+tc(Mt),cn=Jr(O,O),sn=2*tc(St),un=Jr(O,y),fn=ot*I+2*tc(Ct),ln=Jr(y,y),an=2*(I*rt+tc(yt)),pn=tc(ct),hn=tc(it),dn=tc(ut),vn=tc(ft),gn=tc(pt),mn=tc(mt),xn=tc(wt),wn=tc(ht),bn=tc(bt),_n=tc(_t),Mn=tc(Ct),Sn=tc(yt),Cn=Jr(M,e),yn=Z*k,On=E*j+nt*p+2*tc(yn),Nn=Jr(M,r),En=Z*P,In=E*H+nt*d+2*tc(En),kn=Jr(y,o),Bn=J*B,Pn=I*F+rt*h+2*tc(Bn),Tn=Jr(y,c),An=J*T,zn=I*Y+rt*v+2*tc(An),Dn=yn+Bn,Ln=Kr(Cn,kn),qn=tc(Dn),Wn=On+Pn+qn,jn=En+An,Fn=Kr(Nn,Tn),Hn=tc(jn),Yn=In+zn+Hn,Rn=mt*Dn,Xn=Jr($t,Ln),Qn=Ut*qn+mn*Wn+2*tc(Rn),Vn=yt*jn,$n=Jr(ln,Fn),Un=an*Hn+Sn*Yn+2*tc(Vn),Zn=Rn+Vn,Gn=Kr(Xn,$n),Jn=Qn+Un+tc(Zn),Kn=st+at,te=Kr(It,Dt),ne=tc(Kn),ee=kt+Lt+ne,oe=Mt+St,re=Kr(on,cn),ce=tc(oe),ie=rn+sn+ce,se=2*st+at,ue=tc(se),fe=Kr(Zr(It),Dt),le=2*kt+Lt+ue,ae=2*Mt+St,pe=Kr(Zr(on),cn),he=tc(ae),de=2*rn+sn+he,ve=2*dt+xt,ge=Kr(Zr(Ht),Zt),me=tc(ve),xe=2*Yt+Gt+me,we=2*dt+lt,be=Kr(Zr(Ht),At),_e=tc(we),Me=2*Yt+zt+_e,Se=2*xt+dt,Ce=Kr(Zr(Zt),Ht),ye=2*Gt+Yt+tc(Se),Oe=6*st+at,Ne=6*st,Ee=Gr(6,It),Ie=6*kt+tc(Ne),ke=Kr(Ee,Dt),Be=Ie+Lt+tc(Ne+at),Pe=6*Mt+St,Te=6*Mt,Ae=Gr(6,on),ze=6*rn+tc(Te),De=Kr(Ae,cn),Le=ze+sn+tc(Te+St),qe=vt+gt,We=Kr(Rt,Qt),je=tc(qe),Fe=Xt+Vt+je,He=lt+xt,Ye=Kr(At,Zt),Re=zt+Gt+tc(He),Xe=2*ht+ft,Qe=Kr(Zr(jt),Pt),Ve=2*Ft+Tt+tc(Xe),$e=2*ft+ht,Ue=Kr(Zr(Pt),jt),Ze=2*Tt+Ft+tc($e),Ge=lt+dt,Je=Kr(At,Ht),Ke=zt+Yt+tc(Ge),to=Ge+xt,no=Kr(Je,Zt),eo=tc(to),oo=Ke+Gt+eo,ro=3*mt,co=Gr(3,$t),io=3*Ut+tc(ro),so=tc(ro),uo=3*yt,fo=Gr(3,ln),lo=3*an+tc(uo),ao=tc(uo),po=ro*k,ho=Jr(co,e),vo=io*j+so*p+2*tc(po),go=mt*B,mo=Jr($t,o),xo=Ut*F+mn*h+2*tc(go),wo=2*wt*B,bo=Zr(Jr(Jt,o)),_o=2*(Kt*F+xn*h+tc(wo)),Mo=2*wt*P,So=Zr(Jr(Jt,r)),Co=2*(Kt*H+xn*d+tc(Mo)),yo=yt*P,Oo=Jr(ln,r),No=an*H+Sn*d+2*tc(yo),Eo=uo*T,Io=Jr(fo,c),ko=lo*Y+ao*v+2*tc(Eo),Bo=po+wo,Po=Kr(ho,bo),To=vo+_o+tc(Bo),Ao=go+Mo,zo=Kr(mo,So),Do=xo+Co+tc(Ao),Lo=Bo+yo,qo=Kr(Po,Oo),Wo=To+No+tc(Lo),jo=Ao+Eo,Fo=Kr(zo,Io),Ho=Do+ko+tc(jo),Yo=U*Lo,Ro=Jr(S,qo),Xo=tt*Wo+tc(Yo),Qo=G*jo,Vo=Jr(O,Fo),$o=ot*Ho+tc(Qo),Uo=Yo+Qo,Zo=Kr(Ro,Vo),Go=Xo+$o+tc(Uo),Ko=J*se,tr=Jr(y,fe),nr=I*ue+rt*le+2*tc(Ko),er=J*we,or=Jr(y,be),rr=I*_e+rt*Me+2*tc(er),cr=Z*ve,ir=Jr(M,ge),sr=E*me+nt*xe+2*tc(cr),ur=Z*ae,fr=Jr(M,pe),lr=E*he+nt*de+2*tc(ur),ar=3*Z,pr=Gr(3,M),hr=tc(ar),dr=3*E+hr,vr=ar*Kn,gr=Jr(pr,te),mr=tc(vr),xr=dr*ne+hr*ee+mr,wr=3*J,br=Gr(3,y),_r=tc(wr),Mr=3*I+_r,Sr=wr*oe,Cr=Jr(br,re),yr=tc(Sr),Or=Mr*ce+_r*ie+yr,Nr=Ko+cr,Er=Kr(tr,ir),Ir=tc(Nr),kr=nr+sr+Ir,Br=er+ur,Tr=Kr(or,fr),Ar=tc(Br),zr=rr+lr+Ar,Dr=vr*k,Lr=Jr(gr,e),qr=xr*j+mr*p+2*tc(Dr),Wr=Sr*T,jr=Jr(Cr,c),Fr=Or*Y+yr*v+2*tc(Wr),Hr=Nr*B,Yr=Jr(Er,o),Rr=kr*F+Ir*h+2*tc(Hr),Xr=Br*P,Qr=Jr(Tr,r),Vr=zr*H+Ar*d+2*tc(Xr),$r=Dr+Wr,nc=Kr(Lr,jr),ec=qr+Fr+tc($r),oc=Hr+Xr,rc=Kr(Yr,Qr),cc=Rr+Vr+tc(oc),ic=mt*A,sc=Jr($t,i),uc=Ut*R+mn*g+2*tc(ic),fc=yt*D,lc=Jr(ln,u),ac=an*X+Sn*x+2*tc(fc),pc=wt*z,hc=Jr(Jt,s),dc=Kt*Q+xn*m+2*tc(pc),vc=ic+fc,gc=Kr(sc,lc),mc=uc+ac+tc(vc),xc=$r+oc,wc=Kr(nc,rc),bc=ec+cc+tc(xc),_c=vc+pc,Mc=Kr(gc,hc),Sc=mc+dc+tc(_c),Cc=xc+_c,yc=Kr(wc,Mc),Oc=bc+Sc+tc(Cc),Nc=U*Oe,Ec=Jr(S,ke),Ic=tt*Be+2*tc(Nc),kc=2*Ic,Bc=G*Pe,Pc=Jr(O,De),Tc=ot*Le+2*tc(Bc),Ac=2*Tc,zc=2*C*qe,Dc=Gr(2*C,We),Lc=2*K*Fe+tc(zc),qc=2*G*He,Wc=Jr(Zr(O),Ye),jc=2*ot*Re+2*tc(qc),Fc=U*Se,Hc=Jr(S,Ce),Yc=tt*ye+2*tc(Fc),Rc=U*ae,Xc=Jr(S,pe),Qc=tt*de+2*tc(Rc),Vc=zc+Fc,$c=Kr(Dc,Hc),Uc=Lc+Yc+tc(Vc),Zc=Lc+Yc+Uc,Gc=qc+Rc,Jc=Kr(Wc,Xc),Kc=jc+Qc+tc(Gc),ti=jc+Qc+Kc,ni=Ct*D,ei=Jr(un,u),oi=fn*X+Mn*x+2*tc(ni),ri=pt*A,ci=Jr(qt,i),ii=Wt*R+gn*g+2*tc(ri),si=qe*z,ui=Jr(We,s),fi=Fe*Q+je*m+2*tc(si),li=ni+ri,ai=Kr(ei,ci),pi=oi+ii+tc(li),hi=Nc*k,di=Jr(Ec,e),vi=kc*j+Ic*p+2*tc(hi),gi=Vc*B,mi=Jr($c,o),xi=Zc*F+Uc*h+2*tc(gi),wi=Bc*T,bi=Jr(Pc,c),_i=Ac*Y+Tc*v+2*tc(wi),Mi=Gc*P,Si=Jr(Jc,r),Ci=ti*H+Kc*d+2*tc(Mi),yi=hi+wi,Oi=Kr(di,bi),Ni=vi+_i+tc(yi),Ei=gi+Mi,Ii=Kr(mi,Si),ki=xi+Ci+tc(Ei),Bi=yi+Ei,Pi=Kr(Oi,Ii),Ti=Ni+ki+tc(Bi),Ai=2*li+si,zi=Kr(Zr(ai),ui),Di=2*pi+fi+tc(Ai),Li=Bi+Ai,qi=Kr(Pi,zi),Wi=Ti+Di+tc(Li),ji=3*C,Fi=tc(ji),Hi=Ur(3,C),Yi=ji*Kn,Ri=Jr(Hi,te),Xi=tc(Yi),Qi=Fi*ee+2*tc(Yi),Vi=3*N,$i=tc(Vi),Ui=Ur(3,N),Zi=Vi*oe,Gi=Jr(Ui,re),Ji=tc(Zi),Ki=$i*ie+2*tc(Zi),ts=C*we,ns=Gr(C,be),es=K*Me+tc(ts),os=C*ae,rs=Gr(C,pe),cs=K*de+tc(os),is=N*se,ss=Gr(N,fe),us=et*le+tc(is),fs=N*ve,ls=Gr(N,ge),as=et*xe+tc(fs),ps=ts+is,hs=Kr(ns,ss),ds=tc(ps),vs=es+us+ds,gs=os+fs,ms=Kr(rs,ls),xs=tc(gs),ws=cs+as+xs,bs=Yi*k,_s=Jr(Ri,e),Ms=Qi*j+Xi*p+2*tc(bs),Ss=Zi*T,Cs=Jr(Gi,c),ys=Ki*Y+Ji*v+2*tc(Ss),Os=ps*B,Ns=Jr(hs,o),Es=vs*F+ds*h+2*tc(Os),Is=gs*P,ks=Jr(ms,r),Bs=ws*H+xs*d+2*tc(Is),Ps=se*A,Ts=Jr(fe,i),As=le*R+ue*g+2*tc(Ps),zs=ae*D,Ds=Jr(pe,u),Ls=de*X+he*x+2*tc(zs),qs=to*z,Ws=Jr(no,s),js=oo*Q+eo*m+2*tc(qs),Fs=Z*L,Hs=Jr(M,f),Ys=E*V+nt*w+2*tc(Fs),Rs=J*q,Xs=Jr(y,l),Qs=I*$+rt*b+2*tc(Rs),Vs=bs+Ss,$s=Kr(_s,Cs),Us=Ms+ys+tc(Vs),Zs=Os+Is,Gs=Kr(Ns,ks),Js=Es+Bs+tc(Zs),Ks=Ps+zs,tu=Kr(Ts,Ds),nu=As+Ls+tc(Ks),eu=Vs+Zs,ou=Kr($s,Gs),ru=Us+Js+tc(eu),cu=Ks+qs,iu=Kr(tu,Ws),su=nu+js+tc(cu),uu=Fs+Rs,fu=Kr(Hs,Xs),lu=Ys+Qs+tc(uu),au=eu+cu,pu=Kr(ou,iu),hu=ru+su+tc(au),du=au+uu,vu=Kr(pu,fu),gu=hu+lu+tc(du),mu=ji*it,xu=Jr(Hi,Nt),wu=tc(mu),bu=Fi*Et+2*wu,_u=Vi*_t,Mu=Jr(Ui,nn),Su=tc(_u),Cu=$i*en+2*Su,yu=C*Xe,Ou=Gr(C,Qe),Nu=tc(yu),Eu=K*Ve+tc(yu),Iu=N*$e,ku=Gr(N,Ue),Bu=tc(Iu),Pu=et*Ze+tc(Iu),Tu=it*A,Au=Jr(Nt,i),zu=Et*R+hn*g+2*tc(Tu),Du=_t*D,Lu=Jr(nn,u),qu=en*X+_n*x+2*tc(Du),Wu=ft*z,ju=Jr(Pt,s),Fu=Tt*Q+vn*m+2*tc(Wu),Hu=ht*z,Yu=Jr(jt,s),Ru=Ft*Q+wn*m+2*tc(Hu),Xu=2*(Tu+Du),Qu=Zr(Kr(Au,Lu)),Vu=2*(zu+qu)+tc(Xu),$u=Wu+Hu,Uu=Kr(ju,Yu),Zu=Fu+Ru+tc($u),Gu=U*L,Ju=Jr(S,f),Ku=tt*w+2*tc(Gu),tf=G*q,nf=Jr(O,l),ef=ot*b+2*tc(tf),of=mu*k,rf=Jr(xu,e),cf=bu*j+wu*p+2*tc(of),sf=_u*T,uf=Jr(Mu,c),ff=Cu*Y+Su*v+2*tc(sf),lf=yu*B,af=Jr(Ou,o),pf=Eu*F+Nu*h+2*tc(lf),hf=Iu*P,df=Jr(ku,r),vf=Pu*H+Bu*d+2*tc(hf),gf=of+sf,mf=Kr(rf,uf),xf=cf+ff+tc(gf),wf=lf+hf,bf=Kr(af,df),_f=pf+vf+tc(wf),Mf=gf+wf,Sf=Kr(mf,bf),Cf=xf+_f+tc(Mf),yf=Xu+$u,Of=Kr(Qu,Uu),Nf=Vu+Zu+tc(yf),Ef=Gu+tf,If=Kr(Ju,nf),kf=Ku+ef+tc(Ef),Bf=Mf+yf,Pf=Kr(Sf,Of),Tf=Cf+Nf+tc(Bf),Af=Bf+Ef,zf=Kr(Pf,If),Df=Tf+kf+tc(Af),Lf=C*k,qf=Gr(C,e),Wf=K*p+tc(Lf),jf=C*P,Ff=Gr(C,r),Hf=K*d+tc(jf),Yf=N*B,Rf=Gr(N,o),Xf=et*h+tc(Yf),Qf=N*T,Vf=Gr(N,c),$f=et*v+tc(Qf),Uf=Lf+Yf,Zf=Kr(qf,Rf),Gf=Wf+Xf+tc(Uf),Jf=jf+Qf,Kf=Kr(Ff,Vf),tl=Hf+$f+tc(Jf),nl=Uf+A,el=Kr(Zf,i),ol=Gf+g+tc(nl),rl=Jf+D,cl=Kr(Kf,u),il=tl+x+tc(rl),sl=ct*nl,ul=Jr(Ot,el),fl=pn*ol+2*tc(sl),ll=bt*rl,al=Jr(tn,cl),pl=bn*il+2*tc(ll),hl=ut*z,dl=Jr(Bt,s),vl=dn*m+2*tc(hl),gl=C*L,ml=Gr(C,f),xl=K*w+tc(gl),wl=N*q,bl=Gr(N,l),_l=et*b+tc(wl),Ml=sl+ll,Sl=Kr(ul,al),Cl=fl+pl+tc(Ml),yl=Ml+hl,Ol=Kr(Sl,dl),Nl=Cl+vl+tc(yl),El=gl+wl,Il=Kr(ml,bl),kl=xl+_l+tc(El),Bl=yl+El,Pl=Kr(Ol,Il),Tl=Nl+kl+tc(Bl),Al=Bl+W;return{coeffs:[Gn,Zo,yc,qi,vu,zf,Kr(Pl,a)],errBound:[Jn,Go,Oc,Wi,gu,Df,Tl+_+tc(Al)]}},function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:o,vₓᵧᵧ:r,vᵧᵧᵧ:c,vₓₓ:i,vₓᵧ:s,vᵧᵧ:u,vₓ:f,vᵧ:l,v:a},errorBound:{vₓₓₓ_:p,vₓₓᵧ_:h,vₓᵧᵧ_:d,vᵧᵧᵧ_:v,vₓₓ_:g,vₓᵧ_:m,vᵧᵧ_:x,vₓ_:w,vᵧ_:b,v_:_}}=Pr(t),{coeffs:[[M,S,C,[,y]],[O,N,E,[,I]]],errorBound:[[k,B,P],[T,A,z]]}=Go(n),D=e[1],L=o[1],q=r[1],W=c[1],j=i[1],F=s[1],H=u[1],Y=f[1],R=l[1],X=a[1],Q=gc(D),V=gc(L),$=gc(q),U=gc(W),Z=gc(j),G=gc(F),J=gc(H),K=gc(Y),tt=gc(R),nt=(gc(X),C[1]),et=S[1],ot=M[1],rt=E[1],ct=N[1],it=O[1],st=gc(y),ut=gc(nt),ft=gc(et),lt=gc(ot),at=gc(I),pt=gc(rt),ht=gc(ct),dt=gc(it),vt=y*y,gt=y*nt,mt=y*et,xt=y*ot,wt=y*I,bt=y*rt,_t=y*ct,Mt=y*it,St=nt*nt,Ct=nt*et,yt=nt*ot,Ot=nt*I,Nt=nt*rt,Et=nt*ct,It=nt*it,kt=et*rt,Bt=et*et,Pt=et*ot,Tt=et*I,At=et*ct,zt=et*it,Dt=ot*ot,Lt=ot*I,qt=ot*rt,Wt=ot*ct,jt=ot*it,Ft=I*I,Ht=I*rt,Yt=I*ct,Rt=I*it,Xt=rt*rt,Qt=rt*ct,Vt=it*it,$t=ct*ct,Ut=ct*it,Zt=rt*it,Gt=ac(y,y),Jt=hc(y,C),Kt=st*P+gc(gt),tn=hc(y,S),nn=st*B+gc(mt),en=hc(y,M),on=st*k+gc(xt),rn=ac(y,I),cn=hc(y,E),sn=st*z+gc(bt),un=hc(y,N),fn=st*A+gc(_t),ln=hc(y,O),an=st*T+gc(Mt),pn=dc(C,C),hn=gc(St),dn=2*(P*ut+hn),vn=dc(C,S),gn=P*ft+ut*B+2*gc(Ct),mn=dc(C,M),xn=P*lt+ut*k+2*gc(yt),wn=hc(I,C),bn=at*P+gc(Ot),_n=dc(C,E),Mn=P*pt+ut*z+2*gc(Nt),Sn=dc(C,N),Cn=P*ht+ut*A+2*gc(Et),yn=dc(C,O),On=P*dt+ut*T+2*gc(It),Nn=dc(S,E),En=B*pt+ft*z+2*gc(kt),In=dc(S,S),kn=gc(Bt),Bn=2*(B*ft+kn),Pn=dc(S,M),Tn=B*lt+ft*k+2*gc(Pt),An=hc(I,S),zn=at*B+gc(Tt),Dn=dc(S,N),Ln=B*ht+ft*A+2*gc(At),qn=dc(S,O),Wn=B*dt+ft*T+2*gc(zt),jn=dc(M,M),Fn=2*(k*lt+Dt),Hn=hc(I,M),Yn=at*k+gc(Lt),Rn=dc(M,E),Xn=k*pt+lt*z+2*gc(qt),Qn=dc(M,N),Vn=gc(Wt),$n=k*ht+lt*A+2*Vn,Un=dc(M,O),Zn=k*dt+lt*T+2*gc(jt),Gn=ac(I,I),Jn=hc(I,E),Kn=at*z+gc(Ht),te=hc(I,N),ne=at*A+gc(Yt),ee=hc(I,O),oe=at*T+gc(Rt),re=dc(E,E),ce=gc(Xt),ie=2*(z*pt+ce),se=dc(E,N),ue=z*ht+pt*A+2*gc(Qt),fe=dc(O,O),le=2*(T*dt+gc(Vt)),ae=dc(N,N),pe=gc($t),he=2*(A*ht+pe),de=dc(N,O),ve=A*dt+ht*T+2*gc(Ut),ge=dc(E,O),me=gc(Zt),xe=z*dt+pt*T+2*me,we=gc(vt),be=gc(gt),_e=gc(Pt),Me=gc(Dt),Se=gc(jt),Ce=gc(wt),ye=gc(Ft),Oe=gc(Ht),Ne=gc(Ut),Ee=gc(Vt),Ie=ot*Dt,ke=dc(M,jn),Be=lt*Me,Pe=k*Me+lt*Fn+2*Be,Te=ot*Vt,Ae=dc(M,fe),ze=lt*Ee,De=k*Ee+lt*le+2*ze,Le=it*Dt,qe=dc(O,jn),We=dt*Me,je=T*Me+dt*Fn+2*We,Fe=it*Vt,He=dc(O,fe),Ye=dt*Ee,Re=T*Ee+dt*le+2*Ye,Xe=Ie*D,Qe=dc(ke,e),Ve=Pe*Q+Be*p+2*gc(Xe),$e=Te*q,Ue=dc(Ae,r),Ze=De*$+ze*d+2*gc($e),Ge=Le*L,Je=dc(qe,o),Ke=je*V+We*h+2*gc(Ge),to=Fe*W,no=dc(He,c),eo=Re*U+Ye*v+2*gc(to),oo=Xe+$e,ro=vc(Qe,Ue),co=Ve+Ze+gc(oo),io=Ge+to,so=vc(Je,no),uo=Ke+eo+gc(io),fo=oo+io,lo=vc(ro,so),ao=co+uo+gc(fo),po=2*zt+Wt,ho=gc(po),vo=vc(pc(qn),Qn),go=2*Wn+$n+ho,mo=2*Wt+zt,xo=gc(mo),wo=vc(pc(Qn),qn),bo=2*$n+Wn+gc(mo),_o=ot*po,Mo=gc(_o),So=dc(M,vo),Co=k*ho+lt*go+2*Mo,yo=it*mo,Oo=gc(yo),No=dc(O,wo),Eo=T*xo+dt*bo+2*Oo,Io=et*Dt,ko=gc(Io),Bo=dc(S,jn),Po=B*Me+ft*Fn+2*ko,To=ct*Vt,Ao=gc(To),zo=dc(N,fe),Do=A*Ee+ht*le+2*Ao,Lo=D*Io,qo=dc(e,Bo),Wo=Po*Q+Q*Po+2*gc(Lo),jo=W*To,Fo=dc(c,zo),Ho=Do*U+U*Do+2*gc(jo),Yo=L*_o,Ro=dc(o,So),Xo=Co*V+V*Co+2*gc(Yo),Qo=q*yo,Vo=dc(r,No),$o=Eo*$+$*Eo+2*gc(Qo),Uo=Yo+Qo,Zo=vc(Ro,Vo),Jo=Xo+$o+gc(Uo),Ko=3*(Lo+jo),tr=hc(3,vc(qo,Fo)),nr=3*(Wo+Ho)+2*gc(Ko),er=Uo+Ko,or=vc(Zo,tr),rr=Jo+nr+gc(er),cr=nt*jt,ir=dc(C,Un),sr=P*Se+ut*Zn+2*gc(cr),ur=rt*Dt,fr=dc(E,jn),lr=z*Me+pt*Fn+2*gc(ur),ar=et*Ut,pr=dc(S,de),hr=B*Ne+ft*ve+2*gc(ar),dr=nt*Vt,vr=dc(C,fe),gr=P*Ee+ut*le+2*gc(dr),mr=et*Wt,xr=dc(S,Qn),wr=B*Vn+ft*$n+2*gc(mr),br=it*Bt,_r=dc(O,In),Mr=T*kn+dt*Bn+2*gc(br),Sr=ot*Zt,Cr=dc(M,ge),yr=k*me+lt*xe+2*gc(Sr),Or=ct*Wt,Nr=dc(N,Qn),Er=A*Vn+ht*$n+2*gc(Or),Ir=cr+mr,kr=vc(ir,xr),Br=sr+wr+gc(Ir),Tr=ur+br,Ar=vc(fr,_r),zr=lr+Mr+gc(Tr),Dr=ar+Sr,Lr=vc(pr,Cr),qr=hr+yr+gc(Dr),Wr=dr+Or,jr=vc(vr,Nr),Fr=gr+Er+gc(Wr),Hr=yt+Bt,Yr=vc(mn,In),Rr=gc(Hr),Xr=xn+Bn+Rr,Qr=Zt+$t,Vr=gc(Qr),$r=vc(ge,ae),Ur=xe+he+Vr,Zr=2*Ir+Tr,Gr=vc(pc(kr),Ar),Jr=gc(Zr),Kr=2*Br+zr+Jr,tc=2*Dr+Wr,nc=vc(pc(Lr),jr),ec=gc(tc),oc=2*qr+Fr+ec,rc=L*Zr,cc=dc(o,Gr),ic=h*Jr+V*Kr+2*gc(rc),sc=q*tc,uc=dc(r,nc),fc=d*ec+$*oc+2*gc(sc),lc=ot*Hr,mc=dc(M,Yr),xc=gc(lc),wc=k*Rr+lt*Xr+2*xc,bc=it*Qr,_c=dc(O,$r),Mc=gc(bc),Sc=T*Vr+dt*Ur+2*Mc,Cc=D*lc,yc=dc(e,mc),Oc=p*xc+Q*wc+2*gc(Cc),Nc=W*bc,Ec=dc(c,_c),Ic=v*Mc+U*Sc+2*gc(Nc),kc=rc+sc,Bc=vc(cc,uc),Pc=ic+fc+gc(kc),Tc=3*(Cc+Nc),Ac=hc(3,vc(yc,Ec)),zc=3*(Oc+Ic)+2*gc(Tc),Dc=kc+Tc,Lc=vc(Bc,Ac),qc=Pc+zc+gc(Dc),Wc=zt+Wt,jc=vc(qn,Qn),Fc=gc(Wc),Hc=Wn+$n+Fc,Yc=ct*Bt,Rc=dc(N,In),Xc=A*kn+ht*Bn+2*gc(Yc),Qc=2*nt*Wc,Vc=pc(dc(C,jc)),$c=2*(P*Fc+ut*Hc+2*gc(Qc)),Uc=Yc+Qc,Zc=vc(Rc,Vc),Gc=Xc+$c+gc(Uc),Jc=2*(Mt+kt),Kc=pc(vc(ln,Nn)),ti=2*(an+En)+gc(Jc),ni=Jc+Lt,ei=gc(ni),oi=vc(Kc,Hn),ri=ti+Yn+ei,ci=ot*ni,ii=dc(M,oi),si=k*ei+lt*ri+2*gc(ci),ui=Uc+ci,fi=vc(Zc,ii),li=gc(ui),ai=Gc+si+li,pi=et*$t,hi=dc(S,ae),di=B*pe+ft*he+2*gc(pi),vi=2*rt*Wc,gi=pc(dc(E,jc)),mi=2*(z*Fc+pt*Hc+gc(vi)),xi=pi+vi,wi=vc(hi,gi),bi=di+mi+gc(xi),_i=2*(Et+Lt),Mi=pc(vc(Sn,Hn)),Si=2*(Cn+Yn)+gc(_i),Ci=_i+Mt,yi=vc(Mi,ln),Oi=gc(Ci),Ni=Si+an+Oi,Ei=it*Ci,Ii=dc(O,yi),ki=T*Oi+dt*Ni+2*gc(Ei),Bi=xi+Ei,Pi=vc(wi,Ii),Ti=gc(Bi),Ai=bi+ki+Ti,zi=et*Bt,Di=dc(S,In),Li=B*kn+ft*Bn+2*gc(zi),qi=2*Ct+xt,Wi=vc(pc(vn),en),ji=gc(qi),Fi=2*gn+on+ji,Hi=3*ot,Yi=hc(3,M),Ri=gc(Hi),Xi=3*k+Ri,Qi=Hi*qi,Vi=dc(Yi,Wi),$i=Xi*ji+Ri*Fi+2*gc(Qi),Ui=zi+Qi,Zi=vc(Di,Vi),Gi=gc(Ui),Ji=Li+$i+Gi,Ki=ct*$t,ts=dc(N,ae),ns=A*pe+ht*he+2*gc(Ki),es=2*Qt+Rt,os=vc(pc(se),ee),rs=gc(es),cs=2*ue+oe+rs,is=3*it,ss=hc(3,O),us=gc(is),fs=3*T+us,ls=is*es,as=dc(ss,os),ps=fs*rs+us*cs+2*gc(ls),hs=Ki+ls,ds=vc(ts,as),vs=gc(hs),gs=ns+ps+vs,ms=L*ui,xs=dc(o,fi),ws=h*li+V*ai+2*gc(ms),bs=q*Bi,_s=dc(r,Pi),Ms=d*Ti+$*Ai+2*gc(bs),Ss=ms+bs,Cs=vc(xs,_s),ys=ws+Ms+gc(Ss),Os=D*Ui,Ns=dc(e,Zi),Es=p*Gi+Q*Ji+2*gc(Os),Is=W*hs,ks=dc(c,ds),Bs=v*vs+U*gs+2*gc(Is),Ps=Os+Is,Ts=vc(Ns,ks),As=Es+Bs+gc(Ps),zs=j*Dt,Ds=dc(jn,i),Ls=Fn*Z+Me*g+2*gc(zs),qs=H*Vt,Ws=dc(fe,u),js=le*J+Ee*x+2*gc(qs),Fs=zs+qs,Hs=vc(Ds,Ws),Ys=Ls+js+gc(Fs),Rs=F*jt,Xs=dc(Un,s),Qs=Zn*G+Se*m+2*gc(Rs),Vs=Ss+Ps,$s=vc(Cs,Ts),Us=ys+As+gc(Vs),Zs=Fs+Rs,Gs=vc(Hs,Xs),Js=Ys+Qs+gc(Zs),Ks=Vs+Zs,tu=vc($s,Gs),nu=Us+Js+gc(Ks),eu=At+qt,ou=vc(Dn,Rn),ru=gc(eu),cu=Ln+Xn+ru,iu=It+At,su=vc(yn,Dn),uu=gc(iu),fu=On+Ln+uu,lu=y*Wc,au=hc(y,jc),pu=st*Hc+gc(lu),hu=I*Wc,du=hc(I,jc),vu=at*Hc+gc(hu),gu=nt*eu,mu=dc(C,ou),xu=P*ru+ut*cu+2*gc(gu),wu=rt*iu,bu=dc(E,su),_u=z*uu+pt*fu+2*gc(wu),Mu=2*Lt+kt,Su=vc(pc(Hn),Nn),Cu=gc(Mu),yu=2*Yn+En+Cu,Ou=2*Mt+Et,Nu=vc(pc(ln),Sn),Eu=gc(Ou),Iu=2*an+Cn+Eu,ku=it*St,Bu=dc(O,pn),Pu=T*hn+dt*dn+2*gc(ku),Tu=ot*Xt,Au=dc(M,re),zu=k*ce+lt*ie+2*gc(Tu),Du=et*Mu,Lu=dc(S,Su),qu=B*Cu+ft*yu+2*gc(Du),Wu=ct*Ou,ju=dc(N,Nu),Fu=A*Eu+ht*Iu+2*gc(Wu),Hu=2*(lu+gu),Yu=pc(vc(au,mu)),Ru=2*(pu+xu)+gc(Hu),Xu=2*(hu+wu),Qu=pc(vc(du,bu)),Vu=2*(vu+_u)+gc(Xu),$u=2*y*Pt,Uu=pc(hc(y,Pn)),Zu=2*st*Tn+gc($u),Gu=2*I*Ut,Ju=pc(hc(I,de)),Ku=2*at*ve+gc(Gu),tf=nt*Hr,nf=dc(C,Yr),ef=P*Rr+ut*Xr+2*gc(tf),of=rt*Qr,rf=dc(E,$r),cf=z*Vr+pt*Ur+2*gc(of),sf=j*Pt,uf=dc(Pn,i),ff=Tn*Z+_e*g+2*gc(sf),lf=H*Ut,af=dc(de,u),pf=ve*J+Ne*x+2*gc(lf),hf=Hu+ku,df=vc(Yu,Bu),vf=gc(hf),gf=Ru+Pu+vf,mf=Xu+Tu,xf=vc(Qu,Au),wf=gc(mf),bf=Vu+zu+wf,_f=hf+Du,Mf=vc(df,Lu),Sf=gc(_f),Cf=gf+qu+Sf,yf=mf+Wu,Of=vc(xf,ju),Nf=gc(yf),Ef=bf+Fu+Nf,If=$u+tf,kf=vc(Uu,nf),Bf=gc(If),Pf=Zu+ef+Bf,Tf=Gu+of,Af=vc(Ju,rf),zf=gc(Tf),Df=Ku+cf+zf,Lf=2*(sf+lf),qf=pc(vc(uf,af)),Wf=2*(ff+pf)+gc(Lf),jf=L*_f,Ff=dc(o,Mf),Hf=h*Sf+V*Cf+2*gc(jf),Yf=q*yf,Rf=dc(r,Of),Xf=d*Nf+$*Ef+2*gc(Yf),Qf=D*If,Vf=dc(e,kf),$f=p*Bf+Q*Pf+2*gc(Qf),Uf=W*Tf,Zf=dc(c,Af),Gf=v*zf+U*Df+2*gc(Uf),Jf=jf+Yf,Kf=vc(Ff,Rf),tl=Hf+Xf+gc(Jf),nl=3*(Qf+Uf),el=hc(3,vc(Vf,Zf)),ol=3*($f+Gf)+2*gc(nl),rl=F*Wc,cl=dc(s,jc),il=m*Fc+G*Hc+2*gc(rl),sl=Jf+nl,ul=vc(Kf,el),fl=tl+ol+gc(sl),ll=rl+Lf,al=vc(cl,qf),pl=il+Wf+gc(ll),hl=sl+ll,dl=vc(ul,al),vl=fl+pl+gc(hl),gl=It+eu,ml=vc(yn,ou),xl=gc(gl),wl=On+cu+xl,bl=2*yt+Bt,_l=vc(pc(mn),In),Ml=gc(bl),Sl=2*xn+Bn+Ml,Cl=2*Zt+$t,yl=vc(pc(ge),ae),Ol=gc(Cl),Nl=2*xe+he+Ol,El=2*y*gl,Il=hc(2*y,ml),kl=2*st*wl+gc(El),Bl=2*I*gl,Pl=hc(2*I,ml),Tl=2*at*wl+gc(Bl),Al=Et+2*kt,zl=vc(Sn,pc(Nn)),Dl=gc(Al),Ll=Cn+2*En+Dl,ql=kt+2*Et,Wl=vc(Nn,pc(Sn)),jl=gc(ql),Fl=En+2*Cn+jl,Hl=I*bl,Yl=hc(I,_l),Rl=at*Sl+gc(Hl),Xl=y*Cl,Ql=hc(y,yl),Vl=st*Nl+gc(Xl),$l=nt*Al,Ul=dc(C,zl),Zl=P*Dl+ut*Ll+2*gc($l),Gl=rt*ql,Jl=dc(E,Wl),Kl=z*jl+pt*Fl+2*gc(Gl),ta=y*bl,na=hc(y,_l),ea=st*Sl+gc(ta),oa=I*Cl,ra=hc(I,yl),ca=at*Nl+gc(oa),ia=et*St,sa=dc(S,pn),ua=B*hn+ft*dn+2*gc(ia),fa=ct*Xt,la=dc(N,re),aa=A*ce+ht*ie+2*gc(fa),pa=El+Hl,ha=vc(Il,Yl),da=kl+Rl+gc(pa),va=Bl+Xl,ga=vc(Pl,Ql),ma=Tl+Vl+gc(va),xa=pa+$l,wa=vc(ha,Ul),ba=gc(xa),_a=da+Zl+ba,Ma=va+Gl,Sa=vc(ga,Jl),Ca=gc(Ma),ya=ma+Kl+Ca,Oa=ta+ia,Na=vc(na,sa),Ea=gc(Oa),Ia=ea+ua+Ea,ka=oa+fa,Ba=vc(ra,la),Pa=gc(ka),Ta=ca+aa+Pa,Aa=L*xa,za=dc(o,wa),Da=h*ba+V*_a+2*gc(Aa),La=q*Ma,qa=dc(r,Sa),Wa=d*Ca+$*ya+2*gc(La),ja=D*Oa,Fa=dc(e,Na),Ha=p*Ea+Q*Ia+2*gc(ja),Ya=W*ka,Ra=dc(c,Ba),Xa=v*Pa+U*Ta+2*gc(Ya),Qa=ja+Ya,Va=gc(Qa),$a=vc(Fa,Ra),Ua=Ha+Xa+Va,Za=Aa+La,Ga=vc(za,qa),Ja=Da+Wa+gc(Za),Ka=Za+3*Qa,tp=vc(Ga,hc(3,$a)),np=Ja+3*(Ua+Va)+gc(Ka),ep=F*gl,op=dc(s,ml),rp=m*xl+G*wl+2*gc(ep),cp=j*bl,ip=dc(i,_l),sp=g*Ml+Z*Sl+2*gc(cp),up=ep+cp,fp=vc(op,ip),lp=rp+sp+gc(up),ap=H*Cl,pp=dc(u,yl),hp=x*Ol+J*Nl+2*gc(ap),dp=up+ap,vp=vc(fp,pp),gp=lp+hp+gc(dp),mp=Ka+dp,xp=vc(tp,vp),wp=np+gp+gc(mp),bp=Et+kt,_p=vc(Sn,Nn),Mp=Cn+En+gc(bp),Sp=Lt+Mt,Cp=vc(Hn,ln),yp=Yn+an+gc(Sp),Op=Ct+xt,Np=vc(vn,en),Ep=gn+on+gc(Op),Ip=gc(Op),kp=Qt+Rt,Bp=vc(se,ee),Pp=ue+oe+gc(kp),Tp=gc(kp),Ap=2*bp+Lt,zp=vc(pc(_p),Hn),Dp=2*Mp+Yn+gc(Ap),Lp=2*bp+Mt,qp=vc(pc(_p),ln),Wp=2*Mp+an+gc(Lp),jp=2*Tt+Nt,Fp=vc(pc(An),_n),Hp=gc(jp),Yp=2*zn+Mn+Hp,Rp=2*_t+Nt,Xp=vc(pc(un),_n),Qp=gc(Rp),Vp=2*fn+Mn+Qp,$p=Op+Ct,Up=vc(Np,vn),Zp=Ep+gn+gc($p),Gp=kp+Qt,Jp=vc(Bp,se),Kp=Pp+ue+gc(Gp),th=3*y,nh=ac(3,y),eh=th*$p,oh=dc(nh,Up),rh=gc(th)*Zp+2*gc(eh),ch=3*I,ih=ac(3,I),sh=ch*Gp,uh=dc(ih,Jp),fh=gc(ch)*Kp+2*gc(sh),lh=nt*St,ah=dc(C,pn),ph=P*hn+ut*dn+2*gc(lh),hh=rt*Xt,dh=dc(E,re),vh=z*ce+pt*ie+2*gc(hh),gh=j*Op,mh=dc(i,Np),xh=g*Ip+Z*Ep+gc(gh),wh=H*kp,bh=dc(u,Bp),_h=x*Tp+J*Pp+gc(wh),Mh=Ap+Sp,Sh=vc(zp,Cp),Ch=Dp+yp+gc(Mh),yh=Lp+Sp,Oh=vc(qp,Cp),Nh=Wp+yp+gc(yh),Eh=y*Mh,Ih=hc(y,Sh),kh=st*Ch+gc(Eh),Bh=I*yh,Ph=hc(I,Oh),Th=at*Nh+gc(Bh),Ah=nt*jp,zh=dc(C,Fp),Dh=P*Hp+ut*Yp+2*gc(Ah),Lh=rt*Rp,qh=dc(E,Xp),Wh=z*Qp+pt*Vp+2*gc(Lh),jh=ot*Y,Fh=dc(M,f),Hh=k*K+lt*w+2*gc(jh),Yh=it*R,Rh=dc(O,l),Xh=T*tt+dt*b+2*gc(Yh),Qh=Eh+Ah,Vh=vc(Ih,zh),$h=gc(Qh),Uh=kh+Dh+$h,Zh=Bh+Lh,Gh=vc(Ph,qh),Jh=gc(Zh),Kh=Th+Wh+Jh,td=eh+lh,nd=vc(oh,ah),ed=gc(td),od=rh+ph+ed,rd=sh+hh,cd=vc(uh,dh),id=gc(rd),sd=fh+vh+id,ud=Sp+bp,fd=vc(Cp,_p),ld=gc(ud),ad=yp+Mp+ld,pd=2*(gh+wh),hd=pc(vc(mh,bh)),dd=2*(xh+_h)+gc(pd),vd=L*Qh,gd=dc(o,Vh),md=h*$h+V*Uh+2*gc(vd),xd=q*Zh,wd=dc(r,Gh),bd=d*Jh+$*Kh+2*gc(xd),_d=D*td,Md=dc(e,nd),Sd=p*ed+Q*od+2*gc(_d),Cd=W*rd,yd=dc(c,cd),Od=v*id+U*sd+2*gc(Cd),Nd=F*ud,Ed=dc(s,fd),Id=m*ld+G*ad+2*gc(Nd),kd=vd+xd,Bd=vc(gd,wd),Pd=md+bd+gc(kd),Td=_d+Cd,Ad=vc(Md,yd),zd=Sd+Od+gc(Td),Dd=Nd+pd,Ld=vc(Ed,hd),qd=Id+dd+gc(Dd),Wd=jh+Yh,jd=vc(Fh,Rh),Fd=Hh+Xh+gc(Wd),Hd=kd+Td,Yd=vc(Bd,Ad),Rd=Pd+zd+gc(Hd),Xd=Dd+Wd,Qd=vc(Ld,jd),Vd=qd+Fd+gc(Xd),$d=Hd+Xd,Ud=vc(Yd,Qd),Zd=Rd+Vd+gc($d),Gd=Nt+Tt,Jd=vc(_n,An),Kd=Mn+zn+gc(Gd),tv=Nt+_t,nv=vc(_n,un),ev=Mn+fn+gc(tv),ov=2*Gd+_t,rv=vc(pc(Jd),un),cv=2*Kd+fn+gc(ov),iv=2*tv+Tt,sv=vc(pc(nv),An),uv=2*ev+zn+gc(iv),fv=y*ov,lv=hc(y,rv),av=st*cv+gc(fv),pv=I*St,hv=hc(I,pn),dv=at*dn+gc(pv),vv=I*iv,gv=hc(I,sv),mv=at*uv+gc(vv),xv=y*Xt,wv=hc(y,re),bv=st*ie+gc(xv),_v=y*St,Mv=hc(y,pn),Sv=st*dn+gc(_v),Cv=et*vt,yv=dc(S,Gt),Ov=B*we+2*gc(Cv),Nv=I*Xt,Ev=hc(I,re),Iv=at*ie+gc(Nv),kv=ct*Ft,Bv=dc(N,Gn),Pv=A*ye+2*gc(kv),Tv=fv+pv,Av=vc(lv,hv),zv=gc(Tv),Dv=av+dv+zv,Lv=vv+xv,qv=vc(gv,wv),Wv=gc(Lv),jv=mv+bv+Wv,Fv=_v+Cv,Hv=vc(Mv,yv),Yv=gc(Fv),Rv=Sv+Ov+Yv,Xv=Nv+kv,Qv=vc(Ev,Bv),Vv=gc(Xv),$v=Iv+Pv+Vv,Uv=D*Fv,Zv=dc(e,Hv),Gv=p*Yv+Q*Rv+2*gc(Uv),Jv=W*Xv,Kv=dc(c,Qv),tg=v*Vv+U*$v+2*gc(Jv),ng=3*(Uv+Jv),eg=hc(3,vc(Zv,Kv)),og=3*(Gv+tg)+2*gc(ng),rg=Gd+_t,cg=vc(Jd,un),ig=gc(rg),sg=Kd+fn+ig,ug=2*mt+St,fg=vc(pc(tn),pn),lg=gc(ug),ag=2*nn+dn+lg,pg=2*Yt+Xt,hg=vc(pc(te),re),dg=gc(pg),vg=2*ne+ie+dg,gg=L*Tv,mg=dc(o,Av),xg=h*zv+V*Dv+2*gc(gg),wg=q*Lv,bg=dc(r,qv),_g=d*Wv+$*jv+2*gc(wg),Mg=F*rg,Sg=dc(s,cg),Cg=m*ig+G*sg+2*gc(Mg),yg=j*ug,Og=dc(i,fg),Ng=g*lg+Z*ag+2*gc(yg),Eg=H*pg,Ig=dc(u,hg),kg=x*dg+J*vg+2*gc(Eg),Bg=et*Y,Pg=dc(S,f),Tg=B*K+ft*w+gc(Bg),Ag=ct*R,zg=dc(N,l),Dg=A*tt+ht*b+gc(Ag),Lg=Bg+Ag,qg=vc(Pg,zg),Wg=Tg+Dg+gc(Lg),jg=gg+wg,Fg=vc(mg,bg),Hg=xg+_g+gc(jg),Yg=ng+Mg,Rg=vc(eg,Sg),Xg=og+Cg+gc(Yg),Qg=yg+Eg,Vg=vc(Og,Ig),$g=Ng+kg+gc(Qg),Ug=jg+Yg,Zg=vc(Fg,Rg),Gg=Hg+Xg+gc(Ug),Jg=Qg+Lg,Kg=vc(Vg,qg),tm=$g+Wg+gc(Jg),nm=Ug+Jg,em=vc(Zg,Kg),om=Gg+tm+gc(nm),rm=Ot+bt,cm=vc(wn,cn),im=gc(rm),sm=bn+sn+im,um=y*L,fm=hc(y,o),lm=gc(um),am=st*h+lm,pm=I*q,hm=hc(I,r),dm=gc(pm),vm=at*d+dm,gm=rm+Ot,mm=vc(cm,wn),xm=gc(gm),wm=sm+bn+xm,bm=rm+bt,_m=vc(cm,cn),Mm=gc(bm),Sm=sm+sn+Mm,Cm=nt*vt,ym=dc(C,Gt),Om=gc(Cm),Nm=P*we+2*Om,Em=Cm*D,Im=dc(ym,e),km=Nm*Q+Om*p+2*gc(Em),Bm=rt*Ft,Pm=dc(E,Gn),Tm=gc(Bm),Am=z*ye+2*Tm,zm=Bm*W,Dm=dc(Pm,c),Lm=Am*U+Tm*v+2*gc(zm),qm=F*rm,Wm=dc(s,cm),jm=m*im+G*sm+2*gc(qm),Fm=gt*j,Hm=dc(Jt,i),Ym=Kt*Z+be*g+2*gc(Fm),Rm=Ht*H,Xm=dc(Jn,u),Qm=Kn*J+Oe*x+2*gc(Rm),Vm=Fm+Rm,$m=vc(Hm,Xm),Um=Ym+Qm+gc(Vm),Zm=nt*Y,Gm=dc(C,f),Jm=P*K+ut*w+gc(Zm),Km=rt*R,tx=dc(E,l),nx=z*tt+pt*b+gc(Km),ex=Zm+Km,ox=vc(Gm,tx),rx=Jm+nx+gc(ex),cx=um*gm,ix=dc(fm,mm),sx=am*xm+lm*wm+2*gc(cx),ux=pm*bm,fx=dc(hm,_m),lx=vm*Mm+dm*Sm+2*gc(ux),ax=cx+ux,px=vc(ix,fx),hx=sx+lx+gc(ax),dx=3*(Em+zm),vx=hc(3,vc(Im,Dm)),gx=3*(km+Lm)+2*gc(dx),mx=qm+2*Vm,xx=vc(Wm,pc($m)),wx=jm+2*Um+gc(mx),bx=ax+dx,_x=vc(px,vx),Mx=hx+gx+gc(bx),Sx=mx+ex,Cx=vc(xx,ox),yx=wx+rx+gc(Sx),Ox=bx+Sx,Nx=vc(_x,Cx),Ex=Mx+yx+gc(Ox),Ix=y*D,kx=hc(y,e),Bx=st*p+gc(Ix),Px=I*L,Tx=hc(I,o),Ax=at*h+gc(Px),zx=Ix+Px,Dx=vc(kx,Tx),Lx=Bx+Ax+gc(zx),qx=y*q,Wx=hc(y,r),jx=st*d+gc(qx),Fx=I*W,Hx=hc(I,c),Yx=at*v+gc(Fx),Rx=qx+Fx,Xx=vc(Wx,Hx),Qx=jx+Yx+gc(Rx),Vx=zx+j,$x=vc(Dx,i),Ux=Lx+g+gc(Vx),Zx=Rx+H,Gx=vc(Xx,u),Jx=Qx+x+gc(Zx),Kx=vt*Vx,tw=dc(Gt,$x),nw=we*Ux+2*gc(Kx),ew=Ft*Zx,ow=dc(Gn,Gx),rw=ye*Jx+2*gc(ew),cw=Kx+ew,iw=vc(tw,ow),sw=nw+rw+gc(cw),uw=wt*F,fw=dc(rn,s),lw=Ce*m+gc(uw),aw=cw+uw,pw=vc(iw,fw),hw=sw+lw+gc(aw),dw=y*Y,vw=hc(y,f),gw=st*w+gc(dw),mw=I*R,xw=hc(I,l),ww=at*b+gc(mw),bw=dw+mw,_w=vc(vw,xw),Mw=gw+ww+gc(bw),Sw=aw+bw,Cw=vc(pw,_w),yw=hw+Mw+gc(Sw),Ow=Sw+X;return{coeffs:[lo,or,Lc,tu,dl,xp,Ud,em,Nx,vc(Cw,a)],errBound:[ao,rr,qc,nu,vl,wp,Zd,om,Ex,yw+_+gc(Ow)]}}]],Fi=[[Bc,pi,Ei],[Rc,xi,Ai],[ui,Ci,function(t,n){const e=Mc(t);if(0===St(e[0][0])&&0===St(e[1][0]))return Ai(Uc(t),n);const[[o,r,c,[i]],[s,u,f,[l]]]=Mc(n);if(0===St(o)&&0===St(s))return Ci(t,Uc(n));const{vₓₓₓ:a,vₓₓᵧ:p,vₓᵧᵧ:h,vᵧᵧᵧ:d,vₓₓ:v,vₓᵧ:g,vᵧᵧ:m,vₓ:x,vᵧ:w,v:b}=ei(e),_=zi(i,i),M=Di(i,c),S=Di(i,r),C=Di(i,o),y=zi(i,l),O=Di(i,f),N=Di(i,u),E=Di(i,s),I=Li(c,c),k=Li(c,r),B=Li(c,o),P=Di(l,c),T=Li(c,f),A=Li(c,u),z=Li(c,s),D=Li(r,f),L=Li(r,r),q=Li(r,o),W=Di(l,r),j=Li(r,u),F=Li(r,s),H=Li(o,o),Y=Di(l,o),R=Li(o,f),X=Li(o,u),Q=Li(o,s),V=zi(l,l),$=Di(l,f),U=Di(l,u),Z=Di(l,s),G=Li(f,f),J=Li(f,u),K=Li(s,s),tt=Li(u,u),nt=Li(u,s),et=Li(f,s),ot=Li(o,H),rt=Li(o,K),ct=Li(s,H),it=Li(s,K),st=Li(ot,a),ut=Li(rt,h),ft=Li(ct,p),lt=Li(it,d),at=qi(st,ut),pt=qi(ft,lt),ht=qi(at,pt),dt=qi(Wi(F),X),vt=qi(Wi(X),F),gt=Li(o,dt),mt=Li(s,vt),xt=Li(r,H),wt=Li(u,K),bt=Li(a,xt),_t=Li(d,wt),Mt=Li(p,gt),Ct=Li(h,mt),yt=qi(Mt,Ct),Ot=Di(3,qi(bt,_t)),Nt=qi(yt,Ot),Et=Li(c,Q),It=Li(f,H),kt=Li(r,nt),Bt=Li(c,K),Pt=Li(r,X),Tt=Li(s,L),At=Li(o,et),zt=Li(u,X),Dt=qi(Et,Pt),Lt=qi(It,Tt),qt=qi(kt,At),Wt=qi(Bt,zt),jt=qi(B,L),Ft=qi(et,tt),Ht=qi(Wi(Dt),Lt),Yt=qi(Wi(qt),Wt),Rt=Li(p,Ht),Xt=Li(h,Yt),Qt=Li(o,jt),Vt=Li(s,Ft),$t=Li(a,Qt),Ut=Li(d,Vt),Zt=qi(Rt,Xt),Gt=Di(3,qi($t,Ut)),Jt=qi(Zt,Gt),Kt=qi(F,X),tn=Li(u,L),nn=Wi(Li(c,Kt)),en=qi(tn,nn),on=Wi(qi(E,D)),rn=qi(on,Y),cn=Li(o,rn),sn=qi(en,cn),un=Li(r,tt),fn=Wi(Li(f,Kt)),ln=qi(un,fn),an=Wi(qi(A,Y)),pn=qi(an,E),hn=Li(s,pn),dn=qi(ln,hn),vn=Li(r,L),gn=qi(Wi(k),C),mn=Li(Di(3,o),gn),xn=qi(vn,mn),wn=Li(u,tt),bn=qi(Wi(J),Z),_n=Li(Di(3,s),bn),Mn=qi(wn,_n),Sn=Li(p,sn),Cn=Li(h,dn),yn=qi(Sn,Cn),On=Li(a,xn),Nn=Li(d,Mn),En=qi(On,Nn),In=Li(H,v),kn=Li(K,m),Bn=qi(In,kn),Pn=Li(Q,g),Tn=qi(yn,En),An=qi(Bn,Pn),zn=qi(Tn,An),Dn=qi(j,R),Ln=qi(z,j),qn=Di(i,Kt),Wn=Di(l,Kt),jn=Li(c,Dn),Fn=Li(f,Ln),Hn=qi(Wi(Y),D),Yn=qi(Wi(E),A),Rn=Li(s,I),Xn=Li(o,G),Qn=Li(r,Hn),Vn=Li(u,Yn),$n=Wi(qi(qn,jn)),Un=Wi(qi(Wn,Fn)),Zn=Wi(Di(i,q)),Gn=Wi(Di(l,nt)),Jn=Li(c,jt),Kn=Li(f,Ft),te=Li(q,v),ee=Li(nt,m),oe=qi($n,Rn),re=qi(Un,Xn),ce=qi(oe,Qn),ie=qi(re,Vn),se=qi(Zn,Jn),ue=qi(Gn,Kn),fe=Wi(qi(te,ee)),le=Li(p,ce),ae=Li(h,ie),pe=Li(a,se),he=Li(d,ue),de=qi(le,ae),ve=Di(3,qi(pe,he)),ge=Li(g,Kt),me=qi(de,ve),xe=qi(ge,fe),we=qi(me,xe),be=qi(z,Dn),_e=qi(Wi(B),L),Me=qi(Wi(et),tt),Se=Di(2*i,be),Ce=Di(2*l,be),ye=qi(A,Wi(D)),Oe=qi(D,Wi(A)),Ne=Di(l,_e),Ee=Di(i,Me),Ie=Li(c,ye),ke=Li(f,Oe),Be=Di(i,_e),Pe=Di(l,Me),Te=Li(r,I),Ae=Li(u,G),ze=qi(Se,Ne),De=qi(Ce,Ee),Le=qi(ze,Ie),qe=qi(De,ke),We=qi(Be,Te),je=qi(Pe,Ae),Fe=Li(p,Le),He=Li(h,qe),Ye=Li(a,We),Re=Li(d,je),Xe=qi(Ye,Re),Qe=qi(Fe,He),Ve=qi(Qe,Di(3,Xe)),$e=Li(g,be),Ue=Li(v,_e),Ze=qi($e,Ue),Ge=Li(m,Me),Je=qi(Ze,Ge),Ke=qi(Ve,Je),to=qi(A,D),no=qi(Y,E),eo=qi(k,C),oo=qi(J,Z),ro=qi(Wi(to),Y),co=qi(Wi(to),E),io=qi(Wi(W),T),so=qi(Wi(N),T),uo=qi(eo,k),fo=qi(oo,J),lo=Li(zi(3,i),uo),ao=Li(zi(3,l),fo),po=Li(c,I),ho=Li(f,G),vo=Li(v,eo),go=Li(m,oo),mo=qi(ro,no),xo=qi(co,no),wo=Di(i,mo),bo=Di(l,xo),_o=Li(c,io),Mo=Li(f,so),So=Li(o,x),Co=Li(s,w),yo=qi(wo,_o),Oo=qi(bo,Mo),No=qi(lo,po),Eo=qi(ao,ho),Io=qi(no,to),ko=Wi(qi(vo,go)),Bo=Li(p,yo),Po=Li(h,Oo),To=Li(a,No),Ao=Li(d,Eo),zo=Li(g,Io),Do=qi(Bo,Po),Lo=qi(To,Ao),qo=qi(zo,ko),Wo=qi(So,Co),jo=qi(Do,Lo),Fo=qi(qo,Wo),Ho=qi(jo,Fo),Yo=qi(T,W),Ro=qi(T,N),Xo=qi(Wi(Yo),N),Qo=qi(Wi(Ro),W),Vo=Di(i,Xo),$o=Di(l,I),Uo=Di(l,Qo),Zo=Di(i,G),Go=Di(i,I),Jo=Li(r,_),Ko=Di(l,G),tr=Li(u,V),nr=qi(Vo,$o),er=qi(Uo,Zo),or=qi(Go,Jo),rr=qi(Ko,tr),cr=Li(a,or),ir=Li(d,rr),sr=Di(3,qi(cr,ir)),ur=qi(Yo,N),fr=qi(Wi(S),I),lr=qi(Wi(U),G),ar=Li(p,nr),pr=Li(h,er),hr=Li(g,ur),dr=Li(v,fr),vr=Li(m,lr),gr=Li(r,x),mr=Li(u,w),xr=qi(gr,mr),wr=qi(ar,pr),br=qi(sr,hr),_r=qi(dr,vr),Mr=qi(wr,br),Sr=qi(_r,xr),Cr=qi(Mr,Sr),yr=qi(P,O),Or=Di(i,p),Nr=Di(l,h),Er=qi(yr,P),Ir=qi(yr,O),kr=Li(c,_),Br=Li(kr,a),Pr=Li(f,V),Tr=Li(Pr,d),Ar=Li(g,yr),zr=Li(M,v),Dr=Li($,m),Lr=qi(zr,Dr),qr=Li(c,x),Wr=Li(f,w),jr=qi(qr,Wr),Fr=Li(Or,Er),Hr=Li(Nr,Ir),Yr=qi(Fr,Hr),Rr=Di(3,qi(Br,Tr)),Xr=qi(Ar,Wi(Lr)),Qr=qi(Yr,Rr),Vr=qi(Xr,jr),$r=qi(Qr,Vr),Ur=Di(i,a),Zr=Di(l,p),Gr=qi(Ur,Zr),Jr=Di(i,h),Kr=Di(l,d),tc=qi(Jr,Kr),nc=qi(Gr,v),ec=qi(tc,m),oc=Li(_,nc),rc=Li(V,ec),cc=qi(oc,rc),ic=Li(y,g),sc=qi(cc,ic),uc=Di(i,x),fc=Di(l,w),lc=qi(uc,fc),ac=qi(sc,lc);return[ht,Nt,Jt,zn,we,Ke,Ho,Cr,$r,qi(ac,b)].map(ne)}]];function Hi(t,n){const{coeffs:e,errBound:o}=ji[t.length-2][n.length-2](t,n);return{coeffs:e,errBound:o,getPExact:()=>Fi[t.length-2][n.length-2](t,n)}}const{abs:Yi}=Math;function Ri(t,n){if(0===n[0]&&0===n[1])return[0,0];if(0===n[0]&&1===n[1])return[0,0];const e=Yi(n[1]);if(4===t.length){const[[n,o],[r,c],[i,s],[u,f]]=t,l=Yi(n),a=Yi(o),p=Yi(r),h=Yi(c),d=Yi(i),v=Yi(s),g=l+(p+l)*e,m=p+(d+p)*e,x=g+(m+g)*e,w=a+(h+a)*e,b=h+(v+h)*e,_=w+(b+w)*e;return[x+(m+(d+(Yi(u)+d)*e+m)*e+x)*e,_+(b+(v+(Yi(f)+v)*e+b)*e+_)*e]}if(3===t.length){const[[n,o],[r,c],[i,s]]=t,u=Yi(n),f=Yi(o),l=Yi(r),a=Yi(c),p=u+(l+u)*e,h=f+(a+f)*e;return[p+(l+(Yi(i)+l)*e+p)*e,h+(a+(Yi(s)+a)*e+h)*e]}if(2===t.length){const[[n,o],[r,c]]=t,i=Yi(n),s=Yi(o);return[i+(Yi(r)+i)*e,s+(Yi(c)+s)*e]}if(1===t.length)return[0,0];throw new Error("The given bezier curve must be of order <= 3.")}const Xi=Number.EPSILON,Qi=Number.EPSILON/2,Vi=Qi*Qi,$i=function(){const t=1*Qi;return t/(1-t)}(),Ui=function(){const t=3*Vi;return t/(1-t)}(),{abs:Zi}=Math,Gi=[[0,0],[0,0]];const{min:Ji,max:Ki}=Math;function ts(t,n){return n[0]!==n[1]?4===t.length?function(t,n){const{ps:e,_ps:o}=On(t,n[0],n[1]),r=e[0][0],c=e[1][0],i=e[2][0],s=e[3][0],u=9*Qi*o[0][0],f=9*Qi*o[1][0],l=9*Qi*o[2][0],a=9*Qi*o[3][0],p=e[0][1],h=e[1][1],d=e[2][1],v=e[3][1],g=9*Qi*o[0][1],m=9*Qi*o[1][1],x=9*Qi*o[2][1],w=9*Qi*o[3][1],b=Ji(r-u,c-f,i-l,s-a),_=Ki(r+u,c+f,i+l,s+a);return[[b,Ji(p-g,h-m,d-x,v-w)],[_,Ki(p+g,h+m,d+x,v+w)]]}(t,n):3===t.length?function(t,n){const{ps:e,_ps:o}=ln(t,n[0],n[1]),r=e[0][0],c=e[1][0],i=e[2][0],s=5*Qi*o[0][0],u=5*Qi*o[1][0],f=5*Qi*o[2][0],l=e[0][1],a=e[1][1],p=e[2][1],h=5*Qi*o[0][1],d=5*Qi*o[1][1],v=5*Qi*o[2][1],g=Ji(r-s,c-u,i-f),m=Ki(r+s,c+u,i+f);return[[g,Ji(l-h,a-d,p-v)],[m,Ki(l+h,a+d,p+v)]]}(t,n):function(t,n){const{ps:e,_ps:o}=function(t,n,e){return 0===n?1===e?{ps:t,_ps:Gi}:function(t,n){const e=t[0],o=t[1],r=e[0],c=e[1],i=o[0],s=o[1],u=[[r,c],[n*(i-r)+r,n*(s-c)+c]],f=Zi(n),l=Zi(r),a=Zi(i),p=Zi(c);return{ps:u,_ps:[[0,0],[f*(a+l)+l,f*(Zi(s)+p)+p]]}}(t,e):1===e?function(t,n){const e=t[0],o=t[1],r=e[0],c=e[1],i=o[0],s=o[1],u=[[n*(i-r)+r,n*(s-c)+c],[i,s]],f=Zi(n),l=Zi(r),a=Zi(i),p=Zi(c);return{ps:u,_ps:[[f*(a+l)+l,f*(Zi(s)+p)+p],[0,0]]}}(t,n):function(t,n,e){const o=t[0],r=t[1],c=o[0],i=o[1],s=r[0],u=r[1],f=[[n*(s-c)+c,n*(u-i)+i],[e*(s-c)+c,e*(u-i)+i]],l=Zi(n),a=Zi(e),p=Zi(c),h=Zi(s),d=Zi(i),v=Zi(u);return{ps:f,_ps:[[l*(h+p)+p,l*(v+d)+d],[a*(h+p)+p,a*(v+d)+d]]}}(t,n,e)}(t,n[0],n[1]),r=e[0][0],c=e[1][0],i=3*Qi*o[0][0],s=3*Qi*o[1][0],u=e[0][1],f=e[1][1],l=3*Qi*o[0][1],a=3*Qi*o[1][1],p=Ji(r-i,c-s),h=Ki(r+i,c+s);return[[p,Ji(u-l,f-a)],[h,Ki(u+l,f+a)]]}(t,n):function(t,n){const e=t[0],o=t[t.length-1];if(0===n)return[e,e];if(1===n)return[o,o];const r=Ke(t,n);let c;if(4===t.length)c=Ri(t,[0,n]).map(t=>8*$i*t);else if(3===t.length)c=Ri(t,[0,n]).map(t=>5*$i*t);else if(2===t.length)c=Ri(t,[0,n]).map(t=>2*$i*t);else if(1===t.length)return[r,r];return[[r[0]-c[0],r[1]-c[1]],[r[0]+c[0],r[1]+c[1]]]}(t,n[0])}const ns=134217729;function es(t,n){const e=t[0],o=t[1],r=n[0],c=n[1],i=o/c,s=c*i,u=ns*c,f=u-(u-c),l=c-f,a=ns*i,p=a-(a-i),h=i-p,d=r*i,v=s+d,g=d-(v-s)+(l*h-(s-f*p-l*p-f*h)),m=v+g,x=(o-m+(e-(g-(m-v))))/c,w=i+x;return[x-(w-i),w]}const os=es,rs=Number.EPSILON/2,cs=rs*rs,{abs:is}=Math,ss=[0,1],us=dn,fs=No,ls=hn,as=le,ps=ie,hs=fr,ds=function(t,n,e,o){const r=t[0],c=t[1],i=n[0],s=n[1],u=os(t,n),f=Math.abs(r+c),l=Math.abs(i+s),a=l-rs*l-o;return a<=0?{est:u,err:Number.POSITIVE_INFINITY}:{est:u,err:(l*e+f*o)/a**2+9*cs*Math.abs(f/l)}},vs=Ho,gs=Ro;const ms=qo,xs=No,{min:ws,max:bs}=Math;function _s(t,n,e,o){const{ps:r}=t,c=Hi(n,r);if(void 0===c)return;const{coeffs:i,errBound:s,getPExact:u}=c,f=et(u),l=Je(i,e[0],e[1],s,f);if(void 0===l||0===l.length)return;const a=l[0],p=function(t,n,e){const o=ts(t,[e.tS,e.tE]),r=n[0],c=n[n.length-1],i=c[0]-r[0],s=c[1]-r[1],[[u,f],[l,a]]=o,p=0===s,h=p?r[0]:r[1],d=p?i:s,v=((p?u:f)-h)/d,g=((p?l:a)-h)/d;let m=ws(v,g)*(1-$n),x=bs(v,g)*(1+$n);return{multiplicity:1,t:(m+x)/2,tS:m,tE:x}}(r,n,a);return{xPs:{compensated:void 0,ri:a,getPExact:f,kind:1,p:void 0,curve:t},riSide:p,sideIdx:o,ps:r}}const Ms=et(function(t,n,e,o){const r=t.x.curve,c=t.x.ri.tS,i=e?t.next:t.prev,s=e?1:0,u=r===i.x.curve&&(e?c<i.x.ri.tS:c>i.x.ri.tS)?i.x.ri.tS:s;let f;for(let t=0;t<o.length;t++){const e=o[t],i=_s(r,n[e],c<u?[c,u]:[u,c],e);void 0!==i&&(f=i)}return f});function Ss(t){const n=(t=ne(t)).length;return 2===n?t:n<=1?[0,t[0]]:[t[n-2],t[n-1]]}const{abs:Cs,min:ys,max:Os,log2:Ns,ceil:Es}=Math;function Is(t,n){const{tS:e,tE:o}=t,r=o-e;if(0===r)return[{tS:[0,e],tE:[0,e],multiplicity:t.multiplicity}];const c=2**Es(Ns(r)),i=function(t,n,e){return he(pe(t,e),n)}(n,c,e),s=i.map(Ss),u=s.map(t=>t[1]*$n**2),f=Je(s,0,1,u,()=>i),l=[];for(const t of f)l.push({tS:Nt(e,t.tS*c),tE:Nt(e,t.tE*c),multiplicity:t.multiplicity});return l}function ks(t,n){let e;const{_x_:o,dir:r,idx:c,swapped:i}=t,{_x_:s,dir:u,idx:f,swapped:l}=n,a=Ts(o.container.bigBox),p=1===r!=!!i,h=1===u!=!!l,d=t.oSideIdxs??Lo(t,o,a,p),v=n.oSideIdxs??Lo(n,s,a,h);if(1===d.length&&1===v.length&&(t.oSideIdx=t.oSideIdx??d[0],n.oSideIdx=n.oSideIdx??v[0],e=d[0]-v[0],0!==e))return e;const g=t.oFSC??Ms(o,a,p,d),m=n.oFSC??Ms(s,a,h,v),{sideIdx:x,riSide:w}=g,{sideIdx:b,riSide:_}=m;if(e=x-b,0!==e)return t.oSideIdx=x,n.oSideIdx=b,e;if(e=function(t,n){return t.tS<=n.tE&&n.tS<=t.tE}(w,_)?0:w.tS<_.tS?-1:1,0!==e)return e;const M=t.oFSCE??Ps(g,a),S=n.oFSCE??Ps(m,a);return e=function(t,n){return yo(t.tS,n.tE)<=0&&yo(n.tS,t.tE)<=0}(M,S)?0:yo(M.tS,S.tS),0!==e?e:(e=r-u,0!==e?e:1===r?c-f:f-c)}const Bs=et(Is),Ps=et(function(t,n){const{xPs:e,ps:o,sideIdx:r}=t,{ri:c,getPExact:i}=e,s=Bs(c,i())[0];return function(t,n,e){const o=function(t,n){return n[0][0]!==n[1][0]||n[0][1]!==n[1][1]?4===t.length?function([[t,n],[e,o],[r,c],[i,s]],[u,f]){const l=us(f,u),a=3*Vi*is(l[1]),p=us(ss,u),h=3*Vi*is(p[1]),d=ds(l,p,a,h);f=fs(d.est,d.err);const v=us(ss,u),g=as(u,u),m=as(u,v),x=as(v,v),w=as(g,u),b=as(g,v),_=as(x,u),M=as(x,v),S=us(ss,f),C=as(f,f),y=as(f,S),O=as(S,S),N=as(C,f),E=as(C,S),I=as(O,f),k=as(O,S),B=is(u[1]),P=is(v[1]),T=is(g[1]),A=is(m[1]),z=is(x[1]),D=is(w[1]),L=is(b[1]),q=is(_[1]),W=is(M[1]),j=is(f[1]),F=is(S[1]),H=is(C[1]),Y=is(y[1]),R=is(O[1]),X=is(N[1]),Q=is(E[1]),V=is(I[1]),$=is(k[1]);let U=is(t),Z=is(n),G=is(e),J=is(o),K=is(r),tt=is(c),nt=is(i),et=is(s);const ot=ls(ps(i,u),ps(r,v)),rt=ls(ls(ps(i,g),ps(2*r,m)),ps(e,x)),ct=ls(ls(ps(i,w),ps(t,M)),ps(3,ls(ps(r,b),ps(e,_)))),it=ls(as(rt,f),as(ct,S)),st=ls(ls(as(ot,C),as(ct,O)),as(hs(rt),y)),ut=ls(ls(ps(i,N),as(ct,k)),ps(3,ls(as(ot,E),as(rt,I)))),ft=is(ct[1]),lt=nt*B+K*P,at=nt*T+2*K*A+G*z;U=nt*D+U*W+3*(K*L+G*q),G=at*j+ft*F,K=lt*H+ft*R+2*at*Y,nt=nt*X+ft*$+3*(lt*Q+at*V),U*=11*Vi,G*=15*Vi,K*=20*Vi,nt*=22*Vi;const pt=ls(ps(s,u),ps(c,v)),ht=ls(ls(ps(s,g),ps(2*c,m)),ps(o,x)),dt=ls(ls(ps(s,w),ps(n,M)),ps(3,ls(ps(c,b),ps(o,_)))),vt=ls(as(ht,f),as(dt,S)),gt=ls(ls(as(pt,C),as(dt,O)),as(hs(ht),y)),mt=ls(ls(ps(s,N),as(dt,k)),ps(3,ls(as(pt,E),as(ht,I)))),xt=is(dt[1]),wt=et*B+tt*P,bt=et*T+2*tt*A+J*z;Z=et*D+Z*W+3*(tt*L+J*q),J=bt*j+xt*F,tt=wt*H+xt*R+2*bt*Y,et=et*X+xt*$+3*(wt*Q+bt*V),Z*=11*Vi,J*=15*Vi,tt*=20*Vi,et*=22*Vi;const _t=vs(vs(fs(ct,-U),fs(it,-G)),vs(fs(st,-K),fs(ut,-nt))),Mt=gs(gs(fs(ct,+U),fs(it,+G)),gs(fs(st,+K),fs(ut,+nt)));return[[_t,vs(vs(fs(dt,-Z),fs(vt,-J)),vs(fs(gt,-tt),fs(mt,-et)))],[Mt,gs(gs(fs(dt,+Z),fs(vt,+J)),gs(fs(gt,+tt),fs(mt,+et)))]]}(t,n):3===t.length?function([[t,n],[e,o],[r,c]],[i,s]){const u=us(s,i),f=3*Vi*is(u[1]),l=us(ss,i),a=3*Vi*is(l[1]),p=ds(u,l,f,a);s=fs(p.est,p.err);const h=us(ss,i),d=as(i,i),v=as(i,h),g=as(h,h),m=us(ss,s),x=as(s,s),w=as(s,m),b=as(m,m),_=is(i[1]),M=is(h[1]),S=is(d[1]),C=is(v[1]),y=is(g[1]),O=is(s[1]),N=is(m[1]),E=is(x[1]),I=is(w[1]),k=is(b[1]);let B=is(t),P=is(n),T=is(e),A=is(o),z=is(r),D=is(c);const L=ls(ls(ps(r,d),ps(2*e,v)),ps(t,g)),q=ls(ps(r,i),ps(e,h)),W=L,j=ls(as(s,q),as(m,L)),F=ls(ls(ps(r,x),as(hs(w),q)),as(b,L)),H=z*S+2*T*C+B*y,Y=z*_+T*M;B=H,T=O*Y+N*H,z=E*r+2*I*Y+k*H,B*=7*Vi,T*=11*Vi,z*=14*Vi;const R=ls(ls(ps(c,d),ps(2*o,v)),ps(n,g)),X=ls(ps(c,i),ps(o,h)),Q=R,V=ls(as(s,X),as(m,R)),$=ls(ls(ps(c,x),as(hs(w),X)),as(b,R)),U=D*S+2*A*C+P*y,Z=D*_+A*M;P=U,A=O*Z+N*U,D=E*c+2*I*Z+k*U,P*=7*Vi,A*=11*Vi,D*=14*Vi;const G=vs(vs(fs(W,-B),fs(j,-T)),fs(F,-z)),J=gs(gs(fs(W,+B),fs(j,+T)),fs(F,+z));return[[G,vs(vs(fs(Q,-P),fs(V,-A)),fs($,-D))],[J,gs(gs(fs(Q,+P),fs(V,+A)),fs($,+D))]]}(t,n):function([[t,n],[e,o]],[r,c]){const i=us(c,r),s=3*Vi*is(i[1]),u=us(ss,r),f=3*Vi*is(u[1]),l=ds(i,u,s,f);c=fs(l.est,l.err);const a=us(ss,r),p=us(ss,c),h=is(r[1]),d=is(a[1]),v=is(c[1]),g=is(p[1]);let m=is(t),x=is(n),w=is(e),b=is(o);const _=ls(ps(e,r),ps(t,a)),M=ls(ps(e,c),as(_,p));m=w*h+m*d,w=w*v+m*g,m*=3*Qi,w*=7*Qi;const S=ls(ps(o,r),ps(n,a)),C=ls(ps(o,c),as(S,p));x=b*h+x*d,b=b*v+x*g,x*=3*Qi,b*=7*Qi;const y=vs(fs(_,-m),fs(M,-w)),O=gs(fs(_,+m),fs(M,+w));return[[y,vs(fs(S,-x),fs(C,-b))],[O,gs(fs(S,+x),fs(C,+b))]]}(t,n):function(t,n){const e=t[0],o=t[t.length-1];if(0===n[0]&&0===n[1]){const t=[0,e[0]],n=[0,e[1]];return[[t,n],[t,n]]}if(0===n[0]&&1===n[1]){const t=[0,o[0]],n=[0,o[1]];return[[t,n],[t,n]]}const r=To(t,n);let c;if(4===t.length)c=Ri(t,n).map(t=>16*Ui*t);else if(3===t.length)c=Ri(t,n).map(t=>10*Ui*t);else if(2===t.length)c=Ri(t,n).map(t=>4*Ui*t);else if(1===t.length)return[r,r];return[[fs(r[0],-c[0]),fs(r[1],-c[1])],[fs(r[0],+c[0]),fs(r[1],+c[1])]]}(t,n[0])}(t,[e.tS,e.tE]),r=n[0],c=n[n.length-1],i=c[0]-r[0],s=c[1]-r[1],[[u,f],[l,a]]=o,p=0===s,h=p?r[0]:r[1],d=p?i:s,v=p?l:a,g=jo(ms(p?u:f,h),d),m=jo(ms(v,h),d);return{tS:ms(Ho(g,m),6*Zn),tE:xs(Ro(g,m),6*Zn),multiplicity:1}}(o,n[r],s)}),Ts=et(function(t){const[[n,e],[o,r]]=t;return[[[o,e],[n,e]],[[n,e],[n,r]],[[n,r],[o,r]],[[o,r],[o,e]]]});function As(t){for(let n of t)if(0===n.x.kind)return!0;return!1}const zs=So(function(t){const{inOuts:n,xs:e}=t;(n.length>2||As(t.xs))&&n.sort(ks);let o=n[n.length-1];for(let t=0;t<n.length;t++){const e=n[t];e.prevAround=o,o.nextAround=e,o=e}}),{abs:Ds,min:Ls}=Math;function qs(t,n,e){let o=2**(t+1);const[r,c]=e;let i=-o,s=-o,u=+o,f=+o;for(const[[t,e],[o,l]]of n){let n=0,a=0;r<t?(n=1,a=t):r>o&&(n=-1,a=o);let p=0,h=0;c<e?(p=1,h=e):c>l&&(p=-1,h=l);let d=!1,v=!1;if(0!==n&&0===p)d=!0;else if(0!==p&&0===n)v=!0;else if(0!==n&&0!==p){const t=Ds(a-r),n=Ds(h-c);d=t>=n,v=n>=t}d&&(n>0?a<u&&(u=a):a>i&&(i=a)),v&&(p>0?h<f&&(f=h):h>s&&(s=h))}const l=.5;return[[r+(i-r)*l,c+(s-c)*l],[r+(u-r)*l,c+(f-c)*l]]}const Ws=So(function(t,n){for(const e of t){const[[t,o],[r,c]]=e.box,i=[(t+r)/2,(o+c)/2],s=qs(n,[...e.xs.map(t=>t.next.container.box),...e.xs.map(t=>t.prev.container.box)],i);e.bigBox=s}return t});function js(t,n,e=t=>void 0!==t){const o=[];for(let r=0;r<t.length;r++){const c=t[r],i=[];for(let t=0;t<c.length;t++)e(n(c[t]))&&i.push(n(c[t]));o.push(i)}return o}function Fs(t){let n=t[t.length-1];for(let e=0;e<t.length;e++){const o=t[e];o.prevAround=n,n.nextAround=o,n=o}}const Hs=So(function(t,n,e){const o=js(t,t=>({x:t}));let r=function(t,n){const e=2**n;return t.map(t=>{const{p:n}=t[0].x;return{xs:t,box:[[n[0]-e,n[1]-e],[n[0]+e,n[1]+e]]}})}(o,e);r=Co(r),r=function(t,n){const e=2**(n-1),o=t=>fo(t/e)*e,r=t=>lo(t/e)*e;return t.map(t=>{const{xs:n,box:e}=t,[c,i]=e;return{xs:n,box:[c.map(o),i.map(r)]}})}(r,e),function(t){for(const n of t)for(const t of n.xs)t.container=n}(r),function(t){const n=[];for(const e of t)for(const t of e){const{idx:e}=t.x.curve.loop;(n[e]??=[]).push(t)}for(const t of n){if(void 0===t||0===t.length)continue;t.sort(uo);const n=t.length;for(let e=0;e<n;e++){const o=t[e],{container:r}=o;let c=(e+1)%n;for(;c!==e&&t[c].container===r;)c=(c+1)%n;let i=(e-1+n)%n;for(;i!==e&&t[i].container===r;)i=(i-1+n)%n;let s=o;s.next=t[c],s.prev=t[i],t[(e-1+n)%n].container!==r&&(s.in_={dir:-1,_x_:o,loop:o.x.curve.loop.beziers}),t[(e+1)%n].container!==r&&(s.out={dir:1,_x_:o,loop:o.x.curve.loop.beziers})}}}(o);for(const t of r){const n=[];for(const e of t.xs)e.in_&&n.push(e.in_),e.out&&n.push(e.out);t.inOuts=n;for(const e of n)e.container=t}const c=Ws(r,n);return function(t){let n=0;for(const e of t)for(const t of e.inOuts)t.idx=++n}(c),function(t){for(const n of t)for(const t of n.inOuts)if(1===t.dir){const n=t;let{_x_:e}=n;e=e.next,n.twin=e.in_,n.idx=n.twin.idx}else{const n=t;let{_x_:e}=n;e=e.prev,n.twin=e.out,n.idx=n.twin.idx}}(c),c.forEach(zs),c.forEach(t=>Fs(t.inOuts)),r});function Ys(t,n,e){const o=(t[0]-e[0])*(n[1]-e[1]),r=(t[1]-e[1])*(n[0]-e[0]),c=o-r;let i;if(o>0){if(r<=0)return c;i=o+r}else{if(!(o<0))return c;if(r>=0)return c;i=-o-r}return Math.abs(c)>=3330669073875472e-31*i?c:function(t,n,e,o){const r=t[0]-e[0],c=n[0]-e[0],i=t[1]-e[1],s=n[1]-e[1],u=Mt(me(r,s),me(i,c));let f=bt(u);if(Math.abs(f)>=2220446049250315e-31*o)return f;const l=dt(t[0],e[0])[0],a=dt(n[0],e[0])[0],p=dt(t[1],e[1])[0],h=dt(n[1],e[1])[0];if(0===l&&0===p&&0===a&&0===h)return f;const d=1109335647967049e-46*o+3330669073875471e-31*Math.abs(f);if(f+=r*h+s*l-(i*a+c*p),Math.abs(f)>=d)return f;const v=vt(u,Mt(me(l,s),me(p,c))),g=vt(v,Mt(me(r,h),me(i,a)));let m=vt(g,Mt(me(l,h),me(p,a)));return m=ne(m),m[m.length-1]}(t,n,e,i)}function Rs(t){if(4===t.length)return 0===Ys(t[0],t[1],t[2])&&0===Ys(t[1],t[2],t[3])&&0===Ys(t[0],t[2],t[3]);if(3===t.length)return 0===Ys(t[0],t[1],t[2]);if(t.length<=2)return!0;throw new Error("The given bezier curve must be of order <= 3.")}function Xs(t){if(!Rs(t))return!1;const n=t.map(t=>t[0]),e=t.map(t=>t[1]);return!(Qs(n)&&Qs(e))}function Qs(t){return function(t){for(let n=1;n<t.length;n++)if(t[n-1]>t[n])return!1;return!0}(t)||function(t){for(let n=1;n<t.length;n++)if(t[n-1]<t[n])return!1;return!0}(t)}function Vs(t,n){const e=(2**(53-n)+1)*t;return e-(e-t)}const{floor:$s,log2:Us,abs:Zs}=Math;function Gs(t,n){const e=n[0]-t[0],o=n[1]-t[1];return e*e+o*o}function Js(t,n){const e=n/Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[e*t[0],e*t[1]]}function Ks(t){const n=t[0][0],e=t[0][1];for(let o=1;o<t.length;o++)if(n!==t[o][0]||e!==t[o][1])return!1;return!0}const tu=me,nu=vt,{abs:eu}=Math;function ou(t){const[[n,e],[o,r],[c,i],[s,u]]=t,f=s+3*o,l=n+3*c,a=f-l,p=eu(3*o)+eu(f)+(eu(3*c)+eu(l))+eu(a);if(eu(a)-Qi*p>0)return!1;const h=u+3*r,d=e+3*i,v=h-d,g=eu(3*r)+eu(h)+(eu(3*i)+eu(d))+eu(v);return!(eu(v)-Qi*g>0)&&0===St(Mt(nu([s],tu(3,o)),nu([n],tu(3,c))))&&0===St(Mt(nu([u],tu(3,r)),nu([e],tu(3,i))))}function ru(t){for(let n=0;n<t.length-1;n++)for(let e=n+1;e<t.length;e++)if(t[n][0]===t[e][0]&&t[n][1]===t[e][1])return!1;return!0}const{abs:cu}=Math;function iu(t,n,e){if(void 0!==t&&!Ks(t)){if(2===t.length)return t;if(3===t.length){if(ru(t))return Rs(t)?[t[0],t[2]]:t;if(uu(t[0],t[2]))return;return[t[0],t[2]]}if(ru(t)){const o=su(t);if(void 0===o)return;return function(t,n){if(t===n)return!0;if(t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e][0]!==n[e][0]||t[e][1]!==n[e][1])return!1;return!0}(o,t)?t:iu(o,n,e)}if(uu(t[0],t[3])){if(Rs(t))return;return t}if(Rs(t))return[t[0],t[3]];if(uu(t[0],t[1])&&uu(t[1],t[2])||uu(t[1],t[2])&&uu(t[2],t[3])||uu(t[0],t[1])&&uu(t[2],t[3]))return iu([t[0],t[t.length-1]],n,e);if(uu(t[0],t[2])||uu(t[1],t[3])||uu(t[1],t[2]))return t;if(uu(t[0],t[1])){if(Gs(t[1],t[2])<4*n)return[t[0],t[2],t[2],t[3]];{const o=Js(rt(t[1],t[2]),2*n),r=ft(t[1],o);return su([t[0],e(r),t[2],t[3]])}}if(uu(t[2],t[3])){if(Gs(t[2],t[1])<4*n)return[t[0],t[1],t[1],t[3]];{const o=Js(rt(t[2],t[1]),2*n),r=ft(t[2],o);return su([t[0],t[1],e(r),t[3]])}}}}function su(t){return Rs(t)?[t[0],t[3]]:ou(t)?Uc(t):t}function uu(t,n){return t[0]===n[0]&&t[1]===n[1]}function fu(t){return t}function lu(t){const n=function(t){const n=t[0],e=t[t.length-1];let o,r;if(n[0]<e[0]?(o={ts:[0,0],box:[n,n]},r={ts:[1,1],box:[e,e]}):(o={ts:[1,1],box:[e,e]},r={ts:[0,0],box:[n,n]}),2===t.length)return{minX:o,maxX:r};const[c]=pt(t),i=Je(c,0,1)||[];for(let n=0;n<i.length;n++){const e=i[n],c=[e.tS,e.tE],s=ts(t,c);s[0][0]<o.box[0][0]&&(o={ts:c,box:s}),s[1][0]>r.box[0][0]&&(r={ts:c,box:s})}return{minX:o,maxX:r}}(t),e=function(t){const n=t[0],e=t[t.length-1];let o,r;if(n[1]<e[1]?(o={ts:[0,0],box:[n,n]},r={ts:[1,1],box:[e,e]}):(o={ts:[1,1],box:[e,e]},r={ts:[0,0],box:[n,n]}),2===t.length)return{minY:o,maxY:r};const[,c]=pt(t),i=Je(c,0,1)||[];for(let n=0;n<i.length;n++){const e=i[n],c=[e.tS,e.tE],s=ts(t,c);s[0][1]<o.box[0][1]&&(o={ts:c,box:s}),s[1][1]>r.box[0][1]&&(r={ts:c,box:s})}return{minY:o,maxY:r}}(t);return[[n.minX.box[0][0],e.minY.box[0][1]],[n.maxX.box[1][0],e.maxY.box[1][1]]]}function au(t){let n=0;for(let e=0;e<t.length-1;e++)n+=nn(t[e],t[e+1]);return n}const{sqrt:pu}=Math;function hu(t){const[n,e]=t[0],[o,c]=t[t.length-1];let i,s;const u=au(t);if(256*Gs(t[0],t[t.length-1])<u*u){const[o,r]=Ke(t,.5),c=pu((o-n)*(o-n)+(r-e)*(r-e));i=(r-e)/c,s=(o-n)/c}else{const t=pu((o-n)*(o-n)+(c-e)*(c-e));i=(c-e)/t,s=(o-n)/t}const f=function(t,n,e){const o=ft(t[0].map(t=>-t));return lu(t.map(t=>r(-n,e,o(t))))}(t,i,s),[[l,a],[p,h]]=f,d=[f[0],[p,a],f[1],[l,h]],v=r(i,s);return d.map(n=>ft(t[0],v(n)))}function du(t,n,e){const o=n[0]-t[0],r=n[1]-t[1];return o*(e[0]-n[0])+r*(e[1]-n[1])}const vu=function(t,n){if(0===t.length)return;const e=t.slice(),o=function(t){let n,e=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY];for(let o=0;o<t.length;o++){const r=t[o][1];(r<e[1]||r===e[1]&&t[o][0]<e[0])&&(n=o,e=t[o])}return n}(e),[r]=e.splice(o,1);e.sort((t,n)=>{let e=-Ys(r,t,n);return 0!==e?e:(e=t[1]-n[1],0!==e?e:t[0]-n[0])}),e.unshift(r);const c=function(t){const n=[t[0]],e=t.length;for(let o=1;o<t.length;o++){const r=t[(o+e-1)%e],c=t[o];r[0]===c[0]&&r[1]===c[1]||n.push(c)}return n}(e),i=[];for(const t of c){for(;i.length>=2&&Ys(i[i.length-2],i[i.length-1],t)<0;)i.pop();i.push(t)}if(n||i.length<3)return i;const s=[];{const t=i.length;for(let n=0;n<t;n++){const e=(n+1)%t,o=i[(n+t-1)%t],r=i[n],c=i[e];(0!==Ys(o,r,c)||du(o,r,c)<0)&&s.push(r)}}return s},gu=et(lu),mu=So(function(t,n){const e=t.slice().map(function(t,n,e=!0){const o=2**(t-n),r=e?function(t,n){const e=function(t,n){return function(e){const o=$s(Us(Zs(e))),r=n-t+o+1;return r<=0?0:n>=53?e:Vs(e,r)}}(t,n);return function(t){const n=e(t[0]),o=e(t[1]);return n===t[0]&&o===t[1]?t:[n,o]}}(t,n):fu;return t=>{const n=[];for(let e=0;e<t.length;e++){let c=t[e].slice();const i=n[n.length-1],s=i?i[i.length-1]:r(t[0][0]);c[0]=s,c=c.map(t=>r(t)),Xs(c)&&(c=[c[0],c[c.length-1]]),c=iu(c,o,r),void 0!==c&&n.push(c)}const e=n.length;if(!e)return[];const c=n[e-1];return c[c.length-1]=n[0][0],n}}(n,46)).filter(t=>t.length>0);return"undefined"!=typeof _debug_&&(_debug_.timing.normalize=performance.now()-_debug_.timing.timingStart),function(t){if("undefined"!=typeof _debug_)for(const n of t){_debug_.elems.loopPre.push(...t),_debug_.elems.loopsPre.push(t);for(const t of n){const n=gu(t),e=hu(t),o=vu(t,!1);_debug_.elems.bezier_.push(t),_debug_.elems.looseBoundingBox_.push(n),_debug_.elems.tightBoundingBox_.push(e),_debug_.elems.boundingHull_.push(o)}}}(e),e}),{max:xu,abs:wu}=Math;function bu(t,n){return t[1]>n[1]||!(t[1]<n[1])&&t[0]>=n[0]}function _u(t){const{ps:n,ts:e}=t;return U(n,e[0],e[1])}const{min:Mu,max:Su}=Math,Cu=et(function(t){const n=t.map(no);return{minX:Mu(...n.map(t=>t.box[0][0])),maxX:Su(...n.map(t=>t.box[1][0])),minY:Mu(...n.map(t=>t.box[0][1])),maxY:Su(...n.map(t=>t.box[1][1]))}});function yu(t,n){let e=0,o=t.length;for(;e<o;){const r=e+o>>>1;t[r]<n?e=r+1:o=r}return e}const Ou=et(function(t){const n=new Set,e=new Array(t.length);for(let o=0;o<t.length;o++){const{ps:r}=t[o],[[,c],[,i]]=gu(r);e[o]=[c,i],n.add(c),n.add(i)}const o=Array.from(n).sort((t,n)=>t-n),r=0===o.length?0:2*o.length-1,c=new Array(r);for(let t=0;t<r;t++)c[t]=[];for(let n=0;n<t.length;n++){const[r,i]=e[n],s=2*yu(o,r),u=2*yu(o,i);for(let e=s;e<=u;e++){const o=t[n];c[e].push(o)}}return{ys:o,slabs:c}}),{sign:Nu}=Math;function Eu(t,n){const e=0===n?t:t.toReversed(),o=[e[0]?.[1],e[1]?.[1],e[2]?.[1],e[3]?.[1]];let r,c;return r=o[1],c=Nu(r),0!==c?c:(r=o[2],void 0===r?0:(c=Nu(r),0!==c?c:(r=o[3],void 0===r?0:Nu(r))))}function Iu(t,n,e){return 0===e?0===n?function(t){return 4===t.length?function(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[u-e+3*(r-i),3*(i+e-2*r),3*(r-e),e]}(t):3===t.length?function(t){const[[n,e],[o,r],[c,i]]=t;return[i+e-2*r,2*(r-e),e]}(t):function(t){const[[n,e],[o,r]]=t;return[r-e,e]}(t)}(t):1===n?function(t){const n=t[1][1];if(2===t.length)return[n];const e=t[2][1];return 3===t.length?[e-2*n,2*n]:[t[3][1]+3*(n-e),3*(e-2*n),3*n]}(t):2===n?function(t){if(2===t.length)return[];const n=t[2][1];return 3===t.length?[n]:[t[3][1]-3*n,3*n]}(t):function(t){return t.length<=3?[]:[t[3][1]]}(t):0===n?1===e?function(t){const n=t[0][1];if(2===t.length)return[-n];const e=t[1][1];return 3===t.length?[-2*e+n,-n]:[3*(e-t[2][1])-n,-3*e+2*n,-n]}(t):2===e?function(t){if(2===t.length)return[];const n=t[0][1];return 3===t.length?[n]:[3*t[1][1]-n,n]}(t):function(t){return t.length<=3?[]:[-t[0][1]]}(t):1===n&&1===e?function(t){if(2===t.length)return[];const n=t[1][1];return 3===t.length?[-2*n]:[3*(n-t[2][1]),-3*n]}(t):2===n&&1===e?function(t){return t.length<=3?[]:[-3*t[2][1]]}(t):1===n&&2===e?function(t){return t.length<=3?[]:[3*t[1][1]]}(t):[]}const ku=So(function(t,n,e){if(function(t,n){const e=Cu(t),o=Cu(n);return e.minX<o.minX||e.maxX>o.maxX||e.minY<o.minY||e.maxY>o.maxY}(n,Tu(e)))return!1;for(const o of function*(){yield 0;for(let t=1;t<=30;t++){const n=2**t;for(let t=1;t<n;t+=2)yield t/n}}())for(const r of n){const n=Bu(t,Ao(r,o),e);if(void 0!==n)return n}throw new Error("_isLoopInLoop: no non-degenerate ray-start point found")});function Bu(t,n,e){const o=Pu(t,e,n);if(void 0!==o)return o%2!=0}const Pu=So(function(t,n,e){const[o,r]=e,c=function(t,n){if(t.length<10){const e=[];for(let o=0;o<t.length;o++){const r=t[o],{ps:c}=r,[[,i],[,s]]=gu(c);i<=n&&s>=n&&e.push(r)}return e}const e=Ou(t),{ys:o,slabs:r}=e;if(0===o.length||n<o[0]||n>o[o.length-1])return[];const c=yu(o,n);return r[o[c]===n?2*c:2*c-1]}(n,r);let i=0;for(let n=0;n<c.length;n++){const u=c[n],{ps:f,ts:l}=u;if(gu(f)[0][0]>o)continue;const a=f.map(ft([0,-r])),p=a.length;let h=0;for(;h<p-1&&0===a[h][1];)h++;let d=0;for(;d<p-1&&0===a[p-1-d][1];)d++;const v=Iu(a,h,d),g=Math.min(l[0],l[1]),m=Math.max(l[0],l[1]);if(h>0&&g<=0){const t=Eu(a,0)>0,n=e[0]>=a[0][0];t&&n&&i++}if(d>0&&m>=1){const t=Eu(a,1)>0,n=e[0]>=a[a.length-1][0];t&&n&&i++}const x=Je(v,s(g-2*$n,0,1),s(m+2*$n,0,1));if(void 0!==x&&0!==x.length)for(const n of x){const{t:o,multiplicity:r}=n;if(0!==g&&Math.abs(o-g)<=4*$n||1!==m&&Math.abs(o-m)<=4*$n)return;const c=Ao(a,o)[0],s=24*2**t*(4*$n),u=c-s,f=c+s,l=e[0]>u,p=l===e[0]>f;if(p)p&&l&&(i+=r%2);else{const t=Is(n,v.map(t=>[t]));for(let n=0;n<t.length;n++){const{tS:o,tE:r,multiplicity:c}=t[n],s=To(a,Sr(hn(o,r)))[0];bu([0,e[0]],s)&&(i+=c%2)}}}}return i}),Tu=et(function(t){return t.map(_u)});function Au(t){const n=t._x_,e=t.twin._x_,o=n.x.curve,r=n.x.ri.t,c=e.x.curve,i=e.x.ri.t;let s=o,u=r;const f=[];for(;;){if(s===c&&(u<i||u===i&&0!==f.length)){const t=s.ps,n=[u,i];return f.push({ps:t,ts:n}),f}{const t=s.ps,n=[u,1];f.push({ps:t,ts:n})}u=0,s=s.next}}const zu=et(function(t){const n=[];for(const e of t.path)if(e.swapped){const t=Au(e.twin);for(let e=t.length-1;e>=0;e--){const{ps:o,ts:r}=t[e];n.push({ps:o,ts:[r[1],r[0]]})}}else n.push(...Au(e));return n});function Du(t,n,e){let o=n;const r=Array.from(n.children);for(;r.length;)c(r.pop());return o;function c(n){const c=zu(n);if(ku(t,e,c)){o=n;for(const t of n.children)r.push(t)}}}const Lu=So(function(t,n,e){const o=[],r=[];let c=e;const i=function(t,n,e){const o=function(t,n){return function(e,o,r){if(t.has(e))return;const c=e;void 0===c.orientation&&(c.orientation=o,c.parent=r,c.windingNum=r.windingNum+c.orientation,n.push(c))}}(e,n);return function(n){let e,r=n.twin,c=1,i=r;for(;i=1===t.orientation?i.nextAround:i.prevAround,i!==r;){if(c-=i.dir,-1===i.dir)continue;const n=i;e?0===c?o(n,t.orientation,t.parent):-1===c&&o(n,-t.orientation,t.parent):0===c?e=n:1===c&&o(n,t.orientation,t)}return e}}(e,o,t);do{t.add(c),n.add(c.container),r.push(c),c=i(c)}while(c!==e);return e.path=r,o});function qu(t,n,e){const o=[t];for(;o.length;){const t=o.pop();if(n.has(t))continue;t.children=new Set;const r=Lu(n,e,t);t.parent.children=t.parent.children||new Set,t.parent.children.add(t),o.push(...r)}}const Wu=So(function(t,n){const e={dir:void 0,idx:0,parent:void 0,children:new Set,windingNum:0,_x_:void 0,orientation:0,twin:void 0,path:void 0,nextAround:void 0,prevAround:void 0,loop:void 0,container:void 0},o=new Set,r=new Set;for(let c=0;c<n.length;c++){const i=n[c];if(r.has(i)||0===i.inOuts.length)continue;const{inOuts:s}=i,u=s[0],f=s[s.length-1],l=1===u.dir?u:f,a=Du(t,e,l.loop);l.parent=a,l.orientation=f.dir,l.windingNum=a.windingNum+f.dir,l.children=new Set,qu(l,o,r)}return e});function ju(t){return{t,tS:t,tE:t,multiplicity:1}}function Fu(t){return(t.tS+t.tE)/2}const Hu=hn,Yu=wt,Ru=vt,Xu=le,{abs:Qu}=Math;const{abs:Vu}=Math;const{abs:$u}=Math,Uu=le,Zu=hn,Gu=wt,Ju=vt,{abs:Ku}=Math;function tf(t,n){const[e,o]=n,r=e.length,c=o.length,i=e[r-1],s=o[c-1],u=1===r&&1===c;{const{vₓₓ:n,vₓᵧ:e,vᵧᵧ:o,vₓ:r,vᵧ:c,v:f}=function(t){const[[n,e,o],[r,c,i]]=function(t){const[[n,e],[o,r],[c,i]]=t;return[[c+n-2*o,2*(o-n),n],[i+e-2*r,2*(r-e),e]]}(t),s=n*c-e*r,u=n*i-o*r;return{vₓₓ:-r*r,vₓᵧ:2*n*r,vᵧᵧ:-n*n,vₓ:c*s-2*r*u,vᵧ:2*n*u-e*s,v:s*(e*i-o*c)-u*u}}(t),{vₓₓ_:l,vₓᵧ_:a,vᵧᵧ_:p,vₓ_:h,vᵧ_:d,v_:v}=function(t){const[n,e]=t[0],[[o,r],[c,i]]=function(t){const[[n,e],[o,r],[c,i]]=t,s=Vu(n),u=Vu(o),f=Vu(c),l=Vu(e),a=Vu(r);return[[f+s+2*u,2*(u+s),0],[Vu(i)+l+2*a,2*(a+l),0]]}(t),s=$u(n),u=$u(e),f=o*i+r*c,l=o*u+s*c;return{vₓₓ_:c*c,vₓᵧ_:2*o*c,vᵧᵧ_:o*o,vₓ_:i*f+2*c*l,vᵧ_:2*o*l+r*f,v_:f*(r*u+s*i)+l*l}}(t),g=u?0:1,m=Ku(i),x=Ku(s);if((g+12)*$i*(l*(m*m)+a*(m*x)+p*(x*x)+(h*m+d*x)+v)<Ku(n*i*i+e*i*s+o*s*s+(r*i+c*s)+f))return!1}{const{coeffs:{vₓₓ:n,vₓᵧ:r,vᵧᵧ:c,vₓ:u,vᵧ:f,v:l},errorBound:{vₓₓ_:a,vₓᵧ_:p,vᵧᵧ_:h,vₓ_:d,vᵧ_:v,v_:g}}=gr(t),m=Ss(e),x=Ss(o),w=Ku(i),b=Ku(s),_=w/3,M=b/3,S=Uu(m,m),C=S[1],y=2*(w*_+C),O=Uu(x,x),N=O[1],E=2*(b*M+N),I=Uu(m,x),k=Ku(I[1]),B=w*M+_*b+2*k,P=Uu(n,S),T=Ku(n[1])*y+a*C+2*Ku(P[1]),A=Uu(r,I),z=Ku(r[1])*B+p*k+2*Ku(A[1]),D=Uu(c,O),L=Ku(c[1])*E+h*N+2*Ku(D[1]),q=Uu(m,u),W=Ku(u[1])*_+d*w+2*Ku(q[1]),j=Uu(x,f),F=Ku(f[1])*M+v*b+2*Ku(j[1]),H=Zu(P,A),Y=T+z+Ku(H[1]),R=Zu(H,D),X=Y+L+Ku(R[1]),Q=Zu(q,j),V=W+F+Ku(Q[1]),$=Zu(R,Q),U=X+V+Ku($[1]),Z=Zu($,l),G=U+g+Ku(Z[1]);if(Ui*G<Ku(bt(Z)))return!1}{const n=function(t){return qc(Sc(t))}(t);if(void 0===n)return u&&i===t[0][0]&&s===t[0][1];n.hasOwnProperty("vₓₓ")||(n.vₓₓ=[0],n.vₓᵧ=[0],n.vᵧᵧ=[0]);const{vₓₓ:r,vₓᵧ:c,vᵧᵧ:f,vₓ:l,vᵧ:a,v:p}=n;return 0===St(Ju(Ju(Ju(Gu(r,Gu(e,e)),Gu(c,Gu(e,o))),Gu(f,Gu(o,o))),Ju(Ju(Gu(e,l),Gu(o,a)),p)))}}const{abs:nf}=Math,ef=le,of=hn,rf=wt,cf=vt,{abs:sf}=Math;function uf(t,n){const[e,o]=n,r=e.length,c=o.length,i=e[r-1],s=o[c-1],u=1===r&&1===c;{const{vₓₓₓ:n,vₓₓᵧ:e,vₓᵧᵧ:o,vᵧᵧᵧ:r,vₓₓ:c,vₓᵧ:f,vᵧᵧ:l,vₓ:a,vᵧ:p,v:h}=function(t){const[[n,e,o,r],[c,i,s,u]]=function(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[s-n+3*(o-c),3*(c+n-2*o),3*(o-n),n],[u-e+3*(r-i),3*(i+e-2*r),3*(r-e),e]]}(t),f=n*s,l=o*c,a=n*i,p=e*c,h=n*n,d=c*c,v=n*u-r*c,g=f-l,m=a-p,x=e*u-r*i,w=e*s-o*i,b=o*u-r*s,_=2*g,M=v*v,S=v*w,C=_*x,y=m*x,O=-3*v-w,N=-3*M-2*S+(C+m*b),E=2*(v*g-y),I=v*m-g*g+m*w;return{vₓₓₓ:-c*d,vₓₓᵧ:3*n*d,vₓᵧᵧ:-3*c*h,vᵧᵧᵧ:n*h,vₓₓ:O*d+m*(s*c-i*i)+_*i*c,vₓᵧ:2*(m*(e*i-(l+f)/2)-(O*n*c+g*(p+a))),vᵧᵧ:O*h+m*(o*n-e*e)+_*e*n,vₓ:c*N+(i*E+s*I),vᵧ:-n*N-(e*E+o*I),v:v*(C-M-S)+(I*b-y*x)}}(t),{vₓₓₓ_:d,vₓₓᵧ_:v,vₓᵧᵧ_:g,vᵧᵧᵧ_:m,vₓₓ_:x,vₓᵧ_:w,vᵧᵧ_:b,vₓ_:_,vᵧ_:M,v_:S}=function(t){const[n,e]=t[0],[[o,r,c],[i,s,u]]=function(t){const[[n,e],[o,r],[c,i],[s,u]]=t,f=Vu(n),l=Vu(o),a=Vu(c),p=Vu(s),h=Vu(e),d=Vu(r),v=Vu(i);return[[p+f+3*(l+a),3*(a+f+2*l),3*(l+f),0],[Vu(u)+h+3*(d+v),3*(v+h+2*d),3*(d+h),0]]}(t),f=nf(n),l=nf(e),a=o*u,p=c*i,h=o*s,d=r*i,v=o*o,g=i*i,m=o*l+f*i,x=a+p,w=h+d,b=r*l+f*s,_=r*u+c*s,M=c*l+f*u,S=2*x,C=m*m,y=m*_,O=S*b,N=w*b,E=3*m+_,I=3*C+2*y+(O+w*M),k=2*(m*x+N),B=m*w+x*x+w*_;return{vₓₓₓ_:i*g,vₓₓᵧ_:3*o*g,vₓᵧᵧ_:3*i*v,vᵧᵧᵧ_:o*v,vₓₓ_:E*g+w*(u*i+s*s)+S*s*i,vₓᵧ_:2*(w*(r*s+(p+a)/2)+(E*o*i+x*(d+h))),vᵧᵧ_:E*v+w*(c*o+r*r)+S*r*o,vₓ_:i*I+(s*k+u*B),vᵧ_:o*I+(r*k+c*B),v_:m*(O+C+y)+(B*M+N*b)}}(t),C=i*i,y=s*s,O=n*(C*i)+e*(C*s)+(o*(i*y)+r*(y*s))+(c*C+f*(i*s)+l*y)+(a*i+p*s+h),N=u?0:1,E=sf(i),I=sf(s),k=E*E,B=I*I;if((N+26)*$i*(d*(k*E)+v*(k*I)+(g*(E*B)+m*(B*I))+(x*k+w*(E*I)+b*B)+(_*E+M*I+S))<sf(O))return!1}{const{coeffs:{vₓₓₓ:n,vₓₓᵧ:r,vₓᵧᵧ:c,vᵧᵧᵧ:u,vₓₓ:f,vₓᵧ:l,vᵧᵧ:a,vₓ:p,vᵧ:h,v:d},errorBound:{vₓₓₓ_:v,vₓₓᵧ_:g,vₓᵧᵧ_:m,vᵧᵧᵧ_:x,vₓₓ_:w,vₓᵧ_:b,vᵧᵧ_:_,vₓ_:M,vᵧ_:S,v_:C}}=Pr(t),y=sf(n[1]),O=sf(r[1]),N=sf(c[1]),E=sf(u[1]),I=Ss(e),k=Ss(o),B=sf(i),P=sf(s),T=B/3,A=P/3,z=ef(I,I),D=z[1],L=2*(B*T+D),q=ef(I,z),W=sf(q[1]),j=B*L+T*D+2*W,F=ef(k,k),H=F[1],Y=2*(P*A+H),R=ef(k,F),X=sf(R[1]),Q=P*Y+A*H+2*X,V=ef(k,z),$=sf(V[1]),U=P*L+A*D+2*$,Z=ef(I,F),G=sf(Z[1]),J=B*Y+T*H+2*G,K=ef(I,k),tt=sf(K[1]),nt=B*A+T*P+2*tt,et=ef(n,q),ot=y*j+v*W+2*sf(et[1]),rt=ef(r,V),ct=O*U+g*$+2*sf(rt[1]),it=ef(c,Z),st=N*J+m*G+2*sf(it[1]),ut=ef(u,R),ft=E*Q+x*X+2*sf(ut[1]),lt=ef(f,z),at=sf(f[1])*L+w*D+2*sf(lt[1]),pt=ef(l,K),ht=sf(l[1])*nt+b*tt+2*sf(pt[1]),dt=ef(a,F),vt=sf(a[1])*Y+_*H+2*sf(dt[1]),gt=ef(I,p),mt=sf(p[1])*T+M*B+2*sf(gt[1]),xt=ef(k,h),wt=sf(h[1])*A+S*P+2*sf(xt[1]),_t=of(et,rt),Mt=ot+ct+sf(_t[1]),St=of(it,ut),Ct=st+ft+sf(St[1]),yt=of(_t,St),Ot=Mt+Ct+sf(yt[1]),Nt=of(lt,pt),Et=at+ht+sf(Nt[1]),It=of(Nt,dt),kt=Et+vt+sf(It[1]),Bt=of(yt,It),Pt=Ot+kt+sf(Bt[1]),Tt=of(gt,xt),At=mt+wt+sf(Tt[1]),zt=of(Tt,d),Dt=At+C+sf(zt[1]),Lt=of(Bt,zt),qt=Pt+Dt+sf(Lt[1]);if(Ui*qt<sf(bt(Lt)))return!1}{const n=function(t){return ei(Mc(t))}(t);if(void 0===n)return u&&i===t[0][0]&&s===t[0][1];n.hasOwnProperty("vₓₓₓ")||(n.vₓₓₓ=[0],n.vₓₓᵧ=[0],n.vₓᵧᵧ=[0],n.vᵧᵧᵧ=[0]),n.hasOwnProperty("vₓₓ")||(n.vₓₓ=[0],n.vₓᵧ=[0],n.vᵧᵧ=[0]);const{vₓₓₓ:r,vₓₓᵧ:c,vₓᵧᵧ:f,vᵧᵧᵧ:l,vₓₓ:a,vₓᵧ:p,vᵧᵧ:h,vₓ:d,vᵧ:v,v:g}=n,m=rf(e,e),x=rf(e,m),w=rf(o,o),b=rf(o,w),_=rf(o,m),M=rf(e,w),S=rf(e,o),C=rf(r,x),y=rf(c,_),O=rf(f,M),N=rf(l,b),E=rf(a,m),I=rf(p,S),k=rf(h,w),B=rf(e,d),P=rf(o,v),T=cf(C,y),A=cf(O,N),z=cf(T,A),D=cf(E,I),L=cf(D,k),q=cf(z,L),W=cf(B,P),j=cf(W,g);return 0===St(cf(q,j))}}function ff(t,n){if(4===t.length)return uf(t,n);if(3===t.length)return tf(t,n);if(2===t.length)return function(t,n){const[e,o]=n,r=e.length,c=o.length,i=e[r-1],s=o[c-1],u=1===r&&1===c;{const{coeffs:{vₓ:n,vᵧ:r,v:c},errorBound:{v_:u}}=rr(t),f=Ss(e),l=Ss(o),a=Qu(i),p=Qu(s),h=Qu(n[1]),d=Qu(r[1]),v=a/3,g=p/3,m=n[1]*i,x=Xu(f,n),w=h*v+2*Qu(m),b=r[1]*s,_=Xu(l,r),M=d*g+2*Qu(b),S=Hu(x,_),C=w+M+Qu(S[1]),y=Hu(S,c),O=C+u+Qu(y[1]);if(Ui*O<Qu(bt(y)))return!1}{const n=function(t){return Nc(Cc(t))}(t);if(void 0===n)return u&&i===t[0][0]&&s===t[0][1];const{vₓ:r,vᵧ:c,v:f}=n,l=Yu(e,r),a=Yu(o,c);return 0===St(Ru(Ru(l,a),f))}}(t,n);if(1===t.length){const e=ne(n[0]),o=ne(n[1]);return 1===e.length&&1===o.length&&e[0]===t[0][0]&&o[0]===t[0][1]}throw new Error("The given bezier curve must be of order <= 3")}function lf(t){const n=t[0],e=t[1];return[(n[0]+e[0])/2,(n[1]+e[1])/2]}const af=dt,pf=Number.EPSILON;function hf(t){return[4*t[0],4*t[1]]}const df=Oo,vf=hn,gf=ie,mf=le,xf=fr,wf=hf,bf=dn;function _f(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=c[0],h=c[1],[d,v]=n,g=df(i,d),m=df(u,d),x=df(l,d),w=df(p,d),b=df(s,v),_=df(f,v),M=df(a,v),S=df(h,v),C=mf(g,g),y=gf(6,mf(g,m)),O=gf(6,mf(g,x)),N=xf(mf(g,w)),E=gf(9,mf(m,m)),I=gf(18,mf(m,x)),k=gf(6,mf(m,w)),B=gf(9,mf(x,x)),P=gf(6,mf(x,w)),T=mf(w,w),A=mf(b,b),z=gf(6,mf(b,_)),D=gf(6,mf(b,M)),L=xf(mf(b,S)),q=gf(9,mf(_,_)),W=gf(18,mf(_,M)),j=gf(6,mf(_,S)),F=gf(9,mf(M,M)),H=gf(6,mf(M,S)),Y=mf(S,S),R=vf(k,B),X=vf(N,I),Q=vf(O,E),V=vf(j,F),$=vf(L,W),U=vf(D,q);return[gf(6,vf(vf(vf(vf(bf(T,P),bf(C,y)),R),bf(Q,X)),vf(vf(vf(bf(Y,H),bf(A,z)),V),bf(U,$)))),gf(5,vf(bf(vf(vf(P,gf(5,y)),gf(3,X)),xf(vf(vf(R,xf(Q)),gf(3,C)))),bf(vf(vf(H,gf(5,z)),gf(3,$)),xf(vf(vf(V,xf(U)),gf(3,A)))))),wf(vf(bf(bf(R,gf(3,bf(X,xf(Q)))),gf(5,bf(xf(y),gf(3,C)))),bf(bf(V,gf(3,bf($,xf(U)))),gf(5,bf(xf(z),gf(3,A)))))),gf(3,vf(bf(X,xf(bf(xf(Q),gf(5,bf(y,xf(C)))))),bf($,xf(bf(xf(U),gf(5,bf(z,xf(A)))))))),xf(vf(bf(Q,gf(5,bf(y,gf(3,C)))),bf(U,gf(5,bf(z,gf(3,A)))))),vf(bf(y,gf(6,C)),bf(z,gf(6,A)))]}const Mf=Oo,Sf=hn,Cf=ie,yf=le,Of=fr,Nf=dn,Ef=hf;function If(t,n){const[[e,o],[r,c],[i,s]]=t,[u,f]=n,l=Mf(e,u),a=Mf(r,u),p=Mf(i,u),h=Mf(o,f),d=Mf(c,f),v=Mf(s,f),g=yf(l,l),m=yf(l,a),x=yf(l,p),w=yf(a,a),b=yf(a,p),_=yf(p,p),M=yf(h,h),S=yf(h,d),C=yf(h,v),y=yf(d,d),O=yf(d,v),N=yf(v,v),E=Sf(C,Of(y)),I=Sf(x,Of(w));return[Sf(Nf(Sf(Sf(N,M),Of(E)),Ef(Sf(O,S))),Nf(Sf(Sf(_,g),Of(I)),Ef(Sf(b,m)))),Cf(3,Sf(Sf(Nf(O,E),Nf(Cf(3,S),M)),Sf(Nf(b,I),Nf(Cf(3,m),g)))),Sf(Nf(E,Cf(3,Nf(Of(S),M))),Nf(I,Cf(3,Nf(Of(m),g)))),Sf(Nf(S,M),Nf(m,g))]}function kf(t){return[-2*t[0],-2*t[1]]}const Bf=pn,Pf=hn,Tf=kf;function Af(t,n){const[[e,o],[r,c]]=t,[i,s]=n,u=e-i,f=r-i,l=o-s,a=c-s,p=Bf(u,u),h=Bf(u,f),d=Bf(f,f),v=Bf(l,l),g=Bf(l,a),m=Bf(a,a),x=Pf(h,g),w=Pf(v,p);return[Pf(Pf(d,m),Pf(w,Tf(x))),dn(x,w)]}function zf(t){const n=[];for(let e=0;e<t.length;e++)n.push(-2*t[e]);return n}const Df=dt,Lf=xt,qf=Pc,Wf=zf,jf=dt,Ff=xt,Hf=Pc;function Yf(t){const n=[];for(let e=0;e<t.length;e++)n.push(4*t[e]);return n}const Rf=dt,Xf=zf,{abs:Qf}=Math;function Vf(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=Qf(e[0]),s=Qf(e[1]),u=Qf(o[0]),f=Qf(o[1]),l=Qf(r[0]),a=Qf(r[1]),p=Qf(c[0]),h=Qf(c[1]),d=Qf(n[0]),v=Qf(n[1]),g=i+d,m=u+d,x=l+d,w=p+d,b=s+v,_=f+v,M=a+v,S=h+v,C=g*g,y=6*g*m,O=6*x*w,N=b*b,E=6*b*_,I=6*M*S,k=6*m*w+9*x*x,B=2*g*w+18*m*x,P=6*g*x+9*m*m,T=6*_*S+9*M*M,A=2*b*S+18*_*M,z=6*b*M+9*_*_;return[6*(w*w+O+(C+y)+k+(P+B)+(S*S+I+(N+E)+T+(z+A))),5*(O+5*y+3*B+2*(k+2*P+3*C)+(I+5*E+3*A+2*(T+2*z+3*N))),4*(k+3*(B+2*P)+5*(2*y+3*C)+(T+3*(A+2*z)+5*(2*E+3*N))),3*(B+2*(2*P+5*(y+2*C))+(A+2*(2*z+5*(E+2*N)))),2*(P+5*(y+3*C)+(z+5*(E+3*N))),y+6*C+(E+6*N)]}function $f(t,n){const e=t[0],o=t[1],r=t[2],c=Qf(e[0]),i=Qf(e[1]),s=Qf(o[0]),u=Qf(o[1]),f=Qf(r[0]),l=Qf(r[1]),a=Qf(n[0]),p=Qf(n[1]),h=c+a,d=s+a,v=f+a,g=i+p,m=u+p,x=l+p,w=h*h,b=h*d,_=d*v,M=g*g,S=g*m,C=m*x,y=g*x+m*m*2,O=h*v+d*d*2;return[x*x+M+2*y+4*(C+S)+(v*v+w+2*O+4*(_+b)),3*(C+y+(3*S+M)+(_+O+(3*b+w))),y+3*(2*S+M)+(O+3*(2*b+w)),S+M+(b+w)]}function Uf(t,n){const e=t[0],o=t[1],r=Qf(e[0]),c=Qf(e[1]),i=Qf(o[0]),s=Qf(o[1]),u=Qf(n[0]),f=Qf(n[1]),l=r+u,a=i+u,p=c+f,h=s+f,d=l*a+p*h,v=p*p+l*l;return[a*a+h*h+2*d+v,d+v]}function Zf(t,n){const e=t.length-1;if(3===e)return{polyDd:_f(t,n),polyE:Vf(t,n).map(t=>20*t),getPolyExact:()=>function(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=c[0],h=c[1],[d,v]=n,g=Df(i,d),m=Df(u,d),x=Df(l,d),w=Df(p,d),b=Df(s,v),_=Df(f,v),M=Df(a,v),S=Df(h,v),C=wt(g,g),y=Lf(6,wt(g,m)),O=Lf(6,wt(g,x)),N=qf(wt(g,w)),E=Lf(9,wt(m,m)),I=Lf(18,wt(m,x)),k=Lf(6,wt(m,w)),B=Lf(9,wt(x,x)),P=Lf(6,wt(x,w)),T=wt(w,w),A=wt(b,b),z=Lf(6,wt(b,_)),D=Lf(6,wt(b,M)),L=qf(wt(b,S)),q=Lf(9,wt(_,_)),W=Lf(18,wt(_,M)),j=Lf(6,wt(_,S)),F=Lf(9,wt(M,M)),H=Lf(6,wt(M,S)),Y=wt(S,S),R=vt(k,B),X=vt(N,I),Q=vt(O,E),V=vt(j,F),$=vt(L,W),U=vt(D,q),Z=Mt(vt(vt(T,C),vt(R,Q)),vt(vt(X,P),y)),G=Mt(vt(vt(Y,A),vt(V,U)),vt(vt($,H),z)),J=Lf(6,vt(Z,G)),K=vt(Wf(vt(vt(R,qf(Q)),Lf(3,C))),vt(vt(P,Lf(3,X)),Lf(5,y))),tt=vt(Wf(vt(vt(V,qf(U)),Lf(3,A))),vt(vt(H,Lf(3,$)),Lf(5,z))),nt=Lf(5,vt(K,tt)),et=vt(vt(R,Lf(3,Mt(qf(Q),X))),Lf(5,Mt(Lf(3,C),qf(y)))),ot=vt(vt(V,Lf(3,Mt(qf(U),$))),Lf(5,Mt(Lf(3,A),qf(z)))),rt=Lf(4,vt(et,ot)),ct=Mt(X,qf(Mt(qf(Q),Lf(5,Mt(y,qf(C)))))),it=Mt($,qf(Mt(qf(U),Lf(5,Mt(z,qf(A)))))),st=Lf(3,vt(ct,it)),ut=Mt(Q,Lf(5,Mt(y,Lf(3,C)))),ft=Mt(U,Lf(5,Mt(z,Lf(3,A))));return[J,nt,rt,st,qf(vt(ut,ft)),vt(Mt(y,Lf(6,C)),Mt(z,Lf(6,A)))].map(ne)}(t,n)};if(2===e)return{polyDd:If(t,n),polyE:$f(t,n).map(t=>16*t),getPolyExact:()=>function(t,n){const[[e,o],[r,c],[i,s]]=t,[u,f]=n,l=jf(e,u),a=jf(r,u),p=jf(i,u),h=jf(o,f),d=jf(c,f),v=jf(s,f),g=wt(l,l),m=wt(l,a),x=wt(l,p),w=wt(a,a),b=wt(a,p),_=wt(p,p),M=wt(h,h),S=wt(h,d),C=wt(h,v),y=wt(d,d),O=wt(d,v),N=wt(v,v),E=vt(C,Hf(y)),I=vt(x,Hf(w)),k=vt(Mt(vt(_,Hf(I)),Yf(vt(b,m))),g),B=vt(Mt(vt(N,Hf(E)),Yf(vt(O,S))),M),P=vt(k,B),T=vt(Mt(b,I),Mt(Ff(3,m),g)),A=vt(Mt(O,E),Mt(Ff(3,S),M));return[P,Ff(3,vt(T,A)),vt(Mt(E,Ff(3,Mt(Hf(S),M))),Mt(I,Ff(3,Mt(Hf(m),g)))),vt(Mt(S,M),Mt(m,g))].map(ne)}(t,n)};if(1===e)return{polyDd:Af(t,n),polyE:Uf(t,n).map(t=>12*t),getPolyExact:()=>function(t,n){const[[e,o],[r,c]]=t,[i,s]=n,u=Rf(e,i),f=Rf(r,i),l=Rf(o,s),a=Rf(c,s),p=wt(u,u),h=wt(u,f),d=wt(f,f),v=wt(l,l),g=wt(l,a),m=wt(a,a),x=vt(h,g),w=vt(v,p);return[vt(vt(d,m),vt(Xf(x),w)),Mt(x,w)].map(ne)}(t,n)};if(0===e)return{polyDd:[[0,1]],polyE:[0],getPolyExact:()=>[[1]]};throw new Error("The given bezier curve must be of order 1, 2 or 3")}const{sqrt:Gf}=Math;function Jf(t,n,e=0,o=1){const{polyDd:r,polyE:c,getPolyExact:i}=Zf(t,n),s=Je(r,e,o,c,i)||[];s.push({t:e,tS:e,tE:e,multiplicity:1}),s.push({t:o,tS:o,tE:o,multiplicity:1});const u=s.map(e=>{const o=ts(t,[e.tS,e.tE]),r=function(t,n){const e=t[0],o=t[1],r=e[0],c=e[1],i=o[0],s=o[1],u=n[0],f=n[1];let l=1/0,a=-1/0;for(const[t,n]of[[r,c],[r,s],[i,c],[i,s]]){const e=af(t,u),o=af(n,f),r=bt(vt(wt(e,e),wt(o,o))),c=r*(1-pf),i=r*(1+pf);c<=l&&(l=c),i>=a&&(a=i)}return[l,a]}(o,n);return{p:lf(o),t:e.t,d:(Gf(r[0])+Gf(r[1]))/2,dSquaredI:r,box:o,ri:e}});let f=1/0;for(let t=0;t<u.length;t++){const n=u[t].dSquaredI[1];n<f&&(f=n)}const l=[];for(let t=0;t<u.length;t++){const n=u[t];n.dSquaredI[0]<=f&&l.push(n)}return l}function Kf(t,n){const{coeffs:e,errBound:o,getPExact:r}=Hi(t,n);return Je(e,0,1,o,r)}const{min:tl,max:nl}=Math;function el(t,n){let[[e,o],[r,c]]=t,[[i,s],[u,f]]=n;if(e>r&&([e,r]=[r,e]),i>u&&([i,u]=[u,i]),o>c&&([o,c]=[c,o]),s>f&&([s,f]=[f,s]),e<=u&&r>=i&&s<=c&&f>=o)return[[nl(e,i),nl(o,s)],[tl(r,u),tl(c,f)]]}function ol(t,n,e){const{ps:o}=t,{ps:r}=n;if(void 0===e)return;if(0===e.length)return[];const c=Kf(r,o);if(void 0===c)return;if(0===c.length)return[];const i=c.map(t=>ts(o,[t.tS,t.tE])),s=e.map(t=>ts(r,[t.tS,t.tE])),u=[];for(let r=0;r<c.length;r++){const f=i[r];for(let i=0;i<e.length;i++){if(void 0===el(f,s[i]))continue;const l=Ao(o,c[r].t),a={ri:c[r],p:l,kind:1,curve:t},p={ri:e[i],p:l,kind:1,curve:n};u.push([a,p])}}return u}function rl(t,n,e){for(const o of[t,n]){const r=o.length;for(let c=1;c<r+1;c++){const i=o[c-1],s=o[c%r],u=[s[1]-i[1],i[0]-s[0]];let f=1/0,l=-1/0;for(let n=0;n<t.length;n++){const e=u[0]*t[n][0]+u[1]*t[n][1];e<f&&(f=e),e>l&&(l=e)}let a=1/0,p=-1/0;for(let t=0;t<n.length;t++){const e=u[0]*n[t][0]+u[1]*n[t][1];e<a&&(a=e),e>p&&(p=e)}if(e&&(l<a||p<f))return!1;if(!e&&(l<=a||p<=f))return!1}}return!0}const cl=Nt,{abs:il}=Math;function sl(t){return 4===t.length&&ou(t)&&(t=Uc(t)),3===t.length&&function(t){const[[n,e],[o,r],[c,i]]=t,s=n+c,u=s-2*o,f=il(s)+il(u);if(il(u)-f>0)return!1;const l=e+i,a=l-2*r,p=il(l)+il(a);return!(il(a)-p>0)&&0===St(Mt(cl(n,c),[2*o]))&&0===St(Mt(cl(e,i),[2*r]))}(t)&&(t=[t[0],t[2]]),2===t.length&&Ks(t)&&(t=[t[0]]),t}const ul=Number.EPSILON,fl=ul/2;function ll(t,n){return n<0?t<1?t:1-fl:0===n?1:t>1?t:1+ul}function al(t){const n=function(t){const n=new ArrayBuffer(8);return new DataView(n).setFloat64(0,t,!1),Array.from(new Uint8Array(n))}(t),e=n[0],o=n[1],r=e>>7,c=((127&e)<<4)+((240&o)>>4),i=0===c?0:16,s=0===c?c-1022:c-1023,u=n.slice(1);return u[0]=(15&o)+i,{sign:r,exponent:s,significand:u}}function pl(t){return al(t).significand}function hl(t){return Math.log2(t&-t)}function dl(t){if(0===t||!Number.isFinite(t))return NaN;const n=pl(t),e=n.length;for(let t=e-1;t>=0;t--){if(0===n[t])continue;const o=hl(n[t]);if(Number.isFinite(o))return 8*(e-t-1)+o}return NaN}function vl(t){return t>=128?7:t>=64?6:t>=32?5:t>=16?4:t>=8?3:t>=4?2:t>=2?1:t>=1?0:NaN}function gl(t){if(0===t||!Number.isFinite(t))return NaN;const n=pl(t),e=n.length;for(let t=0;t<e;t++){const o=vl(n[t]);if(Number.isFinite(o))return 8*(e-t-1)+o}return NaN}function ml(t){return al(t).exponent}function xl(t){if(0===t||!Number.isFinite(t))return NaN;const n=ml(t);return gl(t)-52+n}function wl(t,n){if(0===St(t=ne(t)))return[0];const e=xl(t[t.length-1]);let o=e,r=t.length-1;for(;r>0;){const c=xl(t[r-1]);if(e-c>n)break;o=c,r--}const c=Math.min(n-(e-o),53);let i=t[r];i=Vs(i,c);const s=t.slice(r);return s[0]=i,s}function bl(t){return 0===t?0:gl(t)-dl(t)+1}function _l(t){const n=ne(t);if(0===St(n))return 0;const e=n[n.length-1],o=n[0];return ml(e)-ml(o)+(53-dl(o))}function Ml(t){return bt(function(t,n,e){let o=n,r=t,c=!1,i=0;e||(i=_l(r)-_l(o)+1,e=i/53+1,c=!0);let s=[1/bt(o)],u=1;for(;;){if(r=wt(r,s),u>e)return c?(r=wl(r,i),r):r.slice(r.length-e,r.length);o=wt(o,s),s=Mt([2],o),u*=2}}(t[0],t[1],2))}function Sl(t){return St(t[0])*St(t[1])}function Cl(t){return(n,e)=>{const o=_c(n),r=_c(e),c=_c(n.slice().reverse()),i=_c(e.slice().reverse()),s=t(o,r),u=t(c,r),f=t(o,i),l=t(c,i),a=-Sl(u),p=-Sl(l),h=Ml(s),d=Ml(f);return[ll(h,a),ll(d,p)]}}const yl=Cl(function(t,n){const e=0===St(t[0][0])?1:0;return function(t,n){const[e,o]=t,[,r]=n;return[Mt(r,o),e]}(t[e],n[e])});function Ol(t,n){return St(Mt(t,n))}function Nl(t,n){return Ol(wt(t[0],n[1]),wt(t[1],n[0]))*St(t[1])*St(n[1])}function El(t){let n=-1024;for(let e=0;e<t.length;e++){const o=t[e];for(let t=0;t<o.length;t++){const e=o[t];if(0===e)continue;const r=-ml(e)+bl(e)-1;r>n&&(n=r)}}return 0===n?t.map(t=>t.map(t=>BigInt(t))):n>0?t.map(t=>t.map(t=>{if(0===t)return 0n;const e=-ml(t)+bl(t)-1;return BigInt(t*2**e)*2n**BigInt(n-e)})):t.map(t=>t.map(t=>BigInt(t*2**n)))}function Il(t,n){if(n=n<0n?-n:n,0n===(t=t<0n?-t:t))return n;if(0n===n)return t;for(;0n!==n;){const e=n;n=t%n,t=e}return t}const kl=BigInt(2**53);function Bl(t){if(0n===t)return[0];const n=[];let e=0,o=t;for(;0n!==o;){o=t/kl;const r=t%kl;n.push(Number(r)*2**(53*e)),t=o,e++}return ne(n)}const{round:Pl,sqrt:Tl}=Math;function Al(t){if(t<=1n){if(t<0n)throw new Error("square root of negative numbers are not allowed");return t}let n=BigInt(Pl(Tl(Number(t))));for(;;){const e=n+t/n>>1n;if(e===n)return n;n=e}}function zl(t){return t<0n?-t:t}function Dl(t){let n=0n;for(let e=0;e<t.length;e++)n+=t[e];return n}function Ll(t,n){const[e,o]=ql(t[0],n[0]),[r,c]=ql(t[1],n[1]);if(0===Nl(e,r)||0===Nl(e,c))return e;if(0===Nl(o,r)||0===Nl(o,c))return o;throw new Error("An unexpected error occured.")}function ql(t,n){const[e,o]=t,[r,c]=n,[i,s]=function(t){const[n,e]=El(t).map(Dl),o=Il(n,e);return[Bl(Al(zl(n/o))),Bl(Al(zl(e/o)))]}([r,e]);return[[Mt(wt(c,s),wt(o,i)),wt(i,Pc(e))],[Mt(wt(c,_t(s)),wt(o,i)),wt(i,Pc(e))]].sort(Nl)}function Wl(t,n){const e=_c(t),o=0===St(e[0][0])?0:0===St(e[1][0])?1:-1;if(-1!==o){const e=t[0][o],r=t[2][o],c=n[0][o],i=n[2][o];return yl([[e,e],[r,r]],[[c,c],[i,i]])}return Cl(Ll)(t,n)}const{round:jl,cbrt:Fl}=Math;function Hl(t){const n=(e=t)>0n?1n:e<0n?-1n:0n;var e;if((t=zl(t))<=1n)return n*t;let o=BigInt(jl(Fl(Number(t))));for(;;){const e=(2n*o+t/(o*o))/3n;if(e===o)return n*o;o=e}}function Yl(t){return wt(t,t)}const Rl=Cl(function(t,n){const e=0===St(t[0][0])?1:0;return function(t,n){const[e,o]=t,[r,c]=n,i=function(t){const[n,e]=El(t).map(Dl),o=Il(n,e);return[Bl(Hl(n/o)),Bl(Hl(e/o))]}([r,e]),s=Yl(i[0]);return[Mt(wt(c,Yl(i[1])),wt(o,s)),wt(xt(3,e),s)]}(t[e],n[e])}),{EPSILON:Xl}=Number,Ql=Xl/2+Xl**2/2;function Vl(t){return t>0?t-t*Ql:t+t*Ql}const{EPSILON:$l}=Number,Ul=$l/2+$l**2/2;function Zl(t){return t>0?t+t*Ul:t-t*Ul}function Gl(t){if(0===t||1===t)return[t,t];const n=Vl(Vl(t)),e=function(t){return Zl(Zl(t))}(t);return[n,e]}const Jl=So(function(t,n,e){const o=t.ps,r=n.ps,c=[];let i=Kf(o,r);if(void 0===i){const e=function(t,n,e=!1){e||(t=sl(t),n=sl(n));const o=[,,yl,Wl,Rl],[r,c]=o[t.length](t,n),[i,s]=o[t.length](n,t),u=[{tA:r,tB:0,bez:"B",start:!0},{tA:c,tB:1,bez:"B",start:!1},{tA:0,tB:i,bez:"A",start:!0},{tA:1,tB:s,bez:"A",start:!1}].sort((t,n)=>t.tA-n.tA);if(u[1].tA===u[2].tA){const n=u[1],e=n.tA,o=n.tB,r=ts(t,[e,e]);return[{p:r[0],kind:4,box:r,t1:e,ri1:{t:e,tS:e,tE:e,multiplicity:1},t2:o,ri2:{t:o,tS:o,tE:o,multiplicity:1}}]}if(u[0].bez===u[1].bez)return[];const f=u[1],l=u[2],[a,p]=Gl(f.tA),[h,d]=Gl(f.tB),[v,g]=Gl(l.tA),[m,x]=Gl(l.tB),w=ts(t,[a,p]),b=ts(n,[h,d]),_=ts(t,[v,g]),M=ts(n,[m,x]),S=el(w,b),C=el(_,M),y={t:a,tS:a,tE:p,multiplicity:1},O={t:h,tS:h,tE:d,multiplicity:1},N={t:v,tS:v,tE:g,multiplicity:1},E={t:m,tS:m,tE:x,multiplicity:1};return[{p:lf(S),kind:5,box:S,t1:y.t,ri1:y,t2:O.t,ri2:O},{p:lf(C),kind:5,box:C,t1:N.t,ri1:N,t2:E.t,ri2:E}]}(o,r);for(const r of e){const e=Ao(o,r.ri1.t),i={ri:r.ri1,kind:5,p:e,curve:t},s={ri:r.ri2,kind:5,p:e,curve:n};c.push([i,s])}return c}return e&&(i=i.filter(t=>t.tS>0)),0===i.length?[]:ol(t,n,i)||[]});function Kl(t,n,e){const{ps:o}=n;return{ri:ju(t),p:Ao(o,t),kind:e,curve:n}}function ta(t,n){const e=t.ps,o=n.ps;if(2===e.length&&2===o.length)return function(t,n){let e=t.ps,o=n.ps;const r=gu(e),c=gu(o);if(t.next!==n&&n.next!==t){if(ho(!0,r,c)){const e=Jl(t,n,!1);return e.length?e:void 0}return}n.next===t&&([t,n]=[n,t],[e,o]=[o,e]);if(0!==Ys(e[0],e[1],o[1]))return;if(!ho(!1,r,c))return;let i;return i=Gs(e[0],e[1])>Gs(o[0],o[1])?[Fu(Jf(e,o[1])[0].ri),1]:[0,Fu(Jf(o,e[0])[0].ri)],[[Kl(1,t,5),Kl(0,n,5)],[Kl(i[0],t,5),Kl(i[1],n,5)]]}(t,n);if(t.next===n||n.next===t)return ho(!1,gu(e),gu(o))&&rl(vu(e,!1),vu(o,!1),!1)?n.next===t?Jl(n,t,!0):Jl(t,n,!0):na(t,n);let r=ho(!0,gu(e),gu(o));return r?(r=rl(vu(e,!1),vu(o,!1),!0),r?Jl(t,n,!1):void 0):void 0}function na(t,n){if(n.next===t){if(t.next===n)return;[t,n]=[n,t]}const e=t.ps,o=n.ps;if(ff(e,o[o.length-1].map(t=>[t]))){const e=ol(t,n,[ju(1)]);if(void 0===e||0===e.length)return;return[[e[0][0],Kl(1,n,1)]]}}function ea(t){return t[t.length-1]<0?_t(t):t}function oa(t,n){const e=t+n,o=e-t;return[t-(e-o)+(n-o),e]}Number.EPSILON;const ra=Number.EPSILON/2;function ca(t,n,e,o){const r=t/n,c=Math.abs(t),i=Math.abs(n),s=i-o;return s<=0?{est:r,err:Number.POSITIVE_INFINITY}:{est:r,err:(i*e+c*o)/s**2+ra*Math.abs(c/i)}}function ia(t){const n=t[0],e=t[1];if(0===e)return[0,0];const o=Math.sqrt(e),r=o*o,c=134217729*o,i=c-(c-o),s=o-i,u=.5*(e-r-(s*s-(r-i*i-i*s*2))+n)/o;return[u-(o+u-o),o+u]}const{abs:sa}=Math;const{abs:ua}=Math,fa=wt,la=vt,aa=Mt,pa=wt,ha=xt,da=Oo,va=oa,ga=Xo,ma=hn,xa=fr,wa=es,ba=vt,_a=Et,Ma=2*Xi,{abs:Sa}=Math;function Ca(t,n=!0){if(t.length<4)return[];const{coeffs:[e,o,r],errBound:[c,i,s]}=function(t){const{coeffs:[[n,e,o],[r,c,i]],errorBound:[[s,u],[f,l]]}=function(t){const[[n,e],[o,r],[c,i],[s,u]]=t,f=s-n,l=o-c,a=f+3*l,p=c+n,h=p-2*o,d=o-n,v=u-e,g=r-i,m=v+3*g,x=i+e,w=x-2*r,b=r-e;return{coeffs:[[a,3*h,3*d,n],[m,3*w,3*b,e]],errorBound:[[sa(f)+6*sa(l)+sa(a),6*(sa(p)+sa(h)),6*sa(d),0],[sa(v)+6*sa(g)+sa(m),6*(sa(x)+sa(w)),6*sa(b),0]]}}(t),a=ua(n),p=ua(e),h=ua(o),d=ua(r),v=ua(c),g=ua(i),m=e*r,x=n*c,w=n*i,b=o*r,_=e*i,M=o*c,S=u*d+p*f+ua(m),C=s*v+a*l+ua(x),y=s*g+ua(w),O=h*f+ua(b),N=u*g+ua(_),E=h*l+ua(M),I=m-x,k=ua(I),B=S+C+k,P=b-w,T=ua(P),A=O+y+T,z=_-M,D=ua(z),L=N+E+D,q=I*I,W=I*P,j=z*I,F=P*P,H=j+F;return{coeffs:[q,W,H],errBound:[2*B*k+ua(q),B*T+k*A+ua(W),L*k+D*B+ua(j)+(2*T*A+ua(F))+ua(H)].map(t=>$i*t)}}(t);if(Sa(e)<=c){const[[n,e],[o,r],[c,i],[s,u]]=t,f=ba(da(s,n),ha(3,da(o,c))),l=_a(va(c,n),-2*o),a=ba(da(u,e),ha(3,da(r,i))),p=_a(va(i,e),-2*r);if(0===Ol(pa(l,a),pa(f,p)))return[]}const u=o*o,f=4*e*r,l=u-f,a=2*i*Sa(o)+$i*u+(4*(c*Sa(r)+Sa(e)*s)+$i*Sa(f))+$i*Sa(l);if(l<-a)return[];if(l>a){const{est:t,err:u}=function(t,n){if(t-n<=0){const e=t>0?Math.sqrt(t):0;return{est:e,err:Math.max(Math.sqrt(t+n)-e,e)}}const e=Math.sqrt(t),o=Math.sqrt(t-n),r=Math.sqrt(t+n);return{est:e,err:Math.max(Math.abs(o-e),Math.abs(r-e))}}(l,a);let f;f=o>=0?-o-t:-o+t;const p=i+u+$i*Sa(f),{est:h,err:d}=ca(f,2*e,p,2*c),{est:v,err:g}=ca(2*r,f,2*s,p);if(n){if(h+d<0||h-d>1||v+g<0||v-g>1)return[]}else if((h+d<0||h-d>1)&&(v+g<0||v-g>1))return[]}let[p,h,d]=function(t){const[[n,e,o],[r,c,i]]=Mc(t),s=fa(e,r),u=fa(n,c),f=fa(n,i),l=fa(o,r),a=fa(e,i),p=fa(o,c),h=Mt(s,u),d=Mt(l,f),v=Mt(a,p),g=fa(h,h),m=fa(h,d),x=fa(h,v),w=fa(d,d);return[g,m,la(x,w)]}(t);const v=aa(pa(h,h),ha(4,pa(p,d))),g=St(v);if(g<0)return[];if(g>0){const t=ia(Ss(v));let e;p=Ss(p),h=Ss(h),d=Ss(d),e=St(h)>=0?ga(ma(h,t)):ma(ga(h),t);let o=bt(wa(e,xa(p))),r=bt(wa(xa(d),e));if(n){if(o<-Ma||o>1+Ma||r<-Ma||r>1+Ma)return[]}else if((o<-Ma||o>1+Ma)&&(r<-Ma||r>1+Ma))return[];return[o,r]=o<r?[o,r]:[r,o],o>=0-Ma&&o<=1+Ma?r>=0-Ma&&r<=1+Ma?[o,r]:[o]:r>=0-Ma&&r<=1+Ma?[r]:[]}const m=zf(p);if(St(h)*St(m)<0)return[];if(Ol(ea(h),ea(m))>0)return[];const x=Ss(h),w=Ss(m),b=wa(x,w),_=b[1]+b[0];return[_,_]}function ya(t){if(4===t.length){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[6*(s-n+3*(o-c)),6*(c+n-2*o)],[6*(u-e+3*(r-i)),6*(i+e-2*r)]]}if(3===t.length){const[[n,e],[o,r],[c,i]]=t;return[[2*(c-2*o+n)],[2*(i-2*r+e)]]}if(t.length<=2)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}function Oa(t){if(Rs(t))return{minima:[],maxima:[],inflections:[]};if(4===t.length&&ou(t)&&(t=Uc(t)),3===t.length){const n=function(t){const[[n,e],[o,r],[c,i]]=t,s=c-o,u=s-(o-n),f=i-r,l=f-(r-e);return[u*u+l*l,-(n*(u-o)-o*(s-o)+e*(l-r)-r*(f-r))]}(t);return{minima:[],maxima:Je(n,0,1)?.map(t=>t.t)||[],inflections:[]}}const n=function(t){const[[n,e,o],[r,c,i]]=pt(t),[[s,u],[f,l]]=ya(t),[[a],[p]]=function(t){if(4===t.length){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[6*(s-n+3*(o-c))],[6*(u-e+3*(r-i))]]}if(t.length<=3)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}(t),h=a*c,d=p*e,v=u*i,g=u*c,m=f*f,x=s*i,w=l*o,b=l*e,_=f*o,M=o*e,S=o*n,C=o*r,y=e*e,O=e*n,N=e*c,E=n*i,I=n*r,k=n*n,B=i*c,P=i*r,T=c*c,A=c*r,z=r*r,D=a*i-p*o,L=u*o+l*i,q=v-w,W=o*o+i*i,j=N+E,F=P+T,H=S+y,Y=e*r+n*c,R=k-z,X=O-A,Q=M-B,V=o*c+e*i,$=P+F,U=S+H,Z=C+j,G=N+j,J=U-$,K=j+E,tt=C+N+E,nt=2*b+_;return{inflectionPoly:[s*r-f*n,u*r+s*c-l*n-f*e,g+x-b-_,v-w],otherExtremaPoly:[k*(h-3*d)+z*(3*h-d)+2*(I*(a*e-p*c+3*(l*f-u*s))+3*s*f*X)+3*(Y*(m-s*s)+R*(u*f+l*s)),a*(r*(U+3*F)+n*G)-p*(o*(3*k+z)+e*(3*O+2*A)+n*$)+3*(u*(l*R-u*I+2*(f*X-s*Y))+s*(2*l*X+f*(2*(S-P)+(y-T))-s*tt)+l*(l*I+2*f*Y)+m*Z),a*(2*o*Y+e*K+c*(4*P+$))-p*(2*o*(3*O+A)+e*(y+2*P)+c*K)+3*(u*(2*(l*X-s*tt)+f*J-u*Y)+s*(2*f*Q-s*V)+l*(l*Y+2*f*Z+s*J)+m*V),a*(o*(C+2*j)+i*(y+3*F))-p*(o*(3*H+$)+i*G)+3*(u*(l*J-u*Z+2*(f*Q-s*V))+s*(o*(nt-s*i)-i*(2*l*c+f*i))+l*(l*j+o*(2*f*c+l*r))+f*i*nt),W*(h-d)+2*(M+B)*D-3*(L*(g+x-b-_)+(u*e+s*o+l*c+f*i)*q),D*W-3*L*q]}}(t),e=n.inflectionPoly,o=n.otherExtremaPoly,r=Je(o,0,1)?.map(t=>t.t)||[],c=function(t){const n=t.length-1;if(n<=0)return[];const e=new Array(n);for(let o=0;o<n;o++)e[o]=(n-o)*t[o];return e}(o),i=[],s=[];for(let t=0;t<r.length;t++){const n=r[t],o=at(c,n);(at(e,n)*o>=0?i:s).push(n)}return{minima:i,maxima:s,inflections:Je(e,0,1)?.map(t=>t.t)||[]}}const{sqrt:Na}=Math;function Ea(t,n){const[e,o]=function(t,n){const[e,o]=pt(t),[r,c]=ya(t),i=at(e,n),s=at(o,n),u=at(r,n);return[i*at(c,n)-s*u,Na((i*i+s*s)**3)]}(t,n);return e/o}const{abs:Ia}=Math;function ka(t){return 4===t.length?function(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[s-n+3*(o-c),2*(c+n-2*o),o-n],[u-e+3*(r-i),2*(i+e-2*r),r-e]]}(t):3===t.length?function(t){const[[n,e],[o,r],[c,i]]=t;return[[c+n-2*o,o-n],[i+e-2*r,r-e]]}(t):function(t){const[[n,e],[o,r]]=t;return[[o-n],[r-e]]}(t)}function Ba(t){if(2===t.length)return[];const[n,e]=ka(t);return[...Je(n,0,1)||[],...Je(e,0,1)||[]]}const Pa=So(function(t){const n=[];for(const e of t)for(const t of e.curves)n.push(t);const e=ao(n,t=>gu(t.ps)[0][0],t=>gu(t.ps)[1][0],ta),o=[];for(const t of e)for(const n of t.u)o.push(n);return o}),Ta=So(function(t){const n=[];for(const e of t)for(const t of e.curves){const e=t.ps,o=Ca(e);if(0===o.length)continue;const r=o[0]===o[1]?3:2,c=o[0],i=o[1],s=c-4*$n,u=c+4*$n,f=i-4*$n,l=i+4*$n,a=Ao(e,c),p={ri:{t:s,tS:s,tE:u,multiplicity:1},p:a,kind:r,curve:t},h={ri:{t:f,tS:f,tE:l,multiplicity:1},p:a,kind:r,curve:t};n.push([p,h])}return n}),Aa=So(function(t){const n=[];for(const e of t)for(const t of e.curves)n.push([Kl(1,t,4),Kl(0,t.next,4)]);return n}),za=So(function(t,n){const e=[],o=1e7*2**-t;for(const t of n)for(const n of t.curves){const{ps:t}=n,r=Oa(t),{minima:c,maxima:i}=r,s=[0,1,...c,...i];for(let r of s)if(Ia(Ea(t,r))>o){const t=Kl(r,n,7),o=Kl(r,n,7);e.push([t,o])}}return e}),Da=So(function(t){const n=[];for(let e of t)for(let t of e.curves){const{ps:e}=t,o=Ba(e).map(n=>{const{t:o}=n,r=Ao(e,o);return[{p:r,ri:n,kind:8,curve:t},{p:r,ri:n,kind:8,curve:t}]});n.push(...o)}return n}),La=So(function(t,n,e){let o=[t.map((t,e)=>[n[e],{...n[e]}]),Pa(t),Ta(t),Aa(t),za(e,t),Da(t)].flat(1);return"undefined"!=typeof _debug_&&_debug_.elems.intersection.push(...o.flat()),o});function qa(t){const{ps:n}=t,e=n[0],o=n[n.length-1];let r=e[1]<o[1]?{ri:ju(0),p:e,kind:0,curve:t}:{ri:ju(1),p:o,kind:0,curve:t};if(2===n.length){if(e[1]===o[1]){const n=[(e[0]+o[0])/2,(e[1]+o[1])/2];return{ri:ju(.5),p:n,kind:0,curve:t}}return r}const[,c]=ka(n),i=Je(c,0,1)||[];for(let e=0;e<i.length;e++){const o=i[e],c=Ao(n,o.t);c[1]<r.p[1]&&(r={ri:o,p:c,kind:0,curve:t})}return r}function Wa(t){let n=1/0,e=-1/0,o=1/0,r=-1/0;for(const c of t){const t=c[0],i=c[1];t<n&&(n=t),t>e&&(e=t),i<o&&(o=i),i>r&&(r=i)}return[[n,o],[e,r]]}function ja(t){const{curves:n}=t;let e,o=n[0],r=1/0;for(const t of n){const{ps:n}=t;if(Wa(n)[0][1]>r)continue;const c=qa(t),i=c.p[1];(void 0===e||i<r||i===r&&c.ri.t>e.ri.t)&&(e=c,o=t,r=i)}return e}const Fa=et(function(t){let n=0;for(const e of t)switch(e.length){case 2:n+=Ha(e,0,1);break;case 3:n+=(2*Ha(e,0,1)+Ha(e,0,2)+2*Ha(e,1,2))/3;break;case 4:n+=(6*Ha(e,0,1)+3*Ha(e,0,2)+Ha(e,0,3)+3*Ha(e,1,2)+3*Ha(e,1,3)+6*Ha(e,2,3))/10}return n/2});function Ha(t,n,e){return t[n][0]*t[e][1]-t[e][0]*t[n][1]}const{abs:Ya}=Math;function Ra(t){return t.map(t=>t.toReversed()).toReversed()}const{sign:Xa}=Math;function Qa(t,n){return t.ps===n.ps&&t.ts[1]===n.ts[0]&&(t.ts[1]-t.ts[0])*(n.ts[1]-n.ts[0])>0}function Va(t,n){return{ps:t.ps,ts:[t.ts[0],n.ts[1]]}}function $a(t,n){const{idx:e}=n;let o=t[e];return void 0===o&&(o={bigBox:n.bigBox,box:n.box,inOuts:[],xs:n.xs},t[e]=o),o}function Ua(t,n,e){return{idx:t.idx,_x_:t._x_,dir:n,swapped:e,oSideIdxs:t.oSideIdxs,oFSC:t.oFSC,oFSCE:t.oFSCE,oSideIdx:t.oSideIdx,container:void 0,orientation:void 0,windingNum:void 0,children:void 0,nextAround:void 0,parent:void 0,path:void 0,prevAround:void 0,twin:void 0,loop:void 0}}const{sign:Za}=Math;function Ga(t){const{ps:n,ts:e}=t;return{ps:n,ts:[e[1],e[0]]}}function Ja(t){return t.map(t=>{const n=t[0].out.orientation;return t.map(({out:t,depth:e})=>function(t,n,e){const{orientation:o}=t,r=(e%2==0?1:-1)*n,c=zu(t);return r*o>0?c:c.map(Ga).toReversed()}(t,n,e))})}const{ceil:Ka,log2:tp}=Math;function np(n,e={}){"undefined"!=typeof _debug_&&(_debug_.timing.timingStart=performance.now());const o=Ka(tp(function(t){let n=-1/0;for(const e of t)for(const t of e)for(const e of t)for(const t of e)n=xu(n,wu(t));return n}(n))),{minLoopArea:r=(2**(o-16))**2,forceOrientationNegative:c=!1,booleanOp:i="OR"}=e,s=o-46+("undefined"==typeof _debug_?4:30),u=(n=mu(n,o).sort(eo)).map(t),f=u.map(ja);"undefined"!=typeof _debug_&&f.forEach(t=>_debug_.elems.minY.push(t));const l=La(u,f,o),a=Hs(l,o,s);"undefined"!=typeof _debug_&&_debug_.elems.container.push(...a);const p=a.filter(t=>As(t.xs)),h=ro(Wu(o,p)).map(so(i)).filter(t=>0!==t.length);return function(n,e,o){const r=n.map(t=>t.map(t=>function(t){const n=t.length;return 0===n?t:t.map((e,o)=>{const r=t[(o+1)%n][0],c=e.length-1;return e.map((t,n)=>n===c?[...r]:t)})}(function(t){if(t.length<2)return t;const n=[];for(const e of t){const t=n[n.length-1];void 0!==t&&Qa(t,e)?n[n.length-1]=Va(t,e):n.push(e)}for(;n.length>=2&&Qa(n[n.length-1],n[0]);)n[0]=Va(n.pop(),n[0]);return n}(t).map(_u)))),c=e?r.map(t=>{return-1!==(n=t[0],Xa(Fa(n)))?t.map(Ra):t;var n}):r,i=So(function(t){return function(n){const e=[];for(let o=0;o<n.length;o++){const r=n[o].filter(n=>Ya(Fa(n))>t);r.length&&e.push(r)}return e}}(o)),s=i(c).map(t=>t.toSorted(eo));let u=0;const f=js(s,n=>t(n,u++));return function(t){if("undefined"!=typeof _debug_){for(const n of t)_debug_.elems.loop.push(...n),_debug_.elems.loops.push(n);"undefined"!=typeof _debug_&&(_debug_.timing.simplifyPaths=performance.now()-_debug_.timing.timingStart-_debug_.timing.normalize)}}(f),f}(function(t,n,e,o){const{containers_:r,minYContainers:c}=function(t,n,e){t.forEach((t,n)=>t.idx=n);const o=[],r=[];for(let t=0;t<n.length;t++){const c=n[t],i=Za(c[0].windingNum-c[0].parentWinding);for(let n=0;n<c.length;n++){const s=c[n],{out:u,depth:f,windingNum:l,parentWinding:a}=s,p=Za(l-a)!==(f%2==0?1:-1)*i,h=p?u.path.toReversed():u.path,d=new Set;for(const r of h){const{twin:c}=r,i=r.dir*(p?-1:1),s=Ua(r,i,p),u=Ua(c,-i,p);s.twin=u,u.twin=s;const f=$a(o,r._x_.container);f.inOuts.push(s);const l=$a(o,c._x_.container);l.inOuts.push(u),s.container=f,u.container=l;const a=Tu(e[t][n]);s.loop=a,u.loop=a,d.add(f)}r.push(d)}}const c=new Set;for(let t=0;t<r.length;t++){const n=r[t];let e,o=1/0;for(const t of n)t.box[0][1]<o&&(e=t,o=t.box[0][1]);c.add(e)}o.forEach(t=>{(t.inOuts.length>2||c.has(t))&&t.inOuts.sort(ks)}),o.forEach(t=>Fs(t.inOuts));const i=Array.from(c);return i.sort((t,n)=>t.box[0][1]-n.box[0][1]),{containers_:o,minYContainers:i}}(e,n,o);return"undefined"!=typeof _debug_&&(_debug_.elems.container.length=0,_debug_.elems.container.push(...r.filter(t=>void 0!==t))),Ja(ro(Wu(t,c)).map(so("OR")).filter(t=>0!==t.length))}(o,h,a,Ja(h)),c,r)}const{max:ep,abs:op}=Math;function rp(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=c[0],h=c[1],d=n[0],v=n[1],g=i-d,m=u-d,x=l-d,w=p-d,b=s-v,_=f-v,M=a-v,S=h-v,C=g*g,y=6*g*m,O=6*x*w,N=b*b,E=6*b*_,I=6*M*S,k=6*m*w+9*x*x,B=2*g*w+18*m*x,P=6*g*x+9*m*m,T=6*_*S+9*M*M,A=2*b*S+18*_*M,z=6*b*M+9*_*_;return[6*(w*w-O+(C-y)+k+(P-B)+(S*S-I+(N-E)+T+(z-A))),5*(O+5*y+3*B-2*(k+2*P+3*C)+(I+5*E+3*A-2*(T+2*z+3*N))),4*(k-3*(B-2*P)-5*(2*y-3*C)+(T-3*(A-2*z)-5*(2*E-3*N))),3*(B-2*(2*P-5*(y-2*C))+(A-2*(2*z-5*(E-2*N)))),2*(P-5*(y-3*C)+(z-5*(E-3*N))),y-6*C+(E-6*N)]}function cp(t,n){const e=t[0],o=t[1],r=t[2],c=e[0],i=e[1],s=o[0],u=o[1],f=r[0],l=r[1],a=n[0],p=n[1],h=c-a,d=s-a,v=f-a,g=i-p,m=u-p,x=l-p,w=h*h,b=h*d,_=d*v,M=g*g,S=g*m,C=m*x,y=g*x+m*m*2,O=h*v+d*d*2;return[x*x+M+2*y-4*(C+S)+(v*v+w+2*O-4*(_+b)),3*(C-y+(3*S-M)+(_-O+(3*b-w))),y-3*(2*S-M)+(O-3*(2*b-w)),S-M+(b-w)]}function ip(t,n){const[[e,o],[r,c]]=t,[i,s]=n,u=e-i,f=r-i,l=o-s,a=c-s,p=u*f+l*a,h=l*l+u*u;return[f*f+a*a+(h-2*p),p-h]}const{sqrt:sp}=Math;function up(t,n,e=!0){let o;if(4===t.length)o=rp(t,n);else if(3===t.length)o=cp(t,n);else{if(2!==t.length){if(1===t.length)return{p:t[0],t:0,d:nn(t[0],n)};throw new Error("The given bezier curve must be of order <= 3.")}o=ip(t,n)}const r=Je(o,0,1)?.map(t=>t.t)||[];e&&(r.push(0),r.push(1));let c,i=1/0;for(const e of r){const o=Ke(t,e),r=Gs(o,n);r<i&&(i=r,c={p:o,t:e,d:sp(r)})}return c}const{sqrt:fp}=Math,{abs:lp}=Math;function ap(t){let n=-1/0;for(let e=0;e<t.length;e++){const o=t[e],r=lp(o[0]),c=lp(o[1]);r>n&&(n=r),c>n&&(n=c)}return n}const{max:pp}=Math;function hp(t){return pp(t.hL+t.hEL,t.hR+t.hER)}function dp(t,n){const e=hp(t)-hp(n);return 0!==e?e:t.tS-n.tS}class vp{compare;heap=[];constructor(t){this.compare=t}insert(t){const n=this.heap;n.push(t);let e=n.length-1;for(;;){const o=(e-1-(e+1)%2)/2;if(-1===o)return;const r=n[o];if(this.compare(t,r)<0)break;n[o]=t,n[e]=r,e=o}}popMax(){const t=this.heap,n=t[0];return t[0]=t[t.length-1],t.length--,this.swimDown(),n}swimDown(){const t=this.heap,n=t.length;let e=0;for(;;){const o=2*e+1;if(o>=n)break;const r=2*e+2,c=r>=n||this.compare(t[o],t[r])>0?o:r,i=t[c],s=t[e];if(this.compare(s,i)>0)break;t[c]=s,t[e]=i,e=c}}swapMinOrMax(t){this.heap[0]=t,this.swimDown()}static getParentIdx(t){return(t-1-(t+1)%2)/2}static getLeftChild(t){return 2*t+1}static getRightChild(t){return 2*t+2}}const{max:gp}=Math;function mp(t,n,e){const o=(e+n)/2,r=U(t,n,o),c=U(t,o,e);return[au(r),au(c)]}function xp(t,n,e,o=50){return function(t,n,e,o=50){if(1===t.length){const e=up(n,t[0]);return{d:e.d,tA:0,pA:t[0],tB:e.t,pB:e.p}}if(1===n.length){const e=function(t,n){let e;if(4===t.length)e=rp(t,n);else if(3===t.length)e=cp(t,n);else{if(2!==t.length){if(1===t.length)return{p:t[0],t:0,d:nn(t[0],n)};throw new Error("The given bezier curve must be of order <= 3.")}e=ip(t,n)}const o=Je(e,0,1)?.map(t=>t.t)||[];o.push(0),o.push(1);let r,c=-1/0;for(const e of o){const o=Ke(t,e),i=Gs(o,n);i>c&&(c=i,r={p:o,t:e,d:fp(i)})}return r}(t,n[0]);return{d:e.d,tA:e.t,pA:e.p,tB:0,pB:n[0]}}if(2===t.length&&2===n.length){const e=up(n,t[0]),o=up(n,t[t.length-1]);return e.d>o.d?{d:e.d,tA:0,pA:t[0],tB:e.t,pB:e.p}:{d:o.d,tA:1,pA:t[t.length-1],tB:o.t,pB:o.p}}const r=gp(ap(t),ap(n));e=e||r/1e6;const[c,i]=mp(t,0,1),s={tS:0,tE:1,hL:up(n,t[0]).d,hR:up(n,t[t.length-1]).d,hEL:c,hER:i},u=new vp(dp);u.insert(s);let f=0,l=-1/0,a=0;for(;;){const r=u.heap[0],{tS:c,tE:i,hL:s,hR:p}=r,h=(c+i)/2,[d,v]=mp(t,c,h),[g,m]=mp(t,h,i),x=Ke(t,h),w=nn(x,up(n,x).p);let b=s,_=c;if(w>b&&(b=w,_=h),p>b&&(b=p,_=i),b>l&&(l=b,a=_),hp(r)-l<e)break;if(f++>o)break;const M={tS:c,tE:h,hL:s,hR:w,hEL:d,hER:v},S={tS:h,tE:i,hL:w,hR:p,hEL:g,hER:m};u.swapMinOrMax(M),u.insert(S)}const p=Ke(t,a),h=up(n,p);return{d:l,tA:a,pA:p,tB:h.t,pB:h.p}}(t,n,e,o).d}function wp(t,n=!1){const e=t;let o=e;const r=[];do{n&&o===e||z(o)||r.push(o),o=o.nextOnCircle}while(o!==e);return r}function bp(t){const n=[],e=[t],o=new Set;for(;e.length>0;){const t=Kt(e.pop());if(0===t.length)continue;n.push(t);const r=t[0],c=t[t.length-1].next.prevOnCircle;o.add(r),o.add(c);const i=wp(r,!0),s=wp(c,!0),u=i.filter(t=>!o.has(t)),f=s.filter(t=>!o.has(t));for(const t of u)o.add(t);for(const t of f)o.add(t);e.push(...u,...f)}return n}function _p(t){return{color:0,parent:void 0,left:void 0,right:void 0,datum:t}}class Mp{compare;root;size;minNode;maxNode;minNodeStale=!0;maxNodeStale=!0;constructor(t){this.compare=t,this.root=void 0,this.size=0,this.minNode=void 0,this.maxNode=void 0,this.minNodeStale=!0,this.maxNodeStale=!0}isEmpty(){return void 0===this.root}find(t){let n=this.root;for(;n;){const e=this.compare(t,n.datum);if(0===e)return n;n=e<0?n.left:n.right}}insert(t){if(this.minNodeStale=!0,this.maxNodeStale=!0,void 0===this.root)return this.root=_p(t),this.root.color=1,void(this.size=1);let n,e=this.root;for(;e;){n=e;const o=this.compare(t,e.datum);if(0===o)return void(e.datum=t);e=o<0?e.left:e.right}const o=_p(t);o.parent=n,this.compare(t,n.datum)<0?n.left=o:n.right=o,this.size++,this.fixInsert(o)}remove(t){const n=this.find(t);if(void 0===n)return;const e=n.datum;return this.removeNode(n),this.size--,this.minNodeStale=!0,this.maxNodeStale=!0,e}findBounds(t){let n=this.root;const e=[void 0,void 0];for(;n;)this.compare(t,n.datum)>=0?(e[0]=n,n=n.right):(e[1]=n,n=n.left);return e}getMinNode(){if(!this.minNodeStale)return this.minNode;let t=this.root;for(;t&&t.left;)t=t.left;return this.minNode=t,this.minNodeStale=!1,t}getMaxNode(){if(!this.maxNodeStale)return this.maxNode;let t=this.root;for(;t&&t.right;)t=t.right;return this.maxNode=t,this.maxNodeStale=!1,t}checkIntegrity(){if(void 0===this.root)return!0;if(1!==this.root.color)return!1;const t=this.compare;let n;return-1!==function e(o){if(void 0===o)return 1;const{left:r,right:c}=o;if(0===o.color&&(0===r?.color||0===c?.color))return-1;const i=e(r);if(-1===i)return-1;if(void 0!==n&&t(n.datum,o.datum)>=0)return-1;n=o;const s=e(c);return-1===s||i!==s?-1:i+(1===o.color?1:0)}(this.root)}toStr(t){let n="";return void 0===this.root||function e(o){n+=t(o),void 0!==o.left&&(n+="(",e(o.left),n+=")"),void 0!==o.right&&(n+="[",e(o.right),n+="]")}(this.root),n}toArr(){const t=[];return function n(e){void 0!==e&&(n(e.left),t.push(e.datum),n(e.right))}(this.root),t}removeNode(t){this.minNodeStale=!0,this.maxNodeStale=!0;let n,e,o=t,r=o.color;if(void 0===t.left)n=t.right,e=t.parent,this.transplant(t,t.right);else if(void 0===t.right)n=t.left,e=t.parent,this.transplant(t,t.left);else{for(o=t.right;o.left;)o=o.left;r=o.color,n=o.right,o.parent===t?(e=o,n&&(n.parent=o)):(e=o.parent,this.transplant(o,o.right),o.right=t.right,o.right.parent=o),this.transplant(t,o),o.left=t.left,o.left.parent=o,o.color=t.color}1===r&&this.fixDelete(n,e)}fixInsert(t){let n=t;for(;n.parent&&0===n.parent.color;){const t=n.parent,e=t.parent;if(t===e.left){const o=e.right;0===this.colorOf(o)?(t.color=1,o.color=1,e.color=0,n=e):(n===t.right&&(n=t,this.rotateLeft(n)),n.parent.color=1,e.color=0,this.rotateRight(e))}else{const o=e.left;0===this.colorOf(o)?(t.color=1,o.color=1,e.color=0,n=e):(n===t.left&&(n=t,this.rotateRight(n)),n.parent.color=1,e.color=0,this.rotateLeft(e))}}this.root.color=1}fixDelete(t,n){let e=t,o=n;for(;e!==this.root&&1===this.colorOf(e)&&void 0!==o;)if(e===o?.left){let t=o.right;0===this.colorOf(t)&&(t.color=1,o.color=0,this.rotateLeft(o),t=o.right),1===this.colorOf(t?.left)&&1===this.colorOf(t?.right)?(t&&(t.color=0),e=o,o=e?.parent):(1===this.colorOf(t?.right)&&(t?.left&&(t.left.color=1),t&&(t.color=0,this.rotateRight(t)),t=o.right),t&&(t.color=o.color),o.color=1,t?.right&&(t.right.color=1),this.rotateLeft(o),e=this.root,o=void 0)}else{let t=o?.left;0===this.colorOf(t)&&(t.color=1,o.color=0,this.rotateRight(o),t=o.left),1===this.colorOf(t?.left)&&1===this.colorOf(t?.right)?(t&&(t.color=0),e=o,o=o?.parent):(1===this.colorOf(t?.left)&&(t?.right&&(t.right.color=1),t&&(t.color=0,this.rotateLeft(t)),t=o?.left),t&&(t.color=o.color),o.color=1,t?.left&&(t.left.color=1),this.rotateRight(o),e=this.root,o=void 0)}e&&(e.color=1)}transplant(t,n){void 0===t.parent?this.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n&&(n.parent=t.parent)}rotateLeft(t){const n=t.right;t.right=n.left,n.left&&(n.left.parent=t),n.parent=t.parent,void 0===t.parent?this.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}rotateRight(t){const n=t.left;t.left=n.right,n.right&&(n.right.parent=t),n.parent=t.parent,void 0===t.parent?this.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}colorOf(t){return t?t.color:1}}function Sp(t){const n=new Map;return k(t).forEach(function(t){const e=t.pointOnShape.curve.loop;let o=n.get(e);o||(o=new Mp(zn),n.set(e,o)),o.insert(t)}),n}const{max:Cp}=Math;function yp(t,n=.125,e=50){let o=Q(t.cpNode);for(;!z(o);)o=o.next;const r=bp(o),c=new Set;for(let t=0;t<r.length;t++){const o=r[t];let i=0;for(;i<o.length;){const t=i;for(;(i++,i!==o.length)&&!(Op(t,i,o,e)>n);)c.add(o[i])}}o=function(t,n){const e=n;do{if(t(n))return n;n=n.next}while(n!==e)}(z,o);for(const n of c)Ln(t=>2!==T(t)&&!t.isHoleClosing)(n)||J(n,t.meta);return{cpNode:o,meta:{...t.meta,cpTrees:Sp(o)}}}function Op(t,n,e,o){const r=[],c=Vt(e[t],e[n].next);for(;t<n+1;t++)r.push(xp($t(e[t]),c,o));return Cp(...r)}function Np(t){const n=k(t);return n.reduce(function(t,n){return t.pointOnShape.circle.radius>=n.pointOnShape.circle.radius?t:n},n[0])}function Ep(t){const n=[],e=k(t);for(const t of e)q(t)&&!t.isHoleClosing&&n.push(t);return n}const Ip=function(t,n,e){const o=t.get(n);return void 0!==o&&o.has(e)},kp=function(t,n,e){let o=t.get(n);void 0===o&&(o=new Set,t.set(n,o)),o.add(e)};function Bp(t){let n=t,e=t.prevOnCircle;for(;z(e);)e=e.prevOnCircle;const o=[];do{z(n)||o.push(n),n=n.nextOnCircle}while(n!==e);return o}function Pp(t,n){const e=new Map,o=new Map;return H(t,function(t){const r=o.get(t)||n*t.pointOnShape.circle.radius,c=t.next,i=function(t,n,e=.4,o=16){if(4===n.length)return Nn(t,n,e,o);if(3===n.length)return Sn(t,n,e,o);if(2===n.length)return en(t,n);if(1===n.length)return 0;throw new Error("The given bezier curve must be of order <= 3.")}([0,1],$t(t)),s=c.pointOnShape.circle.radius;if(r-i>n*s)for(const t of A(c))if(o.set(t,r-i),!c.isHoleClosing){const{center:t}=c.pointOnShape.circle;kp(e,t[0],t[1])}}),e}function Tp(t,n){let e=0;"undefined"!=typeof _debug_&&(e=performance.now());const o=Np(Q(t.cpNode));!function(t,n){const e=Ep(n);for(;e.length;){const o=e.pop(),{center:r}=o.pointOnShape.circle;if(!Ip(t,r[0],r[1])||o.isIntersection)continue;let c=o.prevOnCircle,i=!1;for(;!i;){c=c.next;const{center:e}=c.pointOnShape.circle;if(Ip(t,e[0],e[1]))if(Zt(c,n))i=!0;else{if(1===Bp(c).length)continue;i=!0}else{for(;z(c.prevOnCircle);)c=c.prevOnCircle;i=!0}}if(i){const t=c.prevOnCircle;t.next=c,c.prev=t,t.nextOnCircle=c,c.prevOnCircle=t}}}(Pp(o,n),o);const r={cpNode:o,meta:{...t.meta,cpTrees:Sp(o)}};return function(t){"undefined"!=typeof _debug_&&(_debug_.timing.sats=performance.now()-t)}(e),r}const Ap={maxCurviness:.05,maxLength:40,applySat:!0,satScale:2,simplify:!0,simplifyTolerance:2**-4,minBezLength:2**-6,angleIncrement:15},zp={maxCurviness:{range:[.01,3],scaleByMaxCoordinate:!1},maxLength:{range:[1,1024],scaleByMaxCoordinate:!0},angleIncrement:{range:[.1,360],scaleByMaxCoordinate:!1},satScale:{range:[1,1/0],scaleByMaxCoordinate:!1},simplifyTolerance:{range:[2**-20,2**20],scaleByMaxCoordinate:!0},minBezLength:{range:[2**-20,2],scaleByMaxCoordinate:!0}};function Dp(t){return[t[1],-t[0]]}function Lp(t,n){if(!Ht(n))return 0;const e=Ft(n);return e.isDull?-ct(Dp(e.tangents[0]),lt(rt(n.p,t))):0}function qp(t){return t[0]*t[0]+t[1]*t[1]}function Wp(t,n,e){return t[0]*(n[1]*e[2]-n[2]*e[1])-t[1]*(n[0]*e[2]-n[2]*e[0])+t[2]*(n[0]*e[1]-n[1]*e[0])}function jp(t){const n=t[0],e=t[1],o=t[2],r=qp,c=.5*Wp([r(n),n[1],1],[r(e),e[1],1],[r(o),o[1],1]),i=.5*Wp([n[0],r(n),1],[e[0],r(e),1],[o[0],r(o),1]),s=Wp([n[0],n[1],1],[e[0],e[1],1],[o[0],o[1],1]);return[c/s,i/s]}function Fp(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}const Hp=Oo,Yp=le,Rp=hn,Xp=Number.EPSILON;function Qp(t,n){const[e,o]=t,[r,c]=n,i=Oo(e,r),s=Oo(o,c);return hn(le(i,i),le(s,s))[1]}const Vp=Number.EPSILON;function $p(t,n,e){const[o,r]=e,{ps:c}=t,i=[];if(o!==r){const{polyDd:e,polyE:s,getPolyExact:u}=Zf(c,n),f=Je(e,o,r,s,u)||[];i.push(...f.map(e=>{const{tS:o,tE:r,t:i}=e,s=i<0?0:i>1?1:i,u=function(t,n){const e=t[0],o=t[1],r=e[0],c=e[1],i=o[0],s=o[1],u=n[0],f=n[1];let l=1/0,a=-1/0;for(const[t,n]of[[r,c],[r,s],[i,c],[i,s]]){const e=Hp(t,u),o=Hp(n,f),r=Rp(Yp(e,e),Yp(o,o))[1],c=r*(1-Xp),i=r*(1+Xp);c<=l&&(l=c),i>=a&&(a=i)}return[l,a]}(ts(c,[o,r]),n),f=0===s?1:s;return{curve:0===s?t.prev:t,t:f,dSquaredI:u}}))}const s=e.slice();return o===r&&s.push(o),i.push(...s.map(e=>{const o=Qp(To(c,[0,e]).map(t=>t[0]+t[1]),n),r=[o*(1-Vp),o*(1+Vp)],i=0===e?1:e;return{curve:0===e?t.prev:t,t:i,dSquaredI:r}})),i}const{min:Up}=Math,Zp=1+2**-20;function Gp(t,n){const e=t[0],o=t[1],r=e[0],c=e[1],i=o[0],s=o[1],u=n[0],f=n[1];return u<r?f<c?Gs(t[0],n):f>s?Gs([r,s],n):(r-u)**2:u>i?f<c?Gs([i,c],n):f>s?Gs(t[1],n):(u-i)**2:f<c?(c-f)**2:f>s?(f-s)**2:0}const Jp=et(lu);function Kp(t,n){const e=[0,1,2,3].map(e=>function(t,n){const e=Gs,o=n[0],r=n[1],c=e(o,r);if(0==c)return e(t,o);let i=((t[0]-o[0])*(r[0]-o[0])+(t[1]-o[1])*(r[1]-o[1]))/c;return i=Math.max(0,Math.min(1,i)),e(t,[o[0]+i*(r[0]-o[0]),o[1]+i*(r[1]-o[1])])}(n,[t[e],t[(e+1)%4]])),o=Gs(t[0],t[1]),r=Gs(t[0],t[3]);return e[0]<=r&&e[2]<=r&&e[1]<=o&&e[3]<=o?0:Math.min(...e)}const th=et(hu);function nh(t,n){return To(t,[0,n])}function eh(t,n){t=function(t,n){const e=function(t,n){let e=1/0;for(let o=0;o<t.length;o++){const r=t[o],{curve:{ps:c},ts:i}=r,s=Ke(c,i[0]),u=Ke(c,i[1]);e=Up(e,Gs(n,s),Gs(n,u))}return Zp*e}(t,n);return t=function(t,n,e){const o=[];for(let r=0;r<t.length;r++){const c=t[r],{ps:i}=c.curve;Gp(Jp(i),n)<=e&&o.push(c)}return o}(t,n,e),t=function(t,n,e){const o=[];for(let r=0;r<t.length;r++){const c=t[r],i=c.curve.ps;Kp(th(i),n)<=e&&o.push(c)}return o}(t,n,e),t}(t,n);const e=[];for(let o=0;o<t.length;o++){const r=t[o],c=$p(r.curve,n,r.ts);e.push(...c)}let o=1/0;for(let t=0;t<e.length;t++){const n=e[t].dSquaredI[1];n<o&&(o=n)}const r=[];for(let t=0;t<e.length;t++){const n=e[t];n.dSquaredI[0]<=o&&r.push(n)}return r.map(t=>{const{curve:n,t:e}=t,{ps:o}=n,r=nh(o,e);return{curve:n,t:e,isSource:!1,p:r.map(t=>t[0]+t[1]),pDd:r}})}function oh(t,n){return n.map(n=>eh(n,t)[0])}function rh(t,n){return[n*t[0],n*t[1]]}function ch(t,n,e){const o=Fp(e);let r,c,i,s,u=1,f=0;do{c=ft(rh(e,u),n),i=t.map(t=>eh(t,n)[0]),s=Fp(rt(c,jp(i.map(t=>t.p)))),r=s<o,u/=2,f++}while(!r&&f<3);return{newX:c,newV:s,newPoss:i}}const{min:ih,abs:sh,asin:uh}=Math;function fh(t,n,e,o,r){const c=2**(r-32),i=[t[0],t[n],t[t.length-1]],s=[o[0],o[n],o[t.length-1]],u=[[i[0],i[1],i[2]],[i[1],i[2],i[0]],[i[2],i[0],i[1]]][e],f=[[s[0],s[1],s[2]],[s[1],s[2],s[0]],[s[2],s[0],s[1]]][e];if(W(u[0][0]))return;let l,a=0,p=function(t,n){const e=t[0][0].pointOnShape.circle.center,o=eh(n[1],e)[0];return jp([t[0][0].pointOnShape.p,o.p,t[2][1].pointOnShape.p])}(u,f),h=1/0;for(;h>c&&a<10;){if(a++,l=oh(p,f),!Number.isFinite(p[0])||!Number.isFinite(p[1]))return;const t=jp(l.map(t=>t.p)),n=rt(p,t);if(!Number.isFinite(n[0])||!Number.isFinite(n[1]))return;const e=ch(f,p,n);p=e.newX,l=e.newPoss;const o=Fp(n);h=sh(o-e.newV)}const d=(nn(p,l[0].p)+nn(p,l[1].p)+nn(p,l[2].p))/3,v={center:p,radius:d};let g=0;for(let t=0;t<3;t++){const n=l[t],e=lt(rt(n.p,p)),o=it(e);if(Ht(n)&&Ft(n).isDull){const t=jt(n.curve.ps,n.curve.next.ps).tangents.map(it),o=uh(st(t[0],e)),r=uh(st(e,t[1]));let c=0;o>0&&(c+=o),r>0&&(c+=r),g+=c}else{const t=lt(ht(n.curve.ps,n.t));g+=sh(uh(st(o,t)))}}const m=[];for(let t=0;t<o.length;t++){const n=eh(o[t],p)[0];m.push(nn(n.p,p))}const x=ih(...m);return{threeProngInfo:{poss:l,circle:v,δ3s:u},error:1*sh(d-x)+1*g}}function lh(t){let n=t[0];const e=t[1],o=[];let r=!0;do{const t=n.pointOnShape,e=n.next.pointOnShape,c=t.curve,i=e.curve;if(r)if(r=!1,i===c&&An(e,t)>0)o.push({curve:c,ts:[t.t,e.t]}),n=n.next;else{if(c.loop===i.loop){const n={curve:c,ts:[t.t,1]};o.push(n),ah(o,c,i,e.t)}n=n.next}else r=!0,n=n.prevOnCircle}while(n!==e);return o}function ah(t,n,e,o){let r=n;do{r=r.next;const n=r===e?o:1;t.push({curve:r,ts:[0,n]})}while(r!==e)}function ph(t,n,e,o){const r={...n,order:e,order2:o},c=t.findBounds({pointOnShape:r}),[i,s]=c;if(void 0!==i||void 0!==s){if(void 0===i||void 0===s){const n=t.getMinNode()?.datum,e=t.getMaxNode()?.datum;return[e,n]}return[i.datum,s.datum]}}function hh(t,n,e,o,r,c,i,s){if(void 0!==c&&void 0!==i){const n=function(t,n,e,o){if(t.size<=1)return!0;const r=n.pointOnShape,c=e,i=o.pointOnShape,s=An(r,c);if(0===s)return!1;const u=An(c,i);if(0===u)return!1;const f=An(i,r);if(0===f)return!1;const l=s<0,a=u<0,p=f<0;return!!(l&&a||a&&p||p&&l)}(o,c,r,i);if(!t&&!n)return}const u={pointOnShape:r,isHoleClosing:n,isIntersection:e,id:s.id,next:void 0,prev:void 0,nextOnCircle:void 0,prevOnCircle:void 0};s.id++;const f=void 0===c?u:c,l=void 0===c?u:f.next;return l.prev=u,f.next=u,u.prev=f,u.next=l,o.insert(u),u}function dh(t,n,e,o,r,c,i){const{cpTrees:s}=r;let u=!1;const f=c.map((c,f)=>{const l=o[f],a=s.get(c.curve.loop),p={...c,circle:e,order:l,order2:0},h=void 0===i?ph(a,c,l,0):i[f],d=h?.[0],v=h?.[1],g=hh(t,n,!1,a,p,d,v,r.lastInsertId);return void 0===g&&(u=!0),g});return u||function(t,n){n=n.slice().sort(function(t){const n=t.center;return function(t,e){let o=t.pointOnShape.p,r=e.pointOnShape.p;o=[o[0]-n[0],o[1]-n[1]],r=[r[0]-n[0],r[1]-n[1]];const c=Math.atan2(o[1],o[0]);return Math.atan2(r[1],r[0])-c}}(t));const e=n.length;for(let t=0;t<e;t++){const o=n[t];o.nextOnCircle=n[(t+1)%e],o.prevOnCircle=n[(t-1+e)%e]}}(e,f),{anyFailed:u,cpNodes:f}}const vh=Math.cos(Math.PI/180*1);function gh(t,n,e,o,r,c){const{cpTrees:i,maxCoordPowerOf2:s}=t,u=2**(s-40),f=2**(s-46),l=i.get(n.curve.loop),a=ph(l,n,o,r)?.[0];if(!a)return;const p=[a,a.next],{p:h,t:d}=n;for(const t of p){const n=t.pointOnShape.p,o=nn(h,n);if(!(o>u)&&(ct(lt(rt(n,t.pointOnShape.circle.center)),lt(rt(h,e.center)))>vh||o<f&&0!==d&&1!==d))return t}}function mh(t,n){const e=[];for(const t of n)e.push([t,t.next]);const o=function(t,n){const e=t.map(lh);let o,r=1/0;for(let c=1;c<t.length-1;c++)for(let i=0;i<3;i++){const s=fh(t,c,i,e,n);if(void 0===s)continue;const{error:u,threeProngInfo:f}=s;u<r&&(r=u,o=f)}return o}(e,t.maxCoordPowerOf2),{circle:r,poss:c,δ3s:i}=o,s=[];for(let t=0;t<3;t++)s.push(Lp(r.center,c[t]));const u=[];for(let n=0;n<c.length;n++){const e=gh(t,c[n],r,s[n],0);void 0!==e&&T(e)<=2&&!e.isHoleClosing&&u.push(e)}return{closeBysFor3Prong:u,cpNodes:0===u.length?dh(!0,!1,r,s,t,c,i).cpNodes:[]}}let xh,wh=0;function bh(t,n){if(Yt(n.pointOnShape))return{closeBysFor3Prong:void 0,addedCpNodes:[]};const e=[];for(;;){if(void 0===n)continue;const o=F(n);if(o.length<=2)break;const{closeBysFor3Prong:r,cpNodes:c}=mh(t,o);if(e.push(c),r.length>0)return{closeBysFor3Prong:r,addedCpNodes:e};if("undefined"!=typeof _debug_&&++wh===_debug_.directives.stopAfterThreeProngsNum)return}return{closeBysFor3Prong:void 0,addedCpNodes:e}}function _h(t){for(const n of t)return n}function Mh(t,n,e,o){const r=n[0];A(r).forEach(t=>{e.delete(t),o.delete(t)}),J(r,t)}function Sh(t,n,e){const o=new Map;for(let r=0;r<n.length;r++){const c=new Mp(zn);o.set(t[r],c);const i=n[r];let s,u;for(const t of i){const n={center:t.p,radius:0},{curve:o}=t,r={...t,curve:o,t:1,circle:n,order:-1,order2:0},i={...t,curve:o.next,t:0,circle:n,order:1,order2:0};s=hh(!0,!1,!1,c,r,u,void 0,e),u=hh(!0,!1,!1,c,i,s,void 0,e),s.prevOnCircle=u,u.prevOnCircle=s,s.nextOnCircle=u,u.nextOnCircle=s}}return o}function Ch(t){const n=[],e=[],o=[],r=[],c=[];for(const i of t)for(const t of i.curves){const i=t.ps,s=vu(i,!0);o.push(s);const u=Jp(i);n.push(u);const f=hu(i);e.push(f);const l=jt(t.ps,t.next.ps);l.isQuiteSharp?r.push(t):l.isQuiteDull&&c.push(t)}return{looseBoundingBoxes:n,tightBoundingBoxes:e,boundingHulls:o,sharpCorners:r,dullCorners:c}}function yh(t){return n=>{const e=[];for(let o=0;o<n.curves.length;o++){const r=n.curves[o];if(!(au(r.ps)<t)&&jt(r.ps,r.next.ps).isQuiteSharp){const{ps:t}=r,n=t[t.length-1],o=[[0,n[0]],[0,n[1]]];e.push({curve:r,t:1,isSource:!0,p:n,pDd:o})}}return e}}function Oh(t,n){let e=[0,0];for(let o=0;o<t.length;o++)e=hn(t[o],ie(n,e));return e}const Nh=Oo,Eh=ie,Ih=hn,kh=No,Bh=oa;function Ph(t){if(4===t.length)return function(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[Ih(Nh(s,n),Eh(3,Nh(o,c))),Eh(3,kh(Bh(c,n),-2*o)),Eh(3,Nh(o,n)),[0,n]],[Ih(Nh(u,e),Eh(3,Nh(r,i))),Eh(3,kh(Bh(i,e),-2*r)),Eh(3,Nh(r,e)),[0,e]]]}(t);if(3===t.length)return function(t){const[[n,e],[o,r],[c,i]]=t;return[[kh(Bh(c,n),-2*o),Nh(2*o,2*n),[0,n]],[kh(Bh(i,e),-2*r),Nh(2*r,2*e),[0,e]]]}(t);if(2===t.length)return function(t){const[[n,e],[o,r]]=t;return[[Nh(o,n),[0,n]],[Nh(r,e),[0,e]]]}(t);if(1===t.length)return function(t){const[[n,e]]=t;return[[[0,n]],[[0,e]]]}(t);throw new Error("The given bezier curve must be of order <= cubic.")}const Th=ie,Ah=hn,zh=le,Dh=Xo,Lh=kf,qh=fr,Wh=qo,jh=Oo,Fh=hn,Hh=le,Yh=Xo,Rh=kf,Xh=fr,Qh=qo,Vh=ie,$h=hn,Uh=le,Zh=Xo,Gh=kf,Jh=fr,Kh=qo,td=hn,nd=le,ed=fr,od=qo;function rd(t,n,e){const[o,r]=t,[c,i]=n,[s,u]=e,f=od(o,s),l=od(r,u);return{a0:td(nd(ed(c),f),nd(ed(i),l)),b0:td(nd(f,f),nd(l,l))}}const cd=[,,function(t,n,e){const[o,r]=t,[c,i]=n,[[s,u],[f,l]]=e,a=jh(f,s),p=jh(l,u),h=Qh(o,s),d=Qh(r,u),v=Fh(Hh(c,a),Hh(i,p)),g=Yh(Fh(Hh(a,a),Hh(p,p))),m=Fh(Hh(a,h),Hh(p,d)),x=Rh(v),w=Fh(Hh(Xh(c),h),Hh(Xh(i),d)),b=Yh(g),_=Rh(m),M=Fh(Hh(h,h),Hh(d,d));return{A:[x,w],B:[b,_,M],C:[v],D:[g,m],H:[Hh(b,v),Hh(w,g),Fh(Hh(w,m),Yh(Hh(M,v)))]}},function(t,n,e){const[o,r]=t,[c,i]=n,[[s,u]]=e,[[f,l],[a,p]]=Ph(e),h=Wh(o,s),d=Wh(r,u),v=qh(Ah(zh(c,f),zh(i,a))),g=Ah(zh(c,l),zh(i,p)),m=Ah(zh(c,h),zh(i,d)),x=Ah(zh(f,f),zh(a,a)),w=Ah(zh(l,f),zh(p,a)),b=Ah(zh(l,l),zh(p,p)),_=Ah(zh(h,f),zh(d,a)),M=Ah(zh(l,h),zh(p,d)),S=Ah(zh(h,h),zh(d,d)),C=Lh(x),y=Th(-3,w),O=Ah(qh(_),Dh(b)),N=Dh(v),E=Lh(g),I=qh(m),k=qh(w),B=Dh(O);return{A:[N,E,I],B:[x,k,B,Lh(M),S],C:[v,g],D:[C,y,O,M],H:[zh(x,v),Ah(zh(w,v),Th(3,zh(x,g))),qh(qh(Ah(zh(w,g),Dh(zh(m,x))))),Ah(Ah(zh(v,M),zh(g,B)),Dh(Th(6,zh(m,w)))),Ah(Lh(zh(m,B)),Dh(zh(v,S))),Ah(qh(zh(m,M)),Dh(zh(g,S)))]}},function(t,n,e){const[o,r]=t,[c,i]=n,[[s,u,f,[,l]],[a,p,h,[,d]]]=Ph(e),v=Kh(o,l),g=Kh(r,d),m=$h(Uh(c,s),Uh(i,a)),x=$h(Uh(c,u),Uh(i,p)),w=$h(Uh(c,f),Uh(i,h)),b=$h(Uh(c,v),Uh(i,g)),_=$h(Uh(s,s),Uh(a,a)),M=$h(Uh(s,u),Uh(a,p)),S=$h(Uh(s,f),Uh(a,h)),C=$h(Uh(u,u),Uh(p,p)),y=$h(Uh(u,f),Uh(p,h)),O=$h(Uh(f,f),Uh(h,h)),N=$h(Uh(s,v),Uh(a,g)),E=$h(Uh(u,v),Uh(p,g)),I=$h(Uh(f,v),Uh(h,g)),k=$h(Uh(v,v),Uh(g,g)),B=Vh(3,m),P=Jh(x),T=w,A=Vh(-3,_),z=Vh(-5,M),D=$h(Vh(-4,S),Gh(C)),L=$h(Vh(3,N),Vh(-3,y)),q=$h(Jh(E),Zh(O)),W=Gh(m),j=Gh(x),F=Gh(w),H=Jh(b),Y=Jh(M),R=$h(Jh(S),C),X=$h(Jh(y),Gh(N)),Q=$h(O,Gh(E)),V=Gh(I);return{A:[W,j,F,H],B:[_,Y,R,X,Q,V,k],C:[B,P,T],D:[A,z,D,L,q,I],H:[Vh(3,Uh(m,_)),Jh(Jh($h(Uh(m,M),Uh(x,_)))),$h($h(Uh(m,R),Vh(6,Uh(x,M))),Vh(5,Uh(w,_))),$h($h(Jh(Uh(x,R)),Vh(8,Uh(w,M))),Zh(Vh(6,Uh(b,_)))),$h($h(Zh(Uh(m,Q)),Uh(x,X)),$h(Vh(3,Uh(w,R)),Zh(Vh(10,Uh(b,M))))),$h($h(Gh(Uh(m,V)),Jh(Uh(w,X))),Zh(Jh(Jh(Uh(b,R))))),$h($h($h(Uh(w,Q),Zh(Uh(x,V))),Zh(Vh(3,Uh(b,X)))),Zh(Vh(3,Uh(m,k)))),$h(Gh(Uh(b,Q)),Gh(Uh(x,k))),$h(Zh(Uh(b,V)),Zh(Uh(w,k)))]}}],id=ie,sd=hn,ud=le,fd=Xo,ld=fr,ad=ie,pd=hn,hd=le,dd=Xo,vd=kf,gd=fr,{sqrt:md,abs:xd,max:wd}=Math,bd=ce;function _d(t,n,e,o,r,c,i){const{curve:s,ts:[u,f]}=i,{ps:l}=s,{curve:a,t:p,p:h,pDd:d}=o,v=s===a,g=0===c&&v,m=[];let x,w=!1,b=!1;if(!(u===f||g&&2===l.length||v&&3===l.length&&r)){const{A:n,B:o,H:r}=g?3===l.length?function(t,n,e){const[[o,r],[c,i]]=Ph(e),[s,u]=n,f=sd(id(t,o),r),l=sd(id(t,c),i),a=sd(ud(o,o),ud(c,c)),p=sd(ud(o,r),ud(c,i)),h=sd(ud(o,f),ud(c,l)),d=ld(sd(ud(s,o),ud(u,c)));return{A:[fd(d)],B:[a,ld(h),sd(ud(f,f),ud(l,l))],H:[ud(a,d),ud(d,sd(id(t,a),p))]}}(p,e,l):function(t,n,e){const[o,r]=n,[[c,i,s],[u,f,l]]=Ph(e),a=pd(hd(o,c),hd(r,u)),p=pd(hd(o,i),hd(r,f)),h=pd(hd(o,s),hd(r,l)),d=pd(hd(c,c),hd(u,u)),v=pd(hd(c,i),hd(u,f)),g=pd(hd(c,s),hd(u,l)),m=pd(hd(i,i),hd(f,f)),x=pd(hd(i,s),hd(f,l)),w=pd(hd(s,s),hd(l,l)),b=ad(t,pd(ad(t,pd(ad(t,a),p)),h)),_=ad(t,pd(ad(t,pd(ad(t,d),v)),g)),M=ad(t,pd(ad(t,pd(ad(t,v),m)),x)),S=ad(3,a),C=gd(p),y=pd(C,ad(t,S)),O=ad(-3,d),N=ad(-5,v),E=pd(ad(-4,g),vd(m)),I=pd(ad(-3,x),ad(3,_)),k=pd(dd(w),gd(M)),B=O,P=pd(N,ad(t,B)),T=pd(E,ad(t,P)),A=pd(I,ad(t,T)),z=pd(k,ad(t,A)),D=vd(a),L=vd(p),q=d,W=gd(v),j=pd(gd(g),m),F=pd(gd(x),vd(_)),H=pd(w,vd(M)),Y=D,R=pd(L,gd(ad(t,Y))),X=q,Q=pd(W,gd(ad(t,X))),V=pd(j,ad(t,pd(gd(Q),dd(ad(t,X))))),$=pd(F,ad(t,pd(gd(V),dd(ad(t,Q))))),U=pd(H,ad(t,pd(gd($),dd(ad(t,V))))),Z=ad(3,hd(a,d)),G=gd(gd(pd(hd(a,v),hd(p,d)))),J=pd(pd(hd(a,j),ad(6,hd(p,v))),ad(5,hd(h,d))),K=pd(pd(gd(hd(p,j)),ad(8,hd(h,v))),dd(ad(6,hd(b,d)))),tt=pd(pd(dd(hd(a,H)),hd(p,F)),pd(ad(3,hd(h,j)),dd(ad(10,hd(b,v))))),nt=Z,et=pd(G,gd(gd(ad(t,nt)))),ot=pd(J,ad(t,pd(gd(gd(et)),dd(ad(6,ad(t,nt)))))),rt=pd(K,ad(t,pd(gd(gd(ot)),ad(t,pd(ad(-6,et),gd(gd(ad(t,nt))))))));return{A:[Y,R],B:[X,Q,V,$,U],C:[S,y],D:[B,P,T,A,z],H:[nt,et,ot,rt,pd(tt,ad(t,pd(gd(gd(rt)),ad(t,pd(ad(-6,ot),ad(t,pd(gd(gd(et)),dd(ad(t,nt)))))))))]}}(p,e,l):function(t,n,e){if(1===e.length){const{a0:o,b0:r}=rd(t,n,e[0]);return{A:[o],B:[r],C:[],D:[],H:[]}}return cd[e.length](t,n,e)}(d,e,l);x=Je(r,u,f)||[];for(let r=0;r<x.length;r++){const c=x[r],{tS:i,tE:l,t:a}=c;if(c.multiplicity>1)continue;if(l<u||i>f)continue;if(i<0)continue;const p=l>1?1:a,d=Oh(n,p),v=Oh(o,p),g=d[0]+d[1],_=v[0]+v[1],M=xd(g);if(wd(M)<2**-40)continue;const S=-_/g;if(S<=0)continue;const C=[bd(S,e[0]),bd(S,e[1])],y=[C[0][1],C[1][1]],O=md(qp(y));if(O<=2**(t-40))continue;const N=[h[0]+y[0],h[1]+y[1]];c.tS<=u&&c.tE>=u&&(w=!0),c.tS<=f&&c.tE>=f&&(b=!0);const E=0===p?1:p,I={curve:0===p?s.prev:s,s:E,d:O,x:N};m.push(I)}}const _=l[l.length-1];let M=0===p&&s===a.prev||1===p&&s===a;const S=[];if(0===u);else if(1===u)M||w||S.push({P:_,t:1});else if(!w){const t=Ke(l,u);S.push({P:t,t:u})}if(u!==f)if(0===f);else if(1===f)M||b||(S.push({P:_,t:1}),M=!0);else if(!b){const t=Ke(l,f);S.push({P:t,t:f})}for(let t=0;t<S.length;t++){const{P:n,t:o}=S[t],{a0:r,b0:c}=rd(d,e,n);if(xd(r[1])<=2**-40||xd(c[1])<=2**-40)continue;const i=-c[1]/r[1];if(i<2**-40)continue;const u=[bd(i,e[0]),bd(i,e[1])],f=[u[0][1],u[1][1]],l=md(qp(f)),a=[h[0]+f[0],h[1]+f[1]],p=0===o?1:o,v={curve:0===o?s.prev:s,s:p,d:l,x:a};m.push(v)}return m}function Md(t,n,e){const[o,r]=t,[c,i]=n,[s,u]=e,f=o-s,l=r-u;return{a0:2*(c*f+i*l),b0:f*f+l*l}}const{abs:Sd}=Math,Cd=1+2**-20,yd=1+2**-20,Od=et(hu),Nd=pn,Ed=hn,Id=dn,kd=ce,{acos:Bd}=Math,Pd=oa,Td=Oo,Ad=ie,zd=hn,Dd=No;function Ld(t){if(4===t.length)return function(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[Ad(3,zd(Td(s,n),Ad(3,Td(o,c)))),Ad(6,Dd(Pd(c,n),-2*o)),Ad(3,Td(o,n))],[Ad(3,zd(Td(u,e),Ad(3,Td(r,i)))),Ad(6,Dd(Pd(i,e),-2*r)),Ad(3,Td(r,e))]]}(t);if(3===t.length)return function(t){const[[n,e],[o,r],[c,i]]=t;return[[Dd(Pd(2*c,2*n),-4*o),Td(2*o,2*n)],[Dd(Pd(2*i,2*e),-4*r),Td(2*r,2*e)]]}(t);if(2===t.length)return function(t){const[[n,e],[o,r]]=t;return[[Td(o,n)],[Td(r,e)]]}(t);if(1===t.length)return[[[0,0]],[[0,0]]];throw new Error("The given bezier curve must be of order <= 3.")}const qd=Oo,Wd=hn,jd=ie,Fd=No;function Hd(t){if(4===t.length){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[jd(6,Wd(qd(s,n),jd(3,qd(o,c)))),jd(6,Fd(qd(c,2*o),n))],[jd(6,Wd(qd(u,e),jd(3,qd(r,i)))),jd(6,Fd(qd(i,2*r),e))]]}if(3===t.length){const[[n,e],[o,r],[c,i]]=t;return[[Fd(qd(2*c,4*o),2*n)],[Fd(qd(2*i,4*r),2*e)]]}if(t.length<=2)return[[[0,0]],[[0,0]]];throw new Error("The given bezier curve must be of order <= 3.")}const Yd=le,Rd=hn,Xd=dn;const{sqrt:Qd}=Math;function Vd(t,n,e){const{curve:o,p:r,t:c}=n,{ps:i}=o,s=1/t,u=function(t,n){const[e,o]=function(t,n){const[e,o]=Ld(t),[r,c]=Hd(t),i=Oh(e,n),s=Oh(o,n),u=Oh(r,n),f=Oh(c,n),l=Xd(Yd(i,f),Yd(s,u)),a=Rd(Yd(i,i),Yd(s,s));return[l,ia(Yd(a,Yd(a,a)))]}(t,n);return es(e,o)}(i,c),f=-(u[0]+u[1]),l=f<s?s:f,[a,p]=e,h=Qd(a*a+p*p)*l;return[[r[0]+a/h,r[1]+p/h],1/l]}const{sqrt:$d}=Math,{abs:Ud,sin:Zd,cos:Gd,max:Jd,sqrt:Kd}=Math;function tv(t){const{loops:n,maxCoordPowerOf2:e,squaredDiagonalLength:o}=t,c=(2**(e-21))**2,i=2**(e-46),s=Kd(o),u=2**(e-32);return function(o,f,l,a){const{curve:{loop:p,ps:h},t:d,p:v}=a,g=function(t,n){const[e,o]=Ld(t),r=Oh(o,n);return[[-r[0],-r[1]],Oh(e,n)]}(h,d),m=[-g[0][1],-g[1][1]],x=o?[0,-s]:0!==l?r(Zd(l),Gd(l))(m):m,w=o||0!==l?[[0,x[0]],[0,x[1]]]:[[-g[0][0],-g[0][1]],[-g[1][0],-g[1][1]]];let[b,_]=function(t,n,e,o,r){let c,i;const{p:s}=o;if(n)return[[s[0],s[1]-e],e];if(0===t)return Vd(e,o,r);const{p:u}=o,[f,l]=r,a=e/$d(f*f+l*l),p=[f*a,l*a];return c=[u[0]+p[0],u[1]+p[1]],i=e,[c,i]}(l,o,s,a,x);const M=function(t,n,e,o,r,c,i){const{cpTrees:s}=r;if(n)return o.filter(t=>t!==e).flatMap(t=>t.curves.map(t=>({curve:t,ts:[0,1]})));const u=Ht(c)&&Ft(c).isDull?1===c.t&&0===t?-1:0===c.t?1:Lp(i,c):0,f=ph(s.get(e),c,u,0)?.[0];return f&&f!==f.next.next?lh([f,f]):e.curves.map(t=>({curve:t,ts:[0,1]}))}(l,o,p,n,t,a,b),S=function(t,n,e,o,r){let c=n**2,i=[o[0]+r[0],o[1]+r[1]];for(let t=0;t<e.length;t++){const n=e[t],{ps:s}=n.curve,u=s[0],f=s[s.length-1];for(const t of[u,f]){if(Gs(i,t)>c)continue;const{a0:n,b0:e}=Md(o,r,t);if(Sd(n)<=2**-40||Sd(e)<=2**-40)continue;const s=-e/n;if(s<2**-40)continue;const u=[s*r[0],s*r[1]],f=qp(u);f<c&&(c=f,i=[o[0]+u[0],o[1]+u[1]])}}return Cd*c}(0,_,M,v,x),C=Kd(S),y=Kd(x[0]**2+x[1]**2);b=[v[0]+x[0]/y*C,v[1]+x[1]/y*C],function(t,n,e){if(t.length<=2)return t;let o=0;for(let r=0;r<t.length;r++){const c=t[r],{ps:i}=c.curve;Gp(Jp(i),n)<=yd*e&&Kp(Od(i),n)<=yd*e&&(t[o]=c,o++)}t.length=o}(M,b,S);const O=function(t,n,e,o,r,c,i){const s=[];for(let n=0;n<i.length;n++){const u=_d(t,0,e,o,r,c,i[n]);s.push(...u)}let u=1/0;for(let t=0;t<s.length;t++){const n=s[t].d*(1+2**-46);n<u&&(u=n)}const f=[];for(let t=0;t<s.length;t++){const n=s[t];n.d*(1-2**-46)<=u&&f.push(n)}return f}(e,0,w,a,f,l,M);if(1!==O.length){if(0===O.length)return void(o&&console.log(a));if(!o&&!function(t,n){const{curve:e,s:o,x:r}=t[0],c=2**(n-40);for(let n=1;n<t.length;n++){const{x:e}=t[n];if(Ud(r[0]-e[0])>c||Ud(r[0]-e[0])>c)return!1}return!0}(O,e))return}const{x:N,d:E,curve:I,s:k}=O[0];if(f&&_<(1-u)*E)return void function(t,n,e,o){if(Ht(o)&&Ft(o).isDull)return;const r={radius:n,center:e};gh(t,o,r,Lp(r.center,o),0)||dh(!1,!1,r,[-.5,.5],t,[o,o])}(t,_,b,a);const B=nh(I.ps,k),P={curve:I,t:k,isSource:!1,p:B.map(t=>t[0]+t[1]),pDd:B},T={center:N,radius:E},A=Qp(a.p,P.p),z=Qp(N,P.p);if(!o){if(0===A)return;if(A<=Jd(function(t,n,e){if(n+e>=t)return 1/0;const o=Oo(t,n),r=kd(n,o),c=t-n,i=n*c,s=(i-n*e-e*e/2)/(i+c*e),u=es(Id(Id(r,Nd(n,e)),Nd(e,e/2)),Ed(r,kd(e,o)))[1];return Bd(s),n*Bd(u)}(_,Kd(z),4*i),c))return}return{circle:T,z:P}}}function nv(t,n,e,o,r){e=0===e.t?{...e,curve:e.curve.prev,t:1}:e;const c=Lp(n.center,e),i=Lp(n.center,o),s={...o,circle:n,order:i,order2:0},u={...e,circle:n,order:c,order2:0};if(gh(t,e,n,c,0))return;if(gh(t,o,n,i,0))return;const{anyFailed:f,cpNodes:l}=dh(r,r,n,[c,i],t,[u,s]);if(!f)return r&&function(t,n){const{cpTrees:e}=t,[o,r]=n,c=r.pointOnShape,i=hh(!0,!0,!1,e.get(c.curve.loop),{...c,order2:1},r,void 0,t.lastInsertId);i.holeCloserTwin=r,r.holeCloserTwin=i;const s=o.pointOnShape,u=hh(!0,!0,!1,e.get(s.curve.loop),{...s,order2:-1},o.prev,void 0,t.lastInsertId);u.holeCloserTwin=o,o.holeCloserTwin=u,u.prevOnCircle=i,u.nextOnCircle=i,i.prevOnCircle=u,i.nextOnCircle=u,r.next=o,o.prev=r,u.next=i,i.prev=u}(t,l),l[0];l.forEach(n=>{void 0!==n&&G(n,t)})}const{PI:ev,atan2:ov}=Math;function rv(t,n,e,o){let r;const c=tv(t),i=n*ev/180;for(let n=0;n<e.length;n++){const s=e[n],u=o?[0]:cv(i,s);for(const e of u){const i=c(!1,o,e,s);if(i){const{circle:n,z:e}=i,o=nv(t,n,s,e,!1);r=r||o}if("undefined"!=typeof _debug_&&n+1===_debug_.directives.stopAfterTwoProngsNum)return}}return r}function cv(t,n){const e=[0];if(1===n.t){const{curve:o}=n,r=jt(o.ps,o.next.ps);if(r.isQuiteDull){const n=Dp(r.tangents[0]),o=Dp(r.tangents[1]),c=(ov(n[1],n[0])+2*ev)%(2*ev),i=((ov(o[1],o[0])+2*ev)%(2*ev)-c+2*ev)%(2*ev);let s=t;for(;s<=i-t/2;)e.push(s),s+=t}}return e}function iv(t,n,e,o){let r;for(let c=0;c<e.length;c++){const i=rv(t,n,e[c],o);r=void 0===r?i:r}return r}function sv(t,n=.4,e=10,o=2**-16){const r=[0],c=[1];for(;;){const i=r[r.length-1],s=c[c.length-1],u=U(t,i,s),f=au(u),l=wn(u);if(f<=e&&l<=n||s-i<=o){if(r.push(c.pop()),1===s)return r;continue}const a=(i+s)/2;c.push(a)}}function uv(t){if(t.length<4)return[];const[[n,e],[o,r],[c,i],[s,u]]=t,f=o-n,l=r-e,a=c-o-f,p=i-r-l,h=s-c-f-2*a,d=u-i-l-2*p,v=a*d-p*h,g=f*d-l*h,m=f*p-l*a;return Je([v,g,m],0,1)?.map(t=>t.t)||[]}function fv(t,n,e){return function(o){const r=[],c=o.curves;for(let o=0;o<c.length;o++){const i=c[o],s=i.ps;if(au(s)<t)continue;let u=sv(s,n,e);u=2===u.length?[.5]:u,u.push(...uv(s)),u=u.filter(t=>0!==t&&1!==t);const f=u.map(t=>{const n=nh(i.ps,t),e=n.map(t=>t[0]+t[1]);return{curve:i,t,isSource:!0,p:e,pDd:n}});r.push(...f)}return r}}const lv=Oo,av=hn,pv=ie,hv=fr,dv=hf,vv=ie,gv=le,mv=hn,xv=dn;const wv=Oo,bv=ie,_v=le,Mv=hn,Sv=dn;function Cv(t){if(Rs(t))return{minima:[],maxima:[],inflections:[]};if(4===t.length&&ou(t)&&(t=Uc(t)),3===t.length){const n=function(t){const[[n,e],[o,r],[c,i]]=t,s=wv(o,n),u=wv(c,o),f=Sv(u,s),l=wv(r,e),a=wv(i,r),p=Sv(a,l),h=Mv(Sv(bv(n,Sv(f,[0,o])),bv(o,Sv(u,[0,o]))),Sv(bv(e,Sv(p,[0,r])),bv(r,Sv(a,[0,r]))));return[Mv(_v(f,f),_v(p,p)),Xo(h)]}(t);return{minima:[],maxima:Je(n,0,1)?.map(t=>t.t)||[],inflections:[]}}const n=function(t){const[[n,e,o],[r,c,i]]=Ld(t),[[s,u],[f,l]]=Hd(t),[[a],[p]]=function(t){if(4===t.length){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[pv(6,av(lv(s,n),pv(3,lv(o,c))))],[pv(6,av(lv(u,e),pv(3,lv(r,i))))]]}if(t.length<=3)return[[[0,0]],[[0,0]]];throw new Error("The given bezier curve must be of order <= 3.")}(t),h=gv(a,c),d=gv(p,e),v=gv(u,i),g=gv(u,c),m=gv(f,f),x=gv(s,i),w=gv(l,o),b=gv(l,e),_=gv(f,o),M=gv(o,e),S=gv(o,n),C=gv(o,r),y=gv(e,e),O=gv(e,n),N=gv(e,c),E=gv(n,i),I=gv(n,r),k=gv(n,n),B=gv(i,c),P=gv(i,r),T=gv(c,c),A=gv(c,r),z=gv(r,r),D=xv(gv(a,i),gv(p,o)),L=xv(h,d),q=mv(gv(u,o),gv(l,i)),W=mv(mv(gv(u,e),gv(s,o)),mv(gv(l,c),gv(f,i))),j=xv(v,w),F=xv(mv(g,x),mv(b,_)),H=mv(gv(o,o),gv(i,i)),Y=mv(M,B),R=mv(N,E),X=mv(P,T),Q=mv(S,y),V=mv(gv(e,r),gv(n,c)),$=xv(k,z),U=xv(O,A),Z=mv(C,N),G=xv(M,B),J=mv(gv(o,c),gv(e,i)),K=mv(P,X),tt=mv(S,Q),nt=mv(C,R),et=mv(N,R),ot=xv(tt,K),rt=mv(R,E),ct=mv(Z,E),it=mv(fr(b),_),st=gv(k,xv(h,vv(3,d))),ut=gv(z,xv(vv(3,h),d)),ft=fr(mv(gv(I,mv(xv(gv(a,e),gv(p,c)),vv(3,xv(gv(l,f),gv(u,s))))),vv(3,gv(gv(s,f),U)))),lt=vv(3,mv(gv(V,xv(m,gv(s,s))),gv($,mv(gv(u,f),gv(l,s))))),at=mv(mv(st,ut),mv(ft,lt)),pt=gv(a,mv(gv(r,mv(tt,vv(3,X))),gv(n,et))),ht=gv(p,mv(mv(gv(o,mv(vv(3,k),z)),gv(e,mv(vv(3,O),hv(A)))),gv(n,K))),dt=vv(3,mv(mv(gv(u,mv(xv(gv(l,$),gv(u,I)),hv(xv(gv(f,U),gv(s,V))))),gv(s,xv(mv(hv(gv(l,U)),gv(f,mv(hv(xv(S,P)),xv(y,T)))),gv(s,ct)))),mv(gv(l,mv(gv(l,I),hv(gv(f,V)))),gv(m,nt)))),vt=mv(xv(pt,ht),dt),gt=gv(a,mv(mv(hv(gv(o,V)),gv(e,rt)),gv(c,mv(dv(P),K)))),mt=gv(p,mv(mv(hv(gv(o,mv(vv(3,O),A))),gv(e,mv(y,hv(P)))),gv(c,rt))),xt=vv(3,mv(mv(gv(u,xv(mv(hv(xv(gv(l,U),gv(s,ct))),gv(f,ot)),gv(u,V))),gv(s,xv(hv(gv(f,G)),gv(s,J)))),mv(gv(l,mv(mv(gv(l,V),hv(gv(f,nt))),gv(s,ot))),gv(m,J)))),wt=mv(xv(gt,mt),xt),bt=gv(a,mv(gv(o,mv(C,hv(R))),gv(i,mv(y,vv(3,X))))),_t=gv(p,mv(gv(o,mv(vv(3,Q),K)),gv(i,et))),Mt=vv(3,mv(mv(gv(u,mv(xv(gv(l,ot),gv(u,nt)),hv(xv(gv(f,G),gv(s,J))))),gv(s,xv(gv(o,xv(it,gv(s,i))),gv(i,mv(hv(gv(l,c)),gv(f,i)))))),mv(gv(l,mv(gv(l,R),gv(o,mv(hv(gv(f,c)),gv(l,r))))),gv(f,gv(i,it))))),St=mv(xv(bt,_t),Mt),Ct=xv(mv(gv(H,L),hv(gv(Y,D))),vv(3,mv(gv(q,F),gv(W,j)))),yt=xv(gv(D,H),vv(3,gv(q,j)));return{inflectionPoly:[xv(gv(s,r),gv(f,n)),xv(mv(gv(u,r),gv(s,c)),mv(gv(l,n),gv(f,e))),xv(mv(g,x),mv(b,_)),xv(v,w)],otherExtremaPoly:[at,vt,wt,St,Ct,yt]}}(t),e=n.inflectionPoly,o=n.otherExtremaPoly,r=Je(o,0,1)?.map(t=>t.t)||[],c=function(t){const n=t.length-1;if(n<=0)return[];const e=new Array(n);for(let o=0;o<n;o++)e[o]=ie(n-o,t[o]);return e}(o),i=[],s=[];for(let t=0;t<r.length;t++){const n=r[t],o=ye(c,n);St(wt(ye(e,n),o))>=0?i.push(n):s.push(n)}return{minima:i,maxima:s,inflections:Je(e,0,1)?.map(t=>t.t)||[]}}function yv(t){const{curve:n,t:e}=t,{ps:o}=n,r=nh(o,e),c=r.map(t=>t[0]+t[1]);return{curve:n,t:t.t,isSource:!0,p:c,pDd:r}}function Ov(t,n,e,o,r){(r&&(o>t.val||o===t.val&&e>t.t)||!r&&(o<t.val||o===t.val&&e>t.t))&&(t.curve=n,t.t=e,t.val=o)}const Nv=et(function(t){const n=[{curve:void 0,t:void 0,val:1/0},{curve:void 0,t:void 0,val:1/0}],e=[{curve:void 0,t:void 0,val:-1/0},{curve:void 0,t:void 0,val:-1/0}];return t.curves.forEach(function(t){const o=to(t.ps);for(let r=0;r<2;r++)Ov(n[r],t,o.ts[0][r],o.box[0][r],!1),Ov(e[r],t,o.ts[1][r],o.box[1][r],!0)}),{minX:yv(n[0]),minY:yv(n[1]),maxX:yv(e[0]),maxY:yv(e[1])}});function Ev(t){return Nv(t).minY}function Iv(t){const{loops:n}=t,e=n.map(Ev);let o;const r=tv(t);for(let n=1;n<e.length;n++){const c=e[n],i=r(!0,!1,0,c);if(!i)throw new Error("Unable to find hole-closing 2-prong");const{circle:s,z:u}=i,f=nv(t,s,c,u,!0);o=void 0===o?f:o}return o}const kv=et(function(t){let n,e,o,r,c=1/0,i=-1/0,s=1/0,u=-1/0;for(const f of t){const t=Nv(f);t.minX.p[0]<c&&(n=t.minX,c=t.minX.p[0]),t.maxX.p[0]>i&&(e=t.maxX,i=t.maxX.p[0]),t.minY.p[1]<s&&(o=t.minY,s=t.minY.p[1]),t.maxY.p[1]>u&&(r=t.maxY,u=t.maxY.p[1])}return{minX:n,minY:o,maxX:e,maxY:r}});function Bv(t,n,e){"undefined"!=typeof _debug_&&(xh=performance.now());const{minBezLength:o,maxCurviness:r,maxLength:c,angleIncrement:i}=e,s=yh(o),u=function(t){return n=>{const e=[];for(let o=0;o<n.curves.length;o++){const r=n.curves[o];if(au(r.ps)<t)continue;const{next:c,ps:i}=r;if(jt(i,c.ps).isQuiteDull){const t=i[i.length-1],n=[[0,t[0]],[0,t[1]]];e.push({curve:r,t:1,isSource:!0,p:t,pDd:n}),e.push({curve:c,t:0,isSource:!0,p:t,pDd:n})}}return e}}(o),f=fv(o,r,c),l=function(t){return function(n){const e=[];for(let o=0;o<n.curves.length;o++){const r=n.curves[o];if(au(r.ps)<t)continue;const{ps:c}=r;e.push(...Cv(c).maxima.map(t=>{const n=nh(c,t),e=n.map(t=>t[0]+t[1]);return{curve:r,t,isSource:!0,p:e,pDd:n}}))}return e.filter(t=>t.t>2**-20&&t.t<2**-20)}}(o),a=kv(t),p=(a.maxX.p[0]-a.minX.p[0])**2+(a.maxY.p[1]-a.minY.p[1])**2,h=t.map(s),d={id:0},v={maxCoordPowerOf2:n,squaredDiagonalLength:p,loops:t,cpTrees:Sh(t,h,d),lastInsertId:d,...Ch(t)};let g;if(g=Iv(v),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterHoleClosers)return{cpNode:g,meta:v};if(function(){if("undefined"==typeof _debug_)return;const t=performance.now();_debug_.timing.holeClosers+=t-xh,xh=t}(),g=iv(v,i,t.map(u),!1)||g,g=iv(v,i,t.map(l),!0)||g,g=iv(v,i,t.map(f),!1)||g,function(){if("undefined"==typeof _debug_)return;const t=performance.now();_debug_.timing.oneAnd2Prongs+=t-xh,xh=t}(),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterTwoProngs)return{cpNode:g,meta:v};if(g=function(t,n){if(void 0===n)return;const e=new Set;let o=!0;for(;o;){o=!1;const r=new Set(k(n));for(const n of r){const c=bh(t,n);if(void 0===c)return _h(e);const{closeBysFor3Prong:i,addedCpNodes:s}=c;s.length>0&&(o=!0),void 0===i?e.add(n):(o=!0,Mh(t,i,r,e)),s.forEach(t=>t.forEach(t=>e.add(t)))}n=_h(e)}return n}(v,g),void 0===g)return;if("undefined"!=typeof _debug_&&_debug_.directives.stopAfterThreeProngs)return{cpNode:g,meta:v};const m={cpNode:g,meta:v};return"undefined"!=typeof _debug_&&(_debug_.timing.threeProngs+=performance.now()-xh),m}const{ceil:Pv,log2:Tv}=Math;function Av(t,n){const{maxCoordinate:e}=function(t){let n=0,e=1/0,o=-1/0,r=1/0,c=-1/0;for(const i of t)for(const t of i)for(const i of t){const t=i[0],s=i[1],u=ep(op(t),op(s));u>n&&(n=u),t<e&&(e=t),t>o&&(o=t),s<r&&(r=s),s>c&&(c=s)}return{maxCoordinate:n,width:o-e,height:c-r}}(t),o=Pv(Tv(e)),r=function(t,n){const e={...n};for(const n in zp){const o=n;let r=e[o];const c=zp[o],{range:i,scaleByMaxCoordinate:s}=c;r<i[0]&&(r=i[0]),r>i[1]&&(r=i[1]),s&&(r*=2**(t-10)),e[o]=r}return e}(o,{...Ap,...n||{}}),{applySat:c,simplify:i,satScale:s,simplifyTolerance:u}=r,f=np(t,{forceOrientationNegative:!0}),l=[];for(const t of f){let n=Bv(t,o,r);void 0!==n&&(c&&(n=Tp(n,s)),i&&(n=yp(n,u,50)),l.push(n))}return l}function zv(t){const n=function(t){let n=t;const e=Ep(t);for(;e.length;){const o=e.pop();if(o.isHoleClosing||o.isIntersection)continue;let r=o.next;for(;;){r=r.next;let e=!1;const o=r.prevOnCircle;if(T(r)>2){const n=r.nextOnCircle;Zt(r,t)?e=!0:r.next===n?r=n:n.next!==o&&(e=!0)}else if(z(r)&&!r.isIntersection)return void(n=r);if(e){o.next=r,r.prev=o,n=r;break}}}return n}(Q(t.cpNode));if(n)return{cpNode:n,meta:{...t.meta,cpTrees:Sp(n)}}}function Dv(t){const n=k(t).filter(t=>D(t)>=3);if(0!==n.length)return n.reduce(function(t,n){return t.pointOnShape.circle.radius>=n.pointOnShape.circle.radius?t:n},n[0])}function Lv(t){if(!t)return void(window._debug_=void 0);let n=window._debug_;n={...n,elems:{...n?.elems},timing:{...n?.timing,holeClosers:0,oneAnd2Prongs:0,threeProngs:0,sats:0,simplifyMat:0},fs:{...n?.fs},directives:{...n?.directives,stopAfterHoleClosers:!1,stopAfterHoleClosersNum:void 0,stopAfterTwoProngs:!1,stopAfterTwoProngsNum:void 0,stopAfterThreeProngs:!1,stopAfterThreeProngsNum:void 0}},window._debug_=n}function qv(t,n,e,o){const r=[];for(const o of t)r.push({type:0,item:o,x:n(o)}),r.push({type:1,item:o,x:e(o)});r.sort(Wv);const c=new Set,i=[];for(const t of r){const{item:n}=t;if(0===t.type){for(const t of c.values())o(n,t)&&i.push([n,t]);c.add(n)}else 1===t.type&&c.delete(t.item)}return i}function Wv(t,n){const e=t.x-n.x;return 0!==e?e:0===t.type?-1:1}const jv=1e-4;function Fv(t,n){const e=t.pointOnShape,o=n.pointOnShape;let{curve:r,p:c,t:i}=e,{curve:s,p:u,t:f}=o;if(c[0]===u[0]&&c[1]===u[1])return[c];1===i&&(i=0,r=r.next),0===f&&(f=1,s=s.prev);const{ps:l}=r,{ps:a}=s,p=[c,ft(c)(lt(ht(l,i)))],h=[u,ft(u)(lt(ht(a,f)))],d=ot(p,h),v=rt(c,u);let g;if(d){const t=rt(c,d),n=rt(u,d);g=ct(t,v)<0||ct(n,v)>0}else g=!0;if(!g)return[c,d,u];const m=rt(p[0],p[1]),x=rt(h[0],h[1]),w=Math.abs(st(v,m))/9,b=Math.abs(st(v,x))/9;return w>.01||b>.01||w>jv||b>jv?void 0:[c,u]}const Hv=et(function(t){return En($t(t))});function Yv(t,n){const e=function(t){const n=new Map;for(let e of t)for(let o of t){const t=e.pointOnShape.circle.center,r=o.pointOnShape.circle.center,c=e.pointOnShape.p,i=o.pointOnShape.p;o!==e&&t[0]===r[0]&&t[1]===r[1]&&c[0]===i[0]&&c[1]===i[1]&&n.set(e,o)}return n}(n),o=t.length,r=[];for(let n=0;n<o;n++){const c=t[n],i=[];for(let r=0;r<o;r++){const o=t[r];if(n===r){i.push(0);continue}let s=1/0;for(const t of A(c)){let n=Hv(t),r=t.next;for(;!Zt(r,o);)if(r.isHoleClosing)r=Rv(e,r);else{if(qn(r)){n=1/0;break}n+=Hv(r),r=r.next}n<s&&(s=n)}i.push(s)}r.push(i)}return r}function Rv(t,n){return t.get(n).next}function Xv(t){let{cpNode:n}=t,e=n;do{if(q(n)||n.next!==n.nextOnCircle){n=n.next;continue}const t=n.next,o=t.next,r=n.next.nextOnCircle;n.next=o,n.nextOnCircle=r,o.prev=n,r.prevOnCircle=n,e===t&&(e=n),n=n.next}while(n!==e);return t.cpNode=n,t}function Qv(t,n){return t.pointOnShape.curve.loop===n.pointOnShape.curve.loop}function Vv(t){const n=[],e=[t],o=new Set(e);for(t.isHoleClosing&&o.add(t.prevOnCircle.holeCloserTwin),o.add(t);e.length>0;){const t=[],r=e.pop(),c=r.pointOnShape.curve.loop;let i=r;do{if(c===i.pointOnShape.curve.loop){t.push(i),i=i.next;continue}const n=i.holeCloserTwin;o.has(n)||(o.add(n),o.add(n.prevOnCircle.holeCloserTwin),e.push(n)),i=i.prev.holeCloserTwin}while(i!==r);n.push(t)}return n}function $v(t){let{cpNode:n}=t;for(;!q(n);)n=n.next;return Qv(n,n.next)||(n=n.holeCloserTwin),Vv(n)}const{max:Uv,abs:Zv,round:Gv,log2:Jv}=Math;function Kv(t,n=void 0){const e=function(t,n){return function(e){const o=e.next,r=e.pointOnShape,c=o.pointOnShape,{curve:i,circle:s,p:u}=r,{curve:f,p:l}=c;if(u[0]===l[0]&&u[1]===l[1])return;if(i.loop!==f.loop)return;const a=nn(s.center,u);if(D(e),void 0!==n){const e=2**(t-n);if(Zv(s.radius-a)>e)throw new Error(`Medial circle radius must be about the same (2**${Gv(Jv(e))}) as distance from medial circle center to point on shape, found: medial radius ${s.radius}, distance: ${a}`)}return function(t){const n=t.next,e=t.pointOnShape,o=n.pointOnShape,{p:r}=e,{p:c}=o,i=r,s=rg(t,tg),u=c,f=rg(n,ng),l=ot(s,f),a=rt(i,u);let p;if(l){const t=rt(i,l),n=rt(u,l);p=ct(t,a)<0||ct(n,a)>0}else p=!0;if(!p)return[i,l,u];const h=it(a),d=rt(s[0],s[1]),v=rt(f[0],f[1]),g=Zv(st(a,d))/9,m=Zv(st(a,v))/9;if(g>eg||m>eg)return[i,u];if(g>og||m>og){const t=ut(i,u,1/3),n=ut(i,u,2/3),e=ft(h,t),o=[n,ft(h,n)];return[i,ot(s,[t,e]),ot(f,o),u]}return[i,u]}(e)}}(Uv(...t.map(t=>t.meta.maxCoordPowerOf2)),n),o=function(t,n,e){if(!Number.isInteger(3))throw new Error("depth must be an integer >= 1");return function t(n,o){const r=o;if(1===n){const t=[];for(let n=0;n<r.length;n++){const o=e(r[n]);void 0===o||t.push(o)}return t}const c=[];for(let e=0;e<r.length;e++)c.push(t(n-1,r[e]));return c}(3,n)}(0,t.map(Xv).map($v),e);return o}const tg=0,ng=1,eg=.01,og=1e-4;function rg(t,n){let{pointOnShape:e}=t,{curve:o,t:r,p:c}=e,{ps:i}=o;return n===tg&&1===r&&(r=0,o=o.next,i=o.ps),n===ng&&0===r&&(r=1,o=o.prev,i=o.ps),[c,ft(c,ht(i,r))]}function cg(t){const{idx:n,beziers:e}=t;return{idx:n,beziers:e}}function ig(t){const n=[],e=new Set,o=t;do{const{id:o,isHoleClosing:r,isIntersection:c,pointOnShape:i,prev:s,next:u,nextOnCircle:f,prevOnCircle:l,holeCloserTwin:a}=t,{curve:p,p:h,pDd:d,t:v,isSource:g,circle:m,order:x,order2:w}=i,{idx:b,loop:_,ps:M,prev:S,next:C}=p;e.has(_)||e.add(_);const y={curveIdx:b,loopIdx:_.idx,p:h,pDd:d,t:v,isSource:g,circle:m,order:x,order2:w};n.push({id:o,isHoleClosing:r,isIntersection:c,pointOnShape:y,prev:s.id,next:u.id,prevOnCircle:l.id,nextOnCircle:f.id,holeCloserTwin:a?.id}),t=t.next}while(t!==o);const r=Array.from(e).sort((t,n)=>t.idx-n.idx);return{cpNodes:n,loops:r.map(cg)}}const sg=["prev","next","prevOnCircle","nextOnCircle","holeCloserTwin"];function ug(n){const{idx:e,beziers:o}=n;return t(o,e)}function fg(t){const{cpNodes:n,loops:e}=t,o=e.map(ug),r=new Map(o.map(t=>[t.idx,t])),c=n.map(t=>{const{id:n,pointOnShape:e,isHoleClosing:o,isIntersection:c}=t,{circle:i,order:s,order2:u}=e,{curveIdx:f,loopIdx:l,p:a,pDd:p,t:h,isSource:d}=e,v={circle:i,curve:r.get(l).curves[f],p:a,pDd:p,t:h,isSource:d,order:s,order2:u};return{...t,id:n,isHoleClosing:o,isIntersection:c,pointOnShape:v}}),i=new Map(c.map(t=>[t.id,t]));for(const t of c)for(const n of sg){const e=t[n];void 0!==e&&(t[n]=i.get(e))}return c[0]}function lg(t,n){return{center:t.center,radius:n*t.radius}}export{Dn as CpNodeFs,e as beziersToSvgPathStr,Q as clone,zn as cpNodeComparator,Sh as createInitialCpTree,Lv as enableDebugForMat,j as enhanceCpNode,tv as find2Prong,Iv as findAndAddHoleClosing2Prongs,Av as findMats,I as floydWarshall,fg as fromStringifyable,A as getAllOnCircle,k as getAllOnLoop,Vv as getAllOnLoop_ByLoop,Tn as getAllVertices,$ as getBoundaryBezierPartsToNext,In as getBoundaryBeziersBetween,Z as getBoundaryBeziersToNext,lh as getBoundaryPieceBeziers,Kt as getBranch,tn as getBranchBeziers,bp as getBranches,K as getChildren,eh as getCloseBoundaryPointsCertified,Gp as getClosestSquareDistanceToRect,Rt as getEdgeDirection,Ut as getFirstExit,fv as getFor2ProngsOnLoop,Yv as getGraph,B as getHoleClosers,Fv as getImpliedBoundaryBezierBetween,Pn as getInitialDegAngleBetweenMatCurves,Dv as getLargest3Prong,Np as getLargestVertex,Vt as getMatCurveBetween,$t as getMatCurveToNext,Bn as getMatCurvesBetween,wp as getNonTerminatingOnCircle,Vd as getOsculatingCircle,Ch as getPartialMeta,E as getPathsFromStr,$p as getPotentialClosestPointsOnCurveCertified,T as getProngCount,D as getRealProngCount,kn as getSalience,Pp as getSatCulls,kv as getShapeBounds,yh as getSharpCornersOnLoop,Y as getVertexForwardChildren,q as isFullyTerminating,Zt as isOnSameCircle,Qv as isOnSameLoop,Gt as isOneProng,W as isSharp,z as isTerminating,L as isTrivial,Jt as isTwoProng,qn as isVertexSpecial,t as loopFromBeziers,Kv as reconstructFromMats,J as removeVertex,lg as scaleCircle,yp as simplifyMat,qv as sweepLine,Tp as toScaleAxis,ig as toStringifyable,F as traverseCp,H as traverseEdges,R as traverseVertices,zv as trimMat};
|
|
1
|
+
function t(t=[],e){const o=[],r={beziers:t,curves:o,idx:e};if(0===t.length)return r;let c,i=0;for(let e=0;e<t.length;e++){if(n(t[e]))continue;const s={loop:r,ps:t[e],prev:c,next:void 0,idx:i};c&&(c.next=s),c=s,o.push(s),i++}const s=o[o.length-1];return o[0].prev=s,s.next=o[0],s.ps[s.ps.length-1]=o[0].ps[0],r}function n(t){if(t.length<=1)return!0;const n=t[0],e=t[1],o=n[0]===e[0]&&n[1]===e[1];if(2===t.length)return o;const r=t[2],c=e[0]===r[0]&&e[1]===r[1];if(3===t.length)return o&&c;const i=t[3],s=r[0]===i[0]&&r[1]===i[1];return o&&c&&s}function e(t){const n=[];for(let e=0;e<t.length;e++){const o=t[e];0===e&&n.push("M "+o[0][0].toString()+" "+o[0][1].toString()),4===o.length?n.push("C "+o[1][0].toString()+" "+o[1][1].toString()+" "+o[2][0].toString()+" "+o[2][1].toString()+" "+o[3][0].toString()+" "+o[3][1].toString()+" "):3===o.length?n.push("Q "+o[1][0].toString()+" "+o[1][1].toString()+" "+o[2][0].toString()+" "+o[2][1].toString()+" "):2===o.length&&n.push("L "+o[1][0].toString()+" "+o[1][1].toString()+" ")}return n.push(" z"),n.join("\n")}function o(t){const n=[t.p,t.initialPoint];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n}function r(t,n,e){function o(e){return[e[0]*n-e[1]*t,e[0]*t+e[1]*n]}return void 0===e?o:o(e)}const{min:c,max:i}=Math;function s(t,n,e){return c(e,i(n,t))}const{abs:u,sqrt:f,asin:l,sin:a,cos:p,tan:h,PI:v}=Math;function d(t,n,e,o,c,i,g,m,x,_){const b=v*g/180;let w,M,S,y,C=[];if(_)w=_[0],M=_[1],S=_[2],y=_[3];else{const h=r(a(-b),p(-b));[t,n]=h([t,n]),[e,o]=h([e,o]);const d=(t-e)/2,g=(n-o)/2;let _=d*d/(c*c)+g*g/(i*i);_>1&&(_=f(_),c*=_,i*=_);const C=c*c,O=i*i,N=(m===x?-1:1)*f(u((C*O-C*g*g-O*d*d)/(C*g*g+O*d*d)));S=N*c*g/i+(t+e)/2,y=N*-i*d/c+(n+o)/2,w=l(s((n-y)/i,-1,1)),M=l(s((o-y)/i,-1,1)),t<S&&(w=v-w),e<S&&(M=v-M),w<0&&(w=2*v+w),M<0&&(M=2*v+M),x&&w>M&&(w-=2*v),!x&&M>w&&(M-=2*v)}let O=M-w;if(u(O)>120*v/180){const t=M,n=e,r=o;M=w+(x&&M>w?1:-1)*v*120/180,C=d(e=S+c*p(M),o=y+i*a(M),n,r,c,i,g,0,x,[M,t,S,y])}O=M-w;const N=p(w),E=a(w),I=p(M),B=a(M),k=h(O/4),P=4/3*c*k,T=4/3*i*k,A=[t,n],z=[t+P*E,n-T*N],D=[e+P*B,o-T*I],q=[e,o];if(z[0]=2*A[0]-z[0],z[1]=2*A[1]-z[1],_)return[z,D,q,...C];const F=[z,D,q,...C].flat(),L=[];let j=[];const H=r(a(b),p(b));return F.forEach(function(t,n){if(n%2){const t=H([F[n-1],F[n]]);j.push(t[1])}else{const t=H([F[n],F[n+1]]);j.push(t[0])}6===j.length&&(L.push(j),j=[])}),L}function g(t){t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0;const n=t.p,e=[t.vals[5],t.vals[6]],o=Math.abs(t.vals[0]),r=Math.abs(t.vals[1]);if(n[0]===e[0]&&n[1]===e[1])return[];if(0===o||0===r)return t.p=e,[[n,e]];const c=d(n[0],n[1],e[0],e[1],o,r,t.vals[2],t.vals[3],t.vals[4]),i=[];let s=n;for(const t of c){const n=[s,[t[0],t[1]],[t[2],t[3]],[t[4],t[5]]];i.push(n),s=n[3]}const u=i[i.length-1];return t.p=u[u.length-1],i}const m={c:function(t){const n=[t.p,[t.vals[0],t.vals[1]],[t.vals[2],t.vals[3]],[t.vals[4],t.vals[5]]];return t.prev2ndCubicControlPoint=n[2],t.prev2ndQuadraticControlPoint=void 0,n},h:function(t){const n=[t.p,[t.vals[0],t.p[1]]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},l:function(t){const n=[t.p,t.vals];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},q:function(t){const n=[t.vals[0],t.vals[1]],e=[t.vals[2],t.vals[3]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=n,[t.p,n,e]},s:function(t){const n=t.prev2ndCubicControlPoint?[t.p[0]-t.prev2ndCubicControlPoint[0]+t.p[0],t.p[1]-t.prev2ndCubicControlPoint[1]+t.p[1]]:t.p,e=[t.p,n,[t.vals[0],t.vals[1]],[t.vals[2],t.vals[3]]];return t.prev2ndCubicControlPoint=e[2],t.prev2ndQuadraticControlPoint=void 0,e},t:function(t){const n=t.prev2ndQuadraticControlPoint?[t.p[0]-t.prev2ndQuadraticControlPoint[0]+t.p[0],t.p[1]-t.prev2ndQuadraticControlPoint[1]+t.p[1]]:t.p,e=[t.vals[0],t.vals[1]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=n,[t.p,n,e]},v:function(t){const n=[t.p,[t.p[0],t.vals[0]]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},z:o},x=new Set("MLCQAHVSTZmlcqahvstz");function _(t){if(x.has(t))return"z"===t?"Z":t}const b=/[ \t\n\r\f]/;function w(t){return b.test(t._string[t._currentIndex])}function M(t){for(;t._currentIndex<t._endIndex&&w(t);)t._currentIndex++;return t._currentIndex<t._endIndex}function S(t){return!(t._currentIndex<t._endIndex&&!w(t)&&","!==t._string[t._currentIndex])&&(M(t)&&t._currentIndex<t._endIndex&&","===t._string[t._currentIndex]&&(t._currentIndex++,M(t)),t._currentIndex<t._endIndex)}function y(t){let n=0,e=0,o=1,r=0,c=1,i=1;const s=t._currentIndex;M(t);let u=t._currentIndex;u<t._endIndex&&"+"===t._string[u]?(t._currentIndex++,u++):u<t._endIndex&&"-"===t._string[u]&&(t._currentIndex++,u++,c=-1);const f=t._string[u];if(u===t._endIndex||(f<"0"||f>"9")&&"."!==f)throw new Error(`The first character of a number must be one of [0-9+-.]. Found '${f}' at index ${u}.`);const l=t._currentIndex;for(;u<t._endIndex&&t._string[u]>="0"&&t._string[u]<="9";)t._currentIndex++,u++;if(u!==l){let n=u-1,o=1;for(;n>=l;)e+=o*(Number(t._string[n])-0),n-=1,o*=10}if(u<t._endIndex&&"."===t._string[u]){if(t._currentIndex++,u++,u>=t._endIndex||t._string[u]<"0"||t._string[u]>"9")throw new Error("There must be a least one digit following the .");for(;u<t._endIndex&&t._string[u]>="0"&&t._string[u]<="9";)o*=10,r+=Number(t._string[u])/o,t._currentIndex++,u++}if(u!==s&&u+1<t._endIndex&&("e"===t._string[u]||"E"===t._string[u])&&"x"!==t._string[u+1]&&"m"!==t._string[u+1]){if(t._currentIndex++,u++,"+"===t._string[u]?(t._currentIndex++,u++):"-"===t._string[u]&&(t._currentIndex++,u++,i=-1),u>=t._endIndex||t._string[u]<"0"||t._string[u]>"9")throw new Error("There must be an exponent.");for(;u<t._endIndex&&t._string[u]>="0"&&t._string[u]<="9";)n*=10,n+=Number(t._string[u]),t._currentIndex++,u++}let a=e+r;return a*=c,n&&(a*=10**(i*n)),S(t),a}function C(t){if(t._currentIndex>=t._endIndex)throw new Error("Unable to parse arc flag");let n;const e=t._string[t._currentIndex];if(t._currentIndex++,"0"===e)n=0;else{if("1"!==e)throw new Error("Unable to parse arc flag - arc flag must be 0 or 1");n=1}return S(t),n}function O(t){const n=t._string[t._currentIndex];let e=_(n);if(void 0===e){if(!("+"===n||"-"===n||"."===n||n>="0"&&n<="9")||"Z"===t._prevCommand)throw new Error("Remaining coordinates not found for implicit command");e="M"===t._prevCommand?"L":"m"===t._prevCommand?"l":t._prevCommand}else t._currentIndex++;t._prevCommand=e;const o=e.toUpperCase();let r;return"H"===o||"V"===o?r=[y(t)]:"M"===o||"L"===o||"T"===o?r=[y(t),y(t)]:"S"===o||"Q"===o?r=[y(t),y(t),y(t),y(t)]:"C"===o?r=[y(t),y(t),y(t),y(t),y(t),y(t)]:"A"===o?r=[y(t),y(t),y(t),C(t),C(t),y(t),y(t)]:(M(t),r=[]),{command:e,values:r}}function N(t){return t._currentIndex<t._endIndex}function E(t){return function(t){if(0===t.length)return[];if("m"!==t[0].command.toLowerCase())throw new Error("Invalid SVG - every new path must start with an M or m.");const n={p:[0,0],initialPoint:void 0,prev2ndCubicControlPoint:void 0,prev2ndQuadraticControlPoint:void 0,vals:void 0},e=[];let r,c=[];for(let i=0;i<t.length;i++){const s=t[i],u=s.command.toLowerCase();if(n.vals=s.values,s.command===u)if("v"===u)n.vals[0]+=n.p[1];else if("a"===u)n.vals[5]+=n.p[0],n.vals[6]+=n.p[1];else for(let t=0;t<n.vals.length;t++)n.vals[t]+=n.p[t%2];if("m"!==u){if("a"===u)c.push(...g(n));else{const t=m[u];if(!t)throw new Error("Invalid SVG - command not recognized.");const e=t(n);n.p=e[e.length-1],c.push(e)}r=u}else c.length&&("z"!==r&&c.push(o(n)),e.push(c),c=[]),n.initialPoint=n.p=n.vals,r=u}return c.length>0&&("z"!==r&&c.push(o(n)),e.push(c)),e}(function(t){if(!t.length)return[];const n={_string:t,_currentIndex:0,_endIndex:t.length,_prevCommand:void 0};if(M(n),!function(t){if(!N(t))return!0;const n=_(t._string[t._currentIndex]);return"M"===n||"m"===n}(n))throw new Error("Path must start with m or M");const e=[];for(;N(n);)e.push(O(n));return e}(t))}function I(t){const n=t.length,e=Array.from(Array(n),()=>new Array(n).fill(0));for(let o=0;o<n;o++)for(let r=0;r<n;r++)e[o][r]=t[o][r];for(let t=0;t<n;t++)for(let o=0;o<n;o++)for(let r=0;r<n;r++)e[o][t]+e[t][r]<e[o][r]&&(e[o][r]=e[o][t]+e[t][r]);return e}function B(t){const n=t,e=[];do{e.push(t),t=t.next}while(t!==n);return e}function k(t){return B(t).filter(t=>t.isHoleClosing)}function P(t){const n=t.pointOnShape;return{idx:n.curve.idx,t:n.t,order:n.order,order2:n.order2}}function T(t){const n=t;let e=n,o=0;do{o++,e=e.nextOnCircle}while(e!==n);return o}function A(t){return t===t.next.prevOnCircle}function z(t){let n=0,e=t;do{A(e)||n++,e=e.nextOnCircle}while(e!==t);return n}function D(t){return A(t)&&z(t)<=1}function q(t){return 0===t.pointOnShape.circle.radius}function F(t){const n=t.pointOnShape,e=n.curve;return{...t,pos:n,p:n.p,t:n.t,isTerminating:A(t),isFullyTerminating:D(t),isSharp:q(t),prongCount:T(t),getRealProngCount:z(t),ordering:P(t),curve:e,loop:e.loop}}function L(t){let n=t;if(A(n))return[n];const e=[];do{e.push(n);const t=n.next.prevOnCircle;n=n=n===t?n.next.next:t}while(n!==t);return e}function j(t,n){const e=B(t),o=new Set;for(t of e)A(t)||o.has(t.next.prevOnCircle)||n(t),o.add(t)}function H(t,n=!1){const e=t,o=n?[]:[t];let r=t.nextOnCircle;for(;r!==e;)o.push(r),r=r.nextOnCircle;return o}function W(t){const n=[],e=t;let o=e;for(;o!==e.prevOnCircle;)A(o)||n.push(o.next),o=o.nextOnCircle;return n}function Y(t,n){n(t);const e=H(t).filter(t=>!A(t)).map(t=>t.next);for(const t of e){const e=[t];for(;e.length;){const t=e.pop();n(t),e.push(...W(t))}}}const X=["prev","next","prevOnCircle","nextOnCircle","holeCloserTwin"];function Q(t){const n=new Map,e=V(t);n.set(t,e);const o=[{cpNode:t,newCpNode:e}];for(;o.length;){const{cpNode:t,newCpNode:e}=o.pop();for(const r of X){const c=t[r];if(void 0===c)continue;let i=n.get(c);i||(i=V(c),n.set(c,i),o.push({cpNode:c,newCpNode:i})),e[r]=i}}return e}function V(t){return{...t,prev:void 0,next:void 0,prevOnCircle:void 0,nextOnCircle:void 0,holeCloserTwin:void 0}}function R(t){const n=t,e=t.next,o=n.pointOnShape,r=e.pointOnShape,c=o.curve,i=r.curve;if(c.loop!==i.loop)return[];const s=[];return i===c?s.push({ps:o.curve.ps,ts:[o.t,r.t]}):(s.push({ps:o.curve.ps,ts:[o.t,1]}),function(t,n,e,o){let r=n;do{r=r.next;const n=r===e?o:1;t.push({ps:r.ps,ts:[0,n]})}while(r!==e)}(s,o.curve,r.curve,r.t)),s}function U(t,n,e){if(4===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=i-n*(i-u),h=u-n*(u-l),v=p-n*(p-h),d=s-n*(s-f),g=f-n*(f-a),m=d-n*(d-g);return[e,[p,d],[v,m],[v-n*(v-(h-n*(h-(l-n*(l-c[0]))))),m-n*(m-(g-n*(g-(a-n*(a-c[1])))))]]}(t,e):1===e?function(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=i-n*(i-u),h=u-n*(u-l),v=l-n*(l-c[0]),d=p-n*(p-h),g=h-n*(h-v),m=s-n*(s-f),x=f-n*(f-a),_=a-n*(a-c[1]),b=m-n*(m-x),w=x-n*(x-_);return[[d-n*(d-g),b-n*(b-w)],[g,w],[v,_],c]}(t,n):function(t,n,e){const o=t[0],r=t[1],c=t[2],i=t[3],s=o[0],u=o[1],f=r[0],l=r[1],a=c[0],p=c[1],h=n*n,v=n*h,d=e*e,g=e*d,m=n*e,x=s-f,_=a-f,b=x+_,w=n*x,M=e*x,S=i[0]-s-3*_,y=u-l,C=p-l,O=y+C,N=n*y,E=e*y,I=i[1]-u-3*C;return[[v*S+(3*n*(n*b-x)+s),v*I+(3*n*(n*O-y)+u)],[m*(n*S+2*b)+(h*b+s-(M+2*w)),m*(n*I+2*O)+(h*O+u-(E+2*N))],[m*(e*S+2*b)+(d*b+s-(2*M+w)),m*(e*I+2*O)+(d*O+u-(2*E+N))],[g*S+(3*e*(e*b-x)+s),g*I+(3*e*(e*O-y)+u)]]}(t,n,e)}(t,n,e);if(3===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],o=t[1],r=t[2],c=e[0],i=e[1],s=o[0],u=o[1],f=n*n,l=c-s,a=i-u;return[e,[-n*l+c,-n*a+i],[f*(l+(r[0]-s))-(2*n*l-c),f*(a+(r[1]-u))-(2*n*a-i)]]}(t,e):1===e?function(t,n){const e=t[0],o=t[1],r=t[2],c=e[0],i=e[1],s=o[0],u=o[1],f=n*n,l=c-s,a=r[0]-s,p=i-u,h=r[1]-u;return[[f*(l+a)-(2*n*l-c),f*(p+h)-(2*n*p-i)],[n*a+s,n*h+u],r]}(t,n):function(t,n,e){const o=t[0],r=t[1],c=t[2],i=o[0],s=o[1],u=r[0],f=r[1],l=n*n,a=e*e,p=n*e,h=i-u,v=h+(c[0]-u),d=s-f,g=d+(c[1]-f);return[[l*v-(2*n*h-i),l*g-(2*n*d-s)],[p*v-(h*(e+n)-i),p*g-(d*(e+n)-s)],[a*v-(2*e*h-i),a*g-(2*e*d-s)]]}(t,n,e)}(t,n,e);if(2===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],o=t[1],r=e[0],c=e[1];return[e,[n*(o[0]-r)+r,n*(o[1]-c)+c]]}(t,e):1===e?function(t,n){const e=t[0],o=t[1],r=e[0],c=e[1];return[[n*(o[0]-r)+r,n*(o[1]-c)+c],o]}(t,n):function(t,n,e){const o=t[0],r=t[1],c=o[0],i=o[1],s=r[0],u=r[1];return[[n*(s-c)+c,n*(u-i)+i],[e*(s-c)+c,e*(u-i)+i]]}(t,n,e)}(t,n,e);if(1===t.length)return t;throw new Error("The given bezier curve must be of order <= 3.")}function $(t){return R(t).map(t=>U(t.ps,t.ts[0],t.ts[1]))}function Z(t,n){const{cpTrees:e}=n,o=t.prev,r=t.next;o.next=r,r.prev=o,e.get(t.pointOnShape.curve.loop).remove(t)}function G(t,n){const e=T(t);if(2!==e)throw new Error(`Cannot delete \`CpNode\` on ${e}-prong`);H(t).forEach(t=>Z(t,n))}function J(t){const n=[],e=t.next;let o=e;do{n.push(o),o=o.nextOnCircle}while(o.nextOnCircle!==e);return n}function K(t,n,e){if(void 0===t.size||void 0===e)return;const o=e[n];if(t.size>o&&void 0!==o)for(const[n]of t){t.delete(n);break}}const tt=[function(t,n){let e,o=!1;return function(){return o||(e=t(),o=!0),e}},function(t,n,e=!1){const o=new WeakMap,r=new Map;function c(t){return"object"!=typeof t&&"function"!=typeof t||null===t?r:o}const i=function(o){let i;const s=c(o);return s.has(o)?(e&&console.log("cache hit"),i=s.get(o)):(e&&console.log("cache miss"),i=t(o),s.set(o,i),K(r,0,n)),i};return i.mapS=r,i.weakMapS=o,i.clearCache=function(){r.clear()},i.addToCache=function(t,e){const o=c(e);o.set(e,t),K(o,1,n)},i},function(t,n){const e=new WeakMap,o=new Map;function r(t,r){const c=("object"==typeof r||"function"==typeof r)&&null!==r;let i="object"!=typeof t&&"function"!=typeof t||null===t?o:e,s=i.get(t);return void 0===s&&(s={weakMap:new WeakMap,map:new Map},i.set(t,s),K(i,0,n)),c?s.weakMap:s.map}function c(e,o){const c=r(e,o);let i;return c.has(o)?i=c.get(o):(i=t(e,o),c.set(o,i),K(c,1,n)),i}return c.mapS=o,c.weakMapS=e,c.clearCache=function(){o.clear()},c.addToCache=function(t,e,o){const c=r(e,o);c.set(o,t),K(c,1,n)},c},function(t,n){const e=new WeakMap,o=new Map;function r(t,r,c){const i=("object"==typeof r||"function"==typeof r)&&null!==r,s=("object"==typeof c||"function"==typeof c)&&null!==c;let u="object"!=typeof t&&"function"!=typeof t||null===t?o:e,f=u.get(t);void 0===f&&(f={weakMap:new WeakMap,map:new Map},u.set(t,f),K(u,0,n));const l=i?f.weakMap:f.map;let a=l.get(r);return void 0===a&&(a={weakMap:new WeakMap,map:new Map},l.set(r,a),K(l,1,n)),s?a.weakMap:a.map}const c=function(e,o,c){const i=r(e,o,c);let s;return i.has(c)?s=i.get(c):(s=t(e,o,c),i.set(c,s),K(i,2,n)),s};return c.mapS=o,c.weakMapS=e,c.clearCache=function(){o.clear()},c.addToCache=function(t,e,o,c){const i=r(e,o,c);i.set(c,t),K(i,2,n)},c},function(t,n,e=!1){const o=new WeakMap,r=new Map;function c(t,e,c,i){const s=("object"==typeof e||"function"==typeof e)&&null!==e,u=("object"==typeof c||"function"==typeof c)&&null!==c,f=("object"==typeof i||"function"==typeof i)&&null!==i;let l="object"!=typeof t&&"function"!=typeof t||null===t?r:o,a=l.get(t);void 0===a&&(a={weakMap:new WeakMap,map:new Map},l.set(t,a),K(l,0,n));const p=s?a.weakMap:a.map;let h=p.get(e);void 0===h&&(h={weakMap:new WeakMap,map:new Map},p.set(e,h),K(p,1,n));const v=u?h.weakMap:h.map;let d=v.get(c);return void 0===d&&(d={weakMap:new WeakMap,map:new Map},v.set(c,d),K(v,2,n)),f?d.weakMap:d.map}const i=function(o,r,i,s){const u=c(o,r,i,s);let f;return u.has(s)?(e&&console.log("cache hit"),f=u.get(s)):(e&&console.log("cache miss"),f=t(o,r,i,s),u.set(s,f),K(u,3,n)),f};return i.mapS=r,i.weakMapS=o,i.clearCache=function(){r.clear()},i.addToCache=function(t,e,o,r,i){const s=c(e,o,r,i);s.set(i,t),K(s,3,n)},i},function(t,n){const e=new WeakMap,o=new Map;function r(t,r,c,i,s){const u=("object"==typeof r||"function"==typeof r)&&null!==r,f=("object"==typeof c||"function"==typeof c)&&null!==c,l=("object"==typeof i||"function"==typeof i)&&null!==i,a=("object"==typeof s||"function"==typeof s)&&null!==s;let p="object"!=typeof t&&"function"!=typeof t||null===t?o:e,h=p.get(t);void 0===h&&(h={weakMap:new WeakMap,map:new Map},p.set(t,h),K(p,0,n));const v=u?h.weakMap:h.map;let d=v.get(r);void 0===d&&(d={weakMap:new WeakMap,map:new Map},v.set(r,d),K(v,1,n));const g=f?d.weakMap:d.map;let m=g.get(c);void 0===m&&(m={weakMap:new WeakMap,map:new Map},g.set(c,m),K(g,2,n));const x=l?m.weakMap:m.map;let _=x.get(i);return void 0===_&&(_={weakMap:new WeakMap,map:new Map},x.set(i,_),K(x,3,n)),a?_.weakMap:_.map}const c=function(e,o,c,i,s){const u=r(e,o,c,i,s);let f;return u.has(s)?f=u.get(s):(f=t(e,o,c,i,s),u.set(s,f),K(u,4,n)),f};return c.mapS=o,c.weakMapS=e,c.clearCache=function(){o.clear()},c.addToCache=function(t,e,o,c,i,s){const u=r(e,o,c,i,s);u.set(s,t),K(u,4,n)},c},function(t,n){const e=new WeakMap,o=new Map;function r(t,r,c,i,s,u){const f=("object"==typeof r||"function"==typeof r)&&null!==r,l=("object"==typeof c||"function"==typeof c)&&null!==c,a=("object"==typeof i||"function"==typeof i)&&null!==i,p=("object"==typeof s||"function"==typeof s)&&null!==s,h=("object"==typeof u||"function"==typeof u)&&null!==u;let v="object"!=typeof t&&"function"!=typeof t||null===t?o:e,d=v.get(t);void 0===d&&(d={weakMap:new WeakMap,map:new Map},v.set(t,d),K(v,0,n));const g=f?d.weakMap:d.map;let m=g.get(r);void 0===m&&(m={weakMap:new WeakMap,map:new Map},g.set(r,m),K(g,1,n));const x=l?m.weakMap:m.map;let _=x.get(c);void 0===_&&(_={weakMap:new WeakMap,map:new Map},x.set(c,_),K(x,2,n));const b=a?_.weakMap:_.map;let w=b.get(i);void 0===w&&(w={weakMap:new WeakMap,map:new Map},b.set(i,w),K(b,3,n));const M=p?w.weakMap:w.map;let S=M.get(s);return void 0===S&&(S={weakMap:new WeakMap,map:new Map},M.set(s,S),K(M,4,n)),h?S.weakMap:S.map}const c=function(e,o,c,i,s,u){const f=r(e,o,c,i,s,u);let l;return f.has(u)?l=f.get(u):(l=t(e,o,c,i,s,u),f.set(u,l),K(f,5,n)),l};return c.mapS=o,c.weakMapS=e,c.clearCache=function(){o.clear()},c.addToCache=function(t,e,o,c,i,s,u){const f=r(e,o,c,i,s,u);f.set(u,t),K(f,5,n)},c},function(t,n){const e=new WeakMap,o=new Map;function r(t,r,c,i,s,u,f){const l=("object"==typeof r||"function"==typeof r)&&null!==r,a=("object"==typeof c||"function"==typeof c)&&null!==c,p=("object"==typeof i||"function"==typeof i)&&null!==i,h=("object"==typeof s||"function"==typeof s)&&null!==s,v=("object"==typeof u||"function"==typeof u)&&null!==u,d=("object"==typeof f||"function"==typeof f)&&null!==f;let g="object"!=typeof t&&"function"!=typeof t||null===t?o:e,m=g.get(t);void 0===m&&(m={weakMap:new WeakMap,map:new Map},g.set(t,m),K(g,0,n));const x=l?m.weakMap:m.map;let _=x.get(r);void 0===_&&(_={weakMap:new WeakMap,map:new Map},x.set(r,_),K(x,1,n));const b=a?_.weakMap:_.map;let w=b.get(c);void 0===w&&(w={weakMap:new WeakMap,map:new Map},b.set(c,w),K(b,2,n));const M=p?w.weakMap:w.map;let S=M.get(i);void 0===S&&(S={weakMap:new WeakMap,map:new Map},M.set(i,S),K(M,3,n));const y=h?S.weakMap:S.map;let C=y.get(s);void 0===C&&(C={weakMap:new WeakMap,map:new Map},y.set(s,C),K(y,4,n));const O=v?C.weakMap:C.map;let N=O.get(u);return void 0===N&&(N={weakMap:new WeakMap,map:new Map},O.set(u,N),K(O,5,n)),d?N.weakMap:N.map}const c=function(e,o,c,i,s,u,f){const l=r(e,o,c,i,s,u,f);let a;return l.has(f)?a=l.get(f):(a=t(e,o,c,i,s,u,f),l.set(f,a),K(l,6,n)),a};return c.mapS=o,c.weakMapS=e,c.clearCache=function(){o.clear()},c.addToCache=function(t,e,o,c,i,s,u,f){const l=r(e,o,c,i,s,u,f);l.set(f,t),K(l,6,n)},c},function(t,n){const e=new WeakMap,o=new Map;function r(t,r,c,i,s,u,f,l){const a=("object"==typeof r||"function"==typeof r)&&null!==r,p=("object"==typeof c||"function"==typeof c)&&null!==c,h=("object"==typeof i||"function"==typeof i)&&null!==i,v=("object"==typeof s||"function"==typeof s)&&null!==s,d=("object"==typeof u||"function"==typeof u)&&null!==u,g=("object"==typeof f||"function"==typeof f)&&null!==f,m=("object"==typeof l||"function"==typeof l)&&null!==l;let x="object"!=typeof t&&"function"!=typeof t||null===t?o:e,_=x.get(t);void 0===_&&(_={weakMap:new WeakMap,map:new Map},x.set(t,_),K(x,0,n));const b=a?_.weakMap:_.map;let w=b.get(r);void 0===w&&(w={weakMap:new WeakMap,map:new Map},b.set(r,w),K(b,1,n));const M=p?w.weakMap:w.map;let S=M.get(c);void 0===S&&(S={weakMap:new WeakMap,map:new Map},M.set(c,S),K(M,2,n));const y=h?S.weakMap:S.map;let C=y.get(i);void 0===C&&(C={weakMap:new WeakMap,map:new Map},y.set(i,C),K(y,3,n));const O=v?C.weakMap:C.map;let N=O.get(s);void 0===N&&(N={weakMap:new WeakMap,map:new Map},O.set(s,N),K(O,4,n));const E=d?N.weakMap:N.map;let I=E.get(u);void 0===I&&(I={weakMap:new WeakMap,map:new Map},E.set(u,I),K(E,5,n));const B=g?I.weakMap:I.map;let k=B.get(f);return void 0===k&&(k={weakMap:new WeakMap,map:new Map},B.set(f,k),K(B,6,n)),m?k.weakMap:k.map}const c=function(e,o,c,i,s,u,f,l){const a=r(e,o,c,i,s,u,f,l);let p;return a.has(l)?p=a.get(l):(p=t(e,o,c,i,s,u,f,l),a.set(l,p),K(a,7,n)),p};return c.mapS=o,c.weakMapS=e,c.clearCache=function(){o.clear()},c.addToCache=function(t,e,o,c,i,s,u,f,l){const a=r(e,o,c,i,s,u,f,l);a.set(l,t),K(a,7,n)},c}];function nt(t,n,e=!1){const o=t.length;if(o>8)throw new Error("A maximum of 8 formal parameters are supported");return(0,tt[o])(t,n,e)}function et(t,n){return[n[0]-t[0],n[1]-t[1]]}function ot(t){return[-t[1],t[0]]}function rt(t){const n=1/Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]*n,t[1]*n]}function ct(t,n){return t[0]*n[0]+t[1]*n[1]}function it(t,n){function e(n){return[t[0]+n[0],t[1]+n[1]]}return void 0===n?e:e(n)}function st(t){if(4===t.length)return function(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[3*(s-n+3*(o-c)),6*(c+n-2*o),3*(o-n)],[3*(u-e+3*(r-i)),6*(i+e-2*r),3*(r-e)]]}(t);if(3===t.length)return function(t){const[[n,e],[o,r],[c,i]]=t;return[[2*(c+n-2*o),2*(o-n)],[2*(i+e-2*r),2*(r-e)]]}(t);if(2===t.length)return function(t){const[[n,e],[o,r]]=t;return[[o-n],[r-e]]}(t);if(1===t.length)return[[0],[0]];throw new Error("The bezier curve must be of order <= 3.")}function ut(t,n){let e=0;for(let o=0;o<t.length;o++)e=e*n+t[o];return e}const ft=function(t,n){const[e,o]=st(t),r=t=>[ut(e,t),ut(o,t)];return void 0===n?r:r(n)};function lt(t,n){return t[0]*n[1]-t[1]*n[0]}function at(t,n){const e=t-n,o=t-e;return[t-(e+o)+(o-n),e]}function pt(t,n){const e=t.length,o=n.length;let r=0,c=0;const i=[];for(;r<e&&c<o;)0!==t[r]?0!==n[c]?Math.abs(t[r])<=Math.abs(n[c])?(i.push(t[r]),r++):(i.push(n[c]),c++):c++:r++;for(;r<e;)i.push(t[r]),r++;for(;c<o;)i.push(n[c]),c++;if(0===i.length)return[0];const s=i.length;if(1===s)return i;const u=[],f=i[1],l=i[0];let a=f+l;const p=l-(a-f);0!==p&&u.push(p),c=0;for(let t=2;t<s;t++){const n=i[t],e=a+n,o=e-a,r=a-(e-o)+(n-o);0!==r&&u.push(r),a=e}return 0===a&&0!==u.length||u.push(a),u}const ht=134217729;function vt(t,n){const e=t.length;let o;const r=t[0];let c=r*n;const i=ht*r,s=i-(i-r),u=r-s,f=ht*n,l=f-(f-n),a=n-l,p=[],h=u*a-(c-s*l-u*l-s*a);0!==h&&p.push(h);for(let r=1;r<e;r++){const e=t[r],i=e*n,s=ht*e,u=s-(s-e),f=e-u,l=ht*n,a=l-(l-n),h=n-a,v=f*h-(i-u*a-f*a-u*h),d=c+v,g=d-c,m=c-(d-g)+(v-g);0!==m&&p.push(m),o=d;const x=i+o,_=o-(x-i);0!==_&&p.push(_),c=x}return 0===c&&0!==p.length||p.push(c),p}function dt(t,n){const e=n.length;let o;const r=n[0];let c=r*t;const i=ht*r,s=i-(i-r),u=r-s,f=ht*t,l=f-(f-t),a=t-l,p=[],h=u*a-(c-s*l-u*l-s*a);0!==h&&p.push(h);for(let r=1;r<e;r++){const e=n[r],i=e*t,s=ht*e,u=s-(s-e),f=e-u,l=ht*t,a=l-(l-t),h=t-a,v=f*h-(i-u*a-f*a-u*h),d=c+v,g=d-c,m=c-(d-g)+(v-g);0!==m&&p.push(m),o=d;const x=i+o,_=o-(x-i);0!==_&&p.push(_),c=x}return 0===c&&0!==p.length||p.push(c),p}function gt(t,n){let e=[0];for(let o=0;o<t.length;o++)e=pt(e,vt(n,t[o]));return e}function mt(t){let n=t[0];for(let e=1;e<t.length;e++)n+=t[e];return n}function xt(t){const n=t.length,e=new Array(n);for(let o=0;o<n;o++)e[o]=-t[o];return e}function _t(t,n){return pt(t,xt(n))}function bt(t){return t[t.length-1]}const wt=at,Mt=dt;function St(t){if(4===t.length){const[[n,e],[o,r]]=t;return[Mt(3,wt(o,n)),Mt(3,wt(r,e))]}if(3===t.length){const[[n,e],[o,r]]=t;return[wt(2*o,2*n),wt(2*r,2*e)]}if(2===t.length){const[[n,e],[o,r]]=t;return[wt(o,n),wt(r,e)]}if(1===t.length)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}function yt(t,n){const e=t+n,o=e-t;return[t-(e-o)+(n-o),e]}function Ct(t,n){const e=t.length;let o=n;const r=[];for(let n=0;n<e;n++){const e=t[n],c=o+e,i=c-o,s=o-(c-i)+(e-i);0!==s&&r.push(s),o=c}return 0===o&&0!==r.length||r.push(o),r}const Ot=yt,Nt=dt,Et=Ct;function It(t){if(4===t.length){const[[n,e],[o,r],[c,i]]=t;return[Nt(6,Et(Ot(c,n),-2*o)),Nt(6,Et(Ot(i,e),-2*r))]}if(3===t.length){const[[n,e],[o,r],[c,i]]=t;return[Et(Ot(2*c,2*n),-4*o),Et(Ot(2*i,2*e),-4*r)]}if(t.length<=2)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3")}const Bt=at,kt=dt,Pt=pt;function Tt(t){if(4===t.length){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[kt(6,Pt(Bt(s,n),kt(3,Bt(o,c))))],[kt(6,Pt(Bt(u,e),kt(3,Bt(r,i))))]]}if(t.length<=3)return[[[0]],[[0]]];throw new Error("The given bezier curve must be of order <= 3.")}const{sign:At}=Math;function zt(t,n){const[e,o]=St(t),[r,c]=It(t),[i,s]=St(n),[u,f]=It(n),l=_t(gt(e,c),gt(o,r)),a=_t(gt(i,f),gt(s,u)),p=bt(l),h=bt(a);if(At(p)!==At(h))return p-h;const v=pt(gt(i,i),gt(s,s)),d=pt(gt(e,e),gt(o,o)),g=gt(v,v),m=gt(g,v),x=gt(d,d),_=gt(x,d);if(0!==p||0!==h){const t=gt(l,l),n=gt(a,a),e=bt(_t(gt(t,m),gt(n,_)));if(0!==e)return p>0?e:-e}const[[b],[w]]=Tt(t),[[M],[S]]=Tt(n),y=_t(gt(e,w),gt(o,b)),C=pt(gt(e,r),gt(o,c)),O=_t(gt(i,S),gt(s,M)),N=pt(gt(i,u),gt(s,f)),E=_t(gt(d,y),vt(gt(l,C),3)),I=_t(gt(v,O),vt(gt(a,N),3)),B=bt(E),k=bt(I);if(B!==k)return B-k;if(0===B&&0===k)return 0;const P=gt(E,E),T=gt(g,m),A=gt(I,I),z=gt(x,_),D=bt(_t(gt(P,T),gt(A,z)));return B>0?D:-D}function Dt(t,n){return t[0]===n[0]&&t[1]===n[1]}function qt(t,n){const{ccw:e,tangentI:o,tangentO:r,dotTangents:c}=function(t,n){const e=t.length;let o=t[e-2],r=n[0],c=n[1];Dt(o,r)&&(o=t[e-3]),Dt(r,c)&&(c=n[2]);const i=function(t,n,e){const o=at(t[0],e[0]),r=at(n[1],e[1]),c=at(t[1],e[1]),i=at(n[0],e[0]);return mt(pt(gt(o,r),xt(gt(c,i))))}(o,r,c),s=[at(r[0],o[0]),at(r[1],o[1])],u=[at(c[0],r[0]),at(c[1],r[1])],f=function(t,n){return mt(pt(gt(t[0],n[0]),gt(t[1],n[1])))}(s,u);return 0!==i||f>0?{ccw:i,tangentI:s,tangentO:u,dotTangents:f}:{ccw:zt(t.slice().reverse(),n),tangentI:s,tangentO:u,dotTangents:f}}(t,n),i=e<0,s=e>0,u=[rt(o.map(t=>t[1])),rt(r.map(t=>t[1]))],f=lt(u[0],u[1]);let l,a;return c>0?(l=f<-.0698,a=f>.0698):(l=i,a=s),{tangents:u,isSharp:i,isDull:s,isQuiteSharp:l,isQuiteDull:a}}const Ft=nt(qt),Lt=nt(function(t){const{t:n,curve:e}=t;return Ft(1===n?e.ps:e.prev.ps,1===n?e.next.ps:e.ps)});function jt(t){return 0===t.t||1===t.t}function Ht(t){return!!jt(t)&&Lt(t).isSharp}const{sqrt:Wt}=Math;function Yt(t){const n=t.pointOnShape.circle.center,e=t,o=t.nextOnCircle,c=e.pointOnShape,i=o.pointOnShape,s=c.p,u=i.p;let f;if(Ht(c)){let t,n;0===c.t?(t=c.curve,n=c.curve.prev):1===c.t&&(t=c.curve.next,n=c.curve);const e=rt(ft(t.ps,0)),o=[-(l=rt(ft(n.ps,1)))[0],-l[1]],i=ct(e,o),s=Wt((1+i)/2);f=r(Wt((1-i)/2),s,o)}else f=s[0]===u[0]&&s[1]===u[1]?et(s,n):ot(et(s,u));var l;return[n,it(rt(f),n)]}const{abs:Xt,sqrt:Qt}=Math,Vt=2**-16;function Rt(t,n){const e=t[0],o=n[0],r=et(e,o);if(0===r[0]&&0===r[1])return[[e,o]];const c=et(t[0],t[1]),i=et(n[0],n[1]),s=Qt(ct(r,r)),u=Qt(ct(c,c)),f=Qt(ct(i,i));if(0===u||0===f)return[[e,o]];const l=function(t,n){const[[e,o],[r,c]]=t,[[i,s],[u,f]]=n,l=r-e,a=c-o,p=u-i,h=f-s,v=p*a-h*l;if(0===v)return;const d=((s-o)*l-(i-e)*a)/v;return[i+d*p,s+d*h]}(t,n);let a;if(l){const t=et(e,l),n=et(o,l);a=ct(t,r)<=0||ct(n,r)>=0}else a=!0;if(!a)return[[e,l,o]];const p=Xt(lt(r,c))/(s*u),h=Xt(lt(r,i))/(s*f);if(p<=Vt&&h<=Vt)return[[e,o]];const v=(ct(c,r)<0?-1:1)*s/(4*u),d=(ct(i,r)<0?1:-1)*s/(4*f),g=[e[0]+v*c[0],e[1]+v*c[1]],m=[o[0]+d*i[0],o[1]+d*i[1]],x=[(g[0]+m[0])/2,(g[1]+m[1])/2];return[[e,g,x],[x,m,o]]}function Ut(t,n){return Rt(Yt(t),Yt(n.prevOnCircle))}function $t(t){return Ut(t,t.next)}function Zt(t){let n=t.nextOnCircle;for(;n!==t;){if(!A(n))return n;n=n.nextOnCircle}}function Gt(t,n){return t.pointOnShape.circle===n.pointOnShape.circle}function Jt(t){return 1===z(t)&&!t.isHoleClosing}function Kt(t){return 2===z(t)}function tn(t){return H(t).every(A)}function nn(t){if(tn(t))return[];for(;A(t);)t=t.nextOnCircle;for(t=t.next;2===z(t);)t=t.next;t=t.prevOnCircle;const n=[];do{n.push(t),t=t.next}while(2===z(t));return n}function en(t){return nn(t).flatMap($t)}function on(t,n){const e=n[0]-t[0],o=n[1]-t[1];return Math.sqrt(e*e+o*o)}nt($t);const{abs:rn}=Math,{sqrt:cn,abs:sn,asinh:un}=Math,{sqrt:fn}=Math;function ln(t){const n=t.length-1;if(n<=0)return[];const e=new Array(n);for(let o=0;o<n;o++)e[o]=(n-o)*t[o];return e}const an=Number.EPSILON/2,{abs:pn,max:hn}=Math;function vn(t,n,e,o=ut(t,n),r=ut(t,e)){let c=n,i=e,s=c,u=o,f=i-c,l=f;for(;;){pn(u)<pn(r)&&(c=i,i=s,s=c,o=r,r=u,u=o);const n=2*an*hn(1,pn(c),pn(i)),e=.5*(s-i);if(pn(e)<=n)return i;if(pn(f)<n||pn(o)<=pn(r))f=e,l=f;else{let t,a,p=r/o;if(c===s)t=2*e*p,a=1-p;else{a=o/u;const n=r/u;t=p*(2*e*a*(a-n)-(i-c)*(n-1)),a=(a-1)*(n-1)*(p-1)}0<t?a=-a:t=-t,p=f,f=l,2*t<3*e*a-pn(n*a)&&t<pn(.5*p*a)?l=t/a:(f=e,l=f)}if(c=i,o=r,n<pn(l)?i+=l:0<e?i+=n:i-=n,0===(r=ut(t,i)))return i;r<0==u<0&&(s=c,u=o,f=i-c,l=f)}}function dn(t){const n=t.length-1;if(n<0)return[];const e=t.slice();for(let t=0;t<n+1;t++)t%2==(n-1)%2&&(e[t]=-e[t]);return e}function gn(t){const n=new Array(t.length);for(let e=0;e<t.length;e++)n[e]=-t[e];return n}function mn(t){let n=0;for(let e=0;e<=t.length-1&&0===t[e];e++)n++;return 0!==n&&(t=t.slice(n)),t}function xn(t){const n=(t=mn(t)).length-1;if(n<1)return 0;t[0]<0&&(t=gn(t));const e=[];for(let t=0;t<n;t++)e.push(1);let o=0;for(let r=0;r<=n;r++){if(t[r]>=0)continue;let n=1/0,c=!1;for(let o=0;o<r;o++){if(t[o]<=0)continue;const i=(-t[r]/(t[o]/2**e[o]))**(1/(r-o));e[o]++,n>i&&(n=i),c=!0}c&&o<n&&(o=n)}return o}const _n=(bn=xn,t=>-bn(dn(t)));var bn;function wn(t,n,e){const[o,r]=st(t);for(;o.length<3;)o.unshift(0),r.unshift(0);const[c,i,s]=o,[u,f,l]=r,a=[2*(c*c+u*u),3*(c*i+u*f),i*i+f*f+2*(c*s+u*l),i*s+f*l];for(;a.length>0&&0===a[0];)a.shift();return a.length<=1?[]:function(t,n=-1/0,e=1/0){t=mn(t);let o=0;for(;0===t[t.length-1];)t=t.slice(0,-1),o++;if(t.length<=1){const t=[];for(let n=0;n<o;n++)t.push(0);return t}n===-1/0&&(n=_n(t)),e===1/0&&(e=xn(t));const r=[t];for(let n=1;n<=t.length-1;n++)r.push(ln(r[n-1]));let c=[];for(let o=t.length-2;o>=0;o--){const t=r[o],i=[];let s=n,u=ut(t,s);0===u&&0===o&&i.push(n);for(let n=0;n<c.length;n++){const e=c[n],o=ut(t,e);0===o?i.push(e):0!==u&&u<0!=o<0&&i.push(vn(t,s,e,u,o)),s=e,u=o}const f=ut(t,e);0!==u&&0!==f&&u<0!=f<0&&i.push(vn(t,s,e,u,f)),0===f&&0===o&&i.push(e),c=i}if(o>0&&n<=0&&e>=0){const t=[];let n=!1;for(let e=0;e<c.length;e++){if(!n&&c[e]>=0){for(let n=0;n<o;n++)t.push(0);n=!0}t.push(c[e])}if(!n)for(let n=0;n<o;n++)t.push(0);return t}return c}(a,n,e).filter(t=>t>n&&t<e).sort((t,n)=>t-n)}const{abs:Mn,min:Sn,max:yn}=Math,{EPSILON:Cn,MIN_VALUE:On}=Number,Nn=[.9914553711208126,.9491079123427585,.8648644233597691,.7415311855993945,.5860872354676911,.4058451513773972,.20778495500789848,0],En=[.022935322010529224,.06309209262997856,.10479001032225019,.14065325971552592,.1690047266392679,.19035057806478542,.20443294007529889,.20948214108472782],In=[.1294849661688697,.27970539148927664,.3818300505051189,.4179591836734694];function Bn(t,n,e){const o=(n+e)/2,r=(e-n)/2,c=t(o);let i=c*In[3],s=c*En[7],u=Mn(s);const f=[],l=[];for(let n=0;n<7;n++){const e=r*Nn[n],c=t(o-e),a=t(o+e);f.push(c),l.push(a);const p=c+a;s+=En[n]*p,u+=En[n]*(Mn(c)+Mn(a)),n%2==1&&(i+=In[(n-1)/2]*p)}const a=s/2;let p=En[7]*Mn(c-a);for(let t=0;t<7;t++)p+=En[t]*(Mn(f[t]-a)+Mn(l[t]-a));const h=s*r;u*=Mn(r),p*=Mn(r);let v=Mn((s-i)*r);return 0!==p&&0!==v&&(v=p*Sn(1,(200*v/p)**1.5)),u>On/(50*Cn)&&(v=yn(50*Cn*u,v)),{value:h,error:v}}const{abs:kn,sinh:Pn,cosh:Tn,exp:An,PI:zn}=Math,{abs:Dn}=Math;function qn(t,n,e,o,r,c){if(o.error<=r)return o.value;if(c>=8)return function(t,n,e,o,r=8){const c=e-n;let i=1,s=zn/2*t((n+e)/2);const u=(o,r)=>{for(let u=o;;u+=r){const o=u*i,r=zn/2*Pn(o),f=Tn(r),l=zn/2*Tn(o)/(f*f),a=c/(An(2*r)+1);if(!(l>1e-30)||0===a)return;s+=l*(t(n+a)+t(e-a))}};u(1,1);let f=i*s*c/2,l=1/0;for(let t=1;t<=r;t++){i/=2,u(1,2);const t=i*s*c/2;if(l=kn(t-f),f=t,l<=o)break}return{value:f,error:l}}(t,n,e,r).value;const i=(n+e)/2,s=Bn(t,n,i),u=Bn(t,i,e),f=Dn(s.value),l=f+Dn(u.value),a=0===l?r/2:r*f/l,p=r-a;return qn(t,n,i,s,a,c+1)+qn(t,i,e,u,p,c+1)}const Fn=2**-45;function Ln(t,n=5684341886080802e-29){if(4===t.length)return function(t,n,e=5684341886080802e-29){let o=t[0],r=t[1];if(o===r)return 0;o>r&&([o,r]=[r,o]);const[[c,i],[s,u],[f,l],[a,p]]=n;if(c===s&&s===f&&f===a&&i===u&&u===l&&l===p)return 0;const h=[o,...wn(n,o,r),r];return e<Fn&&(e=Fn),function(t,n,e){const o=[];let r=0;for(let e=0;e<n.length-1;e++){const c=Bn(t,n[e],n[e+1]);o.push(c),r+=c.value}if(0===r)return 0;const c=e*r;let i=0;for(let e=0;e<n.length-1;e++)i+=qn(t,n[e],n[e+1],o[e],c*Dn(o[e].value)/r,0);return i}(function(t){const[n,e]=st(t);return function(t){const o=ut(n,t),r=ut(e,t);return fn(o*o+r*r)}}(n),h,e)}([0,1],t,n);if(3===t.length)return function(t,n){let e=t[0],o=t[1];if(e===o)return 0;e>o&&([e,o]=[o,e]);const[[r,c],[i,s],[u,f]]=n,l=u-2*i+r,a=f-2*s+c,p=i-r,h=s-c,v=l*l+a*a;if(0===v)return 2*cn(p*p+h*h)*(o-e);const d=cn(v),g=l*p+a*h,m=sn(l*h-a*p)/d,x=m*m,_=(v*e+g)/d,b=(v*o+g)/d,w=cn(_*_+x),M=cn(b*b+x);let S,y;if(_*b>0){const t=d*(o-e),n=b+_;S=t*n*(b*b+_*_+x)/(b*M+_*w),y=0===m?0:x*un(t*n/(b*w+_*M))}else S=b*M-_*w,y=0===m?0:x*(un(b/m)-un(_/m));return(S+y)/d}([0,1],t);if(2===t.length)return function(t,n){const[e,o]=[0,1];return rn(o-e)*on(n[0],n[1])}(0,t);if(1===t.length)return 0;throw new Error("The given bezier curve must be of order <= 3.")}function jn(t,n,e=!0){const{cpNodes:o,hasHoleCloser:r}=function(t,n,e=!0){if(!e&&t===n)return{cpNodes:[],hasHoleCloser:!1};const o=t,r=[o];let c=t.next,i=o.isHoleClosing;for(;c!==n&&c!==o;)c.isHoleClosing&&(i=!0),r.push(c),c=c.next;return{cpNodes:r,hasHoleCloser:i}}(t,n,e);return{pss:o.flatMap($),hasHoleCloser:r}}function Hn(t){const n=t,e=t.nextOnCircle,o=on(n.pointOnShape.p,e.pointOnShape.p),{pss:r,hasHoleCloser:c}=jn(n,e),i=function(t){let n=0;for(let e of t)n+=e;return n}(r.map(t=>Ln(t)));return c?1/0:0===i?0:i/o}function Wn(t,n){let e=t;const o=[];for(;e!==n;)o.push(...Ut(e,e.next)),e=e.next;return o}const{abs:Yn,asin:Xn,min:Qn,max:Vn,PI:Rn}=Math;function Un(t,n){const e=rt(ft($t(t)[0],0)),o=rt(ft($t(n)[0],0)),r=Vn(-1,Qn(1,lt(e,o)));return Yn(Xn(r)*(180/Rn))}function $n(t){const n=[];return Y(t,t=>{n.push(t)}),n}function Zn(t,n){let e;return e=t.curve.idx-n.curve.idx,0!==e||(e=t.t-n.t,0!==e||(e=t.order-n.order,0!==e||(e=t.order2-n.order2))),e}function Gn(t,n){return Zn(t.pointOnShape,n.pointOnShape)}const Jn={getChildren:J,getVertexForwardChildren:W,getAllOnLoop:B,getAllOnCircle:H,isOnSameCircle:Gt,isTerminating:A,isFullyTerminating:D,getFirstExit:Zt,isSharp:q,isOneProng:Jt,getProngCount:T,getRealProngCount:z,cpNodeComparator:Gn,enhanceCpNode:F,traverseCp:L,traverseEdges:j,traverseVertices:Y,clone:Q,getBoundaryBezierPartsToNext:R,getBoundaryBeziersToNext:$,removeVertex:G,getMatCurveToNext:$t,isTwoProng:Kt,getBranch:nn,getBranchBeziers:en,getSalience:Hn,getMatCurveBetween:Ut,getEdgeDirection:Yt,getBoundaryBeziersBetween:jn,getMatCurvesBetween:Wn,getHoleClosers:k,getInitialDegAngleBetweenMatCurves:Un,getAllVertices:$n};function Kn(t){return 2!==z(t)||t.isHoleClosing}const te=function(t){return n=>H(n).some(t)}(Kn),{abs:ne}=Math,{abs:ee}=Math;function oe(t,n){if(t.length!==n.length)throw new Error("`p` and `p_` must be of equal length.");let e=0;for(;e<t.length&&0===t[e]&&0===n[e];)e++;if(e>0&&(t=t.slice(e),n=n.slice(e)),t.length<=1)return 0;const o=ee(n[0]);if(t[0]-o>0);else{if(!(t[0]+o<0))return 1/0;t=gn(t)}return xn(function(t,n){if(t.length!==n.length)throw new Error("`p` and `p_` must be of equal length.");const e=new Array(t.length);for(let o=0;o<t.length;o++)e[o]=t[o]-ne(n[o]);return e}(t,n))}const re=function(t){return(n,e)=>-t(dn(n),e)}(oe),ce=Number.EPSILON,ie=ce/2,se=ie*ie,ue=le(1),fe=function(){const t=3*se;return t/(1-t)}();function le(t){const n=t*ie;return n/(1-n)}new Array(20).fill(0).map((t,n)=>le(n));const{min:ae,max:pe,abs:he}=Math,ve=17976931348623157e292,{abs:de}=Math;function ge(t){const n=t.slice(),e=n.length;if(1===e)return n;let o=n[e-1],r=e;for(let t=e-2;t>=0;--t){const e=o,c=n[t];o=e+c;const i=c-(o-e);i&&(n[--r]=o,o=i)}let c=0;for(let t=r;t<e;++t){const e=n[t],r=o;o=e+r;const i=r-(o-e);i&&(n[c++]=i)}return n[c++]=o,n.length=c,n}const{abs:me}=Math,{abs:xe}=Math;const _e=134217729;function be(t,n){const e=n[0],o=n[1],r=o*t,c=_e*o,i=c-(c-o),s=o-i,u=_e*t,f=u-(u-t),l=t-f,a=s*l-(r-i*f-s*f-i*l)+e*t,p=r+a;return[a-(p-r),p]}function we(t,n){const e=t[0],o=t[1],r=n[0],c=n[1],i=o+c,s=i-o,u=e+r,f=u-e,l=o-(i-s)+(c-s)+u,a=i+l,p=e-(u-f)+(r-f)+(l-(a-i)),h=a+p;return[p-(h-a),h]}const{abs:Me}=Math;function Se(t,n,e){const o=t.length-1;if(o<0)return[[],[]];const r=Me(n),c=t.slice(),i=e.slice();for(let t=0;t<=o;t++)for(let e=1;e<=o-t;e++){const t=c[e-1],o=i[e-1],s=be(n,t),u=r*o+Me(s[1]),f=c[e];c[e]=we(f,s),i[e]=i[e]+u+Me(c[e][1])}return[c,i]}const ye=2**27+1;function Ce(t,n){const e=t[1],o=n[1],r=e*o,c=ye*e,i=c-(c-e),s=e-i,u=ye*o,f=u-(u-o),l=o-f,a=s*l-(r-i*f-s*f-i*l)+(e*n[0]+t[0]*o),p=r+a;return[a-(p-r),p]}const{abs:Oe}=Math,Ne=7/3;function Ee(t,n){const e=t.length-1;if(e<0)return[];const o=t.slice();for(let t=0;t<=e;t++)for(let r=1;r<=e-t;r++)o[r]=ge(pt(o[r],vt(o[r-1],n)));return o}function Ie(t,n){const e=t.length-1;if(e<0)return[];const o=new Array(e+1);o[e]=t[e];let r=[1];for(let c=1;c<=e;c++)r=vt(r,n),o[e-c]=gt(t[e-c],r);return o}const{abs:Be,sign:ke}=Math;function Pe(t,n,e,o,r){return function(c,i,s,u,f){let[l,a]=function(t,n,e){const o=t.length-1,r=me(n),c=t.slice(),i=e.slice();for(let t=0;t<=o;t++)for(let e=1;e<=o-t;e++){const t=n*c[e-1],o=r*i[e-1]+me(t);c[e]=c[e]+t,i[e]=i[e]+o+me(c[e])}return[c,i]}(t,c,n);(function(t,n,e){const o=t.length-1;if(o<0)return;const r=xe(n);let c=n,i=0;for(let s=1;s<=o;s++){const u=o-s,f=t[u],l=xe(f),a=e[u],p=f*c;t[u]=p,e[u]=a*xe(c)+l*i+xe(p);const h=c*n;i=i*r+xe(h),c=h}})(l,i-c,a),l.reverse(),a.reverse(),function(t,n){const e=t.length-1;for(let o=0;o<=e;o++)for(let r=1;r<=e-o;r++){const e=t[r-1],o=n[r-1];t[r]=t[r]+e,n[r]=n[r]+o+me(t[r])}}(l,a);let p=0,h=0,v=ke(s);for(let t=1;t<l.length-1;t++){let n=ke(l[t]);const e=l[t],o=a[t]*ue;Be(e)<=o&&(h++,n=-v),n!==v&&(p++,v=n)}return ke(u)!==v&&p++,1===p?1:h>0?function(t,n,e,o,r,c,i,s){let[u,f]=Se(t,e,n);(function(t,n,e){const o=t.length-1;if(o<0)return;const r=Oe(n);let c=[0,n],i=0;for(let s=1;s<=o;s++){const u=o-s,f=t[u],l=Oe(f[1]),a=e[u],p=Ce(c,f);t[u]=p,e[u]=a*Oe(c[1])+l*i+Ne*Oe(p[1]);const h=be(n,c);i=i*r+Oe(h[1]),c=h}})(u,o-e,f),u.reverse(),f.reverse(),[u,f]=Se(u,1,f);let l=0,a=0,p=ke(r);for(let t=1;t<u.length-1;t++){let n=ke(u[t][1]);const e=f[t]*fe,o=u[t];e>=Be(o[1])&&(a++,n=-p),n!==p&&(l++,p=n)}return ke(c)!==p&&l++,1===l?1:0===a?l:i>1?function(t,n,e,o,r){let c=Ee(t(),n);c=Ie(c,e-n),c.reverse(),c=Ee(c,1);let i=0,s=ke(o);for(let t=1;t<c.length-1;t++){const n=c[t];let e=ke(n[n.length-1]);e!==s&&0!==e&&(i++,s=e)}return ke(r)!==s&&i++,i}(s,e,o,r,c):-l}(e,o,c,i,s,u,f,r):p}}const Te=134217729;function Ae(t,n){const e=t*n,o=Te*t,r=o-(o-t),c=t-r,i=Te*n,s=i-(i-n),u=n-s;return[c*u-(e-r*s-c*s-r*u),e]}const{abs:ze}=Math;function De(t,n){const e=ze(n);let o=t[0],r=.5*ze(o);for(let c=1;c<t.length;c++)o=o*n+t[c],r=r*e+ze(o);return r=ie*(2*r-ze(o)),[o,r]}const qe=Math.abs,{abs:Fe}=Math,Le=le(1),je=le(2);function He(t,n,e=void 0,o=1){const r=t[0],[c,i]=De(r,n),s=je*function(t,n){const e=qe(n);let o=0;for(let n=0;n<t.length;n++)o=o*e+qe(t[n]);return o}(r,n),u=void 0!==e?ut(e,Fe(n)):0;if((i+s+u)*o<Math.abs(c))return c;const f=function(t,n){const e=[],o=[];let r,c=t[0];for(let i=1;i<t.length;i++){const[s,u]=Ae(c,n);[r,c]=yt(u,t[i]),e.push(s),o.push(r)}return{r̂:c,pπ:e,pσ:o}}(r,n),{pπ:l,pσ:a}=f;let{r̂:p}=f;const[h,v]=De(l,n),[d,g]=De(a,n),[m,x]=De(t[1],n);let _=v+g+x+u;return p=h+d+m+p,_+=Le*Math.abs(p),_*o<Math.abs(p)?p:0}function We(t,n){let e=[0];for(let o=0;o<t.length;o++)e=pt(t[o],vt(e,n));return e}const{abs:Ye,min:Xe,max:Qe,log2:Ve,ceil:Re}=Math;function Ue(t,n,e,o,r,c,i,s){let u=e,f=o,l=u,a=r,p=f-u,h=p;for(;;){let v;Ye(a)<Ye(c)&&(u=f,f=l,l=u,r=c,c=a,a=r);const d=Ye(f);v=d<=1?ce:ce*2**Re(Ve(d));const g=.5*(l-f);if(Ye(g)<=v)return f<l?[f,l,f]:[l,f,f];if(Ye(p)<v||Ye(r)<=Ye(c))p=g,h=p;else{let t,n,e=c/r;if(u===l)t=2*g*e,n=1-e;else{n=r/a;const o=c/a;t=e*(2*g*n*(n-o)-(f-u)*(o-1)),n=(n-1)*(o-1)*(e-1)}0<t?n=-n:t=-t,e=p,p=h,2*t<3*g*n-Ye(v*n)&&t<Ye(.5*e*n)?h=t/n:(p=g,h=p)}if(u=f,r=c,v<Ye(h)?f+=h:0<g?f+=v:f-=v,0===(c=s?mt(We(i(),f)):He(t,f,n))){if(s)return[f,f,f];const r=Qe(e,f-v),u=Xe(o,f+v);if(He(t,r,n)*He(t,u,n)<0)return[r,u,f];if(s=!0,0===(c=mt(We(i(),f))))return[f,f,f]}(0<c&&0<a||c<=0&&a<=0)&&(l=u,a=r,p=f-u,h=p)}}const{abs:$e}=Math;function Ze(t,n,e){const o=$e(n);let r=t[0],c=e[0];for(let i=1;i<t.length;i++){const s=r*n;r=s+t[i],c=c*o+$e(s)+e[i]+$e(r)}return[r,c]}function Ge(t){const n=t[0].length,e=[];for(let o=0;o<n;o++){const r=[];for(let e=0;e<t.length;e++)r.push(t[e][n-(o+1)]);e.push(r)}return e}const Je=we,Ke=be,{abs:to}=Math;function no(t,n,e){const o=to(n);let r=t[0],c=e[0];for(let i=1;i<t.length;i++){const s=Ke(n,r);r=Je(s,t[i]),c=c*o+to(s[1])+e[i]+to(r[1])}return[r,c]}const{abs:eo,max:oo,log2:ro,ceil:co}=Math,io=fe/ue;function so(t,n,e,o,r,c,i){const s=t.length-1;let u=0,f=1;for(;;){f*=2;for(let l=1;l<f;l+=2){u++;const a=r+(c-r)*(f+2*l)/(4*f),[p,h]=Ze(t,a,n);if(eo(p)>h*ue)return[a,p];if(u>s)return uo(e,o,r,c,i)}}}function uo(t,n,e,o,r){const c=t.length-1;let i=0,s=1;for(;;){s*=2;for(let u=1;u<s;u+=2){i++;const f=e+(o-e)*(s+2*u)/(4*s),[l,a]=no(t,f,n);if(eo(l[1])>a*fe)return[f,l[1]];if(i>c)return fo(r(),e,o)}}}function fo(t,n,e){const o=t.length-1;let r=1,c=0;for(;;){r*=2;for(let i=1;i<r;i+=2){c++;const s=n+(e-n)*(r+2*i)/(4*r),u=ge(We(t,s)),f=u[u.length-1];if(0!==f)return[s,f];if(c>o)throw new Error("Cannot resolve root even in Shewchuk expansion precision")}}}const{abs:lo,max:ao,log2:po,ceil:ho}=Math;function vo(t,n=-1/0,e=1/0,o,r,c=!1){let i;"number"==typeof t[0]&&(t=t.map(t=>[0,t]));const s=()=>void 0===r?t:(void 0===i&&(i=r()),i);if(o=o||new Array(t.length).fill(0),({pDd:t,pDd_:o,pExact:i}=function(t,n,e,o){if(0===t.length||de(t[0][1])>o*n[0])return{pDd:t,pDd_:n,pExact:void 0};let r=e();const c=r.length;let i=new Array(c),s=new Array(c);for(let t=0;t<c;t++){const n=r[t],e=n[n.length-1]??0,c=n[n.length-2]??0;i[t]=[c,e],s[t]=de(e)*(fe/o)}let u=0;for(;u<c&&0===i[u][1];)u++;return i=i.slice(u),s=s.slice(u),r=r.slice(u),{pDd:i,pDd_:s,pExact:r}}(t,o,s,fe)),0===t.length)return;if(1===t.length)return[];const u=t.map(t=>t[0]+t[1]);if((c||lo(n)>2**20||lo(e)>2**20)&&([n,e]=function(t,n,e,o,r){const c=o.map((t,n)=>t*r+he(e[n])*ue);t=pe(t,re(e,c)),n=ae(n,oe(e,c));const i=2**(-2*(e.length-1));for(Number.isFinite(t)||(t=-i*ve),Number.isFinite(n)||(n=i*ve);;){const o=he(ut(e,t)),r=he(ut(e,n));if(o>i*ve)t/=2;else{if(!(r>i*ve))break;n/=2}}return[t,n]}(n,e,u,o,fe)),n===e){const t=2*ce*ao(1,2**ho(po(ao(lo(n),lo(e)))));n-=t,e+=t}return function(t,n,e,o,r,c){const i=e.map((n,e)=>n*io+eo(t[e])),s=o,u=r;let f,l,a,p,h=r-o;for(;[f,l]=Ze(t,o,i),!(eo(f)>l*ue);)if(o-=h/2,h*=2,!Number.isFinite(o))throw new Error("Unable to certify the sign of the polynomial at any finite lower bound.");for(;[a,p]=Ze(t,r,i),!(eo(a)>p*ue);)if(r+=h/2,h*=2,!Number.isFinite(r))throw new Error("Unable to certify the sign of the polynomial at any finite upper bound.");const v=[[o,r,f,a,0]],d=[],g=Pe(t,i,n,e,c);let m,x;for(;v.length>0;){const o=v.pop(),[r,s,u,f,l]=o,a=g(r,s,u,f,l);if(0===a)continue;if(1===a){m=m||e.map(t=>t*fe),x=x||Ge(n);const[t,o,i]=Ue(x,m,r,s,u,f,c,!1);d.push({t:i,tS:t,tE:o,multiplicity:1});continue}let p=a<0?l+1:0;if(s-r<=2*eo(a)*ce*oo(1,2**co(ro(oo(eo(r),eo(s)))))){if(0===p){d.push({t:(r+s)/2,tS:r,tE:s,multiplicity:eo(a)});continue}p=1/0}const[h,_]=so(t,i,n,e,r,s,c);v.push([r,h,u,_,p]),v.push([h,s,_,f,p])}return d.reverse(),d.filter(t=>{const{tS:n,tE:e}=t;return!(e<s||n>u)})}(u,t,o,n,e,s)}function go(t,n){if(0===n)return t[0];if(1===n)return t[t.length-1];if(4===t.length){const[[e,o],[r,c],[i,s],[u,f]]=t,l=e+(r-e)*n,a=r+(i-r)*n,p=l+(a-l)*n,h=o+(c-o)*n,v=c+(s-c)*n,d=h+(v-h)*n;return[p+(a+(i+(u-i)*n-a)*n-p)*n,d+(v+(s+(f-s)*n-v)*n-d)*n]}if(3===t.length){const[[e,o],[r,c],[i,s]]=t,u=e+(r-e)*n,f=o+(c-o)*n;return[u+(r+(i-r)*n-u)*n,f+(c+(s-c)*n-f)*n]}if(2===t.length){const[[e,o],[r,c]]=t;return[e+(r-e)*n,o+(c-o)*n]}if(1===t.length)return t[0];throw new Error("The given bezier curve must be of order <= 3.")}function mo(t){const n=st(t),e=vo(n[0],0,1)?.map(t=>t.t)||[],o=vo(n[1],0,1)?.map(t=>t.t)||[];e.push(0,1),o.push(0,1);let r,c,i,s,u=1/0,f=-1/0,l=1/0,a=-1/0;for(let n=0;n<e.length;n++){const o=e[n],[i]=go(t,o);i<u&&(u=i,r=o),i>f&&(f=i,c=o)}for(let n=0;n<o.length;n++){const e=o[n],[,r]=go(t,e);r<l&&(l=r,i=e),r>a&&(a=r,s=e)}return{ts:[[r,i],[c,s]],box:[[u,l],[f,a]]}}const xo=nt(mo);function _o(t,n){return bo(t)-bo(n)}function bo(t){let n=1/0;for(const e of t){const t=xo(e).box[0][1];t<n&&(n=t)}return n}const{abs:wo}=Math;function Mo(t,n){return"AND"===t?wo(n)>=2:"XOR"===t?wo(n)%2==1:0!==n}function So(t,n){let e=t.x.curve.idx-n.x.curve.idx;return 0!==e||(e=t.x.ri.tS-n.x.ri.tS),e}const{floor:yo,ceil:Co}=Math;function Oo(t,n,e,o){const r=[];for(const o of t)r.push({type:-1,item:o,x:n(o)}),r.push({type:1,item:o,x:e(o)});r.sort(No);const c=new Set,i=[];for(const t of r){const{item:n,type:e}=t;if(-1===e){for(const t of c){const e=o(n,t);e&&i.push({a:n,b:t,u:e})}c.add(n)}else 1===e&&c.delete(n)}return i}function No(t,n){const e=t.x-n.x;return 0!==e?e:t.type}function Eo(t,n,e){let[[o,r],[c,i]]=n,[[s,u],[f,l]]=e;r>i&&([r,i]=[i,r]),u>l&&([u,l]=[l,u]),o>c&&([o,c]=[c,o]),s>f&&([s,f]=[f,s]);const a=t||o===c&&s===f,p=t||r===i&&u===l;return(a?o<=f:o<f)&&(a?c>=s:c>s)&&(p?u<=i:u<i)&&(p?l>=r:l>r)}function Io(t,n){let[[e,o],[r,c]]=t;e>r&&([e,r]=[r,e]),o>c&&([o,c]=[c,o]);const i=(r-e)*n,s=(c-o)*n;return[[e-i,o-s],[r+i,c+s]]}function Bo(t,n){return Eo(!0,Io(t.box,.5),Io(n.box,.5))}function ko(t,n){const[e,o]=n;t.getOrInsert(e,[]).push(o),t.getOrInsert(o,[]).push(e)}function Po(t,n,e,o){e.add(n),o.push(n);const r=t.get(n);for(let n=0;n<r.length;n++){const c=r[n];e.has(c)||Po(t,c,e,o)}}function To(t){const n=[],e=new Set;for(const o of t){const r=o[0];e.has(r)||(n.push([]),Po(t,r,e,n[n.length-1]))}return n}const{min:Ao,max:zo}=Math;function Do(t){let n=1/0,e=1/0,o=-1/0,r=-1/0;const c=[];for(const i of t){const[[t,s],[u,f]]=i.box;n=Ao(n,t),e=Ao(e,s),o=zo(o,u),r=zo(r,f),c.push(...i.xs)}return{xs:c,box:[[n,e],[o,r]]}}function qo(t){const n=[];function e(...e){if("undefined"==typeof _debug_)return t.apply(this,e);const o=performance.now(),r=t.apply(this,e),c=performance.now();return n.push(c-o),r}return e.getStats=()=>{const e=function(t){let n=0;for(let e of t)n+=e;return n}(n);return{name:t.name,totalMs:e,count:n.length}},e.resetStats=()=>{n.length=0},e}const Fo=qo(function(t){for(;;){const n=Oo(t,t=>Io(t.box,.5)[0][0],t=>Io(t.box,.5)[1][0],Bo);if(!n.length)break;const e=new Map(t.map(t=>[t,[]]));for(let t=0;t<n.length;t++){const o=n[t];ko(e,[o.a,o.b])}t=To(e).map(Do)}return t});function Lo(t,n){const e=t[1],o=n[1];return e===o?t[0]-n[0]:e-o}const jo=2**27+1;function Ho(t,n){const e=t[1],o=n[1],r=e*o,c=jo*e,i=c-(c-e),s=e-i,u=jo*o,f=u-(u-o),l=o-f,a=s*l-(r-i*f-s*f-i*l)+(e*n[0]+t[0]*o),p=r+a;return[a-(p-r),p]}function Wo(t,n){const e=t[0],o=t[1],r=n[0],c=n[1],i=o+c,s=i-o,u=e+r,f=u-e,l=o-(i-s)+(c-s)+u,a=i+l,p=e-(u-f)+(r-f)+(l-(a-i)),h=a+p;return[p-(h-a),h]}function Yo(t,n){const e=t[0],o=t[1],r=n[0],c=n[1],i=o-c,s=i-o,u=e-r,f=u-e,l=o-(i-s)+(-c-s)+u,a=i+l,p=e-(u-f)+(-r-f)+(l-(a-i)),h=a+p;return[p-(h-a),h]}function Xo(t,n){const e=t-n,o=t-e;return[t-(e+o)+(o-n),e]}function Qo(t,n){const e=t[0],o=t[1],r=o+n,c=r-o,i=e+(o-(r-c)+(n-c)),s=r+i;return[i-(s-r),s]}const Vo=Ho,Ro=Wo,Uo=Yo,$o=Xo,Zo=Qo;function Go(t,n){if(0===n[0]&&0===n[1])return t[0].map(t=>[0,t]);if(0===n[0]&&1===n[1])return t[t.length-1].map(t=>[0,t]);if(4===t.length){const[[e,o],[r,c],[i,s],[u,f]]=t,l=Zo(Vo($o(r,e),n),e),a=Zo(Vo($o(i,r),n),r),p=Zo(Vo($o(u,i),n),i),h=Ro(l,Vo(Uo(a,l),n)),v=Ro(a,Vo(Uo(p,a),n)),d=Ro(h,Vo(Uo(v,h),n)),g=Zo(Vo($o(c,o),n),o),m=Zo(Vo($o(s,c),n),c),x=Zo(Vo($o(f,s),n),s),_=Ro(g,Vo(Uo(m,g),n)),b=Ro(m,Vo(Uo(x,m),n));return[d,Ro(_,Vo(Uo(b,_),n))]}if(3===t.length){const[[e,o],[r,c],[i,s]]=t,u=Ro([0,e],Vo($o(r,e),n)),f=Ro([0,r],Vo($o(i,r),n)),l=Ro(u,Vo(Uo(f,u),n)),a=Ro([0,o],Vo($o(c,o),n)),p=Ro([0,c],Vo($o(s,c),n));return[l,Ro(a,Vo(Uo(p,a),n))]}if(2===t.length){const[[e,o],[r,c]]=t;return[Zo(Vo($o(r,e),n),e),Zo(Vo($o(c,o),n),o)]}if(1===t.length){const[n,e]=t[0];return[[0,n],[0,e]]}throw new Error("The given bezier curve must be of order <= 3.")}function Jo(t,n){return Go(t,[0,n]).map(t=>t[0]+t[1])}const{min:Ko,max:tr}=Math;function nr(t,n,e,o){let r;for(const{curve:c,ts:i}of function*(t,n){const e=n?t.next:t.prev,o=t.x.curve,r=t.x.ri.tS,c=e.x.curve,i=e.x.ri.tS,s=n?1:0,u=n?0:1;let f=o,l=r,a=!1;for(;;){if(f===c&&(l===i?a:n?l<i:l>i))return void(yield{ts:[l,i],curve:f});yield{ts:[l,s],curve:f},a=!0,l=u,f=n?f.next:f.prev}}(n,o)){const{ps:n}=c;void 0===r&&(r=Jo(n,i[0]));const o=Jo(n,i[1]),[s,u]=r,[f,l]=o;let a=[];for(let t=0;t<e.length;t++){const n=e[t],[[o,r]]=n;(t%2==0&&Ko(u,l)<=r&&r<=tr(u,l)||t%2==1&&Ko(s,f)<=o&&o<=tr(s,f))&&a.push(t)}if(a.length>0)return t.oSideIdxs=a,a;r=o}}function er(t,n){const e=t[0],o=t[1],r=o-n,c=r-o,i=e+(o-(r-c)+(-n-c)),s=r+i;return[i-(s-r),s]}const or=134217729;function rr(t,n){const e=t[0],o=t[1],r=o/n,c=r*n,i=or*r,s=i-(i-r),u=r-s,f=or*n,l=f-(f-n),a=n-l,p=(o-c-(u*a-(c-s*l-u*l-s*a))+e)/n,h=r+p;return[p-(h-r),h]}function cr(t,n){return Lo(t,n)>0?n:t}function ir(t,n){return Lo(t,n)>0?t:n}const sr=134217729;function ur(t,n){const e=n[0],o=n[1],r=o*t,c=sr*o,i=c-(c-o),s=o-i,u=sr*t,f=u-(u-t),l=t-f,a=s*l-(r-i*f-s*f-i*l)+e*t,p=r+a;return[a-(p-r),p]}function fr(t){return[-t[0],-t[1]]}const lr=Xo,ar=ur,pr=Wo,hr=Qo,{abs:vr}=Math;function dr(t){const[[n,e],[o,r],[c,i],[s,u]]=t,f=lr(s,n),l=lr(o,c),a=3*(o-c),p=ar(3,l),h=vr(a),v=pr(f,p),d=h+vr(s-n+a),g=lr(c,2*o),m=hr(g,n),x=vr(c-2*o+n),_=ar(3,m),b=6*x,w=lr(o,n),M=ar(3,w),S=vr(3*(o-n)),y=lr(u,e),C=lr(r,i),O=3*(r-i),N=ar(3,C),E=vr(O),I=pr(y,N),B=E+vr(u-e+O),k=lr(i,2*r),P=hr(k,e),T=vr(i-2*r+e),A=ar(3,P),z=6*T,D=lr(r,e);return{coeffs:[[v,_,M,[0,n]],[I,A,ar(3,D),[0,e]]],errorBound:[[d,b,S,0],[B,z,vr(3*(r-e)),0]]}}function gr(t){const[[n,e],[o,r],[c,i]]=t,s=c-2*o,u=lr(c,2*o),f=hr(u,n),l=vr(s+n),a=lr(2*o,2*n),p=i-2*r,h=lr(i,2*r),v=hr(h,e),d=vr(p+e);return{coeffs:[[f,a,[0,n]],[v,lr(2*r,2*e),[0,e]]],errorBound:[[l,0,0],[d,0,0]]}}function mr(t){const[[n,e],[o,r]]=t;return[[lr(o,n),[0,n]],[lr(r,e),[0,e]]]}const xr=Yo,_r=ur,br=fr,{abs:wr}=Math;function Mr(t){const[[n,[,e]],[o,[,r]]]=mr(t),c=br(o),i=n,s=_r(r,n),u=wr(s[1]),f=_r(e,o),l=wr(f[1]),a=xr(f,s);return{coeffs:{vₓ:c,vᵧ:i,v:a},errorBound:{v_:u+l+wr(a[1])}}}const{abs:Sr}=Math,yr=Wo,Cr=ur,Or=Ho;function Nr(t){return[2*t[0],2*t[1]]}const Er=fr,Ir=Nr,Br=ur,kr=Ho,Pr=Yo,{abs:Tr}=Math;function Ar(t){const{coeffs:[[n,e,[,o]],[r,c,[,i]]],errorBound:[[s],[u]]}=gr(t),f=n[1],l=e[1],a=r[1],p=c[1],h=Tr(o),v=Tr(l),d=Tr(f),g=Tr(i),m=Tr(p),x=Tr(a),_=kr(n,c),b=s*m+2*Tr(f*p),w=kr(e,r),M=v*u+2*Tr(l*a),S=Br(i,n),y=g*s+Tr(i*f),C=Br(o,r),O=h*u+Tr(o*a),N=Br(i,e),E=Tr(i*l),I=Br(o,c),B=Tr(o*p),k=kr(n,n),P=2*(s*d+Tr(f*f)),T=kr(n,r),A=s*x+d*u+2*Tr(f*a),z=kr(r,r),D=2*(u*x+Tr(a*a)),q=f*p-l*a,F=f*i-o*a,L=l*i-o*p,j=Pr(_,w),H=Tr(q),W=b+M+H,Y=Pr(S,C),X=Tr(F),Q=y+O+X,V=Pr(N,I),R=Tr(L),U=E+B+R,$=Er(z),Z=D,G=Ir(T),J=2*A,K=Er(k),tt=P,nt=p*q,et=kr(c,j),ot=m*W+2*Tr(nt),rt=2*F*a,ct=Ir(kr(r,Y)),it=2*(u*X+x*Q)+2*Tr(rt),st=nt-rt,ut=Pr(et,ct),ft=ot+it+Tr(st),lt=2*f*F,at=Ir(kr(n,Y)),pt=2*(s*X+d*Q+2*Tr(lt)),ht=l*q,vt=kr(e,j),dt=v*W+2*Tr(ht),gt=lt-ht,mt=Pr(at,vt),xt=pt+dt+Tr(gt),_t=q*L,bt=kr(j,V),wt=W*R+H*U+2*Tr(_t),Mt=F*F,St=kr(Y,Y),yt=2*(Q*X+Tr(Mt)),Ct=_t-Mt;return{coeffs:{vₓₓ:$,vₓᵧ:G,vᵧᵧ:K,vₓ:ut,vᵧ:mt,v:Pr(bt,St)},errorBound:{vₓₓ_:Z,vₓᵧ_:J,vᵧᵧ_:tt,vₓ_:ft,vᵧ_:xt,v_:wt+yt+Tr(Ct)}}}const zr=134217729;function Dr(t,n){const e=t*n,o=zr*t,r=o-(o-t),c=t-r,i=zr*n,s=i-(i-n),u=n-s;return[c*u-(e-r*s-c*s-r*u),e]}const qr=Dr,Fr=Nr,Lr=ur,jr=Ho,Hr=Wo,{abs:Wr}=Math;function Yr(t){return[t[0]/2,t[1]/2]}const{abs:Xr}=Math,Qr=fr,Vr=Nr,Rr=Yr,Ur=ur,$r=Ho,Zr=Yo,Gr=Wo;function Jr(t){const{coeffs:[[n,e,o,[,r]],[c,i,s,[,u]]],errorBound:[[f,l,a],[p,h,v]]}=dr(t),d=o[1],g=e[1],m=n[1],x=s[1],_=i[1],b=c[1],w=Xr(r),M=Xr(d),S=Xr(g),y=Xr(m),C=Xr(u),O=Xr(x),N=Xr(_),E=Xr(b),I=$r(n,s),B=m*x,k=f*O+y*v+2*Xr(B),P=$r(o,c),T=d*b,A=a*E+M*p+2*Xr(T),z=$r(n,i),D=m*_,q=f*N+y*h+2*Xr(D),F=$r(e,i),L=g*_,j=l*N+S*h+2*Xr(L),H=$r(e,c),W=g*b,Y=l*E+S*p+2*Xr(W),X=$r(n,n),Q=m*m,V=Xr(Q),R=f*y+y*f+2*Xr(Q),U=$r(i,i),$=_*_,Z=h*N+N*h+2*Xr($),G=$r(c,c),J=b*b,K=Xr(J),tt=p*E+E*p+2*Xr(J),nt=$r(o,n),et=d*m,ot=a*y+M*f+2*Xr(et),rt=$r(e,e),ct=g*g,it=l*S+S*l+2*Xr(ct),st=$r(s,c),ut=x*b,ft=v*E+O*p+2*Xr(ut),lt=$r(i,c),at=Xr(_*b),pt=h*E+N*p+2*at,ht=$r(e,n),vt=Xr(g*m),dt=l*y+S*f+2*vt,gt=$r(n,c),mt=Xr(m*b),xt=f*E+y*p+2*mt,_t=Ur(u,n),bt=m*u,wt=f*C+Xr(bt),Mt=Ur(r,c),St=r*b,yt=w*p+Xr(St),Ct=Ur(u,e),Ot=g*u,Nt=l*C+Xr(Ot),Et=Ur(r,i),It=r*_,Bt=w*h+Xr(It),kt=$r(e,s),Pt=g*x,Tt=l*O+S*v+2*Xr(Pt),At=$r(o,i),zt=d*_,Dt=a*N+M*h+2*Xr(zt),qt=Ur(u,o),Ft=d*u,Lt=a*C+Xr(Ft),jt=Ur(r,s),Ht=r*x,Wt=w*v+Xr(Ht),Yt=Zr(_t,Mt),Xt=bt-St,Qt=Xr(Xt),Vt=wt+yt+Qt,Rt=Zr(I,P),Ut=Xr(B-T),$t=k+A+Ut,Zt=Zr(z,H),Gt=Xr(D-W),Jt=q+Y+Gt,Kt=Zr(Ct,Et),tn=Xr(Ot-It),nn=Nt+Bt+tn,en=Zr(kt,At),on=Pt-zt,rn=Xr(on),cn=Tt+Dt+rn,sn=Zr(qt,jt),un=Xr(Ft-Ht),fn=Lt+Wt+un,ln=Xr(ut-$),an=Zr(st,U),pn=ft+Z+ln,hn=Xr(et-ct),vn=Zr(nt,rt),dn=ot+it+hn,gn=Xr(W+D),mn=Gr(H,z),xn=Y+q+gn,_n=T+B,bn=Xr(_n),wn=Gr(P,I),Mn=A+k+bn,Sn=Vr(Rt),yn=2*$t,Cn=2*Ut,On=$r(Yt,Yt),Nn=$r(Yt,Rt),En=$r(Yt,Zt),In=$r(Yt,en),Bn=$r(Rt,Rt),kn=$r(Sn,Kt),Pn=$r(Zt,Kt),Tn=Xr(Pn[1]),An=$r(Zt,en),zn=$r(Zt,sn),Dn=Vt*Qt+Qt*Vt+2*Xr(On[1]),qn=Vt*Ut+Qt*$t+2*Xr(Nn[1]),Fn=Vt*Gt+Qt*Jt+2*Xr(En[1]),Ln=Vt*rn+Qt*cn+2*Xr(In[1]),jn=$t*Ut+Ut*$t+2*Xr(Bn[1]),Hn=yn*tn+Cn*nn+2*Xr(kn[1]),Wn=Jt*tn+Gt*nn+2*Tn,Yn=Jt*rn+Gt*cn+2*Xr(An[1]),Xn=Jt*un+Gt*fn+2*Xr(zn[1]),Qn=$r(Qr(c),G),Vn=p*K+E*tt+2*Xr(Qn[1]),Rn=3*y,Un=Ur(3,n),$n=3*f+Rn,Zn=$r(Un,G),Gn=$n*K+Rn*tt+2*Xr(Zn[1]),Jn=3*E,Kn=Ur(-3,c),te=3*p+Jn,ne=$r(Kn,X),ee=te*V+Jn*R+2*Xr(ne[1]),oe=$r(n,X),re=f*V+y*R+2*Xr(oe[1]),ce=-3*Xt,ie=3*Qt,se=Ur(-3,Yt),ue=3*Vt+ie,fe=Zr(se,en),le=Xr(ce-on),ae=ue+cn+le,pe=$r(fe,G),he=ae*K+le*tt+2*Xr(pe[1]),ve=$r(Zt,an),de=Jt*ln+Gt*pn+2*Xr(ve[1]),ge=Gr(pe,ve),me=he+de+Xr(ge[1]),xe=$r(Sn,lt),_e=yn*at+Cn*pt+2*Xr(xe[1]),be=Gr(ge,xe),we=me+_e+Xr(be[1]),Me=$r(fe,X),Se=ae*V+le*R+2*Xr(Me[1]),ye=$r(Zt,vn),Ce=Jt*hn+Gt*dn+2*Xr(ye[1]),Oe=Gr(Me,ye),Ne=Se+Ce+Xr(Oe[1]),Ee=$r(Sn,ht),Ie=yn*vt+Cn*dt+2*Xr(Ee[1]),Be=Gr(Oe,Ee),ke=Ne+Ie+Xr(Be[1]),Pe=Xr(L-_n/2),Te=Zr(F,Rr(wn)),Ae=j+Mn/2+Xr(Te[1]),ze=$r(fe,gt),De=ae*mt+le*xt+2*Xr(ze[1]),qe=$r(Rt,mn),Fe=$t*gn+Ut*xn+2*Xr(qe[1]),Le=Gr(ze,qe),je=De+Fe+Xr(Le[1]),He=$r(Zt,Te),We=Jt*Pe+Gt*Ae+2*Xr(He[1]),Ye=Vr(Zr(He,Le)),Xe=2*(We+je)+Xr(Ye[1]),Qe=Ur(-3,On),Ve=3*Dn+Xr(Qe[1]),Re=Zr(Qe,Vr(In)),Ue=Ve+2*Ln+Xr(Re[1]),$e=Gr(kn,zn),Ze=Hn+Xn+Xr($e[1]),Ge=Gr(Re,$e),Je=Xr(Ge[1]),Ke=Ue+Ze+Je,to=Vr(Zr(Nn,Pn)),no=Xr(to[1]),eo=2*(qn+Wn)+no,oo=Zr(En,Bn),ro=Fn+jn+Xr(oo[1]),co=Gr(oo,An),io=co[1],so=Xr(io),uo=ro+Yn+so,fo=$r(c,Ge),lo=p*Je+E*Ke+2*Xr(fo[1]),ao=$r(i,to),po=h*no+N*eo+2*Xr(ao[1]),ho=$r(s,co),vo=v*so+O*uo+2*Xr(ho[1]),go=Gr(ao,ho),mo=po+vo+Xr(go[1]),xo=Gr(fo,go),_o=lo+mo+Xr(xo[1]),bo=$r(n,Ge),wo=f*Je+y*Ke+2*Xr(bo[1]),Mo=$r(e,to),So=l*no+S*eo+2*Xr(Mo[1]),yo=$r(o,co),Co=a*so+M*uo+2*Xr(yo[1]),Oo=Gr(Mo,yo),No=So+Co+Xr(Oo[1]),Eo=Qr(Gr(bo,Oo)),Io=wo+No+Xr(Eo[1]),Bo=Zr(kn,On),ko=Hn+Dn+Xr(Bo[1]),Po=Zr(Bo,In),To=Xr(Po[1]),Ao=ko+Ln+To,zo=$r(co,sn),Do=uo*un+so*fn+2*Xr(zo[1]),qo=$r(Pn,Kt),Fo=Wn*tn+Tn*nn+2*Xr(qo[1]),Lo=Zr(zo,qo),jo=Do+Fo+Xr(Lo[1]),Ho=$r(Yt,Po),Wo=Vt*To+Qt*Ao+2*Xr(Ho[1]),Yo=Gr(Ho,Lo);return{coeffs:{vₓₓₓ:Qn,vₓₓᵧ:Zn,vₓᵧᵧ:ne,vᵧᵧᵧ:oe,vₓₓ:be,vₓᵧ:Ye,vᵧᵧ:Be,vₓ:xo,vᵧ:Eo,v:Yo},errorBound:{vₓₓₓ_:Vn,vₓₓᵧ_:Gn,vₓᵧᵧ_:ee,vᵧᵧᵧ_:re,vₓₓ_:we,vₓᵧ_:Xe,vᵧᵧ_:ke,vₓ_:_o,vᵧ_:Io,v_:Wo+jo+Xr(Yo[1])}}}const Kr=Dr,tc=Nr,nc=ur,ec=Ho,oc=Wo,{abs:rc}=Math,cc=Wo,ic=ur,sc=Ho,{abs:uc}=Math,fc=Dr,lc=Nr,ac=ur,pc=Ho,hc=Wo,{abs:vc}=Math,dc=Dr,gc=Nr,mc=ur,xc=Ho,_c=Wo,{abs:bc}=Math,wc=Wo,Mc=ur,Sc=Ho,{abs:yc}=Math,Cc=Dr,Oc=Nr,Nc=ur,Ec=Ho,Ic=Wo,{abs:Bc}=Math,kc=Dr,Pc=Nr,Tc=ur,Ac=Ho,zc=Wo,{abs:Dc}=Math,qc=at,Fc=yt,Lc=dt,jc=Ct;function Hc(t){if(4===t.length)return Wc(t);if(3===t.length)return Yc(t);if(2===t.length)return Xc(t);if(1===t.length)return function(t){const[[n,e]]=t;return[[[n]],[[e]]]}(t);throw new Error("The given bezier curve must be of order <= cubic.")}function Wc(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[pt(qc(s,n),Lc(3,qc(o,c))),Lc(3,jc(Fc(c,n),-2*o)),Lc(3,qc(o,n)),[n]].map(ge),[pt(qc(u,e),Lc(3,qc(r,i))),Lc(3,jc(Fc(i,e),-2*r)),Lc(3,qc(r,e)),[e]].map(ge)]}function Yc(t){const[[n,e],[o,r],[c,i]]=t;return[[jc(Fc(c,n),-2*o),qc(2*o,2*n),[n]],[jc(Fc(i,e),-2*r),qc(2*r,2*e),[e]]]}function Xc(t){const[[n,e],[o,r]]=t;return[[qc(o,n),[n]],[qc(r,e),[e]]]}const Qc=dt,Vc=xt;function Rc(t){const[[n,[e]],[o,[r]]]=t;if(0!==bt(n)||0!==bt(o))return{vₓ:Vc(o),vᵧ:n,v:ge(_t(Qc(e,o),Qc(r,n)))}}const Uc=dt,$c=gt,Zc=pt;function Gc(t,n){const e=Xc(t),[[o,[r]],[c,[i]]]=Xc(n),{vₓ:s,vᵧ:u,v:f}=Rc(e),l=$c(o,s),a=$c(c,u),p=Zc(l,a),h=Uc(r,s),v=Uc(i,u),d=Zc(h,v);return[p,Zc(d,f)].map(ge)}function Jc(t){const n=[];for(let e=0;e<t.length;e++)n.push(2*t[e]);return n}const Kc=dt,ti=Jc,ni=_t,ei=gt,oi=xt;function ri(t){const[[n,e,[o]],[r,c,[i]]]=t;if(0===bt(n)&&0===bt(r))return Rc([[e,[o]],[c,[i]]]);const s=ei(n,c),u=ei(e,r),f=Kc(i,n),l=Kc(o,r),a=Kc(i,e),p=Kc(o,c),h=ei(n,n),v=ei(n,r),d=ei(r,r),g=ni(s,u),m=ni(f,l),x=ni(a,p),_=ge(oi(d)),b=ge(ti(v)),w=ge(oi(h)),M=ei(c,g),S=ti(ei(r,m)),y=ge(ni(M,S)),C=ti(ei(n,m)),O=ei(e,g),N=ge(ni(C,O)),E=ei(g,x),I=ei(m,m);return{vₓₓ:_,vₓᵧ:b,vᵧᵧ:w,vₓ:y,vᵧ:N,v:ge(ni(E,I))}}const ci=Ae,ii=dt,si=gt,ui=pt,fi=Jc;function li(t,n){const e=Yc(t);if(0===bt(e[0][0])&&0===bt(e[1][0]))return Gc([t[0],t[2]],n);const[[o,[r]],[c,[i]]]=Xc(n),{vₓₓ:s,vₓᵧ:u,vᵧᵧ:f,vₓ:l,vᵧ:a,v:p}=ri(e),h=ci(r,r),v=ii(r,o),d=ci(r,i),g=ii(r,c),m=si(o,o),x=ii(i,o),_=si(o,c),b=ci(i,i),w=ii(i,c),M=si(c,c),S=si(m,s),y=si(M,f),C=si(_,u),O=ui(S,y),N=ui(O,C),E=si(v,s),I=si(w,f),B=ui(g,x),k=si(B,u),P=fi(ui(E,I)),T=ui(P,k),A=si(o,l),z=si(c,a),D=ui(A,z),q=ui(T,D),F=si(h,s),L=si(d,u),j=si(b,f),H=ui(F,L),W=ui(H,j),Y=ii(r,l),X=ii(i,a),Q=ui(Y,X),V=ui(W,Q);return[N,q,ui(V,p)].map(ge)}const ai=gt,pi=at,hi=vt,vi=yt;function di(t,n=!1){const[e,o,r,c]=t;if(!n){const[t,n]=e,[i,s]=o,[u,f]=r,[l,a]=c;return[e,[mt(_t(hi(vi(i/4,u/4),3),vi(t/4,l/4))),mt(_t(hi(vi(s/4,f/4),3),vi(n/4,a/4)))],c]}const i=function(t,n){const[[e,o],[r,c]]=t,[[i,s],[u,f]]=n,l=pi(r,e),a=pi(c,o),p=pi(u,i),h=pi(f,s),v=_t(ai(p,a),ai(h,l));if(0===bt(v))return;const d=pi(i,e),g=pi(s,o),m=mt(_t(ai(g,l),ai(d,a)))/mt(v);return[i+m*mt(p),s+m*mt(h)]}([e,o],[c,r]);if(void 0!==i)return[e,i,c]}const gi=dt,mi=gt,xi=pt,_i=_t,bi=xt,wi=Jc;function Mi(t){const[[n,e,o,[r]],[c,i,s,[u]]]=t;if(0===bt(n)&&0===bt(c))return ri([[e,o,[r]],[i,s,[u]]]);const f=mi(n,s),l=mi(o,c),a=mi(n,i),p=mi(e,i),h=mi(e,c),v=mi(n,n),d=mi(i,i),g=mi(c,c),m=mi(o,n),x=mi(e,e),_=mi(s,c),b=mi(i,c),w=mi(e,n),M=mi(n,c),S=gi(u,n),y=gi(r,c),C=gi(u,e),O=gi(r,i),N=mi(e,s),E=mi(o,i),I=gi(u,o),B=gi(r,s),k=_i(S,y),P=_i(f,l),T=_i(a,h),A=_i(C,O),z=_i(N,E),D=_i(I,B),q=_i(_,d),F=_i(m,x),L=xi(h,a),j=xi(l,f),H=wi(P),W=mi(k,k),Y=mi(k,P),X=mi(k,T),Q=mi(k,z),V=mi(P,P),R=mi(H,A),U=mi(T,A),$=mi(T,z),Z=mi(T,D),G=ge(mi(bi(c),g)),J=ge(mi(gi(3,n),g)),K=ge(mi(gi(-3,c),v)),tt=ge(mi(n,v)),nt=_i(gi(-3,k),z),et=mi(nt,g),ot=mi(T,q),rt=xi(et,ot),ct=mi(H,b),it=ge(xi(rt,ct)),st=mi(nt,v),ut=mi(T,F),ft=xi(st,ut),lt=mi(H,w),at=ge(xi(ft,lt)),pt=_i(p,function(t){const n=[];for(let e=0;e<t.length;e++)n.push(.5*t[e]);return n}(j)),ht=mi(nt,M),vt=mi(P,L),dt=xi(ht,vt),gt=mi(T,pt),mt=ge(wi(_i(gt,dt))),xt=gi(-3,W),_t=_i(xt,wi(Q)),wt=xi(R,Z),Mt=xi(_t,wt),St=wi(_i(Y,U)),yt=_i(X,V),Ct=xi(yt,$),Ot=mi(c,Mt),Nt=mi(i,St),Et=mi(s,Ct),It=xi(Nt,Et),Bt=ge(xi(Ot,It)),kt=mi(n,Mt),Pt=mi(e,St),Tt=mi(o,Ct),At=xi(Pt,Tt),zt=ge(bi(xi(kt,At))),Dt=_i(R,W),qt=_i(Dt,Q),Ft=mi(Ct,D),Lt=mi(U,A),jt=_i(Ft,Lt),Ht=mi(k,qt);return{vₓₓₓ:G,vₓₓᵧ:J,vₓᵧᵧ:K,vᵧᵧᵧ:tt,vₓₓ:it,vₓᵧ:mt,vᵧᵧ:at,vₓ:Bt,vᵧ:zt,v:ge(xi(Ht,jt))}}const Si=Ae,yi=dt,Ci=gt,Oi=pt,Ni=Jc;function Ei(t,n){const e=Wc(t);if(0===bt(e[0][0])&&0===bt(e[1][0]))return li(di(t),n);const[[o,[r]],[c,[i]]]=Xc(n),{vₓₓₓ:s,vₓₓᵧ:u,vₓᵧᵧ:f,vᵧᵧᵧ:l,vₓₓ:a,vₓᵧ:p,vᵧᵧ:h,vₓ:v,vᵧ:d,v:g}=Mi(e),m=Si(r,r),x=yi(r,o),_=Si(r,i),b=yi(r,c),w=Ci(o,o),M=yi(i,o),S=Ci(o,c),y=Si(i,i),C=yi(i,c),O=Ci(c,c),N=yi(r,s),E=Ci(Si(3,r),s),I=yi(r,u),B=yi(i,u),k=yi(r,f),P=yi(i,f),T=yi(i,l),A=Ci(Si(3,i),l),z=Ci(o,s),D=Ci(o,f),q=Ci(c,u),F=Ci(c,l),L=Oi(z,q),j=Oi(D,F),H=Ci(w,L),W=Ci(O,j),Y=Oi(H,W),X=Oi(E,B),Q=Ni(Oi(I,P)),V=Oi(k,A),R=Oi(X,a),U=Oi(Q,p),$=Oi(V,h),Z=Ci(w,R),G=Ci(S,U),J=Ci(O,$),K=Oi(Z,G),tt=Oi(K,J),nt=Ni(Oi(B,a)),et=Ni(Oi(k,h)),ot=Oi(E,nt),rt=Oi(A,et),ct=Oi(I,p),it=Oi(P,p),st=Ci(x,ot),ut=Ci(C,rt),ft=Ci(b,ct),lt=Ci(M,it),at=Ci(o,v),pt=Ci(c,d),ht=Oi(st,ut),vt=Oi(ft,lt),dt=Oi(ht,vt),gt=Oi(at,pt),mt=Oi(dt,gt),xt=Oi(N,B),_t=Oi(T,k),wt=Oi(xt,a),Mt=Oi(_t,h),St=Ci(m,wt),yt=Ci(y,Mt),Ct=Ci(_,p),Ot=Oi(St,yt),Nt=Oi(Ot,Ct),Et=yi(r,v),It=yi(i,d),Bt=Oi(Et,It),kt=Oi(Nt,Bt);return[Y,tt,mt,Oi(kt,g)].map(ge)}const Ii=dt,Bi=gt,ki=pt;function Pi(t,n){const e=Xc(t),[[o,r,[c]],[i,s,[u]]]=Yc(n);if(0===bt(o)&&0===bt(i))return Gc(t,[n[0],n[2]]);const{vₓ:f,vᵧ:l,v:a}=Rc(e),p=Bi(o,f),h=Bi(i,l),v=ki(p,h),d=Bi(r,f),g=Bi(s,l),m=ki(d,g),x=Ii(c,f),_=Ii(u,l),b=ki(x,_);return[v,m,ki(b,a)].map(ge)}const Ti=Ae,Ai=dt,zi=gt,Di=pt,qi=Jc;function Fi(t,n){const e=Yc(t);if(0===bt(e[0][0])&&0===bt(e[1][0]))return Pi([t[0],t[2]],n);const[[o,r,[c]],[i,s,[u]]]=Yc(n);if(0===bt(o)&&0===bt(i))return li(t,[n[0],n[2]]);const{vₓₓ:f,vₓᵧ:l,vᵧᵧ:a,vₓ:p,vᵧ:h,v}=ri(e),d=Ti(c,c),g=Ai(c,r),m=Ai(c,o),x=Ti(c,u),_=Ai(c,s),b=Ai(c,i),w=zi(r,r),M=zi(r,o),S=Ai(u,r),y=zi(r,s),C=zi(r,i),O=zi(o,s),N=zi(o,o),E=Ai(u,o),I=zi(o,i),B=Ti(u,u),k=Ai(u,s),P=Ai(u,i),T=zi(s,s),A=zi(s,i),z=zi(i,i),D=zi(N,f),q=zi(I,l),F=zi(z,a),L=Di(D,q),j=Di(L,F),H=zi(M,f),W=zi(A,a),Y=Di(C,O),X=zi(Y,l),Q=qi(Di(H,W)),V=Di(Q,X),R=Di(qi(m),w),U=Di(qi(P),T),$=Di(b,y),Z=Di($,E),G=zi(R,f),J=zi(U,a),K=zi(Z,l),tt=zi(o,p),nt=zi(i,h),et=Di(G,J),ot=Di(et,K),rt=Di(tt,nt),ct=Di(ot,rt),it=zi(g,f),st=zi(k,a),ut=Di(_,S),ft=zi(ut,l),lt=qi(Di(it,st)),at=zi(r,p),pt=zi(s,h),ht=Di(lt,ft),vt=Di(at,pt),dt=Di(ht,vt),gt=zi(d,f),mt=zi(x,l),xt=zi(B,a),_t=Ai(c,p),wt=Ai(u,h),Mt=Di(gt,mt),St=Di(Mt,xt),yt=Di(_t,wt),Ct=Di(St,yt);return[j,V,ct,dt,Di(Ct,v)].map(ge)}const Li=Ae,ji=dt,Hi=gt,Wi=pt,Yi=Jc;function Xi(t,n){const e=Wc(t);if(0===bt(e[0][0])&&0===bt(e[1][0]))return Fi(di(t),n);const[[o,r,[c]],[i,s,[u]]]=Yc(n);if(0===bt(o)&&0===bt(i))return Ei(t,[n[0],n[2]]);const{vₓₓₓ:f,vₓₓᵧ:l,vₓᵧᵧ:a,vᵧᵧᵧ:p,vₓₓ:h,vₓᵧ:v,vᵧᵧ:d,vₓ:g,vᵧ:m,v:x}=Mi(e),_=Li(c,c),b=ji(c,r),w=ji(c,o),M=Li(c,u),S=ji(c,s),y=ji(c,i),C=Hi(r,r),O=Hi(r,o),N=ji(u,r),E=Hi(r,s),I=Hi(r,i),B=Hi(o,s),k=Hi(o,o),P=ji(u,o),T=Hi(o,i),A=Li(u,u),z=ji(u,s),D=ji(u,i),q=Hi(s,s),F=Hi(s,i),L=Hi(i,i),j=Hi(o,f),H=Hi(o,a),W=Hi(i,l),Y=Hi(i,p),X=Wi(j,W),Q=Wi(H,Y),V=Hi(k,X),R=Hi(L,Q),U=Wi(V,R),$=Wi(w,C),Z=Wi(D,q),G=Wi(Yi(w),C),J=Wi(Yi(D),q),K=Wi(Yi(E),P),tt=Wi(Yi(E),y),nt=Wi(Yi(P),E),et=Wi(ji(6,w),C),ot=Wi(ji(6,D),q),rt=Wi(I,B),ct=Wi(y,P),it=Wi(Yi(N),S),st=Wi(Yi(S),N),ut=Wi(y,E),ft=Wi(ut,P),lt=ji(3,k),at=ji(3,L),pt=Hi(lt,f),ht=Hi(k,l),vt=Yi(Hi(T,l)),dt=Yi(Hi(T,a)),gt=Hi(L,a),mt=Hi(at,p),xt=Wi(pt,vt),_t=Wi(ht,dt),wt=Wi(xt,gt),Mt=Wi(_t,mt),St=Hi(r,wt),yt=Hi(s,Mt),Ct=Wi(St,yt),Ot=Hi(i,G),Nt=Hi(i,tt),Et=Hi(o,K),It=Hi(o,J),Bt=Hi(ji(3,o),$),kt=Hi(ji(3,i),Z),Pt=Wi(Ot,Et),Tt=Wi(Nt,It),At=Hi(Bt,f),zt=Hi(kt,p),Dt=Hi(Pt,l),qt=Hi(Tt,a),Ft=Wi(At,zt),Lt=Wi(Dt,qt),jt=Hi(k,h),Ht=Hi(L,d),Wt=Hi(T,v),Yt=Wi(jt,Ht),Xt=Wi(Ft,Lt),Qt=Wi(Yt,Wt),Vt=Wi(Xt,Qt),Rt=Hi(r,et),Ut=Hi(s,ot),$t=ji(2*c,rt),Zt=Hi(Yi(s),ct),Gt=Hi(r,nt),Jt=Hi(r,J),Kt=Wi($t,Gt),tn=Wi(Zt,Jt),nn=Hi(F,d),en=Hi(O,h),on=Hi(rt,v),rn=Wi(nn,en),cn=Hi(Rt,f),sn=Hi(Kt,l),un=Hi(Ut,p),fn=Hi(tn,a),ln=Wi(cn,un),an=Wi(sn,fn),pn=Wi(ln,an),hn=Wi(Yi(rn),on),vn=Wi(pn,hn),dn=Hi(Li(3,c),$),gn=Hi(Li(3,u),Z),mn=ji(c,tt),xn=ji(c,J),_n=ji(u,G),bn=ji(u,K),wn=Wi(mn,_n),Mn=Wi(xn,bn),Sn=Hi(dn,f),yn=Hi(gn,p),Cn=Hi(wn,l),On=Hi(Mn,a),Nn=Hi(G,h),En=Hi(J,d),In=Hi(ft,v),Bn=Hi(o,g),kn=Hi(i,m),Pn=Wi(Sn,yn),Tn=Wi(Cn,On),An=Wi(Nn,En),zn=Wi(Pn,Tn),Dn=Wi(An,In),qn=Wi(Bn,kn),Fn=Wi(zn,Dn),Ln=Wi(Fn,qn),jn=Hi(Li(3,c),b),Hn=Hi(Li(3,u),z),Wn=ji(c,it),Yn=ji(u,st),Xn=Hi(b,h),Qn=Hi(z,d),Vn=Hi(S,v),Rn=Hi(N,v),Un=Yi(Wi(Xn,Qn)),$n=Wi(Vn,Rn),Zn=Hi(r,g),Gn=Hi(s,m),Jn=Hi(jn,f),Kn=Hi(Hn,p),te=Hi(Wn,l),ne=Hi(Yn,a),ee=Wi(Jn,Kn),oe=Wi(te,ne),re=Wi(ee,oe),ce=Wi(Un,$n),ie=Wi(Zn,Gn),se=Wi(re,ce),ue=Wi(se,ie),fe=ji(c,f),le=ji(c,a),ae=ji(u,l),pe=ji(u,p),he=Wi(fe,ae),ve=Wi(le,pe),de=Wi(he,h),me=Wi(ve,d),xe=Hi(_,de),_e=Hi(A,me),be=Hi(M,v),we=ji(c,g),Me=ji(u,m),Se=Wi(xe,_e),ye=Wi(Se,be),Ce=Wi(we,Me),Oe=Wi(ye,Ce);return[U,Ct,Vt,vn,Ln,ue,Wi(Oe,x)].map(ge)}const Qi=dt,Vi=gt,Ri=pt;function Ui(t,n){const e=Xc(t),[[o,r,c,[i]],[s,u,f,[l]]]=Wc(n);if(0===bt(o)&&0===bt(s))return Pi(t,di(n));const{vₓ:a,vᵧ:p,v:h}=Rc(e),v=Vi(o,a),d=Vi(s,p),g=Ri(v,d),m=Vi(r,a),x=Vi(u,p),_=Ri(m,x),b=Vi(c,a),w=Vi(f,p),M=Ri(b,w),S=Qi(i,a),y=Qi(l,p),C=Ri(S,y);return[g,_,M,Ri(C,h)].map(ge)}const $i=Ae,Zi=dt,Gi=gt,Ji=pt,Ki=Jc;function ts(t,n){const e=Yc(t);if(0===bt(e[0][0])&&0===bt(e[1][0]))return Ui([t[0],t[2]],n);const[[o,r,c,[i]],[s,u,f,[l]]]=Wc(n);if(0===bt(o)&&0===bt(s))return Fi(t,di(n));const{vₓₓ:a,vₓᵧ:p,vᵧᵧ:h,vₓ:v,vᵧ:d,v:g}=ri(e),m=$i(i,i),x=Zi(i,c),_=Zi(i,r),b=Zi(i,o),w=$i(i,l),M=Zi(i,f),S=Zi(i,u),y=Zi(i,s),C=Gi(c,c),O=Gi(c,r),N=Gi(c,o),E=Zi(l,c),I=Gi(c,f),B=Gi(c,u),k=Gi(c,s),P=Gi(r,f),T=Gi(r,r),A=Gi(r,o),z=Zi(l,r),D=Gi(r,u),q=Gi(r,s),F=Gi(o,o),L=Zi(l,o),j=Gi(o,f),H=Gi(o,u),W=Gi(o,s),Y=$i(l,l),X=Zi(l,f),Q=Zi(l,u),V=Zi(l,s),R=Gi(f,f),U=Gi(f,u),$=Gi(s,s),Z=Gi(u,u),G=Gi(u,s),J=Gi(f,s),K=Gi(F,a),tt=Gi(W,p),nt=Gi($,h),et=Ji(K,tt),ot=Ji(et,nt),rt=Gi(A,a),ct=Gi(G,h),it=Ji(rt,ct),st=Ji(q,H),ut=Gi(st,p),ft=Ji(Ki(it),ut),lt=Ji(Ki(N),T),at=Ji(Ki(J),Z),pt=Ji(k,D),ht=Ji(pt,j),vt=Gi(lt,a),dt=Gi(at,h),gt=Ji(vt,dt),mt=Gi(ht,p),xt=Ji(gt,mt),_t=Ji(b,O),wt=Ji(V,U),Mt=Ji(y,B),St=Ji(P,L),yt=Ji(Mt,St),Ct=Gi(_t,a),Ot=Gi(wt,h),Nt=Ki(Ji(Ct,Ot)),Et=Gi(yt,p),It=Gi(o,v),Bt=Gi(s,d),kt=Ji(It,Bt),Pt=Ji(Nt,Et),Tt=Ji(Pt,kt),At=Ji(Ki(_),C),zt=Ji(Ki(Q),R),Dt=Ji(S,I),qt=Ji(Dt,z),Ft=Gi(At,a),Lt=Gi(zt,h),jt=Gi(qt,p),Ht=Ji(Ft,Lt),Wt=Ji(Ht,jt),Yt=Gi(r,v),Xt=Gi(u,d),Qt=Ji(Yt,Xt),Vt=Ji(Wt,Qt),Rt=Gi(x,a),Ut=Gi(X,h),$t=Ji(M,E),Zt=Gi($t,p),Gt=Ki(Ji(Rt,Ut)),Jt=Ji(Gt,Zt),Kt=Gi(c,v),tn=Gi(f,d),nn=Ji(Kt,tn),en=Ji(Jt,nn),on=Gi(m,a),rn=Gi(w,p),cn=Gi(Y,h),sn=Zi(i,v),un=Zi(l,d),fn=Ji(on,rn),ln=Ji(fn,cn),an=Ji(sn,un),pn=Ji(ln,an);return[ot,ft,xt,Tt,Vt,en,Ji(pn,g)].map(ge)}const ns=Ae,es=dt,os=gt,rs=pt,cs=Jc,is=[[function(t,n){const{coeffs:{vₓ:e,vᵧ:o,v:r},errorBound:{v_:c}}=Mr(t),[[i,[,s]],[u,[,f]]]=mr(n),l=i[1],a=u[1],p=e[1],h=o[1],v=r[1],d=l*p,g=2*Sr(d),m=Or(i,e),x=a*h,_=2*Sr(x),b=Or(u,o),w=d+x,M=yr(m,b),S=g+_+Sr(w),y=s*p,C=Cr(s,e),O=Sr(y),N=f*h,E=Cr(f,o),I=Sr(N),B=y+N,k=yr(C,E),P=O+I+Sr(B);return{coeffs:[M,yr(k,r)],errBound:[S,P+c+Sr(B+v)]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:o,v:r},errorBound:{v_:c}}=Mr(t),{coeffs:[[i,s,[,u]],[f,l,[,a]]],errorBound:[[p],[h]]}=gr(n),v=e[1],d=o[1],g=r[1],m=uc(v),x=uc(d),_=s[1],b=i[1],w=l[1],M=f[1],S=b*v,y=sc(i,e),C=p*m+2*uc(S),O=M*d,N=sc(f,o),E=h*x+2*uc(O),I=S+O,B=cc(y,N),k=C+E+uc(I),P=_*v,T=sc(s,e),A=2*uc(P),z=w*d,D=sc(l,o),q=2*uc(z),F=P+z,L=cc(T,D),j=A+q+uc(F),H=ic(u,e),W=u*v,Y=uc(W),X=ic(a,o),Q=a*d,V=uc(Q),R=W+Q,U=cc(H,X),$=Y+V+uc(R),Z=R+g;return{coeffs:[B,L,cc(U,r)],errBound:[k,j,$+c+uc(Z)]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:o,v:r},errorBound:{v_:c}}=Mr(t),{coeffs:[[i,s,u,[,f]],[l,a,p,[,h]]],errorBound:[[v,d,g],[m,x,_]]}=dr(n),b=yc(e[1]),w=yc(o[1]),M=Sc(i,e),S=v*b+2*yc(M[1]),y=Sc(l,o),C=m*w+2*yc(y[1]),O=wc(M,y),N=S+C+yc(O[1]),E=Sc(s,e),I=d*b+2*yc(E[1]),B=Sc(a,o),k=x*w+2*yc(B[1]),P=wc(E,B),T=I+k+yc(P[1]),A=Sc(u,e),z=g*b+2*yc(A[1]),D=Sc(p,o),q=_*w+2*yc(D[1]),F=wc(A,D),L=z+q+yc(F[1]),j=Mc(f,e),H=yc(j[1]),W=Mc(h,o),Y=yc(W[1]),X=wc(j,W),Q=H+Y+yc(X[1]),V=wc(X,r);return{coeffs:[O,P,F,V],errBound:[N,T,L,Q+c+yc(V[1])]}}],[function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:o,vᵧᵧ:r,vₓ:c,vᵧ:i,v:s},errorBound:{vₓₓ_:u,vₓᵧ_:f,vᵧᵧ_:l,vₓ_:a,vᵧ_:p,v_:h}}=Ar(t),[[v,[,d]],[g,[,m]]]=mr(n),x=e[1],_=o[1],b=r[1],w=c[1],M=i[1],S=s[1],y=Wr(x),C=Wr(_),O=Wr(b),N=v[1],E=g[1],I=Wr(d),B=Wr(N),k=Wr(m),P=Wr(E),T=d*d,A=d*N,z=d*m,D=d*E,q=N*N,F=N*m,L=N*E,j=m*m,H=m*E,W=E*E,Y=qr(d,d),X=Lr(d,v),Q=Wr(A),V=qr(d,m),R=Lr(d,g),U=Wr(D),$=Wr(q),Z=jr(v,v),G=2*$,J=Lr(m,v),K=Wr(F),tt=Wr(L),nt=jr(v,g),et=2*tt,ot=qr(m,m),rt=Lr(m,g),ct=Wr(H),it=Wr(W),st=jr(g,g),ut=2*it,ft=q*x,lt=jr(Z,e),at=G*y+$*u+2*Wr(ft),pt=W*b,ht=jr(st,r),vt=ut*O+it*l+2*Wr(pt),dt=L*_,gt=jr(nt,o),mt=et*C+tt*f+2*Wr(dt),xt=ft+pt,_t=Hr(lt,ht),bt=at+vt+Wr(xt),wt=xt+dt,Mt=Hr(_t,gt),St=bt+mt+Wr(wt),yt=A*x,Ct=jr(X,e),Ot=Q*(y+u)+2*Wr(yt),Nt=H*b,Et=jr(rt,r),It=ct*(O+l)+2*Wr(Nt),Bt=D+F,kt=Hr(R,J),Pt=U+K+Wr(Bt),Tt=Bt*_,At=jr(kt,o),zt=Pt*C+Wr(Bt)*f+2*Wr(Tt),Dt=2*(yt+Nt),qt=Fr(Hr(Ct,Et)),Ft=2*(Ot+It)+Wr(Dt),Lt=Dt+Tt,jt=Hr(qt,At),Ht=Ft+zt+Wr(Lt),Wt=N*w,Yt=jr(v,c),Xt=B*a+2*Wr(Wt),Qt=E*M,Vt=jr(g,i),Rt=P*p+2*Wr(Qt),Ut=Wt+Qt,$t=Hr(Yt,Vt),Zt=Xt+Rt+Wr(Ut),Gt=Lt+Ut,Jt=Hr(jt,$t),Kt=Ht+Zt+Wr(Gt),tn=T*x,nn=jr(Y,e),en=2*Wr(tn),on=z*_,rn=jr(V,o),cn=2*Wr(on),sn=j*b,un=jr(ot,r),fn=2*Wr(sn),ln=tn+on,an=Hr(nn,rn),pn=en+cn+Wr(ln),hn=ln+sn,vn=Hr(an,un),dn=pn+fn+Wr(hn),gn=d*w,mn=Lr(d,c),xn=I*a+Wr(gn),_n=m*M,bn=Lr(m,i),wn=k*p+Wr(_n),Mn=gn+_n,Sn=Hr(mn,bn),yn=xn+wn+Wr(Mn),Cn=hn+Mn,On=Hr(vn,Sn),Nn=dn+yn+Wr(Cn),En=Cn+S;return{coeffs:[Mt,Jt,Hr(On,s)],errBound:[St,Kt,Nn+h+Wr(En)]}},function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:o,vᵧᵧ:r,vₓ:c,vᵧ:i,v:s},errorBound:{vₓₓ_:u,vₓᵧ_:f,vᵧᵧ_:l,vₓ_:a,vᵧ_:p,v_:h}}=Ar(t),{coeffs:[[v,d,[,g]],[m,x,[,_]]],errorBound:[[b],[w]]}=gr(n),M=e[1],S=o[1],y=r[1],C=c[1],O=i[1],N=s[1],E=vc(M),I=vc(S),B=vc(y),k=vc(C),P=vc(O),T=d[1],A=v[1],z=x[1],D=m[1],q=vc(g),F=vc(T),L=vc(A),j=vc(_),H=vc(z),W=vc(D),Y=g*g,X=g*T,Q=g*A,V=g*_,R=g*z,U=g*D,$=T*T,Z=T*A,G=T*_,J=T*z,K=T*D,tt=A*z,nt=A*A,et=A*_,ot=A*D,rt=_*_,ct=_*z,it=_*D,st=z*z,ut=z*D,ft=D*D,lt=vc(Y),at=vc(V),pt=vc(rt),ht=fc(g,g),vt=ac(g,d),dt=vc(X),gt=ac(g,v),mt=vc(Q),xt=fc(g,_),_t=ac(g,x),bt=vc(R),wt=ac(g,m),Mt=vc(U),St=pc(d,d),yt=2*vc($),Ct=pc(d,v),Ot=vc(Z),Nt=F*b+2*Ot,Et=ac(_,d),It=vc(G),Bt=pc(d,x),kt=2*vc(J),Pt=pc(d,m),Tt=F*w+2*vc(K),At=pc(v,x),zt=b*H+2*vc(tt),Dt=pc(v,v),qt=vc(nt),Ft=2*(b*L+qt),Lt=ac(_,v),jt=vc(et),Ht=pc(v,m),Wt=vc(ot),Yt=b*W+L*w+2*Wt,Xt=fc(_,_),Qt=ac(_,x),Vt=vc(ct),Rt=ac(_,m),Ut=vc(it),$t=pc(x,x),Zt=2*vc(st),Gt=pc(x,m),Jt=vc(ut),Kt=H*w+2*Jt,tn=pc(m,m),nn=vc(ft),en=2*(w*W+nn),on=nt*M,rn=pc(Dt,e),cn=Ft*E+qt*u+2*vc(on),sn=ot*S,un=pc(Ht,o),fn=Yt*I+Wt*f+2*vc(sn),ln=ft*y,an=pc(tn,r),pn=en*B+nn*l+2*vc(ln),hn=on+sn,vn=hc(rn,un),dn=cn+fn+vc(hn),gn=hn+ln,mn=hc(vn,an),xn=dn+pn+vc(gn),_n=Z*M,bn=pc(Ct,e),wn=Nt*E+Ot*u+2*vc(_n),Mn=ut*y,Sn=pc(Gt,r),yn=Kt*B+Jt*l+2*vc(Mn),Cn=K+tt,On=hc(Pt,At),Nn=vc(Cn),En=Tt+zt+Nn,In=Cn*S,Bn=pc(On,o),kn=En*I+Nn*f+2*vc(In),Pn=2*(_n+Mn),Tn=lc(hc(bn,Sn)),An=2*(wn+yn)+vc(Pn),zn=Pn+In,Dn=hc(Tn,Bn),qn=An+kn+vc(zn),Fn=2*Q+$,Ln=vc(Fn),jn=hc(lc(gt),St),Hn=2*mt+yt+vc(Fn),Wn=2*it+st,Yn=vc(Wn),Xn=hc(lc(Rt),$t),Qn=2*Ut+Zt+vc(Wn),Vn=U+J,Rn=hc(wt,Bt),Un=Mt+kt+vc(Vn),$n=Vn+et,Zn=hc(Rn,Lt),Gn=vc($n),Jn=Un+jt+Gn,Kn=Fn*M,te=pc(jn,e),ne=Hn*E+Ln*u+2*vc(Kn),ee=Wn*y,oe=pc(Xn,r),re=Qn*B+Yn*l+2*vc(ee),ce=$n*S,ie=pc(Zn,o),se=Jn*I+Gn*f+2*vc(ce),ue=A*C,fe=pc(v,c),le=b*k+L*a+2*vc(ue),ae=D*O,pe=pc(m,i),he=w*P+W*p+2*vc(ae),ve=Kn+ee,de=hc(te,oe),ge=ne+re+vc(ve),me=ve+ce,xe=hc(de,ie),_e=ge+se+vc(me),be=ue+ae,we=hc(fe,pe),Me=le+he+vc(be),Se=me+be,ye=hc(xe,we),Ce=_e+Me+vc(Se),Oe=X*M,Ne=pc(vt,e),Ee=dt*(E+u)+2*vc(Oe),Ie=ct*y,Be=pc(Qt,r),ke=Vt*(B+l)+2*vc(Ie),Pe=R+G,Te=hc(_t,Et),Ae=vc(Pe),ze=bt+It+Ae,De=Pe*S,qe=pc(Te,o),Fe=ze*I+Ae*f+2*vc(De),Le=2*(Oe+Ie),je=lc(hc(Ne,Be)),He=2*(Ee+ke)+vc(Le),We=T*C,Ye=pc(d,c),Xe=F*a+2*vc(We),Qe=z*O,Ve=pc(x,i),Re=H*p+2*vc(Qe),Ue=Le+De,$e=hc(je,qe),Ze=He+Fe+vc(Ue),Ge=We+Qe,Je=hc(Ye,Ve),Ke=Xe+Re+vc(Ge),to=Ue+Ge,no=hc($e,Je),eo=Ze+Ke+vc(to),oo=Y*M,ro=pc(ht,e),co=lt*u+2*vc(oo),io=V*S,so=pc(xt,o),uo=at*f+2*vc(io),fo=rt*y,lo=pc(Xt,r),ao=pt*l+2*vc(fo),po=g*C,ho=ac(g,c),vo=q*a+vc(po),go=_*O,mo=ac(_,i),xo=j*p+vc(go),_o=oo+io,bo=hc(ro,so),wo=co+uo+vc(_o),Mo=_o+fo,So=hc(bo,lo),yo=wo+ao+vc(Mo),Co=po+go,Oo=hc(ho,mo),No=vo+xo+vc(Co),Eo=Mo+Co,Io=hc(So,Oo),Bo=yo+No+vc(Eo),ko=Eo+N;return{coeffs:[mn,Dn,ye,no,hc(Io,s)],errBound:[xn,qn,Ce,eo,Bo+h+vc(ko)]}},function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:o,vᵧᵧ:r,vₓ:c,vᵧ:i,v:s},errorBound:{vₓₓ_:u,vₓᵧ_:f,vᵧᵧ_:l,vₓ_:a,vᵧ_:p,v_:h}}=Ar(t),{coeffs:[[v,d,g,[,m]],[x,_,b,[,w]]],errorBound:[[M,S,y],[C,O,N]]}=dr(n),E=e[1],I=o[1],B=r[1],k=c[1],P=i[1],T=s[1],A=Bc(E),z=Bc(I),D=Bc(B),q=Bc(k),F=Bc(P),L=g[1],j=d[1],H=v[1],W=b[1],Y=_[1],X=x[1],Q=Bc(m),V=Bc(L),R=Bc(j),U=Bc(H),$=Bc(w),Z=Bc(W),G=Bc(Y),J=Bc(X),K=m*m,tt=m*L,nt=m*j,et=m*H,ot=m*w,rt=m*W,ct=m*Y,it=m*X,st=L*L,ut=L*j,ft=L*H,lt=L*w,at=L*W,pt=L*Y,ht=L*X,vt=j*W,dt=j*j,gt=j*H,mt=j*w,xt=j*Y,_t=j*X,bt=H*H,wt=H*w,Mt=H*W,St=H*Y,yt=H*X,Ct=w*w,Ot=w*W,Nt=w*Y,Et=w*X,It=W*W,Bt=W*Y,kt=X*X,Pt=Y*Y,Tt=Y*X,At=W*X,zt=Cc(m,m),Dt=Bc(K),qt=Nc(m,g),Ft=Bc(tt),Lt=Q*y+Ft,jt=Nc(m,d),Ht=Q*S+Bc(nt),Wt=Nc(m,v),Yt=Q*M+Bc(et),Xt=Cc(m,w),Qt=Bc(ot),Vt=Nc(m,b),Rt=Q*N+Bc(rt),Ut=Nc(m,_),$t=Q*O+Bc(ct),Zt=Nc(m,x),Gt=Q*C+Bc(it),Jt=Ec(g,g),Kt=y*V+V*y+2*Bc(st),tn=Ec(g,d),nn=y*R+V*S+2*Bc(ut),en=Ec(g,v),on=y*U+V*M+2*Bc(ft),rn=Nc(w,g),cn=$*y+Bc(lt),sn=Ec(g,b),un=y*Z+V*N+2*Bc(at),fn=Ec(g,_),ln=y*G+V*O+2*Bc(pt),an=Ec(g,x),pn=y*J+V*C+2*Bc(ht),hn=Ec(d,b),vn=S*Z+R*N+2*Bc(vt),dn=Ec(d,d),gn=S*R+R*S+2*Bc(dt),mn=Ec(d,v),xn=Bc(gt),_n=S*U+R*M+2*xn,bn=Nc(w,d),wn=$*S+Bc(mt),Mn=Ec(d,_),Sn=S*G+R*O+2*Bc(xt),yn=Ec(d,x),Cn=S*J+R*C+2*Bc(_t),On=Ec(v,v),Nn=Bc(bt),En=M*U+U*M+2*Nn,In=Nc(w,v),Bn=$*M+Bc(wt),kn=Ec(v,b),Pn=M*Z+U*N+2*Bc(Mt),Tn=Ec(v,_),An=M*G+U*O+2*Bc(St),zn=Ec(v,x),Dn=Bc(yt),qn=M*J+U*C+2*Dn,Fn=Cc(w,w),Ln=Bc(Ct),jn=Nc(w,b),Hn=Bc(Ot),Wn=$*N+Hn,Yn=Nc(w,_),Xn=$*O+Bc(Nt),Qn=Nc(w,x),Vn=$*C+Bc(Et),Rn=Ec(b,b),Un=N*Z+Z*N+2*Bc(It),$n=Ec(b,_),Zn=N*G+Z*O+2*Bc(Bt),Gn=Ec(x,x),Jn=Bc(kt),Kn=C*J+J*C+2*Jn,te=Ec(_,_),ne=O*G+G*O+2*Bc(Pt),ee=Ec(_,x),oe=Bc(Tt),re=O*J+G*C+2*oe,ce=Ec(b,x),ie=N*J+Z*C+2*Bc(At),se=bt*E,ue=Ec(On,e),fe=En*A+Nn*u+2*Bc(se),le=yt*I,ae=Ec(zn,o),pe=qn*z+Dn*f+2*Bc(le),he=kt*B,ve=Ec(Gn,r),de=Kn*D+Jn*l+2*Bc(he),ge=se+le,me=Ic(ue,ae),xe=fe+pe+Bc(ge),_e=ge+he,be=Ic(me,ve),we=xe+de+Bc(_e),Me=gt*E,Se=Ec(mn,e),ye=_n*A+xn*u+2*Bc(Me),Ce=Tt*B,Oe=Ec(ee,r),Ne=re*D+oe*l+2*Bc(Ce),Ee=Me+Ce,Ie=Ic(Se,Oe),Be=ye+Ne+Bc(Ee),ke=_t+St,Pe=Ic(yn,Tn),Te=Bc(ke),Ae=Cn+An+Te,ze=ke*I,De=Ec(Pe,o),qe=Ae*z+Te*f+2*Bc(ze),Fe=2*Ee+ze,Le=Ic(Oc(Ie),De),je=2*Be+qe+Bc(Fe),He=2*ft+dt,We=Ic(Oc(en),dn),Ye=Bc(He),Xe=2*on+gn+Bc(He),Qe=2*At+Pt,Ve=Ic(Oc(ce),te),Re=Bc(Qe),Ue=2*ie+ne+Bc(Qe),$e=ht+xt,Ze=Ic(an,Mn),Ge=pn+Sn+Bc($e),Je=$e+Mt,Ke=Ic(Ze,kn),to=Bc(Je),no=Ge+Pn+to,eo=He*E,oo=Ec(We,e),ro=Xe*A+Ye*u+2*Bc(eo),co=Qe*B,io=Ec(Ve,r),so=Ue*D+Re*l+2*Bc(co),uo=eo+co,fo=Ic(oo,io),lo=ro+so+Bc(uo),ao=Je*I,po=Ec(Ke,o),ho=no*z+to*f+2*Bc(ao),vo=uo+ao,go=Ic(fo,po),mo=lo+ho+Bc(vo),xo=et+ut,_o=Ic(Wt,tn),bo=Bc(xo),wo=Yt+nn+bo,Mo=Et+Bt,So=Ic(Qn,$n),yo=Bc(Mo),Co=Vn+Zn+yo,Oo=it+pt,No=Ic(Zt,fn),Eo=Gt+ln+Bc(Oo),Io=vt+wt,Bo=Ic(hn,In),ko=vn+Bn+Bc(Io),Po=Oo+Io,To=Ic(No,Bo),Ao=Bc(Po),zo=Eo+ko+Ao,Do=xo*E,qo=Ec(_o,e),Fo=wo*A+bo*u+2*Bc(Do),Lo=Mo*B,jo=Ec(So,r),Ho=Co*D+yo*l+2*Bc(Lo),Wo=2*(Do+Lo),Yo=Oc(Ic(qo,jo)),Xo=2*(Fo+Ho)+Bc(Wo),Qo=Po*I,Vo=Ec(To,o),Ro=zo*z+Ao*f+2*Bc(Qo),Uo=H*k,$o=Ec(v,c),Zo=M*q+U*a+2*Bc(Uo),Go=X*P,Jo=Ec(x,i),Ko=C*F+J*p+2*Bc(Go),tr=Uo+Go,nr=Ic($o,Jo),er=Zo+Ko+Bc(tr),or=Wo+Qo,rr=Ic(Yo,Vo),cr=Xo+Ro+Bc(or),ir=or+tr,sr=Ic(rr,nr),ur=cr+er+Bc(ir),fr=2*nt+st,lr=Ic(Oc(jt),Jt),ar=Bc(fr),pr=2*Ht+Kt+ar,hr=2*Nt+It,vr=Ic(Oc(Yn),Rn),gr=Bc(hr),mr=2*Xn+Un+gr,xr=ct+at,_r=Ic(Ut,sn),br=$t+un+Bc(xr),wr=xr+mt,Mr=Ic(_r,bn),Sr=Bc(wr),yr=br+wn+Sr,Cr=fr*E,Or=Ec(lr,e),Nr=pr*A+ar*u+2*Bc(Cr),Er=hr*B,Ir=Ec(vr,r),Br=mr*D+gr*l+2*Bc(Er),kr=wr*I,Pr=Ec(Mr,o),Tr=yr*z+Sr*f+2*Bc(kr),zr=Cr+Er,Dr=Ic(Or,Ir),qr=Nr+Br+Bc(zr),Fr=zr+kr,Lr=Ic(Dr,Pr),jr=qr+Tr+Bc(Fr),Hr=j*k,Wr=Ec(d,c),Yr=S*q+R*a+2*Bc(Hr),Xr=Y*P,Qr=Ec(_,i),Vr=O*F+G*p+2*Bc(Xr),Rr=Hr+Xr,Ur=Ic(Wr,Qr),$r=Yr+Vr+Bc(Rr),Zr=Fr+Rr,Gr=Ic(Lr,Ur),Jr=jr+$r+Bc(Zr),Kr=tt*E,tc=Ec(qt,e),nc=Lt*A+Ft*u+2*Bc(Kr),ec=Ot*B,oc=Ec(jn,r),rc=Wn*D+Hn*l+2*Bc(ec),cc=rt+lt,ic=Ic(Vt,rn),sc=Bc(cc),uc=Rt+cn+sc,fc=cc*I,lc=Ec(ic,o),ac=uc*z+sc*f+2*Bc(fc),pc=2*(Kr+ec),hc=Oc(Ic(tc,oc)),vc=2*(nc+rc)+Bc(pc),dc=pc+fc,gc=Ic(hc,lc),mc=vc+ac+Bc(dc),xc=L*k,_c=Ec(g,c),bc=y*q+V*a+2*Bc(xc),wc=W*P,Mc=Ec(b,i),Sc=N*F+Z*p+2*Bc(wc),yc=xc+wc,kc=Ic(_c,Mc),Pc=bc+Sc+Bc(yc),Tc=dc+yc,Ac=Ic(gc,kc),zc=mc+Pc+Bc(Tc),Dc=K*E,qc=Ec(zt,e),Fc=Dt*u+2*Bc(Dc),Lc=ot*I,jc=Ec(Xt,o),Hc=Qt*f+2*Bc(Lc),Wc=Ct*B,Yc=Ec(Fn,r),Xc=Ln*l+2*Bc(Wc),Qc=m*k,Vc=Nc(m,c),Rc=Q*a+Bc(Qc),Uc=w*P,$c=Nc(w,i),Zc=$*p+Bc(Uc),Gc=Dc+Lc,Jc=Ic(qc,jc),Kc=Fc+Hc+Bc(Gc),ti=Gc+Wc,ni=Ic(Jc,Yc),ei=Kc+Xc+Bc(ti),oi=Qc+Uc,ri=Ic(Vc,$c),ci=Rc+Zc+Bc(oi),ii=ti+oi,si=Ic(ni,ri),ui=ei+ci+Bc(ii),fi=ii+T;return{coeffs:[be,Le,go,sr,Gr,Ac,Ic(si,s)],errBound:[we,je,mo,ur,Jr,zc,ui+h+Bc(fi)]}}],[function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:o,vₓᵧᵧ:r,vᵧᵧᵧ:c,vₓₓ:i,vₓᵧ:s,vᵧᵧ:u,vₓ:f,vᵧ:l,v:a},errorBound:{vₓₓₓ_:p,vₓₓᵧ_:h,vₓᵧᵧ_:v,vᵧᵧᵧ_:d,vₓₓ_:g,vₓᵧ_:m,vᵧᵧ_:x,vₓ_:_,vᵧ_:b,v_:w}}=Jr(t),[[M,[,S]],[y,[,C]]]=mr(n),O=e[1],N=o[1],E=r[1],I=c[1],B=i[1],k=s[1],P=u[1],T=f[1],A=l[1],z=a[1],D=M[1],q=y[1],F=rc(S),L=rc(D),j=rc(C),H=rc(q),W=S*S,Y=S*D,X=S*C,Q=S*q,V=D*D,R=D*C,U=D*q,$=C*C,Z=C*q,G=q*q,J=Kr(S,S),K=nc(S,M),tt=rc(Y),nt=Kr(S,C),et=nc(S,y),ot=rc(Q),rt=ec(M,M),ct=2*rc(V),it=nc(C,M),st=rc(R),ut=ec(M,y),ft=2*rc(U),lt=Kr(C,C),at=nc(C,y),pt=rc(Z),ht=ec(y,y),vt=2*rc(G),dt=rc(W),gt=rc(X),mt=rc(V),xt=rc(U),_t=rc($),bt=rc(G),wt=S*O,Mt=nc(S,e),St=F*p+rc(wt),yt=3*S,Ct=Kr(3,S),Ot=rc(yt),Nt=yt*O,Et=ec(Ct,e),It=Ot*p+2*rc(Nt),Bt=S*N,kt=nc(S,o),Pt=F*h+rc(Bt),Tt=C*N,At=nc(C,o),zt=j*h+rc(Tt),Dt=S*E,qt=nc(S,r),Ft=F*v+rc(Dt),Lt=C*E,jt=nc(C,r),Ht=j*v+rc(Lt),Wt=C*I,Yt=nc(C,c),Xt=j*d+rc(Wt),Qt=3*C,Vt=Kr(3,C),Rt=rc(Qt),Ut=Qt*I,$t=ec(Vt,c),Zt=Rt*d+2*rc(Ut),Gt=D*O,Jt=ec(M,e),Kt=L*p+2*rc(Gt),tn=D*E,nn=ec(M,r),en=L*v+2*rc(tn),on=q*N,rn=ec(y,o),cn=H*h+2*rc(on),sn=q*I,un=ec(y,c),fn=H*d+2*rc(sn),ln=Gt+on,an=oc(Jt,rn),pn=rc(ln),hn=Kt+cn+pn,vn=tn+sn,dn=oc(nn,un),gn=rc(vn),mn=en+fn+gn,xn=V*ln,_n=ec(rt,an),bn=ct*pn+mt*hn+2*rc(xn),wn=G*vn,Mn=ec(ht,dn),Sn=vt*gn+bt*mn+2*rc(wn),yn=xn+wn,Cn=oc(_n,Mn),On=bn+Sn+rc(yn),Nn=Nt+Tt,En=oc(Et,At),In=It+zt+rc(Nn),Bn=2*(Bt+Lt),kn=tc(oc(kt,jt)),Pn=2*(Pt+Ht)+rc(Bn),Tn=Dt+Ut,An=oc(qt,$t),zn=Ft+Zt+rc(Tn),Dn=Nn+B,qn=oc(En,i),Fn=rc(Dn),Ln=In+g+Fn,jn=Bn+k,Hn=oc(kn,s),Wn=rc(jn),Yn=Pn+m+Wn,Xn=Tn+P,Qn=oc(An,u),Vn=rc(Xn),Rn=zn+x+Vn,Un=V*Dn,$n=ec(rt,qn),Zn=ct*Fn+mt*Ln+2*rc(Un),Gn=U*jn,Jn=ec(ut,Hn),Kn=ft*Wn+xt*Yn+2*rc(Gn),te=G*Xn,ne=ec(ht,Qn),ee=vt*Vn+bt*Rn+2*rc(te),oe=Un+Gn,re=oc($n,Jn),ce=Zn+Kn+rc(oe),ie=oe+te,se=oc(re,ne),ue=ce+ee+rc(ie),fe=2*(Tt+B),le=tc(oc(At,i)),ae=2*(zt+g)+rc(fe),pe=2*(Dt+P),he=tc(oc(qt,u)),ve=2*(Ft+x)+rc(pe),de=Nt+fe,ge=oc(Et,le),me=rc(de),xe=It+ae+me,_e=Ut+pe,be=oc($t,he),we=rc(_e),Me=Zt+ve+we,Se=Bt+k,ye=oc(kt,s),Ce=rc(Se),Oe=Pt+m+Ce,Ne=Lt+k,Ee=oc(jt,s),Ie=rc(Ne),Be=Ht+m+Ie,ke=Y*de,Pe=ec(K,ge),Te=tt*me+tt*xe+2*rc(ke),Ae=Z*_e,ze=ec(at,be),De=pt*we+pt*Me+2*rc(Ae),qe=Q*Se,Fe=ec(et,ye),Le=ot*Ce+ot*Oe+2*rc(qe),je=R*Ne,He=ec(it,Ee),We=st*Ie+st*Be+2*rc(je),Ye=D*T,Xe=ec(M,f),Qe=L*_+2*rc(Ye),Ve=q*A,Re=ec(y,l),Ue=H*b+2*rc(Ve),$e=ke+Ae,Ze=oc(Pe,ze),Ge=Te+De+rc($e),Je=qe+je,Ke=oc(Fe,He),to=Le+We+rc(Je),no=$e+Je,eo=oc(Ze,Ke),oo=Ge+to+rc(no),ro=Ye+Ve,co=oc(Xe,Re),io=Qe+Ue+rc(ro),so=no+ro,uo=oc(eo,co),fo=oo+io+rc(so),lo=wt+Tt,ao=oc(Mt,At),po=St+zt+rc(lo),ho=Wt+Dt,vo=oc(Yt,qt),go=Xt+Ft+rc(ho),mo=lo+B,xo=oc(ao,i),_o=po+g+rc(mo),bo=ho+P,wo=oc(vo,u),Mo=go+x+rc(bo),So=W*mo,yo=ec(J,xo),Co=dt*_o+2*rc(So),Oo=$*bo,No=ec(lt,wo),Eo=_t*Mo+2*rc(Oo),Io=X*k,Bo=ec(nt,s),ko=gt*m+2*rc(Io),Po=So+Oo,To=oc(yo,No),Ao=Co+Eo+rc(Po),zo=Po+Io,Do=oc(To,Bo),qo=Ao+ko+rc(zo),Fo=S*T,Lo=nc(S,f),jo=F*_+rc(Fo),Ho=C*A,Wo=nc(C,l),Yo=j*b+rc(Ho),Xo=Fo+Ho,Qo=oc(Lo,Wo),Vo=jo+Yo+rc(Xo),Ro=zo+Xo,Uo=oc(Do,Qo),$o=qo+Vo+rc(Ro),Zo=Ro+z;return{coeffs:[Cn,se,uo,oc(Uo,a)],errBound:[On,ue,fo,$o+w+rc(Zo)]}},function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:o,vₓᵧᵧ:r,vᵧᵧᵧ:c,vₓₓ:i,vₓᵧ:s,vᵧᵧ:u,vₓ:f,vᵧ:l,v:a},errorBound:{vₓₓₓ_:p,vₓₓᵧ_:h,vₓᵧᵧ_:v,vᵧᵧᵧ_:d,vₓₓ_:g,vₓᵧ_:m,vᵧᵧ_:x,vₓ_:_,vᵧ_:b,v_:w}}=Jr(t),{coeffs:[[M,S,[,y]],[C,O,[,N]]],errorBound:[[E],[I]]}=gr(n),B=e[1],k=o[1],P=r[1],T=c[1],A=i[1],z=s[1],D=u[1],q=f[1],F=l[1],L=a[1],j=bc(B),H=bc(k),W=bc(P),Y=bc(T),X=bc(A),Q=bc(D),V=bc(z),R=bc(q),U=bc(F),$=S[1],Z=M[1],G=O[1],J=C[1],K=bc(y),tt=bc($),nt=bc(Z),et=bc(N),ot=bc(G),rt=bc(J),ct=y*y,it=y*$,st=y*Z,ut=y*N,ft=y*G,lt=y*J,at=$*$,pt=$*Z,ht=$*N,vt=$*G,dt=$*J,gt=Z*G,mt=Z*Z,xt=Z*N,_t=Z*J,bt=N*N,wt=N*G,Mt=N*J,St=G*G,yt=G*J,Ct=J*J,Ot=dc(y,y),Nt=mc(y,S),Et=bc(it),It=mc(y,M),Bt=K*E+bc(st),kt=dc(y,N),Pt=mc(y,O),Tt=bc(ft),At=mc(y,C),zt=K*I+bc(lt),Dt=xc(S,S),qt=2*bc(at),Ft=xc(S,M),Lt=tt*E+2*bc(pt),jt=mc(N,S),Ht=bc(ht),Wt=xc(S,O),Yt=2*bc(vt),Xt=xc(S,C),Qt=tt*I+2*bc(dt),Vt=xc(M,O),Rt=E*ot+2*bc(gt),Ut=xc(M,M),$t=2*(E*nt+bc(mt)),Zt=mc(N,M),Gt=et*E+bc(xt),Jt=xc(M,C),Kt=E*rt+nt*I+2*bc(_t),tn=dc(N,N),nn=mc(N,O),en=bc(wt),on=mc(N,C),rn=et*I+bc(Mt),cn=xc(O,O),sn=2*bc(St),un=xc(O,C),fn=ot*I+2*bc(yt),ln=xc(C,C),an=2*(I*rt+bc(Ct)),pn=bc(ct),hn=bc(ut),vn=bc(pt),dn=bc(mt),gn=bc(_t),mn=bc(bt),xn=bc(yt),_n=bc(Ct),bn=xc(M,e),wn=Z*B,Mn=E*j+nt*p+2*bc(wn),Sn=xc(M,r),yn=Z*P,Cn=E*W+nt*v+2*bc(yn),On=xc(C,o),Nn=J*k,En=I*H+rt*h+2*bc(Nn),In=xc(C,c),Bn=J*T,kn=I*Y+rt*d+2*bc(Bn),Pn=wn+Nn,Tn=_c(bn,On),An=bc(Pn),zn=Mn+En+An,Dn=yn+Bn,qn=_c(Sn,In),Fn=bc(Dn),Ln=Cn+kn+Fn,jn=mt*Pn,Hn=xc(Ut,Tn),Wn=$t*An+dn*zn+2*bc(jn),Yn=Ct*Dn,Xn=xc(ln,qn),Qn=an*Fn+_n*Ln+2*bc(Yn),Vn=jn+Yn,Rn=_c(Hn,Xn),Un=Wn+Qn+bc(Vn),$n=st+at,Zn=_c(It,Dt),Gn=bc($n),Jn=Bt+qt+Gn,Kn=Mt+St,te=_c(on,cn),ne=bc(Kn),ee=rn+sn+ne,oe=2*st+at,re=bc(oe),ce=_c(gc(It),Dt),ie=2*Bt+qt+re,se=2*Mt+St,ue=_c(gc(on),cn),fe=bc(se),le=2*rn+sn+fe,ae=2*vt+xt,pe=_c(gc(Wt),Zt),he=bc(ae),ve=2*Yt+Gt+he,de=2*vt+lt,ge=_c(gc(Wt),At),me=bc(de),xe=2*Yt+zt+me,_e=2*xt+vt,be=_c(gc(Zt),Wt),we=2*Gt+Yt+bc(_e),Me=6*st+at,Se=6*st,ye=mc(6,It),Ce=6*Bt+bc(Se),Oe=_c(ye,Dt),Ne=Ce+qt+bc(Se+at),Ee=6*Mt+St,Ie=6*Mt,Be=mc(6,on),ke=6*rn+bc(Ie),Pe=_c(Be,cn),Te=ke+sn+bc(Ie+St),Ae=dt+gt,ze=_c(Xt,Vt),De=bc(Ae),qe=Qt+Rt+De,Fe=lt+xt,Le=_c(At,Zt),je=zt+Gt+bc(Fe),He=2*ht+ft,We=_c(gc(jt),Pt),Ye=2*Ht+Tt+bc(He),Xe=2*ft+ht,Qe=_c(gc(Pt),jt),Ve=2*Tt+Ht+bc(Xe),Re=lt+vt,Ue=_c(At,Wt),$e=zt+Yt+bc(Re),Ze=Re+xt,Ge=_c(Ue,Zt),Je=bc(Ze),Ke=$e+Gt+Je,to=3*mt,no=mc(3,Ut),eo=3*$t+bc(to),oo=bc(to),ro=3*Ct,co=mc(3,ln),io=3*an+bc(ro),so=bc(ro),uo=to*B,fo=xc(no,e),lo=eo*j+oo*p+2*bc(uo),ao=mt*k,po=xc(Ut,o),ho=$t*H+dn*h+2*bc(ao),vo=2*_t*k,go=gc(xc(Jt,o)),mo=2*(Kt*H+gn*h+bc(vo)),xo=2*_t*P,_o=gc(xc(Jt,r)),bo=2*(Kt*W+gn*v+bc(xo)),wo=Ct*P,Mo=xc(ln,r),So=an*W+_n*v+2*bc(wo),yo=ro*T,Co=xc(co,c),Oo=io*Y+so*d+2*bc(yo),No=uo+vo,Eo=_c(fo,go),Io=lo+mo+bc(No),Bo=ao+xo,ko=_c(po,_o),Po=ho+bo+bc(Bo),To=No+wo,Ao=_c(Eo,Mo),zo=Io+So+bc(To),Do=Bo+yo,qo=_c(ko,Co),Fo=Po+Oo+bc(Do),Lo=$*To,jo=xc(S,Ao),Ho=tt*zo+2*bc(Lo),Wo=G*Do,Yo=xc(O,qo),Xo=ot*Fo+2*bc(Wo),Qo=Lo+Wo,Vo=_c(jo,Yo),Ro=Ho+Xo+bc(Qo),Uo=J*oe,$o=xc(C,ce),Zo=I*re+rt*ie+2*bc(Uo),Go=J*de,Jo=xc(C,ge),Ko=I*me+rt*xe+2*bc(Go),tr=Z*ae,nr=xc(M,pe),er=E*he+nt*ve+2*bc(tr),or=Z*se,rr=xc(M,ue),cr=E*fe+nt*le+2*bc(or),ir=3*Z,sr=mc(3,M),ur=bc(ir),fr=3*E+ur,lr=ir*$n,ar=xc(sr,Zn),pr=bc(lr),hr=fr*Gn+ur*Jn+2*pr,vr=3*J,dr=mc(3,C),mr=bc(vr),xr=3*I+mr,_r=vr*Kn,br=xc(dr,te),wr=bc(_r),Mr=xr*ne+mr*ee+2*wr,Sr=Uo+tr,yr=_c($o,nr),Cr=bc(Sr),Or=Zo+er+Cr,Nr=Go+or,Er=_c(Jo,rr),Ir=bc(Nr),Br=Ko+cr+Ir,kr=lr*B,Pr=xc(ar,e),Tr=hr*j+pr*p+2*bc(kr),Ar=_r*T,zr=xc(br,c),Dr=Mr*Y+wr*d+2*bc(Ar),qr=Sr*k,Fr=xc(yr,o),Lr=Or*H+Cr*h+2*bc(qr),jr=Nr*P,Hr=xc(Er,r),Wr=Br*W+Ir*v+2*bc(jr),Yr=kr+Ar,Xr=_c(Pr,zr),Qr=Tr+Dr+bc(Yr),Vr=qr+jr,Rr=_c(Fr,Hr),Ur=Lr+Wr+bc(Vr),$r=mt*A,Zr=xc(Ut,i),Gr=$t*X+dn*g+2*bc($r),Kr=Ct*D,tc=xc(ln,u),nc=an*Q+_n*x+2*bc(Kr),ec=_t*z,oc=xc(Jt,s),rc=Kt*V+gn*m+2*bc(ec),cc=$r+Kr,ic=_c(Zr,tc),sc=Gr+nc+bc(cc),uc=Yr+Vr,fc=_c(Xr,Rr),lc=Qr+Ur+bc(uc),ac=cc+ec,pc=_c(ic,oc),hc=sc+rc+bc(ac),vc=uc+ac,wc=_c(fc,pc),Mc=lc+hc+bc(vc),Sc=$*Me,yc=xc(S,Oe),Cc=bc(Sc),Oc=tt*Ne+2*Cc,Nc=G*Ee,Ec=xc(O,Pe),Ic=bc(Nc),Bc=ot*Te+2*Ic,kc=2*y*Ae,Pc=mc(2*y,ze),Tc=2*K*qe+bc(kc),Ac=2*G*Fe,zc=xc(gc(O),Le),Dc=2*ot*je+2*bc(Ac),qc=$*_e,Fc=xc(S,be),Lc=tt*we+2*bc(qc),jc=$*se,Hc=xc(S,ue),Wc=tt*le+2*bc(jc),Yc=kc+qc,Xc=_c(Pc,Fc),Qc=bc(Yc),Vc=Tc+Lc+Qc,Rc=Ac+jc,Uc=_c(zc,Hc),$c=bc(Rc),Zc=Dc+Wc+$c,Gc=yt*D,Jc=xc(un,u),Kc=fn*Q+xn*x+2*bc(Gc),ti=pt*A,ni=xc(Ft,i),ei=Lt*X+vn*g+2*bc(ti),oi=Ae*z,ri=xc(ze,s),ci=qe*V+De*m+2*bc(oi),ii=Gc+ti,si=_c(Jc,ni),ui=Kc+ei+bc(ii),fi=Sc*B,li=xc(yc,e),ai=Oc*j+Cc*p+2*bc(fi),pi=Yc*k,hi=xc(Xc,o),vi=Vc*H+Qc*h+2*bc(pi),di=Nc*T,gi=xc(Ec,c),mi=Bc*Y+Ic*d+2*bc(di),xi=Rc*P,_i=xc(Uc,r),bi=Zc*W+$c*v+2*bc(xi),wi=fi+di,Mi=_c(li,gi),Si=ai+mi+bc(wi),yi=pi+xi,Ci=_c(hi,_i),Oi=vi+bi+bc(yi),Ni=wi+yi,Ei=_c(Mi,Ci),Ii=Si+Oi+bc(Ni),Bi=2*ii+oi,ki=_c(gc(si),ri),Pi=2*ui+ci+bc(Bi),Ti=Ni+Bi,Ai=_c(Ei,ki),zi=Ii+Pi+bc(Ti),Di=3*y,qi=bc(Di),Fi=dc(3,y),Li=Di*$n,ji=xc(Fi,Zn),Hi=bc(Li),Wi=qi*Jn+2*bc(Li),Yi=3*N,Xi=bc(Yi),Qi=dc(3,N),Vi=Yi*Kn,Ri=xc(Qi,te),Ui=bc(Vi),$i=Xi*ee+2*bc(Vi),Zi=y*de,Gi=mc(y,ge),Ji=K*xe+bc(Zi),Ki=y*se,ts=mc(y,ue),ns=K*le+bc(Ki),es=N*oe,os=mc(N,ce),rs=et*ie+bc(es),cs=N*ae,is=mc(N,pe),ss=et*ve+bc(cs),us=Zi+es,fs=_c(Gi,os),ls=bc(us),as=Ji+rs+ls,ps=Ki+cs,hs=_c(ts,is),vs=bc(ps),ds=ns+ss+vs,gs=Li*B,ms=xc(ji,e),xs=Wi*j+Hi*p+2*bc(gs),_s=Vi*T,bs=xc(Ri,c),ws=$i*Y+Ui*d+2*bc(_s),Ms=us*k,Ss=xc(fs,o),ys=as*H+ls*h+2*bc(Ms),Cs=ps*P,Os=xc(hs,r),Ns=ds*W+vs*v+2*bc(Cs),Es=oe*A,Is=xc(ce,i),Bs=ie*X+re*g+2*bc(Es),ks=se*D,Ps=xc(ue,u),Ts=le*Q+fe*x+2*bc(ks),As=Ze*z,zs=xc(Ge,s),Ds=Ke*V+Je*m+2*bc(As),qs=Z*q,Fs=xc(M,f),Ls=E*R+nt*_+2*bc(qs),js=J*F,Hs=xc(C,l),Ws=I*U+rt*b+2*bc(js),Ys=gs+_s,Xs=_c(ms,bs),Qs=xs+ws+bc(Ys),Vs=Ms+Cs,Rs=_c(Ss,Os),Us=ys+Ns+bc(Vs),$s=Es+ks,Zs=_c(Is,Ps),Gs=Bs+Ts+bc($s),Js=Ys+Vs,Ks=_c(Xs,Rs),tu=Qs+Us+bc(Js),nu=$s+As,eu=_c(Zs,zs),ou=Gs+Ds+bc(nu),ru=qs+js,cu=_c(Fs,Hs),iu=Ls+Ws+bc(ru),su=Js+nu,uu=_c(Ks,eu),fu=tu+ou+bc(su),lu=su+ru,au=_c(uu,cu),pu=fu+iu+bc(lu),hu=Di*it,vu=xc(Fi,Nt),du=bc(hu),gu=qi*Et+2*du,mu=Yi*wt,xu=xc(Qi,nn),_u=bc(mu),bu=Xi*en+2*_u,wu=y*He,Mu=mc(y,We),Su=bc(wu),yu=K*Ye+bc(wu),Cu=N*Xe,Ou=mc(N,Qe),Nu=bc(Cu),Eu=et*Ve+bc(Cu),Iu=it*A,Bu=xc(Nt,i),ku=Et*X+Et*g+2*bc(Iu),Pu=wt*D,Tu=xc(nn,u),Au=en*Q+en*x+2*bc(Pu),zu=ft*z,Du=xc(Pt,s),qu=Tt*V+Tt*m+2*bc(zu),Fu=ht*z,Lu=xc(jt,s),ju=Ht*V+Ht*m+2*bc(Fu),Hu=2*(Iu+Pu),Wu=gc(_c(Bu,Tu)),Yu=2*(ku+Au)+bc(Hu),Xu=zu+Fu,Qu=_c(Du,Lu),Vu=qu+ju+bc(Xu),Ru=$*q,Uu=xc(S,f),$u=tt*_+2*bc(Ru),Zu=G*F,Gu=xc(O,l),Ju=ot*b+2*bc(Zu),Ku=hu*B,tf=xc(vu,e),nf=gu*j+du*p+2*bc(Ku),ef=mu*T,of=xc(xu,c),rf=bu*Y+_u*d+2*bc(ef),cf=wu*k,sf=xc(Mu,o),uf=yu*H+Su*h+2*bc(cf),ff=Cu*P,lf=xc(Ou,r),af=Eu*W+Nu*v+2*bc(ff),pf=Ku+ef,hf=_c(tf,of),vf=nf+rf+bc(pf),df=cf+ff,gf=_c(sf,lf),mf=uf+af+bc(df),xf=pf+df,_f=_c(hf,gf),bf=vf+mf+bc(xf),wf=Hu+Xu,Mf=_c(Wu,Qu),Sf=Yu+Vu+bc(wf),yf=Ru+Zu,Cf=_c(Uu,Gu),Of=$u+Ju+bc(yf),Nf=xf+wf,Ef=_c(_f,Mf),If=bf+Sf+bc(Nf),Bf=Nf+yf,kf=_c(Ef,Cf),Pf=If+Of+bc(Bf),Tf=y*B,Af=mc(y,e),zf=K*p+bc(Tf),Df=y*P,qf=mc(y,r),Ff=K*v+bc(Df),Lf=N*k,jf=mc(N,o),Hf=et*h+bc(Lf),Wf=N*T,Yf=mc(N,c),Xf=et*d+bc(Wf),Qf=Tf+Lf,Vf=_c(Af,jf),Rf=zf+Hf+bc(Qf),Uf=Df+Wf,$f=_c(qf,Yf),Zf=Ff+Xf+bc(Uf),Gf=Qf+A,Jf=_c(Vf,i),Kf=Rf+g+bc(Gf),tl=Uf+D,nl=_c($f,u),el=Zf+x+bc(tl),ol=ct*Gf,rl=xc(Ot,Jf),cl=pn*Kf+2*bc(ol),il=bt*tl,sl=xc(tn,nl),ul=mn*el+2*bc(il),fl=ut*z,ll=xc(kt,s),al=hn*m+2*bc(fl),pl=y*q,hl=mc(y,f),vl=K*_+bc(pl),dl=N*F,gl=mc(N,l),ml=et*b+bc(dl),xl=ol+il,_l=_c(rl,sl),bl=cl+ul+bc(xl),wl=xl+fl,Ml=_c(_l,ll),Sl=bl+al+bc(wl),yl=pl+dl,Cl=_c(hl,gl),Ol=vl+ml+bc(yl),Nl=wl+yl,El=_c(Ml,Cl),Il=Sl+Ol+bc(Nl),Bl=Nl+L;return{coeffs:[Rn,Vo,wc,Ai,au,kf,_c(El,a)],errBound:[Un,Ro,Mc,zi,pu,Pf,Il+w+bc(Bl)]}},function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:o,vₓᵧᵧ:r,vᵧᵧᵧ:c,vₓₓ:i,vₓᵧ:s,vᵧᵧ:u,vₓ:f,vᵧ:l,v:a},errorBound:{vₓₓₓ_:p,vₓₓᵧ_:h,vₓᵧᵧ_:v,vᵧᵧᵧ_:d,vₓₓ_:g,vₓᵧ_:m,vᵧᵧ_:x,vₓ_:_,vᵧ_:b,v_:w}}=Jr(t),{coeffs:[[M,S,y,[,C]],[O,N,E,[,I]]],errorBound:[[B,k,P],[T,A,z]]}=dr(n),D=e[1],q=o[1],F=r[1],L=c[1],j=i[1],H=s[1],W=u[1],Y=f[1],X=l[1],Q=a[1],V=Dc(D),R=Dc(q),U=Dc(F),$=Dc(L),Z=Dc(j),G=Dc(H),J=Dc(W),K=Dc(Y),tt=Dc(X),nt=y[1],et=S[1],ot=M[1],rt=E[1],ct=N[1],it=O[1],st=Dc(C),ut=Dc(nt),ft=Dc(et),lt=Dc(ot),at=Dc(I),pt=Dc(rt),ht=Dc(ct),vt=Dc(it),dt=C*C,gt=C*nt,mt=C*et,xt=C*ot,_t=C*I,bt=C*rt,wt=C*ct,Mt=C*it,St=nt*nt,yt=nt*et,Ct=nt*ot,Ot=nt*I,Nt=nt*rt,Et=nt*ct,It=nt*it,Bt=et*rt,kt=et*et,Pt=et*ot,Tt=et*I,At=et*ct,zt=et*it,Dt=ot*ot,qt=ot*I,Ft=ot*rt,Lt=ot*ct,jt=ot*it,Ht=I*I,Wt=I*rt,Yt=I*ct,Xt=I*it,Qt=rt*rt,Vt=rt*ct,Rt=it*it,Ut=ct*ct,$t=ct*it,Zt=rt*it,Gt=kc(C,C),Jt=Tc(C,y),Kt=st*P+Dc(gt),tn=Tc(C,S),nn=st*k+Dc(mt),en=Tc(C,M),on=st*B+Dc(xt),rn=kc(C,I),cn=Tc(C,E),sn=st*z+Dc(bt),un=Tc(C,N),fn=st*A+Dc(wt),ln=Tc(C,O),an=st*T+Dc(Mt),pn=Ac(y,y),hn=Dc(St),vn=2*(P*ut+hn),dn=Ac(y,S),gn=P*ft+ut*k+2*Dc(yt),mn=Ac(y,M),xn=P*lt+ut*B+2*Dc(Ct),_n=Tc(I,y),bn=at*P+Dc(Ot),wn=Ac(y,E),Mn=P*pt+ut*z+2*Dc(Nt),Sn=Ac(y,N),yn=P*ht+ut*A+2*Dc(Et),Cn=Ac(y,O),On=P*vt+ut*T+2*Dc(It),Nn=Ac(S,E),En=k*pt+ft*z+2*Dc(Bt),In=Ac(S,S),Bn=Dc(kt),kn=2*(k*ft+Bn),Pn=Ac(S,M),Tn=k*lt+ft*B+2*Dc(Pt),An=Tc(I,S),zn=at*k+Dc(Tt),Dn=Ac(S,N),qn=k*ht+ft*A+2*Dc(At),Fn=Ac(S,O),Ln=k*vt+ft*T+2*Dc(zt),jn=Ac(M,M),Hn=2*(B*lt+Dc(Dt)),Wn=Tc(I,M),Yn=at*B+Dc(qt),Xn=Ac(M,E),Qn=B*pt+lt*z+2*Dc(Ft),Vn=Ac(M,N),Rn=Dc(Lt),Un=B*ht+lt*A+2*Rn,$n=Ac(M,O),Zn=B*vt+lt*T+2*Dc(jt),Gn=kc(I,I),Jn=Tc(I,E),Kn=at*z+Dc(Wt),te=Tc(I,N),ne=at*A+Dc(Yt),ee=Tc(I,O),oe=at*T+Dc(Xt),re=Ac(E,E),ce=Dc(Qt),ie=2*(z*pt+ce),se=Ac(E,N),ue=z*ht+pt*A+2*Dc(Vt),fe=Ac(O,O),le=2*(T*vt+Dc(Rt)),ae=Ac(N,N),pe=Dc(Ut),he=2*(A*ht+pe),ve=Ac(N,O),de=A*vt+ht*T+2*Dc($t),ge=Ac(E,O),me=Dc(Zt),xe=z*vt+pt*T+2*me,_e=Dc(dt),be=Dc(gt),we=Dc(Pt),Me=Dc(Dt),Se=Dc(jt),ye=Dc(_t),Ce=Dc(Ht),Oe=Dc(Wt),Ne=Dc($t),Ee=Dc(Rt),Ie=ot*Dt,Be=Ac(M,jn),ke=lt*Me,Pe=B*Me+lt*Hn+2*ke,Te=ot*Rt,Ae=Ac(M,fe),ze=lt*Ee,De=B*Ee+lt*le+2*ze,qe=it*Dt,Fe=Ac(O,jn),Le=vt*Me,je=T*Me+vt*Hn+2*Le,He=it*Rt,We=Ac(O,fe),Ye=vt*Ee,Xe=T*Ee+vt*le+2*Ye,Qe=Ie*D,Ve=Ac(Be,e),Re=Pe*V+ke*p+2*Dc(Qe),Ue=Te*F,$e=Ac(Ae,r),Ze=De*U+ze*v+2*Dc(Ue),Ge=qe*q,Je=Ac(Fe,o),Ke=je*R+Le*h+2*Dc(Ge),to=He*L,no=Ac(We,c),eo=Xe*$+Ye*d+2*Dc(to),oo=Qe+Ue,ro=zc(Ve,$e),co=Re+Ze+Dc(oo),io=Ge+to,so=zc(Je,no),uo=Ke+eo+Dc(io),fo=oo+io,lo=zc(ro,so),ao=co+uo+Dc(fo),po=2*zt+Lt,ho=Dc(po),vo=zc(Pc(Fn),Vn),go=2*Ln+Un+ho,mo=2*Lt+zt,xo=Dc(mo),_o=zc(Pc(Vn),Fn),bo=2*Un+Ln+Dc(mo),wo=ot*po,Mo=Dc(wo),So=Ac(M,vo),yo=B*ho+lt*go+2*Mo,Co=it*mo,Oo=Dc(Co),No=Ac(O,_o),Eo=T*xo+vt*bo+2*Oo,Io=et*Dt,Bo=Dc(Io),ko=Ac(S,jn),Po=k*Me+ft*Hn+2*Bo,To=ct*Rt,Ao=Dc(To),zo=Ac(N,fe),Do=A*Ee+ht*le+2*Ao,qo=D*Io,Fo=Ac(e,ko),Lo=p*Bo+V*Po+2*Dc(qo),jo=L*To,Ho=Ac(c,zo),Wo=d*Ao+$*Do+2*Dc(jo),Yo=q*wo,Xo=Ac(o,So),Qo=h*Mo+R*yo+2*Dc(Yo),Vo=F*Co,Ro=Ac(r,No),Uo=v*Oo+U*Eo+2*Dc(Vo),$o=Yo+Vo,Zo=zc(Xo,Ro),Go=Qo+Uo+Dc($o),Jo=3*(qo+jo),Ko=Tc(3,zc(Fo,Ho)),tr=3*(Lo+Wo)+2*Dc(Jo),nr=$o+Jo,er=zc(Zo,Ko),or=Go+tr+Dc(nr),rr=nt*jt,cr=Ac(y,$n),ir=P*Se+ut*Zn+2*Dc(rr),sr=rt*Dt,ur=Ac(E,jn),fr=z*Me+pt*Hn+2*Dc(sr),lr=et*$t,ar=Ac(S,ve),pr=k*Ne+ft*de+2*Dc(lr),hr=nt*Rt,vr=Ac(y,fe),gr=P*Ee+ut*le+2*Dc(hr),mr=et*Lt,xr=Ac(S,Vn),_r=k*Rn+ft*Un+2*Dc(mr),br=it*kt,wr=Ac(O,In),Mr=T*Bn+vt*kn+2*Dc(br),Sr=ot*Zt,yr=Ac(M,ge),Cr=B*me+lt*xe+2*Dc(Sr),Or=ct*Lt,Nr=Ac(N,Vn),Er=A*Rn+ht*Un+2*Dc(Or),Ir=rr+mr,Br=zc(cr,xr),kr=ir+_r+Dc(Ir),Pr=sr+br,Tr=zc(ur,wr),Ar=fr+Mr+Dc(Pr),zr=lr+Sr,Dr=zc(ar,yr),qr=pr+Cr+Dc(zr),Fr=hr+Or,Lr=zc(vr,Nr),jr=gr+Er+Dc(Fr),Hr=Ct+kt,Wr=zc(mn,In),Yr=Dc(Hr),Xr=xn+kn+Yr,Qr=Zt+Ut,Vr=Dc(Qr),Rr=zc(ge,ae),Ur=xe+he+Vr,$r=2*Ir+Pr,Zr=zc(Pc(Br),Tr),Gr=Dc($r),Kr=2*kr+Ar+Gr,tc=2*zr+Fr,nc=zc(Pc(Dr),Lr),ec=Dc(tc),oc=2*qr+jr+ec,rc=q*$r,cc=Ac(o,Zr),ic=h*Gr+R*Kr+2*Dc(rc),sc=F*tc,uc=Ac(r,nc),fc=v*ec+U*oc+2*Dc(sc),lc=ot*Hr,ac=Ac(M,Wr),pc=Dc(lc),hc=B*Yr+lt*Xr+2*pc,vc=it*Qr,dc=Ac(O,Rr),gc=Dc(vc),mc=T*Vr+vt*Ur+2*gc,xc=D*lc,_c=Ac(e,ac),bc=p*pc+V*hc+2*Dc(xc),wc=L*vc,Mc=Ac(c,dc),Sc=d*gc+$*mc+2*Dc(wc),yc=rc+sc,Cc=zc(cc,uc),Oc=ic+fc+Dc(yc),Nc=3*(xc+wc),Ec=Tc(3,zc(_c,Mc)),Ic=3*(bc+Sc)+2*Dc(Nc),Bc=yc+Nc,qc=zc(Cc,Ec),Fc=Oc+Ic+Dc(Bc),Lc=zt+Lt,jc=zc(Fn,Vn),Hc=Dc(Lc),Wc=Ln+Un+Hc,Yc=ct*kt,Xc=Ac(N,In),Qc=A*Bn+ht*kn+2*Dc(Yc),Vc=2*nt*Lc,Rc=Pc(Ac(y,jc)),Uc=2*(P*Hc+ut*Wc+Dc(Vc)),$c=Yc+Vc,Zc=zc(Xc,Rc),Gc=Qc+Uc+Dc($c),Jc=2*(Mt+Bt),Kc=Pc(zc(ln,Nn)),ti=2*(an+En)+Dc(Jc),ni=Jc+qt,ei=Dc(ni),oi=zc(Kc,Wn),ri=ti+Yn+ei,ci=ot*ni,ii=Ac(M,oi),si=B*ei+lt*ri+2*Dc(ci),ui=$c+ci,fi=zc(Zc,ii),li=Dc(ui),ai=Gc+si+li,pi=et*Ut,hi=Ac(S,ae),vi=k*pe+ft*he+2*Dc(pi),di=2*rt*Lc,gi=Pc(Ac(E,jc)),mi=2*(z*Hc+pt*Wc+Dc(di)),xi=pi+di,_i=zc(hi,gi),bi=vi+mi+Dc(xi),wi=2*(Et+qt),Mi=Pc(zc(Sn,Wn)),Si=2*(yn+Yn)+Dc(wi),yi=wi+Mt,Ci=zc(Mi,ln),Oi=Dc(yi),Ni=Si+an+Oi,Ei=it*yi,Ii=Ac(O,Ci),Bi=T*Oi+vt*Ni+2*Dc(Ei),ki=xi+Ei,Pi=zc(_i,Ii),Ti=Dc(ki),Ai=bi+Bi+Ti,zi=et*kt,Di=Ac(S,In),qi=k*Bn+ft*kn+2*Dc(zi),Fi=2*yt+xt,Li=zc(Pc(dn),en),ji=Dc(Fi),Hi=2*gn+on+ji,Wi=3*ot,Yi=Tc(3,M),Xi=Dc(Wi),Qi=3*B+Xi,Vi=Wi*Fi,Ri=Ac(Yi,Li),Ui=Qi*ji+Xi*Hi+2*Dc(Vi),$i=zi+Vi,Zi=zc(Di,Ri),Gi=Dc($i),Ji=qi+Ui+Gi,Ki=ct*Ut,ts=Ac(N,ae),ns=A*pe+ht*he+2*Dc(Ki),es=2*Vt+Xt,os=zc(Pc(se),ee),rs=Dc(es),cs=2*ue+oe+rs,is=3*it,ss=Tc(3,O),us=Dc(is),fs=3*T+us,ls=is*es,as=Ac(ss,os),ps=fs*rs+us*cs+2*Dc(ls),hs=Ki+ls,vs=zc(ts,as),ds=Dc(hs),gs=ns+ps+ds,ms=q*ui,xs=Ac(o,fi),_s=h*li+R*ai+2*Dc(ms),bs=F*ki,ws=Ac(r,Pi),Ms=v*Ti+U*Ai+2*Dc(bs),Ss=ms+bs,ys=zc(xs,ws),Cs=_s+Ms+Dc(Ss),Os=D*$i,Ns=Ac(e,Zi),Es=p*Gi+V*Ji+2*Dc(Os),Is=L*hs,Bs=Ac(c,vs),ks=d*ds+$*gs+2*Dc(Is),Ps=Os+Is,Ts=zc(Ns,Bs),As=Es+ks+Dc(Ps),zs=j*Dt,Ds=Ac(jn,i),qs=Hn*Z+Me*g+2*Dc(zs),Fs=W*Rt,Ls=Ac(fe,u),js=le*J+Ee*x+2*Dc(Fs),Hs=zs+Fs,Ws=zc(Ds,Ls),Ys=qs+js+Dc(Hs),Xs=H*jt,Qs=Ac($n,s),Vs=Zn*G+Se*m+2*Dc(Xs),Rs=Ss+Ps,Us=zc(ys,Ts),$s=Cs+As+Dc(Rs),Zs=Hs+Xs,Gs=zc(Ws,Qs),Js=Ys+Vs+Dc(Zs),Ks=Rs+Zs,tu=zc(Us,Gs),nu=$s+Js+Dc(Ks),eu=At+Ft,ou=zc(Dn,Xn),ru=Dc(eu),cu=qn+Qn+ru,iu=It+At,su=zc(Cn,Dn),uu=Dc(iu),fu=On+qn+uu,lu=C*Lc,au=Tc(C,jc),pu=st*Wc+Dc(lu),hu=I*Lc,vu=Tc(I,jc),du=at*Wc+Dc(hu),gu=nt*eu,mu=Ac(y,ou),xu=P*ru+ut*cu+2*Dc(gu),_u=rt*iu,bu=Ac(E,su),wu=z*uu+pt*fu+2*Dc(_u),Mu=2*qt+Bt,Su=zc(Pc(Wn),Nn),yu=Dc(Mu),Cu=2*Yn+En+yu,Ou=2*Mt+Et,Nu=zc(Pc(ln),Sn),Eu=Dc(Ou),Iu=2*an+yn+Eu,Bu=it*St,ku=Ac(O,pn),Pu=T*hn+vt*vn+2*Dc(Bu),Tu=ot*Qt,Au=Ac(M,re),zu=B*ce+lt*ie+2*Dc(Tu),Du=et*Mu,qu=Ac(S,Su),Fu=k*yu+ft*Cu+2*Dc(Du),Lu=ct*Ou,ju=Ac(N,Nu),Hu=A*Eu+ht*Iu+2*Dc(Lu),Wu=2*(lu+gu),Yu=Pc(zc(au,mu)),Xu=2*(pu+xu)+Dc(Wu),Qu=2*(hu+_u),Vu=Pc(zc(vu,bu)),Ru=2*(du+wu)+Dc(Qu),Uu=2*C*Pt,$u=Pc(Tc(C,Pn)),Zu=2*st*Tn+Dc(Uu),Gu=2*I*$t,Ju=Pc(Tc(I,ve)),Ku=2*at*de+Dc(Gu),tf=nt*Hr,nf=Ac(y,Wr),ef=P*Yr+ut*Xr+2*Dc(tf),of=rt*Qr,rf=Ac(E,Rr),cf=z*Vr+pt*Ur+2*Dc(of),sf=j*Pt,uf=Ac(Pn,i),ff=Tn*Z+we*g+2*Dc(sf),lf=W*$t,af=Ac(ve,u),pf=de*J+Ne*x+2*Dc(lf),hf=Wu+Bu,vf=zc(Yu,ku),df=Dc(hf),gf=Xu+Pu+df,mf=Qu+Tu,xf=zc(Vu,Au),_f=Dc(mf),bf=Ru+zu+_f,wf=hf+Du,Mf=zc(vf,qu),Sf=Dc(wf),yf=gf+Fu+Sf,Cf=mf+Lu,Of=zc(xf,ju),Nf=Dc(Cf),Ef=bf+Hu+Nf,If=Uu+tf,Bf=zc($u,nf),kf=Dc(If),Pf=Zu+ef+kf,Tf=Gu+of,Af=zc(Ju,rf),zf=Dc(Tf),Df=Ku+cf+zf,qf=2*(sf+lf),Ff=Pc(zc(uf,af)),Lf=2*(ff+pf)+Dc(qf),jf=q*wf,Hf=Ac(o,Mf),Wf=h*Sf+R*yf+2*Dc(jf),Yf=F*Cf,Xf=Ac(r,Of),Qf=v*Nf+U*Ef+2*Dc(Yf),Vf=D*If,Rf=Ac(e,Bf),Uf=p*kf+V*Pf+2*Dc(Vf),$f=L*Tf,Zf=Ac(c,Af),Gf=d*zf+$*Df+2*Dc($f),Jf=jf+Yf,Kf=zc(Hf,Xf),tl=Wf+Qf+Dc(Jf),nl=3*(Vf+$f),el=Tc(3,zc(Rf,Zf)),ol=3*(Uf+Gf)+2*Dc(nl),rl=H*Lc,cl=Ac(s,jc),il=m*Hc+G*Wc+2*Dc(rl),sl=Jf+nl,ul=zc(Kf,el),fl=tl+ol+Dc(sl),ll=rl+qf,al=zc(cl,Ff),pl=il+Lf+Dc(ll),hl=sl+ll,vl=zc(ul,al),dl=fl+pl+Dc(hl),gl=It+eu,ml=zc(Cn,ou),xl=Dc(gl),_l=On+cu+xl,bl=2*Ct+kt,wl=zc(Pc(mn),In),Ml=Dc(bl),Sl=2*xn+kn+Ml,yl=2*Zt+Ut,Cl=zc(Pc(ge),ae),Ol=Dc(yl),Nl=2*xe+he+Ol,El=2*C*gl,Il=Tc(2*C,ml),Bl=2*st*_l+Dc(El),kl=2*I*gl,Pl=Tc(2*I,ml),Tl=2*at*_l+Dc(kl),Al=Et+2*Bt,zl=zc(Sn,Pc(Nn)),Dl=Dc(Al),ql=yn+2*En+Dl,Fl=Bt+2*Et,Ll=zc(Nn,Pc(Sn)),jl=Dc(Fl),Hl=En+2*yn+jl,Wl=I*bl,Yl=Tc(I,wl),Xl=at*Sl+Dc(Wl),Ql=C*yl,Vl=Tc(C,Cl),Rl=st*Nl+Dc(Ql),Ul=nt*Al,$l=Ac(y,zl),Zl=P*Dl+ut*ql+2*Dc(Ul),Gl=rt*Fl,Jl=Ac(E,Ll),Kl=z*jl+pt*Hl+2*Dc(Gl),ta=C*bl,na=Tc(C,wl),ea=st*Sl+Dc(ta),oa=I*yl,ra=Tc(I,Cl),ca=at*Nl+Dc(oa),ia=et*St,sa=Ac(S,pn),ua=k*hn+ft*vn+2*Dc(ia),fa=ct*Qt,la=Ac(N,re),aa=A*ce+ht*ie+2*Dc(fa),pa=El+Wl,ha=zc(Il,Yl),va=Bl+Xl+Dc(pa),da=kl+Ql,ga=zc(Pl,Vl),ma=Tl+Rl+Dc(da),xa=pa+Ul,_a=zc(ha,$l),ba=Dc(xa),wa=va+Zl+ba,Ma=da+Gl,Sa=zc(ga,Jl),ya=Dc(Ma),Ca=ma+Kl+ya,Oa=ta+ia,Na=zc(na,sa),Ea=Dc(Oa),Ia=ea+ua+Ea,Ba=oa+fa,ka=zc(ra,la),Pa=Dc(Ba),Ta=ca+aa+Pa,Aa=q*xa,za=Ac(o,_a),Da=h*ba+R*wa+2*Dc(Aa),qa=F*Ma,Fa=Ac(r,Sa),La=v*ya+U*Ca+2*Dc(qa),ja=D*Oa,Ha=Ac(e,Na),Wa=p*Ea+V*Ia+2*Dc(ja),Ya=L*Ba,Xa=Ac(c,ka),Qa=d*Pa+$*Ta+2*Dc(Ya),Va=ja+Ya,Ra=Dc(Va),Ua=zc(Ha,Xa),$a=Wa+Qa+Ra,Za=Aa+qa,Ga=zc(za,Fa),Ja=Da+La+Dc(Za),Ka=Za+3*Va,tp=zc(Ga,Tc(3,Ua)),np=Ja+3*($a+Ra)+Dc(Ka),ep=H*gl,op=Ac(s,ml),rp=m*xl+G*_l+2*Dc(ep),cp=j*bl,ip=Ac(i,wl),sp=g*Ml+Z*Sl+2*Dc(cp),up=ep+cp,fp=zc(op,ip),lp=rp+sp+Dc(up),ap=W*yl,pp=Ac(u,Cl),hp=x*Ol+J*Nl+2*Dc(ap),vp=up+ap,dp=zc(fp,pp),gp=lp+hp+Dc(vp),mp=Ka+vp,xp=zc(tp,dp),_p=np+gp+Dc(mp),bp=Et+Bt,wp=zc(Sn,Nn),Mp=yn+En+Dc(bp),Sp=qt+Mt,yp=zc(Wn,ln),Cp=Yn+an+Dc(Sp),Op=yt+xt,Np=zc(dn,en),Ep=gn+on+Dc(Op),Ip=Dc(Op),Bp=Vt+Xt,kp=zc(se,ee),Pp=ue+oe+Dc(Bp),Tp=Dc(Bp),Ap=2*bp+qt,zp=zc(Pc(wp),Wn),Dp=2*Mp+Yn+Dc(Ap),qp=2*bp+Mt,Fp=zc(Pc(wp),ln),Lp=2*Mp+an+Dc(qp),jp=2*Tt+Nt,Hp=zc(Pc(An),wn),Wp=Dc(jp),Yp=2*zn+Mn+Wp,Xp=2*wt+Nt,Qp=zc(Pc(un),wn),Vp=Dc(Xp),Rp=2*fn+Mn+Vp,Up=Op+yt,$p=zc(Np,dn),Zp=Ep+gn+Dc(Up),Gp=Bp+Vt,Jp=zc(kp,se),Kp=Pp+ue+Dc(Gp),th=3*C,nh=kc(3,C),eh=th*Up,oh=Ac(nh,$p),rh=Dc(th)*Zp+2*Dc(eh),ch=3*I,ih=kc(3,I),sh=ch*Gp,uh=Ac(ih,Jp),fh=Dc(ch)*Kp+2*Dc(sh),lh=nt*St,ah=Ac(y,pn),ph=P*hn+ut*vn+2*Dc(lh),hh=rt*Qt,vh=Ac(E,re),dh=z*ce+pt*ie+2*Dc(hh),gh=j*Op,mh=Ac(i,Np),xh=g*Ip+Z*Ep+2*Dc(gh),_h=W*Bp,bh=Ac(u,kp),wh=x*Tp+J*Pp+2*Dc(_h),Mh=Ap+Sp,Sh=zc(zp,yp),yh=Dp+Cp+Dc(Mh),Ch=qp+Sp,Oh=zc(Fp,yp),Nh=Lp+Cp+Dc(Ch),Eh=C*Mh,Ih=Tc(C,Sh),Bh=st*yh+Dc(Eh),kh=I*Ch,Ph=Tc(I,Oh),Th=at*Nh+Dc(kh),Ah=nt*jp,zh=Ac(y,Hp),Dh=P*Wp+ut*Yp+2*Dc(Ah),qh=rt*Xp,Fh=Ac(E,Qp),Lh=z*Vp+pt*Rp+2*Dc(qh),jh=ot*Y,Hh=Ac(M,f),Wh=B*K+lt*_+2*Dc(jh),Yh=it*X,Xh=Ac(O,l),Qh=T*tt+vt*b+2*Dc(Yh),Vh=Eh+Ah,Rh=zc(Ih,zh),Uh=Dc(Vh),$h=Bh+Dh+Uh,Zh=kh+qh,Gh=zc(Ph,Fh),Jh=Dc(Zh),Kh=Th+Lh+Jh,tv=eh+lh,nv=zc(oh,ah),ev=Dc(tv),ov=rh+ph+ev,rv=sh+hh,cv=zc(uh,vh),iv=Dc(rv),sv=fh+dh+iv,uv=Sp+bp,fv=zc(yp,wp),lv=Dc(uv),av=Cp+Mp+lv,pv=2*(gh+_h),hv=Pc(zc(mh,bh)),vv=2*(xh+wh)+Dc(pv),dv=q*Vh,gv=Ac(o,Rh),mv=h*Uh+R*$h+2*Dc(dv),xv=F*Zh,_v=Ac(r,Gh),bv=v*Jh+U*Kh+2*Dc(xv),wv=D*tv,Mv=Ac(e,nv),Sv=p*ev+V*ov+2*Dc(wv),yv=L*rv,Cv=Ac(c,cv),Ov=d*iv+$*sv+2*Dc(yv),Nv=H*uv,Ev=Ac(s,fv),Iv=m*lv+G*av+2*Dc(Nv),Bv=dv+xv,kv=zc(gv,_v),Pv=mv+bv+Dc(Bv),Tv=wv+yv,Av=zc(Mv,Cv),zv=Sv+Ov+Dc(Tv),Dv=Nv+pv,qv=zc(Ev,hv),Fv=Iv+vv+Dc(Dv),Lv=jh+Yh,jv=zc(Hh,Xh),Hv=Wh+Qh+Dc(Lv),Wv=Bv+Tv,Yv=zc(kv,Av),Xv=Pv+zv+Dc(Wv),Qv=Dv+Lv,Vv=zc(qv,jv),Rv=Fv+Hv+Dc(Qv),Uv=Wv+Qv,$v=zc(Yv,Vv),Zv=Xv+Rv+Dc(Uv),Gv=Nt+Tt,Jv=zc(wn,An),Kv=Mn+zn+Dc(Gv),td=Nt+wt,nd=zc(wn,un),ed=Mn+fn+Dc(td),od=2*Gv+wt,rd=zc(Pc(Jv),un),cd=2*Kv+fn+Dc(od),id=2*td+Tt,sd=zc(Pc(nd),An),ud=2*ed+zn+Dc(id),fd=C*od,ld=Tc(C,rd),ad=st*cd+Dc(fd),pd=I*St,hd=Tc(I,pn),vd=at*vn+Dc(pd),dd=I*id,gd=Tc(I,sd),md=at*ud+Dc(dd),xd=C*Qt,_d=Tc(C,re),bd=st*ie+Dc(xd),wd=C*St,Md=Tc(C,pn),Sd=st*vn+Dc(wd),yd=et*dt,Cd=Ac(S,Gt),Od=k*_e+2*Dc(yd),Nd=I*Qt,Ed=Tc(I,re),Id=at*ie+Dc(Nd),Bd=ct*Ht,kd=Ac(N,Gn),Pd=A*Ce+2*Dc(Bd),Td=fd+pd,Ad=zc(ld,hd),zd=Dc(Td),Dd=ad+vd+zd,qd=dd+xd,Fd=zc(gd,_d),Ld=Dc(qd),jd=md+bd+Ld,Hd=wd+yd,Wd=zc(Md,Cd),Yd=Dc(Hd),Xd=Sd+Od+Yd,Qd=Nd+Bd,Vd=zc(Ed,kd),Rd=Dc(Qd),Ud=Id+Pd+Rd,$d=D*Hd,Zd=Ac(e,Wd),Gd=p*Yd+V*Xd+2*Dc($d),Jd=L*Qd,Kd=Ac(c,Vd),tg=d*Rd+$*Ud+2*Dc(Jd),ng=3*($d+Jd),eg=Tc(3,zc(Zd,Kd)),og=3*(Gd+tg)+2*Dc(ng),rg=Gv+wt,cg=zc(Jv,un),ig=Dc(rg),sg=Kv+fn+ig,ug=2*mt+St,fg=zc(Pc(tn),pn),lg=Dc(ug),ag=2*nn+vn+lg,pg=2*Yt+Qt,hg=zc(Pc(te),re),vg=Dc(pg),dg=2*ne+ie+vg,gg=q*Td,mg=Ac(o,Ad),xg=h*zd+R*Dd+2*Dc(gg),_g=F*qd,bg=Ac(r,Fd),wg=v*Ld+U*jd+2*Dc(_g),Mg=H*rg,Sg=Ac(s,cg),yg=m*ig+G*sg+2*Dc(Mg),Cg=j*ug,Og=Ac(i,fg),Ng=g*lg+Z*ag+2*Dc(Cg),Eg=W*pg,Ig=Ac(u,hg),Bg=x*vg+J*dg+2*Dc(Eg),kg=et*Y,Pg=Ac(S,f),Tg=k*K+ft*_+2*Dc(kg),Ag=ct*X,zg=Ac(N,l),Dg=A*tt+ht*b+2*Dc(Ag),qg=kg+Ag,Fg=zc(Pg,zg),Lg=Tg+Dg+Dc(qg),jg=gg+_g,Hg=zc(mg,bg),Wg=xg+wg+Dc(jg),Yg=ng+Mg,Xg=zc(eg,Sg),Qg=og+yg+Dc(Yg),Vg=Cg+Eg,Rg=zc(Og,Ig),Ug=Ng+Bg+Dc(Vg),$g=jg+Yg,Zg=zc(Hg,Xg),Gg=Wg+Qg+Dc($g),Jg=Vg+qg,Kg=zc(Rg,Fg),tm=Ug+Lg+Dc(Jg),nm=$g+Jg,em=zc(Zg,Kg),om=Gg+tm+Dc(nm),rm=Ot+bt,cm=zc(_n,cn),im=Dc(rm),sm=bn+sn+im,um=C*q,fm=Tc(C,o),lm=Dc(um),am=st*h+lm,pm=I*F,hm=Tc(I,r),vm=Dc(pm),dm=at*v+vm,gm=rm+Ot,mm=zc(cm,_n),xm=Dc(gm),_m=sm+bn+xm,bm=rm+bt,wm=zc(cm,cn),Mm=Dc(bm),Sm=sm+sn+Mm,ym=nt*dt,Cm=Ac(y,Gt),Om=Dc(ym),Nm=P*_e+2*Om,Em=ym*D,Im=Ac(Cm,e),Bm=Nm*V+Om*p+2*Dc(Em),km=rt*Ht,Pm=Ac(E,Gn),Tm=Dc(km),Am=z*Ce+2*Tm,zm=km*L,Dm=Ac(Pm,c),qm=Am*$+Tm*d+2*Dc(zm),Fm=H*rm,Lm=Ac(s,cm),jm=m*im+G*sm+2*Dc(Fm),Hm=gt*j,Wm=Ac(Jt,i),Ym=Kt*Z+be*g+2*Dc(Hm),Xm=Wt*W,Qm=Ac(Jn,u),Vm=Kn*J+Oe*x+2*Dc(Xm),Rm=Hm+Xm,Um=zc(Wm,Qm),$m=Ym+Vm+Dc(Rm),Zm=nt*Y,Gm=Ac(y,f),Jm=P*K+ut*_+2*Dc(Zm),Km=rt*X,tx=Ac(E,l),nx=z*tt+pt*b+2*Dc(Km),ex=Zm+Km,ox=zc(Gm,tx),rx=Jm+nx+Dc(ex),cx=um*gm,ix=Ac(fm,mm),sx=am*xm+lm*_m+2*Dc(cx),ux=pm*bm,fx=Ac(hm,wm),lx=dm*Mm+vm*Sm+2*Dc(ux),ax=cx+ux,px=zc(ix,fx),hx=sx+lx+Dc(ax),vx=3*(Em+zm),dx=Tc(3,zc(Im,Dm)),gx=3*(Bm+qm)+2*Dc(vx),mx=Fm+2*Rm,xx=zc(Lm,Pc(Um)),_x=jm+2*$m+Dc(mx),bx=ax+vx,wx=zc(px,dx),Mx=hx+gx+Dc(bx),Sx=mx+ex,yx=zc(xx,ox),Cx=_x+rx+Dc(Sx),Ox=bx+Sx,Nx=zc(wx,yx),Ex=Mx+Cx+Dc(Ox),Ix=C*D,Bx=Tc(C,e),kx=st*p+Dc(Ix),Px=I*q,Tx=Tc(I,o),Ax=at*h+Dc(Px),zx=Ix+Px,Dx=zc(Bx,Tx),qx=kx+Ax+Dc(zx),Fx=C*F,Lx=Tc(C,r),jx=st*v+Dc(Fx),Hx=I*L,Wx=Tc(I,c),Yx=at*d+Dc(Hx),Xx=Fx+Hx,Qx=zc(Lx,Wx),Vx=jx+Yx+Dc(Xx),Rx=zx+j,Ux=zc(Dx,i),$x=qx+g+Dc(Rx),Zx=Xx+W,Gx=zc(Qx,u),Jx=Vx+x+Dc(Zx),Kx=dt*Rx,t_=Ac(Gt,Ux),n_=_e*$x+2*Dc(Kx),e_=Ht*Zx,o_=Ac(Gn,Gx),r_=Ce*Jx+2*Dc(e_),c_=Kx+e_,i_=zc(t_,o_),s_=n_+r_+Dc(c_),u_=_t*H,f_=Ac(rn,s),l_=ye*m+2*Dc(u_),a_=c_+u_,p_=zc(i_,f_),h_=s_+l_+Dc(a_),v_=C*Y,d_=Tc(C,f),g_=st*_+Dc(v_),m_=I*X,x_=Tc(I,l),__=at*b+Dc(m_),b_=v_+m_,w_=zc(d_,x_),M_=g_+__+Dc(b_),S_=a_+b_,y_=zc(p_,w_),C_=h_+M_+Dc(S_),O_=S_+Q;return{coeffs:[lo,er,qc,tu,vl,xp,$v,em,Nx,zc(y_,a)],errBound:[ao,or,Fc,nu,dl,_p,Zv,om,Ex,C_+w+Dc(O_)]}}]],ss=[[Gc,Pi,Ui],[li,Fi,ts],[Ei,Xi,function(t,n){const e=Wc(t);if(0===bt(e[0][0])&&0===bt(e[1][0]))return ts(di(t),n);const[[o,r,c,[i]],[s,u,f,[l]]]=Wc(n);if(0===bt(o)&&0===bt(s))return Xi(t,di(n));const{vₓₓₓ:a,vₓₓᵧ:p,vₓᵧᵧ:h,vᵧᵧᵧ:v,vₓₓ:d,vₓᵧ:g,vᵧᵧ:m,vₓ:x,vᵧ:_,v:b}=Mi(e),w=ns(i,i),M=es(i,c),S=es(i,r),y=es(i,o),C=ns(i,l),O=es(i,f),N=es(i,u),E=es(i,s),I=os(c,c),B=os(c,r),k=os(c,o),P=es(l,c),T=os(c,f),A=os(c,u),z=os(c,s),D=os(r,f),q=os(r,r),F=os(r,o),L=es(l,r),j=os(r,u),H=os(r,s),W=os(o,o),Y=es(l,o),X=os(o,f),Q=os(o,u),V=os(o,s),R=ns(l,l),U=es(l,f),$=es(l,u),Z=es(l,s),G=os(f,f),J=os(f,u),K=os(s,s),tt=os(u,u),nt=os(u,s),et=os(f,s),ot=os(o,W),rt=os(o,K),ct=os(s,W),it=os(s,K),st=os(ot,a),ut=os(rt,h),ft=os(ct,p),lt=os(it,v),at=rs(st,ut),pt=rs(ft,lt),ht=rs(at,pt),vt=rs(cs(H),Q),dt=rs(cs(Q),H),gt=os(o,vt),mt=os(s,dt),xt=os(r,W),_t=os(u,K),wt=os(a,xt),Mt=os(v,_t),St=os(p,gt),yt=os(h,mt),Ct=rs(St,yt),Ot=es(3,rs(wt,Mt)),Nt=rs(Ct,Ot),Et=os(c,V),It=os(f,W),Bt=os(r,nt),kt=os(c,K),Pt=os(r,Q),Tt=os(s,q),At=os(o,et),zt=os(u,Q),Dt=rs(Et,Pt),qt=rs(It,Tt),Ft=rs(Bt,At),Lt=rs(kt,zt),jt=rs(k,q),Ht=rs(et,tt),Wt=rs(cs(Dt),qt),Yt=rs(cs(Ft),Lt),Xt=os(p,Wt),Qt=os(h,Yt),Vt=os(o,jt),Rt=os(s,Ht),Ut=os(a,Vt),$t=os(v,Rt),Zt=rs(Xt,Qt),Gt=es(3,rs(Ut,$t)),Jt=rs(Zt,Gt),Kt=rs(H,Q),tn=os(u,q),nn=cs(os(c,Kt)),en=rs(tn,nn),on=cs(rs(E,D)),rn=rs(on,Y),cn=os(o,rn),sn=rs(en,cn),un=os(r,tt),fn=cs(os(f,Kt)),ln=rs(un,fn),an=cs(rs(A,Y)),pn=rs(an,E),hn=os(s,pn),vn=rs(ln,hn),dn=os(r,q),gn=rs(cs(B),y),mn=os(es(3,o),gn),xn=rs(dn,mn),_n=os(u,tt),bn=rs(cs(J),Z),wn=os(es(3,s),bn),Mn=rs(_n,wn),Sn=os(p,sn),yn=os(h,vn),Cn=rs(Sn,yn),On=os(a,xn),Nn=os(v,Mn),En=rs(On,Nn),In=os(W,d),Bn=os(K,m),kn=rs(In,Bn),Pn=os(V,g),Tn=rs(Cn,En),An=rs(kn,Pn),zn=rs(Tn,An),Dn=rs(j,X),qn=rs(z,j),Fn=es(i,Kt),Ln=es(l,Kt),jn=os(c,Dn),Hn=os(f,qn),Wn=rs(cs(Y),D),Yn=rs(cs(E),A),Xn=os(s,I),Qn=os(o,G),Vn=os(r,Wn),Rn=os(u,Yn),Un=cs(rs(Fn,jn)),$n=cs(rs(Ln,Hn)),Zn=cs(es(i,F)),Gn=cs(es(l,nt)),Jn=os(c,jt),Kn=os(f,Ht),te=os(F,d),ne=os(nt,m),ee=rs(Un,Xn),oe=rs($n,Qn),re=rs(ee,Vn),ce=rs(oe,Rn),ie=rs(Zn,Jn),se=rs(Gn,Kn),ue=cs(rs(te,ne)),fe=os(p,re),le=os(h,ce),ae=os(a,ie),pe=os(v,se),he=rs(fe,le),ve=es(3,rs(ae,pe)),de=os(g,Kt),me=rs(he,ve),xe=rs(de,ue),_e=rs(me,xe),be=rs(z,Dn),we=rs(cs(k),q),Me=rs(cs(et),tt),Se=es(2*i,be),ye=es(2*l,be),Ce=rs(A,cs(D)),Oe=rs(D,cs(A)),Ne=es(l,we),Ee=es(i,Me),Ie=os(c,Ce),Be=os(f,Oe),ke=es(i,we),Pe=es(l,Me),Te=os(r,I),Ae=os(u,G),ze=rs(Se,Ne),De=rs(ye,Ee),qe=rs(ze,Ie),Fe=rs(De,Be),Le=rs(ke,Te),je=rs(Pe,Ae),He=os(p,qe),We=os(h,Fe),Ye=os(a,Le),Xe=os(v,je),Qe=rs(Ye,Xe),Ve=rs(He,We),Re=rs(Ve,es(3,Qe)),Ue=os(g,be),$e=os(d,we),Ze=rs(Ue,$e),Ge=os(m,Me),Je=rs(Ze,Ge),Ke=rs(Re,Je),to=rs(A,D),no=rs(Y,E),eo=rs(B,y),oo=rs(J,Z),ro=rs(cs(to),Y),co=rs(cs(to),E),io=rs(cs(L),T),so=rs(cs(N),T),uo=rs(eo,B),fo=rs(oo,J),lo=os(ns(3,i),uo),ao=os(ns(3,l),fo),po=os(c,I),ho=os(f,G),vo=os(d,eo),go=os(m,oo),mo=rs(ro,no),xo=rs(co,no),_o=es(i,mo),bo=es(l,xo),wo=os(c,io),Mo=os(f,so),So=os(o,x),yo=os(s,_),Co=rs(_o,wo),Oo=rs(bo,Mo),No=rs(lo,po),Eo=rs(ao,ho),Io=rs(no,to),Bo=cs(rs(vo,go)),ko=os(p,Co),Po=os(h,Oo),To=os(a,No),Ao=os(v,Eo),zo=os(g,Io),Do=rs(ko,Po),qo=rs(To,Ao),Fo=rs(zo,Bo),Lo=rs(So,yo),jo=rs(Do,qo),Ho=rs(Fo,Lo),Wo=rs(jo,Ho),Yo=rs(T,L),Xo=rs(T,N),Qo=rs(cs(Yo),N),Vo=rs(cs(Xo),L),Ro=es(i,Qo),Uo=es(l,I),$o=es(l,Vo),Zo=es(i,G),Go=es(i,I),Jo=os(r,w),Ko=es(l,G),tr=os(u,R),nr=rs(Ro,Uo),er=rs($o,Zo),or=rs(Go,Jo),rr=rs(Ko,tr),cr=os(a,or),ir=os(v,rr),sr=es(3,rs(cr,ir)),ur=rs(Yo,N),fr=rs(cs(S),I),lr=rs(cs($),G),ar=os(p,nr),pr=os(h,er),hr=os(g,ur),vr=os(d,fr),dr=os(m,lr),gr=os(r,x),mr=os(u,_),xr=rs(gr,mr),_r=rs(ar,pr),br=rs(sr,hr),wr=rs(vr,dr),Mr=rs(_r,br),Sr=rs(wr,xr),yr=rs(Mr,Sr),Cr=rs(P,O),Or=es(i,p),Nr=es(l,h),Er=rs(Cr,P),Ir=rs(Cr,O),Br=os(c,w),kr=os(Br,a),Pr=os(f,R),Tr=os(Pr,v),Ar=os(g,Cr),zr=os(M,d),Dr=os(U,m),qr=rs(zr,Dr),Fr=os(c,x),Lr=os(f,_),jr=rs(Fr,Lr),Hr=os(Or,Er),Wr=os(Nr,Ir),Yr=rs(Hr,Wr),Xr=es(3,rs(kr,Tr)),Qr=rs(Ar,cs(qr)),Vr=rs(Yr,Xr),Rr=rs(Qr,jr),Ur=rs(Vr,Rr),$r=es(i,a),Zr=es(l,p),Gr=rs($r,Zr),Jr=es(i,h),Kr=es(l,v),tc=rs(Jr,Kr),nc=rs(Gr,d),ec=rs(tc,m),oc=os(w,nc),rc=os(R,ec),cc=rs(oc,rc),ic=os(C,g),sc=rs(cc,ic),uc=es(i,x),fc=es(l,_),lc=rs(uc,fc),ac=rs(sc,lc);return[ht,Nt,Jt,zn,_e,Ke,Wo,yr,Ur,rs(ac,b)].map(ge)}]];function us(t,n){const{coeffs:e,errBound:o}=is[t.length-2][n.length-2](t,n);return{coeffs:e,errBound:o,getPExact:()=>ss[t.length-2][n.length-2](t,n)}}const{abs:fs}=Math;function ls(t,n){if(0===n[0]&&0===n[1])return[0,0];if(0===n[0]&&1===n[1])return[0,0];const e=fs(n[1]);if(4===t.length){const[[n,o],[r,c],[i,s],[u,f]]=t,l=fs(n),a=fs(o),p=fs(r),h=fs(c),v=fs(i),d=fs(s),g=l+(p+l)*e,m=p+(v+p)*e,x=g+(m+g)*e,_=a+(h+a)*e,b=h+(d+h)*e,w=_+(b+_)*e;return[x+(m+(v+(fs(u)+v)*e+m)*e+x)*e,w+(b+(d+(fs(f)+d)*e+b)*e+w)*e]}if(3===t.length){const[[n,o],[r,c],[i,s]]=t,u=fs(n),f=fs(o),l=fs(r),a=fs(c),p=u+(l+u)*e,h=f+(a+f)*e;return[p+(l+(fs(i)+l)*e+p)*e,h+(a+(fs(s)+a)*e+h)*e]}if(2===t.length){const[[n,o],[r,c]]=t,i=fs(n),s=fs(o);return[i+(fs(r)+i)*e,s+(fs(c)+s)*e]}if(1===t.length)return[0,0];throw new Error("The given bezier curve must be of order <= 3.")}const as=Number.EPSILON,ps=Number.EPSILON/2,hs=ps*ps,vs=function(){const t=1*ps;return t/(1-t)}(),ds=function(){const t=3*hs;return t/(1-t)}(),{abs:gs}=Math,ms=[[0,0],[0,0],[0,0],[0,0]];const{abs:xs}=Math,_s=[[0,0],[0,0],[0,0]];const{abs:bs}=Math,ws=[[0,0],[0,0]];const{min:Ms,max:Ss}=Math;function ys(t,n){return n[0]!==n[1]?4===t.length?function(t,n){const{ps:e,_ps:o}=function(t,n,e){return 0===n?1===e?{ps:t,_ps:ms}:function(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=c[0],h=c[1],v=i-n*(i-u),d=u-n*(u-l),g=v-n*(v-d),m=g-n*(g-(d-n*(d-(l-n*(l-p))))),x=s-n*(s-f),_=f-n*(f-a),b=x-n*(x-_),w=b-n*(b-(_-n*(_-(a-n*(a-h))))),M=gs(n),S=gs(i),y=gs(u),C=gs(l),O=gs(p),N=gs(s),E=gs(f),I=gs(a),B=S+M*(S+y),k=y+M*(y+C),P=B+M*(B+k),T=N+M*(N+E),A=E+M*(E+I),z=T+M*(T+A);return{ps:[[i,s],[v,x],[g,b],[m,w]],_ps:[[0,0],[B,T],[P,z],[P+M*(P+(k+M*(k+(C+M*(C+O))))),z+M*(z+(A+M*(A+(I+M*(I+gs(h))))))]]}}(t,e):1===e?function(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=c[0],h=c[1],v=i-n*(i-u),d=u-n*(u-l),g=l-n*(l-p),m=v-n*(v-d),x=d-n*(d-g),_=m-n*(m-x),b=s-n*(s-f),w=f-n*(f-a),M=a-n*(a-h),S=b-n*(b-w),y=w-n*(w-M),C=S-n*(S-y),O=gs(n),N=gs(i),E=gs(u),I=gs(l),B=gs(p),k=gs(s),P=gs(f),T=gs(a),A=N+O*(N+E),z=E+O*(E+I),D=I+O*(I+B),q=A+O*(A+z),F=z+O*(z+D),L=k+O*(k+P),j=P+O*(P+T),H=T+O*(T+gs(h)),W=L+O*(L+j),Y=j+O*(j+H);return{ps:[[_,C],[x,y],[g,M],[p,h]],_ps:[[q+O*(q+F),W+O*(W+Y)],[F,Y],[D,H],[0,0]]}}(t,n):function(t,n,e){const o=t[0],r=t[1],c=t[2],i=t[3],s=o[0],u=o[1],f=r[0],l=r[1],a=c[0],p=c[1],h=i[0],v=i[1],d=n*n,g=n*d,m=e*e,x=e*m,_=n*e,b=s-f,w=a-f,M=b+w,S=n*b,y=e*b,C=h-s-3*w,O=u-l,N=p-l,E=O+N,I=n*O,B=e*O,k=v-u-3*N,P=g*C+(3*n*(n*M-b)+s),T=_*(n*C+2*M)+(d*M+s-(y+2*S)),A=_*(e*C+2*M)+(m*M+s-(2*y+S)),z=x*C+(3*e*(e*M-b)+s),D=g*k+(3*n*(n*E-O)+u),q=_*(n*k+2*E)+(d*E+u-(B+2*I)),F=_*(e*k+2*E)+(m*E+u-(2*B+I)),L=x*k+(3*e*(e*E-O)+u),j=gs(n),H=gs(e),W=gs(_),Y=gs(g),X=gs(x),Q=gs(s),V=gs(f),R=Q+V,U=gs(a)+V,$=R+U,Z=j*R,G=H*R,J=gs(h)+Q+3*U,K=gs(u),tt=gs(l),nt=K+tt,et=gs(p)+tt,ot=nt+et,rt=j*nt,ct=H*nt,it=gs(v)+K+3*et;return{ps:[[P,D],[T,q],[A,F],[z,L]],_ps:[[Y*J+(3*j*(j*$+R)+Q),Y*it+(3*j*(j*ot+nt)+K)],[W*(j*J+2*$)+(d*$+Q+(G+2*Z)),W*(j*it+2*ot)+(d*ot+K+(ct+2*rt))],[W*(H*J+2*$)+(m*$+Q+(2*G+Z)),W*(H*it+2*ot)+(m*ot+K+(2*ct+rt))],[X*J+(3*H*(H*$+R)+Q),X*it+(3*H*(H*ot+nt)+K)]]}}(t,n,e)}(t,n[0],n[1]),r=e[0][0],c=e[1][0],i=e[2][0],s=e[3][0],u=9*ps*o[0][0],f=9*ps*o[1][0],l=9*ps*o[2][0],a=9*ps*o[3][0],p=e[0][1],h=e[1][1],v=e[2][1],d=e[3][1],g=9*ps*o[0][1],m=9*ps*o[1][1],x=9*ps*o[2][1],_=9*ps*o[3][1],b=Ms(r-u,c-f,i-l,s-a),w=Ss(r+u,c+f,i+l,s+a);return[[b,Ms(p-g,h-m,v-x,d-_)],[w,Ss(p+g,h+m,v+x,d+_)]]}(t,n):3===t.length?function(t,n){const{ps:e,_ps:o}=function(t,n,e){return 0===n?1===e?{ps:t,_ps:_s}:function(t,n){const e=t[0],o=t[1],r=t[2],c=e[0],i=e[1],s=o[0],u=o[1],f=r[0],l=r[1],a=n*n,p=c-s,h=i-u,v=[[c,i],[-n*p+c,-n*h+i],[a*(p+(f-s))-(2*n*p-c),a*(h+(l-u))-(2*n*h-i)]],d=xs(n),g=xs(c),m=xs(s),x=xs(f),_=g+m,b=xs(i),w=xs(u),M=b+w;return{ps:v,_ps:[[0,0],[d*_+g,d*M+b],[a*(_+(x+m))+(2*d*_+g),a*(M+(xs(l)+w))+(2*d*M+b)]]}}(t,e):1===e?function(t,n){const e=t[0],o=t[1],r=t[2],c=e[0],i=e[1],s=o[0],u=o[1],f=r[0],l=r[1],a=n*n,p=c-s,h=f-s,v=i-u,d=l-u,g=[[a*(p+h)-(2*n*p-c),a*(v+d)-(2*n*v-i)],[n*h+s,n*d+u],[f,l]],m=xs(n),x=xs(c),_=xs(s),b=x+_,w=xs(f)+_,M=xs(i),S=xs(u),y=M+S,C=xs(l)+S;return{ps:g,_ps:[[a*(b+w)+(2*m*b+x),a*(y+C)+(2*m*y+M)],[m*w+_,m*C+S],[0,0]]}}(t,n):function(t,n,e){const o=t[0],r=t[1],c=t[2],i=o[0],s=o[1],u=r[0],f=r[1],l=c[0],a=c[1],p=n*n,h=e*e,v=n*e,d=i-u,g=d+(l-u),m=s-f,x=m+(a-f),_=p*g-(2*n*d-i),b=v*g-(d*(e+n)-i),w=h*g-(2*e*d-i),M=p*x-(2*n*m-s),S=v*x-(m*(e+n)-s),y=h*x-(2*e*m-s),C=xs(n),O=xs(e),N=xs(v),E=xs(i),I=xs(u),B=E+I,k=B+xs(l)+I,P=xs(s),T=xs(f),A=P+T,z=A+xs(a)+T;return{ps:[[_,M],[b,S],[w,y]],_ps:[[p*k+(2*C*B+E),p*z+(2*C*A+P)],[N*k+(B*(O+C)+E),N*z+(A*(O+C)+P)],[h*k+(2*O*B+E),h*z+(2*O*A+P)]]}}(t,n,e)}(t,n[0],n[1]),r=e[0][0],c=e[1][0],i=e[2][0],s=5*ps*o[0][0],u=5*ps*o[1][0],f=5*ps*o[2][0],l=e[0][1],a=e[1][1],p=e[2][1],h=5*ps*o[0][1],v=5*ps*o[1][1],d=5*ps*o[2][1],g=Ms(r-s,c-u,i-f),m=Ss(r+s,c+u,i+f);return[[g,Ms(l-h,a-v,p-d)],[m,Ss(l+h,a+v,p+d)]]}(t,n):function(t,n){const{ps:e,_ps:o}=function(t,n,e){return 0===n?1===e?{ps:t,_ps:ws}:function(t,n){const e=t[0],o=t[1],r=e[0],c=e[1],i=o[0],s=o[1],u=[[r,c],[n*(i-r)+r,n*(s-c)+c]],f=bs(n),l=bs(r),a=bs(i),p=bs(c);return{ps:u,_ps:[[0,0],[f*(a+l)+l,f*(bs(s)+p)+p]]}}(t,e):1===e?function(t,n){const e=t[0],o=t[1],r=e[0],c=e[1],i=o[0],s=o[1],u=[[n*(i-r)+r,n*(s-c)+c],[i,s]],f=bs(n),l=bs(r),a=bs(i),p=bs(c);return{ps:u,_ps:[[f*(a+l)+l,f*(bs(s)+p)+p],[0,0]]}}(t,n):function(t,n,e){const o=t[0],r=t[1],c=o[0],i=o[1],s=r[0],u=r[1],f=[[n*(s-c)+c,n*(u-i)+i],[e*(s-c)+c,e*(u-i)+i]],l=bs(n),a=bs(e),p=bs(c),h=bs(s),v=bs(i),d=bs(u);return{ps:f,_ps:[[l*(h+p)+p,l*(d+v)+v],[a*(h+p)+p,a*(d+v)+v]]}}(t,n,e)}(t,n[0],n[1]),r=e[0][0],c=e[1][0],i=3*ps*o[0][0],s=3*ps*o[1][0],u=e[0][1],f=e[1][1],l=3*ps*o[0][1],a=3*ps*o[1][1],p=Ms(r-i,c-s),h=Ss(r+i,c+s);return[[p,Ms(u-l,f-a)],[h,Ss(u+l,f+a)]]}(t,n):function(t,n){const e=t[0],o=t[t.length-1];if(0===n)return[e,e];if(1===n)return[o,o];const r=go(t,n);let c;if(4===t.length)c=ls(t,[0,n]).map(t=>9*vs*t);else if(3===t.length)c=ls(t,[0,n]).map(t=>6*vs*t);else if(2===t.length)c=ls(t,[0,n]).map(t=>3*vs*t);else if(1===t.length)return[r,r];return[[r[0]-c[0],r[1]-c[1]],[r[0]+c[0],r[1]+c[1]]]}(t,n[0])}const Cs=134217729;function Os(t,n){const e=t[0],o=t[1],r=n[0],c=n[1],i=o/c,s=c*i,u=Cs*c,f=u-(u-c),l=c-f,a=Cs*i,p=a-(a-i),h=i-p,v=r*i,d=s+v,g=v-(d-s)+(l*h-(s-f*p-l*p-f*h)),m=d+g,x=(o-m+(e-(g-(m-d))))/c,_=i+x;return[x-(_-i),_]}const Ns=Number.EPSILON/2,Es=Ns*Ns,Is=Ns*Ns*Ns,{abs:Bs}=Math,ks=[0,1],Ps=Yo,Ts=Qo,As=Wo,zs=Ho,Ds=ur,qs=Nr,Fs=function(t,n,e,o){const r=t[0],c=t[1],i=n[0],s=n[1],u=Os(t,n),f=Math.abs(r+c),l=Math.abs(i+s),a=l-Ns*l-o;return a<=0?{est:u,err:Number.POSITIVE_INFINITY}:{est:u,err:(l*e+f*o)/a**2+(15*Es+56*Is)*Math.abs(f/l)}},Ls=cr,js=ir;const Hs=er,Ws=Qo,{min:Ys,max:Xs}=Math;function Qs(t,n,e,o){const{ps:r}=t,c=us(n,r);if(void 0===c)return;const{coeffs:i,errBound:s,getPExact:u}=c,f=nt(u),l=vo(i,e[0],e[1],s,f);if(void 0===l||0===l.length)return;const a=l[0],p=function(t,n,e){const o=ys(t,[e.tS,e.tE]),r=n[0],c=n[n.length-1],i=c[0]-r[0],s=c[1]-r[1],[[u,f],[l,a]]=o,p=0===s,h=p?r[0]:r[1],v=p?i:s,d=((p?u:f)-h)/v,g=((p?l:a)-h)/v;let m=Ys(d,g)*(1-ce),x=Xs(d,g)*(1+ce);return{multiplicity:1,t:(m+x)/2,tS:m,tE:x}}(r,n,a);return{xPs:{compensated:void 0,ri:a,getPExact:f,kind:1,p:void 0,curve:t},riSide:p,sideIdx:o,ps:r}}const Vs=nt(function(t,n,e,o){const r=t.x.curve,c=t.x.ri.tS,i=e?t.next:t.prev,s=e?1:0,u=r===i.x.curve&&(e?c<i.x.ri.tS:c>i.x.ri.tS)?i.x.ri.tS:s;let f;for(let t=0;t<o.length;t++){const e=o[t],i=Qs(r,n[e],c<u?[c,u]:[u,c],e);void 0!==i&&(f=i)}return f});function Rs(t){const n=(t=ge(t)).length;return 2===n?t:n<=1?[0,t[0]]:[t[n-2],t[n-1]]}const{abs:Us,log2:$s,ceil:Zs}=Math;function Gs(t,n){const{tS:e,tE:o}=t,r=o-e;if(0===r)return[{tS:[0,e],tE:[0,e],multiplicity:t.multiplicity}];const c=2**Zs($s(r)),i=function(t,n,e){return Ie(Ee(t,e),n)}(n,c,e),s=i.map(Rs),u=s.map(t=>2*Us(t[1])),f=vo(s,0,1,u,()=>i),l=[];for(const t of f)l.push({tS:yt(e,t.tS*c),tE:yt(e,t.tE*c),multiplicity:t.multiplicity});return l}function Js(t,n){let e;const{_x_:o,dir:r,idx:c,swapped:i}=t,{_x_:s,dir:u,idx:f,swapped:l}=n,a=nu(o.container.bigBox),p=1===r!=!!i,h=1===u!=!!l,v=t.oSideIdxs??nr(t,o,a,p),d=n.oSideIdxs??nr(n,s,a,h);if(1===v.length&&1===d.length&&(t.oSideIdx=t.oSideIdx??v[0],n.oSideIdx=n.oSideIdx??d[0],e=v[0]-d[0],0!==e))return e;const g=t.oFSC??Vs(o,a,p,v),m=n.oFSC??Vs(s,a,h,d),{sideIdx:x,riSide:_}=g,{sideIdx:b,riSide:w}=m;if(e=x-b,0!==e)return t.oSideIdx=x,n.oSideIdx=b,e;if(e=function(t,n){return t.tS<=n.tE&&n.tS<=t.tE}(_,w)?0:_.tS<w.tS?-1:1,0!==e)return e;const M=t.oFSCE??tu(g,a),S=n.oFSCE??tu(m,a);return e=function(t,n){return Lo(t.tS,n.tE)<=0&&Lo(n.tS,t.tE)<=0}(M,S)?0:Lo(M.tS,S.tS),0!==e?e:(e=r-u,0!==e?e:1===r?c-f:f-c)}const Ks=nt(Gs),tu=nt(function(t,n){const{xPs:e,ps:o,sideIdx:r}=t,{ri:c,getPExact:i}=e,s=Ks(c,i())[0];return function(t,n,e){const o=function(t,n){return n[0][0]!==n[1][0]||n[0][1]!==n[1][1]?4===t.length?function([[t,n],[e,o],[r,c],[i,s]],[u,f]){const l=Ps(f,u),a=3*hs*Bs(l[1]),p=Ps(ks,u),h=3*hs*Bs(p[1]),v=Fs(l,p,a,h);f=Ts(v.est,v.err);const d=Ps(ks,u),g=zs(u,u),m=zs(u,d),x=zs(d,d),_=zs(g,u),b=zs(g,d),w=zs(x,u),M=zs(x,d),S=Ps(ks,f),y=zs(f,f),C=zs(f,S),O=zs(S,S),N=zs(y,f),E=zs(y,S),I=zs(O,f),B=zs(O,S),k=Bs(u[1]),P=Bs(d[1]),T=Bs(g[1]),A=Bs(m[1]),z=Bs(x[1]),D=Bs(_[1]),q=Bs(b[1]),F=Bs(w[1]),L=Bs(M[1]),j=Bs(f[1]),H=Bs(S[1]),W=Bs(y[1]),Y=Bs(C[1]),X=Bs(O[1]),Q=Bs(N[1]),V=Bs(E[1]),R=Bs(I[1]),U=Bs(B[1]);let $=Bs(t),Z=Bs(n),G=Bs(e),J=Bs(o),K=Bs(r),tt=Bs(c),nt=Bs(i),et=Bs(s);const ot=As(Ds(i,u),Ds(r,d)),rt=As(As(Ds(i,g),Ds(2*r,m)),Ds(e,x)),ct=As(As(Ds(i,_),Ds(t,M)),Ds(3,As(Ds(r,b),Ds(e,w)))),it=As(zs(rt,f),zs(ct,S)),st=As(As(zs(ot,y),zs(ct,O)),zs(qs(rt),C)),ut=As(As(Ds(i,N),zs(ct,B)),Ds(3,As(zs(ot,E),zs(rt,I)))),ft=nt*k+K*P,lt=nt*T+2*K*A+G*z;$=nt*D+$*L+3*(K*q+G*F),G=lt*j+$*H,K=ft*W+$*X+2*lt*Y,nt=nt*Q+$*U+3*(ft*V+lt*R),$*=11*ds,G*=15*ds,K*=20*ds,nt*=22*ds;const at=As(Ds(s,u),Ds(c,d)),pt=As(As(Ds(s,g),Ds(2*c,m)),Ds(o,x)),ht=As(As(Ds(s,_),Ds(n,M)),Ds(3,As(Ds(c,b),Ds(o,w)))),vt=As(zs(pt,f),zs(ht,S)),dt=As(As(zs(at,y),zs(ht,O)),zs(qs(pt),C)),gt=As(As(Ds(s,N),zs(ht,B)),Ds(3,As(zs(at,E),zs(pt,I)))),mt=et*k+tt*P,xt=et*T+2*tt*A+J*z;Z=et*D+Z*L+3*(tt*q+J*F),J=xt*j+Z*H,tt=mt*W+Z*X+2*xt*Y,et=et*Q+Z*U+3*(mt*V+xt*R),Z*=11*ds,J*=15*ds,tt*=20*ds,et*=22*ds;const _t=Ls(Ls(Ts(ct,-$),Ts(it,-G)),Ls(Ts(st,-K),Ts(ut,-nt))),bt=js(js(Ts(ct,+$),Ts(it,+G)),js(Ts(st,+K),Ts(ut,+nt)));return[[_t,Ls(Ls(Ts(ht,-Z),Ts(vt,-J)),Ls(Ts(dt,-tt),Ts(gt,-et)))],[bt,js(js(Ts(ht,+Z),Ts(vt,+J)),js(Ts(dt,+tt),Ts(gt,+et)))]]}(t,n):3===t.length?function([[t,n],[e,o],[r,c]],[i,s]){const u=Ps(s,i),f=3*hs*Bs(u[1]),l=Ps(ks,i),a=3*hs*Bs(l[1]),p=Fs(u,l,f,a);s=Ts(p.est,p.err);const h=Ps(ks,i),v=zs(i,i),d=zs(i,h),g=zs(h,h),m=Ps(ks,s),x=zs(s,s),_=zs(s,m),b=zs(m,m),w=Bs(i[1]),M=Bs(h[1]),S=Bs(v[1]),y=Bs(d[1]),C=Bs(g[1]),O=Bs(s[1]),N=Bs(m[1]),E=Bs(x[1]),I=Bs(_[1]),B=Bs(b[1]);let k=Bs(t),P=Bs(n),T=Bs(e),A=Bs(o),z=Bs(r),D=Bs(c);const q=As(As(Ds(r,v),Ds(2*e,d)),Ds(t,g)),F=As(Ds(r,i),Ds(e,h)),L=q,j=As(zs(s,F),zs(m,q)),H=As(As(Ds(r,x),zs(qs(_),F)),zs(b,q)),W=z*S+2*T*y+k*C,Y=z*w+T*M;k=W,T=O*Y+N*W,z=E*z+2*I*Y+B*W,k*=7*ds,T*=11*ds,z*=14*ds;const X=As(As(Ds(c,v),Ds(2*o,d)),Ds(n,g)),Q=As(Ds(c,i),Ds(o,h)),V=X,R=As(zs(s,Q),zs(m,X)),U=As(As(Ds(c,x),zs(qs(_),Q)),zs(b,X)),$=D*S+2*A*y+P*C,Z=D*w+A*M;P=$,A=O*Z+N*$,D=E*D+2*I*Z+B*$,P*=7*ds,A*=11*ds,D*=14*ds;const G=Ls(Ls(Ts(L,-k),Ts(j,-T)),Ts(H,-z)),J=js(js(Ts(L,+k),Ts(j,+T)),Ts(H,+z));return[[G,Ls(Ls(Ts(V,-P),Ts(R,-A)),Ts(U,-D))],[J,js(js(Ts(V,+P),Ts(R,+A)),Ts(U,+D))]]}(t,n):function([[t,n],[e,o]],[r,c]){const i=Ps(c,r),s=3*hs*Bs(i[1]),u=Ps(ks,r),f=3*hs*Bs(u[1]),l=Fs(i,u,s,f);c=Ts(l.est,l.err);const a=Ps(ks,r),p=Ps(ks,c),h=Bs(r[1]),v=Bs(a[1]),d=Bs(c[1]),g=Bs(p[1]);let m=Bs(t),x=Bs(n),_=Bs(e),b=Bs(o);const w=As(Ds(e,r),Ds(t,a)),M=As(Ds(e,c),zs(w,p));m=_*h+m*v,_=_*d+m*g,m*=3*ds,_*=7*ds;const S=As(Ds(o,r),Ds(n,a)),y=As(Ds(o,c),zs(S,p));x=b*h+x*v,b=b*d+x*g,x*=3*ds,b*=7*ds;const C=Ls(Ts(w,-m),Ts(M,-_)),O=js(Ts(w,+m),Ts(M,+_));return[[C,Ls(Ts(S,-x),Ts(y,-b))],[O,js(Ts(S,+x),Ts(y,+b))]]}(t,n):function(t,n){const e=t[0],o=t[t.length-1];if(0===n[0]&&0===n[1]){const t=[0,e[0]],n=[0,e[1]];return[[t,n],[t,n]]}if(0===n[0]&&1===n[1]){const t=[0,o[0]],n=[0,o[1]];return[[t,n],[t,n]]}const r=Go(t,n);let c;if(4===t.length)c=ls(t,n).map(t=>18*ds*t);else if(3===t.length)c=ls(t,n).map(t=>12*ds*t);else if(2===t.length)c=ls(t,n).map(t=>6*ds*t);else if(1===t.length)return[r,r];return[[Ts(r[0],-c[0]),Ts(r[1],-c[1])],[Ts(r[0],+c[0]),Ts(r[1],+c[1])]]}(t,n[0])}(t,[e.tS,e.tE]),r=n[0],c=n[n.length-1],i=c[0]-r[0],s=c[1]-r[1],[[u,f],[l,a]]=o,p=0===s,h=p?r[0]:r[1],v=p?i:s,d=p?l:a,g=rr(Hs(p?u:f,h),v),m=rr(Hs(d,h),v);return{tS:Hs(cr(g,m),6*se),tE:Ws(ir(g,m),6*se),multiplicity:1}}(o,n[r],s)}),nu=nt(function(t){const[[n,e],[o,r]]=t;return[[[o,e],[n,e]],[[n,e],[n,r]],[[n,r],[o,r]],[[o,r],[o,e]]]});function eu(t){for(let n of t)if(0===n.x.kind)return!0;return!1}const ou=qo(function(t){const{inOuts:n,xs:e}=t;(n.length>2||eu(t.xs))&&n.sort(Js);let o=n[n.length-1];for(let t=0;t<n.length;t++){const e=n[t];e.prevAround=o,o.nextAround=e,o=e}}),{abs:ru,min:cu}=Math;function iu(t,n,e){let o=2**(t+1);const[r,c]=e;let i=-o,s=-o,u=+o,f=+o;for(const[[t,e],[o,l]]of n){let n=0,a=0;r<t?(n=1,a=t):r>o&&(n=-1,a=o);let p=0,h=0;c<e?(p=1,h=e):c>l&&(p=-1,h=l);let v=!1,d=!1;if(0!==n&&0===p)v=!0;else if(0!==p&&0===n)d=!0;else if(0!==n&&0!==p){const t=ru(a-r),n=ru(h-c);v=t>=n,d=n>=t}v&&(n>0?a<u&&(u=a):a>i&&(i=a)),d&&(p>0?h<f&&(f=h):h>s&&(s=h))}const l=.5;return[[r+(i-r)*l,c+(s-c)*l],[r+(u-r)*l,c+(f-c)*l]]}const su=qo(function(t,n){for(const e of t){const[[t,o],[r,c]]=e.box,i=[(t+r)/2,(o+c)/2],s=iu(n,[...e.xs.map(t=>t.next.container.box),...e.xs.map(t=>t.prev.container.box)],i);e.bigBox=s}return t});function uu(t,n,e=t=>void 0!==t){const o=[];for(let r=0;r<t.length;r++){const c=t[r],i=[];for(let t=0;t<c.length;t++)e(n(c[t]))&&i.push(n(c[t]));o.push(i)}return o}const fu=qo(function(t,n,e){const o=uu(t,t=>({x:t}));let r=function(t,n){const e=2**n;return t.map(t=>{const{p:n}=t[0].x;return{xs:t,box:[[n[0]-e,n[1]-e],[n[0]+e,n[1]+e]]}})}(o,e);r=Fo(r),r=function(t,n){const e=2**(n-1),o=t=>yo(t/e)*e,r=t=>Co(t/e)*e;return t.map(t=>{const{xs:n,box:e}=t,[c,i]=e;return{xs:n,box:[c.map(o),i.map(r)]}})}(r,e),function(t){for(const n of t)for(const t of n.xs)t.container=n}(r),function(t){const n=[];for(const e of t)for(const t of e){const{idx:e}=t.x.curve.loop;(n[e]??=[]).push(t)}for(const t of n){if(void 0===t||0===t.length)continue;t.sort(So);const n=t.length;for(let e=0;e<n;e++){const o=t[e],{container:r}=o;let c=(e+1)%n;for(;c!==e&&t[c].container===r;)c=(c+1)%n;let i=(e-1+n)%n;for(;i!==e&&t[i].container===r;)i=(i-1+n)%n;let s=o;s.next=t[c],s.prev=t[i],t[(e-1+n)%n].container!==r&&(s.in_={dir:-1,_x_:o,loop:o.x.curve.loop.beziers}),t[(e+1)%n].container!==r&&(s.out={dir:1,_x_:o,loop:o.x.curve.loop.beziers})}}}(o);for(const t of r){const n=[];for(const e of t.xs)e.in_&&n.push(e.in_),e.out&&n.push(e.out);t.inOuts=n;for(const e of n)e.container=t}const c=su(r,n);return function(t){let n=0;for(const e of t)for(const t of e.inOuts)t.idx=++n}(c),function(t){for(const n of t)for(const t of n.inOuts)if(1===t.dir){const n=t;let{_x_:e}=n;e=e.next,n.twin=e.in_,n.idx=n.twin.idx}else{const n=t;let{_x_:e}=n;e=e.prev,n.twin=e.out,n.idx=n.twin.idx}}(c),c.forEach(ou),c.forEach(t=>function(t){let n=t[t.length-1];for(let e=0;e<t.length;e++){const o=t[e];o.prevAround=n,n.nextAround=o,n=o}}(t.inOuts)),r});function lu(t,n,e){const o=(t[0]-e[0])*(n[1]-e[1]),r=(t[1]-e[1])*(n[0]-e[0]),c=o-r;let i;if(o>0){if(r<=0)return c;i=o+r}else{if(!(o<0))return c;if(r>=0)return c;i=-o-r}return Math.abs(c)>=3330669073875472e-31*i?c:function(t,n,e,o){const r=t[0]-e[0],c=n[0]-e[0],i=t[1]-e[1],s=n[1]-e[1],u=_t(Ae(r,s),Ae(i,c));let f=mt(u);if(Math.abs(f)>=2220446049250315e-31*o)return f;const l=at(t[0],e[0])[0],a=at(n[0],e[0])[0],p=at(t[1],e[1])[0],h=at(n[1],e[1])[0];if(0===l&&0===p&&0===a&&0===h)return f;const v=1109335647967049e-46*o+3330669073875471e-31*Math.abs(f);if(f+=r*h+s*l-(i*a+c*p),Math.abs(f)>=v)return f;const d=pt(u,_t(Ae(l,s),Ae(p,c))),g=pt(d,_t(Ae(r,h),Ae(i,a)));let m=pt(g,_t(Ae(l,h),Ae(p,a)));return m=ge(m),m[m.length-1]}(t,n,e,i)}function au(t){if(4===t.length)return 0===lu(t[0],t[1],t[2])&&0===lu(t[1],t[2],t[3])&&0===lu(t[0],t[2],t[3]);if(3===t.length)return 0===lu(t[0],t[1],t[2]);if(t.length<=2)return!0;throw new Error("The given bezier curve must be of order <= 3.")}function pu(t){if(!au(t))return!1;const n=t.map(t=>t[0]),e=t.map(t=>t[1]);return!(hu(n)&&hu(e))}function hu(t){return function(t){for(let n=1;n<t.length;n++)if(t[n-1]>t[n])return!1;return!0}(t)||function(t){for(let n=1;n<t.length;n++)if(t[n-1]<t[n])return!1;return!0}(t)}function vu(t,n){const e=(2**(53-n)+1)*t;return e-(e-t)}const{floor:du,log2:gu,abs:mu}=Math;function xu(t,n){const e=n[0]-t[0],o=n[1]-t[1];return e*e+o*o}function _u(t,n){const e=n/Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[e*t[0],e*t[1]]}function bu(t){const n=t[0][0],e=t[0][1];for(let o=1;o<t.length;o++)if(n!==t[o][0]||e!==t[o][1])return!1;return!0}const wu=Ae,Mu=pt,{abs:Su}=Math;function yu(t){const[[n,e],[o,r],[c,i],[s,u]]=t,f=s+3*o,l=n+3*c,a=f-l,p=Su(3*o)+Su(f)+(Su(3*c)+Su(l))+Su(a);if(Su(a)-ps*p>0)return!1;const h=u+3*r,v=e+3*i,d=h-v,g=Su(3*r)+Su(h)+(Su(3*i)+Su(v))+Su(d);return!(Su(d)-ps*g>0)&&0===bt(_t(Mu([s],wu(3,o)),Mu([n],wu(3,c))))&&0===bt(_t(Mu([u],wu(3,r)),Mu([e],wu(3,i))))}function Cu(t){for(let n=0;n<t.length-1;n++)for(let e=n+1;e<t.length;e++)if(t[n][0]===t[e][0]&&t[n][1]===t[e][1])return!1;return!0}const{abs:Ou}=Math;function Nu(t,n,e){if(void 0!==t&&!bu(t)){if(2===t.length)return t;if(3===t.length){if(Cu(t))return au(t)?[t[0],t[2]]:t;if(Iu(t[0],t[2]))return;return[t[0],t[2]]}if(Cu(t)){const o=Eu(t);if(void 0===o)return;return function(t,n){if(t===n)return!0;if(t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e][0]!==n[e][0]||t[e][1]!==n[e][1])return!1;return!0}(o,t)?t:Nu(o,n,e)}if(Iu(t[0],t[3])){if(au(t))return;return t}if(au(t))return[t[0],t[3]];if(Iu(t[0],t[1])&&Iu(t[1],t[2])||Iu(t[1],t[2])&&Iu(t[2],t[3])||Iu(t[0],t[1])&&Iu(t[2],t[3]))return Nu([t[0],t[t.length-1]],n,e);if(Iu(t[0],t[2])||Iu(t[1],t[3])||Iu(t[1],t[2]))return t;if(Iu(t[0],t[1])){if(xu(t[1],t[2])<4*n)return[t[0],t[2],t[2],t[3]];{const o=_u(et(t[1],t[2]),2*n),r=it(t[1],o);return Eu([t[0],e(r),t[2],t[3]])}}if(Iu(t[2],t[3])){if(xu(t[2],t[1])<4*n)return[t[0],t[1],t[1],t[3]];{const o=_u(et(t[2],t[1]),2*n),r=it(t[2],o);return Eu([t[0],t[1],e(r),t[3]])}}}}function Eu(t){return au(t)?[t[0],t[3]]:yu(t)?di(t):t}function Iu(t,n){return t[0]===n[0]&&t[1]===n[1]}function Bu(t){return t}function ku(t){const n=function(t){const n=t[0],e=t[t.length-1];let o,r;if(n[0]<e[0]?(o={ts:[0,0],box:[n,n]},r={ts:[1,1],box:[e,e]}):(o={ts:[1,1],box:[e,e]},r={ts:[0,0],box:[n,n]}),2===t.length)return{minX:o,maxX:r};const[c]=st(t),i=vo(c,0,1)||[];for(let n=0;n<i.length;n++){const e=i[n],c=[e.tS,e.tE],s=ys(t,c);s[0][0]<o.box[0][0]&&(o={ts:c,box:s}),s[1][0]>r.box[1][0]&&(r={ts:c,box:s})}return{minX:o,maxX:r}}(t),e=function(t){const n=t[0],e=t[t.length-1];let o,r;if(n[1]<e[1]?(o={ts:[0,0],box:[n,n]},r={ts:[1,1],box:[e,e]}):(o={ts:[1,1],box:[e,e]},r={ts:[0,0],box:[n,n]}),2===t.length)return{minY:o,maxY:r};const[,c]=st(t),i=vo(c,0,1)||[];for(let n=0;n<i.length;n++){const e=i[n],c=[e.tS,e.tE],s=ys(t,c);s[0][1]<o.box[0][1]&&(o={ts:c,box:s}),s[1][1]>r.box[1][1]&&(r={ts:c,box:s})}return{minY:o,maxY:r}}(t);return[[n.minX.box[0][0],e.minY.box[0][1]],[n.maxX.box[1][0],e.maxY.box[1][1]]]}function Pu(t){let n=0;for(let e=0;e<t.length-1;e++)n+=on(t[e],t[e+1]);return n}const{sqrt:Tu}=Math;function Au(t){const[n,e]=t[0],[o,c]=t[t.length-1];let i,s;const u=Pu(t);if(256*xu(t[0],t[t.length-1])<u*u){const[o,r]=go(t,.5);i=o-n,s=r-e}else i=o-n,s=c-e;let f,l;const a=Tu(i*i+s*s);0===a?(f=0,l=1):(f=s/a,l=i/a);const p=function(t,n,e){const o=it(t[0].map(t=>-t));return ku(t.map(t=>r(-n,e,o(t))))}(t,f,l),[[h,v],[d,g]]=p,m=[p[0],[d,v],p[1],[h,g]],x=r(f,l);return m.map(n=>it(t[0],x(n)))}function zu(t,n,e){const o=n[0]-t[0],r=n[1]-t[1];return o*(e[0]-n[0])+r*(e[1]-n[1])}const Du=function(t,n){if(0===t.length)return;const e=t.slice(),o=function(t){let n,e=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY];for(let o=0;o<t.length;o++){const r=t[o][1];(r<e[1]||r===e[1]&&t[o][0]<e[0])&&(n=o,e=t[o])}return n}(e),[r]=e.splice(o,1);e.sort((t,n)=>{let e=-lu(r,t,n);return 0!==e?e:(e=t[1]-n[1],0!==e?e:t[0]-n[0])}),e.unshift(r);const c=function(t){const n=[t[0]],e=t.length;for(let o=1;o<t.length;o++){const r=t[(o+e-1)%e],c=t[o];r[0]===c[0]&&r[1]===c[1]||n.push(c)}return n}(e),i=[];for(const t of c){for(;i.length>=2&&lu(i[i.length-2],i[i.length-1],t)<0;)i.pop();i.push(t)}if(n||i.length<3)return i;const s=[];{const t=i.length;for(let n=0;n<t;n++){const e=(n+1)%t,o=i[(n+t-1)%t],r=i[n],c=i[e];(0!==lu(o,r,c)||zu(o,r,c)<0)&&s.push(r)}}return s},qu=nt(ku),Fu=qo(function(t,n){const e=t.slice().map(function(t,n,e=!0){const o=2**(t-n),r=e?function(t,n){const e=function(t,n){return function(e){const o=du(gu(mu(e))),r=n-t+o+1;return r<=0?0:n>=53?e:vu(e,r)}}(t,n);return function(t){const n=e(t[0]),o=e(t[1]);return n===t[0]&&o===t[1]?t:[n,o]}}(t,n):Bu;return t=>{const n=[];for(let e=0;e<t.length;e++){let c=t[e].slice();const i=n[n.length-1],s=i?i[i.length-1]:r(t[0][0]);c[0]=s,c=c.map(t=>r(t)),pu(c)&&(c=[c[0],c[c.length-1]]),c=Nu(c,o,r),void 0!==c&&n.push(c)}const e=n.length;if(!e)return[];const c=n[e-1];return c[c.length-1]=n[0][0],n}}(n,46)).filter(t=>t.length>0);return"undefined"!=typeof _debug_&&(_debug_.timing.normalize=performance.now()-_debug_.timing.timingStart),function(t){if("undefined"!=typeof _debug_)for(const n of t){_debug_.elems.loopPre.push(...t),_debug_.elems.loopsPre.push(t);for(const t of n){const n=qu(t),e=Au(t),o=Du(t,!1);_debug_.elems.bezier_.push(t),_debug_.elems.looseBoundingBox_.push(n),_debug_.elems.tightBoundingBox_.push(e),_debug_.elems.boundingHull_.push(o)}}}(e),e}),{max:Lu,abs:ju}=Math;function Hu(t,n){return t[1]>n[1]||!(t[1]<n[1])&&t[0]>=n[0]}function Wu(t){const{ps:n,ts:e}=t;return U(n,e[0],e[1])}const{min:Yu,max:Xu}=Math,Qu=nt(function(t){const n=t.map(xo);return{minX:Yu(...n.map(t=>t.box[0][0])),maxX:Xu(...n.map(t=>t.box[1][0])),minY:Yu(...n.map(t=>t.box[0][1])),maxY:Xu(...n.map(t=>t.box[1][1]))}});function Vu(t,n){let e=0,o=t.length;for(;e<o;){const r=e+o>>>1;t[r]<n?e=r+1:o=r}return e}const Ru=nt(function(t){const n=new Set,e=new Array(t.length);for(let o=0;o<t.length;o++){const{ps:r}=t[o],[[,c],[,i]]=qu(r);e[o]=[c,i],n.add(c),n.add(i)}const o=Array.from(n).sort((t,n)=>t-n),r=0===o.length?0:2*o.length-1,c=new Array(r);for(let t=0;t<r;t++)c[t]=[];for(let n=0;n<t.length;n++){const[r,i]=e[n],s=2*Vu(o,r),u=2*Vu(o,i);for(let e=s;e<=u;e++){const o=t[n];c[e].push(o)}}return{ys:o,slabs:c}}),{sign:Uu}=Math;function $u(t,n){const e=0===n?t:t.toReversed(),o=[e[0]?.[1],e[1]?.[1],e[2]?.[1],e[3]?.[1]];let r,c;return r=o[1],c=Uu(r),0!==c?c:(r=o[2],void 0===r?0:(c=Uu(r),0!==c?c:(r=o[3],void 0===r?0:Uu(r))))}function Zu(t,n,e){return 0===e?0===n?function(t){return 4===t.length?function(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[u-e+3*(r-i),3*(i+e-2*r),3*(r-e),e]}(t):3===t.length?function(t){const[[n,e],[o,r],[c,i]]=t;return[i+e-2*r,2*(r-e),e]}(t):function(t){const[[n,e],[o,r]]=t;return[r-e,e]}(t)}(t):1===n?function(t){const n=t[1][1];if(2===t.length)return[n];const e=t[2][1];return 3===t.length?[e-2*n,2*n]:[t[3][1]+3*(n-e),3*(e-2*n),3*n]}(t):2===n?function(t){if(2===t.length)return[];const n=t[2][1];return 3===t.length?[n]:[t[3][1]-3*n,3*n]}(t):function(t){return t.length<=3?[]:[t[3][1]]}(t):0===n?1===e?function(t){const n=t[0][1];if(2===t.length)return[-n];const e=t[1][1];return 3===t.length?[-2*e+n,-n]:[3*(e-t[2][1])-n,-3*e+2*n,-n]}(t):2===e?function(t){if(2===t.length)return[];const n=t[0][1];return 3===t.length?[n]:[3*t[1][1]-n,n]}(t):function(t){return t.length<=3?[]:[-t[0][1]]}(t):1===n&&1===e?function(t){if(2===t.length)return[];const n=t[1][1];return 3===t.length?[-2*n]:[3*(n-t[2][1]),-3*n]}(t):2===n&&1===e?function(t){return t.length<=3?[]:[-3*t[2][1]]}(t):1===n&&2===e?function(t){return t.length<=3?[]:[3*t[1][1]]}(t):[]}const Gu=qo(function(t,n,e){if(function(t,n){const e=Qu(t),o=Qu(n);return e.minX<o.minX||e.maxX>o.maxX||e.minY<o.minY||e.maxY>o.maxY}(n,tf(e)))return!1;for(const o of function*(){yield 0;for(let t=1;t<=30;t++){const n=2**t;for(let t=1;t<n;t+=2)yield t/n}}())for(const r of n){const n=Ju(t,Jo(r,o),e);if(void 0!==n)return n}throw new Error("_isLoopInLoop: no non-degenerate ray-start point found")});function Ju(t,n,e){const o=Ku(t,e,n);if(void 0!==o)return o%2!=0}const Ku=qo(function(t,n,e){const[o,r]=e,c=function(t,n){if(t.length<10){const e=[];for(let o=0;o<t.length;o++){const r=t[o],{ps:c}=r,[[,i],[,s]]=qu(c);i<=n&&s>=n&&e.push(r)}return e}const e=Ru(t),{ys:o,slabs:r}=e;if(0===o.length||n<o[0]||n>o[o.length-1])return[];const c=Vu(o,n);return r[o[c]===n?2*c:2*c-1]}(n,r);let i=0;for(let n=0;n<c.length;n++){const u=c[n],{ps:f,ts:l}=u;if(qu(f)[0][0]>o)continue;const a=f.map(it([0,-r])),p=a.length;let h=0;for(;h<p-1&&0===a[h][1];)h++;let v=0;for(;v<p-1&&0===a[p-1-v][1];)v++;const d=Zu(a,h,v),g=Math.min(l[0],l[1]),m=Math.max(l[0],l[1]);if(h>0&&g<=0){const t=$u(a,0)>0,n=e[0]>=a[0][0];t&&n&&i++}if(v>0&&m>=1){const t=$u(a,1)>0,n=e[0]>=a[a.length-1][0];t&&n&&i++}const x=vo(d,s(g-2*ce,0,1),s(m+2*ce,0,1));if(void 0!==x&&0!==x.length)for(const n of x){const{t:o,multiplicity:r}=n;if(0!==g&&Math.abs(o-g)<=4*ce||1!==m&&Math.abs(o-m)<=4*ce)return;const c=Jo(a,o)[0],s=24*2**t*(4*ce),u=c-s,f=c+s,l=e[0]>u,p=l===e[0]>f;if(p)p&&l&&(i+=r%2);else{const t=Gs(n,d.map(t=>[t]));for(let n=0;n<t.length;n++){const{tS:o,tE:r,multiplicity:c}=t[n],s=Go(a,Yr(Wo(o,r)))[0];Hu([0,e[0]],s)&&(i+=c%2)}}}}return i}),tf=nt(function(t){return t.map(Wu)});function nf(t){const n=t._x_,e=t.twin._x_,o=n.x.curve,r=n.x.ri.t,c=e.x.curve,i=e.x.ri.t;let s=o,u=r;const f=[];for(;;){if(s===c&&(u<i||u===i&&0!==f.length)){const t=s.ps,n=[u,i];return f.push({ps:t,ts:n}),f}{const t=s.ps,n=[u,1];f.push({ps:t,ts:n})}u=0,s=s.next}}const ef=nt(function(t){const n=[];for(const e of t.path)if(e.swapped){const t=nf(e.twin);for(let e=t.length-1;e>=0;e--){const{ps:o,ts:r}=t[e];n.push({ps:o,ts:[r[1],r[0]]})}}else n.push(...nf(e));return n});function of(t,n,e){let o=n;const r=Array.from(n.children);for(;r.length;)c(r.pop());return o;function c(n){const c=ef(n);if(Gu(t,e,c)){o=n;for(const t of n.children)r.push(t)}}}const rf=qo(function(t,n,e){const o=[],r=[];let c=e;const i=function(t,n,e){const o=function(t,n){return function(e,o,r){if(t.has(e))return;const c=e;void 0===c.orientation&&(c.orientation=o,c.parent=r,c.windingNum=r.windingNum+c.orientation,n.push(c))}}(e,n);return function(n){let e,r=n.twin,c=1,i=r;for(;i=1===t.orientation?i.nextAround:i.prevAround,i!==r;){if(c-=i.dir,-1===i.dir)continue;const n=i;e?0===c?o(n,t.orientation,t.parent):-1===c&&o(n,-t.orientation,t.parent):0===c?e=n:1===c&&o(n,t.orientation,t)}return e}}(e,o,t);do{t.add(c),n.add(c.container),r.push(c),c=i(c)}while(c!==e);return e.path=r,o});function cf(t,n,e){const o=[t];for(;o.length;){const t=o.pop();if(n.has(t))continue;t.children=new Set;const r=rf(n,e,t);t.parent.children=t.parent.children||new Set,t.parent.children.add(t),o.push(...r)}}const sf=qo(function(t,n){const e={dir:void 0,idx:0,parent:void 0,children:new Set,windingNum:0,_x_:void 0,orientation:0,twin:void 0,path:void 0,nextAround:void 0,prevAround:void 0,loop:void 0,container:void 0},o=new Set,r=new Set;for(let c=0;c<n.length;c++){const i=n[c];if(r.has(i)||0===i.inOuts.length)continue;const{inOuts:s}=i,u=s[0],f=s[s.length-1],l=1===u.dir?u:f,a=of(t,e,l.loop);l.parent=a,l.orientation=f.dir,l.windingNum=a.windingNum+f.dir,l.children=new Set,cf(l,o,r)}return e});function uf(t){return{t,tS:t,tE:t,multiplicity:1}}function ff(t){return(t.tS+t.tE)/2}function lf(t,n){return bt(_t(t,n))}const af=Wo,pf=gt,hf=pt,vf=Ho,{abs:df}=Math;const{abs:gf}=Math;const{abs:mf}=Math,xf=Ho,_f=Wo,bf=gt,wf=pt,{abs:Mf}=Math;function Sf(t,n){const[e,o]=n,r=e.length,c=o.length,i=e[r-1],s=o[c-1],u=1===r&&1===c;{const{vₓₓ:n,vₓᵧ:e,vᵧᵧ:o,vₓ:r,vᵧ:c,v:f}=function(t){const[[n,e,o],[r,c,i]]=function(t){const[[n,e],[o,r],[c,i]]=t;return[[c+n-2*o,2*(o-n),n],[i+e-2*r,2*(r-e),e]]}(t),s=n*c-e*r,u=n*i-o*r;return{vₓₓ:-r*r,vₓᵧ:2*n*r,vᵧᵧ:-n*n,vₓ:c*s-2*r*u,vᵧ:2*n*u-e*s,v:s*(e*i-o*c)-u*u}}(t),{vₓₓ_:l,vₓᵧ_:a,vᵧᵧ_:p,vₓ_:h,vᵧ_:v,v_:d}=function(t){const[n,e]=t[0],[[o,r],[c,i]]=function(t){const[[n,e],[o,r],[c,i]]=t,s=gf(n),u=gf(o),f=gf(c),l=gf(e),a=gf(r);return[[f+s+2*u,2*(u+s),0],[gf(i)+l+2*a,2*(a+l),0]]}(t),s=mf(n),u=mf(e),f=o*i+r*c,l=o*u+s*c;return{vₓₓ_:c*c,vₓᵧ_:2*o*c,vᵧᵧ_:o*o,vₓ_:i*f+2*c*l,vᵧ_:2*o*l+r*f,v_:f*(r*u+s*i)+l*l}}(t),g=u?0:1,m=Mf(i),x=Mf(s);if((g+12)*vs*(l*(m*m)+a*(m*x)+p*(x*x)+(h*m+v*x)+d)<Mf(n*i*i+e*i*s+o*s*s+(r*i+c*s)+f))return!1}{const{coeffs:{vₓₓ:n,vₓᵧ:r,vᵧᵧ:c,vₓ:u,vᵧ:f,v:l},errorBound:{vₓₓ_:a,vₓᵧ_:p,vᵧᵧ_:h,vₓ_:v,vᵧ_:d,v_:g}}=Ar(t),m=Rs(e),x=Rs(o),_=Mf(i),b=Mf(s),w=_/3,M=b/3,S=xf(m,m),y=S[1],C=2*(_*w+y),O=xf(x,x),N=O[1],E=2*(b*M+N),I=xf(m,x),B=Mf(I[1]),k=_*M+w*b+2*B,P=xf(n,S),T=Mf(n[1])*C+a*y+2*Mf(P[1]),A=xf(r,I),z=Mf(r[1])*k+p*B+2*Mf(A[1]),D=xf(c,O),q=Mf(c[1])*E+h*N+2*Mf(D[1]),F=xf(m,u),L=Mf(u[1])*w+v*_+2*Mf(F[1]),j=xf(x,f),H=Mf(f[1])*M+d*b+2*Mf(j[1]),W=_f(P,A),Y=T+z+Mf(W[1]),X=_f(W,D),Q=Y+q+Mf(X[1]),V=_f(F,j),R=L+H+Mf(V[1]),U=_f(X,V),$=Q+R+Mf(U[1]),Z=_f(U,l),G=$+g+Mf(Z[1]);if(ds*G<Mf(mt(Z)))return!1}{const n=function(t){return ri(Yc(t))}(t);if(void 0===n)return 0===lf(e,[t[0][0]])&&0===lf(o,[t[0][1]]);n.hasOwnProperty("vₓₓ")||(n.vₓₓ=[0],n.vₓᵧ=[0],n.vᵧᵧ=[0]);const{vₓₓ:r,vₓᵧ:c,vᵧᵧ:i,vₓ:s,vᵧ:u,v:f}=n;return 0===bt(wf(wf(wf(bf(r,bf(e,e)),bf(c,bf(e,o))),bf(i,bf(o,o))),wf(wf(bf(e,s),bf(o,u)),f)))}}const{abs:yf}=Math,Cf=Ho,Of=Wo,Nf=gt,Ef=pt,{abs:If}=Math;function Bf(t,n){const[e,o]=n,r=e.length,c=o.length,i=e[r-1],s=o[c-1],u=1===r&&1===c;{const{vₓₓₓ:n,vₓₓᵧ:e,vₓᵧᵧ:o,vᵧᵧᵧ:r,vₓₓ:c,vₓᵧ:f,vᵧᵧ:l,vₓ:a,vᵧ:p,v:h}=function(t){const[[n,e,o,r],[c,i,s,u]]=function(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[s-n+3*(o-c),3*(c+n-2*o),3*(o-n),n],[u-e+3*(r-i),3*(i+e-2*r),3*(r-e),e]]}(t),f=n*s,l=o*c,a=n*i,p=e*c,h=n*n,v=c*c,d=n*u-r*c,g=f-l,m=a-p,x=e*u-r*i,_=e*s-o*i,b=o*u-r*s,w=2*g,M=d*d,S=d*_,y=w*x,C=m*x,O=-3*d-_,N=-3*M-2*S+(y+m*b),E=2*(d*g-C),I=d*m-g*g+m*_;return{vₓₓₓ:-c*v,vₓₓᵧ:3*n*v,vₓᵧᵧ:-3*c*h,vᵧᵧᵧ:n*h,vₓₓ:O*v+m*(s*c-i*i)+w*(i*c),vₓᵧ:2*(m*(e*i-(l+f)/2)-(O*(n*c)+g*(p+a))),vᵧᵧ:O*h+m*(o*n-e*e)+w*(e*n),vₓ:c*N+(i*E+s*I),vᵧ:-n*N-(e*E+o*I),v:d*(y-M-S)+(I*b-C*x)}}(t),{vₓₓₓ_:v,vₓₓᵧ_:d,vₓᵧᵧ_:g,vᵧᵧᵧ_:m,vₓₓ_:x,vₓᵧ_:_,vᵧᵧ_:b,vₓ_:w,vᵧ_:M,v_:S}=function(t){const[n,e]=t[0],[[o,r,c],[i,s,u]]=function(t){const[[n,e],[o,r],[c,i],[s,u]]=t,f=gf(n),l=gf(o),a=gf(c),p=gf(s),h=gf(e),v=gf(r),d=gf(i);return[[p+f+3*(l+a),3*(a+f+2*l),3*(l+f),0],[gf(u)+h+3*(v+d),3*(d+h+2*v),3*(v+h),0]]}(t),f=yf(n),l=yf(e),a=o*u,p=c*i,h=o*s,v=r*i,d=o*o,g=i*i,m=o*l+f*i,x=a+p,_=h+v,b=r*l+f*s,w=r*u+c*s,M=c*l+f*u,S=2*x,y=m*m,C=m*w,O=S*b,N=_*b,E=3*m+w,I=3*y+2*C+(O+_*M),B=2*(m*x+N),k=m*_+x*x+_*w;return{vₓₓₓ_:i*g,vₓₓᵧ_:3*o*g,vₓᵧᵧ_:3*i*d,vᵧᵧᵧ_:o*d,vₓₓ_:E*g+_*(u*i+s*s)+S*s*i,vₓᵧ_:2*(_*(r*s+(p+a)/2)+(E*o*i+x*(v+h))),vᵧᵧ_:E*d+_*(c*o+r*r)+S*r*o,vₓ_:i*I+(s*B+u*k),vᵧ_:o*I+(r*B+c*k),v_:m*(O+y+C)+(k*M+N*b)}}(t),y=i*i,C=s*s,O=n*(y*i)+e*(y*s)+(o*(i*C)+r*(C*s))+(c*y+f*(i*s)+l*C)+(a*i+p*s+h),N=u?0:1,E=If(i),I=If(s),B=E*E,k=I*I;if((N+26)*vs*(v*(B*E)+d*(B*I)+(g*(E*k)+m*(k*I))+(x*B+_*(E*I)+b*k)+(w*E+M*I+S))<If(O))return!1}{const{coeffs:{vₓₓₓ:n,vₓₓᵧ:r,vₓᵧᵧ:c,vᵧᵧᵧ:u,vₓₓ:f,vₓᵧ:l,vᵧᵧ:a,vₓ:p,vᵧ:h,v},errorBound:{vₓₓₓ_:d,vₓₓᵧ_:g,vₓᵧᵧ_:m,vᵧᵧᵧ_:x,vₓₓ_:_,vₓᵧ_:b,vᵧᵧ_:w,vₓ_:M,vᵧ_:S,v_:y}}=Jr(t),C=If(n[1]),O=If(r[1]),N=If(c[1]),E=If(u[1]),I=Rs(e),B=Rs(o),k=If(i),P=If(s),T=k/3,A=P/3,z=Cf(I,I),D=z[1],q=2*(k*T+D),F=Cf(I,z),L=If(F[1]),j=k*q+T*D+2*L,H=Cf(B,B),W=H[1],Y=2*(P*A+W),X=Cf(B,H),Q=If(X[1]),V=P*Y+A*W+2*Q,R=Cf(B,z),U=If(R[1]),$=P*q+A*D+2*U,Z=Cf(I,H),G=If(Z[1]),J=k*Y+T*W+2*G,K=Cf(I,B),tt=If(K[1]),nt=k*A+T*P+2*tt,et=Cf(n,F),ot=C*j+d*L+2*If(et[1]),rt=Cf(r,R),ct=O*$+g*U+2*If(rt[1]),it=Cf(c,Z),st=N*J+m*G+2*If(it[1]),ut=Cf(u,X),ft=E*V+x*Q+2*If(ut[1]),lt=Cf(f,z),at=If(f[1])*q+_*D+2*If(lt[1]),pt=Cf(l,K),ht=If(l[1])*nt+b*tt+2*If(pt[1]),vt=Cf(a,H),dt=If(a[1])*Y+w*W+2*If(vt[1]),gt=Cf(I,p),xt=If(p[1])*T+M*k+2*If(gt[1]),_t=Cf(B,h),bt=If(h[1])*A+S*P+2*If(_t[1]),wt=Of(et,rt),Mt=ot+ct+If(wt[1]),St=Of(it,ut),yt=st+ft+If(St[1]),Ct=Of(wt,St),Ot=Mt+yt+If(Ct[1]),Nt=Of(lt,pt),Et=at+ht+If(Nt[1]),It=Of(Nt,vt),Bt=Et+dt+If(It[1]),kt=Of(Ct,It),Pt=Ot+Bt+If(kt[1]),Tt=Of(gt,_t),At=xt+bt+If(Tt[1]),zt=Of(Tt,v),Dt=At+y+If(zt[1]),qt=Of(kt,zt),Ft=Pt+Dt+If(qt[1]);if(ds*Ft<If(mt(qt)))return!1}{const n=function(t){return Mi(Wc(t))}(t);if(void 0===n)return 0===lf(e,[t[0][0]])&&0===lf(o,[t[0][1]]);n.hasOwnProperty("vₓₓₓ")||(n.vₓₓₓ=[0],n.vₓₓᵧ=[0],n.vₓᵧᵧ=[0],n.vᵧᵧᵧ=[0]),n.hasOwnProperty("vₓₓ")||(n.vₓₓ=[0],n.vₓᵧ=[0],n.vᵧᵧ=[0]);const{vₓₓₓ:r,vₓₓᵧ:c,vₓᵧᵧ:i,vᵧᵧᵧ:s,vₓₓ:u,vₓᵧ:f,vᵧᵧ:l,vₓ:a,vᵧ:p,v:h}=n,v=Nf(e,e),d=Nf(e,v),g=Nf(o,o),m=Nf(o,g),x=Nf(o,v),_=Nf(e,g),b=Nf(e,o),w=Nf(r,d),M=Nf(c,x),S=Nf(i,_),y=Nf(s,m),C=Nf(u,v),O=Nf(f,b),N=Nf(l,g),E=Nf(e,a),I=Nf(o,p),B=Ef(w,M),k=Ef(S,y),P=Ef(B,k),T=Ef(C,O),A=Ef(T,N),z=Ef(P,A),D=Ef(E,I),q=Ef(D,h);return 0===bt(Ef(z,q))}}function kf(t,n){if(4===t.length)return Bf(t,n);if(3===t.length)return Sf(t,n);if(2===t.length)return function(t,n){const[e,o]=n,r=e.length,c=o.length,i=e[r-1],s=o[c-1];{const{coeffs:{vₓ:n,vᵧ:r,v:c},errorBound:{v_:u}}=Mr(t),f=Rs(e),l=Rs(o),a=df(i),p=df(s),h=df(n[1]),v=df(r[1]),d=a/3,g=p/3,m=n[1]*i,x=vf(f,n),_=h*d+2*df(m),b=r[1]*s,w=vf(l,r),M=v*g+2*df(b),S=af(x,w),y=_+M+df(S[1]),C=af(S,c),O=y+u+df(C[1]);if(ds*O<df(mt(C)))return!1}{const n=function(t){return Rc(Xc(t))}(t);if(void 0===n)return 0===lf(e,[t[0][0]])&&0===lf(o,[t[0][1]]);const{vₓ:r,vᵧ:c,v:i}=n,s=pf(e,r),u=pf(o,c);return 0===bt(hf(hf(s,u),i))}}(t,n);if(1===t.length){const e=ge(n[0]),o=ge(n[1]);return 1===e.length&&1===o.length&&e[0]===t[0][0]&&o[0]===t[0][1]}throw new Error("The given bezier curve must be of order <= 3")}function Pf(t){const n=t[0],e=t[1];return[(n[0]+e[0])/2,(n[1]+e[1])/2]}const{abs:Tf,max:Af}=Math,zf=8*ps;function Df(t){return[4*t[0],4*t[1]]}const qf=Xo,Ff=Wo,Lf=ur,jf=Ho,Hf=Nr,Wf=Df,Yf=Yo;function Xf(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=c[0],h=c[1],[v,d]=n,g=qf(i,v),m=qf(u,v),x=qf(l,v),_=qf(p,v),b=qf(s,d),w=qf(f,d),M=qf(a,d),S=qf(h,d),y=jf(g,g),C=Lf(6,jf(g,m)),O=Lf(6,jf(g,x)),N=Hf(jf(g,_)),E=Lf(9,jf(m,m)),I=Lf(18,jf(m,x)),B=Lf(6,jf(m,_)),k=Lf(9,jf(x,x)),P=Lf(6,jf(x,_)),T=jf(_,_),A=jf(b,b),z=Lf(6,jf(b,w)),D=Lf(6,jf(b,M)),q=Hf(jf(b,S)),F=Lf(9,jf(w,w)),L=Lf(18,jf(w,M)),j=Lf(6,jf(w,S)),H=Lf(9,jf(M,M)),W=Lf(6,jf(M,S)),Y=jf(S,S),X=Ff(B,k),Q=Ff(N,I),V=Ff(O,E),R=Ff(j,H),U=Ff(q,L),$=Ff(D,F);return[Lf(6,Ff(Ff(Ff(Ff(Yf(T,P),Yf(y,C)),X),Yf(V,Q)),Ff(Ff(Ff(Yf(Y,W),Yf(A,z)),R),Yf($,U)))),Lf(5,Ff(Yf(Ff(Ff(P,Lf(5,C)),Lf(3,Q)),Hf(Ff(Ff(X,Hf(V)),Lf(3,y)))),Yf(Ff(Ff(W,Lf(5,z)),Lf(3,U)),Hf(Ff(Ff(R,Hf($)),Lf(3,A)))))),Wf(Ff(Yf(Yf(X,Lf(3,Yf(Q,Hf(V)))),Lf(5,Yf(Hf(C),Lf(3,y)))),Yf(Yf(R,Lf(3,Yf(U,Hf($)))),Lf(5,Yf(Hf(z),Lf(3,A)))))),Lf(3,Ff(Yf(Q,Hf(Yf(Hf(V),Lf(5,Yf(C,Hf(y)))))),Yf(U,Hf(Yf(Hf($),Lf(5,Yf(z,Hf(A)))))))),Hf(Ff(Yf(V,Lf(5,Yf(C,Lf(3,y)))),Yf($,Lf(5,Yf(z,Lf(3,A)))))),Ff(Yf(C,Lf(6,y)),Yf(z,Lf(6,A)))]}const Qf=Xo,Vf=Wo,Rf=ur,Uf=Ho,$f=Nr,Zf=Yo,Gf=Df;function Jf(t,n){const[[e,o],[r,c],[i,s]]=t,[u,f]=n,l=Qf(e,u),a=Qf(r,u),p=Qf(i,u),h=Qf(o,f),v=Qf(c,f),d=Qf(s,f),g=Uf(l,l),m=Uf(l,a),x=Uf(l,p),_=Uf(a,a),b=Uf(a,p),w=Uf(p,p),M=Uf(h,h),S=Uf(h,v),y=Uf(h,d),C=Uf(v,v),O=Uf(v,d),N=Uf(d,d),E=Vf(y,$f(C)),I=Vf(x,$f(_));return[Vf(Zf(Vf(Vf(N,M),$f(E)),Gf(Vf(O,S))),Zf(Vf(Vf(w,g),$f(I)),Gf(Vf(b,m)))),Rf(3,Vf(Vf(Zf(O,E),Zf(Rf(3,S),M)),Vf(Zf(b,I),Zf(Rf(3,m),g)))),Vf(Zf(E,Rf(3,Zf($f(S),M))),Zf(I,Rf(3,Zf($f(m),g)))),Vf(Zf(S,M),Zf(m,g))]}function Kf(t){return[-2*t[0],-2*t[1]]}const tl=Dr,nl=Wo,el=Kf;function ol(t,n){const[[e,o],[r,c]]=t,[i,s]=n,u=e-i,f=r-i,l=o-s,a=c-s,p=tl(u,u),h=tl(u,f),v=tl(f,f),d=tl(l,l),g=tl(l,a),m=tl(a,a),x=nl(h,g),_=nl(d,p);return[nl(nl(v,m),nl(_,el(x))),Yo(x,_)]}function rl(t){const n=[];for(let e=0;e<t.length;e++)n.push(-2*t[e]);return n}const cl=at,il=dt,sl=Jc,ul=rl,fl=at,ll=dt,al=Jc;function pl(t){const n=[];for(let e=0;e<t.length;e++)n.push(4*t[e]);return n}const hl=at,vl=rl,{abs:dl}=Math;function gl(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=dl(e[0]),s=dl(e[1]),u=dl(o[0]),f=dl(o[1]),l=dl(r[0]),a=dl(r[1]),p=dl(c[0]),h=dl(c[1]),v=dl(n[0]),d=dl(n[1]),g=i+v,m=u+v,x=l+v,_=p+v,b=s+d,w=f+d,M=a+d,S=h+d,y=g*g,C=6*g*m,O=6*x*_,N=b*b,E=6*b*w,I=6*M*S,B=6*m*_+9*x*x,k=2*g*_+18*m*x,P=6*g*x+9*m*m,T=6*w*S+9*M*M,A=2*b*S+18*w*M,z=6*b*M+9*w*w;return[6*(_*_+O+(y+C)+B+(P+k)+(S*S+I+(N+E)+T+(z+A))),5*(O+5*C+3*k+2*(B+2*P+3*y)+(I+5*E+3*A+2*(T+2*z+3*N))),4*(B+3*(k+2*P)+5*(2*C+3*y)+(T+3*(A+2*z)+5*(2*E+3*N))),3*(k+2*(2*P+5*(C+2*y))+(A+2*(2*z+5*(E+2*N)))),2*(P+5*(C+3*y)+(z+5*(E+3*N))),C+6*y+(E+6*N)]}function ml(t,n){const e=t[0],o=t[1],r=t[2],c=dl(e[0]),i=dl(e[1]),s=dl(o[0]),u=dl(o[1]),f=dl(r[0]),l=dl(r[1]),a=dl(n[0]),p=dl(n[1]),h=c+a,v=s+a,d=f+a,g=i+p,m=u+p,x=l+p,_=h*h,b=h*v,w=v*d,M=g*g,S=g*m,y=m*x,C=g*x+m*m*2,O=h*d+v*v*2;return[x*x+M+2*C+4*(y+S)+(d*d+_+2*O+4*(w+b)),3*(y+C+(3*S+M)+(w+O+(3*b+_))),C+3*(2*S+M)+(O+3*(2*b+_)),S+M+(b+_)]}function xl(t,n){const e=t[0],o=t[1],r=dl(e[0]),c=dl(e[1]),i=dl(o[0]),s=dl(o[1]),u=dl(n[0]),f=dl(n[1]),l=r+u,a=i+u,p=c+f,h=s+f,v=l*a+p*h,d=p*p+l*l;return[a*a+h*h+2*v+d,v+d]}function _l(t,n){const e=t.length-1;if(3===e)return{polyDd:Xf(t,n),polyE:gl(t,n).map(t=>20*t),getPolyExact:()=>function(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=c[0],h=c[1],[v,d]=n,g=cl(i,v),m=cl(u,v),x=cl(l,v),_=cl(p,v),b=cl(s,d),w=cl(f,d),M=cl(a,d),S=cl(h,d),y=gt(g,g),C=il(6,gt(g,m)),O=il(6,gt(g,x)),N=sl(gt(g,_)),E=il(9,gt(m,m)),I=il(18,gt(m,x)),B=il(6,gt(m,_)),k=il(9,gt(x,x)),P=il(6,gt(x,_)),T=gt(_,_),A=gt(b,b),z=il(6,gt(b,w)),D=il(6,gt(b,M)),q=sl(gt(b,S)),F=il(9,gt(w,w)),L=il(18,gt(w,M)),j=il(6,gt(w,S)),H=il(9,gt(M,M)),W=il(6,gt(M,S)),Y=gt(S,S),X=pt(B,k),Q=pt(N,I),V=pt(O,E),R=pt(j,H),U=pt(q,L),$=pt(D,F),Z=_t(pt(pt(T,y),pt(X,V)),pt(pt(Q,P),C)),G=_t(pt(pt(Y,A),pt(R,$)),pt(pt(U,W),z)),J=il(6,pt(Z,G)),K=pt(ul(pt(pt(X,sl(V)),il(3,y))),pt(pt(P,il(3,Q)),il(5,C))),tt=pt(ul(pt(pt(R,sl($)),il(3,A))),pt(pt(W,il(3,U)),il(5,z))),nt=il(5,pt(K,tt)),et=pt(pt(X,il(3,_t(sl(V),Q))),il(5,_t(il(3,y),sl(C)))),ot=pt(pt(R,il(3,_t(sl($),U))),il(5,_t(il(3,A),sl(z)))),rt=il(4,pt(et,ot)),ct=_t(Q,sl(_t(sl(V),il(5,_t(C,sl(y)))))),it=_t(U,sl(_t(sl($),il(5,_t(z,sl(A)))))),st=il(3,pt(ct,it)),ut=_t(V,il(5,_t(C,il(3,y)))),ft=_t($,il(5,_t(z,il(3,A))));return[J,nt,rt,st,sl(pt(ut,ft)),pt(_t(C,il(6,y)),_t(z,il(6,A)))].map(ge)}(t,n)};if(2===e)return{polyDd:Jf(t,n),polyE:ml(t,n).map(t=>16*t),getPolyExact:()=>function(t,n){const[[e,o],[r,c],[i,s]]=t,[u,f]=n,l=fl(e,u),a=fl(r,u),p=fl(i,u),h=fl(o,f),v=fl(c,f),d=fl(s,f),g=gt(l,l),m=gt(l,a),x=gt(l,p),_=gt(a,a),b=gt(a,p),w=gt(p,p),M=gt(h,h),S=gt(h,v),y=gt(h,d),C=gt(v,v),O=gt(v,d),N=gt(d,d),E=pt(y,al(C)),I=pt(x,al(_)),B=pt(_t(pt(w,al(I)),pl(pt(b,m))),g),k=pt(_t(pt(N,al(E)),pl(pt(O,S))),M),P=pt(B,k),T=pt(_t(b,I),_t(ll(3,m),g)),A=pt(_t(O,E),_t(ll(3,S),M));return[P,ll(3,pt(T,A)),pt(_t(E,ll(3,_t(al(S),M))),_t(I,ll(3,_t(al(m),g)))),pt(_t(S,M),_t(m,g))].map(ge)}(t,n)};if(1===e)return{polyDd:ol(t,n),polyE:xl(t,n).map(t=>12*t),getPolyExact:()=>function(t,n){const[[e,o],[r,c]]=t,[i,s]=n,u=hl(e,i),f=hl(r,i),l=hl(o,s),a=hl(c,s),p=gt(u,u),h=gt(u,f),v=gt(f,f),d=gt(l,l),g=gt(l,a),m=gt(a,a),x=pt(h,g),_=pt(d,p);return[pt(pt(v,m),pt(vl(x),_)),_t(x,_)].map(ge)}(t,n)};if(0===e)return{polyDd:[[0,1]],polyE:[0],getPolyExact:()=>[[1]]};throw new Error("The given bezier curve must be of order <= 3")}function bl(t,n,e=0,o=1){const{polyDd:r,polyE:c,getPolyExact:i}=_l(t,n),s=vo(r,e,o,c,i)||[];s.push({t:e,tS:e,tE:e,multiplicity:1}),s.push({t:o,tS:o,tE:o,multiplicity:1});const u=s.map(e=>{const o=ys(t,[e.tS,e.tE]),r=function(t,n){const[[e,o],[r,c]]=t,[i,s]=n,u=i<e?e-i:i>r?i-r:0,f=s<o?o-s:s>c?s-c:0,l=u*u+f*f,a=Af(Tf(i-e),Tf(r-i)),p=Af(Tf(s-o),Tf(c-s));return[l*(1-zf),(a*a+p*p)*(1+zf)]}(o,n),c=Pf(o);return{p:c,t:e.t,d:on(n,c),dSquaredI:r,box:o,ri:e}});let f=1/0;for(let t=0;t<u.length;t++){const n=u[t].dSquaredI[1];n<f&&(f=n)}const l=[];for(let t=0;t<u.length;t++){const n=u[t];n.dSquaredI[0]<=f&&l.push(n)}return l}const wl=new Float64Array(1),Ml=new BigUint64Array(wl.buffer);function Sl(t){return t!=t||t===-1/0?t:0===t?-Number.MIN_VALUE:(wl[0]=t,Ml[0]+=t>0?-1n:1n,wl[0])}const yl=new Float64Array(1),Cl=new BigUint64Array(yl.buffer);function Ol(t){return t!=t||t===1/0?t:0===t?Number.MIN_VALUE:(yl[0]=t,Cl[0]+=t>0?1n:-1n,yl[0])}const Nl=fr;function El(t){const[[n],[e]]=mr(t);return{coeffs:{vₓ:e,vᵧ:Nl(n)},errorBound:{vₓ_:0,vᵧ_:0}}}const Il=Ho,Bl=Wo,{abs:kl}=Math,Pl=Ho,Tl=Wo,{abs:Al}=Math,zl=Ho,Dl=Wo,{abs:ql}=Math,Fl=Ho,Ll=Yo,jl=ur,Hl=fr,{abs:Wl}=Math;function Yl(t){const{coeffs:[[n,e],[o,r]],errorBound:[[c],[i]]}=gr(t),s=Wl(e[1]),u=Wl(r[1]),f=Wl(n[1]),l=Wl(o[1]),a=Fl(e,o),p=s*i+2*Wl(a[1]),h=Fl(n,r),v=c*u+2*Wl(h[1]),d=Ll(a,h),g=p+v+Wl(d[1]),m=Fl(o,o),x=Wl(m[1]),_=l*i+i*(l+ds*i)+2*x,b=Fl(n,o),w=Wl(b[1]),M=f*i+c*(l+ds*i)+2*w,S=jl(-2,b),y=2*M,C=Fl(n,n),O=Wl(C[1]),N=f*c+c*(f+ds*c)+2*O,E=Fl(r,d),I=u*g+2*Wl(E[1]),B=Fl(e,d),k=s*g+2*Wl(B[1]);return{coeffs:{vₓₓ:m,vₓᵧ:S,vᵧᵧ:C,vₓ:E,vᵧ:Hl(B)},errorBound:{vₓₓ_:_,vₓᵧ_:y,vᵧᵧ_:N,vₓ_:I,vᵧ_:k}}}const Xl=Ho,Ql=Wo,{abs:Vl}=Math,Rl=Ho,Ul=Wo,{abs:$l}=Math,Zl=Ho,Gl=Wo,{abs:Jl}=Math,Kl=Ho,ta=Wo,na=Yo,ea=ur,oa=Nr,ra=fr,{abs:ca}=Math;function ia(t){const{coeffs:[[n,e,o],[r,c,i]],errorBound:[[s,u,f],[l,a,p]]}=dr(t),h=ca(o[1]),v=ca(i[1]),d=ca(e[1]),g=ca(c[1]),m=ca(n[1]),x=ca(r[1]),_=Kl(o,c),b=ca(_[1]),w=h*a+f*(g+ds*a)+2*b,M=Kl(e,i),S=ca(M[1]),y=d*p+u*(v+ds*p)+2*S,C=Kl(o,r),O=ca(C[1]),N=h*l+f*(x+ds*l)+2*O,E=Kl(n,i),I=ca(E[1]),B=m*p+s*(v+ds*p)+2*I,k=Kl(e,r),P=ca(k[1]),T=d*l+u*(x+ds*l)+2*P,A=Kl(n,c),z=ca(A[1]),D=m*a+s*(g+ds*a)+2*z,q=na(_,M),F=ca(q[1]),L=w+y+F,j=na(C,E),H=ca(j[1]),W=N+B+H,Y=na(k,A),X=ca(Y[1]),Q=T+D+X,V=Kl(n,n),R=ca(V[1]),U=m*s+s*(m+ds*s)+2*R,$=Kl(r,r),Z=ca($[1]),G=x*l+l*(x+ds*l)+2*Z,J=Kl($,r),K=ca(J[1]),tt=Z*l+G*(x+ds*l)+2*K,nt=Kl(n,$),et=ca(nt[1]),ot=m*G+s*(Z+ds*G)+2*et,rt=ea(-3,nt),ct=3*ot+ca(rt[1]),it=Kl(V,r),st=ca(it[1]),ut=R*l+U*(x+ds*l)+2*st,ft=ea(3,it),lt=3*ut+ca(ft[1]),at=Kl(V,n),pt=ca(at[1]),ht=R*s+U*(m+ds*s)+2*pt,vt=ra(at),dt=ht,gt=Kl(c,r),mt=ca(gt[1]),xt=g*l+a*(x+ds*l)+2*mt,_t=Kl(gt,j),bt=ca(_t[1]),wt=mt*W+xt*(H+ds*W)+2*bt,Mt=Kl(i,r),St=ca(Mt[1]),yt=v*l+p*(x+ds*l)+2*St,Ct=oa(Mt),Ot=2*yt,Nt=Kl(c,c),Et=ca(Nt[1]),It=g*a+a*(g+ds*a)+2*Et,Bt=na(Ct,Nt),kt=ca(Bt[1]),Pt=Ot+It+kt,Tt=Kl(Bt,Y),At=ca(Tt[1]),zt=kt*Q+Pt*(X+ds*Q)+2*At,Dt=ta(_t,Tt),qt=wt+zt+ca(Dt[1]),Ft=ta(k,A),Lt=ca(Ft[1]),jt=T+D+Lt,Ht=Kl(Ft,j),Wt=ca(Ht[1]),Yt=Lt*W+jt*(H+ds*W)+2*Wt,Xt=ta(C,E),Qt=N+B+ca(Xt[1]),Vt=Kl(e,c),Rt=ca(Vt[1]),Ut=d*a+u*(g+ds*a)+2*Rt,$t=na(Xt,Vt),Zt=ca($t[1]),Gt=Qt+Ut+Zt,Jt=Kl($t,Y),Kt=ca(Jt[1]),tn=Zt*Q+Gt*(X+ds*Q)+2*Kt,nn=oa(Jt),en=2*tn,on=ta(Ht,nn),rn=Yt+en+ca(on[1]),cn=ra(on),sn=rn,un=Kl(e,n),fn=ca(un[1]),ln=d*s+u*(m+ds*s)+2*fn,an=Kl(un,j),pn=ca(an[1]),hn=fn*W+ln*(H+ds*W)+2*pn,vn=Kl(o,n),dn=ca(vn[1]),gn=h*s+f*(m+ds*s)+2*dn,mn=oa(vn),xn=2*gn,_n=Kl(e,e),bn=ca(_n[1]),wn=d*u+u*(d+ds*u)+2*bn,Mn=na(mn,_n),Sn=ca(Mn[1]),yn=xn+wn+Sn,Cn=Kl(Mn,Y),On=ca(Cn[1]),Nn=Sn*Q+yn*(X+ds*Q)+2*On,En=ta(an,Cn),In=hn+Nn+ca(En[1]),Bn=Kl(j,j),kn=ca(Bn[1]),Pn=H*W+W*(H+ds*W)+2*kn,Tn=Kl(q,Y),An=ca(Tn[1]),zn=F*Q+L*(X+ds*Q)+2*An,Dn=na(Bn,Tn),qn=ca(Dn[1]),Fn=Pn+zn+qn,Ln=Kl(i,Dn),jn=ca(Ln[1]),Hn=v*Fn+p*(qn+ds*Fn)+2*jn,Wn=Kl(o,Dn),Yn=ca(Wn[1]),Xn=h*Fn+f*(qn+ds*Fn)+2*Yn;return{coeffs:{vₓₓₓ:J,vₓₓᵧ:rt,vₓᵧᵧ:ft,vᵧᵧᵧ:vt,vₓₓ:Dt,vₓᵧ:cn,vᵧᵧ:En,vₓ:Ln,vᵧ:ra(Wn)},errorBound:{vₓₓₓ_:tt,vₓₓᵧ_:ct,vₓᵧᵧ_:lt,vᵧᵧᵧ_:dt,vₓₓ_:qt,vₓᵧ_:sn,vᵧᵧ_:In,vₓ_:Hn,vᵧ_:Xn}}}const sa=Ho,ua=Wo,{abs:fa}=Math,la=Ho,aa=Wo,{abs:pa}=Math,ha=Ho,va=Wo,{abs:da}=Math;function ga(t){const[[n],[e]]=Xc(t);return{vₓ:e,vᵧ:xt(n)}}const ma=gt,xa=pt,_a=gt,ba=pt,wa=gt,Ma=pt,Sa=gt,ya=_t,Ca=xt,Oa=Jc;function Na(t){const[[n,e],[o,r]]=Yc(t),c=ya(Sa(e,o),Sa(n,r));return{vₓₓ:Sa(o,o),vₓᵧ:Ca(Oa(Sa(n,o))),vᵧᵧ:Sa(n,n),vₓ:Sa(r,c),vᵧ:Ca(Sa(e,c))}}const Ea=gt,Ia=pt,Ba=gt,ka=pt,Pa=gt,Ta=pt,Aa=gt,za=pt,Da=_t,qa=xt,Fa=Jc,La=dt;function ja(t){const[[n,e,o],[r,c,i]]=Wc(t),s=Da(Aa(o,c),Aa(e,i)),u=Da(Aa(o,r),Aa(n,i)),f=Da(Aa(e,r),Aa(n,c)),l=Aa(n,n),a=Aa(r,r),p=Aa(a,r),h=La(-3,Aa(n,a)),v=La(3,Aa(l,r)),d=qa(Aa(l,n)),g=za(Aa(Aa(c,r),u),Aa(Da(Fa(Aa(i,r)),Aa(c,c)),f)),m=qa(za(Aa(za(Aa(e,r),Aa(n,c)),u),Fa(Aa(Da(za(Aa(o,r),Aa(n,i)),Aa(e,c)),f)))),x=za(Aa(Aa(e,n),u),Aa(Da(Fa(Aa(o,n)),Aa(e,e)),f)),_=Da(Aa(u,u),Aa(s,f));return{vₓₓₓ:p,vₓₓᵧ:h,vₓᵧᵧ:v,vᵧᵧᵧ:d,vₓₓ:g,vₓᵧ:m,vᵧᵧ:x,vₓ:Aa(i,_),vᵧ:qa(Aa(o,_))}}const Ha=gt,Wa=pt,Ya=gt,Xa=pt,Qa=gt,Va=pt,Ra=[[function(t,n){const{coeffs:{vₓ:e,vᵧ:o}}=El(t),[[r],[c]]=mr(n),i=Il(e,r),s=2*kl(i[1]),u=Il(o,c),f=2*kl(u[1]),l=Bl(i,u);return{coeffs:[l],errBound:[s+f+kl(l[1])]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:o}}=El(t),{coeffs:[[r,c],[i,s]],errorBound:[[u],[f]]}=gr(n),l=Al(e[1]),a=Al(o[1]),p=Pl(e,c),h=2*Al(p[1]),v=Pl(e,r),d=l*u+2*Al(v[1]),g=Pl(o,s),m=2*Al(g[1]),x=Pl(o,i),_=a*f+2*Al(x[1]),b=Tl(p,g),w=h+m+Al(b[1]),M=Tl(v,x);return{coeffs:[M,b],errBound:[d+_+Al(M[1]),w]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:o}}=El(t),{coeffs:[[r,c,i],[s,u,f]],errorBound:[[l,a,p],[h,v,d]]}=dr(n),g=ql(e[1]),m=ql(o[1]),x=zl(e,i),_=g*p+2*ql(x[1]),b=zl(e,c),w=g*a+2*ql(b[1]),M=zl(e,r),S=g*l+2*ql(M[1]),y=zl(o,f),C=m*d+2*ql(y[1]),O=zl(o,u),N=m*v+2*ql(O[1]),E=zl(o,s),I=m*h+2*ql(E[1]),B=Dl(x,y),k=_+C+ql(B[1]),P=Dl(b,O),T=w+N+ql(P[1]),A=Dl(M,E);return{coeffs:[A,P,B],errBound:[S+I+ql(A[1]),T,k]}}],[function(t,n){const{coeffs:{vₓ:e,vᵧ:o,vₓₓ:r,vₓᵧ:c,vᵧᵧ:i},errorBound:{vₓ_:s,vᵧ_:u,vₓₓ_:f,vₓᵧ_:l,vᵧᵧ_:a}}=Yl(t),[[p],[h]]=mr(n),v=Vl(r[1]),d=Vl(c[1]),g=Vl(i[1]),m=Vl(p[1]),x=Vl(h[1]),_=Xl(e,p),b=s*m+2*Vl(_[1]),w=Xl(o,h),M=u*x+2*Vl(w[1]),S=Ql(_,w),y=b+M+Vl(S[1]),C=Xl(p,p),O=Vl(C[1]),N=2*O,E=Xl(p,h),I=Vl(E[1]),B=2*I,k=Xl(h,h),P=Vl(k[1]),T=2*P,A=Xl(r,C),z=Vl(A[1]),D=v*N+f*(O+ds*N)+2*z,q=Xl(c,E),F=Vl(q[1]),L=d*B+l*(I+ds*B)+2*F,j=Ql(A,q),H=D+L+Vl(j[1]),W=Xl(i,k),Y=Vl(W[1]),X=g*T+a*(P+ds*T)+2*Y,Q=Ql(j,W);return{coeffs:[Q,S],errBound:[H+X+Vl(Q[1]),y]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:o,vₓₓ:r,vₓᵧ:c,vᵧᵧ:i},errorBound:{vₓ_:s,vᵧ_:u,vₓₓ_:f,vₓᵧ_:l,vᵧᵧ_:a}}=Yl(t),{coeffs:[[p,h],[v,d]],errorBound:[[g],[m]]}=gr(n),x=$l(e[1]),_=$l(o[1]),b=$l(r[1]),w=$l(c[1]),M=$l(i[1]),S=$l(h[1]),y=$l(p[1]),C=$l(d[1]),O=$l(v[1]),N=Rl(e,h),E=s*S+2*$l(N[1]),I=Rl(e,p),B=$l(I[1]),k=x*g+s*(y+ds*g)+2*B,P=Rl(o,d),T=u*C+2*$l(P[1]),A=Rl(o,v),z=$l(A[1]),D=_*m+u*(O+ds*m)+2*z,q=Ul(N,P),F=E+T+$l(q[1]),L=Ul(I,A),j=k+D+$l(L[1]),H=Rl(h,h),W=$l(H[1]),Y=2*W,X=Rl(h,p),Q=S*g+2*$l(X[1]),V=Rl(p,h),R=g*S+2*$l(V[1]),U=Ul(X,V),$=$l(U[1]),Z=Q+R+$,G=Rl(p,p),J=$l(G[1]),K=y*g+g*(y+ds*g)+2*J,tt=Rl(h,d),nt=$l(tt[1]),et=2*nt,ot=Rl(h,v),rt=S*m+2*$l(ot[1]),ct=Rl(p,d),it=g*C+2*$l(ct[1]),st=Ul(ot,ct),ut=$l(st[1]),ft=rt+it+ut,lt=Rl(p,v),at=$l(lt[1]),pt=y*m+g*(O+ds*m)+2*at,ht=Rl(d,d),vt=$l(ht[1]),dt=2*vt,gt=Rl(d,v),mt=C*m+2*$l(gt[1]),xt=Rl(v,d),_t=m*C+2*$l(xt[1]),bt=Ul(gt,xt),wt=$l(bt[1]),Mt=mt+_t+wt,St=Rl(v,v),yt=$l(St[1]),Ct=O*m+m*(O+ds*m)+2*yt,Ot=Rl(r,H),Nt=$l(Ot[1]),Et=b*Y+f*(W+ds*Y)+2*Nt,It=Rl(r,U),Bt=$l(It[1]),kt=b*Z+f*($+ds*Z)+2*Bt,Pt=Rl(r,G),Tt=$l(Pt[1]),At=b*K+f*(J+ds*K)+2*Tt,zt=Rl(c,tt),Dt=$l(zt[1]),qt=w*et+l*(nt+ds*et)+2*Dt,Ft=Rl(c,st),Lt=$l(Ft[1]),jt=w*ft+l*(ut+ds*ft)+2*Lt,Ht=Rl(c,lt),Wt=$l(Ht[1]),Yt=w*pt+l*(at+ds*pt)+2*Wt,Xt=Ul(Ot,zt),Qt=Et+qt+$l(Xt[1]),Vt=Ul(It,Ft),Rt=kt+jt+$l(Vt[1]),Ut=Ul(Pt,Ht),$t=At+Yt+$l(Ut[1]),Zt=Rl(i,ht),Gt=$l(Zt[1]),Jt=M*dt+a*(vt+ds*dt)+2*Gt,Kt=Rl(i,bt),tn=$l(Kt[1]),nn=M*Mt+a*(wt+ds*Mt)+2*tn,en=Rl(i,St),on=$l(en[1]),rn=M*Ct+a*(yt+ds*Ct)+2*on,cn=Ul(Xt,Zt),sn=Qt+Jt+$l(cn[1]),un=Ul(Vt,Kt),fn=Rt+nn+$l(un[1]),ln=Ul(Ut,en),an=$t+rn+$l(ln[1]),pn=Ul(L,cn);return{coeffs:[ln,un,pn,q],errBound:[an,fn,j+sn+$l(pn[1]),F]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:o,vₓₓ:r,vₓᵧ:c,vᵧᵧ:i},errorBound:{vₓ_:s,vᵧ_:u,vₓₓ_:f,vₓᵧ_:l,vᵧᵧ_:a}}=Yl(t),{coeffs:[[p,h,v],[d,g,m]],errorBound:[[x,_,b],[w,M,S]]}=dr(n),y=Jl(e[1]),C=Jl(o[1]),O=Jl(r[1]),N=Jl(c[1]),E=Jl(i[1]),I=Jl(v[1]),B=Jl(h[1]),k=Jl(p[1]),P=Jl(m[1]),T=Jl(g[1]),A=Jl(d[1]),z=Zl(e,v),D=Jl(z[1]),q=y*b+s*(I+ds*b)+2*D,F=Zl(e,h),L=Jl(F[1]),j=y*_+s*(B+ds*_)+2*L,H=Zl(e,p),W=Jl(H[1]),Y=y*x+s*(k+ds*x)+2*W,X=Zl(o,m),Q=Jl(X[1]),V=C*S+u*(P+ds*S)+2*Q,R=Zl(o,g),U=Jl(R[1]),$=C*M+u*(T+ds*M)+2*U,Z=Zl(o,d),G=Jl(Z[1]),J=C*w+u*(A+ds*w)+2*G,K=Gl(z,X),tt=q+V+Jl(K[1]),nt=Gl(F,R),et=j+$+Jl(nt[1]),ot=Gl(H,Z),rt=Y+J+Jl(ot[1]),ct=Zl(v,v),it=Jl(ct[1]),st=I*b+b*(I+ds*b)+2*it,ut=Zl(v,h),ft=Jl(ut[1]),lt=I*_+b*(B+ds*_)+2*ft,at=Zl(v,p),pt=Jl(at[1]),ht=I*x+b*(k+ds*x)+2*pt,vt=Zl(h,v),dt=Jl(vt[1]),gt=B*b+_*(I+ds*b)+2*dt,mt=Gl(ut,vt),xt=Jl(mt[1]),_t=lt+gt+xt,bt=Zl(h,h),wt=Jl(bt[1]),Mt=B*_+_*(B+ds*_)+2*wt,St=Gl(at,bt),yt=ht+Mt+Jl(St[1]),Ct=Zl(h,p),Ot=Jl(Ct[1]),Nt=B*x+_*(k+ds*x)+2*Ot,Et=Zl(p,v),It=Jl(Et[1]),Bt=k*b+x*(I+ds*b)+2*It,kt=Gl(St,Et),Pt=Jl(kt[1]),Tt=yt+Bt+Pt,At=Zl(p,h),zt=Jl(At[1]),Dt=k*_+x*(B+ds*_)+2*zt,qt=Gl(Ct,At),Ft=Jl(qt[1]),Lt=Nt+Dt+Ft,jt=Zl(p,p),Ht=Jl(jt[1]),Wt=k*x+x*(k+ds*x)+2*Ht,Yt=Zl(v,m),Xt=Jl(Yt[1]),Qt=I*S+b*(P+ds*S)+2*Xt,Vt=Zl(v,g),Rt=Jl(Vt[1]),Ut=I*M+b*(T+ds*M)+2*Rt,$t=Zl(v,d),Zt=Jl($t[1]),Gt=I*w+b*(A+ds*w)+2*Zt,Jt=Zl(h,m),Kt=Jl(Jt[1]),tn=B*S+_*(P+ds*S)+2*Kt,nn=Gl(Vt,Jt),en=Jl(nn[1]),on=Ut+tn+en,rn=Zl(h,g),cn=Jl(rn[1]),sn=B*M+_*(T+ds*M)+2*cn,un=Gl($t,rn),fn=Gt+sn+Jl(un[1]),ln=Zl(h,d),an=Jl(ln[1]),pn=B*w+_*(A+ds*w)+2*an,hn=Zl(p,m),vn=Jl(hn[1]),dn=k*S+x*(P+ds*S)+2*vn,gn=Gl(un,hn),mn=Jl(gn[1]),xn=fn+dn+mn,_n=Zl(p,g),bn=Jl(_n[1]),wn=k*M+x*(T+ds*M)+2*bn,Mn=Gl(ln,_n),Sn=Jl(Mn[1]),yn=pn+wn+Sn,Cn=Zl(p,d),On=Jl(Cn[1]),Nn=k*w+x*(A+ds*w)+2*On,En=Zl(m,m),In=Jl(En[1]),Bn=P*S+S*(P+ds*S)+2*In,kn=Zl(m,g),Pn=Jl(kn[1]),Tn=P*M+S*(T+ds*M)+2*Pn,An=Zl(m,d),zn=Jl(An[1]),Dn=P*w+S*(A+ds*w)+2*zn,qn=Zl(g,m),Fn=Jl(qn[1]),Ln=T*S+M*(P+ds*S)+2*Fn,jn=Gl(kn,qn),Hn=Jl(jn[1]),Wn=Tn+Ln+Hn,Yn=Zl(g,g),Xn=Jl(Yn[1]),Qn=T*M+M*(T+ds*M)+2*Xn,Vn=Gl(An,Yn),Rn=Dn+Qn+Jl(Vn[1]),Un=Zl(g,d),$n=Jl(Un[1]),Zn=T*w+M*(A+ds*w)+2*$n,Gn=Zl(d,m),Jn=Jl(Gn[1]),Kn=A*S+w*(P+ds*S)+2*Jn,te=Gl(Vn,Gn),ne=Jl(te[1]),ee=Rn+Kn+ne,oe=Zl(d,g),re=Jl(oe[1]),ce=A*M+w*(T+ds*M)+2*re,ie=Gl(Un,oe),se=Jl(ie[1]),ue=Zn+ce+se,fe=Zl(d,d),le=Jl(fe[1]),ae=A*w+w*(A+ds*w)+2*le,pe=Zl(r,ct),he=Jl(pe[1]),ve=O*st+f*(it+ds*st)+2*he,de=Zl(r,mt),ge=Jl(de[1]),me=O*_t+f*(xt+ds*_t)+2*ge,xe=Zl(r,kt),_e=Jl(xe[1]),be=O*Tt+f*(Pt+ds*Tt)+2*_e,we=Zl(r,qt),Me=Jl(we[1]),Se=O*Lt+f*(Ft+ds*Lt)+2*Me,ye=Zl(r,jt),Ce=Jl(ye[1]),Oe=O*Wt+f*(Ht+ds*Wt)+2*Ce,Ne=Zl(c,Yt),Ee=Jl(Ne[1]),Ie=N*Qt+l*(Xt+ds*Qt)+2*Ee,Be=Zl(c,nn),ke=Jl(Be[1]),Pe=N*on+l*(en+ds*on)+2*ke,Te=Zl(c,gn),Ae=Jl(Te[1]),ze=N*xn+l*(mn+ds*xn)+2*Ae,De=Zl(c,Mn),qe=Jl(De[1]),Fe=N*yn+l*(Sn+ds*yn)+2*qe,Le=Zl(c,Cn),je=Jl(Le[1]),He=N*Nn+l*(On+ds*Nn)+2*je,We=Gl(pe,Ne),Ye=ve+Ie+Jl(We[1]),Xe=Gl(de,Be),Qe=me+Pe+Jl(Xe[1]),Ve=Gl(xe,Te),Re=be+ze+Jl(Ve[1]),Ue=Gl(we,De),$e=Se+Fe+Jl(Ue[1]),Ze=Gl(ye,Le),Ge=Oe+He+Jl(Ze[1]),Je=Zl(i,En),Ke=Jl(Je[1]),to=E*Bn+a*(In+ds*Bn)+2*Ke,no=Zl(i,jn),eo=Jl(no[1]),oo=E*Wn+a*(Hn+ds*Wn)+2*eo,ro=Zl(i,te),co=Jl(ro[1]),io=E*ee+a*(ne+ds*ee)+2*co,so=Zl(i,ie),uo=Jl(so[1]),fo=E*ue+a*(se+ds*ue)+2*uo,lo=Zl(i,fe),ao=Jl(lo[1]),po=E*ae+a*(le+ds*ae)+2*ao,ho=Gl(We,Je),vo=Ye+to+Jl(ho[1]),go=Gl(Xe,no),mo=Qe+oo+Jl(go[1]),xo=Gl(Ve,ro),_o=Re+io+Jl(xo[1]),bo=Gl(Ue,so),wo=$e+fo+Jl(bo[1]),Mo=Gl(Ze,lo),So=Ge+po+Jl(Mo[1]),yo=Gl(nt,ho),Co=et+vo+Jl(yo[1]),Oo=Gl(ot,go);return{coeffs:[Mo,bo,xo,Oo,yo,K],errBound:[So,wo,_o,rt+mo+Jl(Oo[1]),Co,tt]}}],[function(t,n){const{coeffs:{vₓ:e,vᵧ:o,vₓₓ:r,vₓᵧ:c,vᵧᵧ:i,vₓₓₓ:s,vₓₓᵧ:u,vₓᵧᵧ:f,vᵧᵧᵧ:l},errorBound:{vₓ_:a,vᵧ_:p,vₓₓ_:h,vₓᵧ_:v,vᵧᵧ_:d,vₓₓₓ_:g,vₓₓᵧ_:m,vₓᵧᵧ_:x,vᵧᵧᵧ_:_}}=ia(t),[[b],[w]]=mr(n),M=fa(r[1]),S=fa(c[1]),y=fa(i[1]),C=fa(s[1]),O=fa(u[1]),N=fa(f[1]),E=fa(l[1]),I=fa(b[1]),B=fa(w[1]),k=sa(e,b),P=a*I+2*fa(k[1]),T=sa(o,w),A=p*B+2*fa(T[1]),z=ua(k,T),D=P+A+fa(z[1]),q=sa(b,b),F=fa(q[1]),L=2*F,j=sa(b,w),H=fa(j[1]),W=2*H,Y=sa(w,w),X=fa(Y[1]),Q=2*X,V=sa(r,q),R=fa(V[1]),U=M*L+h*(F+ds*L)+2*R,$=sa(c,j),Z=fa($[1]),G=S*W+v*(H+ds*W)+2*Z,J=ua(V,$),K=U+G+fa(J[1]),tt=sa(i,Y),nt=fa(tt[1]),et=y*Q+d*(X+ds*Q)+2*nt,ot=ua(J,tt),rt=K+et+fa(ot[1]),ct=sa(q,b),it=fa(ct[1]),st=L*I+2*it,ut=sa(q,w),ft=fa(ut[1]),lt=L*B+2*ft,at=sa(j,w),pt=fa(at[1]),ht=W*B+2*pt,vt=sa(Y,w),dt=fa(vt[1]),gt=Q*B+2*dt,mt=sa(s,ct),xt=fa(mt[1]),_t=C*st+g*(it+ds*st)+2*xt,bt=sa(u,ut),wt=fa(bt[1]),Mt=O*lt+m*(ft+ds*lt)+2*wt,St=ua(mt,bt),yt=_t+Mt+fa(St[1]),Ct=sa(f,at),Ot=fa(Ct[1]),Nt=N*ht+x*(pt+ds*ht)+2*Ot,Et=sa(l,vt),It=fa(Et[1]),Bt=E*gt+_*(dt+ds*gt)+2*It,kt=ua(Ct,Et),Pt=Nt+Bt+fa(kt[1]),Tt=ua(St,kt);return{coeffs:[Tt,ot,z],errBound:[yt+Pt+fa(Tt[1]),rt,D]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:o,vₓₓ:r,vₓᵧ:c,vᵧᵧ:i,vₓₓₓ:s,vₓₓᵧ:u,vₓᵧᵧ:f,vᵧᵧᵧ:l},errorBound:{vₓ_:a,vᵧ_:p,vₓₓ_:h,vₓᵧ_:v,vᵧᵧ_:d,vₓₓₓ_:g,vₓₓᵧ_:m,vₓᵧᵧ_:x,vᵧᵧᵧ_:_}}=ia(t),{coeffs:[[b,w],[M,S]],errorBound:[[y],[C]]}=gr(n),O=pa(e[1]),N=pa(o[1]),E=pa(r[1]),I=pa(c[1]),B=pa(i[1]),k=pa(s[1]),P=pa(u[1]),T=pa(f[1]),A=pa(l[1]),z=pa(w[1]),D=pa(b[1]),q=pa(S[1]),F=pa(M[1]),L=la(e,w),j=pa(L[1]),H=a*z+2*j,W=la(e,b),Y=pa(W[1]),X=O*y+a*(D+ds*y)+2*Y,Q=la(o,S),V=pa(Q[1]),R=p*q+2*V,U=la(o,M),$=pa(U[1]),Z=N*C+p*(F+ds*C)+2*$,G=aa(L,Q),J=pa(G[1]),K=H+R+J,tt=aa(W,U),nt=pa(tt[1]),et=X+Z+nt,ot=la(w,w),rt=pa(ot[1]),ct=2*rt,it=la(w,b),st=pa(it[1]),ut=z*y+2*st,ft=la(b,w),lt=pa(ft[1]),at=y*z+2*lt,pt=aa(it,ft),ht=pa(pt[1]),vt=ut+at+ht,dt=la(b,b),gt=pa(dt[1]),mt=D*y+y*(D+ds*y)+2*gt,xt=la(w,S),_t=pa(xt[1]),bt=2*_t,wt=la(w,M),Mt=pa(wt[1]),St=z*C+2*Mt,yt=la(b,S),Ct=pa(yt[1]),Ot=y*q+2*Ct,Nt=aa(wt,yt),Et=pa(Nt[1]),It=St+Ot+Et,Bt=la(b,M),kt=pa(Bt[1]),Pt=D*C+y*(F+ds*C)+2*kt,Tt=la(S,S),At=pa(Tt[1]),zt=2*At,Dt=la(S,M),qt=pa(Dt[1]),Ft=q*C+2*qt,Lt=la(M,S),jt=pa(Lt[1]),Ht=C*q+2*jt,Wt=aa(Dt,Lt),Yt=pa(Wt[1]),Xt=Ft+Ht+Yt,Qt=la(M,M),Vt=pa(Qt[1]),Rt=F*C+C*(F+ds*C)+2*Vt,Ut=la(r,ot),$t=pa(Ut[1]),Zt=E*ct+h*(rt+ds*ct)+2*$t,Gt=la(r,pt),Jt=pa(Gt[1]),Kt=E*vt+h*(ht+ds*vt)+2*Jt,tn=la(r,dt),nn=pa(tn[1]),en=E*mt+h*(gt+ds*mt)+2*nn,on=la(c,xt),rn=pa(on[1]),cn=I*bt+v*(_t+ds*bt)+2*rn,sn=la(c,Nt),un=pa(sn[1]),fn=I*It+v*(Et+ds*It)+2*un,ln=la(c,Bt),an=pa(ln[1]),pn=I*Pt+v*(kt+ds*Pt)+2*an,hn=aa(Ut,on),vn=Zt+cn+pa(hn[1]),dn=aa(Gt,sn),gn=Kt+fn+pa(dn[1]),mn=aa(tn,ln),xn=en+pn+pa(mn[1]),_n=la(i,Tt),bn=pa(_n[1]),wn=B*zt+d*(At+ds*zt)+2*bn,Mn=la(i,Wt),Sn=pa(Mn[1]),yn=B*Xt+d*(Yt+ds*Xt)+2*Sn,Cn=la(i,Qt),On=pa(Cn[1]),Nn=B*Rt+d*(Vt+ds*Rt)+2*On,En=aa(hn,_n),In=vn+wn+pa(En[1]),Bn=aa(dn,Mn),kn=gn+yn+pa(Bn[1]),Pn=aa(mn,Cn),Tn=xn+Nn+pa(Pn[1]),An=aa(tt,En),zn=et+In+pa(An[1]),Dn=la(ot,w),qn=pa(Dn[1]),Fn=ct*z+2*qn,Ln=la(ot,b),jn=pa(Ln[1]),Hn=rt*y+ct*(D+ds*y)+2*jn,Wn=la(pt,w),Yn=vt*z+2*pa(Wn[1]),Xn=aa(Ln,Wn),Qn=pa(Xn[1]),Vn=Hn+Yn+Qn,Rn=la(pt,b),Un=pa(Rn[1]),$n=ht*y+vt*(D+ds*y)+2*Un,Zn=la(dt,w),Gn=mt*z+2*pa(Zn[1]),Jn=aa(Rn,Zn),Kn=pa(Jn[1]),te=$n+Gn+Kn,ne=la(dt,b),ee=pa(ne[1]),oe=gt*y+mt*(D+ds*y)+2*ee,re=la(ot,S),ce=pa(re[1]),ie=ct*q+2*ce,se=la(ot,M),ue=pa(se[1]),fe=rt*C+ct*(F+ds*C)+2*ue,le=la(pt,S),ae=vt*q+2*pa(le[1]),pe=aa(se,le),he=pa(pe[1]),ve=fe+ae+he,de=la(pt,M),ge=pa(de[1]),me=ht*C+vt*(F+ds*C)+2*ge,xe=la(dt,S),_e=mt*q+2*pa(xe[1]),be=aa(de,xe),we=pa(be[1]),Me=me+_e+we,Se=la(dt,M),ye=pa(Se[1]),Ce=gt*C+mt*(F+ds*C)+2*ye,Oe=la(xt,S),Ne=pa(Oe[1]),Ee=bt*q+2*Ne,Ie=la(xt,M),Be=pa(Ie[1]),ke=_t*C+bt*(F+ds*C)+2*Be,Pe=la(Nt,S),Te=It*q+2*pa(Pe[1]),Ae=aa(Ie,Pe),ze=pa(Ae[1]),De=ke+Te+ze,qe=la(Nt,M),Fe=pa(qe[1]),Le=Et*C+It*(F+ds*C)+2*Fe,je=la(Bt,S),He=Pt*q+2*pa(je[1]),We=aa(qe,je),Ye=pa(We[1]),Xe=Le+He+Ye,Qe=la(Bt,M),Ve=pa(Qe[1]),Re=kt*C+Pt*(F+ds*C)+2*Ve,Ue=la(Tt,S),$e=pa(Ue[1]),Ze=zt*q+2*$e,Ge=la(Tt,M),Je=pa(Ge[1]),Ke=At*C+zt*(F+ds*C)+2*Je,to=la(Wt,S),no=Xt*q+2*pa(to[1]),eo=aa(Ge,to),oo=pa(eo[1]),ro=Ke+no+oo,co=la(Wt,M),io=pa(co[1]),so=Yt*C+Xt*(F+ds*C)+2*io,uo=la(Qt,S),fo=Rt*q+2*pa(uo[1]),lo=aa(co,uo),ao=pa(lo[1]),po=so+fo+ao,ho=la(Qt,M),vo=pa(ho[1]),go=Vt*C+Rt*(F+ds*C)+2*vo,mo=la(s,Dn),xo=pa(mo[1]),_o=k*Fn+g*(qn+ds*Fn)+2*xo,bo=la(s,Xn),wo=pa(bo[1]),Mo=k*Vn+g*(Qn+ds*Vn)+2*wo,So=la(s,Jn),yo=pa(So[1]),Co=k*te+g*(Kn+ds*te)+2*yo,Oo=la(s,ne),No=pa(Oo[1]),Eo=k*oe+g*(ee+ds*oe)+2*No,Io=la(u,re),Bo=pa(Io[1]),ko=P*ie+m*(ce+ds*ie)+2*Bo,Po=la(u,pe),To=pa(Po[1]),Ao=P*ve+m*(he+ds*ve)+2*To,zo=la(u,be),Do=pa(zo[1]),qo=P*Me+m*(we+ds*Me)+2*Do,Fo=la(u,Se),Lo=pa(Fo[1]),jo=P*Ce+m*(ye+ds*Ce)+2*Lo,Ho=aa(mo,Io),Wo=_o+ko+pa(Ho[1]),Yo=aa(bo,Po),Xo=Mo+Ao+pa(Yo[1]),Qo=aa(So,zo),Vo=Co+qo+pa(Qo[1]),Ro=aa(Oo,Fo),Uo=Eo+jo+pa(Ro[1]),$o=la(f,Oe),Zo=pa($o[1]),Go=T*Ee+x*(Ne+ds*Ee)+2*Zo,Jo=la(f,Ae),Ko=pa(Jo[1]),tr=T*De+x*(ze+ds*De)+2*Ko,nr=la(f,We),er=pa(nr[1]),or=T*Xe+x*(Ye+ds*Xe)+2*er,rr=la(f,Qe),cr=pa(rr[1]),ir=T*Re+x*(Ve+ds*Re)+2*cr,sr=la(l,Ue),ur=pa(sr[1]),fr=A*Ze+_*($e+ds*Ze)+2*ur,lr=la(l,eo),ar=pa(lr[1]),pr=A*ro+_*(oo+ds*ro)+2*ar,hr=la(l,lo),vr=pa(hr[1]),dr=A*po+_*(ao+ds*po)+2*vr,mr=la(l,ho),xr=pa(mr[1]),_r=A*go+_*(vo+ds*go)+2*xr,br=aa($o,sr),wr=Go+fr+pa(br[1]),Mr=aa(Jo,lr),Sr=tr+pr+pa(Mr[1]),yr=aa(nr,hr),Cr=or+dr+pa(yr[1]),Or=aa(rr,mr),Nr=ir+_r+pa(Or[1]),Er=aa(Ho,br),Ir=Wo+wr+pa(Er[1]),Br=aa(Yo,Mr),kr=Xo+Sr+pa(Br[1]),Pr=aa(Qo,yr),Tr=Vo+Cr+pa(Pr[1]),Ar=aa(Ro,Or),zr=Uo+Nr+pa(Ar[1]),Dr=aa(Bn,Er),qr=kn+Ir+pa(Dr[1]),Fr=aa(Pn,Br);return{coeffs:[Ar,Pr,Fr,Dr,An,G],errBound:[zr,Tr,Tn+kr+pa(Fr[1]),qr,zn,K]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:o,vₓₓ:r,vₓᵧ:c,vᵧᵧ:i,vₓₓₓ:s,vₓₓᵧ:u,vₓᵧᵧ:f,vᵧᵧᵧ:l},errorBound:{vₓ_:a,vᵧ_:p,vₓₓ_:h,vₓᵧ_:v,vᵧᵧ_:d,vₓₓₓ_:g,vₓₓᵧ_:m,vₓᵧᵧ_:x,vᵧᵧᵧ_:_}}=ia(t),{coeffs:[[b,w,M],[S,y,C]],errorBound:[[O,N,E],[I,B,k]]}=dr(n),P=da(e[1]),T=da(o[1]),A=da(r[1]),z=da(c[1]),D=da(i[1]),q=da(s[1]),F=da(u[1]),L=da(f[1]),j=da(l[1]),H=da(M[1]),W=da(w[1]),Y=da(b[1]),X=da(C[1]),Q=da(y[1]),V=da(S[1]),R=ha(e,M),U=da(R[1]),$=P*E+a*(H+ds*E)+2*U,Z=ha(e,w),G=da(Z[1]),J=P*N+a*(W+ds*N)+2*G,K=ha(e,b),tt=da(K[1]),nt=P*O+a*(Y+ds*O)+2*tt,et=ha(o,C),ot=da(et[1]),rt=T*k+p*(X+ds*k)+2*ot,ct=ha(o,y),it=da(ct[1]),st=T*B+p*(Q+ds*B)+2*it,ut=ha(o,S),ft=da(ut[1]),lt=T*I+p*(V+ds*I)+2*ft,at=va(R,et),pt=da(at[1]),ht=$+rt+pt,vt=va(Z,ct),dt=da(vt[1]),gt=J+st+dt,mt=va(K,ut),xt=da(mt[1]),_t=nt+lt+xt,bt=ha(M,M),wt=da(bt[1]),Mt=H*E+E*(H+ds*E)+2*wt,St=ha(M,w),yt=da(St[1]),Ct=H*N+E*(W+ds*N)+2*yt,Ot=ha(M,b),Nt=da(Ot[1]),Et=H*O+E*(Y+ds*O)+2*Nt,It=ha(w,M),Bt=da(It[1]),kt=W*E+N*(H+ds*E)+2*Bt,Pt=va(St,It),Tt=da(Pt[1]),At=Ct+kt+Tt,zt=ha(w,w),Dt=da(zt[1]),qt=W*N+N*(W+ds*N)+2*Dt,Ft=va(Ot,zt),Lt=da(Ft[1]),jt=Et+qt+Lt,Ht=ha(w,b),Wt=da(Ht[1]),Yt=W*O+N*(Y+ds*O)+2*Wt,Xt=ha(b,M),Qt=da(Xt[1]),Vt=Y*E+O*(H+ds*E)+2*Qt,Rt=va(Ft,Xt),Ut=da(Rt[1]),$t=jt+Vt+Ut,Zt=ha(b,w),Gt=da(Zt[1]),Jt=Y*N+O*(W+ds*N)+2*Gt,Kt=va(Ht,Zt),tn=da(Kt[1]),nn=Yt+Jt+tn,en=ha(b,b),on=da(en[1]),rn=Y*O+O*(Y+ds*O)+2*on,cn=ha(M,C),sn=da(cn[1]),un=H*k+E*(X+ds*k)+2*sn,fn=ha(M,y),ln=da(fn[1]),an=H*B+E*(Q+ds*B)+2*ln,pn=ha(M,S),hn=da(pn[1]),vn=H*I+E*(V+ds*I)+2*hn,dn=ha(w,C),gn=da(dn[1]),mn=W*k+N*(X+ds*k)+2*gn,xn=va(fn,dn),_n=da(xn[1]),bn=an+mn+_n,wn=ha(w,y),Mn=da(wn[1]),Sn=W*B+N*(Q+ds*B)+2*Mn,yn=va(pn,wn),Cn=da(yn[1]),On=vn+Sn+Cn,Nn=ha(w,S),En=da(Nn[1]),In=W*I+N*(V+ds*I)+2*En,Bn=ha(b,C),kn=da(Bn[1]),Pn=Y*k+O*(X+ds*k)+2*kn,Tn=va(yn,Bn),An=da(Tn[1]),zn=On+Pn+An,Dn=ha(b,y),qn=da(Dn[1]),Fn=Y*B+O*(Q+ds*B)+2*qn,Ln=va(Nn,Dn),jn=da(Ln[1]),Hn=In+Fn+jn,Wn=ha(b,S),Yn=da(Wn[1]),Xn=Y*I+O*(V+ds*I)+2*Yn,Qn=ha(C,C),Vn=da(Qn[1]),Rn=X*k+k*(X+ds*k)+2*Vn,Un=ha(C,y),$n=da(Un[1]),Zn=X*B+k*(Q+ds*B)+2*$n,Gn=ha(C,S),Jn=da(Gn[1]),Kn=X*I+k*(V+ds*I)+2*Jn,te=ha(y,C),ne=da(te[1]),ee=Q*k+B*(X+ds*k)+2*ne,oe=va(Un,te),re=da(oe[1]),ce=Zn+ee+re,ie=ha(y,y),se=da(ie[1]),ue=Q*B+B*(Q+ds*B)+2*se,fe=va(Gn,ie),le=da(fe[1]),ae=Kn+ue+le,pe=ha(y,S),he=da(pe[1]),ve=Q*I+B*(V+ds*I)+2*he,de=ha(S,C),ge=da(de[1]),me=V*k+I*(X+ds*k)+2*ge,xe=va(fe,de),_e=da(xe[1]),be=ae+me+_e,we=ha(S,y),Me=da(we[1]),Se=V*B+I*(Q+ds*B)+2*Me,ye=va(pe,we),Ce=da(ye[1]),Oe=ve+Se+Ce,Ne=ha(S,S),Ee=da(Ne[1]),Ie=V*I+I*(V+ds*I)+2*Ee,Be=ha(r,bt),ke=da(Be[1]),Pe=A*Mt+h*(wt+ds*Mt)+2*ke,Te=ha(r,Pt),Ae=da(Te[1]),ze=A*At+h*(Tt+ds*At)+2*Ae,De=ha(r,Rt),qe=da(De[1]),Fe=A*$t+h*(Ut+ds*$t)+2*qe,Le=ha(r,Kt),je=da(Le[1]),He=A*nn+h*(tn+ds*nn)+2*je,We=ha(r,en),Ye=da(We[1]),Xe=A*rn+h*(on+ds*rn)+2*Ye,Qe=ha(c,cn),Ve=da(Qe[1]),Re=z*un+v*(sn+ds*un)+2*Ve,Ue=ha(c,xn),$e=da(Ue[1]),Ze=z*bn+v*(_n+ds*bn)+2*$e,Ge=ha(c,Tn),Je=da(Ge[1]),Ke=z*zn+v*(An+ds*zn)+2*Je,to=ha(c,Ln),no=da(to[1]),eo=z*Hn+v*(jn+ds*Hn)+2*no,oo=ha(c,Wn),ro=da(oo[1]),co=z*Xn+v*(Yn+ds*Xn)+2*ro,io=va(Be,Qe),so=da(io[1]),uo=Pe+Re+so,fo=va(Te,Ue),lo=da(fo[1]),ao=ze+Ze+lo,po=va(De,Ge),ho=da(po[1]),vo=Fe+Ke+ho,go=va(Le,to),mo=da(go[1]),xo=He+eo+mo,_o=va(We,oo),bo=da(_o[1]),wo=Xe+co+bo,Mo=ha(i,Qn),So=da(Mo[1]),yo=D*Rn+d*(Vn+ds*Rn)+2*So,Co=ha(i,oe),Oo=da(Co[1]),No=D*ce+d*(re+ds*ce)+2*Oo,Eo=ha(i,xe),Io=da(Eo[1]),Bo=D*be+d*(_e+ds*be)+2*Io,ko=ha(i,ye),Po=da(ko[1]),To=D*Oe+d*(Ce+ds*Oe)+2*Po,Ao=ha(i,Ne),zo=da(Ao[1]),Do=D*Ie+d*(Ee+ds*Ie)+2*zo,qo=va(io,Mo),Fo=da(qo[1]),Lo=uo+yo+Fo,jo=va(fo,Co),Ho=da(jo[1]),Wo=ao+No+Ho,Yo=va(po,Eo),Xo=da(Yo[1]),Qo=vo+Bo+Xo,Vo=va(go,ko),Ro=da(Vo[1]),Uo=xo+To+Ro,$o=va(_o,Ao),Zo=da($o[1]),Go=wo+Do+Zo,Jo=va(vt,qo),Ko=da(Jo[1]),tr=gt+Lo+Ko,nr=va(mt,jo),er=da(nr[1]),or=_t+Wo+er,rr=ha(bt,M),cr=da(rr[1]),ir=wt*E+Mt*(H+ds*E)+2*cr,sr=ha(bt,w),ur=da(sr[1]),fr=wt*N+Mt*(W+ds*N)+2*ur,lr=ha(bt,b),ar=da(lr[1]),pr=wt*O+Mt*(Y+ds*O)+2*ar,hr=ha(Pt,M),vr=da(hr[1]),gr=Tt*E+At*(H+ds*E)+2*vr,mr=va(sr,hr),xr=da(mr[1]),_r=fr+gr+xr,br=ha(Pt,w),wr=da(br[1]),Mr=Tt*N+At*(W+ds*N)+2*wr,Sr=va(lr,br),yr=da(Sr[1]),Cr=pr+Mr+yr,Or=ha(Pt,b),Nr=da(Or[1]),Er=Tt*O+At*(Y+ds*O)+2*Nr,Ir=ha(Rt,M),Br=da(Ir[1]),kr=Ut*E+$t*(H+ds*E)+2*Br,Pr=va(Sr,Ir),Tr=da(Pr[1]),Ar=Cr+kr+Tr,zr=ha(Rt,w),Dr=da(zr[1]),qr=Ut*N+$t*(W+ds*N)+2*Dr,Fr=va(Or,zr),Lr=da(Fr[1]),jr=Er+qr+Lr,Hr=ha(Rt,b),Wr=da(Hr[1]),Yr=Ut*O+$t*(Y+ds*O)+2*Wr,Xr=ha(Kt,M),Qr=da(Xr[1]),Vr=tn*E+nn*(H+ds*E)+2*Qr,Rr=va(Fr,Xr),Ur=da(Rr[1]),$r=jr+Vr+Ur,Zr=ha(Kt,w),Gr=da(Zr[1]),Jr=tn*N+nn*(W+ds*N)+2*Gr,Kr=va(Hr,Zr),tc=da(Kr[1]),nc=Yr+Jr+tc,ec=ha(Kt,b),oc=da(ec[1]),rc=tn*O+nn*(Y+ds*O)+2*oc,cc=ha(en,M),ic=da(cc[1]),sc=on*E+rn*(H+ds*E)+2*ic,uc=va(Kr,cc),fc=da(uc[1]),lc=nc+sc+fc,ac=ha(en,w),pc=da(ac[1]),hc=on*N+rn*(W+ds*N)+2*pc,vc=va(ec,ac),dc=da(vc[1]),gc=rc+hc+dc,mc=ha(en,b),xc=da(mc[1]),_c=on*O+rn*(Y+ds*O)+2*xc,bc=ha(bt,C),wc=da(bc[1]),Mc=wt*k+Mt*(X+ds*k)+2*wc,Sc=ha(bt,y),yc=da(Sc[1]),Cc=wt*B+Mt*(Q+ds*B)+2*yc,Oc=ha(bt,S),Nc=da(Oc[1]),Ec=wt*I+Mt*(V+ds*I)+2*Nc,Ic=ha(Pt,C),Bc=da(Ic[1]),kc=Tt*k+At*(X+ds*k)+2*Bc,Pc=va(Sc,Ic),Tc=da(Pc[1]),Ac=Cc+kc+Tc,zc=ha(Pt,y),Dc=da(zc[1]),qc=Tt*B+At*(Q+ds*B)+2*Dc,Fc=va(Oc,zc),Lc=da(Fc[1]),jc=Ec+qc+Lc,Hc=ha(Pt,S),Wc=da(Hc[1]),Yc=Tt*I+At*(V+ds*I)+2*Wc,Xc=ha(Rt,C),Qc=da(Xc[1]),Vc=Ut*k+$t*(X+ds*k)+2*Qc,Rc=va(Fc,Xc),Uc=da(Rc[1]),$c=jc+Vc+Uc,Zc=ha(Rt,y),Gc=da(Zc[1]),Jc=Ut*B+$t*(Q+ds*B)+2*Gc,Kc=va(Hc,Zc),ti=da(Kc[1]),ni=Yc+Jc+ti,ei=ha(Rt,S),oi=da(ei[1]),ri=Ut*I+$t*(V+ds*I)+2*oi,ci=ha(Kt,C),ii=da(ci[1]),si=tn*k+nn*(X+ds*k)+2*ii,ui=va(Kc,ci),fi=da(ui[1]),li=ni+si+fi,ai=ha(Kt,y),pi=da(ai[1]),hi=tn*B+nn*(Q+ds*B)+2*pi,vi=va(ei,ai),di=da(vi[1]),gi=ri+hi+di,mi=ha(Kt,S),xi=da(mi[1]),_i=tn*I+nn*(V+ds*I)+2*xi,bi=ha(en,C),wi=da(bi[1]),Mi=on*k+rn*(X+ds*k)+2*wi,Si=va(vi,bi),yi=da(Si[1]),Ci=gi+Mi+yi,Oi=ha(en,y),Ni=da(Oi[1]),Ei=on*B+rn*(Q+ds*B)+2*Ni,Ii=va(mi,Oi),Bi=da(Ii[1]),ki=_i+Ei+Bi,Pi=ha(en,S),Ti=da(Pi[1]),Ai=on*I+rn*(V+ds*I)+2*Ti,zi=ha(cn,C),Di=da(zi[1]),qi=sn*k+un*(X+ds*k)+2*Di,Fi=ha(cn,y),Li=da(Fi[1]),ji=sn*B+un*(Q+ds*B)+2*Li,Hi=ha(cn,S),Wi=da(Hi[1]),Yi=sn*I+un*(V+ds*I)+2*Wi,Xi=ha(xn,C),Qi=da(Xi[1]),Vi=_n*k+bn*(X+ds*k)+2*Qi,Ri=va(Fi,Xi),Ui=da(Ri[1]),$i=ji+Vi+Ui,Zi=ha(xn,y),Gi=da(Zi[1]),Ji=_n*B+bn*(Q+ds*B)+2*Gi,Ki=va(Hi,Zi),ts=da(Ki[1]),ns=Yi+Ji+ts,es=ha(xn,S),os=da(es[1]),rs=_n*I+bn*(V+ds*I)+2*os,cs=ha(Tn,C),is=da(cs[1]),ss=An*k+zn*(X+ds*k)+2*is,us=va(Ki,cs),fs=da(us[1]),ls=ns+ss+fs,as=ha(Tn,y),ps=da(as[1]),hs=An*B+zn*(Q+ds*B)+2*ps,vs=va(es,as),gs=da(vs[1]),ms=rs+hs+gs,xs=ha(Tn,S),_s=da(xs[1]),bs=An*I+zn*(V+ds*I)+2*_s,ws=ha(Ln,C),Ms=da(ws[1]),Ss=jn*k+Hn*(X+ds*k)+2*Ms,ys=va(vs,ws),Cs=da(ys[1]),Os=ms+Ss+Cs,Ns=ha(Ln,y),Es=da(Ns[1]),Is=jn*B+Hn*(Q+ds*B)+2*Es,Bs=va(xs,Ns),ks=da(Bs[1]),Ps=bs+Is+ks,Ts=ha(Ln,S),As=da(Ts[1]),zs=jn*I+Hn*(V+ds*I)+2*As,Ds=ha(Wn,C),qs=da(Ds[1]),Fs=Yn*k+Xn*(X+ds*k)+2*qs,Ls=va(Bs,Ds),js=da(Ls[1]),Hs=Ps+Fs+js,Ws=ha(Wn,y),Ys=da(Ws[1]),Xs=Yn*B+Xn*(Q+ds*B)+2*Ys,Qs=va(Ts,Ws),Vs=da(Qs[1]),Rs=zs+Xs+Vs,Us=ha(Wn,S),$s=da(Us[1]),Zs=Yn*I+Xn*(V+ds*I)+2*$s,Gs=ha(Qn,C),Js=da(Gs[1]),Ks=Vn*k+Rn*(X+ds*k)+2*Js,tu=ha(Qn,y),nu=da(tu[1]),eu=Vn*B+Rn*(Q+ds*B)+2*nu,ou=ha(Qn,S),ru=da(ou[1]),cu=Vn*I+Rn*(V+ds*I)+2*ru,iu=ha(oe,C),su=da(iu[1]),uu=re*k+ce*(X+ds*k)+2*su,fu=va(tu,iu),lu=da(fu[1]),au=eu+uu+lu,pu=ha(oe,y),hu=da(pu[1]),vu=re*B+ce*(Q+ds*B)+2*hu,du=va(ou,pu),gu=cu+vu+da(du[1]),mu=ha(oe,S),xu=da(mu[1]),_u=re*I+ce*(V+ds*I)+2*xu,bu=ha(xe,C),wu=da(bu[1]),Mu=_e*k+be*(X+ds*k)+2*wu,Su=va(du,bu),yu=da(Su[1]),Cu=gu+Mu+yu,Ou=ha(xe,y),Nu=da(Ou[1]),Eu=_e*B+be*(Q+ds*B)+2*Nu,Iu=va(mu,Ou),Bu=_u+Eu+da(Iu[1]),ku=ha(xe,S),Pu=da(ku[1]),Tu=_e*I+be*(V+ds*I)+2*Pu,Au=ha(ye,C),zu=da(Au[1]),Du=Ce*k+Oe*(X+ds*k)+2*zu,qu=va(Iu,Au),Fu=da(qu[1]),Lu=Bu+Du+Fu,ju=ha(ye,y),Hu=da(ju[1]),Wu=Ce*B+Oe*(Q+ds*B)+2*Hu,Yu=va(ku,ju),Xu=Tu+Wu+da(Yu[1]),Qu=ha(ye,S),Vu=da(Qu[1]),Ru=Ce*I+Oe*(V+ds*I)+2*Vu,Uu=ha(Ne,C),$u=da(Uu[1]),Zu=Ee*k+Ie*(X+ds*k)+2*$u,Gu=va(Yu,Uu),Ju=da(Gu[1]),Ku=Xu+Zu+Ju,tf=ha(Ne,y),nf=da(tf[1]),ef=Ee*B+Ie*(Q+ds*B)+2*nf,of=va(Qu,tf),rf=da(of[1]),cf=Ru+ef+rf,sf=ha(Ne,S),uf=da(sf[1]),ff=Ee*I+Ie*(V+ds*I)+2*uf,lf=ha(s,rr),af=da(lf[1]),pf=q*ir+g*(cr+ds*ir)+2*af,hf=ha(s,mr),vf=da(hf[1]),df=q*_r+g*(xr+ds*_r)+2*vf,gf=ha(s,Pr),mf=da(gf[1]),xf=q*Ar+g*(Tr+ds*Ar)+2*mf,_f=ha(s,Rr),bf=da(_f[1]),wf=q*$r+g*(Ur+ds*$r)+2*bf,Mf=ha(s,uc),Sf=da(Mf[1]),yf=q*lc+g*(fc+ds*lc)+2*Sf,Cf=ha(s,vc),Of=da(Cf[1]),Nf=q*gc+g*(dc+ds*gc)+2*Of,Ef=ha(s,mc),If=da(Ef[1]),Bf=q*_c+g*(xc+ds*_c)+2*If,kf=ha(u,bc),Pf=da(kf[1]),Tf=F*Mc+m*(wc+ds*Mc)+2*Pf,Af=ha(u,Pc),zf=da(Af[1]),Df=F*Ac+m*(Tc+ds*Ac)+2*zf,qf=ha(u,Rc),Ff=da(qf[1]),Lf=F*$c+m*(Uc+ds*$c)+2*Ff,jf=ha(u,ui),Hf=da(jf[1]),Wf=F*li+m*(fi+ds*li)+2*Hf,Yf=ha(u,Si),Xf=da(Yf[1]),Qf=F*Ci+m*(yi+ds*Ci)+2*Xf,Vf=ha(u,Ii),Rf=da(Vf[1]),Uf=F*ki+m*(Bi+ds*ki)+2*Rf,$f=ha(u,Pi),Zf=da($f[1]),Gf=F*Ai+m*(Ti+ds*Ai)+2*Zf,Jf=va(lf,kf),Kf=pf+Tf+da(Jf[1]),tl=va(hf,Af),nl=df+Df+da(tl[1]),el=va(gf,qf),ol=xf+Lf+da(el[1]),rl=va(_f,jf),cl=wf+Wf+da(rl[1]),il=va(Mf,Yf),sl=yf+Qf+da(il[1]),ul=va(Cf,Vf),fl=Nf+Uf+da(ul[1]),ll=va(Ef,$f),al=Bf+Gf+da(ll[1]),pl=ha(f,zi),hl=da(pl[1]),vl=L*qi+x*(Di+ds*qi)+2*hl,dl=ha(f,Ri),gl=da(dl[1]),ml=L*$i+x*(Ui+ds*$i)+2*gl,xl=ha(f,us),_l=da(xl[1]),bl=L*ls+x*(fs+ds*ls)+2*_l,wl=ha(f,ys),Ml=da(wl[1]),Sl=L*Os+x*(Cs+ds*Os)+2*Ml,yl=ha(f,Ls),Cl=da(yl[1]),Ol=L*Hs+x*(js+ds*Hs)+2*Cl,Nl=ha(f,Qs),El=da(Nl[1]),Il=L*Rs+x*(Vs+ds*Rs)+2*El,Bl=ha(f,Us),kl=da(Bl[1]),Pl=L*Zs+x*($s+ds*Zs)+2*kl,Tl=ha(l,Gs),Al=da(Tl[1]),zl=j*Ks+_*(Js+ds*Ks)+2*Al,Dl=ha(l,fu),ql=da(Dl[1]),Fl=j*au+_*(lu+ds*au)+2*ql,Ll=ha(l,Su),jl=da(Ll[1]),Hl=j*Cu+_*(yu+ds*Cu)+2*jl,Wl=ha(l,qu),Yl=da(Wl[1]),Xl=j*Lu+_*(Fu+ds*Lu)+2*Yl,Ql=ha(l,Gu),Vl=da(Ql[1]),Rl=j*Ku+_*(Ju+ds*Ku)+2*Vl,Ul=ha(l,of),$l=da(Ul[1]),Zl=j*cf+_*(rf+ds*cf)+2*$l,Gl=ha(l,sf),Jl=da(Gl[1]),Kl=j*ff+_*(uf+ds*ff)+2*Jl,ta=va(pl,Tl),na=vl+zl+da(ta[1]),ea=va(dl,Dl),oa=ml+Fl+da(ea[1]),ra=va(xl,Ll),ca=bl+Hl+da(ra[1]),sa=va(wl,Wl),ua=Sl+Xl+da(sa[1]),fa=va(yl,Ql),la=Ol+Rl+da(fa[1]),aa=va(Nl,Ul),pa=Il+Zl+da(aa[1]),ga=va(Bl,Gl),ma=Pl+Kl+da(ga[1]),xa=va(Jf,ta),_a=Kf+na+da(xa[1]),ba=va(tl,ea),wa=nl+oa+da(ba[1]),Ma=va(el,ra),Sa=ol+ca+da(Ma[1]),ya=va(rl,sa),Ca=cl+ua+da(ya[1]),Oa=va(il,fa),Na=sl+la+da(Oa[1]),Ea=va(ul,aa),Ia=fl+pa+da(Ea[1]),Ba=va(ll,ga),ka=al+ma+da(Ba[1]),Pa=va(nr,xa),Ta=or+_a+da(Pa[1]),Aa=va(Yo,ba),za=Qo+wa+da(Aa[1]),Da=va(Vo,Ma),qa=Uo+Sa+da(Da[1]),Fa=va($o,ya);return{coeffs:[Ba,Ea,Oa,Fa,Da,Aa,Pa,Jo,at],errBound:[ka,Ia,Na,Go+Ca+da(Fa[1]),qa,za,Ta,tr,ht]}}]],Ua=[[function(t,n){const{vₓ:e,vᵧ:o}=ga(t),[[r],[c]]=Xc(n),i=ma(e,r),s=ma(o,c);return[xa(i,s)]},function(t,n){const{vₓ:e,vᵧ:o}=ga(t),[[r,c],[i,s]]=Yc(n),u=_a(e,c),f=_a(e,r),l=_a(o,s),a=_a(o,i),p=ba(u,l);return[ba(f,a),p]},function(t,n){const{vₓ:e,vᵧ:o}=ga(t),[[r,c,i],[s,u,f]]=Wc(n),l=wa(e,i),a=wa(e,c),p=wa(e,r),h=wa(o,f),v=wa(o,u),d=wa(o,s),g=Ma(l,h),m=Ma(a,v);return[Ma(p,d),m,g]}],[function(t,n){const{vₓ:e,vᵧ:o,vₓₓ:r,vₓᵧ:c,vᵧᵧ:i}=Na(t),[[s],[u]]=Xc(n),f=Ea(e,s),l=Ea(o,u),a=Ia(f,l),p=Ea(s,s),h=Ea(s,u),v=Ea(u,u),d=Ea(r,p),g=Ea(c,h),m=Ia(d,g),x=Ea(i,v);return[Ia(m,x),a]},function(t,n){const{vₓ:e,vᵧ:o,vₓₓ:r,vₓᵧ:c,vᵧᵧ:i}=Na(t),[[s,u],[f,l]]=Yc(n),a=Ba(e,u),p=Ba(e,s),h=Ba(o,l),v=Ba(o,f),d=ka(a,h),g=ka(p,v),m=Ba(u,u),x=Ba(u,s),_=Ba(s,u),b=ka(x,_),w=Ba(s,s),M=Ba(u,l),S=Ba(u,f),y=Ba(s,l),C=ka(S,y),O=Ba(s,f),N=Ba(l,l),E=Ba(l,f),I=Ba(f,l),B=ka(E,I),k=Ba(f,f),P=Ba(r,m),T=Ba(r,b),A=Ba(r,w),z=Ba(c,M),D=Ba(c,C),q=Ba(c,O),F=ka(P,z),L=ka(T,D),j=ka(A,q),H=Ba(i,N),W=Ba(i,B),Y=Ba(i,k),X=ka(F,H),Q=ka(L,W);return[ka(j,Y),Q,ka(g,X),d]},function(t,n){const{vₓ:e,vᵧ:o,vₓₓ:r,vₓᵧ:c,vᵧᵧ:i}=Na(t),[[s,u,f],[l,a,p]]=Wc(n),h=Pa(e,f),v=Pa(e,u),d=Pa(e,s),g=Pa(o,p),m=Pa(o,a),x=Pa(o,l),_=Ta(h,g),b=Ta(v,m),w=Ta(d,x),M=Pa(f,f),S=Pa(f,u),y=Pa(f,s),C=Pa(u,f),O=Ta(S,C),N=Pa(u,u),E=Ta(y,N),I=Pa(u,s),B=Pa(s,f),k=Ta(E,B),P=Pa(s,u),T=Ta(I,P),A=Pa(s,s),z=Pa(f,p),D=Pa(f,a),q=Pa(f,l),F=Pa(u,p),L=Ta(D,F),j=Pa(u,a),H=Ta(q,j),W=Pa(u,l),Y=Pa(s,p),X=Ta(H,Y),Q=Pa(s,a),V=Ta(W,Q),R=Pa(s,l),U=Pa(p,p),$=Pa(p,a),Z=Pa(p,l),G=Pa(a,p),J=Ta($,G),K=Pa(a,a),tt=Ta(Z,K),nt=Pa(a,l),et=Pa(l,p),ot=Ta(tt,et),rt=Pa(l,a),ct=Ta(nt,rt),it=Pa(l,l),st=Pa(r,M),ut=Pa(r,O),ft=Pa(r,k),lt=Pa(r,T),at=Pa(r,A),pt=Pa(c,z),ht=Pa(c,L),vt=Pa(c,X),dt=Pa(c,V),gt=Pa(c,R),mt=Ta(st,pt),xt=Ta(ut,ht),_t=Ta(ft,vt),bt=Ta(lt,dt),wt=Ta(at,gt),Mt=Pa(i,U),St=Pa(i,J),yt=Pa(i,ot),Ct=Pa(i,ct),Ot=Pa(i,it),Nt=Ta(mt,Mt),Et=Ta(xt,St),It=Ta(_t,yt),Bt=Ta(bt,Ct),kt=Ta(wt,Ot),Pt=Ta(b,Nt);return[kt,Bt,It,Ta(w,Et),Pt,_]}],[function(t,n){const{vₓ:e,vᵧ:o,vₓₓ:r,vₓᵧ:c,vᵧᵧ:i,vₓₓₓ:s,vₓₓᵧ:u,vₓᵧᵧ:f,vᵧᵧᵧ:l}=ja(t),[[a],[p]]=Xc(n),h=Ha(e,a),v=Ha(o,p),d=Wa(h,v),g=Ha(a,a),m=Ha(a,p),x=Ha(p,p),_=Ha(r,g),b=Ha(c,m),w=Wa(_,b),M=Ha(i,x),S=Wa(w,M),y=Ha(g,a),C=Ha(g,p),O=Ha(m,p),N=Ha(x,p),E=Ha(s,y),I=Ha(u,C),B=Wa(E,I),k=Ha(f,O),P=Ha(l,N),T=Wa(k,P);return[Wa(B,T),S,d]},function(t,n){const{vₓ:e,vᵧ:o,vₓₓ:r,vₓᵧ:c,vᵧᵧ:i,vₓₓₓ:s,vₓₓᵧ:u,vₓᵧᵧ:f,vᵧᵧᵧ:l}=ja(t),[[a,p],[h,v]]=Yc(n),d=Ya(e,p),g=Ya(e,a),m=Ya(o,v),x=Ya(o,h),_=Xa(d,m),b=Xa(g,x),w=Ya(p,p),M=Ya(p,a),S=Ya(a,p),y=Xa(M,S),C=Ya(a,a),O=Ya(p,v),N=Ya(p,h),E=Ya(a,v),I=Xa(N,E),B=Ya(a,h),k=Ya(v,v),P=Ya(v,h),T=Ya(h,v),A=Xa(P,T),z=Ya(h,h),D=Ya(r,w),q=Ya(r,y),F=Ya(r,C),L=Ya(c,O),j=Ya(c,I),H=Ya(c,B),W=Xa(D,L),Y=Xa(q,j),X=Xa(F,H),Q=Ya(i,k),V=Ya(i,A),R=Ya(i,z),U=Xa(W,Q),$=Xa(Y,V),Z=Xa(X,R),G=Xa(b,U),J=Ya(w,p),K=Ya(w,a),tt=Ya(y,p),nt=Xa(K,tt),et=Ya(y,a),ot=Ya(C,p),rt=Xa(et,ot),ct=Ya(C,a),it=Ya(w,v),st=Ya(w,h),ut=Ya(y,v),ft=Xa(st,ut),lt=Ya(y,h),at=Ya(C,v),pt=Xa(lt,at),ht=Ya(C,h),vt=Ya(O,v),dt=Ya(O,h),gt=Ya(I,v),mt=Xa(dt,gt),xt=Ya(I,h),_t=Ya(B,v),bt=Xa(xt,_t),wt=Ya(B,h),Mt=Ya(k,v),St=Ya(k,h),yt=Ya(A,v),Ct=Xa(St,yt),Ot=Ya(A,h),Nt=Ya(z,v),Et=Xa(Ot,Nt),It=Ya(z,h),Bt=Ya(s,J),kt=Ya(s,nt),Pt=Ya(s,rt),Tt=Ya(s,ct),At=Ya(u,it),zt=Ya(u,ft),Dt=Ya(u,pt),qt=Ya(u,ht),Ft=Xa(Bt,At),Lt=Xa(kt,zt),jt=Xa(Pt,Dt),Ht=Xa(Tt,qt),Wt=Ya(f,vt),Yt=Ya(f,mt),Xt=Ya(f,bt),Qt=Ya(f,wt),Vt=Ya(l,Mt),Rt=Ya(l,Ct),Ut=Ya(l,Et),$t=Ya(l,It),Zt=Xa(Wt,Vt),Gt=Xa(Yt,Rt),Jt=Xa(Xt,Ut),Kt=Xa(Qt,$t),tn=Xa(Ft,Zt),nn=Xa(Lt,Gt),en=Xa(jt,Jt),on=Xa(Ht,Kt),rn=Xa($,tn);return[on,en,Xa(Z,nn),rn,G,_]},function(t,n){const{vₓ:e,vᵧ:o,vₓₓ:r,vₓᵧ:c,vᵧᵧ:i,vₓₓₓ:s,vₓₓᵧ:u,vₓᵧᵧ:f,vᵧᵧᵧ:l}=ja(t),[[a,p,h],[v,d,g]]=Wc(n),m=Qa(e,h),x=Qa(e,p),_=Qa(e,a),b=Qa(o,g),w=Qa(o,d),M=Qa(o,v),S=Va(m,b),y=Va(x,w),C=Va(_,M),O=Qa(h,h),N=Qa(h,p),E=Qa(h,a),I=Qa(p,h),B=Va(N,I),k=Qa(p,p),P=Va(E,k),T=Qa(p,a),A=Qa(a,h),z=Va(P,A),D=Qa(a,p),q=Va(T,D),F=Qa(a,a),L=Qa(h,g),j=Qa(h,d),H=Qa(h,v),W=Qa(p,g),Y=Va(j,W),X=Qa(p,d),Q=Va(H,X),V=Qa(p,v),R=Qa(a,g),U=Va(Q,R),$=Qa(a,d),Z=Va(V,$),G=Qa(a,v),J=Qa(g,g),K=Qa(g,d),tt=Qa(g,v),nt=Qa(d,g),et=Va(K,nt),ot=Qa(d,d),rt=Va(tt,ot),ct=Qa(d,v),it=Qa(v,g),st=Va(rt,it),ut=Qa(v,d),ft=Va(ct,ut),lt=Qa(v,v),at=Qa(r,O),pt=Qa(r,B),ht=Qa(r,z),vt=Qa(r,q),dt=Qa(r,F),gt=Qa(c,L),mt=Qa(c,Y),xt=Qa(c,U),_t=Qa(c,Z),bt=Qa(c,G),wt=Va(at,gt),Mt=Va(pt,mt),St=Va(ht,xt),yt=Va(vt,_t),Ct=Va(dt,bt),Ot=Qa(i,J),Nt=Qa(i,et),Et=Qa(i,st),It=Qa(i,ft),Bt=Qa(i,lt),kt=Va(wt,Ot),Pt=Va(Mt,Nt),Tt=Va(St,Et),At=Va(yt,It),zt=Va(Ct,Bt),Dt=Va(y,kt),qt=Va(C,Pt),Ft=Qa(O,h),Lt=Qa(O,p),jt=Qa(O,a),Ht=Qa(B,h),Wt=Va(Lt,Ht),Yt=Qa(B,p),Xt=Va(jt,Yt),Qt=Qa(B,a),Vt=Qa(z,h),Rt=Va(Xt,Vt),Ut=Qa(z,p),$t=Va(Qt,Ut),Zt=Qa(z,a),Gt=Qa(q,h),Jt=Va($t,Gt),Kt=Qa(q,p),tn=Va(Zt,Kt),nn=Qa(q,a),en=Qa(F,h),on=Va(tn,en),rn=Qa(F,p),cn=Va(nn,rn),sn=Qa(F,a),un=Qa(O,g),fn=Qa(O,d),ln=Qa(O,v),an=Qa(B,g),pn=Va(fn,an),hn=Qa(B,d),vn=Va(ln,hn),dn=Qa(B,v),gn=Qa(z,g),mn=Va(vn,gn),xn=Qa(z,d),_n=Va(dn,xn),bn=Qa(z,v),wn=Qa(q,g),Mn=Va(_n,wn),Sn=Qa(q,d),yn=Va(bn,Sn),Cn=Qa(q,v),On=Qa(F,g),Nn=Va(yn,On),En=Qa(F,d),In=Va(Cn,En),Bn=Qa(F,v),kn=Qa(L,g),Pn=Qa(L,d),Tn=Qa(L,v),An=Qa(Y,g),zn=Va(Pn,An),Dn=Qa(Y,d),qn=Va(Tn,Dn),Fn=Qa(Y,v),Ln=Qa(U,g),jn=Va(qn,Ln),Hn=Qa(U,d),Wn=Va(Fn,Hn),Yn=Qa(U,v),Xn=Qa(Z,g),Qn=Va(Wn,Xn),Vn=Qa(Z,d),Rn=Va(Yn,Vn),Un=Qa(Z,v),$n=Qa(G,g),Zn=Va(Rn,$n),Gn=Qa(G,d),Jn=Va(Un,Gn),Kn=Qa(G,v),te=Qa(J,g),ne=Qa(J,d),ee=Qa(J,v),oe=Qa(et,g),re=Va(ne,oe),ce=Qa(et,d),ie=Va(ee,ce),se=Qa(et,v),ue=Qa(st,g),fe=Va(ie,ue),le=Qa(st,d),ae=Va(se,le),pe=Qa(st,v),he=Qa(ft,g),ve=Va(ae,he),de=Qa(ft,d),ge=Va(pe,de),me=Qa(ft,v),xe=Qa(lt,g),_e=Va(ge,xe),be=Qa(lt,d),we=Va(me,be),Me=Qa(lt,v),Se=Qa(s,Ft),ye=Qa(s,Wt),Ce=Qa(s,Rt),Oe=Qa(s,Jt),Ne=Qa(s,on),Ee=Qa(s,cn),Ie=Qa(s,sn),Be=Qa(u,un),ke=Qa(u,pn),Pe=Qa(u,mn),Te=Qa(u,Mn),Ae=Qa(u,Nn),ze=Qa(u,In),De=Qa(u,Bn),qe=Va(Se,Be),Fe=Va(ye,ke),Le=Va(Ce,Pe),je=Va(Oe,Te),He=Va(Ne,Ae),We=Va(Ee,ze),Ye=Va(Ie,De),Xe=Qa(f,kn),Qe=Qa(f,zn),Ve=Qa(f,jn),Re=Qa(f,Qn),Ue=Qa(f,Zn),$e=Qa(f,Jn),Ze=Qa(f,Kn),Ge=Qa(l,te),Je=Qa(l,re),Ke=Qa(l,fe),to=Qa(l,ve),no=Qa(l,_e),eo=Qa(l,we),oo=Qa(l,Me),ro=Va(Xe,Ge),co=Va(Qe,Je),io=Va(Ve,Ke),so=Va(Re,to),uo=Va(Ue,no),fo=Va($e,eo),lo=Va(Ze,oo),ao=Va(qe,ro),po=Va(Fe,co),ho=Va(Le,io),vo=Va(je,so),go=Va(He,uo),mo=Va(We,fo),xo=Va(Ye,lo),_o=Va(qt,ao),bo=Va(Tt,po),wo=Va(At,ho);return[xo,mo,go,Va(zt,vo),wo,bo,_o,Dt,S]}]];function $a(t,n){const e=function(t,n,e,o){const r=function(t,n){const e=(t,n)=>t[0]===n[0]&&t[1]===n[1];let o,r;for(const c of[!1,!0]){const i=c?t[t.length-1]:t[0];for(const t of[!1,!0])e(i,t?n[n.length-1]:n[0])&&(void 0===r||i[0]<r[0]||i[0]===r[0]&&i[1]<r[1])&&(o={reverse1:c,reverse2:t},r=i)}return o}(t,n);if(void 0===r)return null;const{reverse1:c,reverse2:i}=r,s=c?t.slice().reverse():t,u=i?n.slice().reverse():n,f=function(t,n){const e=t[0],o=t[1],r=n[1];return r[0]===e[0]&&r[1]===e[1]||(o[0]!==e[0]||o[1]!==e[1])&&0===lu(e,o,r)}(s,u)?2:1;if((t.length-1)*(n.length-1)+1-f<=0)return null;const{coeffs:l,errBound:a,getPExact:p}=function(t,n,e){const o=Ra[t.length-2][n.length-2],r=Ua[t.length-2][n.length-2],{coeffs:c,errBound:i}=o(t,n);if(!e)return{coeffs:c,errBound:i,getPExact:()=>r(t,n)};const s=c.length-1;return{coeffs:c.slice(0,s),errBound:i.slice(0,s),getPExact:()=>r(t,n).slice(0,s)}}(s,u,2===f),[h,v]=i?[1-o,1-e]:[e,o],d=vo(l,h,v,a,p);if(void 0===d)return;const g=i?1:0,m=d.filter(t=>t.tS>0||t.tE<0).map(t=>i?function(t){const n=(t,n)=>{const e=1-t;return 0===at(1,t)[0]?e:n?Sl(e):Ol(e)};return{t:1-t.t,tS:n(t.tE,!0),tE:n(t.tS,!1),multiplicity:t.multiplicity}}(t):t);return e<=g&&g<=o&&m.push({t:g,tS:g,tE:g,multiplicity:f}),m.sort((t,n)=>t.t-n.t)}(t,n,0,1);if(null!==e)return e;const{coeffs:o,errBound:r,getPExact:c}=us(t,n);return vo(o,0,1,r,c)}const{min:Za,max:Ga}=Math;function Ja(t,n){let[[e,o],[r,c]]=t,[[i,s],[u,f]]=n;if(e>r&&([e,r]=[r,e]),i>u&&([i,u]=[u,i]),o>c&&([o,c]=[c,o]),s>f&&([s,f]=[f,s]),e<=u&&r>=i&&s<=c&&f>=o)return[[Ga(e,i),Ga(o,s)],[Za(r,u),Za(c,f)]]}function Ka(t,n,e){const{ps:o}=t,{ps:r}=n;if(void 0===e)return;if(0===e.length)return[];const c=$a(r,o);if(void 0===c)return;if(0===c.length)return[];const i=c.map(t=>ys(o,[t.tS,t.tE])),s=e.map(t=>ys(r,[t.tS,t.tE])),u=[];for(let r=0;r<c.length;r++){const f=i[r];for(let i=0;i<e.length;i++){if(void 0===Ja(f,s[i]))continue;const l=Jo(o,c[r].t),a={ri:c[r],p:l,kind:1,curve:t},p={ri:e[i],p:l,kind:1,curve:n};u.push([a,p])}}return u}function tp(t,n,e){for(const o of[t,n]){const r=o.length;for(let c=1;c<r+1;c++){const i=o[c-1],s=o[c%r],u=[s[1]-i[1],i[0]-s[0]];let f=1/0,l=-1/0;for(let n=0;n<t.length;n++){const e=u[0]*t[n][0]+u[1]*t[n][1];e<f&&(f=e),e>l&&(l=e)}let a=1/0,p=-1/0;for(let t=0;t<n.length;t++){const e=u[0]*n[t][0]+u[1]*n[t][1];e<a&&(a=e),e>p&&(p=e)}if(e&&(l<a||p<f))return!1;if(!e&&(l<=a||p<=f))return!1}}return!0}const np=yt,{abs:ep}=Math;function op(t){return 4===t.length&&yu(t)&&(t=di(t)),3===t.length&&function(t){const[[n,e],[o,r],[c,i]]=t,s=n+c,u=s-2*o,f=ep(s)+ep(u);if(ep(u)-vs*f>0)return!1;const l=e+i,a=l-2*r,p=ep(l)+ep(a);return!(ep(a)-vs*p>0)&&0===bt(_t(np(n,c),[2*o]))&&0===bt(_t(np(e,i),[2*r]))}(t)&&(t=[t[0],t[2]]),2===t.length&&bu(t)&&(t=[t[0]]),t}function rp(t,n){const e=0===bt(t[0][0])?1:0;return function(t,n){const[e,o]=t,[,r]=n;return[_t(r,o),e]}(t[e],n[e])}function cp(t,n){return lf(gt(t[0],n[1]),gt(t[1],n[0]))*bt(t[1])*bt(n[1])}function ip(t){const n=function(t){const n=new ArrayBuffer(8);return new DataView(n).setFloat64(0,t,!1),Array.from(new Uint8Array(n))}(t),e=n[0],o=n[1],r=e>>7,c=((127&e)<<4)+((240&o)>>4),i=0===c?0:16,s=0===c?c-1022:c-1023,u=n.slice(1);return u[0]=(15&o)+i,{sign:r,exponent:s,significand:u}}function sp(t){return ip(t).significand}function up(t){return Math.log2(t&-t)}function fp(t){if(0===t||!Number.isFinite(t))return NaN;const n=sp(t),e=n.length;for(let t=e-1;t>=0;t--){if(0===n[t])continue;const o=up(n[t]);if(Number.isFinite(o))return 8*(e-t-1)+o}return NaN}function lp(t){return t>=128?7:t>=64?6:t>=32?5:t>=16?4:t>=8?3:t>=4?2:t>=2?1:t>=1?0:NaN}function ap(t){return ip(t).exponent}function pp(t){if(0===t||!Number.isFinite(t))return NaN;const n=ap(t);return fp(t)-52+n}function hp(t){const n=[];let e=-1024;for(let o=0;o<t.length;o++){const r=t[o],c=new Array(r.length);n.push(c);for(let t=0;t<r.length;t++){const n=r[t];if(0===n){c[t]=0;continue}const o=-pp(n);c[t]=o,o>e&&(e=o)}}return 0===e?t.map(t=>t.map(t=>BigInt(t))):e>0?t.map((t,o)=>t.map((t,r)=>{if(0===t)return 0n;const c=n[o][r];return BigInt(function(t,n){return n>1023?t*2**1023*2**(n-1023):t*2**n}(t,c))*2n**BigInt(e-c)})):t.map(t=>t.map(t=>BigInt(t*2**e)))}function vp(t,n){if(n=n<0n?-n:n,0n===(t=t<0n?-t:t))return n;if(0n===n)return t;for(;0n!==n;){const e=n;n=t%n,t=e}return t}const dp=BigInt(2**53);function gp(t){if(0n===t)return[0];const n=[];let e=0,o=t;for(;0n!==o;){o=t/dp;const r=t%dp;n.push(Number(r)*2**(53*e)),t=o,e++}return ge(n)}const{round:mp,sqrt:xp}=Math;function _p(t){if(t<=1n){if(t<0n)throw new Error("square root of negative numbers are not allowed");return t}let n=BigInt(mp(xp(Number(t))));for(;;){const e=n+t/n>>1n;if(e===n)return n;n=e}}function bp(t){return t<0n?-t:t}function wp(t){let n=0n;for(let e=0;e<t.length;e++)n+=t[e];return n}function Mp(t,n){const[e,o]=t,[r,c]=n,[i,s]=function(t){const[n,e]=hp(t).map(wp),o=vp(n,e);return[gp(_p(bp(n/o))),gp(_p(bp(e/o)))]}([r,e]);return[[_t(gt(c,s),gt(o,i)),gt(i,Jc(e))],[_t(gt(c,xt(s)),gt(o,i)),gt(i,Jc(e))]].sort(cp)}const{round:Sp,cbrt:yp}=Math;function Cp(t){const n=(e=t)>0n?1n:e<0n?-1n:0n;var e;if((t=bp(t))<=1n)return n*t;let o=BigInt(Sp(yp(Number(t))));for(;;){const e=(2n*o+t/(o*o))/3n;if(e===o)return n*o;o=e}}function Op(t){return gt(t,t)}const Np=Number.EPSILON,Ep=Np/2;function Ip(t){if(0===t||!Number.isFinite(t))return NaN;const n=ap(t);return function(t){if(0===t||!Number.isFinite(t))return NaN;const n=sp(t),e=n.length;for(let t=0;t<e;t++){const o=lp(n[t]);if(Number.isFinite(o))return 8*(e-t-1)+o}return NaN}(t)-52+n}function Bp(t,n){if(0===bt(t=ge(t)))return[0];const e=Ip(t[t.length-1]);let o=e,r=t.length-1;for(;r>0;){const c=Ip(t[r-1]);if(e-c>n)break;o=c,r--}const c=Math.min(n-(e-o),53);let i=t[r];i=vu(i,c);const s=t.slice(r);return s[0]=i,s}function kp(t){const n=ge(t);if(0===bt(n))return 0;const e=n[n.length-1],o=n[0];return ap(e)-ap(o)+(53-fp(o))}function Pp(t,n){const[e,o]=t,[r,c]=n,i=gt(e,c),s=_t(gt(r,o),i);return[t,n,[xt(i),s],[gt(_t(o,e),c),s]].map(t=>{return n=function(t){return mt(function(t,n,e){let o=n,r=t,c=!1,i=0;e||(i=kp(r)-kp(o)+1,e=i/53+1,c=!0);let s=[1/mt(o)],u=1;for(;;){if(r=gt(r,s),u>e)return c?(r=Bp(r,i),r):r.slice(r.length-e,r.length);o=gt(o,s),s=_t([2],o),u*=2}}(t[0],t[1],2))}(t),(e=function([t,n]){return bt(_t(t,n))*bt(n)}(t))<0?n<1?n:1-Ep:0===e?1:n>1?n:1+Np;var n,e})}const Tp=[,,rp,function(t,n){const e=0===bt(t[0][0])?0:0===bt(t[1][0])?1:-1;if(-1!==e){const[,o,r]=t[e],[,c,i]=n[e];return rp([[o,r],[o,r]],[[c,i],[c,i]])}const[o,r]=Mp(t[0],n[0]),[c,i]=Mp(t[1],n[1]);if(0===cp(o,c)||0===cp(o,i))return o;if(0===cp(r,c)||0===cp(r,i))return r;throw new Error("An unexpected error occurred.")},function(t,n){const e=0===bt(t[0][0])?1:0;return function(t,n){const[e,o]=t,[r,c]=n,i=function(t){const[n,e]=hp(t).map(wp),o=vp(n,e);return[gp(Cp(n/o)),gp(Cp(e/o))]}([r,e]),s=Op(i[0]);return[_t(gt(c,Op(i[1])),gt(o,s)),gt(dt(3,e),s)]}(t[e],n[e])}];function Ap(t){if(0===t||1===t)return[t,t];const n=Sl(Sl(t)),e=function(t){return Ol(Ol(t))}(t);return[n,e]}const zp=qo(function(t,n,e){const o=t.ps,r=n.ps,c=[];let i=$a(o,r);if(void 0===i){const e=function(t,n,e=!1){e||(t=op(t),n=op(n));const o=Tp[t.length],r=Hc(t),c=o(r,Hc(n)),i=o(r,Hc(n.slice().reverse())),[s,u,f,l]=Pp(c,i),a=[{tA:s,tB:0,bez:"B",start:!0},{tA:u,tB:1,bez:"B",start:!1},{tA:0,tB:f,bez:"A",start:!0},{tA:1,tB:l,bez:"A",start:!1}].sort((t,n)=>t.tA-n.tA);if(a[1].tA===a[2].tA){const n=a[1],e=n.tA,o=n.tB,r=ys(t,[e,e]);return[{p:r[0],kind:4,box:r,t1:e,ri1:{t:e,tS:e,tE:e,multiplicity:1},t2:o,ri2:{t:o,tS:o,tE:o,multiplicity:1}}]}if(a[0].bez===a[1].bez)return[];const p=a[1],h=a[2],[v,d]=Ap(p.tA),[g,m]=Ap(p.tB),[x,_]=Ap(h.tA),[b,w]=Ap(h.tB),M=ys(t,[v,d]),S=ys(n,[g,m]),y=ys(t,[x,_]),C=ys(n,[b,w]),O=Ja(M,S),N=Ja(y,C),E={t:v,tS:v,tE:d,multiplicity:1},I={t:g,tS:g,tE:m,multiplicity:1},B={t:x,tS:x,tE:_,multiplicity:1},k={t:b,tS:b,tE:w,multiplicity:1};return[{p:Pf(O),kind:5,box:O,t1:E.t,ri1:E,t2:I.t,ri2:I},{p:Pf(N),kind:5,box:N,t1:B.t,ri1:B,t2:k.t,ri2:k}]}(o,r);for(const r of e){const e=Jo(o,r.ri1.t),i={ri:r.ri1,kind:5,p:e,curve:t},s={ri:r.ri2,kind:5,p:e,curve:n};c.push([i,s])}return c}return e&&(i=i.filter(t=>t.tS>0)),0===i.length?[]:Ka(t,n,i)||[]});function Dp(t,n,e){const{ps:o}=n;return{ri:uf(t),p:Jo(o,t),kind:e,curve:n}}function qp(t,n){const e=t.ps,o=n.ps;if(2===e.length&&2===o.length)return function(t,n){let e=t.ps,o=n.ps;const r=qu(e),c=qu(o);if(t.next!==n&&n.next!==t){if(Eo(!0,r,c)){const e=zp(t,n,!1);return e.length?e:void 0}return}n.next===t&&([t,n]=[n,t],[e,o]=[o,e]);if(0!==lu(e[0],e[1],o[1]))return;if(!Eo(!1,r,c))return;let i;return i=xu(e[0],e[1])>xu(o[0],o[1])?[ff(bl(e,o[1])[0].ri),1]:[0,ff(bl(o,e[0])[0].ri)],[[Dp(1,t,5),Dp(0,n,5)],[Dp(i[0],t,5),Dp(i[1],n,5)]]}(t,n);if(t.next===n||n.next===t)return Eo(!1,qu(e),qu(o))&&tp(Du(e,!1),Du(o,!1),!1)?n.next===t?zp(n,t,!0):zp(t,n,!0):Fp(t,n);let r=Eo(!0,qu(e),qu(o));return r?(r=tp(Du(e,!1),Du(o,!1),!0),r?zp(t,n,!1):void 0):void 0}function Fp(t,n){if(n.next===t){if(t.next===n)return;[t,n]=[n,t]}const e=t.ps,o=n.ps;if(kf(e,o[o.length-1].map(t=>[t]))){const e=Ka(t,n,[uf(1)]);if(void 0===e||0===e.length)return;return[[e[0][0],Dp(1,n,1)]]}}function Lp(t){return t[t.length-1]<0?xt(t):t}function jp(t,n){const e=t+n,o=e-t;return[t-(e-o)+(n-o),e]}const Hp=Number.EPSILON,Wp=Number.EPSILON/2;function Yp(t,n,e,o){const r=t/n,c=Math.abs(t),i=Math.abs(n),s=i-o;return s<=0?{est:r,err:Number.POSITIVE_INFINITY}:{est:r,err:(i*e+c*o)/s**2+Wp*Math.abs(c/i)}}function Xp(t){const n=t[0],e=t[1];if(0===e)return[0,0];const o=Math.sqrt(e),r=o*o,c=134217729*o,i=c-(c-o),s=o-i,u=.5*(e-r-(s*s-(r-i*i-i*s*2))+n)/o;return[u-(o+u-o),o+u]}const{abs:Qp}=Math;const{abs:Vp}=Math,Rp=gt,Up=pt,$p=_t,Zp=gt,Gp=dt,Jp=Xo,Kp=jp,th=fr,nh=Wo,eh=Nr,oh=Os,rh=pt,ch=Ct,ih=2*as,{abs:sh}=Math;function uh(t,n=!0){if(t.length<4)return[];const{coeffs:[e,o,r],errBound:[c,i,s]}=function(t){const{coeffs:[[n,e,o],[r,c,i]],errorBound:[[s,u,f],[l,a,p]]}=function(t){const[[n,e],[o,r],[c,i],[s,u]]=t,f=s-n,l=o-c,a=f+3*l,p=c+n,h=p-2*o,v=o-n,d=u-e,g=r-i,m=d+3*g,x=i+e,_=x-2*r,b=r-e;return{coeffs:[[a,3*h,3*v,n],[m,3*_,3*b,e]],errorBound:[[Qp(f)+6*Qp(l)+Qp(a),6*(Qp(p)+Qp(h)),6*Qp(v),0],[Qp(d)+6*Qp(g)+Qp(m),6*(Qp(x)+Qp(_)),6*Qp(b),0]]}}(t),h=Vp(n),v=Vp(e),d=Vp(o),g=Vp(r),m=Vp(c),x=Vp(i),_=e*r,b=n*c,w=n*i,M=o*r,S=e*i,y=o*c,C=Vp(_),O=Vp(b),N=Vp(w),E=Vp(M),I=Vp(S),B=Vp(y),k=g+vs*l,P=m+vs*a,T=x+vs*p,A=u*k+v*l+C,z=s*P+h*a+O,D=s*T+h*p+N,q=f*k+d*l+E,F=u*T+v*p+I,L=f*P+d*a+B,j=_-b,H=Vp(j),W=A+z+H,Y=M-w,X=Vp(Y),Q=q+D+X,V=S-y,R=Vp(V),U=F+L+R,$=H+vs*W,Z=j*j,G=W*$+H*W+Vp(Z),J=j*Y,K=X+vs*Q,tt=V*j,nt=Y*Y,et=tt+nt;return{coeffs:[Z,J,et],errBound:[G,W*K+H*Q+Vp(J),U*$+R*W+Vp(tt)+(Q*K+X*Q+Vp(nt))+Vp(et)].map(t=>vs*t)}}(t);if(sh(e)<=c){const[[n,e],[o,r],[c,i],[s,u]]=t,f=rh(Jp(s,n),Gp(3,Jp(o,c))),l=ch(Kp(c,n),-2*o),a=rh(Jp(u,e),Gp(3,Jp(r,i))),p=ch(Kp(i,e),-2*r);if(0===lf(Zp(l,a),Zp(f,p)))return[]}const u=o*o,f=4*e*r,l=u-f,a=2*i*sh(o)+vs*u+(4*(c*sh(r)+sh(e)*s)+vs*sh(f))+vs*sh(l);if(l<-a)return[];if(l>a){const{est:t,err:u}=function(t,n){if(t-n<=0){const e=t>0?Math.sqrt(t):0,o=Math.sqrt(t+n);return{est:e,err:Math.max(o-e,e)+2*Hp*o}}const e=Math.sqrt(t),o=Math.sqrt(t-n),r=Math.sqrt(t+n),c=Math.max(Math.abs(o-e),Math.abs(r-e));return{est:e,err:(1+Hp)*c+4*Hp*r}}(l,a);let f;f=o>=0?-o-t:-o+t;const p=i+u+vs*sh(f),{est:h,err:v}=Yp(f,2*e,p,2*c),{est:d,err:g}=Yp(2*r,f,2*s,p);if(n){if(h+v<0||h-v>1||d+g<0||d-g>1)return[]}else if((h+v<0||h-v>1)&&(d+g<0||d-g>1))return[]}let[p,h,v]=function(t){const[[n,e,o],[r,c,i]]=Wc(t),s=Rp(e,r),u=Rp(n,c),f=Rp(n,i),l=Rp(o,r),a=Rp(e,i),p=Rp(o,c),h=_t(s,u),v=_t(l,f),d=_t(a,p),g=Rp(h,h),m=Rp(h,v),x=Rp(h,d),_=Rp(v,v);return[g,m,Up(x,_)]}(t);const d=$p(Zp(h,h),Gp(4,Zp(p,v))),g=bt(d);if(g<0)return[];if(g>0){const t=Xp(Rs(d));let e;p=Rs(p),h=Rs(h),v=Rs(v),e=bt(h)>=0?th(nh(h,t)):nh(th(h),t);let o=mt(oh(e,eh(p))),r=mt(oh(eh(v),e));if(n){if(o<-ih||o>1+ih||r<-ih||r>1+ih)return[]}else if((o<-ih||o>1+ih)&&(r<-ih||r>1+ih))return[];return[o,r]=o<r?[o,r]:[r,o],o>=0-ih&&o<=1+ih?r>=0-ih&&r<=1+ih?[o,r]:[o]:r>=0-ih&&r<=1+ih?[r]:[]}const m=rl(p);if(bt(h)*bt(m)<0)return[];if(lf(Lp(h),Lp(m))>0)return[];const x=Rs(h),_=Rs(m),b=oh(x,_),w=b[1]+b[0];return[w,w]}function fh(t){if(au(t))return{minima:[],maxima:[],inflections:[]};if(4===t.length&&yu(t)&&(t=di(t)),3===t.length){const n=function(t){const[[n,e],[o,r],[c,i]]=t,s=o-n,u=c-o-s,f=r-e,l=i-r-f;return[u*u+l*l,s*u+f*l]}(t);return{minima:[],maxima:vo(n,0,1)?.map(t=>t.t)||[],inflections:[]}}const n=function(t){const[[n,e,o],[r,c,i]]=st(t),s=n*c-e*r,u=n*i-o*r,f=e*i-o*c,l=n*n+r*r,a=n*e+r*c,p=e*e+c*c,h=8*(n*o+r*i)+3*p;return{inflectionPoly:[s,2*u,f],otherExtremaPoly:[-4*l*s,-(10*l*u+5*a*s),-(4*l*f+16*a*u+p*s),-(10*a*f+h*u),-h*f,2*(o*o+i*i)*u-3*(e*o+c*i)*f]}}(t),e=n.inflectionPoly,o=n.otherExtremaPoly,r=vo(o,0,1)?.map(t=>t.t)||[],c=ln(o),i=[],s=[];for(let t=0;t<r.length;t++){const n=r[t],o=ut(c,n);(ut(e,n)*o>=0?i:s).push(n)}return{minima:i,maxima:s,inflections:vo(e,0,1)?.map(t=>t.t)||[]}}const{sqrt:lh}=Math;function ah(t,n){const e=function(t){const[n,e]=st(t),[o,r]=function(t){if(4===t.length){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[6*(s-n+3*(o-c)),6*(c+n-2*o)],[6*(u-e+3*(r-i)),6*(i+e-2*r)]]}if(3===t.length){const[[n,e],[o,r],[c,i]]=t;return[[2*(c-2*o+n)],[2*(i-2*r+e)]]}if(t.length<=2)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}(t);return t=>{const c=ut(n,t),i=ut(e,t),s=ut(o,t);return[c*ut(r,t)-i*s,lh((c*c+i*i)**3)]}}(t),o=t=>{const[n,o]=e(t);return n/o};return void 0===n?o:o(n)}const{abs:ph}=Math;function hh(t){return 4===t.length?function(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[s-n+3*(o-c),2*(c+n-2*o),o-n],[u-e+3*(r-i),2*(i+e-2*r),r-e]]}(t):3===t.length?function(t){const[[n,e],[o,r],[c,i]]=t;return[[c+n-2*o,o-n],[i+e-2*r,r-e]]}(t):function(t){const[[n,e],[o,r]]=t;return[[o-n],[r-e]]}(t)}function vh(t){if(2===t.length)return[];const[n,e]=hh(t);return[...vo(n,0,1)||[],...vo(e,0,1)||[]]}const dh=qo(function(t){const n=[];for(const e of t)for(const t of e.curves)n.push(t);const e=Oo(n,t=>qu(t.ps)[0][0],t=>qu(t.ps)[1][0],qp),o=[];for(const t of e)for(const n of t.u)o.push(n);return o}),gh=qo(function(t){const n=[];for(const e of t)for(const t of e.curves){const e=t.ps,o=uh(e);if(0===o.length)continue;const r=o[0]===o[1]?3:2,c=o[0],i=o[1],s=c-4*ce,u=c+4*ce,f=i-4*ce,l=i+4*ce,a=Jo(e,c),p={ri:{t:s,tS:s,tE:u,multiplicity:1},p:a,kind:r,curve:t},h={ri:{t:f,tS:f,tE:l,multiplicity:1},p:a,kind:r,curve:t};n.push([p,h])}return n}),mh=qo(function(t){const n=[];for(const e of t)for(const t of e.curves)n.push([Dp(1,t,4),Dp(0,t.next,4)]);return n}),xh=qo(function(t,n){const e=[],o=1e7*2**-t;for(const t of n)for(const n of t.curves){const{ps:t}=n,r=fh(t),{minima:c,maxima:i}=r,s=[0,1,...c,...i];for(let r of s)if(ph(ah(t,r))>o){const t=Dp(r,n,7),o=Dp(r,n,7);e.push([t,o])}}return e}),_h=qo(function(t){const n=[];for(let e of t)for(let t of e.curves){const{ps:e}=t,o=vh(e).map(n=>{const{t:o}=n,r=Jo(e,o);return[{p:r,ri:n,kind:8,curve:t},{p:r,ri:n,kind:8,curve:t}]});n.push(...o)}return n}),bh=qo(function(t,n,e){let o=[t.map((t,e)=>[n[e],{...n[e]}]),dh(t),gh(t),mh(t),xh(e,t),_h(t)].flat(1);return"undefined"!=typeof _debug_&&_debug_.elems.intersection.push(...o.flat()),o});function wh(t){const{ps:n}=t,e=n[0],o=n[n.length-1];let r=e[1]<o[1]?{ri:uf(0),p:e,kind:0,curve:t}:{ri:uf(1),p:o,kind:0,curve:t};if(2===n.length){if(e[1]===o[1]){const n=[(e[0]+o[0])/2,(e[1]+o[1])/2];return{ri:uf(.5),p:n,kind:0,curve:t}}return r}const[,c]=hh(n),i=vo(c,0,1)||[];for(let e=0;e<i.length;e++){const o=i[e],c=Jo(n,o.t);c[1]<r.p[1]&&(r={ri:o,p:c,kind:0,curve:t})}return r}function Mh(t){let n=1/0,e=-1/0,o=1/0,r=-1/0;for(const c of t){const t=c[0],i=c[1];t<n&&(n=t),t>e&&(e=t),i<o&&(o=i),i>r&&(r=i)}return[[n,o],[e,r]]}function Sh(t){const{curves:n}=t;let e,o=n[0],r=1/0;for(const t of n){const{ps:n}=t;if(Mh(n)[0][1]>r)continue;const c=wh(t),i=c.p[1];(void 0===e||i<r||i===r&&c.ri.t>e.ri.t)&&(e=c,o=t,r=i)}return e}const yh=nt(function(t){let n=0;for(const e of t)switch(e.length){case 2:n+=Ch(e,0,1);break;case 3:n+=(2*Ch(e,0,1)+Ch(e,0,2)+2*Ch(e,1,2))/3;break;case 4:n+=(6*Ch(e,0,1)+3*Ch(e,0,2)+Ch(e,0,3)+3*Ch(e,1,2)+3*Ch(e,1,3)+6*Ch(e,2,3))/10}return n/2});function Ch(t,n,e){return t[n][0]*t[e][1]-t[e][0]*t[n][1]}const{abs:Oh}=Math;function Nh(t){return t.map(t=>t.toReversed()).toReversed()}const{sign:Eh}=Math;function Ih(t,n){return t.ps===n.ps&&t.ts[1]===n.ts[0]&&(t.ts[1]-t.ts[0])*(n.ts[1]-n.ts[0])>0}function Bh(t,n){return{ps:t.ps,ts:[t.ts[0],n.ts[1]]}}function kh(t){const{ps:n,ts:e}=t;return{ps:n,ts:[e[1],e[0]]}}const{ceil:Ph,log2:Th}=Math;function Ah(n,e={}){"undefined"!=typeof _debug_&&(_debug_.timing.timingStart=performance.now());const o=Ph(Th(function(t){let n=-1/0;for(const e of t)for(const t of e)for(const e of t)for(const t of e)n=Lu(n,ju(t));return n}(n))),{minLoopArea:r=(2**(o-16))**2,forceOrientationNegative:c=!1,booleanOp:i="OR"}=e,s=o-46+4,u=(n=Fu(n,o).sort(_o)).map(t),f=u.map(Sh);"undefined"!=typeof _debug_&&f.forEach(t=>_debug_.elems.minY.push(t));const l=bh(u,f,o),a=fu(l,o,s);"undefined"!=typeof _debug_&&_debug_.elems.container.push(...a);const p=a.filter(t=>eu(t.xs)),h=function(t){const n=[],e=[t];for(;e.length;){const t=e.pop();if(0===t.windingNum)for(const e of t.children)0!==e.windingNum&&n.push(e);e.push(...t.children)}return n}(sf(o,p)).map(function(t){return n=>{const e=[],o=[[n,0]];for(;o.length;){const[n,r]=o.pop(),c=n.parent.windingNum,i=Mo(t,n.windingNum)!==Mo(t,c);i&&e.push({out:n,depth:r,windingNum:n.windingNum,parentWinding:c});const s=i?r+1:r;for(const t of n.children)0===n.windingNum&&0!==t.windingNum||o.push([t,s])}return e}}(i)).filter(t=>0!==t.length);return function(n,e,o){const r=n.map(t=>t.map(t=>function(t){const n=t.length;return 0===n?t:t.map((e,o)=>{const r=t[(o+1)%n][0],c=e.length-1;return e.map((t,n)=>n===c?[...r]:t)})}(function(t){if(t.length<2)return t;const n=[];for(const e of t){const t=n[n.length-1];void 0!==t&&Ih(t,e)?n[n.length-1]=Bh(t,e):n.push(e)}for(;n.length>=2&&Ih(n[n.length-1],n[0]);)n[0]=Bh(n.pop(),n[0]);return n}(t).map(Wu)))),c=e?r.map(t=>{return-1!==(n=t[0],Eh(yh(n)))?t.map(Nh):t;var n}):r,i=qo(function(t){return function(n){const e=[];for(let o=0;o<n.length;o++){const r=n[o].filter(n=>Oh(yh(n))>t);r.length&&e.push(r)}return e}}(o)),s=i(c).map(t=>t.toSorted(_o));let u=0;const f=uu(s,n=>t(n,u++));return function(t){if("undefined"!=typeof _debug_){for(const n of t)_debug_.elems.loop.push(...n),_debug_.elems.loops.push(n);"undefined"!=typeof _debug_&&(_debug_.timing.simplifyPaths=performance.now()-_debug_.timing.timingStart-_debug_.timing.normalize)}}(f),f}(function(t){return t.map(t=>{const n=t[0].out.orientation;return t.map(({out:t,depth:e})=>function(t,n,e){const{orientation:o}=t,r=(e%2==0?1:-1)*n,c=ef(t);return r*o>0?c:c.map(kh).toReversed()}(t,n,e))})}(h),c,r)}const{max:zh,abs:Dh}=Math;function qh(t,n=!1){const e=t;let o=e;const r=[];do{n&&o===e||A(o)||r.push(o),o=o.nextOnCircle}while(o!==e);return r}function Fh(t){const n=[],e=[t],o=new Set;for(;e.length>0;){const t=nn(e.pop());if(0===t.length)continue;n.push(t);const r=t[0],c=t[t.length-1].next.prevOnCircle;o.add(r),o.add(c);const i=qh(r,!0),s=qh(c,!0),u=i.filter(t=>!o.has(t)),f=s.filter(t=>!o.has(t));for(const t of u)o.add(t);for(const t of f)o.add(t);e.push(...u,...f)}return n}function Lh(t){return{color:0,parent:void 0,left:void 0,right:void 0,datum:t}}class jh{compare;root;size;minNode;maxNode;minNodeStale=!0;maxNodeStale=!0;constructor(t){this.compare=t,this.root=void 0,this.size=0,this.minNode=void 0,this.maxNode=void 0,this.minNodeStale=!0,this.maxNodeStale=!0}isEmpty(){return void 0===this.root}find(t){let n=this.root;for(;n;){const e=this.compare(t,n.datum);if(0===e)return n;n=e<0?n.left:n.right}}insert(t){if(this.minNodeStale=!0,this.maxNodeStale=!0,void 0===this.root)return this.root=Lh(t),this.root.color=1,void(this.size=1);let n,e=this.root;for(;e;){n=e;const o=this.compare(t,e.datum);if(0===o)return void(e.datum=t);e=o<0?e.left:e.right}const o=Lh(t);o.parent=n,this.compare(t,n.datum)<0?n.left=o:n.right=o,this.size++,this.fixInsert(o)}remove(t){const n=this.find(t);if(void 0===n)return;const e=n.datum;return this.removeNode(n),this.size--,this.minNodeStale=!0,this.maxNodeStale=!0,e}findBounds(t){let n=this.root;const e=[void 0,void 0];for(;n;)this.compare(t,n.datum)>=0?(e[0]=n,n=n.right):(e[1]=n,n=n.left);return e}getMinNode(){if(!this.minNodeStale)return this.minNode;let t=this.root;for(;t&&t.left;)t=t.left;return this.minNode=t,this.minNodeStale=!1,t}getMaxNode(){if(!this.maxNodeStale)return this.maxNode;let t=this.root;for(;t&&t.right;)t=t.right;return this.maxNode=t,this.maxNodeStale=!1,t}checkIntegrity(){if(void 0===this.root)return!0;if(1!==this.root.color)return!1;const t=this.compare;let n;return-1!==function e(o){if(void 0===o)return 1;const{left:r,right:c}=o;if(0===o.color&&(0===r?.color||0===c?.color))return-1;const i=e(r);if(-1===i)return-1;if(void 0!==n&&t(n.datum,o.datum)>=0)return-1;n=o;const s=e(c);return-1===s||i!==s?-1:i+(1===o.color?1:0)}(this.root)}toStr(t){let n="";return void 0===this.root||function e(o){n+=t(o),void 0!==o.left&&(n+="(",e(o.left),n+=")"),void 0!==o.right&&(n+="[",e(o.right),n+="]")}(this.root),n}toArr(){const t=[];return function n(e){void 0!==e&&(n(e.left),t.push(e.datum),n(e.right))}(this.root),t}removeNode(t){this.minNodeStale=!0,this.maxNodeStale=!0;let n,e,o=t,r=o.color;if(void 0===t.left)n=t.right,e=t.parent,this.transplant(t,t.right);else if(void 0===t.right)n=t.left,e=t.parent,this.transplant(t,t.left);else{for(o=t.right;o.left;)o=o.left;r=o.color,n=o.right,o.parent===t?(e=o,n&&(n.parent=o)):(e=o.parent,this.transplant(o,o.right),o.right=t.right,o.right.parent=o),this.transplant(t,o),o.left=t.left,o.left.parent=o,o.color=t.color}1===r&&this.fixDelete(n,e)}fixInsert(t){let n=t;for(;n.parent&&0===n.parent.color;){const t=n.parent,e=t.parent;if(t===e.left){const o=e.right;0===this.colorOf(o)?(t.color=1,o.color=1,e.color=0,n=e):(n===t.right&&(n=t,this.rotateLeft(n)),n.parent.color=1,e.color=0,this.rotateRight(e))}else{const o=e.left;0===this.colorOf(o)?(t.color=1,o.color=1,e.color=0,n=e):(n===t.left&&(n=t,this.rotateRight(n)),n.parent.color=1,e.color=0,this.rotateLeft(e))}}this.root.color=1}fixDelete(t,n){let e=t,o=n;for(;e!==this.root&&1===this.colorOf(e)&&void 0!==o;)if(e===o?.left){let t=o.right;0===this.colorOf(t)&&(t.color=1,o.color=0,this.rotateLeft(o),t=o.right),1===this.colorOf(t?.left)&&1===this.colorOf(t?.right)?(t&&(t.color=0),e=o,o=e?.parent):(1===this.colorOf(t?.right)&&(t?.left&&(t.left.color=1),t&&(t.color=0,this.rotateRight(t)),t=o.right),t&&(t.color=o.color),o.color=1,t?.right&&(t.right.color=1),this.rotateLeft(o),e=this.root,o=void 0)}else{let t=o?.left;0===this.colorOf(t)&&(t.color=1,o.color=0,this.rotateRight(o),t=o.left),1===this.colorOf(t?.left)&&1===this.colorOf(t?.right)?(t&&(t.color=0),e=o,o=o?.parent):(1===this.colorOf(t?.left)&&(t?.right&&(t.right.color=1),t&&(t.color=0,this.rotateLeft(t)),t=o?.left),t&&(t.color=o.color),o.color=1,t?.left&&(t.left.color=1),this.rotateRight(o),e=this.root,o=void 0)}e&&(e.color=1)}transplant(t,n){void 0===t.parent?this.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n&&(n.parent=t.parent)}rotateLeft(t){const n=t.right;t.right=n.left,n.left&&(n.left.parent=t),n.parent=t.parent,void 0===t.parent?this.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}rotateRight(t){const n=t.left;t.left=n.right,n.right&&(n.right.parent=t),n.parent=t.parent,void 0===t.parent?this.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}colorOf(t){return t?t.color:1}}function Hh(t){const n=new Map;return B(t).forEach(function(t){const e=t.pointOnShape.curve.loop;let o=n.get(e);o||(o=new jh(Gn),n.set(e,o)),o.insert(t)}),n}const{sqrt:Wh}=Math;function Yh(t,n,e=!0){let o;if(4===t.length)o=function(t,n){const e=t[0],o=t[1],r=t[2],c=t[3],i=e[0],s=e[1],u=o[0],f=o[1],l=r[0],a=r[1],p=c[0],h=c[1],v=n[0],d=n[1],g=i-v,m=u-v,x=l-v,_=p-v,b=s-d,w=f-d,M=a-d,S=h-d,y=g*g,C=6*g*m,O=6*x*_,N=b*b,E=6*b*w,I=6*M*S,B=6*m*_+9*x*x,k=2*g*_+18*m*x,P=6*g*x+9*m*m,T=6*w*S+9*M*M,A=2*b*S+18*w*M,z=6*b*M+9*w*w;return[6*(_*_-O+(y-C)+B+(P-k)+(S*S-I+(N-E)+T+(z-A))),5*(O+5*C+3*k-2*(B+2*P+3*y)+(I+5*E+3*A-2*(T+2*z+3*N))),4*(B-3*(k-2*P)-5*(2*C-3*y)+(T-3*(A-2*z)-5*(2*E-3*N))),3*(k-2*(2*P-5*(C-2*y))+(A-2*(2*z-5*(E-2*N)))),2*(P-5*(C-3*y)+(z-5*(E-3*N))),C-6*y+(E-6*N)]}(t,n);else if(3===t.length)o=function(t,n){const e=t[0],o=t[1],r=t[2],c=e[0],i=e[1],s=o[0],u=o[1],f=r[0],l=r[1],a=n[0],p=n[1],h=c-a,v=s-a,d=f-a,g=i-p,m=u-p,x=l-p,_=h*h,b=h*v,w=v*d,M=g*g,S=g*m,y=m*x,C=g*x+m*m*2,O=h*d+v*v*2;return[x*x+M+2*C-4*(y+S)+(d*d+_+2*O-4*(w+b)),3*(y-C+(3*S-M)+(w-O+(3*b-_))),C-3*(2*S-M)+(O-3*(2*b-_)),S-M+(b-_)]}(t,n);else{if(2!==t.length){if(1===t.length)return{p:t[0],t:0,d:on(t[0],n)};throw new Error("The given bezier curve must be of order <= 3.")}o=function(t,n){const[[e,o],[r,c]]=t,[i,s]=n,u=e-i,f=r-i,l=o-s,a=c-s,p=u*f+l*a,h=l*l+u*u;return[f*f+a*a+(h-2*p),p-h]}(t,n)}const r=vo(o,0,1)?.map(t=>t.t)||[];e&&(r.push(0),r.push(1));let c,i=1/0;for(const e of r){const o=go(t,e),r=xu(o,n);r<i&&(i=r,c={p:o,t:e,d:Wh(r)})}return c}const{max:Xh,sqrt:Qh}=Math;function Vh(t,n){let e={d:1/0,q:t,k:0,t:0};for(let o=0;o<n.length;o++){const r=Yh(n[o],t);r.d<e.d&&(e={d:r.d,q:r.p,k:o,t:r.t})}return e}function Rh(t,n){return Vh(t,n).d}function Uh(t,n){const[e,o]=t;if(2===t.length)return[[e[0]+n*(o[0]-e[0]),e[1]+n*(o[1]-e[1])],[o[0]-e[0],o[1]-e[1]],[0,0]];const r=1-n;if(3===t.length){const c=t[2];return[[r*r*e[0]+2*r*n*o[0]+n*n*c[0],r*r*e[1]+2*r*n*o[1]+n*n*c[1]],[2*(r*(o[0]-e[0])+n*(c[0]-o[0])),2*(r*(o[1]-e[1])+n*(c[1]-o[1]))],[2*(c[0]-2*o[0]+e[0]),2*(c[1]-2*o[1]+e[1])]]}const c=t[2],i=t[3];return[[r*r*r*e[0]+3*r*r*n*o[0]+3*r*n*n*c[0]+n*n*n*i[0],r*r*r*e[1]+3*r*r*n*o[1]+3*r*n*n*c[1]+n*n*n*i[1]],[3*(r*r*(o[0]-e[0])+2*r*n*(c[0]-o[0])+n*n*(i[0]-c[0])),3*(r*r*(o[1]-e[1])+2*r*n*(c[1]-o[1])+n*n*(i[1]-c[1]))],[6*(r*(c[0]-2*o[0]+e[0])+n*(i[0]-2*c[0]+o[0])),6*(r*(c[1]-2*o[1]+e[1])+n*(i[1]-2*c[1]+o[1]))]]}function $h(t,n,e,o){const r=n[e];if(1===r.length){const n=r[0];return{d:Qh((n[0]-t[0])**2+(n[1]-t[1])**2),q:n,k:e,t:0}}let c=o,[i,s,u]=Uh(r,c),f=i[0]-t[0],l=i[1]-t[1],a={d:Qh(f*f+l*l),q:i,k:e,t:c};for(let n=0;n<4;n++){const n=f*s[0]+l*s[1],o=s[0]*s[0]+s[1]*s[1]+f*u[0]+l*u[1];if(o<=0)break;let p=c-n/o;if(p<0?p=0:p>1&&(p=1),p===c)break;c=p,[i,s,u]=Uh(r,c),f=i[0]-t[0],l=i[1]-t[1];const h=Qh(f*f+l*l);h<a.d&&(a={d:h,q:i,k:e,t:c})}return a}function Zh(t,n){let e=0;for(let o=0;o<t.length;o++){const r=t[o],c=(r[0]-n[0])**2+(r[1]-n[1])**2;c>e&&(e=c)}return Qh(e)}function Gh(t,n,e,o=1e3){const r=Vh(t[0],n);if(r.d>e)return!0;const c=Vh(t[t.length-1],n);if(c.d>e)return!0;if(t.length<=2&&(1===t.length||1===n.length&&n[0].length<=2))return!1;const i=[{tS:0,tE:1,fS:r,fE:c}];let s=0;for(;i.length>0;){const{tS:r,tE:c,fS:u,fE:f}=i.pop(),l=0===r&&1===c?t:U(t,r,c);if((u.d+f.d+Pu(l))/2<=e)continue;if(Zh(l,u.q)<=e||Zh(l,f.q)<=e)continue;if(s++>=o)return!0;const a=(r+c)/2,p=go(t,a);let h=$h(p,n,u.k,u.k===f.k?(u.t+f.t)/2:u.t);if(u.k!==f.k){const t=$h(p,n,f.k,f.t);t.d<h.d&&(h=t)}if(h.d>e&&(h=Vh(p,n),h.d>e))return!0;Xh(u.d,h.d)>=Xh(h.d,f.d)?(i.push({tS:a,tE:c,fS:h,fE:f}),i.push({tS:r,tE:a,fS:u,fE:h})):(i.push({tS:r,tE:a,fS:u,fE:h}),i.push({tS:a,tE:c,fS:h,fE:f}))}return!1}const{abs:Jh}=Math;function Kh(t,n=.125,e=1e3){let o=Q(t.cpNode);const r={...t.meta,cpTrees:Hh(o)};for(;!A(o);)o=o.next;const c=Fh(o),i=[];for(let t=0;t<c.length;t++)tv(c[t],n,e,i);for(const t of i)G(t,r);return{cpNode:o,meta:r}}function tv(t,n,e,o){const r=t.length;if(r<2)return;const c=t.map($t),i=t.map(t=>t.pointOnShape.circle.center),s=[];let u=0;for(let n=1;n<r;n++)(Kn(t[n])||2!==T(t[n]))&&(s.push([u,n-1]),u=n);for(s.push([u,r-1]);s.length>0;){const[r,u]=s.pop();if(u<=r)continue;const f=Ut(t[r],t[u].next);let l=0,a=-1;for(let t=r;t<=u;t++){if(t>r){const n=Rh(i[t],f);n>l&&(l=n,a=t)}const n=c[t];for(let e=0;e<n.length;e++){const o=Rh(go(n[e],.5),f);o>l&&(l=o,a=nv(r,u,t,e,n.length))}}if(l>n){ev(s,r,u,a);continue}let p=-1;t:for(let t=r;t<=u;t++){const o=c[t];for(let c=0;c<o.length;c++)if(Gh(o[c],f,n,e)){p=nv(r,u,t,c,o.length);break t}}if(-1===p)for(let n=r+1;n<=u;n++)o.push(t[n]);else ev(s,r,u,p)}}function nv(t,n,e,o,r){if(!(e>t))return e+1;if(!(e+1<=n))return e;if(2===r)return 0===o?e:e+1;const c=(t+1+n)/2;return Jh(e-c)<=Jh(e+1-c)?e:e+1}function ev(t,n,e,o){const r=e-n+1;if(r>=32){const c=.125*r;if(o-n<c||e+1-o<c){const r=n+e+1>>>1,[c,i]=o<r?[o,r]:[r,o];return void t.push([i,e],[c,i-1],[n,c-1])}}t.push([o,e],[n,o-1])}function ov(t){return t.reduce((t,n)=>t.pointOnShape.circle.radius>=n.pointOnShape.circle.radius?t:n)}function rv(t){return ov(B(t))}function cv(t){const n=[],e=B(t);for(const t of e)D(t)&&!t.isHoleClosing&&n.push(t);return n}function iv(t){let n=t,e=t.prevOnCircle;for(;A(e);)e=e.prevOnCircle;const o=[];do{A(n)||o.push(n),n=n.nextOnCircle}while(n!==e);return o}function sv(t){let n=0;for(const e of $t(t))n+=Ln(e);return n}const uv=nt(sv);function fv(t,n){const e=new Set,o=new Map;return j(t,function(t){const r=t.pointOnShape.circle,c=o.get(r)??n*r.radius,i=t.next,s=i.pointOnShape.circle,u=sv(t);c-u>n*s.radius&&(o.set(s,c-u),i.isHoleClosing||e.add(s))}),e}function lv(t,n){let e=0;"undefined"!=typeof _debug_&&(e=performance.now());const o=rv(Q(t.cpNode));!function(t,n){const e=cv(n);for(;e.length;){const o=e.pop();if(!t.has(o.pointOnShape.circle)||o.isIntersection)continue;let r=o.prevOnCircle,c=!1;for(;!c;)if(r=r.next,t.has(r.pointOnShape.circle))if(Gt(r,n))c=!0;else{if(1===iv(r).length)continue;c=!0}else{for(;A(r.prevOnCircle);)r=r.prevOnCircle;c=!0}const i=r.prevOnCircle;i.next=r,r.prev=i}}(fv(o,n),o);const r={cpNode:o,meta:{...t.meta,cpTrees:Hh(o)}};return function(t){"undefined"!=typeof _debug_&&(_debug_.timing.sats=performance.now()-t)}(e),r}const av={maxCurviness:.05,maxLength:40,applySat:!0,satScale:2,simplify:!0,simplifyTolerance:2**-4,minBezLength:2**-6,angleIncrement:15},pv={maxCurviness:{range:[.01,3],scaleByMaxCoordinate:!1},maxLength:{range:[1,1024],scaleByMaxCoordinate:!0},angleIncrement:{range:[.1,360],scaleByMaxCoordinate:!1},satScale:{range:[1,1/0],scaleByMaxCoordinate:!1},simplifyTolerance:{range:[2**-20,2**20],scaleByMaxCoordinate:!0},minBezLength:{range:[2**-20,2],scaleByMaxCoordinate:!0}};function hv(t){return[t[1],-t[0]]}function vv(t,n){if(!jt(n))return 0;const e=Lt(n);return e.isDull?-ct(hv(e.tangents[0]),rt(et(n.p,t))):0}function dv(t){return t[0]*t[0]+t[1]*t[1]}function gv(t,n,e){return t[0]*(n[1]*e[2]-n[2]*e[1])-t[1]*(n[0]*e[2]-n[2]*e[0])+t[2]*(n[0]*e[1]-n[1]*e[0])}function mv(t){const n=t[0],e=t[1],o=t[2],r=dv,c=.5*gv([r(n),n[1],1],[r(e),e[1],1],[r(o),o[1],1]),i=.5*gv([n[0],r(n),1],[e[0],r(e),1],[o[0],r(o),1]),s=gv([n[0],n[1],1],[e[0],e[1],1],[o[0],o[1],1]);return[c/s,i/s]}function xv(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}const _v=Number.EPSILON,{max:bv}=Math,wv=4*_v,{abs:Mv,max:Sv}=Math,yv=4*_v,Cv=_v*_v;function Ov(t,n,e){const[o,r]=e,{ps:c}=t,i=[];if(o!==r){const{polyDd:e,polyE:s,getPolyExact:u}=_l(c,n),f=vo(e,o,r,s,u)||[];i.push(...f.map(e=>{const{tS:o,tE:r,t:i}=e,s=i<0?0:i>1?1:i,u=function(t,n){const[[e,o],[r,c]]=t,[i,s]=n,u=bv(e-i,0,i-r),f=bv(o-s,0,s-c),l=bv(i-e,r-i),a=bv(s-o,c-s);return[(u*u+f*f)*(1-wv),(l*l+a*a)*(1+wv)]}(ys(c,[o,r]),n),f=0===s?1:s;return{curve:0===s?t.prev:t,t:f,dSquaredI:u}}))}const s=o===r?[o]:[o,r];return i.push(...s.map(e=>function(t,n,e){const{ps:o}=t,{p:r,pE:c}=function(t,n){const e=Go(t,n),o=ls(t,n);if(4===t.length)return{p:e,pE:o.map(t=>18*ds*t)};if(3===t.length)return{p:e,pE:o.map(t=>12*ds*t)};if(2===t.length)return{p:e,pE:o.map(t=>6*ds*t)};if(1===t.length)return{p:e,pE:[0,0]};throw new Error("The given bezier curve must be of order <= 3.")}(o,[0,e]),i=er(r[0],n[0]),s=er(r[1],n[1]),u=Mv(i[1]),f=Mv(s[1]),[l,a]=c,p=Sv(u-l,0)**2+Sv(f-a,0)**2,h=(u+l)**2+(f+a)**2,v=[Sv(p*(1-yv)-Cv*(u*u+f*f),0),h*(1+yv)],d=0===e?1:e;return{curve:0===e?t.prev:t,t:d,dSquaredI:v}}(t,n,e))),i}const Nv=nt(ku),Ev=nt(Au);function Iv(t,n){const e=t[0],o=t[1],r=e[0],c=e[1],i=o[0],s=o[1],u=n[0],f=n[1];return u<r?f<c?(r-u)**2+(c-f)**2:f>s?(r-u)**2+(f-s)**2:(r-u)**2:u>i?f<c?(u-i)**2+(c-f)**2:f>s?(u-i)**2+(f-s)**2:(u-i)**2:f<c?(c-f)**2:f>s?(f-s)**2:0}function Bv(t,n){const e=xu,o=n[0],r=n[1],c=e(o,r);if(0==c)return e(t,o);let i=((t[0]-o[0])*(r[0]-o[0])+(t[1]-o[1])*(r[1]-o[1]))/c;return i=Math.max(0,Math.min(1,i)),e(t,[o[0]+i*(r[0]-o[0]),o[1]+i*(r[1]-o[1])])}const{min:kv}=Math;function Pv(t,n){const e=Bv(n,[t[0],t[1]]),o=Bv(n,[t[1],t[2]]),r=Bv(n,[t[2],t[3]]),c=Bv(n,[t[3],t[0]]),i=xu(t[0],t[1]),s=xu(t[0],t[3]);return e<=s&&r<=s&&o<=i&&c<=i?0:kv(e,o,r,c)}function Tv(t,n,e){const o=[];for(let r=0;r<t.length;r++){const c=t[r],{ps:i}=c.curve;Iv(Nv(i),n)>e||(Pv(Ev(i),n)>e||o.push(c))}return o}const{min:Av}=Math,zv=1+2**-20;function Dv(t,n){return Go(t,[0,n])}function qv(t,n){t=Tv(t,n,function(t,n){let e=1/0;for(let o=0;o<t.length;o++){const r=t[o],{curve:{ps:c},ts:i}=r,s=go(c,i[0]),u=go(c,i[1]);e=Av(e,xu(n,s),xu(n,u))}return zv*e}(t,n));const e=[];for(let o=0;o<t.length;o++){const r=t[o],c=Ov(r.curve,n,r.ts);e.push(...c)}let o=1/0;for(let t=0;t<e.length;t++){const n=e[t].dSquaredI[1];n<o&&(o=n)}const r=[];for(let t=0;t<e.length;t++){const n=e[t];n.dSquaredI[0]<=o&&r.push(n)}return r.map(t=>{const{curve:n,t:e}=t,{ps:o}=n,r=Dv(o,e);return{curve:n,t:e,isSource:!1,p:r.map(t=>t[0]+t[1]),pDd:r}})}function Fv(t,n){return[n*t[0],n*t[1]]}function Lv(t,n,e){const o=xv(e);let r,c,i,s,u=1,f=0;do{const l=Fv(e,u);c=it(l,n),i=t.map(t=>qv(t,c)[0]);const a=mv(i.map(t=>t.p));s=xv(et(c,a)),r=s<o,u/=2,f++}while(!r&&f<3);return{newX:c,newV:s,newPoss:i}}const{abs:jv,asin:Hv}=Math;function Wv(t,n,e,o,r,c){const i=2**(c-32),s=[t[0],t[n],t[t.length-1]],u=[o[0],o[n],o[t.length-1]],f=t=>(e+t)%3,l=[s[f(0)],s[f(1)],s[f(2)]],a=[u[f(0)],u[f(1)],u[f(2)]];if(q(l[0][0]))return;let p,h=0,v=function(t,n){const e=t[0][0].pointOnShape.circle.center,o=qv(n[1],e)[0];return mv([t[0][0].pointOnShape.p,o.p,t[2][1].pointOnShape.p])}(l,a);if(!Number.isFinite(v[0])||!Number.isFinite(v[1]))return;p=function(t,n){return n.map(n=>qv(n,t)[0])}(v,a);let d=1/0;for(;d>i&&h<10;){h++;const t=mv(p.map(t=>t.p)),n=et(v,t);if(!Number.isFinite(n[0])||!Number.isFinite(n[1]))return;const e=Lv(a,v,n);v=e.newX,p=e.newPoss;const o=xv(n);d=jv(o-e.newV)}const g=(on(v,p[0].p)+on(v,p[1].p)+on(v,p[2].p))/3,m={center:v,radius:g};let x=0;for(let t=0;t<3;t++){const n=p[t],e=rt(et(n.p,v)),o=ot(e);if(jt(n)&&Lt(n).isDull){const t=Ft(n.curve.ps,n.curve.next.ps).tangents.map(ot),o=Hv(lt(t[0],e)),r=Hv(lt(e,t[1]));let c=0;o>0&&(c+=o),r>0&&(c+=r),x+=c}else{const t=rt(ft(n.curve.ps,n.t));x+=jv(Hv(lt(o,t)))}}const _=qv(Tv(r,v,(1+2**-20)*g*g),v)[0],b=void 0===_?g:on(_.p,v);return{threeProngInfo:{poss:p,circle:m,δ3s:l},error:1*jv(g-b)+1*x}}function Yv(t){let n=t[0];const e=t[1],o=[];let r=!0;do{const t=n.pointOnShape,e=n.next.pointOnShape,c=t.curve,i=e.curve;r?(r=!1,i===c&&Zn(e,t)>0?(o.push({curve:c,ts:[t.t,e.t]}),n=n.next):(c.loop===i.loop&&(o.push({curve:c,ts:[t.t,1]}),Xv(o,c,i,e.t)),n=n.next)):(r=!0,n=n.prevOnCircle)}while(n!==e);return o}function Xv(t,n,e,o){let r=n;do{r=r.next;const n=r===e?o:1;t.push({curve:r,ts:[0,n]})}while(r!==e)}function Qv(t,n,e,o){const r={...n,order:e,order2:o},c=t.findBounds({pointOnShape:r}),[i,s]=c;if(void 0!==i||void 0!==s){if(void 0===i||void 0===s){const n=t.getMinNode()?.datum,e=t.getMaxNode()?.datum;return[e,n]}return[i.datum,s.datum]}}function Vv(t,n,e,o,r,c,i,s){if(void 0!==c&&void 0!==i){const n=function(t,n,e,o){if(t.size<=1)return!0;const r=n.pointOnShape,c=e,i=o.pointOnShape,s=Zn(r,c);if(0===s)return!1;const u=Zn(c,i);if(0===u)return!1;const f=Zn(i,r);if(0===f)return!1;const l=s<0,a=u<0,p=f<0;return!!(l&&a||a&&p||p&&l)}(o,c,r,i);if(!t&&!n)return}const u={pointOnShape:r,isHoleClosing:n,isIntersection:e,id:s.id,next:void 0,prev:void 0,nextOnCircle:void 0,prevOnCircle:void 0};s.id++;const f=void 0===c?u:c,l=void 0===c?u:f.next;return l.prev=u,f.next=u,u.prev=f,u.next=l,o.insert(u),u}const{atan2:Rv}=Math;function Uv(t,n,e,o,r,c,i){const{cpTrees:s}=r;let u=!1;const f=c.map((c,f)=>{const l=o[f],a=s.get(c.curve.loop),p={...c,circle:e,order:l,order2:0},h=void 0===i?Qv(a,c,l,0):i[f],v=h?.[0],d=h?.[1],g=Vv(t,n,!1,a,p,v,d,r.lastInsertId);return void 0===g&&(u=!0),g});return u||function(t,n){n=n.slice().sort(function(t){const n=t.center;return function(t,e){let o=t.pointOnShape.p,r=e.pointOnShape.p;o=[o[0]-n[0],o[1]-n[1]],r=[r[0]-n[0],r[1]-n[1]];const c=Rv(o[1],o[0]);return Rv(r[1],r[0])-c}}(t));const e=n.length;for(let t=0;t<e;t++){const o=n[t];o.nextOnCircle=n[(t+1)%e],o.prevOnCircle=n[(t-1+e)%e]}}(e,f),{anyFailed:u,cpNodes:f}}const{cos:$v,PI:Zv}=Math,Gv=$v(Zv/180*1);function Jv(t,n,e,o,r,c){const{cpTrees:i,maxCoordPowerOf2:s}=t,u=2**(s-40),f=2**(s-46),l=i.get(n.curve.loop),a=Qv(l,n,o,r)?.[0];if(!a)return;const p=[a,a.next],{p:h,t:v}=n;for(const t of p){const n=t.pointOnShape.p,o=on(h,n);if(!(o>u)&&(ct(rt(et(n,t.pointOnShape.circle.center)),rt(et(h,e.center)))>Gv||o<f&&0!==v&&1!==v))return t}}function Kv(t,n){const e=[];for(const t of n)e.push([t,t.next]);const o=function(t,n){const e=t.map(Yv),o=e.flat();let r,c=1/0;for(let i=1;i<t.length-1;i++)for(let s=0;s<3;s++){const u=Wv(t,i,s,e,o,n);if(void 0===u)continue;const{error:f,threeProngInfo:l}=u;f<c&&(c=f,r=l)}return r}(e,t.maxCoordPowerOf2),{circle:r,poss:c,δ3s:i}=o,s=[];for(let t=0;t<3;t++)s.push(vv(r.center,c[t]));const u=[];for(let n=0;n<c.length;n++){const e=Jv(t,c[n],r,s[n],0);void 0!==e&&T(e)<=2&&!e.isHoleClosing&&u.push(e)}return{closeBysFor3Prong:u,cpNodes:0===u.length?Uv(!0,!1,r,s,t,c,i).cpNodes:[]}}let td,nd=0;function ed(t,n){if(Ht(n.pointOnShape))return{closeBysFor3Prong:void 0,addedCpNodes:[]};const e=[];let o,r=0;for(;;){if(void 0===n)continue;const c=L(n);if(c.length<=2)break;if(void 0===o&&(o=2*c.length+16),++r>o){const t=n.pointOnShape;throw new Error(`findAndAdd3Prongs: no convergence after ${r} iterations (face with ${c.length} vertices, start CpNode id ${n.id} on curve ${t.curve.idx} at t = ${t.t}, radius ${t.circle.radius})`)}const{closeBysFor3Prong:i,cpNodes:s}=Kv(t,c);if(e.push(s),i.length>0)return{closeBysFor3Prong:i,addedCpNodes:e};if("undefined"!=typeof _debug_&&++nd===_debug_.directives.stopAfterThreeProngsNum)return}return{closeBysFor3Prong:void 0,addedCpNodes:e}}function od(t){for(const n of t)return n}function rd(t,n,e,o){const r=n[0];H(r).forEach(t=>{e.delete(t),o.delete(t)}),G(r,t)}function cd(t,n,e){const o=new Map;for(let r=0;r<n.length;r++){const c=new jh(Gn);o.set(t[r],c);const i=n[r];let s,u;for(const t of i){const n={center:t.p,radius:0},{curve:o}=t,r={...t,curve:o,t:1,circle:n,order:-1,order2:0},i={...t,curve:o.next,t:0,circle:n,order:1,order2:0};s=Vv(!0,!1,!1,c,r,u,void 0,e),u=Vv(!0,!1,!1,c,i,s,void 0,e),s.prevOnCircle=u,u.prevOnCircle=s,s.nextOnCircle=u,u.nextOnCircle=s}}return o}function id(t){if(!t)return void(globalThis._debug_=void 0);let n=globalThis._debug_;n={...n,elems:{...n?.elems,looseBoundingBoxes:[],tightBoundingBoxes:[],boundingHulls:[],sharpCorners:[],dullCorners:[]},timing:{...n?.timing,holeClosers:0,oneAnd2Prongs:0,threeProngs:0,sats:0,simplifyMat:0},fs:{...n?.fs},directives:{...n?.directives,stopAfterHoleClosers:!1,stopAfterHoleClosersNum:void 0,stopAfterTwoProngs:!1,stopAfterTwoProngsNum:void 0,stopAfterThreeProngs:!1,stopAfterThreeProngsNum:void 0}},globalThis._debug_=n}function sd(t){return n=>{const e=[];for(let o=0;o<n.curves.length;o++){const r=n.curves[o];if(!(Pu(r.ps)<t)&&Ft(r.ps,r.next.ps).isQuiteSharp){const{ps:t}=r,n=t[t.length-1],o=[[0,n[0]],[0,n[1]]];e.push({curve:r,t:1,isSource:!0,p:n,pDd:o})}}return e}}function ud(t,n){let e=[0,0];for(let o=0;o<t.length;o++)e=we(t[o],be(n,e));return e}const fd=Xo,ld=ur,ad=Wo,pd=Qo,hd=jp;function vd(t){if(4===t.length)return function(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[ad(fd(s,n),ld(3,fd(o,c))),ld(3,pd(hd(c,n),-2*o)),ld(3,fd(o,n)),[0,n]],[ad(fd(u,e),ld(3,fd(r,i))),ld(3,pd(hd(i,e),-2*r)),ld(3,fd(r,e)),[0,e]]]}(t);if(3===t.length)return function(t){const[[n,e],[o,r],[c,i]]=t;return[[pd(hd(c,n),-2*o),fd(2*o,2*n),[0,n]],[pd(hd(i,e),-2*r),fd(2*r,2*e),[0,e]]]}(t);if(2===t.length)return function(t){const[[n,e],[o,r]]=t;return[[fd(o,n),[0,n]],[fd(r,e),[0,e]]]}(t);if(1===t.length)return function(t){const[[n,e]]=t;return[[[0,n]],[[0,e]]]}(t);throw new Error("The given bezier curve must be of order <= cubic.")}const dd=ur,gd=Wo,md=Ho,xd=fr,_d=Kf,bd=Nr,wd=er,Md=Xo,Sd=Wo,yd=Ho,Cd=fr,Od=Kf,Nd=Nr,Ed=er,Id=ur,Bd=Wo,kd=Ho,Pd=fr,Td=Kf,Ad=Nr,zd=er,Dd=Wo,qd=Ho,Fd=Nr,Ld=er;function jd(t,n,e){const[o,r]=t,[c,i]=n,[s,u]=e,f=Ld(o,s),l=Ld(r,u);return{a0:Dd(qd(Fd(c),f),qd(Fd(i),l)),b0:Dd(qd(f,f),qd(l,l))}}const Hd=[,,function(t,n,e){const[o,r]=t,[c,i]=n,[[s,u],[f,l]]=e,a=Md(f,s),p=Md(l,u),h=Ed(o,s),v=Ed(r,u),d=Sd(yd(c,a),yd(i,p)),g=Cd(Sd(yd(a,a),yd(p,p))),m=Sd(yd(a,h),yd(p,v)),x=Od(d),_=Sd(yd(Nd(c),h),yd(Nd(i),v)),b=Cd(g),w=Od(m),M=Sd(yd(h,h),yd(v,v));return{A:[x,_],B:[b,w,M],C:[d],D:[g,m],H:[yd(b,d),yd(_,g),Sd(yd(_,m),Cd(yd(M,d)))]}},function(t,n,e){const[o,r]=t,[c,i]=n,[[s,u]]=e,[[f,l],[a,p]]=vd(e),h=wd(o,s),v=wd(r,u),d=bd(gd(md(c,f),md(i,a))),g=gd(md(c,l),md(i,p)),m=gd(md(c,h),md(i,v)),x=gd(md(f,f),md(a,a)),_=gd(md(l,f),md(p,a)),b=gd(md(l,l),md(p,p)),w=gd(md(h,f),md(v,a)),M=gd(md(l,h),md(p,v)),S=gd(md(h,h),md(v,v)),y=_d(x),C=dd(-3,_),O=gd(bd(w),xd(b)),N=xd(d),E=_d(g),I=bd(m),B=bd(_),k=xd(O);return{A:[N,E,I],B:[x,B,k,_d(M),S],C:[d,g],D:[y,C,O,M],H:[md(x,d),gd(md(_,d),dd(3,md(x,g))),bd(bd(gd(md(_,g),xd(md(m,x))))),gd(gd(md(d,M),md(g,k)),xd(dd(6,md(m,_)))),gd(_d(md(m,k)),xd(md(d,S))),gd(bd(md(m,M)),xd(md(g,S)))]}},function(t,n,e){const[o,r]=t,[c,i]=n,[[s,u,f,[,l]],[a,p,h,[,v]]]=vd(e),d=zd(o,l),g=zd(r,v),m=Bd(kd(c,s),kd(i,a)),x=Bd(kd(c,u),kd(i,p)),_=Bd(kd(c,f),kd(i,h)),b=Bd(kd(c,d),kd(i,g)),w=Bd(kd(s,s),kd(a,a)),M=Bd(kd(s,u),kd(a,p)),S=Bd(kd(s,f),kd(a,h)),y=Bd(kd(u,u),kd(p,p)),C=Bd(kd(u,f),kd(p,h)),O=Bd(kd(f,f),kd(h,h)),N=Bd(kd(s,d),kd(a,g)),E=Bd(kd(u,d),kd(p,g)),I=Bd(kd(f,d),kd(h,g)),B=Bd(kd(d,d),kd(g,g)),k=Id(3,m),P=Ad(x),T=_,A=Id(-3,w),z=Id(-5,M),D=Bd(Id(-4,S),Td(y)),q=Bd(Id(3,N),Id(-3,C)),F=Bd(Ad(E),Pd(O)),L=Td(m),j=Td(x),H=Td(_),W=Ad(b),Y=Ad(M),X=Bd(Ad(S),y),Q=Bd(Ad(C),Td(N)),V=Bd(O,Td(E)),R=Td(I);return{A:[L,j,H,W],B:[w,Y,X,Q,V,R,B],C:[k,P,T],D:[A,z,D,q,F,I],H:[Id(3,kd(m,w)),Ad(Ad(Bd(kd(m,M),kd(x,w)))),Bd(Bd(kd(m,X),Id(6,kd(x,M))),Id(5,kd(_,w))),Bd(Bd(Ad(kd(x,X)),Id(8,kd(_,M))),Pd(Id(6,kd(b,w)))),Bd(Bd(Pd(kd(m,V)),kd(x,Q)),Bd(Id(3,kd(_,X)),Pd(Id(10,kd(b,M))))),Bd(Bd(Td(kd(m,R)),Ad(kd(_,Q))),Pd(Ad(Ad(kd(b,X))))),Bd(Bd(Bd(kd(_,V),Pd(kd(x,R))),Pd(Id(3,kd(b,Q)))),Pd(Id(3,kd(m,B)))),Bd(Td(kd(b,V)),Td(kd(x,B))),Bd(Pd(kd(b,R)),Pd(kd(_,B)))]}}],Wd=ur,Yd=Wo,Xd=Ho,Qd=fr,Vd=Nr,Rd=ur,Ud=Wo,$d=Ho,Zd=fr,Gd=Kf,Jd=Nr,{sqrt:Kd,abs:tg}=Math,ng=function(t,n){const e=n[0],o=n[1],r=o*t,c=sr*o,i=c-(c-o),s=o-i,u=sr*t,f=u-(u-t),l=t-f,a=e*t,p=r+a,h=a-(p-r)+(s*l-(r-i*f-s*f-i*l)),v=p+h;return[h-(v-p),v]};function eg(t,n,e,o,r,c){const{curve:i,ts:[s,u]}=c,{ps:f}=i,{curve:l,t:a,p,pDd:h}=e,v=i===l,d=0===r&&v,g=[];let m,x=!1,_=!1;if(!(s===u||d&&2===f.length||v&&3===f.length&&o)){const{A:e,B:o,H:r}=d?3===f.length?function(t,n,e){const[[o,r],[c,i]]=vd(e),[s,u]=n,f=Yd(Wd(t,o),r),l=Yd(Wd(t,c),i),a=Yd(Xd(o,o),Xd(c,c)),p=Yd(Xd(o,r),Xd(c,i)),h=Yd(Xd(o,f),Xd(c,l)),v=Vd(Yd(Xd(s,o),Xd(u,c)));return{A:[Qd(v)],B:[a,Vd(h),Yd(Xd(f,f),Xd(l,l))],H:[Xd(a,v),Xd(v,Yd(Wd(t,a),p))]}}(a,n,f):function(t,n,e){const[o,r]=n,[[c,i,s],[u,f,l]]=vd(e),a=Ud($d(o,c),$d(r,u)),p=Ud($d(o,i),$d(r,f)),h=Ud($d(o,s),$d(r,l)),v=Ud($d(c,c),$d(u,u)),d=Ud($d(c,i),$d(u,f)),g=Ud($d(c,s),$d(u,l)),m=Ud($d(i,i),$d(f,f)),x=Ud($d(i,s),$d(f,l)),_=Ud($d(s,s),$d(l,l)),b=Rd(t,Ud(Rd(t,Ud(Rd(t,a),p)),h)),w=Rd(t,Ud(Rd(t,Ud(Rd(t,v),d)),g)),M=Rd(t,Ud(Rd(t,Ud(Rd(t,d),m)),x)),S=Rd(3,a),y=Jd(p),C=Ud(y,Rd(t,S)),O=Rd(-3,v),N=Rd(-5,d),E=Ud(Rd(-4,g),Gd(m)),I=Ud(Rd(-3,x),Rd(3,w)),B=Ud(Zd(_),Jd(M)),k=O,P=Ud(N,Rd(t,k)),T=Ud(E,Rd(t,P)),A=Ud(I,Rd(t,T)),z=Ud(B,Rd(t,A)),D=Gd(a),q=Gd(p),F=v,L=Jd(d),j=Ud(Jd(g),m),H=Ud(Jd(x),Gd(w)),W=Ud(_,Gd(M)),Y=D,X=Ud(q,Jd(Rd(t,Y))),Q=F,V=Ud(L,Jd(Rd(t,Q))),R=Ud(j,Rd(t,Ud(Jd(V),Zd(Rd(t,Q))))),U=Ud(H,Rd(t,Ud(Jd(R),Zd(Rd(t,V))))),$=Ud(W,Rd(t,Ud(Jd(U),Zd(Rd(t,R))))),Z=Rd(3,$d(a,v)),G=Jd(Jd(Ud($d(a,d),$d(p,v)))),J=Ud(Ud($d(a,j),Rd(6,$d(p,d))),Rd(5,$d(h,v))),K=Ud(Ud(Jd($d(p,j)),Rd(8,$d(h,d))),Zd(Rd(6,$d(b,v)))),tt=Ud(Ud(Zd($d(a,W)),$d(p,H)),Ud(Rd(3,$d(h,j)),Zd(Rd(10,$d(b,d))))),nt=Z,et=Ud(G,Jd(Jd(Rd(t,nt)))),ot=Ud(J,Rd(t,Ud(Jd(Jd(et)),Zd(Rd(6,Rd(t,nt)))))),rt=Ud(K,Rd(t,Ud(Jd(Jd(ot)),Rd(t,Ud(Rd(-6,et),Jd(Jd(Rd(t,nt))))))));return{A:[Y,X],B:[Q,V,R,U,$],C:[S,C],D:[k,P,T,A,z],H:[nt,et,ot,rt,Ud(tt,Rd(t,Ud(Jd(Jd(rt)),Rd(t,Ud(Rd(-6,ot),Rd(t,Ud(Jd(Jd(et)),Zd(Rd(t,nt)))))))))]}}(a,n,f):function(t,n,e){if(1===e.length){const{a0:o,b0:r}=jd(t,n,e[0]);return{A:[o],B:[r],C:[],D:[],H:[]}}return Hd[e.length](t,n,e)}(h,n,f);m=vo(r,s,u)||[];for(let r=0;r<m.length;r++){const c=m[r],{tS:f,tE:l,t:a}=c;if(c.multiplicity>1)continue;if(l<s||f>u)continue;if(f<0)continue;const h=l>1?1:a,v=ud(e,h),d=ud(o,h),b=v[0]+v[1],w=d[0]+d[1];if(tg(b)<2**-40)continue;const M=-w/b;if(M<=0)continue;const S=[ng(M,n[0]),ng(M,n[1])],y=[S[0][1],S[1][1]],C=Kd(dv(y));if(C<=2**(t-40))continue;const O=[p[0]+y[0],p[1]+y[1]];c.tS<=s&&c.tE>=s&&(x=!0),c.tS<=u&&c.tE>=u&&(_=!0);const N=0===h?1:h,E={curve:0===h?i.prev:i,s:N,d:C,x:O};g.push(E)}}const b=f[f.length-1],w=0===a&&i===l.prev||1===a&&i===l,M=[];if(0===s);else if(1===s)w||x||M.push({P:b,t:1});else if(!x){const t=go(f,s);M.push({P:t,t:s})}if(s!==u)if(0===u);else if(1===u)w||_||M.push({P:b,t:1});else if(!_){const t=go(f,u);M.push({P:t,t:u})}for(let t=0;t<M.length;t++){const{P:e,t:o}=M[t],{a0:r,b0:c}=jd(h,n,e);if(tg(r[1])<=2**-40||tg(c[1])<=2**-40)continue;const s=-c[1]/r[1];if(s<2**-40)continue;const u=[ng(s,n[0]),ng(s,n[1])],f=[u[0][1],u[1][1]],l=Kd(dv(f)),a=[p[0]+f[0],p[1]+f[1]],v=0===o?1:o,d={curve:0===o?i.prev:i,s:v,d:l,x:a};g.push(d)}return g}function og(t,n,e){const[o,r]=t,[c,i]=n,[s,u]=e,f=o-s,l=r-u;return{a0:2*(c*f+i*l),b0:f*f+l*l}}const{abs:rg,sqrt:cg}=Math,ig=1+2**-20;function sg(t,n){const[e,o]=t,[r,c]=n,i=Xo(e,r),s=Xo(o,c);return Wo(Ho(i,i),Ho(s,s))[1]}const ug=jp,fg=Xo,lg=ur,ag=Wo,pg=Qo;function hg(t){if(4===t.length)return function(t){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[lg(3,ag(fg(s,n),lg(3,fg(o,c)))),lg(6,pg(ug(c,n),-2*o)),lg(3,fg(o,n))],[lg(3,ag(fg(u,e),lg(3,fg(r,i)))),lg(6,pg(ug(i,e),-2*r)),lg(3,fg(r,e))]]}(t);if(3===t.length)return function(t){const[[n,e],[o,r],[c,i]]=t;return[[pg(ug(2*c,2*n),-4*o),fg(2*o,2*n)],[pg(ug(2*i,2*e),-4*r),fg(2*r,2*e)]]}(t);if(2===t.length)return function(t){const[[n,e],[o,r]]=t;return[[fg(o,n)],[fg(r,e)]]}(t);if(1===t.length)return[[[0,0]],[[0,0]]];throw new Error("The given bezier curve must be of order <= 3.")}const vg=Xo,dg=Wo,gg=ur,mg=Qo,xg=Ho,_g=Wo,bg=Yo;const{sqrt:wg}=Math;function Mg(t,n,e){const{curve:o,p:r,t:c}=n,{ps:i}=o,s=1/t,u=function(t,n){const[e,o]=function(t,n){const[e,o]=hg(t),[r,c]=function(t){if(4===t.length){const[[n,e],[o,r],[c,i],[s,u]]=t;return[[gg(6,dg(vg(s,n),gg(3,vg(o,c)))),gg(6,mg(vg(c,2*o),n))],[gg(6,dg(vg(u,e),gg(3,vg(r,i)))),gg(6,mg(vg(i,2*r),e))]]}if(3===t.length){const[[n,e],[o,r],[c,i]]=t;return[[mg(vg(2*c,4*o),2*n)],[mg(vg(2*i,4*r),2*e)]]}if(t.length<=2)return[[[0,0]],[[0,0]]];throw new Error("The given bezier curve must be of order <= 3.")}(t),i=ud(e,n),s=ud(o,n),u=ud(r,n),f=ud(c,n),l=bg(xg(i,f),xg(s,u)),a=_g(xg(i,i),xg(s,s));return[l,Xp(xg(a,xg(a,a)))]}(t,n);return Os(e,o)}(i,c),f=-(u[0]+u[1]),l=f<s?s:f,[a,p]=e,h=wg(a*a+p*p)*l;return[[r[0]+a/h,r[1]+p/h],1/l]}const{sqrt:Sg}=Math,{abs:yg,sin:Cg,cos:Og,max:Ng,sqrt:Eg}=Math;function Ig(t){const{loops:n,maxCoordPowerOf2:e,squaredDiagonalLength:o}=t,c=(2**(e-21))**2,i=2**(e-46),s=Eg(o),u=2**(e-32);return function(o,f,l,a){const{curve:{loop:p,ps:h},t:v,p:d}=a,g=function(t,n){const[e,o]=hg(t),r=ud(o,n);return[[-r[0],-r[1]],ud(e,n)]}(h,v),m=[-g[0][1],-g[1][1]],x=o?[0,-s]:0!==l?r(Cg(l),Og(l))(m):m,_=o||0!==l?[[0,x[0]],[0,x[1]]]:[[-g[0][0],-g[0][1]],[-g[1][0],-g[1][1]]];let[b,w]=function(t,n,e,o,r){let c,i;const{p:s}=o;if(n)return[[s[0],s[1]-e],e];if(0===t)return Mg(e,o,r);const{p:u}=o,[f,l]=r,a=e/Sg(f*f+l*l),p=[f*a,l*a];return c=[u[0]+p[0],u[1]+p[1]],i=e,[c,i]}(l,o,s,a,x);const M=function(t,n,e,o,r,c,i){const{cpTrees:s}=r;if(n)return o.filter(t=>t!==e).flatMap(t=>t.curves.map(t=>({curve:t,ts:[0,1]})));const u=jt(c)&&Lt(c).isDull?1===c.t&&0===t?-1:0===c.t?1:vv(i,c):0,f=Qv(s.get(e),c,u,0)?.[0];return f&&f!==f.next.next?Yv([f,f]):e.curves.map(t=>({curve:t,ts:[0,1]}))}(l,o,p,n,t,a,b),S=function(t,n,e,o){let r=t**2;const c=t/cg(dv(o));let i=[e[0]+c*o[0],e[1]+c*o[1]];for(let t=0;t<n.length;t++){const c=n[t],{ps:s}=c.curve,u=s[0],f=s[s.length-1];for(const t of[u,f]){if(xu(i,t)>r)continue;const{a0:n,b0:c}=og(e,o,t);if(rg(n)<=2**-40||rg(c)<=2**-40)continue;const s=-c/n;if(s<2**-40)continue;const u=[s*o[0],s*o[1]],f=dv(u);f<r&&(r=f,i=[e[0]+u[0],e[1]+u[1]])}}return ig*r}(w,M,d,x),y=Eg(S),C=Eg(x[0]**2+x[1]**2);b=[d[0]+x[0]/C*y,d[1]+x[1]/C*y];const O=Tv(M,b,(1+2**-20)*S),N=function(t,n,e,o,r,c){const i=[];for(let s=0;s<c.length;s++){const u=eg(t,n,e,o,r,c[s]);i.push(...u)}let s=1/0;for(let t=0;t<i.length;t++){const n=i[t].d*(1+2**-46);n<s&&(s=n)}const u=[];for(let t=0;t<i.length;t++){const n=i[t];n.d*(1-2**-46)<=s&&u.push(n)}return u}(e,_,a,f,l,O);if(1!==N.length){if(0===N.length)return;if(!o&&!function(t,n){const{curve:e,s:o,x:r}=t[0],c=2**(n-40);for(let n=1;n<t.length;n++){const{x:e}=t[n];if(yg(r[0]-e[0])>c||yg(r[1]-e[1])>c)return!1}return!0}(N,e))return}const{x:E,d:I,curve:B,s:k}=N[0];if(f&&w<(1-u)*I)return void function(t,n,e,o){if(jt(o)&&Lt(o).isDull)return;const r={radius:n,center:e};Jv(t,o,r,vv(r.center,o),0)||Uv(!1,!1,r,[-.5,.5],t,[o,o])}(t,w,b,a);const P=Dv(B.ps,k),T={curve:B,t:k,isSource:!1,p:P.map(t=>t[0]+t[1]),pDd:P},A={center:E,radius:I},z=sg(a.p,T.p),D=sg(E,T.p);if(!o){if(0===z)return;if(z<=Ng((q=w,(F=Eg(D))+(L=4*i)>=q?1/0:F*F*(2*q*L+L*L)/((q-F)*(F+L))),c))return}var q,F,L;return{circle:A,z:T}}}function Bg(t,n,e,o,r){e=0===e.t?{...e,curve:e.curve.prev,t:1}:e;const c=vv(n.center,e),i=vv(n.center,o);if(Jv(t,e,n,c,0))return;if(Jv(t,o,n,i,0))return;const{anyFailed:s,cpNodes:u}=Uv(r,r,n,[c,i],t,[e,o]);if(!s)return r&&function(t,n){const{cpTrees:e}=t,[o,r]=n,c={...o.pointOnShape.circle},i=r.pointOnShape,s=Vv(!0,!0,!1,e.get(i.curve.loop),{...i,circle:c,order2:1},r,void 0,t.lastInsertId);s.holeCloserTwin=r,r.holeCloserTwin=s;const u=o.pointOnShape,f=Vv(!0,!0,!1,e.get(u.curve.loop),{...u,circle:c,order2:-1},o.prev,void 0,t.lastInsertId);f.holeCloserTwin=o,o.holeCloserTwin=f,f.prevOnCircle=s,f.nextOnCircle=s,s.prevOnCircle=f,s.nextOnCircle=f,r.next=o,o.prev=r,f.next=s,s.prev=f}(t,u),u[0];u.forEach(n=>{void 0!==n&&Z(n,t)})}const{PI:kg,atan2:Pg}=Math;function Tg(t,n,e,o){let r;const c=Ig(t),i=n*kg/180;for(let n=0;n<e.length;n++){const s=e[n],u=o?[0]:Ag(i,s);for(const e of u){const i=c(!1,o,e,s);if(i){const{circle:n,z:e}=i,o=Bg(t,n,s,e,!1);r=r||o}if("undefined"!=typeof _debug_&&n+1===_debug_.directives.stopAfterTwoProngsNum)return}}return r}function Ag(t,n){const e=[0];if(1===n.t){const{curve:o}=n,r=Ft(o.ps,o.next.ps);if(r.isQuiteDull){const n=hv(r.tangents[0]),o=hv(r.tangents[1]),c=(Pg(n[1],n[0])+2*kg)%(2*kg),i=((Pg(o[1],o[0])+2*kg)%(2*kg)-c+2*kg)%(2*kg);let s=t;for(;s<=i-t/2;)e.push(s),s+=t}}return e}function zg(t,n,e,o){let r;for(let c=0;c<e.length;c++){const i=Tg(t,n,e[c],o);r=void 0===r?i:r}return r}const{atan2:Dg}=Math,qg=Dr;function Fg(t,n){const e=t[0],o=t[1],r=n[0],c=n[1],i=Yo(qg(c,e),qg(r,o))[1],s=Wo(qg(r,e),qg(c,o))[1];return Dg(i,s)}const{abs:Lg}=Math;function jg(t){const n=[];for(let e=0;e<t.length-1;e++){const o=[t[e+1][0]-t[e][0],t[e+1][1]-t[e][1]];0===o[0]&&0===o[1]||n.push(o)}const e=n.length;let o=0;for(let t=0;t<e-1;t++)o+=Lg(Fg(n[t],n[t+1]));return o}function Hg(t,n=.4,e=10,o=2**-16){const r=[0],c=[1];for(;;){const i=r[r.length-1],s=c[c.length-1],u=U(t,i,s),f=Pu(u),l=jg(u);if(f<=e&&l<=n||s-i<=o){if(r.push(c.pop()),1===s)return r;continue}const a=(i+s)/2;c.push(a)}}function Wg(t){if(t.length<4)return[];const[[n,e],[o,r],[c,i],[s,u]]=t,f=o-n,l=r-e,a=c-o-f,p=i-r-l,h=s-c-f-2*a,v=u-i-l-2*p,d=a*v-p*h,g=f*v-l*h,m=f*p-l*a;return vo([d,g,m],0,1)?.map(t=>t.t)||[]}function Yg(t,n,e){return function(o){const r=[],c=o.curves;for(let o=0;o<c.length;o++){const i=c[o],s=i.ps;if(Pu(s)<t)continue;let u=Hg(s,n,e);u=2===u.length?[.5]:u,u.push(...Wg(s)),u=u.filter(t=>0!==t&&1!==t);const f=u.map(t=>{const n=Dv(i.ps,t),e=n.map(t=>t[0]+t[1]);return{curve:i,t,isSource:!0,p:e,pDd:n}});r.push(...f)}return r}}const Xg=Nr,Qg=ur,Vg=Ho,Rg=Wo,Ug=Yo,$g=fr,Zg=Xo,Gg=Ho,Jg=Wo,Kg=Yo;function tm(t){if(au(t))return{minima:[],maxima:[],inflections:[]};if(4===t.length&&yu(t)&&(t=di(t)),3===t.length){const n=function(t){const[[n,e],[o,r],[c,i]]=t,s=Zg(o,n),u=Zg(c,o),f=Kg(u,s),l=Zg(r,e),a=Zg(i,r),p=Kg(a,l),h=Jg(Gg(s,f),Gg(l,p));return[Jg(Gg(f,f),Gg(p,p)),h]}(t);return{minima:[],maxima:vo(n,0,1)?.map(t=>t.t)||[],inflections:[]}}const n=function(t){const[[n,e,o],[r,c,i]]=hg(t),s=Ug(Vg(n,c),Vg(e,r)),u=Ug(Vg(n,i),Vg(o,r)),f=Ug(Vg(e,i),Vg(o,c)),l=Rg(Vg(n,n),Vg(r,r)),a=Rg(Vg(n,e),Vg(r,c)),p=Rg(Vg(n,o),Vg(r,i)),h=Rg(Vg(e,e),Vg(c,c)),v=Rg(Vg(e,o),Vg(c,i)),d=Rg(Vg(o,o),Vg(i,i)),g=Rg(Qg(8,p),Qg(3,h)),m=Qg(-4,Vg(l,s)),x=$g(Rg(Qg(10,Vg(l,u)),Qg(5,Vg(a,s)))),_=$g(Rg(Rg(Qg(4,Vg(l,f)),Qg(16,Vg(a,u))),Vg(h,s))),b=$g(Rg(Qg(10,Vg(a,f)),Vg(g,u))),w=$g(Vg(g,f)),M=Ug(Qg(2,Vg(d,u)),Qg(3,Vg(v,f)));return{inflectionPoly:[s,Xg(u),f],otherExtremaPoly:[m,x,_,b,w,M]}}(t),e=n.inflectionPoly,o=n.otherExtremaPoly,r=vo(o,0,1)?.map(t=>t.t)||[],c=function(t){const n=t.length-1;if(n<=0)return[];const e=new Array(n);for(let o=0;o<n;o++)e[o]=be(n-o,t[o]);return e}(o),i=[],s=[];for(let t=0;t<r.length;t++){const n=r[t],o=We(c,n);bt(gt(We(e,n),o))>=0?i.push(n):s.push(n)}return{minima:i,maxima:s,inflections:vo(e,0,1)?.map(t=>t.t)||[]}}const nm=2**-20,em=2**-20;function om(t){const{curve:n,t:e}=t,{ps:o}=n,r=Dv(o,e),c=r.map(t=>t[0]+t[1]);return{curve:n,t:t.t,isSource:!0,p:c,pDd:r}}function rm(t,n,e,o,r){(r&&(o>t.val||o===t.val&&e>t.t)||!r&&(o<t.val||o===t.val&&e>t.t))&&(t.curve=n,t.t=e,t.val=o)}const cm=nt(function(t){const n=[{curve:void 0,t:void 0,val:1/0},{curve:void 0,t:void 0,val:1/0}],e=[{curve:void 0,t:void 0,val:-1/0},{curve:void 0,t:void 0,val:-1/0}];return t.curves.forEach(function(t){const o=mo(t.ps);for(let r=0;r<2;r++)rm(n[r],t,o.ts[0][r],o.box[0][r],!1),rm(e[r],t,o.ts[1][r],o.box[1][r],!0)}),{minX:om(n[0]),minY:om(n[1]),maxX:om(e[0]),maxY:om(e[1])}});function im(t){return cm(t).minY}function sm(t){const{loops:n}=t,e=n.map(im);let o;const r=Ig(t);for(let n=1;n<e.length;n++){const c=e[n],i=r(!0,!1,0,c);if(!i)throw new Error("Unable to find hole-closing 2-prong");const{circle:s,z:u}=i,f=Bg(t,s,c,u,!0);o=void 0===o?f:o}return o}function um(t){let n,e,o,r,c=1/0,i=-1/0,s=1/0,u=-1/0;for(const f of t){const t=cm(f);t.minX.p[0]<c&&(n=t.minX,c=t.minX.p[0]),t.maxX.p[0]>i&&(e=t.maxX,i=t.maxX.p[0]),t.minY.p[1]<s&&(o=t.minY,s=t.minY.p[1]),t.maxY.p[1]>u&&(r=t.maxY,u=t.maxY.p[1])}return{minX:n,minY:o,maxX:e,maxY:r}}function fm(t,n,e){"undefined"!=typeof _debug_&&(td=performance.now()),function(t){if("undefined"==typeof _debug_)return;const{looseBoundingBoxes:n,tightBoundingBoxes:e,boundingHulls:o,sharpCorners:r,dullCorners:c}=_debug_.elems;for(const i of t)for(const t of i.curves){const i=t.ps;o.push(Du(i,!0)),n.push(Nv(i)),e.push(Ev(i));const s=qt(i,t.next.ps);s.isQuiteSharp?r.push(t):s.isQuiteDull&&c.push(t)}}(t);const{minBezLength:o,maxCurviness:r,maxLength:c,angleIncrement:i}=e,s=sd(o),u=function(t){return n=>{const e=[];for(let o=0;o<n.curves.length;o++){const r=n.curves[o];if(Pu(r.ps)<t)continue;const{next:c,ps:i}=r;if(Ft(i,c.ps).isQuiteDull){const t=i[i.length-1],n=[[0,t[0]],[0,t[1]]];e.push({curve:r,t:1,isSource:!0,p:t,pDd:n}),e.push({curve:c,t:0,isSource:!0,p:t,pDd:n})}}return e}}(o),f=Yg(o,r,c),l=function(t){return function(n){const e=[];for(let o=0;o<n.curves.length;o++){const r=n.curves[o],{ps:c}=r,i=Pu(c);if(i<t)continue;const s=c[0],u=c[c.length-1],f=i*em;for(const t of tm(c).maxima){if(t<nm||t>.9999990463256836)continue;const n=Dv(c,t),o=n.map(t=>t[0]+t[1]);on(o,s)<f||on(o,u)<f||e.push({curve:r,t,isSource:!0,p:o,pDd:n})}}return e}}(o),a=um(t),p=(a.maxX.p[0]-a.minX.p[0])**2+(a.maxY.p[1]-a.minY.p[1])**2,h=t.map(s),v={id:0},d={maxCoordPowerOf2:n,squaredDiagonalLength:p,loops:t,cpTrees:cd(t,h,v),lastInsertId:v};let g;if(g=sm(d),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterHoleClosers)return{cpNode:g,meta:d};if(function(){if("undefined"==typeof _debug_)return;const t=performance.now();_debug_.timing.holeClosers+=t-td,td=t}(),g=zg(d,i,t.map(u),!1)||g,g=zg(d,i,t.map(l),!0)||g,g=zg(d,i,t.map(f),!1)||g,function(){if("undefined"==typeof _debug_)return;const t=performance.now();_debug_.timing.oneAnd2Prongs+=t-td,td=t}(),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterTwoProngs)return{cpNode:g,meta:d};if(g=function(t,n){if(void 0===n)return;const e=new Set;let o=!0;for(;o;){o=!1;const r=new Set(B(n));for(const n of r){const c=ed(t,n);if(void 0===c)return od(e);const{closeBysFor3Prong:i,addedCpNodes:s}=c;s.length>0&&(o=!0),void 0===i?e.add(n):(o=!0,rd(t,i,r,e)),s.forEach(t=>t.forEach(t=>e.add(t)))}n=od(e)}return n}(d,g),void 0===g)return;if("undefined"!=typeof _debug_&&_debug_.directives.stopAfterThreeProngs)return{cpNode:g,meta:d};const m={cpNode:g,meta:d};return"undefined"!=typeof _debug_&&(_debug_.timing.threeProngs+=performance.now()-td),m}const{ceil:lm,log2:am}=Math;function pm(t,n){"undefined"!=typeof _debug_&&(_debug_.elems={..._debug_.elems,looseBoundingBoxes:[],tightBoundingBoxes:[],boundingHulls:[],sharpCorners:[],dullCorners:[]});const{maxCoordinate:e}=function(t){let n=0,e=1/0,o=-1/0,r=1/0,c=-1/0;for(const i of t)for(const t of i)for(const i of t){const t=i[0],s=i[1],u=zh(Dh(t),Dh(s));u>n&&(n=u),t<e&&(e=t),t>o&&(o=t),s<r&&(r=s),s>c&&(c=s)}return{maxCoordinate:n,width:o-e,height:c-r}}(t),o=lm(am(e)),r=function(t,n){const e={...n};for(const n in pv){const o=n;let r=e[o];const c=pv[o],{range:i,scaleByMaxCoordinate:s}=c;r<i[0]&&(r=i[0]),r>i[1]&&(r=i[1]),s&&(r*=2**(t-10)),e[o]=r}return e}(o,{...av,...n||{}}),{applySat:c,simplify:i,satScale:s,simplifyTolerance:u}=r,f=Ah(t,{forceOrientationNegative:!0}),l=[];for(const t of f){let n=fm(t,o,r);void 0!==n&&(c&&(n=lv(n,s)),i&&(n=Kh(n,u)),l.push(n))}return l}function hm(t){const n=function(t){let n=t;const e=cv(t);for(;e.length;){const o=e.pop();if(o.isHoleClosing||o.isIntersection)continue;let r=o.next;for(;;){r=r.next;let e=!1;const o=r.prevOnCircle;if(T(r)>2){const n=r.nextOnCircle;Gt(r,t)?e=!0:r.next===n?r=n:n.next!==o&&(e=!0)}else if(A(r)&&!r.isIntersection)return void(n=r);if(e){o.next=r,r.prev=o,n=r;break}}}return n}(Q(t.cpNode));if(n)return{cpNode:n,meta:{...t.meta,cpTrees:Hh(n)}}}function vm(t){const n=B(t).filter(t=>z(t)>=3);if(0!==n.length)return ov(n)}function dm(t,n,e,o){const r=[];for(const o of t)r.push({type:0,item:o,x:n(o)}),r.push({type:1,item:o,x:e(o)});r.sort(gm);const c=new Set,i=[];for(const t of r){const{item:n}=t;if(0===t.type){for(const t of c.values())o(n,t)&&i.push([n,t]);c.add(n)}else 1===t.type&&c.delete(t.item)}return i}function gm(t,n){const e=t.x-n.x;return 0!==e?e:0===t.type?-1:1}function mm(t,n){let{curve:e,t:o}=t;const{p:r}=t;return n&&1===o&&(o=0,e=e.next),n||0!==o||(o=1,e=e.prev),[r,it(r,ft(e.ps,o))]}function xm(t,n){return Rt(mm(t.pointOnShape,!0),mm(n.pointOnShape,!1))}function _m(t){const n=t.length,e=new Map(t.map((t,n)=>[t.pointOnShape.circle,n])),o=[];for(let r=0;r<n;r++){const c=t[r],i=new Array(n).fill(1/0);i[r]=0;let s=c;do{let t=uv(s),n=s.next;for(;;){const o=e.get(n.pointOnShape.circle);if(void 0!==o){o!==r&&t<i[o]&&(i[o]=t);break}if(n.isHoleClosing)n=n.holeCloserTwin.next;else{if(te(n))break;t+=uv(n),n=n.next}}s=s.nextOnCircle}while(s!==c);o.push(i)}return o}function bm(t,n){const{lastInsertId:e,cpTrees:o,...r}=n;return{cpTrees:Hh(t),lastInsertId:{id:e.id},...r}}function wm(t){const n=Q(t.cpNode);return{cpNode:n,meta:bm(n,t.meta)}}function Mm(t){let{cpNode:n}=t,e=n;do{if(D(n)||n.next!==n.nextOnCircle){n=n.next;continue}const t=n.next,o=t.next,r=n.next.nextOnCircle;n.next=o,n.nextOnCircle=r,o.prev=n,r.prevOnCircle=n,e===t&&(e=n),n=n.next}while(n!==e);return t.cpNode=n,t}function Sm(t,n){return t.pointOnShape.curve.loop===n.pointOnShape.curve.loop}function ym(t){const n=[],e=[t],o=new Set(e);for(;e.length>0;){const t=[],r=e.pop(),c=r.pointOnShape.curve.loop;let i=r;do{if(c===i.pointOnShape.curve.loop){t.push(i),i=i.next;continue}const n=i.holeCloserTwin;o.has(n)||(o.add(n),o.add(n.prevOnCircle.holeCloserTwin),e.push(n)),i=i.prev.holeCloserTwin}while(i!==r);n.push(t)}return n}function Cm(t){let{cpNode:n}=t;for(;!D(n);)n=n.next;return Sm(n,n.next)||(n=n.holeCloserTwin),ym(n)}const{max:Om,abs:Nm,round:Em,log2:Im}=Math;function Bm(t,n=void 0){let e=-1/0;for(const n of t)e=Om(e,n.meta.maxCoordPowerOf2);const o=function(t,n){return function(e){const o=e.next,r=e.pointOnShape,c=o.pointOnShape,{curve:i,circle:s,p:u}=r,{curve:f,p:l}=c;if(u[0]===l[0]&&u[1]===l[1])return;if(i.loop!==f.loop)return;const a=on(s.center,u);if(void 0!==n){const e=2**(t-n);if(Nm(s.radius-a)>e)throw new Error(`Medial circle radius must be about the same (2**${Em(Im(e))}) as distance from medial circle center to point on shape, found: medial radius ${s.radius}, distance: ${a}`)}return function(t){return Rt(mm(t.pointOnShape,!0),mm(t.next.pointOnShape,!1))}(e)}}(e,n),r=function(t,n,e){if(!Number.isInteger(3))throw new Error("depth must be an integer >= 1");return function t(n,o){const r=o;if(1===n){const t=[];for(let n=0;n<r.length;n++){const o=e(r[n]);void 0===o||t.push(o)}return t}const c=[];for(let e=0;e<r.length;e++)c.push(t(n-1,r[e]));return c}(3,n)}(0,t.map(t=>({cpNode:Q(t.cpNode),meta:t.meta})).map(Mm).map(Cm),o);return r.map(t=>t.map(t=>t.flat()))}function km(t){const{idx:n,beziers:e}=t;return{idx:n,beziers:e}}function Pm(t){const n=[],e=new Set,o=t;do{const{id:o,isHoleClosing:r,isIntersection:c,pointOnShape:i,prev:s,next:u,nextOnCircle:f,prevOnCircle:l,holeCloserTwin:a}=t,{curve:p,p:h,pDd:v,t:d,isSource:g,circle:m,order:x,order2:_}=i,{idx:b,loop:w,ps:M,prev:S,next:y}=p;e.has(w)||e.add(w);const C={curveIdx:b,loopIdx:w.idx,p:h,pDd:v,t:d,isSource:g,circle:m,order:x,order2:_};n.push({id:o,isHoleClosing:r,isIntersection:c,pointOnShape:C,prev:s.id,next:u.id,prevOnCircle:l.id,nextOnCircle:f.id,holeCloserTwin:a?.id}),t=t.next}while(t!==o);const r=Array.from(e).sort((t,n)=>t.idx-n.idx);return{cpNodes:n,loops:r.map(km)}}const Tm=["prev","next","prevOnCircle","nextOnCircle","holeCloserTwin"];function Am(n){const{idx:e,beziers:o}=n;return t(o,e)}function zm(t){const{cpNodes:n,loops:e}=t,o=e.map(Am),r=new Map(o.map(t=>[t.idx,t])),c=n.map(t=>{const{id:n,pointOnShape:e,isHoleClosing:o,isIntersection:c}=t,{circle:i,order:s,order2:u}=e,{curveIdx:f,loopIdx:l,p:a,pDd:p,t:h,isSource:v}=e,d={circle:i,curve:r.get(l).curves[f],p:a,pDd:p,t:h,isSource:v,order:s,order2:u};return{...t,id:n,isHoleClosing:o,isIntersection:c,pointOnShape:d}}),i=new Map(c.map(t=>[t.id,t]));for(const t of c)for(const n of Tm){const e=t[n];void 0!==e&&(t[n]=i.get(e))}const s=new Set;for(const t of c){if(s.has(t))continue;const{circle:n}=t.pointOnShape;for(const e of H(t))s.add(e),e.pointOnShape.circle=n}return c[0]}function Dm(t,n){return{center:t.center,radius:n*t.radius}}export{Jn as CpNodeFs,e as beziersToSvgPathStr,Q as clone,wm as cloneMat,bm as cloneMeta,Gn as cpNodeComparator,cd as createInitialCpTree,id as enableDebugForMat,F as enhanceCpNode,Ig as find2Prong,sm as findAndAddHoleClosing2Prongs,pm as findMats,I as floydWarshall,zm as fromStringifyable,H as getAllOnCircle,B as getAllOnLoop,ym as getAllOnLoop_ByLoop,$n as getAllVertices,R as getBoundaryBezierPartsToNext,jn as getBoundaryBeziersBetween,$ as getBoundaryBeziersToNext,Yv as getBoundaryPieceBeziers,nn as getBranch,en as getBranchBeziers,Fh as getBranches,J as getChildren,qv as getCloseBoundaryPointsCertified,Iv as getClosestSquareDistanceToRect,Yt as getEdgeDirection,Zt as getFirstExit,Yg as getFor2ProngsOnLoop,_m as getGraph,k as getHoleClosers,xm as getImpliedBoundaryBezierBetween,Un as getInitialDegAngleBetweenMatCurves,vm as getLargest3Prong,rv as getLargestVertex,Ut as getMatCurveBetween,$t as getMatCurveToNext,Wn as getMatCurvesBetween,qh as getNonTerminatingOnCircle,Mg as getOsculatingCircle,E as getPathsFromStr,Ov as getPotentialClosestPointsOnCurveCertified,T as getProngCount,z as getRealProngCount,Hn as getSalience,fv as getSatCulls,um as getShapeBounds,sd as getSharpCornersOnLoop,W as getVertexForwardChildren,D as isFullyTerminating,Gt as isOnSameCircle,Sm as isOnSameLoop,Jt as isOneProng,q as isSharp,A as isTerminating,tn as isTrivial,Kt as isTwoProng,te as isVertexSpecial,t as loopFromBeziers,Bm as reconstructFromMats,G as removeVertex,Dm as scaleCircle,Kh as simplifyMat,dm as sweepLine,lv as toScaleAxis,Pm as toStringifyable,L as traverseCp,j as traverseEdges,Y as traverseVertices,hm as trimMat};
|