seveibar/pd-dual-stepper-controller
Bottom-side PCB silkscreen artwork consisting of embedded mirrored TS Circuit SVG logos, with via-clearance-aware lower-board placement.
- Version
- 0.1.0
- License
- unset
- Stars
- 0
reference/index.cjs
'use strict';
var jsxRuntime = require('react/jsx-runtime');
var react = require('react');
var schematicSymbols = require('schematic-symbols');
// Browser bundle of tscircuit/circuit-json-schematic-placement-analysis
// Commit fc054b4b47def6c22247f21c112345bc1a6ddf66 (PR #168); MIT licensed.
// Built with: bun build lib/analyze-schematic-placement.ts --target browser
var __create = Object.create;
var __getProtoOf = Object.getPrototypeOf;
var __defProp$1 = Object.defineProperty;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
function __accessProp(key) {
return this[key];
}
var __toESMCache_node;
var __toESM = (mod, isNodeMode, target) => {
var canCache = mod != null && typeof mod === "object";
if (canCache) {
var cache = __toESMCache_node ??= new WeakMap ;
var cached = cache.get(mod);
if (cached)
return cached;
}
target = mod != null ? __create(__getProtoOf(mod)) : {};
const to = __defProp$1(target, "default", { value: mod, enumerable: true }) ;
for (let key of __getOwnPropNames(mod))
if (!__hasOwnProp$1.call(to, key))
__defProp$1(to, key, {
get: __accessProp.bind(mod, key),
enumerable: true
});
if (canCache)
cache.set(mod, to);
return to;
};
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
var __returnValue = (v) => v;
function __exportSetter(name, newValue) {
this[name] = __returnValue.bind(null, newValue);
}
var __export = (target, all) => {
for (var name in all)
__defProp$1(target, name, {
get: all[name],
enumerable: true,
configurable: true,
set: __exportSetter.bind(all, name)
});
};
// ../../work/placement-analysis/node_modules/svgson/dist/svgson.umd.js
var require_svgson_umd = __commonJS((exports, module) => {
(function (global, factory) {
typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, global.svgson = factory());
})(exports, function () {
/*!
* Determine if an object is a Buffer
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
var isBuffer_1 = function (obj) {
return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer);
};
function isBuffer(obj) {
return !!obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj);
}
function isSlowBuffer(obj) {
return typeof obj.readFloatLE === "function" && typeof obj.slice === "function" && isBuffer(obj.slice(0, 0));
}
var toString2 = Object.prototype.toString;
var kindOf = function kindOf2(val) {
if (typeof val === "undefined") {
return "undefined";
}
if (val === null) {
return "null";
}
if (val === true || val === false || val instanceof Boolean) {
return "boolean";
}
if (typeof val === "string" || val instanceof String) {
return "string";
}
if (typeof val === "number" || val instanceof Number) {
return "number";
}
if (typeof val === "function" || val instanceof Function) {
return "function";
}
if (typeof Array.isArray !== "undefined" && Array.isArray(val)) {
return "array";
}
if (val instanceof RegExp) {
return "regexp";
}
if (val instanceof Date) {
return "date";
}
var type = toString2.call(val);
if (type === "[object RegExp]") {
return "regexp";
}
if (type === "[object Date]") {
return "date";
}
if (type === "[object Arguments]") {
return "arguments";
}
if (type === "[object Error]") {
return "error";
}
if (isBuffer_1(val)) {
return "buffer";
}
if (type === "[object Set]") {
return "set";
}
if (type === "[object WeakSet]") {
return "weakset";
}
if (type === "[object Map]") {
return "map";
}
if (type === "[object WeakMap]") {
return "weakmap";
}
if (type === "[object Symbol]") {
return "symbol";
}
if (type === "[object Int8Array]") {
return "int8array";
}
if (type === "[object Uint8Array]") {
return "uint8array";
}
if (type === "[object Uint8ClampedArray]") {
return "uint8clampedarray";
}
if (type === "[object Int16Array]") {
return "int16array";
}
if (type === "[object Uint16Array]") {
return "uint16array";
}
if (type === "[object Int32Array]") {
return "int32array";
}
if (type === "[object Uint32Array]") {
return "uint32array";
}
if (type === "[object Float32Array]") {
return "float32array";
}
if (type === "[object Float64Array]") {
return "float64array";
}
return "object";
};
function createCommonjsModule(fn, module2) {
return module2 = { exports: {} }, fn(module2, module2.exports), module2.exports;
}
var renameKeys = createCommonjsModule(function (module2) {
(function () {
function rename(obj, fn) {
if (typeof fn !== "function") {
return obj;
}
var res = {};
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
res[fn(key, obj[key]) || key] = obj[key];
}
}
return res;
}
if (module2.exports) {
module2.exports = rename;
}
else {
{
window.rename = rename;
}
}
})();
});
var deepRenameKeys = function renameDeep(obj, cb) {
var type = kindOf(obj);
if (type !== "object" && type !== "array") {
throw new Error("expected an object");
}
var res = [];
if (type === "object") {
obj = renameKeys(obj, cb);
res = {};
}
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
var val = obj[key];
if (kindOf(val) === "object" || kindOf(val) === "array") {
res[key] = renameDeep(val, cb);
}
else {
res[key] = val;
}
}
}
return res;
};
var eventemitter3 = createCommonjsModule(function (module2) {
var has = Object.prototype.hasOwnProperty, prefix = "~";
function Events() { }
if (Object.create) {
Events.prototype = Object.create(null);
if (!new Events().__proto__)
prefix = false;
}
function EE(fn, context, once) {
this.fn = fn;
this.context = context;
this.once = once || false;
}
function EventEmitter() {
this._events = new Events;
this._eventsCount = 0;
}
EventEmitter.prototype.eventNames = function eventNames() {
var names = [], events, name;
if (this._eventsCount === 0)
return names;
for (name in events = this._events) {
if (has.call(events, name))
names.push(prefix ? name.slice(1) : name);
}
if (Object.getOwnPropertySymbols) {
return names.concat(Object.getOwnPropertySymbols(events));
}
return names;
};
EventEmitter.prototype.listeners = function listeners(event, exists) {
var evt = prefix ? prefix + event : event, available = this._events[evt];
if (exists)
return !!available;
if (!available)
return [];
if (available.fn)
return [available.fn];
for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {
ee[i] = available[i].fn;
}
return ee;
};
EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
var evt = prefix ? prefix + event : event;
if (!this._events[evt])
return false;
var listeners = this._events[evt], len = arguments.length, args, i;
if (listeners.fn) {
if (listeners.once)
this.removeListener(event, listeners.fn, undefined, true);
switch (len) {
case 1:
return listeners.fn.call(listeners.context), true;
case 2:
return listeners.fn.call(listeners.context, a1), true;
case 3:
return listeners.fn.call(listeners.context, a1, a2), true;
case 4:
return listeners.fn.call(listeners.context, a1, a2, a3), true;
case 5:
return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
case 6:
return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
}
for (i = 1, args = new Array(len - 1); i < len; i++) {
args[i - 1] = arguments[i];
}
listeners.fn.apply(listeners.context, args);
}
else {
var length = listeners.length, j;
for (i = 0; i < length; i++) {
if (listeners[i].once)
this.removeListener(event, listeners[i].fn, undefined, true);
switch (len) {
case 1:
listeners[i].fn.call(listeners[i].context);
break;
case 2:
listeners[i].fn.call(listeners[i].context, a1);
break;
case 3:
listeners[i].fn.call(listeners[i].context, a1, a2);
break;
case 4:
listeners[i].fn.call(listeners[i].context, a1, a2, a3);
break;
default:
if (!args)
for (j = 1, args = new Array(len - 1); j < len; j++) {
args[j - 1] = arguments[j];
}
listeners[i].fn.apply(listeners[i].context, args);
}
}
}
return true;
};
EventEmitter.prototype.on = function on(event, fn, context) {
var listener = new EE(fn, context || this), evt = prefix ? prefix + event : event;
if (!this._events[evt])
this._events[evt] = listener, this._eventsCount++;
else if (!this._events[evt].fn)
this._events[evt].push(listener);
else
this._events[evt] = [this._events[evt], listener];
return this;
};
EventEmitter.prototype.once = function once(event, fn, context) {
var listener = new EE(fn, context || this, true), evt = prefix ? prefix + event : event;
if (!this._events[evt])
this._events[evt] = listener, this._eventsCount++;
else if (!this._events[evt].fn)
this._events[evt].push(listener);
else
this._events[evt] = [this._events[evt], listener];
return this;
};
EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
var evt = prefix ? prefix + event : event;
if (!this._events[evt])
return this;
if (!fn) {
if (--this._eventsCount === 0)
this._events = new Events;
else
delete this._events[evt];
return this;
}
var listeners = this._events[evt];
if (listeners.fn) {
if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {
if (--this._eventsCount === 0)
this._events = new Events;
else
delete this._events[evt];
}
}
else {
for (var i = 0, events = [], length = listeners.length; i < length; i++) {
if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {
events.push(listeners[i]);
}
}
if (events.length)
this._events[evt] = events.length === 1 ? events[0] : events;
else if (--this._eventsCount === 0)
this._events = new Events;
else
delete this._events[evt];
}
return this;
};
EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
var evt;
if (event) {
evt = prefix ? prefix + event : event;
if (this._events[evt]) {
if (--this._eventsCount === 0)
this._events = new Events;
else
delete this._events[evt];
}
}
else {
this._events = new Events;
this._eventsCount = 0;
}
return this;
};
EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
EventEmitter.prototype.addListener = EventEmitter.prototype.on;
EventEmitter.prototype.setMaxListeners = function setMaxListeners() {
return this;
};
EventEmitter.prefixed = prefix;
EventEmitter.EventEmitter = EventEmitter;
{
module2.exports = EventEmitter;
}
});
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
}
else {
obj[key] = value;
}
return obj;
}
var noop = function noop2() { };
var State = {
data: "state-data",
cdata: "state-cdata",
tagBegin: "state-tag-begin",
tagName: "state-tag-name",
tagEnd: "state-tag-end",
attributeNameStart: "state-attribute-name-start",
attributeName: "state-attribute-name",
attributeNameEnd: "state-attribute-name-end",
attributeValueBegin: "state-attribute-value-begin",
attributeValue: "state-attribute-value"
};
var Action = {
lt: "action-lt",
gt: "action-gt",
space: "action-space",
equal: "action-equal",
quote: "action-quote",
slash: "action-slash",
char: "action-char",
error: "action-error"
};
var Type$1 = {
text: "text",
openTag: "open-tag",
closeTag: "close-tag",
attributeName: "attribute-name",
attributeValue: "attribute-value"
};
var charToAction = {
" ": Action.space,
"\t": Action.space,
"\n": Action.space,
"\r": Action.space,
"<": Action.lt,
">": Action.gt,
'"': Action.quote,
"'": Action.quote,
"=": Action.equal,
"/": Action.slash
};
var getAction = function getAction2(char) {
return charToAction[char] || Action.char;
};
var create$1 = function create2(options) {
var _State$data, _State$tagBegin, _State$tagName, _State$tagEnd, _State$attributeNameS, _State$attributeName, _State$attributeNameE, _State$attributeValue, _State$attributeValue2, _lexer$stateMachine;
options = Object.assign({ debug: false }, options);
var lexer2 = new eventemitter3;
var state = State.data;
var data = "";
var tagName = "";
var attrName = "";
var attrValue = "";
var isClosing = "";
var openingQuote = "";
var emit = function emit2(type, value) {
if (tagName[0] === "?" || tagName[0] === "!") {
return;
}
var event = { type, value };
if (options.debug) {
console.log("emit:", event);
}
lexer2.emit("data", event);
};
lexer2.stateMachine = (_lexer$stateMachine = {}, _defineProperty(_lexer$stateMachine, State.data, (_State$data = {}, _defineProperty(_State$data, Action.lt, function () {
if (data.trim()) {
emit(Type$1.text, data);
}
tagName = "";
isClosing = false;
state = State.tagBegin;
}), _defineProperty(_State$data, Action.char, function (char) {
data += char;
}), _State$data)), _defineProperty(_lexer$stateMachine, State.cdata, _defineProperty({}, Action.char, function (char) {
data += char;
if (data.substr(-3) === "]]>") {
emit(Type$1.text, data.slice(0, -3));
data = "";
state = State.data;
}
})), _defineProperty(_lexer$stateMachine, State.tagBegin, (_State$tagBegin = {}, _defineProperty(_State$tagBegin, Action.space, noop), _defineProperty(_State$tagBegin, Action.char, function (char) {
tagName = char;
state = State.tagName;
}), _defineProperty(_State$tagBegin, Action.slash, function () {
tagName = "";
isClosing = true;
}), _State$tagBegin)), _defineProperty(_lexer$stateMachine, State.tagName, (_State$tagName = {}, _defineProperty(_State$tagName, Action.space, function () {
if (isClosing) {
state = State.tagEnd;
}
else {
state = State.attributeNameStart;
emit(Type$1.openTag, tagName);
}
}), _defineProperty(_State$tagName, Action.gt, function () {
if (isClosing) {
emit(Type$1.closeTag, tagName);
}
else {
emit(Type$1.openTag, tagName);
}
data = "";
state = State.data;
}), _defineProperty(_State$tagName, Action.slash, function () {
state = State.tagEnd;
emit(Type$1.openTag, tagName);
}), _defineProperty(_State$tagName, Action.char, function (char) {
tagName += char;
if (tagName === "![CDATA[") {
state = State.cdata;
data = "";
tagName = "";
}
}), _State$tagName)), _defineProperty(_lexer$stateMachine, State.tagEnd, (_State$tagEnd = {}, _defineProperty(_State$tagEnd, Action.gt, function () {
emit(Type$1.closeTag, tagName);
data = "";
state = State.data;
}), _defineProperty(_State$tagEnd, Action.char, noop), _State$tagEnd)), _defineProperty(_lexer$stateMachine, State.attributeNameStart, (_State$attributeNameS = {}, _defineProperty(_State$attributeNameS, Action.char, function (char) {
attrName = char;
state = State.attributeName;
}), _defineProperty(_State$attributeNameS, Action.gt, function () {
data = "";
state = State.data;
}), _defineProperty(_State$attributeNameS, Action.space, noop), _defineProperty(_State$attributeNameS, Action.slash, function () {
isClosing = true;
state = State.tagEnd;
}), _State$attributeNameS)), _defineProperty(_lexer$stateMachine, State.attributeName, (_State$attributeName = {}, _defineProperty(_State$attributeName, Action.space, function () {
state = State.attributeNameEnd;
}), _defineProperty(_State$attributeName, Action.equal, function () {
emit(Type$1.attributeName, attrName);
state = State.attributeValueBegin;
}), _defineProperty(_State$attributeName, Action.gt, function () {
attrValue = "";
emit(Type$1.attributeName, attrName);
emit(Type$1.attributeValue, attrValue);
data = "";
state = State.data;
}), _defineProperty(_State$attributeName, Action.slash, function () {
isClosing = true;
attrValue = "";
emit(Type$1.attributeName, attrName);
emit(Type$1.attributeValue, attrValue);
state = State.tagEnd;
}), _defineProperty(_State$attributeName, Action.char, function (char) {
attrName += char;
}), _State$attributeName)), _defineProperty(_lexer$stateMachine, State.attributeNameEnd, (_State$attributeNameE = {}, _defineProperty(_State$attributeNameE, Action.space, noop), _defineProperty(_State$attributeNameE, Action.equal, function () {
emit(Type$1.attributeName, attrName);
state = State.attributeValueBegin;
}), _defineProperty(_State$attributeNameE, Action.gt, function () {
attrValue = "";
emit(Type$1.attributeName, attrName);
emit(Type$1.attributeValue, attrValue);
data = "";
state = State.data;
}), _defineProperty(_State$attributeNameE, Action.char, function (char) {
attrValue = "";
emit(Type$1.attributeName, attrName);
emit(Type$1.attributeValue, attrValue);
attrName = char;
state = State.attributeName;
}), _State$attributeNameE)), _defineProperty(_lexer$stateMachine, State.attributeValueBegin, (_State$attributeValue = {}, _defineProperty(_State$attributeValue, Action.space, noop), _defineProperty(_State$attributeValue, Action.quote, function (char) {
openingQuote = char;
attrValue = "";
state = State.attributeValue;
}), _defineProperty(_State$attributeValue, Action.gt, function () {
attrValue = "";
emit(Type$1.attributeValue, attrValue);
data = "";
state = State.data;
}), _defineProperty(_State$attributeValue, Action.char, function (char) {
openingQuote = "";
attrValue = char;
state = State.attributeValue;
}), _State$attributeValue)), _defineProperty(_lexer$stateMachine, State.attributeValue, (_State$attributeValue2 = {}, _defineProperty(_State$attributeValue2, Action.space, function (char) {
if (openingQuote) {
attrValue += char;
}
else {
emit(Type$1.attributeValue, attrValue);
state = State.attributeNameStart;
}
}), _defineProperty(_State$attributeValue2, Action.quote, function (char) {
if (openingQuote === char) {
emit(Type$1.attributeValue, attrValue);
state = State.attributeNameStart;
}
else {
attrValue += char;
}
}), _defineProperty(_State$attributeValue2, Action.gt, function (char) {
if (openingQuote) {
attrValue += char;
}
else {
emit(Type$1.attributeValue, attrValue);
data = "";
state = State.data;
}
}), _defineProperty(_State$attributeValue2, Action.slash, function (char) {
if (openingQuote) {
attrValue += char;
}
else {
emit(Type$1.attributeValue, attrValue);
isClosing = true;
state = State.tagEnd;
}
}), _defineProperty(_State$attributeValue2, Action.char, function (char) {
attrValue += char;
}), _State$attributeValue2)), _lexer$stateMachine);
var step = function step2(char) {
if (options.debug) {
console.log(state, char);
}
var actions = lexer2.stateMachine[state];
var action = actions[getAction(char)] || actions[Action.error] || actions[Action.char];
action(char);
};
lexer2.write = function (str) {
var len = str.length;
for (var i = 0; i < len; i++) {
step(str[i]);
}
};
return lexer2;
};
var lexer = {
State,
Action,
Type: Type$1,
create: create$1
};
var Type = lexer.Type;
var NodeType = {
element: "element",
text: "text"
};
var createNode = function createNode2(params) {
return Object.assign({
name: "",
type: NodeType.element,
value: "",
parent: null,
attributes: {},
children: []
}, params);
};
var create = function create2(options) {
options = Object.assign({
stream: false,
parentNodes: true,
doneEvent: "done",
tagPrefix: "tag:",
emitTopLevelOnly: false,
debug: false
}, options);
var lexer$1 = undefined, rootNode = undefined, current = undefined, attrName = undefined;
var reader2 = new eventemitter3;
var handleLexerData = function handleLexerData2(data) {
switch (data.type) {
case Type.openTag:
if (current === null) {
current = rootNode;
current.name = data.value;
}
else {
var node = createNode({
name: data.value,
parent: current
});
current.children.push(node);
current = node;
}
break;
case Type.closeTag:
var parent = current.parent;
if (!options.parentNodes) {
current.parent = null;
}
if (current.name !== data.value) {
break;
}
if (options.stream && parent === rootNode) {
rootNode.children = [];
current.parent = null;
}
if (!options.emitTopLevelOnly || parent === rootNode) {
reader2.emit(options.tagPrefix + current.name, current);
reader2.emit("tag", current.name, current);
}
if (current === rootNode) {
lexer$1.removeAllListeners("data");
reader2.emit(options.doneEvent, current);
rootNode = null;
}
current = parent;
break;
case Type.text:
if (current) {
current.children.push(createNode({
type: NodeType.text,
value: data.value,
parent: options.parentNodes ? current : null
}));
}
break;
case Type.attributeName:
attrName = data.value;
current.attributes[attrName] = "";
break;
case Type.attributeValue:
current.attributes[attrName] = data.value;
break;
}
};
reader2.reset = function () {
lexer$1 = lexer.create({ debug: options.debug });
lexer$1.on("data", handleLexerData);
rootNode = createNode();
current = null;
attrName = "";
reader2.parse = lexer$1.write;
};
reader2.reset();
return reader2;
};
var parseSync = function parseSync2(xml, options) {
options = Object.assign({}, options, { stream: false, tagPrefix: ":" });
var reader2 = create(options);
var res = undefined;
reader2.on("done", function (ast) {
res = ast;
});
reader2.parse(xml);
return res;
};
var reader = {
parseSync};
var reader_1 = reader.parseSync;
var parseInput = function parseInput2(input) {
var parsed = reader_1("<root>".concat(input, "</root>"), {
parentNodes: false
});
var isValid = parsed.children && parsed.children.length > 0 && parsed.children.every(function (node) {
return node.name === "svg";
});
if (isValid) {
return parsed.children.length === 1 ? parsed.children[0] : parsed.children;
}
else {
throw Error("nothing to parse");
}
};
var camelize = function camelize2(node) {
return deepRenameKeys(node, function (key) {
if (!notCamelcase(key)) {
return toCamelCase(key);
}
return key;
});
};
var toCamelCase = function toCamelCase2(prop) {
return prop.replace(/[-|:]([a-z])/gi, function (all, letter) {
return letter.toUpperCase();
});
};
var notCamelcase = function notCamelcase2(prop) {
return /^(data|aria)(-\w+)/.test(prop);
};
var escapeText = function escapeText2(text) {
if (text) {
var str = String(text);
return /[&<>]/.test(str) ? "<![CDATA[".concat(str.replace(/]]>/, "]]]]><![CDATA[>"), "]]>") : str;
}
return "";
};
var escapeAttr = function escapeAttr2(attr) {
return String(attr).replace(/&/g, "&").replace(/'/g, "'").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">");
};
var svgsonSync = function svgsonSync2(input) {
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref$transformNode = _ref.transformNode, transformNode = _ref$transformNode === undefined ? function (node) {
return node;
} : _ref$transformNode, _ref$camelcase = _ref.camelcase, camelcase = _ref$camelcase === undefined ? false : _ref$camelcase;
var applyFilters = function applyFilters2(input2) {
var n;
n = transformNode(input2);
if (camelcase) {
n = camelize(n);
}
return n;
};
return applyFilters(parseInput(input));
};
function svgson() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return new Promise(function (resolve, reject) {
try {
var res = svgsonSync.apply(undefined, args);
resolve(res);
}
catch (e) {
reject(e);
}
});
}
var stringify = function stringify2(_ast) {
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref$transformAttr = _ref.transformAttr, transformAttr = _ref$transformAttr === undefined ? function (key, value, escape) {
return "".concat(key, '="').concat(escape(value), '"');
} : _ref$transformAttr, _ref$transformNode = _ref.transformNode, transformNode = _ref$transformNode === undefined ? function (node) {
return node;
} : _ref$transformNode, _ref$selfClose = _ref.selfClose, selfClose = _ref$selfClose === undefined ? true : _ref$selfClose;
if (Array.isArray(_ast)) {
return _ast.map(function (ast2) {
return stringify2(ast2, {
transformAttr,
selfClose,
transformNode
});
}).join("");
}
var ast = transformNode(_ast);
if (ast.type === "text") {
return escapeText(ast.value);
}
var attributes = "";
for (var attr in ast.attributes) {
var attrStr = transformAttr(attr, ast.attributes[attr], escapeAttr, ast.name);
attributes += attrStr ? " ".concat(attrStr) : "";
}
return ast.children && ast.children.length > 0 || !selfClose ? "<".concat(ast.name).concat(attributes, ">").concat(stringify2(ast.children, {
transformAttr,
transformNode,
selfClose
}), "</").concat(ast.name, ">") : "<".concat(ast.name).concat(attributes, "/>");
};
var indexUmd = Object.assign({}, {
parse: svgson,
parseSync: svgsonSync,
stringify
});
return indexUmd;
});
});
// ../../work/placement-analysis/node_modules/@tscircuit/alphabet/dist/index.js
var svgAlphabet = {
"0": "M0.301025 0.257813 L0.206593 0.283385 L0.122042 0.361307 L0.075923 0.474441 L0.064942 0.642221 L0.091296 0.78289 L0.159376 0.899463 L0.257104 0.961214 L0.344948 0.961214 L0.442678 0.899463 L0.510757 0.78289 L0.537111 0.642221 L0.526131 0.474441 L0.480012 0.361307 L0.39546 0.283385 L0.301025 0.257813",
"1": "M0.220426 0.40845 L0.381626 0.270996 L0.381626 0.948966",
"2": "M0.110409 0.39212 L0.125621 0.342293 L0.170571 0.295823 L0.244237 0.26431 L0.291518 0.257813 L0.373319 0.263799 L0.434683 0.290705 L0.468239 0.331966 L0.480292 0.379913 L0.479492 0.411806 L0.465088 0.465192 L0.402571 0.568988 L0.245134 0.766438 L0.07959 0.948045 L0.522462 0.948045",
"3": "M0.081606 0.345073 L0.119154 0.315633 L0.178996 0.284091 L0.255265 0.257813 L0.349133 0.263062 L0.43127 0.289348 L0.48994 0.336662 L0.525141 0.394491 L0.513407 0.457577 L0.466472 0.504892 L0.384334 0.541692 L0.290464 0.56272 L0.20833 0.573235 L0.290464 0.583749 L0.384334 0.610035 L0.466472 0.652092 L0.519274 0.709922 L0.531007 0.773007 L0.50754 0.841351 L0.454738 0.899179 L0.3726 0.946494 L0.310412 0.961214 L0.209503 0.959111 L0.127367 0.946494 L0.071046 0.929671",
"4": "M0.418494 0.270996 L0.048828 0.724199 L0.553224 0.724199 M0.414181 0.578167 L0.414181 0.94897",
"5": "M0.074951 0.270996 L0.074951 0.614701 L0.267655 0.5695 L0.405247 0.586502 L0.460002 0.617189 L0.498028 0.660731 L0.527101 0.779401 L0.513352 0.841049 L0.477274 0.889568 L0.406378 0.93463 L0.324445 0.958337 L0.247399 0.962139 L0.182516 0.949767 L0.130068 0.925508 L0.074951 0.875607 M0.074951 0.270996 L0.527101 0.270996",
"6": "M0.428549 0.257813 L0.341433 0.285053 L0.26073 0.312099 L0.192188 0.360182 L0.138902 0.410969 L0.098219 0.500422 L0.070249 0.584267 L0.067264 0.670716 L0.065164 0.756863 L0.087163 0.820973 L0.108168 0.861042 L0.157916 0.913131 L0.210981 0.948192 L0.29279 0.961214 L0.384548 0.956206 L0.456409 0.924151 L0.507262 0.881077 L0.5349 0.821975 L0.537111 0.771889 L0.521634 0.718798 L0.498418 0.67372 L0.463042 0.636657 L0.414398 0.613617 L0.34696 0.598591 L0.28284 0.595587 L0.215403 0.605604 L0.145756 0.641665 L0.109274 0.678729 L0.064942 0.724006",
"7": "M0.071534 0.270996 L0.530519 0.270996 L0.495935 0.291702 L0.477752 0.305407 L0.435186 0.346112 L0.412067 0.374136 L0.388565 0.40796 L0.365315 0.448098 L0.342943 0.495062 L0.322081 0.549366 L0.303364 0.611524 L0.287416 0.68205 L0.270077 0.80465 L0.26253 0.94897",
"8": "M0.286761 0.257813 L0.210684 0.27162 L0.1414 0.305622 L0.092494 0.382125 L0.111513 0.450128 L0.16857 0.502193 L0.228345 0.539382 L0.377781 0.594635 L0.470161 0.645637 L0.52586 0.706203 L0.538087 0.792269 L0.506841 0.87621 L0.438915 0.927212 L0.339743 0.961214 L0.263666 0.959089 L0.174004 0.929337 L0.102003 0.881523 L0.063965 0.811395 L0.066682 0.741266 L0.102003 0.671139 L0.180797 0.608448 L0.259591 0.580822 L0.358762 0.548945 L0.456576 0.49688 L0.486463 0.446941 L0.487822 0.362999 L0.453859 0.302434 L0.384574 0.265245 L0.286761 0.257813",
"9": "M0.511026 0.437812 L0.491026 0.347812 L0.451026 0.297812 L0.391026 0.267812 L0.311026 0.257813 L0.231026 0.267812 L0.161026 0.297812 L0.111026 0.347812 L0.091026 0.417812 L0.111026 0.487812 L0.161026 0.537812 L0.231026 0.567812 L0.311026 0.577812 L0.391026 0.557812 L0.451026 0.517812 L0.491026 0.477812 L0.511026 0.437812 M0.510026 0.438812 L0.434026 0.636812 L0.381026 0.777812 L0.337026 0.879812 L0.301026 0.957812",
"!": "M0.301026 0.270996 L0.301026 0.749566 M0.251466 0.94897 L0.350587 0.94897",
'"': "M0.16504 0.270996 L0.16504 0.523022 M0.437013 0.270996 L0.437013 0.523022",
"#": "M0.20958 0.282227 L0.146515 0.949754 M0.461844 0.282227 L0.398779 0.949754 M0.032999 0.526969 L0.600587 0.452796 M0.001465 0.82366 L0.569055 0.749486",
$: "M0.307121 0.240234 L0.307121 1.083502 M0.490031 0.415915 L0.404676 0.328075 L0.23396 0.310507 L0.136407 0.398347 L0.099828 0.521324 L0.124213 0.591596 L0.197379 0.644299 L0.429061 0.697003 L0.502224 0.749708 L0.526613 0.837547 L0.477836 0.960526 L0.355897 1.013228 L0.197379 0.99566 L0.112021 0.942957 L0.07544 0.837547",
"'": "M0.301026 0.270996 L0.301026 0.523022",
"(": "M0.413087 0.241211 L0.372337 0.28347 L0.331589 0.334184 L0.290838 0.393349 L0.25009 0.460965 L0.219528 0.528584 L0.199153 0.5962 L0.188966 0.655364 L0.199153 0.714529 L0.219528 0.782146 L0.25009 0.849764 L0.290838 0.91738 L0.331589 0.976544 L0.372337 1.027258 L0.413087 1.069491",
")": "M0.188966 0.241211 L0.229716 0.28347 L0.270466 0.334184 L0.311213 0.393349 L0.351964 0.460965 L0.382526 0.528584 L0.4029 0.5962 L0.413087 0.655364 L0.4029 0.714529 L0.382526 0.782146 L0.351964 0.849764 L0.311213 0.91738 L0.270466 0.976544 L0.229716 1.027258 L0.188966 1.069491",
"*": "M0.301026 0.458702 L0.301026 0.681942 M0.301026 0.458702 L0.520997 0.536834 M0.301026 0.458702 L0.439954 0.257813 M0.301026 0.458702 L0.162098 0.257813 M0.301026 0.458702 L0.081055 0.536834",
"+": "M0.042969 0.66845 L0.559083 0.66845 M0.301023 0.428223 L0.301023 0.908661",
",": "M0.38672 0.852051 L0.215333 1.030661 L0.301025 1.119971",
"-": "M0.173829 0.686035 L0.428224 0.686035",
".": "M0.362549 0.851074 L0.239503 0.851074",
"/": "M0.062501 1.035249 L0.539551 0.270996",
"<": "M0.559083 0.441895 L0.042969 0.66939 L0.042969 0.66939 L0.559083 0.896902",
"=": "M0.042969 0.545898 L0.559083 0.545898 M0.042969 0.80837 L0.559083 0.80837",
">": "M0.042969 0.441895 L0.559083 0.66939 L0.559083 0.66939 L0.042969 0.896902",
A: "M0.018067 0.94897 L0.290179 0.270996 L0.583986 0.94897 M0.155303 0.684521 L0.433548 0.684521",
B: "M0.063965 0.94897 L0.063965 0.278953 L0.209356 0.270996 L0.342486 0.294394 L0.432179 0.37292 L0.418224 0.48773 L0.312686 0.549166 L0.084728 0.575531 L0.306377 0.589434 L0.468877 0.647456 L0.538087 0.736658 L0.5324 0.85202 L0.501247 0.902983 L0.42355 0.944398 L0.063965 0.94897",
C: "M0.529054 0.419847 L0.498425 0.345196 L0.442238 0.292341 L0.33583 0.257813 L0.257199 0.268357 L0.187906 0.303748 L0.120243 0.385432 L0.072998 0.599844 L0.110073 0.815385 L0.165381 0.902183 L0.222883 0.942801 L0.334904 0.961214 L0.43253 0.937679 L0.504816 0.868999 L0.529054 0.772065",
D: "M0.064454 0.94897 L0.071838 0.285078 L0.171217 0.270996 L0.247348 0.272633 L0.37101 0.306078 L0.462461 0.378304 L0.514748 0.475555 L0.535591 0.576392 L0.537599 0.652313 L0.528065 0.717381 L0.508562 0.772419 L0.445948 0.855695 L0.362356 0.90871 L0.225203 0.945862 L0.064454 0.94897",
E: "M0.080078 0.270996 L0.080078 0.94897 M0.080078 0.270996 L0.521974 0.270996 M0.080078 0.609981 L0.389405 0.609981 M0.080078 0.94897 L0.521974 0.94897",
F: "M0.086426 0.270996 L0.086426 0.94897 M0.091304 0.275607 L0.515626 0.275607 M0.091304 0.607677 L0.447344 0.607677",
G: "M0.498034 0.284943 L0.374621 0.257813 L0.244219 0.268648 L0.160577 0.311997 L0.094556 0.398116 L0.056397 0.58404 L0.076752 0.785532 L0.120865 0.858197 L0.188947 0.916734 L0.271008 0.953591 L0.357069 0.961214 L0.43715 0.932047 L0.501262 0.858539 L0.545656 0.648611 L0.329595 0.648131",
H: "M0.066895 0.270996 L0.066895 0.94897 M0.066895 0.595658 L0.530009 0.595658 M0.535157 0.270996 L0.535157 0.94897",
I: "M0.301026 0.270996 L0.301026 0.94897",
J: "M0.506839 0.270996 L0.507814 0.782193 L0.498468 0.846168 L0.480733 0.880789 L0.455864 0.90832 L0.426095 0.929408 L0.360746 0.954812 L0.302508 0.962139 L0.223573 0.953638 L0.16538 0.930312 L0.137072 0.907715 L0.116428 0.880312 L0.102822 0.848819 L0.095633 0.813947 L0.094239 0.776413",
K: "M0.035401 0.270996 L0.035401 0.94897 M0.502258 0.316194 L0.035401 0.687823 M0.212484 0.582361 L0.566652 0.933903",
L: "M0.07544 0.270996 L0.07544 0.94897 L0.526613 0.94897",
M: "M0.042481 0.94897 L0.042481 0.270996 L0.301027 0.712492 L0.559571 0.270996 L0.559571 0.94897",
N: "M0.067871 0.94897 L0.067871 0.270996 L0.534181 0.94897 L0.525031 0.270996",
O: "M0.287293 0.961214 L0.19843 0.933567 L0.1172 0.849451 L0.057129 0.563945 L0.114348 0.350255 L0.18455 0.289392 L0.306101 0.257813 L0.42054 0.29572 L0.487543 0.365003 L0.544923 0.625294 L0.516366 0.789624 L0.465476 0.884596 L0.375084 0.949287 L0.287293 0.961214",
P: "M0.070557 0.94897 L0.070557 0.28379 L0.20704 0.270996 L0.329134 0.278993 L0.408525 0.300514 L0.444022 0.317908 L0.500637 0.368929 L0.525796 0.423728 L0.531496 0.50384 L0.508934 0.554205 L0.473724 0.582043 L0.417577 0.604365 L0.336375 0.620372 L0.226014 0.629268 L0.082368 0.630258",
Q: "M0.282435 1.050813 L0.195447 1.019646 L0.115933 0.924817 L0.057129 0.602943 L0.113139 0.362034 L0.18186 0.293418 L0.300844 0.257813 L0.412868 0.300553 L0.478457 0.37866 L0.534625 0.672103 L0.506671 0.857367 L0.456855 0.964437 L0.368371 1.037368 L0.282435 1.050813 M0.341225 0.815559 L0.544923 1.070653",
R: "M0.034912 0.944112 L0.034912 0.288556 L0.227127 0.270996 L0.362038 0.276867 L0.443423 0.294907 L0.477644 0.309614 L0.505809 0.328757 L0.526616 0.352817 L0.544963 0.418061 L0.543241 0.475921 L0.524463 0.517817 L0.49076 0.546518 L0.444265 0.564799 L0.355195 0.578739 L0.047653 0.589627 M0.303054 0.617306 L0.56714 0.94897",
S: "M0.483037 0.364333 L0.407613 0.267477 L0.22883 0.257813 L0.128623 0.327565 L0.087712 0.455539 L0.104656 0.518727 L0.168054 0.573307 L0.41928 0.617318 L0.503796 0.669342 L0.535157 0.759324 L0.493846 0.900055 L0.367668 0.961214 L0.205436 0.956661 L0.116711 0.907038 L0.066895 0.790334",
T: "M0.022949 0.270996 L0.579103 0.270996 M0.309284 0.270996 L0.309284 0.94897",
U: "M0.072022 0.270996 L0.07308 0.648875 L0.080372 0.75167 L0.099024 0.827813 L0.134786 0.885729 L0.181571 0.924023 L0.251464 0.95168 L0.339655 0.962139 L0.401553 0.951668 L0.45232 0.924086 L0.482701 0.891771 L0.495745 0.870529 L0.515699 0.81637 L0.525014 0.744626 L0.530031 0.272017",
V: "M0.027832 0.270996 L0.320083 0.94897 L0.57422 0.270996",
W: "M0 0.270996 L0.079799 0.940377 L0.285198 0.472884 L0.505255 0.94897 L0.602052 0.270996",
X: "M0.009034 0.270996 L0.586805 0.94897 M0.593019 0.270996 L0.015246 0.94897",
Y: "M0.018067 0.270996 L0.293132 0.574135 M0.583986 0.271959 L0.294954 0.57606 L0.305277 0.94897",
Z: "M0.053711 0.270996 L0.548341 0.270996 L0.053711 0.94897 L0.548341 0.94897",
"[": "M0.404542 0.240234 L0.197511 0.240234 L0.197511 1.069424 L0.404542 1.069424",
"\\": "M0.062501 0.270996 L0.539551 1.035249",
"]": "M0.19751 0.240234 L0.404542 0.240234 L0.404542 1.069424 L0.19751 1.069424",
"^": "M0.035156 0.523931 L0.301024 0.270996 L0.566896 0.523931",
_: "M0 1.160601 L0.602052 1.160601",
a: "M0.527101 0.439941 L0.527101 0.973965 M0.527101 0.553824 L0.451366 0.477535 L0.376759 0.439941 L0.263722 0.439941 L0.187989 0.477535 L0.112255 0.553824 L0.074951 0.66881 L0.074951 0.745099 L0.112255 0.85898 L0.187989 0.93527 L0.263722 0.973965 L0.376759 0.973965 L0.451366 0.93527 L0.527101 0.85898",
b: "M0.07666 0.240234 L0.07666 0.959985 M0.07666 0.582737 L0.151822 0.514237 L0.225865 0.480483 L0.338045 0.480483 L0.413211 0.514237 L0.488374 0.582737 L0.525392 0.685983 L0.525392 0.754485 L0.488374 0.856739 L0.413211 0.92524 L0.338045 0.959985 L0.225865 0.959985 L0.151822 0.92524 L0.07666 0.856739",
c: "M0.512452 0.553823 L0.441624 0.477535 L0.371854 0.439941 L0.26614 0.439941 L0.195312 0.477535 L0.124486 0.553823 L0.0896 0.668808 L0.0896 0.745099 L0.124486 0.858979 L0.195312 0.93527 L0.26614 0.973965 L0.371854 0.973965 L0.441624 0.93527 L0.512452 0.858979",
d: "M0.525392 0.240234 L0.525392 0.959985 M0.525392 0.582737 L0.450232 0.514237 L0.376189 0.480483 L0.264006 0.480483 L0.188844 0.514237 L0.11368 0.582737 L0.076661 0.685983 L0.076661 0.754485 L0.11368 0.856739 L0.188844 0.92524 L0.264006 0.959985 L0.376189 0.959985 L0.450232 0.92524 L0.525392 0.856739",
e: "M0.059571 0.668808 L0.542482 0.668808 M0.542482 0.592521 L0.502641 0.516231 L0.461594 0.477535 L0.381914 0.439941 L0.261186 0.439941 L0.180299 0.477535 L0.099412 0.553823 L0.059571 0.668808 L0.059571 0.745099 L0.099412 0.858979 L0.180299 0.93527 L0.261186 0.973965 L0.381914 0.973965 L0.461594 0.93527 L0.542482 0.858979",
f: "M0.512941 0.240234 L0.406984 0.240234 L0.301026 0.274346 L0.248047 0.374731 L0.248047 0.946817 M0.089112 0.476088 L0.459965 0.476088",
g: "M0.525392 0.439941 L0.525392 0.989395 L0.488373 1.091918 L0.45023 1.126757 L0.376189 1.160601 L0.264004 1.160601 L0.188844 1.126757 L0.113681 1.058075 L0.076661 0.954555 M0.525392 0.542467 L0.45023 0.473786 L0.376189 0.439941 L0.264004 0.439941 L0.188844 0.473786 L0.113681 0.542467 L0.076661 0.645988 L0.076661 0.714669 L0.113681 0.817193 L0.188844 0.885875 L0.264004 0.920713 L0.376189 0.920713 L0.45023 0.885875 L0.525392 0.817193",
h: "M0.092041 0.240234 L0.092041 0.946817 M0.092041 0.61058 L0.205937 0.509225 L0.282214 0.476086 L0.396109 0.476086 L0.47187 0.509225 L0.510011 0.61058 L0.510011 0.946817",
i: "M0.261026 0.240234 L0.341026 0.240234 M0.300978 0.476089 L0.300978 0.946817",
j: "M0.3853 0.240234 L0.447023 0.240234 M0.416159 0.465708 L0.416159 1.011689 L0.383887 1.108586 L0.252832 1.140264 L0.15503 1.108586",
k: "M0.065186 0.240234 L0.065186 0.946817 M0.493824 0.476086 L0.065186 0.812323 M0.236758 0.677829 L0.536867 0.946817",
l: "M0.301026 0.234863 L0.301026 0.946441",
m: "M0.050538 0.439941 L0.050538 0.960796 M0.050538 0.588758 L0.114405 0.476607 L0.157178 0.439941 L0.236864 0.439941 L0.279637 0.476607 L0.32241 0.588758 L0.32241 0.960796 M0.32241 0.588758 L0.386281 0.476607 L0.428467 0.439941 L0.50874 0.439941 L0.551515 0.476607 L0.551515 0.960796",
n: "M0.092041 0.439941 L0.092041 0.960796 M0.092041 0.588758 L0.205936 0.476607 L0.282216 0.439941 L0.396113 0.439941 L0.471871 0.476607 L0.510011 0.588758 L0.510011 0.960796",
o: "M0.247175 0.439941 L0.175178 0.477535 L0.103186 0.553823 L0.066895 0.668808 L0.066895 0.745099 L0.103186 0.858979 L0.175178 0.93527 L0.247175 0.973965 L0.354874 0.973965 L0.426872 0.93527 L0.498866 0.858979 L0.535157 0.745099 L0.535157 0.668808 L0.498866 0.553823 L0.426872 0.477535 L0.354874 0.439941 L0.247175 0.439941",
p: "M0.076904 0.439941 L0.076904 1.154244 M0.076904 0.541563 L0.151986 0.473487 L0.225944 0.439941 L0.338005 0.439941 L0.413087 0.473487 L0.488166 0.541563 L0.525148 0.644169 L0.525148 0.712246 L0.488166 0.813866 L0.413087 0.881942 L0.338005 0.916471 L0.225944 0.916471 L0.151986 0.881942 L0.076904 0.813866",
q: "M0.525148 0.441895 L0.525148 1.156195 M0.525148 0.5435 L0.450067 0.47544 L0.376106 0.441895 L0.264042 0.441895 L0.188966 0.47544 L0.113885 0.5435 L0.076905 0.646108 L0.076905 0.714187 L0.113885 0.815809 L0.188966 0.883886 L0.264042 0.918418 L0.376106 0.918418 L0.450067 0.883886 L0.525148 0.815809",
r: "M0.107422 0.439941 L0.107422 0.960796 M0.107422 0.663164 L0.155824 0.551014 L0.252626 0.476607 L0.349428 0.439941 L0.49463 0.439941",
s: "M0.475556 0.477535 L0.400757 0.439941 L0.276092 0.439941 L0.176361 0.477535 L0.101563 0.553823 L0.101563 0.630112 L0.176361 0.668808 L0.301024 0.668808 L0.425688 0.745099 L0.50049 0.821387 L0.50049 0.897677 L0.425688 0.93527 L0.325956 0.973965 L0.201295 0.973965 L0.126496 0.93527 L0.101563 0.858979",
t: "M0.246032 0.297852 L0.246032 0.826549 L0.301023 0.919323 L0.411011 0.950848 L0.520997 0.950848 M0.081055 0.515799 L0.466004 0.515799",
u: "M0.092041 0.454102 L0.092041 0.826134 L0.13018 0.937211 L0.205936 0.974954 L0.319832 0.974954 L0.396113 0.937211 L0.510011 0.826134 M0.510011 0.454102 L0.510011 0.974954",
v: "M0.048828 0.453125 L0.301026 0.961719 M0.553224 0.453125 L0.301026 0.961719",
w: "M0 0.453125 L0.150512 0.961719 M0.301024 0.453125 L0.150512 0.961719 M0.301024 0.453125 L0.451539 0.961719 M0.602052 0.453125 L0.451539 0.961719",
x: "M0.03711 0.453125 L0.564943 0.961719 M0.564943 0.453125 L0.03711 0.961719",
y: "M0.084618 0.453125 L0.320232 0.921476 M0.55713 0.453125 L0.320232 0.921476 L0.242119 1.055289 L0.163369 1.122196 L0.084618 1.155166 L0.044922 1.155166",
z: "M0.505373 0.452148 L0.09668 0.961651 M0.09668 0.452148 L0.505373 0.452148 M0.09668 0.961651 L0.505373 0.961651"
};
var lineAlphabet = {};
for (const letter in svgAlphabet) {
lineAlphabet[letter] = [];
const segs = svgAlphabet[letter].split("M").slice(1).map((seg) => seg.split("L").map((pr) => pr.trim().split(" ").map(parseFloat)));
for (const seg of segs) {
for (let i = 0; i < seg.length - 1; i++) {
lineAlphabet[letter].push({
x1: seg[i][0],
y1: 1 - seg[i][1],
x2: seg[i + 1][0],
y2: 1 - seg[i + 1][1]
});
}
}
}
// ../../work/placement-analysis/node_modules/iobuffer/lib/text.js
new TextEncoder;
(() => {
const array = new Uint8Array(4);
const view = new Uint32Array(array.buffer);
return !((view[0] = 1) & array[0]);
})();
// ../../work/placement-analysis/node_modules/fast-png/lib/helpers/decode_interlace_adam7.js
var uint16 = new Uint16Array([255]);
var uint8 = new Uint8Array(uint16.buffer);
uint8[0] === 255;
// ../../work/placement-analysis/node_modules/fast-png/lib/helpers/decode_interlace_null.js
var uint162 = new Uint16Array([255]);
var uint82 = new Uint8Array(uint162.buffer);
uint82[0] === 255;
// ../../work/placement-analysis/node_modules/fast-png/lib/helpers/text.js
new TextDecoder("latin1");
// ../../work/placement-analysis/node_modules/graphics-debug/dist/chunk-WDTSQY35.js
__toESM(require_svgson_umd());
// ../../work/placement-analysis/node_modules/graphics-debug/dist/chunk-K37Y2KHE.js
var mergeGraphics = (graphics1, graphics2) => {
return {
...graphics1,
rects: [...graphics1.rects ?? [], ...graphics2.rects ?? []],
points: [...graphics1.points ?? [], ...graphics2.points ?? []],
lines: [...graphics1.lines ?? [], ...graphics2.lines ?? []],
infiniteLines: [
...graphics1.infiniteLines ?? [],
...graphics2.infiniteLines ?? []
],
polygons: [...graphics1.polygons ?? [], ...graphics2.polygons ?? []],
circles: [...graphics1.circles ?? [], ...graphics2.circles ?? []],
arrows: [...graphics1.arrows ?? [], ...graphics2.arrows ?? []],
texts: [...graphics1.texts ?? [], ...graphics2.texts ?? []]
};
};
// ../../work/placement-analysis/node_modules/graphics-debug/dist/chunk-OB4CGOL3.js
function setStepOfAllObjects(graphics, step) {
if (graphics.points) {
for (const p of graphics.points) {
p.step = step;
}
}
if (graphics.lines) {
for (const line of graphics.lines) {
line.step = step;
}
}
if (graphics.infiniteLines) {
for (const infiniteLine of graphics.infiniteLines) {
infiniteLine.step = step;
}
}
if (graphics.polygons) {
for (const polygon of graphics.polygons) {
polygon.step = step;
}
}
if (graphics.rects) {
for (const rect of graphics.rects) {
rect.step = step;
}
}
if (graphics.circles) {
for (const circle of graphics.circles) {
circle.step = step;
}
}
if (graphics.texts) {
for (const text of graphics.texts) {
text.step = step;
}
}
return graphics;
}
// ../../work/placement-analysis/node_modules/@tscircuit/solver-utils/dist/index.js
var BaseSolver = class {
MAX_ITERATIONS = 1e5;
solved = false;
failed = false;
iterations = 0;
progress = 0;
error = null;
activeSubSolver;
failedSubSolvers;
timeToSolve;
stats = {};
_setupDone = false;
getSolverName() {
return this.constructor.name;
}
setup() {
if (this._setupDone)
return;
this._setup();
this._setupDone = true;
}
_setup() { }
step() {
if (!this._setupDone) {
this.setup();
}
if (this.solved)
return;
if (this.failed)
return;
this.iterations++;
try {
this._step();
}
catch (e) {
this.error = `${this.getSolverName()} error: ${e}`;
this.failed = true;
throw e;
}
if (!this.solved && this.iterations >= this.MAX_ITERATIONS) {
this.tryFinalAcceptance();
}
if (!this.solved && this.iterations >= this.MAX_ITERATIONS) {
this.error = `${this.getSolverName()} ran out of iterations`;
this.failed = true;
}
if ("computeProgress" in this) {
this.progress = this.computeProgress();
}
}
_step() { }
getConstructorParams() {
throw new Error("getConstructorParams not implemented");
}
getOutput() {
return null;
}
solve() {
const startTime = Date.now();
while (!this.solved && !this.failed) {
this.step();
}
const endTime = Date.now();
this.timeToSolve = endTime - startTime;
}
visualize() {
return {
lines: [],
points: [],
rects: [],
circles: []
};
}
tryFinalAcceptance() { }
preview() {
return {
lines: [],
points: [],
rects: [],
circles: []
};
}
};
function definePipelineStep(solverName, solverClass, getConstructorParams, opts = {}) {
return {
solverName,
solverClass,
getConstructorParams,
onSolved: opts.onSolved
};
}
var BasePipelineSolver = class extends BaseSolver {
startTimeOfStage = {};
endTimeOfStage = {};
timeSpentOnStage = {};
firstIterationOfStage = {};
currentPipelineStageIndex = 0;
inputProblem;
pipelineOutputs = {};
constructor(inputProblem) {
super();
this.inputProblem = inputProblem;
this.MAX_ITERATIONS = 1e6;
}
_step() {
const pipelineStageDef = this.pipelineDef[this.currentPipelineStageIndex];
if (!pipelineStageDef) {
this.solved = true;
return;
}
if (this.activeSubSolver) {
this.activeSubSolver.step();
if (this.activeSubSolver.solved) {
this.endTimeOfStage[pipelineStageDef.solverName] = performance.now();
this.timeSpentOnStage[pipelineStageDef.solverName] = this.endTimeOfStage[pipelineStageDef.solverName] - this.startTimeOfStage[pipelineStageDef.solverName];
const output = this.activeSubSolver.getOutput();
if (output !== null) {
this.pipelineOutputs[pipelineStageDef.solverName] = output;
}
pipelineStageDef.onSolved?.(this);
this.activeSubSolver = null;
this.currentPipelineStageIndex++;
}
else if (this.activeSubSolver.failed) {
this.error = this.activeSubSolver?.error;
this.failed = true;
this.activeSubSolver = null;
}
return;
}
const constructorParams = pipelineStageDef.getConstructorParams(this);
this.activeSubSolver = new pipelineStageDef.solverClass(...constructorParams);
this[pipelineStageDef.solverName] = this.activeSubSolver;
this.timeSpentOnStage[pipelineStageDef.solverName] = 0;
this.startTimeOfStage[pipelineStageDef.solverName] = performance.now();
this.firstIterationOfStage[pipelineStageDef.solverName] = this.iterations;
}
solveUntilStage(stageName) {
while (this.getCurrentStageName().toLowerCase() !== stageName.toLowerCase()) {
this.step();
if (this.failed || this.solved)
break;
}
}
getCurrentStageName() {
return this.pipelineDef[this.currentPipelineStageIndex]?.solverName ?? "none";
}
getStageProgress() {
const totalStages = this.pipelineDef.length;
if (totalStages === 0)
return 1;
const currentStageProgress = this.activeSubSolver?.progress ?? 0;
return (this.currentPipelineStageIndex + currentStageProgress) / totalStages;
}
getStageStats() {
const stats = {};
for (const stage of this.pipelineDef) {
const timeSpent = this.timeSpentOnStage[stage.solverName] || 0;
const firstIteration = this.firstIterationOfStage[stage.solverName] || 0;
const currentIteration = this.iterations;
const iterations = stage.solverName === this.getCurrentStageName() ? currentIteration - firstIteration : 0;
const completed = this.currentPipelineStageIndex > this.pipelineDef.findIndex((s) => s.solverName === stage.solverName);
stats[stage.solverName] = {
timeSpent,
iterations,
completed
};
}
return stats;
}
initialVisualize() {
return null;
}
finalVisualize() {
return null;
}
visualize() {
if (!this.solved && this.activeSubSolver) {
return this.activeSubSolver.visualize();
}
let stageStepOffset = 0;
const initialVisualization = this.initialVisualize();
if (initialVisualization) {
setStepOfAllObjects(initialVisualization, 0);
stageStepOffset = 1;
}
let finalVisualization = null;
if (this.solved) {
finalVisualization = this.finalVisualize();
}
const visualizations = [initialVisualization].filter(Boolean).concat(this.pipelineDef.map((stage, stageIndex) => {
const solver = this[stage.solverName];
const viz = solver?.visualize();
if (!viz)
return null;
setStepOfAllObjects(viz, stageIndex + stageStepOffset);
return viz;
}).filter(Boolean));
if (visualizations.length === 0) {
return { points: [], rects: [], lines: [], circles: [], texts: [] };
}
if (this.solved && finalVisualization) {
setStepOfAllObjects(finalVisualization, visualizations.length + stageStepOffset + 1);
visualizations.push(finalVisualization);
}
if (visualizations.length === 1) {
return visualizations[0];
}
return {
points: visualizations.flatMap((v) => v.points || []),
rects: visualizations.flatMap((v) => v.rects || []),
lines: visualizations.flatMap((v) => v.lines || []),
circles: visualizations.flatMap((v) => v.circles || []),
texts: visualizations.flatMap((v) => v.texts || [])
};
}
preview() {
if (this.activeSubSolver) {
return this.activeSubSolver.preview();
}
return super.preview();
}
computeProgress() {
return this.getStageProgress();
}
getStageOutput(stageOutput) {
return this.pipelineOutputs[stageOutput];
}
getAllOutputs() {
return { ...this.pipelineOutputs };
}
hasStageOutput(stageName) {
return stageName in this.pipelineOutputs;
}
getSolver(stageName) {
return this[stageName];
}
};
// ../../work/placement-analysis/lib/utils/source-connectivity.ts
function getSourceConnectivity(circuitJson) {
const parent = new Map;
const find = (id) => {
const next = parent.get(id);
if (next === undefined || next === id)
return id;
const root = find(next);
parent.set(id, root);
return root;
};
const join = (ids) => {
const first = ids[0];
if (!first)
return;
const root = find(first);
for (const id of ids.slice(1))
parent.set(find(id), root);
};
for (const element of circuitJson) {
if (element.type === "source_port" || element.type === "source_net") {
const id = element.type === "source_port" ? element.source_port_id : element.source_net_id;
if (element.subcircuit_connectivity_map_key)
join([id, `connectivity:${element.subcircuit_connectivity_map_key}`]);
}
if (element.type === "source_trace") {
join([
...element.connected_source_port_ids,
...element.connected_source_net_ids,
...element.subcircuit_connectivity_map_key ? [`connectivity:${element.subcircuit_connectivity_map_key}`] : []
]);
}
if (element.type === "source_component_internal_connection")
join(element.source_port_ids);
if (element.type === "source_component") {
for (const ids of element.internally_connected_source_port_ids ?? [])
join(ids);
}
}
return find;
}
// ../../work/placement-analysis/lib/utils/placement-network-index.ts
class PlacementNetworkIndex {
connected;
components = new Map;
portsByComponent = new Map;
portsByNet = new Map;
powerNets = new Set;
groundNets = new Set;
placements = new Map;
schematicComponents = new Map;
schematicPorts = new Map;
constructor(ctx) {
this.connected = getSourceConnectivity(ctx.circuitJson);
for (const placement of ctx.componentPlacements) {
if (placement.sourceComponentId)
append(this.placements, placement.sourceComponentId, placement);
}
for (const element of ctx.circuitJson) {
if (element.type === "source_component")
this.components.set(element.source_component_id, element);
if (element.type === "source_port" && element.source_component_id) {
append(this.portsByComponent, element.source_component_id, element);
append(this.portsByNet, this.connected(element.source_port_id), element);
}
if (element.type === "source_net") {
const net = this.connected(element.source_net_id);
if (element.is_power || element.is_positive_voltage_source)
this.powerNets.add(net);
if (element.is_ground)
this.groundNets.add(net);
}
if (element.type === "schematic_component")
this.schematicComponents.set(element.schematic_component_id, element);
if (element.type === "schematic_port" && element.source_port_id)
append(this.schematicPorts, element.source_port_id, element);
}
}
placement(componentId) {
const placements = this.placements.get(componentId);
return placements?.length === 1 ? placements[0] : undefined;
}
port(sourcePort) {
const placement = this.placement(sourcePort.source_component_id);
const ports = this.schematicPorts.get(sourcePort.source_port_id)?.filter((port) => port.schematic_component_id === placement?.schematicComponentId);
return ports?.length === 1 ? ports[0] : undefined;
}
namedPort(componentId, name) {
const ports = this.portsByComponent.get(componentId)?.filter((port) => port.name === name || port.port_hints?.includes(name));
return ports?.length === 1 ? ports[0] : undefined;
}
twoTerminalNets(componentId) {
const ports = this.portsByComponent.get(componentId);
if (ports?.length !== 2)
return;
const first = this.connected(ports[0].source_port_id);
const second = this.connected(ports[1].source_port_id);
if (first !== second)
return [first, second];
}
isRail(net) {
return this.powerNets.has(net) || this.groundNets.has(net);
}
isDirectOpAmpFeedback(componentId) {
const nets = this.twoTerminalNets(componentId);
if (!nets || nets.some((net) => this.isRail(net)))
return false;
return nets.some((net) => (this.portsByNet.get(net) ?? []).some((port) => {
const hostId = port.source_component_id;
if (this.components.get(hostId)?.ftype !== "simple_op_amp")
return false;
const output = this.namedPort(hostId, "output");
if (output?.source_port_id !== port.source_port_id)
return false;
return ["inverting_input", "non_inverting_input"].some((name) => {
const input = this.namedPort(hostId, name);
if (!input)
return false;
const inputNet = this.connected(input.source_port_id);
return inputNet !== net && nets.includes(inputNet);
});
}));
}
sameLocalScope(first, second) {
if (first.schematicSheetId !== second.schematicSheetId || first.subcircuitId !== second.subcircuitId)
return false;
const a = this.schematicComponents.get(first.schematicComponentId ?? "");
const b = this.schematicComponents.get(second.schematicComponentId ?? "");
if (!a || !b || a.schematic_group_id !== b.schematic_group_id)
return false;
const firstSource = this.components.get(first.sourceComponentId ?? "");
const secondSource = this.components.get(second.sourceComponentId ?? "");
return firstSource?.source_group_id === secondSource?.source_group_id && firstSource?.subcircuit_id === secondSource?.subcircuit_id;
}
}
function append(map, key, value) {
const values = map.get(key);
if (values)
values.push(value);
else
map.set(key, [value]);
}
// ../../work/placement-analysis/lib/utils/format.ts
var fmtNumber = (value) => {
if (Number.isInteger(value))
return String(value);
return value.toFixed(3).replace(/\.0+$/, "").replace(/(\.\d*?)0+$/, "$1");
};
var fmtDelta = (value) => {
const formatted = fmtNumber(value);
return value > 0 ? `+${formatted}` : formatted;
};
var escapeAttr = (value) => value.replaceAll("&", "&").replaceAll('"', """).replaceAll("<", "<").replaceAll(">", ">");
var addAttr = (attrs, key, value, options) => {
if (value === undefined)
return;
const stringValue = typeof value === "number" ? options?.formatDelta ? fmtDelta(value) : fmtNumber(value) : escapeAttr(value);
attrs.push(`${key}="${stringValue}"`);
};
// ../../work/placement-analysis/lib/solvers/FourPinCrystalPatternSolver/FourPinCrystalPatternSolver.ts
class FourPinCrystalPatternSolver extends BaseSolver {
input;
constructor(input) {
super();
this.input = input;
}
_step() {
const { ctx, issues } = this.input;
const index = new PlacementNetworkIndex(ctx);
for (const component of index.components.values()) {
if (component.ftype !== "simple_crystal")
continue;
const id = component.source_component_id;
const ports = index.portsByComponent.get(id) ?? [];
if (ports.length !== 4)
continue;
const ground = ports.filter((p) => index.groundNets.has(index.connected(p.source_port_id)));
const signals = ports.filter((p) => !ground.includes(p));
if (ground.length !== 2 || signals.length !== 2)
continue;
const groundNet = index.connected(ground[0].source_port_id);
if (index.connected(ground[1].source_port_id) !== groundNet)
continue;
const signalNets = signals.map((p) => index.connected(p.source_port_id));
if (signalNets[0] === signalNets[1])
continue;
const loads = signalNets.map((net) => [...index.components.values()].filter((c) => {
if (c.ftype !== "simple_capacitor")
return false;
const nets = index.twoTerminalNets(c.source_component_id);
return nets?.includes(net) && nets.includes(groundNet);
}));
if (loads.some((c) => c.length !== 1) || loads[0][0] === loads[1][0])
continue;
const resistors = [...index.components.values()].filter((c) => {
if (c.ftype !== "simple_resistor")
return false;
const nets = index.twoTerminalNets(c.source_component_id);
return nets && nets.filter((n) => signalNets.includes(n)).length === 1 && !nets.some((n) => index.isRail(n));
});
if (resistors.length !== 1)
continue;
const resistor = resistors[0];
const resistorNets = index.twoTerminalNets(resistor.source_component_id);
const bottomIndex = signalNets.findIndex((n) => resistorNets.includes(n));
const topIndex = 1 - bottomIndex;
const crystal = index.placement(id);
const ids = [
id,
loads[topIndex][0].source_component_id,
loads[bottomIndex][0].source_component_id,
resistor.source_component_id
];
const placements = ids.map((id2) => index.placement(id2));
if (!crystal || placements.some((p) => !p || p.schematicSheetId !== crystal.schematicSheetId))
continue;
if (ids.some((id2) => (index.portsByComponent.get(id2) ?? []).some((p) => !index.port(p))))
continue;
const { schX: x, schY: y } = crystal;
const halfHeight = Math.max(0.6, Math.max(crystal.width, crystal.height) / 2);
const span = halfHeight + 1;
const left = x - Math.max(2, placements[1].width + 1, placements[2].width + 1);
const right = x + Math.max(2, placements[3].width + 1);
const portTarget = (p, px, py) => ({
sourcePortId: p.source_port_id,
pinNumber: p.pin_number,
newSchX: round(px),
newSchY: round(py)
});
const top = signals[topIndex], bottom = signals[bottomIndex];
const a = index.port(top), b = index.port(bottom);
const crystalRotation = angleDelta(90 - Math.atan2(a.center.y - b.center.y, a.center.x - b.center.x) * 180 / Math.PI);
const radians = crystalRotation * Math.PI / 180;
const rotatedPin = (p) => {
const current = index.port(p).center;
const dx = current.x - x, dy = current.y - y;
return portTarget(p, x + dx * Math.cos(radians) - dy * Math.sin(radians), y + dx * Math.sin(radians) + dy * Math.cos(radians));
};
const targets = [
{
schematicBox: crystal,
newSchX: x,
newSchY: y,
deltaSchRotation: crystalRotation,
pins: [
top,
bottom,
...ground.toSorted((a2, b2) => (a2.pin_number ?? 0) - (b2.pin_number ?? 0))
].map(rotatedPin)
}
];
const addPassive = (componentId, cx, cy, rightNet) => {
const pp = index.portsByComponent.get(componentId);
const rightPort = pp.find((p) => index.connected(p.source_port_id) === rightNet);
const leftPort = pp.find((p) => p !== rightPort);
const rp = index.port(rightPort), lp = index.port(leftPort);
const halfWidth = Math.hypot(rp.center.x - lp.center.x, rp.center.y - lp.center.y) / 2;
targets.push({
schematicBox: index.placement(componentId),
newSchX: round(cx),
newSchY: round(cy),
deltaSchRotation: angleDelta(-Math.atan2(rp.center.y - lp.center.y, rp.center.x - lp.center.x) * 180 / Math.PI),
pins: [
portTarget(leftPort, cx - halfWidth, cy),
portTarget(rightPort, cx + halfWidth, cy)
]
});
};
addPassive(ids[1], left, y + span, signalNets[topIndex]);
addPassive(ids[2], left, y - span, signalNets[bottomIndex]);
addPassive(ids[3], right, y - span, resistorNets.find((n) => !signalNets.includes(n)));
const matches = targets.every((t) => Math.abs(t.newSchX - t.schematicBox.schX) <= 0.1 && Math.abs(t.newSchY - t.schematicBox.schY) <= 0.1 && Math.abs(t.deltaSchRotation) <= 1 && t.pins.every((p) => {
const actual = index.port(index.portsByComponent.get(t.schematicBox.sourceComponentId).find((s) => s.source_port_id === p.sourcePortId));
return Math.abs(actual.center.x - p.newSchX) <= 0.1 && Math.abs(actual.center.y - p.newSchY) <= 0.1;
}));
if (matches)
continue;
const moves = targets.map((t) => `${t.schematicBox.sourceComponentName ?? t.schematicBox.sourceComponentId}: schX=${t.newSchX}, schY=${t.newSchY}, rotate by ${t.deltaSchRotation} degrees`);
const pinInstructions = targets[0].pins.map((p) => `pin ${p.pinNumber ?? p.sourcePortId} at (${p.newSchX}, ${p.newSchY})`).join("; ");
issues.push({
lineItemType: "FourPinCrystalPatternMismatch",
crystalSchematicBox: crystal,
suggestedPlacements: targets,
message: `Arrange the four-pin crystal vertically, both load capacitors horizontally to its left (one above and one below), and the series resistor horizontally to its lower right. ${moves.join("; ")}. Crystal ${pinInstructions}. Keep the grounded case pins on opposite sides of the crystal, each connected to GND. Connect the capacitor ground ends to a left-hand ground bus, capacitor signal ends to the corresponding top/bottom crystal signals, and the resistor from the bottom signal toward the external oscillator connection. Rotations are relative to the current symbols; positive is counterclockwise.`
});
}
this.solved = true;
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "crystalName", issue.crystalSchematicBox.sourceComponentName);
addAttr(attrs, "message", issue.message);
return `<FourPinCrystalPatternMismatch ${attrs.join(" ")} />`;
}
}
var round = (n) => Math.round(n * 100) / 100;
var angleDelta = (n) => round(((n + 180) % 360 + 360) % 360 - 180);
// ../../work/placement-analysis/lib/solvers/ChipPinPairCapacitorPlacementSolver/ChipPinPairCapacitorPlacementSolver.ts
class ChipPinPairCapacitorPlacementSolver extends BaseSolver {
params;
index;
capacitorIds;
unpopulated = new Set;
currentIndex = 0;
constructor(params) {
super();
this.params = params;
this.index = new PlacementNetworkIndex(params.ctx);
for (const element of params.ctx.circuitJson)
if (element.type === "pcb_component" && element.do_not_place)
this.unpopulated.add(element.source_component_id);
this.capacitorIds = [...this.index.components.values()].filter((component) => component.ftype === "simple_capacitor").map((component) => component.source_component_id);
this.solved = this.capacitorIds.length === 0;
}
_step() {
const capacitorId = this.capacitorIds[this.currentIndex++];
this.solved = this.currentIndex >= this.capacitorIds.length;
if (!capacitorId || this.unpopulated.has(capacitorId))
return;
const index = this.index;
const component = index.components.get(capacitorId);
const capacitor = index.placement(capacitorId);
const capacitorPorts = index.portsByComponent.get(capacitorId) ?? [];
const nets = index.twoTerminalNets(capacitorId);
if (component?.ftype !== "simple_capacitor" || !Number.isFinite(component.capacitance) || component.capacitance <= 0 || !capacitor || !nets || nets.some((net) => index.isRail(net)) || capacitorPorts.some((port) => port.do_not_connect || hasSupplyRole(port)))
return;
const peers = nets.map((net) => {
const members = index.portsByNet.get(net) ?? [];
if (members.length !== 2)
return;
return members.find((port) => port.source_component_id !== capacitorId);
});
const [first, second] = peers;
if (!first || !second || first.source_component_id !== second.source_component_id || first.do_not_connect || second.do_not_connect || hasSupplyRole(first) || hasSupplyRole(second))
return;
const hostId = first.source_component_id;
const host = index.placement(hostId);
if (index.components.get(hostId)?.ftype !== "simple_chip" || this.unpopulated.has(hostId) || !host || !index.sameLocalScope(host, capacitor))
return;
const chipPorts = [first, second];
const pins = chipPorts.map((port) => index.port(port));
const capPins = capacitorPorts.map((port) => index.port(port));
if ([...pins, ...capPins].some((pin) => !pin || pin.schematic_sheet_id !== host.schematicSheetId || !Number.isFinite(pin.center.x) || !Number.isFinite(pin.center.y)) || [host, capacitor].some((box) => ![box.schX, box.schY, box.width, box.height].every(Number.isFinite) || box.width <= 0 || box.height <= 0))
return;
const firstPin = pins[0], secondPin = pins[1];
const side = firstPin.facing_direction;
if (!side || side !== secondPin.facing_direction)
return;
const horizontal = side === "left" || side === "right";
const sign = side === "left" || side === "down" ? -1 : 1;
const pinSpan = Math.hypot(firstPin.center.x - secondPin.center.x, firstPin.center.y - secondPin.center.y);
if (pinSpan < 0.01)
return;
const oppositeDistance = -sign * (horizontal ? capacitor.schX - host.schX : capacitor.schY - host.schY);
const halfBodies = horizontal ? (host.width + capacitor.width) / 2 : (host.height + capacitor.height) / 2;
if (oppositeDistance <= halfBodies + 0.2)
return;
const maxPinDistance = Math.max(...pins.map((pin, i) => Math.hypot(pin.center.x - capPins[i].center.x, pin.center.y - capPins[i].center.y)));
const maxRecommendedPinDistance = Math.max(4, 3 * Math.max(capacitor.width, capacitor.height), 2 * pinSpan);
if (maxPinDistance <= maxRecommendedPinDistance)
return;
this.params.issues.push({
lineItemType: "CapacitorSeparatedFromChipPins",
hostSchematicBox: host,
capacitorSchematicBox: capacitor,
chipSourcePortIds: [
chipPorts[0].source_port_id,
chipPorts[1].source_port_id
],
maxPinDistance,
maxRecommendedPinDistance,
message: `Place ${capacitor.sourceComponentName ?? capacitorId} beside its two connected pins on the ${side} side of ${host.sourceComponentName ?? hostId} so their connections can be read together. Preserve pin connections, leave room for labels, and reroute affected traces; exact alignment is not required.`
});
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "hostComponentName", issue.hostSchematicBox.sourceComponentName);
addAttr(attrs, "capacitorName", issue.capacitorSchematicBox.sourceComponentName);
addAttr(attrs, "maxPinDistance", issue.maxPinDistance);
addAttr(attrs, "maxRecommendedPinDistance", issue.maxRecommendedPinDistance);
addAttr(attrs, "message", issue.message);
return `<CapacitorSeparatedFromChipPins ${attrs.join(" ")} />`;
}
}
function hasSupplyRole(port) {
return Boolean(port.requires_power || port.provides_power || port.requires_ground || port.provides_ground || port.requires_voltage !== undefined || port.provides_voltage !== undefined);
}
// ../../work/placement-analysis/lib/solvers/PiFilterPlacementSolver/PiFilterPlacementSolver.ts
class PiFilterPlacementSolver extends BaseSolver {
params;
index;
inductorIds;
unpopulated = new Set;
currentIndex = 0;
constructor(params) {
super();
this.params = params;
this.index = new PlacementNetworkIndex(params.ctx);
for (const e of params.ctx.circuitJson)
if (e.type === "pcb_component" && e.do_not_place)
this.unpopulated.add(e.source_component_id);
for (const e of params.ctx.circuitJson)
if (e.type === "pcb_component" && !e.do_not_place)
this.unpopulated.delete(e.source_component_id);
this.inductorIds = [...this.index.components.values()].filter((c) => c.ftype === "simple_inductor" && !this.unpopulated.has(c.source_component_id)).map((c) => c.source_component_id);
this.solved = this.inductorIds.length === 0;
}
_step() {
const id = this.inductorIds[this.currentIndex++];
this.solved = this.currentIndex >= this.inductorIds.length;
if (!id)
return;
const index = this.index;
const inductor = this.localPart(id);
const nets = index.twoTerminalNets(id);
if (!inductor || !nets || nets.some((net) => index.isRail(net)))
return;
const branches = nets.map((net) => {
const peers = index.portsByNet.get(net) ?? [];
if (peers.some((p) => p.source_component_id !== id && !this.unpopulated.has(p.source_component_id) && index.components.get(p.source_component_id)?.ftype === "simple_inductor"))
return;
const capacitors = peers.filter((p) => {
const c = index.components.get(p.source_component_id);
const capNets = index.twoTerminalNets(p.source_component_id);
return c?.ftype === "simple_capacitor" && !this.unpopulated.has(p.source_component_id) && capNets?.some((n) => n !== net && index.groundNets.has(n));
});
if (capacitors.length !== 1)
return;
const capacitorPort = capacitors[0];
const component = index.components.get(capacitorPort.source_component_id);
if (component.ftype !== "simple_capacitor" || !Number.isFinite(component.capacitance) || component.capacitance <= 0)
return;
const capacitor = this.localPart(capacitorPort.source_component_id);
if (!capacitor || !index.sameLocalScope(inductor.placement, capacitor.placement))
return;
const capPin = index.port(capacitorPort);
const seriesPin = index.port(inductor.ports.find((p) => index.connected(p.source_port_id) === net));
return {
placement: capacitor.placement,
ground: index.twoTerminalNets(capacitorPort.source_component_id).find((n) => n !== net),
distance: Math.hypot(capPin.center.x - seriesPin.center.x, capPin.center.y - seriesPin.center.y)
};
});
const [first, second] = branches;
if (!first || !second || first.ground !== second.ground)
return;
const placements = [inductor.placement, first.placement, second.placement];
const maxRecommendedSignalPinDistance = Math.max(4, ...placements.map((p) => 3 * Math.max(p.width, p.height)));
const maxSignalPinDistance = Math.max(first.distance, second.distance);
if (maxSignalPinDistance <= maxRecommendedSignalPinDistance)
return;
const name = (p) => p.sourceComponentName ?? p.sourceComponentId;
this.params.issues.push({
lineItemType: "PiFilterComponentsNotGrouped",
inductorSchematicBox: inductor.placement,
firstCapacitorSchematicBox: first.placement,
secondCapacitorSchematicBox: second.placement,
maxSignalPinDistance,
maxRecommendedSignalPinDistance,
message: `Group ${name(first.placement)} and ${name(second.placement)} beside the connected ends of ${name(inductor.placement)} so the series path and both grounded branches of the pi filter can be read together. Preserve pin connections, allow room for labels, and reroute affected traces.`
});
}
localPart(id) {
const placement = this.index.placement(id);
const ports = this.index.portsByComponent.get(id);
if (!placement || ports?.length !== 2 || ports.some((p) => {
const pin = this.index.port(p);
return p.do_not_connect || !pin || pin.schematic_sheet_id !== placement.schematicSheetId || !Number.isFinite(pin.center.x) || !Number.isFinite(pin.center.y);
}))
return;
return { placement, ports };
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "inductorName", issue.inductorSchematicBox.sourceComponentName);
addAttr(attrs, "firstCapacitorName", issue.firstCapacitorSchematicBox.sourceComponentName);
addAttr(attrs, "secondCapacitorName", issue.secondCapacitorSchematicBox.sourceComponentName);
addAttr(attrs, "maxSignalPinDistance", issue.maxSignalPinDistance);
addAttr(attrs, "maxRecommendedSignalPinDistance", issue.maxRecommendedSignalPinDistance);
addAttr(attrs, "message", issue.message);
return `<PiFilterComponentsNotGrouped ${attrs.join(" ")} />`;
}
}
// ../../work/placement-analysis/lib/solvers/MosfetGateNetworkPlacementSolver/MosfetGateNetworkPlacementSolver.ts
class MosfetGateNetworkPlacementSolver extends BaseSolver {
params;
index;
mosfetIds;
currentIndex = 0;
constructor(params) {
super();
this.params = params;
this.index = new PlacementNetworkIndex(params.ctx);
this.mosfetIds = [...this.index.components.keys()].filter((id) => this.mosfetPorts(id));
this.solved = this.mosfetIds.length === 0;
}
_step() {
const id = this.mosfetIds[this.currentIndex++];
this.solved = this.currentIndex >= this.mosfetIds.length;
if (!id)
return;
const index = this.index;
const mosfet = index.placement(id);
const roles = this.mosfetPorts(id);
if (!mosfet)
return;
const gateNet = index.connected(roles.gate.source_port_id);
const sourceNet = index.connected(roles.sources[0].source_port_id);
const drainNet = index.connected(roles.drains[0].source_port_id);
if (new Set([gateNet, sourceNet, drainNet]).size !== 3 || index.isRail(gateNet))
return;
if ([roles.gate, ...roles.sources, ...roles.drains].some((p) => {
const pin = index.port(p);
return !pin || pin.schematic_sheet_id !== mosfet.schematicSheetId;
}))
return;
const peers = (index.portsByNet.get(gateNet) ?? []).filter((p) => p.source_component_id !== id);
if (peers.length !== 2)
return;
const resistors = peers.map((p) => {
const resistorId = p.source_component_id;
const component = index.components.get(resistorId);
const placement = index.placement(resistorId);
const nets = index.twoTerminalNets(resistorId);
if (component?.ftype !== "simple_resistor" || !Number.isFinite(component.resistance) || component.resistance <= 0 || !placement || !nets || !index.sameLocalScope(mosfet, placement) || index.portsByComponent.get(resistorId).some((port) => {
const pin = index.port(port);
return port.do_not_connect || !pin || pin.schematic_sheet_id !== mosfet.schematicSheetId;
}))
return;
return { placement, otherNet: nets.find((net) => net !== gateNet) };
});
if (resistors.some((r) => !r))
return;
const shunts = resistors.filter((r) => r.otherNet === sourceNet);
const series = resistors.filter((r) => r.otherNet !== sourceNet);
if (shunts.length !== 1 || series.length !== 1)
return;
const gateSourceResistor = shunts[0].placement;
const seriesGateResistor = series[0].placement;
if (series[0].otherNet === drainNet || index.isRail(series[0].otherNet))
return;
const maxRecommendedBodyGap = Math.max(6, 3 * Math.max(mosfet.width, mosfet.height));
const maxBodyGap = Math.max(bodyGap(mosfet, seriesGateResistor), bodyGap(mosfet, gateSourceResistor));
if (maxBodyGap <= maxRecommendedBodyGap)
return;
this.params.issues.push({
lineItemType: "MosfetGateNetworkNotGrouped",
mosfetSchematicBox: mosfet,
seriesGateResistorSchematicBox: seriesGateResistor,
gateSourceResistorSchematicBox: gateSourceResistor,
maxBodyGap,
maxRecommendedBodyGap,
message: `Group ${seriesGateResistor.sourceComponentName ?? seriesGateResistor.sourceComponentId} and ${gateSourceResistor.sourceComponentName ?? gateSourceResistor.sourceComponentId} beside ${mosfet.sourceComponentName ?? id}'s gate/source pins so the gate-drive branch can be read together. Preserve all pin connections, leave room for labels, and reroute affected traces.`
});
}
mosfetPorts(id) {
const type = this.index.components.get(id)?.ftype;
if (type !== "simple_mosfet" && type !== "simple_chip")
return;
const ports = this.index.portsByComponent.get(id) ?? [];
const gate = ports.filter((p) => hasRole(p, /^(G|GATE)$/));
const sources = ports.filter((p) => hasRole(p, /^(S|SOURCE)[0-9]*$/));
const drains = ports.filter((p) => hasRole(p, /^(D|DRAIN)[0-9]*$/));
if (gate.length !== 1 || !sources.length || !drains.length || gate.length + sources.length + drains.length !== ports.length || new Set([...gate, ...sources, ...drains]).size !== ports.length || ports.some((p) => p.do_not_connect))
return;
for (const group of [sources, drains])
if (new Set(group.map((p) => this.index.connected(p.source_port_id))).size !== 1)
return;
return { gate: gate[0], sources, drains };
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "mosfetName", issue.mosfetSchematicBox.sourceComponentName);
addAttr(attrs, "seriesGateResistorName", issue.seriesGateResistorSchematicBox.sourceComponentName);
addAttr(attrs, "gateSourceResistorName", issue.gateSourceResistorSchematicBox.sourceComponentName);
addAttr(attrs, "maxBodyGap", issue.maxBodyGap);
addAttr(attrs, "maxRecommendedBodyGap", issue.maxRecommendedBodyGap);
addAttr(attrs, "message", issue.message);
return `<MosfetGateNetworkNotGrouped ${attrs.join(" ")} />`;
}
}
function hasRole(port, pattern) {
return [port.name, ...port.port_hints ?? []].some((hint) => pattern.test(hint.toUpperCase().replace(/[\s_]/g, "")));
}
function bodyGap(a, b) {
return Math.hypot(Math.max(0, Math.abs(a.schX - b.schX) - (a.width + b.width) / 2), Math.max(0, Math.abs(a.schY - b.schY) - (a.height + b.height) / 2));
}
// ../../work/placement-analysis/lib/solvers/RelayFlybackDiodePlacementSolver/RelayFlybackDiodePlacementSolver.ts
class RelayFlybackDiodePlacementSolver extends BaseSolver {
params;
index;
relayIds;
currentIndex = 0;
constructor(params) {
super();
this.params = params;
this.index = new PlacementNetworkIndex(params.ctx);
this.relayIds = [...this.index.components.keys()].filter((id) => this.coilPorts(id));
this.solved = this.relayIds.length === 0;
}
_step() {
const relayId = this.relayIds[this.currentIndex++];
this.solved = this.currentIndex >= this.relayIds.length;
if (!relayId)
return;
const index = this.index;
const relay = index.placement(relayId);
const coil = this.coilPorts(relayId);
if (!relay || coil.some((p) => p.do_not_connect))
return;
const nets = coil.map((p) => index.connected(p.source_port_id));
if (nets[0] === nets[1])
return;
if (this.relayIds.some((id) => id !== relayId && this.coilPorts(id).every((p) => nets.includes(index.connected(p.source_port_id)))))
return;
const diodeIds = new Set((index.portsByNet.get(nets[0]) ?? []).filter((p) => index.components.get(p.source_component_id)?.ftype === "simple_diode").map((p) => p.source_component_id).filter((id) => index.twoTerminalNets(id)?.includes(nets[1])));
if (diodeIds.size !== 1)
return;
const diodeId = [...diodeIds][0];
const diode = index.placement(diodeId);
const anode = this.uniquePort(diodeId, /^(?:ANODE|A)$/);
const cathode = this.uniquePort(diodeId, /^(?:CATHODE|K)$/);
if (!diode || !index.sameLocalScope(relay, diode) || !anode || !cathode || anode === cathode || anode.do_not_connect || cathode.do_not_connect)
return;
const anodeNet = index.connected(anode.source_port_id);
const cathodeNet = index.connected(cathode.source_port_id);
if (index.isRail(anodeNet) || index.groundNets.has(cathodeNet) || !this.hasGroundedDriver(anodeNet, cathodeNet))
return;
const coilPins = coil.map((p) => index.port(p));
const diodePins = [anode, cathode].map((p) => index.port(p));
if ([...coilPins, ...diodePins].some((p) => !p || p.schematic_sheet_id !== relay.schematicSheetId))
return;
const [first, second] = coilPins;
const left = Math.min(first.center.x, second.center.x);
const right = Math.max(first.center.x, second.center.x);
const bottom = Math.min(first.center.y, second.center.y);
const top = Math.max(first.center.y, second.center.y);
const gapX = Math.max(left - (diode.schX + diode.width / 2), diode.schX - diode.width / 2 - right, 0);
const gapY = Math.max(bottom - (diode.schY + diode.height / 2), diode.schY - diode.height / 2 - top, 0);
const distanceFromCoilPins = Math.hypot(gapX, gapY);
const pinSpan = Math.hypot(right - left, top - bottom);
if (distanceFromCoilPins <= Math.max(1.5, 2 * pinSpan) || distanceFromCoilPins > Math.max(8, 4 * Math.max(relay.width, relay.height)))
return;
if (!this.params.ctx.circuitJson.some((e) => e.type === "schematic_net_label" && e.schematic_sheet_id === relay.schematicSheetId && e.anchor_position && diodePins.some((p) => Math.hypot(p.center.x - e.anchor_position.x, p.center.y - e.anchor_position.y) < 0.01 && !this.hasWireAtPin(p))))
return;
this.params.issues.push({
lineItemType: "FlybackDiodeSeparatedFromRelayCoil",
relaySchematicBox: relay,
diodeSchematicBox: diode,
coilSourcePortIds: [coil[0].source_port_id, coil[1].source_port_id],
distanceFromCoilPins,
message: `Place ${diode.sourceComponentName ?? diodeId} beside ${relay.sourceComponentName ?? relayId}'s coil pins so the flyback protection loop can be read together. Preserve diode polarity and all pin connections; leave room for labels and reroute affected traces.`
});
}
hasWireAtPin(pin) {
return this.params.ctx.circuitJson.some((e) => e.type === "schematic_trace" && e.schematic_sheet_id === pin.schematic_sheet_id && e.edges.some(({ from, to }) => {
const dx = to.x - from.x, dy = to.y - from.y;
const lengthSquared = dx * dx + dy * dy;
const t = lengthSquared ? Math.max(0, Math.min(1, ((pin.center.x - from.x) * dx + (pin.center.y - from.y) * dy) / lengthSquared)) : 0;
return Math.hypot(pin.center.x - from.x - t * dx, pin.center.y - from.y - t * dy) < 0.01;
}));
}
uniquePort(id, pattern) {
const ports = this.index.portsByComponent.get(id)?.filter((p) => hasHint(p, pattern));
return ports?.length === 1 ? ports[0] : undefined;
}
coilPorts(id) {
if (this.index.components.get(id)?.ftype !== "simple_chip")
return;
const ports = this.index.portsByComponent.get(id) ?? [];
if (!this.uniquePort(id, /^(?:COM|COMMON)$/) || !ports.some((p) => hasHint(p, /^(?:NO|NC|NORMALLYOPEN|NORMALLYCLOSED)$/)))
return;
const coil = ports.filter((p) => hasHint(p, /^(?:COIL[A-B12]|A[12])$/));
if (coil.length !== 2)
return;
for (const [a, b] of [
["COILA", "COILB"],
["COIL1", "COIL2"],
["A1", "A2"]
]) {
const first = this.uniquePort(id, new RegExp(`^${a}$`));
const second = this.uniquePort(id, new RegExp(`^${b}$`));
if (first && second && first !== second && !hasHint(first, new RegExp(`^${b}$`)) && !hasHint(second, new RegExp(`^${a}$`)))
return [first, second];
}
}
hasGroundedDriver(anodeNet, cathodeNet) {
return (this.index.portsByNet.get(anodeNet) ?? []).some((p) => {
const id = p.source_component_id;
const component = this.index.components.get(id);
if (component?.ftype !== "simple_chip" && !(component?.ftype === "simple_transistor" && component.transistor_type === "npn"))
return false;
if (this.index.portsByComponent.get(id)?.length !== 3)
return false;
const c = this.uniquePort(id, /^(?:C|COLLECTOR)$/);
const e = this.uniquePort(id, /^(?:E|EMITTER)$/);
const b = this.uniquePort(id, /^(?:B|BASE)$/);
if (!c || !e || !b || new Set([c, e, b]).size !== 3 || [c, e, b].some((p2) => p2.do_not_connect) || c.source_port_id !== p.source_port_id)
return false;
const emitterNet = this.index.connected(e.source_port_id), baseNet = this.index.connected(b.source_port_id);
return this.index.groundNets.has(emitterNet) && !this.index.powerNets.has(emitterNet) && new Set([anodeNet, cathodeNet, emitterNet, baseNet]).size === 4;
});
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "relayName", issue.relaySchematicBox.sourceComponentName);
addAttr(attrs, "diodeName", issue.diodeSchematicBox.sourceComponentName);
addAttr(attrs, "distanceFromCoilPins", issue.distanceFromCoilPins);
addAttr(attrs, "message", issue.message);
return `<FlybackDiodeSeparatedFromRelayCoil ${attrs.join(" ")} />`;
}
}
function hasHint(port, pattern) {
return [port.name, ...port.port_hints ?? []].some((hint) => pattern.test(hint.toUpperCase().replace(/[\s_]/g, "")));
}
// ../../work/placement-analysis/lib/solvers/CurrentSenseShuntPlacementSolver/CurrentSenseShuntPlacementSolver.ts
var EPSILON = 0.01;
class CurrentSenseShuntPlacementSolver extends BaseSolver {
params;
index;
hostIds;
traces;
currentIndex = 0;
constructor(params) {
super();
this.params = params;
this.index = new PlacementNetworkIndex(params.ctx);
this.hostIds = [...this.index.components.values()].filter((component) => component.ftype === "simple_chip").map((component) => component.source_component_id);
this.traces = params.ctx.circuitJson.filter((element) => element.type === "schematic_trace");
this.solved = this.hostIds.length === 0;
}
_step() {
const hostId = this.hostIds[this.currentIndex++];
this.solved = this.currentIndex >= this.hostIds.length;
if (!hostId)
return;
const index = this.index;
const host = index.placement(hostId);
const ports = index.portsByComponent.get(hostId) ?? [];
const positive = ports.filter((port) => inputRole(port) === "positive");
const negative = ports.filter((port) => inputRole(port) === "negative");
const outputs = ports.filter((port) => hasHint2(port, /^(?:OUT|VOUT|OUTPUT)$/));
if (!host || positive.length !== 1 || negative.length !== 1 || outputs.length !== 1 || !ports.some((port) => hasHint2(port, /^(?:VS|VCC|VDD)$/)) || !ports.some((port) => hasHint2(port, /^(?:GND|GROUND|VSS)$/)))
return;
const inputs = [positive[0], negative[0]];
const nets = inputs.map((port) => index.connected(port.source_port_id));
if (inputs.some((port) => port.do_not_connect) || nets[0] === nets[1] || nets.includes(index.connected(outputs[0].source_port_id)))
return;
const pins = inputs.map((port) => index.port(port));
const [positivePin, negativePin] = pins;
if (!positivePin || !negativePin || !positivePin.facing_direction || positivePin.facing_direction !== negativePin.facing_direction || pins.some((pin) => pin.schematic_sheet_id !== host.schematicSheetId))
return;
const resistorIds = new Set((index.portsByNet.get(nets[0]) ?? []).filter((port) => index.components.get(port.source_component_id)?.ftype === "simple_resistor").map((port) => port.source_component_id).filter((id) => index.twoTerminalNets(id)?.includes(nets[1])));
if (resistorIds.size !== 1)
return;
const shuntId = [...resistorIds][0];
const component = index.components.get(shuntId);
if (component?.ftype !== "simple_resistor" || !Number.isFinite(component.resistance) || component.resistance <= 0 || component.resistance > 1)
return;
if (nets.some((net) => (index.portsByNet.get(net) ?? []).some((port) => port.source_component_id !== hostId && inputRole(port) !== undefined && index.components.get(port.source_component_id)?.ftype === "simple_chip")))
return;
const shunt = index.placement(shuntId);
if (!shunt || !index.sameLocalScope(host, shunt))
return;
const shuntPorts = index.portsByComponent.get(shuntId);
if (shuntPorts.some((port) => port.do_not_connect))
return;
const shuntPins = nets.map((net) => index.port(shuntPorts.find((port) => index.connected(port.source_port_id) === net)));
if (shuntPins.some((pin) => !pin || pin.schematic_sheet_id !== host.schematicSheetId))
return;
const horizontalInputs = positivePin.facing_direction === "left" || positivePin.facing_direction === "right";
const across = (point) => horizontalInputs ? point.y : point.x;
const first = across(positivePin.center), second = across(negativePin.center);
const span = Math.abs(first - second);
if (span < EPSILON)
return;
const shuntAcross = horizontalInputs ? shunt.schY : shunt.schX;
const halfSize = (horizontalInputs ? shunt.height : shunt.width) / 2;
const inputBandGap = Math.max(Math.min(first, second) - (shuntAcross + halfSize), shuntAcross - halfSize - Math.max(first, second));
if (inputBandGap <= Math.max(1.5, 2 * span) || Math.hypot(shunt.schX - host.schX, shunt.schY - host.schY) > Math.max(8, 4 * Math.max(host.width, host.height)))
return;
const visible = pins.map((pin, i) => this.hasVisibleConnection(shuntPins[i], pin, nets[i]));
if (visible[0] === visible[1])
return;
const labeledIndex = visible[0] ? 1 : 0;
const labeledNet = nets[labeledIndex];
if (!this.params.ctx.circuitJson.some((element) => {
if (element.type !== "schematic_net_label" || element.schematic_sheet_id !== host.schematicSheetId)
return false;
if (element.source_net_id && (index.connected(element.source_net_id) === labeledNet || index.connected(`connectivity:${element.source_net_id}`) === labeledNet))
return true;
const pin = shuntPins[labeledIndex].center;
if (element.anchor_position && Math.hypot(element.anchor_position.x - pin.x, element.anchor_position.y - pin.y) < EPSILON)
return true;
return element.source_trace_id !== undefined && this.sourceTraceTouchesNet(element.source_trace_id, labeledNet);
}))
return;
this.params.issues.push({
lineItemType: "CurrentSenseShuntSeparatedFromInputs",
amplifierSchematicBox: host,
shuntSchematicBox: shunt,
positiveInputSourcePortId: inputs[0].source_port_id,
negativeInputSourcePortId: inputs[1].source_port_id,
inputBandGap,
message: `Place ${shunt.sourceComponentName ?? shuntId} near ${host.sourceComponentName ?? hostId}.${inputs[0].name}/${inputs[1].name}, so both sense connections can be read together. Move or rotate the shunt as needed; preserve all pin connections and leave room for labels.`
});
}
hasVisibleConnection(from, to, net) {
const edges = this.traces.filter((trace) => {
if (trace.schematic_sheet_id !== from.schematic_sheet_id)
return false;
if (trace.subcircuit_connectivity_map_key)
return this.index.connected(`connectivity:${trace.subcircuit_connectivity_map_key}`) === net;
if (this.sourceTraceTouchesNet(trace.source_trace_id, net))
return true;
const endpoints = [trace.edges[0]?.from, trace.edges.at(-1)?.to];
const endpointNets = new Set(this.params.ctx.circuitJson.flatMap((element) => element.type === "schematic_port" && element.source_port_id && element.schematic_sheet_id === trace.schematic_sheet_id && endpoints.some((point) => point && Math.hypot(point.x - element.center.x, point.y - element.center.y) < EPSILON) ? [this.index.connected(element.source_port_id)] : []));
return endpointNets.size === 1 && endpointNets.has(net);
}).flatMap((trace) => trace.edges);
const reached = edges.filter((edge) => onSegment(from.center, edge.from, edge.to));
const visited = new Set;
for (let i = 0; i < reached.length; i++) {
const current = reached[i];
if (onSegment(to.center, current.from, current.to))
return true;
for (const [edgeIndex, edge] of edges.entries()) {
if (visited.has(edgeIndex) || ![current.from, current.to].some((point) => onSegment(point, edge.from, edge.to)) && ![edge.from, edge.to].some((point) => onSegment(point, current.from, current.to)))
continue;
visited.add(edgeIndex);
reached.push(edge);
}
}
return false;
}
sourceTraceTouchesNet(traceId, net) {
if (!traceId)
return false;
const source = this.params.ctx.circuitJson.find((element) => element.type === "source_trace" && element.source_trace_id === traceId);
return source?.type === "source_trace" && source.connected_source_port_ids.some((id) => this.index.connected(id) === net);
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "amplifierName", issue.amplifierSchematicBox.sourceComponentName);
addAttr(attrs, "shuntName", issue.shuntSchematicBox.sourceComponentName);
addAttr(attrs, "inputBandGap", issue.inputBandGap);
addAttr(attrs, "message", issue.message);
return `<CurrentSenseShuntSeparatedFromInputs ${attrs.join(" ")} />`;
}
}
function hasHint2(port, pattern) {
return [port.name, ...port.port_hints ?? []].some((hint) => pattern.test(hint.toUpperCase().replace(/[\s_]/g, "")));
}
function inputRole(port) {
const positive = hasHint2(port, /^(?:IN\+|VIN\+|INPOS|VINPOS)$/);
const negative = hasHint2(port, /^(?:IN-|VIN-|INNEG|VINNEG)$/);
return positive === negative ? undefined : positive ? "positive" : "negative";
}
function onSegment(point, from, to) {
const dx = to.x - from.x, dy = to.y - from.y;
const length = Math.hypot(dx, dy);
if (length < EPSILON)
return Math.hypot(point.x - from.x, point.y - from.y) < EPSILON;
const projection = ((point.x - from.x) * dx + (point.y - from.y) * dy) / length;
return projection >= -EPSILON && projection <= length + EPSILON && Math.abs((point.x - from.x) * dy - (point.y - from.y) * dx) / length < EPSILON;
}
// ../../work/placement-analysis/lib/solvers/VoltageDividerPlacementSolver/VoltageDividerPlacementSolver.ts
class VoltageDividerPlacementSolver extends BaseSolver {
params;
index;
positiveNets = new Set;
resistorIds;
currentIndex = 0;
constructor(params) {
super();
this.params = params;
this.index = new PlacementNetworkIndex(params.ctx);
this.resistorIds = [...this.index.components.values()].filter((component) => component.ftype === "simple_resistor").map((component) => component.source_component_id);
for (const element of params.ctx.circuitJson) {
if (element.type === "source_net" && element.is_positive_voltage_source)
this.positiveNets.add(this.index.connected(element.source_net_id));
}
this.solved = this.resistorIds.length === 0;
}
_step() {
const supplyId = this.resistorIds[this.currentIndex++];
this.solved = this.currentIndex >= this.resistorIds.length;
if (!supplyId || !this.isResistor(supplyId))
return;
const index = this.index;
const nets = index.twoTerminalNets(supplyId);
if (!nets)
return;
const rails = nets.filter((net) => index.isRail(net));
if (rails.length !== 1)
return;
const supplyNet = rails[0];
if (!this.positiveNets.has(supplyNet) || index.groundNets.has(supplyNet))
return;
const tap = nets.find((net) => net !== supplyNet);
const tapPorts = index.portsByNet.get(tap) ?? [];
const resistorIds = new Set(tapPorts.filter((port) => index.components.get(port.source_component_id)?.ftype === "simple_resistor").map((port) => port.source_component_id));
if (resistorIds.size !== 2)
return;
const groundId = [...resistorIds].find((id) => id !== supplyId);
if (!this.isResistor(groundId))
return;
const groundNets = index.twoTerminalNets(groundId);
const groundNet = groundNets?.find((net) => net !== tap);
if (!groundNets?.includes(tap) || !groundNet || !index.groundNets.has(groundNet) || index.powerNets.has(groundNet) || !tapPorts.some((port) => !resistorIds.has(port.source_component_id)))
return;
const supply = index.placement(supplyId);
const ground = index.placement(groundId);
if (!supply || !ground || !index.sameLocalScope(supply, ground))
return;
const supplyTap = this.getDownwardResistorPorts(supplyId, supplyNet, tap);
const groundTap = this.getDownwardResistorPorts(groundId, tap, groundNet);
if (!supplyTap || !groundTap)
return;
const reversedBodyGap = ground.schY - ground.height / 2 - (supply.schY + supply.height / 2);
if (reversedBodyGap <= 1.5)
return;
this.params.issues.push({
lineItemType: "VoltageDividerSupplyResistorBelowGroundResistor",
supplyResistorSchematicBox: supply,
groundResistorSchematicBox: ground,
supplyTapSourcePortId: supplyTap.bottom.source_port_id,
groundTapSourcePortId: groundTap.top.source_port_id,
reversedBodyGap,
message: `Place ${supply.sourceComponentName ?? supplyId} above ${ground.sourceComponentName ?? groundId}, close enough to read their shared divider tap. Preserve all connections and leave room for labels; exact alignment is not required.`
});
}
isResistor(id) {
const component = this.index.components.get(id);
return component?.ftype === "simple_resistor" && Number.isFinite(component.resistance) && component.resistance > 0;
}
getDownwardResistorPorts(id, topNet, bottomNet) {
const index = this.index;
const placement = index.placement(id);
const ports = index.portsByComponent.get(id);
if (ports.some((port) => port.do_not_connect))
return;
const top = ports.find((port) => index.connected(port.source_port_id) === topNet);
const bottom = ports.find((port) => index.connected(port.source_port_id) === bottomNet);
if (!top || !bottom)
return;
const topPin = index.port(top);
const bottomPin = index.port(bottom);
if (!topPin || !bottomPin || topPin.schematic_sheet_id !== placement.schematicSheetId || bottomPin.schematic_sheet_id !== placement.schematicSheetId || topPin.facing_direction !== "up" || bottomPin.facing_direction !== "down" || topPin.center.y <= bottomPin.center.y)
return;
return { top, bottom };
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "supplyResistorName", issue.supplyResistorSchematicBox.sourceComponentName);
addAttr(attrs, "groundResistorName", issue.groundResistorSchematicBox.sourceComponentName);
addAttr(attrs, "reversedBodyGap", issue.reversedBodyGap);
addAttr(attrs, "message", issue.message);
return `<VoltageDividerSupplyResistorBelowGroundResistor ${attrs.join(" ")} />`;
}
}
// ../../work/placement-analysis/lib/solvers/RegulatorInputOutputCapacitorPlacementSolver/RegulatorInputOutputCapacitorPlacementSolver.ts
class RegulatorInputOutputCapacitorPlacementSolver extends BaseSolver {
params;
index;
hostIds;
currentIndex = 0;
constructor(params) {
super();
this.params = params;
this.index = new PlacementNetworkIndex(params.ctx);
this.hostIds = [...this.index.components.values()].filter((component) => component.ftype === "simple_chip").map((component) => component.source_component_id);
this.solved = this.hostIds.length === 0;
}
_step() {
const hostId = this.hostIds[this.currentIndex++];
this.solved = this.currentIndex >= this.hostIds.length;
if (!hostId)
return;
const index = this.index;
const host = index.placement(hostId);
const ports = index.portsByComponent.get(hostId) ?? [];
if (!host || ports.some((port) => !portRole(port)))
return;
const inputs = ports.filter((port) => portRole(port) === "input");
const outputs = ports.filter((port) => portRole(port) === "output");
const grounds = ports.filter((port) => portRole(port) === "ground");
if (inputs.length !== 1 || outputs.length !== 1 || !grounds.length)
return;
const input = inputs[0];
const output = outputs[0];
if ([input, output, ...grounds].some((port) => port.do_not_connect))
return;
const inputNet = index.connected(input.source_port_id);
const outputNet = index.connected(output.source_port_id);
const groundNets = new Set(grounds.map((port) => index.connected(port.source_port_id)));
if (groundNets.size !== 1)
return;
const groundNet = [...groundNets][0];
if (new Set([inputNet, outputNet, groundNet]).size !== 3 || !(index.groundNets.has(groundNet) || grounds.some((port) => port.requires_ground || port.provides_ground)) || !(index.powerNets.has(inputNet) || input.requires_power) || !(index.powerNets.has(outputNet) || output.provides_power))
return;
const inputPin = index.port(input);
const outputPin = index.port(output);
if (!inputPin || !outputPin || inputPin.schematic_sheet_id !== host.schematicSheetId || outputPin.schematic_sheet_id !== host.schematicSheetId)
return;
const horizontal = inputPin.facing_direction === "left" && outputPin.facing_direction === "right" || inputPin.facing_direction === "right" && outputPin.facing_direction === "left";
const vertical = inputPin.facing_direction === "up" && outputPin.facing_direction === "down" || inputPin.facing_direction === "down" && outputPin.facing_direction === "up";
if (!horizontal && !vertical)
return;
const sign = outputPin.facing_direction === "right" || outputPin.facing_direction === "up" ? 1 : -1;
const pinSeparation = sign * (horizontal ? outputPin.center.x - inputPin.center.x : outputPin.center.y - inputPin.center.y);
if (pinSeparation <= 0.01)
return;
const inputCap = this.localCapacitor(host, inputNet, groundNet);
const outputCap = this.localCapacitor(host, outputNet, groundNet);
if (!inputCap || !outputCap)
return;
const beyondOppositeSide = (cap, side) => {
const distance = side * sign * (horizontal ? cap.schX - host.schX : cap.schY - host.schY);
const halfBodies = horizontal ? (host.width + cap.width) / 2 : (host.height + cap.height) / 2;
return distance > halfBodies + 0.2;
};
if (!beyondOppositeSide(inputCap, 1) || !beyondOppositeSide(outputCap, -1))
return;
const name = host.sourceComponentName ?? hostId;
this.params.issues.push({
lineItemType: "RegulatorCapacitorsOnWrongSides",
regulatorSchematicBox: host,
inputCapacitorSchematicBox: inputCap,
outputCapacitorSchematicBox: outputCap,
inputSourcePortId: input.source_port_id,
outputSourcePortId: output.source_port_id,
message: `Place ${inputCap.sourceComponentName} near ${name}.${input.name} on the ${inputPin.facing_direction} side and ${outputCap.sourceComponentName} near ${name}.${output.name} on the ${outputPin.facing_direction} side. Preserve all connections and leave room for labels; exact alignment is not required.`
});
}
localCapacitor(host, rail, ground) {
const index = this.index;
const candidates = [];
const maxDistance = Math.max(6, 4 * Math.max(host.width, host.height));
const ids = new Set((index.portsByNet.get(rail) ?? []).map((port) => port.source_component_id));
for (const id of ids) {
if (index.components.get(id)?.ftype !== "simple_capacitor")
continue;
const nets = index.twoTerminalNets(id);
const cap = index.placement(id);
if (!nets?.includes(ground) || !cap || !index.sameLocalScope(host, cap))
continue;
if (Math.hypot(cap.schX - host.schX, cap.schY - host.schY) > maxDistance)
continue;
const ports = index.portsByComponent.get(id);
if (ports.some((port) => port.do_not_connect || !index.port(port) || index.port(port).schematic_sheet_id !== host.schematicSheetId))
continue;
candidates.push(cap);
}
return candidates.length === 1 ? candidates[0] : undefined;
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "regulatorName", issue.regulatorSchematicBox.sourceComponentName);
addAttr(attrs, "inputCapacitorName", issue.inputCapacitorSchematicBox.sourceComponentName);
addAttr(attrs, "outputCapacitorName", issue.outputCapacitorSchematicBox.sourceComponentName);
addAttr(attrs, "message", issue.message);
return `<RegulatorCapacitorsOnWrongSides ${attrs.join(" ")} />`;
}
}
function portRole(port) {
const roles = new Set;
for (const hint of [port.name, ...port.port_hints ?? []]) {
const name = hint.toUpperCase().replace(/[ _-]/g, "");
if (/^(?:VIN|IN|INPUT)$/.test(name))
roles.add("input");
else if (/^(?:VOUT|OUT|OUTPUT)$/.test(name))
roles.add("output");
else if (/^(?:GND\d*|VSS)$/.test(name))
roles.add("ground");
else if (/^(?:EN|ENABLE|CE|SHDN|NC\d*|EP|PAD|ADJ|FB|BYP|BYPASS|NR|PG|PGOOD)$/.test(name))
roles.add("control");
}
return roles.size === 1 ? [...roles][0] : undefined;
}
// ../../work/placement-analysis/lib/utils/geometry.ts
function centeredRect(cx, cy, w, h) {
return {
left: cx - w / 2,
right: cx + w / 2,
top: cy + h / 2,
bottom: cy - h / 2
};
}
function rectOverlap(a, b) {
const ow = Math.min(a.right, b.right) - Math.max(a.left, b.left);
const oh = Math.min(a.top, b.top) - Math.max(a.bottom, b.bottom);
return ow > 0 && oh > 0 ? { ow, oh } : null;
}
// ../../work/placement-analysis/lib/solvers/ConnectorPlacementSolver/ConnectorPlacementSolver.ts
var EPSILON2 = 0.01;
var directions = {
right: { x: 1, y: 0 },
left: { x: -1, y: 0 },
up: { x: 0, y: 1 },
down: { x: 0, y: -1 }
};
var dot = (a, b) => a.x * b.x + a.y * b.y;
var distance = (a, b) => Math.abs(a.x - b.x) + Math.abs(a.y - b.y);
var near = (a, b) => distance(a, b) <= EPSILON2;
var round2 = (value) => Math.round(value * 100) / 100;
class ConnectorPlacementSolver extends BaseSolver {
params;
constructor(params) {
super();
this.params = params;
}
_step() {
const { ctx, issues } = this.params;
const index = new PlacementNetworkIndex(ctx);
for (const ports of index.portsByComponent.values()) {
for (const port of ports) {
const net = index.connected(port.source_port_id);
if (port.requires_ground || port.provides_ground)
index.groundNets.add(net);
if (port.requires_power || port.provides_power)
index.powerNets.add(net);
}
}
const allTraces = ctx.circuitJson.filter((e) => e.type === "schematic_trace");
for (const [id, source] of index.components) {
if (source.ftype !== "simple_pin_header" && source.ftype !== "simple_connector")
continue;
const connector = index.placement(id);
const sourcePorts = index.portsByComponent.get(id) ?? [];
if (!connector || sourcePorts.length < 2)
continue;
const pins = sourcePorts.map((p) => index.port(p));
const facing = pins[0]?.facing_direction;
if (!facing || pins.some((p) => !p || p.facing_direction !== facing))
continue;
const along = directions[facing];
const across = { x: -along.y, y: along.x };
const traces = allTraces.filter((t) => t.schematic_sheet_id === connector.schematicSheetId);
const railLabels = ctx.circuitJson.filter((e) => e.type === "schematic_net_label" && e.schematic_sheet_id === connector.schematicSheetId);
const connections = [];
let ambiguous = false;
for (const sourcePort of sourcePorts) {
const pin = index.port(sourcePort);
const net = index.connected(sourcePort.source_port_id);
const peers = (index.portsByNet.get(net) ?? []).filter((p) => p.source_port_id !== sourcePort.source_port_id);
const incidentTraces = traces.filter((t) => t.edges.some((edge) => near(edge.from, pin.center) || near(edge.to, pin.center)));
if (index.isRail(net)) {
if (incidentTraces.some((t) => !railLabels.some((label) => label.anchor_position && joins(t, pin.center, label.anchor_position))))
ambiguous = true;
continue;
}
if (peers.length === 0) {
if (incidentTraces.length > 0)
ambiguous = true;
continue;
}
const peer = peers.length === 1 ? index.port(peers[0]) : undefined;
const component = peers.length === 1 ? index.placement(peers[0].source_component_id) : undefined;
if (!peer?.facing_direction || !component || !index.sameLocalScope(connector, component) || dot(directions[peer.facing_direction], along) !== -1) {
ambiguous = true;
break;
}
connections.push({ pin, peer, component });
}
if (ambiguous || connections.length < 2)
continue;
if (connections.some((c) => dot(c.peer.center, along) >= dot(c.pin.center, along) - 2))
continue;
const detouredConnections = connections.map((c) => traces.filter((t) => joins(t, c.pin.center, c.peer.center) && bendCount(t) >= 3)).filter((t) => t.length > 0);
if (detouredConnections.length < 2)
continue;
const detours = detouredConnections.flat();
const ordered = [...connections].sort((a, b) => dot(a.pin.center, across) - dot(b.pin.center, across));
if (ordered.some((c, i) => i > 0 && dot(c.peer.center, across) <= dot(ordered[i - 1].peer.center, across) + EPSILON2))
continue;
const center = { x: connector.schX, y: connector.schY };
const pinOffset = Math.max(...connections.map((c) => dot(c.pin.center, along) - dot(center, along)));
const targetAlong = Math.min(...connections.map((c) => dot(c.peer.center, along))) - 2 - pinOffset;
const offsets = connections.map((c) => dot(c.peer.center, across) - dot(c.pin.center, across) + dot(center, across)).sort((a, b) => a - b);
const targetAcross = offsets[Math.floor(offsets.length / 2)];
const target = {
x: round2(along.x * targetAlong + across.x * targetAcross),
y: round2(along.y * targetAlong + across.y * targetAcross)
};
const delta = { x: target.x - center.x, y: target.y - center.y };
const movedPin = (pin) => ({
x: pin.center.x + delta.x,
y: pin.center.y + delta.y
});
if (connections.some((c) => distance(movedPin(c.pin), c.peer.center) > distance(c.pin.center, c.peer.center) + EPSILON2))
continue;
const before = connections.reduce((sum, c) => sum + distance(c.pin.center, c.peer.center), 0);
const after = connections.reduce((sum, c) => sum + distance(movedPin(c.pin), c.peer.center), 0);
if (before - after < 4 || after > before * 0.75)
continue;
const obstacles = ctx.componentPlacements.filter((p) => p.schematicSheetId === connector.schematicSheetId && p.schematicComponentId !== connector.schematicComponentId);
const targetBounds = centeredRect(target.x, target.y, connector.width + 0.4, connector.height + 0.4);
if (obstacles.some((p) => rectOverlap(targetBounds, centeredRect(p.schX, p.schY, p.width, p.height))))
continue;
if (connections.some((c) => {
const start = movedPin(c.pin);
const end = c.peer.center;
const middleAlong = (dot(start, along) + dot(end, along)) / 2;
const points = [
start,
{
x: along.x * middleAlong + across.x * dot(start, across),
y: along.y * middleAlong + across.y * dot(start, across)
},
{
x: along.x * middleAlong + across.x * dot(end, across),
y: along.y * middleAlong + across.y * dot(end, across)
},
end
];
return obstacles.some((p) => p.schematicComponentId !== c.component.schematicComponentId && points.slice(1).some((point, i) => segmentCrossesBox(points[i], point, p)));
}))
continue;
const connectedComponents = [
...new Map(connections.map((c) => [
c.component.schematicComponentId,
c.component
])).values()
];
const name = connector.sourceComponentName ?? connector.schematicComponentId;
issues.push({
lineItemType: "ConnectorPositionCausesTraceDetours",
connectorSchematicBox: connector,
connectedComponents,
schematicTraceIds: [
...new Set(detours.map((t) => t.schematic_trace_id))
],
evaluatedSignalCount: connections.length,
newSchX: target.x,
newSchY: target.y,
deltaSchX: round2(delta.x),
deltaSchY: round2(delta.y),
currentTotalSignalDistance: round2(before),
suggestedTotalSignalDistance: round2(after),
message: `Move ${name} to schX=${target.x}, schY=${target.y} so its signal pins face ${connectedComponents.map((p) => p.sourceComponentName ?? p.schematicComponentId).join(", ")}. Preserve rotation and pin assignments; reroute the connections and attached rail labels.`
});
}
this.solved = true;
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "connectorComponentName", issue.connectorSchematicBox.sourceComponentName);
addAttr(attrs, "connectedComponents", issue.connectedComponents.map((p) => p.sourceComponentName ?? p.schematicComponentId).join(","));
for (const key of [
"evaluatedSignalCount",
"newSchX",
"newSchY",
"deltaSchX",
"deltaSchY",
"currentTotalSignalDistance",
"suggestedTotalSignalDistance"
])
addAttr(attrs, key, issue[key]);
addAttr(attrs, "message", issue.message);
return `<ConnectorPositionCausesTraceDetours ${attrs.join(" ")} />`;
}
}
function joins(trace, a, b) {
const first = trace.edges[0]?.from;
const last = trace.edges.at(-1)?.to;
return !!first && !!last && (near(first, a) && near(last, b) || near(first, b) && near(last, a));
}
function bendCount(trace) {
let previousAxis;
let bends = 0;
for (let i = 0; i < trace.edges.length; i++) {
const edge = trace.edges[i];
if (i > 0 && !near(trace.edges[i - 1].to, edge.from))
return 0;
if (near(edge.from, edge.to))
continue;
const axis = Math.abs(edge.from.y - edge.to.y) < EPSILON2 ? "x" : Math.abs(edge.from.x - edge.to.x) < EPSILON2 ? "y" : undefined;
if (!axis)
return 0;
if (previousAxis && previousAxis !== axis)
bends++;
previousAxis = axis;
}
return bends;
}
function segmentCrossesBox(a, b, box) {
const bounds = centeredRect(box.schX, box.schY, box.width + 0.2, box.height + 0.2);
return Math.max(a.x, b.x) > bounds.left && Math.min(a.x, b.x) < bounds.right && Math.max(a.y, b.y) > bounds.bottom && Math.min(a.y, b.y) < bounds.top;
}
// ../../work/placement-analysis/lib/solvers/LowSideTransistorPlacementSolver/LowSideTransistorPlacementSolver.ts
class LowSideTransistorPlacementSolver extends BaseSolver {
index;
positiveNets = new Set;
transistorIds;
issues;
currentIndex = 0;
constructor({ ctx, issues }) {
super();
this.issues = issues;
this.index = new PlacementNetworkIndex(ctx);
for (const element of ctx.circuitJson) {
if (element.type === "source_net" && element.is_positive_voltage_source)
this.positiveNets.add(this.index.connected(element.source_net_id));
}
this.transistorIds = [...this.index.components.values()].filter((component) => component.ftype === "simple_transistor" && component.transistor_type === "npn").map((component) => component.source_component_id);
this.solved = this.transistorIds.length === 0;
}
_step() {
const id = this.transistorIds[this.currentIndex++];
this.solved = this.currentIndex >= this.transistorIds.length;
if (!id)
return;
const index = this.index;
const transistor = index.placement(id);
if (!transistor || index.portsByComponent.get(id)?.length !== 3)
return;
const base = index.namedPort(id, "base");
const collector = index.namedPort(id, "collector");
const emitter = index.namedPort(id, "emitter");
if (!base || !collector || !emitter)
return;
const baseNet = index.connected(base.source_port_id);
const collectorNet = index.connected(collector.source_port_id);
const emitterNet = index.connected(emitter.source_port_id);
if (new Set([baseNet, collectorNet, emitterNet]).size !== 3 || !index.groundNets.has(emitterNet) || index.powerNets.has(emitterNet) || index.isRail(baseNet) || index.isRail(collectorNet))
return;
const basePeers = (index.portsByNet.get(baseNet) ?? []).filter((port) => port.source_component_id !== id);
if (basePeers.length !== 1)
return;
const resistorId = basePeers[0].source_component_id;
const resistor = index.components.get(resistorId);
const baseResistor = index.placement(resistorId);
const resistorNets = index.twoTerminalNets(resistorId);
const inputNet = resistorNets?.find((net) => net !== baseNet);
if (resistor?.ftype !== "simple_resistor" || resistor.resistance <= 0 || !baseResistor || !index.sameLocalScope(transistor, baseResistor) || !inputNet || index.isRail(inputNet) || inputNet === collectorNet)
return;
const collectorPeers = (index.portsByNet.get(collectorNet) ?? []).filter((port) => port.source_component_id !== id);
const loadPeers = collectorPeers.filter((port) => {
const type = index.components.get(port.source_component_id)?.ftype;
return type === "simple_chip";
});
if (loadPeers.length !== 1)
return;
const loadId = loadPeers[0].source_component_id;
const load = index.placement(loadId);
const loadNets = index.twoTerminalNets(loadId);
const supplyNet = loadNets?.find((net) => net !== collectorNet);
if (!load || !index.sameLocalScope(transistor, load) || !supplyNet || !this.positiveNets.has(supplyNet) || index.groundNets.has(supplyNet))
return;
const clampPeers = collectorPeers.filter((port) => port.source_component_id !== loadId);
if (clampPeers.length !== 1)
return;
const clampId = clampPeers[0].source_component_id;
const clamp = index.placement(clampId);
const anode = index.namedPort(clampId, "anode");
const cathode = index.namedPort(clampId, "cathode");
if (index.components.get(clampId)?.ftype !== "simple_diode" || !index.twoTerminalNets(clampId) || !anode || !cathode || index.connected(anode.source_port_id) !== collectorNet || index.connected(cathode.source_port_id) !== supplyNet || !clamp || !index.sameLocalScope(transistor, clamp))
return;
const collectorPin = index.port(collector);
const emitterPin = index.port(emitter);
const basePin = index.port(base);
if (!collectorPin || !emitterPin || !basePin)
return;
const collectorFacingDirection = collectorPin.facing_direction;
const emitterFacingDirection = emitterPin.facing_direction;
if (!collectorFacingDirection || !emitterFacingDirection)
return;
const placementProblems = [];
if (transistor.schY >= load.schY)
placementProblems.push("transistor_not_below_load");
if (collectorFacingDirection !== "up")
placementProblems.push("collector_not_up");
if (emitterFacingDirection !== "down")
placementProblems.push("emitter_not_down");
if (placementProblems.length === 0)
return;
const name = transistor.sourceComponentName ?? id;
const loadName = load.sourceComponentName ?? loadId;
this.issues.push({
lineItemType: "LowSideTransistorNotAlignedWithLoad",
transistorSchematicBox: transistor,
loadSchematicBox: load,
baseResistorSchematicBox: baseResistor,
clampDiodeSchematicBox: clamp,
collectorSourcePortId: collector.source_port_id,
emitterSourcePortId: emitter.source_port_id,
collectorFacingDirection,
emitterFacingDirection,
placementProblems,
message: `Arrange ${name} below ${loadName}, with its collector facing up toward the load and emitter facing down toward ground; place ${baseResistor.sourceComponentName ?? resistorId} beside the base. Preserve all pin connections and reroute affected traces.`
});
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "transistorName", issue.transistorSchematicBox.sourceComponentName);
addAttr(attrs, "loadName", issue.loadSchematicBox.sourceComponentName);
addAttr(attrs, "baseResistorName", issue.baseResistorSchematicBox.sourceComponentName);
addAttr(attrs, "clampDiodeName", issue.clampDiodeSchematicBox.sourceComponentName);
addAttr(attrs, "placementProblems", issue.placementProblems.join(","));
addAttr(attrs, "collectorFacingDirection", issue.collectorFacingDirection);
addAttr(attrs, "emitterFacingDirection", issue.emitterFacingDirection);
addAttr(attrs, "message", issue.message);
return `<LowSideTransistorNotAlignedWithLoad ${attrs.join(" ")} />`;
}
}
// ../../work/placement-analysis/lib/solvers/UsbSeriesResistorPlacementSolver/UsbSeriesResistorPlacementSolver.ts
class UsbSeriesResistorPlacementSolver extends BaseSolver {
params;
index;
hostIds;
reportedPairs = new Set;
currentIndex = 0;
constructor(params) {
super();
this.params = params;
this.index = new PlacementNetworkIndex(params.ctx);
this.hostIds = [...this.index.components.values()].filter((component) => component.ftype === "simple_chip").map((component) => component.source_component_id);
this.solved = this.hostIds.length === 0;
}
_step() {
const hostId = this.hostIds[this.currentIndex++];
this.solved = this.currentIndex >= this.hostIds.length;
if (!hostId)
return;
const ports = this.index.portsByComponent.get(hostId) ?? [];
const positivePorts = ports.filter((port) => usbRole(port) === "positive");
const negativePorts = ports.filter((port) => usbRole(port) === "negative");
if (positivePorts.length !== 1 || negativePorts.length !== 1)
return;
const positivePort = positivePorts[0];
const negativePort = negativePorts[0];
const positive = this.seriesResistor(positivePort);
const negative = this.seriesResistor(negativePort);
if (!positive || !negative || positive.axis !== negative.axis || !this.index.sameLocalScope(positive.placement, negative.placement) || new Set([
positive.hostNet,
negative.hostNet,
positive.interfaceNet,
negative.interfaceNet
]).size !== 4 || !this.shareInterface(positive, negative, hostId))
return;
const pairKey = [positive.id, negative.id].sort().join("\x00");
if (this.reportedPairs.has(pairKey))
return;
const a = positive.placement;
const b = negative.placement;
const horizontal = positive.axis === "horizontal";
const along = Math.abs(horizontal ? a.schX - b.schX : a.schY - b.schY);
const across = Math.abs(horizontal ? a.schY - b.schY : a.schX - b.schX);
const alongA = horizontal ? a.width : a.height;
const alongB = horizontal ? b.width : b.height;
const acrossA = horizontal ? a.height : a.width;
const acrossB = horizontal ? b.height : b.width;
const bodyGap2 = along - (alongA + alongB) / 2;
if (bodyGap2 < Math.max(alongA, alongB) || across >= (acrossA + acrossB) / 2 - 0.01)
return;
this.reportedPairs.add(pairKey);
const positiveName = a.sourceComponentName ?? positive.id;
const negativeName = b.sourceComponentName ?? negative.id;
this.params.issues.push({
lineItemType: "UsbSeriesResistorsNotAligned",
positiveResistorSchematicBox: a,
negativeResistorSchematicBox: b,
hostSourceComponentId: hostId,
positiveSourcePortId: positivePort.source_port_id,
negativeSourcePortId: negativePort.source_port_id,
signalAxis: positive.axis,
message: `Place ${positiveName} (D+) and ${negativeName} (D−) near each other and draw clear traces to their corresponding USB ports. Exact alignment is not required; preserve pin assignments and leave space for labels.`
});
}
seriesResistor(hostPort) {
const index = this.index;
const hostNet = index.connected(hostPort.source_port_id);
if (index.isRail(hostNet))
return;
const candidates = new Set((index.portsByNet.get(hostNet) ?? []).filter((port) => index.components.get(port.source_component_id)?.ftype === "simple_resistor").map((port) => port.source_component_id));
if (candidates.size !== 1)
return;
const id = [...candidates][0];
const nets = index.twoTerminalNets(id);
const interfaceNet = nets?.find((net) => net !== hostNet);
const placement = index.placement(id);
if (!interfaceNet || index.isRail(interfaceNet) || !placement)
return;
if ((index.portsByNet.get(interfaceNet) ?? []).some((port) => port.source_component_id !== id && index.components.get(port.source_component_id)?.ftype === "simple_resistor"))
return;
const pins = index.portsByComponent.get(id).map((port) => index.port(port));
const [first, second] = pins;
if (!first || !second)
return;
const facing = new Set([first.facing_direction, second.facing_direction]);
let axis;
if (facing.has("left") && facing.has("right") && Math.abs(first.center.y - second.center.y) < 0.01)
axis = "horizontal";
else if (facing.has("up") && facing.has("down") && Math.abs(first.center.x - second.center.x) < 0.01)
axis = "vertical";
else
return;
return { id, placement, hostNet, interfaceNet, axis };
}
shareInterface(positive, negative, hostId) {
const peerIds = (net) => new Set((this.index.portsByNet.get(net) ?? []).map((port) => port.source_component_id).filter((id) => id !== hostId && id !== positive.id && id !== negative.id && (this.index.portsByComponent.get(id)?.length ?? 0) > 2));
const positivePeers = peerIds(positive.interfaceNet);
return [...peerIds(negative.interfaceNet)].some((id) => positivePeers.has(id));
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "positiveResistorName", issue.positiveResistorSchematicBox.sourceComponentName);
addAttr(attrs, "negativeResistorName", issue.negativeResistorSchematicBox.sourceComponentName);
addAttr(attrs, "signalAxis", issue.signalAxis);
addAttr(attrs, "message", issue.message);
return `<UsbSeriesResistorsNotAligned ${attrs.join(" ")} />`;
}
}
function usbRole(port) {
const roles = new Set;
for (const hint of [port.name, ...port.port_hints ?? []]) {
const name = hint.toUpperCase();
if (/^(?:USB_?)?D(?:P|\+|_POS)$/.test(name))
roles.add("positive");
if (/^(?:USB_?)?D(?:M|N|-|_NEG)$/.test(name))
roles.add("negative");
}
return roles.size === 1 ? [...roles][0] : undefined;
}
// ../../work/placement-analysis/lib/utils/graphics.ts
function mergeGraphicsObjects(objects) {
return objects.filter((o) => o !== undefined).reduce((acc, o) => mergeGraphics(acc, o), {});
}
function highlightPlacement(placement, color, label) {
return {
rects: [
{
center: { x: placement.schX, y: placement.schY },
width: placement.width,
height: placement.height,
stroke: color,
fill: color.replace("0.95", "0.15"),
label
}
]
};
}
function visualizeCircuitJson(circuitJson) {
const rects = circuitJson.filter((el) => el.type === "schematic_box").map((el) => {
const box = el;
return {
center: { x: box.x, y: box.y },
width: box.width,
height: box.height,
stroke: "hsl(0,0%,60%)"
};
});
return { rects };
}
// ../../work/placement-analysis/lib/solvers/CapacitorOrientationSolver/CapacitorOrientationSolver.ts
class CapacitorOrientationSolver extends BaseSolver {
static EPSILON = 0.01;
static ORIENTATION_MESSAGE = 'Use schOrientation="vertical" on this capacitor to fix the symbol orientation';
ctx;
out;
schematicComponentById;
sourceComponentById;
capacitorPlacements;
feedbackCapacitorIds;
currentPlacementIndex = 0;
horizontalSymbolNames = new Set([
"capacitor_left",
"capacitor_right"
]);
constructor({ ctx, issues: out }) {
super();
this.ctx = ctx;
this.out = out;
this.schematicComponentById = this.buildSchematicComponentById(ctx.circuitJson);
this.sourceComponentById = this.buildSourceComponentById(ctx.circuitJson);
this.capacitorPlacements = this.getCapacitorPlacements();
const networks = new PlacementNetworkIndex(ctx);
this.feedbackCapacitorIds = new Set(this.capacitorPlacements.flatMap((capacitor) => capacitor.sourceComponentId && networks.isDirectOpAmpFeedback(capacitor.sourceComponentId) ? [capacitor.sourceComponentId] : []));
this.solved = this.capacitorPlacements.length === 0;
}
getCapacitorPlacements() {
return this.ctx.componentPlacements.filter((p) => p.sourceComponentId !== undefined && this.sourceComponentById.get(p.sourceComponentId)?.ftype === "simple_capacitor").map((p) => ({
schX: p.schX,
schY: p.schY,
width: p.width,
height: p.height,
sourceComponentId: p.sourceComponentId,
sourceComponentName: p.sourceComponentName,
schematicComponentId: p.schematicComponentId,
schematicSheetId: p.schematicSheetId,
schematicSheetName: p.schematicSheetName
}));
}
_step() {
const currentPlacement = this.capacitorPlacements[this.currentPlacementIndex];
if (!currentPlacement) {
this.solved = true;
return;
}
this.currentPlacementIndex += 1;
this.solved = this.currentPlacementIndex >= this.capacitorPlacements.length;
const issue = this.getIssueForPlacement(currentPlacement);
if (issue)
this.out.push(issue);
}
visualize() {
const focusedPlacement = this.getFocusedPlacement();
return mergeGraphicsObjects([
visualizeCircuitJson(this.ctx.circuitJson),
focusedPlacement ? highlightPlacement(focusedPlacement, "hsl(210, 100%, 50%, 0.95)", "capacitorOrientation") : undefined
]);
}
getFocusedPlacement() {
if (this.capacitorPlacements.length === 0)
return;
const index = this.iterations === 0 ? this.currentPlacementIndex : Math.max(0, this.currentPlacementIndex - 1);
return this.capacitorPlacements[index];
}
buildSchematicComponentById(circuitJson) {
return new Map(circuitJson.filter((el) => el.type === "schematic_component").map((sc) => [sc.schematic_component_id, sc]));
}
buildSourceComponentById(circuitJson) {
return new Map(circuitJson.flatMap((el) => {
if (el.type !== "source_component" || !("source_component_id" in el) || typeof el.source_component_id !== "string")
return [];
return [
{
type: "source_component",
source_component_id: el.source_component_id,
ftype: "ftype" in el && typeof el.ftype === "string" ? el.ftype : undefined
}
];
}).map((sc) => [sc.source_component_id, sc]));
}
createIssuePlacement(placement) {
return {
positionAnchor: "center",
schX: placement.schX,
schY: placement.schY,
width: placement.width,
height: placement.height,
sourceComponentId: placement.sourceComponentId,
sourceComponentName: placement.sourceComponentName,
schematicComponentId: placement.schematicComponentId,
schematicSheetId: placement.schematicSheetId,
schematicSheetName: placement.schematicSheetName
};
}
getIssueForPlacement(placement) {
if (!placement.schematicComponentId || !placement.sourceComponentId)
return;
const schematicComponent = this.schematicComponentById.get(placement.schematicComponentId);
if (!schematicComponent)
return;
if (!this.horizontalSymbolNames.has(schematicComponent.symbol_name ?? ""))
return;
if (this.feedbackCapacitorIds.has(placement.sourceComponentId))
return;
if (this.isInlineWithHorizontalTraces(placement.schematicComponentId))
return;
return {
lineItemType: "CapacitorSymbolHorizontal",
schematicBox: this.createIssuePlacement(placement),
message: CapacitorOrientationSolver.ORIENTATION_MESSAGE
};
}
isInlineWithHorizontalTraces(schematicComponentId) {
const ports = this.ctx.circuitJson.filter((element) => element.type === "schematic_port" && element.schematic_component_id === schematicComponentId);
if (ports.length !== 2)
return false;
const traces = ports.map((port) => this.getOutwardHorizontalTrace(port));
return traces.every((trace) => trace !== undefined) && traces.some((trace) => trace !== undefined && trace.edges.every((edge) => Math.abs(edge.from.y - edge.to.y) <= CapacitorOrientationSolver.EPSILON));
}
getOutwardHorizontalTrace(port) {
if (port.facing_direction !== "left" && port.facing_direction !== "right")
return;
return this.ctx.circuitJson.find((element) => element.type === "schematic_trace" && element.schematic_sheet_id === port.schematic_sheet_id && element.edges.some((edge) => {
const other = this.pointsEqual(edge.from, port.center) ? edge.to : this.pointsEqual(edge.to, port.center) ? edge.from : undefined;
return other !== undefined && Math.abs(other.y - port.center.y) <= CapacitorOrientationSolver.EPSILON && (port.facing_direction === "left" ? other.x < port.center.x - CapacitorOrientationSolver.EPSILON : other.x > port.center.x + CapacitorOrientationSolver.EPSILON);
}));
}
pointsEqual(first, second) {
return Math.abs(first.x - second.x) <= CapacitorOrientationSolver.EPSILON && Math.abs(first.y - second.y) <= CapacitorOrientationSolver.EPSILON;
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "componentName", issue.schematicBox.sourceComponentName);
addAttr(attrs, "schX", issue.schematicBox.schX);
addAttr(attrs, "schY", issue.schematicBox.schY);
addAttr(attrs, "width", issue.schematicBox.width);
addAttr(attrs, "height", issue.schematicBox.height);
addAttr(attrs, "message", issue.message);
return `<CapacitorSymbolHorizontal ${attrs.join(" ")} />`;
}
}
// ../../work/placement-analysis/lib/solvers/DecouplingCapacitorGroupingSolver/DecouplingCapacitorGroupingSolver.ts
class DecouplingCapacitorGroupingSolver extends BaseSolver {
params;
static MIN_BODY_GAP = 4;
banks = [];
netNames = new Map;
bankIndex = 0;
constructor(params) {
super();
this.params = params;
const index = new PlacementNetworkIndex(params.ctx);
const powerNets = new Set(index.powerNets);
const groundNets = new Set(index.groundNets);
for (const element of params.ctx.circuitJson) {
if (element.type === "source_net") {
const net = index.connected(element.source_net_id);
if (!this.netNames.has(net))
this.netNames.set(net, element.name);
}
}
for (const ports of index.portsByComponent.values()) {
for (const port of ports) {
if (port.do_not_connect)
continue;
const net = index.connected(port.source_port_id);
if (port.provides_power || port.requires_power)
powerNets.add(net);
if (port.provides_ground || port.requires_ground)
groundNets.add(net);
if ((powerNets.has(net) || groundNets.has(net)) && !this.netNames.has(net))
this.netNames.set(net, port.name);
}
}
for (const component of index.components.values()) {
if (component.ftype !== "simple_capacitor")
continue;
const id = component.source_component_id;
const placement = index.placement(id);
const nets = index.twoTerminalNets(id);
const ports = index.portsByComponent.get(id);
if (!placement || !nets || !ports || ports.some((port) => {
const schematicPort = index.port(port);
return port.do_not_connect || !schematicPort || schematicPort.schematic_sheet_id !== placement.schematicSheetId;
}))
continue;
const power = nets.find((net) => powerNets.has(net) && !groundNets.has(net));
const ground = nets.find((net) => groundNets.has(net) && !powerNets.has(net));
if (!power || !ground)
continue;
const bank = this.banks.find((candidate) => candidate.power === power && candidate.ground === ground && index.sameLocalScope(candidate.capacitors[0], placement));
if (bank)
bank.capacitors.push(placement);
else
this.banks.push({ power, ground, capacitors: [placement] });
}
this.solved = this.banks.length === 0;
}
_step() {
const bank = this.banks[this.bankIndex++];
this.solved = this.bankIndex >= this.banks.length;
if (bank.capacitors.length < 2)
return;
const maxRecommendedBodyGap = Math.max(DecouplingCapacitorGroupingSolver.MIN_BODY_GAP, ...bank.capacitors.map((box) => 3 * Math.max(box.width, box.height)));
let maxBodyGap = 0;
for (let i = 0; i < bank.capacitors.length; i++) {
for (const b of bank.capacitors.slice(i + 1)) {
const a = bank.capacitors[i];
const gap = Math.hypot(Math.max(0, Math.abs(a.schX - b.schX) - (a.width + b.width) / 2), Math.max(0, Math.abs(a.schY - b.schY) - (a.height + b.height) / 2));
maxBodyGap = Math.max(maxBodyGap, gap);
}
}
if (maxBodyGap <= maxRecommendedBodyGap + 0.000001)
return;
const railName = this.netNames.get(bank.power) ?? bank.power;
const groundName = this.netNames.get(bank.ground) ?? bank.ground;
this.params.issues.push({
lineItemType: "DecouplingCapacitorsNotCloseTogether",
railName,
groundName,
capacitorSchematicBoxes: bank.capacitors,
maxBodyGap,
maxRecommendedBodyGap,
message: `Group the decoupling capacitors between ${railName} and ${groundName} closer together in this schematic block. Preserve their net connections.`
});
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "rail", issue.railName);
addAttr(attrs, "ground", issue.groundName);
addAttr(attrs, "capacitorNames", issue.capacitorSchematicBoxes.map((box) => box.sourceComponentName ?? box.schematicComponentId).join(", "));
addAttr(attrs, "maxBodyGap", issue.maxBodyGap);
addAttr(attrs, "maxRecommendedBodyGap", issue.maxRecommendedBodyGap);
addAttr(attrs, "message", issue.message);
return `<DecouplingCapacitorsNotCloseTogether ${attrs.join(" ")} />`;
}
}
// ../../work/placement-analysis/lib/utils/net-label-bounds.ts
function getNetLabelBounds(label) {
const anchorSide = label.anchor_side;
const isVertical = anchorSide === "top" || anchorSide === "bottom";
if (isVertical) {
const anchorY = label.anchor_position?.y ?? label.center.y;
const textHalfExtent = (label.text?.length ?? 8) * 0.13 / 2 + 0.1;
const left = label.center.x - 0.1;
const right = label.center.x + 0.1;
if (anchorSide === "top") {
return {
left,
right,
top: anchorY,
bottom: anchorY - textHalfExtent * 2
};
}
return { left, right, top: anchorY + textHalfExtent * 2, bottom: anchorY };
}
const anchorX = label.anchor_position?.x ?? label.center.x;
const halfWidth = Math.abs(label.center.x - anchorX);
const farHalfWidth = halfWidth + 0.1;
const top = label.center.y + 0.1;
const bottom = label.center.y - 0.1;
if (label.center.x >= anchorX) {
return {
left: anchorX,
right: label.center.x + farHalfWidth,
top,
bottom
};
}
return { left: label.center.x - farHalfWidth, right: anchorX, top, bottom };
}
// ../../work/placement-analysis/lib/solvers/ComponentNetLabelCollisionSolver/ComponentNetLabelCollisionSolver.ts
class ComponentNetLabelCollisionSolver extends BaseSolver {
params;
placements;
netLabelsByComponentId;
rawCollisions = [];
firstIndex = 0;
secondIndex = 1;
constructor(params) {
super();
this.params = params;
this.placements = params.ctx.componentPlacements;
this.netLabelsByComponentId = this.buildNetLabelsByComponentId(params.ctx.circuitJson);
this.solved = this.placements.length < 2;
}
_step() {
if (this.firstIndex >= this.placements.length - 1) {
this.buildAndPushIssues();
this.solved = true;
return;
}
const compA = this.placements[this.firstIndex];
const compB = this.placements[this.secondIndex];
this.detectPair(compA, compB);
this.secondIndex++;
if (this.secondIndex >= this.placements.length) {
this.firstIndex++;
this.secondIndex = this.firstIndex + 1;
}
}
detectPair(compA, compB) {
if (compA.schematicSheetId !== compB.schematicSheetId)
return;
this.rawCollisions.push(...this.detectLabelLabel(compA, compB));
this.rawCollisions.push(...this.detectBoxLabel(compA, compB));
this.rawCollisions.push(...this.detectBoxLabel(compB, compA));
}
detectLabelLabel(firstComponent, secondComponent) {
let leftComp = firstComponent;
let rightComp = secondComponent;
if (firstComponent.schX > secondComponent.schX) {
leftComp = secondComponent;
rightComp = firstComponent;
}
const leftId = leftComp.schematicComponentId;
const rightId = rightComp.schematicComponentId;
if (!leftId || !rightId)
return [];
const leftLabels = this.netLabelsByComponentId.get(leftId) ?? [];
const rightLabels = this.netLabelsByComponentId.get(rightId) ?? [];
if (leftLabels.length === 0 || rightLabels.length === 0)
return [];
const hits = [];
for (const leftLabel of leftLabels) {
for (const rightLabel of rightLabels) {
const leftBounds = getNetLabelBounds(leftLabel);
const rightBounds = getNetLabelBounds(rightLabel);
if (rectOverlap(leftBounds, rightBounds)) {
hits.push({
type: "label-label",
bounds: {
left: Math.max(leftBounds.left, rightBounds.left),
right: Math.min(leftBounds.right, rightBounds.right),
top: Math.min(leftBounds.top, rightBounds.top),
bottom: Math.max(leftBounds.bottom, rightBounds.bottom)
},
leftComp,
rightComp,
leftId,
rightId,
xSeparation: leftBounds.right - rightBounds.left + 0.1
});
}
}
}
return hits;
}
detectBoxLabel(boxComp, labelComp) {
const boxId = boxComp.schematicComponentId;
const labelId = labelComp.schematicComponentId;
if (!boxId || !labelId)
return [];
const labels = this.netLabelsByComponentId.get(labelId) ?? [];
if (labels.length === 0)
return [];
const boxBounds = centeredRect(boxComp.schX, boxComp.schY, boxComp.width, boxComp.height);
const boxIsLeft = boxComp.schX <= labelComp.schX;
const hits = [];
for (const label of labels) {
const labelBounds = getNetLabelBounds(label);
if (!rectOverlap(boxBounds, labelBounds))
continue;
let xSeparation;
if (boxIsLeft) {
xSeparation = boxBounds.right - labelBounds.left + 0.1;
}
else {
xSeparation = labelBounds.right - boxBounds.left + 0.1;
}
hits.push({
type: "box-label",
bounds: {
left: Math.max(boxBounds.left, labelBounds.left),
right: Math.min(boxBounds.right, labelBounds.right),
top: Math.min(boxBounds.top, labelBounds.top),
bottom: Math.max(boxBounds.bottom, labelBounds.bottom)
},
boxComp,
labelComp,
boxId,
labelId,
xSeparation
});
}
return hits;
}
buildAndPushIssues() {
if (this.rawCollisions.length === 0)
return;
const collisionsBySheet = new Map;
for (const collision of this.rawCollisions) {
const placement = collision.type === "label-label" ? collision.leftComp : collision.boxComp;
const sheetKey = placement.schematicSheetId ?? "";
const sheetCollisions = collisionsBySheet.get(sheetKey);
if (sheetCollisions)
sheetCollisions.push(collision);
else
collisionsBySheet.set(sheetKey, [collision]);
}
for (const collisions of collisionsBySheet.values()) {
this.buildAndPushIssueForSheet(collisions);
}
}
buildAndPushIssueForSheet(collisions) {
const globalFixes = this.computeGlobalFixes(collisions);
if (globalFixes.size === 0)
return;
const seenPairs = new Set;
const pairs = [];
for (const collision of collisions) {
let comp1Name;
let comp2Name;
if (collision.type === "label-label") {
comp1Name = collision.leftComp.sourceComponentName ?? "";
comp2Name = collision.rightComp.sourceComponentName ?? "";
}
else {
comp1Name = collision.boxComp.sourceComponentName ?? "";
comp2Name = collision.labelComp.sourceComponentName ?? "";
}
const key = `${comp1Name}/${comp2Name}`;
if (!seenPairs.has(key)) {
seenPairs.add(key);
pairs.push({ comp1Name, comp2Name });
}
}
const firstCollision = collisions[0];
const firstPlacement = firstCollision.type === "label-label" ? firstCollision.leftComp : firstCollision.boxComp;
this.params.issues.push({
lineItemType: "NetLabelCollision",
schematicSheetId: firstPlacement.schematicSheetId,
schematicSheetName: firstPlacement.schematicSheetName,
pairs,
collisionBounds: collisions.map((collision) => collision.bounds),
moves: Array.from(globalFixes.values())
});
}
computeGlobalFixes(collisions) {
const compById = new Map;
for (const placement of this.placements) {
if (placement.schematicComponentId)
compById.set(placement.schematicComponentId, placement);
}
const constraintMap = new Map;
const addConstraint = (leftId, rightId, xSeparation) => {
const leftComp = compById.get(leftId);
const rightComp = compById.get(rightId);
if (!leftComp || !rightComp)
return;
const minSep = rightComp.schX - leftComp.schX + xSeparation;
const key = `${leftId}|${rightId}`;
constraintMap.set(key, Math.max(constraintMap.get(key) ?? 0, minSep));
};
for (const collision of collisions) {
if (collision.type === "label-label") {
addConstraint(collision.leftId, collision.rightId, collision.xSeparation);
}
else if (collision.boxComp.schX <= collision.labelComp.schX) {
addConstraint(collision.boxId, collision.labelId, collision.xSeparation);
}
else {
addConstraint(collision.labelId, collision.boxId, collision.xSeparation);
}
}
const constraints = [...constraintMap.entries()].map(([key, minSep]) => {
const pipeIndex = key.indexOf("|");
return {
leftId: key.slice(0, pipeIndex),
rightId: key.slice(pipeIndex + 1),
minSep
};
});
const allIds = new Set;
const adjacency = new Map;
for (const { leftId, rightId } of constraints) {
allIds.add(leftId);
allIds.add(rightId);
if (!adjacency.has(leftId))
adjacency.set(leftId, new Set);
if (!adjacency.has(rightId))
adjacency.set(rightId, new Set);
adjacency.get(leftId).add(rightId);
adjacency.get(rightId).add(leftId);
}
const visited = new Set;
const result = new Map;
for (const startId of allIds) {
if (visited.has(startId))
continue;
const group = [];
const queue = [startId];
visited.add(startId);
while (queue.length) {
const compId = queue.shift();
group.push(compId);
for (const neighbor of adjacency.get(compId) ?? []) {
if (!visited.has(neighbor)) {
visited.add(neighbor);
queue.push(neighbor);
}
}
}
group.sort((idA, idB) => (compById.get(idA)?.schX ?? 0) - (compById.get(idB)?.schX ?? 0));
const groupIds = new Set(group);
const groupConstraints = constraints.filter((c) => groupIds.has(c.leftId) && groupIds.has(c.rightId));
const assigned = new Map;
for (const compId of group) {
let newX = compById.get(compId)?.schX ?? 0;
for (const { leftId, rightId, minSep } of groupConstraints) {
if (rightId === compId && assigned.has(leftId)) {
newX = Math.max(newX, assigned.get(leftId) + minSep);
}
}
assigned.set(compId, newX);
}
const totalPush = [...assigned.entries()].reduce((sum, [compId, newX]) => sum + (newX - (compById.get(compId)?.schX ?? 0)), 0);
if (totalPush > 0.000000001) {
const pullBack = totalPush / group.length;
const shifted = new Map;
for (const compId of group) {
let newX = (compById.get(compId)?.schX ?? 0) - pullBack;
for (const { leftId, rightId, minSep } of groupConstraints) {
if (rightId === compId && shifted.has(leftId)) {
newX = Math.max(newX, shifted.get(leftId) + minSep);
}
}
shifted.set(compId, newX);
}
const maxDisplacement = (positions) => [...positions.entries()].reduce((currentMax, [compId, newX]) => Math.max(currentMax, Math.abs(newX - (compById.get(compId)?.schX ?? 0))), 0);
if (maxDisplacement(shifted) < maxDisplacement(assigned)) {
for (const [compId, newX] of shifted)
assigned.set(compId, newX);
}
}
for (const [compId, newX] of assigned) {
const comp = compById.get(compId);
if (!comp || Math.abs(newX - comp.schX) < 0.000000001)
continue;
result.set(compId, {
componentName: comp.sourceComponentName ?? compId,
newSchX: Math.round(newX * 100) / 100,
newSchY: Math.round(comp.schY * 100) / 100
});
}
}
return result;
}
buildNetLabelsByComponentId(circuitJson) {
const MATCH_EPSILON = 0.0001;
const portPositions = [];
for (const element of circuitJson) {
if (element.type !== "schematic_port")
continue;
const port = element;
if (!port.schematic_component_id)
continue;
portPositions.push({
componentId: port.schematic_component_id,
cx: port.center.x,
cy: port.center.y,
schematicSheetId: port.schematic_sheet_id
});
}
const result = new Map;
for (const element of circuitJson) {
if (element.type !== "schematic_net_label")
continue;
const label = element;
if (!label.anchor_position)
continue;
const { x: anchorX, y: anchorY } = label.anchor_position;
const matches = portPositions.filter((port) => port.schematicSheetId === label.schematic_sheet_id && Math.hypot(port.cx - anchorX, port.cy - anchorY) < MATCH_EPSILON);
if (matches.length === 0)
continue;
const componentIds = new Set(matches.map((match) => match.componentId));
if (componentIds.size !== 1)
continue;
const componentId = matches[0].componentId;
const labels = result.get(componentId) ?? [];
labels.push(label);
result.set(componentId, labels);
}
return result;
}
static netLabelCollisionToString(issue) {
const pairAttrs = issue.pairs.map((pair, i) => `pair${i + 1}="${pair.comp1Name}/${pair.comp2Name}"`).join(" ");
const moves = issue.moves.map((move) => ` <Move componentName="${move.componentName}" newSchX="${move.newSchX}" newSchY="${move.newSchY}" />`);
return [
`<ComponentNetLabelCollision ${pairAttrs}>`,
` <SuggestedFix note="Apply all moves simultaneously. Set schAutoLayoutEnabled on your circuit.">`,
...moves,
` </SuggestedFix>`,
`</ComponentNetLabelCollision>`
].join(`
`);
}
}
// ../../work/placement-analysis/lib/solvers/ComponentPinAlignmentSolver/ComponentPinAlignmentSolver.ts
class ComponentPinAlignmentSolver extends BaseSolver {
static ALIGNMENT_EPSILON = 0.01;
ctx;
out;
constructor({ ctx, issues }) {
super();
this.ctx = ctx;
this.out = issues;
}
_step() {
const portsById = new Map(this.ctx.circuitJson.filter((el) => el.type === "schematic_port").map((port) => [port.schematic_port_id, port]));
const placementBySchematicComponentId = new Map(this.ctx.componentPlacements.flatMap((placement) => placement.schematicComponentId ? [[placement.schematicComponentId, placement]] : []));
const pinPairsByComponentPair = new Map;
for (const trace of this.ctx.circuitJson.filter((el) => el.type === "schematic_trace")) {
const pinPair = this.getTracePinPair(trace, portsById);
if (!pinPair)
continue;
const firstComponentId = pinPair.firstPort.schematic_component_id;
const secondComponentId = pinPair.secondPort.schematic_component_id;
if (!firstComponentId || !secondComponentId || firstComponentId === secondComponentId) {
continue;
}
const orderedPair = firstComponentId < secondComponentId ? pinPair : {
firstPort: pinPair.secondPort,
secondPort: pinPair.firstPort
};
const key = [firstComponentId, secondComponentId].sort().join("\x00");
const pairs = pinPairsByComponentPair.get(key) ?? [];
const isDuplicate = pairs.some((pair) => pair.firstPort.schematic_port_id === orderedPair.firstPort.schematic_port_id && pair.secondPort.schematic_port_id === orderedPair.secondPort.schematic_port_id);
if (!isDuplicate)
pairs.push(orderedPair);
pinPairsByComponentPair.set(key, pairs);
}
for (const pinPairs of pinPairsByComponentPair.values()) {
const issue = this.findVerticalShiftIssue(pinPairs, placementBySchematicComponentId);
if (issue)
this.out.push(issue);
}
this.solved = true;
}
getTracePinPair(trace, portsById) {
const firstEdge = trace.edges?.[0];
const lastEdge = trace.edges?.at(-1);
if (!firstEdge || !lastEdge)
return;
const firstPortId = firstEdge.from_schematic_port_id ?? firstEdge.to_schematic_port_id;
const secondPortId = lastEdge.to_schematic_port_id ?? lastEdge.from_schematic_port_id;
const ports = [...portsById.values()];
const firstPort = firstPortId ? portsById.get(firstPortId) : this.findPortAtPoint(ports, firstEdge.from, trace.schematic_sheet_id);
const secondPort = secondPortId ? portsById.get(secondPortId) : this.findPortAtPoint(ports, lastEdge.to, trace.schematic_sheet_id);
if (!firstPort || !secondPort)
return;
if (firstPort.schematic_port_id === secondPort.schematic_port_id)
return;
if (firstPort.schematic_sheet_id !== secondPort.schematic_sheet_id)
return;
return { firstPort, secondPort };
}
findPortAtPoint(ports, point, schematicSheetId) {
const { ALIGNMENT_EPSILON } = ComponentPinAlignmentSolver;
return ports.find((port) => port.schematic_sheet_id === schematicSheetId && Math.abs(port.center.x - point.x) <= ALIGNMENT_EPSILON && Math.abs(port.center.y - point.y) <= ALIGNMENT_EPSILON);
}
findVerticalShiftIssue(pinPairs, placementBySchematicComponentId) {
const firstPair = pinPairs[0];
if (!firstPair)
return;
const firstPlacement = placementBySchematicComponentId.get(firstPair.firstPort.schematic_component_id);
const secondPlacement = placementBySchematicComponentId.get(firstPair.secondPort.schematic_component_id);
if (!firstPlacement || !secondPlacement)
return;
const [leftPlacement, rightPlacement] = firstPlacement.schX <= secondPlacement.schX ? [firstPlacement, secondPlacement] : [secondPlacement, firstPlacement];
const horizontalPairs = pinPairs.flatMap((pair) => {
const [leftPort, rightPort] = pair.firstPort.center.x <= pair.secondPort.center.x ? [pair.firstPort, pair.secondPort] : [pair.secondPort, pair.firstPort];
return leftPort.facing_direction === "right" && rightPort.facing_direction === "left" ? [{ leftPort, rightPort }] : [];
});
if (horizontalPairs.length < 2)
return;
const { ALIGNMENT_EPSILON } = ComponentPinAlignmentSolver;
const currentlyAlignedPinCount = horizontalPairs.filter(({ leftPort, rightPort }) => Math.abs(leftPort.center.y - rightPort.center.y) <= ALIGNMENT_EPSILON).length;
const candidateGroups = [];
for (const pair of horizontalPairs) {
const deltaSchY2 = pair.leftPort.center.y - pair.rightPort.center.y;
if (Math.abs(deltaSchY2) <= ALIGNMENT_EPSILON)
continue;
const group = candidateGroups.find((candidate) => Math.abs(candidate.deltaSchY - deltaSchY2) <= ALIGNMENT_EPSILON);
if (group)
group.pairs.push(pair);
else
candidateGroups.push({ deltaSchY: deltaSchY2, pairs: [pair] });
}
const bestCandidate = candidateGroups.sort((a, b) => b.pairs.length - a.pairs.length || Math.abs(a.deltaSchY) - Math.abs(b.deltaSchY))[0];
if (!bestCandidate || bestCandidate.pairs.length < 2 || bestCandidate.pairs.length <= currentlyAlignedPinCount) {
return;
}
const targetName = rightPlacement.sourceComponentName ?? rightPlacement.schematicComponentId ?? "component";
const deltaSchY = bestCandidate.deltaSchY;
const newSchY = rightPlacement.schY + deltaSchY;
return {
lineItemType: "ComponentPinsWouldAlignWithVerticalShift",
firstComponent: leftPlacement,
secondComponent: rightPlacement,
targetComponent: rightPlacement,
deltaSchY,
newSchY,
currentlyAlignedPinCount,
alignedPinCount: bestCandidate.pairs.length,
alignedPinPairs: bestCandidate.pairs.map(({ leftPort, rightPort }) => ({
firstPin: this.getPinLabel(leftPort),
secondPin: this.getPinLabel(rightPort)
})),
message: `shift ${targetName} vertically by ${fmtDelta(deltaSchY)} to align ${bestCandidate.pairs.length} connected pin pairs`
};
}
getPinLabel(port) {
return port.display_pin_label ?? port.pin_number?.toString();
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "firstComponentName", issue.firstComponent.sourceComponentName);
addAttr(attrs, "secondComponentName", issue.secondComponent.sourceComponentName);
addAttr(attrs, "targetComponentName", issue.targetComponent.sourceComponentName);
addAttr(attrs, "deltaSchY", issue.deltaSchY);
addAttr(attrs, "newSchY", issue.newSchY);
addAttr(attrs, "currentlyAlignedPinCount", issue.currentlyAlignedPinCount);
addAttr(attrs, "alignedPinCount", issue.alignedPinCount);
addAttr(attrs, "message", issue.message);
return `<ComponentPinsWouldAlignWithVerticalShift ${attrs.join(" ")} />`;
}
}
// ../../work/placement-analysis/lib/solvers/CrystalLoadCapacitorPlacementSolver/CrystalLoadCapacitorPlacementSolver.ts
class CrystalLoadCapacitorPlacementSolver extends BaseSolver {
static ALIGNMENT_TOLERANCE = 0.1;
issues;
networks;
currentNetworkIndex = 0;
constructor({ ctx, issues }) {
super();
this.issues = issues;
this.networks = this.findCrystalLoadNetworks(ctx);
this.solved = this.networks.length === 0;
}
_step() {
const network = this.networks[this.currentNetworkIndex];
if (!network) {
this.solved = true;
return;
}
this.currentNetworkIndex += 1;
this.solved = this.currentNetworkIndex >= this.networks.length;
const deltaSchX = round3(network.newSchX - network.crystal.schX);
const deltaSchY = round3(network.newSchY - network.crystal.schY);
if (Math.abs(deltaSchX) <= CrystalLoadCapacitorPlacementSolver.ALIGNMENT_TOLERANCE && Math.abs(deltaSchY) <= CrystalLoadCapacitorPlacementSolver.ALIGNMENT_TOLERANCE) {
return;
}
const crystalName = network.crystal.sourceComponentName ?? "the crystal";
const firstCapacitorName = network.firstLoadCapacitor.sourceComponentName ?? "the first load capacitor";
const secondCapacitorName = network.secondLoadCapacitor.sourceComponentName ?? "the second load capacitor";
this.issues.push({
lineItemType: "CrystalNotCenteredOverLoadCapacitors",
crystalSchematicBox: network.crystal,
firstLoadCapacitorSchematicBox: network.firstLoadCapacitor,
secondLoadCapacitorSchematicBox: network.secondLoadCapacitor,
deltaSchX,
deltaSchY,
newSchX: network.newSchX,
newSchY: network.newSchY,
message: `move ${crystalName} to schX=${network.newSchX}, schY=${network.newSchY} so it is centered between ${firstCapacitorName} and ${secondCapacitorName} and aligned with their load-side pins`
});
}
findCrystalLoadNetworks(ctx) {
const sourceComponents = new Map;
const sourcePortsByComponentId = new Map;
const schematicPortsBySourcePortId = new Map;
const placementBySourceComponentId = new Map(ctx.componentPlacements.flatMap((placement) => placement.sourceComponentId ? [[placement.sourceComponentId, placement]] : []));
for (const element of ctx.circuitJson) {
if (element.type === "source_component") {
sourceComponents.set(element.source_component_id, {
sourceComponentId: element.source_component_id,
ftype: "ftype" in element && typeof element.ftype === "string" ? element.ftype : undefined
});
}
if (element.type === "source_port" && typeof element.source_component_id === "string" && typeof element.subcircuit_connectivity_map_key === "string") {
const sourcePort = {
sourcePortId: element.source_port_id,
sourceComponentId: element.source_component_id,
connectivityKey: element.subcircuit_connectivity_map_key
};
const componentPorts = sourcePortsByComponentId.get(element.source_component_id) ?? [];
componentPorts.push(sourcePort);
sourcePortsByComponentId.set(element.source_component_id, componentPorts);
}
if (element.type === "schematic_port" && element.source_port_id) {
schematicPortsBySourcePortId.set(element.source_port_id, element);
}
}
const capacitorConnectionsByConnectivityKey = new Map;
for (const sourceComponent of sourceComponents.values()) {
if (sourceComponent.ftype !== "simple_capacitor")
continue;
const capacitorPorts = sourcePortsByComponentId.get(sourceComponent.sourceComponentId) ?? [];
if (capacitorPorts.length !== 2)
continue;
const firstCapacitorPort = capacitorPorts[0];
const secondCapacitorPort = capacitorPorts[1];
const capacitorPlacement = placementBySourceComponentId.get(sourceComponent.sourceComponentId);
if (!capacitorPlacement)
continue;
for (const [loadPort, returnPort] of [
[firstCapacitorPort, secondCapacitorPort],
[secondCapacitorPort, firstCapacitorPort]
]) {
const schematicLoadPort = schematicPortsBySourcePortId.get(loadPort.sourcePortId);
if (!schematicLoadPort)
continue;
const connections = capacitorConnectionsByConnectivityKey.get(loadPort.connectivityKey) ?? [];
connections.push({
capacitor: capacitorPlacement,
loadPort: schematicLoadPort,
returnConnectivityKey: returnPort.connectivityKey
});
capacitorConnectionsByConnectivityKey.set(loadPort.connectivityKey, connections);
}
}
const networks = [];
for (const sourceComponent of sourceComponents.values()) {
if (sourceComponent.ftype !== "simple_crystal" && sourceComponent.ftype !== "simple_chip") {
continue;
}
const crystalPorts = sourcePortsByComponentId.get(sourceComponent.sourceComponentId) ?? [];
if (crystalPorts.length !== 2 || crystalPorts[0].connectivityKey === crystalPorts[1].connectivityKey) {
continue;
}
const firstCrystalConnectivityKey = crystalPorts[0].connectivityKey;
const secondCrystalConnectivityKey = crystalPorts[1].connectivityKey;
const hasOscillatorHost = [...sourcePortsByComponentId.entries()].some(([sourceComponentId, sourcePorts]) => sourceComponentId !== sourceComponent.sourceComponentId && sourcePorts.length > 2 && sourcePorts.some((port) => port.connectivityKey === firstCrystalConnectivityKey) && sourcePorts.some((port) => port.connectivityKey === secondCrystalConnectivityKey));
if (!hasOscillatorHost)
continue;
const crystalPlacement = placementBySourceComponentId.get(sourceComponent.sourceComponentId);
if (!crystalPlacement)
continue;
const firstConnections = capacitorConnectionsByConnectivityKey.get(crystalPorts[0].connectivityKey) ?? [];
const secondConnections = capacitorConnectionsByConnectivityKey.get(crystalPorts[1].connectivityKey) ?? [];
const candidatePairs = firstConnections.flatMap((firstConnection) => secondConnections.flatMap((secondConnection) => {
if (firstConnection.capacitor.sourceComponentId === secondConnection.capacitor.sourceComponentId || firstConnection.returnConnectivityKey !== secondConnection.returnConnectivityKey || firstConnection.returnConnectivityKey === firstCrystalConnectivityKey || firstConnection.returnConnectivityKey === secondCrystalConnectivityKey || firstConnection.capacitor.schematicSheetId !== crystalPlacement.schematicSheetId || secondConnection.capacitor.schematicSheetId !== crystalPlacement.schematicSheetId) {
return [];
}
return [{ firstConnection, secondConnection }];
}));
if (candidatePairs.length === 0)
continue;
const bestPair = candidatePairs.toSorted((a, b) => pairDistance(a, crystalPlacement) - pairDistance(b, crystalPlacement))[0];
const loadPorts = [
bestPair.firstConnection.loadPort,
bestPair.secondConnection.loadPort
];
const capacitors = [
bestPair.firstConnection.capacitor,
bestPair.secondConnection.capacitor
].toSorted((a, b) => a.schX - b.schX);
networks.push({
crystal: crystalPlacement,
firstLoadCapacitor: capacitors[0],
secondLoadCapacitor: capacitors[1],
newSchX: round3((loadPorts[0].center.x + loadPorts[1].center.x) / 2),
newSchY: round3((loadPorts[0].center.y + loadPorts[1].center.y) / 2)
});
}
return networks;
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "crystalName", issue.crystalSchematicBox.sourceComponentName);
addAttr(attrs, "firstLoadCapacitorName", issue.firstLoadCapacitorSchematicBox.sourceComponentName);
addAttr(attrs, "secondLoadCapacitorName", issue.secondLoadCapacitorSchematicBox.sourceComponentName);
addAttr(attrs, "newSchX", issue.newSchX);
addAttr(attrs, "newSchY", issue.newSchY);
addAttr(attrs, "deltaSchX", issue.deltaSchX, { formatDelta: true });
addAttr(attrs, "deltaSchY", issue.deltaSchY, { formatDelta: true });
addAttr(attrs, "message", issue.message);
return `<CrystalNotCenteredOverLoadCapacitors ${attrs.join(" ")} />`;
}
}
var pairDistance = (pair, crystal) => distance2(pair.firstConnection.capacitor, crystal) + distance2(pair.secondConnection.capacitor, crystal);
var distance2 = (first, second) => Math.hypot(first.schX - second.schX, first.schY - second.schY);
var round3 = (value) => Math.round(value * 100) / 100;
// ../../work/placement-analysis/node_modules/circuit-json-to-connectivity-map/dist/index.js
function findConnectedNetworks(connections) {
const networks = /* @__PURE__ */ new Map;
let netCounter = 0;
function getOrCreateNetwork(nodeId) {
for (const [, network] of networks) {
if (network.has(nodeId)) {
return network;
}
}
const newNetwork = /* @__PURE__ */ new Set;
networks.set(`connectivity_net${netCounter++}`, newNetwork);
return newNetwork;
}
for (const connection of connections) {
let network = null;
for (const nodeId of connection) {
if (!network) {
network = getOrCreateNetwork(nodeId);
}
else if (!network.has(nodeId)) {
const existingNetwork = getOrCreateNetwork(nodeId);
if (existingNetwork !== network) {
for (const node of existingNetwork) {
network.add(node);
}
networks.delete(Array.from(networks.entries()).find(([, net]) => net === existingNetwork)[0]);
}
}
network.add(nodeId);
}
}
return Object.fromEntries(Array.from(networks.entries()).map(([netId, connectedNodes]) => [
netId,
Array.from(connectedNodes)
]));
}
var ConnectivityMap = class {
netMap;
idToNetMap;
constructor(netMap) {
this.netMap = netMap;
this.idToNetMap = {};
for (const [netId, ids] of Object.entries(netMap)) {
for (const id of ids) {
this.idToNetMap[id] = netId;
}
}
}
addConnections(connections) {
for (const connection of connections) {
const existingNets = /* @__PURE__ */ new Set;
for (const id of connection) {
const existingNetId = this.idToNetMap[id];
if (existingNetId) {
existingNets.add(existingNetId);
}
}
let targetNetId;
if (existingNets.size === 0) {
targetNetId = `connectivity_net${Object.keys(this.netMap).length}`;
this.netMap[targetNetId] = [];
}
else if (existingNets.size === 1) {
targetNetId = existingNets.values().next().value ?? `connectivity_net${Object.keys(this.netMap).length}`;
}
else {
targetNetId = existingNets.values().next().value ?? `connectivity_net${Object.keys(this.netMap).length}`;
for (const netId of existingNets) {
if (netId !== targetNetId) {
this.netMap[targetNetId].push(...this.netMap[netId]);
this.netMap[netId] = this.netMap[targetNetId];
for (const id of this.netMap[targetNetId]) {
this.idToNetMap[id] = targetNetId;
}
}
}
}
for (const id of connection) {
if (!this.netMap[targetNetId].includes(id)) {
this.netMap[targetNetId].push(id);
}
this.idToNetMap[id] = targetNetId;
}
}
}
getIdsConnectedToNet(netId) {
return this.netMap[netId] || [];
}
getNetConnectedToId(id) {
return this.idToNetMap[id];
}
areIdsConnected(id1, id2) {
if (id1 === id2)
return true;
const netId1 = this.getNetConnectedToId(id1);
if (!netId1)
return false;
const netId2 = this.getNetConnectedToId(id2);
if (!netId2)
return false;
return netId1 === netId2 || netId2 === id1 || netId2 === id1;
}
areAllIdsConnected(ids) {
const netId = this.getNetConnectedToId(ids[0]);
for (const id of ids) {
const nextNetId = this.getNetConnectedToId(id);
if (nextNetId === undefined) {
return false;
}
if (nextNetId !== netId) {
return false;
}
}
return true;
}
};
var getSourcePortConnectivityMapFromCircuitJson = (circuitJson) => {
const connections = [];
for (const element of circuitJson) {
if (element.type === "source_trace") {
connections.push([
...element.connected_source_port_ids ?? [],
...element.connected_source_net_ids ?? []
]);
}
else if (element.type === "source_component") {
if (element.internally_connected_source_port_ids) {
for (const portGroup of element.internally_connected_source_port_ids) {
connections.push(portGroup);
}
}
}
else if (element.type === "source_component_internal_connection") {
connections.push(element.source_port_ids);
}
}
const netMap = findConnectedNetworks(connections);
return new ConnectivityMap(netMap);
};
// ../../work/placement-analysis/lib/solvers/DiodeResistorAlignmentSolver/DiodeResistorAlignmentSolver.ts
class DiodeResistorAlignmentSolver extends BaseSolver {
static DIODE_FTYPES = new Set(["simple_led", "simple_diode"]);
ctx;
out;
schematicTraces;
currentIndex = 0;
sourceConnectivity;
sourceComponentFtypeById;
sourceComponentIdBySourcePortId;
schematicPorts;
schematicBoxBySourceComponentId;
constructor({ ctx, issues }) {
super();
this.ctx = ctx;
this.out = issues;
const { circuitJson } = ctx;
this.sourceConnectivity = getSourcePortConnectivityMapFromCircuitJson(circuitJson);
this.sourceComponentFtypeById = this.buildSourceComponentFtypeById(circuitJson);
this.sourceComponentIdBySourcePortId = this.buildSourceComponentIdBySourcePortId(circuitJson);
this.schematicPorts = circuitJson.filter((el) => el.type === "schematic_port");
this.schematicBoxBySourceComponentId = this.buildSchematicBoxBySourceComponentId();
this.schematicTraces = circuitJson.filter((el) => el.type === "schematic_trace");
this.solved = this.schematicTraces.length === 0;
}
_step() {
const trace = this.schematicTraces[this.currentIndex];
if (!trace) {
this.solved = true;
return;
}
this.currentIndex++;
this.solved = this.currentIndex >= this.schematicTraces.length;
if (!trace.edges || trace.edges.length === 0)
return;
const firstEdge = trace.edges[0];
const lastEdge = trace.edges[trace.edges.length - 1];
if (!firstEdge || !lastEdge)
return;
const start = firstEdge.from;
const end = lastEdge.to;
const schematicSheetId = trace.schematic_sheet_id;
const startSourceCompId = this.findSourceComponentIdNearPoint(start, schematicSheetId);
const endSourceCompId = this.findSourceComponentIdNearPoint(end, schematicSheetId);
if (!startSourceCompId || !endSourceCompId)
return;
const startFtype = this.sourceComponentFtypeById.get(startSourceCompId);
const endFtype = this.sourceComponentFtypeById.get(endSourceCompId);
const { DIODE_FTYPES } = DiodeResistorAlignmentSolver;
const isDiodeResistorPair = DIODE_FTYPES.has(startFtype) && endFtype === "simple_resistor" || startFtype === "simple_resistor" && DIODE_FTYPES.has(endFtype);
if (!isDiodeResistorPair)
return;
const diodeCompId = DIODE_FTYPES.has(startFtype) ? startSourceCompId : endSourceCompId;
const resistorCompId = startFtype === "simple_resistor" ? startSourceCompId : endSourceCompId;
const diodeBox = this.schematicBoxBySourceComponentId.get(diodeCompId);
const resistorBox = this.schematicBoxBySourceComponentId.get(resistorCompId);
if (!diodeBox || !resistorBox)
return;
const diodePort = this.findNearestPort(DIODE_FTYPES.has(startFtype) ? start : end, schematicSheetId);
const resistorPort = this.findNearestPort(startFtype === "simple_resistor" ? start : end, schematicSheetId);
if (!diodePort?.center || !resistorPort?.center)
return;
if (!this.sourceConnectivity.areIdsConnected(diodePort.source_port_id, resistorPort.source_port_id))
return;
const diodeName = diodeBox.sourceComponentName ?? diodeCompId;
const resistorName = resistorBox.sourceComponentName ?? resistorCompId;
const diodePin = diodePort?.display_pin_label ?? diodePort?.pin_number?.toString();
const resistorPin = resistorPort?.display_pin_label ?? resistorPort?.pin_number?.toString();
const diodeFacing = diodePort?.facing_direction;
const resistorFacing = resistorPort?.facing_direction;
const diodePinDesc = diodePin ? `${diodeName}.${diodePin}` : diodeName;
const resistorPinDesc = resistorPin ? `${resistorName}.${resistorPin}` : resistorName;
const makeIssue = (message) => ({
lineItemType: "DiodeResistorNotAligned",
diodeSchematicBox: diodeBox,
resistorSchematicBox: resistorBox,
diodePin,
resistorPin,
diodePinFacingDirection: diodeFacing,
resistorPinFacingDirection: resistorFacing,
message
});
if (!DiodeResistorAlignmentSolver.isCoLinear(diodePort.center, resistorPort.center)) {
this.out.push(makeIssue(`trace has corners — align ${diodeName} and ${resistorName} on same axis and rotate so ${diodePinDesc} faces ${resistorPinDesc}`));
return;
}
if (diodeFacing && resistorFacing && !DiodeResistorAlignmentSolver.pinsFacingEachOther(diodePort.center, diodeFacing, resistorPort.center, resistorFacing)) {
this.out.push(makeIssue(`${diodePinDesc} and ${resistorPinDesc} face away from each other — rotate ${diodeName} so ${diodePinDesc} faces ${resistorPinDesc}`));
}
}
static isCoLinear(a, b, epsilon = 0.01) {
return Math.abs(a.x - b.x) < epsilon || Math.abs(a.y - b.y) < epsilon;
}
static pinsFacingEachOther(aCenter, aFacing, bCenter, bFacing) {
const dx = bCenter.x - aCenter.x;
const dy = bCenter.y - aCenter.y;
const aToward = aFacing === "right" && dx > 0 || aFacing === "left" && dx < 0 || aFacing === "up" && dy > 0 || aFacing === "down" && dy < 0;
const bToward = bFacing === "right" && dx < 0 || bFacing === "left" && dx > 0 || bFacing === "up" && dy < 0 || bFacing === "down" && dy > 0;
return aToward && bToward;
}
static dist(a, b) {
return Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2);
}
findNearestPort(point, schematicSheetId) {
let nearest;
let minDist = Infinity;
for (const port of this.schematicPorts) {
if (port.schematic_sheet_id !== schematicSheetId)
continue;
if (!port.center)
continue;
const d = DiodeResistorAlignmentSolver.dist(point, port.center);
if (d < minDist) {
minDist = d;
nearest = port;
}
}
return nearest;
}
findSourceComponentIdNearPoint(point, schematicSheetId) {
const nearest = this.findNearestPort(point, schematicSheetId);
if (!nearest || !nearest.source_port_id)
return;
return this.sourceComponentIdBySourcePortId.get(nearest.source_port_id);
}
buildSourceComponentFtypeById(circuitJson) {
const map = new Map;
for (const el of circuitJson) {
if (el.type === "source_component" && "source_component_id" in el && "ftype" in el && typeof el.ftype === "string") {
map.set(el.source_component_id, el.ftype);
}
}
return map;
}
buildSourceComponentIdBySourcePortId(circuitJson) {
const map = new Map;
for (const el of circuitJson) {
if (el.type === "source_port" && "source_port_id" in el && "source_component_id" in el && typeof el.source_port_id === "string" && typeof el.source_component_id === "string") {
map.set(el.source_port_id, el.source_component_id);
}
}
return map;
}
buildSchematicBoxBySourceComponentId() {
const map = new Map;
for (const placement of this.ctx.componentPlacements) {
if (placement.sourceComponentId) {
map.set(placement.sourceComponentId, placement);
}
}
return map;
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "diodeComponentName", issue.diodeSchematicBox.sourceComponentName);
addAttr(attrs, "diodePin", issue.diodePin);
addAttr(attrs, "resistorComponentName", issue.resistorSchematicBox.sourceComponentName);
addAttr(attrs, "resistorPin", issue.resistorPin);
addAttr(attrs, "message", issue.message);
return `<DiodeResistorNotAligned ${attrs.join(" ")} />`;
}
}
// ../../work/placement-analysis/lib/solvers/FeedbackNetworkPlacementSolver/FeedbackNetworkPlacementSolver.ts
class FeedbackNetworkPlacementSolver extends BaseSolver {
static MIN_BODY_GAP = 4;
index;
amplifierIds;
issues;
currentIndex = 0;
constructor({ ctx, issues }) {
super();
this.issues = issues;
this.index = new PlacementNetworkIndex(ctx);
this.amplifierIds = [...this.index.components.values()].filter((component) => component.ftype === "simple_op_amp").map((component) => component.source_component_id);
this.solved = this.amplifierIds.length === 0;
}
_step() {
const id = this.amplifierIds[this.currentIndex++];
this.solved = this.currentIndex >= this.amplifierIds.length;
if (!id)
return;
const index = this.index;
const amplifier = index.placement(id);
const output = index.namedPort(id, "output");
const input = index.namedPort(id, "inverting_input");
if (!amplifier || !output || !input || !index.port(output) || !index.port(input))
return;
const outputNet = index.connected(output.source_port_id);
const inputNet = index.connected(input.source_port_id);
if (outputNet === inputNet || index.isRail(outputNet) || index.isRail(inputNet))
return;
if ((index.portsByNet.get(inputNet) ?? []).some((port) => port.source_component_id !== id && index.components.get(port.source_component_id)?.ftype === "simple_op_amp"))
return;
const feedbackComponents = [];
const seen = new Set;
for (const port of index.portsByNet.get(outputNet) ?? []) {
const componentId = port.source_component_id;
if (seen.has(componentId))
continue;
seen.add(componentId);
const component = index.components.get(componentId);
if (component?.ftype !== "simple_resistor" && component?.ftype !== "simple_capacitor")
continue;
if (component.ftype === "simple_resistor" && !(component.resistance > 0))
continue;
const nets = index.twoTerminalNets(componentId);
if (!nets?.includes(inputNet) || !nets.includes(outputNet))
continue;
const placement = index.placement(componentId);
if (!placement || !index.sameLocalScope(amplifier, placement))
return;
feedbackComponents.push(placement);
}
const distantComponents = feedbackComponents.flatMap((schematicBox) => {
const bodyGap2 = distanceBetweenBoxes(amplifier, schematicBox);
const maxRecommendedBodyGap = Math.max(FeedbackNetworkPlacementSolver.MIN_BODY_GAP, 3 * Math.max(schematicBox.width, schematicBox.height));
return bodyGap2 > maxRecommendedBodyGap ? [{ schematicBox, bodyGap: bodyGap2, maxRecommendedBodyGap }] : [];
});
if (distantComponents.length === 0)
return;
const names = distantComponents.map(({ schematicBox }) => schematicBox.sourceComponentName ?? schematicBox.sourceComponentId).join(", ");
this.issues.push({
lineItemType: "FeedbackNetworkNotCompact",
amplifierSchematicBox: amplifier,
feedbackComponents,
distantComponents,
outputSourcePortId: output.source_port_id,
invertingInputSourcePortId: input.source_port_id,
message: `consider grouping ${names} closer to ${amplifier.sourceComponentName ?? id}, with a compact feedback return path above or below the amplifier`
});
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "amplifierName", issue.amplifierSchematicBox.sourceComponentName);
addAttr(attrs, "feedbackComponentNames", issue.feedbackComponents.map((box) => box.sourceComponentName ?? box.sourceComponentId).join(", "));
addAttr(attrs, "distantComponentNames", issue.distantComponents.map(({ schematicBox }) => schematicBox.sourceComponentName ?? schematicBox.sourceComponentId).join(", "));
addAttr(attrs, "message", issue.message);
return `<FeedbackNetworkNotCompact ${attrs.join(" ")} />`;
}
}
function distanceBetweenBoxes(a, b) {
return Math.hypot(Math.max(0, Math.abs(a.schX - b.schX) - (a.width + b.width) / 2), Math.max(0, Math.abs(a.schY - b.schY) - (a.height + b.height) / 2));
}
// ../../work/placement-analysis/lib/utils/switch-pull-resistor-pairs.ts
function getSwitchPullResistorPairs(index) {
const pairs = [];
const isHorizontal = (id) => {
const ports = index.portsByComponent.get(id);
if (ports?.length !== 2)
return false;
const a = index.port(ports[0]);
const b = index.port(ports[1]);
return !!a && !!b && Math.abs(a.center.y - b.center.y) < 0.01 && Math.abs(a.center.x - b.center.x) > 0.01;
};
for (const component of index.components.values()) {
if (component.ftype !== "simple_resistor" || component.resistance <= 0)
continue;
const id = component.source_component_id;
const nets = index.twoTerminalNets(id);
if (!nets || nets.filter((net) => index.isRail(net)).length !== 1)
continue;
const rail = nets.find((net) => index.isRail(net));
if (index.powerNets.has(rail) && index.groundNets.has(rail))
continue;
const signal = nets.find((net) => net !== rail);
const peers = index.portsByNet.get(signal) ?? [];
const switches = peers.filter((port) => {
const type = index.components.get(port.source_component_id)?.ftype;
return type === "simple_switch" || type === "simple_push_button";
});
if (switches.length !== 1 || peers.filter((port) => index.components.get(port.source_component_id)?.ftype === "simple_resistor").length !== 1)
continue;
const signalPort = switches[0];
const switchId = signalPort.source_component_id;
const switchType = index.components.get(switchId)?.ftype;
const switchNets = index.twoTerminalNets(switchId);
const otherRail = switchNets?.find((net) => net !== signal);
if (!otherRail)
continue;
const pullDirection = index.powerNets.has(rail) ? "up" : "down";
if (pullDirection === "up" ? !index.groundNets.has(otherRail) || index.powerNets.has(otherRail) : !index.powerNets.has(otherRail) || index.groundNets.has(otherRail))
continue;
if ([id, switchId].some((componentId) => index.portsByComponent.get(componentId)?.some((port) => port.do_not_connect)))
continue;
const resistor = index.placement(id);
const switchBox = index.placement(switchId);
const pin = index.port(signalPort);
if (!resistor || !switchBox || !pin || !index.sameLocalScope(resistor, switchBox))
continue;
pairs.push({
resistor,
switchBox,
signalPort,
signalSchY: pin.center.y,
pullDirection,
horizontalPushbutton: switchType === "simple_push_button" && isHorizontal(id) && isHorizontal(switchId)
});
}
return pairs;
}
function getHorizontalPushbuttonComponentIds(index) {
return new Set(getSwitchPullResistorPairs(index).flatMap((pair) => pair.horizontalPushbutton ? [pair.resistor.sourceComponentId, pair.switchBox.sourceComponentId] : []));
}
// ../../work/placement-analysis/lib/solvers/PullResistorPlacementSolver/PullResistorPlacementSolver.ts
class PullResistorPlacementSolver extends BaseSolver {
static MIN_WRONG_SIDE_GAP = 1.5;
index;
resistorIds;
horizontalPushbuttonComponentIds;
issues;
currentIndex = 0;
constructor({ ctx, issues }) {
super();
this.issues = issues;
this.index = new PlacementNetworkIndex(ctx);
this.horizontalPushbuttonComponentIds = getHorizontalPushbuttonComponentIds(this.index);
this.resistorIds = [...this.index.components.values()].filter((component) => component.ftype === "simple_resistor" && component.resistance > 0).map((component) => component.source_component_id);
this.solved = this.resistorIds.length === 0;
}
_step() {
const id = this.resistorIds[this.currentIndex++];
this.solved = this.currentIndex >= this.resistorIds.length;
if (!id)
return;
if (this.horizontalPushbuttonComponentIds.has(id))
return;
const index = this.index;
const resistor = index.placement(id);
const nets = index.twoTerminalNets(id);
if (!resistor || !nets)
return;
const rails = nets.filter((net) => index.isRail(net));
if (rails.length !== 1)
return;
const rail = rails[0];
if (index.powerNets.has(rail) && index.groundNets.has(rail))
return;
const pullDirection = index.groundNets.has(rail) ? "down" : "up";
const signal = nets.find((net) => net !== rail);
const signalPorts = index.portsByNet.get(signal) ?? [];
const requiringPorts = signalPorts.filter((port) => port.needs_external_pullup || port.needs_external_pulldown);
if (requiringPorts.length !== 1)
return;
const signalPort = requiringPorts[0];
if (signalPort.needs_external_pullup && signalPort.needs_external_pulldown)
return;
if (pullDirection === "up" ? !signalPort.needs_external_pullup : !signalPort.needs_external_pulldown)
return;
const host = index.placement(signalPort.source_component_id);
const schematicPin = index.port(signalPort);
if (!host || !schematicPin || !index.sameLocalScope(host, resistor))
return;
if (signalPorts.some((port) => {
const otherId = port.source_component_id;
if (otherId === id || otherId === signalPort.source_component_id)
return false;
const type = index.components.get(otherId)?.ftype;
if (type !== "simple_capacitor")
return true;
const capacitorNets = index.twoTerminalNets(otherId);
const returnNet = capacitorNets?.find((net) => net !== signal);
if (!returnNet || !index.groundNets.has(returnNet) || index.powerNets.has(returnNet))
return true;
const capacitor = index.placement(otherId);
return !capacitor || !index.sameLocalScope(host, capacitor);
}))
return;
const signalSchY = schematicPin.center.y;
const wrongSideGap = pullDirection === "up" ? signalSchY - (resistor.schY + resistor.height / 2) : resistor.schY - resistor.height / 2 - signalSchY;
if (wrongSideGap <= PullResistorPlacementSolver.MIN_WRONG_SIDE_GAP)
return;
const preferredSide = pullDirection === "up" ? "above" : "below";
this.issues.push({
lineItemType: "PullResistorOnWrongSide",
resistorSchematicBox: resistor,
hostSchematicBox: host,
signalSourcePortId: signalPort.source_port_id,
signalPinName: signalPort.name,
signalSchY,
pullDirection,
preferredSide,
wrongSideGap,
maxRecommendedWrongSideGap: PullResistorPlacementSolver.MIN_WRONG_SIDE_GAP,
message: `consider placing ${resistor.sourceComponentName ?? id} ${preferredSide} ${host.sourceComponentName ?? signalPort.source_component_id}.${signalPort.name} so the pull-${pullDirection} branch reads toward ${pullDirection === "up" ? "power" : "ground"}`
});
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "resistorName", issue.resistorSchematicBox.sourceComponentName);
addAttr(attrs, "hostName", issue.hostSchematicBox.sourceComponentName);
addAttr(attrs, "signalPin", issue.signalPinName);
addAttr(attrs, "pullDirection", issue.pullDirection);
addAttr(attrs, "preferredSide", issue.preferredSide);
addAttr(attrs, "signalSchY", issue.signalSchY);
addAttr(attrs, "wrongSideGap", issue.wrongSideGap);
addAttr(attrs, "message", issue.message);
return `<PullResistorOnWrongSide ${attrs.join(" ")} />`;
}
}
// ../../work/placement-analysis/lib/solvers/TwoPinComponentRailOrientationSolver/TwoPinComponentRailOrientationSolver.ts
class TwoPinComponentRailOrientationSolver extends BaseSolver {
static EPSILON = 0.01;
index;
powerNets;
groundNets;
positiveVoltageNets = new Set;
componentIds;
horizontalPushbuttonComponentIds;
issues;
currentIndex = 0;
constructor({ ctx, issues }) {
super();
this.issues = issues;
this.index = new PlacementNetworkIndex(ctx);
this.horizontalPushbuttonComponentIds = getHorizontalPushbuttonComponentIds(this.index);
this.powerNets = new Set(this.index.powerNets);
this.groundNets = new Set(this.index.groundNets);
for (const element of ctx.circuitJson) {
if (element.type === "source_net" && element.is_positive_voltage_source)
this.positiveVoltageNets.add(this.index.connected(element.source_net_id));
if (element.type !== "source_port")
continue;
const net = this.index.connected(element.source_port_id);
if (element.provides_power || element.requires_power)
this.powerNets.add(net);
if (element.provides_ground || element.requires_ground)
this.groundNets.add(net);
}
this.componentIds = [...this.index.components.keys()].filter((id) => this.index.portsByComponent.get(id)?.length === 2);
this.solved = this.componentIds.length === 0;
}
_step() {
const id = this.componentIds[this.currentIndex++];
this.solved = this.currentIndex >= this.componentIds.length;
if (!id)
return;
const index = this.index;
const component = index.placement(id);
const sourceComponent = index.components.get(id);
const nets = index.twoTerminalNets(id);
if (!component || !nets)
return;
if (sourceComponent?.ftype === "simple_inductor" && !nets.some((net) => this.groundNets.has(net)))
return;
if (sourceComponent?.ftype === "simple_diode" && nets.every((net) => this.powerNets.has(net)))
return;
if (nets.some((net) => this.powerNets.has(net) && this.groundNets.has(net)))
return;
const railTypes = nets.map((net) => this.powerNets.has(net) ? "power" : this.groundNets.has(net) ? "ground" : undefined);
if (railTypes.every((type) => type === undefined))
return;
const railType = railTypes.includes("power") ? "power" : "ground";
const candidates = nets.flatMap((net, i) => railTypes[i] === railType ? [{ net, index: i }] : []);
const railIndex = (candidates.find(({ net }) => index.portsByNet.get(net)?.some((port) => railType === "power" ? port.provides_power : port.provides_ground)) ?? candidates.find(({ net }) => (railType === "power" ? index.powerNets : index.groundNets).has(net)) ?? candidates[0]).index;
const rail = nets[railIndex];
const sourcePorts = index.portsByComponent.get(id);
const railSourcePort = sourcePorts.find((port) => index.connected(port.source_port_id) === rail);
const otherSourcePort = sourcePorts.find((port) => port !== railSourcePort);
const railPort = index.port(railSourcePort);
const otherPort = index.port(otherSourcePort);
if (!railPort || !otherPort)
return;
const otherNet = index.connected(otherSourcePort.source_port_id);
const otherIsGround = this.groundNets.has(otherNet);
const isSupplyToSignalResistor = sourceComponent?.ftype === "simple_resistor" && !this.powerNets.has(otherNet) && !otherIsGround;
const invertedRails = this.positiveVoltageNets.has(rail) && (otherIsGround || isSupplyToSignalResistor) && Math.abs(railPort.center.x - otherPort.center.x) <= TwoPinComponentRailOrientationSolver.EPSILON && railPort.center.y < otherPort.center.y - TwoPinComponentRailOrientationSolver.EPSILON && railPort.facing_direction === "down" && otherPort.facing_direction === "up";
if (invertedRails) {
this.issues.push({
lineItemType: "TwoPinComponentHasInvertedRails",
schematicBox: component,
railSourcePortId: railSourcePort.source_port_id,
railPinName: railSourcePort.name,
railType: "power",
deltaSchRotation: 180,
suggestedRailFacingDirection: "up",
message: `rotate ${component.sourceComponentName ?? id} by 180° so its positive-supply pin faces up and its ${otherIsGround ? "ground" : "signal"} pin faces down; preserve pin connections and reroute attached traces`
});
return;
}
const horizontal = Math.abs(railPort.center.y - otherPort.center.y) <= TwoPinComponentRailOrientationSolver.EPSILON && Math.abs(railPort.center.x - otherPort.center.x) > TwoPinComponentRailOrientationSolver.EPSILON && (railPort.facing_direction === "left" && otherPort.facing_direction === "right" || railPort.facing_direction === "right" && otherPort.facing_direction === "left");
if (!horizontal)
return;
if (this.horizontalPushbuttonComponentIds.has(id))
return;
const suggestedRailFacingDirection = railType === "power" ? "up" : "down";
const deltaSchRotation = railPort.facing_direction === "left" === (railType === "power") ? -90 : 90;
this.issues.push({
lineItemType: "TwoPinComponentShouldBeVertical",
schematicBox: component,
railSourcePortId: railSourcePort.source_port_id,
railPinName: railSourcePort.name,
railType,
deltaSchRotation,
suggestedRailFacingDirection,
message: `rotate ${component.sourceComponentName ?? id} by ${deltaSchRotation}° so its ${railType}-connected pin faces ${suggestedRailFacingDirection} and the component is vertical`
});
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "componentName", issue.schematicBox.sourceComponentName);
addAttr(attrs, "railPin", issue.railPinName);
addAttr(attrs, "railType", issue.railType);
addAttr(attrs, "deltaSchRotation", issue.deltaSchRotation);
addAttr(attrs, "suggestedRailFacingDirection", issue.suggestedRailFacingDirection);
addAttr(attrs, "message", issue.message);
return `<${issue.lineItemType} ${attrs.join(" ")} />`;
}
}
// ../../work/placement-analysis/lib/utils/schematic-box-components.ts
function getSchematicBoxComponentIds(circuitJson) {
return new Set(circuitJson.flatMap((element) => element.type === "schematic_component" && element.is_box_with_pins !== false && !element.symbol_name && !element.schematic_symbol_id ? [element.schematic_component_id] : []));
}
// ../../work/placement-analysis/lib/solvers/SchematicBoxInnerLabelCollisionSolver/SchematicBoxInnerLabelCollisionSolver.ts
class SchematicBoxInnerLabelCollisionSolver extends BaseSolver {
params;
MESSAGE = "Inner labels are colliding. Increase the schWidth or schHeight.";
PIN_LABEL_EDGE_PADDING = 0.1;
PIN_LABEL_TEXT_HEIGHT = 0.15;
PIN_NAME_CHARACTER_WIDTH = 0.095;
FALLBACK_CHARACTER_WIDTH = 0.13;
INNER_LABEL_COLLISION_PADDING = 0.02;
COLLISION_COMPARISON_EPSILON = 0.000000001;
entries;
placementById;
sourcePortById;
currentIndex = 0;
constructor(params) {
super();
this.params = params;
const { circuitJson, componentPlacements } = params.ctx;
this.placementById = this.getPlacementBySchematicComponentId(componentPlacements);
this.sourcePortById = this.getSourcePortById(circuitJson);
const boxIds = getSchematicBoxComponentIds(circuitJson);
this.entries = Array.from(this.getPortsBySchematicComponentId(circuitJson)).filter(([id]) => boxIds.has(id));
this.solved = this.entries.length === 0;
}
_step() {
const entry = this.entries[this.currentIndex++];
if (!entry) {
this.solved = true;
return;
}
this.solved = this.currentIndex >= this.entries.length;
const [schematicComponentId, ports] = entry;
const schematicBox = this.placementById.get(schematicComponentId);
if (!schematicBox)
return;
const bounds = this.getCenteredRectBounds(schematicBox);
const labelRects = this.getLabelRects(bounds, ports, this.sourcePortById);
if (labelRects.length === 0)
return;
const collisionSummary = this.getCollisionSummary(labelRects);
if (collisionSummary.overlappingSides.length === 0)
return;
this.params.issues.push({
lineItemType: "SchematicBoxInnerLabelCollision",
schematicBox,
overlappingSides: collisionSummary.overlappingSides,
message: this.MESSAGE
});
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "message", issue.message);
addAttr(attrs, "componentName", issue.schematicBox.sourceComponentName);
addAttr(attrs, "currentSchWidth", issue.schematicBox.width);
addAttr(attrs, "currentSchHeight", issue.schematicBox.height);
addAttr(attrs, "overlappingSides", issue.overlappingSides.join(","));
return `<SchematicBoxInnerLabelCollision ${attrs.join(" ")} />`;
}
isSchematicPort(el) {
return el.type === "schematic_port";
}
isSourcePort(el) {
return el.type === "source_port";
}
isSchematicSide(side) {
return side === "left" || side === "right" || side === "top" || side === "bottom";
}
isPinNameLabel(label, sourcePort) {
if (!sourcePort)
return false;
return label === sourcePort.name || label === String(sourcePort.pin_number) || (sourcePort.port_hints ?? []).includes(label);
}
estimateLabelLength(label, sourcePort) {
return Array.from(label).length * (this.isPinNameLabel(label, sourcePort) ? this.PIN_NAME_CHARACTER_WIDTH : this.FALLBACK_CHARACTER_WIDTH);
}
hasCollision(requiredGrowth) {
return requiredGrowth > this.COLLISION_COMPARISON_EPSILON;
}
getCenteredRectBounds(box) {
return {
left: box.schX - box.width / 2,
right: box.schX + box.width / 2,
top: box.schY + box.height / 2,
bottom: box.schY - box.height / 2
};
}
getSourcePortById(circuitJson) {
return new Map(circuitJson.filter((el) => this.isSourcePort(el)).map((sp) => [sp.source_port_id, sp]));
}
getPlacementBySchematicComponentId(componentPlacements) {
return new Map(componentPlacements.filter((p) => p.schematicComponentId).map((p) => [p.schematicComponentId, p]));
}
getPortsBySchematicComponentId(circuitJson) {
const map = new Map;
for (const port of circuitJson.filter((el) => this.isSchematicPort(el))) {
if (!port.schematic_component_id)
continue;
if (!this.isSchematicSide(port.side_of_component))
continue;
const ports = map.get(port.schematic_component_id);
if (ports)
ports.push(port);
else
map.set(port.schematic_component_id, [port]);
}
return map;
}
getLabelRects(bounds, ports, sourcePortById) {
const rects = [];
for (const port of ports) {
if (!this.isSchematicSide(port.side_of_component))
continue;
if (!port.display_pin_label)
continue;
const labelLength = this.estimateLabelLength(port.display_pin_label, sourcePortById.get(port.source_port_id));
const halfTextHeight = this.PIN_LABEL_TEXT_HEIGHT / 2;
switch (port.side_of_component) {
case "left": {
const xMin = bounds.left + this.PIN_LABEL_EDGE_PADDING;
rects.push({
side: port.side_of_component,
xMin,
xMax: xMin + labelLength,
yMin: port.center.y - halfTextHeight,
yMax: port.center.y + halfTextHeight
});
break;
}
case "right": {
const xMax = bounds.right - this.PIN_LABEL_EDGE_PADDING;
rects.push({
side: port.side_of_component,
xMin: xMax - labelLength,
xMax,
yMin: port.center.y - halfTextHeight,
yMax: port.center.y + halfTextHeight
});
break;
}
case "top": {
const yMax = bounds.top - this.PIN_LABEL_EDGE_PADDING;
rects.push({
side: port.side_of_component,
xMin: port.center.x - halfTextHeight,
xMax: port.center.x + halfTextHeight,
yMin: yMax - labelLength,
yMax
});
break;
}
case "bottom": {
const yMin = bounds.bottom + this.PIN_LABEL_EDGE_PADDING;
rects.push({
side: port.side_of_component,
xMin: port.center.x - halfTextHeight,
xMax: port.center.x + halfTextHeight,
yMin,
yMax: yMin + labelLength
});
break;
}
}
}
return rects;
}
getCollisionSummary(rects) {
const overlappingSides = new Set;
for (let i = 0; i < rects.length; i++) {
for (let j = i + 1; j < rects.length; j++) {
const a = rects[i];
const b = rects[j];
if (a.side === b.side)
continue;
if (!this.rectsOverlap(a, b))
continue;
overlappingSides.add(a.side);
overlappingSides.add(b.side);
}
}
return {
overlappingSides: this.sortSides(Array.from(overlappingSides))
};
}
rectsOverlap(a, b) {
return this.hasCollision(Math.min(a.xMax, b.xMax) - Math.max(a.xMin, b.xMin) + this.INNER_LABEL_COLLISION_PADDING) && this.hasCollision(Math.min(a.yMax, b.yMax) - Math.max(a.yMin, b.yMin) + this.INNER_LABEL_COLLISION_PADDING);
}
sortSides(sides) {
const order = {
left: 0,
right: 1,
top: 2,
bottom: 3
};
return sides.sort((a, b) => order[a] - order[b]);
}
}
// ../../work/placement-analysis/lib/solvers/SchematicBoxOverlapSolver/SchematicBoxOverlapSolver.ts
class SchematicBoxOverlapSolver extends BaseSolver {
params;
placements;
firstIndex = 0;
secondIndex = 1;
constructor(params) {
super();
this.params = params;
this.placements = params.ctx.componentPlacements;
this.solved = this.placements.length < 2;
}
_step() {
if (this.firstIndex >= this.placements.length - 1) {
this.solved = true;
return;
}
const overlap = this.getComponentOverlap(this.placements[this.firstIndex], this.placements[this.secondIndex]);
if (overlap)
this.params.issues.push(overlap);
this.secondIndex++;
if (this.secondIndex >= this.placements.length) {
this.firstIndex++;
this.secondIndex = this.firstIndex + 1;
}
this.solved = this.firstIndex >= this.placements.length - 1;
}
getCenteredRectBounds(box) {
return {
left: box.schX - box.width / 2,
right: box.schX + box.width / 2,
top: box.schY - box.height / 2,
bottom: box.schY + box.height / 2
};
}
getOverlapCorrectionSuggestions({ firstComponent, secondComponent, overlapWidth, overlapHeight }) {
const firstArea = firstComponent.width * firstComponent.height;
const secondArea = secondComponent.width * secondComponent.height;
const target = firstArea <= secondArea ? firstComponent : secondComponent;
const other = target === firstComponent ? secondComponent : firstComponent;
const deltaSchX = target.schX <= other.schX ? -overlapWidth : overlapWidth;
const deltaSchY = target.schY <= other.schY ? -overlapHeight : overlapHeight;
return [
{
targetComponentName: target.sourceComponentName,
deltaSchX,
deltaSchY: 0,
newSchX: target.schX + deltaSchX,
newSchY: target.schY
},
{
targetComponentName: target.sourceComponentName,
deltaSchX: 0,
deltaSchY,
newSchX: target.schX,
newSchY: target.schY + deltaSchY
}
];
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "component1Name", issue.firstComponent.sourceComponentName);
addAttr(attrs, "component2Name", issue.secondComponent.sourceComponentName);
addAttr(attrs, "component1SchX", issue.firstComponent.schX);
addAttr(attrs, "component1SchY", issue.firstComponent.schY);
addAttr(attrs, "component2SchX", issue.secondComponent.schX);
addAttr(attrs, "component2SchY", issue.secondComponent.schY);
addAttr(attrs, "overlapWidth", issue.overlapWidth);
addAttr(attrs, "overlapHeight", issue.overlapHeight);
return [
`<ComponentOverlap ${attrs.join(" ")}>`,
...issue.correctionSuggestions.map(SchematicBoxOverlapSolver.correctionSuggestionToString),
"</ComponentOverlap>"
].join(`
`);
}
static correctionSuggestionToString(suggestion) {
const attrs = [];
addAttr(attrs, "target", suggestion.targetComponentName);
if (suggestion.deltaSchX !== 0) {
addAttr(attrs, "newSchX", suggestion.newSchX);
addAttr(attrs, "deltaSchX", suggestion.deltaSchX, { formatDelta: true });
}
if (suggestion.deltaSchY !== 0) {
addAttr(attrs, "newSchY", suggestion.newSchY);
addAttr(attrs, "deltaSchY", suggestion.deltaSchY, { formatDelta: true });
}
return `<OverlapCorrectionSuggestion ${attrs.join(" ")} />`;
}
getComponentOverlap(firstComponent, secondComponent) {
if (firstComponent.schematicSheetId !== secondComponent.schematicSheetId)
return null;
const a = this.getCenteredRectBounds(firstComponent);
const b = this.getCenteredRectBounds(secondComponent);
const overlapWidth = Math.min(a.right, b.right) - Math.max(a.left, b.left);
const overlapHeight = Math.min(a.bottom, b.bottom) - Math.max(a.top, b.top);
if (overlapWidth <= 0 || overlapHeight <= 0)
return null;
return {
lineItemType: "ComponentOverlap",
firstComponent,
secondComponent,
overlapWidth,
overlapHeight,
correctionSuggestions: this.getOverlapCorrectionSuggestions({
firstComponent,
secondComponent,
overlapWidth,
overlapHeight
})
};
}
}
// ../../work/placement-analysis/lib/solvers/SchematicBoxTooWideSolver/SchematicBoxTooWideSolver.ts
class SchematicBoxTooWideSolver extends BaseSolver {
params;
SCHEMATIC_BOX_TOO_WIDE_MESSAGE = "Shrink schematic box width";
PIN_HEADER_MAX_ALLOWED_GAP = 0.1;
GENERIC_MAX_ALLOWED_GAP = 1;
PIN_LABEL_EDGE_PADDING = 0.1;
PIN_NAME_CHARACTER_WIDTH = 0.095;
FALLBACK_CHARACTER_WIDTH = 0.13;
GAP_COMPARISON_EPSILON = 0.000000001;
entries;
placementById;
sourcePortById;
sourceComponentById;
currentIndex = 0;
constructor(params) {
super();
this.params = params;
const { circuitJson, componentPlacements } = params.ctx;
this.placementById = this.getPlacementBySchematicComponentId(componentPlacements);
this.sourcePortById = this.getSourcePortById(circuitJson);
this.sourceComponentById = this.getSourceComponentById(circuitJson);
const boxIds = getSchematicBoxComponentIds(circuitJson);
this.entries = Array.from(this.getPortsBySchematicComponentId(circuitJson)).filter(([id]) => boxIds.has(id));
this.solved = this.entries.length === 0;
}
_step() {
const entry = this.entries[this.currentIndex++];
if (!entry) {
this.solved = true;
return;
}
this.solved = this.currentIndex >= this.entries.length;
const [schematicComponentId, ports] = entry;
const schematicBox = this.placementById.get(schematicComponentId);
if (!schematicBox)
return;
const sourceComponent = schematicBox.sourceComponentId ? this.sourceComponentById.get(schematicBox.sourceComponentId) : undefined;
if (sourceComponent?.ftype === "simple_connector" && sourceComponent.standard === "usb_c")
return;
const bounds = this.getCenteredRectBounds(schematicBox);
const leftCol = this.getLabelColumn("left", ports, this.sourcePortById);
const rightCol = this.getLabelColumn("right", ports, this.sourcePortById);
const ftype = this.getSourceComponentFtype(schematicBox, this.sourceComponentById);
let measuredSpace;
if (leftCol && rightCol) {
measuredSpace = this.getInnerLabelEdge(bounds, rightCol) - this.getInnerLabelEdge(bounds, leftCol);
}
else if (leftCol && leftCol.labelCount >= 4) {
measuredSpace = bounds.right - this.getInnerLabelEdge(bounds, leftCol);
}
else if (rightCol && rightCol.labelCount >= 4) {
measuredSpace = this.getInnerLabelEdge(bounds, rightCol) - bounds.left;
}
if (measuredSpace === undefined)
return;
const maxAllowed = ftype === "simple_pin_header" ? this.PIN_HEADER_MAX_ALLOWED_GAP : this.GENERIC_MAX_ALLOWED_GAP;
if (!this.exceedsMaxAllowedGap(measuredSpace, maxAllowed))
return;
const suggestedSchWidth = this.getSuggestedWidth({
measuredInnerLabelHorizontalEmptySpace: measuredSpace,
maxAllowedInnerLabelHorizontalEmptySpace: maxAllowed,
currentWidth: schematicBox.width
});
if (ftype === "simple_pin_header") {
this.params.issues.push({
lineItemType: "PinHeaderSchematicBoxTooWide",
schematicBox,
measuredInnerLabelHorizontalEmptySpace: measuredSpace,
maxAllowedInnerLabelHorizontalEmptySpace: maxAllowed,
suggestedSchWidth,
message: this.SCHEMATIC_BOX_TOO_WIDE_MESSAGE
});
}
else {
this.params.issues.push({
lineItemType: "GenericSchematicBoxTooWide",
schematicBox,
measuredInnerLabelHorizontalEmptySpace: measuredSpace,
maxAllowedInnerLabelHorizontalEmptySpace: maxAllowed,
suggestedSchWidth,
message: this.SCHEMATIC_BOX_TOO_WIDE_MESSAGE
});
}
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "message", issue.message);
addAttr(attrs, "componentName", issue.schematicBox.sourceComponentName);
addAttr(attrs, "currentSchWidth", issue.schematicBox.width);
addAttr(attrs, "measuredInnerLabelHorizontalEmptySpace", issue.measuredInnerLabelHorizontalEmptySpace);
addAttr(attrs, "maxAllowedInnerLabelHorizontalEmptySpace", issue.maxAllowedInnerLabelHorizontalEmptySpace);
addAttr(attrs, "suggestedSchWidth", issue.suggestedSchWidth);
return `<${issue.lineItemType} ${attrs.join(" ")} />`;
}
isSchematicPort(el) {
return el.type === "schematic_port";
}
isSourcePort(el) {
return el.type === "source_port";
}
isHorizontalSide(side) {
return side === "left" || side === "right";
}
getSourceComponentWithFtype(el) {
if (el.type !== "source_component" || !("source_component_id" in el) || typeof el.source_component_id !== "string")
return null;
return {
type: "source_component",
source_component_id: el.source_component_id,
standard: "standard" in el && typeof el.standard === "string" ? el.standard : undefined,
ftype: "ftype" in el && typeof el.ftype === "string" ? el.ftype : undefined
};
}
isPinNameLabel(label, sourcePort) {
if (!sourcePort)
return false;
return label === sourcePort.name || label === String(sourcePort.pin_number) || (sourcePort.port_hints ?? []).includes(label);
}
estimateLabelWidth(label, sourcePort) {
return Array.from(label).length * (this.isPinNameLabel(label, sourcePort) ? this.PIN_NAME_CHARACTER_WIDTH : this.FALLBACK_CHARACTER_WIDTH);
}
exceedsMaxAllowedGap(measured, maxAllowed) {
return measured - maxAllowed > this.GAP_COMPARISON_EPSILON;
}
getCenteredRectBounds(box) {
return {
left: box.schX - box.width / 2,
right: box.schX + box.width / 2,
top: box.schY + box.height / 2,
bottom: box.schY - box.height / 2
};
}
getSourcePortById(circuitJson) {
return new Map(circuitJson.filter((el) => this.isSourcePort(el)).map((sp) => [sp.source_port_id, sp]));
}
getSourceComponentById(circuitJson) {
return new Map(circuitJson.flatMap((el) => {
const sc = this.getSourceComponentWithFtype(el);
return sc ? [sc] : [];
}).map((sc) => [sc.source_component_id, sc]));
}
getPlacementBySchematicComponentId(componentPlacements) {
return new Map(componentPlacements.filter((p) => p.schematicComponentId).map((p) => [p.schematicComponentId, p]));
}
getPortsBySchematicComponentId(circuitJson) {
const map = new Map;
for (const port of circuitJson.filter((el) => this.isSchematicPort(el))) {
if (!port.schematic_component_id)
continue;
if (!this.isHorizontalSide(port.side_of_component))
continue;
const ports = map.get(port.schematic_component_id);
if (ports)
ports.push(port);
else
map.set(port.schematic_component_id, [port]);
}
return map;
}
getSourceComponentFtype(schematicBox, sourceComponentById) {
return schematicBox.sourceComponentId ? sourceComponentById.get(schematicBox.sourceComponentId)?.ftype : undefined;
}
getLabelColumn(side, ports, sourcePortById) {
const widths = ports.filter((p) => p.side_of_component === side).flatMap((p) => p.display_pin_label ? [
this.estimateLabelWidth(p.display_pin_label, sourcePortById.get(p.source_port_id))
] : []);
if (widths.length === 0)
return null;
return {
side,
labelCount: widths.length,
maxLabelWidth: Math.max(...widths)
};
}
getInnerLabelEdge(bounds, col) {
return col.side === "left" ? bounds.left + this.PIN_LABEL_EDGE_PADDING + col.maxLabelWidth : bounds.right - this.PIN_LABEL_EDGE_PADDING - col.maxLabelWidth;
}
getSuggestedWidth(input) {
return input.currentWidth - input.measuredInnerLabelHorizontalEmptySpace + input.maxAllowedInnerLabelHorizontalEmptySpace;
}
}
// ../../work/placement-analysis/lib/solvers/SchematicPinPaddingToEdgeSolver/SchematicPinPaddingToEdgeSolver.ts
class SchematicPinPaddingToEdgeSolver extends BaseSolver {
params;
MESSAGE = "Move schematic pins closer to the box edge or change the schematic box";
PIN_NAME_CHARACTER_WIDTH = 0.095;
FALLBACK_CHARACTER_WIDTH = 0.13;
GAP_COMPARISON_EPSILON = 0.000000001;
entries;
placementById;
schematicComponentById;
sourcePortById;
currentIndex = 0;
constructor(params) {
super();
this.params = params;
const { circuitJson, componentPlacements } = params.ctx;
this.placementById = this.getPlacementBySchematicComponentId(componentPlacements);
this.schematicComponentById = this.getSchematicComponentById(circuitJson);
this.sourcePortById = this.getSourcePortById(circuitJson);
const boxIds = getSchematicBoxComponentIds(circuitJson);
this.entries = Array.from(this.getPortsBySchematicComponentId(circuitJson)).filter(([id]) => boxIds.has(id));
this.solved = this.entries.length === 0;
}
_step() {
const entry = this.entries[this.currentIndex++];
if (!entry) {
this.solved = true;
return;
}
this.solved = this.currentIndex >= this.entries.length;
const [schematicComponentId, ports] = entry;
const schematicBox = this.placementById.get(schematicComponentId);
if (!schematicBox)
return;
const pinSpacing = this.getPinSpacing(schematicBox, this.schematicComponentById);
if (pinSpacing === null)
return;
const maxLabelLengthBySide = this.getMaxLabelLengthBySide(ports, this.sourcePortById);
const portsBySide = new Map;
for (const port of ports) {
if (!this.isSchematicSide(port.side_of_component))
continue;
const sidePorts = portsBySide.get(port.side_of_component) ?? [];
sidePorts.push(port);
portsBySide.set(port.side_of_component, sidePorts);
}
const useLabelAwareMaxPadding = this.hasPinsOnAllSides(portsBySide);
const candidates = [];
for (const [pinSide, sidePorts] of portsBySide) {
if (sidePorts.length === 1)
continue;
for (const edgeSide of this.getBoxEdgeSidesForPinSide(pinSide)) {
const outerPin = this.getOuterPinBySide(edgeSide, sidePorts);
if (!outerPin)
continue;
const measuredPadding = this.getPinPaddingToEdge(schematicBox, outerPin, edgeSide);
const maxAllowedPadding = useLabelAwareMaxPadding ? this.getMaxAllowedPinPadding(pinSpacing, edgeSide, maxLabelLengthBySide) : pinSpacing;
if (!this.exceedsMaxAllowedGap(measuredPadding, maxAllowedPadding + pinSpacing))
continue;
candidates.push({
schematicBox,
pinSide,
edgeSide,
pinName: this.getPinName(outerPin, this.sourcePortById),
measuredPadding,
maxAllowedPadding
});
}
}
if (!candidates.length)
return;
const details = candidates.map((candidate) => this.createIssue(candidate));
const representative = details.reduce((a, b) => b.excessPadding > a.excessPadding ? b : a);
const widths = details.flatMap((detail) => detail.suggestedSchWidth === undefined ? [] : [detail.suggestedSchWidth]);
const heights = details.flatMap((detail) => detail.suggestedSchHeight === undefined ? [] : [detail.suggestedSchHeight]);
const dimensions = [
widths.length ? "width" : "",
heights.length ? "height" : ""
].filter(Boolean).join(" and ");
this.params.issues.push({
...representative,
paddingDetails: details.map(({ pinSide, edgeSide, pinName, measuredPadding, maxAllowedPadding, excessPadding }) => ({
pinSide,
edgeSide,
pinName,
measuredPadding,
maxAllowedPadding,
excessPadding
})),
suggestedSchWidth: widths.length ? Math.max(...widths) : undefined,
suggestedSchHeight: heights.length ? Math.max(...heights) : undefined,
message: `${this.MESSAGE} ${dimensions}`
});
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "message", issue.message);
addAttr(attrs, "componentName", issue.schematicBox.sourceComponentName);
if (issue.paddingDetails) {
addAttr(attrs, "pinSides", [...new Set(issue.paddingDetails.map((detail) => detail.pinSide))].join(","));
addAttr(attrs, "edgeSides", [
...new Set(issue.paddingDetails.map((detail) => detail.edgeSide))
].join(","));
}
else {
addAttr(attrs, "pinSide", issue.pinSide);
addAttr(attrs, "edgeSide", issue.edgeSide);
addAttr(attrs, "pinName", issue.pinName);
addAttr(attrs, "measuredPadding", issue.measuredPadding);
addAttr(attrs, "maxAllowedPadding", issue.maxAllowedPadding);
addAttr(attrs, "excessPadding", issue.excessPadding);
}
addAttr(attrs, "suggestedSchWidth", issue.suggestedSchWidth);
addAttr(attrs, "suggestedSchHeight", issue.suggestedSchHeight);
return `<SchematicPinPaddingToEdgeTooLarge ${attrs.join(" ")} />`;
}
isSchematicPort(el) {
return el.type === "schematic_port";
}
isSourcePort(el) {
return el.type === "source_port";
}
isSchematicComponent(el) {
return el.type === "schematic_component";
}
isHorizontalSide(side) {
return side === "left" || side === "right";
}
isVerticalSide(side) {
return side === "top" || side === "bottom";
}
isSchematicSide(side) {
return this.isHorizontalSide(side) || this.isVerticalSide(side);
}
isPinNameLabel(label, sourcePort) {
if (!sourcePort)
return false;
return label === sourcePort.name || label === String(sourcePort.pin_number) || (sourcePort.port_hints ?? []).includes(label);
}
estimateLabelWidth(label, sourcePort) {
return Array.from(label).length * (this.isPinNameLabel(label, sourcePort) ? this.PIN_NAME_CHARACTER_WIDTH : this.FALLBACK_CHARACTER_WIDTH);
}
exceedsMaxAllowedGap(measured, maxAllowed) {
return measured - maxAllowed > this.GAP_COMPARISON_EPSILON;
}
getCenteredRectBounds(box) {
return {
left: box.schX - box.width / 2,
right: box.schX + box.width / 2,
top: box.schY + box.height / 2,
bottom: box.schY - box.height / 2
};
}
getSourcePortById(circuitJson) {
return new Map(circuitJson.filter((el) => this.isSourcePort(el)).map((sp) => [sp.source_port_id, sp]));
}
getSchematicComponentById(circuitJson) {
return new Map(circuitJson.filter((el) => this.isSchematicComponent(el)).map((sc) => [sc.schematic_component_id, sc]));
}
getPlacementBySchematicComponentId(componentPlacements) {
return new Map(componentPlacements.filter((p) => p.schematicComponentId).map((p) => [p.schematicComponentId, p]));
}
getPortsBySchematicComponentId(circuitJson) {
const map = new Map;
for (const port of circuitJson.filter((el) => this.isSchematicPort(el))) {
if (!port.schematic_component_id)
continue;
if (!this.isSchematicSide(port.side_of_component))
continue;
const ports = map.get(port.schematic_component_id);
if (ports)
ports.push(port);
else
map.set(port.schematic_component_id, [port]);
}
return map;
}
getPinSpacing(schematicBox, schematicComponentById) {
if (!schematicBox.schematicComponentId)
return null;
const sc = schematicComponentById.get(schematicBox.schematicComponentId);
return typeof sc?.pin_spacing === "number" ? sc.pin_spacing : null;
}
getPinName(port, sourcePortById) {
const sp = sourcePortById.get(port.source_port_id);
if (sp?.name)
return sp.name;
if (port.display_pin_label)
return port.display_pin_label;
if (sp?.pin_number !== undefined)
return String(sp.pin_number);
return;
}
getMaxLabelLengthBySide(ports, sourcePortById) {
const result = {
left: 0,
right: 0,
top: 0,
bottom: 0
};
for (const port of ports) {
if (!this.isSchematicSide(port.side_of_component))
continue;
if (!port.display_pin_label)
continue;
result[port.side_of_component] = Math.max(result[port.side_of_component], this.estimateLabelWidth(port.display_pin_label, sourcePortById.get(port.source_port_id)));
}
return result;
}
getOuterPinBySide(edgeSide, ports) {
if (ports.length === 0)
return null;
switch (edgeSide) {
case "top":
return ports.reduce((a, b) => b.center.y > a.center.y ? b : a);
case "bottom":
return ports.reduce((a, b) => b.center.y < a.center.y ? b : a);
case "left":
return ports.reduce((a, b) => b.center.x < a.center.x ? b : a);
case "right":
return ports.reduce((a, b) => b.center.x > a.center.x ? b : a);
}
}
getPinPaddingToEdge(schematicBox, port, edgeSide) {
const bounds = this.getCenteredRectBounds(schematicBox);
switch (edgeSide) {
case "top":
return Math.max(0, bounds.top - port.center.y);
case "bottom":
return Math.max(0, port.center.y - bounds.bottom);
case "left":
return Math.max(0, port.center.x - bounds.left);
case "right":
return Math.max(0, bounds.right - port.center.x);
}
}
getBoxEdgeSidesForPinSide(pinSide) {
return this.isHorizontalSide(pinSide) ? ["top", "bottom"] : ["left", "right"];
}
hasPinsOnAllSides(portsBySide) {
return portsBySide.has("left") && portsBySide.has("right") && portsBySide.has("top") && portsBySide.has("bottom");
}
getMaxAllowedPinPadding(spacing, edgeSide, maxLabelLengthBySide) {
const sides = this.isHorizontalSide(edgeSide) ? ["left", "right"] : ["top", "bottom"];
return (maxLabelLengthBySide[sides[0]] + maxLabelLengthBySide[sides[1]] + spacing) / 2;
}
createIssue(candidate) {
const excessPadding = Math.max(0, candidate.measuredPadding - candidate.maxAllowedPadding);
const reduction = excessPadding * 2;
return {
lineItemType: "SchematicPinPaddingToEdgeTooLarge",
pinSide: candidate.pinSide,
edgeSide: candidate.edgeSide,
pinName: candidate.pinName,
schematicBox: candidate.schematicBox,
measuredPadding: candidate.measuredPadding,
maxAllowedPadding: candidate.maxAllowedPadding,
excessPadding,
suggestedSchWidth: this.isHorizontalSide(candidate.pinSide) ? undefined : Math.max(0, candidate.schematicBox.width - reduction),
suggestedSchHeight: this.isHorizontalSide(candidate.pinSide) ? Math.max(0, candidate.schematicBox.height - reduction) : undefined,
message: this.isHorizontalSide(candidate.pinSide) ? `${this.MESSAGE} height` : `${this.MESSAGE} width`
};
}
}
// ../../work/placement-analysis/node_modules/circuit-json/dist/index.mjs
var exports_dist = {};
__export(exports_dist, {
wave_shape: () => wave_shape,
voltage: () => voltage,
visible_layer: () => visible_layer,
unknown_error_finding_part: () => unknown_error_finding_part,
timestamp: () => timestamp,
time: () => time,
supplier_name: () => supplier_name,
supplier_footprint_mismatch_warning: () => supplier_footprint_mismatch_warning,
spice_simulation_options: () => spice_simulation_options,
source_unnamed_trace_warning: () => source_unnamed_trace_warning,
source_trace_not_connected_error: () => source_trace_not_connected_error,
source_trace: () => source_trace,
source_simple_voltage_source: () => source_simple_voltage_source,
source_simple_voltage_probe: () => source_simple_voltage_probe,
source_simple_transistor: () => source_simple_transistor,
source_simple_test_point: () => source_simple_test_point,
source_simple_switch: () => source_simple_switch,
source_simple_resonator: () => source_simple_resonator,
source_simple_resistor: () => source_simple_resistor,
source_simple_push_button: () => source_simple_push_button,
source_simple_power_source: () => source_simple_power_source,
source_simple_potentiometer: () => source_simple_potentiometer,
source_simple_pinout: () => source_simple_pinout,
source_simple_pin_header: () => source_simple_pin_header,
source_simple_op_amp: () => source_simple_op_amp,
source_simple_mosfet: () => source_simple_mosfet,
source_simple_led: () => source_simple_led,
source_simple_inductor: () => source_simple_inductor,
source_simple_ground: () => source_simple_ground,
source_simple_fiducial: () => source_simple_fiducial,
source_simple_diode: () => source_simple_diode,
source_simple_current_source: () => source_simple_current_source,
source_simple_crystal: () => source_simple_crystal,
source_simple_connector: () => source_simple_connector,
source_simple_chip: () => source_simple_chip,
source_simple_capacitor: () => source_simple_capacitor,
source_simple_battery: () => source_simple_battery,
source_simple_ammeter: () => source_simple_ammeter,
source_property_ignored_warning: () => source_property_ignored_warning,
source_project_metadata: () => source_project_metadata,
source_port: () => source_port,
source_pin_must_be_connected_error: () => source_pin_must_be_connected_error,
source_pin_missing_trace_warning: () => source_pin_missing_trace_warning,
source_pin_attributes: () => source_pin_attributes,
source_pcb_ground_plane: () => source_pcb_ground_plane,
source_no_power_pin_defined_warning: () => source_no_power_pin_defined_warning,
source_no_ground_pin_defined_warning: () => source_no_ground_pin_defined_warning,
source_net: () => source_net,
source_missing_property_error: () => source_missing_property_error,
source_missing_manufacturer_part_number_warning: () => source_missing_manufacturer_part_number_warning,
source_manually_placed_via: () => source_manually_placed_via,
source_invalid_component_property_error: () => source_invalid_component_property_error,
source_interconnect: () => source_interconnect,
source_i2c_misconfigured_error: () => source_i2c_misconfigured_error,
source_group: () => source_group,
source_failed_to_create_component_error: () => source_failed_to_create_component_error,
source_component_pins_underspecified_warning: () => source_component_pins_underspecified_warning,
source_component_misconfigured_error: () => source_component_misconfigured_error,
source_component_internal_connection: () => source_component_internal_connection,
source_component_base: () => source_component_base,
source_board: () => source_board,
source_ambiguous_port_reference: () => source_ambiguous_port_reference,
size: () => size,
simulation_voltage_source: () => simulation_voltage_source,
simulation_voltage_probe: () => simulation_voltage_probe,
simulation_unknown_experiment_error: () => simulation_unknown_experiment_error,
simulation_transient_voltage_graph: () => simulation_transient_voltage_graph,
simulation_transient_current_graph: () => simulation_transient_current_graph,
simulation_switch: () => simulation_switch,
simulation_spice_subcircuit: () => simulation_spice_subcircuit,
simulation_oscilloscope_trace: () => simulation_oscilloscope_trace,
simulation_op_amp: () => simulation_op_amp,
simulation_experiment: () => simulation_experiment,
simulation_dc_voltage_source: () => simulation_dc_voltage_source,
simulation_dc_current_source: () => simulation_dc_current_source,
simulation_current_source: () => simulation_current_source,
simulation_current_probe: () => simulation_current_probe,
simulation_ac_voltage_source: () => simulation_ac_voltage_source,
simulation_ac_current_source: () => simulation_ac_current_source,
schematic_voltage_probe: () => schematic_voltage_probe,
schematic_trace: () => schematic_trace,
schematic_text: () => schematic_text,
schematic_table_cell: () => schematic_table_cell,
schematic_table: () => schematic_table,
schematic_symbol: () => schematic_symbol,
schematic_sheet: () => schematic_sheet,
schematic_rect: () => schematic_rect,
schematic_port: () => schematic_port,
schematic_pin_styles: () => schematic_pin_styles,
schematic_path: () => schematic_path,
schematic_net_label: () => schematic_net_label,
schematic_manual_edit_conflict_warning: () => schematic_manual_edit_conflict_warning,
schematic_line: () => schematic_line,
schematic_layout_error: () => schematic_layout_error,
schematic_group: () => schematic_group,
schematic_error: () => schematic_error,
schematic_debug_rect: () => schematic_debug_rect,
schematic_debug_point: () => schematic_debug_point,
schematic_debug_object_base: () => schematic_debug_object_base,
schematic_debug_object: () => schematic_debug_object,
schematic_debug_line: () => schematic_debug_line,
schematic_component_port_arrangement_by_size: () => schematic_component_port_arrangement_by_size,
schematic_component_port_arrangement_by_sides: () => schematic_component_port_arrangement_by_sides,
schematic_component: () => schematic_component,
schematic_circle: () => schematic_circle,
schematic_box: () => schematic_box,
schematic_arc: () => schematic_arc,
route_hint_point: () => route_hint_point,
rotation: () => rotation,
ring: () => ring,
resistance: () => resistance,
position3: () => position3,
position: () => position,
port_arrangement: () => port_arrangement,
point_with_bulge: () => point_with_bulge,
point3: () => point3,
point: () => point,
pcb_via_trace_clearance_error: () => pcb_via_trace_clearance_error,
pcb_via_clearance_error: () => pcb_via_clearance_error,
pcb_via: () => pcb_via,
pcb_trace_warning: () => pcb_trace_warning,
pcb_trace_route_point_wire: () => pcb_trace_route_point_wire,
pcb_trace_route_point_via: () => pcb_trace_route_point_via,
pcb_trace_route_point_through_pad: () => pcb_trace_route_point_through_pad,
pcb_trace_route_point: () => pcb_trace_route_point,
pcb_trace_missing_error: () => pcb_trace_missing_error,
pcb_trace_hint: () => pcb_trace_hint,
pcb_trace_error: () => pcb_trace_error,
pcb_trace: () => pcb_trace,
pcb_thermal_spoke: () => pcb_thermal_spoke,
pcb_text: () => pcb_text,
pcb_solder_paste: () => pcb_solder_paste,
pcb_smtpad_pill: () => pcb_smtpad_pill,
pcb_smtpad: () => pcb_smtpad,
pcb_silkscreen_text: () => pcb_silkscreen_text,
pcb_silkscreen_rect: () => pcb_silkscreen_rect,
pcb_silkscreen_pill: () => pcb_silkscreen_pill,
pcb_silkscreen_path: () => pcb_silkscreen_path,
pcb_silkscreen_oval: () => pcb_silkscreen_oval,
pcb_silkscreen_line: () => pcb_silkscreen_line,
pcb_silkscreen_graphic_brep: () => pcb_silkscreen_graphic_brep,
pcb_silkscreen_graphic: () => pcb_silkscreen_graphic,
pcb_silkscreen_circle: () => pcb_silkscreen_circle,
pcb_route_hints: () => pcb_route_hints,
pcb_route_hint: () => pcb_route_hint,
pcb_port_not_matched_error: () => pcb_port_not_matched_error,
pcb_port_not_connected_error: () => pcb_port_not_connected_error,
pcb_port: () => pcb_port,
pcb_plated_hole: () => pcb_plated_hole,
pcb_placement_error: () => pcb_placement_error,
pcb_panelization_placement_error: () => pcb_panelization_placement_error,
pcb_panel: () => pcb_panel,
pcb_pad_trace_clearance_error: () => pcb_pad_trace_clearance_error,
pcb_pad_pad_clearance_error: () => pcb_pad_pad_clearance_error,
pcb_note_text: () => pcb_note_text,
pcb_note_rect: () => pcb_note_rect,
pcb_note_path: () => pcb_note_path,
pcb_note_line: () => pcb_note_line,
pcb_note_dimension: () => pcb_note_dimension,
pcb_net: () => pcb_net,
pcb_missing_footprint_error: () => pcb_missing_footprint_error,
pcb_manual_edit_conflict_warning: () => pcb_manual_edit_conflict_warning,
pcb_keepout: () => pcb_keepout,
pcb_hole_rotated_pill_shape: () => pcb_hole_rotated_pill_shape,
pcb_hole_rect_shape: () => pcb_hole_rect_shape,
pcb_hole_pill_shape: () => pcb_hole_pill_shape,
pcb_hole_oval_shape: () => pcb_hole_oval_shape,
pcb_hole_circle_shape: () => pcb_hole_circle_shape,
pcb_hole_circle_or_square_shape: () => pcb_hole_circle_or_square_shape,
pcb_hole: () => pcb_hole,
pcb_group: () => pcb_group,
pcb_ground_plane_region: () => pcb_ground_plane_region,
pcb_ground_plane: () => pcb_ground_plane,
pcb_footprint_overlap_error: () => pcb_footprint_overlap_error,
pcb_fabrication_note_text: () => pcb_fabrication_note_text,
pcb_fabrication_note_rect: () => pcb_fabrication_note_rect,
pcb_fabrication_note_path: () => pcb_fabrication_note_path,
pcb_fabrication_note_dimension: () => pcb_fabrication_note_dimension,
pcb_cutout_rect: () => pcb_cutout_rect,
pcb_cutout_polygon: () => pcb_cutout_polygon,
pcb_cutout_path: () => pcb_cutout_path,
pcb_cutout_circle: () => pcb_cutout_circle,
pcb_cutout: () => pcb_cutout,
pcb_courtyard_rect: () => pcb_courtyard_rect,
pcb_courtyard_polygon: () => pcb_courtyard_polygon,
pcb_courtyard_pill: () => pcb_courtyard_pill,
pcb_courtyard_overlap_error: () => pcb_courtyard_overlap_error,
pcb_courtyard_outline: () => pcb_courtyard_outline,
pcb_courtyard_circle: () => pcb_courtyard_circle,
pcb_copper_text: () => pcb_copper_text,
pcb_copper_pour_rect: () => pcb_copper_pour_rect,
pcb_copper_pour_polygon: () => pcb_copper_pour_polygon,
pcb_copper_pour_brep: () => pcb_copper_pour_brep,
pcb_copper_pour: () => pcb_copper_pour,
pcb_connector_not_in_accessible_orientation_warning: () => pcb_connector_not_in_accessible_orientation_warning,
pcb_component_outside_board_error: () => pcb_component_outside_board_error,
pcb_component_not_on_board_edge_error: () => pcb_component_not_on_board_edge_error,
pcb_component_invalid_layer_error: () => pcb_component_invalid_layer_error,
pcb_component: () => pcb_component,
pcb_breakout_point: () => pcb_breakout_point,
pcb_board: () => pcb_board,
pcb_autorouting_error: () => pcb_autorouting_error,
pcbRenderLayer: () => pcbRenderLayer,
parseAndConvertSiUnit: () => parseAndConvertSiUnit,
ninePointAnchor: () => ninePointAnchor,
ms: () => ms,
manufacturing_drc_properties: () => manufacturing_drc_properties,
length: () => length,
layer_string: () => layer_string,
layer_ref: () => layer_ref,
kicadSymbolProperty: () => kicadSymbolProperty,
kicadSymbolProperties: () => kicadSymbolProperties,
kicadSymbolPinNumbers: () => kicadSymbolPinNumbers,
kicadSymbolPinNames: () => kicadSymbolPinNames,
kicadSymbolMetadata: () => kicadSymbolMetadata,
kicadSymbolEffects: () => kicadSymbolEffects,
kicadProperty: () => kicadProperty,
kicadFootprintProperties: () => kicadFootprintProperties,
kicadFootprintPad: () => kicadFootprintPad,
kicadFootprintModel: () => kicadFootprintModel,
kicadFootprintMetadata: () => kicadFootprintMetadata,
kicadFootprintAttributes: () => kicadFootprintAttributes,
kicadFont: () => kicadFont,
kicadEffects: () => kicadEffects,
kicadAt: () => kicadAt,
inductance: () => inductance,
getZodPrefixedIdWithDefault: () => getZodPrefixedIdWithDefault,
frequency: () => frequency,
external_footprint_load_error: () => external_footprint_load_error,
experiment_type: () => experiment_type,
duration_ms: () => duration_ms,
distance: () => distance4,
current: () => current,
circuit_json_footprint_load_error: () => circuit_json_footprint_load_error,
capacitance: () => capacitance,
cad_model_formats: () => cad_model_formats,
cad_model_axis_directions: () => cad_model_axis_directions,
cad_component: () => cad_component,
cadModelDefaultDirectionMap: () => cadModelDefaultDirectionMap,
brep_shape: () => brep_shape,
battery_capacity: () => battery_capacity,
base_circuit_json_error: () => base_circuit_json_error,
asset: () => asset,
any_source_component: () => any_source_component,
any_soup_element: () => any_soup_element,
any_circuit_element: () => any_circuit_element,
all_layers: () => all_layers
});
// ../../work/placement-analysis/node_modules/format-si-unit/dist/index.js
var SI_PREFIX_VALUES = /* @__PURE__ */ new Map([
["T", 1000000000000],
["G", 1e9],
["M", 1e6],
["K", 1000],
["k", 1000],
["", 1],
["m", 0.001],
["µ", 0.000001],
["u", 0.000001],
["n", 0.000000001],
["p", 0.000000000001],
["f", 0.000000000000001]
]);
var SI_PREFIXES = [...SI_PREFIX_VALUES.keys()];
function getSiPrefixMultiplier(prefix) {
return SI_PREFIX_VALUES.get(prefix);
}
var unitMappings = {
Hz: {
baseUnit: "Hz",
variants: {
MHz: 1e6,
kHz: 1000,
Hz: 1
}
},
g: {
baseUnit: "g",
variants: {
kg: 1000,
g: 1
}
},
Ω: {
baseUnit: "Ω",
variants: {
mΩ: 0.001,
mohm: 0.001,
mOhm: 0.001,
milliohm: 0.001,
Ω: 1,
ohm: 1,
Ohm: 1,
kΩ: 1000,
KΩ: 1000,
kohm: 1000,
kOhm: 1000,
KOhm: 1000,
Kohm: 1000,
MΩ: 1e6,
Mohm: 1e6,
MOhm: 1e6,
megohm: 1e6,
Megohm: 1e6,
GΩ: 1e9,
Gohm: 1e9,
GOhm: 1e9,
TΩ: 1000000000000,
Tohm: 1000000000000,
TOhm: 1000000000000
}
},
V: {
baseUnit: "V",
variants: {
mV: 0.001,
V: 1,
kV: 1000,
KV: 1000,
MV: 1e6,
GV: 1e9,
TV: 1000000000000
}
},
A: {
baseUnit: "A",
variants: {
µA: 0.000001,
mA: 0.001,
ma: 0.001,
A: 1,
kA: 1000,
MA: 1e6
}
},
F: {
baseUnit: "F",
variants: {
pF: 0.000000000001,
nF: 0.000000001,
µF: 0.000001,
uF: 0.000001,
mF: 0.001,
F: 1,
kF: 1000,
KF: 1000,
MF: 1e6
}
},
H: {
baseUnit: "H",
variants: {
pH: 0.000000000001,
nH: 0.000000001,
µH: 0.000001,
uH: 0.000001,
mH: 0.001,
H: 1,
kH: 1000,
KH: 1000,
MH: 1e6
}
},
ml: {
baseUnit: "ml",
variants: {
ml: 1,
mL: 1,
l: 1000,
L: 1000
}
},
deg: {
baseUnit: "deg",
variants: {
rad: 180 / Math.PI
}
},
ms: {
baseUnit: "ms",
variants: {
fs: 0.000000000001,
ps: 0.000000001,
ns: 0.000001,
us: 0.001,
µs: 0.001,
ms: 1,
s: 1000
}
},
mm: {
baseUnit: "mm",
variants: {
nm: 0.000001,
µm: 0.001,
um: 0.001,
mm: 1,
cm: 10,
dm: 100,
m: 1000,
km: 1e6,
in: 25.4,
ft: 304.8,
IN: 25.4,
FT: 304.8,
yd: 914.4,
mi: 1609344,
mil: 0.0254
}
}
};
var unitMappingAndVariantSuffixes = /* @__PURE__ */ new Set;
for (const [baseUnit, info] of Object.entries(unitMappings)) {
unitMappingAndVariantSuffixes.add(baseUnit);
for (const variant of Object.keys(info.variants)) {
unitMappingAndVariantSuffixes.add(variant);
}
}
function getBaseTscircuitUnit(unit) {
for (const info of Object.values(unitMappings)) {
if (unit in info.variants) {
return {
baseUnit: info.baseUnit,
conversionFactor: info.variants[unit]
};
}
for (const [variant, conversionFactor] of Object.entries(info.variants)) {
if (!unit.endsWith(variant))
continue;
const prefix = unit.slice(0, -variant.length);
const prefixMultiplier = getSiPrefixMultiplier(prefix);
if (prefixMultiplier == null)
continue;
return {
baseUnit: info.baseUnit,
conversionFactor: prefixMultiplier * conversionFactor
};
}
}
return {
baseUnit: unit,
conversionFactor: 1
};
}
function parseAndConvertSiUnit(v, unitOfValue) {
if (v === undefined || v === null)
return { parsedUnit: null, unitOfValue: null, value: null };
if (typeof v === "string" && v.match(/^-?[\d.]+$/))
return {
value: Number.parseFloat(v),
parsedUnit: null,
unitOfValue: null
};
if (typeof v === "number")
return { value: v, parsedUnit: null, unitOfValue: null };
if (typeof v === "object" && "x" in v && "y" in v) {
const firstResult = parseAndConvertSiUnit(v.x, unitOfValue);
const xResult = parseAndConvertSiUnit(v.x, unitOfValue);
const yResult = parseAndConvertSiUnit(v.y, unitOfValue);
if (xResult.value === null || yResult.value === null) {
return { parsedUnit: null, unitOfValue: null, value: null };
}
return {
parsedUnit: firstResult.parsedUnit,
unitOfValue: firstResult.unitOfValue,
value: {
x: xResult.value,
y: yResult.value
}
};
}
const reversedInputString = v.toString().split("").reverse().join("");
const unitReversed = reversedInputString.match(/[^\d\s]+/)?.[0];
if (!unitReversed) {
throw new Error(`Could not determine unit: "${v}"`);
}
const unit = unitReversed.split("").reverse().join("");
const numberPart = v.slice(0, -unit.length);
const bareSiPrefixMultiplier = getSiPrefixMultiplier(unit);
if (unitOfValue && bareSiPrefixMultiplier != null) {
return {
parsedUnit: null,
unitOfValue,
value: Number.parseFloat(numberPart) * bareSiPrefixMultiplier
};
}
if (bareSiPrefixMultiplier != null && !unitMappingAndVariantSuffixes.has(unit)) {
return {
parsedUnit: null,
unitOfValue: null,
value: Number.parseFloat(numberPart) * bareSiPrefixMultiplier
};
}
const { baseUnit, conversionFactor } = getBaseTscircuitUnit(unit);
return {
parsedUnit: unit,
unitOfValue: baseUnit,
value: conversionFactor * Number.parseFloat(numberPart)
};
}
SI_PREFIXES.filter((prefix) => prefix !== "").sort((a, b) => b.length - a.length).map((prefix) => prefix.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|");
// ../../work/placement-analysis/node_modules/zod/v3/external.js
var exports_external = {};
__export(exports_external, {
void: () => voidType,
util: () => util,
unknown: () => unknownType,
union: () => unionType,
undefined: () => undefinedType,
tuple: () => tupleType,
transformer: () => effectsType,
symbol: () => symbolType,
string: () => stringType,
strictObject: () => strictObjectType,
setErrorMap: () => setErrorMap,
set: () => setType,
record: () => recordType,
quotelessJson: () => quotelessJson,
promise: () => promiseType,
preprocess: () => preprocessType,
pipeline: () => pipelineType,
ostring: () => ostring,
optional: () => optionalType,
onumber: () => onumber,
oboolean: () => oboolean,
objectUtil: () => objectUtil,
object: () => objectType,
number: () => numberType,
nullable: () => nullableType,
null: () => nullType,
never: () => neverType,
nativeEnum: () => nativeEnumType,
nan: () => nanType,
map: () => mapType,
makeIssue: () => makeIssue,
literal: () => literalType,
lazy: () => lazyType,
late: () => late,
isValid: () => isValid,
isDirty: () => isDirty,
isAsync: () => isAsync,
isAborted: () => isAborted,
intersection: () => intersectionType,
instanceof: () => instanceOfType,
getParsedType: () => getParsedType,
getErrorMap: () => getErrorMap,
function: () => functionType,
enum: () => enumType,
effect: () => effectsType,
discriminatedUnion: () => discriminatedUnionType,
defaultErrorMap: () => en_default,
datetimeRegex: () => datetimeRegex,
date: () => dateType,
custom: () => custom,
coerce: () => coerce,
boolean: () => booleanType,
bigint: () => bigIntType,
array: () => arrayType,
any: () => anyType,
addIssueToContext: () => addIssueToContext,
ZodVoid: () => ZodVoid,
ZodUnknown: () => ZodUnknown,
ZodUnion: () => ZodUnion,
ZodUndefined: () => ZodUndefined,
ZodType: () => ZodType,
ZodTuple: () => ZodTuple,
ZodTransformer: () => ZodEffects,
ZodSymbol: () => ZodSymbol,
ZodString: () => ZodString,
ZodSet: () => ZodSet,
ZodSchema: () => ZodType,
ZodRecord: () => ZodRecord,
ZodReadonly: () => ZodReadonly,
ZodPromise: () => ZodPromise,
ZodPipeline: () => ZodPipeline,
ZodParsedType: () => ZodParsedType,
ZodOptional: () => ZodOptional,
ZodObject: () => ZodObject,
ZodNumber: () => ZodNumber,
ZodNullable: () => ZodNullable,
ZodNull: () => ZodNull,
ZodNever: () => ZodNever,
ZodNativeEnum: () => ZodNativeEnum,
ZodNaN: () => ZodNaN,
ZodMap: () => ZodMap,
ZodLiteral: () => ZodLiteral,
ZodLazy: () => ZodLazy,
ZodIssueCode: () => ZodIssueCode,
ZodIntersection: () => ZodIntersection,
ZodFunction: () => ZodFunction,
ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind,
ZodError: () => ZodError,
ZodEnum: () => ZodEnum,
ZodEffects: () => ZodEffects,
ZodDiscriminatedUnion: () => ZodDiscriminatedUnion,
ZodDefault: () => ZodDefault,
ZodDate: () => ZodDate,
ZodCatch: () => ZodCatch,
ZodBranded: () => ZodBranded,
ZodBoolean: () => ZodBoolean,
ZodBigInt: () => ZodBigInt,
ZodArray: () => ZodArray,
ZodAny: () => ZodAny,
Schema: () => ZodType,
ParseStatus: () => ParseStatus,
OK: () => OK,
NEVER: () => NEVER,
INVALID: () => INVALID,
EMPTY_PATH: () => EMPTY_PATH,
DIRTY: () => DIRTY,
BRAND: () => BRAND
});
// ../../work/placement-analysis/node_modules/zod/v3/helpers/util.js
var util;
(function (util2) {
util2.assertEqual = (_) => { };
function assertIs(_arg) { }
util2.assertIs = assertIs;
function assertNever(_x) {
throw new Error;
}
util2.assertNever = assertNever;
util2.arrayToEnum = (items) => {
const obj = {};
for (const item of items) {
obj[item] = item;
}
return obj;
};
util2.getValidEnumValues = (obj) => {
const validKeys = util2.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number");
const filtered = {};
for (const k of validKeys) {
filtered[k] = obj[k];
}
return util2.objectValues(filtered);
};
util2.objectValues = (obj) => {
return util2.objectKeys(obj).map(function (e) {
return obj[e];
});
};
util2.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object) => {
const keys = [];
for (const key in object) {
if (Object.prototype.hasOwnProperty.call(object, key)) {
keys.push(key);
}
}
return keys;
};
util2.find = (arr, checker) => {
for (const item of arr) {
if (checker(item))
return item;
}
return;
};
util2.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && Number.isFinite(val) && Math.floor(val) === val;
function joinValues(array, separator = " | ") {
return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator);
}
util2.joinValues = joinValues;
util2.jsonStringifyReplacer = (_, value) => {
if (typeof value === "bigint") {
return value.toString();
}
return value;
};
})(util || (util = {}));
var objectUtil;
(function (objectUtil2) {
objectUtil2.mergeShapes = (first, second) => {
return {
...first,
...second
};
};
})(objectUtil || (objectUtil = {}));
var ZodParsedType = util.arrayToEnum([
"string",
"nan",
"number",
"integer",
"float",
"boolean",
"date",
"bigint",
"symbol",
"function",
"undefined",
"null",
"array",
"object",
"unknown",
"promise",
"void",
"never",
"map",
"set"
]);
var getParsedType = (data) => {
const t = typeof data;
switch (t) {
case "undefined":
return ZodParsedType.undefined;
case "string":
return ZodParsedType.string;
case "number":
return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;
case "boolean":
return ZodParsedType.boolean;
case "function":
return ZodParsedType.function;
case "bigint":
return ZodParsedType.bigint;
case "symbol":
return ZodParsedType.symbol;
case "object":
if (Array.isArray(data)) {
return ZodParsedType.array;
}
if (data === null) {
return ZodParsedType.null;
}
if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {
return ZodParsedType.promise;
}
if (typeof Map !== "undefined" && data instanceof Map) {
return ZodParsedType.map;
}
if (typeof Set !== "undefined" && data instanceof Set) {
return ZodParsedType.set;
}
if (typeof Date !== "undefined" && data instanceof Date) {
return ZodParsedType.date;
}
return ZodParsedType.object;
default:
return ZodParsedType.unknown;
}
};
// ../../work/placement-analysis/node_modules/zod/v3/ZodError.js
var ZodIssueCode = util.arrayToEnum([
"invalid_type",
"invalid_literal",
"custom",
"invalid_union",
"invalid_union_discriminator",
"invalid_enum_value",
"unrecognized_keys",
"invalid_arguments",
"invalid_return_type",
"invalid_date",
"invalid_string",
"too_small",
"too_big",
"invalid_intersection_types",
"not_multiple_of",
"not_finite"
]);
var quotelessJson = (obj) => {
const json = JSON.stringify(obj, null, 2);
return json.replace(/"([^"]+)":/g, "$1:");
};
class ZodError extends Error {
get errors() {
return this.issues;
}
constructor(issues) {
super();
this.issues = [];
this.addIssue = (sub) => {
this.issues = [...this.issues, sub];
};
this.addIssues = (subs = []) => {
this.issues = [...this.issues, ...subs];
};
const actualProto = new.target.prototype;
if (Object.setPrototypeOf) {
Object.setPrototypeOf(this, actualProto);
}
else {
this.__proto__ = actualProto;
}
this.name = "ZodError";
this.issues = issues;
}
format(_mapper) {
const mapper = _mapper || function (issue) {
return issue.message;
};
const fieldErrors = { _errors: [] };
const processError = (error) => {
for (const issue of error.issues) {
if (issue.code === "invalid_union") {
issue.unionErrors.map(processError);
}
else if (issue.code === "invalid_return_type") {
processError(issue.returnTypeError);
}
else if (issue.code === "invalid_arguments") {
processError(issue.argumentsError);
}
else if (issue.path.length === 0) {
fieldErrors._errors.push(mapper(issue));
}
else {
let curr = fieldErrors;
let i = 0;
while (i < issue.path.length) {
const el = issue.path[i];
const terminal = i === issue.path.length - 1;
if (!terminal) {
curr[el] = curr[el] || { _errors: [] };
}
else {
curr[el] = curr[el] || { _errors: [] };
curr[el]._errors.push(mapper(issue));
}
curr = curr[el];
i++;
}
}
}
};
processError(this);
return fieldErrors;
}
static assert(value) {
if (!(value instanceof ZodError)) {
throw new Error(`Not a ZodError: ${value}`);
}
}
toString() {
return this.message;
}
get message() {
return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);
}
get isEmpty() {
return this.issues.length === 0;
}
flatten(mapper = (issue) => issue.message) {
const fieldErrors = {};
const formErrors = [];
for (const sub of this.issues) {
if (sub.path.length > 0) {
const firstEl = sub.path[0];
fieldErrors[firstEl] = fieldErrors[firstEl] || [];
fieldErrors[firstEl].push(mapper(sub));
}
else {
formErrors.push(mapper(sub));
}
}
return { formErrors, fieldErrors };
}
get formErrors() {
return this.flatten();
}
}
ZodError.create = (issues) => {
const error = new ZodError(issues);
return error;
};
// ../../work/placement-analysis/node_modules/zod/v3/locales/en.js
var errorMap = (issue, _ctx) => {
let message;
switch (issue.code) {
case ZodIssueCode.invalid_type:
if (issue.received === ZodParsedType.undefined) {
message = "Required";
}
else {
message = `Expected ${issue.expected}, received ${issue.received}`;
}
break;
case ZodIssueCode.invalid_literal:
message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;
break;
case ZodIssueCode.unrecognized_keys:
message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, ", ")}`;
break;
case ZodIssueCode.invalid_union:
message = `Invalid input`;
break;
case ZodIssueCode.invalid_union_discriminator:
message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;
break;
case ZodIssueCode.invalid_enum_value:
message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;
break;
case ZodIssueCode.invalid_arguments:
message = `Invalid function arguments`;
break;
case ZodIssueCode.invalid_return_type:
message = `Invalid function return type`;
break;
case ZodIssueCode.invalid_date:
message = `Invalid date`;
break;
case ZodIssueCode.invalid_string:
if (typeof issue.validation === "object") {
if ("includes" in issue.validation) {
message = `Invalid input: must include "${issue.validation.includes}"`;
if (typeof issue.validation.position === "number") {
message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;
}
}
else if ("startsWith" in issue.validation) {
message = `Invalid input: must start with "${issue.validation.startsWith}"`;
}
else if ("endsWith" in issue.validation) {
message = `Invalid input: must end with "${issue.validation.endsWith}"`;
}
else {
util.assertNever(issue.validation);
}
}
else if (issue.validation !== "regex") {
message = `Invalid ${issue.validation}`;
}
else {
message = "Invalid";
}
break;
case ZodIssueCode.too_small:
if (issue.type === "array")
message = `Array must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;
else if (issue.type === "string")
message = `String must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;
else if (issue.type === "number")
message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;
else if (issue.type === "bigint")
message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;
else if (issue.type === "date")
message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;
else
message = "Invalid input";
break;
case ZodIssueCode.too_big:
if (issue.type === "array")
message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;
else if (issue.type === "string")
message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;
else if (issue.type === "number")
message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;
else if (issue.type === "bigint")
message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;
else if (issue.type === "date")
message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;
else
message = "Invalid input";
break;
case ZodIssueCode.custom:
message = `Invalid input`;
break;
case ZodIssueCode.invalid_intersection_types:
message = `Intersection results could not be merged`;
break;
case ZodIssueCode.not_multiple_of:
message = `Number must be a multiple of ${issue.multipleOf}`;
break;
case ZodIssueCode.not_finite:
message = "Number must be finite";
break;
default:
message = _ctx.defaultError;
util.assertNever(issue);
}
return { message };
};
var en_default = errorMap;
// ../../work/placement-analysis/node_modules/zod/v3/errors.js
var overrideErrorMap = en_default;
function setErrorMap(map) {
overrideErrorMap = map;
}
function getErrorMap() {
return overrideErrorMap;
}
// ../../work/placement-analysis/node_modules/zod/v3/helpers/parseUtil.js
var makeIssue = (params) => {
const { data, path, errorMaps, issueData } = params;
const fullPath = [...path, ...issueData.path || []];
const fullIssue = {
...issueData,
path: fullPath
};
if (issueData.message !== undefined) {
return {
...issueData,
path: fullPath,
message: issueData.message
};
}
let errorMessage = "";
const maps = errorMaps.filter((m) => !!m).slice().reverse();
for (const map of maps) {
errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;
}
return {
...issueData,
path: fullPath,
message: errorMessage
};
};
var EMPTY_PATH = [];
function addIssueToContext(ctx, issueData) {
const overrideMap = getErrorMap();
const issue = makeIssue({
issueData,
data: ctx.data,
path: ctx.path,
errorMaps: [
ctx.common.contextualErrorMap,
ctx.schemaErrorMap,
overrideMap,
overrideMap === en_default ? undefined : en_default
].filter((x) => !!x)
});
ctx.common.issues.push(issue);
}
class ParseStatus {
constructor() {
this.value = "valid";
}
dirty() {
if (this.value === "valid")
this.value = "dirty";
}
abort() {
if (this.value !== "aborted")
this.value = "aborted";
}
static mergeArray(status, results) {
const arrayValue = [];
for (const s of results) {
if (s.status === "aborted")
return INVALID;
if (s.status === "dirty")
status.dirty();
arrayValue.push(s.value);
}
return { status: status.value, value: arrayValue };
}
static async mergeObjectAsync(status, pairs) {
const syncPairs = [];
for (const pair of pairs) {
const key = await pair.key;
const value = await pair.value;
syncPairs.push({
key,
value
});
}
return ParseStatus.mergeObjectSync(status, syncPairs);
}
static mergeObjectSync(status, pairs) {
const finalObject = {};
for (const pair of pairs) {
const { key, value } = pair;
if (key.status === "aborted")
return INVALID;
if (value.status === "aborted")
return INVALID;
if (key.status === "dirty")
status.dirty();
if (value.status === "dirty")
status.dirty();
if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) {
finalObject[key.value] = value.value;
}
}
return { status: status.value, value: finalObject };
}
}
var INVALID = Object.freeze({
status: "aborted"
});
var DIRTY = (value) => ({ status: "dirty", value });
var OK = (value) => ({ status: "valid", value });
var isAborted = (x) => x.status === "aborted";
var isDirty = (x) => x.status === "dirty";
var isValid = (x) => x.status === "valid";
var isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
// ../../work/placement-analysis/node_modules/zod/v3/helpers/errorUtil.js
var errorUtil;
(function (errorUtil2) {
errorUtil2.errToObj = (message) => typeof message === "string" ? { message } : message || {};
errorUtil2.toString = (message) => typeof message === "string" ? message : message?.message;
})(errorUtil || (errorUtil = {}));
// ../../work/placement-analysis/node_modules/zod/v3/types.js
class ParseInputLazyPath {
constructor(parent, value, path, key) {
this._cachedPath = [];
this.parent = parent;
this.data = value;
this._path = path;
this._key = key;
}
get path() {
if (!this._cachedPath.length) {
if (Array.isArray(this._key)) {
this._cachedPath.push(...this._path, ...this._key);
}
else {
this._cachedPath.push(...this._path, this._key);
}
}
return this._cachedPath;
}
}
var handleResult = (ctx, result) => {
if (isValid(result)) {
return { success: true, data: result.value };
}
else {
if (!ctx.common.issues.length) {
throw new Error("Validation failed but no issues detected.");
}
return {
success: false,
get error() {
if (this._error)
return this._error;
const error = new ZodError(ctx.common.issues);
this._error = error;
return this._error;
}
};
}
};
function processCreateParams(params) {
if (!params)
return {};
const { errorMap: errorMap2, invalid_type_error, required_error, description } = params;
if (errorMap2 && (invalid_type_error || required_error)) {
throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);
}
if (errorMap2)
return { errorMap: errorMap2, description };
const customMap = (iss, ctx) => {
const { message } = params;
if (iss.code === "invalid_enum_value") {
return { message: message ?? ctx.defaultError };
}
if (typeof ctx.data === "undefined") {
return { message: message ?? required_error ?? ctx.defaultError };
}
if (iss.code !== "invalid_type")
return { message: ctx.defaultError };
return { message: message ?? invalid_type_error ?? ctx.defaultError };
};
return { errorMap: customMap, description };
}
class ZodType {
get description() {
return this._def.description;
}
_getType(input) {
return getParsedType(input.data);
}
_getOrReturnCtx(input, ctx) {
return ctx || {
common: input.parent.common,
data: input.data,
parsedType: getParsedType(input.data),
schemaErrorMap: this._def.errorMap,
path: input.path,
parent: input.parent
};
}
_processInputParams(input) {
return {
status: new ParseStatus,
ctx: {
common: input.parent.common,
data: input.data,
parsedType: getParsedType(input.data),
schemaErrorMap: this._def.errorMap,
path: input.path,
parent: input.parent
}
};
}
_parseSync(input) {
const result = this._parse(input);
if (isAsync(result)) {
throw new Error("Synchronous parse encountered promise.");
}
return result;
}
_parseAsync(input) {
const result = this._parse(input);
return Promise.resolve(result);
}
parse(data, params) {
const result = this.safeParse(data, params);
if (result.success)
return result.data;
throw result.error;
}
safeParse(data, params) {
const ctx = {
common: {
issues: [],
async: params?.async ?? false,
contextualErrorMap: params?.errorMap
},
path: params?.path || [],
schemaErrorMap: this._def.errorMap,
parent: null,
data,
parsedType: getParsedType(data)
};
const result = this._parseSync({ data, path: ctx.path, parent: ctx });
return handleResult(ctx, result);
}
"~validate"(data) {
const ctx = {
common: {
issues: [],
async: !!this["~standard"].async
},
path: [],
schemaErrorMap: this._def.errorMap,
parent: null,
data,
parsedType: getParsedType(data)
};
if (!this["~standard"].async) {
try {
const result = this._parseSync({ data, path: [], parent: ctx });
return isValid(result) ? {
value: result.value
} : {
issues: ctx.common.issues
};
}
catch (err) {
if (err?.message?.toLowerCase()?.includes("encountered")) {
this["~standard"].async = true;
}
ctx.common = {
issues: [],
async: true
};
}
}
return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid(result) ? {
value: result.value
} : {
issues: ctx.common.issues
});
}
async parseAsync(data, params) {
const result = await this.safeParseAsync(data, params);
if (result.success)
return result.data;
throw result.error;
}
async safeParseAsync(data, params) {
const ctx = {
common: {
issues: [],
contextualErrorMap: params?.errorMap,
async: true
},
path: params?.path || [],
schemaErrorMap: this._def.errorMap,
parent: null,
data,
parsedType: getParsedType(data)
};
const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });
const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));
return handleResult(ctx, result);
}
refine(check, message) {
const getIssueProperties = (val) => {
if (typeof message === "string" || typeof message === "undefined") {
return { message };
}
else if (typeof message === "function") {
return message(val);
}
else {
return message;
}
};
return this._refinement((val, ctx) => {
const result = check(val);
const setError = () => ctx.addIssue({
code: ZodIssueCode.custom,
...getIssueProperties(val)
});
if (typeof Promise !== "undefined" && result instanceof Promise) {
return result.then((data) => {
if (!data) {
setError();
return false;
}
else {
return true;
}
});
}
if (!result) {
setError();
return false;
}
else {
return true;
}
});
}
refinement(check, refinementData) {
return this._refinement((val, ctx) => {
if (!check(val)) {
ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData);
return false;
}
else {
return true;
}
});
}
_refinement(refinement) {
return new ZodEffects({
schema: this,
typeName: ZodFirstPartyTypeKind.ZodEffects,
effect: { type: "refinement", refinement }
});
}
superRefine(refinement) {
return this._refinement(refinement);
}
constructor(def) {
this.spa = this.safeParseAsync;
this._def = def;
this.parse = this.parse.bind(this);
this.safeParse = this.safeParse.bind(this);
this.parseAsync = this.parseAsync.bind(this);
this.safeParseAsync = this.safeParseAsync.bind(this);
this.spa = this.spa.bind(this);
this.refine = this.refine.bind(this);
this.refinement = this.refinement.bind(this);
this.superRefine = this.superRefine.bind(this);
this.optional = this.optional.bind(this);
this.nullable = this.nullable.bind(this);
this.nullish = this.nullish.bind(this);
this.array = this.array.bind(this);
this.promise = this.promise.bind(this);
this.or = this.or.bind(this);
this.and = this.and.bind(this);
this.transform = this.transform.bind(this);
this.brand = this.brand.bind(this);
this.default = this.default.bind(this);
this.catch = this.catch.bind(this);
this.describe = this.describe.bind(this);
this.pipe = this.pipe.bind(this);
this.readonly = this.readonly.bind(this);
this.isNullable = this.isNullable.bind(this);
this.isOptional = this.isOptional.bind(this);
this["~standard"] = {
version: 1,
vendor: "zod",
validate: (data) => this["~validate"](data)
};
}
optional() {
return ZodOptional.create(this, this._def);
}
nullable() {
return ZodNullable.create(this, this._def);
}
nullish() {
return this.nullable().optional();
}
array() {
return ZodArray.create(this);
}
promise() {
return ZodPromise.create(this, this._def);
}
or(option) {
return ZodUnion.create([this, option], this._def);
}
and(incoming) {
return ZodIntersection.create(this, incoming, this._def);
}
transform(transform3) {
return new ZodEffects({
...processCreateParams(this._def),
schema: this,
typeName: ZodFirstPartyTypeKind.ZodEffects,
effect: { type: "transform", transform: transform3 }
});
}
default(def) {
const defaultValueFunc = typeof def === "function" ? def : () => def;
return new ZodDefault({
...processCreateParams(this._def),
innerType: this,
defaultValue: defaultValueFunc,
typeName: ZodFirstPartyTypeKind.ZodDefault
});
}
brand() {
return new ZodBranded({
typeName: ZodFirstPartyTypeKind.ZodBranded,
type: this,
...processCreateParams(this._def)
});
}
catch(def) {
const catchValueFunc = typeof def === "function" ? def : () => def;
return new ZodCatch({
...processCreateParams(this._def),
innerType: this,
catchValue: catchValueFunc,
typeName: ZodFirstPartyTypeKind.ZodCatch
});
}
describe(description) {
const This = this.constructor;
return new This({
...this._def,
description
});
}
pipe(target) {
return ZodPipeline.create(this, target);
}
readonly() {
return ZodReadonly.create(this);
}
isOptional() {
return this.safeParse(undefined).success;
}
isNullable() {
return this.safeParse(null).success;
}
}
var cuidRegex = /^c[^\s-]{8,}$/i;
var cuid2Regex = /^[0-9a-z]+$/;
var ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;
var uuidRegex = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i;
var nanoidRegex = /^[a-z0-9_-]{21}$/i;
var jwtRegex = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;
var durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
var emailRegex = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;
var _emojiRegex = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
var emojiRegex;
var ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
var ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/;
var ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;
var ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
var base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
var base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;
var dateRegexSource = `((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`;
var dateRegex = new RegExp(`^${dateRegexSource}$`);
function timeRegexSource(args) {
let secondsRegexSource = `[0-5]\\d`;
if (args.precision) {
secondsRegexSource = `${secondsRegexSource}\\.\\d{${args.precision}}`;
}
else if (args.precision == null) {
secondsRegexSource = `${secondsRegexSource}(\\.\\d+)?`;
}
const secondsQuantifier = args.precision ? "+" : "?";
return `([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`;
}
function timeRegex(args) {
return new RegExp(`^${timeRegexSource(args)}$`);
}
function datetimeRegex(args) {
let regex = `${dateRegexSource}T${timeRegexSource(args)}`;
const opts = [];
opts.push(args.local ? `Z?` : `Z`);
if (args.offset)
opts.push(`([+-]\\d{2}:?\\d{2})`);
regex = `${regex}(${opts.join("|")})`;
return new RegExp(`^${regex}$`);
}
function isValidIP(ip, version) {
if ((version === "v4" || !version) && ipv4Regex.test(ip)) {
return true;
}
if ((version === "v6" || !version) && ipv6Regex.test(ip)) {
return true;
}
return false;
}
function isValidJWT(jwt, alg) {
if (!jwtRegex.test(jwt))
return false;
try {
const [header] = jwt.split(".");
if (!header)
return false;
const base64 = header.replace(/-/g, "+").replace(/_/g, "/").padEnd(header.length + (4 - header.length % 4) % 4, "=");
const decoded = JSON.parse(atob(base64));
if (typeof decoded !== "object" || decoded === null)
return false;
if ("typ" in decoded && decoded?.typ !== "JWT")
return false;
if (!decoded.alg)
return false;
if (alg && decoded.alg !== alg)
return false;
return true;
}
catch {
return false;
}
}
function isValidCidr(ip, version) {
if ((version === "v4" || !version) && ipv4CidrRegex.test(ip)) {
return true;
}
if ((version === "v6" || !version) && ipv6CidrRegex.test(ip)) {
return true;
}
return false;
}
class ZodString extends ZodType {
_parse(input) {
if (this._def.coerce) {
input.data = String(input.data);
}
const parsedType = this._getType(input);
if (parsedType !== ZodParsedType.string) {
const ctx2 = this._getOrReturnCtx(input);
addIssueToContext(ctx2, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.string,
received: ctx2.parsedType
});
return INVALID;
}
const status = new ParseStatus;
let ctx = undefined;
for (const check of this._def.checks) {
if (check.kind === "min") {
if (input.data.length < check.value) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.too_small,
minimum: check.value,
type: "string",
inclusive: true,
exact: false,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "max") {
if (input.data.length > check.value) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.too_big,
maximum: check.value,
type: "string",
inclusive: true,
exact: false,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "length") {
const tooBig = input.data.length > check.value;
const tooSmall = input.data.length < check.value;
if (tooBig || tooSmall) {
ctx = this._getOrReturnCtx(input, ctx);
if (tooBig) {
addIssueToContext(ctx, {
code: ZodIssueCode.too_big,
maximum: check.value,
type: "string",
inclusive: true,
exact: true,
message: check.message
});
}
else if (tooSmall) {
addIssueToContext(ctx, {
code: ZodIssueCode.too_small,
minimum: check.value,
type: "string",
inclusive: true,
exact: true,
message: check.message
});
}
status.dirty();
}
}
else if (check.kind === "email") {
if (!emailRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "email",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "emoji") {
if (!emojiRegex) {
emojiRegex = new RegExp(_emojiRegex, "u");
}
if (!emojiRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "emoji",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "uuid") {
if (!uuidRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "uuid",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "nanoid") {
if (!nanoidRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "nanoid",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "cuid") {
if (!cuidRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "cuid",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "cuid2") {
if (!cuid2Regex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "cuid2",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "ulid") {
if (!ulidRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "ulid",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "url") {
try {
new URL(input.data);
}
catch {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "url",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "regex") {
check.regex.lastIndex = 0;
const testResult = check.regex.test(input.data);
if (!testResult) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "regex",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "trim") {
input.data = input.data.trim();
}
else if (check.kind === "includes") {
if (!input.data.includes(check.value, check.position)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_string,
validation: { includes: check.value, position: check.position },
message: check.message
});
status.dirty();
}
}
else if (check.kind === "toLowerCase") {
input.data = input.data.toLowerCase();
}
else if (check.kind === "toUpperCase") {
input.data = input.data.toUpperCase();
}
else if (check.kind === "startsWith") {
if (!input.data.startsWith(check.value)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_string,
validation: { startsWith: check.value },
message: check.message
});
status.dirty();
}
}
else if (check.kind === "endsWith") {
if (!input.data.endsWith(check.value)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_string,
validation: { endsWith: check.value },
message: check.message
});
status.dirty();
}
}
else if (check.kind === "datetime") {
const regex = datetimeRegex(check);
if (!regex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_string,
validation: "datetime",
message: check.message
});
status.dirty();
}
}
else if (check.kind === "date") {
const regex = dateRegex;
if (!regex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_string,
validation: "date",
message: check.message
});
status.dirty();
}
}
else if (check.kind === "time") {
const regex = timeRegex(check);
if (!regex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_string,
validation: "time",
message: check.message
});
status.dirty();
}
}
else if (check.kind === "duration") {
if (!durationRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "duration",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "ip") {
if (!isValidIP(input.data, check.version)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "ip",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "jwt") {
if (!isValidJWT(input.data, check.alg)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "jwt",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "cidr") {
if (!isValidCidr(input.data, check.version)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "cidr",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "base64") {
if (!base64Regex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "base64",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "base64url") {
if (!base64urlRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
validation: "base64url",
code: ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
}
else {
util.assertNever(check);
}
}
return { status: status.value, value: input.data };
}
_regex(regex, validation, message) {
return this.refinement((data) => regex.test(data), {
validation,
code: ZodIssueCode.invalid_string,
...errorUtil.errToObj(message)
});
}
_addCheck(check) {
return new ZodString({
...this._def,
checks: [...this._def.checks, check]
});
}
email(message) {
return this._addCheck({ kind: "email", ...errorUtil.errToObj(message) });
}
url(message) {
return this._addCheck({ kind: "url", ...errorUtil.errToObj(message) });
}
emoji(message) {
return this._addCheck({ kind: "emoji", ...errorUtil.errToObj(message) });
}
uuid(message) {
return this._addCheck({ kind: "uuid", ...errorUtil.errToObj(message) });
}
nanoid(message) {
return this._addCheck({ kind: "nanoid", ...errorUtil.errToObj(message) });
}
cuid(message) {
return this._addCheck({ kind: "cuid", ...errorUtil.errToObj(message) });
}
cuid2(message) {
return this._addCheck({ kind: "cuid2", ...errorUtil.errToObj(message) });
}
ulid(message) {
return this._addCheck({ kind: "ulid", ...errorUtil.errToObj(message) });
}
base64(message) {
return this._addCheck({ kind: "base64", ...errorUtil.errToObj(message) });
}
base64url(message) {
return this._addCheck({
kind: "base64url",
...errorUtil.errToObj(message)
});
}
jwt(options) {
return this._addCheck({ kind: "jwt", ...errorUtil.errToObj(options) });
}
ip(options) {
return this._addCheck({ kind: "ip", ...errorUtil.errToObj(options) });
}
cidr(options) {
return this._addCheck({ kind: "cidr", ...errorUtil.errToObj(options) });
}
datetime(options) {
if (typeof options === "string") {
return this._addCheck({
kind: "datetime",
precision: null,
offset: false,
local: false,
message: options
});
}
return this._addCheck({
kind: "datetime",
precision: typeof options?.precision === "undefined" ? null : options?.precision,
offset: options?.offset ?? false,
local: options?.local ?? false,
...errorUtil.errToObj(options?.message)
});
}
date(message) {
return this._addCheck({ kind: "date", message });
}
time(options) {
if (typeof options === "string") {
return this._addCheck({
kind: "time",
precision: null,
message: options
});
}
return this._addCheck({
kind: "time",
precision: typeof options?.precision === "undefined" ? null : options?.precision,
...errorUtil.errToObj(options?.message)
});
}
duration(message) {
return this._addCheck({ kind: "duration", ...errorUtil.errToObj(message) });
}
regex(regex, message) {
return this._addCheck({
kind: "regex",
regex,
...errorUtil.errToObj(message)
});
}
includes(value, options) {
return this._addCheck({
kind: "includes",
value,
position: options?.position,
...errorUtil.errToObj(options?.message)
});
}
startsWith(value, message) {
return this._addCheck({
kind: "startsWith",
value,
...errorUtil.errToObj(message)
});
}
endsWith(value, message) {
return this._addCheck({
kind: "endsWith",
value,
...errorUtil.errToObj(message)
});
}
min(minLength, message) {
return this._addCheck({
kind: "min",
value: minLength,
...errorUtil.errToObj(message)
});
}
max(maxLength, message) {
return this._addCheck({
kind: "max",
value: maxLength,
...errorUtil.errToObj(message)
});
}
length(len, message) {
return this._addCheck({
kind: "length",
value: len,
...errorUtil.errToObj(message)
});
}
nonempty(message) {
return this.min(1, errorUtil.errToObj(message));
}
trim() {
return new ZodString({
...this._def,
checks: [...this._def.checks, { kind: "trim" }]
});
}
toLowerCase() {
return new ZodString({
...this._def,
checks: [...this._def.checks, { kind: "toLowerCase" }]
});
}
toUpperCase() {
return new ZodString({
...this._def,
checks: [...this._def.checks, { kind: "toUpperCase" }]
});
}
get isDatetime() {
return !!this._def.checks.find((ch) => ch.kind === "datetime");
}
get isDate() {
return !!this._def.checks.find((ch) => ch.kind === "date");
}
get isTime() {
return !!this._def.checks.find((ch) => ch.kind === "time");
}
get isDuration() {
return !!this._def.checks.find((ch) => ch.kind === "duration");
}
get isEmail() {
return !!this._def.checks.find((ch) => ch.kind === "email");
}
get isURL() {
return !!this._def.checks.find((ch) => ch.kind === "url");
}
get isEmoji() {
return !!this._def.checks.find((ch) => ch.kind === "emoji");
}
get isUUID() {
return !!this._def.checks.find((ch) => ch.kind === "uuid");
}
get isNANOID() {
return !!this._def.checks.find((ch) => ch.kind === "nanoid");
}
get isCUID() {
return !!this._def.checks.find((ch) => ch.kind === "cuid");
}
get isCUID2() {
return !!this._def.checks.find((ch) => ch.kind === "cuid2");
}
get isULID() {
return !!this._def.checks.find((ch) => ch.kind === "ulid");
}
get isIP() {
return !!this._def.checks.find((ch) => ch.kind === "ip");
}
get isCIDR() {
return !!this._def.checks.find((ch) => ch.kind === "cidr");
}
get isBase64() {
return !!this._def.checks.find((ch) => ch.kind === "base64");
}
get isBase64url() {
return !!this._def.checks.find((ch) => ch.kind === "base64url");
}
get minLength() {
let min = null;
for (const ch of this._def.checks) {
if (ch.kind === "min") {
if (min === null || ch.value > min)
min = ch.value;
}
}
return min;
}
get maxLength() {
let max = null;
for (const ch of this._def.checks) {
if (ch.kind === "max") {
if (max === null || ch.value < max)
max = ch.value;
}
}
return max;
}
}
ZodString.create = (params) => {
return new ZodString({
checks: [],
typeName: ZodFirstPartyTypeKind.ZodString,
coerce: params?.coerce ?? false,
...processCreateParams(params)
});
};
function floatSafeRemainder(val, step) {
const valDecCount = (val.toString().split(".")[1] || "").length;
const stepDecCount = (step.toString().split(".")[1] || "").length;
const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
return valInt % stepInt / 10 ** decCount;
}
class ZodNumber extends ZodType {
constructor() {
super(...arguments);
this.min = this.gte;
this.max = this.lte;
this.step = this.multipleOf;
}
_parse(input) {
if (this._def.coerce) {
input.data = Number(input.data);
}
const parsedType = this._getType(input);
if (parsedType !== ZodParsedType.number) {
const ctx2 = this._getOrReturnCtx(input);
addIssueToContext(ctx2, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.number,
received: ctx2.parsedType
});
return INVALID;
}
let ctx = undefined;
const status = new ParseStatus;
for (const check of this._def.checks) {
if (check.kind === "int") {
if (!util.isInteger(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: "integer",
received: "float",
message: check.message
});
status.dirty();
}
}
else if (check.kind === "min") {
const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;
if (tooSmall) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.too_small,
minimum: check.value,
type: "number",
inclusive: check.inclusive,
exact: false,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "max") {
const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;
if (tooBig) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.too_big,
maximum: check.value,
type: "number",
inclusive: check.inclusive,
exact: false,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "multipleOf") {
if (floatSafeRemainder(input.data, check.value) !== 0) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.not_multiple_of,
multipleOf: check.value,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "finite") {
if (!Number.isFinite(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.not_finite,
message: check.message
});
status.dirty();
}
}
else {
util.assertNever(check);
}
}
return { status: status.value, value: input.data };
}
gte(value, message) {
return this.setLimit("min", value, true, errorUtil.toString(message));
}
gt(value, message) {
return this.setLimit("min", value, false, errorUtil.toString(message));
}
lte(value, message) {
return this.setLimit("max", value, true, errorUtil.toString(message));
}
lt(value, message) {
return this.setLimit("max", value, false, errorUtil.toString(message));
}
setLimit(kind, value, inclusive, message) {
return new ZodNumber({
...this._def,
checks: [
...this._def.checks,
{
kind,
value,
inclusive,
message: errorUtil.toString(message)
}
]
});
}
_addCheck(check) {
return new ZodNumber({
...this._def,
checks: [...this._def.checks, check]
});
}
int(message) {
return this._addCheck({
kind: "int",
message: errorUtil.toString(message)
});
}
positive(message) {
return this._addCheck({
kind: "min",
value: 0,
inclusive: false,
message: errorUtil.toString(message)
});
}
negative(message) {
return this._addCheck({
kind: "max",
value: 0,
inclusive: false,
message: errorUtil.toString(message)
});
}
nonpositive(message) {
return this._addCheck({
kind: "max",
value: 0,
inclusive: true,
message: errorUtil.toString(message)
});
}
nonnegative(message) {
return this._addCheck({
kind: "min",
value: 0,
inclusive: true,
message: errorUtil.toString(message)
});
}
multipleOf(value, message) {
return this._addCheck({
kind: "multipleOf",
value,
message: errorUtil.toString(message)
});
}
finite(message) {
return this._addCheck({
kind: "finite",
message: errorUtil.toString(message)
});
}
safe(message) {
return this._addCheck({
kind: "min",
inclusive: true,
value: Number.MIN_SAFE_INTEGER,
message: errorUtil.toString(message)
})._addCheck({
kind: "max",
inclusive: true,
value: Number.MAX_SAFE_INTEGER,
message: errorUtil.toString(message)
});
}
get minValue() {
let min = null;
for (const ch of this._def.checks) {
if (ch.kind === "min") {
if (min === null || ch.value > min)
min = ch.value;
}
}
return min;
}
get maxValue() {
let max = null;
for (const ch of this._def.checks) {
if (ch.kind === "max") {
if (max === null || ch.value < max)
max = ch.value;
}
}
return max;
}
get isInt() {
return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util.isInteger(ch.value));
}
get isFinite() {
let max = null;
let min = null;
for (const ch of this._def.checks) {
if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") {
return true;
}
else if (ch.kind === "min") {
if (min === null || ch.value > min)
min = ch.value;
}
else if (ch.kind === "max") {
if (max === null || ch.value < max)
max = ch.value;
}
}
return Number.isFinite(min) && Number.isFinite(max);
}
}
ZodNumber.create = (params) => {
return new ZodNumber({
checks: [],
typeName: ZodFirstPartyTypeKind.ZodNumber,
coerce: params?.coerce || false,
...processCreateParams(params)
});
};
class ZodBigInt extends ZodType {
constructor() {
super(...arguments);
this.min = this.gte;
this.max = this.lte;
}
_parse(input) {
if (this._def.coerce) {
try {
input.data = BigInt(input.data);
}
catch {
return this._getInvalidInput(input);
}
}
const parsedType = this._getType(input);
if (parsedType !== ZodParsedType.bigint) {
return this._getInvalidInput(input);
}
let ctx = undefined;
const status = new ParseStatus;
for (const check of this._def.checks) {
if (check.kind === "min") {
const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;
if (tooSmall) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.too_small,
type: "bigint",
minimum: check.value,
inclusive: check.inclusive,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "max") {
const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;
if (tooBig) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.too_big,
type: "bigint",
maximum: check.value,
inclusive: check.inclusive,
message: check.message
});
status.dirty();
}
}
else if (check.kind === "multipleOf") {
if (input.data % check.value !== BigInt(0)) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.not_multiple_of,
multipleOf: check.value,
message: check.message
});
status.dirty();
}
}
else {
util.assertNever(check);
}
}
return { status: status.value, value: input.data };
}
_getInvalidInput(input) {
const ctx = this._getOrReturnCtx(input);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.bigint,
received: ctx.parsedType
});
return INVALID;
}
gte(value, message) {
return this.setLimit("min", value, true, errorUtil.toString(message));
}
gt(value, message) {
return this.setLimit("min", value, false, errorUtil.toString(message));
}
lte(value, message) {
return this.setLimit("max", value, true, errorUtil.toString(message));
}
lt(value, message) {
return this.setLimit("max", value, false, errorUtil.toString(message));
}
setLimit(kind, value, inclusive, message) {
return new ZodBigInt({
...this._def,
checks: [
...this._def.checks,
{
kind,
value,
inclusive,
message: errorUtil.toString(message)
}
]
});
}
_addCheck(check) {
return new ZodBigInt({
...this._def,
checks: [...this._def.checks, check]
});
}
positive(message) {
return this._addCheck({
kind: "min",
value: BigInt(0),
inclusive: false,
message: errorUtil.toString(message)
});
}
negative(message) {
return this._addCheck({
kind: "max",
value: BigInt(0),
inclusive: false,
message: errorUtil.toString(message)
});
}
nonpositive(message) {
return this._addCheck({
kind: "max",
value: BigInt(0),
inclusive: true,
message: errorUtil.toString(message)
});
}
nonnegative(message) {
return this._addCheck({
kind: "min",
value: BigInt(0),
inclusive: true,
message: errorUtil.toString(message)
});
}
multipleOf(value, message) {
return this._addCheck({
kind: "multipleOf",
value,
message: errorUtil.toString(message)
});
}
get minValue() {
let min = null;
for (const ch of this._def.checks) {
if (ch.kind === "min") {
if (min === null || ch.value > min)
min = ch.value;
}
}
return min;
}
get maxValue() {
let max = null;
for (const ch of this._def.checks) {
if (ch.kind === "max") {
if (max === null || ch.value < max)
max = ch.value;
}
}
return max;
}
}
ZodBigInt.create = (params) => {
return new ZodBigInt({
checks: [],
typeName: ZodFirstPartyTypeKind.ZodBigInt,
coerce: params?.coerce ?? false,
...processCreateParams(params)
});
};
class ZodBoolean extends ZodType {
_parse(input) {
if (this._def.coerce) {
input.data = Boolean(input.data);
}
const parsedType = this._getType(input);
if (parsedType !== ZodParsedType.boolean) {
const ctx = this._getOrReturnCtx(input);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.boolean,
received: ctx.parsedType
});
return INVALID;
}
return OK(input.data);
}
}
ZodBoolean.create = (params) => {
return new ZodBoolean({
typeName: ZodFirstPartyTypeKind.ZodBoolean,
coerce: params?.coerce || false,
...processCreateParams(params)
});
};
class ZodDate extends ZodType {
_parse(input) {
if (this._def.coerce) {
input.data = new Date(input.data);
}
const parsedType = this._getType(input);
if (parsedType !== ZodParsedType.date) {
const ctx2 = this._getOrReturnCtx(input);
addIssueToContext(ctx2, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.date,
received: ctx2.parsedType
});
return INVALID;
}
if (Number.isNaN(input.data.getTime())) {
const ctx2 = this._getOrReturnCtx(input);
addIssueToContext(ctx2, {
code: ZodIssueCode.invalid_date
});
return INVALID;
}
const status = new ParseStatus;
let ctx = undefined;
for (const check of this._def.checks) {
if (check.kind === "min") {
if (input.data.getTime() < check.value) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.too_small,
message: check.message,
inclusive: true,
exact: false,
minimum: check.value,
type: "date"
});
status.dirty();
}
}
else if (check.kind === "max") {
if (input.data.getTime() > check.value) {
ctx = this._getOrReturnCtx(input, ctx);
addIssueToContext(ctx, {
code: ZodIssueCode.too_big,
message: check.message,
inclusive: true,
exact: false,
maximum: check.value,
type: "date"
});
status.dirty();
}
}
else {
util.assertNever(check);
}
}
return {
status: status.value,
value: new Date(input.data.getTime())
};
}
_addCheck(check) {
return new ZodDate({
...this._def,
checks: [...this._def.checks, check]
});
}
min(minDate, message) {
return this._addCheck({
kind: "min",
value: minDate.getTime(),
message: errorUtil.toString(message)
});
}
max(maxDate, message) {
return this._addCheck({
kind: "max",
value: maxDate.getTime(),
message: errorUtil.toString(message)
});
}
get minDate() {
let min = null;
for (const ch of this._def.checks) {
if (ch.kind === "min") {
if (min === null || ch.value > min)
min = ch.value;
}
}
return min != null ? new Date(min) : null;
}
get maxDate() {
let max = null;
for (const ch of this._def.checks) {
if (ch.kind === "max") {
if (max === null || ch.value < max)
max = ch.value;
}
}
return max != null ? new Date(max) : null;
}
}
ZodDate.create = (params) => {
return new ZodDate({
checks: [],
coerce: params?.coerce || false,
typeName: ZodFirstPartyTypeKind.ZodDate,
...processCreateParams(params)
});
};
class ZodSymbol extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType !== ZodParsedType.symbol) {
const ctx = this._getOrReturnCtx(input);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.symbol,
received: ctx.parsedType
});
return INVALID;
}
return OK(input.data);
}
}
ZodSymbol.create = (params) => {
return new ZodSymbol({
typeName: ZodFirstPartyTypeKind.ZodSymbol,
...processCreateParams(params)
});
};
class ZodUndefined extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType !== ZodParsedType.undefined) {
const ctx = this._getOrReturnCtx(input);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.undefined,
received: ctx.parsedType
});
return INVALID;
}
return OK(input.data);
}
}
ZodUndefined.create = (params) => {
return new ZodUndefined({
typeName: ZodFirstPartyTypeKind.ZodUndefined,
...processCreateParams(params)
});
};
class ZodNull extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType !== ZodParsedType.null) {
const ctx = this._getOrReturnCtx(input);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.null,
received: ctx.parsedType
});
return INVALID;
}
return OK(input.data);
}
}
ZodNull.create = (params) => {
return new ZodNull({
typeName: ZodFirstPartyTypeKind.ZodNull,
...processCreateParams(params)
});
};
class ZodAny extends ZodType {
constructor() {
super(...arguments);
this._any = true;
}
_parse(input) {
return OK(input.data);
}
}
ZodAny.create = (params) => {
return new ZodAny({
typeName: ZodFirstPartyTypeKind.ZodAny,
...processCreateParams(params)
});
};
class ZodUnknown extends ZodType {
constructor() {
super(...arguments);
this._unknown = true;
}
_parse(input) {
return OK(input.data);
}
}
ZodUnknown.create = (params) => {
return new ZodUnknown({
typeName: ZodFirstPartyTypeKind.ZodUnknown,
...processCreateParams(params)
});
};
class ZodNever extends ZodType {
_parse(input) {
const ctx = this._getOrReturnCtx(input);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.never,
received: ctx.parsedType
});
return INVALID;
}
}
ZodNever.create = (params) => {
return new ZodNever({
typeName: ZodFirstPartyTypeKind.ZodNever,
...processCreateParams(params)
});
};
class ZodVoid extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType !== ZodParsedType.undefined) {
const ctx = this._getOrReturnCtx(input);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.void,
received: ctx.parsedType
});
return INVALID;
}
return OK(input.data);
}
}
ZodVoid.create = (params) => {
return new ZodVoid({
typeName: ZodFirstPartyTypeKind.ZodVoid,
...processCreateParams(params)
});
};
class ZodArray extends ZodType {
_parse(input) {
const { ctx, status } = this._processInputParams(input);
const def = this._def;
if (ctx.parsedType !== ZodParsedType.array) {
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.array,
received: ctx.parsedType
});
return INVALID;
}
if (def.exactLength !== null) {
const tooBig = ctx.data.length > def.exactLength.value;
const tooSmall = ctx.data.length < def.exactLength.value;
if (tooBig || tooSmall) {
addIssueToContext(ctx, {
code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,
minimum: tooSmall ? def.exactLength.value : undefined,
maximum: tooBig ? def.exactLength.value : undefined,
type: "array",
inclusive: true,
exact: true,
message: def.exactLength.message
});
status.dirty();
}
}
if (def.minLength !== null) {
if (ctx.data.length < def.minLength.value) {
addIssueToContext(ctx, {
code: ZodIssueCode.too_small,
minimum: def.minLength.value,
type: "array",
inclusive: true,
exact: false,
message: def.minLength.message
});
status.dirty();
}
}
if (def.maxLength !== null) {
if (ctx.data.length > def.maxLength.value) {
addIssueToContext(ctx, {
code: ZodIssueCode.too_big,
maximum: def.maxLength.value,
type: "array",
inclusive: true,
exact: false,
message: def.maxLength.message
});
status.dirty();
}
}
if (ctx.common.async) {
return Promise.all([...ctx.data].map((item, i) => {
return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));
})).then((result2) => {
return ParseStatus.mergeArray(status, result2);
});
}
const result = [...ctx.data].map((item, i) => {
return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));
});
return ParseStatus.mergeArray(status, result);
}
get element() {
return this._def.type;
}
min(minLength, message) {
return new ZodArray({
...this._def,
minLength: { value: minLength, message: errorUtil.toString(message) }
});
}
max(maxLength, message) {
return new ZodArray({
...this._def,
maxLength: { value: maxLength, message: errorUtil.toString(message) }
});
}
length(len, message) {
return new ZodArray({
...this._def,
exactLength: { value: len, message: errorUtil.toString(message) }
});
}
nonempty(message) {
return this.min(1, message);
}
}
ZodArray.create = (schema, params) => {
return new ZodArray({
type: schema,
minLength: null,
maxLength: null,
exactLength: null,
typeName: ZodFirstPartyTypeKind.ZodArray,
...processCreateParams(params)
});
};
function deepPartialify(schema) {
if (schema instanceof ZodObject) {
const newShape = {};
for (const key in schema.shape) {
const fieldSchema = schema.shape[key];
newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));
}
return new ZodObject({
...schema._def,
shape: () => newShape
});
}
else if (schema instanceof ZodArray) {
return new ZodArray({
...schema._def,
type: deepPartialify(schema.element)
});
}
else if (schema instanceof ZodOptional) {
return ZodOptional.create(deepPartialify(schema.unwrap()));
}
else if (schema instanceof ZodNullable) {
return ZodNullable.create(deepPartialify(schema.unwrap()));
}
else if (schema instanceof ZodTuple) {
return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));
}
else {
return schema;
}
}
class ZodObject extends ZodType {
constructor() {
super(...arguments);
this._cached = null;
this.nonstrict = this.passthrough;
this.augment = this.extend;
}
_getCached() {
if (this._cached !== null)
return this._cached;
const shape = this._def.shape();
const keys = util.objectKeys(shape);
this._cached = { shape, keys };
return this._cached;
}
_parse(input) {
const parsedType = this._getType(input);
if (parsedType !== ZodParsedType.object) {
const ctx2 = this._getOrReturnCtx(input);
addIssueToContext(ctx2, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.object,
received: ctx2.parsedType
});
return INVALID;
}
const { status, ctx } = this._processInputParams(input);
const { shape, keys: shapeKeys } = this._getCached();
const extraKeys = [];
if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === "strip")) {
for (const key in ctx.data) {
if (!shapeKeys.includes(key)) {
extraKeys.push(key);
}
}
}
const pairs = [];
for (const key of shapeKeys) {
const keyValidator = shape[key];
const value = ctx.data[key];
pairs.push({
key: { status: "valid", value: key },
value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),
alwaysSet: key in ctx.data
});
}
if (this._def.catchall instanceof ZodNever) {
const unknownKeys = this._def.unknownKeys;
if (unknownKeys === "passthrough") {
for (const key of extraKeys) {
pairs.push({
key: { status: "valid", value: key },
value: { status: "valid", value: ctx.data[key] }
});
}
}
else if (unknownKeys === "strict") {
if (extraKeys.length > 0) {
addIssueToContext(ctx, {
code: ZodIssueCode.unrecognized_keys,
keys: extraKeys
});
status.dirty();
}
}
else if (unknownKeys === "strip") ;
else {
throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);
}
}
else {
const catchall = this._def.catchall;
for (const key of extraKeys) {
const value = ctx.data[key];
pairs.push({
key: { status: "valid", value: key },
value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),
alwaysSet: key in ctx.data
});
}
}
if (ctx.common.async) {
return Promise.resolve().then(async () => {
const syncPairs = [];
for (const pair of pairs) {
const key = await pair.key;
const value = await pair.value;
syncPairs.push({
key,
value,
alwaysSet: pair.alwaysSet
});
}
return syncPairs;
}).then((syncPairs) => {
return ParseStatus.mergeObjectSync(status, syncPairs);
});
}
else {
return ParseStatus.mergeObjectSync(status, pairs);
}
}
get shape() {
return this._def.shape();
}
strict(message) {
errorUtil.errToObj;
return new ZodObject({
...this._def,
unknownKeys: "strict",
...message !== undefined ? {
errorMap: (issue, ctx) => {
const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;
if (issue.code === "unrecognized_keys")
return {
message: errorUtil.errToObj(message).message ?? defaultError
};
return {
message: defaultError
};
}
} : {}
});
}
strip() {
return new ZodObject({
...this._def,
unknownKeys: "strip"
});
}
passthrough() {
return new ZodObject({
...this._def,
unknownKeys: "passthrough"
});
}
extend(augmentation) {
return new ZodObject({
...this._def,
shape: () => ({
...this._def.shape(),
...augmentation
})
});
}
merge(merging) {
const merged = new ZodObject({
unknownKeys: merging._def.unknownKeys,
catchall: merging._def.catchall,
shape: () => ({
...this._def.shape(),
...merging._def.shape()
}),
typeName: ZodFirstPartyTypeKind.ZodObject
});
return merged;
}
setKey(key, schema) {
return this.augment({ [key]: schema });
}
catchall(index) {
return new ZodObject({
...this._def,
catchall: index
});
}
pick(mask) {
const shape = {};
for (const key of util.objectKeys(mask)) {
if (mask[key] && this.shape[key]) {
shape[key] = this.shape[key];
}
}
return new ZodObject({
...this._def,
shape: () => shape
});
}
omit(mask) {
const shape = {};
for (const key of util.objectKeys(this.shape)) {
if (!mask[key]) {
shape[key] = this.shape[key];
}
}
return new ZodObject({
...this._def,
shape: () => shape
});
}
deepPartial() {
return deepPartialify(this);
}
partial(mask) {
const newShape = {};
for (const key of util.objectKeys(this.shape)) {
const fieldSchema = this.shape[key];
if (mask && !mask[key]) {
newShape[key] = fieldSchema;
}
else {
newShape[key] = fieldSchema.optional();
}
}
return new ZodObject({
...this._def,
shape: () => newShape
});
}
required(mask) {
const newShape = {};
for (const key of util.objectKeys(this.shape)) {
if (mask && !mask[key]) {
newShape[key] = this.shape[key];
}
else {
const fieldSchema = this.shape[key];
let newField = fieldSchema;
while (newField instanceof ZodOptional) {
newField = newField._def.innerType;
}
newShape[key] = newField;
}
}
return new ZodObject({
...this._def,
shape: () => newShape
});
}
keyof() {
return createZodEnum(util.objectKeys(this.shape));
}
}
ZodObject.create = (shape, params) => {
return new ZodObject({
shape: () => shape,
unknownKeys: "strip",
catchall: ZodNever.create(),
typeName: ZodFirstPartyTypeKind.ZodObject,
...processCreateParams(params)
});
};
ZodObject.strictCreate = (shape, params) => {
return new ZodObject({
shape: () => shape,
unknownKeys: "strict",
catchall: ZodNever.create(),
typeName: ZodFirstPartyTypeKind.ZodObject,
...processCreateParams(params)
});
};
ZodObject.lazycreate = (shape, params) => {
return new ZodObject({
shape,
unknownKeys: "strip",
catchall: ZodNever.create(),
typeName: ZodFirstPartyTypeKind.ZodObject,
...processCreateParams(params)
});
};
class ZodUnion extends ZodType {
_parse(input) {
const { ctx } = this._processInputParams(input);
const options = this._def.options;
function handleResults(results) {
for (const result of results) {
if (result.result.status === "valid") {
return result.result;
}
}
for (const result of results) {
if (result.result.status === "dirty") {
ctx.common.issues.push(...result.ctx.common.issues);
return result.result;
}
}
const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_union,
unionErrors
});
return INVALID;
}
if (ctx.common.async) {
return Promise.all(options.map(async (option) => {
const childCtx = {
...ctx,
common: {
...ctx.common,
issues: []
},
parent: null
};
return {
result: await option._parseAsync({
data: ctx.data,
path: ctx.path,
parent: childCtx
}),
ctx: childCtx
};
})).then(handleResults);
}
else {
let dirty = undefined;
const issues = [];
for (const option of options) {
const childCtx = {
...ctx,
common: {
...ctx.common,
issues: []
},
parent: null
};
const result = option._parseSync({
data: ctx.data,
path: ctx.path,
parent: childCtx
});
if (result.status === "valid") {
return result;
}
else if (result.status === "dirty" && !dirty) {
dirty = { result, ctx: childCtx };
}
if (childCtx.common.issues.length) {
issues.push(childCtx.common.issues);
}
}
if (dirty) {
ctx.common.issues.push(...dirty.ctx.common.issues);
return dirty.result;
}
const unionErrors = issues.map((issues2) => new ZodError(issues2));
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_union,
unionErrors
});
return INVALID;
}
}
get options() {
return this._def.options;
}
}
ZodUnion.create = (types2, params) => {
return new ZodUnion({
options: types2,
typeName: ZodFirstPartyTypeKind.ZodUnion,
...processCreateParams(params)
});
};
var getDiscriminator = (type) => {
if (type instanceof ZodLazy) {
return getDiscriminator(type.schema);
}
else if (type instanceof ZodEffects) {
return getDiscriminator(type.innerType());
}
else if (type instanceof ZodLiteral) {
return [type.value];
}
else if (type instanceof ZodEnum) {
return type.options;
}
else if (type instanceof ZodNativeEnum) {
return util.objectValues(type.enum);
}
else if (type instanceof ZodDefault) {
return getDiscriminator(type._def.innerType);
}
else if (type instanceof ZodUndefined) {
return [undefined];
}
else if (type instanceof ZodNull) {
return [null];
}
else if (type instanceof ZodOptional) {
return [undefined, ...getDiscriminator(type.unwrap())];
}
else if (type instanceof ZodNullable) {
return [null, ...getDiscriminator(type.unwrap())];
}
else if (type instanceof ZodBranded) {
return getDiscriminator(type.unwrap());
}
else if (type instanceof ZodReadonly) {
return getDiscriminator(type.unwrap());
}
else if (type instanceof ZodCatch) {
return getDiscriminator(type._def.innerType);
}
else {
return [];
}
};
class ZodDiscriminatedUnion extends ZodType {
_parse(input) {
const { ctx } = this._processInputParams(input);
if (ctx.parsedType !== ZodParsedType.object) {
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.object,
received: ctx.parsedType
});
return INVALID;
}
const discriminator = this.discriminator;
const discriminatorValue = ctx.data[discriminator];
const option = this.optionsMap.get(discriminatorValue);
if (!option) {
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_union_discriminator,
options: Array.from(this.optionsMap.keys()),
path: [discriminator]
});
return INVALID;
}
if (ctx.common.async) {
return option._parseAsync({
data: ctx.data,
path: ctx.path,
parent: ctx
});
}
else {
return option._parseSync({
data: ctx.data,
path: ctx.path,
parent: ctx
});
}
}
get discriminator() {
return this._def.discriminator;
}
get options() {
return this._def.options;
}
get optionsMap() {
return this._def.optionsMap;
}
static create(discriminator, options, params) {
const optionsMap = new Map;
for (const type of options) {
const discriminatorValues = getDiscriminator(type.shape[discriminator]);
if (!discriminatorValues.length) {
throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`);
}
for (const value of discriminatorValues) {
if (optionsMap.has(value)) {
throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);
}
optionsMap.set(value, type);
}
}
return new ZodDiscriminatedUnion({
typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,
discriminator,
options,
optionsMap,
...processCreateParams(params)
});
}
}
function mergeValues(a, b) {
const aType = getParsedType(a);
const bType = getParsedType(b);
if (a === b) {
return { valid: true, data: a };
}
else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {
const bKeys = util.objectKeys(b);
const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);
const newObj = { ...a, ...b };
for (const key of sharedKeys) {
const sharedValue = mergeValues(a[key], b[key]);
if (!sharedValue.valid) {
return { valid: false };
}
newObj[key] = sharedValue.data;
}
return { valid: true, data: newObj };
}
else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {
if (a.length !== b.length) {
return { valid: false };
}
const newArray = [];
for (let index = 0; index < a.length; index++) {
const itemA = a[index];
const itemB = b[index];
const sharedValue = mergeValues(itemA, itemB);
if (!sharedValue.valid) {
return { valid: false };
}
newArray.push(sharedValue.data);
}
return { valid: true, data: newArray };
}
else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) {
return { valid: true, data: a };
}
else {
return { valid: false };
}
}
class ZodIntersection extends ZodType {
_parse(input) {
const { status, ctx } = this._processInputParams(input);
const handleParsed = (parsedLeft, parsedRight) => {
if (isAborted(parsedLeft) || isAborted(parsedRight)) {
return INVALID;
}
const merged = mergeValues(parsedLeft.value, parsedRight.value);
if (!merged.valid) {
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_intersection_types
});
return INVALID;
}
if (isDirty(parsedLeft) || isDirty(parsedRight)) {
status.dirty();
}
return { status: status.value, value: merged.data };
};
if (ctx.common.async) {
return Promise.all([
this._def.left._parseAsync({
data: ctx.data,
path: ctx.path,
parent: ctx
}),
this._def.right._parseAsync({
data: ctx.data,
path: ctx.path,
parent: ctx
})
]).then(([left, right]) => handleParsed(left, right));
}
else {
return handleParsed(this._def.left._parseSync({
data: ctx.data,
path: ctx.path,
parent: ctx
}), this._def.right._parseSync({
data: ctx.data,
path: ctx.path,
parent: ctx
}));
}
}
}
ZodIntersection.create = (left, right, params) => {
return new ZodIntersection({
left,
right,
typeName: ZodFirstPartyTypeKind.ZodIntersection,
...processCreateParams(params)
});
};
class ZodTuple extends ZodType {
_parse(input) {
const { status, ctx } = this._processInputParams(input);
if (ctx.parsedType !== ZodParsedType.array) {
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.array,
received: ctx.parsedType
});
return INVALID;
}
if (ctx.data.length < this._def.items.length) {
addIssueToContext(ctx, {
code: ZodIssueCode.too_small,
minimum: this._def.items.length,
inclusive: true,
exact: false,
type: "array"
});
return INVALID;
}
const rest = this._def.rest;
if (!rest && ctx.data.length > this._def.items.length) {
addIssueToContext(ctx, {
code: ZodIssueCode.too_big,
maximum: this._def.items.length,
inclusive: true,
exact: false,
type: "array"
});
status.dirty();
}
const items = [...ctx.data].map((item, itemIndex) => {
const schema = this._def.items[itemIndex] || this._def.rest;
if (!schema)
return null;
return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));
}).filter((x) => !!x);
if (ctx.common.async) {
return Promise.all(items).then((results) => {
return ParseStatus.mergeArray(status, results);
});
}
else {
return ParseStatus.mergeArray(status, items);
}
}
get items() {
return this._def.items;
}
rest(rest) {
return new ZodTuple({
...this._def,
rest
});
}
}
ZodTuple.create = (schemas, params) => {
if (!Array.isArray(schemas)) {
throw new Error("You must pass an array of schemas to z.tuple([ ... ])");
}
return new ZodTuple({
items: schemas,
typeName: ZodFirstPartyTypeKind.ZodTuple,
rest: null,
...processCreateParams(params)
});
};
class ZodRecord extends ZodType {
get keySchema() {
return this._def.keyType;
}
get valueSchema() {
return this._def.valueType;
}
_parse(input) {
const { status, ctx } = this._processInputParams(input);
if (ctx.parsedType !== ZodParsedType.object) {
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.object,
received: ctx.parsedType
});
return INVALID;
}
const pairs = [];
const keyType = this._def.keyType;
const valueType = this._def.valueType;
for (const key in ctx.data) {
pairs.push({
key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),
value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),
alwaysSet: key in ctx.data
});
}
if (ctx.common.async) {
return ParseStatus.mergeObjectAsync(status, pairs);
}
else {
return ParseStatus.mergeObjectSync(status, pairs);
}
}
get element() {
return this._def.valueType;
}
static create(first, second, third) {
if (second instanceof ZodType) {
return new ZodRecord({
keyType: first,
valueType: second,
typeName: ZodFirstPartyTypeKind.ZodRecord,
...processCreateParams(third)
});
}
return new ZodRecord({
keyType: ZodString.create(),
valueType: first,
typeName: ZodFirstPartyTypeKind.ZodRecord,
...processCreateParams(second)
});
}
}
class ZodMap extends ZodType {
get keySchema() {
return this._def.keyType;
}
get valueSchema() {
return this._def.valueType;
}
_parse(input) {
const { status, ctx } = this._processInputParams(input);
if (ctx.parsedType !== ZodParsedType.map) {
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.map,
received: ctx.parsedType
});
return INVALID;
}
const keyType = this._def.keyType;
const valueType = this._def.valueType;
const pairs = [...ctx.data.entries()].map(([key, value], index) => {
return {
key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, "key"])),
value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, "value"]))
};
});
if (ctx.common.async) {
const finalMap = new Map;
return Promise.resolve().then(async () => {
for (const pair of pairs) {
const key = await pair.key;
const value = await pair.value;
if (key.status === "aborted" || value.status === "aborted") {
return INVALID;
}
if (key.status === "dirty" || value.status === "dirty") {
status.dirty();
}
finalMap.set(key.value, value.value);
}
return { status: status.value, value: finalMap };
});
}
else {
const finalMap = new Map;
for (const pair of pairs) {
const key = pair.key;
const value = pair.value;
if (key.status === "aborted" || value.status === "aborted") {
return INVALID;
}
if (key.status === "dirty" || value.status === "dirty") {
status.dirty();
}
finalMap.set(key.value, value.value);
}
return { status: status.value, value: finalMap };
}
}
}
ZodMap.create = (keyType, valueType, params) => {
return new ZodMap({
valueType,
keyType,
typeName: ZodFirstPartyTypeKind.ZodMap,
...processCreateParams(params)
});
};
class ZodSet extends ZodType {
_parse(input) {
const { status, ctx } = this._processInputParams(input);
if (ctx.parsedType !== ZodParsedType.set) {
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.set,
received: ctx.parsedType
});
return INVALID;
}
const def = this._def;
if (def.minSize !== null) {
if (ctx.data.size < def.minSize.value) {
addIssueToContext(ctx, {
code: ZodIssueCode.too_small,
minimum: def.minSize.value,
type: "set",
inclusive: true,
exact: false,
message: def.minSize.message
});
status.dirty();
}
}
if (def.maxSize !== null) {
if (ctx.data.size > def.maxSize.value) {
addIssueToContext(ctx, {
code: ZodIssueCode.too_big,
maximum: def.maxSize.value,
type: "set",
inclusive: true,
exact: false,
message: def.maxSize.message
});
status.dirty();
}
}
const valueType = this._def.valueType;
function finalizeSet(elements2) {
const parsedSet = new Set;
for (const element of elements2) {
if (element.status === "aborted")
return INVALID;
if (element.status === "dirty")
status.dirty();
parsedSet.add(element.value);
}
return { status: status.value, value: parsedSet };
}
const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));
if (ctx.common.async) {
return Promise.all(elements).then((elements2) => finalizeSet(elements2));
}
else {
return finalizeSet(elements);
}
}
min(minSize, message) {
return new ZodSet({
...this._def,
minSize: { value: minSize, message: errorUtil.toString(message) }
});
}
max(maxSize, message) {
return new ZodSet({
...this._def,
maxSize: { value: maxSize, message: errorUtil.toString(message) }
});
}
size(size, message) {
return this.min(size, message).max(size, message);
}
nonempty(message) {
return this.min(1, message);
}
}
ZodSet.create = (valueType, params) => {
return new ZodSet({
valueType,
minSize: null,
maxSize: null,
typeName: ZodFirstPartyTypeKind.ZodSet,
...processCreateParams(params)
});
};
class ZodFunction extends ZodType {
constructor() {
super(...arguments);
this.validate = this.implement;
}
_parse(input) {
const { ctx } = this._processInputParams(input);
if (ctx.parsedType !== ZodParsedType.function) {
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.function,
received: ctx.parsedType
});
return INVALID;
}
function makeArgsIssue(args, error) {
return makeIssue({
data: args,
path: ctx.path,
errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x) => !!x),
issueData: {
code: ZodIssueCode.invalid_arguments,
argumentsError: error
}
});
}
function makeReturnsIssue(returns, error) {
return makeIssue({
data: returns,
path: ctx.path,
errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x) => !!x),
issueData: {
code: ZodIssueCode.invalid_return_type,
returnTypeError: error
}
});
}
const params = { errorMap: ctx.common.contextualErrorMap };
const fn = ctx.data;
if (this._def.returns instanceof ZodPromise) {
const me = this;
return OK(async function (...args) {
const error = new ZodError([]);
const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {
error.addIssue(makeArgsIssue(args, e));
throw error;
});
const result = await Reflect.apply(fn, this, parsedArgs);
const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e) => {
error.addIssue(makeReturnsIssue(result, e));
throw error;
});
return parsedReturns;
});
}
else {
const me = this;
return OK(function (...args) {
const parsedArgs = me._def.args.safeParse(args, params);
if (!parsedArgs.success) {
throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);
}
const result = Reflect.apply(fn, this, parsedArgs.data);
const parsedReturns = me._def.returns.safeParse(result, params);
if (!parsedReturns.success) {
throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);
}
return parsedReturns.data;
});
}
}
parameters() {
return this._def.args;
}
returnType() {
return this._def.returns;
}
args(...items) {
return new ZodFunction({
...this._def,
args: ZodTuple.create(items).rest(ZodUnknown.create())
});
}
returns(returnType) {
return new ZodFunction({
...this._def,
returns: returnType
});
}
implement(func) {
const validatedFunc = this.parse(func);
return validatedFunc;
}
strictImplement(func) {
const validatedFunc = this.parse(func);
return validatedFunc;
}
static create(args, returns, params) {
return new ZodFunction({
args: args ? args : ZodTuple.create([]).rest(ZodUnknown.create()),
returns: returns || ZodUnknown.create(),
typeName: ZodFirstPartyTypeKind.ZodFunction,
...processCreateParams(params)
});
}
}
class ZodLazy extends ZodType {
get schema() {
return this._def.getter();
}
_parse(input) {
const { ctx } = this._processInputParams(input);
const lazySchema = this._def.getter();
return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });
}
}
ZodLazy.create = (getter, params) => {
return new ZodLazy({
getter,
typeName: ZodFirstPartyTypeKind.ZodLazy,
...processCreateParams(params)
});
};
class ZodLiteral extends ZodType {
_parse(input) {
if (input.data !== this._def.value) {
const ctx = this._getOrReturnCtx(input);
addIssueToContext(ctx, {
received: ctx.data,
code: ZodIssueCode.invalid_literal,
expected: this._def.value
});
return INVALID;
}
return { status: "valid", value: input.data };
}
get value() {
return this._def.value;
}
}
ZodLiteral.create = (value, params) => {
return new ZodLiteral({
value,
typeName: ZodFirstPartyTypeKind.ZodLiteral,
...processCreateParams(params)
});
};
function createZodEnum(values, params) {
return new ZodEnum({
values,
typeName: ZodFirstPartyTypeKind.ZodEnum,
...processCreateParams(params)
});
}
class ZodEnum extends ZodType {
_parse(input) {
if (typeof input.data !== "string") {
const ctx = this._getOrReturnCtx(input);
const expectedValues = this._def.values;
addIssueToContext(ctx, {
expected: util.joinValues(expectedValues),
received: ctx.parsedType,
code: ZodIssueCode.invalid_type
});
return INVALID;
}
if (!this._cache) {
this._cache = new Set(this._def.values);
}
if (!this._cache.has(input.data)) {
const ctx = this._getOrReturnCtx(input);
const expectedValues = this._def.values;
addIssueToContext(ctx, {
received: ctx.data,
code: ZodIssueCode.invalid_enum_value,
options: expectedValues
});
return INVALID;
}
return OK(input.data);
}
get options() {
return this._def.values;
}
get enum() {
const enumValues = {};
for (const val of this._def.values) {
enumValues[val] = val;
}
return enumValues;
}
get Values() {
const enumValues = {};
for (const val of this._def.values) {
enumValues[val] = val;
}
return enumValues;
}
get Enum() {
const enumValues = {};
for (const val of this._def.values) {
enumValues[val] = val;
}
return enumValues;
}
extract(values, newDef = this._def) {
return ZodEnum.create(values, {
...this._def,
...newDef
});
}
exclude(values, newDef = this._def) {
return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {
...this._def,
...newDef
});
}
}
ZodEnum.create = createZodEnum;
class ZodNativeEnum extends ZodType {
_parse(input) {
const nativeEnumValues = util.getValidEnumValues(this._def.values);
const ctx = this._getOrReturnCtx(input);
if (ctx.parsedType !== ZodParsedType.string && ctx.parsedType !== ZodParsedType.number) {
const expectedValues = util.objectValues(nativeEnumValues);
addIssueToContext(ctx, {
expected: util.joinValues(expectedValues),
received: ctx.parsedType,
code: ZodIssueCode.invalid_type
});
return INVALID;
}
if (!this._cache) {
this._cache = new Set(util.getValidEnumValues(this._def.values));
}
if (!this._cache.has(input.data)) {
const expectedValues = util.objectValues(nativeEnumValues);
addIssueToContext(ctx, {
received: ctx.data,
code: ZodIssueCode.invalid_enum_value,
options: expectedValues
});
return INVALID;
}
return OK(input.data);
}
get enum() {
return this._def.values;
}
}
ZodNativeEnum.create = (values, params) => {
return new ZodNativeEnum({
values,
typeName: ZodFirstPartyTypeKind.ZodNativeEnum,
...processCreateParams(params)
});
};
class ZodPromise extends ZodType {
unwrap() {
return this._def.type;
}
_parse(input) {
const { ctx } = this._processInputParams(input);
if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) {
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.promise,
received: ctx.parsedType
});
return INVALID;
}
const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);
return OK(promisified.then((data) => {
return this._def.type.parseAsync(data, {
path: ctx.path,
errorMap: ctx.common.contextualErrorMap
});
}));
}
}
ZodPromise.create = (schema, params) => {
return new ZodPromise({
type: schema,
typeName: ZodFirstPartyTypeKind.ZodPromise,
...processCreateParams(params)
});
};
class ZodEffects extends ZodType {
innerType() {
return this._def.schema;
}
sourceType() {
return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects ? this._def.schema.sourceType() : this._def.schema;
}
_parse(input) {
const { status, ctx } = this._processInputParams(input);
const effect = this._def.effect || null;
const checkCtx = {
addIssue: (arg) => {
addIssueToContext(ctx, arg);
if (arg.fatal) {
status.abort();
}
else {
status.dirty();
}
},
get path() {
return ctx.path;
}
};
checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);
if (effect.type === "preprocess") {
const processed = effect.transform(ctx.data, checkCtx);
if (ctx.common.async) {
return Promise.resolve(processed).then(async (processed2) => {
if (status.value === "aborted")
return INVALID;
const result = await this._def.schema._parseAsync({
data: processed2,
path: ctx.path,
parent: ctx
});
if (result.status === "aborted")
return INVALID;
if (result.status === "dirty")
return DIRTY(result.value);
if (status.value === "dirty")
return DIRTY(result.value);
return result;
});
}
else {
if (status.value === "aborted")
return INVALID;
const result = this._def.schema._parseSync({
data: processed,
path: ctx.path,
parent: ctx
});
if (result.status === "aborted")
return INVALID;
if (result.status === "dirty")
return DIRTY(result.value);
if (status.value === "dirty")
return DIRTY(result.value);
return result;
}
}
if (effect.type === "refinement") {
const executeRefinement = (acc) => {
const result = effect.refinement(acc, checkCtx);
if (ctx.common.async) {
return Promise.resolve(result);
}
if (result instanceof Promise) {
throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");
}
return acc;
};
if (ctx.common.async === false) {
const inner = this._def.schema._parseSync({
data: ctx.data,
path: ctx.path,
parent: ctx
});
if (inner.status === "aborted")
return INVALID;
if (inner.status === "dirty")
status.dirty();
executeRefinement(inner.value);
return { status: status.value, value: inner.value };
}
else {
return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {
if (inner.status === "aborted")
return INVALID;
if (inner.status === "dirty")
status.dirty();
return executeRefinement(inner.value).then(() => {
return { status: status.value, value: inner.value };
});
});
}
}
if (effect.type === "transform") {
if (ctx.common.async === false) {
const base = this._def.schema._parseSync({
data: ctx.data,
path: ctx.path,
parent: ctx
});
if (!isValid(base))
return INVALID;
const result = effect.transform(base.value, checkCtx);
if (result instanceof Promise) {
throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);
}
return { status: status.value, value: result };
}
else {
return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {
if (!isValid(base))
return INVALID;
return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({
status: status.value,
value: result
}));
});
}
}
util.assertNever(effect);
}
}
ZodEffects.create = (schema, effect, params) => {
return new ZodEffects({
schema,
typeName: ZodFirstPartyTypeKind.ZodEffects,
effect,
...processCreateParams(params)
});
};
ZodEffects.createWithPreprocess = (preprocess, schema, params) => {
return new ZodEffects({
schema,
effect: { type: "preprocess", transform: preprocess },
typeName: ZodFirstPartyTypeKind.ZodEffects,
...processCreateParams(params)
});
};
class ZodOptional extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType === ZodParsedType.undefined) {
return OK(undefined);
}
return this._def.innerType._parse(input);
}
unwrap() {
return this._def.innerType;
}
}
ZodOptional.create = (type, params) => {
return new ZodOptional({
innerType: type,
typeName: ZodFirstPartyTypeKind.ZodOptional,
...processCreateParams(params)
});
};
class ZodNullable extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType === ZodParsedType.null) {
return OK(null);
}
return this._def.innerType._parse(input);
}
unwrap() {
return this._def.innerType;
}
}
ZodNullable.create = (type, params) => {
return new ZodNullable({
innerType: type,
typeName: ZodFirstPartyTypeKind.ZodNullable,
...processCreateParams(params)
});
};
class ZodDefault extends ZodType {
_parse(input) {
const { ctx } = this._processInputParams(input);
let data = ctx.data;
if (ctx.parsedType === ZodParsedType.undefined) {
data = this._def.defaultValue();
}
return this._def.innerType._parse({
data,
path: ctx.path,
parent: ctx
});
}
removeDefault() {
return this._def.innerType;
}
}
ZodDefault.create = (type, params) => {
return new ZodDefault({
innerType: type,
typeName: ZodFirstPartyTypeKind.ZodDefault,
defaultValue: typeof params.default === "function" ? params.default : () => params.default,
...processCreateParams(params)
});
};
class ZodCatch extends ZodType {
_parse(input) {
const { ctx } = this._processInputParams(input);
const newCtx = {
...ctx,
common: {
...ctx.common,
issues: []
}
};
const result = this._def.innerType._parse({
data: newCtx.data,
path: newCtx.path,
parent: {
...newCtx
}
});
if (isAsync(result)) {
return result.then((result2) => {
return {
status: "valid",
value: result2.status === "valid" ? result2.value : this._def.catchValue({
get error() {
return new ZodError(newCtx.common.issues);
},
input: newCtx.data
})
};
});
}
else {
return {
status: "valid",
value: result.status === "valid" ? result.value : this._def.catchValue({
get error() {
return new ZodError(newCtx.common.issues);
},
input: newCtx.data
})
};
}
}
removeCatch() {
return this._def.innerType;
}
}
ZodCatch.create = (type, params) => {
return new ZodCatch({
innerType: type,
typeName: ZodFirstPartyTypeKind.ZodCatch,
catchValue: typeof params.catch === "function" ? params.catch : () => params.catch,
...processCreateParams(params)
});
};
class ZodNaN extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType !== ZodParsedType.nan) {
const ctx = this._getOrReturnCtx(input);
addIssueToContext(ctx, {
code: ZodIssueCode.invalid_type,
expected: ZodParsedType.nan,
received: ctx.parsedType
});
return INVALID;
}
return { status: "valid", value: input.data };
}
}
ZodNaN.create = (params) => {
return new ZodNaN({
typeName: ZodFirstPartyTypeKind.ZodNaN,
...processCreateParams(params)
});
};
var BRAND = Symbol("zod_brand");
class ZodBranded extends ZodType {
_parse(input) {
const { ctx } = this._processInputParams(input);
const data = ctx.data;
return this._def.type._parse({
data,
path: ctx.path,
parent: ctx
});
}
unwrap() {
return this._def.type;
}
}
class ZodPipeline extends ZodType {
_parse(input) {
const { status, ctx } = this._processInputParams(input);
if (ctx.common.async) {
const handleAsync = async () => {
const inResult = await this._def.in._parseAsync({
data: ctx.data,
path: ctx.path,
parent: ctx
});
if (inResult.status === "aborted")
return INVALID;
if (inResult.status === "dirty") {
status.dirty();
return DIRTY(inResult.value);
}
else {
return this._def.out._parseAsync({
data: inResult.value,
path: ctx.path,
parent: ctx
});
}
};
return handleAsync();
}
else {
const inResult = this._def.in._parseSync({
data: ctx.data,
path: ctx.path,
parent: ctx
});
if (inResult.status === "aborted")
return INVALID;
if (inResult.status === "dirty") {
status.dirty();
return {
status: "dirty",
value: inResult.value
};
}
else {
return this._def.out._parseSync({
data: inResult.value,
path: ctx.path,
parent: ctx
});
}
}
}
static create(a, b) {
return new ZodPipeline({
in: a,
out: b,
typeName: ZodFirstPartyTypeKind.ZodPipeline
});
}
}
class ZodReadonly extends ZodType {
_parse(input) {
const result = this._def.innerType._parse(input);
const freeze = (data) => {
if (isValid(data)) {
data.value = Object.freeze(data.value);
}
return data;
};
return isAsync(result) ? result.then((data) => freeze(data)) : freeze(result);
}
unwrap() {
return this._def.innerType;
}
}
ZodReadonly.create = (type, params) => {
return new ZodReadonly({
innerType: type,
typeName: ZodFirstPartyTypeKind.ZodReadonly,
...processCreateParams(params)
});
};
function cleanParams(params, data) {
const p = typeof params === "function" ? params(data) : typeof params === "string" ? { message: params } : params;
const p2 = typeof p === "string" ? { message: p } : p;
return p2;
}
function custom(check, _params = {}, fatal) {
if (check)
return ZodAny.create().superRefine((data, ctx) => {
const r = check(data);
if (r instanceof Promise) {
return r.then((r2) => {
if (!r2) {
const params = cleanParams(_params, data);
const _fatal = params.fatal ?? fatal ?? true;
ctx.addIssue({ code: "custom", ...params, fatal: _fatal });
}
});
}
if (!r) {
const params = cleanParams(_params, data);
const _fatal = params.fatal ?? fatal ?? true;
ctx.addIssue({ code: "custom", ...params, fatal: _fatal });
}
return;
});
return ZodAny.create();
}
var late = {
object: ZodObject.lazycreate
};
var ZodFirstPartyTypeKind;
(function (ZodFirstPartyTypeKind2) {
ZodFirstPartyTypeKind2["ZodString"] = "ZodString";
ZodFirstPartyTypeKind2["ZodNumber"] = "ZodNumber";
ZodFirstPartyTypeKind2["ZodNaN"] = "ZodNaN";
ZodFirstPartyTypeKind2["ZodBigInt"] = "ZodBigInt";
ZodFirstPartyTypeKind2["ZodBoolean"] = "ZodBoolean";
ZodFirstPartyTypeKind2["ZodDate"] = "ZodDate";
ZodFirstPartyTypeKind2["ZodSymbol"] = "ZodSymbol";
ZodFirstPartyTypeKind2["ZodUndefined"] = "ZodUndefined";
ZodFirstPartyTypeKind2["ZodNull"] = "ZodNull";
ZodFirstPartyTypeKind2["ZodAny"] = "ZodAny";
ZodFirstPartyTypeKind2["ZodUnknown"] = "ZodUnknown";
ZodFirstPartyTypeKind2["ZodNever"] = "ZodNever";
ZodFirstPartyTypeKind2["ZodVoid"] = "ZodVoid";
ZodFirstPartyTypeKind2["ZodArray"] = "ZodArray";
ZodFirstPartyTypeKind2["ZodObject"] = "ZodObject";
ZodFirstPartyTypeKind2["ZodUnion"] = "ZodUnion";
ZodFirstPartyTypeKind2["ZodDiscriminatedUnion"] = "ZodDiscriminatedUnion";
ZodFirstPartyTypeKind2["ZodIntersection"] = "ZodIntersection";
ZodFirstPartyTypeKind2["ZodTuple"] = "ZodTuple";
ZodFirstPartyTypeKind2["ZodRecord"] = "ZodRecord";
ZodFirstPartyTypeKind2["ZodMap"] = "ZodMap";
ZodFirstPartyTypeKind2["ZodSet"] = "ZodSet";
ZodFirstPartyTypeKind2["ZodFunction"] = "ZodFunction";
ZodFirstPartyTypeKind2["ZodLazy"] = "ZodLazy";
ZodFirstPartyTypeKind2["ZodLiteral"] = "ZodLiteral";
ZodFirstPartyTypeKind2["ZodEnum"] = "ZodEnum";
ZodFirstPartyTypeKind2["ZodEffects"] = "ZodEffects";
ZodFirstPartyTypeKind2["ZodNativeEnum"] = "ZodNativeEnum";
ZodFirstPartyTypeKind2["ZodOptional"] = "ZodOptional";
ZodFirstPartyTypeKind2["ZodNullable"] = "ZodNullable";
ZodFirstPartyTypeKind2["ZodDefault"] = "ZodDefault";
ZodFirstPartyTypeKind2["ZodCatch"] = "ZodCatch";
ZodFirstPartyTypeKind2["ZodPromise"] = "ZodPromise";
ZodFirstPartyTypeKind2["ZodBranded"] = "ZodBranded";
ZodFirstPartyTypeKind2["ZodPipeline"] = "ZodPipeline";
ZodFirstPartyTypeKind2["ZodReadonly"] = "ZodReadonly";
})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));
var instanceOfType = (cls, params = {
message: `Input not instance of ${cls.name}`
}) => custom((data) => data instanceof cls, params);
var stringType = ZodString.create;
var numberType = ZodNumber.create;
var nanType = ZodNaN.create;
var bigIntType = ZodBigInt.create;
var booleanType = ZodBoolean.create;
var dateType = ZodDate.create;
var symbolType = ZodSymbol.create;
var undefinedType = ZodUndefined.create;
var nullType = ZodNull.create;
var anyType = ZodAny.create;
var unknownType = ZodUnknown.create;
var neverType = ZodNever.create;
var voidType = ZodVoid.create;
var arrayType = ZodArray.create;
var objectType = ZodObject.create;
var strictObjectType = ZodObject.strictCreate;
var unionType = ZodUnion.create;
var discriminatedUnionType = ZodDiscriminatedUnion.create;
var intersectionType = ZodIntersection.create;
var tupleType = ZodTuple.create;
var recordType = ZodRecord.create;
var mapType = ZodMap.create;
var setType = ZodSet.create;
var functionType = ZodFunction.create;
var lazyType = ZodLazy.create;
var literalType = ZodLiteral.create;
var enumType = ZodEnum.create;
var nativeEnumType = ZodNativeEnum.create;
var promiseType = ZodPromise.create;
var effectsType = ZodEffects.create;
var optionalType = ZodOptional.create;
var nullableType = ZodNullable.create;
var preprocessType = ZodEffects.createWithPreprocess;
var pipelineType = ZodPipeline.create;
var ostring = () => stringType().optional();
var onumber = () => numberType().optional();
var oboolean = () => booleanType().optional();
var coerce = {
string: (arg) => ZodString.create({ ...arg, coerce: true }),
number: (arg) => ZodNumber.create({ ...arg, coerce: true }),
boolean: (arg) => ZodBoolean.create({
...arg,
coerce: true
}),
bigint: (arg) => ZodBigInt.create({ ...arg, coerce: true }),
date: (arg) => ZodDate.create({ ...arg, coerce: true })
};
var NEVER = INVALID;
// ../../work/placement-analysis/node_modules/circuit-json/dist/index.mjs
var resistance = exports_external.string().or(exports_external.number()).transform((v) => parseAndConvertSiUnit(v, "Ω").value);
var capacitance = exports_external.string().or(exports_external.number()).transform((v) => parseAndConvertSiUnit(v, "F").value).transform((value) => {
return Number.parseFloat(value.toPrecision(12));
});
var inductance = exports_external.string().or(exports_external.number()).transform((v) => parseAndConvertSiUnit(v, "H").value);
var voltage = exports_external.string().or(exports_external.number()).transform((v) => parseAndConvertSiUnit(v, "V").value);
var length = exports_external.string().or(exports_external.number()).transform((v) => parseAndConvertSiUnit(v).value);
var frequency = exports_external.string().or(exports_external.number()).transform((v) => parseAndConvertSiUnit(v, "Hz").value);
var distance4 = length;
var current = exports_external.string().or(exports_external.number()).transform((v) => parseAndConvertSiUnit(v, "A").value);
var duration_ms = exports_external.string().or(exports_external.number()).transform((v) => parseAndConvertSiUnit(v).value);
var time = duration_ms;
var ms = duration_ms;
var timestamp = exports_external.string().datetime();
var rotation = exports_external.string().or(exports_external.number()).transform((arg) => {
if (typeof arg === "number")
return arg;
if (arg.endsWith("deg")) {
return Number.parseFloat(arg.split("deg")[0]);
}
if (arg.endsWith("rad")) {
return Number.parseFloat(arg.split("rad")[0]) * 180 / Math.PI;
}
return Number.parseFloat(arg);
});
var battery_capacity = exports_external.number().or(exports_external.string().endsWith("mAh")).transform((v) => {
if (typeof v === "string") {
const valString = v.replace("mAh", "");
const num = Number.parseFloat(valString);
if (Number.isNaN(num)) {
throw new Error("Invalid capacity");
}
return num;
}
return v;
}).describe("Battery capacity in mAh");
var point = exports_external.object({
x: distance4,
y: distance4
});
var position = point;
var point3 = exports_external.object({
x: distance4,
y: distance4,
z: distance4
});
var position3 = point3;
var size = exports_external.object({
width: exports_external.number(),
height: exports_external.number()
});
var randomId = (length4) => {
const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
return Array.from({ length: length4 }, () => chars[Math.floor(Math.random() * chars.length)]).join("");
};
var getZodPrefixedIdWithDefault = (prefix) => {
return exports_external.string().optional().default(() => `${prefix}_${randomId(10)}`);
};
var ninePointAnchor = exports_external.enum([
"top_left",
"top_center",
"top_right",
"center_left",
"center",
"center_right",
"bottom_left",
"bottom_center",
"bottom_right"
]);
var pcbRenderLayer = exports_external.enum([
"top_silkscreen",
"bottom_silkscreen",
"top_copper",
"bottom_copper",
"top_soldermask",
"bottom_soldermask",
"top_fabrication_note",
"bottom_fabrication_note",
"top_user_note",
"bottom_user_note",
"top_courtyard",
"bottom_courtyard",
"inner1_copper",
"inner2_copper",
"inner3_copper",
"inner4_copper",
"inner5_copper",
"inner6_copper",
"edge_cuts",
"drill"
]);
var asset = exports_external.object({
project_relative_path: exports_external.string(),
url: exports_external.string(),
mimetype: exports_external.string()
});
var kicadAt = point.extend({
rotation: rotation.optional()
});
var kicadFont = exports_external.object({
size: point.optional(),
thickness: distance4.optional()
});
var kicadEffects = exports_external.object({
font: kicadFont.optional()
});
var kicadProperty = exports_external.object({
value: exports_external.string(),
at: kicadAt.optional(),
layer: exports_external.string().optional(),
uuid: exports_external.string().optional(),
hide: exports_external.boolean().optional(),
effects: kicadEffects.optional()
});
var kicadFootprintProperties = exports_external.object({
Reference: kicadProperty.optional(),
Value: kicadProperty.optional(),
Datasheet: kicadProperty.optional(),
Description: kicadProperty.optional()
});
var kicadFootprintAttributes = exports_external.object({
through_hole: exports_external.boolean().optional(),
smd: exports_external.boolean().optional(),
exclude_from_pos_files: exports_external.boolean().optional(),
exclude_from_bom: exports_external.boolean().optional()
});
var kicadFootprintPad = exports_external.object({
name: exports_external.string(),
type: exports_external.string(),
shape: exports_external.string().optional(),
at: kicadAt.optional(),
size: point.optional(),
drill: distance4.optional(),
layers: exports_external.array(exports_external.string()).optional(),
removeUnusedLayers: exports_external.boolean().optional(),
uuid: exports_external.string().optional()
});
var kicadFootprintModel = exports_external.object({
path: exports_external.string(),
offset: point3.optional(),
scale: point3.optional(),
rotate: point3.optional()
});
var kicadFootprintMetadata = exports_external.object({
footprintName: exports_external.string().optional(),
version: exports_external.union([exports_external.number(), exports_external.string()]).optional(),
generator: exports_external.string().optional(),
generatorVersion: exports_external.union([exports_external.number(), exports_external.string()]).optional(),
layer: exports_external.string().optional(),
properties: kicadFootprintProperties.optional(),
attributes: kicadFootprintAttributes.optional(),
pads: exports_external.array(kicadFootprintPad).optional(),
embeddedFonts: exports_external.boolean().optional(),
model: kicadFootprintModel.optional()
});
var kicadSymbolPinNumbers = exports_external.object({
hide: exports_external.boolean().optional()
});
var kicadSymbolPinNames = exports_external.object({
offset: distance4.optional(),
hide: exports_external.boolean().optional()
});
var kicadSymbolEffects = exports_external.object({
font: kicadFont.optional(),
justify: exports_external.union([exports_external.string(), exports_external.array(exports_external.string())]).optional(),
hide: exports_external.boolean().optional()
});
var kicadSymbolProperty = exports_external.object({
value: exports_external.string(),
id: exports_external.union([exports_external.number(), exports_external.string()]).optional(),
at: kicadAt.optional(),
effects: kicadSymbolEffects.optional()
});
var kicadSymbolProperties = exports_external.object({
Reference: kicadSymbolProperty.optional(),
Value: kicadSymbolProperty.optional(),
Footprint: kicadSymbolProperty.optional(),
Datasheet: kicadSymbolProperty.optional(),
Description: kicadSymbolProperty.optional(),
ki_keywords: kicadSymbolProperty.optional(),
ki_fp_filters: kicadSymbolProperty.optional()
});
var kicadSymbolMetadata = exports_external.object({
symbolName: exports_external.string().optional(),
extends: exports_external.string().optional(),
pinNumbers: kicadSymbolPinNumbers.optional(),
pinNames: kicadSymbolPinNames.optional(),
excludeFromSim: exports_external.boolean().optional(),
inBom: exports_external.boolean().optional(),
onBoard: exports_external.boolean().optional(),
properties: kicadSymbolProperties.optional(),
embeddedFonts: exports_external.boolean().optional()
});
var base_circuit_json_error = exports_external.object({
error_type: exports_external.string(),
message: exports_external.string(),
is_fatal: exports_external.boolean().optional()
});
var supplier_name = exports_external.enum([
"jlcpcb",
"macrofab",
"pcbway",
"digikey",
"mouser",
"lcsc"
]);
var source_component_base = exports_external.object({
type: exports_external.literal("source_component"),
ftype: exports_external.string().optional(),
source_component_id: exports_external.string(),
name: exports_external.string(),
manufacturer_part_number: exports_external.string().optional(),
supplier_part_numbers: exports_external.record(supplier_name, exports_external.array(exports_external.string())).optional(),
display_value: exports_external.string().optional(),
display_name: exports_external.string().optional(),
are_pins_interchangeable: exports_external.boolean().optional(),
internally_connected_source_port_ids: exports_external.array(exports_external.array(exports_external.string())).optional(),
source_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional()
});
var source_simple_capacitor = source_component_base.extend({
ftype: exports_external.literal("simple_capacitor"),
capacitance,
max_voltage_rating: voltage.optional(),
display_capacitance: exports_external.string().optional(),
max_decoupling_trace_length: distance4.optional()
});
var source_simple_resistor = source_component_base.extend({
ftype: exports_external.literal("simple_resistor"),
resistance,
display_resistance: exports_external.string().optional()
});
var source_simple_diode = source_component_base.extend({
ftype: exports_external.literal("simple_diode")
});
var source_simple_fiducial = source_component_base.extend({
ftype: exports_external.literal("simple_fiducial")
});
var source_simple_led = source_simple_diode.extend({
ftype: exports_external.literal("simple_led"),
color: exports_external.string().optional(),
wavelength: exports_external.string().optional()
});
var source_simple_ground = source_component_base.extend({
ftype: exports_external.literal("simple_ground")
});
var source_simple_chip = source_component_base.extend({
ftype: exports_external.literal("simple_chip")
});
var source_simple_power_source = source_component_base.extend({
ftype: exports_external.literal("simple_power_source"),
voltage
});
var source_simple_current_source = source_component_base.extend({
ftype: exports_external.literal("simple_current_source"),
current,
frequency: frequency.optional(),
peak_to_peak_current: current.optional(),
wave_shape: exports_external.enum(["sine", "square", "triangle", "sawtooth", "dc"]).optional().default("dc"),
phase: exports_external.number().optional(),
duty_cycle: exports_external.number().min(0).max(1).optional()
});
var source_simple_ammeter = source_component_base.extend({
ftype: exports_external.literal("simple_ammeter")
});
var source_pin_attributes = exports_external.object({
must_be_connected: exports_external.boolean().optional(),
provides_power: exports_external.boolean().optional(),
requires_power: exports_external.boolean().optional(),
provides_ground: exports_external.boolean().optional(),
requires_ground: exports_external.boolean().optional(),
provides_voltage: exports_external.union([exports_external.string(), exports_external.number()]).optional(),
requires_voltage: exports_external.union([exports_external.string(), exports_external.number()]).optional(),
do_not_connect: exports_external.boolean().optional(),
include_in_board_pinout: exports_external.boolean().optional(),
can_use_internal_pullup: exports_external.boolean().optional(),
is_using_internal_pullup: exports_external.boolean().optional(),
needs_external_pullup: exports_external.boolean().optional(),
can_use_internal_pulldown: exports_external.boolean().optional(),
is_using_internal_pulldown: exports_external.boolean().optional(),
needs_external_pulldown: exports_external.boolean().optional(),
can_use_open_drain: exports_external.boolean().optional(),
is_using_open_drain: exports_external.boolean().optional(),
can_use_push_pull: exports_external.boolean().optional(),
is_using_push_pull: exports_external.boolean().optional(),
should_have_decoupling_capacitor: exports_external.boolean().optional(),
recommended_decoupling_capacitor_capacitance: exports_external.union([exports_external.string(), exports_external.number()]).optional(),
is_configured_for_i2c_sda: exports_external.boolean().optional(),
is_configured_for_i2c_scl: exports_external.boolean().optional(),
is_configured_for_spi_mosi: exports_external.boolean().optional(),
is_configured_for_spi_miso: exports_external.boolean().optional(),
is_configured_for_spi_sck: exports_external.boolean().optional(),
is_configured_for_spi_cs: exports_external.boolean().optional(),
is_configured_for_uart_tx: exports_external.boolean().optional(),
is_configured_for_uart_rx: exports_external.boolean().optional(),
supports_i2c_sda: exports_external.boolean().optional(),
supports_i2c_scl: exports_external.boolean().optional(),
supports_spi_mosi: exports_external.boolean().optional(),
supports_spi_miso: exports_external.boolean().optional(),
supports_spi_sck: exports_external.boolean().optional(),
supports_spi_cs: exports_external.boolean().optional(),
supports_uart_tx: exports_external.boolean().optional(),
supports_uart_rx: exports_external.boolean().optional()
});
var source_simple_fuse = source_component_base.extend({
ftype: exports_external.literal("simple_fuse"),
current_rating_amps: exports_external.number().describe("Nominal current in amps the fuse is rated for"),
voltage_rating_volts: exports_external.number().describe("Voltage rating in volts, e.g. ±5V would be 5")
});
var source_simple_battery = source_component_base.extend({
ftype: exports_external.literal("simple_battery"),
capacity: battery_capacity
});
var source_simple_inductor = source_component_base.extend({
ftype: exports_external.literal("simple_inductor"),
inductance,
display_inductance: exports_external.string().optional(),
max_current_rating: exports_external.number().optional()
});
var source_simple_push_button = source_component_base.extend({
ftype: exports_external.literal("simple_push_button")
});
var source_simple_potentiometer = source_component_base.extend({
ftype: exports_external.literal("simple_potentiometer"),
max_resistance: resistance,
display_max_resistance: exports_external.string().optional()
});
var source_simple_crystal = source_component_base.extend({
ftype: exports_external.literal("simple_crystal"),
frequency: exports_external.number().describe("Frequency in Hz"),
load_capacitance: exports_external.number().optional().describe("Load capacitance in pF"),
pin_variant: exports_external.enum(["two_pin", "four_pin"]).optional()
});
var source_simple_pin_header = source_component_base.extend({
ftype: exports_external.literal("simple_pin_header"),
pin_count: exports_external.number(),
gender: exports_external.enum(["male", "female"]).optional().default("male")
});
var source_simple_connector = source_component_base.extend({
ftype: exports_external.literal("simple_connector"),
standard: exports_external.enum(["usb_c", "m2"]).optional()
});
var source_simple_pinout = source_component_base.extend({
ftype: exports_external.literal("simple_pinout")
});
var source_simple_resonator = source_component_base.extend({
ftype: exports_external.literal("simple_resonator"),
load_capacitance: capacitance,
equivalent_series_resistance: resistance.optional(),
frequency
});
var source_simple_transistor = source_component_base.extend({
ftype: exports_external.literal("simple_transistor"),
transistor_type: exports_external.enum(["npn", "pnp"])
});
var source_simple_test_point = source_component_base.extend({
ftype: exports_external.literal("simple_test_point"),
footprint_variant: exports_external.enum(["pad", "through_hole"]).optional(),
pad_shape: exports_external.enum(["rect", "circle"]).optional(),
pad_diameter: exports_external.union([exports_external.number(), exports_external.string()]).optional(),
hole_diameter: exports_external.union([exports_external.number(), exports_external.string()]).optional(),
width: exports_external.union([exports_external.number(), exports_external.string()]).optional(),
height: exports_external.union([exports_external.number(), exports_external.string()]).optional()
});
var source_simple_mosfet = source_component_base.extend({
ftype: exports_external.literal("simple_mosfet"),
channel_type: exports_external.enum(["n", "p"]),
mosfet_mode: exports_external.enum(["enhancement", "depletion"])
});
var source_simple_op_amp = source_component_base.extend({
ftype: exports_external.literal("simple_op_amp")
});
var source_simple_switch = source_component_base.extend({
ftype: exports_external.literal("simple_switch")
});
var source_project_metadata = exports_external.object({
type: exports_external.literal("source_project_metadata"),
name: exports_external.string().optional(),
software_used_string: exports_external.string().optional(),
project_url: exports_external.string().optional(),
created_at: timestamp.optional()
});
var source_missing_property_error = base_circuit_json_error.extend({
type: exports_external.literal("source_missing_property_error"),
source_missing_property_error_id: getZodPrefixedIdWithDefault("source_missing_property_error"),
source_component_id: exports_external.string(),
property_name: exports_external.string(),
subcircuit_id: exports_external.string().optional(),
error_type: exports_external.literal("source_missing_property_error").default("source_missing_property_error")
}).describe("The source code is missing a property");
var source_failed_to_create_component_error = base_circuit_json_error.extend({
type: exports_external.literal("source_failed_to_create_component_error"),
source_failed_to_create_component_error_id: getZodPrefixedIdWithDefault("source_failed_to_create_component_error"),
error_type: exports_external.literal("source_failed_to_create_component_error").default("source_failed_to_create_component_error"),
component_name: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
parent_source_component_id: exports_external.string().optional(),
pcb_center: exports_external.object({
x: exports_external.number().optional(),
y: exports_external.number().optional()
}).optional(),
schematic_center: exports_external.object({
x: exports_external.number().optional(),
y: exports_external.number().optional()
}).optional()
}).describe("Error emitted when a component fails to be constructed");
var source_invalid_component_property_error = base_circuit_json_error.extend({
type: exports_external.literal("source_invalid_component_property_error"),
source_invalid_component_property_error_id: getZodPrefixedIdWithDefault("source_invalid_component_property_error"),
source_component_id: exports_external.string(),
property_name: exports_external.string(),
property_value: exports_external.unknown().optional(),
expected_format: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
error_type: exports_external.literal("source_invalid_component_property_error").default("source_invalid_component_property_error")
}).describe("The source component property is invalid");
var source_trace_not_connected_error = base_circuit_json_error.extend({
type: exports_external.literal("source_trace_not_connected_error"),
source_trace_not_connected_error_id: getZodPrefixedIdWithDefault("source_trace_not_connected_error"),
error_type: exports_external.literal("source_trace_not_connected_error").default("source_trace_not_connected_error"),
subcircuit_id: exports_external.string().optional(),
source_group_id: exports_external.string().optional(),
source_trace_id: exports_external.string().optional(),
connected_source_port_ids: exports_external.array(exports_external.string()).optional(),
selectors_not_found: exports_external.array(exports_external.string()).optional()
}).describe("Occurs when a source trace selector does not match any ports");
var source_property_ignored_warning = exports_external.object({
type: exports_external.literal("source_property_ignored_warning"),
source_property_ignored_warning_id: getZodPrefixedIdWithDefault("source_property_ignored_warning"),
source_component_id: exports_external.string(),
property_name: exports_external.string(),
subcircuit_id: exports_external.string().optional(),
error_type: exports_external.literal("source_property_ignored_warning").default("source_property_ignored_warning"),
message: exports_external.string()
}).describe("The source property was ignored");
var source_pin_missing_trace_warning = exports_external.object({
type: exports_external.literal("source_pin_missing_trace_warning"),
source_pin_missing_trace_warning_id: getZodPrefixedIdWithDefault("source_pin_missing_trace_warning"),
warning_type: exports_external.literal("source_pin_missing_trace_warning").default("source_pin_missing_trace_warning"),
message: exports_external.string(),
source_component_id: exports_external.string(),
source_port_id: exports_external.string(),
subcircuit_id: exports_external.string().optional()
}).describe("Warning emitted when a source component pin is missing a trace connection");
var source_missing_manufacturer_part_number_warning = exports_external.object({
type: exports_external.literal("source_missing_manufacturer_part_number_warning"),
source_missing_manufacturer_part_number_warning_id: getZodPrefixedIdWithDefault("source_missing_manufacturer_part_number_warning"),
warning_type: exports_external.literal("source_missing_manufacturer_part_number_warning").default("source_missing_manufacturer_part_number_warning"),
message: exports_external.string(),
source_component_id: exports_external.string(),
standard: exports_external.string(),
subcircuit_id: exports_external.string().optional()
}).describe("Warning emitted when a standard connector is missing manufacturer part number");
var source_simple_voltage_probe = source_component_base.extend({
ftype: exports_external.literal("simple_voltage_probe")
});
var source_interconnect = source_component_base.extend({
ftype: exports_external.literal("interconnect")
});
var source_i2c_misconfigured_error = base_circuit_json_error.extend({
type: exports_external.literal("source_i2c_misconfigured_error"),
source_i2c_misconfigured_error_id: getZodPrefixedIdWithDefault("source_i2c_misconfigured_error"),
error_type: exports_external.literal("source_i2c_misconfigured_error").default("source_i2c_misconfigured_error"),
source_port_ids: exports_external.array(exports_external.string())
}).describe("Error emitted when incompatible I2C pins (e.g. SDA and SCL) are connected to the same net");
var source_component_misconfigured_error = base_circuit_json_error.extend({
type: exports_external.literal("source_component_misconfigured_error"),
source_component_misconfigured_error_id: getZodPrefixedIdWithDefault("source_component_misconfigured_error"),
error_type: exports_external.literal("source_component_misconfigured_error").default("source_component_misconfigured_error"),
source_component_ids: exports_external.array(exports_external.string()),
source_port_ids: exports_external.array(exports_external.string()).optional()
}).describe("Error emitted when one or more source components have an invalid or conflicting configuration");
var source_simple_voltage_source = source_component_base.extend({
ftype: exports_external.literal("simple_voltage_source"),
voltage,
frequency: frequency.optional(),
peak_to_peak_voltage: voltage.optional(),
wave_shape: exports_external.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
phase: rotation.optional(),
duty_cycle: exports_external.number().optional().describe("Duty cycle as a fraction (0 to 1)"),
pulse_delay: ms.optional(),
rise_time: ms.optional(),
fall_time: ms.optional(),
pulse_width: ms.optional(),
period: ms.optional()
});
var any_source_component = exports_external.union([
source_simple_resistor,
source_simple_capacitor,
source_simple_diode,
source_simple_fiducial,
source_simple_led,
source_simple_ground,
source_simple_chip,
source_simple_power_source,
source_simple_current_source,
source_simple_ammeter,
source_simple_battery,
source_simple_inductor,
source_simple_push_button,
source_simple_potentiometer,
source_simple_crystal,
source_simple_pin_header,
source_simple_connector,
source_simple_pinout,
source_simple_resonator,
source_simple_switch,
source_simple_transistor,
source_simple_test_point,
source_simple_mosfet,
source_simple_op_amp,
source_simple_fuse,
source_simple_voltage_probe,
source_interconnect,
source_simple_voltage_source,
source_project_metadata,
source_missing_property_error,
source_invalid_component_property_error,
source_failed_to_create_component_error,
source_trace_not_connected_error,
source_property_ignored_warning,
source_pin_missing_trace_warning,
source_missing_manufacturer_part_number_warning,
source_i2c_misconfigured_error,
source_component_misconfigured_error
]);
var source_port = exports_external.object({
type: exports_external.literal("source_port"),
pin_number: exports_external.number().optional(),
port_hints: exports_external.array(exports_external.string()).optional(),
name: exports_external.string(),
source_port_id: exports_external.string(),
source_component_id: exports_external.string().optional(),
source_group_id: exports_external.string().optional(),
most_frequently_referenced_by_name: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
subcircuit_connectivity_map_key: exports_external.string().optional()
}).merge(source_pin_attributes);
var source_component_internal_connection = exports_external.object({
type: exports_external.literal("source_component_internal_connection"),
source_component_internal_connection_id: exports_external.string(),
source_component_id: exports_external.string(),
source_port_ids: exports_external.array(exports_external.string()),
subcircuit_id: exports_external.string().optional()
});
var source_trace = exports_external.object({
type: exports_external.literal("source_trace"),
source_trace_id: exports_external.string(),
connected_source_port_ids: exports_external.array(exports_external.string()),
connected_source_net_ids: exports_external.array(exports_external.string()),
subcircuit_id: exports_external.string().optional(),
subcircuit_connectivity_map_key: exports_external.string().optional(),
max_length: exports_external.number().optional(),
name: exports_external.string().optional(),
min_trace_thickness: exports_external.number().optional(),
display_name: exports_external.string().optional()
});
var source_group = exports_external.object({
type: exports_external.literal("source_group"),
source_group_id: exports_external.string(),
subcircuit_id: exports_external.string().optional(),
parent_subcircuit_id: exports_external.string().optional(),
parent_source_group_id: exports_external.string().optional(),
is_subcircuit: exports_external.boolean().optional(),
show_as_schematic_box: exports_external.boolean().optional(),
name: exports_external.string().optional(),
was_automatically_named: exports_external.boolean().optional()
});
var source_net = exports_external.object({
type: exports_external.literal("source_net"),
source_net_id: exports_external.string(),
name: exports_external.string(),
member_source_group_ids: exports_external.array(exports_external.string()),
is_power: exports_external.boolean().optional(),
is_ground: exports_external.boolean().optional(),
is_digital_signal: exports_external.boolean().optional(),
is_analog_signal: exports_external.boolean().optional(),
is_positive_voltage_source: exports_external.boolean().optional(),
trace_width: exports_external.number().optional(),
subcircuit_id: exports_external.string().optional(),
subcircuit_connectivity_map_key: exports_external.string().optional()
});
var source_board = exports_external.object({
type: exports_external.literal("source_board"),
source_board_id: exports_external.string(),
source_group_id: exports_external.string(),
title: exports_external.string().optional()
}).describe("Defines a board in the source domain");
var source_ambiguous_port_reference = base_circuit_json_error.extend({
type: exports_external.literal("source_ambiguous_port_reference"),
source_ambiguous_port_reference_id: getZodPrefixedIdWithDefault("source_ambiguous_port_reference"),
error_type: exports_external.literal("source_ambiguous_port_reference").default("source_ambiguous_port_reference"),
source_port_id: exports_external.string().optional(),
source_component_id: exports_external.string().optional()
}).describe("Error emitted when a port hint matches multiple non-overlapping pads, making the port reference ambiguous");
var source_pcb_ground_plane = exports_external.object({
type: exports_external.literal("source_pcb_ground_plane"),
source_pcb_ground_plane_id: exports_external.string(),
source_group_id: exports_external.string(),
source_net_id: exports_external.string(),
subcircuit_id: exports_external.string().optional()
}).describe("Defines a ground plane in the source domain");
var all_layers = [
"top",
"bottom",
"inner1",
"inner2",
"inner3",
"inner4",
"inner5",
"inner6"
];
var layer_string = exports_external.enum(all_layers);
var layer_ref = layer_string.or(exports_external.object({
name: layer_string
})).transform((layer) => {
if (typeof layer === "string") {
return layer;
}
return layer.name;
});
var visible_layer = exports_external.enum(["top", "bottom"]);
var source_manually_placed_via = exports_external.object({
type: exports_external.literal("source_manually_placed_via"),
source_manually_placed_via_id: exports_external.string(),
source_group_id: exports_external.string(),
source_net_id: exports_external.string(),
subcircuit_id: exports_external.string().optional(),
source_trace_id: exports_external.string().optional()
}).describe("Defines a via that is manually placed in the source domain");
var source_unnamed_trace_warning = exports_external.object({
type: exports_external.literal("source_unnamed_trace_warning"),
source_unnamed_trace_warning_id: getZodPrefixedIdWithDefault("source_unnamed_trace_warning"),
warning_type: exports_external.literal("source_unnamed_trace_warning").default("source_unnamed_trace_warning"),
message: exports_external.string(),
source_trace_id: exports_external.string(),
subcircuit_id: exports_external.string().optional()
}).describe("Warning emitted when a source trace is missing a name");
var source_no_power_pin_defined_warning = exports_external.object({
type: exports_external.literal("source_no_power_pin_defined_warning"),
source_no_power_pin_defined_warning_id: getZodPrefixedIdWithDefault("source_no_power_pin_defined_warning"),
warning_type: exports_external.literal("source_no_power_pin_defined_warning").default("source_no_power_pin_defined_warning"),
message: exports_external.string(),
source_component_id: exports_external.string(),
source_port_ids: exports_external.array(exports_external.string()),
subcircuit_id: exports_external.string().optional()
}).describe("Warning emitted when a chip has no source ports with requires_power=true");
var source_no_ground_pin_defined_warning = exports_external.object({
type: exports_external.literal("source_no_ground_pin_defined_warning"),
source_no_ground_pin_defined_warning_id: getZodPrefixedIdWithDefault("source_no_ground_pin_defined_warning"),
warning_type: exports_external.literal("source_no_ground_pin_defined_warning").default("source_no_ground_pin_defined_warning"),
message: exports_external.string(),
source_component_id: exports_external.string(),
source_port_ids: exports_external.array(exports_external.string()),
subcircuit_id: exports_external.string().optional()
}).describe("Warning emitted when a chip has no source ports marked as ground pins");
var source_component_pins_underspecified_warning = exports_external.object({
type: exports_external.literal("source_component_pins_underspecified_warning"),
source_component_pins_underspecified_warning_id: getZodPrefixedIdWithDefault("source_component_pins_underspecified_warning"),
warning_type: exports_external.literal("source_component_pins_underspecified_warning").default("source_component_pins_underspecified_warning"),
message: exports_external.string(),
source_component_id: exports_external.string(),
source_port_ids: exports_external.array(exports_external.string()),
subcircuit_id: exports_external.string().optional()
}).describe("Warning emitted when all ports on a source component are underspecified");
var source_pin_must_be_connected_error = base_circuit_json_error.extend({
type: exports_external.literal("source_pin_must_be_connected_error"),
source_pin_must_be_connected_error_id: getZodPrefixedIdWithDefault("source_pin_must_be_connected_error"),
error_type: exports_external.literal("source_pin_must_be_connected_error").default("source_pin_must_be_connected_error"),
source_component_id: exports_external.string(),
source_port_id: exports_external.string(),
subcircuit_id: exports_external.string().optional()
}).describe("Error emitted when a pin with mustBeConnected attribute is not connected to any trace");
var unknown_error_finding_part = base_circuit_json_error.extend({
type: exports_external.literal("unknown_error_finding_part"),
unknown_error_finding_part_id: getZodPrefixedIdWithDefault("unknown_error_finding_part"),
error_type: exports_external.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
source_component_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional()
}).describe("Error emitted when an unexpected error occurs while finding a part");
var schematic_box = exports_external.object({
type: exports_external.literal("schematic_box"),
schematic_sheet_id: exports_external.string().optional(),
schematic_component_id: exports_external.string().optional(),
schematic_symbol_id: exports_external.string().optional(),
width: distance4,
height: distance4,
is_dashed: exports_external.boolean().default(false),
x: distance4,
y: distance4,
subcircuit_id: exports_external.string().optional()
}).describe("Draws a box on the schematic");
var schematic_path = exports_external.object({
type: exports_external.literal("schematic_path"),
schematic_path_id: getZodPrefixedIdWithDefault("schematic_path"),
schematic_sheet_id: exports_external.string().optional(),
schematic_component_id: exports_external.string().optional(),
schematic_symbol_id: exports_external.string().optional(),
fill_color: exports_external.string().optional(),
is_filled: exports_external.boolean().optional(),
is_dashed: exports_external.boolean().default(false),
stroke_width: distance4.nullable().optional(),
stroke_color: exports_external.string().optional(),
dash_length: distance4.optional(),
dash_gap: distance4.optional(),
points: exports_external.array(point),
subcircuit_id: exports_external.string().optional()
});
var schematic_pin_styles = exports_external.record(exports_external.object({
left_margin: length.optional(),
right_margin: length.optional(),
top_margin: length.optional(),
bottom_margin: length.optional()
}));
var schematic_component_port_arrangement_by_size = exports_external.object({
left_size: exports_external.number(),
right_size: exports_external.number(),
top_size: exports_external.number().optional(),
bottom_size: exports_external.number().optional()
});
var schematic_component_port_arrangement_by_sides = exports_external.object({
left_side: exports_external.object({
pins: exports_external.array(exports_external.number()),
direction: exports_external.enum(["top-to-bottom", "bottom-to-top"]).optional()
}).optional(),
right_side: exports_external.object({
pins: exports_external.array(exports_external.number()),
direction: exports_external.enum(["top-to-bottom", "bottom-to-top"]).optional()
}).optional(),
top_side: exports_external.object({
pins: exports_external.array(exports_external.number()),
direction: exports_external.enum(["left-to-right", "right-to-left"]).optional()
}).optional(),
bottom_side: exports_external.object({
pins: exports_external.array(exports_external.number()),
direction: exports_external.enum(["left-to-right", "right-to-left"]).optional()
}).optional()
});
var port_arrangement = exports_external.union([
schematic_component_port_arrangement_by_size,
schematic_component_port_arrangement_by_sides
]);
var schematic_component = exports_external.object({
type: exports_external.literal("schematic_component"),
size,
center: point,
source_component_id: exports_external.string().optional(),
schematic_component_id: exports_external.string(),
schematic_sheet_id: exports_external.string().optional(),
schematic_symbol_id: exports_external.string().optional(),
pin_spacing: length.optional(),
pin_styles: schematic_pin_styles.optional(),
box_width: length.optional(),
symbol_name: exports_external.string().optional(),
port_arrangement: port_arrangement.optional(),
port_labels: exports_external.record(exports_external.string()).optional(),
symbol_display_value: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
schematic_group_id: exports_external.string().optional(),
is_schematic_group: exports_external.boolean().optional(),
source_group_id: exports_external.string().optional(),
is_box_with_pins: exports_external.boolean().optional().default(true)
});
var schematicSymbolMetadata = exports_external.object({
kicad_symbol: kicadSymbolMetadata.optional()
}).catchall(exports_external.unknown());
var schematic_symbol = exports_external.object({
type: exports_external.literal("schematic_symbol"),
schematic_symbol_id: exports_external.string(),
name: exports_external.string().optional(),
metadata: schematicSymbolMetadata.optional()
}).describe("Defines a named schematic symbol that can be referenced by components.");
var schematic_line = exports_external.object({
type: exports_external.literal("schematic_line"),
schematic_line_id: getZodPrefixedIdWithDefault("schematic_line"),
schematic_sheet_id: exports_external.string().optional(),
schematic_component_id: exports_external.string().optional(),
schematic_symbol_id: exports_external.string().optional(),
x1: distance4,
y1: distance4,
x2: distance4,
y2: distance4,
stroke_width: distance4.nullable().optional(),
color: exports_external.string().default("#000000"),
is_dashed: exports_external.boolean().default(false),
dash_length: distance4.optional(),
dash_gap: distance4.optional(),
subcircuit_id: exports_external.string().optional()
}).describe("Draws a styled line on the schematic");
var schematic_rect = exports_external.object({
type: exports_external.literal("schematic_rect"),
schematic_rect_id: getZodPrefixedIdWithDefault("schematic_rect"),
schematic_sheet_id: exports_external.string().optional(),
schematic_component_id: exports_external.string().optional(),
schematic_symbol_id: exports_external.string().optional(),
center: point,
width: distance4,
height: distance4,
rotation: rotation.default(0),
stroke_width: distance4.nullable().optional(),
color: exports_external.string().default("#000000"),
is_filled: exports_external.boolean().default(false),
fill_color: exports_external.string().optional(),
is_dashed: exports_external.boolean().default(false),
subcircuit_id: exports_external.string().optional()
}).describe("Draws a styled rectangle on the schematic");
var schematic_circle = exports_external.object({
type: exports_external.literal("schematic_circle"),
schematic_circle_id: getZodPrefixedIdWithDefault("schematic_circle"),
schematic_sheet_id: exports_external.string().optional(),
schematic_component_id: exports_external.string().optional(),
schematic_symbol_id: exports_external.string().optional(),
center: point,
radius: distance4,
stroke_width: distance4.nullable().optional(),
color: exports_external.string().default("#000000"),
is_filled: exports_external.boolean().default(false),
fill_color: exports_external.string().optional(),
is_dashed: exports_external.boolean().default(false),
subcircuit_id: exports_external.string().optional()
}).describe("Draws a styled circle on the schematic");
var schematic_arc = exports_external.object({
type: exports_external.literal("schematic_arc"),
schematic_arc_id: getZodPrefixedIdWithDefault("schematic_arc"),
schematic_sheet_id: exports_external.string().optional(),
schematic_component_id: exports_external.string().optional(),
schematic_symbol_id: exports_external.string().optional(),
center: point,
radius: distance4,
start_angle_degrees: rotation,
end_angle_degrees: rotation,
direction: exports_external.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
stroke_width: distance4.nullable().optional(),
color: exports_external.string().default("#000000"),
is_dashed: exports_external.boolean().default(false),
subcircuit_id: exports_external.string().optional()
}).describe("Draws a styled arc on the schematic");
var schematic_trace = exports_external.object({
type: exports_external.literal("schematic_trace"),
schematic_trace_id: exports_external.string(),
schematic_sheet_id: exports_external.string().optional(),
source_trace_id: exports_external.string().optional(),
junctions: exports_external.array(exports_external.object({
x: exports_external.number(),
y: exports_external.number()
})),
edges: exports_external.array(exports_external.object({
from: exports_external.object({
x: exports_external.number(),
y: exports_external.number()
}),
to: exports_external.object({
x: exports_external.number(),
y: exports_external.number()
}),
is_crossing: exports_external.boolean().optional(),
from_schematic_port_id: exports_external.string().optional(),
to_schematic_port_id: exports_external.string().optional()
})),
subcircuit_id: exports_external.string().optional(),
subcircuit_connectivity_map_key: exports_external.string().optional()
});
var fivePointAnchor = exports_external.enum([
"center",
"left",
"right",
"top",
"bottom"
]);
var schematic_text = exports_external.object({
type: exports_external.literal("schematic_text"),
schematic_sheet_id: exports_external.string().optional(),
schematic_component_id: exports_external.string().optional(),
schematic_symbol_id: exports_external.string().optional(),
schematic_text_id: exports_external.string(),
text: exports_external.string(),
font_size: exports_external.number().default(0.18),
position: exports_external.object({
x: distance4,
y: distance4
}),
rotation: exports_external.number().default(0),
anchor: exports_external.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
color: exports_external.string().default("#000000"),
subcircuit_id: exports_external.string().optional()
});
var schematic_port = exports_external.object({
type: exports_external.literal("schematic_port"),
schematic_port_id: exports_external.string(),
source_port_id: exports_external.string(),
schematic_sheet_id: exports_external.string().optional(),
schematic_component_id: exports_external.string().optional(),
center: point,
facing_direction: exports_external.enum(["up", "down", "left", "right"]).optional(),
distance_from_component_edge: exports_external.number().optional(),
side_of_component: exports_external.enum(["top", "bottom", "left", "right"]).optional(),
true_ccw_index: exports_external.number().optional(),
pin_number: exports_external.number().optional(),
display_pin_label: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
is_connected: exports_external.boolean().optional(),
has_input_arrow: exports_external.boolean().optional(),
has_output_arrow: exports_external.boolean().optional(),
is_drawn_with_inversion_circle: exports_external.boolean().optional()
}).describe("Defines a port on a schematic component");
var schematic_net_label = exports_external.object({
type: exports_external.literal("schematic_net_label"),
schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
schematic_sheet_id: exports_external.string().optional(),
schematic_trace_id: exports_external.string().optional(),
source_trace_id: exports_external.string().optional(),
source_net_id: exports_external.string(),
center: point,
anchor_position: point.optional(),
anchor_side: exports_external.enum(["top", "bottom", "left", "right"]),
text: exports_external.string(),
symbol_name: exports_external.string().optional(),
is_movable: exports_external.boolean().optional(),
subcircuit_id: exports_external.string().optional()
});
var schematic_error = base_circuit_json_error.extend({
type: exports_external.literal("schematic_error"),
schematic_error_id: exports_external.string(),
error_type: exports_external.literal("schematic_port_not_found").default("schematic_port_not_found"),
subcircuit_id: exports_external.string().optional()
}).describe("Defines a schematic error on the schematic");
var schematic_layout_error = base_circuit_json_error.extend({
type: exports_external.literal("schematic_layout_error"),
schematic_layout_error_id: getZodPrefixedIdWithDefault("schematic_layout_error"),
error_type: exports_external.literal("schematic_layout_error").default("schematic_layout_error"),
source_group_id: exports_external.string(),
schematic_group_id: exports_external.string(),
subcircuit_id: exports_external.string().optional()
}).describe("Error emitted when schematic layout fails for a group");
var schematic_debug_object_base = exports_external.object({
type: exports_external.literal("schematic_debug_object"),
label: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional()
});
var schematic_debug_rect = schematic_debug_object_base.extend({
shape: exports_external.literal("rect"),
center: point,
size
});
var schematic_debug_line = schematic_debug_object_base.extend({
shape: exports_external.literal("line"),
start: point,
end: point
});
var schematic_debug_point = schematic_debug_object_base.extend({
shape: exports_external.literal("point"),
center: point
});
var schematic_debug_object = exports_external.discriminatedUnion("shape", [
schematic_debug_rect,
schematic_debug_line,
schematic_debug_point
]);
var schematic_voltage_probe = exports_external.object({
type: exports_external.literal("schematic_voltage_probe"),
schematic_voltage_probe_id: exports_external.string(),
schematic_sheet_id: exports_external.string().optional(),
source_component_id: exports_external.string().optional(),
name: exports_external.string().optional(),
position: point,
schematic_trace_id: exports_external.string(),
voltage: voltage.optional(),
subcircuit_id: exports_external.string().optional(),
color: exports_external.string().optional(),
label_alignment: ninePointAnchor.optional()
}).describe("Defines a voltage probe measurement point on a schematic trace");
var schematic_manual_edit_conflict_warning = exports_external.object({
type: exports_external.literal("schematic_manual_edit_conflict_warning"),
schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault("schematic_manual_edit_conflict_warning"),
warning_type: exports_external.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
message: exports_external.string(),
schematic_component_id: exports_external.string(),
schematic_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
source_component_id: exports_external.string()
}).describe("Warning emitted when a component has both manual placement and explicit schX/schY coordinates");
var schematic_group = exports_external.object({
type: exports_external.literal("schematic_group"),
schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
schematic_sheet_id: exports_external.string().optional(),
source_group_id: exports_external.string(),
is_subcircuit: exports_external.boolean().optional(),
subcircuit_id: exports_external.string().optional(),
width: length,
height: length,
center: point,
schematic_component_ids: exports_external.array(exports_external.string()),
show_as_schematic_box: exports_external.boolean().optional(),
name: exports_external.string().optional(),
description: exports_external.string().optional()
}).describe("Defines a group of components on the schematic");
var schematic_table = exports_external.object({
type: exports_external.literal("schematic_table"),
schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
schematic_sheet_id: exports_external.string().optional(),
anchor_position: point,
column_widths: exports_external.array(distance4),
row_heights: exports_external.array(distance4),
cell_padding: distance4.optional(),
border_width: distance4.optional(),
subcircuit_id: exports_external.string().optional(),
schematic_component_id: exports_external.string().optional(),
anchor: ninePointAnchor.optional()
}).describe("Defines a table on the schematic");
var schematic_table_cell = exports_external.object({
type: exports_external.literal("schematic_table_cell"),
schematic_table_cell_id: getZodPrefixedIdWithDefault("schematic_table_cell"),
schematic_sheet_id: exports_external.string().optional(),
schematic_table_id: exports_external.string(),
start_row_index: exports_external.number(),
end_row_index: exports_external.number(),
start_column_index: exports_external.number(),
end_column_index: exports_external.number(),
text: exports_external.string().optional(),
center: point,
width: distance4,
height: distance4,
horizontal_align: exports_external.enum(["left", "center", "right"]).optional(),
vertical_align: exports_external.enum(["top", "middle", "bottom"]).optional(),
font_size: distance4.optional(),
subcircuit_id: exports_external.string().optional()
}).describe("Defines a cell within a schematic_table");
var schematic_sheet = exports_external.object({
type: exports_external.literal("schematic_sheet"),
schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
name: exports_external.string().optional(),
sheet_index: exports_external.number().optional(),
subcircuit_id: exports_external.string().optional(),
outline_color: exports_external.string().optional()
}).describe("Defines a schematic sheet or page that components can be placed on");
var point_with_bulge = exports_external.object({
x: distance4,
y: distance4,
bulge: exports_external.number().optional()
});
var ring = exports_external.object({
vertices: exports_external.array(point_with_bulge)
});
var brep_shape = exports_external.object({
outer_ring: ring,
inner_rings: exports_external.array(ring).default([])
});
var pcb_route_hint = exports_external.object({
x: distance4,
y: distance4,
via: exports_external.boolean().optional(),
via_to_layer: layer_ref.optional()
});
var pcb_route_hints = exports_external.array(pcb_route_hint);
var route_hint_point = exports_external.object({
x: distance4,
y: distance4,
via: exports_external.boolean().optional(),
to_layer: layer_ref.optional(),
trace_width: distance4.optional()
});
var manufacturing_drc_properties = exports_external.object({
min_trace_width: length.optional(),
min_board_edge_clearance: length.optional(),
min_via_hole_edge_to_via_hole_edge_clearance: length.optional(),
min_plated_hole_drill_edge_to_drill_edge_clearance: length.optional(),
min_trace_to_pad_edge_clearance: length.optional(),
min_pad_edge_to_pad_edge_clearance: length.optional(),
min_same_net_trace_edge_to_trace_edge_clearance: length.optional(),
min_different_net_trace_edge_to_trace_edge_clearance: length.optional(),
min_via_edge_to_pad_edge_clearance: length.optional(),
min_via_hole_diameter: length.optional(),
min_via_pad_diameter: length.optional()
});
var pcb_component = exports_external.object({
type: exports_external.literal("pcb_component"),
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
source_component_id: exports_external.string(),
center: point,
layer: layer_ref,
rotation,
display_offset_x: exports_external.string().optional().describe("How to display the x offset for this part, usually corresponding with how the user specified it"),
display_offset_y: exports_external.string().optional().describe("How to display the y offset for this part, usually corresponding with how the user specified it"),
width: length,
height: length,
do_not_place: exports_external.boolean().optional(),
is_allowed_to_be_off_board: exports_external.boolean().optional(),
subcircuit_id: exports_external.string().optional(),
pcb_group_id: exports_external.string().optional(),
position_mode: exports_external.enum([
"packed",
"relative_to_group_anchor",
"relative_to_another_component",
"none"
]).optional(),
anchor_position: point.optional(),
anchor_alignment: ninePointAnchor.optional(),
positioned_relative_to_pcb_group_id: exports_external.string().optional(),
positioned_relative_to_pcb_board_id: exports_external.string().optional(),
cable_insertion_center: point.optional(),
insertion_direction: exports_external.enum([
"from_above",
"from_left",
"from_right",
"from_front",
"from_back"
]).optional(),
metadata: exports_external.object({
kicad_footprint: kicadFootprintMetadata.optional()
}).optional(),
obstructs_within_bounds: exports_external.boolean().default(true).describe("Does this component take up all the space within its bounds on a layer. This is generally true except for when separated pin headers are being represented by a single component (in which case, chips can be placed between the pin headers) or for tall modules where chips fit underneath")
}).describe("Defines a component on the PCB");
var pcb_hole_circle = exports_external.object({
type: exports_external.literal("pcb_hole"),
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
pcb_component_id: exports_external.string().optional(),
hole_shape: exports_external.literal("circle"),
hole_diameter: exports_external.number(),
x: distance4,
y: distance4,
is_covered_with_solder_mask: exports_external.boolean().optional(),
soldermask_margin: exports_external.number().optional()
});
var pcb_hole_circle_shape = pcb_hole_circle.describe("Defines a circular hole on the PCB");
var pcb_hole_rect = exports_external.object({
type: exports_external.literal("pcb_hole"),
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
pcb_component_id: exports_external.string().optional(),
hole_shape: exports_external.literal("rect"),
hole_width: exports_external.number(),
hole_height: exports_external.number(),
x: distance4,
y: distance4,
is_covered_with_solder_mask: exports_external.boolean().optional(),
soldermask_margin: exports_external.number().optional()
});
var pcb_hole_rect_shape = pcb_hole_rect.describe("Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square.");
var pcb_hole_circle_or_square = exports_external.object({
type: exports_external.literal("pcb_hole"),
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
pcb_component_id: exports_external.string().optional(),
hole_shape: exports_external.enum(["circle", "square"]),
hole_diameter: exports_external.number(),
x: distance4,
y: distance4,
is_covered_with_solder_mask: exports_external.boolean().optional(),
soldermask_margin: exports_external.number().optional()
});
var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe("Defines a circular or square hole on the PCB");
var pcb_hole_oval = exports_external.object({
type: exports_external.literal("pcb_hole"),
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
pcb_component_id: exports_external.string().optional(),
hole_shape: exports_external.literal("oval"),
hole_width: exports_external.number(),
hole_height: exports_external.number(),
x: distance4,
y: distance4,
is_covered_with_solder_mask: exports_external.boolean().optional(),
soldermask_margin: exports_external.number().optional()
});
var pcb_hole_oval_shape = pcb_hole_oval.describe("Defines an oval hole on the PCB");
var pcb_hole_pill = exports_external.object({
type: exports_external.literal("pcb_hole"),
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
pcb_component_id: exports_external.string().optional(),
hole_shape: exports_external.literal("pill"),
hole_width: exports_external.number(),
hole_height: exports_external.number(),
x: distance4,
y: distance4,
is_covered_with_solder_mask: exports_external.boolean().optional(),
soldermask_margin: exports_external.number().optional()
});
var pcb_hole_pill_shape = pcb_hole_pill.describe("Defines a pill-shaped hole on the PCB");
var pcb_hole_rotated_pill = exports_external.object({
type: exports_external.literal("pcb_hole"),
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
pcb_component_id: exports_external.string().optional(),
hole_shape: exports_external.literal("rotated_pill"),
hole_width: exports_external.number(),
hole_height: exports_external.number(),
x: distance4,
y: distance4,
ccw_rotation: rotation,
is_covered_with_solder_mask: exports_external.boolean().optional(),
soldermask_margin: exports_external.number().optional()
});
var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe("Defines a rotated pill-shaped hole on the PCB");
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill).or(pcb_hole_circle).or(pcb_hole_rect);
var pcb_plated_hole_circle = exports_external.object({
type: exports_external.literal("pcb_plated_hole"),
shape: exports_external.literal("circle"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
outer_diameter: exports_external.number(),
hole_diameter: exports_external.number(),
is_covered_with_solder_mask: exports_external.boolean().optional(),
x: distance4,
y: distance4,
layers: exports_external.array(layer_ref),
port_hints: exports_external.array(exports_external.string()).optional(),
pcb_component_id: exports_external.string().optional(),
pcb_port_id: exports_external.string().optional(),
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
soldermask_margin: exports_external.number().optional()
});
var pcb_plated_hole_oval = exports_external.object({
type: exports_external.literal("pcb_plated_hole"),
shape: exports_external.enum(["oval", "pill"]),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
outer_width: exports_external.number(),
outer_height: exports_external.number(),
hole_width: exports_external.number(),
hole_height: exports_external.number(),
is_covered_with_solder_mask: exports_external.boolean().optional(),
x: distance4,
y: distance4,
ccw_rotation: rotation,
layers: exports_external.array(layer_ref),
port_hints: exports_external.array(exports_external.string()).optional(),
pcb_component_id: exports_external.string().optional(),
pcb_port_id: exports_external.string().optional(),
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
soldermask_margin: exports_external.number().optional()
});
var pcb_circular_hole_with_rect_pad = exports_external.object({
type: exports_external.literal("pcb_plated_hole"),
shape: exports_external.literal("circular_hole_with_rect_pad"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
hole_shape: exports_external.literal("circle"),
pad_shape: exports_external.literal("rect"),
hole_diameter: exports_external.number(),
rect_pad_width: exports_external.number(),
rect_pad_height: exports_external.number(),
rect_border_radius: exports_external.number().optional(),
hole_offset_x: distance4.default(0),
hole_offset_y: distance4.default(0),
is_covered_with_solder_mask: exports_external.boolean().optional(),
x: distance4,
y: distance4,
layers: exports_external.array(layer_ref),
port_hints: exports_external.array(exports_external.string()).optional(),
pcb_component_id: exports_external.string().optional(),
pcb_port_id: exports_external.string().optional(),
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
soldermask_margin: exports_external.number().optional(),
rect_ccw_rotation: rotation.optional()
});
var pcb_pill_hole_with_rect_pad = exports_external.object({
type: exports_external.literal("pcb_plated_hole"),
shape: exports_external.literal("pill_hole_with_rect_pad"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
hole_shape: exports_external.literal("pill"),
pad_shape: exports_external.literal("rect"),
hole_width: exports_external.number(),
hole_height: exports_external.number(),
rect_pad_width: exports_external.number(),
rect_pad_height: exports_external.number(),
rect_border_radius: exports_external.number().optional(),
hole_offset_x: distance4.default(0),
hole_offset_y: distance4.default(0),
is_covered_with_solder_mask: exports_external.boolean().optional(),
x: distance4,
y: distance4,
layers: exports_external.array(layer_ref),
port_hints: exports_external.array(exports_external.string()).optional(),
pcb_component_id: exports_external.string().optional(),
pcb_port_id: exports_external.string().optional(),
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
soldermask_margin: exports_external.number().optional()
});
var pcb_rotated_pill_hole_with_rect_pad = exports_external.object({
type: exports_external.literal("pcb_plated_hole"),
shape: exports_external.literal("rotated_pill_hole_with_rect_pad"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
hole_shape: exports_external.literal("rotated_pill"),
pad_shape: exports_external.literal("rect"),
hole_width: exports_external.number(),
hole_height: exports_external.number(),
hole_ccw_rotation: rotation,
rect_pad_width: exports_external.number(),
rect_pad_height: exports_external.number(),
rect_border_radius: exports_external.number().optional(),
rect_ccw_rotation: rotation,
hole_offset_x: distance4.default(0),
hole_offset_y: distance4.default(0),
is_covered_with_solder_mask: exports_external.boolean().optional(),
x: distance4,
y: distance4,
layers: exports_external.array(layer_ref),
port_hints: exports_external.array(exports_external.string()).optional(),
pcb_component_id: exports_external.string().optional(),
pcb_port_id: exports_external.string().optional(),
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
soldermask_margin: exports_external.number().optional()
});
var pcb_hole_with_polygon_pad = exports_external.object({
type: exports_external.literal("pcb_plated_hole"),
shape: exports_external.literal("hole_with_polygon_pad"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
hole_shape: exports_external.enum(["circle", "oval", "pill", "rotated_pill"]),
hole_diameter: exports_external.number().optional(),
hole_width: exports_external.number().optional(),
hole_height: exports_external.number().optional(),
pad_outline: exports_external.array(exports_external.object({
x: distance4,
y: distance4
})).min(3),
hole_offset_x: distance4.default(0),
hole_offset_y: distance4.default(0),
is_covered_with_solder_mask: exports_external.boolean().optional(),
x: distance4,
y: distance4,
layers: exports_external.array(layer_ref),
port_hints: exports_external.array(exports_external.string()).optional(),
pcb_component_id: exports_external.string().optional(),
pcb_port_id: exports_external.string().optional(),
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
soldermask_margin: exports_external.number().optional(),
ccw_rotation: rotation.optional()
});
var pcb_plated_hole = exports_external.union([
pcb_plated_hole_circle,
pcb_plated_hole_oval,
pcb_circular_hole_with_rect_pad,
pcb_pill_hole_with_rect_pad,
pcb_rotated_pill_hole_with_rect_pad,
pcb_hole_with_polygon_pad
]);
var pcb_port = exports_external.object({
type: exports_external.literal("pcb_port"),
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
source_port_id: exports_external.string(),
pcb_component_id: exports_external.string().optional(),
x: distance4,
y: distance4,
layers: exports_external.array(layer_ref),
is_board_pinout: exports_external.boolean().optional()
}).describe("Defines a port on the PCB");
var pcb_smtpad_circle = exports_external.object({
type: exports_external.literal("pcb_smtpad"),
shape: exports_external.literal("circle"),
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
x: distance4,
y: distance4,
radius: exports_external.number(),
layer: layer_ref,
port_hints: exports_external.array(exports_external.string()).optional(),
pcb_component_id: exports_external.string().optional(),
pcb_port_id: exports_external.string().optional(),
is_covered_with_solder_mask: exports_external.boolean().optional(),
soldermask_margin: exports_external.number().optional()
});
var pcb_smtpad_rect = exports_external.object({
type: exports_external.literal("pcb_smtpad"),
shape: exports_external.literal("rect"),
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
x: distance4,
y: distance4,
width: exports_external.number(),
height: exports_external.number(),
rect_border_radius: exports_external.number().optional(),
corner_radius: exports_external.number().optional(),
layer: layer_ref,
port_hints: exports_external.array(exports_external.string()).optional(),
pcb_component_id: exports_external.string().optional(),
pcb_port_id: exports_external.string().optional(),
is_covered_with_solder_mask: exports_external.boolean().optional(),
soldermask_margin: exports_external.number().optional(),
soldermask_margin_left: exports_external.number().optional(),
soldermask_margin_top: exports_external.number().optional(),
soldermask_margin_right: exports_external.number().optional(),
soldermask_margin_bottom: exports_external.number().optional()
});
var pcb_smtpad_rotated_rect = exports_external.object({
type: exports_external.literal("pcb_smtpad"),
shape: exports_external.literal("rotated_rect"),
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
x: distance4,
y: distance4,
width: exports_external.number(),
height: exports_external.number(),
rect_border_radius: exports_external.number().optional(),
corner_radius: exports_external.number().optional(),
ccw_rotation: rotation,
layer: layer_ref,
port_hints: exports_external.array(exports_external.string()).optional(),
pcb_component_id: exports_external.string().optional(),
pcb_port_id: exports_external.string().optional(),
is_covered_with_solder_mask: exports_external.boolean().optional(),
soldermask_margin: exports_external.number().optional(),
soldermask_margin_left: exports_external.number().optional(),
soldermask_margin_top: exports_external.number().optional(),
soldermask_margin_right: exports_external.number().optional(),
soldermask_margin_bottom: exports_external.number().optional()
});
var pcb_smtpad_pill = exports_external.object({
type: exports_external.literal("pcb_smtpad"),
shape: exports_external.literal("pill"),
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
x: distance4,
y: distance4,
width: exports_external.number(),
height: exports_external.number(),
radius: exports_external.number(),
layer: layer_ref,
port_hints: exports_external.array(exports_external.string()).optional(),
pcb_component_id: exports_external.string().optional(),
pcb_port_id: exports_external.string().optional(),
is_covered_with_solder_mask: exports_external.boolean().optional(),
soldermask_margin: exports_external.number().optional()
});
var pcb_smtpad_rotated_pill = exports_external.object({
type: exports_external.literal("pcb_smtpad"),
shape: exports_external.literal("rotated_pill"),
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
x: distance4,
y: distance4,
width: exports_external.number(),
height: exports_external.number(),
radius: exports_external.number(),
ccw_rotation: rotation,
layer: layer_ref,
port_hints: exports_external.array(exports_external.string()).optional(),
pcb_component_id: exports_external.string().optional(),
pcb_port_id: exports_external.string().optional(),
is_covered_with_solder_mask: exports_external.boolean().optional(),
soldermask_margin: exports_external.number().optional()
});
var pcb_smtpad_polygon = exports_external.object({
type: exports_external.literal("pcb_smtpad"),
shape: exports_external.literal("polygon"),
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
points: exports_external.array(point),
layer: layer_ref,
port_hints: exports_external.array(exports_external.string()).optional(),
pcb_component_id: exports_external.string().optional(),
pcb_port_id: exports_external.string().optional(),
is_covered_with_solder_mask: exports_external.boolean().optional(),
soldermask_margin: exports_external.number().optional()
});
var pcb_smtpad = exports_external.discriminatedUnion("shape", [
pcb_smtpad_circle,
pcb_smtpad_rect,
pcb_smtpad_rotated_rect,
pcb_smtpad_rotated_pill,
pcb_smtpad_pill,
pcb_smtpad_polygon
]).describe("Defines an SMT pad on the PCB");
var pcb_solder_paste_circle = exports_external.object({
type: exports_external.literal("pcb_solder_paste"),
shape: exports_external.literal("circle"),
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
x: distance4,
y: distance4,
radius: exports_external.number(),
layer: layer_ref,
pcb_component_id: exports_external.string().optional(),
pcb_smtpad_id: exports_external.string().optional()
});
var pcb_solder_paste_rect = exports_external.object({
type: exports_external.literal("pcb_solder_paste"),
shape: exports_external.literal("rect"),
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
x: distance4,
y: distance4,
width: exports_external.number(),
height: exports_external.number(),
layer: layer_ref,
pcb_component_id: exports_external.string().optional(),
pcb_smtpad_id: exports_external.string().optional()
});
var pcb_solder_paste_pill = exports_external.object({
type: exports_external.literal("pcb_solder_paste"),
shape: exports_external.literal("pill"),
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
x: distance4,
y: distance4,
width: exports_external.number(),
height: exports_external.number(),
radius: exports_external.number(),
layer: layer_ref,
pcb_component_id: exports_external.string().optional(),
pcb_smtpad_id: exports_external.string().optional()
});
var pcb_solder_paste_rotated_rect = exports_external.object({
type: exports_external.literal("pcb_solder_paste"),
shape: exports_external.literal("rotated_rect"),
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
x: distance4,
y: distance4,
width: exports_external.number(),
height: exports_external.number(),
ccw_rotation: distance4,
layer: layer_ref,
pcb_component_id: exports_external.string().optional(),
pcb_smtpad_id: exports_external.string().optional()
});
var pcb_solder_paste_oval = exports_external.object({
type: exports_external.literal("pcb_solder_paste"),
shape: exports_external.literal("oval"),
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
x: distance4,
y: distance4,
width: exports_external.number(),
height: exports_external.number(),
layer: layer_ref,
pcb_component_id: exports_external.string().optional(),
pcb_smtpad_id: exports_external.string().optional()
});
var pcb_solder_paste = exports_external.union([
pcb_solder_paste_circle,
pcb_solder_paste_rect,
pcb_solder_paste_pill,
pcb_solder_paste_rotated_rect,
pcb_solder_paste_oval
]).describe("Defines solderpaste on the PCB");
var pcb_text = exports_external.object({
type: exports_external.literal("pcb_text"),
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
text: exports_external.string(),
center: point,
layer: layer_ref,
width: length,
height: length,
lines: exports_external.number(),
align: exports_external.enum(["bottom-left"])
}).describe("Defines text on the PCB");
var pcb_trace_route_point_wire = exports_external.object({
route_type: exports_external.literal("wire"),
x: distance4,
y: distance4,
width: distance4,
copper_pour_id: exports_external.string().optional(),
is_inside_copper_pour: exports_external.boolean().optional(),
start_pcb_port_id: exports_external.string().optional(),
end_pcb_port_id: exports_external.string().optional(),
layer: layer_ref
});
var pcb_trace_route_point_via = exports_external.object({
route_type: exports_external.literal("via"),
x: distance4,
y: distance4,
copper_pour_id: exports_external.string().optional(),
is_inside_copper_pour: exports_external.boolean().optional(),
hole_diameter: distance4.optional(),
outer_diameter: distance4.optional(),
from_layer: layer_ref,
to_layer: layer_ref
});
var pcb_trace_route_point_through_pad = exports_external.object({
route_type: exports_external.literal("through_pad"),
start: point,
end: point,
width: distance4,
start_layer: layer_ref,
end_layer: layer_ref,
pcb_smtpad_id: exports_external.string().optional(),
pcb_plated_hole_id: exports_external.string().optional()
});
var pcb_trace_route_point = exports_external.union([
pcb_trace_route_point_wire,
pcb_trace_route_point_via,
pcb_trace_route_point_through_pad
]);
var pcb_trace = exports_external.object({
type: exports_external.literal("pcb_trace"),
source_trace_id: exports_external.string().optional(),
pcb_component_id: exports_external.string().optional(),
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
route_thickness_mode: exports_external.enum(["constant", "interpolated"]).default("constant").optional(),
route_order_index: exports_external.number().optional(),
should_round_corners: exports_external.boolean().optional(),
trace_length: exports_external.number().optional(),
highlight_color: exports_external.string().optional(),
route: exports_external.array(pcb_trace_route_point)
}).describe("Defines a trace on the PCB");
var pcb_trace_warning = exports_external.object({
type: exports_external.literal("pcb_trace_warning"),
pcb_trace_warning_id: getZodPrefixedIdWithDefault("pcb_trace_warning"),
warning_type: exports_external.literal("pcb_trace_warning").default("pcb_trace_warning"),
message: exports_external.string(),
center: point.optional(),
pcb_trace_id: exports_external.string(),
source_trace_id: exports_external.string(),
pcb_component_ids: exports_external.array(exports_external.string()),
pcb_port_ids: exports_external.array(exports_external.string()),
subcircuit_id: exports_external.string().optional()
}).describe("Defines a trace warning on the PCB");
var pcb_trace_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_trace_error"),
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
error_type: exports_external.literal("pcb_trace_error").default("pcb_trace_error"),
center: point.optional(),
pcb_trace_id: exports_external.string(),
source_trace_id: exports_external.string(),
pcb_component_ids: exports_external.array(exports_external.string()),
pcb_port_ids: exports_external.array(exports_external.string()),
subcircuit_id: exports_external.string().optional()
}).describe("Defines a trace error on the PCB");
var pcb_trace_missing_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_trace_missing_error"),
pcb_trace_missing_error_id: getZodPrefixedIdWithDefault("pcb_trace_missing_error"),
error_type: exports_external.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
center: point.optional(),
source_trace_id: exports_external.string(),
pcb_component_ids: exports_external.array(exports_external.string()),
pcb_port_ids: exports_external.array(exports_external.string()),
subcircuit_id: exports_external.string().optional()
}).describe("Defines an error when a source trace has no corresponding PCB trace");
var pcb_port_not_matched_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_port_not_matched_error"),
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
error_type: exports_external.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
pcb_component_ids: exports_external.array(exports_external.string()),
subcircuit_id: exports_external.string().optional()
}).describe("Defines a trace error on the PCB where a port is not matched");
var pcb_port_not_connected_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_port_not_connected_error"),
pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault("pcb_port_not_connected_error"),
error_type: exports_external.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
pcb_port_ids: exports_external.array(exports_external.string()),
pcb_component_ids: exports_external.array(exports_external.string()),
subcircuit_id: exports_external.string().optional()
}).describe("Defines an error when a pcb port is not connected to any trace");
var pcb_net = exports_external.object({
type: exports_external.literal("pcb_net"),
pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
source_net_id: exports_external.string().optional(),
highlight_color: exports_external.string().optional()
}).describe("Defines a net on the PCB");
var pcb_via = exports_external.object({
type: exports_external.literal("pcb_via"),
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
subcircuit_connectivity_map_key: exports_external.string().optional(),
x: distance4,
y: distance4,
outer_diameter: distance4.default("0.6mm"),
hole_diameter: distance4.default("0.25mm"),
from_layer: layer_ref.optional(),
to_layer: layer_ref.optional(),
layers: exports_external.array(layer_ref),
pcb_trace_id: exports_external.string().optional(),
net_is_assignable: exports_external.boolean().optional(),
net_assigned: exports_external.boolean().optional(),
is_tented: exports_external.boolean().optional()
}).describe("Defines a via on the PCB");
var pcb_board = exports_external.object({
type: exports_external.literal("pcb_board"),
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
pcb_panel_id: exports_external.string().optional(),
carrier_pcb_board_id: exports_external.string().optional(),
is_subcircuit: exports_external.boolean().optional(),
subcircuit_id: exports_external.string().optional(),
is_mounted_to_carrier_board: exports_external.boolean().optional(),
width: length.optional(),
height: length.optional(),
center: point,
display_offset_x: exports_external.string().optional().describe("How to display the x offset for this board, usually corresponding with how the user specified it"),
display_offset_y: exports_external.string().optional().describe("How to display the y offset for this board, usually corresponding with how the user specified it"),
thickness: length.optional().default(1.4),
num_layers: exports_external.number().optional().default(4),
outline: exports_external.array(point).optional(),
shape: exports_external.enum(["rect", "polygon"]).optional(),
material: exports_external.enum(["fr4", "fr1"]).default("fr4"),
solder_mask_color: exports_external.string().optional(),
silkscreen_color: exports_external.string().optional(),
anchor_position: point.optional(),
anchor_alignment: ninePointAnchor.optional(),
position_mode: exports_external.enum(["relative_to_panel_anchor", "none"]).optional()
}).merge(manufacturing_drc_properties).describe("Defines the board outline of the PCB");
var pcb_panel = exports_external.object({
type: exports_external.literal("pcb_panel"),
pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
width: length,
height: length,
center: point,
thickness: length.optional().default(1.4),
covered_with_solder_mask: exports_external.boolean().optional().default(true)
}).describe("Defines a PCB panel that can contain multiple boards");
var pcb_placement_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_placement_error"),
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
error_type: exports_external.literal("pcb_placement_error").default("pcb_placement_error"),
subcircuit_id: exports_external.string().optional()
}).describe("Defines a placement error on the PCB");
var pcb_panelization_placement_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_panelization_placement_error"),
pcb_panelization_placement_error_id: getZodPrefixedIdWithDefault("pcb_panelization_placement_error"),
error_type: exports_external.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
pcb_panel_id: exports_external.string().optional(),
pcb_board_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional()
}).describe("Defines a panelization placement error on the PCB");
var pcb_trace_hint = exports_external.object({
type: exports_external.literal("pcb_trace_hint"),
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
pcb_port_id: exports_external.string(),
pcb_component_id: exports_external.string(),
route: exports_external.array(route_hint_point),
subcircuit_id: exports_external.string().optional()
}).describe("A hint that can be used during generation of a PCB trace");
var pcb_silkscreen_line = exports_external.object({
type: exports_external.literal("pcb_silkscreen_line"),
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
stroke_width: distance4.default("0.1mm"),
x1: distance4,
y1: distance4,
x2: distance4,
y2: distance4,
layer: visible_layer
}).describe("Defines a silkscreen line on the PCB");
var pcb_silkscreen_path = exports_external.object({
type: exports_external.literal("pcb_silkscreen_path"),
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
layer: visible_layer,
route: exports_external.array(point),
stroke_width: length
}).describe("Defines a silkscreen path on the PCB");
var pcb_silkscreen_text = exports_external.object({
type: exports_external.literal("pcb_silkscreen_text"),
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
font: exports_external.literal("tscircuit2024").default("tscircuit2024"),
font_size: distance4.default("0.2mm"),
pcb_component_id: exports_external.string(),
text: exports_external.string(),
is_knockout: exports_external.boolean().default(false).optional(),
knockout_padding: exports_external.object({
left: length,
top: length,
bottom: length,
right: length
}).default({
left: "0.2mm",
top: "0.2mm",
bottom: "0.2mm",
right: "0.2mm"
}).optional(),
ccw_rotation: exports_external.number().optional(),
layer: layer_ref,
is_mirrored: exports_external.boolean().default(false).optional(),
anchor_position: point.default({ x: 0, y: 0 }),
anchor_alignment: ninePointAnchor.default("center")
}).describe("Defines silkscreen text on the PCB");
var pcb_copper_text = exports_external.object({
type: exports_external.literal("pcb_copper_text"),
pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
font: exports_external.literal("tscircuit2024").default("tscircuit2024"),
font_size: distance4.default("0.2mm"),
pcb_component_id: exports_external.string(),
text: exports_external.string(),
is_knockout: exports_external.boolean().default(false).optional(),
knockout_padding: exports_external.object({
left: length,
top: length,
bottom: length,
right: length
}).default({
left: "0.2mm",
top: "0.2mm",
bottom: "0.2mm",
right: "0.2mm"
}).optional(),
ccw_rotation: exports_external.number().optional(),
layer: layer_ref,
is_mirrored: exports_external.boolean().default(false).optional(),
anchor_position: point.default({ x: 0, y: 0 }),
anchor_alignment: ninePointAnchor.default("center")
}).describe("Defines copper text on the PCB");
var pcb_silkscreen_rect = exports_external.object({
type: exports_external.literal("pcb_silkscreen_rect"),
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
center: point,
width: length,
height: length,
layer: layer_ref,
stroke_width: length.default("1mm"),
corner_radius: length.optional(),
is_filled: exports_external.boolean().default(true).optional(),
has_stroke: exports_external.boolean().optional(),
is_stroke_dashed: exports_external.boolean().optional(),
ccw_rotation: exports_external.number().optional()
}).describe("Defines a silkscreen rect on the PCB");
var pcb_silkscreen_circle = exports_external.object({
type: exports_external.literal("pcb_silkscreen_circle"),
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault("pcb_silkscreen_circle"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
center: point,
radius: length,
layer: visible_layer,
stroke_width: length.default("1mm"),
is_filled: exports_external.boolean().optional()
}).describe("Defines a silkscreen circle on the PCB");
var pcb_silkscreen_oval = exports_external.object({
type: exports_external.literal("pcb_silkscreen_oval"),
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
center: point,
radius_x: distance4,
radius_y: distance4,
layer: visible_layer,
ccw_rotation: rotation.optional()
}).describe("Defines a silkscreen oval on the PCB");
var pcb_silkscreen_graphic_base = exports_external.object({
type: exports_external.literal("pcb_silkscreen_graphic"),
pcb_silkscreen_graphic_id: getZodPrefixedIdWithDefault("pcb_silkscreen_graphic"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
layer: visible_layer,
image_asset: asset.optional()
});
var pcb_silkscreen_graphic_brep = pcb_silkscreen_graphic_base.extend({
shape: exports_external.literal("brep"),
brep_shape
}).describe("Defines a BRep silkscreen graphic on the PCB");
var pcb_silkscreen_graphic = exports_external.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
var pcb_silkscreen_pill = exports_external.object({
type: exports_external.literal("pcb_silkscreen_pill"),
pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
center: point,
width: length,
height: length,
layer: layer_ref,
ccw_rotation: exports_external.number().optional()
}).describe("Defines a silkscreen pill on the PCB");
var pcb_fabrication_note_text = exports_external.object({
type: exports_external.literal("pcb_fabrication_note_text"),
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault("pcb_fabrication_note_text"),
subcircuit_id: exports_external.string().optional(),
pcb_group_id: exports_external.string().optional(),
font: exports_external.literal("tscircuit2024").default("tscircuit2024"),
font_size: distance4.default("1mm"),
pcb_component_id: exports_external.string(),
text: exports_external.string(),
ccw_rotation: exports_external.number().optional(),
layer: visible_layer,
anchor_position: point.default({ x: 0, y: 0 }),
anchor_alignment: exports_external.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
color: exports_external.string().optional()
}).describe("Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators");
var pcb_fabrication_note_path = exports_external.object({
type: exports_external.literal("pcb_fabrication_note_path"),
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault("pcb_fabrication_note_path"),
pcb_component_id: exports_external.string(),
subcircuit_id: exports_external.string().optional(),
layer: layer_ref,
route: exports_external.array(point),
stroke_width: length,
color: exports_external.string().optional()
}).describe("Defines a fabrication path on the PCB for fabricators or assemblers");
var pcb_fabrication_note_rect = exports_external.object({
type: exports_external.literal("pcb_fabrication_note_rect"),
pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault("pcb_fabrication_note_rect"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
center: point,
width: length,
height: length,
layer: visible_layer,
stroke_width: length.default("0.1mm"),
corner_radius: length.optional(),
is_filled: exports_external.boolean().optional(),
has_stroke: exports_external.boolean().optional(),
is_stroke_dashed: exports_external.boolean().optional(),
color: exports_external.string().optional()
}).describe("Defines a fabrication note rectangle on the PCB");
var pcb_fabrication_note_dimension = exports_external.object({
type: exports_external.literal("pcb_fabrication_note_dimension"),
pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault("pcb_fabrication_note_dimension"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
layer: visible_layer,
from: point,
to: point,
text: exports_external.string().optional(),
text_ccw_rotation: exports_external.number().optional(),
offset: length.optional(),
offset_distance: length.optional(),
offset_direction: exports_external.object({
x: exports_external.number(),
y: exports_external.number()
}).optional(),
font: exports_external.literal("tscircuit2024").default("tscircuit2024"),
font_size: length.default("1mm"),
color: exports_external.string().optional(),
arrow_size: length.default("1mm")
}).describe("Defines a measurement annotation within PCB fabrication notes");
var pcb_note_text = exports_external.object({
type: exports_external.literal("pcb_note_text"),
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
pcb_component_id: exports_external.string().optional(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
name: exports_external.string().optional(),
font: exports_external.literal("tscircuit2024").default("tscircuit2024"),
font_size: distance4.default("1mm"),
text: exports_external.string().optional(),
anchor_position: point.default({ x: 0, y: 0 }),
anchor_alignment: exports_external.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
layer: visible_layer.default("top"),
is_mirrored_from_top_view: exports_external.boolean().optional(),
color: exports_external.string().optional()
}).describe("Defines a documentation note in text on the PCB");
var pcb_note_rect = exports_external.object({
type: exports_external.literal("pcb_note_rect"),
pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
pcb_component_id: exports_external.string().optional(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
name: exports_external.string().optional(),
text: exports_external.string().optional(),
center: point,
width: length,
height: length,
layer: visible_layer.default("top"),
stroke_width: length.default("0.1mm"),
corner_radius: length.optional(),
is_filled: exports_external.boolean().optional(),
has_stroke: exports_external.boolean().optional(),
is_stroke_dashed: exports_external.boolean().optional(),
color: exports_external.string().optional()
}).describe("Defines a rectangular documentation note on the PCB");
var pcb_note_path = exports_external.object({
type: exports_external.literal("pcb_note_path"),
pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
pcb_component_id: exports_external.string().optional(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
name: exports_external.string().optional(),
text: exports_external.string().optional(),
route: exports_external.array(point),
layer: visible_layer.default("top"),
stroke_width: length.default("0.1mm"),
color: exports_external.string().optional()
}).describe("Defines a polyline documentation note on the PCB");
var pcb_note_line = exports_external.object({
type: exports_external.literal("pcb_note_line"),
pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
pcb_component_id: exports_external.string().optional(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
name: exports_external.string().optional(),
text: exports_external.string().optional(),
x1: distance4,
y1: distance4,
x2: distance4,
y2: distance4,
layer: visible_layer.default("top"),
stroke_width: distance4.default("0.1mm"),
color: exports_external.string().optional(),
is_dashed: exports_external.boolean().optional()
}).describe("Defines a straight documentation note line on the PCB");
var pcb_note_dimension = exports_external.object({
type: exports_external.literal("pcb_note_dimension"),
pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
pcb_component_id: exports_external.string().optional(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
name: exports_external.string().optional(),
from: point,
to: point,
text: exports_external.string().optional(),
text_ccw_rotation: exports_external.number().optional(),
offset_distance: length.optional(),
offset_direction: exports_external.object({
x: exports_external.number(),
y: exports_external.number()
}).optional(),
font: exports_external.literal("tscircuit2024").default("tscircuit2024"),
font_size: length.default("1mm"),
layer: visible_layer.default("top"),
color: exports_external.string().optional(),
arrow_size: length.default("1mm")
}).describe("Defines a measurement annotation within PCB documentation notes");
var pcb_footprint_overlap_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_footprint_overlap_error"),
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
error_type: exports_external.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
pcb_smtpad_ids: exports_external.array(exports_external.string()).optional(),
pcb_plated_hole_ids: exports_external.array(exports_external.string()).optional(),
pcb_hole_ids: exports_external.array(exports_external.string()).optional(),
pcb_keepout_ids: exports_external.array(exports_external.string()).optional()
}).describe("Error emitted when a pcb footprint overlaps with another element");
var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_courtyard_overlap_error"),
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
error_type: exports_external.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
pcb_component_ids: exports_external.tuple([exports_external.string(), exports_external.string()])
}).describe("Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another");
var pcb_keepout = exports_external.object({
type: exports_external.literal("pcb_keepout"),
shape: exports_external.literal("rect"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
center: point,
width: distance4,
height: distance4,
pcb_keepout_id: exports_external.string(),
layers: exports_external.array(exports_external.string()),
description: exports_external.string().optional()
}).or(exports_external.object({
type: exports_external.literal("pcb_keepout"),
shape: exports_external.literal("circle"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
center: point,
radius: distance4,
pcb_keepout_id: exports_external.string(),
layers: exports_external.array(exports_external.string()),
description: exports_external.string().optional()
}));
var pcb_cutout_base = exports_external.object({
type: exports_external.literal("pcb_cutout"),
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
pcb_board_id: exports_external.string().optional(),
pcb_panel_id: exports_external.string().optional()
});
var pcb_cutout_rect = pcb_cutout_base.extend({
shape: exports_external.literal("rect"),
center: point,
width: length,
height: length,
rotation: rotation.optional(),
corner_radius: length.optional()
});
var pcb_cutout_circle = pcb_cutout_base.extend({
shape: exports_external.literal("circle"),
center: point,
radius: length
});
var pcb_cutout_polygon = pcb_cutout_base.extend({
shape: exports_external.literal("polygon"),
points: exports_external.array(point)
});
var pcb_cutout_path = pcb_cutout_base.extend({
shape: exports_external.literal("path"),
route: exports_external.array(point),
slot_width: length,
slot_length: length.optional(),
space_between_slots: length.optional(),
slot_corner_radius: length.optional()
});
var pcb_cutout = exports_external.discriminatedUnion("shape", [
pcb_cutout_rect,
pcb_cutout_circle,
pcb_cutout_polygon,
pcb_cutout_path
]).describe("Defines a cutout on the PCB, removing board material.");
var pcb_missing_footprint_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_missing_footprint_error"),
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault("pcb_missing_footprint_error"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
error_type: exports_external.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
source_component_id: exports_external.string()
}).describe("Defines a missing footprint error on the PCB");
var external_footprint_load_error = base_circuit_json_error.extend({
type: exports_external.literal("external_footprint_load_error"),
external_footprint_load_error_id: getZodPrefixedIdWithDefault("external_footprint_load_error"),
pcb_component_id: exports_external.string(),
source_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
footprinter_string: exports_external.string().optional(),
error_type: exports_external.literal("external_footprint_load_error").default("external_footprint_load_error")
}).describe("Defines an error when an external footprint fails to load");
var circuit_json_footprint_load_error = base_circuit_json_error.extend({
type: exports_external.literal("circuit_json_footprint_load_error"),
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault("circuit_json_footprint_load_error"),
pcb_component_id: exports_external.string(),
source_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
error_type: exports_external.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
circuit_json: exports_external.array(exports_external.any()).optional()
}).describe("Defines an error when a circuit JSON footprint fails to load");
var pcb_group = exports_external.object({
type: exports_external.literal("pcb_group"),
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
source_group_id: exports_external.string(),
is_subcircuit: exports_external.boolean().optional(),
subcircuit_id: exports_external.string().optional(),
width: length.optional(),
height: length.optional(),
center: point,
display_offset_x: exports_external.string().optional().describe("How to display the x offset for this group, usually corresponding with how the user specified it"),
display_offset_y: exports_external.string().optional().describe("How to display the y offset for this group, usually corresponding with how the user specified it"),
outline: exports_external.array(point).optional(),
anchor_position: point.optional(),
anchor_alignment: ninePointAnchor.default("center"),
position_mode: exports_external.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
positioned_relative_to_pcb_group_id: exports_external.string().optional(),
positioned_relative_to_pcb_board_id: exports_external.string().optional(),
pcb_component_ids: exports_external.array(exports_external.string()),
child_layout_mode: exports_external.enum(["packed", "none"]).optional(),
name: exports_external.string().optional(),
description: exports_external.string().optional(),
layout_mode: exports_external.string().optional(),
autorouter_configuration: exports_external.object({
trace_clearance: length
}).optional(),
autorouter_used_string: exports_external.string().optional()
}).describe("Defines a group of components on the PCB");
var pcb_autorouting_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_autorouting_error"),
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
error_type: exports_external.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
subcircuit_id: exports_external.string().optional()
}).describe("The autorouting has failed to route a portion of the board");
var pcb_manual_edit_conflict_warning = exports_external.object({
type: exports_external.literal("pcb_manual_edit_conflict_warning"),
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault("pcb_manual_edit_conflict_warning"),
warning_type: exports_external.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
message: exports_external.string(),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
source_component_id: exports_external.string()
}).describe("Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates");
var connectorOrientationDirection = exports_external.enum(["x-", "x+", "y+", "y-"]);
var pcb_connector_not_in_accessible_orientation_warning = exports_external.object({
type: exports_external.literal("pcb_connector_not_in_accessible_orientation_warning"),
pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault("pcb_connector_not_in_accessible_orientation_warning"),
warning_type: exports_external.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
message: exports_external.string(),
pcb_component_id: exports_external.string(),
source_component_id: exports_external.string().optional(),
pcb_board_id: exports_external.string().optional(),
facing_direction: connectorOrientationDirection,
recommended_facing_direction: connectorOrientationDirection,
subcircuit_id: exports_external.string().optional()
}).describe("Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction");
var supplier_footprint_mismatch_warning = exports_external.object({
type: exports_external.literal("supplier_footprint_mismatch_warning"),
supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault("supplier_footprint_mismatch_warning"),
warning_type: exports_external.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
message: exports_external.string(),
source_component_id: exports_external.string(),
pcb_component_id: exports_external.string().optional(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
supplier_name: supplier_name.optional(),
supplier_part_number: exports_external.string().optional(),
supplier_footprint_url: exports_external.string().optional(),
footprint_copper_intersection_over_union: exports_external.number()
}).describe("Warning emitted when a supplier part footprint does not match the expected footprint");
var pcb_breakout_point = exports_external.object({
type: exports_external.literal("pcb_breakout_point"),
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
pcb_group_id: exports_external.string(),
subcircuit_id: exports_external.string().optional(),
source_trace_id: exports_external.string().optional(),
source_port_id: exports_external.string().optional(),
source_net_id: exports_external.string().optional(),
x: distance4,
y: distance4
}).describe("Defines a routing target within a pcb_group for a source_trace or source_net");
var pcb_ground_plane = exports_external.object({
type: exports_external.literal("pcb_ground_plane"),
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
source_pcb_ground_plane_id: exports_external.string(),
source_net_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional()
}).describe("Defines a ground plane on the PCB");
var pcb_ground_plane_region = exports_external.object({
type: exports_external.literal("pcb_ground_plane_region"),
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault("pcb_ground_plane_region"),
pcb_ground_plane_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
layer: layer_ref,
points: exports_external.array(point)
}).describe("Defines a polygon region of a ground plane");
var pcb_thermal_spoke = exports_external.object({
type: exports_external.literal("pcb_thermal_spoke"),
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
pcb_ground_plane_id: exports_external.string(),
shape: exports_external.string(),
spoke_count: exports_external.number(),
spoke_thickness: distance4,
spoke_inner_diameter: distance4,
spoke_outer_diameter: distance4,
pcb_plated_hole_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional()
}).describe("Pattern for connecting a ground plane to a plated hole");
var pcb_copper_pour_base = exports_external.object({
type: exports_external.literal("pcb_copper_pour"),
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
layer: layer_ref,
source_net_id: exports_external.string().optional(),
covered_with_solder_mask: exports_external.boolean().optional().default(true)
});
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
shape: exports_external.literal("rect"),
center: point,
width: length,
height: length,
rotation: rotation.optional()
});
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
shape: exports_external.literal("brep"),
brep_shape
});
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
shape: exports_external.literal("polygon"),
points: exports_external.array(point)
});
var pcb_copper_pour = exports_external.discriminatedUnion("shape", [
pcb_copper_pour_rect,
pcb_copper_pour_brep,
pcb_copper_pour_polygon
]).describe("Defines a copper pour on the PCB.");
var pcb_component_outside_board_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_component_outside_board_error"),
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault("pcb_component_outside_board_error"),
error_type: exports_external.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
pcb_component_id: exports_external.string(),
pcb_board_id: exports_external.string(),
component_center: point,
component_bounds: exports_external.object({
min_x: exports_external.number(),
max_x: exports_external.number(),
min_y: exports_external.number(),
max_y: exports_external.number()
}),
subcircuit_id: exports_external.string().optional(),
source_component_id: exports_external.string().optional()
}).describe("Error emitted when a PCB component is placed outside the board boundaries");
var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_component_not_on_board_edge_error"),
pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault("pcb_component_not_on_board_edge_error"),
error_type: exports_external.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
pcb_component_id: exports_external.string(),
pcb_board_id: exports_external.string(),
component_center: point,
pad_to_nearest_board_edge_distance: exports_external.number(),
source_component_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional()
}).describe("Error emitted when a component that must be placed on the board edge is centered away from the edge");
var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_component_invalid_layer_error"),
pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault("pcb_component_invalid_layer_error"),
error_type: exports_external.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
pcb_component_id: exports_external.string().optional(),
source_component_id: exports_external.string(),
layer: layer_ref,
subcircuit_id: exports_external.string().optional()
}).describe("Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)");
var pcb_via_clearance_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_via_clearance_error"),
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
error_type: exports_external.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
pcb_via_ids: exports_external.array(exports_external.string()).min(2),
minimum_clearance: distance4.optional(),
actual_clearance: distance4.optional(),
pcb_center: exports_external.object({
x: exports_external.number().optional(),
y: exports_external.number().optional()
}).optional(),
subcircuit_id: exports_external.string().optional()
}).describe("Error emitted when vias are closer than the allowed clearance");
var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_via_trace_clearance_error"),
pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault("pcb_via_trace_clearance_error"),
error_type: exports_external.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
pcb_via_id: exports_external.string(),
pcb_trace_id: exports_external.string(),
minimum_clearance: distance4.optional(),
actual_clearance: distance4.optional(),
center: exports_external.object({
x: exports_external.number().optional(),
y: exports_external.number().optional()
}).optional(),
subcircuit_id: exports_external.string().optional()
}).describe("Error emitted when a via and trace are closer than the allowed clearance");
var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_pad_pad_clearance_error"),
pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault("pcb_pad_pad_clearance_error"),
error_type: exports_external.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
pcb_pad_ids: exports_external.array(exports_external.string()).min(2),
minimum_clearance: distance4.optional(),
actual_clearance: distance4.optional(),
center: exports_external.object({
x: exports_external.number().optional(),
y: exports_external.number().optional()
}).optional(),
subcircuit_id: exports_external.string().optional()
}).describe("Error emitted when pads are closer than the allowed clearance");
var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
type: exports_external.literal("pcb_pad_trace_clearance_error"),
pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault("pcb_pad_trace_clearance_error"),
error_type: exports_external.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
pcb_pad_id: exports_external.string(),
pcb_trace_id: exports_external.string(),
minimum_clearance: distance4.optional(),
actual_clearance: distance4.optional(),
center: exports_external.object({
x: exports_external.number().optional(),
y: exports_external.number().optional()
}).optional(),
subcircuit_id: exports_external.string().optional()
}).describe("Error emitted when a pad and trace are closer than allowed clearance");
var pcb_courtyard_rect = exports_external.object({
type: exports_external.literal("pcb_courtyard_rect"),
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
center: point,
width: length,
height: length,
layer: visible_layer,
ccw_rotation: rotation.optional(),
color: exports_external.string().optional()
}).describe("Defines a courtyard rectangle on the PCB");
var pcb_courtyard_outline = exports_external.object({
type: exports_external.literal("pcb_courtyard_outline"),
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault("pcb_courtyard_outline"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
layer: visible_layer,
outline: exports_external.array(point).min(2)
}).describe("Defines a courtyard outline on the PCB");
var pcb_courtyard_polygon = exports_external.object({
type: exports_external.literal("pcb_courtyard_polygon"),
pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault("pcb_courtyard_polygon"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
layer: visible_layer,
points: exports_external.array(point).min(3),
color: exports_external.string().optional()
}).describe("Defines a courtyard polygon on the PCB");
var pcb_courtyard_circle = exports_external.object({
type: exports_external.literal("pcb_courtyard_circle"),
pcb_courtyard_circle_id: getZodPrefixedIdWithDefault("pcb_courtyard_circle"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
center: point,
radius: length,
layer: visible_layer,
color: exports_external.string().optional()
}).describe("Defines a courtyard circle on the PCB");
var pcb_courtyard_pill = exports_external.object({
type: exports_external.literal("pcb_courtyard_pill"),
pcb_courtyard_pill_id: getZodPrefixedIdWithDefault("pcb_courtyard_pill"),
pcb_component_id: exports_external.string(),
pcb_group_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
center: point,
width: length,
height: length,
radius: length,
layer: visible_layer,
color: exports_external.string().optional()
}).describe("Defines a courtyard pill on the PCB");
var cad_model_formats = [
"obj",
"stl",
"3mf",
"gltf",
"glb",
"step",
"wrl"
];
var cad_model_axis_directions = [
"x+",
"x-",
"y+",
"y-",
"z+",
"z-"
];
var cadModelDefaultDirectionMap = {
obj: "z+",
stl: "z+",
"3mf": "z+",
gltf: "y+",
glb: "y+",
step: "z+",
wrl: "y+"
};
var cad_component = exports_external.object({
type: exports_external.literal("cad_component"),
cad_component_id: exports_external.string(),
pcb_component_id: exports_external.string(),
source_component_id: exports_external.string(),
position: point3,
rotation: point3.optional(),
size: point3.optional(),
layer: layer_ref.optional(),
subcircuit_id: exports_external.string().optional(),
footprinter_string: exports_external.string().optional(),
model_obj_url: exports_external.string().optional(),
model_stl_url: exports_external.string().optional(),
model_3mf_url: exports_external.string().optional(),
model_gltf_url: exports_external.string().optional(),
model_glb_url: exports_external.string().optional(),
model_step_url: exports_external.string().optional(),
model_wrl_url: exports_external.string().optional(),
model_asset: asset.optional(),
model_unit_to_mm_scale_factor: exports_external.number().optional(),
model_board_normal_direction: exports_external.enum(cad_model_axis_directions).optional().describe(`The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`),
model_origin_position: point3.optional(),
model_origin_alignment: exports_external.enum([
"unknown",
"center",
"center_of_component_on_board_surface",
"bottom_center_of_component"
]).optional(),
model_object_fit: exports_external.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
model_jscad: exports_external.any().optional(),
show_as_translucent_model: exports_external.boolean().optional(),
show_as_bounding_box: exports_external.boolean().optional(),
anchor_alignment: exports_external.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
}).describe("Defines a component on the PCB");
var wave_shape = exports_external.enum(["sinewave", "square", "triangle", "sawtooth"]);
var percentage = exports_external.union([exports_external.string(), exports_external.number()]).transform((val) => {
if (typeof val === "string") {
if (val.endsWith("%")) {
return parseFloat(val.slice(0, -1)) / 100;
}
return parseFloat(val);
}
return val;
}).pipe(exports_external.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%"));
var simulation_dc_voltage_source = exports_external.object({
type: exports_external.literal("simulation_voltage_source"),
simulation_voltage_source_id: getZodPrefixedIdWithDefault("simulation_voltage_source"),
is_dc_source: exports_external.literal(true).optional().default(true),
positive_source_port_id: exports_external.string().optional(),
negative_source_port_id: exports_external.string().optional(),
positive_source_net_id: exports_external.string().optional(),
negative_source_net_id: exports_external.string().optional(),
voltage
}).describe("Defines a DC voltage source for simulation");
var simulation_ac_voltage_source = exports_external.object({
type: exports_external.literal("simulation_voltage_source"),
simulation_voltage_source_id: getZodPrefixedIdWithDefault("simulation_voltage_source"),
is_dc_source: exports_external.literal(false),
terminal1_source_port_id: exports_external.string().optional(),
terminal2_source_port_id: exports_external.string().optional(),
terminal1_source_net_id: exports_external.string().optional(),
terminal2_source_net_id: exports_external.string().optional(),
voltage: voltage.optional(),
frequency: frequency.optional(),
peak_to_peak_voltage: voltage.optional(),
wave_shape: wave_shape.optional(),
phase: rotation.optional(),
duty_cycle: percentage.optional(),
pulse_delay: ms.optional(),
rise_time: ms.optional(),
fall_time: ms.optional(),
pulse_width: ms.optional(),
period: ms.optional()
}).describe("Defines an AC voltage source for simulation");
var simulation_voltage_source = exports_external.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
var percentage2 = exports_external.union([exports_external.string(), exports_external.number()]).transform((val) => {
if (typeof val === "string") {
if (val.endsWith("%")) {
return parseFloat(val.slice(0, -1)) / 100;
}
return parseFloat(val);
}
return val;
}).pipe(exports_external.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%"));
var simulation_dc_current_source = exports_external.object({
type: exports_external.literal("simulation_current_source"),
simulation_current_source_id: getZodPrefixedIdWithDefault("simulation_current_source"),
is_dc_source: exports_external.literal(true).optional().default(true),
positive_source_port_id: exports_external.string().optional(),
negative_source_port_id: exports_external.string().optional(),
positive_source_net_id: exports_external.string().optional(),
negative_source_net_id: exports_external.string().optional(),
current
}).describe("Defines a DC current source for simulation");
var simulation_ac_current_source = exports_external.object({
type: exports_external.literal("simulation_current_source"),
simulation_current_source_id: getZodPrefixedIdWithDefault("simulation_current_source"),
is_dc_source: exports_external.literal(false),
terminal1_source_port_id: exports_external.string().optional(),
terminal2_source_port_id: exports_external.string().optional(),
terminal1_source_net_id: exports_external.string().optional(),
terminal2_source_net_id: exports_external.string().optional(),
current: current.optional(),
frequency: frequency.optional(),
peak_to_peak_current: current.optional(),
wave_shape: wave_shape.optional(),
phase: rotation.optional(),
duty_cycle: percentage2.optional()
}).describe("Defines an AC current source for simulation");
var simulation_current_source = exports_external.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
var experiment_type = exports_external.union([
exports_external.literal("spice_dc_sweep"),
exports_external.literal("spice_dc_operating_point"),
exports_external.literal("spice_transient_analysis"),
exports_external.literal("spice_ac_analysis")
]);
var spice_simulation_options = exports_external.object({
method: exports_external.enum(["trap", "gear"]).optional(),
reltol: exports_external.union([exports_external.number(), exports_external.string()]).optional(),
abstol: exports_external.union([exports_external.number(), exports_external.string()]).optional(),
vntol: exports_external.union([exports_external.number(), exports_external.string()]).optional()
}).describe("SPICE solver options for a simulation experiment");
var simulation_experiment = exports_external.object({
type: exports_external.literal("simulation_experiment"),
simulation_experiment_id: getZodPrefixedIdWithDefault("simulation_experiment"),
name: exports_external.string(),
experiment_type,
time_per_step: duration_ms.optional(),
start_time_ms: ms.optional(),
end_time_ms: ms.optional(),
spice_options: spice_simulation_options.optional()
}).describe("Defines a simulation experiment configuration");
var simulation_transient_voltage_graph = exports_external.object({
type: exports_external.literal("simulation_transient_voltage_graph"),
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault("simulation_transient_voltage_graph"),
simulation_experiment_id: exports_external.string(),
timestamps_ms: exports_external.array(exports_external.number()).optional(),
voltage_levels: exports_external.array(exports_external.number()),
source_component_id: exports_external.string().optional(),
subcircuit_connectivity_map_key: exports_external.string().optional(),
time_per_step: duration_ms,
start_time_ms: ms,
end_time_ms: ms,
name: exports_external.string().optional(),
color: exports_external.string().optional()
}).describe("Stores voltage measurements over time for a simulation");
var simulation_transient_current_graph = exports_external.object({
type: exports_external.literal("simulation_transient_current_graph"),
simulation_transient_current_graph_id: getZodPrefixedIdWithDefault("simulation_transient_current_graph"),
simulation_experiment_id: exports_external.string(),
timestamps_ms: exports_external.array(exports_external.number()).optional(),
current_levels: exports_external.array(exports_external.number()),
source_component_id: exports_external.string().optional(),
subcircuit_connectivity_map_key: exports_external.string().optional(),
time_per_step: duration_ms,
start_time_ms: ms,
end_time_ms: ms,
name: exports_external.string().optional(),
color: exports_external.string().optional()
}).describe("Stores current measurements over time for a simulation");
var simulation_switch = exports_external.object({
type: exports_external.literal("simulation_switch"),
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
source_component_id: exports_external.string().optional(),
closes_at: ms.optional(),
opens_at: ms.optional(),
starts_closed: exports_external.boolean().optional(),
switching_frequency: frequency.optional()
}).describe("Defines a switch for simulation timing control");
var simulation_voltage_probe = exports_external.object({
type: exports_external.literal("simulation_voltage_probe"),
simulation_voltage_probe_id: getZodPrefixedIdWithDefault("simulation_voltage_probe"),
source_component_id: exports_external.string().optional(),
name: exports_external.string().optional(),
signal_input_source_port_id: exports_external.string().optional(),
signal_input_source_net_id: exports_external.string().optional(),
reference_input_source_port_id: exports_external.string().optional(),
reference_input_source_net_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
color: exports_external.string().optional()
}).describe("Defines a voltage probe for simulation. If a reference input is not provided, it measures against ground. If a reference input is provided, it measures the differential voltage between two points.").superRefine((data, ctx) => {
const is_differential = data.reference_input_source_port_id || data.reference_input_source_net_id;
if (is_differential) {
const has_ports = !!data.signal_input_source_port_id || !!data.reference_input_source_port_id;
const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
if (has_ports && has_nets) {
ctx.addIssue({
code: exports_external.ZodIssueCode.custom,
message: "Cannot mix port and net connections in a differential probe."
});
}
else if (has_ports) {
if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
ctx.addIssue({
code: exports_external.ZodIssueCode.custom,
message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
});
}
}
else if (has_nets) {
if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
ctx.addIssue({
code: exports_external.ZodIssueCode.custom,
message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
});
}
}
}
else {
if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
ctx.addIssue({
code: exports_external.ZodIssueCode.custom,
message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
});
}
}
});
var simulation_current_probe = exports_external.object({
type: exports_external.literal("simulation_current_probe"),
simulation_current_probe_id: getZodPrefixedIdWithDefault("simulation_current_probe"),
source_component_id: exports_external.string().optional(),
name: exports_external.string().optional(),
positive_source_port_id: exports_external.string().optional(),
negative_source_port_id: exports_external.string().optional(),
positive_source_net_id: exports_external.string().optional(),
negative_source_net_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional(),
color: exports_external.string().optional()
}).describe("Defines a current probe for simulation. It measures current flowing from the positive endpoint to the negative endpoint.").superRefine((data, ctx) => {
const hasPositivePort = !!data.positive_source_port_id;
const hasNegativePort = !!data.negative_source_port_id;
const hasPositiveNet = !!data.positive_source_net_id;
const hasNegativeNet = !!data.negative_source_net_id;
const hasPorts = hasPositivePort || hasNegativePort;
const hasNets = hasPositiveNet || hasNegativeNet;
if (hasPorts && hasNets) {
ctx.addIssue({
code: exports_external.ZodIssueCode.custom,
message: "Cannot mix port and net connections in a current probe."
});
return;
}
if (hasPorts) {
if (!hasPositivePort || !hasNegativePort) {
ctx.addIssue({
code: exports_external.ZodIssueCode.custom,
message: "Current probe using source ports requires both positive_source_port_id and negative_source_port_id."
});
}
return;
}
if (hasNets) {
if (!hasPositiveNet || !hasNegativeNet) {
ctx.addIssue({
code: exports_external.ZodIssueCode.custom,
message: "Current probe using source nets requires both positive_source_net_id and negative_source_net_id."
});
}
return;
}
ctx.addIssue({
code: exports_external.ZodIssueCode.custom,
message: "A current probe must have either positive/negative source port ids or positive/negative source net ids."
});
});
var simulation_unknown_experiment_error = base_circuit_json_error.extend({
type: exports_external.literal("simulation_unknown_experiment_error"),
simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault("simulation_unknown_experiment_error"),
error_type: exports_external.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
simulation_experiment_id: exports_external.string().optional(),
subcircuit_id: exports_external.string().optional()
}).describe("An unknown error occurred during the simulation experiment.");
var simulation_op_amp = exports_external.object({
type: exports_external.literal("simulation_op_amp"),
simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
source_component_id: exports_external.string().optional(),
inverting_input_source_port_id: exports_external.string(),
non_inverting_input_source_port_id: exports_external.string(),
output_source_port_id: exports_external.string(),
positive_supply_source_port_id: exports_external.string(),
negative_supply_source_port_id: exports_external.string()
}).describe("Defines a simple ideal operational amplifier for simulation");
var simulation_spice_subcircuit = exports_external.object({
type: exports_external.literal("simulation_spice_subcircuit"),
simulation_spice_subcircuit_id: getZodPrefixedIdWithDefault("simulation_spice_subcircuit"),
source_component_id: exports_external.string(),
spice_pin_to_source_port_map: exports_external.record(exports_external.string(), exports_external.string()),
subcircuit_source: exports_external.string()
}).describe("Defines a custom SPICE subcircuit model for simulation");
var hasValue = (value) => value !== undefined;
var simulation_oscilloscope_trace = exports_external.object({
type: exports_external.literal("simulation_oscilloscope_trace"),
simulation_oscilloscope_trace_id: getZodPrefixedIdWithDefault("simulation_oscilloscope_trace"),
simulation_transient_voltage_graph_id: exports_external.string().optional(),
simulation_transient_current_graph_id: exports_external.string().optional(),
simulation_voltage_probe_id: exports_external.string().optional(),
simulation_current_probe_id: exports_external.string().optional(),
display_name: exports_external.string().optional(),
color: exports_external.string().optional(),
display_center_value: exports_external.number().optional(),
display_center_offset_divs: exports_external.number().optional(),
volts_per_div: exports_external.number().positive().optional(),
amps_per_div: exports_external.number().positive().optional()
}).describe("Defines how a simulation measurement is rendered as an oscilloscope-style trace.").superRefine((data, ctx) => {
const voltageReferences = [
data.simulation_transient_voltage_graph_id,
data.simulation_voltage_probe_id
].filter(hasValue).length;
const currentReferences = [
data.simulation_transient_current_graph_id,
data.simulation_current_probe_id
].filter(hasValue).length;
if (voltageReferences + currentReferences !== 1) {
ctx.addIssue({
code: exports_external.ZodIssueCode.custom,
message: "An oscilloscope trace must reference exactly one voltage graph, current graph, voltage probe, or current probe."
});
}
if (voltageReferences > 0 && data.amps_per_div !== undefined) {
ctx.addIssue({
code: exports_external.ZodIssueCode.custom,
message: "Voltage oscilloscope traces must use volts_per_div, not amps_per_div."
});
}
if (currentReferences > 0 && data.volts_per_div !== undefined) {
ctx.addIssue({
code: exports_external.ZodIssueCode.custom,
message: "Current oscilloscope traces must use amps_per_div, not volts_per_div."
});
}
});
var any_circuit_element = exports_external.union([
source_trace,
source_port,
source_component_internal_connection,
any_source_component,
source_net,
source_group,
source_simple_chip,
source_simple_capacitor,
source_simple_diode,
source_simple_led,
source_simple_resistor,
source_simple_power_source,
source_simple_battery,
source_simple_inductor,
source_simple_pin_header,
source_simple_pinout,
source_simple_resonator,
source_simple_switch,
source_simple_transistor,
source_simple_test_point,
source_simple_mosfet,
source_simple_op_amp,
source_simple_potentiometer,
source_simple_push_button,
source_pcb_ground_plane,
source_manually_placed_via,
source_board,
source_project_metadata,
source_invalid_component_property_error,
source_trace_not_connected_error,
source_pin_missing_trace_warning,
source_unnamed_trace_warning,
source_missing_manufacturer_part_number_warning,
source_no_power_pin_defined_warning,
source_no_ground_pin_defined_warning,
source_component_pins_underspecified_warning,
source_pin_must_be_connected_error,
unknown_error_finding_part,
source_i2c_misconfigured_error,
source_component_misconfigured_error,
source_ambiguous_port_reference,
pcb_component,
pcb_hole,
pcb_missing_footprint_error,
external_footprint_load_error,
circuit_json_footprint_load_error,
pcb_manual_edit_conflict_warning,
pcb_connector_not_in_accessible_orientation_warning,
supplier_footprint_mismatch_warning,
pcb_plated_hole,
pcb_keepout,
pcb_port,
pcb_net,
pcb_text,
pcb_trace,
pcb_trace_warning,
pcb_via,
pcb_smtpad,
pcb_solder_paste,
pcb_board,
pcb_panel,
pcb_group,
pcb_trace_hint,
pcb_silkscreen_line,
pcb_silkscreen_path,
pcb_silkscreen_text,
pcb_silkscreen_pill,
pcb_copper_text,
pcb_silkscreen_rect,
pcb_silkscreen_circle,
pcb_silkscreen_oval,
pcb_silkscreen_graphic,
pcb_trace_error,
pcb_trace_missing_error,
pcb_placement_error,
pcb_panelization_placement_error,
pcb_port_not_matched_error,
pcb_port_not_connected_error,
pcb_via_clearance_error,
pcb_via_trace_clearance_error,
pcb_pad_pad_clearance_error,
pcb_pad_trace_clearance_error,
pcb_fabrication_note_path,
pcb_fabrication_note_text,
pcb_fabrication_note_rect,
pcb_fabrication_note_dimension,
pcb_note_text,
pcb_note_rect,
pcb_note_path,
pcb_note_line,
pcb_note_dimension,
pcb_autorouting_error,
pcb_footprint_overlap_error,
pcb_courtyard_overlap_error,
pcb_breakout_point,
pcb_cutout,
pcb_ground_plane,
pcb_ground_plane_region,
pcb_thermal_spoke,
pcb_copper_pour,
pcb_component_outside_board_error,
pcb_component_not_on_board_edge_error,
pcb_component_invalid_layer_error,
pcb_courtyard_rect,
pcb_courtyard_outline,
pcb_courtyard_polygon,
pcb_courtyard_circle,
pcb_courtyard_pill,
schematic_box,
schematic_text,
schematic_line,
schematic_rect,
schematic_circle,
schematic_arc,
schematic_component,
schematic_symbol,
schematic_port,
schematic_trace,
schematic_path,
schematic_error,
schematic_layout_error,
schematic_net_label,
schematic_debug_object,
schematic_voltage_probe,
schematic_manual_edit_conflict_warning,
schematic_group,
schematic_sheet,
schematic_table,
schematic_table_cell,
cad_component,
simulation_voltage_source,
simulation_current_source,
simulation_experiment,
simulation_transient_voltage_graph,
simulation_transient_current_graph,
simulation_switch,
simulation_voltage_probe,
simulation_current_probe,
simulation_oscilloscope_trace,
simulation_unknown_experiment_error,
simulation_op_amp,
simulation_spice_subcircuit
]);
var any_soup_element = any_circuit_element;
// ../../work/placement-analysis/node_modules/transformation-matrix/src/fromTransformAttribute.autogenerated.js
function peg$subclass(child, parent) {
function C() {
this.constructor = child;
}
C.prototype = parent.prototype;
child.prototype = new C;
}
function peg$SyntaxError(message, expected, found, location) {
var self2 = Error.call(this, message);
if (Object.setPrototypeOf) {
Object.setPrototypeOf(self2, peg$SyntaxError.prototype);
}
self2.expected = expected;
self2.found = found;
self2.location = location;
self2.name = "SyntaxError";
return self2;
}
peg$subclass(peg$SyntaxError, Error);
function peg$padEnd(str, targetLength, padString) {
padString = padString || " ";
if (str.length > targetLength) {
return str;
}
targetLength -= str.length;
padString += padString.repeat(targetLength);
return str + padString.slice(0, targetLength);
}
peg$SyntaxError.prototype.format = function (sources) {
var str = "Error: " + this.message;
if (this.location) {
var src = null;
var k;
for (k = 0; k < sources.length; k++) {
if (sources[k].source === this.location.source) {
src = sources[k].text.split(/\r\n|\n|\r/g);
break;
}
}
var s = this.location.start;
var offset_s = this.location.source && typeof this.location.source.offset === "function" ? this.location.source.offset(s) : s;
var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;
if (src) {
var e = this.location.end;
var filler = peg$padEnd("", offset_s.line.toString().length, " ");
var line = src[s.line - 1];
var last = s.line === e.line ? e.column : line.length + 1;
var hatLen = last - s.column || 1;
str += `
--> ` + loc + `
` + filler + ` |
` + offset_s.line + " | " + line + `
` + filler + " | " + peg$padEnd("", s.column - 1, " ") + peg$padEnd("", hatLen, "^");
}
else {
str += `
at ` + loc;
}
}
return str;
};
peg$SyntaxError.buildMessage = function (expected, found) {
var DESCRIBE_EXPECTATION_FNS = {
literal: function (expectation) {
return '"' + literalEscape(expectation.text) + '"';
},
class: function (expectation) {
var escapedParts = expectation.parts.map(function (part) {
return Array.isArray(part) ? classEscape(part[0]) + "-" + classEscape(part[1]) : classEscape(part);
});
return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";
},
any: function () {
return "any character";
},
end: function () {
return "end of input";
},
other: function (expectation) {
return expectation.description;
}
};
function hex(ch) {
return ch.charCodeAt(0).toString(16).toUpperCase();
}
function literalEscape(s) {
return s.replace(/\\/g, "\\\\").replace(/"/g, "\\\"").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function (ch) {
return "\\x0" + hex(ch);
}).replace(/[\x10-\x1F\x7F-\x9F]/g, function (ch) {
return "\\x" + hex(ch);
});
}
function classEscape(s) {
return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function (ch) {
return "\\x0" + hex(ch);
}).replace(/[\x10-\x1F\x7F-\x9F]/g, function (ch) {
return "\\x" + hex(ch);
});
}
function describeExpectation(expectation) {
return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
}
function describeExpected(expected2) {
var descriptions = expected2.map(describeExpectation);
var i, j;
descriptions.sort();
if (descriptions.length > 0) {
for (i = 1, j = 1; i < descriptions.length; i++) {
if (descriptions[i - 1] !== descriptions[i]) {
descriptions[j] = descriptions[i];
j++;
}
}
descriptions.length = j;
}
switch (descriptions.length) {
case 1:
return descriptions[0];
case 2:
return descriptions[0] + " or " + descriptions[1];
default:
return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
}
}
function describeFound(found2) {
return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
}
return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
};
// ../../work/placement-analysis/node_modules/@tscircuit/circuit-json-util/dist/index.js
function connect(map, a, b) {
if (!a || !b)
return;
let setA = map.get(a);
if (!setA) {
setA = /* @__PURE__ */ new Set;
map.set(a, setA);
}
setA.add(b);
let setB = map.get(b);
if (!setB) {
setB = /* @__PURE__ */ new Set;
map.set(b, setB);
}
setB.add(a);
}
function buildSubtree(soup, opts) {
if (!opts.subcircuit_id && !opts.source_group_id)
return [...soup];
let effectiveOpts = opts;
if (opts.subcircuit_id) {
const subcircuitIds = /* @__PURE__ */ new Set([opts.subcircuit_id]);
const groupChildren = /* @__PURE__ */ new Map;
const groupSubcircuit = /* @__PURE__ */ new Map;
for (const elm of soup) {
if (elm.type === "source_group") {
const groupId = elm.source_group_id;
const subcircuitId = elm.subcircuit_id;
if (subcircuitId) {
groupSubcircuit.set(groupId, subcircuitId);
}
const parentId = elm.parent_source_group_id;
if (parentId) {
if (!groupChildren.has(parentId)) {
groupChildren.set(parentId, []);
}
groupChildren.get(parentId).push(groupId);
}
}
}
let rootGroupId;
for (const [groupId, subcircuitId] of groupSubcircuit) {
if (subcircuitId === opts.subcircuit_id) {
rootGroupId = groupId;
break;
}
}
if (rootGroupId) {
const collectChildSubcircuits = (groupId) => {
const children = groupChildren.get(groupId) || [];
for (const childId of children) {
const childSubcircuit = groupSubcircuit.get(childId);
if (childSubcircuit) {
subcircuitIds.add(childSubcircuit);
}
collectChildSubcircuits(childId);
}
};
collectChildSubcircuits(rootGroupId);
effectiveOpts = { ...opts, subcircuit_ids: Array.from(subcircuitIds) };
}
}
const idMap = /* @__PURE__ */ new Map;
for (const elm of soup) {
const idKey = `${elm.type}_id`;
const idVal = elm[idKey];
if (typeof idVal === "string") {
idMap.set(idVal, elm);
}
}
const adj = /* @__PURE__ */ new Map;
for (const elm of soup) {
const entries = Object.entries(elm);
for (const [key, val] of entries) {
if (key === "parent_source_group_id")
continue;
if (key.endsWith("_id") && typeof val === "string") {
const other = idMap.get(val);
connect(adj, elm, other);
}
else if (key.endsWith("_ids") && Array.isArray(val)) {
for (const v of val) {
if (typeof v === "string") {
const other = idMap.get(v);
connect(adj, elm, other);
}
}
}
}
}
const queue = [];
const included = /* @__PURE__ */ new Set;
for (const elm of soup) {
let shouldInclude = false;
if (effectiveOpts.subcircuit_id && "subcircuit_id" in elm && elm.subcircuit_id === effectiveOpts.subcircuit_id) {
shouldInclude = true;
}
else if (effectiveOpts.subcircuit_ids && "subcircuit_id" in elm && elm.subcircuit_id && effectiveOpts.subcircuit_ids.includes(elm.subcircuit_id)) {
shouldInclude = true;
}
else if (effectiveOpts.source_group_id && "source_group_id" in elm && elm.source_group_id === effectiveOpts.source_group_id) {
shouldInclude = true;
}
else if (effectiveOpts.source_group_id && "member_source_group_ids" in elm && Array.isArray(elm.member_source_group_ids) && elm.member_source_group_ids.includes(effectiveOpts.source_group_id)) {
shouldInclude = true;
}
if (shouldInclude) {
queue.push(elm);
included.add(elm);
}
}
while (queue.length > 0) {
const elm = queue.shift();
const neighbors = adj.get(elm);
if (!neighbors)
continue;
for (const n of neighbors) {
if (!included.has(n)) {
included.add(n);
queue.push(n);
}
}
}
return soup.filter((e) => included.has(e));
}
var cju = (circuitJsonInput, options = {}) => {
const circuitJson = circuitJsonInput;
let internalStore = circuitJson._internal_store;
if (!internalStore) {
internalStore = {
counts: {},
editCount: 0
};
circuitJson._internal_store = internalStore;
for (const elm of circuitJson) {
const type = elm.type;
const idVal = elm[`${type}_id`];
if (!idVal)
continue;
const idNum = Number.parseInt(idVal.split("_").pop());
if (!Number.isNaN(idNum)) {
internalStore.counts[type] = Math.max(internalStore.counts[type] ?? 0, idNum);
}
}
}
const su2 = new Proxy({}, {
get: (proxy_target, prop) => {
if (prop === "toArray") {
return () => {
circuitJson.editCount = internalStore.editCount;
return circuitJson;
};
}
if (prop === "editCount") {
return internalStore.editCount;
}
if (prop === "subtree") {
return (opts) => cju(buildSubtree(circuitJson, opts), options);
}
if (prop === "insert") {
return (elm) => {
const component_type2 = elm.type;
if (!component_type2) {
throw new Error("insert requires an element with a type");
}
internalStore.counts[component_type2] ??= -1;
internalStore.counts[component_type2]++;
const index = internalStore.counts[component_type2];
const newElm = {
...elm,
type: component_type2,
[`${component_type2}_id`]: `${component_type2}_${index}`
};
if (options.validateInserts) {
const parser = exports_dist[component_type2] ?? any_soup_element;
parser.parse(newElm);
}
circuitJson.push(newElm);
internalStore.editCount++;
return newElm;
};
}
if (prop === "insertAll") {
return (elms) => {
return elms.map((elm) => su2.insert(elm));
};
}
const component_type = prop;
return {
get: (id) => circuitJson.find((e) => e.type === component_type && e[`${component_type}_id`] === id),
getUsing: (using) => {
const keys = Object.keys(using);
if (keys.length !== 1) {
throw new Error("getUsing requires exactly one key, e.g. { pcb_component_id }");
}
const join_key = keys[0];
const join_type = join_key.replace("_id", "");
const joiner = circuitJson.find((e) => e.type === join_type && e[join_key] === using[join_key]);
if (!joiner)
return null;
return circuitJson.find((e) => e.type === component_type && e[`${component_type}_id`] === joiner[`${component_type}_id`]);
},
getWhere: (where) => {
const keys = Object.keys(where);
return circuitJson.find((e) => e.type === component_type && keys.every((key) => e[key] === where[key]));
},
list: (where) => {
const keys = !where ? [] : Object.keys(where);
return circuitJson.filter((e) => e.type === component_type && keys.every((key) => e[key] === where[key]));
},
insert: (elm) => {
internalStore.counts[component_type] ??= -1;
internalStore.counts[component_type]++;
const index = internalStore.counts[component_type];
const newElm = {
type: component_type,
[`${component_type}_id`]: `${component_type}_${index}`,
...elm
};
if (options.validateInserts) {
const parser = exports_dist[component_type] ?? any_soup_element;
parser.parse(newElm);
}
circuitJson.push(newElm);
internalStore.editCount++;
return newElm;
},
delete: (id) => {
const elm = circuitJson.find((e) => e[`${component_type}_id`] === id);
if (!elm)
return;
circuitJson.splice(circuitJson.indexOf(elm), 1);
internalStore.editCount++;
},
update: (id, newProps) => {
const elm = circuitJson.find((e) => e.type === component_type && e[`${component_type}_id`] === id);
if (!elm)
return null;
Object.assign(elm, newProps);
internalStore.editCount++;
return elm;
},
select: (selector) => {
if (component_type === "source_component") {
return circuitJson.find((e) => e.type === "source_component" && e.name === selector.replace(/\./g, ""));
}
else if (component_type === "pcb_port" || component_type === "source_port" || component_type === "schematic_port") {
const [component_name, port_selector] = selector.replace(/\./g, "").split(/[\s\>]+/);
const source_component = circuitJson.find((e) => e.type === "source_component" && e.name === component_name);
if (!source_component)
return null;
const source_port2 = circuitJson.find((e) => e.type === "source_port" && e.source_component_id === source_component.source_component_id && (e.name === port_selector || (e.port_hints ?? []).includes(port_selector)));
if (!source_port2)
return null;
if (component_type === "source_port")
return source_port2;
if (component_type === "pcb_port") {
return circuitJson.find((e) => e.type === "pcb_port" && e.source_port_id === source_port2.source_port_id);
}
else if (component_type === "schematic_port") {
return circuitJson.find((e) => e.type === "schematic_port" && e.source_port_id === source_port2.source_port_id);
}
}
}
};
}
});
return su2;
};
cju.unparsed = cju;
var cju_default = cju;
function createIdKey(element) {
const type = element.type;
return `${type}:${element[`${type}_id`]}`;
}
var cjuIndexed = (soup, options = {}) => {
let internalStore = soup._internal_store_indexed;
if (!internalStore) {
internalStore = {
counts: {},
editCount: 0,
indexes: {}
};
for (const elm of soup) {
const type = elm.type;
const idVal = elm[`${type}_id`];
if (!idVal)
continue;
const idNum = Number.parseInt(idVal.split("_").pop() || "");
if (!Number.isNaN(idNum)) {
internalStore.counts[type] = Math.max(internalStore.counts[type] ?? 0, idNum);
}
}
const indexConfig = options.indexConfig || {};
const indexes = internalStore.indexes;
if (indexConfig.byId) {
indexes.byId = /* @__PURE__ */ new Map;
}
if (indexConfig.byType) {
indexes.byType = /* @__PURE__ */ new Map;
}
if (indexConfig.byRelation) {
indexes.byRelation = /* @__PURE__ */ new Map;
}
if (indexConfig.bySubcircuit) {
indexes.bySubcircuit = /* @__PURE__ */ new Map;
}
if (indexConfig.byCustomField && indexConfig.byCustomField.length > 0) {
indexes.byCustomField = /* @__PURE__ */ new Map;
for (const field of indexConfig.byCustomField) {
indexes.byCustomField.set(field, /* @__PURE__ */ new Map);
}
}
for (const element of soup) {
if (indexConfig.byId) {
const idKey = createIdKey(element);
indexes.byId.set(idKey, element);
}
if (indexConfig.byType) {
const elementsOfType = indexes.byType.get(element.type) || [];
elementsOfType.push(element);
indexes.byType.set(element.type, elementsOfType);
}
if (indexConfig.byRelation) {
const elementEntries = Object.entries(element);
for (const [key, value] of elementEntries) {
if (key.endsWith("_id") && key !== `${element.type}_id` && typeof value === "string") {
const relationTypeMap = indexes.byRelation.get(key) || /* @__PURE__ */ new Map;
const relatedElements = relationTypeMap.get(value) || [];
relatedElements.push(element);
relationTypeMap.set(value, relatedElements);
indexes.byRelation.set(key, relationTypeMap);
}
}
}
if (indexConfig.bySubcircuit && "subcircuit_id" in element) {
const subcircuitId = element.subcircuit_id;
if (subcircuitId && typeof subcircuitId === "string") {
const subcircuitElements = indexes.bySubcircuit.get(subcircuitId) || [];
subcircuitElements.push(element);
indexes.bySubcircuit.set(subcircuitId, subcircuitElements);
}
}
if (indexConfig.byCustomField && indexes.byCustomField) {
for (const field of indexConfig.byCustomField) {
if (field in element) {
const fieldValue = element[field];
if (fieldValue !== undefined && (typeof fieldValue === "string" || typeof fieldValue === "number")) {
const fieldValueStr = String(fieldValue);
const fieldMap = indexes.byCustomField.get(field);
const elementsWithFieldValue = fieldMap.get(fieldValueStr) || [];
elementsWithFieldValue.push(element);
fieldMap.set(fieldValueStr, elementsWithFieldValue);
}
}
}
}
}
soup._internal_store_indexed = internalStore;
}
const suIndexed = new Proxy({}, {
get: (proxy_target, prop) => {
if (prop === "toArray") {
return () => {
soup.editCount = internalStore.editCount;
return soup;
};
}
if (prop === "editCount") {
return internalStore.editCount;
}
const component_type = prop;
return {
get: (id) => {
const indexConfig = options.indexConfig || {};
if (indexConfig.byId && internalStore.indexes.byId) {
return internalStore.indexes.byId.get(`${component_type}:${id}`) || null;
}
if (indexConfig.byType && internalStore.indexes.byType) {
const elementsOfType = internalStore.indexes.byType.get(component_type) || [];
return elementsOfType.find((e) => e[`${component_type}_id`] === id) || null;
}
return soup.find((e) => e.type === component_type && e[`${component_type}_id`] === id) || null;
},
getUsing: (using) => {
const indexConfig = options.indexConfig || {};
const keys = Object.keys(using);
if (keys.length !== 1) {
throw new Error("getUsing requires exactly one key, e.g. { pcb_component_id }");
}
const join_key = keys[0];
const join_type = join_key.replace("_id", "");
if (indexConfig.byRelation && internalStore.indexes.byRelation) {
const relationMap = internalStore.indexes.byRelation.get(join_key);
if (relationMap) {
const relatedElements = relationMap.get(using[join_key]) || [];
const joiner2 = relatedElements.find((e) => e.type === join_type);
if (!joiner2)
return null;
const joinerId = joiner2[`${component_type}_id`];
if (indexConfig.byId && internalStore.indexes.byId) {
return internalStore.indexes.byId.get(`${component_type}:${joinerId}`) || null;
}
if (indexConfig.byType && internalStore.indexes.byType) {
const elementsOfType = internalStore.indexes.byType.get(component_type) || [];
return elementsOfType.find((e) => e[`${component_type}_id`] === joinerId) || null;
}
return soup.find((e) => e.type === component_type && e[`${component_type}_id`] === joinerId) || null;
}
}
const joiner = soup.find((e) => e.type === join_type && e[join_key] === using[join_key]);
if (!joiner)
return null;
return soup.find((e) => e.type === component_type && e[`${component_type}_id`] === joiner[`${component_type}_id`]) || null;
},
getWhere: (where) => {
const indexConfig = options.indexConfig || {};
const keys = Object.keys(where);
if (keys.length === 1 && indexConfig.byCustomField && internalStore.indexes.byCustomField) {
const field = keys[0];
const fieldMap = internalStore.indexes.byCustomField.get(field);
if (fieldMap) {
const fieldValue = String(where[field]);
const elementsWithFieldValue = fieldMap.get(fieldValue) || [];
return elementsWithFieldValue.find((e) => e.type === component_type) || null;
}
}
if ("subcircuit_id" in where && indexConfig.bySubcircuit && internalStore.indexes.bySubcircuit) {
const subcircuitId = where.subcircuit_id;
const subcircuitElements = internalStore.indexes.bySubcircuit.get(subcircuitId) || [];
return subcircuitElements.find((e) => e.type === component_type && keys.every((key) => e[key] === where[key])) || null;
}
if (indexConfig.byType && internalStore.indexes.byType) {
const elementsOfType = internalStore.indexes.byType.get(component_type) || [];
return elementsOfType.find((e) => keys.every((key) => e[key] === where[key])) || null;
}
return soup.find((e) => e.type === component_type && keys.every((key) => e[key] === where[key])) || null;
},
list: (where) => {
const indexConfig = options.indexConfig || {};
const keys = !where ? [] : Object.keys(where);
if (keys.length === 0 && indexConfig.byType && internalStore.indexes.byType) {
return internalStore.indexes.byType.get(component_type) || [];
}
if (keys.length === 1 && keys[0] === "subcircuit_id" && indexConfig.bySubcircuit && internalStore.indexes.bySubcircuit) {
const subcircuitId = where.subcircuit_id;
const subcircuitElements = internalStore.indexes.bySubcircuit.get(subcircuitId) || [];
return subcircuitElements.filter((e) => e.type === component_type);
}
let elementsToFilter;
if (indexConfig.byType && internalStore.indexes.byType) {
elementsToFilter = internalStore.indexes.byType.get(component_type) || [];
}
else {
elementsToFilter = soup.filter((e) => e.type === component_type);
}
if (keys.length > 0) {
return elementsToFilter.filter((e) => keys.every((key) => e[key] === where[key]));
}
return elementsToFilter;
},
insert: (elm) => {
internalStore.counts[component_type] ??= -1;
internalStore.counts[component_type]++;
const index = internalStore.counts[component_type];
const newElm = {
type: component_type,
[`${component_type}_id`]: `${component_type}_${index}`,
...elm
};
if (options.validateInserts) {
const parser = exports_dist[component_type] ?? any_soup_element;
parser.parse(newElm);
}
soup.push(newElm);
internalStore.editCount++;
const indexConfig = options.indexConfig || {};
if (indexConfig.byId && internalStore.indexes.byId) {
const idKey = createIdKey(newElm);
internalStore.indexes.byId.set(idKey, newElm);
}
if (indexConfig.byType && internalStore.indexes.byType) {
const elementsOfType = internalStore.indexes.byType.get(component_type) || [];
elementsOfType.push(newElm);
internalStore.indexes.byType.set(component_type, elementsOfType);
}
if (indexConfig.byRelation && internalStore.indexes.byRelation) {
const elementEntries = Object.entries(newElm);
for (const [key, value] of elementEntries) {
if (key.endsWith("_id") && key !== `${newElm.type}_id` && typeof value === "string") {
const relationTypeMap = internalStore.indexes.byRelation.get(key) || /* @__PURE__ */ new Map;
const relatedElements = relationTypeMap.get(value) || [];
relatedElements.push(newElm);
relationTypeMap.set(value, relatedElements);
internalStore.indexes.byRelation.set(key, relationTypeMap);
}
}
}
if (indexConfig.bySubcircuit && internalStore.indexes.bySubcircuit && "subcircuit_id" in newElm) {
const subcircuitId = newElm.subcircuit_id;
if (subcircuitId && typeof subcircuitId === "string") {
const subcircuitElements = internalStore.indexes.bySubcircuit.get(subcircuitId) || [];
subcircuitElements.push(newElm);
internalStore.indexes.bySubcircuit.set(subcircuitId, subcircuitElements);
}
}
if (indexConfig.byCustomField && internalStore.indexes.byCustomField) {
for (const field of indexConfig.byCustomField) {
if (field in newElm) {
const fieldValue = newElm[field];
if (fieldValue !== undefined && (typeof fieldValue === "string" || typeof fieldValue === "number")) {
const fieldValueStr = String(fieldValue);
const fieldMap = internalStore.indexes.byCustomField.get(field);
const elementsWithFieldValue = fieldMap.get(fieldValueStr) || [];
elementsWithFieldValue.push(newElm);
fieldMap.set(fieldValueStr, elementsWithFieldValue);
}
}
}
}
return newElm;
},
delete: (id) => {
const indexConfig = options.indexConfig || {};
let elm;
if (indexConfig.byId && internalStore.indexes.byId) {
elm = internalStore.indexes.byId.get(`${component_type}:${id}`);
}
else if (indexConfig.byType && internalStore.indexes.byType) {
const elementsOfType = internalStore.indexes.byType.get(component_type) || [];
elm = elementsOfType.find((e) => e[`${component_type}_id`] === id);
}
else {
elm = soup.find((e) => e[`${component_type}_id`] === id);
}
if (!elm)
return;
const elmIndex = soup.indexOf(elm);
if (elmIndex >= 0) {
soup.splice(elmIndex, 1);
internalStore.editCount++;
}
if (indexConfig.byId && internalStore.indexes.byId) {
const idKey = createIdKey(elm);
internalStore.indexes.byId.delete(idKey);
}
if (indexConfig.byType && internalStore.indexes.byType) {
const elementsOfType = internalStore.indexes.byType.get(component_type) || [];
const filteredElements = elementsOfType.filter((e) => e[`${component_type}_id`] !== id);
internalStore.indexes.byType.set(component_type, filteredElements);
}
if (indexConfig.byRelation && internalStore.indexes.byRelation) {
for (const [relationKey, relationMap] of internalStore.indexes.byRelation.entries()) {
for (const [relationValue, elements] of relationMap.entries()) {
const updatedElements = elements.filter((e) => e !== elm);
if (updatedElements.length === 0) {
relationMap.delete(relationValue);
}
else {
relationMap.set(relationValue, updatedElements);
}
}
}
}
if (indexConfig.bySubcircuit && internalStore.indexes.bySubcircuit && "subcircuit_id" in elm) {
const subcircuitId = elm.subcircuit_id;
if (subcircuitId) {
const subcircuitElements = internalStore.indexes.bySubcircuit.get(subcircuitId) || [];
const updatedElements = subcircuitElements.filter((e) => e !== elm);
if (updatedElements.length === 0) {
internalStore.indexes.bySubcircuit.delete(subcircuitId);
}
else {
internalStore.indexes.bySubcircuit.set(subcircuitId, updatedElements);
}
}
}
if (indexConfig.byCustomField && internalStore.indexes.byCustomField) {
for (const fieldMap of internalStore.indexes.byCustomField.values()) {
for (const [fieldValue, elements] of fieldMap.entries()) {
const updatedElements = elements.filter((e) => e !== elm);
if (updatedElements.length === 0) {
fieldMap.delete(fieldValue);
}
else {
fieldMap.set(fieldValue, updatedElements);
}
}
}
}
},
update: (id, newProps) => {
const indexConfig = options.indexConfig || {};
let elm;
if (indexConfig.byId && internalStore.indexes.byId) {
elm = internalStore.indexes.byId.get(`${component_type}:${id}`);
}
else if (indexConfig.byType && internalStore.indexes.byType) {
const elementsOfType = internalStore.indexes.byType.get(component_type) || [];
elm = elementsOfType.find((e) => e[`${component_type}_id`] === id);
}
else {
elm = soup.find((e) => e.type === component_type && e[`${component_type}_id`] === id);
}
if (!elm)
return null;
if (indexConfig.byRelation && internalStore.indexes.byRelation) {
const elementEntries = Object.entries(elm);
for (const [key, value] of elementEntries) {
if (key.endsWith("_id") && key !== `${elm.type}_id` && typeof value === "string") {
if (key in newProps && newProps[key] !== value) {
const relationTypeMap = internalStore.indexes.byRelation.get(key);
if (relationTypeMap) {
const relatedElements = relationTypeMap.get(value) || [];
const updatedElements = relatedElements.filter((e) => e !== elm);
if (updatedElements.length === 0) {
relationTypeMap.delete(value);
}
else {
relationTypeMap.set(value, updatedElements);
}
}
}
}
}
}
if (indexConfig.bySubcircuit && internalStore.indexes.bySubcircuit && "subcircuit_id" in elm && "subcircuit_id" in newProps) {
const oldSubcircuitId = elm.subcircuit_id;
const newSubcircuitId = newProps.subcircuit_id;
if (oldSubcircuitId !== newSubcircuitId) {
const subcircuitElements = internalStore.indexes.bySubcircuit.get(oldSubcircuitId) || [];
const updatedElements = subcircuitElements.filter((e) => e !== elm);
if (updatedElements.length === 0) {
internalStore.indexes.bySubcircuit.delete(oldSubcircuitId);
}
else {
internalStore.indexes.bySubcircuit.set(oldSubcircuitId, updatedElements);
}
}
}
if (indexConfig.byCustomField && internalStore.indexes.byCustomField) {
for (const field of indexConfig.byCustomField) {
if (field in elm && field in newProps && elm[field] !== newProps[field]) {
const fieldMap = internalStore.indexes.byCustomField.get(field);
if (fieldMap) {
const oldValue = String(elm[field]);
const elements = fieldMap.get(oldValue) || [];
const updatedElements = elements.filter((e) => e !== elm);
if (updatedElements.length === 0) {
fieldMap.delete(oldValue);
}
else {
fieldMap.set(oldValue, updatedElements);
}
}
}
}
}
Object.assign(elm, newProps);
internalStore.editCount++;
if (indexConfig.byRelation && internalStore.indexes.byRelation) {
const elementEntries = Object.entries(elm);
for (const [key, value] of elementEntries) {
if (key.endsWith("_id") && key !== `${elm.type}_id` && typeof value === "string") {
if (key in newProps) {
const relationTypeMap = internalStore.indexes.byRelation.get(key) || /* @__PURE__ */ new Map;
const relatedElements = relationTypeMap.get(value) || [];
if (!relatedElements.includes(elm)) {
relatedElements.push(elm);
relationTypeMap.set(value, relatedElements);
internalStore.indexes.byRelation.set(key, relationTypeMap);
}
}
}
}
}
if (indexConfig.bySubcircuit && internalStore.indexes.bySubcircuit && "subcircuit_id" in elm && "subcircuit_id" in newProps) {
const subcircuitId = elm.subcircuit_id;
if (subcircuitId && typeof subcircuitId === "string") {
const subcircuitElements = internalStore.indexes.bySubcircuit.get(subcircuitId) || [];
if (!subcircuitElements.includes(elm)) {
subcircuitElements.push(elm);
internalStore.indexes.bySubcircuit.set(subcircuitId, subcircuitElements);
}
}
}
if (indexConfig.byCustomField && internalStore.indexes.byCustomField) {
for (const field of indexConfig.byCustomField) {
if (field in elm && field in newProps) {
const fieldValue = elm[field];
if (fieldValue !== undefined && (typeof fieldValue === "string" || typeof fieldValue === "number")) {
const fieldValueStr = String(fieldValue);
const fieldMap = internalStore.indexes.byCustomField.get(field);
const elementsWithFieldValue = fieldMap.get(fieldValueStr) || [];
if (!elementsWithFieldValue.includes(elm)) {
elementsWithFieldValue.push(elm);
fieldMap.set(fieldValueStr, elementsWithFieldValue);
}
}
}
}
}
return elm;
},
select: (selector) => {
if (component_type === "source_component") {
return soup.find((e) => e.type === "source_component" && e.name === selector.replace(/\./g, "")) || null;
}
else if (component_type === "pcb_port" || component_type === "source_port" || component_type === "schematic_port") {
const [component_name, port_selector] = selector.replace(/\./g, "").split(/[\s\>]+/);
const source_component = soup.find((e) => e.type === "source_component" && e.name === component_name);
if (!source_component)
return null;
const source_port2 = soup.find((e) => e.type === "source_port" && e.source_component_id === source_component.source_component_id && (e.name === port_selector || (e.port_hints ?? []).includes(port_selector)));
if (!source_port2)
return null;
if (component_type === "source_port")
return source_port2;
if (component_type === "pcb_port") {
return soup.find((e) => e.type === "pcb_port" && e.source_port_id === source_port2.source_port_id) || null;
}
else if (component_type === "schematic_port") {
return soup.find((e) => e.type === "schematic_port" && e.source_port_id === source_port2.source_port_id) || null;
}
}
return null;
}
};
}
});
return suIndexed;
};
cjuIndexed.unparsed = cjuIndexed;
// ../../work/placement-analysis/lib/utils/schematic-sheets.ts
var getSchematicSheetNamesById = (circuitJson) => {
const map = new Map;
for (const element of circuitJson) {
if (element.type === "schematic_sheet" && element.name) {
map.set(element.schematic_sheet_id, element.name);
}
}
return map;
};
// ../../work/placement-analysis/lib/utils/placements.ts
var isSchematicBox = (el) => el.type === "schematic_box";
var isSchematicComponent = (el) => el.type === "schematic_component";
var getSchematicSheetId = (el) => el.schematic_sheet_id;
var getSourceComponentName = (circuitJson, sourceComponentId) => {
if (!sourceComponentId)
return;
return cju_default(circuitJson).source_component.get(sourceComponentId)?.name;
};
var getSourceComponentMetadata = (schematicBox, circuitJson) => {
if (!schematicBox.schematic_component_id)
return {};
const util3 = cju_default(circuitJson);
const sc = util3.schematic_component.get(schematicBox.schematic_component_id);
if (!sc?.source_component_id)
return {};
const sourceComponent = util3.source_component.get(sc.source_component_id);
return {
sourceComponentId: sc.source_component_id,
sourceComponentName: sourceComponent?.name
};
};
var schematicComponentToPlacement = (schematicComponent, circuitJson, schematicSheetNameById, schematicBox) => {
let schematicSheetId = getSchematicSheetId(schematicComponent);
if (schematicSheetId === undefined && schematicBox) {
schematicSheetId = getSchematicSheetId(schematicBox);
}
let schematicSheetName;
if (schematicSheetId) {
schematicSheetName = schematicSheetNameById.get(schematicSheetId);
}
const placement = {
lineItemType: "SchematicBoxPlacement",
positionAnchor: "center",
schX: schematicComponent.center.x,
schY: schematicComponent.center.y,
width: schematicBox?.width ?? schematicComponent.size.width,
height: schematicBox?.height ?? schematicComponent.size.height,
sourceComponentId: schematicComponent.source_component_id,
sourceComponentName: getSourceComponentName(circuitJson, schematicComponent.source_component_id),
schematicComponentId: schematicComponent.schematic_component_id,
schematicSymbolId: schematicBox?.schematic_symbol_id ?? schematicComponent.schematic_symbol_id,
subcircuitId: schematicComponent.subcircuit_id ?? schematicBox?.subcircuit_id
};
if (schematicSheetId) {
placement.schematicSheetId = schematicSheetId;
}
if (schematicSheetName) {
placement.schematicSheetName = schematicSheetName;
}
return placement;
};
var schematicBoxToPlacement = (schematicBox, circuitJson, schematicSheetNameById) => {
const schematicSheetId = getSchematicSheetId(schematicBox);
let schematicSheetName;
if (schematicSheetId) {
schematicSheetName = schematicSheetNameById.get(schematicSheetId);
}
const placement = {
lineItemType: "SchematicBoxPlacement",
positionAnchor: "center",
schX: schematicBox.x,
schY: schematicBox.y,
width: schematicBox.width,
height: schematicBox.height,
...getSourceComponentMetadata(schematicBox, circuitJson),
schematicComponentId: schematicBox.schematic_component_id,
schematicSymbolId: schematicBox.schematic_symbol_id,
subcircuitId: schematicBox.subcircuit_id
};
if (schematicSheetId) {
placement.schematicSheetId = schematicSheetId;
}
if (schematicSheetName) {
placement.schematicSheetName = schematicSheetName;
}
return placement;
};
var buildSolverContext = (circuitJson) => {
const schematicBoxes = circuitJson.filter(isSchematicBox);
const schematicSheetNameById = getSchematicSheetNamesById(circuitJson);
const schematicComponentIds = new Set(circuitJson.filter(isSchematicComponent).map((sc) => sc.schematic_component_id));
const componentPlacements = [
...circuitJson.filter(isSchematicComponent).map((sc) => schematicComponentToPlacement(sc, circuitJson, schematicSheetNameById, schematicBoxes.find((sb) => sb.schematic_component_id === sc.schematic_component_id))),
...schematicBoxes.filter((sb) => !sb.schematic_component_id || !schematicComponentIds.has(sb.schematic_component_id)).map((sb) => schematicBoxToPlacement(sb, circuitJson, schematicSheetNameById))
];
return { circuitJson, componentPlacements };
};
// ../../work/placement-analysis/lib/solvers/SwitchPullResistorPlacementSolver/SwitchPullResistorPlacementSolver.ts
class SwitchPullResistorPlacementSolver extends BaseSolver {
params;
constructor(params) {
super();
this.params = params;
}
_step() {
const index = new PlacementNetworkIndex(this.params.ctx);
for (const pair of getSwitchPullResistorPairs(index)) {
const { resistor, switchBox, signalPort, signalSchY, pullDirection } = pair;
if (pair.horizontalPushbutton)
continue;
const signal = index.connected(signalPort.source_port_id);
if (index.portsByNet.get(signal)?.length !== 2)
continue;
if (signalPort.needs_external_pullup || signalPort.needs_external_pulldown)
continue;
const wrongSideGap = pullDirection === "up" ? signalSchY - (resistor.schY + resistor.height / 2) : resistor.schY - resistor.height / 2 - signalSchY;
if (wrongSideGap <= 1.5)
continue;
const preferredSide = pullDirection === "up" ? "above" : "below";
this.params.issues.push({
lineItemType: "PullResistorOnWrongSide",
resistorSchematicBox: resistor,
hostSchematicBox: switchBox,
signalSourcePortId: signalPort.source_port_id,
signalPinName: signalPort.name,
signalSchY,
pullDirection,
preferredSide,
wrongSideGap,
maxRecommendedWrongSideGap: 1.5,
message: `place ${resistor.sourceComponentName} ${preferredSide} ${switchBox.sourceComponentName} so the pull-${pullDirection} branch reads toward ${pullDirection === "up" ? "power" : "ground"}`
});
}
this.solved = true;
}
}
// ../../work/placement-analysis/lib/utils/trace-name.ts
function getTraceName(circuitJson, trace) {
const sourceTrace = circuitJson.find((e) => e.type === "source_trace" && e.source_trace_id === trace.source_trace_id);
if (sourceTrace?.type === "source_trace" && sourceTrace.name)
return sourceTrace.name;
const first = trace.edges[0];
const last = trace.edges.at(-1);
const endpointName = (point2, id) => {
const ports = circuitJson.filter((e) => e.type === "schematic_port" && e.schematic_sheet_id === trace.schematic_sheet_id && (id ? e.schematic_port_id === id : Math.hypot(e.center.x - point2.x, e.center.y - point2.y) <= 0.01));
if (ports.length !== 1 || ports[0]?.type !== "schematic_port")
return;
const port = ports[0];
const sourcePort = circuitJson.find((e) => e.type === "source_port" && e.source_port_id === port.source_port_id);
const component = circuitJson.find((e) => e.type === "schematic_component" && e.schematic_component_id === port.schematic_component_id);
const sourceComponentId = sourcePort?.type === "source_port" ? sourcePort.source_component_id : component?.type === "schematic_component" ? component.source_component_id : undefined;
const sourceComponent = circuitJson.find((e) => e.type === "source_component" && e.source_component_id === sourceComponentId);
if (sourceComponent?.type !== "source_component" || !sourceComponent.name)
return;
const pin = sourcePort?.type === "source_port" && sourcePort.name ? sourcePort.name : port.pin_number !== undefined ? `pin${port.pin_number}` : port.display_pin_label;
return pin ? `${sourceComponent.name}.${pin}` : sourceComponent.name;
};
const from = first && endpointName(first.from, first.from_schematic_port_id);
const to = last && endpointName(last.to, last.to_schematic_port_id);
if (from && to)
return `${from} to ${to}`;
return sourceTrace?.type === "source_trace" && sourceTrace.display_name || from || to || "trace";
}
// ../../work/placement-analysis/node_modules/calculate-elbow/lib/calculateElbowBends.ts
var calculateElbowBends = (p1, p2, overshootAmount) => {
const result = [{ x: p1.x, y: p1.y }];
const midX = (p1.x + p2.x) / 2;
const midY = (p1.y + p2.y) / 2;
const p2Target = { x: p2.x, y: p2.y };
switch (p2.facingDirection) {
case "x+":
p2Target.x += overshootAmount;
break;
case "x-":
p2Target.x -= overshootAmount;
break;
case "y+":
p2Target.y += overshootAmount;
break;
case "y-":
p2Target.y -= overshootAmount;
break;
}
const startDir = p1.facingDirection ?? "none";
const endDir = p2.facingDirection ?? "none";
const push = (pt) => {
const last = result[result.length - 1];
if (last.x !== pt.x || last.y !== pt.y)
result.push(pt);
};
const yAligned = Math.abs(p1.y - p2.y) <= Math.max(0.000001, overshootAmount * 0.1);
const xAligned = Math.abs(p1.x - p2.x) <= Math.max(0.000001, overshootAmount * 0.1);
if (startDir === "none" && endDir === "none") {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 1;
push({ x: midX, y: p1.y });
push({ x: midX, y: p2.y });
}
else if (startDir === "x+" && endDir === "y+") {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 2;
if (p1.x > p2.x && p1.y < p2.y) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 2.1;
push({ x: p1.x + overshootAmount, y: p1.y });
push({ x: p1.x + overshootAmount, y: p2.y + overshootAmount });
push({ x: p2.x, y: p2.y + overshootAmount });
}
else if (!xAligned && !yAligned && p1.x < p2.x && p1.y > p2.y) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 2.2;
push({ x: p2.x, y: p1.y });
}
else if (xAligned) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 2.3;
push({ x: p1.x + overshootAmount, y: p1.y });
push({ x: p1.x + overshootAmount, y: p2.y + overshootAmount });
push({ x: p2.x, y: p2.y + overshootAmount });
}
else {
if (p1.x < p2.x) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 2.4;
push({ x: midX, y: p1.y });
push({ x: midX, y: p2Target.y });
push({ x: p2.x, y: p2Target.y });
}
else if (p1.y <= p2.y + overshootAmount) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 2.5;
push({ x: p1.x + overshootAmount, y: p1.y });
push({ x: p1.x + overshootAmount, y: p1.y + overshootAmount });
push({ x: p2.x, y: p1.y + overshootAmount });
push({ x: p2.x, y: p2.y });
}
else {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 2.6;
push({ x: p1.x + overshootAmount, y: p1.y });
push({ x: p1.x + overshootAmount, y: (p1.y + p2.y) / 2 });
push({ x: p2.x, y: (p1.y + p2.y) / 2 });
}
}
}
else if (startDir === "x+" && endDir === "x+" && !yAligned) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 3;
const commonX = Math.max(p1.x + overshootAmount, p2Target.x);
push({ x: commonX, y: p1.y });
push({ x: commonX, y: p2.y });
}
else if (startDir === "x+" && endDir === "x+" && yAligned) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 3.1;
push({ x: p1.x + overshootAmount, y: p1.y });
push({ x: p1.x + overshootAmount, y: p1.y + overshootAmount });
push({ x: p2.x + overshootAmount, y: p1.y + overshootAmount });
push({ x: p2.x + overshootAmount, y: p2.y });
}
else if (startDir === "x+" && endDir === "y-") {
if (xAligned && p1.y <= p2.y) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 4.11;
push({ x: p1.x + overshootAmount, y: p1.y });
push({ x: p1.x + overshootAmount, y: midY });
push({ x: p2.x, y: midY });
}
else if (xAligned && p1.y > p2.y) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 4.12;
push({ x: p1.x + overshootAmount, y: p1.y });
push({ x: p1.x + overshootAmount, y: p2.y - overshootAmount });
push({ x: p2.x, y: p2.y - overshootAmount });
}
else if (p1.x < p2.x && p1.y < p2.y) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 4.2;
push({ x: p2.x, y: p1.y });
}
else {
if (p1.x > p2.x && p1.y < p2.y) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 4.3;
const p1OvershootX = p1.x + overshootAmount;
push({ x: p1OvershootX, y: p1.y });
push({ x: p1OvershootX, y: midY });
push({ x: p2.x, y: midY });
}
else if (p1.x > p2.x && p1.y > p2.y) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 4.4;
const p1OvershootX = p1.x + overshootAmount;
push({ x: p1OvershootX, y: p1.y });
push({ x: p1OvershootX, y: p2Target.y });
push({ x: p2.x, y: p2Target.y });
}
else if (p1.y === p2.y) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 4.5;
push({ x: p1.x + overshootAmount, y: p1.y });
push({ x: p1.x + overshootAmount, y: p1.y - overshootAmount });
push({ x: p2.x, y: p1.y - overshootAmount });
}
else {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 4.6;
push({ x: midX, y: p1.y });
push({ x: midX, y: p2Target.y });
push({ x: p2.x, y: p2Target.y });
}
}
}
else if (startDir === "x+" && endDir === "x-" && p1.x + overshootAmount >= p2.x - overshootAmount && !yAligned) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 5;
const p1OvershootX = p1.x + overshootAmount;
push({ x: p1OvershootX, y: p1.y });
push({ x: p1OvershootX, y: midY });
push({ x: p2Target.x, y: midY });
push({ x: p2Target.x, y: p2Target.y });
}
else if (startDir === "x+" && endDir === "x-" && yAligned && p2.x > p1.x) ;
else if (startDir === "x+" && endDir === "x-" && yAligned) {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 7;
push({ x: p1.x + overshootAmount, y: p1.y });
push({ x: p1.x + overshootAmount, y: p1.y + overshootAmount });
push({ x: p2.x - overshootAmount, y: p1.y + overshootAmount });
push({ x: p2.x - overshootAmount, y: p1.y });
}
else {
globalThis.__DEBUG_CALCULATE_ELBOW_CASE = 8;
if (startDir === "x+") {
push({ x: p1.x + overshootAmount, y: p1.y });
}
push({ x: midX, y: result[result.length - 1].y });
push({ x: midX, y: p2Target.y });
push({ x: p2Target.x, y: p2Target.y });
}
push({ x: p2.x, y: p2.y });
return result;
};
// ../../work/placement-analysis/node_modules/calculate-elbow/lib/index.ts
var calculateElbow = (point1, point2, options = {}) => {
let p1 = point1;
let p2 = point2;
let orderFlipped = false;
if (p1.x > p2.x || p1.x === p2.x && p1.y > p2.y) {
orderFlipped = true;
[p1, p2] = [p2, p1];
}
const mirrorX = p1.facingDirection === "x-";
const mirrorY = p1.facingDirection === "y-";
const mirrorPoint = (pt) => {
const x = mirrorX ? p1.x - (pt.x - p1.x) : pt.x;
const y = mirrorY ? p1.y - (pt.y - p1.y) : pt.y;
let facing = pt.facingDirection;
if (mirrorX) {
if (facing === "x+")
facing = "x-";
else if (facing === "x-")
facing = "x+";
}
if (mirrorY) {
if (facing === "y+")
facing = "y-";
else if (facing === "y-")
facing = "y+";
}
return { x, y, facingDirection: facing };
};
const rotateCW = (pt, centre) => {
const dx = pt.x - centre.x;
const dy = pt.y - centre.y;
const x = centre.x + dy;
const y = centre.y - dx;
let facing = pt.facingDirection;
switch (facing) {
case "x+":
facing = "y-";
break;
case "y-":
facing = "x-";
break;
case "x-":
facing = "y+";
break;
case "y+":
facing = "x+";
break;
}
return { x, y, facingDirection: facing };
};
const rotateCCW = (pt, centre) => {
const dx = pt.x - centre.x;
const dy = pt.y - centre.y;
return { x: centre.x - dy, y: centre.y + dx };
};
const mp1 = mirrorX || mirrorY ? mirrorPoint(p1) : p1;
const mp2 = mirrorX || mirrorY ? mirrorPoint(p2) : p2;
let rp1 = mp1;
let rp2 = mp2;
let rotated = false;
if (mp1.facingDirection === "y+") {
rotated = true;
rp1 = { ...mp1, facingDirection: "x+" };
rp2 = rotateCW(mp2, mp1);
}
const overshootAmount = options?.overshoot ?? 0.1 * Math.max(Math.abs(rp1.x - rp2.x), Math.abs(rp1.y - rp2.y));
let result = calculateElbowBends(rp1, rp2, overshootAmount);
if (rotated) {
result = result.map((pt) => rotateCCW(pt, rp1));
}
if (mirrorX || mirrorY) {
result = result.map(({ x, y }) => ({
x: mirrorX ? p1.x - (x - p1.x) : x,
y: mirrorY ? p1.y - (y - p1.y) : y
}));
}
return orderFlipped ? result.reverse() : result;
};
// ../../work/placement-analysis/lib/utils/schematic-text-geometry.ts
var rectPolygon = (bounds) => [
{ x: bounds.left, y: bounds.bottom },
{ x: bounds.right, y: bounds.bottom },
{ x: bounds.right, y: bounds.top },
{ x: bounds.left, y: bounds.top }
];
var advance = (character) => {
if (/\s/.test(character))
return 0.28;
if (/[ilI.,:;!'|]/.test(character))
return 0.25;
if (/[MW@%]/.test(character))
return 0.9;
if (/[mw]/.test(character))
return 0.8;
if (/[A-Z]/.test(character))
return 0.67;
return 0.56;
};
var widthInEm = (text) => Array.from(text).reduce((width, character) => width + advance(character), 0);
function getSchematicTextPolygons(text) {
const size2 = text.font_size;
if (!Number.isFinite(size2) || size2 <= 0 || !Number.isFinite(text.rotation) || !Number.isFinite(text.position.x) || !Number.isFinite(text.position.y))
return [];
const anchor = text.anchor;
const horizontal = anchor.includes("left") ? 0 : anchor.includes("right") ? 1 : 0.5;
const top = anchor.includes("top") ? 0 : anchor.includes("bottom") ? size2 : size2 / 2;
const radians = -text.rotation * Math.PI / 180;
const cos = Math.cos(radians);
const sin = Math.sin(radians);
return text.text.split(`
`).flatMap((line, index) => {
const visible = line.trim();
if (!visible)
return [];
const leading = line.length - line.trimStart().length;
const left = (widthInEm(line.slice(0, leading)) - widthInEm(line) * horizontal) * size2;
const polygon = rectPolygon({
left,
right: left + widthInEm(visible) * size2,
top: top - index * size2 - size2 * 0.05,
bottom: top - (index + 1) * size2 + size2 * 0.05
});
return [
polygon.map(({ x, y }) => ({
x: text.position.x + x * cos - y * sin,
y: text.position.y + x * sin + y * cos
}))
];
});
}
function polygonsOverlap(a, b) {
for (const polygon of [a, b]) {
for (let i = 0; i < polygon.length; i++) {
const p = polygon[i];
const q = polygon[(i + 1) % polygon.length];
const length2 = Math.hypot(q.x - p.x, q.y - p.y);
if (length2 < 0.000000001)
continue;
const nx = -(q.y - p.y) / length2;
const ny = (q.x - p.x) / length2;
const project = (points) => points.map(({ x, y }) => x * nx + y * ny);
const pa = project(a);
const pb = project(b);
if (Math.min(Math.max(...pa), Math.max(...pb)) - Math.max(Math.min(...pa), Math.min(...pb)) <= 0.000001)
return false;
}
}
return true;
}
function traceSegmentPolygon(from, to) {
const length2 = Math.hypot(to.x - from.x, to.y - from.y);
if (length2 < 0.000000001)
return;
const dx = -(to.y - from.y) / length2 * 0.01;
const dy = (to.x - from.x) / length2 * 0.01;
return [
{ x: from.x + dx, y: from.y + dy },
{ x: to.x + dx, y: to.y + dy },
{ x: to.x - dx, y: to.y - dy },
{ x: from.x - dx, y: from.y - dy }
];
}
function segmentCrossesPolygon(from, to, polygon) {
if (Math.hypot(to.x - from.x, to.y - from.y) < 0.000000001)
return false;
let low = 0;
let high = 1;
for (let i = 0; i < polygon.length; i++) {
const p = polygon[i];
const q = polygon[(i + 1) % polygon.length];
const length2 = Math.hypot(q.x - p.x, q.y - p.y);
if (length2 < 0.000000001)
continue;
const nx = -(q.y - p.y) / length2;
const ny = (q.x - p.x) / length2;
const start = (from.x - p.x) * nx + (from.y - p.y) * ny - 0.000001;
const end = (to.x - p.x) * nx + (to.y - p.y) * ny - 0.000001;
if (start <= 0 && end <= 0)
return false;
if (start <= 0)
low = Math.max(low, -start / (end - start));
if (end <= 0)
high = Math.min(high, -start / (end - start));
if (high <= low)
return false;
}
return high > low;
}
var polygonBounds = (polygons) => {
const points = polygons.flat();
return {
left: Math.min(...points.map((p) => p.x)),
right: Math.max(...points.map((p) => p.x)),
top: Math.max(...points.map((p) => p.y)),
bottom: Math.min(...points.map((p) => p.y))
};
};
// ../../work/placement-analysis/lib/solvers/TraceSimplificationSolver/TraceSimplificationSolver.ts
class TraceSimplificationSolver extends BaseSolver {
static EPSILON = 0.01;
ctx;
out;
constructor({ ctx, issues }) {
super();
this.ctx = ctx;
this.out = issues;
}
_step() {
const ports = this.ctx.circuitJson.filter((element) => element.type === "schematic_port");
const portsById = new Map(ports.map((port) => [port.schematic_port_id, port]));
const placementsByComponentId = new Map(this.ctx.componentPlacements.flatMap((placement) => placement.schematicComponentId ? [[placement.schematicComponentId, placement]] : []));
const emittedMoves = new Set;
for (const trace of this.ctx.circuitJson.filter((element) => element.type === "schematic_trace")) {
const points = this.getTracePoints(trace);
const currentTurnCount = this.countTurns(points);
if (currentTurnCount !== 3)
continue;
const candidates = [
this.getCandidate({
trace,
points,
atStart: true,
currentTurnCount,
ports,
portsById,
placementsByComponentId
}),
this.getCandidate({
trace,
points,
atStart: false,
currentTurnCount,
ports,
portsById,
placementsByComponentId
})
].filter((candidate) => Boolean(candidate));
for (const candidate of [...candidates]) {
if (!candidate.target.sourceComponentName?.startsWith("U"))
continue;
for (const point2 of [points[0], points.at(-1)]) {
const port = this.findPortAtPoint(ports, point2, trace.schematic_sheet_id);
const target = port?.schematic_component_id ? placementsByComponentId.get(port.schematic_component_id) : undefined;
if (!target || !/^[CR]/.test(target.sourceComponentName ?? ""))
continue;
candidates.push({
target,
deltaSchX: -candidate.deltaSchX,
deltaSchY: -candidate.deltaSchY,
currentTurnCount,
suggestedTurnCount: candidate.suggestedTurnCount
});
}
}
const priority = (candidate) => /^[CR]/.test(candidate.target.sourceComponentName ?? "") ? 0 : candidate.target.sourceComponentName?.startsWith("U") ? 2 : 1;
candidates.sort((a, b) => priority(a) - priority(b));
for (const candidate of candidates) {
if (this.wouldOverlapAnotherComponent(candidate))
continue;
if (!this.validateMove(trace, candidate, ports))
continue;
const moveKey = [
candidate.target.schematicComponentId,
candidate.deltaSchX.toFixed(3),
candidate.deltaSchY.toFixed(3)
].join("\x00");
if (emittedMoves.has(moveKey))
break;
emittedMoves.add(moveKey);
this.out.push(this.makeIssue(trace, candidate));
break;
}
}
this.solved = true;
}
getCandidate({ trace, points, atStart, currentTurnCount, ports, portsById, placementsByComponentId }) {
if (points.length < 4)
return;
const terminalIndex = atStart ? 0 : points.length - 1;
const leadIndex = atStart ? 1 : points.length - 2;
const acrossIndex = atStart ? 2 : points.length - 3;
const retainedIndex = atStart ? 3 : points.length - 4;
const terminalPoint = points[terminalIndex];
const leadPoint = points[leadIndex];
const acrossPoint = points[acrossIndex];
const retainedPoint = points[retainedIndex];
const terminalEdge = atStart ? trace.edges[0] : trace.edges.at(-1);
if (!terminalEdge)
return;
const portId = atStart ? terminalEdge.from_schematic_port_id : terminalEdge.to_schematic_port_id;
const port = portId ? portsById.get(portId) : this.findPortAtPoint(ports, terminalPoint, trace.schematic_sheet_id);
if (!port?.schematic_component_id || !port.facing_direction)
return;
const leadAxis = this.getAxis(terminalPoint, leadPoint);
const shiftAxis = this.getAxis(leadPoint, acrossPoint);
const retainedAxis = this.getAxis(acrossPoint, retainedPoint);
const portAxis = port.facing_direction === "left" || port.facing_direction === "right" ? "horizontal" : "vertical";
if (!leadAxis || !shiftAxis || !retainedAxis)
return;
if (leadAxis !== portAxis || shiftAxis === portAxis || retainedAxis !== portAxis) {
return;
}
if (!this.isPointInFacingDirection(terminalPoint, leadPoint, port.facing_direction) || !this.isPointInFacingDirection(acrossPoint, retainedPoint, port.facing_direction)) {
return;
}
const target = placementsByComponentId.get(port.schematic_component_id);
if (!target)
return;
const deltaSchX = acrossPoint.x - leadPoint.x;
const deltaSchY = acrossPoint.y - leadPoint.y;
if (Math.abs(deltaSchX) <= TraceSimplificationSolver.EPSILON && Math.abs(deltaSchY) <= TraceSimplificationSolver.EPSILON) {
return;
}
const movedTerminalPoint = {
x: terminalPoint.x + deltaSchX,
y: terminalPoint.y + deltaSchY
};
const suggestedPoints = atStart ? [movedTerminalPoint, ...points.slice(2)] : [...points.slice(0, -2), movedTerminalPoint];
const suggestedTurnCount = this.countTurns(suggestedPoints);
if (suggestedTurnCount === undefined || suggestedTurnCount !== 1 || suggestedTurnCount >= currentTurnCount) {
return;
}
return {
target,
deltaSchX,
deltaSchY,
currentTurnCount,
suggestedTurnCount
};
}
validateMove(targetTrace, candidate, ports) {
const componentId = candidate.target.schematicComponentId;
const sheetId = candidate.target.schematicSheetId;
const sheetPorts = ports.filter((p) => p.schematic_sheet_id === sheetId);
const movingPorts = sheetPorts.filter((p) => p.schematic_component_id === componentId);
const traces = this.ctx.circuitJson.filter((e) => e.type === "schematic_trace" && e.schematic_sheet_id === sheetId);
const touchesPort = (trace, port) => trace.edges.some((edge) => edge.from_schematic_port_id === port.schematic_port_id || edge.to_schematic_port_id === port.schematic_port_id || this.pointsEqual(edge.from, port.center) || this.pointsEqual(edge.to, port.center));
const affected = traces.filter((trace) => movingPorts.some((port) => touchesPort(trace, port)));
if (!affected.includes(targetTrace))
return false;
if (this.ctx.circuitJson.some((e) => e.type === "schematic_net_label" && e.schematic_sheet_id === sheetId && movingPorts.some((p) => this.pointsEqual(e.anchor_position ?? e.center, p.center))))
return false;
const shift = (point2) => ({
x: point2.x + candidate.deltaSchX,
y: point2.y + candidate.deltaSchY
});
const directions2 = {
left: "x-",
right: "x+",
up: "y+",
down: "y-"
};
const endpoint = (port, moved) => ({
...moved && port.schematic_component_id === componentId ? shift(port.center) : port.center,
facingDirection: directions2[port.facing_direction]
});
const length2 = (points) => points.slice(1).reduce((sum, p, i) => sum + Math.abs(p.x - points[i].x) + Math.abs(p.y - points[i].y), 0);
const segments = (points) => points.slice(1).map((to, i) => ({ from: points[i], to }));
const movedBounds = centeredRect(candidate.target.schX + candidate.deltaSchX, candidate.target.schY + candidate.deltaSchY, candidate.target.width, candidate.target.height);
const unaffected = traces.filter((trace) => !affected.includes(trace));
if (unaffected.some((trace) => trace.edges.some((edge) => segmentCrossesPolygon(edge.from, edge.to, rectPolygon(movedBounds)))))
return false;
const textPolygons = this.ctx.circuitJson.flatMap((e) => {
if (e.type === "schematic_net_label" && e.schematic_sheet_id === sheetId)
return [rectPolygon(getNetLabelBounds(e))];
if (e.type !== "schematic_text" || e.schematic_sheet_id !== sheetId)
return [];
return getSchematicTextPolygons(e.schematic_component_id === componentId ? { ...e, position: shift(e.position) } : e);
});
if (textPolygons.some((polygon) => polygonsOverlap(polygon, rectPolygon(movedBounds))))
return false;
const proposed = [];
for (const trace of affected) {
const oldPoints = this.getTracePoints(trace);
if (oldPoints.length < 2 || trace.junctions?.length)
return false;
const resolve = (point2, id) => {
const matches = sheetPorts.filter((p) => id ? p.schematic_port_id === id : this.pointsEqual(p.center, point2));
return matches.length === 1 && this.pointsEqual(matches[0].center, point2) ? matches[0] : undefined;
};
const start = resolve(oldPoints[0], trace.edges[0].from_schematic_port_id);
const end = resolve(oldPoints.at(-1), trace.edges.at(-1).to_schematic_port_id);
if (!start?.facing_direction || !end?.facing_direction)
return false;
if (movingPorts.some((p) => touchesPort(trace, p) && p !== start && p !== end))
return false;
const isInteriorConnection = (point2) => !this.pointsEqual(point2, start.center) && !this.pointsEqual(point2, end.center) && segments(oldPoints).some(({ from, to }) => Math.abs(Math.hypot(point2.x - from.x, point2.y - from.y) + Math.hypot(point2.x - to.x, point2.y - to.y) - Math.hypot(to.x - from.x, to.y - from.y)) < 0.000001);
if (traces.some((other) => other !== trace && other.edges.some((edge) => isInteriorConnection(edge.from) || isInteriorConnection(edge.to))))
return false;
if (this.ctx.circuitJson.some((e) => e.type === "schematic_net_label" && e.schematic_sheet_id === sheetId && isInteriorConnection(e.anchor_position ?? e.center)))
return false;
const points = calculateElbow(endpoint(start, true), endpoint(end, true)).filter((point2, i, all) => i === 0 || !this.pointsEqual(point2, all[i - 1]));
const turns = this.countTurns(points);
const oldTurns = this.countTurns(oldPoints);
if (points.length < 2 || turns === undefined || oldTurns === undefined || turns > oldTurns || length2(points) > length2(oldPoints) + 0.000001)
return false;
if (!this.isPointInFacingDirection(points[0], points[1], start.facing_direction) || !this.isPointInFacingDirection(points.at(-1), points.at(-2), end.facing_direction))
return false;
if (trace === targetTrace) {
const baselineTurns = this.countTurns(calculateElbow(endpoint(start, false), endpoint(end, false)));
if (turns >= oldTurns || baselineTurns === undefined || turns >= baselineTurns)
return false;
candidate.suggestedTurnCount = turns;
}
for (const segment of segments(points)) {
if (textPolygons.some((polygon2) => segmentCrossesPolygon(segment.from, segment.to, polygon2)))
return false;
if (this.ctx.componentPlacements.some((p) => {
if (p.schematicSheetId !== sheetId)
return false;
const bounds = p.schematicComponentId === componentId ? movedBounds : centeredRect(p.schX, p.schY, p.width, p.height);
return segmentCrossesPolygon(segment.from, segment.to, rectPolygon(bounds));
}))
return false;
const polygon = traceSegmentPolygon(segment.from, segment.to);
if (!polygon)
continue;
const otherSegments = [
...unaffected.flatMap((t) => t.edges),
...proposed.flatMap((t) => segments(t.points))
];
if (otherSegments.some((edge) => {
if ([start, end].some((port) => port.schematic_component_id !== componentId && [segment.from, segment.to].some((p) => this.pointsEqual(p, port.center)) && [edge.from, edge.to].some((p) => this.pointsEqual(p, port.center))) && this.getAxis(segment.from, segment.to) !== this.getAxis(edge.from, edge.to))
return false;
const other = traceSegmentPolygon(edge.from, edge.to);
return other && polygonsOverlap(polygon, other);
}))
return false;
}
proposed.push({ schematicTraceId: trace.schematic_trace_id, points });
}
candidate.suggestedTraces = proposed;
return true;
}
getTracePoints(trace) {
const firstEdge = trace.edges[0];
if (!firstEdge)
return [];
const points = [firstEdge.from];
for (const edge of trace.edges) {
const previousPoint = points.at(-1);
if (!this.pointsEqual(previousPoint, edge.from))
return [];
points.push(edge.to);
}
return points;
}
countTurns(points) {
const axes = [];
for (const [index, point2] of points.slice(1).entries()) {
const previousPoint = points[index];
if (this.pointsEqual(previousPoint, point2))
continue;
const axis = this.getAxis(previousPoint, point2);
if (!axis)
return;
axes.push(axis);
}
return axes.slice(1).filter((axis, index) => axis !== axes[index]).length;
}
pointsEqual(a, b) {
const { EPSILON: EPSILON3 } = TraceSimplificationSolver;
return Math.abs(a.x - b.x) <= EPSILON3 && Math.abs(a.y - b.y) <= EPSILON3;
}
getAxis(a, b) {
const dx = Math.abs(b.x - a.x);
const dy = Math.abs(b.y - a.y);
const { EPSILON: EPSILON3 } = TraceSimplificationSolver;
if (dx <= EPSILON3 && dy > EPSILON3)
return "vertical";
if (dy <= EPSILON3 && dx > EPSILON3)
return "horizontal";
return;
}
isPointInFacingDirection(origin, point2, facingDirection) {
const { EPSILON: EPSILON3 } = TraceSimplificationSolver;
switch (facingDirection) {
case "left":
return point2.x < origin.x - EPSILON3;
case "right":
return point2.x > origin.x + EPSILON3;
case "up":
return point2.y > origin.y + EPSILON3;
case "down":
return point2.y < origin.y - EPSILON3;
}
}
findPortAtPoint(ports, point2, schematicSheetId) {
const { EPSILON: EPSILON3 } = TraceSimplificationSolver;
return ports.find((port) => port.schematic_sheet_id === schematicSheetId && Math.abs(port.center.x - point2.x) <= EPSILON3 && Math.abs(port.center.y - point2.y) <= EPSILON3);
}
wouldOverlapAnotherComponent(candidate) {
const movedBounds = centeredRect(candidate.target.schX + candidate.deltaSchX, candidate.target.schY + candidate.deltaSchY, candidate.target.width, candidate.target.height);
return this.ctx.componentPlacements.some((placement) => {
if (placement === candidate.target)
return false;
if (placement.schematicSheetId !== candidate.target.schematicSheetId) {
return false;
}
return Boolean(rectOverlap(movedBounds, centeredRect(placement.schX, placement.schY, placement.width, placement.height)));
});
}
makeIssue(trace, candidate) {
const targetName = candidate.target.sourceComponentName ?? candidate.target.schematicComponentId ?? "component";
const direction = this.getMoveDirection(candidate.deltaSchX, candidate.deltaSchY);
const distance5 = Math.abs(candidate.deltaSchX || candidate.deltaSchY);
const newSchX = candidate.target.schX + candidate.deltaSchX;
const newSchY = candidate.target.schY + candidate.deltaSchY;
return {
lineItemType: "TraceCanBeSimplifiedByMovingComponent",
schematicTraceId: trace.schematic_trace_id,
traceName: getTraceName(this.ctx.circuitJson, trace),
targetComponent: candidate.target,
deltaSchX: candidate.deltaSchX,
deltaSchY: candidate.deltaSchY,
newSchX,
newSchY,
currentTurnCount: candidate.currentTurnCount,
suggestedTurnCount: candidate.suggestedTurnCount,
suggestedTraces: candidate.suggestedTraces,
message: `move ${targetName} ${direction} by ${fmtNumber(distance5)} (to schX=${fmtNumber(newSchX)}, schY=${fmtNumber(newSchY)}) to reduce this trace from ${candidate.currentTurnCount} turns to ${candidate.suggestedTurnCount}`
};
}
getMoveDirection(deltaSchX, deltaSchY) {
if (Math.abs(deltaSchX) > TraceSimplificationSolver.EPSILON) {
return deltaSchX > 0 ? "right" : "left";
}
return deltaSchY > 0 ? "up" : "down";
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "traceName", issue.traceName);
addAttr(attrs, "targetComponentName", issue.targetComponent.sourceComponentName);
addAttr(attrs, "deltaSchX", issue.deltaSchX, { formatDelta: true });
addAttr(attrs, "deltaSchY", issue.deltaSchY, { formatDelta: true });
addAttr(attrs, "newSchX", issue.newSchX);
addAttr(attrs, "newSchY", issue.newSchY);
addAttr(attrs, "currentTurnCount", issue.currentTurnCount);
addAttr(attrs, "suggestedTurnCount", issue.suggestedTurnCount);
addAttr(attrs, "message", issue.message);
return `<TraceCanBeSimplifiedByMovingComponent ${attrs.join(" ")} />`;
}
}
// ../../work/placement-analysis/lib/solvers/TwoPinComponentOrientationSolver/getPowerOrGroundConnectionIds.ts
function getPowerOrGroundConnectionIds(circuitJson) {
const powerOrGroundIds = new Set;
const idsByConnectivityKey = new Map;
for (const element of circuitJson) {
if (element.type !== "source_net" && element.type !== "source_port")
continue;
const id = element.type === "source_net" ? element.source_net_id : element.source_port_id;
const isPowerOrGround = element.type === "source_net" ? element.is_power || element.is_ground || element.is_positive_voltage_source : element.provides_power || element.requires_power || element.provides_ground || element.requires_ground;
if (isPowerOrGround)
powerOrGroundIds.add(id);
const key = element.subcircuit_connectivity_map_key;
if (key !== undefined) {
const ids = idsByConnectivityKey.get(key) ?? [];
ids.push(id);
idsByConnectivityKey.set(key, ids);
}
}
const sourceConnectivity = getSourcePortConnectivityMapFromCircuitJson(circuitJson);
const networks = findConnectedNetworks([
...Object.values(sourceConnectivity.netMap),
...idsByConnectivityKey.values()
]);
for (const ids of Object.values(networks)) {
if (ids.some((id) => powerOrGroundIds.has(id))) {
for (const id of ids)
powerOrGroundIds.add(id);
}
}
return powerOrGroundIds;
}
// ../../work/placement-analysis/lib/solvers/TwoPinComponentOrientationSolver/TwoPinComponentOrientationSolver.ts
class TwoPinComponentOrientationSolver extends BaseSolver {
static EPSILON = 0.01;
ctx;
out;
powerOrGroundConnectionIds;
constructor({ ctx, issues }) {
super();
this.ctx = ctx;
this.out = issues;
this.powerOrGroundConnectionIds = getPowerOrGroundConnectionIds(ctx.circuitJson);
}
_step() {
const ports = this.ctx.circuitJson.filter((element) => element.type === "schematic_port");
const portsById = new Map(ports.map((port) => [port.schematic_port_id, port]));
const portsByComponentId = new Map;
for (const port of ports) {
if (!port.schematic_component_id)
continue;
const componentPorts = portsByComponentId.get(port.schematic_component_id) ?? [];
componentPorts.push(port);
portsByComponentId.set(port.schematic_component_id, componentPorts);
}
const placementsByComponentId = new Map(this.ctx.componentPlacements.flatMap((placement) => placement.schematicComponentId ? [[placement.schematicComponentId, placement]] : []));
const bestCandidateByComponentId = new Map;
for (const trace of this.ctx.circuitJson.filter((element) => element.type === "schematic_trace")) {
const points = this.getTracePoints(trace);
const currentTurnCount = this.countTurns(points);
if (currentTurnCount === undefined || currentTurnCount < 2)
continue;
const endpoints = this.getTraceEndpoints(trace, points, ports, portsById);
if (!endpoints)
continue;
for (const [targetEndpoint, connectedEndpoint] of [
endpoints,
[endpoints[1], endpoints[0]]
]) {
const candidate = this.getFlipCandidate({
trace,
targetEndpoint,
connectedEndpoint,
currentTurnCount,
portsByComponentId,
placementsByComponentId
});
if (!candidate)
continue;
const componentId = candidate.targetPort.schematic_component_id;
const existing = bestCandidateByComponentId.get(componentId);
if (!existing || this.isBetterCandidate(candidate, existing)) {
bestCandidateByComponentId.set(componentId, candidate);
}
}
}
for (const candidate of bestCandidateByComponentId.values()) {
this.out.push(this.makeIssue(candidate));
}
this.solved = true;
}
getFlipCandidate({ trace, targetEndpoint, connectedEndpoint, currentTurnCount, portsByComponentId, placementsByComponentId }) {
const targetPort = targetEndpoint.port;
const connectedPort = connectedEndpoint.port;
const targetComponentId = targetPort.schematic_component_id;
const connectedComponentId = connectedPort.schematic_component_id;
if (!targetComponentId || !connectedComponentId || targetComponentId === connectedComponentId || targetPort.schematic_sheet_id !== connectedPort.schematic_sheet_id) {
return;
}
const componentPorts = portsByComponentId.get(targetComponentId);
if (componentPorts?.length !== 2)
return;
if (componentPorts.some((port) => port.source_port_id && this.powerOrGroundConnectionIds.has(port.source_port_id))) {
return;
}
const connectedComponentPorts = portsByComponentId.get(connectedComponentId) ?? [];
if (connectedComponentPorts.length <= 2)
return;
const otherPort = componentPorts.find((port) => port.schematic_port_id !== targetPort.schematic_port_id);
if (!otherPort || !this.areOppositePorts(targetPort, otherPort))
return;
const currentFacingDirection = targetPort.facing_direction;
const suggestedFacingDirection = otherPort.facing_direction;
if (!currentFacingDirection || !suggestedFacingDirection)
return;
if (!this.traceLeavesPortInFacingDirection(targetEndpoint))
return;
const connectedPoint = connectedPort.center;
if (this.isPointInFacingDirection(targetPort.center, connectedPoint, currentFacingDirection) || !this.isPointInFacingDirection(otherPort.center, connectedPoint, suggestedFacingDirection) || !connectedPort.facing_direction || !this.isPointInFacingDirection(connectedPoint, otherPort.center, connectedPort.facing_direction)) {
return;
}
const suggestedTurnCount = this.getMinimumTurnCount(otherPort.center, connectedPoint, suggestedFacingDirection);
if (suggestedTurnCount >= currentTurnCount)
return;
const targetPlacement = placementsByComponentId.get(targetComponentId);
const connectedPlacement = placementsByComponentId.get(connectedComponentId);
if (!targetPlacement || !connectedPlacement)
return;
return {
trace,
targetPort,
targetPlacement,
connectedPlacement,
suggestedFacingDirection,
currentTurnCount,
suggestedTurnCount,
traceLength: this.getTraceLength(targetEndpoint.pointsFromEndpoint)
};
}
getTraceEndpoints(trace, points, ports, portsById) {
const firstEdge = trace.edges[0];
const lastEdge = trace.edges.at(-1);
if (!firstEdge || !lastEdge || points.length < 2)
return;
const startPort = firstEdge.from_schematic_port_id ? portsById.get(firstEdge.from_schematic_port_id) : this.findPortAtPoint(ports, points[0], trace.schematic_sheet_id);
const endPort = lastEdge.to_schematic_port_id ? portsById.get(lastEdge.to_schematic_port_id) : this.findPortAtPoint(ports, points.at(-1), trace.schematic_sheet_id);
if (!startPort || !endPort)
return;
return [
{ port: startPort, pointsFromEndpoint: points },
{ port: endPort, pointsFromEndpoint: [...points].reverse() }
];
}
getTracePoints(trace) {
const firstEdge = trace.edges[0];
if (!firstEdge)
return [];
const points = [firstEdge.from];
for (const edge of trace.edges) {
if (!this.pointsEqual(points.at(-1), edge.from))
return [];
points.push(edge.to);
}
return points;
}
countTurns(points) {
const axes = [];
for (const [index, point2] of points.slice(1).entries()) {
const previousPoint = points[index];
if (this.pointsEqual(previousPoint, point2))
continue;
const axis = this.getAxis(previousPoint, point2);
if (!axis)
return;
if (axes.at(-1) !== axis)
axes.push(axis);
}
return Math.max(0, axes.length - 1);
}
traceLeavesPortInFacingDirection(endpoint) {
const nextPoint = endpoint.pointsFromEndpoint.find((point2) => !this.pointsEqual(point2, endpoint.port.center));
return Boolean(nextPoint && endpoint.port.facing_direction && this.isPointInFacingDirection(endpoint.port.center, nextPoint, endpoint.port.facing_direction));
}
areOppositePorts(a, b) {
const horizontal = (a.facing_direction === "left" && b.facing_direction === "right" || a.facing_direction === "right" && b.facing_direction === "left") && Math.abs(a.center.y - b.center.y) <= TwoPinComponentOrientationSolver.EPSILON;
const vertical = (a.facing_direction === "up" && b.facing_direction === "down" || a.facing_direction === "down" && b.facing_direction === "up") && Math.abs(a.center.x - b.center.x) <= TwoPinComponentOrientationSolver.EPSILON;
return horizontal || vertical;
}
getMinimumTurnCount(from, to, facingDirection) {
const alignedWithFacingAxis = facingDirection === "left" || facingDirection === "right" ? Math.abs(from.y - to.y) <= TwoPinComponentOrientationSolver.EPSILON : Math.abs(from.x - to.x) <= TwoPinComponentOrientationSolver.EPSILON;
return alignedWithFacingAxis ? 0 : 1;
}
isPointInFacingDirection(origin, point2, facingDirection) {
const { EPSILON: EPSILON3 } = TwoPinComponentOrientationSolver;
switch (facingDirection) {
case "left":
return point2.x < origin.x - EPSILON3;
case "right":
return point2.x > origin.x + EPSILON3;
case "up":
return point2.y > origin.y + EPSILON3;
case "down":
return point2.y < origin.y - EPSILON3;
}
}
getAxis(a, b) {
const dx = Math.abs(a.x - b.x);
const dy = Math.abs(a.y - b.y);
const { EPSILON: EPSILON3 } = TwoPinComponentOrientationSolver;
if (dx <= EPSILON3 && dy > EPSILON3)
return "vertical";
if (dy <= EPSILON3 && dx > EPSILON3)
return "horizontal";
return;
}
pointsEqual(a, b) {
const { EPSILON: EPSILON3 } = TwoPinComponentOrientationSolver;
return Math.abs(a.x - b.x) <= EPSILON3 && Math.abs(a.y - b.y) <= EPSILON3;
}
findPortAtPoint(ports, point2, schematicSheetId) {
return ports.find((port) => port.schematic_sheet_id === schematicSheetId && this.pointsEqual(port.center, point2));
}
getTraceLength(points) {
return points.slice(1).reduce((length2, point2, index) => {
const previousPoint = points[index];
return length2 + Math.abs(point2.x - previousPoint.x) + Math.abs(point2.y - previousPoint.y);
}, 0);
}
isBetterCandidate(candidate, existing) {
const improvement = candidate.currentTurnCount - candidate.suggestedTurnCount;
const existingImprovement = existing.currentTurnCount - existing.suggestedTurnCount;
return improvement > existingImprovement || improvement === existingImprovement && candidate.traceLength > existing.traceLength;
}
makeIssue(candidate) {
const targetName = candidate.targetPlacement.sourceComponentName ?? candidate.targetPlacement.schematicComponentId ?? "component";
const connectedName = candidate.connectedPlacement.sourceComponentName ?? candidate.connectedPlacement.schematicComponentId ?? "connected component";
const targetPin = candidate.targetPort.pin_number ? `pin${candidate.targetPort.pin_number}` : candidate.targetPort.display_pin_label;
return {
lineItemType: "TwoPinComponentCouldBeFlipped",
schematicTraceId: candidate.trace.schematic_trace_id,
traceName: getTraceName(this.ctx.circuitJson, candidate.trace),
targetComponent: candidate.targetPlacement,
connectedComponent: candidate.connectedPlacement,
targetPin,
currentFacingDirection: candidate.targetPort.facing_direction,
suggestedFacingDirection: candidate.suggestedFacingDirection,
deltaSchRotation: 180,
currentTurnCount: candidate.currentTurnCount,
suggestedTurnCount: candidate.suggestedTurnCount,
message: `rotate ${targetName} by 180° so ${targetPin ?? "its connected pin"} faces ${connectedName} and reduce this trace from ${candidate.currentTurnCount} turns to ${candidate.suggestedTurnCount}`
};
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "traceName", issue.traceName);
addAttr(attrs, "targetComponentName", issue.targetComponent.sourceComponentName);
addAttr(attrs, "connectedComponentName", issue.connectedComponent.sourceComponentName);
addAttr(attrs, "targetPin", issue.targetPin);
addAttr(attrs, "currentFacingDirection", issue.currentFacingDirection);
addAttr(attrs, "suggestedFacingDirection", issue.suggestedFacingDirection);
addAttr(attrs, "deltaSchRotation", issue.deltaSchRotation);
addAttr(attrs, "currentTurnCount", issue.currentTurnCount);
addAttr(attrs, "suggestedTurnCount", issue.suggestedTurnCount);
addAttr(attrs, "message", issue.message);
return `<TwoPinComponentCouldBeFlipped ${attrs.join(" ")} />`;
}
}
// ../../work/placement-analysis/lib/solvers/VerboseNetLabelSolver/VerboseNetLabelSolver.ts
class VerboseNetLabelSolver extends BaseSolver {
params;
VERBOSE_NET_LABEL_MESSAGE = "Create trace with schDisplayLabel";
netLabels;
tokenToInvolvedPin;
schematicSheetNameById;
currentIndex = 0;
seen = new Set;
constructor(params) {
super();
this.params = params;
const { circuitJson } = params.ctx;
this.netLabels = circuitJson.filter((el) => this.isSchematicNetLabel(el));
this.tokenToInvolvedPin = this.buildTokenToInvolvedPinMap(circuitJson);
this.schematicSheetNameById = getSchematicSheetNamesById(circuitJson);
this.solved = this.netLabels.length === 0;
}
_step() {
const label = this.netLabels[this.currentIndex++];
if (!label) {
this.solved = true;
return;
}
this.solved = this.currentIndex >= this.netLabels.length;
const seenKey = `${label.schematic_sheet_id ?? ""}:${label.text}`;
if (!label.text.includes("/") || this.seen.has(seenKey))
return;
this.seen.add(seenKey);
let schematicSheetName;
if (label.schematic_sheet_id) {
schematicSheetName = this.schematicSheetNameById.get(label.schematic_sheet_id);
}
const issue = {
lineItemType: "VerboseSchematicNetLabel",
schematicNetLabelId: label.schematic_net_label_id,
sourceNetId: label.source_net_id,
schematicSheetId: label.schematic_sheet_id,
schematicSheetName,
text: label.text,
involvedPins: this.getInvolvedPins(label.text, this.tokenToInvolvedPin),
schX: label.center.x,
schY: label.center.y,
message: this.VERBOSE_NET_LABEL_MESSAGE
};
this.params.issues.push(issue);
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "message", issue.message);
addAttr(attrs, "text", issue.text);
addAttr(attrs, "involvedPins", issue.involvedPins.join(","));
addAttr(attrs, "schSheetName", issue.schematicSheetName);
addAttr(attrs, "schX", issue.schX);
addAttr(attrs, "schY", issue.schY);
return `<VerboseSchematicNetLabel ${attrs.join(" ")} />`;
}
isSchematicNetLabel(el) {
return el.type === "schematic_net_label";
}
isSourcePort(el) {
return el.type === "source_port";
}
getSourceComponentWithName(el) {
if (el.type !== "source_component" || !("source_component_id" in el) || !("name" in el) || typeof el.source_component_id !== "string" || typeof el.name !== "string")
return null;
return { source_component_id: el.source_component_id, name: el.name };
}
getSourcePortNameCandidates(port) {
return [
port.most_frequently_referenced_by_name,
port.name,
...port.port_hints ?? [],
port.pin_number === undefined ? undefined : String(port.pin_number)
].filter((n) => Boolean(n));
}
getBestSourcePortName(port) {
return port.most_frequently_referenced_by_name ?? port.name ?? (port.pin_number === undefined ? "" : `pin${port.pin_number}`);
}
buildTokenToInvolvedPinMap(circuitJson) {
const sourceComponentById = new Map(circuitJson.flatMap((el) => {
const sc = this.getSourceComponentWithName(el);
return sc ? [sc] : [];
}).map((sc) => [sc.source_component_id, sc]));
const map = new Map;
for (const port of circuitJson.filter((el) => this.isSourcePort(el))) {
if (!port.source_component_id)
continue;
const sc = sourceComponentById.get(port.source_component_id);
if (!sc?.name)
continue;
const involvedPin = `${sc.name}.${this.getBestSourcePortName(port)}`;
for (const name of this.getSourcePortNameCandidates(port)) {
map.set(`${sc.name}_${name}`, involvedPin);
}
}
return map;
}
getInvolvedPins(text, tokenToInvolvedPin) {
const pins = new Set;
for (const token of text.split("/")) {
const pin = tokenToInvolvedPin.get(token);
if (pin)
pins.add(pin);
}
return Array.from(pins);
}
}
// ../../work/placement-analysis/lib/solvers/SchematicTextClearanceSolver/SchematicTextClearanceSolver.ts
class SchematicTextClearanceSolver extends BaseSolver {
params;
texts;
obstacles;
sheetNames;
index = 0;
constructor(params) {
super();
this.params = params;
const { ctx } = params;
this.sheetNames = getSchematicSheetNamesById(ctx.circuitJson);
const customSymbolIds = new Set(ctx.circuitJson.flatMap((element) => element.type === "schematic_component" && element.is_box_with_pins === false && !element.symbol_name ? [element.schematic_component_id] : []));
const seenText = new Set;
this.texts = ctx.circuitJson.flatMap((element) => {
if (element.type !== "schematic_text")
return [];
if (element.schematic_component_id || element.schematic_symbol_id || "source_trace_id" in element && element.source_trace_id)
return [];
const polygons = getSchematicTextPolygons(element);
if (!polygons.length)
return [];
const sheetId = element.schematic_sheet_id;
const fingerprint = JSON.stringify([
sheetId,
element.text,
element.position.x,
element.position.y,
element.font_size,
element.anchor,
element.rotation,
element.color
]);
if (seenText.has(fingerprint))
return [];
seenText.add(fingerprint);
return [
{
text: element,
polygons,
sheetId,
object: {
type: "text",
id: element.schematic_text_id,
text: element.text
}
}
];
});
this.obstacles = [
...ctx.componentPlacements.flatMap((p) => p.schematicComponentId && !customSymbolIds.has(p.schematicComponentId) ? [
{
object: {
type: "component",
id: p.schematicComponentId,
componentName: p.sourceComponentName,
schematicComponentId: p.schematicComponentId
},
polygons: [
rectPolygon(centeredRect(p.schX, p.schY, p.width, p.height))
],
sheetId: p.schematicSheetId
}
] : []),
...ctx.circuitJson.flatMap((element) => element.type === "schematic_trace" ? [
{
object: {
type: "trace",
id: element.schematic_trace_id
},
sheetId: element.schematic_sheet_id,
segments: element.edges,
polygons: element.edges.flatMap((edge) => {
const polygon = traceSegmentPolygon(edge.from, edge.to);
return polygon ? [polygon] : [];
})
}
] : [])
];
this.solved = this.texts.length === 0;
}
_step() {
const text = this.texts[this.index];
const targets = [...this.obstacles, ...this.texts.slice(this.index + 1)];
const collisions = targets.filter((target) => this.collides(text, target));
if (collisions.length) {
const suggestedMove = this.findClearPosition(text);
for (const target of collisions) {
this.params.issues.push({
lineItemType: "SchematicTextCollision",
schematicSheetId: text.sheetId,
schematicSheetName: text.sheetId ? this.sheetNames.get(text.sheetId) : undefined,
schematicTextId: text.text.schematic_text_id,
text: text.text.text,
collidingObject: target.object,
textBounds: polygonBounds(text.polygons),
collidingObjectBounds: polygonBounds(target.polygons),
suggestedMove,
message: `Text "${text.text.text}" overlaps ${target.object.type} ${target.object.componentName ?? target.object.id}; reposition the text to leave its visible area clear.`
});
}
}
this.index++;
this.solved = this.index >= this.texts.length;
}
collides(text, obstacle) {
if (text.sheetId !== obstacle.sheetId)
return false;
return text.polygons.some((a) => obstacle.segments ? obstacle.segments.some((edge) => segmentCrossesPolygon(edge.from, edge.to, a)) : obstacle.polygons.some((b) => polygonsOverlap(a, b)));
}
findClearPosition(text) {
const obstacles = [
...this.obstacles,
...this.texts.filter((t) => t !== text)
];
const step = Math.max(0.1, text.text.font_size / 2);
for (let distance5 = step; distance5 <= Math.max(4, text.text.font_size * 8); distance5 += step) {
for (const [dx, dy] of [
[0, distance5],
[0, -distance5],
[-distance5, 0],
[distance5, 0]
]) {
const newSchX = Math.round((text.text.position.x + dx) * 1000) / 1000;
const newSchY = Math.round((text.text.position.y + dy) * 1000) / 1000;
const moved = {
...text,
polygons: getSchematicTextPolygons({
...text.text,
position: { x: newSchX, y: newSchY }
})
};
if (obstacles.every((obstacle) => !this.collides(moved, obstacle)))
return { newSchX, newSchY };
}
}
return;
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "schematicTextId", issue.schematicTextId);
addAttr(attrs, "text", issue.text);
addAttr(attrs, "collidingObjectType", issue.collidingObject.type);
addAttr(attrs, "collidingObjectId", issue.collidingObject.id);
addAttr(attrs, "newSchX", issue.suggestedMove?.newSchX);
addAttr(attrs, "newSchY", issue.suggestedMove?.newSchY);
addAttr(attrs, "message", issue.message);
return `<SchematicTextCollision ${attrs.join(" ")} />`;
}
}
// ../../work/placement-analysis/lib/solvers/ResetNetworkGroupingSolver/ResetNetworkGroupingSolver.ts
class ResetNetworkGroupingSolver extends BaseSolver {
params;
static MIN_DISTANCE = 6;
networks;
index = 0;
constructor(params) {
super();
this.params = params;
this.networks = this.findNetworks(params.ctx);
this.solved = this.networks.length === 0;
}
_step() {
const network = this.networks[this.index];
const rcMembers = network.members.slice(0, 2);
const threshold = Math.max(ResetNetworkGroupingSolver.MIN_DISTANCE, ...rcMembers.map((p) => 3 * Math.max(p.width, p.height)));
const distances = rcMembers.map((p) => Math.hypot(Math.max(0, Math.abs(p.schX - network.pinPosition.x) - p.width / 2), Math.max(0, Math.abs(p.schY - network.pinPosition.y) - p.height / 2)));
if (distances.some((distance5) => distance5 > threshold)) {
const hostName = network.host.sourceComponentName ?? network.host.schematicComponentId;
const resetPin = resetPinName(network.pin);
const memberNames = rcMembers.map((p) => p.sourceComponentName ?? p.schematicComponentId).join(", ");
this.params.issues.push({
lineItemType: "ResetNetworkNotGrouped",
hostSchematicBox: network.host,
resetSourcePortId: network.pin.source_port_id,
resetPinName: resetPin,
supportNetworkComponents: network.members,
maxDistanceFromResetPin: Math.round(Math.max(...distances) * 100) / 100,
maxRecommendedDistance: threshold,
message: `Group ${memberNames} near ${hostName}.${resetPin} so the reset pull-up and capacitor can be read together. Preserve all net connections; associated test points may remain in a debug area.`
});
}
this.index++;
this.solved = this.index >= this.networks.length;
}
findNetworks(ctx) {
const root = getSourceConnectivity(ctx.circuitJson);
const sources = ctx.circuitJson.filter((e) => e.type === "source_component");
const sourceById = new Map(sources.map((e) => [e.source_component_id, e]));
const ports = ctx.circuitJson.filter((e) => e.type === "source_port");
const portsByComponent = new Map;
const portsByNet = new Map;
const power = new Set;
const ground = new Set;
for (const port of ports) {
if (!port.source_component_id)
continue;
const componentPorts = portsByComponent.get(port.source_component_id) ?? [];
componentPorts.push(port);
portsByComponent.set(port.source_component_id, componentPorts);
const net = root(port.source_port_id);
const netPorts = portsByNet.get(net) ?? [];
netPorts.push(port);
portsByNet.set(net, netPorts);
if (port.provides_power || port.requires_power)
power.add(net);
if (port.provides_ground || port.requires_ground)
ground.add(net);
}
for (const element of ctx.circuitJson) {
if (element.type !== "source_net")
continue;
if (element.is_power || element.is_positive_voltage_source)
power.add(root(element.source_net_id));
if (element.is_ground)
ground.add(root(element.source_net_id));
}
const placementBySource = new Map(ctx.componentPlacements.flatMap((p) => p.sourceComponentId ? [[p.sourceComponentId, p]] : []));
const schematicPorts = ctx.circuitJson.filter((e) => e.type === "schematic_port");
const schematicComponents = new Map(ctx.circuitJson.filter((e) => e.type === "schematic_component").map((e) => [e.schematic_component_id, e]));
const networks = [];
const seen = new Set;
for (const pin of ports) {
if (!pin.source_component_id || !resetPinName(pin) || pin.do_not_connect)
continue;
if (sourceById.get(pin.source_component_id)?.ftype !== "simple_chip")
continue;
const net = root(pin.source_port_id);
if (seen.has(net) || power.has(net) || ground.has(net))
continue;
seen.add(net);
const peers = portsByNet.get(net) ?? [];
const chips = new Set(peers.filter((p) => p.source_component_id && sourceById.get(p.source_component_id)?.ftype === "simple_chip").map((p) => p.source_component_id));
if (chips.size !== 1)
continue;
const host = placementBySource.get(pin.source_component_id);
const schematicPin = schematicPorts.find((p) => p.source_port_id === pin.source_port_id && p.schematic_component_id === host?.schematicComponentId);
if (!host || !schematicPin || schematicPin.schematic_sheet_id !== host.schematicSheetId)
continue;
const pullups = [];
const capacitors = [];
const testpoints = [];
let unsupported = false;
for (const id of new Set(peers.map((p) => p.source_component_id))) {
if (!id || id === pin.source_component_id)
continue;
const type = sourceById.get(id)?.ftype;
const componentPorts = portsByComponent.get(id) ?? [];
const placement = placementBySource.get(id);
if (type === "simple_connector" || type === "simple_pin_header")
continue;
if (!placement) {
unsupported = true;
break;
}
if (type === "simple_test_point" && componentPorts.length === 1) {
testpoints.push(placement);
continue;
}
if (componentPorts.length !== 2) {
unsupported = true;
break;
}
const other = componentPorts.find((p) => root(p.source_port_id) !== net);
if (!other) {
unsupported = true;
break;
}
const otherNet = root(other.source_port_id);
if (type === "simple_resistor" && power.has(otherNet) && !ground.has(otherNet))
pullups.push(placement);
else if (type === "simple_capacitor" && ground.has(otherNet) && !power.has(otherNet))
capacitors.push(placement);
else {
unsupported = true;
break;
}
}
if (unsupported || pullups.length !== 1 || capacitors.length !== 1)
continue;
const members = [...pullups, ...capacitors, ...testpoints];
const hostGroup = host.schematicComponentId ? schematicComponents.get(host.schematicComponentId)?.schematic_group_id : undefined;
if (members.some((member) => {
const group = member.schematicComponentId ? schematicComponents.get(member.schematicComponentId)?.schematic_group_id : undefined;
return member.schematicSheetId !== host.schematicSheetId || member.subcircuitId !== host.subcircuitId || group !== hostGroup;
}))
continue;
networks.push({ host, pin, pinPosition: schematicPin.center, members });
}
return networks;
}
static issueToString(issue) {
const attrs = [];
addAttr(attrs, "hostComponentName", issue.hostSchematicBox.sourceComponentName);
addAttr(attrs, "resetPin", issue.resetPinName);
addAttr(attrs, "supportNetworkComponents", issue.supportNetworkComponents.map((p) => p.sourceComponentName ?? p.schematicComponentId).join(","));
addAttr(attrs, "maxDistanceFromResetPin", issue.maxDistanceFromResetPin);
addAttr(attrs, "maxRecommendedDistance", issue.maxRecommendedDistance);
addAttr(attrs, "message", issue.message);
return `<ResetNetworkNotGrouped ${attrs.join(" ")} />`;
}
}
var resetPinName = (port) => [port.name, ...port.port_hints ?? []].find((name) => /^N?(RESET|RST)(N|B)?$/.test(name.toUpperCase().replace(/[_\-!~#/]/g, "")));
// ../../work/placement-analysis/lib/solvers/SchematicPlacementPipeline/SchematicPlacementPipeline.ts
var solversByIssueType = {
CapacitorSeparatedFromChipPins: [ChipPinPairCapacitorPlacementSolver],
PiFilterComponentsNotGrouped: [PiFilterPlacementSolver],
MosfetGateNetworkNotGrouped: [MosfetGateNetworkPlacementSolver],
FlybackDiodeSeparatedFromRelayCoil: [RelayFlybackDiodePlacementSolver],
ComponentOverlap: [SchematicBoxOverlapSolver],
SchematicBoxHasALotOfSurroundingWhitespace: [],
CapacitorSymbolHorizontal: [
CapacitorOrientationSolver,
TwoPinComponentRailOrientationSolver
],
VerboseSchematicNetLabel: [VerboseNetLabelSolver],
PinHeaderSchematicBoxTooWide: [SchematicBoxTooWideSolver],
GenericSchematicBoxTooWide: [SchematicBoxTooWideSolver],
SchematicBoxInnerLabelCollision: [SchematicBoxInnerLabelCollisionSolver],
SchematicPinPaddingToEdgeTooLarge: [SchematicPinPaddingToEdgeSolver],
DiodeResistorNotAligned: [DiodeResistorAlignmentSolver],
ComponentPinsWouldAlignWithVerticalShift: [ComponentPinAlignmentSolver],
TraceCanBeSimplifiedByMovingComponent: [TraceSimplificationSolver],
FourPinCrystalPatternMismatch: [FourPinCrystalPatternSolver],
CrystalNotCenteredOverLoadCapacitors: [CrystalLoadCapacitorPlacementSolver],
ComponentNetLabelCollision: [ComponentNetLabelCollisionSolver],
ComponentBoxNetLabelCollision: [ComponentNetLabelCollisionSolver],
NetLabelCollision: [ComponentNetLabelCollisionSolver],
FeedbackNetworkNotCompact: [FeedbackNetworkPlacementSolver],
PullResistorOnWrongSide: [
PullResistorPlacementSolver,
SwitchPullResistorPlacementSolver
],
SchematicTextCollision: [SchematicTextClearanceSolver],
ResetNetworkNotGrouped: [ResetNetworkGroupingSolver],
TwoPinComponentCouldBeFlipped: [TwoPinComponentOrientationSolver],
TwoPinComponentShouldBeVertical: [TwoPinComponentRailOrientationSolver],
TwoPinComponentHasInvertedRails: [TwoPinComponentRailOrientationSolver],
DecouplingCapacitorsNotCloseTogether: [DecouplingCapacitorGroupingSolver],
ConnectorPositionCausesTraceDetours: [ConnectorPlacementSolver],
LowSideTransistorNotAlignedWithLoad: [LowSideTransistorPlacementSolver],
UsbSeriesResistorsNotAligned: [UsbSeriesResistorPlacementSolver],
CurrentSenseShuntSeparatedFromInputs: [CurrentSenseShuntPlacementSolver],
VoltageDividerSupplyResistorBelowGroundResistor: [
VoltageDividerPlacementSolver
],
RegulatorCapacitorsOnWrongSides: [
RegulatorInputOutputCapacitorPlacementSolver
]
};
class SchematicPlacementPipeline extends BasePipelineSolver {
ctx;
issues = [];
pipelineDef = [
definePipelineStep("SchematicTextClearanceSolver", SchematicTextClearanceSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("ResetNetworkGroupingSolver", ResetNetworkGroupingSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("SchematicBoxOverlapSolver", SchematicBoxOverlapSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("CapacitorOrientationSolver", CapacitorOrientationSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("VerboseNetLabelSolver", VerboseNetLabelSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("SchematicBoxTooWideSolver", SchematicBoxTooWideSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("SchematicPinPaddingToEdgeSolver", SchematicPinPaddingToEdgeSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("SchematicBoxInnerLabelCollisionSolver", SchematicBoxInnerLabelCollisionSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("DiodeResistorAlignmentSolver", DiodeResistorAlignmentSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("ComponentPinAlignmentSolver", ComponentPinAlignmentSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("TraceSimplificationSolver", TraceSimplificationSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("FourPinCrystalPatternSolver", FourPinCrystalPatternSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("CrystalLoadCapacitorPlacementSolver", CrystalLoadCapacitorPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("TwoPinComponentOrientationSolver", TwoPinComponentOrientationSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("FeedbackNetworkPlacementSolver", FeedbackNetworkPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("TwoPinComponentRailOrientationSolver", TwoPinComponentRailOrientationSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("PullResistorPlacementSolver", PullResistorPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("SwitchPullResistorPlacementSolver", SwitchPullResistorPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("ComponentNetLabelCollisionSolver", ComponentNetLabelCollisionSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("DecouplingCapacitorGroupingSolver", DecouplingCapacitorGroupingSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("ConnectorPlacementSolver", ConnectorPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("LowSideTransistorPlacementSolver", LowSideTransistorPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("UsbSeriesResistorPlacementSolver", UsbSeriesResistorPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("RegulatorInputOutputCapacitorPlacementSolver", RegulatorInputOutputCapacitorPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("VoltageDividerPlacementSolver", VoltageDividerPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("CurrentSenseShuntPlacementSolver", CurrentSenseShuntPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("RelayFlybackDiodePlacementSolver", RelayFlybackDiodePlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("PiFilterPlacementSolver", PiFilterPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("MosfetGateNetworkPlacementSolver", MosfetGateNetworkPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
]),
definePipelineStep("ChipPinPairCapacitorPlacementSolver", ChipPinPairCapacitorPlacementSolver, (p) => [
{ ctx: p.ctx, issues: p.issues }
])
];
selectedIssueTypes;
constructor(circuitJson, options = {}) {
super(circuitJson);
if (options.issueTypes !== undefined) {
this.selectedIssueTypes = new Set(options.issueTypes);
const selectedSolvers = new Set(options.issueTypes.flatMap((type) => solversByIssueType[type]));
this.pipelineDef = this.pipelineDef.filter((step) => selectedSolvers.has(step.solverClass));
}
}
_setup() {
this.ctx = buildSolverContext(this.inputProblem);
}
getOutput() {
const railOrientationComponentIds = new Set(this.issues.flatMap((issue) => issue.lineItemType === "TwoPinComponentShouldBeVertical" && issue.schematicBox.schematicComponentId ? [issue.schematicBox.schematicComponentId] : []));
return {
issues: this.issues.filter((issue) => issue.lineItemType !== "CapacitorSymbolHorizontal" || !railOrientationComponentIds.has(issue.schematicBox.schematicComponentId ?? "")).filter((issue) => this.selectedIssueTypes === undefined || this.selectedIssueTypes.has(issue.lineItemType)),
componentPlacements: this.ctx.componentPlacements
};
}
}
// ../../work/placement-analysis/lib/utils/issue-context.ts
var POSITION_EPSILON = 0.01;
var getRelevantPlacementsForIssues = ({ issues, componentPlacements, circuitJson }) => {
const relevantPlacements = new Set;
const placementByComponentId = new Map(componentPlacements.flatMap((placement) => placement.schematicComponentId ? [[placement.schematicComponentId, placement]] : []));
const placementsByName = new Map;
for (const placement of componentPlacements) {
if (!placement.sourceComponentName)
continue;
const namedPlacements = placementsByName.get(placement.sourceComponentName);
if (namedPlacements)
namedPlacements.push(placement);
else
placementsByName.set(placement.sourceComponentName, [placement]);
}
const addPlacement = (placement) => {
if (!placement)
return;
const canonicalPlacement = placement.schematicComponentId ? placementByComponentId.get(placement.schematicComponentId) : componentPlacements.find((candidate) => candidate.sourceComponentId === placement.sourceComponentId && candidate.schX === placement.schX && candidate.schY === placement.schY);
if (canonicalPlacement)
relevantPlacements.add(canonicalPlacement);
};
const addComponentName = (componentName, schematicSheetId) => {
if (!componentName)
return;
for (const placement of placementsByName.get(componentName) ?? []) {
if (schematicSheetId === undefined || placement.schematicSheetId === schematicSheetId) {
relevantPlacements.add(placement);
}
}
};
for (const issue of issues) {
switch (issue.lineItemType) {
case "CapacitorSeparatedFromChipPins":
addPlacement(issue.hostSchematicBox);
addPlacement(issue.capacitorSchematicBox);
break;
case "PiFilterComponentsNotGrouped":
addPlacement(issue.inductorSchematicBox);
addPlacement(issue.firstCapacitorSchematicBox);
addPlacement(issue.secondCapacitorSchematicBox);
break;
case "MosfetGateNetworkNotGrouped":
addPlacement(issue.mosfetSchematicBox);
addPlacement(issue.seriesGateResistorSchematicBox);
addPlacement(issue.gateSourceResistorSchematicBox);
break;
case "FlybackDiodeSeparatedFromRelayCoil":
addPlacement(issue.relaySchematicBox);
addPlacement(issue.diodeSchematicBox);
break;
case "CurrentSenseShuntSeparatedFromInputs":
addPlacement(issue.amplifierSchematicBox);
addPlacement(issue.shuntSchematicBox);
break;
case "VoltageDividerSupplyResistorBelowGroundResistor":
addPlacement(issue.supplyResistorSchematicBox);
addPlacement(issue.groundResistorSchematicBox);
break;
case "RegulatorCapacitorsOnWrongSides":
addPlacement(issue.regulatorSchematicBox);
addPlacement(issue.inputCapacitorSchematicBox);
addPlacement(issue.outputCapacitorSchematicBox);
break;
case "UsbSeriesResistorsNotAligned":
addPlacement(issue.positiveResistorSchematicBox);
addPlacement(issue.negativeResistorSchematicBox);
break;
case "LowSideTransistorNotAlignedWithLoad":
addPlacement(issue.transistorSchematicBox);
addPlacement(issue.loadSchematicBox);
addPlacement(issue.baseResistorSchematicBox);
addPlacement(issue.clampDiodeSchematicBox);
break;
case "DecouplingCapacitorsNotCloseTogether":
for (const placement of issue.capacitorSchematicBoxes)
addPlacement(placement);
break;
case "ConnectorPositionCausesTraceDetours":
addPlacement(issue.connectorSchematicBox);
for (const placement of issue.connectedComponents)
addPlacement(placement);
break;
case "ResetNetworkNotGrouped":
addPlacement(issue.hostSchematicBox);
for (const placement of issue.supportNetworkComponents)
addPlacement(placement);
break;
case "SchematicTextCollision":
if (issue.collidingObject.schematicComponentId)
addPlacement(placementByComponentId.get(issue.collidingObject.schematicComponentId));
if (issue.collidingObject.type === "trace") {
for (const placement of getTraceEndpointPlacements({
schematicTraceId: issue.collidingObject.id,
circuitJson,
placementByComponentId
}))
addPlacement(placement);
}
break;
case "ComponentOverlap":
addPlacement(issue.firstComponent);
addPlacement(issue.secondComponent);
break;
case "SchematicBoxHasALotOfSurroundingWhitespace":
case "CapacitorSymbolHorizontal":
case "PinHeaderSchematicBoxTooWide":
case "GenericSchematicBoxTooWide":
case "SchematicBoxInnerLabelCollision":
case "SchematicPinPaddingToEdgeTooLarge":
addPlacement(issue.schematicBox);
break;
case "VerboseSchematicNetLabel":
for (const pin of issue.involvedPins) {
addComponentName(getComponentNameFromPin(pin), issue.schematicSheetId);
}
break;
case "DiodeResistorNotAligned":
addPlacement(issue.diodeSchematicBox);
addPlacement(issue.resistorSchematicBox);
break;
case "ComponentPinsWouldAlignWithVerticalShift":
addPlacement(issue.firstComponent);
addPlacement(issue.secondComponent);
addPlacement(issue.targetComponent);
break;
case "TraceCanBeSimplifiedByMovingComponent":
addPlacement(issue.targetComponent);
for (const placement of getTraceEndpointPlacements({
schematicTraceId: issue.schematicTraceId,
circuitJson,
placementByComponentId
})) {
relevantPlacements.add(placement);
}
break;
case "FourPinCrystalPatternMismatch":
for (const target of issue.suggestedPlacements)
addPlacement(target.schematicBox);
break;
case "CrystalNotCenteredOverLoadCapacitors":
addPlacement(issue.crystalSchematicBox);
addPlacement(issue.firstLoadCapacitorSchematicBox);
addPlacement(issue.secondLoadCapacitorSchematicBox);
break;
case "TwoPinComponentCouldBeFlipped":
addPlacement(issue.targetComponent);
addPlacement(issue.connectedComponent);
break;
case "FeedbackNetworkNotCompact":
addPlacement(issue.amplifierSchematicBox);
for (const component of issue.feedbackComponents)
addPlacement(component);
break;
case "TwoPinComponentShouldBeVertical":
case "TwoPinComponentHasInvertedRails":
addPlacement(issue.schematicBox);
break;
case "PullResistorOnWrongSide":
addPlacement(issue.resistorSchematicBox);
addPlacement(issue.hostSchematicBox);
break;
case "ComponentNetLabelCollision":
addPlacement(issue.firstComponent);
addPlacement(issue.secondComponent);
break;
case "ComponentBoxNetLabelCollision":
addPlacement(issue.boxComponent);
addPlacement(issue.labelComponent);
break;
case "NetLabelCollision":
for (const pair of issue.pairs) {
addComponentName(pair.comp1Name, issue.schematicSheetId);
addComponentName(pair.comp2Name, issue.schematicSheetId);
}
for (const move of issue.moves) {
addComponentName(move.componentName, issue.schematicSheetId);
}
break;
}
}
return componentPlacements.filter((placement) => relevantPlacements.has(placement));
};
var getIssueSchematicSheetContext = (issue) => {
if ("schematicSheetId" in issue || "schematicSheetName" in issue) {
const schematicSheetId = "schematicSheetId" in issue && typeof issue.schematicSheetId === "string" ? issue.schematicSheetId : undefined;
const schematicSheetName = "schematicSheetName" in issue && typeof issue.schematicSheetName === "string" ? issue.schematicSheetName : undefined;
if (schematicSheetId || schematicSheetName) {
return { schematicSheetId, schematicSheetName };
}
}
for (const value of Object.values(issue).flat()) {
if (isSchematicBoxPlacement(value)) {
return {
schematicSheetId: value.schematicSheetId,
schematicSheetName: value.schematicSheetName
};
}
}
return {};
};
var getComponentNameFromPin = (pin) => {
const separatorIndex = pin.lastIndexOf(".");
return separatorIndex === -1 ? pin : pin.slice(0, separatorIndex);
};
var isSchematicBoxPlacement = (value) => Boolean(value && typeof value === "object" && "positionAnchor" in value && value.positionAnchor === "center" && "schX" in value && "schY" in value && "width" in value && "height" in value);
var getTraceEndpointPlacements = ({ schematicTraceId, circuitJson, placementByComponentId }) => {
const trace = circuitJson.find((element) => element.type === "schematic_trace" && element.schematic_trace_id === schematicTraceId);
const firstEdge = trace?.edges[0];
const lastEdge = trace?.edges.at(-1);
if (!trace || !firstEdge || !lastEdge)
return [];
const ports = circuitJson.filter((element) => element.type === "schematic_port");
const portsById = new Map(ports.map((port) => [port.schematic_port_id, port]));
const endpointPorts = [
firstEdge.from_schematic_port_id ? portsById.get(firstEdge.from_schematic_port_id) : findPortAtPoint(ports, firstEdge.from, trace.schematic_sheet_id),
lastEdge.to_schematic_port_id ? portsById.get(lastEdge.to_schematic_port_id) : findPortAtPoint(ports, lastEdge.to, trace.schematic_sheet_id)
];
return endpointPorts.flatMap((port) => {
const placement = port?.schematic_component_id ? placementByComponentId.get(port.schematic_component_id) : undefined;
return placement ? [placement] : [];
});
};
var findPortAtPoint = (ports, point2, schematicSheetId) => ports.find((port) => port.schematic_sheet_id === schematicSheetId && Math.abs(port.center.x - point2.x) <= POSITION_EPSILON && Math.abs(port.center.y - point2.y) <= POSITION_EPSILON);
// ../../work/placement-analysis/lib/analyze-schematic-placement.ts
class SchematicPlacementAnalysis {
lineItems;
groupBySchematicSheet;
constructor(lineItems, groupBySchematicSheet = false) {
this.lineItems = lineItems;
this.groupBySchematicSheet = groupBySchematicSheet;
}
getLineItems() {
return this.lineItems;
}
getIssues(filter = {}) {
return this.lineItems.flatMap((item) => item.lineItemType === "SchematicPlacementIssues" ? item.issues : []).filter((issue) => (filter.issueTypes === undefined || filter.issueTypes.includes(issue.lineItemType)) && (filter.schematicSheetId === undefined || (getIssueSchematicSheetContext(issue).schematicSheetId ?? "") === filter.schematicSheetId));
}
getIssueCounts(filter = {}) {
const counts = {
FlybackDiodeSeparatedFromRelayCoil: 0,
ComponentOverlap: 0,
SchematicBoxHasALotOfSurroundingWhitespace: 0,
CapacitorSymbolHorizontal: 0,
VerboseSchematicNetLabel: 0,
PinHeaderSchematicBoxTooWide: 0,
GenericSchematicBoxTooWide: 0,
SchematicBoxInnerLabelCollision: 0,
SchematicPinPaddingToEdgeTooLarge: 0,
DiodeResistorNotAligned: 0,
ComponentPinsWouldAlignWithVerticalShift: 0,
TraceCanBeSimplifiedByMovingComponent: 0,
FourPinCrystalPatternMismatch: 0,
CrystalNotCenteredOverLoadCapacitors: 0,
ComponentNetLabelCollision: 0,
ComponentBoxNetLabelCollision: 0,
NetLabelCollision: 0,
FeedbackNetworkNotCompact: 0,
PullResistorOnWrongSide: 0,
SchematicTextCollision: 0,
ResetNetworkNotGrouped: 0,
TwoPinComponentCouldBeFlipped: 0,
TwoPinComponentShouldBeVertical: 0,
TwoPinComponentHasInvertedRails: 0,
DecouplingCapacitorsNotCloseTogether: 0,
ConnectorPositionCausesTraceDetours: 0,
LowSideTransistorNotAlignedWithLoad: 0,
UsbSeriesResistorsNotAligned: 0,
RegulatorCapacitorsOnWrongSides: 0,
VoltageDividerSupplyResistorBelowGroundResistor: 0,
CurrentSenseShuntSeparatedFromInputs: 0,
PiFilterComponentsNotGrouped: 0,
MosfetGateNetworkNotGrouped: 0,
CapacitorSeparatedFromChipPins: 0
};
for (const issue of this.getIssues(filter))
counts[issue.lineItemType]++;
return counts;
}
getString() {
return this.toString();
}
schematicBoxPlacementsToString(lineItem) {
const attrs = [];
addAttr(attrs, "componentName", lineItem.sourceComponentName);
addAttr(attrs, "positionAnchor", lineItem.positionAnchor);
addAttr(attrs, "schX", lineItem.schX);
addAttr(attrs, "schY", lineItem.schY);
addAttr(attrs, "width", lineItem.width);
addAttr(attrs, "height", lineItem.height);
return `<SchematicBoxPlacement ${attrs.join(" ")} />`;
}
schematicIssuesToString(issue) {
switch (issue.lineItemType) {
case "CapacitorSeparatedFromChipPins":
return ChipPinPairCapacitorPlacementSolver.issueToString(issue);
case "PiFilterComponentsNotGrouped":
return PiFilterPlacementSolver.issueToString(issue);
case "MosfetGateNetworkNotGrouped":
return MosfetGateNetworkPlacementSolver.issueToString(issue);
case "CurrentSenseShuntSeparatedFromInputs":
return CurrentSenseShuntPlacementSolver.issueToString(issue);
case "ComponentOverlap":
return SchematicBoxOverlapSolver.issueToString(issue);
case "CapacitorSymbolHorizontal":
return CapacitorOrientationSolver.issueToString(issue);
case "DecouplingCapacitorsNotCloseTogether":
return DecouplingCapacitorGroupingSolver.issueToString(issue);
case "VerboseSchematicNetLabel":
return VerboseNetLabelSolver.issueToString(issue);
case "PinHeaderSchematicBoxTooWide":
case "GenericSchematicBoxTooWide":
return SchematicBoxTooWideSolver.issueToString(issue);
case "SchematicBoxInnerLabelCollision":
return SchematicBoxInnerLabelCollisionSolver.issueToString(issue);
case "SchematicPinPaddingToEdgeTooLarge":
return SchematicPinPaddingToEdgeSolver.issueToString(issue);
case "DiodeResistorNotAligned":
return DiodeResistorAlignmentSolver.issueToString(issue);
case "ComponentPinsWouldAlignWithVerticalShift":
return ComponentPinAlignmentSolver.issueToString(issue);
case "TraceCanBeSimplifiedByMovingComponent":
return TraceSimplificationSolver.issueToString(issue);
case "FourPinCrystalPatternMismatch":
return FourPinCrystalPatternSolver.issueToString(issue);
case "CrystalNotCenteredOverLoadCapacitors":
return CrystalLoadCapacitorPlacementSolver.issueToString(issue);
case "TwoPinComponentCouldBeFlipped":
return TwoPinComponentOrientationSolver.issueToString(issue);
case "FeedbackNetworkNotCompact":
return FeedbackNetworkPlacementSolver.issueToString(issue);
case "TwoPinComponentShouldBeVertical":
case "TwoPinComponentHasInvertedRails":
return TwoPinComponentRailOrientationSolver.issueToString(issue);
case "PullResistorOnWrongSide":
return PullResistorPlacementSolver.issueToString(issue);
case "NetLabelCollision":
return ComponentNetLabelCollisionSolver.netLabelCollisionToString(issue);
case "SchematicTextCollision":
return SchematicTextClearanceSolver.issueToString(issue);
case "ResetNetworkNotGrouped":
return ResetNetworkGroupingSolver.issueToString(issue);
case "ConnectorPositionCausesTraceDetours":
return ConnectorPlacementSolver.issueToString(issue);
case "LowSideTransistorNotAlignedWithLoad":
return LowSideTransistorPlacementSolver.issueToString(issue);
case "FlybackDiodeSeparatedFromRelayCoil":
return RelayFlybackDiodePlacementSolver.issueToString(issue);
case "VoltageDividerSupplyResistorBelowGroundResistor":
return VoltageDividerPlacementSolver.issueToString(issue);
case "RegulatorCapacitorsOnWrongSides":
return RegulatorInputOutputCapacitorPlacementSolver.issueToString(issue);
case "UsbSeriesResistorsNotAligned":
return UsbSeriesResistorPlacementSolver.issueToString(issue);
default:
return "";
}
}
toString() {
const schematicBoxPlacements = this.lineItems.filter((lineItem) => lineItem.lineItemType === "SchematicBoxPlacement");
const issues = this.lineItems.flatMap((lineItem) => lineItem.lineItemType === "SchematicPlacementIssues" ? lineItem.issues : []);
if (issues.length === 0)
return "";
if (!this.groupBySchematicSheet) {
return this.issueContextToLines(schematicBoxPlacements, issues).join(`
`);
}
const groups = new Map;
const getOrCreateGroup = (context) => {
const key = context.schematicSheetId ?? context.schematicSheetName ?? "__default__";
const existingGroup = groups.get(key);
if (existingGroup)
return existingGroup;
const group = { ...context, placements: [], issues: [] };
groups.set(key, group);
return group;
};
for (const issue of issues) {
getOrCreateGroup(getIssueSchematicSheetContext(issue)).issues.push(issue);
}
for (const placement of schematicBoxPlacements) {
getOrCreateGroup({
schematicSheetId: placement.schematicSheetId,
schematicSheetName: placement.schematicSheetName
}).placements.push(placement);
}
return [...groups.values()].flatMap((group) => {
const sheetAttrs = [];
addAttr(sheetAttrs, "name", group.schematicSheetName);
addAttr(sheetAttrs, "id", group.schematicSheetId);
return [
`<SchematicSheet${sheetAttrs.length > 0 ? ` ${sheetAttrs.join(" ")}` : ""}>`,
...this.issueContextToLines(group.placements, group.issues),
"</SchematicSheet>"
];
}).join(`
`);
}
issueContextToLines(placements, issues) {
return [
...placements.length > 0 ? [
"<SchematicBoxPositions>",
...placements.map(this.schematicBoxPlacementsToString),
"</SchematicBoxPositions>"
] : [],
"<SchematicPlacementIssues>",
...issues.map(this.schematicIssuesToString),
"</SchematicPlacementIssues>"
];
}
}
var analyzeSchematicPlacement = (circuitJson, options = {}) => {
const pipeline = new SchematicPlacementPipeline(circuitJson, options);
pipeline.solve();
const { issues, componentPlacements } = pipeline.getOutput();
const relevantPlacements = getRelevantPlacementsForIssues({
issues,
componentPlacements,
circuitJson
});
const lineItems = [
...relevantPlacements,
...issues.length > 0 ? [{ lineItemType: "SchematicPlacementIssues", issues }] : []
];
const schematicSheetIds = new Set(circuitJson.flatMap((element) => ("schematic_sheet_id" in element) && typeof element.schematic_sheet_id === "string" ? [element.schematic_sheet_id] : []));
return new SchematicPlacementAnalysis(lineItems, schematicSheetIds.size > 1);
};
/** Refine the generated layout from analyzer suggestions, without component coordinate overrides. */
function installSchematicStyleRefinement(board, notes = []) {
if (!board || board.__styleRefinementInstalled)
return;
board.__styleRefinementInstalled = true;
const original = board.doInitialSchematicSheetRender.bind(board);
board.doInitialSchematicSheetRender = () => {
if (board.root.schematicDisabled)
return original();
const db = board.root.db;
const components = () => db.schematic_component.list();
const byName = (name) => {
const source = db.source_component
.list()
.find((e) => e.name === name);
return components().find((e) => e.source_component_id === source?.source_component_id);
};
const fromBox = (box) => box && db.schematic_component.get(box.schematicComponentId);
function move(component, x, y, rotation = 0) {
if (!component)
return;
const cx = component.center.x, cy = component.center.y;
const angle = (rotation * Math.PI) / 180, cos = Math.cos(angle), sin = Math.sin(angle);
const transform = (p) => ({
x: x + (p.x - cx) * cos - (p.y - cy) * sin,
y: y + (p.x - cx) * sin + (p.y - cy) * cos,
});
for (const port of db.schematic_port
.list()
.filter((p) => p.schematic_component_id === component.schematic_component_id)) {
port.center = transform(port.center);
const dirs = ["right", "up", "left", "down"];
for (const field of ["facing_direction", "side_of_component"]) {
const index = dirs.indexOf(port[field]);
if (index >= 0)
port[field] = dirs[(index + Math.round(rotation / 90) + 4) % 4];
}
}
for (const text of db.schematic_text
.list()
.filter((t) => t.schematic_component_id === component.schematic_component_id))
text.position = transform(text.position);
if (rotation && component.symbol_name) {
const dirs = ["right", "up", "left", "down"];
component.symbol_name = component.symbol_name.replace(/_(right|up|left|down)$/, (_, dir) => `_${dirs[(dirs.indexOf(dir) + Math.round(rotation / 90) + 4) % 4]}`);
if (Math.abs(rotation) % 180 === 90)
component.size = {
width: component.size.height,
height: component.size.width,
};
}
for (const type of [
"schematic_path",
"schematic_rect",
"schematic_circle",
"schematic_line",
"schematic_arc",
]) {
for (const primitive of db[type]
.list()
.filter((p) => p.schematic_component_id === component.schematic_component_id)) {
if (primitive.center)
primitive.center = transform(primitive.center);
if (primitive.points)
primitive.points = primitive.points.map(transform);
if (typeof primitive.x1 === "number") {
const a = transform({ x: primitive.x1, y: primitive.y1 }), b = transform({ x: primitive.x2, y: primitive.y2 });
Object.assign(primitive, { x1: a.x, y1: a.y, x2: b.x, y2: b.y });
}
}
}
component.center = { x, y };
}
function reroute() {
// Trace rendering also emits schematic_text labels; discard the old
// generated text before rebuilding routes so moved labels do not accumulate.
for (const text of db.schematic_text.list())
if (text.source_trace_id)
db.schematic_text.delete(text.schematic_text_id);
for (const type of ["schematic_trace", "schematic_net_label"])
for (const e of db[type].list())
db[type].delete(e[`${type}_id`]);
for (const group of [...board.getDescendants(), board].filter((g) => g.isSubcircuit && g.doInitialSchematicTraceRender))
group.doInitialSchematicTraceRender();
}
// Associate custom symbol annotations with their owning component before translating it.
for (const primitive of board.getDescendants()) {
if (!primitive.schematic_text_id)
continue;
const text = db.schematic_text.get(primitive.schematic_text_id);
let parent = primitive.parent;
while (parent && !parent.schematic_component_id)
parent = parent.parent;
if (text && parent?.schematic_component_id)
text.schematic_component_id = parent.schematic_component_id;
}
// Restore explanatory text above its own section and include it in section packing.
const sectionNotes = new Map();
for (const note of notes) {
const group = note.sectionName
? db.schematic_group
.list()
.find((g) => g.name === `layout_${note.sectionName}`)
: undefined;
const owner = note.ref
? byName(note.ref)
: components().find((c) => c.schematic_group_id === group?.schematic_group_id);
if (!owner)
throw new Error(`No section for schematic text: ${note.text}`);
const entry = sectionNotes.get(owner.schematic_group_id) ?? {
owner,
notes: [],
};
entry.notes.push(note);
sectionNotes.set(owner.schematic_group_id, entry);
}
for (const [groupId, { owner, notes: groupNotes }] of sectionNotes) {
const members = components().filter((c) => c.schematic_group_id === groupId);
const left = Math.min(...members.map((c) => c.center.x - c.size.width / 2));
const top = Math.max(...members.map((c) => c.center.y + c.size.height / 2));
const lines = groupNotes.flatMap((note) => {
const wrapped = [];
let line = "";
for (const word of note.text.split(" ")) {
if ((line + " " + word).trim().length > 54) {
wrapped.push(line);
line = word;
}
else
line = (line + " " + word).trim();
}
if (line)
wrapped.push(line);
return wrapped.map((text) => ({ ...note, text }));
});
lines.forEach((note, i) => db.schematic_text.insert({
text: note.text,
position: { x: left, y: top + 1.4 + (lines.length - i) * 0.38 },
anchor: "top_left",
font_size: note.fontSize,
color: note.color,
rotation: 0,
schematic_component_id: owner.schematic_component_id,
schematic_sheet_id: owner.schematic_sheet_id,
}));
}
// Pack whole sections using their measured bounds; component placements remain automatic.
const sheets = db.schematic_sheet.list();
for (const sheet of sheets) {
const groups = new Map();
for (const c of components().filter((c) => c.schematic_sheet_id === sheet.schematic_sheet_id)) {
const list = groups.get(c.schematic_group_id) ?? [];
list.push(c);
groups.set(c.schematic_group_id, list);
}
const blocks = [...groups.values()]
.map((members) => {
const texts = db.schematic_text
.list()
.filter((t) => members.some((c) => c.schematic_component_id === t.schematic_component_id));
const minX = Math.min(...members.map((c) => c.center.x - c.size.width / 2), ...texts.map((t) => t.position.x));
const maxX = Math.max(...members.map((c) => c.center.x + c.size.width / 2), ...texts.map((t) => t.position.x + t.text.length * t.font_size * 0.62));
const minY = Math.min(...members.map((c) => c.center.y - c.size.height / 2));
const maxY = Math.max(...members.map((c) => c.center.y + c.size.height / 2), ...texts.map((t) => t.position.y));
return {
members,
minX,
maxY,
width: maxX - minX + 3,
height: maxY - minY + 3,
};
})
.sort((a, b) => b.height - a.height);
let x = 0, y = 0, rowHeight = 0;
for (const block of blocks) {
if (x + block.width > 30 && x > 0) {
x = 0;
y += rowHeight;
rowHeight = 0;
}
const group = db.schematic_group.get(block.members[0].schematic_group_id);
// Use the open space at the left of the encoder/alarm sheet. This
// translates the whole section, preserving its automatic internal layout.
const sectionOffsetX = group?.name === "layout_encoder" ? -3 : 0;
for (const c of block.members)
move(c, c.center.x - block.minX + x + sectionOffsetX, c.center.y - block.maxY - y);
x += block.width;
rowHeight = Math.max(rowHeight, block.height);
}
}
const sections = board
.getDescendants()
.filter((c) => c.componentName === "SchematicSection");
// Core's section bounds omit routed labels. Include labels owned by a
// connected port in the section so a divider cannot cross their text.
for (const section of sections) {
const computeBounds = section._computeSectionBounds.bind(section);
section._computeSectionBounds = (root, name, sheetId) => {
const bounds = computeBounds(root, name, sheetId);
if (!bounds)
return bounds;
const memberIds = new Set(root
.getDescendants()
.filter((c) => c.getSchematicSectionName() === name)
.map((c) => c.schematic_component_id)
.filter(Boolean));
for (const label of db.schematic_net_label.list()) {
if (label.schematic_sheet_id !== sheetId || !label.source_trace_id)
continue;
const trace = db.source_trace.get(label.source_trace_id);
const anchor = label.anchor_position ?? label.center;
const ports = db.schematic_port
.list()
.filter((p) => p.schematic_sheet_id === sheetId &&
trace?.connected_source_port_ids.includes(p.source_port_id));
const nearestPort = ports.sort((a, b) => Math.hypot(a.center.x - anchor.x, a.center.y - anchor.y) -
Math.hypot(b.center.x - anchor.x, b.center.y - anchor.y))[0];
if (!memberIds.has(nearestPort?.schematic_component_id))
continue;
const vertical = label.anchor_side === "top" || label.anchor_side === "bottom";
const length = label.text.length * 0.13 + 0.2;
const labelBounds = vertical
? {
minX: label.center.x - 0.1,
maxX: label.center.x + 0.1,
minY: anchor.y - (label.anchor_side === "top" ? length : 0),
maxY: anchor.y + (label.anchor_side === "bottom" ? length : 0),
}
: {
minX: Math.min(anchor.x, 2 * label.center.x - anchor.x) - 0.1,
maxX: Math.max(anchor.x, 2 * label.center.x - anchor.x) + 0.1,
minY: label.center.y - 0.1,
maxY: label.center.y + 0.1,
};
bounds.minX = Math.min(bounds.minX, labelBounds.minX);
bounds.maxX = Math.max(bounds.maxX, labelBounds.maxX);
bounds.minY = Math.min(bounds.minY, labelBounds.minY);
bounds.maxY = Math.max(bounds.maxY, labelBounds.maxY);
}
return bounds;
};
}
function renderSections() {
for (const e of db.schematic_line.list())
if (e.is_dashed && !e.schematic_component_id)
db.schematic_line.delete(e.schematic_line_id);
for (const e of db.schematic_text.list())
if (!e.schematic_component_id &&
!e.schematic_symbol_id &&
!e.source_trace_id)
db.schematic_text.delete(e.schematic_text_id);
for (const section of sections)
section.doInitialSchematicSectionRender();
}
reroute();
renderSections();
const history = [];
for (let iteration = 0; iteration < 60; iteration++) {
const issues = analyzeSchematicPlacement(db.toArray()).getIssues();
history.push(issues.map((i) => i.lineItemType));
if (!issues.length)
break;
let changed = false;
const moved = new Set();
const apply = (c, x, y, r = 0) => {
if (!c || moved.has(c.schematic_component_id))
return;
move(c, x, y, r);
moved.add(c.schematic_component_id);
changed = true;
};
for (const issue of issues) {
const type = issue.lineItemType;
if (type === "SchematicTextCollision") {
const t = db.schematic_text.get(issue.schematicTextId);
if (t && issue.suggestedMove) {
t.position = {
x: issue.suggestedMove.newSchX,
y: issue.suggestedMove.newSchY,
};
changed = true;
}
}
else if (type === "ComponentOverlap") {
const suggestion = issue.correctionSuggestions[0];
const c = byName(suggestion.targetComponentName);
if (c)
apply(c, suggestion.newSchX + Math.sign(suggestion.deltaSchX) * 0.25, suggestion.newSchY + Math.sign(suggestion.deltaSchY) * 0.25);
}
else if (type === "NetLabelCollision") {
for (const m of issue.moves ?? [])
apply(byName(m.componentName), m.newSchX, m.newSchY);
}
else if (type === "TraceCanBeSimplifiedByMovingComponent") {
apply(fromBox(issue.targetComponent), issue.newSchX, issue.newSchY);
}
else if ([
"CapacitorSymbolHorizontal",
"TwoPinComponentCouldBeFlipped",
"TwoPinComponentHasInvertedRails",
"TwoPinComponentShouldBeVertical",
"DiodeResistorNotAligned",
].includes(type)) {
const c = fromBox(issue.schematicBox ??
issue.targetComponent ??
issue.diodeSchematicBox);
if (c)
apply(c, c.center.x, c.center.y, issue.deltaSchRotation ??
(type === "CapacitorSymbolHorizontal" ? 90 : 180));
}
else if (type === "DecouplingCapacitorsNotCloseTogether") {
const caps = issue.capacitorSchematicBoxes
.map(fromBox)
.filter(Boolean)
.sort((a, b) => a.center.x - b.center.x);
// Two rows keep the entire same-rail bank compact without hand-placing any capacitor.
const x = caps[0].center.x, y = caps[0].center.y;
caps.forEach((c, i) => apply(c, x + (i % 3) * 1.25, y - Math.floor(i / 3) * 2.4));
}
}
if (!changed)
break;
reroute();
// Recompute dividers when component geometry changes, but keep the
// analyzer's final title-only moves instead of resetting them each pass.
if (moved.size)
renderSections();
}
const remaining = analyzeSchematicPlacement(db.toArray()).getIssues();
board.__schematicStyleHistory = history;
if (remaining.length)
throw new Error(`Automatic schematic style refinement did not converge: ${remaining.map((i) => i.lineItemType).join(", ")}`);
// Sheet warnings must be recomputed after moving the automatic layout.
for (const e of db.schematic_element_outside_sheet_warning.list())
db.schematic_element_outside_sheet_warning.delete(e.schematic_element_outside_sheet_warning_id);
for (const c of board.getDescendants())
if (c.componentName === "SchematicSheet")
c.doInitialSchematicSheetRender();
original();
};
}
/** Keep PCB hierarchy/coordinates intact; give each schematic section its own layout scope. */
function autoLayoutSections(tree) {
let elementKey = 0;
const sectionTitles = new Map();
const notes = [];
const textHeadings = {
"3.3 V Supply": "MCU__programming_supply",
"3.3 V Bypass": "MCU__programming_bypass",
"Programming USB-C": "MCU__usb",
"USB-C PD Negotiation": "motor_power_pd_negotiation",
"Power Filtering": "motor_power_filtering",
"Temperature Sensing & MCU Alert": "thermal_protection",
"RP2040-selectable USB-PD voltage": "pd_gpio_buffers",
};
const selectorProps = (value) => {
if (typeof value === "string") {
if (value === "MCU__power")
return "MCU__rp2040";
if (["MCU__status", "MCU__debug"].includes(value))
return "MCU__controls";
return value.replace(/\.MCU > \.(U1|L_AVDD|J_USB)(?= |$)/g, (_, ref) => `.MCU > .layout_MCU__${ref === "J_USB" ? "usb" : "rp2040"} > .${ref}`);
}
if (react.isValidElement(value))
return value;
if (Array.isArray(value))
return value.map(selectorProps);
if (value && typeof value === "object")
return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, selectorProps(v)]));
return value;
};
const sectionSlots = new Map();
function expand(input) {
if (!react.isValidElement(input))
return input == null ? [] : [input];
const node = input;
if (typeof node.type === "function")
return expand(node.type(node.props));
if (node.type === react.Fragment)
return react.Children.toArray(node.props.children).flatMap(expand);
if (node.type === "schematicsection") {
if (node.props.displayName)
sectionTitles.set(selectorProps(node.props.name), node.props.displayName);
return [];
}
if (node.type === "schematictext") {
const headingSection = textHeadings[node.props.text];
if (headingSection)
sectionTitles.set(headingSection, node.props.text);
else {
const ref = node.props.name?.match(/^description_(.+)_\d+$/)?.[1];
notes.push({
text: node.props.text,
ref,
sectionName: ref ? undefined : "pd_gpio_buffers",
fontSize: node.props.fontSize ?? 0.23,
color: node.props.color ?? "#31576b",
});
}
return [];
}
const children = react.Children.toArray(node.props.children).flatMap(expand);
return [
react.cloneElement(node, {
...selectorProps(node.props),
...(node.type === "schematicsheet"
? { sheetWidth: undefined, sheetHeight: undefined }
: {}),
key: `layout-element-${elementKey++}`,
}, children),
];
}
function arrange(node, inheritedSheet = "controller") {
if (!react.isValidElement(node))
return node;
const sheet = node.props.schSheetName ?? inheritedSheet;
let children = react.Children.toArray(node.props.children).map((c) => arrange(c, sheet));
if (node.type !== "group" && node.type !== "board")
return react.cloneElement(node, {}, children);
const sections = new Map();
for (const child of children) {
if (!react.isValidElement(child) ||
!child.props.schSectionName ||
!child.props.name)
continue;
const key = `${child.props.schSheetName ?? sheet}:${child.props.schSectionName}`;
const members = sections.get(key) ?? [];
members.push(child);
sections.set(key, members);
}
children = children.filter((c) => ![...sections.values()].some((m) => m.includes(c)));
for (const [key, members] of sections) {
const sectionSheet = members[0].props.schSectionName === "MCU__controls"
? "controller_controls"
: (members[0].props.schSheetName ?? sheet);
const sectionName = members[0].props.schSectionName;
const slots = sectionSlots.get(sectionSheet) ?? new Map();
if (!slots.has(key))
slots.set(key, slots.size);
sectionSlots.set(sectionSheet, slots);
const slot = slots.get(key);
children.push(jsxRuntime.jsxs("group", { name: `layout_${sectionName}`, pcbX: 0, pcbY: 0, schSheetName: sectionSheet, schX: (slot % 2) * 20 - 10, schY: -Math.floor(slot / 2) * 16, schAutoLayoutEnabled: true, children: [jsxRuntime.jsx("schematicsection", { name: sectionName, displayName: sectionTitles.get(sectionName) ??
(sectionName === "MCU__controls"
? "Controls, Status & SWD"
: sectionName.replace(/^MCU__/, "").replaceAll("_", " ")) }), members.map((m) => react.cloneElement(m, {
schX: undefined,
schY: undefined,
schSheetName: sectionSheet,
}))] }, key));
}
return react.cloneElement(node, node.type === "group"
? { schX: 0, schY: 0 }
: {
ref: (board) => {
if (typeof node.props.ref === "function")
node.props.ref(board);
installSchematicStyleRefinement(board, notes);
},
}, children);
}
const result = arrange(expand(tree)[0]);
return react.cloneElement(result, {}, result.props.children, jsxRuntime.jsx("schematicsheet", { name: "controller_controls", displayName: "Controller Controls, Status & SWD", sheetIndex: 10 }));
}
const pinLabels$k = {
pin1: ["IN"],
pin2: ["GND"],
pin3: ["OUT"]
};
const pinAttributes$9 = {
pin2: { requiresGround: true }
};
const DTC114EETL = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$k, pinAttributes: pinAttributes$9, symbol: jsxRuntime.jsxs("symbol", { children: [jsxRuntime.jsx("schematictext", { text: props.name ?? "Q", schX: -0.65, schY: 0.9, fontSize: 0.18 }), jsxRuntime.jsx("port", { name: "pin3", pinNumber: 3, aliases: ["OUT"], direction: "up", schX: 0.2, schY: 0.8, schStemLength: 0.4 }), jsxRuntime.jsx("port", { name: "pin2", pinNumber: 2, aliases: ["GND"], direction: "down", schX: 0.2, schY: -0.8, schStemLength: 0.4 }), jsxRuntime.jsx("port", { name: "pin1", pinNumber: 1, aliases: ["IN"], direction: "left", schX: -1, schY: 0, schStemLength: 0.4 }), jsxRuntime.jsx("schematicpath", { points: [{ "x": -0.6, "y": 0 }, { "x": -0.52, "y": 0 }, { "x": -0.5, "y": 0.06 }, { "x": -0.46, "y": -0.06 }, { "x": -0.42, "y": 0.06 }, { "x": -0.38, "y": -0.06 }, { "x": -0.34, "y": 0.06 }, { "x": -0.3, "y": -0.06 }, { "x": -0.28, "y": 0 }, { "x": -0.2, "y": 0 }, { "x": 0, "y": 0 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": 0.18 }, { "x": 0, "y": -0.18 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": -0.06 }, { "x": 0.2, "y": -0.2 }, { "x": 0.2, "y": -0.4 }, { "x": -0.2, "y": -0.4 }, { "x": -0.2, "y": -0.32 }, { "x": -0.26, "y": -0.3 }, { "x": -0.14, "y": -0.26 }, { "x": -0.26, "y": -0.22 }, { "x": -0.14, "y": -0.18 }, { "x": -0.26, "y": -0.14 }, { "x": -0.14, "y": -0.1 }, { "x": -0.2, "y": -0.08 }, { "x": -0.2, "y": 0 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.2, "y": 0.4 }, { "x": 0.2, "y": 0.2 }, { "x": 0, "y": 0.06 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.2, "y": -0.2 }, { "x": 0.08, "y": -0.18 }, { "x": 0.14, "y": -0.1 }, { "x": 0.2, "y": -0.2 }], strokeColor: "#880000", isFilled: true, fillColor: "#880000" })] }), supplierPartNumbers: {
"jlcpcb": [
"C79605"
]
}, manufacturerPartNumber: "DTC114EETL", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-0.649986mm", pcbY: "-0.000127mm", width: "0.5100066mm", height: "0.3999992mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "0.649986mm", pcbY: "-0.499999mm", width: "0.5100066mm", height: "0.3999992mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "0.649986mm", pcbY: "0.499999mm", width: "0.5100066mm", height: "0.3999992mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.45001180000002705, "y": -0.10086339999998017 }, { "x": 0.45001180000002705, "y": 0.1008634000000086 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.45001180000002705, "y": -0.8999981999999989 }, { "x": 0.45001180000002705, "y": -0.8991345999999965 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.45001179999999863, "y": 0.39913559999999393 }, { "x": -0.45001179999999863, "y": 0.8999981999999989 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.45001179999999863, "y": -0.8999981999999989 }, { "x": -0.45001179999999863, "y": -0.39913559999999393 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.45001179999999863, "y": -0.8999981999999989 }, { "x": 0.45001180000002705, "y": -0.8999981999999989 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.45001179999999863, "y": 0.8999981999999989 }, { "x": 0.45001180000002705, "y": 0.8999981999999989 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.45001180000002705, "y": 0.8991346000000107 }, { "x": 0.45001180000002705, "y": 0.8999981999999989 }] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "0.759968mm", pcbY: "-1.010031mm", radius: "0.067056mm" }), jsxRuntime.jsx("silkscreentext", { text: props.name?.replace("Q_PD_", "") ?? "Q", pcbX: props.name === "Q_PD_CFG1" ? -2.5 : 0, pcbY: props.name === "Q_PD_CFG1" ? 0 : -1.5, anchorAlignment: "center", fontSize: "0.7mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -1.1506839999999983, "y": 1.1551290000000165 }, { "x": 1.2289160000000123, "y": 1.1551290000000165 }, { "x": 1.2289160000000123, "y": -1.3260709999999847 }, { "x": -1.1506839999999983, "y": -1.3260709999999847 }, { "x": -1.1506839999999983, "y": 1.1551290000000165 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C79605.obj?uuid=3dc99d09648d4392979bbf6561129f61",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C79605.step?uuid=3dc99d09648d4392979bbf6561129f61",
pcbRotationOffset: 180,
modelOriginPosition: { x: 0, y: 0, z: -0.149083 },
}, ...props }));
};
var C_PD_VBUS = {
pcbX: 2.7,
pcbY: -5.4,
pcbRotation: 0
};
var C_PD_VDD = {
pcbX: 3.5,
pcbY: 6.95,
pcbRotation: 270
};
var R_PD_VBUS = {
pcbX: -14.5,
pcbY: -0.1,
pcbRotation: 0
};
var C_VM_HF = {
pcbX: 9,
pcbY: -9,
pcbRotation: 270
};
var R_ISEN_A = {
pcbX: 13.75,
pcbY: -11.5,
pcbRotation: 180
};
var R_ISEN_B = {
pcbX: 18.5,
pcbY: -11.5,
pcbRotation: 180
};
var Q_PD_ENABLE = {
pcbX: -18.4,
pcbY: -9.8,
pcbRotation: 270
};
var R_PD_ENABLE_PU = {
pcbX: 0.25,
pcbY: 2,
pcbRotation: 0
};
var C_TEMP = {
pcbX: 10,
pcbY: -9.5,
pcbRotation: 90
};
var R_TEMP_SDA = {
pcbX: 9.5,
pcbY: -7.5,
pcbRotation: 0
};
var R_TEMP_SCL = {
pcbX: 12,
pcbY: -13.75,
pcbRotation: 90
};
var Q_BUZZER = {
pcbX: -3,
pcbY: 7,
pcbRotation: 90
};
var D_BUZZER = {
pcbX: 2.6,
pcbY: 11.025,
pcbRotation: 90
};
var R_BUZZER_GATE = {
pcbX: 14.75,
pcbY: 1.75,
pcbRotation: 0
};
var R_BUZZER_PD = {
pcbX: 2.5,
pcbY: 1.95,
pcbRotation: 180
};
var C_BUZZER = {
pcbX: 12.25,
pcbY: 0,
pcbRotation: 90
};
var R_PHASE_A = {
pcbX: -2,
pcbY: -5.5,
pcbRotation: 0
};
var U_CURRENT_A = {
pcbX: 0,
pcbY: -1.5,
pcbRotation: 90
};
var C_CURRENT_A = {
pcbX: -4.5,
pcbY: -1.8,
pcbRotation: 270
};
var R_ADC_A = {
pcbX: -3.25,
pcbY: 4,
pcbRotation: 90
};
var C_ADC_A = {
pcbX: -4.25,
pcbY: 4,
pcbRotation: 90
};
var R_PHASE_B = {
pcbX: 7.5,
pcbY: -4.5,
pcbRotation: 0
};
var U_CURRENT_B = {
pcbX: 7.5,
pcbY: -0.5,
pcbRotation: 90
};
var C_CURRENT_B = {
pcbX: 6,
pcbY: 3,
pcbRotation: 180
};
var R_ADC_B = {
pcbX: 4,
pcbY: 3.25,
pcbRotation: 270
};
var C_ADC_B = {
pcbX: 5.5,
pcbY: 4.25,
pcbRotation: 0
};
var D_STATUS = {
pcbX: -14.9,
pcbY: -7.9,
pcbRotation: 0
};
var R_STATUS_R = {
pcbX: -3.75,
pcbY: 2.5,
pcbRotation: 180
};
var Q_STATUS_R = {
pcbX: -1.5,
pcbY: -17.75,
pcbRotation: 0
};
var R_STATUS_G = {
pcbX: 1.75,
pcbY: -19.75,
pcbRotation: 90
};
var Q_STATUS_G = {
pcbX: 11.5,
pcbY: -5,
pcbRotation: 90
};
var R_STATUS_B = {
pcbX: 0.7,
pcbY: -19.2,
pcbRotation: 90
};
var Q_STATUS_B = {
pcbX: 12,
pcbY: -8.35,
pcbRotation: 90
};
var TP_PD = {
pcbX: -6.75,
pcbY: 12.25,
pcbRotation: 0
};
var TP_VMOTOR = {
pcbX: 0.5,
pcbY: 13.5,
pcbRotation: 90
};
var TP_PD_GND = {
pcbX: 7.75,
pcbY: 4,
pcbRotation: 0
};
var DRIVER = {
pcbX: 4.3,
pcbY: -11.75,
pcbRotation: 90
};
var U_TEMP = {
pcbX: 10,
pcbY: -11.75,
pcbRotation: 180
};
var C_VM_BULK = {
pcbX: 10.75,
pcbY: -18.5,
pcbRotation: 90
};
var R_SLEEP_PD = {
pcbX: -1,
pcbY: -14,
pcbRotation: 0
};
var R_FAULT_PU = {
pcbX: -1,
pcbY: -15.75,
pcbRotation: 0
};
var R_MCU_ENABLE_PD = {
pcbX: 1.75,
pcbY: -17.75,
pcbRotation: 0
};
var C_CP = {
pcbX: 9,
pcbY: -16,
pcbRotation: 90
};
var C_VCP = {
pcbX: 10.5,
pcbY: -15,
pcbRotation: 90
};
var R_VCP = {
pcbX: 19,
pcbY: -13.75,
pcbRotation: 90
};
var C_VMA = {
pcbX: 9.5,
pcbY: -14,
pcbRotation: 90
};
var C_DRV_3V3 = {
pcbX: -1.5,
pcbY: -7.5,
pcbRotation: 180
};
var R_DRV_REF_TOP = {
pcbX: -2.75,
pcbY: -10.5,
pcbRotation: 90
};
var R_DRV_REF_BOTTOM = {
pcbX: -1.5,
pcbY: -12.5,
pcbRotation: 90
};
var C_DRV_REF = {
pcbX: -2,
pcbY: -9,
pcbRotation: 0
};
var R_DRV_ENABLE_PU = {
pcbX: -0.5,
pcbY: -11.75,
pcbRotation: 90
};
var D_MOTOR_BLOCK = {
pcbX: -7.25,
pcbY: 4.25,
pcbRotation: 0
};
var R_PD_VDD = {
pcbX: 0.5,
pcbY: 17,
pcbRotation: 90
};
var R_ENC_SCL = {
pcbX: -8,
pcbY: 2.75,
pcbRotation: 0
};
var F_MOTOR_VBUS = {
pcbX: 0.75,
pcbY: 5.5,
pcbRotation: 90
};
var L_AVDD = {
pcbX: -7.75,
pcbY: 1.75,
pcbRotation: 0
};
var C_ENCODER = {
pcbX: 0.635,
pcbY: -4.8,
pcbRotation: 90
};
var C_ENCODER_BULK = {
pcbX: 2.035,
pcbY: -4.8,
pcbRotation: 90
};
var R_ENC_SDA = {
pcbX: -5,
pcbY: 13,
pcbRotation: 0
};
var R_BOOT = {
pcbX: -12,
pcbY: 14,
pcbRotation: 90
};
var U_PD = {
pcbX: 7,
pcbY: 9,
pcbRotation: 180
};
var BZ1 = {
pcbX: 15,
pcbY: 7.6,
pcbRotation: 0
};
var Q_PD_CFG1 = {
pcbX: -8.9,
pcbY: -17.5,
pcbRotation: 0
};
var Q_PD_CFG2 = {
pcbX: 4.4,
pcbY: -18.7,
pcbRotation: 0
};
var Q_PD_CFG3 = {
pcbX: 7.2,
pcbY: -18.7,
pcbRotation: 0
};
var R_PD_CFG1_PU = {
pcbX: 16.75,
pcbY: 2,
pcbRotation: 0
};
var R_PD_CFG2_PU = {
pcbX: 18.75,
pcbY: 2,
pcbRotation: 0
};
var R_PD_CFG3_PU = {
pcbX: -16.25,
pcbY: 6.25,
pcbRotation: 0
};
var placement = {
C_PD_VBUS: C_PD_VBUS,
C_PD_VDD: C_PD_VDD,
R_PD_VBUS: R_PD_VBUS,
C_VM_HF: C_VM_HF,
R_ISEN_A: R_ISEN_A,
R_ISEN_B: R_ISEN_B,
Q_PD_ENABLE: Q_PD_ENABLE,
R_PD_ENABLE_PU: R_PD_ENABLE_PU,
C_TEMP: C_TEMP,
R_TEMP_SDA: R_TEMP_SDA,
R_TEMP_SCL: R_TEMP_SCL,
Q_BUZZER: Q_BUZZER,
D_BUZZER: D_BUZZER,
R_BUZZER_GATE: R_BUZZER_GATE,
R_BUZZER_PD: R_BUZZER_PD,
C_BUZZER: C_BUZZER,
R_PHASE_A: R_PHASE_A,
U_CURRENT_A: U_CURRENT_A,
C_CURRENT_A: C_CURRENT_A,
R_ADC_A: R_ADC_A,
C_ADC_A: C_ADC_A,
R_PHASE_B: R_PHASE_B,
U_CURRENT_B: U_CURRENT_B,
C_CURRENT_B: C_CURRENT_B,
R_ADC_B: R_ADC_B,
C_ADC_B: C_ADC_B,
D_STATUS: D_STATUS,
R_STATUS_R: R_STATUS_R,
Q_STATUS_R: Q_STATUS_R,
R_STATUS_G: R_STATUS_G,
Q_STATUS_G: Q_STATUS_G,
R_STATUS_B: R_STATUS_B,
Q_STATUS_B: Q_STATUS_B,
TP_PD: TP_PD,
TP_VMOTOR: TP_VMOTOR,
TP_PD_GND: TP_PD_GND,
DRIVER: DRIVER,
U_TEMP: U_TEMP,
C_VM_BULK: C_VM_BULK,
R_SLEEP_PD: R_SLEEP_PD,
R_FAULT_PU: R_FAULT_PU,
R_MCU_ENABLE_PD: R_MCU_ENABLE_PD,
C_CP: C_CP,
C_VCP: C_VCP,
R_VCP: R_VCP,
C_VMA: C_VMA,
C_DRV_3V3: C_DRV_3V3,
R_DRV_REF_TOP: R_DRV_REF_TOP,
R_DRV_REF_BOTTOM: R_DRV_REF_BOTTOM,
C_DRV_REF: C_DRV_REF,
R_DRV_ENABLE_PU: R_DRV_ENABLE_PU,
D_MOTOR_BLOCK: D_MOTOR_BLOCK,
R_PD_VDD: R_PD_VDD,
R_ENC_SCL: R_ENC_SCL,
F_MOTOR_VBUS: F_MOTOR_VBUS,
L_AVDD: L_AVDD,
C_ENCODER: C_ENCODER,
C_ENCODER_BULK: C_ENCODER_BULK,
R_ENC_SDA: R_ENC_SDA,
R_BOOT: R_BOOT,
U_PD: U_PD,
BZ1: BZ1,
Q_PD_CFG1: Q_PD_CFG1,
Q_PD_CFG2: Q_PD_CFG2,
Q_PD_CFG3: Q_PD_CFG3,
R_PD_CFG1_PU: R_PD_CFG1_PU,
R_PD_CFG2_PU: R_PD_CFG2_PU,
R_PD_CFG3_PU: R_PD_CFG3_PU
};
/** Absolute board coordinates; subtract the origin for parts in translated groups. */
function revisionPlacement(name, origin = { x: 0, y: 0 }) {
const position = placement[name];
if (!position)
throw new Error(`Missing PCB placement for ${name}`);
return { ...position, pcbX: position.pcbX - origin.x, pcbY: position.pcbY - origin.y };
}
const logicTrace = { thickness: "0.15mm" };
const powerTrace = { thickness: "0.8mm" };
const groundTrace = { thickness: "0.3mm" };
const motorTrace = { thickness: "1mm" };
const schematicSheets = {
controller: "controller",
programming: "controller_programming",
motorDriver: "motor_driver",
motorPower: "motor_power",
thermalProtection: "thermal_protection",
};
const schematicSections = {
driverCore: "motor_driver_core",
motorOutputs: "motor_driver_outputs",
pdNegotiation: "motor_power_pd_negotiation",
pdFiltering: "motor_power_filtering",
};
const sheet = { schSheetName: 'pd_voltage_control', schSectionName: 'pd_gpio_buffers' };
/** Open-collector buffers keep the DATA and PWR USB supply domains separate. */
const PdVoltageControlSection = () => jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("schematicsheet", { name: "pd_voltage_control", displayName: "PD Voltage Selection", sheetIndex: 9, children: [jsxRuntime.jsx("schematicsection", { name: "pd_gpio_buffers" }), jsxRuntime.jsx("schematictext", { text: "RP2040-selectable USB-PD voltage", schX: -10, schY: 7, fontSize: 0.3, anchor: "top_left" }), jsxRuntime.jsx("schematictext", { text: "Three inverting buffers. Pull-ups use CH224K VDD; GPIOs never connect directly to that rail.", schX: -10, schY: 6.2, fontSize: 0.23, anchor: "top_left" }), jsxRuntime.jsx("schematictext", { text: "Reset/unpowered MCU: all buffers off, CFG1/2/3 high, request 5 V. Motor stays asleep.", schX: -10, schY: 5.5, fontSize: 0.23, anchor: "top_left" }), jsxRuntime.jsx("schematictext", { text: "GPIO4/5/6: 000 = 5 V; 111 = 9 V; 110 = 12 V; 100 = 15 V; 101 = 20 V.", schX: -10, schY: -4, fontSize: 0.26, anchor: "top_left" }), jsxRuntime.jsx("schematictext", { text: "Keep GPIO22 low while changing voltage. No application firmware is included.", schX: -10, schY: -4.8, fontSize: 0.26, anchor: "top_left" })] }), [1, 2, 3].map((i) => jsxRuntime.jsxs(react.Fragment, { children: [jsxRuntime.jsx(DTC114EETL, { name: `Q_PD_CFG${i}`, ...revisionPlacement(`Q_PD_CFG${i}`), ...sheet }), jsxRuntime.jsx("resistor", { name: `R_PD_CFG${i}_PU`, resistance: "47k", footprint: "0402", pcbStyle: { silkscreenTextVisibility: "hidden" }, supplierPartNumbers: { jlcpcb: ['C25792'] }, ...revisionPlacement(`R_PD_CFG${i}_PU`), schRotation: 90, ...sheet }), jsxRuntime.jsx("trace", { name: `PD_CFG${i}_CONTROL`, from: `.MCU > .U1 > .GPIO${i + 3}`, to: `.Q_PD_CFG${i} > .IN`, schDisplayLabel: `PD_CFG${i}_LOW`, ...logicTrace }), jsxRuntime.jsx("trace", { name: `PD_CFG${i}_OUTPUT`, from: `.Q_PD_CFG${i} > .OUT`, to: `.U_PD > .CFG${i}`, schDisplayLabel: `PD_CFG${i}`, ...logicTrace }), jsxRuntime.jsx("trace", { name: `PD_CFG${i}_PULLUP`, from: `.Q_PD_CFG${i} > .OUT`, to: `.R_PD_CFG${i}_PU > .pin1`, ...logicTrace }), jsxRuntime.jsx("trace", { name: `PD_CFG${i}_SUPPLY`, from: `.R_PD_CFG${i}_PU > .pin2`, to: ".U_PD > .VDD", schDisplayLabel: "PD_VDD", ...logicTrace }), jsxRuntime.jsx("trace", { name: `PD_CFG${i}_GROUND`, from: `.Q_PD_CFG${i} > .GND`, to: "net.GND", ...logicTrace })] }, i))] });
var minimumMm = {
traceWidth: 0.1,
padToTrace: 0.1,
viaToPad: 0.125,
copperToBoardEdge: 0.2
};
var jlcClearanceRules = {
minimumMm: minimumMm};
/** Text content is retained; the section layout places these notes with their owner. */
const descriptions = [
{
ref: "U1",
sheet: "controller",
x: 3.5,
y: 9,
lines: [
"Main application controller.",
"Generates STEP/DIR control,",
"reads current and temperature,",
"and drives status outputs.",
"No firmware is included.",
],
},
{
ref: "U2",
sheet: "controller_programming",
x: 11.3,
y: 0.2,
lines: ["External QSPI flash.", "Stores RP2040", "application code."],
},
{
ref: "U3",
sheet: "controller_programming",
x: -3.8,
y: 1.7,
lines: ["3.3 V regulator.", "Powers the MCU", "and board logic."],
},
{
ref: "DRIVER",
sheet: "motor_driver",
x: -1.7,
y: -1.2,
lines: [
"Dual H-bridge stepper driver.",
"STEP/DIR controls both windings.",
"Regulates winding current.",
"1/16 microsteps; ~1 A peak.",
],
},
{
ref: "U_PD",
sheet: "motor_power",
x: -2.5,
y: -1.4,
lines: [
"USB-PD voltage controller.",
"GPIO selects 5/9/12/15/20 V.",
"Power-good gates motor enable.",
],
},
{
ref: "U_TEMP",
sheet: "thermal_protection",
x: 2.2,
y: 1.7,
lines: [
"TMP102 measures temperature",
"near the motor driver.",
"RP2040 reads temperature over I2C.",
"Software decides alerts/shutdown.",
],
},
{
ref: "U_CURRENT_A",
sheet: "current_telemetry",
x: -6.5,
y: 3.3,
lines: [
"Measures winding A current",
"across its 0.05 ohm shunt.",
"Filtered output feeds ADC2.",
"1.65 V at zero; 1 V per amp.",
],
},
{
ref: "U_CURRENT_B",
sheet: "current_telemetry",
x: 7.5,
y: 3.3,
lines: [
"Measures winding B current",
"across its 0.05 ohm shunt.",
"Filtered output feeds ADC3.",
"1.65 V at zero; 1 V per amp.",
],
},
{
ref: "U_ENCODER",
sheet: "position_alarm",
x: -8,
y: -1.7,
lines: [
"Optional magnetic angle sensor.",
"Reads shaft position over I2C.",
"Requires an aligned shaft magnet.",
"Not fitted in factory assembly.",
],
},
];
const ChipDescriptions = () => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: descriptions.flatMap(({ ref, sheet, x, y, lines }) => lines.map((text, line) => (jsxRuntime.jsx(react.Fragment, { children: jsxRuntime.jsx("schematictext", { name: `description_${ref}_${line}`, schSheetName: sheet, schX: x, schY: y - line * 0.38, text: text, anchor: "top_left", fontSize: 0.26, color: "#31576b" }) }, `${ref}-${line}`)))) }));
/** Official logo: https://docs.tscircuit.com/logo/ts.svg
* Monochrome ink with transparent ts cutouts; mirrored for bottom-side viewing.
* Transforms are baked into the path because the pinned graphic importer reads path data.
* Embedded SVG avoids filesystem/network dependencies in browser previews.
*/
const tscircuitBottomLogo = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201014.3617750000001%201052.76765%22%3E%3Cpath%20fill%3D%22black%22%20fill-rule%3D%22evenodd%22%20d%3D%22M803.3723%201047.9737C905.5939%201027.2717%20989.6269%20940.1998%201009.0376%20834.8703C1013.5778%20810.2335%201015.2981%20691.4255%201013.8744%20500.8338C1011.9129%20238.2605%201010.3648%20201.6905%201000.0909%20175.2683C971.1413%20100.8158%20906.452%2037.0003%20834.4674%2011.8818C803.5842%201.1053%20772.264%20-0.0165%20502.7085%200.0003C233.2673%200.0168%20202.2308%201.1303%20175.2865%2011.7573C100.4295%2041.279%2036.9855%20105.6558%2011.9%20177.5458C1.0888%20208.5285%200%20240.3943%200%20525.8413C0%20811.2883%201.09%20843.154%2011.9%20874.1368C37.021%20946.1288%20100.8653%201010.842%20175.2865%201039.7475C201.761%201050.0302%20236.501%201051.454%20489.4793%201052.625C645.914%201053.3475%20787.166%201051.255%20803.3723%201047.9737ZM568.9238%20717.7768C566.7138%20714.2005%20566.8688%20700.806%20569.2688%20688.011C572.9755%20668.253%20576.313%20664.7475%20591.4178%20664.7475C621.8175%20664.7475%20625.0775%20655.3303%20625.0775%20567.513V486.1538H595.3118H565.5463V459.6955V433.237H595.3118H625.0775V396.8568V360.4768H661.4577H697.8378V396.8568C697.8378%20432.8695%20698.0378%20433.237%20717.6815%20433.237C736.423%20433.237%20737.5253%20434.707%20737.5253%20459.6955C737.5253%20484.6837%20736.4228%20486.1538%20717.6815%20486.1538H697.8378V575.779C697.8378%20674.6055%20691.7903%20696.5238%20659.7207%20713.9243C639.308%20725.0003%20575.0718%20727.7258%20568.923%20717.7768ZM335.8268%20711.289C272.8642%20682.7072%20262.405%20605.7895%20316.9822%20572.704C328.181%20565.915%20359.588%20555.3835%20386.7752%20549.3008C441.0037%20537.1675%20453.099%20530.3715%20453.099%20512.035C453.099%20496.278%20431.2867%20484.8308%20401.2625%20484.8308C383.8865%20484.8308%20373.5212%20489.4403%20362.7572%20501.9545C349.6312%20517.214%20344.7465%20518.6283%20317.8812%20514.946C284.5038%20510.371%20281.9757%20504.9425%20300.2882%20477.1665C327.841%20435.3745%20381.3418%20418.8207%20443.7317%20432.783C508.6582%20447.313%20540.9775%20499.2765%20516.7225%20550.1395C504.338%20576.1102%20472.601%20592.7147%20411.7622%20605.054C375.761%20612.3555%20353.8802%20625.0977%20353.8802%20638.7617C353.8802%20642.1397%20360.1812%20651.2047%20367.8825%20658.906C392.3523%20683.3757%20450.337%20669.7265%20461.2715%20636.923C464.1553%20628.2715%20532.4795%20638.338%20532.4493%20647.4095C532.4358%20651.4885%20526.421%20664.6725%20519.0835%20676.7075C500.5778%20707.0607%20460.3765%20723.9882%20406.797%20723.9882C378.524%20723.9882%20354.223%20719.6397%20335.8268%20711.289Z%22%2F%3E%3C%2Fsvg%3E";
/** Heat-spreading copper for the twelve vias in the imported DRV8825 footprint. */
const Drv8825ThermalCopper = () => jsxRuntime.jsx(jsxRuntime.Fragment, { children: ["inner1", "inner2"].map(layer => jsxRuntime.jsx(react.Fragment, { children: jsxRuntime.jsx("copperpour", { name: `DRV_EP_GND_${layer}`, layer: layer, connectsTo: "net.GND", outline: [{ x: 2.55, y: -14.55 }, { x: 6.05, y: -14.55 }, { x: 6.05, y: -8.95 }, { x: 2.55, y: -8.95 }], clearance: "0.2mm", padMargin: "0.2mm", traceMargin: "0.2mm", useThermalReliefs: false, coveredWithSolderMask: true }) }, layer)) });
const pinLabels$j = {
pin1: ["VDD5V"],
pin2: ["VDD3V3"],
pin3: ["OUT"],
pin4: ["GND"],
pin5: ["PGO"],
pin6: ["SDA"],
pin7: ["SCL"],
pin8: ["DIR"]
};
const pinAttributes$8 = {
pin4: { requiresGround: true }
};
const AS5600_ASOM = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$j, pinAttributes: pinAttributes$8, supplierPartNumbers: {
"jlcpcb": [
"C79815"
]
}, manufacturerPartNumber: "AS5600-ASOM", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.905mm", pcbY: "-2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-0.635mm", pcbY: "-2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "0.635mm", pcbY: "-2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "1.905mm", pcbY: "-2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "-1.905mm", pcbY: "2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "-0.635mm", pcbY: "2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "0.635mm", pcbY: "2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "1.905mm", pcbY: "2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.4999950000001263, "y": -1.4999970000000076 }, { "x": 2.499994999999899, "y": -1.4999970000000076 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.4999950000001263, "y": 1.4999969999998939 }, { "x": 2.499994999999899, "y": 1.4999969999998939 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.4999950000001263, "y": -1.4999970000000076 }, { "x": -2.4999950000001263, "y": -0.7265669999998181 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.4999950000001263, "y": 1.4999969999998939 }, { "x": -2.4999950000001263, "y": 0.7262875999999778 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 2.499994999999899, "y": 1.4999969999998939 }, { "x": 2.499994999999899, "y": -1.4999970000000076 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.4999950000001263, "y": -0.7265669999998181 }, { "x": -2.2625565730616017, "y": -0.6727720384950544 }, { "x": -2.056152369867391, "y": -0.5436666188794561 }, { "x": -1.9038872877111999, "y": -0.3537028085727343 }, { "x": -1.822805887847835, "y": -0.12414516642888884 }, { "x": -1.8219844264158382, "y": 0.11930961309167287 }, { "x": -1.9015148578508843, "y": 0.34940918924542075 }, { "x": -2.0524945415012326, "y": 0.5403962034508822 }, { "x": -2.25802280368805, "y": 0.6708915593560505 }, { "x": -2.495092800000066, "y": 0.7262876000000915 }] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "-1.778mm", pcbY: "-1.016mm", radius: "0.150114mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0127mm", pcbY: "4.4036mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -2.7391999999999825, "y": 3.653599999999983 }, { "x": 2.7645999999998594, "y": 3.653599999999983 }, { "x": 2.7645999999998594, "y": -3.7806000000000495 }, { "x": -2.7391999999999825, "y": -3.7806000000000495 }, { "x": -2.7391999999999825, "y": 3.653599999999983 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C79815.obj?uuid=7abc64c95a1a4a04a4ef38f9097c870b",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C79815.step?uuid=7abc64c95a1a4a04a4ef38f9097c870b",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0.000012700000070253736, y: 0, z: 0 },
}, ...props }));
};
const section$1 = { schSheetName: "position_alarm", schSectionName: "encoder" };
const signal$1 = { thickness: "0.15mm" };
const supply$2 = { thickness: "0.3mm" };
/** Optional shaft sensor: footprint on the motor side, omitted from assembly. */
const OptionalEncoderSection = () => jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(AS5600_ASOM, { name: "U_ENCODER", doNotPlace: true, layer: "bottom", pcbX: 0, pcbY: 0, schWidth: 2.05, schHeight: 1.6, noConnect: ["OUT", "PGO"], ...section$1, schPinStyle: { pin6: { marginTop: 0.3 }, pin8: { marginTop: 0.2 }, pin5: { marginTop: 1.0 } }, schPinArrangement: { leftSide: { pins: [1, 2, 6, 7, 8], direction: "top-to-bottom" }, rightSide: { pins: [3, 5], direction: "top-to-bottom" }, bottomSide: { pins: [4], direction: "left-to-right" } } }), jsxRuntime.jsx("capacitor", { name: "C_ENCODER", capacitance: "100nF", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C1525"] }, layer: "bottom", doNotPlace: true, maxDecouplingTraceLength: 8, schOrientation: "vertical", ...section$1, schSectionName: "feedback_supply", ...revisionPlacement("C_ENCODER") }), jsxRuntime.jsx("capacitor", { name: "C_ENCODER_BULK", capacitance: "1uF", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C52923"] }, layer: "bottom", doNotPlace: true, maxDecouplingTraceLength: 8, schOrientation: "vertical", ...section$1, schSectionName: "feedback_supply", ...revisionPlacement("C_ENCODER_BULK") }), jsxRuntime.jsx("resistor", { name: "R_ENC_SDA", resistance: "4.7k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25900"] }, layer: "top", schOrientation: "pos_bottom", ...section$1, ...revisionPlacement("R_ENC_SDA") }), jsxRuntime.jsx("resistor", { name: "R_ENC_SCL", resistance: "4.7k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25900"] }, layer: "top", ...revisionPlacement("R_ENC_SCL"), schOrientation: "pos_bottom", ...section$1 }), jsxRuntime.jsx("trace", { name: "ENCODER_SDA", from: ".MCU > .U1 > .GPIO0", to: ".U_ENCODER > .SDA", schDisplayLabel: "ENC_SDA", ...signal$1 }), jsxRuntime.jsx("trace", { name: "ENCODER_SCL", from: ".MCU > .U1 > .GPIO1", to: ".U_ENCODER > .SCL", schDisplayLabel: "ENC_SCL", ...signal$1 }), jsxRuntime.jsx("trace", { name: "ENCODER_SUPPLY", from: ".MCU > .L_AVDD > .pin1", to: ".U_ENCODER > .VDD3V3", schDisplayLabel: "V3V3", ...supply$2 }), jsxRuntime.jsx("trace", { name: "ENCODER_3V3_MODE", from: ".U_ENCODER > .VDD3V3", to: ".U_ENCODER > .VDD5V", ...supply$2 }), jsxRuntime.jsx("trace", { name: "ENCODER_GND", from: ".U_ENCODER > .GND", to: "net.GND", ...supply$2 }), jsxRuntime.jsx("trace", { name: "ENCODER_DIRECTION", from: ".U_ENCODER > .DIR", to: "net.GND", ...signal$1 }), ["C_ENCODER", "C_ENCODER_BULK"].map(name => jsxRuntime.jsxs(react.Fragment, { children: [jsxRuntime.jsx("trace", { name: `${name}_VCC`, from: `.${name} > .pin1`, to: ".U_ENCODER > .VDD3V3", schDisplayLabel: "V3V3", ...supply$2 }), jsxRuntime.jsx("trace", { name: `${name}_GND`, from: `.${name} > .pin2`, to: "net.GND", ...supply$2 })] }, name)), [['R_ENC_SDA', 'SDA'], ['R_ENC_SCL', 'SCL']].map(([name, pin]) => jsxRuntime.jsxs(react.Fragment, { children: [jsxRuntime.jsx("trace", { name: `${name}_SIGNAL`, from: `.${name} > .pin1`, to: `.U_ENCODER > .${pin}`, schDisplayLabel: `ENC_${pin}`, ...signal$1 }), jsxRuntime.jsx("trace", { name: `${name}_VCC`, from: `.${name} > .pin2`, to: ".U_ENCODER > .VDD3V3", schDisplayLabel: "V3V3", ...signal$1 })] }, name))] });
var regions = [
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: -2.377508,
y: -14.533599
},
{
x: -2.555546,
y: -14.355561
},
{
x: -2.597218,
y: -14.321361
},
{
x: -2.644762,
y: -14.295948
},
{
x: -2.69635,
y: -14.280299
},
{
x: -2.75,
y: -14.275015
},
{
x: -3.89635,
y: -14.275015
},
{
x: -3.931802,
y: -14.231817
},
{
x: -3.999993,
y: -14.175854
},
{
x: -4.077792,
y: -14.134269
},
{
x: -4.162209,
y: -14.108662
},
{
x: -4.25,
y: -14.100015
},
{
x: -4.250074,
y: -14.100022
},
{
x: -4.250064,
y: -14.099925
},
{
x: -4.258711,
y: -14.012134
},
{
x: -4.284318,
y: -13.927717
},
{
x: -4.325903,
y: -13.849918
},
{
x: -4.381866,
y: -13.781727
},
{
x: -4.450057,
y: -13.725764
},
{
x: -4.527856,
y: -13.684179
},
{
x: -4.612273,
y: -13.658572
},
{
x: -4.700064,
y: -13.649925
},
{
x: -4.787855,
y: -13.658572
},
{
x: -4.872272,
y: -13.684179
},
{
x: -4.950071,
y: -13.725764
},
{
x: -5.018262,
y: -13.781727
},
{
x: -5.074225,
y: -13.849918
},
{
x: -5.11581,
y: -13.927717
},
{
x: -5.131535,
y: -13.979557
},
{
x: -5.705478,
y: -13.405614
},
{
x: -5.7,
y: -13.35
},
{
x: -5.708647,
y: -13.262209
},
{
x: -5.734254,
y: -13.177792
},
{
x: -5.742,
y: -13.1633
},
{
x: -5.246,
y: -13.1633
},
{
x: -5.19235,
y: -13.158016
},
{
x: -5.140762,
y: -13.142367
},
{
x: -5.093218,
y: -13.116954
},
{
x: -5.051546,
y: -13.082754
},
{
x: -4.750492,
y: -12.7817
},
{
x: -3.51,
y: -12.7817
},
{
x: -3.45635,
y: -12.776416
},
{
x: -3.404762,
y: -12.760767
},
{
x: -3.357218,
y: -12.735354
},
{
x: -3.315546,
y: -12.701154
},
{
x: -3.281346,
y: -12.659482
},
{
x: -3.255933,
y: -12.611938
},
{
x: -3.240284,
y: -12.56035
},
{
x: -3.23631,
y: -12.52
},
{
x: -3.04,
y: -12.52
},
{
x: -3.04,
y: -11.48
},
{
x: -2.96,
y: -11.48
},
{
x: -2.96,
y: -12.52
},
{
x: -2.02,
y: -12.52
},
{
x: -2.02,
y: -11.74803
},
{
x: -1.952209,
y: -11.741353
},
{
x: -1.867792,
y: -11.715746
},
{
x: -1.789993,
y: -11.674161
},
{
x: -1.721802,
y: -11.618198
},
{
x: -1.665839,
y: -11.550007
},
{
x: -1.624254,
y: -11.472208
},
{
x: -1.598647,
y: -11.387791
},
{
x: -1.59,
y: -11.3
},
{
x: -1.598647,
y: -11.212209
},
{
x: -1.612967,
y: -11.165
},
{
x: -1.357234,
y: -11.165
},
{
x: -1.352782,
y: -11.168654
},
{
x: -1.305238,
y: -11.194067
},
{
x: -1.25365,
y: -11.209716
},
{
x: -1.2,
y: -11.215
},
{
x: -1.113908,
y: -11.215
},
{
x: -1.044454,
y: -11.284454
},
{
x: -1.02,
y: -11.304523
},
{
x: -1.02,
y: -11.71
},
{
x: -0.190486,
y: -11.71
},
{
x: -0.191353,
y: -11.712859
},
{
x: -0.198951,
y: -11.79
},
{
x: -1.02,
y: -11.79
},
{
x: -1.02,
y: -12.54
},
{
x: -2.02,
y: -12.54
},
{
x: -2.02,
y: -13.48
},
{
x: -1.98,
y: -13.48
},
{
x: -1.98,
y: -14.25197
},
{
x: -2.047791,
y: -14.258647
},
{
x: -2.132208,
y: -14.284254
},
{
x: -2.210007,
y: -14.325839
},
{
x: -2.278198,
y: -14.381802
},
{
x: -2.334161,
y: -14.449993
},
{
x: -2.375746,
y: -14.527792
}
]
},
inner_rings: [
{
vertices: [
{
x: -3.625,
y: -13.975
},
{
x: -2.175,
y: -13.975
},
{
x: -2.175,
y: -12.875
},
{
x: -3.625,
y: -12.875
}
]
}
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 11.48,
y: -13.685
},
{
x: 11.118872,
y: -13.685
},
{
x: 11.103586,
y: -13.680363
},
{
x: 11.049936,
y: -13.675079
},
{
x: 9.225,
y: -13.675079
},
{
x: 9.225,
y: -13.273908
},
{
x: 9.253411,
y: -13.245497
},
{
x: 9.299936,
y: -13.250079
},
{
x: 9.387727,
y: -13.241432
},
{
x: 9.472144,
y: -13.215825
},
{
x: 9.549943,
y: -13.17424
},
{
x: 9.618134,
y: -13.118277
},
{
x: 9.674097,
y: -13.050086
},
{
x: 9.715682,
y: -12.972287
},
{
x: 9.741289,
y: -12.88787
},
{
x: 9.749936,
y: -12.800079
},
{
x: 9.741289,
y: -12.712288
},
{
x: 9.715682,
y: -12.627871
},
{
x: 9.700784,
y: -12.599999
},
{
x: 9.750014,
y: -12.599999
},
{
x: 9.750014,
y: -11.899999
},
{
x: 8.876697,
y: -11.899999
},
{
x: 8.87232,
y: -11.885572
},
{
x: 8.826577,
y: -11.799993
},
{
x: 8.816913,
y: -11.788217
},
{
x: 8.883953,
y: -11.733198
},
{
x: 8.939916,
y: -11.665007
},
{
x: 8.974663,
y: -11.600001
},
{
x: 9.593765,
y: -11.600001
},
{
x: 9.625839,
y: -11.660007
},
{
x: 9.681802,
y: -11.728198
},
{
x: 9.749993,
y: -11.784161
},
{
x: 9.827792,
y: -11.825746
},
{
x: 9.912209,
y: -11.851353
},
{
x: 10,
y: -11.86
},
{
x: 10.087791,
y: -11.851353
},
{
x: 10.172208,
y: -11.825746
},
{
x: 10.225343,
y: -11.797344
},
{
x: 10.242407,
y: -11.802521
},
{
x: 10.249986,
y: -11.80874
},
{
x: 10.249986,
y: -12.099873
},
{
x: 11.249985,
y: -12.099873
},
{
x: 11.249985,
y: -11.600001
},
{
x: 11.249985,
y: -11.128923
},
{
x: 11.484454,
y: -10.894454
},
{
x: 11.518654,
y: -10.852782
},
{
x: 11.544067,
y: -10.805238
},
{
x: 11.559716,
y: -10.75365
},
{
x: 11.565,
y: -10.7
},
{
x: 11.565,
y: -10.518861
},
{
x: 11.569652,
y: -10.503525
},
{
x: 11.570048,
y: -10.499507
},
{
x: 11.608198,
y: -10.468198
},
{
x: 11.624769,
y: -10.448006
},
{
x: 11.625839,
y: -10.450007
},
{
x: 11.681802,
y: -10.518198
},
{
x: 11.749993,
y: -10.574161
},
{
x: 11.827792,
y: -10.615746
},
{
x: 11.912209,
y: -10.641353
},
{
x: 12,
y: -10.65
},
{
x: 13.209109,
y: -10.65
},
{
x: 13.194254,
y: -10.677792
},
{
x: 13.168647,
y: -10.762209
},
{
x: 13.16,
y: -10.85
},
{
x: 13.168647,
y: -10.937791
},
{
x: 13.194254,
y: -11.022208
},
{
x: 13.235839,
y: -11.100007
},
{
x: 13.291802,
y: -11.168198
},
{
x: 13.359993,
y: -11.224161
},
{
x: 13.435,
y: -11.264254
},
{
x: 13.435,
y: -11.536092
},
{
x: 12.915546,
y: -12.055546
},
{
x: 12.881346,
y: -12.097218
},
{
x: 12.855933,
y: -12.144762
},
{
x: 12.840284,
y: -12.19635
},
{
x: 12.835,
y: -12.25
},
{
x: 12.835,
y: -12.275
},
{
x: 12.71,
y: -12.275
},
{
x: 12.65635,
y: -12.280284
},
{
x: 12.604762,
y: -12.295933
},
{
x: 12.557218,
y: -12.321346
},
{
x: 12.515546,
y: -12.355546
},
{
x: 12.481346,
y: -12.397218
},
{
x: 12.455933,
y: -12.444762
},
{
x: 12.453429,
y: -12.453017
},
{
x: 12.136446,
y: -12.77
},
{
x: 11.48,
y: -12.77
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 10.701091,
y: -10.900001
},
{
x: 10.4,
y: -10.900001
},
{
x: 10.4,
y: -10.81
},
{
x: 10.395196,
y: -10.761227
},
{
x: 10.38097,
y: -10.714329
},
{
x: 10.357867,
y: -10.671107
},
{
x: 10.35,
y: -10.661521
},
{
x: 10.35,
y: -10.48
},
{
x: 10.52,
y: -10.48
},
{
x: 10.52,
y: -9.54
},
{
x: 9.48,
y: -9.54
},
{
x: 9.48,
y: -9.785145
},
{
x: 9.422208,
y: -9.754254
},
{
x: 9.337791,
y: -9.728647
},
{
x: 9.25,
y: -9.72
},
{
x: 9.162209,
y: -9.728647
},
{
x: 9.077792,
y: -9.754254
},
{
x: 8.999993,
y: -9.795839
},
{
x: 8.931802,
y: -9.851802
},
{
x: 8.875839,
y: -9.919993
},
{
x: 8.8509,
y: -9.966651
},
{
x: 8.831501,
y: -9.9027
},
{
x: 8.789916,
y: -9.824901
},
{
x: 8.733953,
y: -9.75671
},
{
x: 8.665762,
y: -9.700747
},
{
x: 8.587963,
y: -9.659162
},
{
x: 8.503546,
y: -9.633555
},
{
x: 8.415755,
y: -9.624908
},
{
x: 8.327964,
y: -9.633555
},
{
x: 8.326902,
y: -9.633877
},
{
x: 8.380165,
y: -9.590165
},
{
x: 8.686299,
y: -9.284031
},
{
x: 8.712227,
y: -9.270172
},
{
x: 8.766023,
y: -9.226023
},
{
x: 8.945219,
y: -9.046827
},
{
x: 9.014341,
y: -9.067794
},
{
x: 9.0875,
y: -9.075
},
{
x: 9.138263,
y: -9.07
},
{
x: 9.2375,
y: -9.07
},
{
x: 9.309683,
y: -9.062891
},
{
x: 9.379093,
y: -9.041835
},
{
x: 9.443061,
y: -9.007644
},
{
x: 9.49913,
y: -8.96163
},
{
x: 9.50076,
y: -8.96
},
{
x: 9.52,
y: -8.96
},
{
x: 9.52,
y: -8.94076
},
{
x: 9.73576,
y: -8.725
},
{
x: 9.828742,
y: -8.725
},
{
x: 9.855869,
y: -8.733229
},
{
x: 9.95,
y: -8.7425
},
{
x: 10,
y: -8.7425
},
{
x: 10.083519,
y: -8.734274
},
{
x: 10.147271,
y: -8.753613
},
{
x: 10.2375,
y: -8.7625
},
{
x: 10.321818,
y: -8.7625
},
{
x: 10.35782,
y: -8.773421
},
{
x: 10.37154,
y: -8.774772
},
{
x: 10.434111,
y: -8.812315
},
{
x: 10.435021,
y: -8.810798
},
{
x: 10.499028,
y: -8.845011
},
{
x: 10.591418,
y: -8.873037
},
{
x: 10.6875,
y: -8.8825
},
{
x: 10.763651,
y: -8.875
},
{
x: 11.450001,
y: -8.875
},
{
x: 11.450001,
y: -9.730551
},
{
x: 11.377791,
y: -9.708647
},
{
x: 11.29,
y: -9.7
},
{
x: 11.202209,
y: -9.708647
},
{
x: 11.117792,
y: -9.734254
},
{
x: 11.039993,
y: -9.775839
},
{
x: 10.971802,
y: -9.831802
},
{
x: 10.915839,
y: -9.899993
},
{
x: 10.874254,
y: -9.977792
},
{
x: 10.848647,
y: -10.062209
},
{
x: 10.84,
y: -10.15
},
{
x: 10.848647,
y: -10.237791
},
{
x: 10.874254,
y: -10.322208
},
{
x: 10.915839,
y: -10.400007
},
{
x: 10.971802,
y: -10.468198
},
{
x: 11.015,
y: -10.50365
},
{
x: 11.015,
y: -10.586092
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 5.425064,
y: -6.743983
},
{
x: 5.425064,
y: -6.607313
},
{
x: 5.428718,
y: -6.602861
},
{
x: 5.445755,
y: -6.570987
},
{
x: 5.445755,
y: -6.620321
},
{
x: 5.445755,
y: -6.635287
},
{
x: 5.43517,
y: -6.670181
},
{
x: 5.429563,
y: -6.727107
},
{
x: 5.425362,
y: -6.740957
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 5.475064,
y: -6.324895
},
{
x: 5.475064,
y: -6.207313
},
{
x: 5.478718,
y: -6.202861
},
{
x: 5.504131,
y: -6.155317
},
{
x: 5.513013,
y: -6.126038
},
{
x: 5.576023,
y: -6.063028
},
{
x: 5.605302,
y: -6.054146
},
{
x: 5.652846,
y: -6.028733
},
{
x: 5.657298,
y: -6.025079
},
{
x: 5.795771,
y: -6.025079
},
{
x: 5.73685,
y: -6.042952
},
{
x: 5.656026,
y: -6.086154
},
{
x: 5.585183,
y: -6.144294
},
{
x: 5.527043,
y: -6.215137
},
{
x: 5.483841,
y: -6.295961
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 11.75491,
y: -7.905
},
{
x: 10.836414,
y: -7.905
},
{
x: 10.790889,
y: -7.877685
},
{
x: 10.789979,
y: -7.879202
},
{
x: 10.725972,
y: -7.844989
},
{
x: 10.633582,
y: -7.816963
},
{
x: 10.5375,
y: -7.8075
},
{
x: 10.530466,
y: -7.808193
},
{
x: 10.49218,
y: -7.796579
},
{
x: 10.48,
y: -7.795379
},
{
x: 10.48,
y: -6.98
},
{
x: 10.285,
y: -6.98
},
{
x: 10.285,
y: -6.55365
},
{
x: 10.328198,
y: -6.518198
},
{
x: 10.384161,
y: -6.450007
},
{
x: 10.425746,
y: -6.372208
},
{
x: 10.451353,
y: -6.287791
},
{
x: 10.46,
y: -6.2
},
{
x: 10.451353,
y: -6.112209
},
{
x: 10.425746,
y: -6.027792
},
{
x: 10.392183,
y: -5.965
},
{
x: 10.55,
y: -5.965
},
{
x: 10.950001,
y: -5.965
},
{
x: 10.950001,
y: -6.599959
},
{
x: 12.049999,
y: -6.599959
},
{
x: 12.049999,
y: -5.5425
},
{
x: 12.521354,
y: -5.5425
},
{
x: 12.50561,
y: -5.555421
},
{
x: 12.47141,
y: -5.597093
},
{
x: 12.445997,
y: -5.644637
},
{
x: 12.437115,
y: -5.673916
},
{
x: 12.40561,
y: -5.705421
},
{
x: 12.37141,
y: -5.747093
},
{
x: 12.345997,
y: -5.794637
},
{
x: 12.330348,
y: -5.846225
},
{
x: 12.325064,
y: -5.899875
},
{
x: 12.325064,
y: -5.942641
},
{
x: 12.32141,
y: -5.947093
},
{
x: 12.295997,
y: -5.994637
},
{
x: 12.280348,
y: -6.046225
},
{
x: 12.275064,
y: -6.099875
},
{
x: 12.275064,
y: -6.449875
},
{
x: 12.275064,
y: -6.750041
},
{
x: 12.099987,
y: -6.750041
},
{
x: 12.099987,
y: -7.846347
},
{
x: 12.092668,
y: -7.844127
},
{
x: 12,
y: -7.835
},
{
x: 11.907332,
y: -7.844127
},
{
x: 11.818225,
y: -7.871157
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 8.209121,
y: -8.702214
},
{
x: 8.203222,
y: -8.682769
},
{
x: 8.168892,
y: -8.618541
},
{
x: 8.122691,
y: -8.562245
},
{
x: 8.066395,
y: -8.516044
},
{
x: 8.036272,
y: -8.499943
},
{
x: 8.066395,
y: -8.483842
},
{
x: 8.122691,
y: -8.437641
},
{
x: 8.168892,
y: -8.381345
},
{
x: 8.203222,
y: -8.317117
},
{
x: 8.224363,
y: -8.247426
},
{
x: 8.231501,
y: -8.17495
},
{
x: 8.224363,
y: -8.102474
},
{
x: 8.203222,
y: -8.032783
},
{
x: 8.168892,
y: -7.968555
},
{
x: 8.122691,
y: -7.912259
},
{
x: 8.066395,
y: -7.866058
},
{
x: 8.002168,
y: -7.831728
},
{
x: 7.932477,
y: -7.810587
},
{
x: 7.860001,
y: -7.803449
},
{
x: 6.47151,
y: -7.803449
},
{
x: 6.399033,
y: -7.810587
},
{
x: 6.329342,
y: -7.831728
},
{
x: 6.265115,
y: -7.866058
},
{
x: 6.208819,
y: -7.912259
},
{
x: 6.162618,
y: -7.968555
},
{
x: 6.128288,
y: -8.032783
},
{
x: 6.111049,
y: -8.089612
},
{
x: 5.805719,
y: -8.092008
},
{
x: 5.819308,
y: -8.078419
},
{
x: 5.869308,
y: -8.028419
},
{
x: 5.919308,
y: -7.978419
},
{
x: 5.969308,
y: -7.928419
},
{
x: 6.019308,
y: -7.878419
},
{
x: 6.069308,
y: -7.828419
},
{
x: 6.119308,
y: -7.778419
},
{
x: 6.169308,
y: -7.728419
},
{
x: 6.219308,
y: -7.678419
},
{
x: 6.28149,
y: -7.602651
},
{
x: 6.306825,
y: -7.555253
},
{
x: 6.316939,
y: -7.542929
},
{
x: 6.361527,
y: -7.459511
},
{
x: 6.388984,
y: -7.368997
},
{
x: 6.390841,
y: -7.350145
},
{
x: 6.406148,
y: -7.299684
},
{
x: 6.415755,
y: -7.202139
},
{
x: 6.415755,
y: -7.129411
},
{
x: 6.415755,
y: -7.056684
},
{
x: 6.415755,
y: -6.983957
},
{
x: 6.415755,
y: -6.91123
},
{
x: 6.415755,
y: -6.838502
},
{
x: 6.406148,
y: -6.740957
},
{
x: 6.401947,
y: -6.727107
},
{
x: 6.39634,
y: -6.670181
},
{
x: 6.385755,
y: -6.635287
},
{
x: 6.385755,
y: -6.620321
},
{
x: 6.385755,
y: -6.547593
},
{
x: 6.383255,
y: -6.52221
},
{
x: 6.383255,
y: -6.474866
},
{
x: 6.374272,
y: -6.383661
},
{
x: 6.347669,
y: -6.295961
},
{
x: 6.304467,
y: -6.215137
},
{
x: 6.246327,
y: -6.144294
},
{
x: 6.175484,
y: -6.086154
},
{
x: 6.09466,
y: -6.042952
},
{
x: 6.035739,
y: -6.025079
},
{
x: 6.550064,
y: -6.025079
},
{
x: 6.603714,
y: -6.019795
},
{
x: 6.655302,
y: -6.004146
},
{
x: 6.702846,
y: -5.978733
},
{
x: 6.744518,
y: -5.944533
},
{
x: 8.144518,
y: -4.544533
},
{
x: 8.17505,
y: -4.50733
},
{
x: 8.17505,
y: -5.5505
},
{
x: 8.750592,
y: -5.5505
},
{
x: 8.557809,
y: -5.743283
},
{
x: 8.522208,
y: -5.724254
},
{
x: 8.437791,
y: -5.698647
},
{
x: 8.35,
y: -5.69
},
{
x: 8.262209,
y: -5.698647
},
{
x: 8.177792,
y: -5.724254
},
{
x: 8.099993,
y: -5.765839
},
{
x: 8.031802,
y: -5.821802
},
{
x: 7.975839,
y: -5.889993
},
{
x: 7.934254,
y: -5.967792
},
{
x: 7.908647,
y: -6.052209
},
{
x: 7.9,
y: -6.14
},
{
x: 7.908647,
y: -6.227791
},
{
x: 7.934254,
y: -6.312208
},
{
x: 7.975839,
y: -6.390007
},
{
x: 8.031802,
y: -6.458198
},
{
x: 8.099993,
y: -6.514161
},
{
x: 8.177792,
y: -6.555746
},
{
x: 8.262209,
y: -6.581353
},
{
x: 8.35,
y: -6.59
},
{
x: 8.437791,
y: -6.581353
},
{
x: 8.522208,
y: -6.555746
},
{
x: 8.600007,
y: -6.514161
},
{
x: 8.668198,
y: -6.458198
},
{
x: 8.724161,
y: -6.390007
},
{
x: 8.764651,
y: -6.314257
},
{
x: 8.808531,
y: -6.270377
},
{
x: 8.824254,
y: -6.322208
},
{
x: 8.865,
y: -6.398437
},
{
x: 8.865,
y: -6.5
},
{
x: 8.865,
y: -6.592766
},
{
x: 8.861346,
y: -6.597218
},
{
x: 8.835933,
y: -6.644762
},
{
x: 8.820284,
y: -6.69635
},
{
x: 8.815,
y: -6.75
},
{
x: 8.815,
y: -6.98
},
{
x: 8.52,
y: -6.98
},
{
x: 8.52,
y: -8.02
},
{
x: 8.48,
y: -8.02
},
{
x: 8.48,
y: -8.507954
},
{
x: 8.375918,
y: -8.612036
},
{
x: 8.321494,
y: -8.628545
},
{
x: 8.256661,
y: -8.663199
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: -4.225064,
y: -2.524871
},
{
x: -4.79283,
y: -2.524871
},
{
x: -4.797282,
y: -2.521217
},
{
x: -4.844826,
y: -2.495804
},
{
x: -4.880514,
y: -2.484978
},
{
x: -4.897282,
y: -2.471217
},
{
x: -4.944826,
y: -2.445804
},
{
x: -4.996414,
y: -2.430155
},
{
x: -5.050064,
y: -2.424871
},
{
x: -5.075058,
y: -2.424871
},
{
x: -5.075058,
y: -2.349929
},
{
x: -5.587109,
y: -2.349929
},
{
x: -5.594826,
y: -2.345804
},
{
x: -5.629669,
y: -2.335234
},
{
x: -5.60931,
y: -2.297145
},
{
x: -5.583703,
y: -2.212728
},
{
x: -5.581787,
y: -2.193271
},
{
x: -5.562312,
y: -2.191353
},
{
x: -5.477895,
y: -2.165746
},
{
x: -5.400096,
y: -2.124161
},
{
x: -5.331905,
y: -2.068198
},
{
x: -5.275942,
y: -2.000007
},
{
x: -5.234357,
y: -1.922208
},
{
x: -5.20875,
y: -1.837791
},
{
x: -5.200103,
y: -1.75
},
{
x: -5.20875,
y: -1.662209
},
{
x: -5.234357,
y: -1.577792
},
{
x: -5.275942,
y: -1.499993
},
{
x: -5.331905,
y: -1.431802
},
{
x: -5.400096,
y: -1.375839
},
{
x: -5.477895,
y: -1.334254
},
{
x: -5.562312,
y: -1.308647
},
{
x: -5.650103,
y: -1.3
},
{
x: -5.737894,
y: -1.308647
},
{
x: -5.822311,
y: -1.334254
},
{
x: -5.90011,
y: -1.375839
},
{
x: -5.968301,
y: -1.431802
},
{
x: -6.024264,
y: -1.499993
},
{
x: -6.024268,
y: -1.5
},
{
x: -6.225056,
y: -1.5
},
{
x: -6.225056,
y: -1.199931
},
{
x: -6.535103,
y: -1.199931
},
{
x: -6.380621,
y: -1.03
},
{
x: -5.805,
y: -1.03
},
{
x: -5.805,
y: -0.87
},
{
x: -5.02,
y: -0.87
},
{
x: -5.02,
y: -1.76
},
{
x: -3.98,
y: -1.76
},
{
x: -3.98,
y: -1.449478
},
{
x: -3.597296,
y: -1.35886
},
{
x: -3.628718,
y: -1.397147
},
{
x: -3.654131,
y: -1.444691
},
{
x: -3.663013,
y: -1.47397
},
{
x: -4.144518,
y: -1.955475
},
{
x: -4.178718,
y: -1.997147
},
{
x: -4.204131,
y: -2.044691
},
{
x: -4.21978,
y: -2.096279
},
{
x: -4.225064,
y: -2.149929
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: -9.185243,
y: -1.127991
},
{
x: -9.196346,
y: -1.107218
},
{
x: -9.201801,
y: -1.100572
},
{
x: -9.201223,
y: -1.100159
},
{
x: -9.405,
y: -0.814871
},
{
x: -9.405,
y: -0.09
},
{
x: -10.1567,
y: -0.09
},
{
x: -10.1567,
y: 0.693392
},
{
x: -9.936346,
y: 0.913746
},
{
x: -9.902146,
y: 0.955418
},
{
x: -9.876733,
y: 1.002962
},
{
x: -9.861084,
y: 1.05455
},
{
x: -9.8558,
y: 1.1082
},
{
x: -9.8558,
y: 2.19
},
{
x: -9.79869,
y: 2.19
},
{
x: -9.794716,
y: 2.14965
},
{
x: -9.779067,
y: 2.098062
},
{
x: -9.753654,
y: 2.050518
},
{
x: -9.719454,
y: 2.008846
},
{
x: -9.677782,
y: 1.974646
},
{
x: -9.630238,
y: 1.949233
},
{
x: -9.57865,
y: 1.933584
},
{
x: -9.525,
y: 1.9283
},
{
x: -9.049896,
y: 1.9283
},
{
x: -9.049896,
y: 1.117997
},
{
x: -7.849898,
y: 1.117997
},
{
x: -7.849898,
y: 1.47631
},
{
x: -7.80955,
y: 1.480284
},
{
x: -7.757962,
y: 1.495933
},
{
x: -7.710418,
y: 1.521346
},
{
x: -7.668746,
y: 1.555546
},
{
x: -7.650102,
y: 1.578263
},
{
x: -7.650102,
y: 1.117997
},
{
x: -6.450104,
y: 1.117997
},
{
x: -6.450104,
y: 2.382003
},
{
x: -6.700103,
y: 2.382003
},
{
x: -6.700103,
y: 2.401521
},
{
x: -6.692236,
y: 2.411107
},
{
x: -6.669133,
y: 2.454329
},
{
x: -6.654907,
y: 2.501227
},
{
x: -6.650103,
y: 2.55
},
{
x: -6.650103,
y: 2.637153
},
{
x: -6.646036,
y: 2.644762
},
{
x: -6.630387,
y: 2.69635
},
{
x: -6.625103,
y: 2.75
},
{
x: -6.625103,
y: 2.836092
},
{
x: -6.455649,
y: 3.005546
},
{
x: -6.421449,
y: 3.047218
},
{
x: -6.396036,
y: 3.094762
},
{
x: -6.38521,
y: 3.13045
},
{
x: -6.371449,
y: 3.147218
},
{
x: -6.346036,
y: 3.194762
},
{
x: -6.331739,
y: 3.241893
},
{
x: -6.326353,
y: 3.187209
},
{
x: -6.300746,
y: 3.102792
},
{
x: -6.259161,
y: 3.024993
},
{
x: -6.203198,
y: 2.956802
},
{
x: -6.135007,
y: 2.900839
},
{
x: -6.11,
y: 2.887472
},
{
x: -6.11,
y: 2.3
},
{
x: -6.104716,
y: 2.24635
},
{
x: -6.089067,
y: 2.194762
},
{
x: -6.063654,
y: 2.147218
},
{
x: -6.029454,
y: 2.105546
},
{
x: -5.393908,
y: 1.47
},
{
x: -5.805,
y: 1.47
},
{
x: -5.805,
y: 0.484854
},
{
x: -6.046854,
y: 0.243
},
{
x: -6.816246,
y: 0.243
},
{
x: -6.836423,
y: 0.263177
},
{
x: -6.874307,
y: 0.294267
},
{
x: -6.917529,
y: 0.31737
},
{
x: -6.964427,
y: 0.331596
},
{
x: -7.0132,
y: 0.3364
},
{
x: -7.9066,
y: 0.3364
},
{
x: -7.955373,
y: 0.331596
},
{
x: -8.002271,
y: 0.31737
},
{
x: -8.045493,
y: 0.294267
},
{
x: -8.083377,
y: 0.263177
},
{
x: -8.301777,
y: 0.044777
},
{
x: -8.332867,
y: 0.006893
},
{
x: -8.35597,
y: -0.036329
},
{
x: -8.370196,
y: -0.083227
},
{
x: -8.370863,
y: -0.09
},
{
x: -9.245,
y: -0.09
},
{
x: -9.245,
y: -1.03
},
{
x: -9.12879,
y: -1.03
},
{
x: -9.153754,
y: -1.060418
},
{
x: -9.179167,
y: -1.107962
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: -4.470546,
y: 4.109361
},
{
x: -4.475064,
y: 4.113879
},
{
x: -4.475064,
y: 4.724971
},
{
x: -4.350064,
y: 4.724971
},
{
x: -4.296414,
y: 4.730255
},
{
x: -4.244826,
y: 4.745904
},
{
x: -4.197282,
y: 4.771317
},
{
x: -4.155692,
y: 4.80545
},
{
x: -4.100064,
y: 4.799971
},
{
x: -4.012273,
y: 4.808618
},
{
x: -3.927856,
y: 4.834225
},
{
x: -3.850057,
y: 4.87581
},
{
x: -3.781866,
y: 4.931773
},
{
x: -3.77,
y: 4.946232
},
{
x: -3.77,
y: 4.2217
},
{
x: -4.25,
y: 4.2217
},
{
x: -4.30365,
y: 4.216416
},
{
x: -4.355238,
y: 4.200767
},
{
x: -4.402782,
y: 4.175354
},
{
x: -4.444454,
y: 4.141154
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 6.255853,
y: 6.949878
},
{
x: 5.500003,
y: 6.949878
},
{
x: 5.500003,
y: 6.950132
},
{
x: 4.82494,
y: 6.950132
},
{
x: 4.82494,
y: 8.172307
},
{
x: 4.868138,
y: 8.207759
},
{
x: 4.924101,
y: 8.27595
},
{
x: 4.965686,
y: 8.353749
},
{
x: 4.991293,
y: 8.438166
},
{
x: 4.99994,
y: 8.525957
},
{
x: 4.991293,
y: 8.613747
},
{
x: 4.965686,
y: 8.698164
},
{
x: 4.924101,
y: 8.775963
},
{
x: 4.868138,
y: 8.844155
},
{
x: 4.799947,
y: 8.900118
},
{
x: 4.722148,
y: 8.941703
},
{
x: 4.642791,
y: 8.965775
},
{
x: 5.319022,
y: 9.959682
},
{
x: 8.040775,
y: 10.660739
},
{
x: 8.018647,
y: 10.587791
},
{
x: 8.01,
y: 10.5
},
{
x: 8.018647,
y: 10.412209
},
{
x: 8.044254,
y: 10.327792
},
{
x: 8.085839,
y: 10.249993
},
{
x: 8.141802,
y: 10.181802
},
{
x: 8.209993,
y: 10.125839
},
{
x: 8.287792,
y: 10.084254
},
{
x: 8.372209,
y: 10.058647
},
{
x: 8.46,
y: 10.05
},
{
x: 8.547791,
y: 10.058647
},
{
x: 8.632208,
y: 10.084254
},
{
x: 8.710007,
y: 10.125839
},
{
x: 8.778198,
y: 10.181802
},
{
x: 8.834161,
y: 10.249993
},
{
x: 8.875746,
y: 10.327792
},
{
x: 8.901353,
y: 10.412209
},
{
x: 8.904258,
y: 10.441699
},
{
x: 8.907791,
y: 10.442047
},
{
x: 8.992208,
y: 10.467654
},
{
x: 9.070007,
y: 10.509239
},
{
x: 9.138198,
y: 10.565202
},
{
x: 9.194161,
y: 10.633393
},
{
x: 9.224934,
y: 10.690964
},
{
x: 9.224934,
y: 9.839865
},
{
x: 8.65548,
y: 9.270411
},
{
x: 8.62128,
y: 9.228739
},
{
x: 8.595867,
y: 9.181195
},
{
x: 8.580218,
y: 9.129607
},
{
x: 8.574934,
y: 9.075957
},
{
x: 8.574934,
y: 8.000957
},
{
x: 7.749934,
y: 8.000957
},
{
x: 7.696284,
y: 7.995673
},
{
x: 7.644696,
y: 7.980024
},
{
x: 7.597152,
y: 7.954611
},
{
x: 7.55548,
y: 7.920411
},
{
x: 6.886026,
y: 7.250957
},
{
x: 6.599934,
y: 7.250957
},
{
x: 6.546284,
y: 7.245673
},
{
x: 6.494696,
y: 7.230024
},
{
x: 6.447152,
y: 7.204611
},
{
x: 6.40548,
y: 7.170411
},
{
x: 6.35548,
y: 7.120411
},
{
x: 6.32128,
y: 7.078739
},
{
x: 6.295867,
y: 7.031195
},
{
x: 6.285041,
y: 6.995507
},
{
x: 6.27128,
y: 6.978739
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: -15.809586,
y: -8.436306
},
{
x: -16.9217,
y: -7.324192
},
{
x: -16.9217,
y: -6.684808
},
{
x: -16.853092,
y: -6.6162
},
{
x: -16.5238,
y: -6.6162
},
{
x: -16.47015,
y: -6.610916
},
{
x: -16.418562,
y: -6.595267
},
{
x: -16.371018,
y: -6.569854
},
{
x: -16.329346,
y: -6.535654
},
{
x: -16.029646,
y: -6.235954
},
{
x: -15.995446,
y: -6.194282
},
{
x: -15.970033,
y: -6.146738
},
{
x: -15.954384,
y: -6.09515
},
{
x: -15.9491,
y: -6.0415
},
{
x: -15.9491,
y: 4.0908
},
{
x: -15.951219,
y: 4.112319
},
{
x: -15.940746,
y: 4.077792
},
{
x: -15.899161,
y: 3.999993
},
{
x: -15.843198,
y: 3.931802
},
{
x: -15.775007,
y: 3.875839
},
{
x: -15.697208,
y: 3.834254
},
{
x: -15.612791,
y: 3.808647
},
{
x: -15.525,
y: 3.8
},
{
x: -15.437209,
y: 3.808647
},
{
x: -15.352792,
y: 3.834254
},
{
x: -15.274993,
y: 3.875839
},
{
x: -15.206802,
y: 3.931802
},
{
x: -15.150839,
y: 3.999993
},
{
x: -15.109254,
y: 4.077792
},
{
x: -15.083647,
y: 4.162209
},
{
x: -15.075,
y: 4.25
},
{
x: -15.080478,
y: 4.305614
},
{
x: -15.061092,
y: 4.325
},
{
x: -14.225,
y: 4.325
},
{
x: -14.225,
y: 4.400942
},
{
x: -14.224951,
y: 4.400902
},
{
x: -14.165653,
y: 4.369206
},
{
x: -14.011048,
y: 3.680724
},
{
x: -14.041802,
y: 3.718198
},
{
x: -14.109993,
y: 3.774161
},
{
x: -14.187792,
y: 3.815746
},
{
x: -14.272209,
y: 3.841353
},
{
x: -14.36,
y: 3.85
},
{
x: -14.447791,
y: 3.841353
},
{
x: -14.532208,
y: 3.815746
},
{
x: -14.610007,
y: 3.774161
},
{
x: -14.678198,
y: 3.718198
},
{
x: -14.734161,
y: 3.650007
},
{
x: -14.775746,
y: 3.572208
},
{
x: -14.801353,
y: 3.487791
},
{
x: -14.81,
y: 3.4
},
{
x: -14.804522,
y: 3.344386
},
{
x: -15.175427,
y: 2.973481
},
{
x: -15.21365,
y: 2.969716
},
{
x: -15.265238,
y: 2.954067
},
{
x: -15.312782,
y: 2.928654
},
{
x: -15.354454,
y: 2.894454
},
{
x: -15.385959,
y: 2.862949
},
{
x: -15.415238,
y: 2.854067
},
{
x: -15.462782,
y: 2.828654
},
{
x: -15.504454,
y: 2.794454
},
{
x: -15.704454,
y: 2.594454
},
{
x: -15.738654,
y: 2.552782
},
{
x: -15.764067,
y: 2.505238
},
{
x: -15.779716,
y: 2.45365
},
{
x: -15.785,
y: 2.4
},
{
x: -15.785,
y: 1.95
},
{
x: -15.779716,
y: 1.89635
},
{
x: -15.764067,
y: 1.844762
},
{
x: -15.738654,
y: 1.797218
},
{
x: -15.724893,
y: 1.78045
},
{
x: -15.714067,
y: 1.744762
},
{
x: -15.688654,
y: 1.697218
},
{
x: -15.654454,
y: 1.655546
},
{
x: -15.285,
y: 1.286092
},
{
x: -15.285,
y: 0.42
},
{
x: -15.48,
y: 0.42
},
{
x: -15.48,
y: -0.62
},
{
x: -14.54,
y: -0.62
},
{
x: -14.54,
y: 0.42
},
{
x: -14.735,
y: 0.42
},
{
x: -14.735,
y: 1.4
},
{
x: -14.740284,
y: 1.45365
},
{
x: -14.755933,
y: 1.505238
},
{
x: -14.781346,
y: 1.552782
},
{
x: -14.815546,
y: 1.594454
},
{
x: -14.954981,
y: 1.733889
},
{
x: -14.892792,
y: 1.752754
},
{
x: -14.814993,
y: 1.794339
},
{
x: -14.746802,
y: 1.850302
},
{
x: -14.690839,
y: 1.918493
},
{
x: -14.660582,
y: 1.9751
},
{
x: -14.132489,
y: 1.9751
},
{
x: -14.132489,
y: 1.910059
},
{
x: -13.132491,
y: 1.910059
},
{
x: -13.132491,
y: 2.409931
},
{
x: -13.132491,
y: 2.416864
},
{
x: -13.100598,
y: 2.378002
},
{
x: -13.032407,
y: 2.322039
},
{
x: -12.954608,
y: 2.280454
},
{
x: -12.870191,
y: 2.254847
},
{
x: -12.7824,
y: 2.2462
},
{
x: -12.694609,
y: 2.254847
},
{
x: -12.610192,
y: 2.280454
},
{
x: -12.532393,
y: 2.322039
},
{
x: -12.464202,
y: 2.378002
},
{
x: -12.408239,
y: 2.446193
},
{
x: -12.366654,
y: 2.523992
},
{
x: -12.341047,
y: 2.608409
},
{
x: -12.3324,
y: 2.6962
},
{
x: -12.341047,
y: 2.783991
},
{
x: -12.366654,
y: 2.868408
},
{
x: -12.408239,
y: 2.946207
},
{
x: -12.464202,
y: 3.014398
},
{
x: -12.532393,
y: 3.070361
},
{
x: -12.610192,
y: 3.111946
},
{
x: -12.694609,
y: 3.137553
},
{
x: -12.7824,
y: 3.1462
},
{
x: -12.870191,
y: 3.137553
},
{
x: -12.954608,
y: 3.111946
},
{
x: -13.032407,
y: 3.070361
},
{
x: -13.087801,
y: 3.0249
},
{
x: -13.132491,
y: 3.0249
},
{
x: -13.132491,
y: 3.590067
},
{
x: -13.38643,
y: 3.590067
},
{
x: -13.387294,
y: 3.598835
},
{
x: -13.40152,
y: 3.645733
},
{
x: -13.424623,
y: 3.688955
},
{
x: -13.455713,
y: 3.726839
},
{
x: -13.458284,
y: 3.72941
},
{
x: -13.48249,
y: 3.837203
},
{
x: -13.48249,
y: 4.000062
},
{
x: -13.487294,
y: 4.048835
},
{
x: -13.50152,
y: 4.095733
},
{
x: -13.524623,
y: 4.138955
},
{
x: -13.528824,
y: 4.144074
},
{
x: -13.528423,
y: 4.144824
},
{
x: -13.512774,
y: 4.196412
},
{
x: -13.50749,
y: 4.250062
},
{
x: -13.50749,
y: 5.486154
},
{
x: -12.738036,
y: 6.255608
},
{
x: -12.703836,
y: 6.29728
},
{
x: -12.678423,
y: 6.344824
},
{
x: -12.667597,
y: 6.380512
},
{
x: -12.653836,
y: 6.39728
},
{
x: -12.628423,
y: 6.444824
},
{
x: -12.612774,
y: 6.496412
},
{
x: -12.60749,
y: 6.550062
},
{
x: -12.60749,
y: 8.036154
},
{
x: -11.938036,
y: 8.705608
},
{
x: -11.903836,
y: 8.74728
},
{
x: -11.878423,
y: 8.794824
},
{
x: -11.862774,
y: 8.846412
},
{
x: -11.85749,
y: 8.900062
},
{
x: -11.85749,
y: 10.281046
},
{
x: -11.854067,
y: 10.269762
},
{
x: -11.828654,
y: 10.222218
},
{
x: -11.794454,
y: 10.180546
},
{
x: -11.744454,
y: 10.130546
},
{
x: -11.702782,
y: 10.096346
},
{
x: -11.655238,
y: 10.070933
},
{
x: -11.60365,
y: 10.055284
},
{
x: -11.55,
y: 10.05
},
{
x: -10.107234,
y: 10.05
},
{
x: -10.102782,
y: 10.046346
},
{
x: -10.055238,
y: 10.020933
},
{
x: -10.00365,
y: 10.005284
},
{
x: -9.95,
y: 10
},
{
x: -9.513908,
y: 10
},
{
x: -8.694454,
y: 9.180546
},
{
x: -8.652782,
y: 9.146346
},
{
x: -8.605238,
y: 9.120933
},
{
x: -8.55365,
y: 9.105284
},
{
x: -8.5,
y: 9.1
},
{
x: -8.05,
y: 9.1
},
{
x: -7.99635,
y: 9.105284
},
{
x: -7.944762,
y: 9.120933
},
{
x: -7.897218,
y: 9.146346
},
{
x: -7.855546,
y: 9.180546
},
{
x: -7.536092,
y: 9.5
},
{
x: -6.45,
y: 9.5
},
{
x: -6.39635,
y: 9.505284
},
{
x: -6.344762,
y: 9.520933
},
{
x: -6.297218,
y: 9.546346
},
{
x: -6.28045,
y: 9.560107
},
{
x: -6.244762,
y: 9.570933
},
{
x: -6.197218,
y: 9.596346
},
{
x: -6.18045,
y: 9.610107
},
{
x: -6.144762,
y: 9.620933
},
{
x: -6.097218,
y: 9.646346
},
{
x: -6.055546,
y: 9.680546
},
{
x: -5.936092,
y: 9.8
},
{
x: -5.1,
y: 9.8
},
{
x: -5.04635,
y: 9.805284
},
{
x: -4.994762,
y: 9.820933
},
{
x: -4.947218,
y: 9.846346
},
{
x: -4.93045,
y: 9.860107
},
{
x: -4.894762,
y: 9.870933
},
{
x: -4.847218,
y: 9.896346
},
{
x: -4.83045,
y: 9.910107
},
{
x: -4.794762,
y: 9.920933
},
{
x: -4.747218,
y: 9.946346
},
{
x: -4.705546,
y: 9.980546
},
{
x: -4.605546,
y: 10.080546
},
{
x: -4.571346,
y: 10.122218
},
{
x: -4.545933,
y: 10.169762
},
{
x: -4.535107,
y: 10.20545
},
{
x: -4.521346,
y: 10.222218
},
{
x: -4.495933,
y: 10.269762
},
{
x: -4.487051,
y: 10.299041
},
{
x: -4.405546,
y: 10.380546
},
{
x: -4.371346,
y: 10.422218
},
{
x: -4.345933,
y: 10.469762
},
{
x: -4.330284,
y: 10.52135
},
{
x: -4.325,
y: 10.575
},
{
x: -4.325,
y: 10.996446
},
{
x: -4.046446,
y: 11.275
},
{
x: -3.125,
y: 11.275
},
{
x: -3.125,
y: 12.375
},
{
x: -4.435306,
y: 12.375
},
{
x: -4.475736,
y: 12.424264
},
{
x: -4.531472,
y: 12.48
},
{
x: -4.02,
y: 12.48
},
{
x: -4.02,
y: 12.5698
},
{
x: -3.972208,
y: 12.544254
},
{
x: -3.887791,
y: 12.518647
},
{
x: -3.8,
y: 12.51
},
{
x: -3.712209,
y: 12.518647
},
{
x: -3.627792,
y: 12.544254
},
{
x: -3.549993,
y: 12.585839
},
{
x: -3.481802,
y: 12.641802
},
{
x: -3.425839,
y: 12.709993
},
{
x: -3.384254,
y: 12.787792
},
{
x: -3.358647,
y: 12.872209
},
{
x: -3.35282,
y: 12.931371
},
{
x: -1.756784,
y: 11.867347
},
{
x: -1.751353,
y: 11.812209
},
{
x: -1.725746,
y: 11.727792
},
{
x: -1.684161,
y: 11.649993
},
{
x: -1.628198,
y: 11.581802
},
{
x: -1.560007,
y: 11.525839
},
{
x: -1.48662,
y: 11.486613
},
{
x: -2.424739,
y: 10.742587
},
{
x: -2.5,
y: 10.75
},
{
x: -2.587791,
y: 10.741353
},
{
x: -2.672208,
y: 10.715746
},
{
x: -2.750007,
y: 10.674161
},
{
x: -2.818198,
y: 10.618198
},
{
x: -2.874161,
y: 10.550007
},
{
x: -2.915746,
y: 10.472208
},
{
x: -2.941353,
y: 10.387791
},
{
x: -2.95,
y: 10.3
},
{
x: -2.941353,
y: 10.212209
},
{
x: -2.915746,
y: 10.127792
},
{
x: -2.874161,
y: 10.049993
},
{
x: -2.818198,
y: 9.981802
},
{
x: -2.750007,
y: 9.925839
},
{
x: -2.672208,
y: 9.884254
},
{
x: -2.587791,
y: 9.858647
},
{
x: -2.5,
y: 9.85
},
{
x: -2.412209,
y: 9.858647
},
{
x: -2.327792,
y: 9.884254
},
{
x: -2.249993,
y: 9.925839
},
{
x: -2.181802,
y: 9.981802
},
{
x: -2.125839,
y: 10.049993
},
{
x: -2.084254,
y: 10.127792
},
{
x: -2.058647,
y: 10.212209
},
{
x: -2.052778,
y: 10.271796
},
{
x: -0.863582,
y: 11.214951
},
{
x: -0.864453,
y: 11.21605
},
{
x: -0.837868,
y: 11.237868
},
{
x: -0.811665,
y: 11.269796
},
{
x: -0.810702,
y: 11.269068
},
{
x: -0.375,
y: 11.845319
},
{
x: -0.375,
y: 11.275
},
{
x: 0.542658,
y: 11.275
},
{
x: 0.191958,
y: 10.9243
},
{
x: -0.5787,
y: 10.9243
},
{
x: -0.646982,
y: 10.917575
},
{
x: -0.712639,
y: 10.897658
},
{
x: -0.77315,
y: 10.865314
},
{
x: -0.826187,
y: 10.821787
},
{
x: -0.869714,
y: 10.76875
},
{
x: -0.902058,
y: 10.708239
},
{
x: -0.921975,
y: 10.642582
},
{
x: -0.922518,
y: 10.637068
},
{
x: -2.463554,
y: 9.096032
},
{
x: -2.458647,
y: 9.112209
},
{
x: -2.45,
y: 9.2
},
{
x: -2.458647,
y: 9.287791
},
{
x: -2.484254,
y: 9.372208
},
{
x: -2.525839,
y: 9.450007
},
{
x: -2.581802,
y: 9.518198
},
{
x: -2.649993,
y: 9.574161
},
{
x: -2.727792,
y: 9.615746
},
{
x: -2.812209,
y: 9.641353
},
{
x: -2.9,
y: 9.65
},
{
x: -2.987791,
y: 9.641353
},
{
x: -3.072208,
y: 9.615746
},
{
x: -3.150007,
y: 9.574161
},
{
x: -3.218198,
y: 9.518198
},
{
x: -3.274161,
y: 9.450007
},
{
x: -3.315746,
y: 9.372208
},
{
x: -3.322483,
y: 9.35
},
{
x: -4.15,
y: 9.35
},
{
x: -4.208527,
y: 9.344236
},
{
x: -4.264805,
y: 9.327164
},
{
x: -4.316671,
y: 9.299441
},
{
x: -4.362132,
y: 9.262132
},
{
x: -4.362283,
y: 9.261947
},
{
x: -4.3623,
y: 9.261964
},
{
x: -4.9,
y: 8.723411
},
{
x: -4.9,
y: 8.85
},
{
x: -7.8,
y: 8.85
},
{
x: -7.8,
y: 7.607312
},
{
x: -7.877785,
y: 7.565735
},
{
x: -7.953553,
y: 7.503553
},
{
x: -8.949557,
y: 6.507549
},
{
x: -9.027785,
y: 6.465735
},
{
x: -9.103553,
y: 6.403553
},
{
x: -9.165735,
y: 6.327785
},
{
x: -9.21194,
y: 6.241342
},
{
x: -9.240393,
y: 6.147545
},
{
x: -9.25,
y: 6.05
},
{
x: -9.25,
y: 6.037697
},
{
x: -9.258135,
y: 6.027785
},
{
x: -9.30434,
y: 5.941342
},
{
x: -9.332793,
y: 5.847545
},
{
x: -9.334712,
y: 5.828064
},
{
x: -9.35434,
y: 5.791342
},
{
x: -9.382793,
y: 5.697545
},
{
x: -9.386784,
y: 5.657024
},
{
x: -9.390393,
y: 5.645126
},
{
x: -9.4,
y: 5.547581
},
{
x: -9.4,
y: 5.497581
},
{
x: -9.390393,
y: 5.400036
},
{
x: -9.36194,
y: 5.306239
},
{
x: -9.315735,
y: 5.219796
},
{
x: -9.2674,
y: 5.1609
},
{
x: -9.2674,
y: 5.083645
},
{
x: -9.288855,
y: 5.043506
},
{
x: -9.294469,
y: 5.025
},
{
x: -9.6174,
y: 5.025
},
{
x: -9.6174,
y: 3.866896
},
{
x: -9.674993,
y: 3.914161
},
{
x: -9.752792,
y: 3.955746
},
{
x: -9.837209,
y: 3.981353
},
{
x: -9.925,
y: 3.99
},
{
x: -10.012791,
y: 3.981353
},
{
x: -10.097208,
y: 3.955746
},
{
x: -10.175007,
y: 3.914161
},
{
x: -10.243198,
y: 3.858198
},
{
x: -10.299161,
y: 3.790007
},
{
x: -10.340746,
y: 3.712208
},
{
x: -10.366353,
y: 3.627791
},
{
x: -10.370069,
y: 3.590067
},
{
x: -10.576159,
y: 3.590067
},
{
x: -10.680546,
y: 3.694454
},
{
x: -10.722218,
y: 3.728654
},
{
x: -10.769762,
y: 3.754067
},
{
x: -10.82135,
y: 3.769716
},
{
x: -10.875,
y: 3.775
},
{
x: -10.885,
y: 3.775
},
{
x: -10.93135,
y: 3.775
},
{
x: -10.966802,
y: 3.818198
},
{
x: -11.034993,
y: 3.874161
},
{
x: -11.112792,
y: 3.915746
},
{
x: -11.197209,
y: 3.941353
},
{
x: -11.219931,
y: 3.943591
},
{
x: -10.450044,
y: 4.827535
},
{
x: -10.424944,
y: 4.825063
},
{
x: -10.337153,
y: 4.83371
},
{
x: -10.252736,
y: 4.859317
},
{
x: -10.174937,
y: 4.900902
},
{
x: -10.106746,
y: 4.956865
},
{
x: -10.050783,
y: 5.025056
},
{
x: -10.009198,
y: 5.102855
},
{
x: -9.983591,
y: 5.187272
},
{
x: -9.974944,
y: 5.275063
},
{
x: -9.983591,
y: 5.362854
},
{
x: -10.009198,
y: 5.447271
},
{
x: -10.050783,
y: 5.52507
},
{
x: -10.106746,
y: 5.593261
},
{
x: -10.174937,
y: 5.649224
},
{
x: -10.252736,
y: 5.690809
},
{
x: -10.337153,
y: 5.716416
},
{
x: -10.424944,
y: 5.725063
},
{
x: -10.512735,
y: 5.716416
},
{
x: -10.597152,
y: 5.690809
},
{
x: -10.674951,
y: 5.649224
},
{
x: -10.743142,
y: 5.593261
},
{
x: -10.799105,
y: 5.52507
},
{
x: -10.84069,
y: 5.447271
},
{
x: -10.866297,
y: 5.362854
},
{
x: -10.874944,
y: 5.275063
},
{
x: -10.866297,
y: 5.187272
},
{
x: -10.866243,
y: 5.187095
},
{
x: -11.982316,
y: 3.905678
},
{
x: -11.981406,
y: 3.904885
},
{
x: -12.003598,
y: 3.877845
},
{
x: -12.029011,
y: 3.830301
},
{
x: -12.04466,
y: 3.778713
},
{
x: -12.049944,
y: 3.725063
},
{
x: -12.049944,
y: 1.375063
},
{
x: -12.04466,
y: 1.321413
},
{
x: -12.029011,
y: 1.269825
},
{
x: -12.003598,
y: 1.222281
},
{
x: -11.969398,
y: 1.180609
},
{
x: -11.399944,
y: 0.611155
},
{
x: -11.399944,
y: -0.061029
},
{
x: -11.719398,
y: -0.380483
},
{
x: -11.753598,
y: -0.422155
},
{
x: -11.779011,
y: -0.469699
},
{
x: -11.79466,
y: -0.521287
},
{
x: -11.795678,
y: -0.53162
},
{
x: -11.79649,
y: -0.53149
},
{
x: -11.903441,
y: -1.199931
},
{
x: -12.024944,
y: -1.199931
},
{
x: -12.024944,
y: -2.349929
},
{
x: -12.385,
y: -2.349929
},
{
x: -12.385,
y: -1.812847
},
{
x: -12.380933,
y: -1.805238
},
{
x: -12.365284,
y: -1.75365
},
{
x: -12.36,
y: -1.7
},
{
x: -12.36,
y: -0.75
},
{
x: -12.365284,
y: -0.69635
},
{
x: -12.380933,
y: -0.644762
},
{
x: -12.385,
y: -0.637153
},
{
x: -12.385,
y: -0.27
},
{
x: -12.165,
y: -0.27
},
{
x: -12.165,
y: 0.77
},
{
x: -12.538824,
y: 0.77
},
{
x: -12.556346,
y: 0.802782
},
{
x: -12.590546,
y: 0.844454
},
{
x: -12.640478,
y: 0.894386
},
{
x: -12.635,
y: 0.95
},
{
x: -12.643647,
y: 1.037791
},
{
x: -12.669254,
y: 1.122208
},
{
x: -12.710839,
y: 1.200007
},
{
x: -12.766802,
y: 1.268198
},
{
x: -12.834993,
y: 1.324161
},
{
x: -12.912792,
y: 1.365746
},
{
x: -12.997209,
y: 1.391353
},
{
x: -13.085,
y: 1.4
},
{
x: -13.172791,
y: 1.391353
},
{
x: -13.257208,
y: 1.365746
},
{
x: -13.335007,
y: 1.324161
},
{
x: -13.403198,
y: 1.268198
},
{
x: -13.459161,
y: 1.200007
},
{
x: -13.500746,
y: 1.122208
},
{
x: -13.526353,
y: 1.037791
},
{
x: -13.535,
y: 0.95
},
{
x: -13.526353,
y: 0.862209
},
{
x: -13.500746,
y: 0.777792
},
{
x: -13.459161,
y: 0.699993
},
{
x: -13.403198,
y: 0.631802
},
{
x: -13.335007,
y: 0.575839
},
{
x: -13.257208,
y: 0.534254
},
{
x: -13.172791,
y: 0.508647
},
{
x: -13.105,
y: 0.50197
},
{
x: -13.105,
y: 0.158908
},
{
x: -13.117792,
y: 0.165746
},
{
x: -13.202209,
y: 0.191353
},
{
x: -13.29,
y: 0.2
},
{
x: -13.377791,
y: 0.191353
},
{
x: -13.462208,
y: 0.165746
},
{
x: -13.52,
y: 0.134855
},
{
x: -13.52,
y: 0.42
},
{
x: -14.46,
y: 0.42
},
{
x: -14.46,
y: -0.62
},
{
x: -14.05285,
y: -0.62
},
{
x: -14.065834,
y: -0.644291
},
{
x: -14.091441,
y: -0.728708
},
{
x: -14.100088,
y: -0.816499
},
{
x: -14.091441,
y: -0.90429
},
{
x: -14.065834,
y: -0.988707
},
{
x: -14.024249,
y: -1.066506
},
{
x: -13.968286,
y: -1.134697
},
{
x: -13.925088,
y: -1.170149
},
{
x: -13.925088,
y: -1.452591
},
{
x: -14.213996,
y: -1.741499
},
{
x: -14.900088,
y: -1.741499
},
{
x: -14.953738,
y: -1.746783
},
{
x: -15.005326,
y: -1.762432
},
{
x: -15.05287,
y: -1.787845
},
{
x: -15.069638,
y: -1.801606
},
{
x: -15.105326,
y: -1.812432
},
{
x: -15.15287,
y: -1.837845
},
{
x: -15.194542,
y: -1.872045
},
{
x: -15.228742,
y: -1.913717
},
{
x: -15.254155,
y: -1.961261
},
{
x: -15.264981,
y: -1.996949
},
{
x: -15.278742,
y: -2.013717
},
{
x: -15.304155,
y: -2.061261
},
{
x: -15.319804,
y: -2.112849
},
{
x: -15.325088,
y: -2.166499
},
{
x: -15.325088,
y: -5.102591
},
{
x: -15.494542,
y: -5.272045
},
{
x: -15.528742,
y: -5.313717
},
{
x: -15.554155,
y: -5.361261
},
{
x: -15.569804,
y: -5.412849
},
{
x: -15.575088,
y: -5.466499
},
{
x: -15.575088,
y: -6.066499
},
{
x: -15.575088,
y: -6.467265
},
{
x: -15.613987,
y: -6.488057
},
{
x: -15.685968,
y: -6.54713
},
{
x: -15.745041,
y: -6.61911
},
{
x: -15.788936,
y: -6.701233
},
{
x: -15.815967,
y: -6.79034
},
{
x: -15.825094,
y: -6.883009
},
{
x: -15.825094,
y: -7.249989
},
{
x: -15.815967,
y: -7.342658
},
{
x: -15.788936,
y: -7.431765
},
{
x: -15.745041,
y: -7.513888
},
{
x: -15.685968,
y: -7.585868
},
{
x: -15.613987,
y: -7.644941
},
{
x: -15.531865,
y: -7.688837
},
{
x: -15.442757,
y: -7.715867
},
{
x: -15.350088,
y: -7.724994
},
{
x: -15.257419,
y: -7.715867
},
{
x: -15.168311,
y: -7.688837
},
{
x: -15.086189,
y: -7.644941
},
{
x: -15.014208,
y: -7.585868
},
{
x: -14.955135,
y: -7.513888
},
{
x: -14.91124,
y: -7.431765
},
{
x: -14.9,
y: -7.394713
},
{
x: -14.88876,
y: -7.431765
},
{
x: -14.844865,
y: -7.513888
},
{
x: -14.785792,
y: -7.585868
},
{
x: -14.713811,
y: -7.644941
},
{
x: -14.635055,
y: -7.687038
},
{
x: -14.665658,
y: -7.744291
},
{
x: -14.691265,
y: -7.828708
},
{
x: -14.699912,
y: -7.916499
},
{
x: -14.691265,
y: -8.00429
},
{
x: -14.665658,
y: -8.088707
},
{
x: -14.648774,
y: -8.120295
},
{
x: -14.713811,
y: -8.155059
},
{
x: -14.785792,
y: -8.214132
},
{
x: -14.844865,
y: -8.286112
},
{
x: -14.88876,
y: -8.368235
},
{
x: -14.9,
y: -8.405287
},
{
x: -14.91124,
y: -8.368235
},
{
x: -14.955135,
y: -8.286112
},
{
x: -15.014208,
y: -8.214132
},
{
x: -15.086189,
y: -8.155059
},
{
x: -15.168311,
y: -8.111163
},
{
x: -15.257419,
y: -8.084133
},
{
x: -15.350088,
y: -8.075006
},
{
x: -15.442757,
y: -8.084133
},
{
x: -15.531865,
y: -8.111163
},
{
x: -15.613987,
y: -8.155059
},
{
x: -15.685968,
y: -8.214132
},
{
x: -15.745041,
y: -8.286112
},
{
x: -15.788936,
y: -8.368235
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: -8.163908,
y: 9.65
},
{
x: -8.386092,
y: 9.65
},
{
x: -9.205546,
y: 10.469454
},
{
x: -9.218396,
y: 10.48
},
{
x: -8.54,
y: 10.48
},
{
x: -8.54,
y: 11.046092
},
{
x: -8.398194,
y: 11.187898
},
{
x: -8.327792,
y: 11.209254
},
{
x: -8.249993,
y: 11.250839
},
{
x: -8.181802,
y: 11.306802
},
{
x: -8.125839,
y: 11.374993
},
{
x: -8.084254,
y: 11.452792
},
{
x: -8.058647,
y: 11.537209
},
{
x: -8.05,
y: 11.625
},
{
x: -8.058647,
y: 11.712791
},
{
x: -8.084254,
y: 11.797208
},
{
x: -8.125839,
y: 11.875007
},
{
x: -8.181802,
y: 11.943198
},
{
x: -8.249993,
y: 11.999161
},
{
x: -8.327792,
y: 12.040746
},
{
x: -8.41071,
y: 12.065898
},
{
x: -8.400518,
y: 12.071346
},
{
x: -8.358846,
y: 12.105546
},
{
x: -8.324646,
y: 12.147218
},
{
x: -8.299233,
y: 12.194762
},
{
x: -8.283584,
y: 12.24635
},
{
x: -8.2783,
y: 12.3
},
{
x: -8.2783,
y: 12.642792
},
{
x: -7.555546,
y: 13.365546
},
{
x: -7.521346,
y: 13.407218
},
{
x: -7.495933,
y: 13.454762
},
{
x: -7.480284,
y: 13.50635
},
{
x: -7.475,
y: 13.56
},
{
x: -7.475002,
y: 13.560017
},
{
x: -7.475,
y: 13.560017
},
{
x: -7.475007,
y: 13.675958
},
{
x: -7.40006,
y: 13.675958
},
{
x: -7.025003,
y: 13.675958
},
{
x: -7.025,
y: 13.638281
},
{
x: -7.024998,
y: 13.638281
},
{
x: -7.019716,
y: 13.58465
},
{
x: -7.004067,
y: 13.533062
},
{
x: -6.978654,
y: 13.485518
},
{
x: -6.944454,
y: 13.443846
},
{
x: -6.902782,
y: 13.409646
},
{
x: -6.855238,
y: 13.384233
},
{
x: -6.80365,
y: 13.368584
},
{
x: -6.75,
y: 13.3633
},
{
x: -6.583874,
y: 13.3633
},
{
x: -6.56581,
y: 13.303749
},
{
x: -6.524225,
y: 13.22595
},
{
x: -6.468262,
y: 13.157759
},
{
x: -6.458102,
y: 13.149421
},
{
x: -6.564664,
y: 13.181746
},
{
x: -6.75,
y: 13.2
},
{
x: -6.935336,
y: 13.181746
},
{
x: -7.113549,
y: 13.127686
},
{
x: -7.277792,
y: 13.039896
},
{
x: -7.421751,
y: 12.921751
},
{
x: -7.539896,
y: 12.777792
},
{
x: -7.627686,
y: 12.613549
},
{
x: -7.681746,
y: 12.435336
},
{
x: -7.7,
y: 12.25
},
{
x: -7.681746,
y: 12.064664
},
{
x: -7.627686,
y: 11.886451
},
{
x: -7.539896,
y: 11.722208
},
{
x: -7.421751,
y: 11.578249
},
{
x: -7.277792,
y: 11.460104
},
{
x: -7.113549,
y: 11.372314
},
{
x: -6.935336,
y: 11.318254
},
{
x: -6.75,
y: 11.3
},
{
x: -6.564664,
y: 11.318254
},
{
x: -6.486837,
y: 11.341863
},
{
x: -6.399549,
y: 11.254575
},
{
x: -6.4,
y: 11.25
},
{
x: -6.390393,
y: 11.152455
},
{
x: -6.36194,
y: 11.058658
},
{
x: -6.315735,
y: 10.972215
},
{
x: -6.253553,
y: 10.896447
},
{
x: -5.707106,
y: 10.35
},
{
x: -6.05,
y: 10.35
},
{
x: -6.10365,
y: 10.344716
},
{
x: -6.155238,
y: 10.329067
},
{
x: -6.202782,
y: 10.303654
},
{
x: -6.244454,
y: 10.269454
},
{
x: -6.375959,
y: 10.137949
},
{
x: -6.405238,
y: 10.129067
},
{
x: -6.452782,
y: 10.103654
},
{
x: -6.46955,
y: 10.089893
},
{
x: -6.505238,
y: 10.079067
},
{
x: -6.552782,
y: 10.053654
},
{
x: -6.557234,
y: 10.05
},
{
x: -7.65,
y: 10.05
},
{
x: -7.70365,
y: 10.044716
},
{
x: -7.755238,
y: 10.029067
},
{
x: -7.802782,
y: 10.003654
},
{
x: -7.844454,
y: 9.969454
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "top",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 14.402466,
y: -20.860003
},
{
x: -1.471143,
y: -20.859996
},
{
x: -0.497916,
y: -19.886769
},
{
x: -0.491265,
y: -19.95429
},
{
x: -0.465658,
y: -20.038707
},
{
x: -0.424073,
y: -20.116506
},
{
x: -0.36811,
y: -20.184697
},
{
x: -0.299919,
y: -20.24066
},
{
x: -0.22212,
y: -20.282245
},
{
x: -0.137703,
y: -20.307852
},
{
x: -0.049912,
y: -20.316499
},
{
x: 0.005702,
y: -20.311021
},
{
x: 0.055634,
y: -20.360953
},
{
x: 0.097306,
y: -20.395153
},
{
x: 0.14485,
y: -20.420566
},
{
x: 0.180538,
y: -20.431392
},
{
x: 0.197306,
y: -20.445153
},
{
x: 0.24485,
y: -20.470566
},
{
x: 0.296438,
y: -20.486215
},
{
x: 0.350088,
y: -20.491499
},
{
x: 1.23,
y: -20.491499
},
{
x: 1.23,
y: -20.73
},
{
x: 2.27,
y: -20.73
},
{
x: 2.27,
y: -20.468309
},
{
x: 2.32788,
y: -20.499247
},
{
x: 2.412297,
y: -20.524854
},
{
x: 2.500088,
y: -20.533501
},
{
x: 2.587879,
y: -20.524854
},
{
x: 2.672296,
y: -20.499247
},
{
x: 2.750095,
y: -20.457662
},
{
x: 2.818286,
y: -20.401699
},
{
x: 2.874249,
y: -20.333508
},
{
x: 2.915834,
y: -20.255709
},
{
x: 2.941441,
y: -20.171292
},
{
x: 2.950088,
y: -20.083501
},
{
x: 2.941441,
y: -19.99571
},
{
x: 2.915834,
y: -19.911293
},
{
x: 2.874249,
y: -19.833494
},
{
x: 2.818286,
y: -19.765303
},
{
x: 2.750095,
y: -19.70934
},
{
x: 2.672296,
y: -19.667755
},
{
x: 2.587879,
y: -19.642148
},
{
x: 2.500088,
y: -19.633501
},
{
x: 2.444474,
y: -19.638979
},
{
x: 2.394542,
y: -19.589047
},
{
x: 2.35287,
y: -19.554847
},
{
x: 2.305326,
y: -19.529434
},
{
x: 2.27,
y: -19.518718
},
{
x: 2.27,
y: -19.365
},
{
x: 2.65,
y: -19.365
},
{
x: 2.70365,
y: -19.359716
},
{
x: 2.755238,
y: -19.344067
},
{
x: 2.802782,
y: -19.318654
},
{
x: 2.808221,
y: -19.31419
},
{
x: 2.85365,
y: -19.309716
},
{
x: 2.905238,
y: -19.294067
},
{
x: 2.952782,
y: -19.268654
},
{
x: 2.994454,
y: -19.234454
},
{
x: 3.094454,
y: -19.134454
},
{
x: 3.128654,
y: -19.092782
},
{
x: 3.154067,
y: -19.045238
},
{
x: 3.164893,
y: -19.00955
},
{
x: 3.178654,
y: -18.992782
},
{
x: 3.204067,
y: -18.945238
},
{
x: 3.219716,
y: -18.89365
},
{
x: 3.225,
y: -18.84
},
{
x: 3.225,
y: -18.704254
},
{
x: 3.295011,
y: -18.666831
},
{
x: 3.295011,
y: -19.100127
},
{
x: 4.205017,
y: -19.100127
},
{
x: 4.205017,
y: -18.595695
},
{
x: 4.250014,
y: -18.600127
},
{
x: 4.337805,
y: -18.59148
},
{
x: 4.422222,
y: -18.565873
},
{
x: 4.500021,
y: -18.524288
},
{
x: 4.568212,
y: -18.468325
},
{
x: 4.624175,
y: -18.400134
},
{
x: 4.66576,
y: -18.322335
},
{
x: 4.691367,
y: -18.237918
},
{
x: 4.700014,
y: -18.150127
},
{
x: 4.691367,
y: -18.062336
},
{
x: 4.66576,
y: -17.977919
},
{
x: 4.624175,
y: -17.90012
},
{
x: 4.568212,
y: -17.831929
},
{
x: 4.500021,
y: -17.775966
},
{
x: 4.422222,
y: -17.734381
},
{
x: 4.337805,
y: -17.708774
},
{
x: 4.250014,
y: -17.700127
},
{
x: 4.162223,
y: -17.708774
},
{
x: 4.077806,
y: -17.734381
},
{
x: 4.025014,
y: -17.762599
},
{
x: 4.025014,
y: -17.700127
},
{
x: 4.025014,
y: -17.214035
},
{
x: 5.8444,
y: -15.394649
},
{
x: 5.900014,
y: -15.400127
},
{
x: 5.987805,
y: -15.39148
},
{
x: 6.072222,
y: -15.365873
},
{
x: 6.102439,
y: -15.349722
},
{
x: 6.107147,
y: -15.397526
},
{
x: 6.128288,
y: -15.467217
},
{
x: 6.162618,
y: -15.531445
},
{
x: 6.208819,
y: -15.587741
},
{
x: 6.265115,
y: -15.633942
},
{
x: 6.295238,
y: -15.650043
},
{
x: 6.265115,
y: -15.666144
},
{
x: 6.208819,
y: -15.712345
},
{
x: 6.162618,
y: -15.768641
},
{
x: 6.128288,
y: -15.832869
},
{
x: 6.107147,
y: -15.90256
},
{
x: 6.100009,
y: -15.975036
},
{
x: 6.107147,
y: -16.047512
},
{
x: 6.128288,
y: -16.117203
},
{
x: 6.162618,
y: -16.181431
},
{
x: 6.208819,
y: -16.237727
},
{
x: 6.265115,
y: -16.283928
},
{
x: 6.329342,
y: -16.318258
},
{
x: 6.399033,
y: -16.339399
},
{
x: 6.47151,
y: -16.346537
},
{
x: 7.860001,
y: -16.346537
},
{
x: 7.932477,
y: -16.339399
},
{
x: 7.969065,
y: -16.3283
},
{
x: 8.48,
y: -16.3283
},
{
x: 8.48,
y: -16.98
},
{
x: 9.52,
y: -16.98
},
{
x: 9.52,
y: -16.299083
},
{
x: 9.525839,
y: -16.310007
},
{
x: 9.581802,
y: -16.378198
},
{
x: 9.649993,
y: -16.434161
},
{
x: 9.727792,
y: -16.475746
},
{
x: 9.812209,
y: -16.501353
},
{
x: 9.9,
y: -16.51
},
{
x: 9.987791,
y: -16.501353
},
{
x: 10.072208,
y: -16.475746
},
{
x: 10.150007,
y: -16.434161
},
{
x: 10.218198,
y: -16.378198
},
{
x: 10.274161,
y: -16.310007
},
{
x: 10.315746,
y: -16.232208
},
{
x: 10.341353,
y: -16.147791
},
{
x: 10.35,
y: -16.06
},
{
x: 10.344522,
y: -16.004386
},
{
x: 10.368908,
y: -15.98
},
{
x: 11.014592,
y: -15.98
},
{
x: 11.55,
y: -16.515408
},
{
x: 11.55,
y: -18.382894
},
{
x: 11.196447,
y: -18.736447
},
{
x: 11.134265,
y: -18.812215
},
{
x: 11.08806,
y: -18.898658
},
{
x: 11.059607,
y: -18.992455
},
{
x: 11.053313,
y: -19.056357
},
{
x: 10.90967,
y: -19.2
},
{
x: 9.675,
y: -19.2
},
{
x: 9.675,
y: -20.725
},
{
x: 11.825,
y: -20.725
},
{
x: 11.825,
y: -19.507224
},
{
x: 11.827785,
y: -19.505735
},
{
x: 11.903553,
y: -19.443553
},
{
x: 12.403553,
y: -18.943553
},
{
x: 12.465735,
y: -18.867785
},
{
x: 12.51194,
y: -18.781342
},
{
x: 12.540393,
y: -18.687545
},
{
x: 12.55,
y: -18.59
},
{
x: 12.55,
y: -17.821144
},
{
x: 13.119428,
y: -18.390572
},
{
x: 13.190271,
y: -18.448712
},
{
x: 13.194441,
y: -18.450941
},
{
x: 13.30175,
y: -18.55825
},
{
x: 13.376382,
y: -18.619499
},
{
x: 13.461528,
y: -18.665011
},
{
x: 13.470196,
y: -18.66764
},
{
x: 13.474993,
y: -18.671577
},
{
x: 13.560572,
y: -18.71732
},
{
x: 13.582773,
y: -18.724055
},
{
x: 13.630548,
y: -18.763263
},
{
x: 13.697622,
y: -18.799115
},
{
x: 13.724993,
y: -18.821577
},
{
x: 13.810572,
y: -18.86732
},
{
x: 13.825502,
y: -18.871849
},
{
x: 13.910572,
y: -18.91732
},
{
x: 14.00343,
y: -18.945489
},
{
x: 14.070911,
y: -18.952135
},
{
x: 14.081937,
y: -18.961184
},
{
x: 14.165355,
y: -19.005772
},
{
x: 14.255869,
y: -19.033229
},
{
x: 14.290032,
y: -19.036594
},
{
x: 14.317269,
y: -19.051152
},
{
x: 14.406844,
y: -19.078325
},
{
x: 14.5,
y: -19.0875
},
{
x: 14.51084,
y: -19.086432
},
{
x: 14.521095,
y: -19.091914
},
{
x: 14.608795,
y: -19.118517
},
{
x: 14.686334,
y: -19.126154
},
{
x: 14.720139,
y: -19.144223
},
{
x: 14.808308,
y: -19.170969
},
{
x: 14.9,
y: -19.18
},
{
x: 14.991692,
y: -19.170969
},
{
x: 15.003128,
y: -19.1675
},
{
x: 15.196532,
y: -19.1675
},
{
x: 15.224922,
y: -19.182675
},
{
x: 15.310746,
y: -19.208709
},
{
x: 15.4,
y: -19.2175
},
{
x: 15.6,
y: -19.2175
},
{
x: 15.689254,
y: -19.208709
},
{
x: 15.775078,
y: -19.182675
},
{
x: 15.803468,
y: -19.1675
},
{
x: 16.1,
y: -19.1675
},
{
x: 16.189254,
y: -19.158709
},
{
x: 16.275078,
y: -19.132675
},
{
x: 16.280082,
y: -19.13
},
{
x: 16.3,
y: -19.13
},
{
x: 16.391692,
y: -19.120969
},
{
x: 16.479861,
y: -19.094223
},
{
x: 16.513666,
y: -19.076154
},
{
x: 16.591205,
y: -19.068517
},
{
x: 16.678905,
y: -19.041914
},
{
x: 16.695557,
y: -19.033013
},
{
x: 16.743156,
y: -19.028325
},
{
x: 16.832731,
y: -19.001152
},
{
x: 16.895308,
y: -18.967705
},
{
x: 16.934645,
y: -18.955772
},
{
x: 16.990111,
y: -18.926125
},
{
x: 16.992668,
y: -18.925873
},
{
x: 17.081775,
y: -18.898843
},
{
x: 17.086125,
y: -18.896518
},
{
x: 17.09657,
y: -18.895489
},
{
x: 17.189428,
y: -18.86732
},
{
x: 17.274498,
y: -18.821849
},
{
x: 17.289428,
y: -18.81732
},
{
x: 17.375007,
y: -18.771577
},
{
x: 17.450018,
y: -18.710018
},
{
x: 17.464114,
y: -18.692841
},
{
x: 17.475685,
y: -18.686657
},
{
x: 17.539428,
y: -18.66732
},
{
x: 17.625007,
y: -18.621577
},
{
x: 17.700018,
y: -18.560018
},
{
x: 17.716199,
y: -18.540301
},
{
x: 17.744953,
y: -18.511547
},
{
x: 17.823618,
y: -18.469499
},
{
x: 17.89825,
y: -18.40825
},
{
x: 18.39825,
y: -17.90825
},
{
x: 18.459499,
y: -17.833618
},
{
x: 18.505011,
y: -17.748472
},
{
x: 18.505237,
y: -17.747727
},
{
x: 18.546482,
y: -17.706482
},
{
x: 18.60742,
y: -17.632229
},
{
x: 18.652701,
y: -17.547515
},
{
x: 18.655402,
y: -17.53861
},
{
x: 18.659499,
y: -17.533618
},
{
x: 18.705011,
y: -17.448472
},
{
x: 18.713706,
y: -17.419807
},
{
x: 18.749105,
y: -17.376674
},
{
x: 18.778944,
y: -17.320849
},
{
x: 18.809499,
y: -17.283618
},
{
x: 18.855011,
y: -17.198472
},
{
x: 18.863243,
y: -17.171336
},
{
x: 18.902701,
y: -17.097515
},
{
x: 18.905402,
y: -17.08861
},
{
x: 18.909499,
y: -17.083618
},
{
x: 18.955011,
y: -16.998472
},
{
x: 18.955272,
y: -16.997612
},
{
x: 19.00295,
y: -16.992916
},
{
x: 19.054538,
y: -16.977267
},
{
x: 19.102082,
y: -16.951854
},
{
x: 19.143754,
y: -16.917654
},
{
x: 19.399454,
y: -16.661954
},
{
x: 19.433654,
y: -16.620282
},
{
x: 19.459067,
y: -16.572738
},
{
x: 19.474716,
y: -16.52115
},
{
x: 19.48,
y: -16.4675
},
{
x: 19.48,
y: -16.175208
},
{
x: 19.701154,
y: -15.954054
},
{
x: 19.735354,
y: -15.912382
},
{
x: 19.760767,
y: -15.864838
},
{
x: 19.776416,
y: -15.81325
},
{
x: 19.7817,
y: -15.7596
},
{
x: 19.7817,
y: -15.331872
},
{
x: 19.801786,
y: -15.311786
},
{
x: 19.863656,
y: -15.236396
},
{
x: 19.90963,
y: -15.150385
},
{
x: 19.937941,
y: -15.057057
},
{
x: 19.9475,
y: -14.96
},
{
x: 19.937941,
y: -14.862943
},
{
x: 19.90963,
y: -14.769615
},
{
x: 19.863656,
y: -14.683604
},
{
x: 19.801786,
y: -14.608214
},
{
x: 19.7817,
y: -14.59173
},
{
x: 19.7817,
y: -13.8609
},
{
x: 19.776416,
y: -13.80725
},
{
x: 19.760767,
y: -13.755662
},
{
x: 19.735354,
y: -13.708118
},
{
x: 19.701154,
y: -13.666446
},
{
x: 19.536954,
y: -13.502246
},
{
x: 19.52,
y: -13.488332
},
{
x: 19.52,
y: -12.77
},
{
x: 18.48,
y: -12.77
},
{
x: 18.48,
y: -13.351092
},
{
x: 18.375,
y: -13.246092
},
{
x: 18.375,
y: -12.86365
},
{
x: 18.418198,
y: -12.828198
},
{
x: 18.474161,
y: -12.760007
},
{
x: 18.515746,
y: -12.682208
},
{
x: 18.541353,
y: -12.597791
},
{
x: 18.55,
y: -12.51
},
{
x: 18.541353,
y: -12.422209
},
{
x: 18.515746,
y: -12.337792
},
{
x: 18.474161,
y: -12.259993
},
{
x: 18.418198,
y: -12.191802
},
{
x: 18.350007,
y: -12.135839
},
{
x: 18.272208,
y: -12.094254
},
{
x: 18.187791,
y: -12.068647
},
{
x: 18.1,
y: -12.06
},
{
x: 18.012209,
y: -12.068647
},
{
x: 17.927792,
y: -12.094254
},
{
x: 17.849993,
y: -12.135839
},
{
x: 17.781802,
y: -12.191802
},
{
x: 17.725839,
y: -12.259993
},
{
x: 17.684254,
y: -12.337792
},
{
x: 17.658647,
y: -12.422209
},
{
x: 17.65,
y: -12.51
},
{
x: 17.658647,
y: -12.597791
},
{
x: 17.684254,
y: -12.682208
},
{
x: 17.725839,
y: -12.760007
},
{
x: 17.781802,
y: -12.828198
},
{
x: 17.825,
y: -12.86365
},
{
x: 17.825,
y: -13.36
},
{
x: 17.830284,
y: -13.41365
},
{
x: 17.845933,
y: -13.465238
},
{
x: 17.871346,
y: -13.512782
},
{
x: 17.905546,
y: -13.554454
},
{
x: 18.48,
y: -14.128908
},
{
x: 18.48,
y: -14.73
},
{
x: 18.976428,
y: -14.73
},
{
x: 18.398214,
y: -15.308214
},
{
x: 18.336344,
y: -15.383604
},
{
x: 18.29037,
y: -15.469615
},
{
x: 18.262059,
y: -15.562943
},
{
x: 18.2525,
y: -15.66
},
{
x: 18.259163,
y: -15.727654
},
{
x: 18.246387,
y: -15.769771
},
{
x: 18.2375,
y: -15.86
},
{
x: 18.2375,
y: -15.98422
},
{
x: 18.213467,
y: -16.029182
},
{
x: 18.186579,
y: -16.11782
},
{
x: 18.178991,
y: -16.19486
},
{
x: 18.161157,
y: -16.228225
},
{
x: 18.134127,
y: -16.317332
},
{
x: 18.131326,
y: -16.34577
},
{
x: 18.113467,
y: -16.379182
},
{
x: 18.086579,
y: -16.46782
},
{
x: 18.085665,
y: -16.477096
},
{
x: 18.058848,
y: -16.527269
},
{
x: 18.041159,
y: -16.58558
},
{
x: 18.040501,
y: -16.586382
},
{
x: 17.994989,
y: -16.671528
},
{
x: 17.986757,
y: -16.698664
},
{
x: 17.947299,
y: -16.772485
},
{
x: 17.944598,
y: -16.78139
},
{
x: 17.940501,
y: -16.786382
},
{
x: 17.894989,
y: -16.871528
},
{
x: 17.886294,
y: -16.900193
},
{
x: 17.850895,
y: -16.943326
},
{
x: 17.821056,
y: -16.999151
},
{
x: 17.790501,
y: -17.036382
},
{
x: 17.744989,
y: -17.121528
},
{
x: 17.744763,
y: -17.122273
},
{
x: 17.703518,
y: -17.163518
},
{
x: 17.656122,
y: -17.22127
},
{
x: 17.227475,
y: -17.649917
},
{
x: 17.226382,
y: -17.650501
},
{
x: 17.15175,
y: -17.71175
},
{
x: 17.110928,
y: -17.752572
},
{
x: 17.110572,
y: -17.75268
},
{
x: 17.024993,
y: -17.798423
},
{
x: 16.997622,
y: -17.820885
},
{
x: 16.930548,
y: -17.856737
},
{
x: 16.882773,
y: -17.895945
},
{
x: 16.860572,
y: -17.90268
},
{
x: 16.775502,
y: -17.948151
},
{
x: 16.760572,
y: -17.95268
},
{
x: 16.674993,
y: -17.998423
},
{
x: 16.664335,
y: -18.00717
},
{
x: 16.618225,
y: -18.021157
},
{
x: 16.566896,
y: -18.048593
},
{
x: 16.515355,
y: -18.064228
},
{
x: 16.465623,
y: -18.09081
},
{
x: 16.456844,
y: -18.091675
},
{
x: 16.367269,
y: -18.118848
},
{
x: 16.316923,
y: -18.145758
},
{
x: 16.258795,
y: -18.151483
},
{
x: 16.171095,
y: -18.178086
},
{
x: 16.148536,
y: -18.190144
},
{
x: 16.058308,
y: -18.199031
},
{
x: 15.970139,
y: -18.225777
},
{
x: 15.920143,
y: -18.2525
},
{
x: 15.65,
y: -18.2525
},
{
x: 15.560746,
y: -18.261291
},
{
x: 15.528739,
y: -18.271
},
{
x: 15.471261,
y: -18.271
},
{
x: 15.439254,
y: -18.261291
},
{
x: 15.35,
y: -18.2525
},
{
x: 15.079857,
y: -18.2525
},
{
x: 15.029861,
y: -18.225777
},
{
x: 14.941692,
y: -18.199031
},
{
x: 14.851464,
y: -18.190144
},
{
x: 14.828905,
y: -18.178086
},
{
x: 14.741205,
y: -18.151483
},
{
x: 14.683077,
y: -18.145758
},
{
x: 14.632731,
y: -18.118848
},
{
x: 14.543156,
y: -18.091675
},
{
x: 14.534377,
y: -18.09081
},
{
x: 14.484645,
y: -18.064228
},
{
x: 14.433104,
y: -18.048593
},
{
x: 14.381775,
y: -18.021157
},
{
x: 14.335665,
y: -18.00717
},
{
x: 14.325007,
y: -17.998423
},
{
x: 14.239428,
y: -17.95268
},
{
x: 14.224498,
y: -17.948151
},
{
x: 14.139428,
y: -17.90268
},
{
x: 14.117227,
y: -17.895945
},
{
x: 14.069452,
y: -17.856737
},
{
x: 14.002378,
y: -17.820885
},
{
x: 13.975007,
y: -17.798423
},
{
x: 13.889428,
y: -17.75268
},
{
x: 13.889072,
y: -17.752572
},
{
x: 13.84825,
y: -17.71175
},
{
x: 13.773618,
y: -17.650501
},
{
x: 13.688472,
y: -17.604989
},
{
x: 13.642052,
y: -17.590908
},
{
x: 12.55,
y: -16.498856
},
{
x: 12.55,
y: -16.29
},
{
x: 12.540393,
y: -16.192455
},
{
x: 12.51194,
y: -16.098658
},
{
x: 12.466469,
y: -16.013588
},
{
x: 12.46194,
y: -15.998658
},
{
x: 12.415735,
y: -15.912215
},
{
x: 12.353553,
y: -15.836447
},
{
x: 11.7225,
y: -15.205394
},
{
x: 11.7225,
y: -15.173676
},
{
x: 11.728133,
y: -15.155107
},
{
x: 11.7375,
y: -15.06
},
{
x: 11.728133,
y: -14.964893
},
{
x: 11.700391,
y: -14.873442
},
{
x: 11.655341,
y: -14.78916
},
{
x: 11.655052,
y: -14.788808
},
{
x: 11.650391,
y: -14.773442
},
{
x: 11.627171,
y: -14.73
},
{
x: 12.52,
y: -14.73
},
{
x: 12.52,
y: -13.79
},
{
x: 11.918908,
y: -13.79
},
{
x: 11.894454,
y: -13.765546
},
{
x: 11.852782,
y: -13.731346
},
{
x: 11.812847,
y: -13.71
},
{
x: 12.52,
y: -13.71
},
{
x: 12.52,
y: -13.70154
},
{
x: 12.593547,
y: -13.740852
},
{
x: 12.677964,
y: -13.766459
},
{
x: 12.765755,
y: -13.775106
},
{
x: 12.768199,
y: -13.774865
},
{
x: 12.7682,
y: -13.775099
},
{
x: 13.116128,
y: -13.773209
},
{
x: 13.116127,
y: -13.772975
},
{
x: 13.201473,
y: -13.764569
},
{
x: 13.28589,
y: -13.738961
},
{
x: 13.363689,
y: -13.697377
},
{
x: 13.429114,
y: -13.643685
},
{
x: 13.42935,
y: -13.643925
},
{
x: 13.670088,
y: -13.406971
},
{
x: 13.681746,
y: -13.397014
},
{
x: 13.835111,
y: -13.273721
},
{
x: 13.855493,
y: -13.258608
},
{
x: 13.960224,
y: -13.18541
},
{
x: 13.98483,
y: -13.169228
},
{
x: 14.092123,
y: -13.102895
},
{
x: 14.120867,
y: -13.086226
},
{
x: 14.173949,
y: -13.056663
},
{
x: 14.209697,
y: -13.037565
},
{
x: 14.208676,
y: -13.035653
},
{
x: 14.24766,
y: -13.014816
},
{
x: 14.297276,
y: -12.974098
},
{
x: 14.298423,
y: -12.975375
},
{
x: 14.77126,
y: -12.5505
},
{
x: 16.03255,
y: -12.5505
},
{
x: 16.03255,
y: -10.65
},
{
x: 18.775525,
y: -10.65
},
{
x: 19.17505,
y: -11.180632
},
{
x: 19.17505,
y: -12.5505
},
{
x: 20.78255,
y: -12.5505
},
{
x: 20.78255,
y: -10.4495
},
{
x: 19.751145,
y: -10.4495
},
{
x: 19.359495,
y: -9.929328
},
{
x: 19.358078,
y: -9.930395
},
{
x: 19.318198,
y: -9.881802
},
{
x: 19.250007,
y: -9.825839
},
{
x: 19.172208,
y: -9.784254
},
{
x: 19.087791,
y: -9.758647
},
{
x: 19,
y: -9.75
},
{
x: 18.164676,
y: -9.75
},
{
x: 18.215735,
y: -9.687785
},
{
x: 18.26194,
y: -9.601342
},
{
x: 18.290393,
y: -9.507545
},
{
x: 18.3,
y: -9.41
},
{
x: 18.3,
y: -9.36
},
{
x: 18.290393,
y: -9.262455
},
{
x: 18.26194,
y: -9.168658
},
{
x: 18.248348,
y: -9.14323
},
{
x: 18.240393,
y: -9.062455
},
{
x: 18.21194,
y: -8.968658
},
{
x: 18.165735,
y: -8.882215
},
{
x: 18.108887,
y: -8.812947
},
{
x: 18.065735,
y: -8.732215
},
{
x: 18.003553,
y: -8.656447
},
{
x: 17.903553,
y: -8.556447
},
{
x: 17.827785,
y: -8.494265
},
{
x: 17.747053,
y: -8.451113
},
{
x: 17.677785,
y: -8.394265
},
{
x: 17.591342,
y: -8.34806
},
{
x: 17.569377,
y: -8.341397
},
{
x: 17.636396,
y: -8.286396
},
{
x: 17.748323,
y: -8.150013
},
{
x: 17.831492,
y: -7.994415
},
{
x: 17.882707,
y: -7.825581
},
{
x: 17.9,
y: -7.65
},
{
x: 17.882707,
y: -7.474419
},
{
x: 17.831492,
y: -7.305585
},
{
x: 17.748323,
y: -7.149987
},
{
x: 17.636396,
y: -7.013604
},
{
x: 17.500013,
y: -6.901677
},
{
x: 17.344415,
y: -6.818508
},
{
x: 17.175581,
y: -6.767293
},
{
x: 17,
y: -6.75
},
{
x: 16.824419,
y: -6.767293
},
{
x: 16.655585,
y: -6.818508
},
{
x: 16.499987,
y: -6.901677
},
{
x: 16.363604,
y: -7.013604
},
{
x: 16.251677,
y: -7.149987
},
{
x: 16.168508,
y: -7.305585
},
{
x: 16.117293,
y: -7.474419
},
{
x: 16.1,
y: -7.65
},
{
x: 16.117293,
y: -7.825581
},
{
x: 16.168508,
y: -7.994415
},
{
x: 16.251677,
y: -8.150013
},
{
x: 16.363604,
y: -8.286396
},
{
x: 16.438059,
y: -8.3475
},
{
x: 15.444606,
y: -8.3475
},
{
x: 15.303553,
y: -8.206447
},
{
x: 15.227785,
y: -8.144265
},
{
x: 15.141342,
y: -8.09806
},
{
x: 15.126412,
y: -8.093531
},
{
x: 15.080074,
y: -8.068763
},
{
x: 15.053553,
y: -8.036447
},
{
x: 14.977785,
y: -7.974265
},
{
x: 14.891342,
y: -7.92806
},
{
x: 14.797545,
y: -7.899607
},
{
x: 14.7,
y: -7.89
},
{
x: 14.460252,
y: -7.89
},
{
x: 14.514723,
y: -7.795025
},
{
x: 14.512855,
y: -7.793954
},
{
x: 14.542511,
y: -7.738472
},
{
x: 14.570537,
y: -7.646082
},
{
x: 14.58,
y: -7.55
},
{
x: 14.570537,
y: -7.453918
},
{
x: 14.542511,
y: -7.361528
},
{
x: 14.528371,
y: -7.335075
},
{
x: 14.530197,
y: -7.334185
},
{
x: 14.073985,
y: -6.398366
},
{
x: 14.06194,
y: -6.358658
},
{
x: 14.015735,
y: -6.272215
},
{
x: 13.953553,
y: -6.196447
},
{
x: 13.906246,
y: -6.157622
},
{
x: 13.907635,
y: -6.155842
},
{
x: 13.880373,
y: -6.134565
},
{
x: 13.900071,
y: -6.124036
},
{
x: 13.968262,
y: -6.068073
},
{
x: 14.024225,
y: -5.999882
},
{
x: 14.06581,
y: -5.922083
},
{
x: 14.091417,
y: -5.837666
},
{
x: 14.100064,
y: -5.749875
},
{
x: 14.091417,
y: -5.662084
},
{
x: 14.06581,
y: -5.577667
},
{
x: 14.035635,
y: -5.521215
},
{
x: 14.082997,
y: -5.51655
},
{
x: 14.108968,
y: -5.508672
},
{
x: 14.109466,
y: -5.51075
},
{
x: 16.270265,
y: -4.99326
},
{
x: 16.159315,
y: -5.084315
},
{
x: 16.059824,
y: -5.205544
},
{
x: 15.985896,
y: -5.343853
},
{
x: 15.940372,
y: -5.493928
},
{
x: 15.925,
y: -5.65
},
{
x: 15.940372,
y: -5.806072
},
{
x: 15.985896,
y: -5.956147
},
{
x: 16.059824,
y: -6.094456
},
{
x: 16.159315,
y: -6.215685
},
{
x: 16.280544,
y: -6.315176
},
{
x: 16.418853,
y: -6.389104
},
{
x: 16.568928,
y: -6.434628
},
{
x: 16.725,
y: -6.45
},
{
x: 17.275,
y: -6.45
},
{
x: 17.431072,
y: -6.434628
},
{
x: 17.581147,
y: -6.389104
},
{
x: 17.719456,
y: -6.315176
},
{
x: 17.840685,
y: -6.215685
},
{
x: 17.940176,
y: -6.094456
},
{
x: 18.014104,
y: -5.956147
},
{
x: 18.059628,
y: -5.806072
},
{
x: 18.075,
y: -5.65
},
{
x: 18.059628,
y: -5.493928
},
{
x: 18.014104,
y: -5.343853
},
{
x: 17.940176,
y: -5.205544
},
{
x: 17.840685,
y: -5.084315
},
{
x: 17.719456,
y: -4.984824
},
{
x: 17.581147,
y: -4.910896
},
{
x: 17.431072,
y: -4.865372
},
{
x: 17.275,
y: -4.85
},
{
x: 16.746569,
y: -4.85
},
{
x: 16.798899,
y: -4.822029
},
{
x: 16.904975,
y: -4.734975
},
{
x: 17.18995,
y: -4.45
},
{
x: 17.275,
y: -4.45
},
{
x: 17.431072,
y: -4.434628
},
{
x: 17.581147,
y: -4.389104
},
{
x: 17.719456,
y: -4.315176
},
{
x: 17.840685,
y: -4.215685
},
{
x: 17.940176,
y: -4.094456
},
{
x: 18.014104,
y: -3.956147
},
{
x: 18.059628,
y: -3.806072
},
{
x: 18.075,
y: -3.65
},
{
x: 18.059628,
y: -3.493928
},
{
x: 18.014104,
y: -3.343853
},
{
x: 17.940176,
y: -3.205544
},
{
x: 17.840685,
y: -3.084315
},
{
x: 17.719456,
y: -2.984824
},
{
x: 17.581147,
y: -2.910896
},
{
x: 17.431072,
y: -2.865372
},
{
x: 17.275,
y: -2.85
},
{
x: 16.725,
y: -2.85
},
{
x: 16.568928,
y: -2.865372
},
{
x: 16.418853,
y: -2.910896
},
{
x: 16.280544,
y: -2.984824
},
{
x: 16.159315,
y: -3.084315
},
{
x: 16.059824,
y: -3.205544
},
{
x: 15.985896,
y: -3.343853
},
{
x: 15.940372,
y: -3.493928
},
{
x: 15.926376,
y: -3.636028
},
{
x: 13.7834,
y: -4.14925
},
{
x: 13.783898,
y: -4.151329
},
{
x: 13.678555,
y: -4.183284
},
{
x: 13.557534,
y: -4.247971
},
{
x: 13.451459,
y: -4.335025
},
{
x: 13.373263,
y: -4.430307
},
{
x: 13.301852,
y: -4.4575
},
{
x: 12.699985,
y: -4.4575
},
{
x: 12.699985,
y: -3.400041
},
{
x: 12.129558,
y: -3.400041
},
{
x: 12.168262,
y: -3.368277
},
{
x: 12.224225,
y: -3.300086
},
{
x: 12.26581,
y: -3.222287
},
{
x: 12.291417,
y: -3.13787
},
{
x: 12.300064,
y: -3.050079
},
{
x: 12.291417,
y: -2.962288
},
{
x: 12.26581,
y: -2.877871
},
{
x: 12.224225,
y: -2.800072
},
{
x: 12.168262,
y: -2.731881
},
{
x: 12.100071,
y: -2.675918
},
{
x: 12.022272,
y: -2.634333
},
{
x: 11.937855,
y: -2.608726
},
{
x: 11.850064,
y: -2.600079
},
{
x: 11.762273,
y: -2.608726
},
{
x: 11.677856,
y: -2.634333
},
{
x: 11.600057,
y: -2.675918
},
{
x: 11.531866,
y: -2.731881
},
{
x: 11.475903,
y: -2.800072
},
{
x: 11.434318,
y: -2.877871
},
{
x: 11.408711,
y: -2.962288
},
{
x: 11.400064,
y: -3.050079
},
{
x: 11.408711,
y: -3.13787
},
{
x: 11.434318,
y: -3.222287
},
{
x: 11.475903,
y: -3.300086
},
{
x: 11.531866,
y: -3.368277
},
{
x: 11.575064,
y: -3.403729
},
{
x: 11.575064,
y: -3.750079
},
{
x: 11.580348,
y: -3.803729
},
{
x: 11.595997,
y: -3.855317
},
{
x: 11.599987,
y: -3.862782
},
{
x: 11.599987,
y: -4.4575
},
{
x: 10.537614,
y: -4.4575
},
{
x: 10.528878,
y: -4.368802
},
{
x: 10.490609,
y: -4.242645
},
{
x: 10.428463,
y: -4.126379
},
{
x: 10.344829,
y: -4.024471
},
{
x: 10.242921,
y: -3.940837
},
{
x: 10.126655,
y: -3.878691
},
{
x: 10.000498,
y: -3.840422
},
{
x: 9.8693,
y: -3.8275
},
{
x: 9.78255,
y: -3.8275
},
{
x: 9.78255,
y: -3.671256
},
{
x: 10.240323,
y: -2.889201
},
{
x: 10.896005,
y: -2.889201
},
{
x: 10.990468,
y: -2.879897
},
{
x: 11.081301,
y: -2.852343
},
{
x: 11.165013,
y: -2.807598
},
{
x: 11.238387,
y: -2.747382
},
{
x: 11.298603,
y: -2.674007
},
{
x: 11.343348,
y: -2.590296
},
{
x: 11.370902,
y: -2.499463
},
{
x: 11.380206,
y: -2.405
},
{
x: 11.370902,
y: -2.310537
},
{
x: 11.343348,
y: -2.219704
},
{
x: 11.298603,
y: -2.135993
},
{
x: 11.238387,
y: -2.062618
},
{
x: 11.165013,
y: -2.002402
},
{
x: 11.081301,
y: -1.957657
},
{
x: 10.990468,
y: -1.930103
},
{
x: 10.896005,
y: -1.920799
},
{
x: 9.631393,
y: -1.920799
},
{
x: 9.641367,
y: -1.887918
},
{
x: 9.650014,
y: -1.800127
},
{
x: 9.641367,
y: -1.712336
},
{
x: 9.61576,
y: -1.627919
},
{
x: 9.574175,
y: -1.55012
},
{
x: 9.518212,
y: -1.481929
},
{
x: 9.450021,
y: -1.425966
},
{
x: 9.372222,
y: -1.384381
},
{
x: 9.287805,
y: -1.358774
},
{
x: 9.200014,
y: -1.350127
},
{
x: 9.112223,
y: -1.358774
},
{
x: 9.027806,
y: -1.384381
},
{
x: 8.950007,
y: -1.425966
},
{
x: 8.881816,
y: -1.481929
},
{
x: 8.825853,
y: -1.55012
},
{
x: 8.784268,
y: -1.627919
},
{
x: 8.758661,
y: -1.712336
},
{
x: 8.750014,
y: -1.800127
},
{
x: 8.758661,
y: -1.887918
},
{
x: 8.784268,
y: -1.972335
},
{
x: 8.825853,
y: -2.050134
},
{
x: 8.881816,
y: -2.118325
},
{
x: 8.950007,
y: -2.174288
},
{
x: 9.027806,
y: -2.215873
},
{
x: 9.064626,
y: -2.227042
},
{
x: 9.039298,
y: -2.310537
},
{
x: 9.029994,
y: -2.405
},
{
x: 9.039298,
y: -2.499463
},
{
x: 9.066852,
y: -2.590296
},
{
x: 9.111597,
y: -2.674007
},
{
x: 9.171813,
y: -2.747382
},
{
x: 9.245187,
y: -2.807598
},
{
x: 9.328899,
y: -2.852343
},
{
x: 9.419732,
y: -2.879897
},
{
x: 9.514195,
y: -2.889201
},
{
x: 9.603027,
y: -2.889201
},
{
x: 9.275058,
y: -3.4495
},
{
x: 8.17505,
y: -3.4495
},
{
x: 8.17505,
y: -3.562544
},
{
x: 8.122272,
y: -3.534333
},
{
x: 8.037855,
y: -3.508726
},
{
x: 7.950064,
y: -3.500079
},
{
x: 7.862273,
y: -3.508726
},
{
x: 7.777856,
y: -3.534333
},
{
x: 7.700057,
y: -3.575918
},
{
x: 7.631866,
y: -3.631881
},
{
x: 7.575903,
y: -3.700072
},
{
x: 7.534318,
y: -3.777871
},
{
x: 7.508711,
y: -3.862288
},
{
x: 7.500064,
y: -3.950079
},
{
x: 7.508711,
y: -4.03787
},
{
x: 7.534318,
y: -4.122287
},
{
x: 7.575903,
y: -4.200086
},
{
x: 7.631866,
y: -4.268277
},
{
x: 7.637958,
y: -4.273277
},
{
x: 7.489326,
y: -4.421909
},
{
x: 7.477695,
y: -4.383566
},
{
x: 7.43149,
y: -4.297123
},
{
x: 7.369308,
y: -4.221355
},
{
x: 7.29354,
y: -4.159173
},
{
x: 7.207097,
y: -4.112968
},
{
x: 7.1133,
y: -4.084515
},
{
x: 7.015755,
y: -4.074908
},
{
x: 6.82495,
y: -4.074908
},
{
x: 6.82495,
y: -3.653724
},
{
x: 6.850007,
y: -3.674288
},
{
x: 6.927806,
y: -3.715873
},
{
x: 7.012223,
y: -3.74148
},
{
x: 7.100014,
y: -3.750127
},
{
x: 7.187805,
y: -3.74148
},
{
x: 7.272222,
y: -3.715873
},
{
x: 7.350021,
y: -3.674288
},
{
x: 7.418212,
y: -3.618325
},
{
x: 7.474175,
y: -3.550134
},
{
x: 7.51576,
y: -3.472335
},
{
x: 7.541367,
y: -3.387918
},
{
x: 7.550014,
y: -3.300127
},
{
x: 7.541367,
y: -3.212336
},
{
x: 7.51576,
y: -3.127919
},
{
x: 7.474175,
y: -3.05012
},
{
x: 7.418212,
y: -2.981929
},
{
x: 7.350021,
y: -2.925966
},
{
x: 7.272222,
y: -2.884381
},
{
x: 7.187805,
y: -2.858774
},
{
x: 7.100014,
y: -2.850127
},
{
x: 7.012223,
y: -2.858774
},
{
x: 6.927806,
y: -2.884381
},
{
x: 6.850007,
y: -2.925966
},
{
x: 6.781816,
y: -2.981929
},
{
x: 6.725853,
y: -3.05012
},
{
x: 6.684268,
y: -3.127919
},
{
x: 6.658661,
y: -3.212336
},
{
x: 6.650014,
y: -3.300127
},
{
x: 6.658661,
y: -3.387918
},
{
x: 6.677341,
y: -3.4495
},
{
x: 5.893349,
y: -3.4495
},
{
x: 5.922208,
y: -3.440746
},
{
x: 6.000007,
y: -3.399161
},
{
x: 6.068198,
y: -3.343198
},
{
x: 6.124161,
y: -3.275007
},
{
x: 6.165746,
y: -3.197208
},
{
x: 6.191353,
y: -3.112791
},
{
x: 6.2,
y: -3.025
},
{
x: 6.191353,
y: -2.937209
},
{
x: 6.165746,
y: -2.852792
},
{
x: 6.124161,
y: -2.774993
},
{
x: 6.068198,
y: -2.706802
},
{
x: 6.000007,
y: -2.650839
},
{
x: 5.922835,
y: -2.609589
},
{
x: 5.933148,
y: -2.590296
},
{
x: 5.960702,
y: -2.499463
},
{
x: 5.970006,
y: -2.405
},
{
x: 5.960702,
y: -2.310537
},
{
x: 5.933148,
y: -2.219704
},
{
x: 5.921702,
y: -2.19829
},
{
x: 5.994907,
y: -2.159161
},
{
x: 6.063098,
y: -2.103198
},
{
x: 6.119061,
y: -2.035007
},
{
x: 6.160646,
y: -1.957208
},
{
x: 6.186253,
y: -1.872791
},
{
x: 6.1949,
y: -1.785
},
{
x: 6.186253,
y: -1.697209
},
{
x: 6.160646,
y: -1.612792
},
{
x: 6.119061,
y: -1.534993
},
{
x: 6.063098,
y: -1.466802
},
{
x: 5.994907,
y: -1.410839
},
{
x: 5.917108,
y: -1.369254
},
{
x: 5.908392,
y: -1.36661
},
{
x: 5.933148,
y: -1.320296
},
{
x: 5.960702,
y: -1.229463
},
{
x: 5.970006,
y: -1.135
},
{
x: 5.960702,
y: -1.040537
},
{
x: 5.933148,
y: -0.949704
},
{
x: 5.888403,
y: -0.865993
},
{
x: 5.828187,
y: -0.792618
},
{
x: 5.754813,
y: -0.732402
},
{
x: 5.705672,
y: -0.706136
},
{
x: 5.924567,
y: -0.487241
},
{
x: 5.977895,
y: -0.515746
},
{
x: 6.062312,
y: -0.541353
},
{
x: 6.150103,
y: -0.55
},
{
x: 6.237894,
y: -0.541353
},
{
x: 6.322311,
y: -0.515746
},
{
x: 6.40011,
y: -0.474161
},
{
x: 6.468301,
y: -0.418198
},
{
x: 6.524264,
y: -0.350007
},
{
x: 6.565849,
y: -0.272208
},
{
x: 6.591456,
y: -0.187791
},
{
x: 6.600103,
y: -0.1
},
{
x: 6.591456,
y: -0.012209
},
{
x: 6.565849,
y: 0.072208
},
{
x: 6.537344,
y: 0.125536
},
{
x: 6.704454,
y: 0.292646
},
{
x: 6.738654,
y: 0.334318
},
{
x: 6.764067,
y: 0.381862
},
{
x: 6.779716,
y: 0.43345
},
{
x: 6.785,
y: 0.4871
},
{
x: 6.785,
y: 2.48
},
{
x: 6.98,
y: 2.48
},
{
x: 6.98,
y: 2.725
},
{
x: 10.000162,
y: 2.725
},
{
x: 10.000162,
y: 2.600035
},
{
x: 12.355372,
y: 2.600035
},
{
x: 12.675,
y: 2.264889
},
{
x: 12.675,
y: 0.402115
},
{
x: 12.293278,
y: -0.225
},
{
x: 11.575,
y: -0.225
},
{
x: 11.575,
y: -1.425
},
{
x: 11.786731,
y: -1.425
},
{
x: 11.696481,
y: -1.731618
},
{
x: 11.687792,
y: -1.734254
},
{
x: 11.609993,
y: -1.775839
},
{
x: 11.541802,
y: -1.831802
},
{
x: 11.485839,
y: -1.899993
},
{
x: 11.444254,
y: -1.977792
},
{
x: 11.418647,
y: -2.062209
},
{
x: 11.41,
y: -2.15
},
{
x: 11.418647,
y: -2.237791
},
{
x: 11.444254,
y: -2.322208
},
{
x: 11.485839,
y: -2.400007
},
{
x: 11.541802,
y: -2.468198
},
{
x: 11.609993,
y: -2.524161
},
{
x: 11.687792,
y: -2.565746
},
{
x: 11.772209,
y: -2.591353
},
{
x: 11.86,
y: -2.6
},
{
x: 11.947791,
y: -2.591353
},
{
x: 12.032208,
y: -2.565746
},
{
x: 12.110007,
y: -2.524161
},
{
x: 12.178198,
y: -2.468198
},
{
x: 12.234161,
y: -2.400007
},
{
x: 12.275746,
y: -2.322208
},
{
x: 12.301353,
y: -2.237791
},
{
x: 12.31,
y: -2.15
},
{
x: 12.301353,
y: -2.062209
},
{
x: 12.275746,
y: -1.977792
},
{
x: 12.234161,
y: -1.899993
},
{
x: 12.223924,
y: -1.887519
},
{
x: 12.360062,
y: -1.425
},
{
x: 12.925,
y: -1.425
},
{
x: 12.925,
y: -0.244972
},
{
x: 13.184905,
y: 0.182015
},
{
x: 13.18414,
y: 0.182481
},
{
x: 13.204067,
y: 0.219762
},
{
x: 13.219716,
y: 0.27135
},
{
x: 13.225,
y: 0.325
},
{
x: 13.225,
y: 2.375
},
{
x: 13.223807,
y: 2.387116
},
{
x: 13.77,
y: 1.840923
},
{
x: 13.77,
y: 1.23
},
{
x: 14.71,
y: 1.23
},
{
x: 14.71,
y: 1.90105
},
{
x: 14.79,
y: 1.82105
},
{
x: 14.79,
y: 1.23
},
{
x: 15.241233,
y: 1.23
},
{
x: 14.75556,
y: 0.744327
},
{
x: 14.72136,
y: 0.702655
},
{
x: 14.695947,
y: 0.655111
},
{
x: 14.680298,
y: 0.603523
},
{
x: 14.675014,
y: 0.549873
},
{
x: 14.675014,
y: 0.203523
},
{
x: 14.631816,
y: 0.168071
},
{
x: 14.575853,
y: 0.09988
},
{
x: 14.534268,
y: 0.022081
},
{
x: 14.508661,
y: -0.062336
},
{
x: 14.500014,
y: -0.150127
},
{
x: 14.508661,
y: -0.237918
},
{
x: 14.534268,
y: -0.322335
},
{
x: 14.575853,
y: -0.400134
},
{
x: 14.631816,
y: -0.468325
},
{
x: 14.700007,
y: -0.524288
},
{
x: 14.777806,
y: -0.565873
},
{
x: 14.862223,
y: -0.59148
},
{
x: 14.950014,
y: -0.600127
},
{
x: 15.037805,
y: -0.59148
},
{
x: 15.122222,
y: -0.565873
},
{
x: 15.200021,
y: -0.524288
},
{
x: 15.268212,
y: -0.468325
},
{
x: 15.324175,
y: -0.400134
},
{
x: 15.36576,
y: -0.322335
},
{
x: 15.391367,
y: -0.237918
},
{
x: 15.400014,
y: -0.150127
},
{
x: 15.391367,
y: -0.062336
},
{
x: 15.36576,
y: 0.022081
},
{
x: 15.324175,
y: 0.09988
},
{
x: 15.268212,
y: 0.168071
},
{
x: 15.225014,
y: 0.203523
},
{
x: 15.225014,
y: 0.435965
},
{
x: 15.844468,
y: 1.055419
},
{
x: 15.878668,
y: 1.097091
},
{
x: 15.904081,
y: 1.144635
},
{
x: 15.910559,
y: 1.16599
},
{
x: 15.930984,
y: 1.204202
},
{
x: 15.94521,
y: 1.2511
},
{
x: 15.950014,
y: 1.299873
},
{
x: 15.950014,
y: 1.346319
},
{
x: 16.083695,
y: 1.48
},
{
x: 16.71,
y: 1.48
},
{
x: 16.71,
y: 2.161092
},
{
x: 16.79,
y: 2.081092
},
{
x: 16.79,
y: 1.48
},
{
x: 17.371637,
y: 1.48
},
{
x: 17.095926,
y: 1.204289
},
{
x: 17.094776,
y: 1.20394
},
{
x: 17.047232,
y: 1.178527
},
{
x: 17.00556,
y: 1.144327
},
{
x: 14.586106,
y: -1.275127
},
{
x: 14.403664,
y: -1.275127
},
{
x: 14.368212,
y: -1.231929
},
{
x: 14.300021,
y: -1.175966
},
{
x: 14.222222,
y: -1.134381
},
{
x: 14.137805,
y: -1.108774
},
{
x: 14.050014,
y: -1.100127
},
{
x: 13.962223,
y: -1.108774
},
{
x: 13.877806,
y: -1.134381
},
{
x: 13.800007,
y: -1.175966
},
{
x: 13.731816,
y: -1.231929
},
{
x: 13.675853,
y: -1.30012
},
{
x: 13.634268,
y: -1.377919
},
{
x: 13.608661,
y: -1.462336
},
{
x: 13.600014,
y: -1.550127
},
{
x: 13.608661,
y: -1.637918
},
{
x: 13.634268,
y: -1.722335
},
{
x: 13.675853,
y: -1.800134
},
{
x: 13.731816,
y: -1.868325
},
{
x: 13.800007,
y: -1.924288
},
{
x: 13.877806,
y: -1.965873
},
{
x: 13.962223,
y: -1.99148
},
{
x: 14.050014,
y: -2.000127
},
{
x: 14.137805,
y: -1.99148
},
{
x: 14.222222,
y: -1.965873
},
{
x: 14.300021,
y: -1.924288
},
{
x: 14.368212,
y: -1.868325
},
{
x: 14.403664,
y: -1.825127
},
{
x: 14.700014,
y: -1.825127
},
{
x: 14.753664,
y: -1.819843
},
{
x: 14.805252,
y: -1.804194
},
{
x: 14.852796,
y: -1.778781
},
{
x: 14.894468,
y: -1.744581
},
{
x: 17.394468,
y: 0.755419
},
{
x: 17.428668,
y: 0.797091
},
{
x: 17.454081,
y: 0.844635
},
{
x: 17.45443,
y: 0.845785
},
{
x: 18.088645,
y: 1.48
},
{
x: 18.71,
y: 1.48
},
{
x: 18.71,
y: 2.061092
},
{
x: 18.79,
y: 1.981092
},
{
x: 18.79,
y: 1.48
},
{
x: 19.73,
y: 1.48
},
{
x: 19.73,
y: 2.52
},
{
x: 19.028908,
y: 2.52
},
{
x: 18.948873,
y: 2.600035
},
{
x: 19.999838,
y: 2.600035
},
{
x: 19.999838,
y: 5.400081
},
{
x: 19.016271,
y: 5.400081
},
{
x: 19.041153,
y: 5.482109
},
{
x: 19.0498,
y: 5.5699
},
{
x: 19.041153,
y: 5.657691
},
{
x: 19.015546,
y: 5.742108
},
{
x: 18.973961,
y: 5.819907
},
{
x: 18.917998,
y: 5.888098
},
{
x: 18.849807,
y: 5.944061
},
{
x: 18.772008,
y: 5.985646
},
{
x: 18.687591,
y: 6.011253
},
{
x: 18.5998,
y: 6.0199
},
{
x: 18.512009,
y: 6.011253
},
{
x: 18.427592,
y: 5.985646
},
{
x: 18.349793,
y: 5.944061
},
{
x: 18.281602,
y: 5.888098
},
{
x: 18.225639,
y: 5.819907
},
{
x: 18.184054,
y: 5.742108
},
{
x: 18.158447,
y: 5.657691
},
{
x: 18.1498,
y: 5.5699
},
{
x: 18.158447,
y: 5.482109
},
{
x: 18.183329,
y: 5.400081
},
{
x: 17.199792,
y: 5.400081
},
{
x: 17.199792,
y: 3.049116
},
{
x: 16.204522,
y: 4.044386
},
{
x: 16.21,
y: 4.1
},
{
x: 16.201353,
y: 4.187791
},
{
x: 16.175746,
y: 4.272208
},
{
x: 16.134161,
y: 4.350007
},
{
x: 16.078198,
y: 4.418198
},
{
x: 16.010007,
y: 4.474161
},
{
x: 15.932208,
y: 4.515746
},
{
x: 15.847791,
y: 4.541353
},
{
x: 15.76,
y: 4.55
},
{
x: 15.672209,
y: 4.541353
},
{
x: 15.587792,
y: 4.515746
},
{
x: 15.509993,
y: 4.474161
},
{
x: 15.441802,
y: 4.418198
},
{
x: 15.385839,
y: 4.350007
},
{
x: 15.344254,
y: 4.272208
},
{
x: 15.318647,
y: 4.187791
},
{
x: 15.31,
y: 4.1
},
{
x: 15.318647,
y: 4.012209
},
{
x: 15.344254,
y: 3.927792
},
{
x: 15.385839,
y: 3.849993
},
{
x: 15.441802,
y: 3.781802
},
{
x: 15.509993,
y: 3.725839
},
{
x: 15.587792,
y: 3.684254
},
{
x: 15.672209,
y: 3.658647
},
{
x: 15.76,
y: 3.65
},
{
x: 15.815614,
y: 3.655478
},
{
x: 16.316648,
y: 3.154444
},
{
x: 16.259993,
y: 3.124161
},
{
x: 16.191802,
y: 3.068198
},
{
x: 16.135839,
y: 3.000007
},
{
x: 16.094254,
y: 2.922208
},
{
x: 16.068647,
y: 2.837791
},
{
x: 16.06,
y: 2.75
},
{
x: 16.068647,
y: 2.662209
},
{
x: 16.094254,
y: 2.577792
},
{
x: 16.125145,
y: 2.52
},
{
x: 15.77,
y: 2.52
},
{
x: 15.77,
y: 1.873413
},
{
x: 15.73,
y: 1.833413
},
{
x: 15.73,
y: 2.27
},
{
x: 15.118866,
y: 2.27
},
{
x: 13.444482,
y: 3.944384
},
{
x: 13.44996,
y: 3.999998
},
{
x: 13.441313,
y: 4.087789
},
{
x: 13.415706,
y: 4.172206
},
{
x: 13.374121,
y: 4.250005
},
{
x: 13.318158,
y: 4.318196
},
{
x: 13.249967,
y: 4.374159
},
{
x: 13.172168,
y: 4.415744
},
{
x: 13.087751,
y: 4.441351
},
{
x: 12.99996,
y: 4.449998
},
{
x: 12.912169,
y: 4.441351
},
{
x: 12.827752,
y: 4.415744
},
{
x: 12.800208,
y: 4.401021
},
{
x: 12.800208,
y: 5.400081
},
{
x: 10.000162,
y: 5.400081
},
{
x: 10.000162,
y: 3.275
},
{
x: 6.98,
y: 3.275
},
{
x: 6.98,
y: 3.52
},
{
x: 6.04,
y: 3.52
},
{
x: 6.04,
y: 2.48
},
{
x: 6.235,
y: 2.48
},
{
x: 6.235,
y: 0.601008
},
{
x: 5.938068,
y: 0.304076
},
{
x: 5.933148,
y: 0.320296
},
{
x: 5.888403,
y: 0.404007
},
{
x: 5.828187,
y: 0.477382
},
{
x: 5.754813,
y: 0.537598
},
{
x: 5.671101,
y: 0.582343
},
{
x: 5.580268,
y: 0.609897
},
{
x: 5.485805,
y: 0.619201
},
{
x: 4.103995,
y: 0.619201
},
{
x: 4.009532,
y: 0.609897
},
{
x: 3.918699,
y: 0.582343
},
{
x: 3.834987,
y: 0.537598
},
{
x: 3.761613,
y: 0.477382
},
{
x: 3.701397,
y: 0.404007
},
{
x: 3.656652,
y: 0.320296
},
{
x: 3.629098,
y: 0.229463
},
{
x: 3.619794,
y: 0.135
},
{
x: 3.629098,
y: 0.040537
},
{
x: 3.656652,
y: -0.050296
},
{
x: 3.701397,
y: -0.134007
},
{
x: 3.761613,
y: -0.207382
},
{
x: 3.834987,
y: -0.267598
},
{
x: 3.918699,
y: -0.312343
},
{
x: 4.009532,
y: -0.339897
},
{
x: 4.103995,
y: -0.349201
},
{
x: 4.4449,
y: -0.349201
},
{
x: 4.4449,
y: -0.650799
},
{
x: 4.103995,
y: -0.650799
},
{
x: 4.009532,
y: -0.660103
},
{
x: 3.918699,
y: -0.687657
},
{
x: 3.834987,
y: -0.732402
},
{
x: 3.761613,
y: -0.792618
},
{
x: 3.701397,
y: -0.865993
},
{
x: 3.656652,
y: -0.949704
},
{
x: 3.629098,
y: -1.040537
},
{
x: 3.619794,
y: -1.135
},
{
x: 3.629098,
y: -1.229463
},
{
x: 3.656652,
y: -1.320296
},
{
x: 3.701397,
y: -1.404007
},
{
x: 3.761613,
y: -1.477382
},
{
x: 3.834987,
y: -1.537598
},
{
x: 3.918699,
y: -1.582343
},
{
x: 4.009532,
y: -1.609897
},
{
x: 4.103995,
y: -1.619201
},
{
x: 5.190193,
y: -1.619201
},
{
x: 5.300378,
y: -1.729386
},
{
x: 5.2949,
y: -1.785
},
{
x: 5.303547,
y: -1.872791
},
{
x: 5.31811,
y: -1.920799
},
{
x: 4.103995,
y: -1.920799
},
{
x: 4.009532,
y: -1.930103
},
{
x: 3.918699,
y: -1.957657
},
{
x: 3.834987,
y: -2.002402
},
{
x: 3.761613,
y: -2.062618
},
{
x: 3.701397,
y: -2.135993
},
{
x: 3.656652,
y: -2.219704
},
{
x: 3.629098,
y: -2.310537
},
{
x: 3.619794,
y: -2.405
},
{
x: 3.629098,
y: -2.499463
},
{
x: 3.656652,
y: -2.590296
},
{
x: 3.701397,
y: -2.674007
},
{
x: 3.761613,
y: -2.747382
},
{
x: 3.834987,
y: -2.807598
},
{
x: 3.918699,
y: -2.852343
},
{
x: 4.009532,
y: -2.879897
},
{
x: 4.103995,
y: -2.889201
},
{
x: 4.759677,
y: -2.889201
},
{
x: 5.21745,
y: -3.671256
},
{
x: 5.21745,
y: -5.5505
},
{
x: 5.33643,
y: -5.5505
},
{
x: 5.297282,
y: -5.571425
},
{
x: 5.25561,
y: -5.605625
},
{
x: 5.05561,
y: -5.805625
},
{
x: 5.02141,
y: -5.847297
},
{
x: 4.995997,
y: -5.894841
},
{
x: 4.985171,
y: -5.930529
},
{
x: 4.97141,
y: -5.947297
},
{
x: 4.945997,
y: -5.994841
},
{
x: 4.930348,
y: -6.046429
},
{
x: 4.925064,
y: -6.100079
},
{
x: 4.925064,
y: -6.342845
},
{
x: 4.92141,
y: -6.347297
},
{
x: 4.895997,
y: -6.394841
},
{
x: 4.880348,
y: -6.446429
},
{
x: 4.875064,
y: -6.500079
},
{
x: 4.875064,
y: -6.686171
},
{
x: 4.555678,
y: -7.005557
},
{
x: 4.500064,
y: -7.000079
},
{
x: 4.412273,
y: -7.008726
},
{
x: 4.327856,
y: -7.034333
},
{
x: 4.250057,
y: -7.075918
},
{
x: 4.181866,
y: -7.131881
},
{
x: 4.125903,
y: -7.200072
},
{
x: 4.084318,
y: -7.277871
},
{
x: 4.058711,
y: -7.362288
},
{
x: 4.050064,
y: -7.450079
},
{
x: 4.058711,
y: -7.53787
},
{
x: 4.084318,
y: -7.622287
},
{
x: 4.125903,
y: -7.700086
},
{
x: 4.181866,
y: -7.768277
},
{
x: 4.250057,
y: -7.82424
},
{
x: 4.327856,
y: -7.865825
},
{
x: 4.412273,
y: -7.891432
},
{
x: 4.500064,
y: -7.900079
},
{
x: 4.587855,
y: -7.891432
},
{
x: 4.672272,
y: -7.865825
},
{
x: 4.750071,
y: -7.82424
},
{
x: 4.818262,
y: -7.768277
},
{
x: 4.874225,
y: -7.700086
},
{
x: 4.91581,
y: -7.622287
},
{
x: 4.941417,
y: -7.53787
},
{
x: 4.950064,
y: -7.450079
},
{
x: 4.944586,
y: -7.394465
},
{
x: 5.344518,
y: -6.994533
},
{
x: 5.378718,
y: -6.952861
},
{
x: 5.404131,
y: -6.905317
},
{
x: 5.415755,
y: -6.866998
},
{
x: 5.415755,
y: -6.91123
},
{
x: 5.415755,
y: -6.983957
},
{
x: 5.415755,
y: -7.056684
},
{
x: 5.415755,
y: -7.06776
},
{
x: 5.412202,
y: -7.071313
},
{
x: 5.362202,
y: -7.121313
},
{
x: 5.312202,
y: -7.171313
},
{
x: 5.262202,
y: -7.221313
},
{
x: 5.212202,
y: -7.271313
},
{
x: 5.162202,
y: -7.321313
},
{
x: 5.112202,
y: -7.371313
},
{
x: 5.062202,
y: -7.421313
},
{
x: 5.00002,
y: -7.497081
},
{
x: 4.968673,
y: -7.555727
},
{
x: 4.96665,
y: -7.558192
},
{
x: 4.922293,
y: -7.641178
},
{
x: 4.894978,
y: -7.731223
},
{
x: 4.885755,
y: -7.824866
},
{
x: 4.894978,
y: -7.918509
},
{
x: 4.898363,
y: -7.929667
},
{
x: 4.871584,
y: -7.932305
},
{
x: 4.787168,
y: -7.957912
},
{
x: 4.709368,
y: -7.999497
},
{
x: 4.641177,
y: -8.05546
},
{
x: 4.585214,
y: -8.123651
},
{
x: 4.543629,
y: -8.20145
},
{
x: 4.518022,
y: -8.285867
},
{
x: 4.509375,
y: -8.373658
},
{
x: 4.518022,
y: -8.461449
},
{
x: 4.543629,
y: -8.545865
},
{
x: 4.585214,
y: -8.623665
},
{
x: 4.641177,
y: -8.691856
},
{
x: 4.709368,
y: -8.747819
},
{
x: 4.787168,
y: -8.789404
},
{
x: 4.871584,
y: -8.815011
},
{
x: 4.959375,
y: -8.823658
},
{
x: 5.047166,
y: -8.815011
},
{
x: 5.131583,
y: -8.789404
},
{
x: 5.209382,
y: -8.747819
},
{
x: 5.277573,
y: -8.691856
},
{
x: 5.31531,
y: -8.645873
},
{
x: 6.151516,
y: -8.639312
},
{
x: 6.128288,
y: -8.682769
},
{
x: 6.107147,
y: -8.75246
},
{
x: 6.100009,
y: -8.824936
},
{
x: 6.107147,
y: -8.897412
},
{
x: 6.128288,
y: -8.967103
},
{
x: 6.162618,
y: -9.031331
},
{
x: 6.208819,
y: -9.087627
},
{
x: 6.265115,
y: -9.133828
},
{
x: 6.295238,
y: -9.149929
},
{
x: 6.265115,
y: -9.16603
},
{
x: 6.208819,
y: -9.212231
},
{
x: 6.162618,
y: -9.268527
},
{
x: 6.128288,
y: -9.332755
},
{
x: 6.107147,
y: -9.402446
},
{
x: 6.100009,
y: -9.474922
},
{
x: 6.107147,
y: -9.547398
},
{
x: 6.128288,
y: -9.617089
},
{
x: 6.162618,
y: -9.681317
},
{
x: 6.208819,
y: -9.737613
},
{
x: 6.265115,
y: -9.783814
},
{
x: 6.295238,
y: -9.799915
},
{
x: 6.265115,
y: -9.816016
},
{
x: 6.208819,
y: -9.862217
},
{
x: 6.162618,
y: -9.918513
},
{
x: 6.128288,
y: -9.982741
},
{
x: 6.107147,
y: -10.052432
},
{
x: 6.100009,
y: -10.124908
},
{
x: 6.107147,
y: -10.197384
},
{
x: 6.128288,
y: -10.267075
},
{
x: 6.162618,
y: -10.331303
},
{
x: 6.208819,
y: -10.387599
},
{
x: 6.265115,
y: -10.4338
},
{
x: 6.295238,
y: -10.449901
},
{
x: 6.265115,
y: -10.466002
},
{
x: 6.208819,
y: -10.512203
},
{
x: 6.162618,
y: -10.568499
},
{
x: 6.128288,
y: -10.632727
},
{
x: 6.107147,
y: -10.702418
},
{
x: 6.100009,
y: -10.774894
},
{
x: 6.107147,
y: -10.84737
},
{
x: 6.128288,
y: -10.917061
},
{
x: 6.162618,
y: -10.981289
},
{
x: 6.208819,
y: -11.037585
},
{
x: 6.265115,
y: -11.083786
},
{
x: 6.295238,
y: -11.099887
},
{
x: 6.265115,
y: -11.115988
},
{
x: 6.208819,
y: -11.162189
},
{
x: 6.162618,
y: -11.218485
},
{
x: 6.128288,
y: -11.282713
},
{
x: 6.107147,
y: -11.352404
},
{
x: 6.100009,
y: -11.42488
},
{
x: 6.107147,
y: -11.497356
},
{
x: 6.128288,
y: -11.567047
},
{
x: 6.162618,
y: -11.631275
},
{
x: 6.208819,
y: -11.687571
},
{
x: 6.265115,
y: -11.733772
},
{
x: 6.295238,
y: -11.749873
},
{
x: 6.265115,
y: -11.765974
},
{
x: 6.208819,
y: -11.812175
},
{
x: 6.162618,
y: -11.868471
},
{
x: 6.128288,
y: -11.932699
},
{
x: 6.107147,
y: -12.00239
},
{
x: 6.100009,
y: -12.074866
},
{
x: 6.107147,
y: -12.147342
},
{
x: 6.128288,
y: -12.217033
},
{
x: 6.162618,
y: -12.281261
},
{
x: 6.208819,
y: -12.337557
},
{
x: 6.265115,
y: -12.383758
},
{
x: 6.295475,
y: -12.399986
},
{
x: 6.265115,
y: -12.416214
},
{
x: 6.208819,
y: -12.462415
},
{
x: 6.162618,
y: -12.518711
},
{
x: 6.128288,
y: -12.582939
},
{
x: 6.107147,
y: -12.65263
},
{
x: 6.100009,
y: -12.725106
},
{
x: 6.107147,
y: -12.797582
},
{
x: 6.128288,
y: -12.867273
},
{
x: 6.162618,
y: -12.931501
},
{
x: 6.208819,
y: -12.987797
},
{
x: 6.265115,
y: -13.033998
},
{
x: 6.295238,
y: -13.050099
},
{
x: 6.265115,
y: -13.0662
},
{
x: 6.208819,
y: -13.112401
},
{
x: 6.162618,
y: -13.168697
},
{
x: 6.128288,
y: -13.232925
},
{
x: 6.107147,
y: -13.302616
},
{
x: 6.100009,
y: -13.375092
},
{
x: 6.107147,
y: -13.447568
},
{
x: 6.128288,
y: -13.517259
},
{
x: 6.162618,
y: -13.581487
},
{
x: 6.208819,
y: -13.637783
},
{
x: 6.265115,
y: -13.683984
},
{
x: 6.295238,
y: -13.700085
},
{
x: 6.265115,
y: -13.716186
},
{
x: 6.208819,
y: -13.762387
},
{
x: 6.162618,
y: -13.818683
},
{
x: 6.128288,
y: -13.882911
},
{
x: 6.107147,
y: -13.952602
},
{
x: 6.100009,
y: -14.025078
},
{
x: 6.107147,
y: -14.097554
},
{
x: 6.128288,
y: -14.167245
},
{
x: 6.162618,
y: -14.231473
},
{
x: 6.208819,
y: -14.287769
},
{
x: 6.265115,
y: -14.33397
},
{
x: 6.295238,
y: -14.350071
},
{
x: 6.265115,
y: -14.366172
},
{
x: 6.208819,
y: -14.412373
},
{
x: 6.162618,
y: -14.468669
},
{
x: 6.128288,
y: -14.532897
},
{
x: 6.120078,
y: -14.559961
},
{
x: 6.072222,
y: -14.534381
},
{
x: 5.987805,
y: -14.508774
},
{
x: 5.900014,
y: -14.500127
},
{
x: 5.812223,
y: -14.508774
},
{
x: 5.727806,
y: -14.534381
},
{
x: 5.650007,
y: -14.575966
},
{
x: 5.581816,
y: -14.631929
},
{
x: 5.525853,
y: -14.70012
},
{
x: 5.484268,
y: -14.777919
},
{
x: 5.458661,
y: -14.862336
},
{
x: 5.450014,
y: -14.950127
},
{
x: 5.455492,
y: -15.005741
},
{
x: 3.55556,
y: -16.905673
},
{
x: 3.52136,
y: -16.947345
},
{
x: 3.495947,
y: -16.994889
},
{
x: 3.480298,
y: -17.046477
},
{
x: 3.475014,
y: -17.100127
},
{
x: 3.475014,
y: -17.700127
},
{
x: 3.475014,
y: -18.148345
},
{
x: 3.465746,
y: -18.117792
},
{
x: 3.424161,
y: -18.039993
},
{
x: 3.368198,
y: -17.971802
},
{
x: 3.300007,
y: -17.915839
},
{
x: 3.222208,
y: -17.874254
},
{
x: 3.137791,
y: -17.848647
},
{
x: 3.05,
y: -17.84
},
{
x: 2.962209,
y: -17.848647
},
{
x: 2.877792,
y: -17.874254
},
{
x: 2.799993,
y: -17.915839
},
{
x: 2.731802,
y: -17.971802
},
{
x: 2.675839,
y: -18.039993
},
{
x: 2.634254,
y: -18.117792
},
{
x: 2.608647,
y: -18.202209
},
{
x: 2.608383,
y: -18.204893
},
{
x: 2.587791,
y: -18.198647
},
{
x: 2.5,
y: -18.19
},
{
x: 2.412209,
y: -18.198647
},
{
x: 2.327792,
y: -18.224254
},
{
x: 2.249993,
y: -18.265839
},
{
x: 2.181802,
y: -18.321802
},
{
x: 2.125839,
y: -18.389993
},
{
x: 2.112472,
y: -18.415
},
{
x: 1.75,
y: -18.415
},
{
x: 1.22,
y: -18.415
},
{
x: 1.22,
y: -18.27
},
{
x: 1.71,
y: -18.27
},
{
x: 1.71,
y: -17.23
},
{
x: 0.77,
y: -17.23
},
{
x: 0.77,
y: -17.841037
},
{
x: 0.686052,
y: -17.924985
},
{
x: 0.29996,
y: -17.924985
},
{
x: 0.24631,
y: -17.930269
},
{
x: 0.194722,
y: -17.945918
},
{
x: 0.147178,
y: -17.971331
},
{
x: 0.13041,
y: -17.985092
},
{
x: 0.099959,
y: -17.994329
},
{
x: 0.099959,
y: -17.849987
},
{
x: -1.200039,
y: -17.849987
},
{
x: -1.200039,
y: -17.949048
},
{
x: -1.227856,
y: -17.934179
},
{
x: -1.312273,
y: -17.908572
},
{
x: -1.400064,
y: -17.899925
},
{
x: -1.487855,
y: -17.908572
},
{
x: -1.572272,
y: -17.934179
},
{
x: -1.650071,
y: -17.975764
},
{
x: -1.718262,
y: -18.031727
},
{
x: -1.774225,
y: -18.099918
},
{
x: -1.799961,
y: -18.148066
},
{
x: -1.799961,
y: -17.200001
},
{
x: -2.621091,
y: -17.200001
},
{
x: -3.46,
y: -16.361092
},
{
x: -3.46,
y: -16.225
},
{
x: -3.46,
y: -15.475
},
{
x: -3.464006,
y: -15.434328
},
{
x: -3.435839,
y: -15.400007
},
{
x: -3.394254,
y: -15.322208
},
{
x: -3.368647,
y: -15.237791
},
{
x: -3.36,
y: -15.15
},
{
x: -3.368647,
y: -15.062209
},
{
x: -3.394254,
y: -14.977792
},
{
x: -3.435839,
y: -14.899993
},
{
x: -3.491802,
y: -14.831802
},
{
x: -3.500072,
y: -14.825015
},
{
x: -2.863908,
y: -14.825015
},
{
x: -2.494454,
y: -15.194469
},
{
x: -2.452782,
y: -15.228669
},
{
x: -2.405238,
y: -15.254082
},
{
x: -2.36955,
y: -15.264908
},
{
x: -2.352782,
y: -15.278669
},
{
x: -2.305238,
y: -15.304082
},
{
x: -2.25365,
y: -15.319731
},
{
x: -2.2,
y: -15.325015
},
{
x: -1.98,
y: -15.325015
},
{
x: -1.98,
y: -15.843584
},
{
x: -2.062209,
y: -15.818647
},
{
x: -2.15,
y: -15.81
},
{
x: -2.237791,
y: -15.818647
},
{
x: -2.322208,
y: -15.844254
},
{
x: -2.400007,
y: -15.885839
},
{
x: -2.468198,
y: -15.941802
},
{
x: -2.524161,
y: -16.009993
},
{
x: -2.565746,
y: -16.087792
},
{
x: -2.591353,
y: -16.172209
},
{
x: -2.6,
y: -16.26
},
{
x: -2.591353,
y: -16.347791
},
{
x: -2.565746,
y: -16.432208
},
{
x: -2.524161,
y: -16.510007
},
{
x: -2.468198,
y: -16.578198
},
{
x: -2.400007,
y: -16.634161
},
{
x: -2.322208,
y: -16.675746
},
{
x: -2.237791,
y: -16.701353
},
{
x: -2.15,
y: -16.71
},
{
x: -2.062209,
y: -16.701353
},
{
x: -1.977792,
y: -16.675746
},
{
x: -1.899993,
y: -16.634161
},
{
x: -1.831802,
y: -16.578198
},
{
x: -1.79635,
y: -16.535
},
{
x: -0.05,
y: -16.535
},
{
x: 0.00365,
y: -16.529716
},
{
x: 0.055238,
y: -16.514067
},
{
x: 0.102782,
y: -16.488654
},
{
x: 0.144454,
y: -16.454454
},
{
x: 0.178654,
y: -16.412782
},
{
x: 0.204067,
y: -16.365238
},
{
x: 0.214893,
y: -16.32955
},
{
x: 0.228654,
y: -16.312782
},
{
x: 0.254067,
y: -16.265238
},
{
x: 0.264893,
y: -16.22955
},
{
x: 0.278654,
y: -16.212782
},
{
x: 0.304067,
y: -16.165238
},
{
x: 0.319716,
y: -16.11365
},
{
x: 0.325,
y: -16.06
},
{
x: 0.325,
y: -15.523908
},
{
x: 0.393267,
y: -15.455641
},
{
x: 0.396778,
y: -15.467217
},
{
x: 0.431108,
y: -15.531445
},
{
x: 0.477309,
y: -15.587741
},
{
x: 0.533605,
y: -15.633942
},
{
x: 0.597832,
y: -15.668272
},
{
x: 0.667523,
y: -15.689413
},
{
x: 0.74,
y: -15.696551
},
{
x: 2.128491,
y: -15.696551
},
{
x: 2.200967,
y: -15.689413
},
{
x: 2.270658,
y: -15.668272
},
{
x: 2.334885,
y: -15.633942
},
{
x: 2.391181,
y: -15.587741
},
{
x: 2.437382,
y: -15.531445
},
{
x: 2.471712,
y: -15.467217
},
{
x: 2.492853,
y: -15.397526
},
{
x: 2.499991,
y: -15.32505
},
{
x: 2.492853,
y: -15.252574
},
{
x: 2.471712,
y: -15.182883
},
{
x: 2.437382,
y: -15.118655
},
{
x: 2.391181,
y: -15.062359
},
{
x: 2.334885,
y: -15.016158
},
{
x: 2.304762,
y: -15.000057
},
{
x: 2.334885,
y: -14.983956
},
{
x: 2.391181,
y: -14.937755
},
{
x: 2.437382,
y: -14.881459
},
{
x: 2.471712,
y: -14.817231
},
{
x: 2.492853,
y: -14.74754
},
{
x: 2.499991,
y: -14.675064
},
{
x: 2.492853,
y: -14.602588
},
{
x: 2.471712,
y: -14.532897
},
{
x: 2.437382,
y: -14.468669
},
{
x: 2.391181,
y: -14.412373
},
{
x: 2.334885,
y: -14.366172
},
{
x: 2.270658,
y: -14.331842
},
{
x: 2.200967,
y: -14.310701
},
{
x: 2.128491,
y: -14.303563
},
{
x: 0.74,
y: -14.303563
},
{
x: 0.667523,
y: -14.310701
},
{
x: 0.597832,
y: -14.331842
},
{
x: 0.533605,
y: -14.366172
},
{
x: 0.477309,
y: -14.412373
},
{
x: 0.431108,
y: -14.468669
},
{
x: 0.396778,
y: -14.532897
},
{
x: 0.375637,
y: -14.602588
},
{
x: 0.368499,
y: -14.675064
},
{
x: 0.375544,
y: -14.746595
},
{
x: 0.344762,
y: -14.755933
},
{
x: 0.297218,
y: -14.781346
},
{
x: 0.255546,
y: -14.815546
},
{
x: 0.176557,
y: -14.894535
},
{
x: 0.201353,
y: -14.812791
},
{
x: 0.21,
y: -14.725
},
{
x: 0.201353,
y: -14.637209
},
{
x: 0.175746,
y: -14.552792
},
{
x: 0.134161,
y: -14.474993
},
{
x: 0.078198,
y: -14.406802
},
{
x: 0.010007,
y: -14.350839
},
{
x: -0.067792,
y: -14.309254
},
{
x: -0.152209,
y: -14.283647
},
{
x: -0.24,
y: -14.275
},
{
x: -0.327791,
y: -14.283647
},
{
x: -0.412208,
y: -14.309254
},
{
x: -0.490007,
y: -14.350839
},
{
x: -0.558198,
y: -14.406802
},
{
x: -0.614161,
y: -14.474993
},
{
x: -0.655746,
y: -14.552792
},
{
x: -0.681353,
y: -14.637209
},
{
x: -0.69,
y: -14.725
},
{
x: -0.681555,
y: -14.81074
},
{
x: -0.700778,
y: -14.834163
},
{
x: -0.724203,
y: -14.87799
},
{
x: -0.738629,
y: -14.925545
},
{
x: -0.7435,
y: -14.975
},
{
x: -0.7435,
y: -15.23
},
{
x: -0.96,
y: -15.23
},
{
x: -0.96,
y: -15.985
},
{
x: -1.04,
y: -15.985
},
{
x: -1.04,
y: -15.266002
},
{
x: -0.985839,
y: -15.200007
},
{
x: -0.944254,
y: -15.122208
},
{
x: -0.918647,
y: -15.037791
},
{
x: -0.91,
y: -14.95
},
{
x: -0.918647,
y: -14.862209
},
{
x: -0.944254,
y: -14.777792
},
{
x: -0.985839,
y: -14.699993
},
{
x: -1.041802,
y: -14.631802
},
{
x: -1.109993,
y: -14.575839
},
{
x: -1.187792,
y: -14.534254
},
{
x: -1.234782,
y: -14.52
},
{
x: -1.04,
y: -14.52
},
{
x: -1.04,
y: -13.51
},
{
x: -0.987696,
y: -13.51
},
{
x: -0.966992,
y: -13.526992
},
{
x: -0.944454,
y: -13.554454
},
{
x: -0.902782,
y: -13.588654
},
{
x: -0.864223,
y: -13.609264
},
{
x: -0.852782,
y: -13.618654
},
{
x: -0.805238,
y: -13.644067
},
{
x: -0.776143,
y: -13.652893
},
{
x: -0.755238,
y: -13.664067
},
{
x: -0.70365,
y: -13.679716
},
{
x: -0.65,
y: -13.685
},
{
x: -0.1,
y: -13.685
},
{
x: -0.04635,
y: -13.679716
},
{
x: 0.005238,
y: -13.664067
},
{
x: 0.052782,
y: -13.638654
},
{
x: 0.094454,
y: -13.604454
},
{
x: 0.194386,
y: -13.504522
},
{
x: 0.25,
y: -13.51
},
{
x: 0.337791,
y: -13.501353
},
{
x: 0.422208,
y: -13.475746
},
{
x: 0.500007,
y: -13.434161
},
{
x: 0.568198,
y: -13.378198
},
{
x: 0.624161,
y: -13.310007
},
{
x: 0.665746,
y: -13.232208
},
{
x: 0.691353,
y: -13.147791
},
{
x: 0.696813,
y: -13.092354
},
{
x: 0.74,
y: -13.096607
},
{
x: 2.128491,
y: -13.096607
},
{
x: 2.200967,
y: -13.089469
},
{
x: 2.270658,
y: -13.068328
},
{
x: 2.334885,
y: -13.033998
},
{
x: 2.391181,
y: -12.987797
},
{
x: 2.437382,
y: -12.931501
},
{
x: 2.471712,
y: -12.867273
},
{
x: 2.492853,
y: -12.797582
},
{
x: 2.499991,
y: -12.725106
},
{
x: 2.492853,
y: -12.65263
},
{
x: 2.471712,
y: -12.582939
},
{
x: 2.437382,
y: -12.518711
},
{
x: 2.391181,
y: -12.462415
},
{
x: 2.334885,
y: -12.416214
},
{
x: 2.304525,
y: -12.399986
},
{
x: 2.334885,
y: -12.383758
},
{
x: 2.391181,
y: -12.337557
},
{
x: 2.437382,
y: -12.281261
},
{
x: 2.471712,
y: -12.217033
},
{
x: 2.492853,
y: -12.147342
},
{
x: 2.499991,
y: -12.074866
},
{
x: 2.492853,
y: -12.00239
},
{
x: 2.471712,
y: -11.932699
},
{
x: 2.437382,
y: -11.868471
},
{
x: 2.391181,
y: -11.812175
},
{
x: 2.334885,
y: -11.765974
},
{
x: 2.304762,
y: -11.749873
},
{
x: 2.334885,
y: -11.733772
},
{
x: 2.391181,
y: -11.687571
},
{
x: 2.437382,
y: -11.631275
},
{
x: 2.471712,
y: -11.567047
},
{
x: 2.492853,
y: -11.497356
},
{
x: 2.499991,
y: -11.42488
},
{
x: 2.492853,
y: -11.352404
},
{
x: 2.471712,
y: -11.282713
},
{
x: 2.437382,
y: -11.218485
},
{
x: 2.391181,
y: -11.162189
},
{
x: 2.334885,
y: -11.115988
},
{
x: 2.304762,
y: -11.099887
},
{
x: 2.334885,
y: -11.083786
},
{
x: 2.391181,
y: -11.037585
},
{
x: 2.437382,
y: -10.981289
},
{
x: 2.471712,
y: -10.917061
},
{
x: 2.492853,
y: -10.84737
},
{
x: 2.499991,
y: -10.774894
},
{
x: 2.492853,
y: -10.702418
},
{
x: 2.487718,
y: -10.68549
},
{
x: 2.681154,
y: -10.492054
},
{
x: 2.715354,
y: -10.450382
},
{
x: 2.740767,
y: -10.402838
},
{
x: 2.756416,
y: -10.35125
},
{
x: 2.7617,
y: -10.2976
},
{
x: 2.7617,
y: -8.246408
},
{
x: 3.096486,
y: -7.911622
},
{
x: 3.1521,
y: -7.9171
},
{
x: 3.239891,
y: -7.908453
},
{
x: 3.324308,
y: -7.882846
},
{
x: 3.402107,
y: -7.841261
},
{
x: 3.470298,
y: -7.785298
},
{
x: 3.526261,
y: -7.717107
},
{
x: 3.567846,
y: -7.639308
},
{
x: 3.593453,
y: -7.554891
},
{
x: 3.6021,
y: -7.4671
},
{
x: 3.593453,
y: -7.379309
},
{
x: 3.567846,
y: -7.294892
},
{
x: 3.526261,
y: -7.217093
},
{
x: 3.470298,
y: -7.148902
},
{
x: 3.402107,
y: -7.092939
},
{
x: 3.324308,
y: -7.051354
},
{
x: 3.239891,
y: -7.025747
},
{
x: 3.1521,
y: -7.0171
},
{
x: 3.064309,
y: -7.025747
},
{
x: 2.979892,
y: -7.051354
},
{
x: 2.902093,
y: -7.092939
},
{
x: 2.833902,
y: -7.148902
},
{
x: 2.777939,
y: -7.217093
},
{
x: 2.736354,
y: -7.294892
},
{
x: 2.72627,
y: -7.328135
},
{
x: 2.724447,
y: -7.322125
},
{
x: 2.721705,
y: -7.316995
},
{
x: 2.719716,
y: -7.2968
},
{
x: 2.704067,
y: -7.245212
},
{
x: 2.678654,
y: -7.197668
},
{
x: 2.650231,
y: -7.163035
},
{
x: 2.628654,
y: -7.122668
},
{
x: 2.594454,
y: -7.080996
},
{
x: 2.569454,
y: -7.055996
},
{
x: 2.527782,
y: -7.021796
},
{
x: 2.487415,
y: -7.000219
},
{
x: 2.452782,
y: -6.971796
},
{
x: 2.405238,
y: -6.946383
},
{
x: 2.35365,
y: -6.930734
},
{
x: 2.333455,
y: -6.928745
},
{
x: 2.328325,
y: -6.926003
},
{
x: 2.277674,
y: -6.910638
},
{
x: 2.225,
y: -6.90545
},
{
x: 1.928429,
y: -6.90545
},
{
x: 1.948953,
y: -6.837791
},
{
x: 1.9576,
y: -6.75
},
{
x: 1.948953,
y: -6.662209
},
{
x: 1.923346,
y: -6.577792
},
{
x: 1.8826,
y: -6.501563
},
{
x: 1.8826,
y: -6.475
},
{
x: 2,
y: -6.475
},
{
x: 2,
y: -5.839842
},
{
x: 2.131702,
y: -5.850817
},
{
x: 2.133947,
y: -5.853553
},
{
x: 2.209715,
y: -5.915735
},
{
x: 2.296158,
y: -5.96194
},
{
x: 2.389955,
y: -5.990393
},
{
x: 2.4875,
y: -6
},
{
x: 2.9875,
y: -6
},
{
x: 3.085045,
y: -5.990393
},
{
x: 3.178842,
y: -5.96194
},
{
x: 3.265285,
y: -5.915735
},
{
x: 3.341053,
y: -5.853553
},
{
x: 3.491053,
y: -5.703553
},
{
x: 3.553235,
y: -5.627785
},
{
x: 3.59944,
y: -5.541342
},
{
x: 3.627893,
y: -5.447545
},
{
x: 3.6375,
y: -5.35
},
{
x: 3.627893,
y: -5.252455
},
{
x: 3.59944,
y: -5.158658
},
{
x: 3.553235,
y: -5.072215
},
{
x: 3.491053,
y: -4.996447
},
{
x: 3.415285,
y: -4.934265
},
{
x: 3.328842,
y: -4.88806
},
{
x: 3.235045,
y: -4.859607
},
{
x: 3.1375,
y: -4.85
},
{
x: 3.039955,
y: -4.859607
},
{
x: 2.946158,
y: -4.88806
},
{
x: 2.859715,
y: -4.934265
},
{
x: 2.783947,
y: -4.996447
},
{
x: 2.780394,
y: -5
},
{
x: 2.4875,
y: -5
},
{
x: 2.389955,
y: -5.009607
},
{
x: 2.296158,
y: -5.03806
},
{
x: 2.209715,
y: -5.084265
},
{
x: 2.187091,
y: -5.102832
},
{
x: 2,
y: -5.087241
},
{
x: 2,
y: -4.475
},
{
x: 3.2051,
y: -4.475
},
{
x: 3.25875,
y: -4.469716
},
{
x: 3.310338,
y: -4.454067
},
{
x: 3.357882,
y: -4.428654
},
{
x: 3.399554,
y: -4.394454
},
{
x: 3.433754,
y: -4.352782
},
{
x: 3.459167,
y: -4.305238
},
{
x: 3.474816,
y: -4.25365
},
{
x: 3.4801,
y: -4.2
},
{
x: 3.474816,
y: -4.14635
},
{
x: 3.459167,
y: -4.094762
},
{
x: 3.437344,
y: -4.053934
},
{
x: 3.437887,
y: -4.053593
},
{
x: 3.334496,
y: -3.889201
},
{
x: 3.396005,
y: -3.889201
},
{
x: 3.490468,
y: -3.879897
},
{
x: 3.581301,
y: -3.852343
},
{
x: 3.665013,
y: -3.807598
},
{
x: 3.738387,
y: -3.747382
},
{
x: 3.798603,
y: -3.674007
},
{
x: 3.843348,
y: -3.590296
},
{
x: 3.870902,
y: -3.499463
},
{
x: 3.880206,
y: -3.405
},
{
x: 3.870902,
y: -3.310537
},
{
x: 3.843348,
y: -3.219704
},
{
x: 3.798603,
y: -3.135993
},
{
x: 3.738387,
y: -3.062618
},
{
x: 3.665013,
y: -3.002402
},
{
x: 3.581301,
y: -2.957657
},
{
x: 3.490468,
y: -2.930103
},
{
x: 3.396005,
y: -2.920799
},
{
x: 2.014195,
y: -2.920799
},
{
x: 1.919732,
y: -2.930103
},
{
x: 1.828899,
y: -2.957657
},
{
x: 1.745187,
y: -3.002402
},
{
x: 1.671813,
y: -3.062618
},
{
x: 1.611597,
y: -3.135993
},
{
x: 1.566852,
y: -3.219704
},
{
x: 1.539298,
y: -3.310537
},
{
x: 1.529994,
y: -3.405
},
{
x: 1.539298,
y: -3.499463
},
{
x: 1.566852,
y: -3.590296
},
{
x: 1.611597,
y: -3.674007
},
{
x: 1.671813,
y: -3.747382
},
{
x: 1.745187,
y: -3.807598
},
{
x: 1.828899,
y: -3.852343
},
{
x: 1.919732,
y: -3.879897
},
{
x: 2.014195,
y: -3.889201
},
{
x: 2.684762,
y: -3.889201
},
{
x: 2.707277,
y: -3.925
},
{
x: -0.5212,
y: -3.925
},
{
x: -0.57485,
y: -3.930284
},
{
x: -0.626438,
y: -3.945933
},
{
x: -0.673982,
y: -3.971346
},
{
x: -0.715654,
y: -4.005546
},
{
x: -0.749854,
y: -4.047218
},
{
x: -0.775267,
y: -4.094762
},
{
x: -0.790916,
y: -4.14635
},
{
x: -0.7962,
y: -4.2
},
{
x: -0.7962,
y: -4.4495
},
{
x: -1.174986,
y: -4.4495
},
{
x: -1.174986,
y: -4.114035
},
{
x: -1.055532,
y: -3.994581
},
{
x: -1.021332,
y: -3.952909
},
{
x: -0.995919,
y: -3.905365
},
{
x: -0.98027,
y: -3.853777
},
{
x: -0.975796,
y: -3.808348
},
{
x: -0.971332,
y: -3.802909
},
{
x: -0.945919,
y: -3.755365
},
{
x: -0.93027,
y: -3.703777
},
{
x: -0.924986,
y: -3.650127
},
{
x: -0.924986,
y: -3.564035
},
{
x: 1.444468,
y: -1.194581
},
{
x: 1.478668,
y: -1.152909
},
{
x: 1.504081,
y: -1.105365
},
{
x: 1.514907,
y: -1.069677
},
{
x: 1.528668,
y: -1.052909
},
{
x: 1.554081,
y: -1.005365
},
{
x: 1.56973,
y: -0.953777
},
{
x: 1.575014,
y: -0.900127
},
{
x: 1.575014,
y: -0.807361
},
{
x: 1.578668,
y: -0.802909
},
{
x: 1.604081,
y: -0.755365
},
{
x: 1.61973,
y: -0.703777
},
{
x: 1.625014,
y: -0.650127
},
{
x: 1.625014,
y: -0.153777
},
{
x: 1.668212,
y: -0.118325
},
{
x: 1.724175,
y: -0.050134
},
{
x: 1.76576,
y: 0.027665
},
{
x: 1.791367,
y: 0.112082
},
{
x: 1.800014,
y: 0.199873
},
{
x: 1.791367,
y: 0.287664
},
{
x: 1.76576,
y: 0.372081
},
{
x: 1.724175,
y: 0.44988
},
{
x: 1.668212,
y: 0.518071
},
{
x: 1.600021,
y: 0.574034
},
{
x: 1.522222,
y: 0.615619
},
{
x: 1.437805,
y: 0.641226
},
{
x: 1.350014,
y: 0.649873
},
{
x: 1.262223,
y: 0.641226
},
{
x: 1.177806,
y: 0.615619
},
{
x: 1.100007,
y: 0.574034
},
{
x: 1.031816,
y: 0.518071
},
{
x: 0.975853,
y: 0.44988
},
{
x: 0.934268,
y: 0.372081
},
{
x: 0.908661,
y: 0.287664
},
{
x: 0.900014,
y: 0.199873
},
{
x: 0.908661,
y: 0.112082
},
{
x: 0.934268,
y: 0.027665
},
{
x: 0.975853,
y: -0.050134
},
{
x: 1.031816,
y: -0.118325
},
{
x: 1.075014,
y: -0.153777
},
{
x: 1.075014,
y: -0.312443
},
{
x: 1.022248,
y: -0.284239
},
{
x: 0.937831,
y: -0.258632
},
{
x: 0.893199,
y: -0.254236
},
{
x: -0.193546,
y: 0.832509
},
{
x: -0.187792,
y: 0.834254
},
{
x: -0.109993,
y: 0.875839
},
{
x: -0.041802,
y: 0.931802
},
{
x: 0.012712,
y: 0.998228
},
{
x: 0.039993,
y: 0.975839
},
{
x: 0.117792,
y: 0.934254
},
{
x: 0.202209,
y: 0.908647
},
{
x: 0.29,
y: 0.9
},
{
x: 0.35674,
y: 0.906574
},
{
x: 0.358647,
y: 0.887209
},
{
x: 0.384254,
y: 0.802792
},
{
x: 0.425839,
y: 0.724993
},
{
x: 0.481802,
y: 0.656802
},
{
x: 0.549993,
y: 0.600839
},
{
x: 0.627792,
y: 0.559254
},
{
x: 0.712209,
y: 0.533647
},
{
x: 0.8,
y: 0.525
},
{
x: 0.887791,
y: 0.533647
},
{
x: 0.972208,
y: 0.559254
},
{
x: 1.050007,
y: 0.600839
},
{
x: 1.118198,
y: 0.656802
},
{
x: 1.174161,
y: 0.724993
},
{
x: 1.215746,
y: 0.802792
},
{
x: 1.241353,
y: 0.887209
},
{
x: 1.25,
y: 0.975
},
{
x: 1.241353,
y: 1.062791
},
{
x: 1.215746,
y: 1.147208
},
{
x: 1.174161,
y: 1.225007
},
{
x: 1.118198,
y: 1.293198
},
{
x: 1.075,
y: 1.32865
},
{
x: 1.075,
y: 1.48
},
{
x: 1.23,
y: 1.48
},
{
x: 1.23,
y: 2.52
},
{
x: 0.29,
y: 2.52
},
{
x: 0.29,
y: 1.8
},
{
x: 0.21,
y: 1.79212
},
{
x: 0.21,
y: 2.52
},
{
x: -0.73,
y: 2.52
},
{
x: -0.73,
y: 1.908883
},
{
x: -0.807909,
y: 1.830974
},
{
x: -0.808583,
y: 1.837812
},
{
x: -0.83419,
y: 1.922229
},
{
x: -0.875775,
y: 2.000028
},
{
x: -0.931738,
y: 2.068219
},
{
x: -0.999929,
y: 2.124182
},
{
x: -1.077728,
y: 2.165767
},
{
x: -1.162145,
y: 2.191374
},
{
x: -1.249936,
y: 2.200021
},
{
x: -1.337727,
y: 2.191374
},
{
x: -1.422144,
y: 2.165767
},
{
x: -1.499943,
y: 2.124182
},
{
x: -1.568134,
y: 2.068219
},
{
x: -1.624097,
y: 2.000028
},
{
x: -1.665682,
y: 1.922229
},
{
x: -1.691289,
y: 1.837812
},
{
x: -1.699936,
y: 1.750021
},
{
x: -1.691289,
y: 1.66223
},
{
x: -1.665682,
y: 1.577813
},
{
x: -1.624097,
y: 1.500014
},
{
x: -1.568134,
y: 1.431823
},
{
x: -1.499943,
y: 1.37586
},
{
x: -1.422144,
y: 1.334275
},
{
x: -1.337727,
y: 1.308668
},
{
x: -1.249936,
y: 1.300021
},
{
x: -1.162145,
y: 1.308668
},
{
x: -1.077728,
y: 1.334275
},
{
x: -1.07496,
y: 1.335755
},
{
x: -1.07496,
y: 1.050015
},
{
x: -1.069676,
y: 0.996365
},
{
x: -1.054027,
y: 0.944777
},
{
x: -1.028614,
y: 0.897233
},
{
x: -0.994414,
y: 0.855561
},
{
x: 0.423735,
y: -0.562588
},
{
x: 0.408687,
y: -0.612194
},
{
x: 0.40004,
y: -0.699985
},
{
x: 0.408687,
y: -0.787776
},
{
x: 0.434294,
y: -0.872193
},
{
x: 0.475879,
y: -0.949992
},
{
x: 0.531842,
y: -1.018183
},
{
x: 0.600033,
y: -1.074146
},
{
x: 0.677832,
y: -1.115731
},
{
x: 0.729752,
y: -1.131481
},
{
x: -1.225,
y: -3.086233
},
{
x: -1.225,
y: -2.038908
},
{
x: -0.105546,
y: -0.919454
},
{
x: -0.071346,
y: -0.877782
},
{
x: -0.045933,
y: -0.830238
},
{
x: -0.030284,
y: -0.77865
},
{
x: -0.025,
y: -0.725
},
{
x: -0.025,
y: -0.425
},
{
x: -0.030284,
y: -0.37135
},
{
x: -0.045933,
y: -0.319762
},
{
x: -0.071346,
y: -0.272218
},
{
x: -0.105546,
y: -0.230546
},
{
x: -0.505546,
y: 0.169454
},
{
x: -0.547218,
y: 0.203654
},
{
x: -0.594762,
y: 0.229067
},
{
x: -0.64635,
y: 0.244716
},
{
x: -0.7,
y: 0.25
},
{
x: -1.557662,
y: 0.25
},
{
x: -1.539298,
y: 0.310537
},
{
x: -1.529994,
y: 0.405
},
{
x: -1.539298,
y: 0.499463
},
{
x: -1.566852,
y: 0.590296
},
{
x: -1.611597,
y: 0.674007
},
{
x: -1.671813,
y: 0.747382
},
{
x: -1.745187,
y: 0.807598
},
{
x: -1.828899,
y: 0.852343
},
{
x: -1.919732,
y: 0.879897
},
{
x: -2.014195,
y: 0.889201
},
{
x: -2.3426,
y: 0.889201
},
{
x: -2.3426,
y: 1.032535
},
{
x: -2.326446,
y: 1.052218
},
{
x: -2.301033,
y: 1.099762
},
{
x: -2.285384,
y: 1.15135
},
{
x: -2.2801,
y: 1.205
},
{
x: -2.2801,
y: 1.405
},
{
x: -2.2801,
y: 1.541092
},
{
x: -1.960646,
y: 1.860546
},
{
x: -1.926446,
y: 1.902218
},
{
x: -1.901033,
y: 1.949762
},
{
x: -1.885384,
y: 2.00135
},
{
x: -1.88091,
y: 2.046779
},
{
x: -1.876446,
y: 2.052218
},
{
x: -1.851033,
y: 2.099762
},
{
x: -1.835384,
y: 2.15135
},
{
x: -1.8301,
y: 2.205
},
{
x: -1.8301,
y: 2.405
},
{
x: -1.835384,
y: 2.45865
},
{
x: -1.851033,
y: 2.510238
},
{
x: -1.876446,
y: 2.557782
},
{
x: -1.88091,
y: 2.563221
},
{
x: -1.885384,
y: 2.60865
},
{
x: -1.901033,
y: 2.660238
},
{
x: -1.926446,
y: 2.707782
},
{
x: -1.960646,
y: 2.749454
},
{
x: -2.292151,
y: 3.080959
},
{
x: -2.301033,
y: 3.110238
},
{
x: -2.326446,
y: 3.157782
},
{
x: -2.340207,
y: 3.17455
},
{
x: -2.351033,
y: 3.210238
},
{
x: -2.376446,
y: 3.257782
},
{
x: -2.410646,
y: 3.299454
},
{
x: -2.510646,
y: 3.399454
},
{
x: -2.552318,
y: 3.433654
},
{
x: -2.599862,
y: 3.459067
},
{
x: -2.63555,
y: 3.469893
},
{
x: -2.652318,
y: 3.483654
},
{
x: -2.699862,
y: 3.509067
},
{
x: -2.73,
y: 3.518209
},
{
x: -2.73,
y: 3.96
},
{
x: -2.992312,
y: 3.96
},
{
x: -2.980284,
y: 3.99965
},
{
x: -2.97631,
y: 4.04
},
{
x: -2.73,
y: 4.04
},
{
x: -2.73,
y: 4.98
},
{
x: -3.742287,
y: 4.98
},
{
x: -3.725903,
y: 4.999964
},
{
x: -3.684318,
y: 5.077763
},
{
x: -3.658711,
y: 5.16218
},
{
x: -3.650064,
y: 5.249971
},
{
x: -3.658711,
y: 5.337762
},
{
x: -3.684318,
y: 5.422179
},
{
x: -3.725903,
y: 5.499978
},
{
x: -3.781866,
y: 5.568169
},
{
x: -3.850057,
y: 5.624132
},
{
x: -3.927856,
y: 5.665717
},
{
x: -4.012273,
y: 5.691324
},
{
x: -4.100064,
y: 5.699971
},
{
x: -4.187855,
y: 5.691324
},
{
x: -4.272272,
y: 5.665717
},
{
x: -4.350071,
y: 5.624132
},
{
x: -4.418262,
y: 5.568169
},
{
x: -4.474225,
y: 5.499978
},
{
x: -4.51581,
y: 5.422179
},
{
x: -4.541417,
y: 5.337762
},
{
x: -4.547602,
y: 5.274971
},
{
x: -4.650064,
y: 5.274971
},
{
x: -4.703714,
y: 5.269687
},
{
x: -4.755302,
y: 5.254038
},
{
x: -4.802846,
y: 5.228625
},
{
x: -4.844518,
y: 5.194425
},
{
x: -4.944518,
y: 5.094425
},
{
x: -4.978718,
y: 5.052753
},
{
x: -4.993552,
y: 5.025
},
{
x: -5.305791,
y: 5.025
},
{
x: -5.284254,
y: 5.065292
},
{
x: -5.258647,
y: 5.149709
},
{
x: -5.25,
y: 5.2375
},
{
x: -5.258647,
y: 5.325291
},
{
x: -5.284254,
y: 5.409708
},
{
x: -5.325839,
y: 5.487507
},
{
x: -5.381802,
y: 5.555698
},
{
x: -5.449993,
y: 5.611661
},
{
x: -5.527792,
y: 5.653246
},
{
x: -5.612209,
y: 5.678853
},
{
x: -5.7,
y: 5.6875
},
{
x: -5.787791,
y: 5.678853
},
{
x: -5.872208,
y: 5.653246
},
{
x: -5.950007,
y: 5.611661
},
{
x: -6.018198,
y: 5.555698
},
{
x: -6.074161,
y: 5.487507
},
{
x: -6.115746,
y: 5.409708
},
{
x: -6.141353,
y: 5.325291
},
{
x: -6.15,
y: 5.2375
},
{
x: -6.141353,
y: 5.149709
},
{
x: -6.115746,
y: 5.065292
},
{
x: -6.094209,
y: 5.025
},
{
x: -6.2326,
y: 5.025
},
{
x: -6.2326,
y: 4.241535
},
{
x: -6.277895,
y: 4.265746
},
{
x: -6.362312,
y: 4.291353
},
{
x: -6.450103,
y: 4.3
},
{
x: -6.537894,
y: 4.291353
},
{
x: -6.622311,
y: 4.265746
},
{
x: -6.70011,
y: 4.224161
},
{
x: -6.768301,
y: 4.168198
},
{
x: -6.824264,
y: 4.100007
},
{
x: -6.865849,
y: 4.022208
},
{
x: -6.891456,
y: 3.937791
},
{
x: -6.892947,
y: 3.922649
},
{
x: -6.952907,
y: 3.940837
},
{
x: -7.077235,
y: 4.065165
},
{
x: -7.134061,
y: 4.111801
},
{
x: -7.198894,
y: 4.146455
},
{
x: -7.269241,
y: 4.167794
},
{
x: -7.281025,
y: 4.168955
},
{
x: -7.377235,
y: 4.265165
},
{
x: -7.434061,
y: 4.311801
},
{
x: -7.498894,
y: 4.346455
},
{
x: -7.525018,
y: 4.354379
},
{
x: -7.534061,
y: 4.361801
},
{
x: -7.598894,
y: 4.396455
},
{
x: -7.669241,
y: 4.417794
},
{
x: -7.701154,
y: 4.420937
},
{
x: -7.748894,
y: 4.446455
},
{
x: -7.819241,
y: 4.467794
},
{
x: -7.8924,
y: 4.475
},
{
x: -8.2674,
y: 4.475
},
{
x: -8.2674,
y: 4.50147
},
{
x: -6.62148,
y: 6.15
},
{
x: -4.9,
y: 6.15
},
{
x: -4.9,
y: 7.87421
},
{
x: -4.025597,
y: 8.75
},
{
x: -3.15,
y: 8.75
},
{
x: -3.091473,
y: 8.755764
},
{
x: -3.035195,
y: 8.772836
},
{
x: -3.034968,
y: 8.772958
},
{
x: -2.987791,
y: 8.758647
},
{
x: -2.9,
y: 8.75
},
{
x: -2.812209,
y: 8.758647
},
{
x: -2.796032,
y: 8.763554
},
{
x: -3.062768,
y: 8.496818
},
{
x: -3.068282,
y: 8.496275
},
{
x: -3.133939,
y: 8.476358
},
{
x: -3.19445,
y: 8.444014
},
{
x: -3.247487,
y: 8.400487
},
{
x: -3.291014,
y: 8.34745
},
{
x: -3.323358,
y: 8.286939
},
{
x: -3.343275,
y: 8.221282
},
{
x: -3.35,
y: 8.153
},
{
x: -3.35,
y: 6.700001
},
{
x: -3.525006,
y: 6.700001
},
{
x: -3.525006,
y: 5.300003
},
{
x: -2.474994,
y: 5.300003
},
{
x: -2.474994,
y: 5.691088
},
{
x: -2.462208,
y: 5.684254
},
{
x: -2.377791,
y: 5.658647
},
{
x: -2.29,
y: 5.65
},
{
x: -2.202209,
y: 5.658647
},
{
x: -2.117792,
y: 5.684254
},
{
x: -2.039993,
y: 5.725839
},
{
x: -1.971802,
y: 5.781802
},
{
x: -1.915839,
y: 5.849993
},
{
x: -1.874254,
y: 5.927792
},
{
x: -1.848647,
y: 6.012209
},
{
x: -1.84,
y: 6.1
},
{
x: -1.848647,
y: 6.187791
},
{
x: -1.874254,
y: 6.272208
},
{
x: -1.915839,
y: 6.350007
},
{
x: -1.971802,
y: 6.418198
},
{
x: -2.039993,
y: 6.474161
},
{
x: -2.117792,
y: 6.515746
},
{
x: -2.202209,
y: 6.541353
},
{
x: -2.29,
y: 6.55
},
{
x: -2.377791,
y: 6.541353
},
{
x: -2.462208,
y: 6.515746
},
{
x: -2.474994,
y: 6.508912
},
{
x: -2.474994,
y: 6.700001
},
{
x: -2.65,
y: 6.700001
},
{
x: -2.65,
y: 8.096414
},
{
x: -2.575046,
y: 8.171368
},
{
x: -2.575046,
y: 7.299999
},
{
x: -2.22504,
y: 7.299999
},
{
x: -2.22504,
y: 7.249998
},
{
x: -2.219756,
y: 7.196348
},
{
x: -2.204107,
y: 7.14476
},
{
x: -2.178694,
y: 7.097216
},
{
x: -2.17504,
y: 7.092764
},
{
x: -2.17504,
y: 6.999998
},
{
x: -2.17504,
y: 6.899998
},
{
x: -2.169756,
y: 6.846348
},
{
x: -2.154107,
y: 6.79476
},
{
x: -2.128694,
y: 6.747216
},
{
x: -2.094494,
y: 6.705544
},
{
x: -1.412661,
y: 6.023711
},
{
x: -1.425106,
y: 6.024937
},
{
x: -1.512897,
y: 6.01629
},
{
x: -1.597314,
y: 5.990683
},
{
x: -1.675113,
y: 5.949098
},
{
x: -1.743304,
y: 5.893135
},
{
x: -1.799267,
y: 5.824944
},
{
x: -1.840852,
y: 5.747145
},
{
x: -1.866459,
y: 5.662728
},
{
x: -1.875106,
y: 5.574937
},
{
x: -1.866459,
y: 5.487146
},
{
x: -1.840852,
y: 5.402729
},
{
x: -1.799267,
y: 5.32493
},
{
x: -1.743304,
y: 5.256739
},
{
x: -1.675113,
y: 5.200776
},
{
x: -1.597314,
y: 5.159191
},
{
x: -1.512897,
y: 5.133584
},
{
x: -1.425106,
y: 5.124937
},
{
x: -1.337315,
y: 5.133584
},
{
x: -1.252898,
y: 5.159191
},
{
x: -1.175099,
y: 5.200776
},
{
x: -1.106908,
y: 5.256739
},
{
x: -1.050945,
y: 5.32493
},
{
x: -1.00936,
y: 5.402729
},
{
x: -0.983753,
y: 5.487146
},
{
x: -0.975106,
y: 5.574937
},
{
x: -0.976332,
y: 5.587382
},
{
x: -0.944494,
y: 5.555544
},
{
x: -0.902822,
y: 5.521344
},
{
x: -0.855278,
y: 5.495931
},
{
x: -0.80369,
y: 5.480282
},
{
x: -0.75004,
y: 5.474998
},
{
x: -0.54395,
y: 5.474998
},
{
x: -0.56194,
y: 5.441342
},
{
x: -0.590393,
y: 5.347545
},
{
x: -0.6,
y: 5.25
},
{
x: -0.6,
y: 4.25
},
{
x: -0.590393,
y: 4.152455
},
{
x: -0.582065,
y: 4.125
},
{
x: -1.00635,
y: 4.125
},
{
x: -1.041802,
y: 4.168198
},
{
x: -1.109993,
y: 4.224161
},
{
x: -1.187792,
y: 4.265746
},
{
x: -1.272209,
y: 4.291353
},
{
x: -1.36,
y: 4.3
},
{
x: -1.447791,
y: 4.291353
},
{
x: -1.532208,
y: 4.265746
},
{
x: -1.610007,
y: 4.224161
},
{
x: -1.678198,
y: 4.168198
},
{
x: -1.734161,
y: 4.100007
},
{
x: -1.775746,
y: 4.022208
},
{
x: -1.801353,
y: 3.937791
},
{
x: -1.81,
y: 3.85
},
{
x: -1.801353,
y: 3.762209
},
{
x: -1.775746,
y: 3.677792
},
{
x: -1.734161,
y: 3.599993
},
{
x: -1.678198,
y: 3.531802
},
{
x: -1.610007,
y: 3.475839
},
{
x: -1.532208,
y: 3.434254
},
{
x: -1.447791,
y: 3.408647
},
{
x: -1.36,
y: 3.4
},
{
x: -1.272209,
y: 3.408647
},
{
x: -1.187792,
y: 3.434254
},
{
x: -1.15,
y: 3.454455
},
{
x: -1.15,
y: 2.6
},
{
x: 2.65,
y: 2.6
},
{
x: 2.65,
y: 4.125
},
{
x: 2.153611,
y: 4.125
},
{
x: 2.174121,
y: 4.149991
},
{
x: 2.215706,
y: 4.22779
},
{
x: 2.241313,
y: 4.312207
},
{
x: 2.24996,
y: 4.399998
},
{
x: 2.241313,
y: 4.487789
},
{
x: 2.215706,
y: 4.572206
},
{
x: 2.174121,
y: 4.650005
},
{
x: 2.118158,
y: 4.718196
},
{
x: 2.049967,
y: 4.774159
},
{
x: 1.972168,
y: 4.815744
},
{
x: 1.887751,
y: 4.841351
},
{
x: 1.79996,
y: 4.849998
},
{
x: 1.712169,
y: 4.841351
},
{
x: 1.700926,
y: 4.83794
},
{
x: 1.594414,
y: 4.944452
},
{
x: 1.552742,
y: 4.978652
},
{
x: 1.505198,
y: 5.004065
},
{
x: 1.45361,
y: 5.019714
},
{
x: 1.39996,
y: 5.024998
},
{
x: 1.263868,
y: 5.024998
},
{
x: 0.394414,
y: 5.894452
},
{
x: 0.352742,
y: 5.928652
},
{
x: 0.305198,
y: 5.954065
},
{
x: 0.26951,
y: 5.964891
},
{
x: 0.252742,
y: 5.978652
},
{
x: 0.205198,
y: 6.004065
},
{
x: 0.15361,
y: 6.019714
},
{
x: 0.09996,
y: 6.024998
},
{
x: -0.636132,
y: 6.024998
},
{
x: -0.757722,
y: 6.146588
},
{
x: -0.752455,
y: 6.147107
},
{
x: -0.658658,
y: 6.17556
},
{
x: -0.572215,
y: 6.221765
},
{
x: -0.496447,
y: 6.283947
},
{
x: -0.046447,
y: 6.733947
},
{
x: 0.015735,
y: 6.809715
},
{
x: 0.050631,
y: 6.875
},
{
x: 1.340062,
y: 6.875
},
{
x: 1.331738,
y: 6.868169
},
{
x: 1.275775,
y: 6.799978
},
{
x: 1.23419,
y: 6.722179
},
{
x: 1.208583,
y: 6.637762
},
{
x: 1.199936,
y: 6.549971
},
{
x: 1.208583,
y: 6.46218
},
{
x: 1.23419,
y: 6.377763
},
{
x: 1.275775,
y: 6.299964
},
{
x: 1.331738,
y: 6.231773
},
{
x: 1.399929,
y: 6.17581
},
{
x: 1.477728,
y: 6.134225
},
{
x: 1.562145,
y: 6.108618
},
{
x: 1.649936,
y: 6.099971
},
{
x: 1.737727,
y: 6.108618
},
{
x: 1.822144,
y: 6.134225
},
{
x: 1.899943,
y: 6.17581
},
{
x: 1.968134,
y: 6.231773
},
{
x: 2.024097,
y: 6.299964
},
{
x: 2.065682,
y: 6.377763
},
{
x: 2.091289,
y: 6.46218
},
{
x: 2.099936,
y: 6.549971
},
{
x: 2.091289,
y: 6.637762
},
{
x: 2.065682,
y: 6.722179
},
{
x: 2.024097,
y: 6.799978
},
{
x: 1.968134,
y: 6.868169
},
{
x: 1.95981,
y: 6.875
},
{
x: 2.65,
y: 6.875
},
{
x: 2.65,
y: 8.4
},
{
x: 2.087475,
y: 8.4
},
{
x: 2.09439,
y: 8.405675
},
{
x: 2.14439,
y: 8.455675
},
{
x: 2.17859,
y: 8.497347
},
{
x: 2.19336,
y: 8.524979
},
{
x: 3.275005,
y: 8.524979
},
{
x: 3.275005,
y: 10.124977
},
{
x: 1.924995,
y: 10.124977
},
{
x: 1.924995,
y: 9.437507
},
{
x: 1.872168,
y: 9.465744
},
{
x: 1.787751,
y: 9.491351
},
{
x: 1.69996,
y: 9.499998
},
{
x: 1.612169,
y: 9.491351
},
{
x: 1.527752,
y: 9.465744
},
{
x: 1.449953,
y: 9.424159
},
{
x: 1.381762,
y: 9.368196
},
{
x: 1.34631,
y: 9.324998
},
{
x: 0.24996,
y: 9.324998
},
{
x: 0.19631,
y: 9.319714
},
{
x: 0.144722,
y: 9.304065
},
{
x: 0.097178,
y: 9.278652
},
{
x: 0.08041,
y: 9.264891
},
{
x: 0.044722,
y: 9.254065
},
{
x: -2822e-6,
y: 9.228652
},
{
x: -7274e-6,
y: 9.224998
},
{
x: -0.65004,
y: 9.224998
},
{
x: -0.682896,
y: 9.221762
},
{
x: -0.955586,
y: 9.494452
},
{
x: -0.997258,
y: 9.528652
},
{
x: -1.044802,
y: 9.554065
},
{
x: -1.09639,
y: 9.569714
},
{
x: -1.15004,
y: 9.574998
},
{
x: -1.173751,
y: 9.572663
},
{
x: -0.522114,
y: 10.2243
},
{
x: 0.2839,
y: 10.2243
},
{
x: 0.352182,
y: 10.231025
},
{
x: 0.417839,
y: 10.250942
},
{
x: 0.47835,
y: 10.283286
},
{
x: 0.531387,
y: 10.326813
},
{
x: 0.574914,
y: 10.37985
},
{
x: 0.607258,
y: 10.440361
},
{
x: 0.613944,
y: 10.462402
},
{
x: 2.050198,
y: 11.898656
},
{
x: 2.072239,
y: 11.905342
},
{
x: 2.109059,
y: 11.925023
},
{
x: 2.182166,
y: 11.925023
},
{
x: 2.158647,
y: 11.847491
},
{
x: 2.15,
y: 11.7597
},
{
x: 2.158647,
y: 11.671909
},
{
x: 2.184254,
y: 11.587492
},
{
x: 2.225839,
y: 11.509693
},
{
x: 2.281802,
y: 11.441502
},
{
x: 2.349993,
y: 11.385539
},
{
x: 2.427792,
y: 11.343954
},
{
x: 2.512209,
y: 11.318347
},
{
x: 2.6,
y: 11.3097
},
{
x: 2.687791,
y: 11.318347
},
{
x: 2.772208,
y: 11.343954
},
{
x: 2.850007,
y: 11.385539
},
{
x: 2.918198,
y: 11.441502
},
{
x: 2.974161,
y: 11.509693
},
{
x: 3.015746,
y: 11.587492
},
{
x: 3.041353,
y: 11.671909
},
{
x: 3.05,
y: 11.7597
},
{
x: 3.041353,
y: 11.847491
},
{
x: 3.017834,
y: 11.925023
},
{
x: 3.275005,
y: 11.925023
},
{
x: 3.275005,
y: 13.525021
},
{
x: 2.064265,
y: 13.525021
},
{
x: 2.065746,
y: 13.527792
},
{
x: 2.091353,
y: 13.612209
},
{
x: 2.1,
y: 13.7
},
{
x: 2.091353,
y: 13.787791
},
{
x: 2.065746,
y: 13.872208
},
{
x: 2.024161,
y: 13.950007
},
{
x: 1.968198,
y: 14.018198
},
{
x: 1.900007,
y: 14.074161
},
{
x: 1.822208,
y: 14.115746
},
{
x: 1.737791,
y: 14.141353
},
{
x: 1.65,
y: 14.15
},
{
x: 1.562209,
y: 14.141353
},
{
x: 1.477792,
y: 14.115746
},
{
x: 1.399993,
y: 14.074161
},
{
x: 1.370553,
y: 14.05
},
{
x: 1.27167,
y: 14.05
},
{
x: 1.171751,
y: 14.171751
},
{
x: 1.027792,
y: 14.289896
},
{
x: 0.863549,
y: 14.377686
},
{
x: 0.685336,
y: 14.431746
},
{
x: 0.5,
y: 14.45
},
{
x: 0.314664,
y: 14.431746
},
{
x: 0.136451,
y: 14.377686
},
{
x: -0.019421,
y: 14.29437
},
{
x: 0.130571,
y: 14.744346
},
{
x: 0.148882,
y: 14.766658
},
{
x: 0.153341,
y: 14.775
},
{
x: 1.575,
y: 14.775
},
{
x: 1.575,
y: 15.237499
},
{
x: 1.86685,
y: 15.652307
},
{
x: 1.865831,
y: 15.653024
},
{
x: 1.875019,
y: 15.66422
},
{
x: 1.924617,
y: 15.75701
},
{
x: 1.925614,
y: 15.756573
},
{
x: 2.152238,
y: 16.273295
},
{
x: 2.455615,
y: 16.262834
},
{
x: 2.455669,
y: 16.264404
},
{
x: 2.475,
y: 16.2625
},
{
x: 2.584738,
y: 16.273308
},
{
x: 2.622005,
y: 16.284613
},
{
x: 3.152813,
y: 16.266309
},
{
x: 3.767943,
y: 16.178434
},
{
x: 3.739458,
y: 16.155057
},
{
x: 3.676033,
y: 16.077773
},
{
x: 3.628904,
y: 15.989601
},
{
x: 3.599882,
y: 15.893929
},
{
x: 3.590083,
y: 15.794433
},
{
x: 3.599882,
y: 15.694937
},
{
x: 3.628904,
y: 15.599264
},
{
x: 3.676033,
y: 15.511092
},
{
x: 3.739458,
y: 15.433809
},
{
x: 3.816742,
y: 15.370384
},
{
x: 3.904914,
y: 15.323255
},
{
x: 4.000586,
y: 15.294233
},
{
x: 4.099828,
y: 15.284458
},
{
x: 4.099828,
y: 13.675869
},
{
x: 4.486929,
y: 13.675869
},
{
x: 4.447158,
y: 13.654611
},
{
x: 4.405486,
y: 13.620411
},
{
x: 4.055486,
y: 13.270411
},
{
x: 4.021286,
y: 13.228739
},
{
x: 3.995873,
y: 13.181195
},
{
x: 3.985047,
y: 13.145507
},
{
x: 3.971286,
y: 13.128739
},
{
x: 3.945873,
y: 13.081195
},
{
x: 3.930224,
y: 13.029607
},
{
x: 3.92494,
y: 12.975957
},
{
x: 3.92494,
y: 10.475957
},
{
x: 3.930224,
y: 10.422307
},
{
x: 3.945873,
y: 10.370719
},
{
x: 3.971286,
y: 10.323175
},
{
x: 4.005486,
y: 10.281502
},
{
x: 4.105418,
y: 10.18157
},
{
x: 4.09994,
y: 10.125957
},
{
x: 4.108587,
y: 10.038166
},
{
x: 4.134194,
y: 9.953749
},
{
x: 4.175779,
y: 9.87595
},
{
x: 4.231742,
y: 9.807759
},
{
x: 4.299933,
y: 9.751795
},
{
x: 4.377732,
y: 9.710211
},
{
x: 4.462149,
y: 9.684603
},
{
x: 4.466353,
y: 9.684189
},
{
x: 3.575611,
y: 8.375
},
{
x: 2.825,
y: 8.375
},
{
x: 2.825,
y: 7.175
},
{
x: 2.961092,
y: 7.175
},
{
x: 2.855546,
y: 7.069454
},
{
x: 2.605546,
y: 6.819454
},
{
x: 2.571346,
y: 6.777782
},
{
x: 2.545933,
y: 6.730238
},
{
x: 2.530284,
y: 6.67865
},
{
x: 2.525,
y: 6.625
},
{
x: 2.525,
y: 5.717613
},
{
x: 2.512209,
y: 5.716353
},
{
x: 2.427792,
y: 5.690746
},
{
x: 2.349993,
y: 5.649161
},
{
x: 2.281802,
y: 5.593198
},
{
x: 2.225839,
y: 5.525007
},
{
x: 2.184254,
y: 5.447208
},
{
x: 2.158647,
y: 5.362791
},
{
x: 2.15,
y: 5.275
},
{
x: 2.158647,
y: 5.187209
},
{
x: 2.184254,
y: 5.102792
},
{
x: 2.225839,
y: 5.024993
},
{
x: 2.281802,
y: 4.956802
},
{
x: 2.349993,
y: 4.900839
},
{
x: 2.427792,
y: 4.859254
},
{
x: 2.512209,
y: 4.833647
},
{
x: 2.6,
y: 4.825
},
{
x: 2.687791,
y: 4.833647
},
{
x: 2.772208,
y: 4.859254
},
{
x: 2.850007,
y: 4.900839
},
{
x: 2.918198,
y: 4.956802
},
{
x: 2.974161,
y: 5.024993
},
{
x: 3.015746,
y: 5.102792
},
{
x: 3.041353,
y: 5.187209
},
{
x: 3.05,
y: 5.275
},
{
x: 3.042751,
y: 5.348592
},
{
x: 3.054067,
y: 5.369762
},
{
x: 3.069716,
y: 5.42135
},
{
x: 3.075,
y: 5.475
},
{
x: 3.075,
y: 6.511092
},
{
x: 3.244454,
y: 6.680546
},
{
x: 3.544454,
y: 6.980546
},
{
x: 3.578654,
y: 7.022218
},
{
x: 3.604067,
y: 7.069762
},
{
x: 3.619716,
y: 7.12135
},
{
x: 3.625,
y: 7.175
},
{
x: 4.175,
y: 7.175
},
{
x: 4.175,
y: 8.277407
},
{
x: 4.175779,
y: 8.27595
},
{
x: 4.231742,
y: 8.207759
},
{
x: 4.27494,
y: 8.172307
},
{
x: 4.27494,
y: 6.875957
},
{
x: 4.27494,
y: 6.425957
},
{
x: 4.280224,
y: 6.372307
},
{
x: 4.295873,
y: 6.320719
},
{
x: 4.321286,
y: 6.273175
},
{
x: 4.355486,
y: 6.231502
},
{
x: 4.500005,
y: 6.086983
},
{
x: 4.500005,
y: 5.050134
},
{
x: 5.500003,
y: 5.050134
},
{
x: 5.500003,
y: 5.049881
},
{
x: 6.500001,
y: 5.049881
},
{
x: 6.588111,
y: 5.049881
},
{
x: 6.539993,
y: 5.024161
},
{
x: 6.471802,
y: 4.968198
},
{
x: 6.415839,
y: 4.900007
},
{
x: 6.374254,
y: 4.822208
},
{
x: 6.348647,
y: 4.737791
},
{
x: 6.34,
y: 4.65
},
{
x: 6.348647,
y: 4.562209
},
{
x: 6.374254,
y: 4.477792
},
{
x: 6.415839,
y: 4.399993
},
{
x: 6.471802,
y: 4.331802
},
{
x: 6.539993,
y: 4.275839
},
{
x: 6.617792,
y: 4.234254
},
{
x: 6.702209,
y: 4.208647
},
{
x: 6.79,
y: 4.2
},
{
x: 6.877791,
y: 4.208647
},
{
x: 6.962208,
y: 4.234254
},
{
x: 7.040007,
y: 4.275839
},
{
x: 7.108198,
y: 4.331802
},
{
x: 7.164161,
y: 4.399993
},
{
x: 7.204651,
y: 4.475743
},
{
x: 7.265959,
y: 4.537051
},
{
x: 7.295238,
y: 4.545933
},
{
x: 7.342782,
y: 4.571346
},
{
x: 7.35955,
y: 4.585107
},
{
x: 7.395238,
y: 4.595933
},
{
x: 7.442782,
y: 4.621346
},
{
x: 7.45955,
y: 4.635107
},
{
x: 7.495238,
y: 4.645933
},
{
x: 7.542782,
y: 4.671346
},
{
x: 7.547234,
y: 4.675
},
{
x: 7.94,
y: 4.675
},
{
x: 7.99365,
y: 4.680284
},
{
x: 8.045238,
y: 4.695933
},
{
x: 8.092782,
y: 4.721346
},
{
x: 8.134454,
y: 4.755546
},
{
x: 8.153908,
y: 4.775
},
{
x: 8.44,
y: 4.775
},
{
x: 8.49365,
y: 4.780284
},
{
x: 8.545238,
y: 4.795933
},
{
x: 8.592782,
y: 4.821346
},
{
x: 8.634454,
y: 4.855546
},
{
x: 8.684454,
y: 4.905546
},
{
x: 8.718654,
y: 4.947218
},
{
x: 8.744067,
y: 4.994762
},
{
x: 8.759716,
y: 5.04635
},
{
x: 8.760089,
y: 5.050134
},
{
x: 9.499995,
y: 5.050134
},
{
x: 9.499995,
y: 6.950132
},
{
x: 8.922575,
y: 6.950132
},
{
x: 8.941367,
y: 7.012082
},
{
x: 8.950014,
y: 7.099873
},
{
x: 8.941367,
y: 7.187664
},
{
x: 8.91576,
y: 7.272081
},
{
x: 8.874175,
y: 7.34988
},
{
x: 8.818212,
y: 7.418071
},
{
x: 8.775118,
y: 7.453437
},
{
x: 8.803584,
y: 7.456241
},
{
x: 8.855172,
y: 7.47189
},
{
x: 8.902716,
y: 7.497303
},
{
x: 8.944388,
y: 7.531502
},
{
x: 9.044388,
y: 7.631502
},
{
x: 9.078588,
y: 7.673175
},
{
x: 9.104001,
y: 7.720719
},
{
x: 9.11965,
y: 7.772307
},
{
x: 9.124934,
y: 7.825957
},
{
x: 9.124934,
y: 8.962048
},
{
x: 9.694388,
y: 9.531502
},
{
x: 9.728588,
y: 9.573175
},
{
x: 9.754001,
y: 9.620719
},
{
x: 9.76965,
y: 9.672307
},
{
x: 9.774934,
y: 9.725957
},
{
x: 9.774934,
y: 12.875957
},
{
x: 9.76965,
y: 12.929607
},
{
x: 9.754001,
y: 12.981195
},
{
x: 9.728588,
y: 13.028739
},
{
x: 9.694388,
y: 13.070411
},
{
x: 9.194388,
y: 13.570411
},
{
x: 9.152716,
y: 13.604611
},
{
x: 9.105172,
y: 13.630024
},
{
x: 9.053584,
y: 13.645673
},
{
x: 8.999934,
y: 13.650957
},
{
x: 8.913842,
y: 13.650957
},
{
x: 8.888841,
y: 13.675958
},
{
x: 9.10006,
y: 13.675958
},
{
x: 9.10006,
y: 13.676022
},
{
x: 9.599995,
y: 13.676022
},
{
x: 9.599995,
y: 13.676047
},
{
x: 9.899944,
y: 13.676047
},
{
x: 9.899944,
y: 15.284436
},
{
x: 9.999414,
y: 15.294233
},
{
x: 10.095086,
y: 15.323255
},
{
x: 10.183258,
y: 15.370384
},
{
x: 10.260542,
y: 15.433809
},
{
x: 10.323967,
y: 15.511092
},
{
x: 10.371096,
y: 15.599264
},
{
x: 10.400118,
y: 15.694937
},
{
x: 10.409917,
y: 15.794433
},
{
x: 10.400118,
y: 15.893929
},
{
x: 10.371096,
y: 15.989601
},
{
x: 10.323967,
y: 16.077773
},
{
x: 10.260542,
y: 16.155057
},
{
x: 10.183258,
y: 16.218482
},
{
x: 10.095086,
y: 16.265611
},
{
x: 9.999414,
y: 16.294633
},
{
x: 9.899918,
y: 16.304432
},
{
x: 9.800422,
y: 16.294633
},
{
x: 9.70475,
y: 16.265611
},
{
x: 9.616578,
y: 16.218482
},
{
x: 9.539294,
y: 16.155057
},
{
x: 9.475869,
y: 16.077773
},
{
x: 9.42874,
y: 15.989601
},
{
x: 9.411477,
y: 15.932692
},
{
x: 9.35354,
y: 15.96366
},
{
x: 9.353639,
y: 15.963895
},
{
x: 9.191555,
y: 16.032328
},
{
x: 9.16835,
y: 16.075741
},
{
x: 9.142691,
y: 16.107006
},
{
x: 9.144548,
y: 16.108472
},
{
x: 8.817897,
y: 16.522117
},
{
x: 8.813471,
y: 16.567054
},
{
x: 8.779328,
y: 16.67961
},
{
x: 8.723882,
y: 16.783342
},
{
x: 8.649264,
y: 16.874264
},
{
x: 8.558342,
y: 16.948882
},
{
x: 8.45461,
y: 17.004328
},
{
x: 8.342054,
y: 17.038471
},
{
x: 8.225,
y: 17.05
},
{
x: 7.175,
y: 17.05
},
{
x: 7.067101,
y: 17.039373
},
{
x: 7.066951,
y: 17.040191
},
{
x: 6.415851,
y: 16.920991
},
{
x: 6.416001,
y: 16.920173
},
{
x: 6.406846,
y: 16.919271
},
{
x: 6.29429,
y: 16.885128
},
{
x: 6.190558,
y: 16.829682
},
{
x: 6.099636,
y: 16.755064
},
{
x: 6.040253,
y: 16.682706
},
{
x: 5.177736,
y: 16.326095
},
{
x: 5.169552,
y: 16.353073
},
{
x: 5.15618,
y: 16.37809
},
{
x: 5.157771,
y: 16.378885
},
{
x: 5.070427,
y: 16.553572
},
{
x: 5.075,
y: 16.6
},
{
x: 5.065873,
y: 16.692668
},
{
x: 5.038843,
y: 16.781775
},
{
x: 4.994948,
y: 16.863896
},
{
x: 4.935876,
y: 16.935876
},
{
x: 4.863896,
y: 16.994948
},
{
x: 4.781775,
y: 17.038843
},
{
x: 4.692668,
y: 17.065873
},
{
x: 4.666915,
y: 17.068409
},
{
x: 4.667175,
y: 17.070226
},
{
x: 4.208258,
y: 17.135786
},
{
x: 4.19723,
y: 17.144836
},
{
x: 4.104736,
y: 17.194276
},
{
x: 4.004373,
y: 17.22472
},
{
x: 3.975368,
y: 17.227577
},
{
x: 3.97566,
y: 17.229623
},
{
x: 3.27566,
y: 17.329623
},
{
x: 3.275368,
y: 17.327577
},
{
x: 3.218386,
y: 17.333189
},
{
x: 3.218437,
y: 17.334682
},
{
x: 2.659712,
y: 17.353948
},
{
x: 2.584738,
y: 17.376692
},
{
x: 2.494331,
y: 17.385596
},
{
x: 2.494385,
y: 17.387166
},
{
x: 1.97742,
y: 17.404992
},
{
x: 1.867054,
y: 17.438471
},
{
x: 1.75,
y: 17.45
},
{
x: 1.632946,
y: 17.438471
},
{
x: 1.52039,
y: 17.404328
},
{
x: 1.416658,
y: 17.348882
},
{
x: 1.325736,
y: 17.274264
},
{
x: 1.251118,
y: 17.183342
},
{
x: 1.201521,
y: 17.090553
},
{
x: 1.200524,
y: 17.09099
},
{
x: 0.863172,
y: 16.321801
},
{
x: 0.833342,
y: 16.346282
},
{
x: 0.72961,
y: 16.401728
},
{
x: 0.617054,
y: 16.435871
},
{
x: 0.5,
y: 16.4474
},
{
x: 0.382946,
y: 16.435871
},
{
x: 0.27039,
y: 16.401728
},
{
x: 0.166658,
y: 16.346282
},
{
x: 0.110263,
y: 16.3
},
{
x: -0.575,
y: 16.3
},
{
x: -0.575,
y: 15.655726
},
{
x: -0.57961,
y: 15.654328
},
{
x: -0.683342,
y: 15.598882
},
{
x: -0.774264,
y: 15.524264
},
{
x: -0.824264,
y: 15.474264
},
{
x: -0.898882,
y: 15.383342
},
{
x: -0.954328,
y: 15.27961
},
{
x: -0.966679,
y: 15.238893
},
{
x: -0.96921,
y: 15.239737
},
{
x: -1.16921,
y: 14.639737
},
{
x: -1.166679,
y: 14.638893
},
{
x: -1.188471,
y: 14.567054
},
{
x: -1.2,
y: 14.45
},
{
x: -1.188471,
y: 14.332946
},
{
x: -1.154328,
y: 14.22039
},
{
x: -1.098882,
y: 14.116658
},
{
x: -1.024264,
y: 14.025736
},
{
x: -0.933342,
y: 13.951118
},
{
x: -0.82961,
y: 13.895672
},
{
x: -0.717054,
y: 13.861529
},
{
x: -0.6,
y: 13.85
},
{
x: -0.482946,
y: 13.861529
},
{
x: -0.37039,
y: 13.895672
},
{
x: -0.356566,
y: 13.903061
},
{
x: -0.377686,
y: 13.863549
},
{
x: -0.431746,
y: 13.685336
},
{
x: -0.45,
y: 13.5
},
{
x: -0.431746,
y: 13.314664
},
{
x: -0.377686,
y: 13.136451
},
{
x: -0.289896,
y: 12.972208
},
{
x: -0.282227,
y: 12.962864
},
{
x: -0.919682,
y: 12.119779
},
{
x: -0.935839,
y: 12.150007
},
{
x: -0.991802,
y: 12.218198
},
{
x: -1.059993,
y: 12.274161
},
{
x: -1.137792,
y: 12.315746
},
{
x: -1.222209,
y: 12.341353
},
{
x: -1.31,
y: 12.35
},
{
x: -1.397791,
y: 12.341353
},
{
x: -1.451725,
y: 12.324993
},
{
x: -3.407457,
y: 13.628814
},
{
x: -3.407473,
y: 13.62879
},
{
x: -3.454762,
y: 13.654067
},
{
x: -3.506074,
y: 13.669632
},
{
x: -3.506068,
y: 13.66966
},
{
x: -3.537878,
y: 13.676022
},
{
x: -3.400005,
y: 13.676022
},
{
x: -3.400005,
y: 13.676047
},
{
x: -3.100056,
y: 13.676047
},
{
x: -3.100056,
y: 15.284436
},
{
x: -3.000586,
y: 15.294233
},
{
x: -2.904914,
y: 15.323255
},
{
x: -2.816742,
y: 15.370384
},
{
x: -2.739458,
y: 15.433809
},
{
x: -2.676033,
y: 15.511092
},
{
x: -2.628904,
y: 15.599264
},
{
x: -2.599882,
y: 15.694937
},
{
x: -2.590083,
y: 15.794433
},
{
x: -2.599882,
y: 15.893929
},
{
x: -2.628904,
y: 15.989601
},
{
x: -2.676033,
y: 16.077773
},
{
x: -2.739458,
y: 16.155057
},
{
x: -2.816742,
y: 16.218482
},
{
x: -2.904914,
y: 16.265611
},
{
x: -3.000586,
y: 16.294633
},
{
x: -3.100082,
y: 16.304432
},
{
x: -3.199578,
y: 16.294633
},
{
x: -3.29525,
y: 16.265611
},
{
x: -3.383422,
y: 16.218482
},
{
x: -3.425,
y: 16.18436
},
{
x: -3.425,
y: 16.325
},
{
x: -3.430764,
y: 16.383527
},
{
x: -3.447836,
y: 16.439805
},
{
x: -3.475559,
y: 16.491671
},
{
x: -3.500202,
y: 16.521698
},
{
x: -3.499227,
y: 16.522551
},
{
x: -3.6,
y: 16.63772
},
{
x: -3.6,
y: 16.775
},
{
x: -3.605764,
y: 16.833527
},
{
x: -3.622836,
y: 16.889805
},
{
x: -3.650559,
y: 16.941671
},
{
x: -3.662735,
y: 16.956508
},
{
x: -3.672836,
y: 16.989805
},
{
x: -3.700559,
y: 17.041671
},
{
x: -3.737868,
y: 17.087132
},
{
x: -3.937868,
y: 17.287132
},
{
x: -3.983329,
y: 17.324441
},
{
x: -4.035195,
y: 17.352164
},
{
x: -4.068492,
y: 17.362265
},
{
x: -4.083329,
y: 17.374441
},
{
x: -4.135195,
y: 17.402164
},
{
x: -4.168492,
y: 17.412265
},
{
x: -4.183329,
y: 17.424441
},
{
x: -4.235195,
y: 17.452164
},
{
x: -4.291473,
y: 17.469236
},
{
x: -4.35,
y: 17.475
},
{
x: -4.95,
y: 17.475
},
{
x: -5.008527,
y: 17.469236
},
{
x: -5.064805,
y: 17.452164
},
{
x: -5.116671,
y: 17.424441
},
{
x: -5.131508,
y: 17.412265
},
{
x: -5.164805,
y: 17.402164
},
{
x: -5.216671,
y: 17.374441
},
{
x: -5.231508,
y: 17.362265
},
{
x: -5.264805,
y: 17.352164
},
{
x: -5.316671,
y: 17.324441
},
{
x: -5.362132,
y: 17.287132
},
{
x: -5.394489,
y: 17.247705
},
{
x: -5.922194,
y: 16.72
},
{
x: -6.099231,
y: 16.72
},
{
x: -6.15,
y: 16.725
},
{
x: -6.208527,
y: 16.719236
},
{
x: -6.264805,
y: 16.702164
},
{
x: -6.316671,
y: 16.674441
},
{
x: -6.362132,
y: 16.637132
},
{
x: -7.174264,
y: 15.825
},
{
x: -8.05,
y: 15.825
},
{
x: -8.108527,
y: 15.819236
},
{
x: -8.164805,
y: 15.802164
},
{
x: -8.216671,
y: 15.774441
},
{
x: -8.262132,
y: 15.737132
},
{
x: -8.312132,
y: 15.687132
},
{
x: -8.349441,
y: 15.641671
},
{
x: -8.377164,
y: 15.589805
},
{
x: -8.394236,
y: 15.533527
},
{
x: -8.4,
y: 15.475
},
{
x: -8.394236,
y: 15.416473
},
{
x: -8.3925,
y: 15.41075
},
{
x: -8.3925,
y: 15.375841
},
{
x: -8.609929,
y: 15.375841
},
{
x: -8.539294,
y: 15.433809
},
{
x: -8.475869,
y: 15.511092
},
{
x: -8.42874,
y: 15.599264
},
{
x: -8.399718,
y: 15.694937
},
{
x: -8.389919,
y: 15.794433
},
{
x: -8.399718,
y: 15.893929
},
{
x: -8.42874,
y: 15.989601
},
{
x: -8.475869,
y: 16.077773
},
{
x: -8.539294,
y: 16.155057
},
{
x: -8.616578,
y: 16.218482
},
{
x: -8.70475,
y: 16.265611
},
{
x: -8.800422,
y: 16.294633
},
{
x: -8.899918,
y: 16.304432
},
{
x: -8.999414,
y: 16.294633
},
{
x: -9.095086,
y: 16.265611
},
{
x: -9.183258,
y: 16.218482
},
{
x: -9.260542,
y: 16.155057
},
{
x: -9.323967,
y: 16.077773
},
{
x: -9.371096,
y: 15.989601
},
{
x: -9.400118,
y: 15.893929
},
{
x: -9.409917,
y: 15.794433
},
{
x: -9.400118,
y: 15.694937
},
{
x: -9.371096,
y: 15.599264
},
{
x: -9.323967,
y: 15.511092
},
{
x: -9.260542,
y: 15.433809
},
{
x: -9.183258,
y: 15.370384
},
{
x: -9.095086,
y: 15.323255
},
{
x: -8.999414,
y: 15.294233
},
{
x: -8.900172,
y: 15.284458
},
{
x: -8.900172,
y: 13.736036
},
{
x: -9.934454,
y: 12.701754
},
{
x: -9.968654,
y: 12.660082
},
{
x: -9.994067,
y: 12.612538
},
{
x: -10.009716,
y: 12.56095
},
{
x: -10.015,
y: 12.5073
},
{
x: -10.015,
y: 11.675
},
{
x: -10.381582,
y: 11.675
},
{
x: -10.358647,
y: 11.750609
},
{
x: -10.35,
y: 11.8384
},
{
x: -10.358647,
y: 11.926191
},
{
x: -10.384254,
y: 12.010608
},
{
x: -10.425839,
y: 12.088407
},
{
x: -10.481802,
y: 12.156598
},
{
x: -10.549993,
y: 12.212561
},
{
x: -10.627792,
y: 12.254146
},
{
x: -10.712209,
y: 12.279753
},
{
x: -10.8,
y: 12.2884
},
{
x: -10.887791,
y: 12.279753
},
{
x: -10.972208,
y: 12.254146
},
{
x: -11.050007,
y: 12.212561
},
{
x: -11.118198,
y: 12.156598
},
{
x: -11.174161,
y: 12.088407
},
{
x: -11.215746,
y: 12.010608
},
{
x: -11.241353,
y: 11.926191
},
{
x: -11.25,
y: 11.8384
},
{
x: -11.241353,
y: 11.750609
},
{
x: -11.218418,
y: 11.675
},
{
x: -11.325,
y: 11.675
},
{
x: -11.325,
y: 12.575
},
{
x: -11.330284,
y: 12.62865
},
{
x: -11.345933,
y: 12.680238
},
{
x: -11.35,
y: 12.687847
},
{
x: -11.35,
y: 13.075
},
{
x: -11.354804,
y: 13.123773
},
{
x: -11.36903,
y: 13.170671
},
{
x: -11.392133,
y: 13.213893
},
{
x: -11.423223,
y: 13.251777
},
{
x: -11.48,
y: 13.308554
},
{
x: -11.48,
y: 13.775145
},
{
x: -11.422208,
y: 13.744254
},
{
x: -11.337791,
y: 13.718647
},
{
x: -11.25,
y: 13.71
},
{
x: -11.162209,
y: 13.718647
},
{
x: -11.077792,
y: 13.744254
},
{
x: -10.999993,
y: 13.785839
},
{
x: -10.931802,
y: 13.841802
},
{
x: -10.875839,
y: 13.909993
},
{
x: -10.834254,
y: 13.987792
},
{
x: -10.808647,
y: 14.072209
},
{
x: -10.8,
y: 14.16
},
{
x: -10.808647,
y: 14.247791
},
{
x: -10.834254,
y: 14.332208
},
{
x: -10.875839,
y: 14.410007
},
{
x: -10.931802,
y: 14.478198
},
{
x: -10.999993,
y: 14.534161
},
{
x: -11.077792,
y: 14.575746
},
{
x: -11.162209,
y: 14.601353
},
{
x: -11.25,
y: 14.61
},
{
x: -11.323592,
y: 14.602751
},
{
x: -11.344762,
y: 14.614067
},
{
x: -11.39635,
y: 14.629716
},
{
x: -11.45,
y: 14.635
},
{
x: -11.48,
y: 14.635
},
{
x: -11.48,
y: 14.98
},
{
x: -12.52,
y: 14.98
},
{
x: -12.52,
y: 14.78369
},
{
x: -12.56035,
y: 14.779716
},
{
x: -12.611938,
y: 14.764067
},
{
x: -12.659482,
y: 14.738654
},
{
x: -12.701154,
y: 14.704454
},
{
x: -12.735354,
y: 14.662782
},
{
x: -12.760767,
y: 14.615238
},
{
x: -12.776416,
y: 14.56365
},
{
x: -12.7817,
y: 14.51
},
{
x: -12.7817,
y: 12.834708
},
{
x: -13.074454,
y: 12.541954
},
{
x: -13.108654,
y: 12.500282
},
{
x: -13.134067,
y: 12.452738
},
{
x: -13.149716,
y: 12.40115
},
{
x: -13.155,
y: 12.3475
},
{
x: -13.155,
y: 12.267108
},
{
x: -13.470608,
y: 11.9515
},
{
x: -14.9638,
y: 11.9515
},
{
x: -15.01745,
y: 11.946216
},
{
x: -15.069038,
y: 11.930567
},
{
x: -15.116582,
y: 11.905154
},
{
x: -15.158254,
y: 11.870954
},
{
x: -16.437654,
y: 10.591554
},
{
x: -16.471854,
y: 10.549882
},
{
x: -16.497267,
y: 10.502338
},
{
x: -16.512916,
y: 10.45075
},
{
x: -16.5182,
y: 10.3971
},
{
x: -16.5182,
y: 9.950086
},
{
x: -16.599925,
y: 9.950086
},
{
x: -16.599925,
y: 9.852333
},
{
x: -17.647592,
y: 10.9
},
{
x: -16.651,
y: 10.9
},
{
x: -16.651,
y: 12.1
},
{
x: -16.97731,
y: 12.1
},
{
x: -16.981284,
y: 12.14035
},
{
x: -16.996933,
y: 12.191938
},
{
x: -17.022346,
y: 12.239482
},
{
x: -17.056546,
y: 12.281154
},
{
x: -17.098218,
y: 12.315354
},
{
x: -17.145762,
y: 12.340767
},
{
x: -17.19735,
y: 12.356416
},
{
x: -17.251,
y: 12.3617
},
{
x: -17.456092,
y: 12.3617
},
{
x: -18.798846,
y: 13.704454
},
{
x: -18.840518,
y: 13.738654
},
{
x: -18.888062,
y: 13.764067
},
{
x: -18.93965,
y: 13.779716
},
{
x: -18.98,
y: 13.78369
},
{
x: -18.98,
y: 13.98
},
{
x: -20.02,
y: 13.98
},
{
x: -20.02,
y: 13.04
},
{
x: -18.98,
y: 13.04
},
{
x: -18.98,
y: 13.107792
},
{
x: -18.637208,
y: 12.765
},
{
x: -18.98,
y: 12.765
},
{
x: -18.98,
y: 12.96
},
{
x: -20.02,
y: 12.96
},
{
x: -20.02,
y: 12.02
},
{
x: -18.98,
y: 12.02
},
{
x: -18.98,
y: 12.215
},
{
x: -18.731308,
y: 12.215
},
{
x: -18.4373,
y: 11.920992
},
{
x: -18.4373,
y: 11.0258
},
{
x: -18.432016,
y: 10.97215
},
{
x: -18.416367,
y: 10.920562
},
{
x: -18.390954,
y: 10.873018
},
{
x: -18.356754,
y: 10.831346
},
{
x: -18.059426,
y: 10.534018
},
{
x: -18.064608,
y: 10.532446
},
{
x: -18.142407,
y: 10.490861
},
{
x: -18.210598,
y: 10.434898
},
{
x: -18.266561,
y: 10.366707
},
{
x: -18.308146,
y: 10.288908
},
{
x: -18.333753,
y: 10.204491
},
{
x: -18.3424,
y: 10.1167
},
{
x: -18.333753,
y: 10.028909
},
{
x: -18.309766,
y: 9.949832
},
{
x: -18.800073,
y: 9.949832
},
{
x: -18.800073,
y: 8.949834
},
{
x: -17.400075,
y: 8.949834
},
{
x: -17.400075,
y: 9.047567
},
{
x: -17.103154,
y: 8.750646
},
{
x: -17.061482,
y: 8.716446
},
{
x: -17.013938,
y: 8.691033
},
{
x: -16.96235,
y: 8.675384
},
{
x: -16.9087,
y: 8.6701
},
{
x: -16.308408,
y: 8.6701
},
{
x: -17.153308,
y: 7.8252
},
{
x: -17.400075,
y: 7.8252
},
{
x: -17.400075,
y: 8.050166
},
{
x: -18.800073,
y: 8.050166
},
{
x: -18.800073,
y: 7.050168
},
{
x: -17.400075,
y: 7.050168
},
{
x: -17.400075,
y: 7.2752
},
{
x: -17.0394,
y: 7.2752
},
{
x: -16.98575,
y: 7.280484
},
{
x: -16.934162,
y: 7.296133
},
{
x: -16.886618,
y: 7.321546
},
{
x: -16.844946,
y: 7.355746
},
{
x: -16.599925,
y: 7.600767
},
{
x: -16.599925,
y: 7.049914
},
{
x: -15.373203,
y: 7.049914
},
{
x: -15.414161,
y: 7.000007
},
{
x: -15.455746,
y: 6.922208
},
{
x: -15.481353,
y: 6.837791
},
{
x: -15.48803,
y: 6.77
},
{
x: -16.21,
y: 6.77
},
{
x: -16.21,
y: 6.098795
},
{
x: -16.29,
y: 6.178795
},
{
x: -16.29,
y: 6.77
},
{
x: -17.23,
y: 6.77
},
{
x: -17.23,
y: 5.73
},
{
x: -16.619021,
y: 5.73
},
{
x: -16.576291,
y: 5.68727
},
{
x: -16.591339,
y: 5.637664
},
{
x: -16.599986,
y: 5.549873
},
{
x: -16.591339,
y: 5.462082
},
{
x: -16.565732,
y: 5.377665
},
{
x: -16.524147,
y: 5.299866
},
{
x: -16.468184,
y: 5.231675
},
{
x: -16.399993,
y: 5.175712
},
{
x: -16.332547,
y: 5.139661
},
{
x: -16.722208,
y: 4.75
},
{
x: -17.325,
y: 4.75
},
{
x: -17.325,
y: 5.075
},
{
x: -18.675,
y: 5.075
},
{
x: -18.675,
y: 3.875
},
{
x: -17.325,
y: 3.875
},
{
x: -17.325,
y: 4.2
},
{
x: -16.722208,
y: 4.2
},
{
x: -16.4991,
y: 3.976892
},
{
x: -16.4991,
y: -3.502421
},
{
x: -17.110352,
y: -3.502421
},
{
x: -17.109607,
y: -3.499964
},
{
x: -17.1,
y: -3.402419
},
{
x: -17.1,
y: -3.302419
},
{
x: -17.109607,
y: -3.204874
},
{
x: -17.13806,
y: -3.111077
},
{
x: -17.184265,
y: -3.024634
},
{
x: -17.246447,
y: -2.948866
},
{
x: -17.322215,
y: -2.886684
},
{
x: -17.408658,
y: -2.840479
},
{
x: -17.502455,
y: -2.812026
},
{
x: -17.6,
y: -2.802419
},
{
x: -17.697545,
y: -2.812026
},
{
x: -17.791342,
y: -2.840479
},
{
x: -17.877785,
y: -2.886684
},
{
x: -17.953553,
y: -2.948866
},
{
x: -18.015735,
y: -3.024634
},
{
x: -18.06194,
y: -3.111077
},
{
x: -18.090393,
y: -3.204874
},
{
x: -18.092312,
y: -3.224355
},
{
x: -18.11194,
y: -3.261077
},
{
x: -18.140393,
y: -3.354874
},
{
x: -18.15,
y: -3.452419
},
{
x: -18.15,
y: -3.502421
},
{
x: -19.699997,
y: -3.502421
},
{
x: -19.699997,
y: -6.202417
},
{
x: -17.217125,
y: -6.202417
},
{
x: -17.391154,
y: -6.376446
},
{
x: -17.425354,
y: -6.418118
},
{
x: -17.450767,
y: -6.465662
},
{
x: -17.455116,
y: -6.48
},
{
x: -18.23,
y: -6.48
},
{
x: -18.23,
y: -7.52
},
{
x: -18.034645,
y: -7.52
},
{
x: -18.029716,
y: -7.57005
},
{
x: -18.014067,
y: -7.621638
},
{
x: -17.988654,
y: -7.669182
},
{
x: -17.954454,
y: -7.710854
},
{
x: -16.275,
y: -9.390308
},
{
x: -16.275,
y: -9.77
},
{
x: -16.52,
y: -9.77
},
{
x: -16.52,
y: -10.71
},
{
x: -15.48,
y: -10.71
},
{
x: -15.48,
y: -10.515
},
{
x: -15.115608,
y: -10.515
},
{
x: -14.686154,
y: -10.944454
},
{
x: -14.644482,
y: -10.978654
},
{
x: -14.596938,
y: -11.004067
},
{
x: -14.54535,
y: -11.019716
},
{
x: -14.505,
y: -11.02369
},
{
x: -14.505,
y: -11.23
},
{
x: -14.505,
y: -12.27
},
{
x: -13.565,
y: -12.27
},
{
x: -13.565,
y: -11.27
},
{
x: -13.565,
y: -11.02369
},
{
x: -13.52465,
y: -11.019716
},
{
x: -13.473062,
y: -11.004067
},
{
x: -13.425518,
y: -10.978654
},
{
x: -13.383846,
y: -10.944454
},
{
x: -13.349646,
y: -10.902782
},
{
x: -13.324233,
y: -10.855238
},
{
x: -13.308584,
y: -10.80365
},
{
x: -13.3033,
y: -10.75
},
{
x: -13.3033,
y: -6.572608
},
{
x: -13.255592,
y: -6.5249
},
{
x: -13.174941,
y: -6.5249
},
{
x: -13.174941,
y: -6.749971
},
{
x: -13.174941,
y: -7.150021
},
{
x: -13.174941,
y: -7.550071
},
{
x: -13.174941,
y: -8.150071
},
{
x: -12.024944,
y: -8.150071
},
{
x: -12.024944,
y: -9.300068
},
{
x: -11.424944,
y: -9.300068
},
{
x: -11.025148,
y: -9.300068
},
{
x: -10.625098,
y: -9.300068
},
{
x: -10.225048,
y: -9.300068
},
{
x: -10.225048,
y: -8.050058
},
{
x: -10.825048,
y: -8.050058
},
{
x: -11.120455,
y: -8.050058
},
{
x: -11.081788,
y: -8.018325
},
{
x: -11.025825,
y: -7.950134
},
{
x: -10.98424,
y: -7.872335
},
{
x: -10.958633,
y: -7.787918
},
{
x: -10.949986,
y: -7.700127
},
{
x: -10.958633,
y: -7.612336
},
{
x: -10.98424,
y: -7.527919
},
{
x: -11.025825,
y: -7.45012
},
{
x: -11.081788,
y: -7.381929
},
{
x: -11.149979,
y: -7.325966
},
{
x: -11.227778,
y: -7.284381
},
{
x: -11.312195,
y: -7.258774
},
{
x: -11.399986,
y: -7.250127
},
{
x: -11.487777,
y: -7.258774
},
{
x: -11.572194,
y: -7.284381
},
{
x: -11.649993,
y: -7.325966
},
{
x: -11.718184,
y: -7.381929
},
{
x: -11.774147,
y: -7.45012
},
{
x: -11.815732,
y: -7.527919
},
{
x: -11.841339,
y: -7.612336
},
{
x: -11.849986,
y: -7.700127
},
{
x: -11.841339,
y: -7.787918
},
{
x: -11.815732,
y: -7.872335
},
{
x: -11.774147,
y: -7.950134
},
{
x: -11.718184,
y: -8.018325
},
{
x: -11.679517,
y: -8.050058
},
{
x: -11.924931,
y: -8.050058
},
{
x: -11.924931,
y: -7.750021
},
{
x: -11.924931,
y: -7.349971
},
{
x: -11.924931,
y: -7.087401
},
{
x: -11.872144,
y: -7.115617
},
{
x: -11.787727,
y: -7.141224
},
{
x: -11.699936,
y: -7.149871
},
{
x: -11.612145,
y: -7.141224
},
{
x: -11.527728,
y: -7.115617
},
{
x: -11.449929,
y: -7.074032
},
{
x: -11.381738,
y: -7.018069
},
{
x: -11.325775,
y: -6.949878
},
{
x: -11.28419,
y: -6.872079
},
{
x: -11.258583,
y: -6.787662
},
{
x: -11.253438,
y: -6.735431
},
{
x: -11.174936,
y: -6.813933
},
{
x: -11.174936,
y: -6.900025
},
{
x: -11.169652,
y: -6.953675
},
{
x: -11.154003,
y: -7.005263
},
{
x: -11.12859,
y: -7.052807
},
{
x: -11.09439,
y: -7.094479
},
{
x: -10.99439,
y: -7.194479
},
{
x: -10.952718,
y: -7.228679
},
{
x: -10.905174,
y: -7.254092
},
{
x: -10.875895,
y: -7.262974
},
{
x: -10.844458,
y: -7.294411
},
{
x: -10.849936,
y: -7.350025
},
{
x: -10.841289,
y: -7.437816
},
{
x: -10.815682,
y: -7.522233
},
{
x: -10.774097,
y: -7.600032
},
{
x: -10.718134,
y: -7.668223
},
{
x: -10.649943,
y: -7.724186
},
{
x: -10.572144,
y: -7.765771
},
{
x: -10.487727,
y: -7.791378
},
{
x: -10.399936,
y: -7.800025
},
{
x: -10.312145,
y: -7.791378
},
{
x: -10.227728,
y: -7.765771
},
{
x: -10.149929,
y: -7.724186
},
{
x: -10.081738,
y: -7.668223
},
{
x: -10.025775,
y: -7.600032
},
{
x: -9.98419,
y: -7.522233
},
{
x: -9.958583,
y: -7.437816
},
{
x: -9.949936,
y: -7.350025
},
{
x: -9.958583,
y: -7.262234
},
{
x: -9.98419,
y: -7.177817
},
{
x: -10.025775,
y: -7.100018
},
{
x: -10.081738,
y: -7.031827
},
{
x: -10.149929,
y: -6.975864
},
{
x: -10.227728,
y: -6.934279
},
{
x: -10.312145,
y: -6.908672
},
{
x: -10.399936,
y: -6.900025
},
{
x: -10.45555,
y: -6.905503
},
{
x: -10.555482,
y: -6.805571
},
{
x: -10.597154,
y: -6.771371
},
{
x: -10.624936,
y: -6.756521
},
{
x: -10.624936,
y: -6.700025
},
{
x: -10.63022,
y: -6.646375
},
{
x: -10.645869,
y: -6.594787
},
{
x: -10.671282,
y: -6.547243
},
{
x: -10.705482,
y: -6.505571
},
{
x: -11.379598,
y: -5.831455
},
{
x: -11.327728,
y: -5.815721
},
{
x: -11.249929,
y: -5.774136
},
{
x: -11.181738,
y: -5.718173
},
{
x: -11.125775,
y: -5.649982
},
{
x: -11.08419,
y: -5.572183
},
{
x: -11.058583,
y: -5.487766
},
{
x: -11.049936,
y: -5.399975
},
{
x: -11.058583,
y: -5.312184
},
{
x: -11.078103,
y: -5.247832
},
{
x: -11.012169,
y: -5.241338
},
{
x: -10.927752,
y: -5.215731
},
{
x: -10.849953,
y: -5.174146
},
{
x: -10.781762,
y: -5.118183
},
{
x: -10.725799,
y: -5.049992
},
{
x: -10.684214,
y: -4.972193
},
{
x: -10.658607,
y: -4.887776
},
{
x: -10.64996,
y: -4.799985
},
{
x: -10.658607,
y: -4.712194
},
{
x: -10.684214,
y: -4.627777
},
{
x: -10.725799,
y: -4.549978
},
{
x: -10.781762,
y: -4.481787
},
{
x: -10.849953,
y: -4.425824
},
{
x: -10.927752,
y: -4.384239
},
{
x: -11.012169,
y: -4.358632
},
{
x: -11.09996,
y: -4.349985
},
{
x: -11.10492,
y: -4.350474
},
{
x: -11.099936,
y: -4.299875
},
{
x: -11.102598,
y: -4.272846
},
{
x: -11.037315,
y: -4.266416
},
{
x: -10.952898,
y: -4.240809
},
{
x: -10.875099,
y: -4.199224
},
{
x: -10.806908,
y: -4.143261
},
{
x: -10.750945,
y: -4.07507
},
{
x: -10.70936,
y: -3.997271
},
{
x: -10.683753,
y: -3.912854
},
{
x: -10.675106,
y: -3.825063
},
{
x: -10.683753,
y: -3.737272
},
{
x: -10.70936,
y: -3.652855
},
{
x: -10.750945,
y: -3.575056
},
{
x: -10.806908,
y: -3.506865
},
{
x: -10.875099,
y: -3.450902
},
{
x: -10.952898,
y: -3.409317
},
{
x: -11.037315,
y: -3.38371
},
{
x: -11.125106,
y: -3.375063
},
{
x: -11.212897,
y: -3.38371
},
{
x: -11.297314,
y: -3.409317
},
{
x: -11.375113,
y: -3.450902
},
{
x: -11.443304,
y: -3.506865
},
{
x: -11.499267,
y: -3.575056
},
{
x: -11.540852,
y: -3.652855
},
{
x: -11.566459,
y: -3.737272
},
{
x: -11.575106,
y: -3.825063
},
{
x: -11.572444,
y: -3.852092
},
{
x: -11.637727,
y: -3.858522
},
{
x: -11.722144,
y: -3.884129
},
{
x: -11.799943,
y: -3.925714
},
{
x: -11.859846,
y: -3.974875
},
{
x: -11.924931,
y: -3.974875
},
{
x: -11.924931,
y: -3.750029
},
{
x: -11.924931,
y: -3.46791
},
{
x: -11.882208,
y: -3.490746
},
{
x: -11.797791,
y: -3.516353
},
{
x: -11.71,
y: -3.525
},
{
x: -11.622209,
y: -3.516353
},
{
x: -11.537792,
y: -3.490746
},
{
x: -11.459993,
y: -3.449161
},
{
x: -11.391802,
y: -3.393198
},
{
x: -11.35635,
y: -3.35
},
{
x: -10.405075,
y: -3.35
},
{
x: -10.401353,
y: -3.387791
},
{
x: -10.375746,
y: -3.472208
},
{
x: -10.334161,
y: -3.550007
},
{
x: -10.278198,
y: -3.618198
},
{
x: -10.210007,
y: -3.674161
},
{
x: -10.132208,
y: -3.715746
},
{
x: -10.047791,
y: -3.741353
},
{
x: -9.96,
y: -3.75
},
{
x: -9.872209,
y: -3.741353
},
{
x: -9.787792,
y: -3.715746
},
{
x: -9.709993,
y: -3.674161
},
{
x: -9.641802,
y: -3.618198
},
{
x: -9.630134,
y: -3.603981
},
{
x: -9.575159,
y: -3.649098
},
{
x: -9.49736,
y: -3.690683
},
{
x: -9.412943,
y: -3.71629
},
{
x: -9.325152,
y: -3.724937
},
{
x: -9.237361,
y: -3.71629
},
{
x: -9.152944,
y: -3.690683
},
{
x: -9.075145,
y: -3.649098
},
{
x: -9.006954,
y: -3.593135
},
{
x: -8.950991,
y: -3.524944
},
{
x: -8.91267,
y: -3.453252
},
{
x: -8.875007,
y: -3.484161
},
{
x: -8.797208,
y: -3.525746
},
{
x: -8.712791,
y: -3.551353
},
{
x: -8.625,
y: -3.56
},
{
x: -8.537209,
y: -3.551353
},
{
x: -8.452792,
y: -3.525746
},
{
x: -8.374993,
y: -3.484161
},
{
x: -8.306802,
y: -3.428198
},
{
x: -8.257317,
y: -3.3679
},
{
x: -7.5283,
y: -3.3679
},
{
x: -7.5283,
y: -5.5433
},
{
x: -7.523016,
y: -5.59695
},
{
x: -7.507367,
y: -5.648538
},
{
x: -7.481954,
y: -5.696082
},
{
x: -7.447754,
y: -5.737754
},
{
x: -7.164465,
y: -6.021043
},
{
x: -7.154131,
y: -6.055109
},
{
x: -7.128718,
y: -6.102653
},
{
x: -7.094518,
y: -6.144325
},
{
x: -6.994518,
y: -6.244325
},
{
x: -6.952846,
y: -6.278525
},
{
x: -6.905302,
y: -6.303938
},
{
x: -6.871236,
y: -6.314272
},
{
x: -6.741154,
y: -6.444354
},
{
x: -6.728792,
y: -6.454499
},
{
x: -6.750007,
y: -6.465839
},
{
x: -6.806713,
y: -6.512376
},
{
x: -6.831866,
y: -6.481727
},
{
x: -6.900057,
y: -6.425764
},
{
x: -6.977856,
y: -6.384179
},
{
x: -7.062273,
y: -6.358572
},
{
x: -7.150064,
y: -6.349925
},
{
x: -7.237855,
y: -6.358572
},
{
x: -7.322272,
y: -6.384179
},
{
x: -7.400071,
y: -6.425764
},
{
x: -7.468262,
y: -6.481727
},
{
x: -7.524225,
y: -6.549918
},
{
x: -7.56581,
y: -6.627717
},
{
x: -7.591417,
y: -6.712134
},
{
x: -7.600064,
y: -6.799925
},
{
x: -7.591417,
y: -6.887716
},
{
x: -7.56581,
y: -6.972133
},
{
x: -7.524225,
y: -7.049932
},
{
x: -7.468262,
y: -7.118123
},
{
x: -7.400071,
y: -7.174086
},
{
x: -7.322272,
y: -7.215671
},
{
x: -7.237855,
y: -7.241278
},
{
x: -7.150064,
y: -7.249925
},
{
x: -7.062273,
y: -7.241278
},
{
x: -6.977856,
y: -7.215671
},
{
x: -6.900057,
y: -7.174086
},
{
x: -6.843351,
y: -7.127549
},
{
x: -6.818198,
y: -7.158198
},
{
x: -6.815,
y: -7.160823
},
{
x: -6.815,
y: -7.24635
},
{
x: -6.858198,
y: -7.281802
},
{
x: -6.914161,
y: -7.349993
},
{
x: -6.955746,
y: -7.427792
},
{
x: -6.981353,
y: -7.512209
},
{
x: -6.983627,
y: -7.535294
},
{
x: -7.006958,
y: -7.506865
},
{
x: -7.075149,
y: -7.450902
},
{
x: -7.152948,
y: -7.409317
},
{
x: -7.237365,
y: -7.38371
},
{
x: -7.325156,
y: -7.375063
},
{
x: -7.412947,
y: -7.38371
},
{
x: -7.497364,
y: -7.409317
},
{
x: -7.575163,
y: -7.450902
},
{
x: -7.643354,
y: -7.506865
},
{
x: -7.699317,
y: -7.575056
},
{
x: -7.740902,
y: -7.652855
},
{
x: -7.763049,
y: -7.725866
},
{
x: -7.769654,
y: -7.704092
},
{
x: -7.811239,
y: -7.626293
},
{
x: -7.867202,
y: -7.558102
},
{
x: -7.935393,
y: -7.502139
},
{
x: -8.013192,
y: -7.460554
},
{
x: -8.097609,
y: -7.434947
},
{
x: -8.1854,
y: -7.4263
},
{
x: -8.273191,
y: -7.434947
},
{
x: -8.327469,
y: -7.451412
},
{
x: -8.333799,
y: -7.387146
},
{
x: -8.359406,
y: -7.302729
},
{
x: -8.400991,
y: -7.22493
},
{
x: -8.456954,
y: -7.156739
},
{
x: -8.525145,
y: -7.100776
},
{
x: -8.602944,
y: -7.059191
},
{
x: -8.687361,
y: -7.033584
},
{
x: -8.775152,
y: -7.024937
},
{
x: -8.862943,
y: -7.033584
},
{
x: -8.94736,
y: -7.059191
},
{
x: -9.025159,
y: -7.100776
},
{
x: -9.09335,
y: -7.156739
},
{
x: -9.149313,
y: -7.22493
},
{
x: -9.190898,
y: -7.302729
},
{
x: -9.216505,
y: -7.387146
},
{
x: -9.225152,
y: -7.474937
},
{
x: -9.216505,
y: -7.562728
},
{
x: -9.190898,
y: -7.647145
},
{
x: -9.149313,
y: -7.724944
},
{
x: -9.09335,
y: -7.793135
},
{
x: -9.025159,
y: -7.849098
},
{
x: -9.025152,
y: -7.849102
},
{
x: -9.025152,
y: -7.974937
},
{
x: -9.020348,
y: -8.02371
},
{
x: -9.012356,
y: -8.050058
},
{
x: -9.225102,
y: -8.050058
},
{
x: -9.625152,
y: -8.050058
},
{
x: -10.024948,
y: -8.050058
},
{
x: -10.024948,
y: -9.300068
},
{
x: -9.974977,
y: -9.300068
},
{
x: -9.974988,
y: -9.55
},
{
x: -11.175,
y: -9.55
},
{
x: -11.223773,
y: -9.554804
},
{
x: -11.270671,
y: -9.56903
},
{
x: -11.313893,
y: -9.592133
},
{
x: -11.351777,
y: -9.623223
},
{
x: -11.382867,
y: -9.661107
},
{
x: -11.40597,
y: -9.704329
},
{
x: -11.419824,
y: -9.75
},
{
x: -11.975,
y: -9.75
},
{
x: -11.975,
y: -10.78854
},
{
x: -12.241437,
y: -10.92877
},
{
x: -12.240878,
y: -10.929831
},
{
x: -12.263893,
y: -10.942133
},
{
x: -12.301777,
y: -10.973223
},
{
x: -12.332867,
y: -11.011107
},
{
x: -12.35597,
y: -11.054329
},
{
x: -12.370196,
y: -11.101227
},
{
x: -12.375,
y: -11.15
},
{
x: -12.375,
y: -15.55
},
{
x: -12.370196,
y: -15.598773
},
{
x: -12.35597,
y: -15.645671
},
{
x: -12.332867,
y: -15.688893
},
{
x: -12.301777,
y: -15.726777
},
{
x: -12.263893,
y: -15.757867
},
{
x: -12.220671,
y: -15.78097
},
{
x: -12.173773,
y: -15.795196
},
{
x: -12.125,
y: -15.8
},
{
x: -12.105,
y: -15.8
},
{
x: -12.105,
y: -16.07
},
{
x: -11.165,
y: -16.07
},
{
x: -11.165,
y: -15.03
},
{
x: -11.875,
y: -15.03
},
{
x: -11.875,
y: -11.55
},
{
x: -10.375,
y: -11.55
},
{
x: -10.375,
y: -10.05
},
{
x: -9.725,
y: -10.05
},
{
x: -9.676227,
y: -10.045196
},
{
x: -9.629329,
y: -10.03097
},
{
x: -9.586107,
y: -10.007867
},
{
x: -9.548223,
y: -9.976777
},
{
x: -9.517133,
y: -9.938893
},
{
x: -9.49403,
y: -9.895671
},
{
x: -9.479804,
y: -9.848773
},
{
x: -9.475001,
y: -9.800012
},
{
x: -9.475,
y: -9.800012
},
{
x: -9.474977,
y: -9.300068
},
{
x: -9.44362,
y: -9.300068
},
{
x: -9.422867,
y: -9.338893
},
{
x: -9.391777,
y: -9.376777
},
{
x: -9.214612,
y: -9.553942
},
{
x: -9.210196,
y: -9.598773
},
{
x: -9.19597,
y: -9.645671
},
{
x: -9.172867,
y: -9.688893
},
{
x: -9.141777,
y: -9.726777
},
{
x: -8.465,
y: -10.403554
},
{
x: -8.465,
y: -10.6
},
{
x: -8.460196,
y: -10.648773
},
{
x: -8.44597,
y: -10.695671
},
{
x: -8.422867,
y: -10.738893
},
{
x: -8.407521,
y: -10.757593
},
{
x: -8.39597,
y: -10.795671
},
{
x: -8.372867,
y: -10.838893
},
{
x: -8.341777,
y: -10.876777
},
{
x: -8.191777,
y: -11.026777
},
{
x: -8.18785,
y: -11.03
},
{
x: -8.305,
y: -11.03
},
{
x: -8.305,
y: -11.603544
},
{
x: -8.742068,
y: -11.95
},
{
x: -10.275,
y: -11.95
},
{
x: -10.275,
y: -13.75
},
{
x: -9.778772,
y: -13.75
},
{
x: -9.854624,
y: -15.03
},
{
x: -10.105,
y: -15.03
},
{
x: -10.105,
y: -16.07
},
{
x: -9.165,
y: -16.07
},
{
x: -9.165,
y: -15.03
},
{
x: -9.353747,
y: -15.03
},
{
x: -9.277895,
y: -13.75
},
{
x: -8.675,
y: -13.75
},
{
x: -8.675,
y: -12.534871
},
{
x: -8.088548,
y: -12.07
},
{
x: -7.365,
y: -12.07
},
{
x: -7.365,
y: -11.353554
},
{
x: -7.285,
y: -11.433554
},
{
x: -7.285,
y: -12.07
},
{
x: -6.345,
y: -12.07
},
{
x: -6.345,
y: -11.653563
},
{
x: -6.322208,
y: -11.665746
},
{
x: -6.237791,
y: -11.691353
},
{
x: -6.15,
y: -11.7
},
{
x: -6.062209,
y: -11.691353
},
{
x: -5.977792,
y: -11.665746
},
{
x: -5.899993,
y: -11.624161
},
{
x: -5.831802,
y: -11.568198
},
{
x: -5.775839,
y: -11.500007
},
{
x: -5.734254,
y: -11.422208
},
{
x: -5.708647,
y: -11.337791
},
{
x: -5.7,
y: -11.25
},
{
x: -5.708647,
y: -11.162209
},
{
x: -5.734254,
y: -11.077792
},
{
x: -5.775839,
y: -10.999993
},
{
x: -5.831802,
y: -10.931802
},
{
x: -5.899993,
y: -10.875839
},
{
x: -5.977792,
y: -10.834254
},
{
x: -6.062209,
y: -10.808647
},
{
x: -6.15,
y: -10.8
},
{
x: -6.237791,
y: -10.808647
},
{
x: -6.249034,
y: -10.812058
},
{
x: -6.255546,
y: -10.805546
},
{
x: -6.297218,
y: -10.771346
},
{
x: -6.344762,
y: -10.745933
},
{
x: -6.365,
y: -10.739794
},
{
x: -6.365,
y: -9.94448
},
{
x: -6.352898,
y: -9.940809
},
{
x: -6.275099,
y: -9.899224
},
{
x: -6.206908,
y: -9.843261
},
{
x: -6.150945,
y: -9.77507
},
{
x: -6.10936,
y: -9.697271
},
{
x: -6.083753,
y: -9.612854
},
{
x: -6.075106,
y: -9.525063
},
{
x: -6.083753,
y: -9.437272
},
{
x: -6.10936,
y: -9.352855
},
{
x: -6.150945,
y: -9.275056
},
{
x: -6.206908,
y: -9.206865
},
{
x: -6.225056,
y: -9.191971
},
{
x: -6.225056,
y: -8.150071
},
{
x: -5.262907,
y: -8.150071
},
{
x: -5.136633,
y: -8.157167
},
{
x: -5.10052,
y: -8.20117
},
{
x: -5.036117,
y: -8.254025
},
{
x: -4.96264,
y: -8.293299
},
{
x: -4.882913,
y: -8.317484
},
{
x: -4.8,
y: -8.32565
},
{
x: -4.717087,
y: -8.317484
},
{
x: -4.63736,
y: -8.293299
},
{
x: -4.563883,
y: -8.254025
},
{
x: -4.49948,
y: -8.20117
},
{
x: -4.446625,
y: -8.136767
},
{
x: -4.407351,
y: -8.06329
},
{
x: -4.383166,
y: -7.983563
},
{
x: -4.375,
y: -7.90065
},
{
x: -4.383166,
y: -7.817737
},
{
x: -4.407351,
y: -7.73801
},
{
x: -4.414073,
y: -7.725433
},
{
x: -4.371549,
y: -7.725447
},
{
x: -4.35052,
y: -7.75107
},
{
x: -4.286117,
y: -7.803925
},
{
x: -4.21264,
y: -7.843199
},
{
x: -4.132913,
y: -7.867384
},
{
x: -4.05,
y: -7.87555
},
{
x: -3.967087,
y: -7.867384
},
{
x: -3.88736,
y: -7.843199
},
{
x: -3.876395,
y: -7.837338
},
{
x: -3.86581,
y: -7.872233
},
{
x: -3.824225,
y: -7.950032
},
{
x: -3.768262,
y: -8.018223
},
{
x: -3.700071,
y: -8.074186
},
{
x: -3.622272,
y: -8.115771
},
{
x: -3.537855,
y: -8.141378
},
{
x: -3.450064,
y: -8.150025
},
{
x: -3.362273,
y: -8.141378
},
{
x: -3.277856,
y: -8.115771
},
{
x: -3.269137,
y: -8.11111
},
{
x: -3.265732,
y: -8.122335
},
{
x: -3.224147,
y: -8.200134
},
{
x: -3.168184,
y: -8.268325
},
{
x: -3.099993,
y: -8.324288
},
{
x: -3.022194,
y: -8.365873
},
{
x: -2.937777,
y: -8.39148
},
{
x: -2.849986,
y: -8.400127
},
{
x: -2.762195,
y: -8.39148
},
{
x: -2.677778,
y: -8.365873
},
{
x: -2.599979,
y: -8.324288
},
{
x: -2.531788,
y: -8.268325
},
{
x: -2.475825,
y: -8.200134
},
{
x: -2.43424,
y: -8.122335
},
{
x: -2.408633,
y: -8.037918
},
{
x: -2.399986,
y: -7.950127
},
{
x: -2.408633,
y: -7.862336
},
{
x: -2.43424,
y: -7.777919
},
{
x: -2.475825,
y: -7.70012
},
{
x: -2.531788,
y: -7.631929
},
{
x: -2.574986,
y: -7.596477
},
{
x: -2.574986,
y: -7.414035
},
{
x: -1.405532,
y: -6.244581
},
{
x: -1.371332,
y: -6.202909
},
{
x: -1.345919,
y: -6.155365
},
{
x: -1.33027,
y: -6.103777
},
{
x: -1.324986,
y: -6.050127
},
{
x: -1.324986,
y: -5.764035
},
{
x: -1.32495,
y: -5.763999
},
{
x: -1.32495,
y: -6.5505
},
{
x: -0.9212,
y: -6.5505
},
{
x: -0.9212,
y: -6.75
},
{
x: -0.911593,
y: -6.847545
},
{
x: -0.88314,
y: -6.941342
},
{
x: -0.862477,
y: -6.98
},
{
x: -1.46,
y: -6.98
},
{
x: -1.46,
y: -8.02
},
{
x: -1.14,
y: -8.02
},
{
x: -1.14,
y: -8.248334
},
{
x: -1.155746,
y: -8.277792
},
{
x: -1.181353,
y: -8.362209
},
{
x: -1.19,
y: -8.45
},
{
x: -1.181353,
y: -8.537791
},
{
x: -1.155746,
y: -8.622208
},
{
x: -1.114161,
y: -8.700007
},
{
x: -1.058198,
y: -8.768198
},
{
x: -0.990007,
y: -8.824161
},
{
x: -0.935824,
y: -8.853123
},
{
x: -0.974225,
y: -8.899914
},
{
x: -1.01581,
y: -8.977713
},
{
x: -1.041417,
y: -9.06213
},
{
x: -1.050064,
y: -9.149921
},
{
x: -1.041417,
y: -9.237712
},
{
x: -1.01581,
y: -9.322129
},
{
x: -0.974225,
y: -9.399928
},
{
x: -0.918262,
y: -9.468119
},
{
x: -0.850071,
y: -9.524082
},
{
x: -0.772272,
y: -9.565667
},
{
x: -0.687855,
y: -9.591274
},
{
x: -0.600064,
y: -9.599921
},
{
x: -0.512273,
y: -9.591274
},
{
x: -0.427856,
y: -9.565667
},
{
x: -0.350057,
y: -9.524082
},
{
x: -0.281866,
y: -9.468119
},
{
x: -0.236306,
y: -9.412604
},
{
x: -0.251353,
y: -9.462209
},
{
x: -0.26,
y: -9.55
},
{
x: -0.251353,
y: -9.637791
},
{
x: -0.225746,
y: -9.722208
},
{
x: -0.184161,
y: -9.800007
},
{
x: -0.128198,
y: -9.868198
},
{
x: -0.081782,
y: -9.90629
},
{
x: -0.143254,
y: -9.956739
},
{
x: -0.199217,
y: -10.02493
},
{
x: -0.240802,
y: -10.102729
},
{
x: -0.266409,
y: -10.187146
},
{
x: -0.275056,
y: -10.274937
},
{
x: -0.269578,
y: -10.330551
},
{
x: -0.338964,
y: -10.399937
},
{
x: -0.917822,
y: -10.399937
},
{
x: -0.922274,
y: -10.396283
},
{
x: -0.969818,
y: -10.37087
},
{
x: -1.021406,
y: -10.355221
},
{
x: -1.059629,
y: -10.351456
},
{
x: -1.165,
y: -10.246085
},
{
x: -1.165,
y: -9.63
},
{
x: -2.105,
y: -9.63
},
{
x: -2.105,
y: -10.296092
},
{
x: -2.105546,
y: -10.295546
},
{
x: -2.147218,
y: -10.261346
},
{
x: -2.194762,
y: -10.235933
},
{
x: -2.23,
y: -10.225244
},
{
x: -2.23,
y: -9.52
},
{
x: -2.04,
y: -9.52
},
{
x: -2.04,
y: -8.48
},
{
x: -2.98,
y: -8.48
},
{
x: -2.98,
y: -8.521404
},
{
x: -3.002848,
y: -8.509191
},
{
x: -3.087265,
y: -8.483584
},
{
x: -3.175056,
y: -8.474937
},
{
x: -3.262847,
y: -8.483584
},
{
x: -3.347264,
y: -8.509191
},
{
x: -3.425063,
y: -8.550776
},
{
x: -3.493254,
y: -8.606739
},
{
x: -3.549217,
y: -8.67493
},
{
x: -3.590802,
y: -8.752729
},
{
x: -3.616409,
y: -8.837146
},
{
x: -3.625056,
y: -8.924937
},
{
x: -3.616409,
y: -9.012728
},
{
x: -3.590802,
y: -9.097145
},
{
x: -3.549217,
y: -9.174944
},
{
x: -3.493254,
y: -9.243135
},
{
x: -3.425063,
y: -9.299098
},
{
x: -3.347264,
y: -9.340683
},
{
x: -3.262847,
y: -9.36629
},
{
x: -3.175056,
y: -9.374937
},
{
x: -3.087265,
y: -9.36629
},
{
x: -3.002848,
y: -9.340683
},
{
x: -2.98,
y: -9.32847
},
{
x: -2.98,
y: -9.52
},
{
x: -3.27,
y: -9.52
},
{
x: -3.27,
y: -9.615
},
{
x: -3.392766,
y: -9.615
},
{
x: -3.397218,
y: -9.611346
},
{
x: -3.444762,
y: -9.585933
},
{
x: -3.49635,
y: -9.570284
},
{
x: -3.55,
y: -9.565
},
{
x: -3.592766,
y: -9.565
},
{
x: -3.597218,
y: -9.561346
},
{
x: -3.644762,
y: -9.535933
},
{
x: -3.68045,
y: -9.525107
},
{
x: -3.697218,
y: -9.511346
},
{
x: -3.744762,
y: -9.485933
},
{
x: -3.79635,
y: -9.470284
},
{
x: -3.85,
y: -9.465
},
{
x: -4.15,
y: -9.465
},
{
x: -4.20365,
y: -9.470284
},
{
x: -4.255238,
y: -9.485933
},
{
x: -4.302782,
y: -9.511346
},
{
x: -4.308221,
y: -9.51581
},
{
x: -4.35365,
y: -9.520284
},
{
x: -4.405238,
y: -9.535933
},
{
x: -4.452782,
y: -9.561346
},
{
x: -4.494454,
y: -9.595546
},
{
x: -4.594454,
y: -9.695546
},
{
x: -4.628654,
y: -9.737218
},
{
x: -4.654067,
y: -9.784762
},
{
x: -4.664893,
y: -9.82045
},
{
x: -4.678654,
y: -9.837218
},
{
x: -4.704067,
y: -9.884762
},
{
x: -4.719716,
y: -9.93635
},
{
x: -4.725,
y: -9.99
},
{
x: -4.725,
y: -10.39
},
{
x: -4.719716,
y: -10.44365
},
{
x: -4.704067,
y: -10.495238
},
{
x: -4.678654,
y: -10.542782
},
{
x: -4.664893,
y: -10.55955
},
{
x: -4.654067,
y: -10.595238
},
{
x: -4.628654,
y: -10.642782
},
{
x: -4.594454,
y: -10.684454
},
{
x: -4.514133,
y: -10.764775
},
{
x: -4.515746,
y: -10.767792
},
{
x: -4.541353,
y: -10.852209
},
{
x: -4.55,
y: -10.94
},
{
x: -4.541353,
y: -11.027791
},
{
x: -4.515746,
y: -11.112208
},
{
x: -4.474161,
y: -11.190007
},
{
x: -4.418198,
y: -11.258198
},
{
x: -4.350007,
y: -11.314161
},
{
x: -4.272208,
y: -11.355746
},
{
x: -4.187791,
y: -11.381353
},
{
x: -4.1,
y: -11.39
},
{
x: -4.012209,
y: -11.381353
},
{
x: -3.927792,
y: -11.355746
},
{
x: -3.908637,
y: -11.345507
},
{
x: -3.874161,
y: -11.410007
},
{
x: -3.818198,
y: -11.478198
},
{
x: -3.816002,
y: -11.48
},
{
x: -3.98,
y: -11.48
},
{
x: -3.98,
y: -12.2317
},
{
x: -4.8644,
y: -12.2317
},
{
x: -4.91805,
y: -12.236984
},
{
x: -4.969445,
y: -12.252574
},
{
x: -5.006958,
y: -12.206865
},
{
x: -5.075149,
y: -12.150902
},
{
x: -5.152948,
y: -12.109317
},
{
x: -5.237365,
y: -12.08371
},
{
x: -5.325156,
y: -12.075063
},
{
x: -5.412947,
y: -12.08371
},
{
x: -5.497364,
y: -12.109317
},
{
x: -5.575163,
y: -12.150902
},
{
x: -5.643354,
y: -12.206865
},
{
x: -5.678806,
y: -12.250063
},
{
x: -6.175156,
y: -12.250063
},
{
x: -6.228806,
y: -12.255347
},
{
x: -6.280394,
y: -12.270996
},
{
x: -6.327938,
y: -12.296409
},
{
x: -6.36961,
y: -12.330609
},
{
x: -6.652301,
y: -12.6133
},
{
x: -7.1,
y: -12.6133
},
{
x: -7.15365,
y: -12.618584
},
{
x: -7.205238,
y: -12.634233
},
{
x: -7.252782,
y: -12.659646
},
{
x: -7.294454,
y: -12.693846
},
{
x: -7.328654,
y: -12.735518
},
{
x: -7.354067,
y: -12.783062
},
{
x: -7.369716,
y: -12.83465
},
{
x: -7.37369,
y: -12.875
},
{
x: -7.825,
y: -12.875
},
{
x: -7.825,
y: -13.975
},
{
x: -6.712582,
y: -13.975
},
{
x: -6.716305,
y: -13.987272
},
{
x: -6.724952,
y: -14.075063
},
{
x: -6.716305,
y: -14.162854
},
{
x: -6.690698,
y: -14.247271
},
{
x: -6.649113,
y: -14.32507
},
{
x: -6.59315,
y: -14.393261
},
{
x: -6.534452,
y: -14.441433
},
{
x: -6.534452,
y: -15.175063
},
{
x: -6.529466,
y: -15.225689
},
{
x: -6.514699,
y: -15.274369
},
{
x: -6.490718,
y: -15.319233
},
{
x: -6.458446,
y: -15.358557
},
{
x: -5.853823,
y: -15.96318
},
{
x: -5.874508,
y: -15.969454
},
{
x: -5.952307,
y: -16.011039
},
{
x: -6.020498,
y: -16.067002
},
{
x: -6.076461,
y: -16.135193
},
{
x: -6.118046,
y: -16.212992
},
{
x: -6.143653,
y: -16.297409
},
{
x: -6.1523,
y: -16.3852
},
{
x: -6.143653,
y: -16.472991
},
{
x: -6.118046,
y: -16.557408
},
{
x: -6.076461,
y: -16.635207
},
{
x: -6.020498,
y: -16.703398
},
{
x: -5.9773,
y: -16.73885
},
{
x: -5.9773,
y: -17.088392
},
{
x: -7.626852,
y: -18.737944
},
{
x: -7.631788,
y: -18.731929
},
{
x: -7.699979,
y: -18.675966
},
{
x: -7.777778,
y: -18.634381
},
{
x: -7.862195,
y: -18.608774
},
{
x: -7.949986,
y: -18.600127
},
{
x: -8.0056,
y: -18.605605
},
{
x: -8.211206,
y: -18.399999
},
{
x: -7.795011,
y: -18.399999
},
{
x: -7.795011,
y: -17.599999
},
{
x: -8.705017,
y: -17.599999
},
{
x: -8.705017,
y: -17.824925
},
{
x: -8.996286,
y: -17.824925
},
{
x: -9.031738,
y: -17.781727
},
{
x: -9.094983,
y: -17.729823
},
{
x: -9.094983,
y: -17.434032
},
{
x: -8.9556,
y: -17.294649
},
{
x: -8.899986,
y: -17.300127
},
{
x: -8.812195,
y: -17.29148
},
{
x: -8.727778,
y: -17.265873
},
{
x: -8.649979,
y: -17.224288
},
{
x: -8.581788,
y: -17.168325
},
{
x: -8.525825,
y: -17.100134
},
{
x: -8.48424,
y: -17.022335
},
{
x: -8.458633,
y: -16.937918
},
{
x: -8.449986,
y: -16.850127
},
{
x: -8.458633,
y: -16.762336
},
{
x: -8.48424,
y: -16.677919
},
{
x: -8.525825,
y: -16.60012
},
{
x: -8.581788,
y: -16.531929
},
{
x: -8.649979,
y: -16.475966
},
{
x: -8.727778,
y: -16.434381
},
{
x: -8.812195,
y: -16.408774
},
{
x: -8.899986,
y: -16.400127
},
{
x: -8.987777,
y: -16.408774
},
{
x: -9.072194,
y: -16.434381
},
{
x: -9.149993,
y: -16.475966
},
{
x: -9.218184,
y: -16.531929
},
{
x: -9.274147,
y: -16.60012
},
{
x: -9.315732,
y: -16.677919
},
{
x: -9.341339,
y: -16.762336
},
{
x: -9.349986,
y: -16.850127
},
{
x: -9.344508,
y: -16.905741
},
{
x: -9.538894,
y: -17.100127
},
{
x: -10.004989,
y: -17.100127
},
{
x: -10.004989,
y: -17.807744
},
{
x: -10.007853,
y: -17.811234
},
{
x: -10.030956,
y: -17.854456
},
{
x: -10.045182,
y: -17.901354
},
{
x: -10.049986,
y: -17.950127
},
{
x: -10.049986,
y: -18.250127
},
{
x: -10.045182,
y: -18.2989
},
{
x: -10.030956,
y: -18.345798
},
{
x: -10.007853,
y: -18.38902
},
{
x: -9.992507,
y: -18.40772
},
{
x: -9.980956,
y: -18.445798
},
{
x: -9.957853,
y: -18.48902
},
{
x: -9.926763,
y: -18.526904
},
{
x: -9.856557,
y: -18.59711
},
{
x: -9.854053,
y: -18.605365
},
{
x: -9.82864,
y: -18.652909
},
{
x: -9.79444,
y: -18.694581
},
{
x: -9.74444,
y: -18.744581
},
{
x: -9.702768,
y: -18.778781
},
{
x: -9.655224,
y: -18.804194
},
{
x: -9.603636,
y: -18.819843
},
{
x: -9.549986,
y: -18.825127
},
{
x: -8.563894,
y: -18.825127
},
{
x: -8.394508,
y: -18.994513
},
{
x: -8.399986,
y: -19.050127
},
{
x: -8.391339,
y: -19.137918
},
{
x: -8.365732,
y: -19.222335
},
{
x: -8.324147,
y: -19.300134
},
{
x: -8.268184,
y: -19.368325
},
{
x: -8.199993,
y: -19.424288
},
{
x: -8.122194,
y: -19.465873
},
{
x: -8.046146,
y: -19.488941
},
{
x: -8.123602,
y: -19.583322
},
{
x: -8.19291,
y: -19.712987
},
{
x: -8.235589,
y: -19.853682
},
{
x: -8.25,
y: -20
},
{
x: -8.235589,
y: -20.146318
},
{
x: -8.19291,
y: -20.287013
},
{
x: -8.123602,
y: -20.416678
},
{
x: -8.075751,
y: -20.474985
},
{
x: -10.142806,
y: -20.474985
},
{
x: -10.147258,
y: -20.471331
},
{
x: -10.194802,
y: -20.445918
},
{
x: -10.23049,
y: -20.435092
},
{
x: -10.247258,
y: -20.421331
},
{
x: -10.294802,
y: -20.395918
},
{
x: -10.324081,
y: -20.387036
},
{
x: -12.355586,
y: -18.355531
},
{
x: -12.397258,
y: -18.321331
},
{
x: -12.444802,
y: -18.295918
},
{
x: -12.49639,
y: -18.280269
},
{
x: -12.541819,
y: -18.275795
},
{
x: -12.547258,
y: -18.271331
},
{
x: -12.594802,
y: -18.245918
},
{
x: -12.64639,
y: -18.230269
},
{
x: -12.70004,
y: -18.224985
},
{
x: -15.892806,
y: -18.224985
},
{
x: -15.897258,
y: -18.221331
},
{
x: -15.944802,
y: -18.195918
},
{
x: -15.99639,
y: -18.180269
},
{
x: -16.05004,
y: -18.174985
},
{
x: -16.142806,
y: -18.174985
},
{
x: -16.147258,
y: -18.171331
},
{
x: -16.194802,
y: -18.145918
},
{
x: -16.24639,
y: -18.130269
},
{
x: -16.291819,
y: -18.125795
},
{
x: -16.297258,
y: -18.121331
},
{
x: -16.344802,
y: -18.095918
},
{
x: -16.39639,
y: -18.080269
},
{
x: -16.441819,
y: -18.075795
},
{
x: -16.447258,
y: -18.071331
},
{
x: -16.494802,
y: -18.045918
},
{
x: -16.54639,
y: -18.030269
},
{
x: -16.591819,
y: -18.025795
},
{
x: -16.597258,
y: -18.021331
},
{
x: -16.644802,
y: -17.995918
},
{
x: -16.68049,
y: -17.985092
},
{
x: -16.697258,
y: -17.971331
},
{
x: -16.744802,
y: -17.945918
},
{
x: -16.78049,
y: -17.935092
},
{
x: -16.797258,
y: -17.921331
},
{
x: -16.844802,
y: -17.895918
},
{
x: -16.88049,
y: -17.885092
},
{
x: -16.897258,
y: -17.871331
},
{
x: -16.944802,
y: -17.845918
},
{
x: -16.974081,
y: -17.837036
},
{
x: -17.005586,
y: -17.805531
},
{
x: -17.047258,
y: -17.771331
},
{
x: -17.094802,
y: -17.745918
},
{
x: -17.124081,
y: -17.737036
},
{
x: -17.205586,
y: -17.655531
},
{
x: -17.247258,
y: -17.621331
},
{
x: -17.294802,
y: -17.595918
},
{
x: -17.324081,
y: -17.587036
},
{
x: -17.587091,
y: -17.324026
},
{
x: -17.595973,
y: -17.294747
},
{
x: -17.621386,
y: -17.247203
},
{
x: -17.655586,
y: -17.205531
},
{
x: -17.737091,
y: -17.124026
},
{
x: -17.745973,
y: -17.094747
},
{
x: -17.771386,
y: -17.047203
},
{
x: -17.805586,
y: -17.005531
},
{
x: -17.837091,
y: -16.974026
},
{
x: -17.845973,
y: -16.944747
},
{
x: -17.871386,
y: -16.897203
},
{
x: -17.885147,
y: -16.880435
},
{
x: -17.895973,
y: -16.844747
},
{
x: -17.921386,
y: -16.797203
},
{
x: -17.935147,
y: -16.780435
},
{
x: -17.945973,
y: -16.744747
},
{
x: -17.971386,
y: -16.697203
},
{
x: -17.985147,
y: -16.680435
},
{
x: -17.995973,
y: -16.644747
},
{
x: -18.021386,
y: -16.597203
},
{
x: -18.02585,
y: -16.591764
},
{
x: -18.030324,
y: -16.546335
},
{
x: -18.045973,
y: -16.494747
},
{
x: -18.071386,
y: -16.447203
},
{
x: -18.07585,
y: -16.441764
},
{
x: -18.080324,
y: -16.396335
},
{
x: -18.095973,
y: -16.344747
},
{
x: -18.121386,
y: -16.297203
},
{
x: -18.12585,
y: -16.291764
},
{
x: -18.130324,
y: -16.246335
},
{
x: -18.145973,
y: -16.194747
},
{
x: -18.171386,
y: -16.147203
},
{
x: -18.17504,
y: -16.142751
},
{
x: -18.17504,
y: -16.049985
},
{
x: -18.180324,
y: -15.996335
},
{
x: -18.195973,
y: -15.944747
},
{
x: -18.221386,
y: -15.897203
},
{
x: -18.22504,
y: -15.892751
},
{
x: -18.22504,
y: -15.107219
},
{
x: -18.221386,
y: -15.102767
},
{
x: -18.195973,
y: -15.055223
},
{
x: -18.180324,
y: -15.003635
},
{
x: -18.17504,
y: -14.949985
},
{
x: -18.17504,
y: -14.857219
},
{
x: -18.171386,
y: -14.852767
},
{
x: -18.145973,
y: -14.805223
},
{
x: -18.130324,
y: -14.753635
},
{
x: -18.12585,
y: -14.708206
},
{
x: -18.121386,
y: -14.702767
},
{
x: -18.095973,
y: -14.655223
},
{
x: -18.080324,
y: -14.603635
},
{
x: -18.07585,
y: -14.558206
},
{
x: -18.071386,
y: -14.552767
},
{
x: -18.045973,
y: -14.505223
},
{
x: -18.030324,
y: -14.453635
},
{
x: -18.02585,
y: -14.408206
},
{
x: -18.021386,
y: -14.402767
},
{
x: -17.995973,
y: -14.355223
},
{
x: -17.985147,
y: -14.319535
},
{
x: -17.971386,
y: -14.302767
},
{
x: -17.945973,
y: -14.255223
},
{
x: -17.935147,
y: -14.219535
},
{
x: -17.921386,
y: -14.202767
},
{
x: -17.895973,
y: -14.155223
},
{
x: -17.885147,
y: -14.119535
},
{
x: -17.871386,
y: -14.102767
},
{
x: -17.845973,
y: -14.055223
},
{
x: -17.837091,
y: -14.025944
},
{
x: -17.805586,
y: -13.994439
},
{
x: -17.771386,
y: -13.952767
},
{
x: -17.745973,
y: -13.905223
},
{
x: -17.737091,
y: -13.875944
},
{
x: -17.655586,
y: -13.794439
},
{
x: -17.621386,
y: -13.752767
},
{
x: -17.595973,
y: -13.705223
},
{
x: -17.587091,
y: -13.675944
},
{
x: -17.255586,
y: -13.344439
},
{
x: -17.221386,
y: -13.302767
},
{
x: -17.195973,
y: -13.255223
},
{
x: -17.180324,
y: -13.203635
},
{
x: -17.17504,
y: -13.149985
},
{
x: -17.17504,
y: -11.649984
},
{
x: -16.850041,
y: -11.649984
},
{
x: -16.850041,
y: -10.249986
},
{
x: -17.07504,
y: -10.249986
},
{
x: -17.07504,
y: -9.953635
},
{
x: -17.031842,
y: -9.918183
},
{
x: -16.975879,
y: -9.849992
},
{
x: -16.934294,
y: -9.772193
},
{
x: -16.908687,
y: -9.687776
},
{
x: -16.90004,
y: -9.599985
},
{
x: -16.908687,
y: -9.512194
},
{
x: -16.934294,
y: -9.427777
},
{
x: -16.975879,
y: -9.349978
},
{
x: -17.031842,
y: -9.281787
},
{
x: -17.100033,
y: -9.225824
},
{
x: -17.177832,
y: -9.184239
},
{
x: -17.262249,
y: -9.158632
},
{
x: -17.35004,
y: -9.149985
},
{
x: -17.437831,
y: -9.158632
},
{
x: -17.522248,
y: -9.184239
},
{
x: -17.600047,
y: -9.225824
},
{
x: -17.668238,
y: -9.281787
},
{
x: -17.679515,
y: -9.295528
},
{
x: -17.731802,
y: -9.231817
},
{
x: -17.775,
y: -9.196365
},
{
x: -17.775,
y: -9.000015
},
{
x: -17.780284,
y: -8.946365
},
{
x: -17.795933,
y: -8.894777
},
{
x: -17.800001,
y: -8.887166
},
{
x: -17.800001,
y: -7.950016
},
{
x: -18.999999,
y: -7.950016
},
{
x: -18.999999,
y: -9.350014
},
{
x: -18.45089,
y: -9.350014
},
{
x: -18.465746,
y: -9.377807
},
{
x: -18.491353,
y: -9.462224
},
{
x: -18.5,
y: -9.550015
},
{
x: -18.491353,
y: -9.637806
},
{
x: -18.465746,
y: -9.722223
},
{
x: -18.424161,
y: -9.800022
},
{
x: -18.368198,
y: -9.868213
},
{
x: -18.300007,
y: -9.924176
},
{
x: -18.222208,
y: -9.965761
},
{
x: -18.137791,
y: -9.991368
},
{
x: -18.05,
y: -10.000015
},
{
x: -17.962209,
y: -9.991368
},
{
x: -17.877792,
y: -9.965761
},
{
x: -17.799993,
y: -9.924176
},
{
x: -17.731802,
y: -9.868213
},
{
x: -17.720525,
y: -9.854472
},
{
x: -17.668238,
y: -9.918183
},
{
x: -17.62504,
y: -9.953635
},
{
x: -17.62504,
y: -10.249986
},
{
x: -18.050039,
y: -10.249986
},
{
x: -18.050039,
y: -11.649984
},
{
x: -17.72504,
y: -11.649984
},
{
x: -17.72504,
y: -13.036077
},
{
x: -18.044494,
y: -13.355531
},
{
x: -18.078694,
y: -13.397203
},
{
x: -18.104107,
y: -13.444747
},
{
x: -18.112989,
y: -13.474026
},
{
x: -18.194494,
y: -13.555531
},
{
x: -18.228694,
y: -13.597203
},
{
x: -18.254107,
y: -13.644747
},
{
x: -18.262989,
y: -13.674026
},
{
x: -18.294494,
y: -13.705531
},
{
x: -18.328694,
y: -13.747203
},
{
x: -18.354107,
y: -13.794747
},
{
x: -18.364933,
y: -13.830435
},
{
x: -18.378694,
y: -13.847203
},
{
x: -18.404107,
y: -13.894747
},
{
x: -18.414933,
y: -13.930435
},
{
x: -18.428694,
y: -13.947203
},
{
x: -18.454107,
y: -13.994747
},
{
x: -18.464933,
y: -14.030435
},
{
x: -18.478694,
y: -14.047203
},
{
x: -18.504107,
y: -14.094747
},
{
x: -18.514933,
y: -14.130435
},
{
x: -18.528694,
y: -14.147203
},
{
x: -18.554107,
y: -14.194747
},
{
x: -18.569756,
y: -14.246335
},
{
x: -18.57423,
y: -14.291764
},
{
x: -18.578694,
y: -14.297203
},
{
x: -18.604107,
y: -14.344747
},
{
x: -18.619756,
y: -14.396335
},
{
x: -18.62423,
y: -14.441764
},
{
x: -18.628694,
y: -14.447203
},
{
x: -18.654107,
y: -14.494747
},
{
x: -18.669756,
y: -14.546335
},
{
x: -18.67423,
y: -14.591764
},
{
x: -18.678694,
y: -14.597203
},
{
x: -18.704107,
y: -14.644747
},
{
x: -18.719756,
y: -14.696335
},
{
x: -18.72504,
y: -14.749985
},
{
x: -18.72504,
y: -14.842751
},
{
x: -18.728694,
y: -14.847203
},
{
x: -18.754107,
y: -14.894747
},
{
x: -18.769756,
y: -14.946335
},
{
x: -18.77504,
y: -14.999985
},
{
x: -18.77504,
y: -15.999985
},
{
x: -18.769756,
y: -16.053635
},
{
x: -18.754107,
y: -16.105223
},
{
x: -18.728694,
y: -16.152767
},
{
x: -18.72504,
y: -16.157219
},
{
x: -18.72504,
y: -16.249985
},
{
x: -18.719756,
y: -16.303635
},
{
x: -18.704107,
y: -16.355223
},
{
x: -18.678694,
y: -16.402767
},
{
x: -18.67423,
y: -16.408206
},
{
x: -18.669756,
y: -16.453635
},
{
x: -18.654107,
y: -16.505223
},
{
x: -18.628694,
y: -16.552767
},
{
x: -18.62423,
y: -16.558206
},
{
x: -18.619756,
y: -16.603635
},
{
x: -18.604107,
y: -16.655223
},
{
x: -18.578694,
y: -16.702767
},
{
x: -18.57423,
y: -16.708206
},
{
x: -18.569756,
y: -16.753635
},
{
x: -18.554107,
y: -16.805223
},
{
x: -18.528694,
y: -16.852767
},
{
x: -18.514933,
y: -16.869535
},
{
x: -18.504107,
y: -16.905223
},
{
x: -18.478694,
y: -16.952767
},
{
x: -18.464933,
y: -16.969535
},
{
x: -18.454107,
y: -17.005223
},
{
x: -18.428694,
y: -17.052767
},
{
x: -18.414933,
y: -17.069535
},
{
x: -18.404107,
y: -17.105223
},
{
x: -18.378694,
y: -17.152767
},
{
x: -18.364933,
y: -17.169535
},
{
x: -18.354107,
y: -17.205223
},
{
x: -18.328694,
y: -17.252767
},
{
x: -18.294494,
y: -17.294439
},
{
x: -18.262989,
y: -17.325944
},
{
x: -18.254107,
y: -17.355223
},
{
x: -18.228694,
y: -17.402767
},
{
x: -18.194494,
y: -17.444439
},
{
x: -18.112989,
y: -17.525944
},
{
x: -18.104107,
y: -17.555223
},
{
x: -18.078694,
y: -17.602767
},
{
x: -18.044494,
y: -17.644439
},
{
x: -17.644494,
y: -18.044439
},
{
x: -17.602822,
y: -18.078639
},
{
x: -17.555278,
y: -18.104052
},
{
x: -17.525999,
y: -18.112934
},
{
x: -17.444494,
y: -18.194439
},
{
x: -17.402822,
y: -18.228639
},
{
x: -17.355278,
y: -18.254052
},
{
x: -17.325999,
y: -18.262934
},
{
x: -17.294494,
y: -18.294439
},
{
x: -17.252822,
y: -18.328639
},
{
x: -17.205278,
y: -18.354052
},
{
x: -17.16959,
y: -18.364878
},
{
x: -17.152822,
y: -18.378639
},
{
x: -17.105278,
y: -18.404052
},
{
x: -17.06959,
y: -18.414878
},
{
x: -17.052822,
y: -18.428639
},
{
x: -17.005278,
y: -18.454052
},
{
x: -16.96959,
y: -18.464878
},
{
x: -16.952822,
y: -18.478639
},
{
x: -16.905278,
y: -18.504052
},
{
x: -16.86959,
y: -18.514878
},
{
x: -16.852822,
y: -18.528639
},
{
x: -16.805278,
y: -18.554052
},
{
x: -16.75369,
y: -18.569701
},
{
x: -16.708261,
y: -18.574175
},
{
x: -16.702822,
y: -18.578639
},
{
x: -16.655278,
y: -18.604052
},
{
x: -16.60369,
y: -18.619701
},
{
x: -16.558261,
y: -18.624175
},
{
x: -16.552822,
y: -18.628639
},
{
x: -16.505278,
y: -18.654052
},
{
x: -16.45369,
y: -18.669701
},
{
x: -16.408261,
y: -18.674175
},
{
x: -16.402822,
y: -18.678639
},
{
x: -16.355278,
y: -18.704052
},
{
x: -16.30369,
y: -18.719701
},
{
x: -16.25004,
y: -18.724985
},
{
x: -16.157274,
y: -18.724985
},
{
x: -16.152822,
y: -18.728639
},
{
x: -16.105278,
y: -18.754052
},
{
x: -16.05369,
y: -18.769701
},
{
x: -16.00004,
y: -18.774985
},
{
x: -12.807274,
y: -18.774985
},
{
x: -12.802822,
y: -18.778639
},
{
x: -12.755278,
y: -18.804052
},
{
x: -12.70369,
y: -18.819701
},
{
x: -12.665467,
y: -18.823466
},
{
x: -10.644494,
y: -20.844439
},
{
x: -10.625543,
y: -20.859992
},
{
x: -14.402463,
y: -20.85999
},
{
x: -14.58394,
y: -20.854048
},
{
x: -14.759756,
y: -20.836732
},
{
x: -14.934071,
y: -20.807953
},
{
x: -15.106125,
y: -20.767836
},
{
x: -15.275189,
y: -20.71655
},
{
x: -15.440544,
y: -20.654315
},
{
x: -15.601459,
y: -20.581406
},
{
x: -15.757276,
y: -20.49812
},
{
x: -15.907301,
y: -20.404828
},
{
x: -16.050908,
y: -20.301921
},
{
x: -16.187484,
y: -20.189836
},
{
x: -16.319996,
y: -20.065725
},
{
x: -19.971308,
y: -16.414413
},
{
x: -19.971308,
y: -16.238677
},
{
x: -20.141272,
y: -16.238677
},
{
x: -20.179846,
y: -16.197493
},
{
x: -20.291919,
y: -16.060931
},
{
x: -20.394834,
y: -15.917314
},
{
x: -20.488126,
y: -15.767287
},
{
x: -20.571411,
y: -15.611472
},
{
x: -20.644318,
y: -15.450562
},
{
x: -20.706556,
y: -15.285202
},
{
x: -20.757841,
y: -15.116135
},
{
x: -20.79796,
y: -14.944078
},
{
x: -20.826738,
y: -14.769766
},
{
x: -20.844055,
y: -14.593946
},
{
x: -20.849996,
y: -14.412473
},
{
x: -20.849982,
y: 14.412473
},
{
x: -20.844041,
y: 14.593947
},
{
x: -20.826725,
y: 14.769759
},
{
x: -20.797945,
y: 14.94408
},
{
x: -20.757825,
y: 15.116142
},
{
x: -20.706548,
y: 15.285183
},
{
x: -20.644305,
y: 15.450556
},
{
x: -20.571395,
y: 15.611473
},
{
x: -20.488118,
y: 15.767274
},
{
x: -20.394822,
y: 15.917306
},
{
x: -20.291908,
y: 16.060922
},
{
x: -20.179828,
y: 16.197492
},
{
x: -20.055717,
y: 16.330004
},
{
x: -16.320032,
y: 20.065708
},
{
x: -16.187492,
y: 20.189846
},
{
x: -16.050927,
y: 20.301924
},
{
x: -15.907323,
y: 20.404831
},
{
x: -15.757288,
y: 20.498129
},
{
x: -15.601483,
y: 20.581409
},
{
x: -15.440543,
y: 20.654331
},
{
x: -15.275208,
y: 20.716559
},
{
x: -15.106131,
y: 20.767849
},
{
x: -14.934086,
y: 20.807963
},
{
x: -14.759754,
y: 20.836747
},
{
x: -14.583942,
y: 20.854062
},
{
x: -14.402466,
y: 20.860003
},
{
x: 14.402466,
y: 20.859997
},
{
x: 14.58394,
y: 20.854056
},
{
x: 14.759753,
y: 20.83674
},
{
x: 14.93407,
y: 20.80796
},
{
x: 15.106129,
y: 20.767841
},
{
x: 15.275185,
y: 20.716558
},
{
x: 15.440544,
y: 20.654321
},
{
x: 15.601469,
y: 20.581406
},
{
x: 15.757268,
y: 20.498129
},
{
x: 15.907302,
y: 20.404831
},
{
x: 16.050913,
y: 20.30192
},
{
x: 16.187474,
y: 20.189846
},
{
x: 16.320009,
y: 20.065712
},
{
x: 20.055713,
y: 16.330027
},
{
x: 20.179846,
y: 16.197493
},
{
x: 20.291919,
y: 16.060931
},
{
x: 20.394834,
y: 15.917314
},
{
x: 20.488126,
y: 15.767287
},
{
x: 20.571411,
y: 15.611472
},
{
x: 20.644318,
y: 15.450562
},
{
x: 20.706556,
y: 15.285202
},
{
x: 20.757841,
y: 15.116135
},
{
x: 20.79796,
y: 14.944078
},
{
x: 20.826738,
y: 14.769766
},
{
x: 20.844055,
y: 14.593946
},
{
x: 20.849996,
y: 14.412473
},
{
x: 20.849982,
y: -14.412473
},
{
x: 20.844041,
y: -14.593947
},
{
x: 20.826725,
y: -14.769759
},
{
x: 20.797945,
y: -14.94408
},
{
x: 20.757825,
y: -15.116142
},
{
x: 20.706548,
y: -15.285183
},
{
x: 20.644305,
y: -15.450556
},
{
x: 20.571395,
y: -15.611473
},
{
x: 20.488118,
y: -15.767274
},
{
x: 20.394822,
y: -15.917306
},
{
x: 20.291908,
y: -16.060922
},
{
x: 20.179828,
y: -16.197492
},
{
x: 20.055717,
y: -16.330004
},
{
x: 16.320032,
y: -20.065708
},
{
x: 16.187492,
y: -20.189846
},
{
x: 16.050927,
y: -20.301924
},
{
x: 15.907323,
y: -20.404831
},
{
x: 15.757288,
y: -20.498129
},
{
x: 15.601483,
y: -20.581409
},
{
x: 15.440543,
y: -20.654331
},
{
x: 15.275208,
y: -20.716559
},
{
x: 15.106131,
y: -20.767849
},
{
x: 14.934086,
y: -20.807963
},
{
x: 14.759754,
y: -20.836747
},
{
x: 14.583942,
y: -20.854062
}
]
},
inner_rings: [
{
vertices: [
{
x: -0.3564,
y: 16.9483
},
{
x: -0.268609,
y: 16.956947
},
{
x: -0.184192,
y: 16.982554
},
{
x: -0.106393,
y: 17.024139
},
{
x: -0.038202,
y: 17.080102
},
{
x: 0.017761,
y: 17.148293
},
{
x: 0.059346,
y: 17.226092
},
{
x: 0.084953,
y: 17.310509
},
{
x: 0.0936,
y: 17.3983
},
{
x: 0.08966,
y: 17.4383
},
{
x: 0.5,
y: 17.4383
},
{
x: 0.55365,
y: 17.443584
},
{
x: 0.605238,
y: 17.459233
},
{
x: 0.652782,
y: 17.484646
},
{
x: 0.694454,
y: 17.518846
},
{
x: 0.728654,
y: 17.560518
},
{
x: 0.754067,
y: 17.608062
},
{
x: 0.769716,
y: 17.65965
},
{
x: 0.77369,
y: 17.7
},
{
x: 1.575,
y: 17.7
},
{
x: 1.575,
y: 19.225
},
{
x: -0.575,
y: 19.225
},
{
x: -0.575,
y: 17.789249
},
{
x: -0.606407,
y: 17.772461
},
{
x: -0.674598,
y: 17.716498
},
{
x: -0.730561,
y: 17.648307
},
{
x: -0.772146,
y: 17.570508
},
{
x: -0.797753,
y: 17.486091
},
{
x: -0.8064,
y: 17.3983
},
{
x: -0.797753,
y: 17.310509
},
{
x: -0.772146,
y: 17.226092
},
{
x: -0.730561,
y: 17.148293
},
{
x: -0.674598,
y: 17.080102
},
{
x: -0.606407,
y: 17.024139
},
{
x: -0.528608,
y: 16.982554
},
{
x: -0.444191,
y: 16.956947
}
]
},
{
vertices: [
{
x: 10.000162,
y: 9.799919
},
{
x: 12.800208,
y: 9.799919
},
{
x: 12.800208,
y: 12.599965
},
{
x: 10.000162,
y: 12.599965
}
]
},
{
vertices: [
{
x: 17.199538,
y: 9.799665
},
{
x: 19.999584,
y: 9.799665
},
{
x: 19.999584,
y: 12.599711
},
{
x: 17.199538,
y: 12.599711
}
]
},
{
vertices: [
{
x: -7.299936,
y: 4.300021
},
{
x: -7.212145,
y: 4.308668
},
{
x: -7.127728,
y: 4.334275
},
{
x: -7.049929,
y: 4.37586
},
{
x: -6.981738,
y: 4.431823
},
{
x: -6.925775,
y: 4.500014
},
{
x: -6.88419,
y: 4.577813
},
{
x: -6.858583,
y: 4.66223
},
{
x: -6.849936,
y: 4.750021
},
{
x: -6.858583,
y: 4.837812
},
{
x: -6.88419,
y: 4.922229
},
{
x: -6.925775,
y: 5.000028
},
{
x: -6.981738,
y: 5.068219
},
{
x: -7.049929,
y: 5.124182
},
{
x: -7.127728,
y: 5.165767
},
{
x: -7.212145,
y: 5.191374
},
{
x: -7.299936,
y: 5.200021
},
{
x: -7.387727,
y: 5.191374
},
{
x: -7.472144,
y: 5.165767
},
{
x: -7.549943,
y: 5.124182
},
{
x: -7.618134,
y: 5.068219
},
{
x: -7.674097,
y: 5.000028
},
{
x: -7.715682,
y: 4.922229
},
{
x: -7.741289,
y: 4.837812
},
{
x: -7.749936,
y: 4.750021
},
{
x: -7.741289,
y: 4.66223
},
{
x: -7.715682,
y: 4.577813
},
{
x: -7.674097,
y: 4.500014
},
{
x: -7.618134,
y: 4.431823
},
{
x: -7.549943,
y: 4.37586
},
{
x: -7.472144,
y: 4.334275
},
{
x: -7.387727,
y: 4.308668
}
]
},
{
vertices: [
{
x: -1.799936,
y: 4.300021
},
{
x: -1.712145,
y: 4.308668
},
{
x: -1.627728,
y: 4.334275
},
{
x: -1.549929,
y: 4.37586
},
{
x: -1.481738,
y: 4.431823
},
{
x: -1.425775,
y: 4.500014
},
{
x: -1.38419,
y: 4.577813
},
{
x: -1.358583,
y: 4.66223
},
{
x: -1.349936,
y: 4.750021
},
{
x: -1.358583,
y: 4.837812
},
{
x: -1.38419,
y: 4.922229
},
{
x: -1.425775,
y: 5.000028
},
{
x: -1.481738,
y: 5.068219
},
{
x: -1.549929,
y: 5.124182
},
{
x: -1.627728,
y: 5.165767
},
{
x: -1.712145,
y: 5.191374
},
{
x: -1.799936,
y: 5.200021
},
{
x: -1.887727,
y: 5.191374
},
{
x: -1.972144,
y: 5.165767
},
{
x: -2.049943,
y: 5.124182
},
{
x: -2.118134,
y: 5.068219
},
{
x: -2.174097,
y: 5.000028
},
{
x: -2.215682,
y: 4.922229
},
{
x: -2.241289,
y: 4.837812
},
{
x: -2.249936,
y: 4.750021
},
{
x: -2.241289,
y: 4.66223
},
{
x: -2.215682,
y: 4.577813
},
{
x: -2.174097,
y: 4.500014
},
{
x: -2.118134,
y: 4.431823
},
{
x: -2.049943,
y: 4.37586
},
{
x: -1.972144,
y: 4.334275
},
{
x: -1.887727,
y: 4.308668
}
]
},
{
vertices: [
{
x: 2.49996,
y: 0.849998
},
{
x: 2.587751,
y: 0.858645
},
{
x: 2.672168,
y: 0.884252
},
{
x: 2.749967,
y: 0.925837
},
{
x: 2.818158,
y: 0.9818
},
{
x: 2.874121,
y: 1.049991
},
{
x: 2.915706,
y: 1.12779
},
{
x: 2.941313,
y: 1.212207
},
{
x: 2.94996,
y: 1.299998
},
{
x: 2.941313,
y: 1.387789
},
{
x: 2.928509,
y: 1.43
},
{
x: 3.48,
y: 1.43
},
{
x: 3.48,
y: 1.957592
},
{
x: 3.729428,
y: 1.708164
},
{
x: 3.701397,
y: 1.674007
},
{
x: 3.656652,
y: 1.590296
},
{
x: 3.629098,
y: 1.499463
},
{
x: 3.619794,
y: 1.405
},
{
x: 3.629098,
y: 1.310537
},
{
x: 3.656652,
y: 1.219704
},
{
x: 3.701397,
y: 1.135993
},
{
x: 3.761613,
y: 1.062618
},
{
x: 3.834987,
y: 1.002402
},
{
x: 3.918699,
y: 0.957657
},
{
x: 4.009532,
y: 0.930103
},
{
x: 4.103995,
y: 0.920799
},
{
x: 5.485805,
y: 0.920799
},
{
x: 5.580268,
y: 0.930103
},
{
x: 5.671101,
y: 0.957657
},
{
x: 5.754813,
y: 1.002402
},
{
x: 5.828187,
y: 1.062618
},
{
x: 5.888403,
y: 1.135993
},
{
x: 5.933148,
y: 1.219704
},
{
x: 5.960702,
y: 1.310537
},
{
x: 5.970006,
y: 1.405
},
{
x: 5.960702,
y: 1.499463
},
{
x: 5.933148,
y: 1.590296
},
{
x: 5.888403,
y: 1.674007
},
{
x: 5.828187,
y: 1.747382
},
{
x: 5.754813,
y: 1.807598
},
{
x: 5.671101,
y: 1.852343
},
{
x: 5.600266,
y: 1.873831
},
{
x: 5.615746,
y: 1.902792
},
{
x: 5.641353,
y: 1.987209
},
{
x: 5.65,
y: 2.075
},
{
x: 5.641353,
y: 2.162791
},
{
x: 5.615746,
y: 2.247208
},
{
x: 5.574161,
y: 2.325007
},
{
x: 5.518198,
y: 2.393198
},
{
x: 5.450007,
y: 2.449161
},
{
x: 5.372208,
y: 2.490746
},
{
x: 5.287791,
y: 2.516353
},
{
x: 5.2,
y: 2.525
},
{
x: 5.112209,
y: 2.516353
},
{
x: 5.027792,
y: 2.490746
},
{
x: 4.949993,
y: 2.449161
},
{
x: 4.881802,
y: 2.393198
},
{
x: 4.825839,
y: 2.325007
},
{
x: 4.804009,
y: 2.284166
},
{
x: 4.774161,
y: 2.340007
},
{
x: 4.718198,
y: 2.408198
},
{
x: 4.650007,
y: 2.464161
},
{
x: 4.572208,
y: 2.505746
},
{
x: 4.52,
y: 2.521583
},
{
x: 4.52,
y: 2.871092
},
{
x: 5.184454,
y: 3.535546
},
{
x: 5.218654,
y: 3.577218
},
{
x: 5.244067,
y: 3.624762
},
{
x: 5.259716,
y: 3.67635
},
{
x: 5.265,
y: 3.73
},
{
x: 5.46,
y: 3.73
},
{
x: 5.46,
y: 4.77
},
{
x: 4.52,
y: 4.77
},
{
x: 4.52,
y: 4.23
},
{
x: 3.48,
y: 4.23
},
{
x: 3.48,
y: 3.511668
},
{
x: 3.463046,
y: 3.497754
},
{
x: 3.283946,
y: 3.318654
},
{
x: 3.249746,
y: 3.276982
},
{
x: 3.224333,
y: 3.229438
},
{
x: 3.208684,
y: 3.17785
},
{
x: 3.2034,
y: 3.1242
},
{
x: 3.2034,
y: 2.47
},
{
x: 2.54,
y: 2.47
},
{
x: 2.54,
y: 1.878946
},
{
x: 2.398154,
y: 1.7371
},
{
x: 2.327752,
y: 1.715744
},
{
x: 2.249953,
y: 1.674159
},
{
x: 2.181762,
y: 1.618196
},
{
x: 2.125799,
y: 1.550005
},
{
x: 2.084214,
y: 1.472206
},
{
x: 2.058607,
y: 1.387789
},
{
x: 2.04996,
y: 1.299998
},
{
x: 2.058607,
y: 1.212207
},
{
x: 2.084214,
y: 1.12779
},
{
x: 2.125799,
y: 1.049991
},
{
x: 2.181762,
y: 0.9818
},
{
x: 2.249953,
y: 0.925837
},
{
x: 2.327752,
y: 0.884252
},
{
x: 2.412169,
y: 0.858645
}
]
},
{
vertices: [
{
x: 16.725,
y: -2.45
},
{
x: 17.275,
y: -2.45
},
{
x: 17.431072,
y: -2.434628
},
{
x: 17.581147,
y: -2.389104
},
{
x: 17.719456,
y: -2.315176
},
{
x: 17.840685,
y: -2.215685
},
{
x: 17.940176,
y: -2.094456
},
{
x: 18.014104,
y: -1.956147
},
{
x: 18.059628,
y: -1.806072
},
{
x: 18.075,
y: -1.65
},
{
x: 18.059628,
y: -1.493928
},
{
x: 18.014104,
y: -1.343853
},
{
x: 17.940176,
y: -1.205544
},
{
x: 17.840685,
y: -1.084315
},
{
x: 17.719456,
y: -0.984824
},
{
x: 17.581147,
y: -0.910896
},
{
x: 17.431072,
y: -0.865372
},
{
x: 17.275,
y: -0.85
},
{
x: 16.725,
y: -0.85
},
{
x: 16.568928,
y: -0.865372
},
{
x: 16.418853,
y: -0.910896
},
{
x: 16.280544,
y: -0.984824
},
{
x: 16.159315,
y: -1.084315
},
{
x: 16.059824,
y: -1.205544
},
{
x: 15.985896,
y: -1.343853
},
{
x: 15.940372,
y: -1.493928
},
{
x: 15.925,
y: -1.65
},
{
x: 15.940372,
y: -1.806072
},
{
x: 15.985896,
y: -1.956147
},
{
x: 16.059824,
y: -2.094456
},
{
x: 16.159315,
y: -2.215685
},
{
x: 16.280544,
y: -2.315176
},
{
x: 16.418853,
y: -2.389104
},
{
x: 16.568928,
y: -2.434628
}
]
},
{
vertices: [
{
x: 6.849936,
y: -1.900029
},
{
x: 6.937727,
y: -1.891382
},
{
x: 7.022144,
y: -1.865775
},
{
x: 7.099943,
y: -1.82419
},
{
x: 7.168134,
y: -1.768227
},
{
x: 7.224097,
y: -1.700036
},
{
x: 7.265682,
y: -1.622237
},
{
x: 7.291289,
y: -1.53782
},
{
x: 7.299936,
y: -1.450029
},
{
x: 7.291289,
y: -1.362238
},
{
x: 7.265682,
y: -1.277821
},
{
x: 7.224097,
y: -1.200022
},
{
x: 7.168134,
y: -1.131831
},
{
x: 7.099943,
y: -1.075868
},
{
x: 7.022144,
y: -1.034283
},
{
x: 6.937727,
y: -1.008676
},
{
x: 6.849936,
y: -1.000029
},
{
x: 6.762145,
y: -1.008676
},
{
x: 6.677728,
y: -1.034283
},
{
x: 6.599929,
y: -1.075868
},
{
x: 6.531738,
y: -1.131831
},
{
x: 6.475775,
y: -1.200022
},
{
x: 6.43419,
y: -1.277821
},
{
x: 6.408583,
y: -1.362238
},
{
x: 6.399936,
y: -1.450029
},
{
x: 6.408583,
y: -1.53782
},
{
x: 6.43419,
y: -1.622237
},
{
x: 6.475775,
y: -1.700036
},
{
x: 6.531738,
y: -1.768227
},
{
x: 6.599929,
y: -1.82419
},
{
x: 6.677728,
y: -1.865775
},
{
x: 6.762145,
y: -1.891382
}
]
},
{
vertices: [
{
x: 4.049936,
y: -9.000079
},
{
x: 4.137727,
y: -8.991432
},
{
x: 4.222144,
y: -8.965825
},
{
x: 4.299943,
y: -8.92424
},
{
x: 4.368134,
y: -8.868277
},
{
x: 4.424097,
y: -8.800086
},
{
x: 4.465682,
y: -8.722287
},
{
x: 4.491289,
y: -8.63787
},
{
x: 4.499936,
y: -8.550079
},
{
x: 4.491289,
y: -8.462288
},
{
x: 4.465682,
y: -8.377871
},
{
x: 4.424097,
y: -8.300072
},
{
x: 4.368134,
y: -8.231881
},
{
x: 4.299943,
y: -8.175918
},
{
x: 4.222144,
y: -8.134333
},
{
x: 4.137727,
y: -8.108726
},
{
x: 4.049936,
y: -8.100079
},
{
x: 3.962145,
y: -8.108726
},
{
x: 3.877728,
y: -8.134333
},
{
x: 3.799929,
y: -8.175918
},
{
x: 3.731738,
y: -8.231881
},
{
x: 3.675775,
y: -8.300072
},
{
x: 3.63419,
y: -8.377871
},
{
x: 3.608583,
y: -8.462288
},
{
x: 3.599936,
y: -8.550079
},
{
x: 3.608583,
y: -8.63787
},
{
x: 3.63419,
y: -8.722287
},
{
x: 3.675775,
y: -8.800086
},
{
x: 3.731738,
y: -8.868277
},
{
x: 3.799929,
y: -8.92424
},
{
x: 3.877728,
y: -8.965825
},
{
x: 3.962145,
y: -8.991432
}
]
},
{
vertices: [
{
x: -19.949959,
y: -11.649984
},
{
x: -18.749961,
y: -11.649984
},
{
x: -18.749961,
y: -10.712834
},
{
x: -18.745893,
y: -10.705223
},
{
x: -18.730244,
y: -10.653635
},
{
x: -18.72496,
y: -10.599985
},
{
x: -18.72496,
y: -10.403635
},
{
x: -18.681762,
y: -10.368183
},
{
x: -18.625799,
y: -10.299992
},
{
x: -18.584214,
y: -10.222193
},
{
x: -18.558607,
y: -10.137776
},
{
x: -18.54996,
y: -10.049985
},
{
x: -18.558607,
y: -9.962194
},
{
x: -18.584214,
y: -9.877777
},
{
x: -18.625799,
y: -9.799978
},
{
x: -18.681762,
y: -9.731787
},
{
x: -18.749953,
y: -9.675824
},
{
x: -18.827752,
y: -9.634239
},
{
x: -18.912169,
y: -9.608632
},
{
x: -18.99996,
y: -9.599985
},
{
x: -19.087751,
y: -9.608632
},
{
x: -19.172168,
y: -9.634239
},
{
x: -19.249967,
y: -9.675824
},
{
x: -19.318158,
y: -9.731787
},
{
x: -19.374121,
y: -9.799978
},
{
x: -19.415706,
y: -9.877777
},
{
x: -19.441313,
y: -9.962194
},
{
x: -19.44996,
y: -10.049985
},
{
x: -19.441313,
y: -10.137776
},
{
x: -19.415706,
y: -10.222193
},
{
x: -19.40085,
y: -10.249986
},
{
x: -19.949959,
y: -10.249986
}
]
},
{
vertices: [
{
x: -6.9,
y: -16.950015
},
{
x: -6.812209,
y: -16.941368
},
{
x: -6.727792,
y: -16.915761
},
{
x: -6.649993,
y: -16.874176
},
{
x: -6.581802,
y: -16.818213
},
{
x: -6.525839,
y: -16.750022
},
{
x: -6.484254,
y: -16.672223
},
{
x: -6.458647,
y: -16.587806
},
{
x: -6.45,
y: -16.500015
},
{
x: -6.458647,
y: -16.412224
},
{
x: -6.484254,
y: -16.327807
},
{
x: -6.525839,
y: -16.250008
},
{
x: -6.581802,
y: -16.181817
},
{
x: -6.649993,
y: -16.125854
},
{
x: -6.727792,
y: -16.084269
},
{
x: -6.812209,
y: -16.058662
},
{
x: -6.9,
y: -16.050015
},
{
x: -6.987791,
y: -16.058662
},
{
x: -7.072208,
y: -16.084269
},
{
x: -7.150007,
y: -16.125854
},
{
x: -7.218198,
y: -16.181817
},
{
x: -7.274161,
y: -16.250008
},
{
x: -7.315746,
y: -16.327807
},
{
x: -7.341353,
y: -16.412224
},
{
x: -7.35,
y: -16.500015
},
{
x: -7.341353,
y: -16.587806
},
{
x: -7.315746,
y: -16.672223
},
{
x: -7.274161,
y: -16.750022
},
{
x: -7.218198,
y: -16.818213
},
{
x: -7.150007,
y: -16.874176
},
{
x: -7.072208,
y: -16.915761
},
{
x: -6.987791,
y: -16.941368
}
]
},
{
vertices: [
{
x: 4.400064,
y: -19.999975
},
{
x: 4.487855,
y: -19.991328
},
{
x: 4.572272,
y: -19.965721
},
{
x: 4.650071,
y: -19.924136
},
{
x: 4.718262,
y: -19.868173
},
{
x: 4.759488,
y: -19.81794
},
{
x: 4.805302,
y: -19.804042
},
{
x: 4.852846,
y: -19.778629
},
{
x: 4.894518,
y: -19.744429
},
{
x: 5.038948,
y: -19.599999
},
{
x: 5.504989,
y: -19.599999
},
{
x: 5.504989,
y: -18.861101
},
{
x: 5.525853,
y: -18.900134
},
{
x: 5.581816,
y: -18.968325
},
{
x: 5.650007,
y: -19.024288
},
{
x: 5.727806,
y: -19.065873
},
{
x: 5.812223,
y: -19.09148
},
{
x: 5.900014,
y: -19.100127
},
{
x: 5.987805,
y: -19.09148
},
{
x: 6.072222,
y: -19.065873
},
{
x: 6.095011,
y: -19.053692
},
{
x: 6.095011,
y: -19.100127
},
{
x: 7.005017,
y: -19.100127
},
{
x: 7.005017,
y: -18.985507
},
{
x: 7.031866,
y: -19.018223
},
{
x: 7.100057,
y: -19.074186
},
{
x: 7.177856,
y: -19.115771
},
{
x: 7.262273,
y: -19.141378
},
{
x: 7.350064,
y: -19.150025
},
{
x: 7.394983,
y: -19.145601
},
{
x: 7.394983,
y: -19.599999
},
{
x: 8.304989,
y: -19.599999
},
{
x: 8.304989,
y: -18.799999
},
{
x: 7.838946,
y: -18.799999
},
{
x: 7.794586,
y: -18.755639
},
{
x: 7.800064,
y: -18.700025
},
{
x: 7.791417,
y: -18.612234
},
{
x: 7.76581,
y: -18.527817
},
{
x: 7.724225,
y: -18.450018
},
{
x: 7.668262,
y: -18.381827
},
{
x: 7.600071,
y: -18.325864
},
{
x: 7.522272,
y: -18.284279
},
{
x: 7.437855,
y: -18.258672
},
{
x: 7.350064,
y: -18.250025
},
{
x: 7.262273,
y: -18.258672
},
{
x: 7.177856,
y: -18.284279
},
{
x: 7.100057,
y: -18.325864
},
{
x: 7.031866,
y: -18.381827
},
{
x: 7.005017,
y: -18.414543
},
{
x: 7.005017,
y: -18.300127
},
{
x: 6.179461,
y: -18.300127
},
{
x: 6.150021,
y: -18.275966
},
{
x: 6.072222,
y: -18.234381
},
{
x: 5.987805,
y: -18.208774
},
{
x: 5.900014,
y: -18.200127
},
{
x: 5.812223,
y: -18.208774
},
{
x: 5.727806,
y: -18.234381
},
{
x: 5.650007,
y: -18.275966
},
{
x: 5.581816,
y: -18.331929
},
{
x: 5.525853,
y: -18.40012
},
{
x: 5.484268,
y: -18.477919
},
{
x: 5.458661,
y: -18.562336
},
{
x: 5.450014,
y: -18.650127
},
{
x: 5.458661,
y: -18.737918
},
{
x: 5.477493,
y: -18.799999
},
{
x: 4.594983,
y: -18.799999
},
{
x: 4.594983,
y: -19.146368
},
{
x: 4.572272,
y: -19.134229
},
{
x: 4.487855,
y: -19.108622
},
{
x: 4.400064,
y: -19.099975
},
{
x: 4.312273,
y: -19.108622
},
{
x: 4.227856,
y: -19.134229
},
{
x: 4.150057,
y: -19.175814
},
{
x: 4.081866,
y: -19.231777
},
{
x: 4.025903,
y: -19.299968
},
{
x: 3.984318,
y: -19.377767
},
{
x: 3.958711,
y: -19.462184
},
{
x: 3.950064,
y: -19.549975
},
{
x: 3.958711,
y: -19.637766
},
{
x: 3.984318,
y: -19.722183
},
{
x: 4.025903,
y: -19.799982
},
{
x: 4.081866,
y: -19.868173
},
{
x: 4.150057,
y: -19.924136
},
{
x: 4.227856,
y: -19.965721
},
{
x: 4.312273,
y: -19.991328
}
]
}
]
}
},
keep: true
},
{
geometry: {
layer: "bottom",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 14.402466,
y: -20.860003
},
{
x: -14.402463,
y: -20.85999
},
{
x: -14.58394,
y: -20.854048
},
{
x: -14.759756,
y: -20.836732
},
{
x: -14.934071,
y: -20.807953
},
{
x: -15.106125,
y: -20.767836
},
{
x: -15.275189,
y: -20.71655
},
{
x: -15.440544,
y: -20.654315
},
{
x: -15.601459,
y: -20.581406
},
{
x: -15.757276,
y: -20.49812
},
{
x: -15.907301,
y: -20.404828
},
{
x: -16.050908,
y: -20.301921
},
{
x: -16.187484,
y: -20.189836
},
{
x: -16.319996,
y: -20.065725
},
{
x: -19.971308,
y: -16.414413
},
{
x: -19.971308,
y: -16.238677
},
{
x: -20.141272,
y: -16.238677
},
{
x: -20.179846,
y: -16.197493
},
{
x: -20.291919,
y: -16.060931
},
{
x: -20.394834,
y: -15.917314
},
{
x: -20.488126,
y: -15.767287
},
{
x: -20.571411,
y: -15.611472
},
{
x: -20.644318,
y: -15.450562
},
{
x: -20.706556,
y: -15.285202
},
{
x: -20.757841,
y: -15.116135
},
{
x: -20.79796,
y: -14.944078
},
{
x: -20.826738,
y: -14.769766
},
{
x: -20.844055,
y: -14.593946
},
{
x: -20.849996,
y: -14.412473
},
{
x: -20.849982,
y: 14.412473
},
{
x: -20.844041,
y: 14.593947
},
{
x: -20.826725,
y: 14.769759
},
{
x: -20.797945,
y: 14.94408
},
{
x: -20.757825,
y: 15.116142
},
{
x: -20.706548,
y: 15.285183
},
{
x: -20.644305,
y: 15.450556
},
{
x: -20.571395,
y: 15.611473
},
{
x: -20.488118,
y: 15.767274
},
{
x: -20.394822,
y: 15.917306
},
{
x: -20.291908,
y: 16.060922
},
{
x: -20.179828,
y: 16.197492
},
{
x: -20.055717,
y: 16.330004
},
{
x: -16.320032,
y: 20.065708
},
{
x: -16.187492,
y: 20.189846
},
{
x: -16.050927,
y: 20.301924
},
{
x: -15.907323,
y: 20.404831
},
{
x: -15.757288,
y: 20.498129
},
{
x: -15.601483,
y: 20.581409
},
{
x: -15.440543,
y: 20.654331
},
{
x: -15.275208,
y: 20.716559
},
{
x: -15.106131,
y: 20.767849
},
{
x: -14.934086,
y: 20.807963
},
{
x: -14.759754,
y: 20.836747
},
{
x: -14.583942,
y: 20.854062
},
{
x: -14.402466,
y: 20.860003
},
{
x: 14.402466,
y: 20.859997
},
{
x: 14.58394,
y: 20.854056
},
{
x: 14.759753,
y: 20.83674
},
{
x: 14.93407,
y: 20.80796
},
{
x: 15.106129,
y: 20.767841
},
{
x: 15.275185,
y: 20.716558
},
{
x: 15.440544,
y: 20.654321
},
{
x: 15.601469,
y: 20.581406
},
{
x: 15.757268,
y: 20.498129
},
{
x: 15.907302,
y: 20.404831
},
{
x: 16.050913,
y: 20.30192
},
{
x: 16.187474,
y: 20.189846
},
{
x: 16.320009,
y: 20.065712
},
{
x: 20.055713,
y: 16.330027
},
{
x: 20.179846,
y: 16.197493
},
{
x: 20.291919,
y: 16.060931
},
{
x: 20.394834,
y: 15.917314
},
{
x: 20.488126,
y: 15.767287
},
{
x: 20.571411,
y: 15.611472
},
{
x: 20.644318,
y: 15.450562
},
{
x: 20.706556,
y: 15.285202
},
{
x: 20.757841,
y: 15.116135
},
{
x: 20.79796,
y: 14.944078
},
{
x: 20.826738,
y: 14.769766
},
{
x: 20.844055,
y: 14.593946
},
{
x: 20.849996,
y: 14.412473
},
{
x: 20.849982,
y: -14.412473
},
{
x: 20.844041,
y: -14.593947
},
{
x: 20.826725,
y: -14.769759
},
{
x: 20.797945,
y: -14.94408
},
{
x: 20.757825,
y: -15.116142
},
{
x: 20.706548,
y: -15.285183
},
{
x: 20.644305,
y: -15.450556
},
{
x: 20.571395,
y: -15.611473
},
{
x: 20.488118,
y: -15.767274
},
{
x: 20.394822,
y: -15.917306
},
{
x: 20.291908,
y: -16.060922
},
{
x: 20.179828,
y: -16.197492
},
{
x: 20.055717,
y: -16.330004
},
{
x: 16.320032,
y: -20.065708
},
{
x: 16.187492,
y: -20.189846
},
{
x: 16.050927,
y: -20.301924
},
{
x: 15.907323,
y: -20.404831
},
{
x: 15.757288,
y: -20.498129
},
{
x: 15.601483,
y: -20.581409
},
{
x: 15.440543,
y: -20.654331
},
{
x: 15.275208,
y: -20.716559
},
{
x: 15.106131,
y: -20.767849
},
{
x: 14.934086,
y: -20.807963
},
{
x: 14.759754,
y: -20.836747
},
{
x: 14.583942,
y: -20.854062
}
]
},
inner_rings: [
{
vertices: [
{
x: -0.3564,
y: 16.9483
},
{
x: -0.268609,
y: 16.956947
},
{
x: -0.184192,
y: 16.982554
},
{
x: -0.106393,
y: 17.024139
},
{
x: -0.038202,
y: 17.080102
},
{
x: 0.017761,
y: 17.148293
},
{
x: 0.059346,
y: 17.226092
},
{
x: 0.084953,
y: 17.310509
},
{
x: 0.0936,
y: 17.3983
},
{
x: 0.084953,
y: 17.486091
},
{
x: 0.059346,
y: 17.570508
},
{
x: 0.017761,
y: 17.648307
},
{
x: -0.038202,
y: 17.716498
},
{
x: -0.106393,
y: 17.772461
},
{
x: -0.184192,
y: 17.814046
},
{
x: -0.268609,
y: 17.839653
},
{
x: -0.3564,
y: 17.8483
},
{
x: -0.444191,
y: 17.839653
},
{
x: -0.528608,
y: 17.814046
},
{
x: -0.606407,
y: 17.772461
},
{
x: -0.674598,
y: 17.716498
},
{
x: -0.730561,
y: 17.648307
},
{
x: -0.772146,
y: 17.570508
},
{
x: -0.797753,
y: 17.486091
},
{
x: -0.8064,
y: 17.3983
},
{
x: -0.797753,
y: 17.310509
},
{
x: -0.772146,
y: 17.226092
},
{
x: -0.730561,
y: 17.148293
},
{
x: -0.674598,
y: 17.080102
},
{
x: -0.606407,
y: 17.024139
},
{
x: -0.528608,
y: 16.982554
},
{
x: -0.444191,
y: 16.956947
}
]
},
{
vertices: [
{
x: -0.199912,
y: -20.608501
},
{
x: 2.250088,
y: -20.608501
},
{
x: 2.303738,
y: -20.603217
},
{
x: 2.355326,
y: -20.587568
},
{
x: 2.40287,
y: -20.562155
},
{
x: 2.44446,
y: -20.528022
},
{
x: 2.500088,
y: -20.533501
},
{
x: 2.587879,
y: -20.524854
},
{
x: 2.672296,
y: -20.499247
},
{
x: 2.750095,
y: -20.457662
},
{
x: 2.818286,
y: -20.401699
},
{
x: 2.874249,
y: -20.333508
},
{
x: 2.915834,
y: -20.255709
},
{
x: 2.941441,
y: -20.171292
},
{
x: 2.950088,
y: -20.083501
},
{
x: 2.941441,
y: -19.99571
},
{
x: 2.915834,
y: -19.911293
},
{
x: 2.874249,
y: -19.833494
},
{
x: 2.867258,
y: -19.824975
},
{
x: 4.046414,
y: -19.824975
},
{
x: 4.081866,
y: -19.868173
},
{
x: 4.150057,
y: -19.924136
},
{
x: 4.227856,
y: -19.965721
},
{
x: 4.312273,
y: -19.991328
},
{
x: 4.400064,
y: -19.999975
},
{
x: 4.487855,
y: -19.991328
},
{
x: 4.572272,
y: -19.965721
},
{
x: 4.650071,
y: -19.924136
},
{
x: 4.718262,
y: -19.868173
},
{
x: 4.774225,
y: -19.799982
},
{
x: 4.81581,
y: -19.722183
},
{
x: 4.841417,
y: -19.637766
},
{
x: 4.850064,
y: -19.549975
},
{
x: 4.841417,
y: -19.462184
},
{
x: 4.81581,
y: -19.377767
},
{
x: 4.774225,
y: -19.299968
},
{
x: 4.718262,
y: -19.231777
},
{
x: 4.650071,
y: -19.175814
},
{
x: 4.572272,
y: -19.134229
},
{
x: 4.487855,
y: -19.108622
},
{
x: 4.400064,
y: -19.099975
},
{
x: 4.312273,
y: -19.108622
},
{
x: 4.227856,
y: -19.134229
},
{
x: 4.150057,
y: -19.175814
},
{
x: 4.081866,
y: -19.231777
},
{
x: 4.046414,
y: -19.274975
},
{
x: 2.313972,
y: -19.274975
},
{
x: 2.244518,
y: -19.205521
},
{
x: 2.202846,
y: -19.171321
},
{
x: 2.155302,
y: -19.145908
},
{
x: 2.103714,
y: -19.130259
},
{
x: 2.050064,
y: -19.124975
},
{
x: 0.963972,
y: -19.124975
},
{
x: 0.644518,
y: -18.805521
},
{
x: 0.602846,
y: -18.771321
},
{
x: 0.555302,
y: -18.745908
},
{
x: 0.503714,
y: -18.730259
},
{
x: 0.450064,
y: -18.724975
},
{
x: -1.15172,
y: -18.724975
},
{
x: -1.150057,
y: -18.724086
},
{
x: -1.081866,
y: -18.668123
},
{
x: -1.025903,
y: -18.599932
},
{
x: -0.984318,
y: -18.522133
},
{
x: -0.982624,
y: -18.51655
},
{
x: -0.95561,
y: -18.494379
},
{
x: -0.786156,
y: -18.324925
},
{
x: -0.500064,
y: -18.324925
},
{
x: -0.446414,
y: -18.319641
},
{
x: -0.394826,
y: -18.303992
},
{
x: -0.347282,
y: -18.278579
},
{
x: -0.30561,
y: -18.244379
},
{
x: 0.49439,
y: -17.444379
},
{
x: 0.94439,
y: -16.994379
},
{
x: 0.97859,
y: -16.952707
},
{
x: 1.004003,
y: -16.905163
},
{
x: 1.019652,
y: -16.853575
},
{
x: 1.024936,
y: -16.799925
},
{
x: 1.024936,
y: -16.449925
},
{
x: 1.019652,
y: -16.396275
},
{
x: 1.004003,
y: -16.344687
},
{
x: 0.97859,
y: -16.297143
},
{
x: 0.964829,
y: -16.280375
},
{
x: 0.954003,
y: -16.244687
},
{
x: 0.92859,
y: -16.197143
},
{
x: 0.89439,
y: -16.155471
},
{
x: 0.74439,
y: -16.005471
},
{
x: 0.702718,
y: -15.971271
},
{
x: 0.655174,
y: -15.945858
},
{
x: 0.619486,
y: -15.935032
},
{
x: 0.602718,
y: -15.921271
},
{
x: 0.555174,
y: -15.895858
},
{
x: 0.503586,
y: -15.880209
},
{
x: 0.449936,
y: -15.874925
},
{
x: 0.113844,
y: -15.874925
},
{
x: -0.286056,
y: -15.475025
},
{
x: 1.136156,
y: -15.475025
},
{
x: 3.25561,
y: -17.594479
},
{
x: 3.297282,
y: -17.628679
},
{
x: 3.344826,
y: -17.654092
},
{
x: 3.374105,
y: -17.662974
},
{
x: 3.40561,
y: -17.694479
},
{
x: 3.447282,
y: -17.728679
},
{
x: 3.494826,
y: -17.754092
},
{
x: 3.530514,
y: -17.764918
},
{
x: 3.547282,
y: -17.778679
},
{
x: 3.594826,
y: -17.804092
},
{
x: 3.630514,
y: -17.814918
},
{
x: 3.647282,
y: -17.828679
},
{
x: 3.694826,
y: -17.854092
},
{
x: 3.746414,
y: -17.869741
},
{
x: 3.800064,
y: -17.875025
},
{
x: 3.896448,
y: -17.875025
},
{
x: 3.875853,
y: -17.90012
},
{
x: 3.834268,
y: -17.977919
},
{
x: 3.808661,
y: -18.062336
},
{
x: 3.800014,
y: -18.150127
},
{
x: 3.808661,
y: -18.237918
},
{
x: 3.834268,
y: -18.322335
},
{
x: 3.875853,
y: -18.400134
},
{
x: 3.931816,
y: -18.468325
},
{
x: 4.000007,
y: -18.524288
},
{
x: 4.077806,
y: -18.565873
},
{
x: 4.162223,
y: -18.59148
},
{
x: 4.250014,
y: -18.600127
},
{
x: 4.337805,
y: -18.59148
},
{
x: 4.422222,
y: -18.565873
},
{
x: 4.500021,
y: -18.524288
},
{
x: 4.568212,
y: -18.468325
},
{
x: 4.624175,
y: -18.400134
},
{
x: 4.66576,
y: -18.322335
},
{
x: 4.691367,
y: -18.237918
},
{
x: 4.700014,
y: -18.150127
},
{
x: 4.691367,
y: -18.062336
},
{
x: 4.66576,
y: -17.977919
},
{
x: 4.624175,
y: -17.90012
},
{
x: 4.60358,
y: -17.875025
},
{
x: 6.136156,
y: -17.875025
},
{
x: 6.905542,
y: -18.644411
},
{
x: 6.900064,
y: -18.700025
},
{
x: 6.908711,
y: -18.787816
},
{
x: 6.934318,
y: -18.872233
},
{
x: 6.975903,
y: -18.950032
},
{
x: 7.031866,
y: -19.018223
},
{
x: 7.100057,
y: -19.074186
},
{
x: 7.177856,
y: -19.115771
},
{
x: 7.262273,
y: -19.141378
},
{
x: 7.350064,
y: -19.150025
},
{
x: 7.437855,
y: -19.141378
},
{
x: 7.522272,
y: -19.115771
},
{
x: 7.600071,
y: -19.074186
},
{
x: 7.668262,
y: -19.018223
},
{
x: 7.724225,
y: -18.950032
},
{
x: 7.76581,
y: -18.872233
},
{
x: 7.791417,
y: -18.787816
},
{
x: 7.800064,
y: -18.700025
},
{
x: 7.791417,
y: -18.612234
},
{
x: 7.76581,
y: -18.527817
},
{
x: 7.724225,
y: -18.450018
},
{
x: 7.668262,
y: -18.381827
},
{
x: 7.600071,
y: -18.325864
},
{
x: 7.522272,
y: -18.284279
},
{
x: 7.437855,
y: -18.258672
},
{
x: 7.350064,
y: -18.250025
},
{
x: 7.29445,
y: -18.255503
},
{
x: 6.444518,
y: -17.405571
},
{
x: 6.402846,
y: -17.371371
},
{
x: 6.355302,
y: -17.345958
},
{
x: 6.303714,
y: -17.330309
},
{
x: 6.250064,
y: -17.325025
},
{
x: 4.976659,
y: -17.325025
},
{
x: 4.987076,
y: -17.316476
},
{
x: 5.562831,
y: -16.740721
},
{
x: 5.632975,
y: -16.719443
},
{
x: 5.715096,
y: -16.675548
},
{
x: 5.716413,
y: -16.674467
},
{
x: 5.732975,
y: -16.669443
},
{
x: 5.815096,
y: -16.625548
},
{
x: 5.887076,
y: -16.566476
},
{
x: 6.535411,
y: -15.918141
},
{
x: 6.615096,
y: -15.875548
},
{
x: 6.687076,
y: -15.816476
},
{
x: 7.847952,
y: -14.6556
},
{
x: 7.8512,
y: -14.6556
},
{
x: 7.943868,
y: -14.646473
},
{
x: 8.032975,
y: -14.619443
},
{
x: 8.115096,
y: -14.575548
},
{
x: 8.139403,
y: -14.5556
},
{
x: 8.2012,
y: -14.5556
},
{
x: 8.274359,
y: -14.548394
},
{
x: 8.344706,
y: -14.527055
},
{
x: 8.409539,
y: -14.492401
},
{
x: 8.426499,
y: -14.478482
},
{
x: 8.448,
y: -14.4806
},
{
x: 8.535791,
y: -14.471953
},
{
x: 8.620208,
y: -14.446346
},
{
x: 8.698007,
y: -14.404761
},
{
x: 8.766198,
y: -14.348798
},
{
x: 8.822161,
y: -14.280607
},
{
x: 8.863746,
y: -14.202808
},
{
x: 8.889353,
y: -14.118391
},
{
x: 8.898,
y: -14.0306
},
{
x: 8.889353,
y: -13.942809
},
{
x: 8.863746,
y: -13.858392
},
{
x: 8.822161,
y: -13.780593
},
{
x: 8.820447,
y: -13.778505
},
{
x: 8.843547,
y: -13.790852
},
{
x: 8.8625,
y: -13.796601
},
{
x: 8.865748,
y: -13.799267
},
{
x: 8.943547,
y: -13.840852
},
{
x: 9.027964,
y: -13.866459
},
{
x: 9.115755,
y: -13.875106
},
{
x: 12.665755,
y: -13.875106
},
{
x: 12.753546,
y: -13.866459
},
{
x: 12.837963,
y: -13.840852
},
{
x: 12.915762,
y: -13.799267
},
{
x: 12.983953,
y: -13.743304
},
{
x: 13.083953,
y: -13.643304
},
{
x: 13.139916,
y: -13.575113
},
{
x: 13.181501,
y: -13.497314
},
{
x: 13.207108,
y: -13.412897
},
{
x: 13.215755,
y: -13.325106
},
{
x: 13.207108,
y: -13.237315
},
{
x: 13.181501,
y: -13.152898
},
{
x: 13.139916,
y: -13.075099
},
{
x: 13.083953,
y: -13.006908
},
{
x: 13.015762,
y: -12.950945
},
{
x: 12.937963,
y: -12.90936
},
{
x: 12.853546,
y: -12.883753
},
{
x: 12.765755,
y: -12.875106
},
{
x: 12.677964,
y: -12.883753
},
{
x: 12.593547,
y: -12.90936
},
{
x: 12.515748,
y: -12.950945
},
{
x: 12.486308,
y: -12.975106
},
{
x: 9.714175,
y: -12.975106
},
{
x: 9.715682,
y: -12.972287
},
{
x: 9.741289,
y: -12.88787
},
{
x: 9.749936,
y: -12.800079
},
{
x: 9.741289,
y: -12.712288
},
{
x: 9.715682,
y: -12.627871
},
{
x: 9.700821,
y: -12.600069
},
{
x: 9.769592,
y: -12.579208
},
{
x: 9.806477,
y: -12.559493
},
{
x: 9.832854,
y: -12.551491
},
{
x: 9.931399,
y: -12.498818
},
{
x: 9.935405,
y: -12.49553
},
{
x: 9.956507,
y: -12.489129
},
{
x: 9.959648,
y: -12.48745
},
{
x: 9.968121,
y: -12.48488
},
{
x: 9.988435,
y: -12.48488
},
{
x: 10.013115,
y: -12.482449
},
{
x: 10.020167,
y: -12.483144
},
{
x: 10.045252,
y: -12.490753
},
{
x: 10.054399,
y: -12.491654
},
{
x: 10.061815,
y: -12.493904
},
{
x: 10.087452,
y: -12.507607
},
{
x: 10.087979,
y: -12.507767
},
{
x: 10.104936,
y: -12.521683
},
{
x: 10.208236,
y: -12.576898
},
{
x: 10.320323,
y: -12.610899
},
{
x: 10.436889,
y: -12.62238
},
{
x: 10.486248,
y: -12.62238
},
{
x: 10.511631,
y: -12.62488
},
{
x: 10.586374,
y: -12.62488
},
{
x: 10.661116,
y: -12.62488
},
{
x: 10.735858,
y: -12.62488
},
{
x: 10.8106,
y: -12.62488
},
{
x: 10.885343,
y: -12.62488
},
{
x: 10.960085,
y: -12.62488
},
{
x: 11.034827,
y: -12.62488
},
{
x: 11.109569,
y: -12.62488
},
{
x: 11.184312,
y: -12.62488
},
{
x: 11.259054,
y: -12.62488
},
{
x: 11.333796,
y: -12.62488
},
{
x: 11.408539,
y: -12.62488
},
{
x: 11.483281,
y: -12.62488
},
{
x: 11.558023,
y: -12.62488
},
{
x: 11.632765,
y: -12.62488
},
{
x: 11.707508,
y: -12.62488
},
{
x: 11.78225,
y: -12.62488
},
{
x: 11.856992,
y: -12.62488
},
{
x: 11.931734,
y: -12.62488
},
{
x: 12.006477,
y: -12.62488
},
{
x: 12.081219,
y: -12.62488
},
{
x: 12.155961,
y: -12.62488
},
{
x: 12.230703,
y: -12.62488
},
{
x: 12.305446,
y: -12.62488
},
{
x: 12.380188,
y: -12.62488
},
{
x: 12.45493,
y: -12.62488
},
{
x: 12.529673,
y: -12.62488
},
{
x: 12.604415,
y: -12.62488
},
{
x: 12.679157,
y: -12.62488
},
{
x: 12.753899,
y: -12.62488
},
{
x: 12.828642,
y: -12.62488
},
{
x: 12.945696,
y: -12.613351
},
{
x: 13.058252,
y: -12.579208
},
{
x: 13.095138,
y: -12.559492
},
{
x: 13.121513,
y: -12.551491
},
{
x: 13.180889,
y: -12.519755
},
{
x: 13.182862,
y: -12.519156
},
{
x: 13.216616,
y: -12.501114
},
{
x: 13.222229,
y: -12.500561
},
{
x: 13.247314,
y: -12.492952
},
{
x: 13.253119,
y: -12.49238
},
{
x: 13.275689,
y: -12.49238
},
{
x: 13.304597,
y: -12.495227
},
{
x: 13.306153,
y: -12.496059
},
{
x: 13.332532,
y: -12.504061
},
{
x: 13.369415,
y: -12.523775
},
{
x: 13.371387,
y: -12.524373
},
{
x: 13.430764,
y: -12.556111
},
{
x: 13.48155,
y: -12.571517
},
{
x: 13.495939,
y: -12.579208
},
{
x: 13.608495,
y: -12.613351
},
{
x: 13.725549,
y: -12.62488
},
{
x: 13.800291,
y: -12.62488
},
{
x: 13.875033,
y: -12.62488
},
{
x: 13.949776,
y: -12.62488
},
{
x: 14.024518,
y: -12.62488
},
{
x: 14.09926,
y: -12.62488
},
{
x: 14.174002,
y: -12.62488
},
{
x: 14.248745,
y: -12.62488
},
{
x: 14.323487,
y: -12.62488
},
{
x: 14.398229,
y: -12.62488
},
{
x: 14.472971,
y: -12.62488
},
{
x: 14.547714,
y: -12.62488
},
{
x: 14.622456,
y: -12.62488
},
{
x: 14.697198,
y: -12.62488
},
{
x: 14.771941,
y: -12.62488
},
{
x: 14.846683,
y: -12.62488
},
{
x: 14.921425,
y: -12.62488
},
{
x: 14.996167,
y: -12.62488
},
{
x: 15.07091,
y: -12.62488
},
{
x: 15.145652,
y: -12.62488
},
{
x: 15.220394,
y: -12.62488
},
{
x: 15.295136,
y: -12.62488
},
{
x: 15.369879,
y: -12.62488
},
{
x: 15.444621,
y: -12.62488
},
{
x: 15.519363,
y: -12.62488
},
{
x: 15.594106,
y: -12.62488
},
{
x: 15.668848,
y: -12.62488
},
{
x: 15.74359,
y: -12.62488
},
{
x: 15.818332,
y: -12.62488
},
{
x: 15.893075,
y: -12.62488
},
{
x: 15.967817,
y: -12.62488
},
{
x: 16.042559,
y: -12.62488
},
{
x: 16.117301,
y: -12.62488
},
{
x: 16.192044,
y: -12.62488
},
{
x: 16.266786,
y: -12.62488
},
{
x: 16.3173,
y: -12.62488
},
{
x: 16.348677,
y: -12.656244
},
{
x: 16.348681,
y: -12.656249
},
{
x: 16.348686,
y: -12.656253
},
{
x: 16.34877,
y: -12.656337
},
{
x: 16.400567,
y: -12.708113
},
{
x: 16.452365,
y: -12.759889
},
{
x: 16.504162,
y: -12.811665
},
{
x: 16.55596,
y: -12.863441
},
{
x: 16.607758,
y: -12.915217
},
{
x: 16.607767,
y: -12.915208
},
{
x: 16.627427,
y: -12.931343
},
{
x: 16.661231,
y: -12.965133
},
{
x: 16.661235,
y: -12.965138
},
{
x: 16.66124,
y: -12.965142
},
{
x: 16.661323,
y: -12.965225
},
{
x: 16.661331,
y: -12.965217
},
{
x: 16.751778,
y: -13.039444
},
{
x: 16.798122,
y: -13.064216
},
{
x: 16.813298,
y: -13.07667
},
{
x: 16.859646,
y: -13.101444
},
{
x: 16.874818,
y: -13.113895
},
{
x: 16.921163,
y: -13.138667
},
{
x: 16.936338,
y: -13.151121
},
{
x: 16.982684,
y: -13.175893
},
{
x: 16.997858,
y: -13.188346
},
{
x: 17.032959,
y: -13.207108
},
{
x: 17.05799,
y: -13.22765
},
{
x: 17.070595,
y: -13.234388
},
{
x: 17.115343,
y: -13.271111
},
{
x: 17.139194,
y: -13.283859
},
{
x: 17.174085,
y: -13.312494
},
{
x: 17.186689,
y: -13.319231
},
{
x: 17.231439,
y: -13.355956
},
{
x: 17.244044,
y: -13.362693
},
{
x: 17.257088,
y: -13.373398
},
{
x: 17.272971,
y: -13.389275
},
{
x: 17.272978,
y: -13.389268
},
{
x: 17.292663,
y: -13.405424
},
{
x: 17.326464,
y: -13.439211
},
{
x: 17.326468,
y: -13.439216
},
{
x: 17.326473,
y: -13.43922
},
{
x: 17.326536,
y: -13.439283
},
{
x: 17.326542,
y: -13.439277
},
{
x: 17.346231,
y: -13.455435
},
{
x: 17.380101,
y: -13.489291
},
{
x: 17.380108,
y: -13.489284
},
{
x: 17.419554,
y: -13.521657
},
{
x: 17.435434,
y: -13.537531
},
{
x: 17.469252,
y: -13.571335
},
{
x: 17.485397,
y: -13.591008
},
{
x: 17.485471,
y: -13.591069
},
{
x: 17.485464,
y: -13.591076
},
{
x: 17.519287,
y: -13.624885
},
{
x: 17.535427,
y: -13.644552
},
{
x: 17.535501,
y: -13.644613
},
{
x: 17.535494,
y: -13.64462
},
{
x: 17.551398,
y: -13.660517
},
{
x: 17.583689,
y: -13.699864
},
{
x: 17.583764,
y: -13.699925
},
{
x: 17.583757,
y: -13.699932
},
{
x: 17.617567,
y: -13.733728
},
{
x: 17.620488,
y: -13.737286
},
{
x: 17.62114,
y: -13.738507
},
{
x: 17.644141,
y: -13.766533
},
{
x: 17.645556,
y: -13.769181
},
{
x: 17.644269,
y: -13.770204
},
{
x: 17.663504,
y: -13.7944
},
{
x: 17.700228,
y: -13.844116
},
{
x: 17.741958,
y: -13.900609
},
{
x: 17.775404,
y: -13.945889
},
{
x: 17.790298,
y: -13.968747
},
{
x: 17.826012,
y: -14.023652
},
{
x: 17.836291,
y: -14.040073
},
{
x: 17.839083,
y: -14.045297
},
{
x: 17.837437,
y: -14.046265
},
{
x: 17.872348,
y: -14.105663
},
{
x: 17.873994,
y: -14.104696
},
{
x: 17.886983,
y: -14.128996
},
{
x: 17.893954,
y: -14.137491
},
{
x: 17.906033,
y: -14.158041
},
{
x: 17.92403,
y: -14.190734
},
{
x: 17.926002,
y: -14.189649
},
{
x: 17.932522,
y: -14.201848
},
{
x: 17.933026,
y: -14.203508
},
{
x: 17.945771,
y: -14.227353
},
{
x: 17.948396,
y: -14.236005
},
{
x: 17.948035,
y: -14.236187
},
{
x: 17.949074,
y: -14.23824
},
{
x: 17.950972,
y: -14.244498
},
{
x: 17.964117,
y: -14.26909
},
{
x: 17.962386,
y: -14.269928
},
{
x: 17.989104,
y: -14.325086
},
{
x: 18.005664,
y: -14.361531
},
{
x: 18.006858,
y: -14.360988
},
{
x: 18.015559,
y: -14.377267
},
{
x: 18.026928,
y: -14.40229
},
{
x: 18.028117,
y: -14.40175
},
{
x: 18.033708,
y: -14.41221
},
{
x: 18.039765,
y: -14.426457
},
{
x: 18.045338,
y: -14.44483
},
{
x: 18.044997,
y: -14.444968
},
{
x: 18.060999,
y: -14.484513
},
{
x: 18.075719,
y: -14.522785
},
{
x: 18.078116,
y: -14.530686
},
{
x: 18.076463,
y: -14.531275
},
{
x: 18.092413,
y: -14.576027
},
{
x: 18.108364,
y: -14.620779
},
{
x: 18.110017,
y: -14.62019
},
{
x: 18.116997,
y: -14.643201
},
{
x: 18.120176,
y: -14.649149
},
{
x: 18.126838,
y: -14.6694
},
{
x: 18.128889,
y: -14.668725
},
{
x: 18.131864,
y: -14.678535
},
{
x: 18.145147,
y: -14.7238
},
{
x: 18.149048,
y: -14.737095
},
{
x: 18.150684,
y: -14.753703
},
{
x: 18.15859,
y: -14.779765
},
{
x: 18.156754,
y: -14.78024
},
{
x: 18.172207,
y: -14.839919
},
{
x: 18.174043,
y: -14.839444
},
{
x: 18.175437,
y: -14.844039
},
{
x: 18.18722,
y: -14.896506
},
{
x: 18.203434,
y: -14.968703
},
{
x: 18.204413,
y: -14.968483
},
{
x: 18.20786,
y: -14.979848
},
{
x: 18.209419,
y: -14.988003
},
{
x: 18.209533,
y: -14.989163
},
{
x: 18.207699,
y: -14.989423
},
{
x: 18.216478,
y: -15.051263
},
{
x: 18.225257,
y: -15.113103
},
{
x: 18.234036,
y: -15.174943
},
{
x: 18.242816,
y: -15.236783
},
{
x: 18.24465,
y: -15.236523
},
{
x: 18.247227,
y: -15.262686
},
{
x: 18.249592,
y: -15.270484
},
{
x: 18.254529,
y: -15.320609
},
{
x: 18.283694,
y: -15.416751
},
{
x: 18.331054,
y: -15.505355
},
{
x: 18.372426,
y: -15.555767
},
{
x: 18.370731,
y: -15.557244
},
{
x: 18.414813,
y: -15.607851
},
{
x: 18.416508,
y: -15.606375
},
{
x: 18.438872,
y: -15.633626
},
{
x: 18.516534,
y: -15.697361
},
{
x: 18.522341,
y: -15.700465
},
{
x: 18.539032,
y: -15.714163
},
{
x: 18.542945,
y: -15.718931
},
{
x: 18.549179,
y: -15.724047
},
{
x: 18.565909,
y: -15.743254
},
{
x: 18.565985,
y: -15.743342
},
{
x: 18.568092,
y: -15.747283
},
{
x: 18.584577,
y: -15.767369
},
{
x: 18.60386,
y: -15.803446
},
{
x: 18.644424,
y: -15.852874
},
{
x: 18.642762,
y: -15.854322
},
{
x: 18.686844,
y: -15.90493
},
{
x: 18.688506,
y: -15.903482
},
{
x: 18.710434,
y: -15.930201
},
{
x: 18.786581,
y: -15.992693
},
{
x: 18.873457,
y: -16.039129
},
{
x: 18.9372,
y: -16.058466
},
{
x: 18.977283,
y: -16.079891
},
{
x: 19.069673,
y: -16.107917
},
{
x: 19.165755,
y: -16.11738
},
{
x: 19.234505,
y: -16.11738
},
{
x: 19.330587,
y: -16.107917
},
{
x: 19.382961,
y: -16.09203
},
{
x: 19.395923,
y: -16.090753
},
{
x: 19.423525,
y: -16.08238
},
{
x: 19.440755,
y: -16.08238
},
{
x: 19.45874,
y: -16.08238
},
{
x: 19.483006,
y: -16.08477
},
{
x: 19.486563,
y: -16.085849
},
{
x: 19.499526,
y: -16.087126
},
{
x: 19.551898,
y: -16.103013
},
{
x: 19.647005,
y: -16.11238
},
{
x: 19.715755,
y: -16.11238
},
{
x: 19.810862,
y: -16.103013
},
{
x: 19.902313,
y: -16.075271
},
{
x: 19.95364,
y: -16.047836
},
{
x: 19.97408,
y: -16.041635
},
{
x: 20.01769,
y: -16.03734
},
{
x: 20.115707,
y: -16.007607
},
{
x: 20.20604,
y: -15.959323
},
{
x: 20.285218,
y: -15.894343
},
{
x: 20.335218,
y: -15.844343
},
{
x: 20.385218,
y: -15.794343
},
{
x: 20.450198,
y: -15.715165
},
{
x: 20.498482,
y: -15.624832
},
{
x: 20.528215,
y: -15.526815
},
{
x: 20.53251,
y: -15.483205
},
{
x: 20.542412,
y: -15.450565
},
{
x: 20.563837,
y: -15.410481
},
{
x: 20.591436,
y: -15.319499
},
{
x: 20.600755,
y: -15.22488
},
{
x: 20.600755,
y: -15.150237
},
{
x: 20.591436,
y: -15.055618
},
{
x: 20.58011,
y: -15.018281
},
{
x: 20.576724,
y: -14.983902
},
{
x: 20.575755,
y: -14.980708
},
{
x: 20.575755,
y: -14.926309
},
{
x: 20.575755,
y: -14.851666
},
{
x: 20.575755,
y: -14.777023
},
{
x: 20.575755,
y: -14.70238
},
{
x: 20.575755,
y: -14.678502
},
{
x: 20.576368,
y: -14.672275
},
{
x: 20.577695,
y: -14.669793
},
{
x: 20.606148,
y: -14.575997
},
{
x: 20.608284,
y: -14.554305
},
{
x: 20.623311,
y: -14.504768
},
{
x: 20.626697,
y: -14.470387
},
{
x: 20.626759,
y: -14.470184
},
{
x: 20.628508,
y: -14.466912
},
{
x: 20.660091,
y: -14.362798
},
{
x: 20.663477,
y: -14.328417
},
{
x: 20.674803,
y: -14.291081
},
{
x: 20.676939,
y: -14.269389
},
{
x: 20.691966,
y: -14.219853
},
{
x: 20.696602,
y: -14.17278
},
{
x: 20.704226,
y: -14.147648
},
{
x: 20.715755,
y: -14.030594
},
{
x: 20.715755,
y: -13.955951
},
{
x: 20.715755,
y: -13.881309
},
{
x: 20.715755,
y: -13.806666
},
{
x: 20.715755,
y: -13.732023
},
{
x: 20.715755,
y: -13.65738
},
{
x: 20.715755,
y: -13.582737
},
{
x: 20.715755,
y: -13.508094
},
{
x: 20.715755,
y: -13.433451
},
{
x: 20.715755,
y: -13.358809
},
{
x: 20.715755,
y: -13.284166
},
{
x: 20.715755,
y: -13.209523
},
{
x: 20.715755,
y: -13.13488
},
{
x: 20.715755,
y: -13.060237
},
{
x: 20.715755,
y: -12.985594
},
{
x: 20.715755,
y: -12.910951
},
{
x: 20.715755,
y: -12.836309
},
{
x: 20.715755,
y: -12.761666
},
{
x: 20.715755,
y: -12.687023
},
{
x: 20.715755,
y: -12.61238
},
{
x: 20.715755,
y: -12.537737
},
{
x: 20.715755,
y: -12.463094
},
{
x: 20.715755,
y: -12.388451
},
{
x: 20.715755,
y: -12.313809
},
{
x: 20.715755,
y: -12.239166
},
{
x: 20.715755,
y: -12.164523
},
{
x: 20.715755,
y: -12.08988
},
{
x: 20.715755,
y: -12.015237
},
{
x: 20.715755,
y: -11.940594
},
{
x: 20.715755,
y: -11.865951
},
{
x: 20.715755,
y: -11.791309
},
{
x: 20.715755,
y: -11.716666
},
{
x: 20.715755,
y: -11.642023
},
{
x: 20.715755,
y: -11.56738
},
{
x: 20.715755,
y: -11.492737
},
{
x: 20.715755,
y: -11.418094
},
{
x: 20.715755,
y: -11.343451
},
{
x: 20.715755,
y: -11.268809
},
{
x: 20.715755,
y: -11.194166
},
{
x: 20.715755,
y: -11.119523
},
{
x: 20.715755,
y: -11.04488
},
{
x: 20.715755,
y: -10.970237
},
{
x: 20.715755,
y: -10.895594
},
{
x: 20.715755,
y: -10.820951
},
{
x: 20.715755,
y: -10.746309
},
{
x: 20.715755,
y: -10.671666
},
{
x: 20.715755,
y: -10.597023
},
{
x: 20.715755,
y: -10.52238
},
{
x: 20.715755,
y: -10.447737
},
{
x: 20.715755,
y: -10.373094
},
{
x: 20.715755,
y: -10.298451
},
{
x: 20.715755,
y: -10.223809
},
{
x: 20.715755,
y: -10.149166
},
{
x: 20.715755,
y: -10.074523
},
{
x: 20.715755,
y: -9.99988
},
{
x: 20.715755,
y: -9.925237
},
{
x: 20.715755,
y: -9.850594
},
{
x: 20.715755,
y: -9.775951
},
{
x: 20.715755,
y: -9.701309
},
{
x: 20.715755,
y: -9.626666
},
{
x: 20.715755,
y: -9.552023
},
{
x: 20.715755,
y: -9.47738
},
{
x: 20.715755,
y: -9.402737
},
{
x: 20.715755,
y: -9.328094
},
{
x: 20.715755,
y: -9.253451
},
{
x: 20.715755,
y: -9.178809
},
{
x: 20.715755,
y: -9.104166
},
{
x: 20.715755,
y: -9.029523
},
{
x: 20.715755,
y: -8.95488
},
{
x: 20.715755,
y: -8.880237
},
{
x: 20.715755,
y: -8.805594
},
{
x: 20.715755,
y: -8.730951
},
{
x: 20.715755,
y: -8.656309
},
{
x: 20.715755,
y: -8.581666
},
{
x: 20.715755,
y: -8.507023
},
{
x: 20.715755,
y: -8.43238
},
{
x: 20.715755,
y: -8.357737
},
{
x: 20.715755,
y: -8.283094
},
{
x: 20.715755,
y: -8.208451
},
{
x: 20.715755,
y: -8.133809
},
{
x: 20.715755,
y: -8.059166
},
{
x: 20.715755,
y: -7.984523
},
{
x: 20.715755,
y: -7.90988
},
{
x: 20.715755,
y: -7.835237
},
{
x: 20.715755,
y: -7.760594
},
{
x: 20.715755,
y: -7.685951
},
{
x: 20.715755,
y: -7.611309
},
{
x: 20.715755,
y: -7.536666
},
{
x: 20.715755,
y: -7.462023
},
{
x: 20.715755,
y: -7.38738
},
{
x: 20.715755,
y: -7.312737
},
{
x: 20.715755,
y: -7.238094
},
{
x: 20.715755,
y: -7.163451
},
{
x: 20.715755,
y: -7.088809
},
{
x: 20.715755,
y: -7.014166
},
{
x: 20.715755,
y: -6.939523
},
{
x: 20.715755,
y: -6.86488
},
{
x: 20.715755,
y: -6.790237
},
{
x: 20.715755,
y: -6.715594
},
{
x: 20.715755,
y: -6.640951
},
{
x: 20.715755,
y: -6.566309
},
{
x: 20.715755,
y: -6.491666
},
{
x: 20.715755,
y: -6.417023
},
{
x: 20.715755,
y: -6.34238
},
{
x: 20.715755,
y: -6.267737
},
{
x: 20.715755,
y: -6.193094
},
{
x: 20.715755,
y: -6.118451
},
{
x: 20.715755,
y: -6.043809
},
{
x: 20.715755,
y: -5.969166
},
{
x: 20.715755,
y: -5.894523
},
{
x: 20.715755,
y: -5.81988
},
{
x: 20.715755,
y: -5.745237
},
{
x: 20.715755,
y: -5.670594
},
{
x: 20.715755,
y: -5.595951
},
{
x: 20.715755,
y: -5.521309
},
{
x: 20.715755,
y: -5.446666
},
{
x: 20.715755,
y: -5.372023
},
{
x: 20.715755,
y: -5.29738
},
{
x: 20.715755,
y: -5.222737
},
{
x: 20.715755,
y: -5.148094
},
{
x: 20.715755,
y: -5.073451
},
{
x: 20.715755,
y: -4.998809
},
{
x: 20.715755,
y: -4.924166
},
{
x: 20.715755,
y: -4.849523
},
{
x: 20.715755,
y: -4.77488
},
{
x: 20.704226,
y: -4.657826
},
{
x: 20.670083,
y: -4.54527
},
{
x: 20.614637,
y: -4.441538
},
{
x: 20.540019,
y: -4.350616
},
{
x: 20.486989,
y: -4.297586
},
{
x: 20.433958,
y: -4.244555
},
{
x: 20.380928,
y: -4.191525
},
{
x: 20.327898,
y: -4.138495
},
{
x: 20.274868,
y: -4.085464
},
{
x: 20.221837,
y: -4.032434
},
{
x: 20.168807,
y: -3.979404
},
{
x: 20.115777,
y: -3.926374
},
{
x: 20.062746,
y: -3.873343
},
{
x: 20.009716,
y: -3.820313
},
{
x: 19.956686,
y: -3.767283
},
{
x: 19.903655,
y: -3.714252
},
{
x: 19.850625,
y: -3.661222
},
{
x: 19.797595,
y: -3.608192
},
{
x: 19.744565,
y: -3.555161
},
{
x: 19.691534,
y: -3.502131
},
{
x: 19.638504,
y: -3.449101
},
{
x: 19.585474,
y: -3.39607
},
{
x: 19.532443,
y: -3.34304
},
{
x: 19.479413,
y: -3.29001
},
{
x: 19.426383,
y: -3.23698
},
{
x: 19.373352,
y: -3.183949
},
{
x: 19.320322,
y: -3.130919
},
{
x: 19.267292,
y: -3.077889
},
{
x: 19.214261,
y: -3.024858
},
{
x: 19.161231,
y: -2.971828
},
{
x: 19.108201,
y: -2.918798
},
{
x: 19.055171,
y: -2.865767
},
{
x: 19.00214,
y: -2.812737
},
{
x: 18.94911,
y: -2.759707
},
{
x: 18.89608,
y: -2.706677
},
{
x: 18.843049,
y: -2.653646
},
{
x: 18.790019,
y: -2.600616
},
{
x: 18.737936,
y: -2.548533
},
{
x: 18.685852,
y: -2.496449
},
{
x: 18.633769,
y: -2.444366
},
{
x: 18.581686,
y: -2.392283
},
{
x: 18.529602,
y: -2.340199
},
{
x: 18.477519,
y: -2.288116
},
{
x: 18.425436,
y: -2.236033
},
{
x: 18.373352,
y: -2.183949
},
{
x: 18.321269,
y: -2.131866
},
{
x: 18.269186,
y: -2.079783
},
{
x: 18.217102,
y: -2.027699
},
{
x: 18.165019,
y: -1.975616
},
{
x: 18.112936,
y: -1.923533
},
{
x: 18.060852,
y: -1.871449
},
{
x: 18.044697,
y: -1.855294
},
{
x: 18.059628,
y: -1.806072
},
{
x: 18.075,
y: -1.65
},
{
x: 18.059628,
y: -1.493928
},
{
x: 18.014104,
y: -1.343853
},
{
x: 17.940176,
y: -1.205544
},
{
x: 17.840685,
y: -1.084315
},
{
x: 17.719456,
y: -0.984824
},
{
x: 17.581147,
y: -0.910896
},
{
x: 17.431072,
y: -0.865372
},
{
x: 17.275,
y: -0.85
},
{
x: 16.725,
y: -0.85
},
{
x: 16.568928,
y: -0.865372
},
{
x: 16.418853,
y: -0.910896
},
{
x: 16.280544,
y: -0.984824
},
{
x: 16.159315,
y: -1.084315
},
{
x: 16.059824,
y: -1.205544
},
{
x: 15.985896,
y: -1.343853
},
{
x: 15.940372,
y: -1.493928
},
{
x: 15.925,
y: -1.65
},
{
x: 15.940372,
y: -1.806072
},
{
x: 15.985896,
y: -1.956147
},
{
x: 16.059824,
y: -2.094456
},
{
x: 16.159315,
y: -2.215685
},
{
x: 16.280544,
y: -2.315176
},
{
x: 16.418853,
y: -2.389104
},
{
x: 16.568928,
y: -2.434628
},
{
x: 16.725,
y: -2.45
},
{
x: 16.942347,
y: -2.45
},
{
x: 16.951908,
y: -2.459561
},
{
x: 17.003991,
y: -2.511644
},
{
x: 17.056074,
y: -2.563727
},
{
x: 17.108158,
y: -2.615811
},
{
x: 17.160241,
y: -2.667894
},
{
x: 17.212324,
y: -2.719977
},
{
x: 17.264408,
y: -2.772061
},
{
x: 17.316491,
y: -2.824144
},
{
x: 17.349705,
y: -2.857358
},
{
x: 17.275,
y: -2.85
},
{
x: 16.725,
y: -2.85
},
{
x: 16.568928,
y: -2.865372
},
{
x: 16.418853,
y: -2.910896
},
{
x: 16.280544,
y: -2.984824
},
{
x: 16.159315,
y: -3.084315
},
{
x: 16.059824,
y: -3.205544
},
{
x: 15.985896,
y: -3.343853
},
{
x: 15.940372,
y: -3.493928
},
{
x: 15.925,
y: -3.65
},
{
x: 15.940372,
y: -3.806072
},
{
x: 15.985896,
y: -3.956147
},
{
x: 16.059824,
y: -4.094456
},
{
x: 16.146443,
y: -4.2
},
{
x: 15.71368,
y: -4.2
},
{
x: 15.691342,
y: -4.18806
},
{
x: 15.597545,
y: -4.159607
},
{
x: 15.5,
y: -4.15
},
{
x: 15.402455,
y: -4.159607
},
{
x: 15.356045,
y: -4.173685
},
{
x: 12.596927,
y: -4.196714
},
{
x: 12.553546,
y: -4.183555
},
{
x: 12.465755,
y: -4.174908
},
{
x: 12.117421,
y: -4.174908
},
{
x: 12.087963,
y: -4.159162
},
{
x: 12.003546,
y: -4.133555
},
{
x: 11.915755,
y: -4.124908
},
{
x: 8.364409,
y: -4.124908
},
{
x: 8.36581,
y: -4.122287
},
{
x: 8.391417,
y: -4.03787
},
{
x: 8.400064,
y: -3.950079
},
{
x: 8.391417,
y: -3.862288
},
{
x: 8.36581,
y: -3.777871
},
{
x: 8.324225,
y: -3.700072
},
{
x: 8.268262,
y: -3.631881
},
{
x: 8.200071,
y: -3.575918
},
{
x: 8.122272,
y: -3.534333
},
{
x: 8.037855,
y: -3.508726
},
{
x: 7.950064,
y: -3.500079
},
{
x: 7.862273,
y: -3.508726
},
{
x: 7.777856,
y: -3.534333
},
{
x: 7.700057,
y: -3.575918
},
{
x: 7.631866,
y: -3.631881
},
{
x: 7.575903,
y: -3.700072
},
{
x: 7.534318,
y: -3.777871
},
{
x: 7.508711,
y: -3.862288
},
{
x: 7.500064,
y: -3.950079
},
{
x: 7.508711,
y: -4.03787
},
{
x: 7.529805,
y: -4.107408
},
{
x: 7.015755,
y: -4.107408
},
{
x: 6.92455,
y: -4.116391
},
{
x: 6.83685,
y: -4.142994
},
{
x: 6.756026,
y: -4.186196
},
{
x: 6.685183,
y: -4.244336
},
{
x: 6.627043,
y: -4.315179
},
{
x: 6.583841,
y: -4.396003
},
{
x: 6.557238,
y: -4.483703
},
{
x: 6.548255,
y: -4.574908
},
{
x: 6.557238,
y: -4.666113
},
{
x: 6.583841,
y: -4.753813
},
{
x: 6.627043,
y: -4.834637
},
{
x: 6.639651,
y: -4.85
},
{
x: 3.1375,
y: -4.85
},
{
x: 3.039955,
y: -4.859607
},
{
x: 2.946158,
y: -4.88806
},
{
x: 2.859715,
y: -4.934265
},
{
x: 2.783947,
y: -4.996447
},
{
x: 2.721765,
y: -5.072215
},
{
x: 2.67556,
y: -5.158658
},
{
x: 2.647107,
y: -5.252455
},
{
x: 2.6375,
y: -5.35
},
{
x: 2.647107,
y: -5.447545
},
{
x: 2.67556,
y: -5.541342
},
{
x: 2.721765,
y: -5.627785
},
{
x: 2.783947,
y: -5.703553
},
{
x: 2.859715,
y: -5.765735
},
{
x: 2.946158,
y: -5.81194
},
{
x: 3.039955,
y: -5.840393
},
{
x: 3.1375,
y: -5.85
},
{
x: 8.00866,
y: -5.85
},
{
x: 7.975839,
y: -5.889993
},
{
x: 7.934254,
y: -5.967792
},
{
x: 7.908647,
y: -6.052209
},
{
x: 7.9,
y: -6.14
},
{
x: 7.908647,
y: -6.227791
},
{
x: 7.932027,
y: -6.304866
},
{
x: 7.890755,
y: -6.304866
},
{
x: 7.815755,
y: -6.304866
},
{
x: 7.740755,
y: -6.304866
},
{
x: 7.665755,
y: -6.304866
},
{
x: 7.590755,
y: -6.304866
},
{
x: 7.515755,
y: -6.304866
},
{
x: 7.440755,
y: -6.304866
},
{
x: 7.365755,
y: -6.304866
},
{
x: 7.290755,
y: -6.304866
},
{
x: 7.215755,
y: -6.304866
},
{
x: 7.206392,
y: -6.304866
},
{
x: 7.192746,
y: -6.297572
},
{
x: 7.150354,
y: -6.284713
},
{
x: 7.148486,
y: -6.283714
},
{
x: 7.096947,
y: -6.268079
},
{
x: 7.082298,
y: -6.260249
},
{
x: 7.069264,
y: -6.249553
},
{
x: 7.055166,
y: -6.235455
},
{
x: 7.041068,
y: -6.221357
},
{
x: 7.034629,
y: -6.213512
},
{
x: 7.027332,
y: -6.199859
},
{
x: 6.965773,
y: -6.124848
},
{
x: 6.890762,
y: -6.063289
},
{
x: 6.805183,
y: -6.017546
},
{
x: 6.712325,
y: -5.989377
},
{
x: 6.615755,
y: -5.979866
},
{
x: 6.596523,
y: -5.979866
},
{
x: 6.545755,
y: -5.974866
},
{
x: 6.475755,
y: -5.974866
},
{
x: 6.405755,
y: -5.974866
},
{
x: 6.335755,
y: -5.974866
},
{
x: 6.265755,
y: -5.974866
},
{
x: 6.195755,
y: -5.974866
},
{
x: 6.125755,
y: -5.974866
},
{
x: 6.055755,
y: -5.974866
},
{
x: 5.985755,
y: -5.974866
},
{
x: 5.88821,
y: -5.984473
},
{
x: 5.794413,
y: -6.012926
},
{
x: 5.7738,
y: -6.023944
},
{
x: 5.73398,
y: -6.036023
},
{
x: 5.651859,
y: -6.079918
},
{
x: 5.579879,
y: -6.13899
},
{
x: 5.520807,
y: -6.21097
},
{
x: 5.477638,
y: -6.291732
},
{
x: 5.282353,
y: -6.096447
},
{
x: 5.206585,
y: -6.034265
},
{
x: 5.120142,
y: -5.98806
},
{
x: 5.026345,
y: -5.959607
},
{
x: 4.9288,
y: -5.95
},
{
x: 4.831255,
y: -5.959607
},
{
x: 4.737458,
y: -5.98806
},
{
x: 4.651015,
y: -6.034265
},
{
x: 4.575247,
y: -6.096447
},
{
x: 4.559072,
y: -6.116156
},
{
x: 4.370228,
y: -6.305
},
{
x: 3.0288,
y: -6.305
},
{
x: 2.93223,
y: -6.314511
},
{
x: 2.839372,
y: -6.34268
},
{
x: 2.774929,
y: -6.377126
},
{
x: 2.693199,
y: -6.401918
},
{
x: 2.609348,
y: -6.446737
},
{
x: 2.571625,
y: -6.477696
},
{
x: 2.537458,
y: -6.48806
},
{
x: 2.451015,
y: -6.534265
},
{
x: 2.375247,
y: -6.596447
},
{
x: 2.066694,
y: -6.905
},
{
x: 1.928566,
y: -6.905
},
{
x: 1.948953,
y: -6.837791
},
{
x: 1.9576,
y: -6.75
},
{
x: 1.948953,
y: -6.662209
},
{
x: 1.923346,
y: -6.577792
},
{
x: 1.881761,
y: -6.499993
},
{
x: 1.825798,
y: -6.431802
},
{
x: 1.757607,
y: -6.375839
},
{
x: 1.679808,
y: -6.334254
},
{
x: 1.668864,
y: -6.330934
},
{
x: 1.022765,
y: -5.684835
},
{
x: 0.965939,
y: -5.638199
},
{
x: 0.901106,
y: -5.603545
},
{
x: 0.830759,
y: -5.582206
},
{
x: 0.7576,
y: -5.575
},
{
x: 0.3326,
y: -5.575
},
{
x: 0.3326,
y: -5.45
},
{
x: 0.325394,
y: -5.376841
},
{
x: 0.304055,
y: -5.306494
},
{
x: 0.269401,
y: -5.241661
},
{
x: 0.222765,
y: -5.184835
},
{
x: -0.145713,
y: -4.816357
},
{
x: -0.152007,
y: -4.752455
},
{
x: -0.18046,
y: -4.658658
},
{
x: -0.226665,
y: -4.572215
},
{
x: -0.288847,
y: -4.496447
},
{
x: -0.988847,
y: -3.796447
},
{
x: -1.064615,
y: -3.734265
},
{
x: -1.151058,
y: -3.68806
},
{
x: -1.244855,
y: -3.659607
},
{
x: -1.3424,
y: -3.65
},
{
x: -2.02872,
y: -3.65
},
{
x: -2.051058,
y: -3.63806
},
{
x: -2.065988,
y: -3.633531
},
{
x: -2.105051,
y: -3.612651
},
{
x: -2.125931,
y: -3.573588
},
{
x: -2.13046,
y: -3.558658
},
{
x: -2.150088,
y: -3.521936
},
{
x: -2.152007,
y: -3.502455
},
{
x: -2.18046,
y: -3.408658
},
{
x: -2.1924,
y: -3.38632
},
{
x: -2.1924,
y: -1.45
},
{
x: -2.202007,
y: -1.352455
},
{
x: -2.23046,
y: -1.258658
},
{
x: -2.276665,
y: -1.172215
},
{
x: -2.338847,
y: -1.096447
},
{
x: -4.4424,
y: 1.007106
},
{
x: -4.4424,
y: 1.4
},
{
x: -4.452007,
y: 1.497545
},
{
x: -4.48046,
y: 1.591342
},
{
x: -4.526665,
y: 1.677785
},
{
x: -4.588847,
y: 1.753553
},
{
x: -5.047191,
y: 2.211897
},
{
x: -5.02788,
y: 2.217755
},
{
x: -4.950081,
y: 2.25934
},
{
x: -4.88189,
y: 2.315303
},
{
x: -4.825927,
y: 2.383494
},
{
x: -4.784342,
y: 2.461293
},
{
x: -4.758735,
y: 2.54571
},
{
x: -4.750088,
y: 2.633501
},
{
x: -4.758735,
y: 2.721292
},
{
x: -4.784342,
y: 2.805709
},
{
x: -4.825927,
y: 2.883508
},
{
x: -4.88189,
y: 2.951699
},
{
x: -4.950081,
y: 3.007662
},
{
x: -5.02788,
y: 3.049247
},
{
x: -5.112297,
y: 3.074854
},
{
x: -5.200088,
y: 3.083501
},
{
x: -5.287879,
y: 3.074854
},
{
x: -5.372296,
y: 3.049247
},
{
x: -5.450095,
y: 3.007662
},
{
x: -5.518286,
y: 2.951699
},
{
x: -5.574249,
y: 2.883508
},
{
x: -5.615834,
y: 2.805709
},
{
x: -5.621692,
y: 2.786398
},
{
x: -5.700903,
y: 2.865609
},
{
x: -5.634993,
y: 2.900839
},
{
x: -5.566802,
y: 2.956802
},
{
x: -5.510839,
y: 3.024993
},
{
x: -5.469254,
y: 3.102792
},
{
x: -5.443647,
y: 3.187209
},
{
x: -5.435,
y: 3.275
},
{
x: -5.443647,
y: 3.362791
},
{
x: -5.469254,
y: 3.447208
},
{
x: -5.510839,
y: 3.525007
},
{
x: -5.566802,
y: 3.593198
},
{
x: -5.634993,
y: 3.649161
},
{
x: -5.712792,
y: 3.690746
},
{
x: -5.797209,
y: 3.716353
},
{
x: -5.885,
y: 3.725
},
{
x: -5.972791,
y: 3.716353
},
{
x: -6.027714,
y: 3.699693
},
{
x: -6.00875,
y: 3.762209
},
{
x: -6.000103,
y: 3.85
},
{
x: -6.00875,
y: 3.937791
},
{
x: -6.034357,
y: 4.022208
},
{
x: -6.035849,
y: 4.025
},
{
x: -1.774254,
y: 4.025
},
{
x: -1.775746,
y: 4.022208
},
{
x: -1.801353,
y: 3.937791
},
{
x: -1.808017,
y: 3.870137
},
{
x: -1.810537,
y: 3.870902
},
{
x: -1.905,
y: 3.880206
},
{
x: -1.999463,
y: 3.870902
},
{
x: -2.090296,
y: 3.843348
},
{
x: -2.174007,
y: 3.798603
},
{
x: -2.247382,
y: 3.738387
},
{
x: -2.307598,
y: 3.665013
},
{
x: -2.352343,
y: 3.581301
},
{
x: -2.379897,
y: 3.490468
},
{
x: -2.389201,
y: 3.396005
},
{
x: -2.389201,
y: 2.703136
},
{
x: -2.412792,
y: 2.715746
},
{
x: -2.497209,
y: 2.741353
},
{
x: -2.585,
y: 2.75
},
{
x: -2.672791,
y: 2.741353
},
{
x: -2.757208,
y: 2.715746
},
{
x: -2.835007,
y: 2.674161
},
{
x: -2.903198,
y: 2.618198
},
{
x: -2.959161,
y: 2.550007
},
{
x: -3.000746,
y: 2.472208
},
{
x: -3.026353,
y: 2.387791
},
{
x: -3.035,
y: 2.3
},
{
x: -3.026353,
y: 2.212209
},
{
x: -3.000746,
y: 2.127792
},
{
x: -2.959161,
y: 2.049993
},
{
x: -2.903198,
y: 1.981802
},
{
x: -2.835007,
y: 1.925839
},
{
x: -2.757208,
y: 1.884254
},
{
x: -2.672791,
y: 1.858647
},
{
x: -2.585,
y: 1.85
},
{
x: -2.497209,
y: 1.858647
},
{
x: -2.412792,
y: 1.884254
},
{
x: -2.375226,
y: 1.904334
},
{
x: -2.352343,
y: 1.828899
},
{
x: -2.307598,
y: 1.745187
},
{
x: -2.247382,
y: 1.671813
},
{
x: -2.174007,
y: 1.611597
},
{
x: -2.090296,
y: 1.566852
},
{
x: -1.999463,
y: 1.539298
},
{
x: -1.905,
y: 1.529994
},
{
x: -1.810537,
y: 1.539298
},
{
x: -1.719704,
y: 1.566852
},
{
x: -1.670358,
y: 1.593228
},
{
x: -1.665682,
y: 1.577813
},
{
x: -1.624097,
y: 1.500014
},
{
x: -1.568134,
y: 1.431823
},
{
x: -1.499943,
y: 1.37586
},
{
x: -1.422144,
y: 1.334275
},
{
x: -1.337727,
y: 1.308668
},
{
x: -1.249936,
y: 1.300021
},
{
x: -1.162145,
y: 1.308668
},
{
x: -1.077728,
y: 1.334275
},
{
x: -0.999929,
y: 1.37586
},
{
x: -0.931738,
y: 1.431823
},
{
x: -0.875775,
y: 1.500014
},
{
x: -0.835659,
y: 1.575064
},
{
x: -0.820296,
y: 1.566852
},
{
x: -0.729463,
y: 1.539298
},
{
x: -0.703976,
y: 1.536788
},
{
x: -0.734161,
y: 1.500007
},
{
x: -0.775746,
y: 1.422208
},
{
x: -0.801353,
y: 1.337791
},
{
x: -0.81,
y: 1.25
},
{
x: -0.801353,
y: 1.162209
},
{
x: -0.775746,
y: 1.077792
},
{
x: -0.734161,
y: 0.999993
},
{
x: -0.678198,
y: 0.931802
},
{
x: -0.610007,
y: 0.875839
},
{
x: -0.532208,
y: 0.834254
},
{
x: -0.447791,
y: 0.808647
},
{
x: -0.36,
y: 0.8
},
{
x: -0.272209,
y: 0.808647
},
{
x: -0.187792,
y: 0.834254
},
{
x: -0.109993,
y: 0.875839
},
{
x: -0.041802,
y: 0.931802
},
{
x: 0.012712,
y: 0.998228
},
{
x: 0.039993,
y: 0.975839
},
{
x: 0.117792,
y: 0.934254
},
{
x: 0.202209,
y: 0.908647
},
{
x: 0.29,
y: 0.9
},
{
x: 0.35674,
y: 0.906574
},
{
x: 0.358647,
y: 0.887209
},
{
x: 0.384254,
y: 0.802792
},
{
x: 0.425839,
y: 0.724993
},
{
x: 0.481802,
y: 0.656802
},
{
x: 0.549993,
y: 0.600839
},
{
x: 0.627792,
y: 0.559254
},
{
x: 0.712209,
y: 0.533647
},
{
x: 0.8,
y: 0.525
},
{
x: 0.887791,
y: 0.533647
},
{
x: 0.972208,
y: 0.559254
},
{
x: 1.050007,
y: 0.600839
},
{
x: 1.118198,
y: 0.656802
},
{
x: 1.174161,
y: 0.724993
},
{
x: 1.215746,
y: 0.802792
},
{
x: 1.241353,
y: 0.887209
},
{
x: 1.25,
y: 0.975
},
{
x: 1.241353,
y: 1.062791
},
{
x: 1.224383,
y: 1.118735
},
{
x: 1.225,
y: 1.125
},
{
x: 1.225,
y: 1.317766
},
{
x: 1.228654,
y: 1.322218
},
{
x: 1.254067,
y: 1.369762
},
{
x: 1.262949,
y: 1.399041
},
{
x: 1.294454,
y: 1.430546
},
{
x: 1.328654,
y: 1.472218
},
{
x: 1.354067,
y: 1.519762
},
{
x: 1.369716,
y: 1.57135
},
{
x: 1.375,
y: 1.625
},
{
x: 1.375,
y: 2.211092
},
{
x: 1.594454,
y: 2.430546
},
{
x: 1.628654,
y: 2.472218
},
{
x: 1.654067,
y: 2.519762
},
{
x: 1.669716,
y: 2.57135
},
{
x: 1.675,
y: 2.625
},
{
x: 1.675,
y: 2.725
},
{
x: 1.675,
y: 3.417766
},
{
x: 1.678654,
y: 3.422218
},
{
x: 1.704067,
y: 3.469762
},
{
x: 1.719716,
y: 3.52135
},
{
x: 1.723481,
y: 3.559573
},
{
x: 1.725959,
y: 3.562051
},
{
x: 1.755238,
y: 3.570933
},
{
x: 1.802782,
y: 3.596346
},
{
x: 1.807234,
y: 3.6
},
{
x: 1.95,
y: 3.6
},
{
x: 2.00365,
y: 3.605284
},
{
x: 2.055238,
y: 3.620933
},
{
x: 2.102782,
y: 3.646346
},
{
x: 2.144454,
y: 3.680546
},
{
x: 2.794454,
y: 4.330546
},
{
x: 2.828654,
y: 4.372218
},
{
x: 2.854067,
y: 4.419762
},
{
x: 2.869716,
y: 4.47135
},
{
x: 2.875,
y: 4.525
},
{
x: 2.875,
y: 4.92135
},
{
x: 2.918198,
y: 4.956802
},
{
x: 2.974161,
y: 5.024993
},
{
x: 3.015746,
y: 5.102792
},
{
x: 3.041353,
y: 5.187209
},
{
x: 3.05,
y: 5.275
},
{
x: 3.041353,
y: 5.362791
},
{
x: 3.015746,
y: 5.447208
},
{
x: 2.97418,
y: 5.524971
},
{
x: 3.542702,
y: 5.524971
},
{
x: 3.547154,
y: 5.521317
},
{
x: 3.594698,
y: 5.495904
},
{
x: 3.646286,
y: 5.480255
},
{
x: 3.699936,
y: 5.474971
},
{
x: 4.042702,
y: 5.474971
},
{
x: 4.047154,
y: 5.471317
},
{
x: 4.094698,
y: 5.445904
},
{
x: 4.095596,
y: 5.445631
},
{
x: 4.095869,
y: 5.444733
},
{
x: 4.121282,
y: 5.397189
},
{
x: 4.124936,
y: 5.392737
},
{
x: 4.124936,
y: 3.549971
},
{
x: 4.13022,
y: 3.496321
},
{
x: 4.145869,
y: 3.444733
},
{
x: 4.171282,
y: 3.397189
},
{
x: 4.205482,
y: 3.355517
},
{
x: 5.060371,
y: 2.500628
},
{
x: 5.027792,
y: 2.490746
},
{
x: 4.949993,
y: 2.449161
},
{
x: 4.881802,
y: 2.393198
},
{
x: 4.825839,
y: 2.325007
},
{
x: 4.804009,
y: 2.284166
},
{
x: 4.774161,
y: 2.340007
},
{
x: 4.718198,
y: 2.408198
},
{
x: 4.650007,
y: 2.464161
},
{
x: 4.572208,
y: 2.505746
},
{
x: 4.487791,
y: 2.531353
},
{
x: 4.4,
y: 2.54
},
{
x: 4.312209,
y: 2.531353
},
{
x: 4.227792,
y: 2.505746
},
{
x: 4.149993,
y: 2.464161
},
{
x: 4.081802,
y: 2.408198
},
{
x: 4.025839,
y: 2.340007
},
{
x: 3.984254,
y: 2.262208
},
{
x: 3.958647,
y: 2.177791
},
{
x: 3.95,
y: 2.09
},
{
x: 3.958647,
y: 2.002209
},
{
x: 3.984254,
y: 1.917792
},
{
x: 4.025839,
y: 1.839993
},
{
x: 4.081802,
y: 1.771802
},
{
x: 4.149993,
y: 1.715839
},
{
x: 4.227792,
y: 1.674254
},
{
x: 4.312209,
y: 1.648647
},
{
x: 4.4,
y: 1.64
},
{
x: 4.487791,
y: 1.648647
},
{
x: 4.572208,
y: 1.674254
},
{
x: 4.650007,
y: 1.715839
},
{
x: 4.718198,
y: 1.771802
},
{
x: 4.774161,
y: 1.839993
},
{
x: 4.795991,
y: 1.880834
},
{
x: 4.825839,
y: 1.824993
},
{
x: 4.881802,
y: 1.756802
},
{
x: 4.925,
y: 1.72135
},
{
x: 4.925,
y: -0.575
},
{
x: 4.930284,
y: -0.62865
},
{
x: 4.945933,
y: -0.680238
},
{
x: 4.971346,
y: -0.727782
},
{
x: 5.005546,
y: -0.769454
},
{
x: 5.597746,
y: -1.361654
},
{
x: 5.572692,
y: -1.369254
},
{
x: 5.494893,
y: -1.410839
},
{
x: 5.426702,
y: -1.466802
},
{
x: 5.370739,
y: -1.534993
},
{
x: 5.329154,
y: -1.612792
},
{
x: 5.303547,
y: -1.697209
},
{
x: 5.2949,
y: -1.785
},
{
x: 5.300378,
y: -1.840614
},
{
x: 4.300446,
y: -2.840546
},
{
x: 4.266246,
y: -2.882218
},
{
x: 4.240833,
y: -2.929762
},
{
x: 4.225184,
y: -2.98135
},
{
x: 4.2199,
y: -3.035
},
{
x: 4.2199,
y: -3.077766
},
{
x: 4.216246,
y: -3.082218
},
{
x: 4.190833,
y: -3.129762
},
{
x: 4.175184,
y: -3.18135
},
{
x: 4.171016,
y: -3.223664
},
{
x: 4.150446,
y: -3.240546
},
{
x: 4.129473,
y: -3.261519
},
{
x: 4.09125,
y: -3.265284
},
{
x: 4.039662,
y: -3.280933
},
{
x: 3.992118,
y: -3.306346
},
{
x: 3.987666,
y: -3.31
},
{
x: 2.908808,
y: -3.31
},
{
x: 2.389201,
y: -2.790393
},
{
x: 2.389201,
y: -2.014195
},
{
x: 2.379897,
y: -1.919732
},
{
x: 2.352343,
y: -1.828899
},
{
x: 2.307598,
y: -1.745187
},
{
x: 2.247382,
y: -1.671813
},
{
x: 2.174007,
y: -1.611597
},
{
x: 2.090296,
y: -1.566852
},
{
x: 1.999463,
y: -1.539298
},
{
x: 1.905,
y: -1.529994
},
{
x: 1.810537,
y: -1.539298
},
{
x: 1.719704,
y: -1.566852
},
{
x: 1.635993,
y: -1.611597
},
{
x: 1.562618,
y: -1.671813
},
{
x: 1.502402,
y: -1.745187
},
{
x: 1.457657,
y: -1.828899
},
{
x: 1.430103,
y: -1.919732
},
{
x: 1.420799,
y: -2.014195
},
{
x: 1.420799,
y: -2.96
},
{
x: 1.308808,
y: -2.96
},
{
x: 1.119201,
y: -2.770393
},
{
x: 1.119201,
y: -2.014195
},
{
x: 1.109897,
y: -1.919732
},
{
x: 1.082343,
y: -1.828899
},
{
x: 1.037598,
y: -1.745187
},
{
x: 0.977382,
y: -1.671813
},
{
x: 0.904007,
y: -1.611597
},
{
x: 0.820296,
y: -1.566852
},
{
x: 0.729463,
y: -1.539298
},
{
x: 0.635,
y: -1.529994
},
{
x: 0.540537,
y: -1.539298
},
{
x: 0.449704,
y: -1.566852
},
{
x: 0.365993,
y: -1.611597
},
{
x: 0.292618,
y: -1.671813
},
{
x: 0.232402,
y: -1.745187
},
{
x: 0.187657,
y: -1.828899
},
{
x: 0.160103,
y: -1.919732
},
{
x: 0.150799,
y: -2.014195
},
{
x: 0.150799,
y: -3.396005
},
{
x: 0.160103,
y: -3.490468
},
{
x: 0.187657,
y: -3.581301
},
{
x: 0.232402,
y: -3.665013
},
{
x: 0.292618,
y: -3.738387
},
{
x: 0.36,
y: -3.793685
},
{
x: 0.36,
y: -3.82
},
{
x: 0.115,
y: -3.82
},
{
x: 0.115,
y: -4.76
},
{
x: 1.155,
y: -4.76
},
{
x: 1.155,
y: -3.82
},
{
x: 0.91,
y: -3.82
},
{
x: 0.91,
y: -3.793685
},
{
x: 0.977382,
y: -3.738387
},
{
x: 1.037598,
y: -3.665013
},
{
x: 1.067155,
y: -3.609716
},
{
x: 1.515,
y: -4.116708
},
{
x: 1.515,
y: -4.76
},
{
x: 2.555,
y: -4.76
},
{
x: 2.555,
y: -3.86
},
{
x: 4.0949,
y: -3.86
},
{
x: 4.14855,
y: -3.854716
},
{
x: 4.200138,
y: -3.839067
},
{
x: 4.247682,
y: -3.813654
},
{
x: 4.253121,
y: -3.80919
},
{
x: 4.29855,
y: -3.804716
},
{
x: 4.350138,
y: -3.789067
},
{
x: 4.397682,
y: -3.763654
},
{
x: 4.439354,
y: -3.729454
},
{
x: 4.470859,
y: -3.697949
},
{
x: 4.500138,
y: -3.689067
},
{
x: 4.547682,
y: -3.663654
},
{
x: 4.589354,
y: -3.629454
},
{
x: 4.623554,
y: -3.587782
},
{
x: 4.648967,
y: -3.540238
},
{
x: 4.659793,
y: -3.50455
},
{
x: 4.673554,
y: -3.487782
},
{
x: 4.698967,
y: -3.440238
},
{
x: 4.714616,
y: -3.38865
},
{
x: 4.71909,
y: -3.343221
},
{
x: 4.723554,
y: -3.337782
},
{
x: 4.748967,
y: -3.290238
},
{
x: 4.764616,
y: -3.23865
},
{
x: 4.7699,
y: -3.185
},
{
x: 4.7699,
y: -3.148908
},
{
x: 5.475,
y: -2.443808
},
{
x: 5.475,
y: -2.67135
},
{
x: 5.431802,
y: -2.706802
},
{
x: 5.375839,
y: -2.774993
},
{
x: 5.334254,
y: -2.852792
},
{
x: 5.308647,
y: -2.937209
},
{
x: 5.3,
y: -3.025
},
{
x: 5.308647,
y: -3.112791
},
{
x: 5.334254,
y: -3.197208
},
{
x: 5.375839,
y: -3.275007
},
{
x: 5.431802,
y: -3.343198
},
{
x: 5.499993,
y: -3.399161
},
{
x: 5.577792,
y: -3.440746
},
{
x: 5.662209,
y: -3.466353
},
{
x: 5.75,
y: -3.475
},
{
x: 5.837791,
y: -3.466353
},
{
x: 5.922208,
y: -3.440746
},
{
x: 6.000007,
y: -3.399161
},
{
x: 6.068198,
y: -3.343198
},
{
x: 6.124161,
y: -3.275007
},
{
x: 6.165746,
y: -3.197208
},
{
x: 6.191353,
y: -3.112791
},
{
x: 6.2,
y: -3.025
},
{
x: 6.191353,
y: -2.937209
},
{
x: 6.165746,
y: -2.852792
},
{
x: 6.124161,
y: -2.774993
},
{
x: 6.068198,
y: -2.706802
},
{
x: 6.025,
y: -2.67135
},
{
x: 6.025,
y: -2.538908
},
{
x: 6.344454,
y: -2.219454
},
{
x: 6.378654,
y: -2.177782
},
{
x: 6.404067,
y: -2.130238
},
{
x: 6.414893,
y: -2.09455
},
{
x: 6.428654,
y: -2.077782
},
{
x: 6.454067,
y: -2.030238
},
{
x: 6.469716,
y: -1.97865
},
{
x: 6.475,
y: -1.925
},
{
x: 6.475,
y: -1.698586
},
{
x: 6.475775,
y: -1.700036
},
{
x: 6.531738,
y: -1.768227
},
{
x: 6.599929,
y: -1.82419
},
{
x: 6.677728,
y: -1.865775
},
{
x: 6.762145,
y: -1.891382
},
{
x: 6.849936,
y: -1.900029
},
{
x: 6.937727,
y: -1.891382
},
{
x: 7.022144,
y: -1.865775
},
{
x: 7.099943,
y: -1.82419
},
{
x: 7.168134,
y: -1.768227
},
{
x: 7.224097,
y: -1.700036
},
{
x: 7.265682,
y: -1.622237
},
{
x: 7.291289,
y: -1.53782
},
{
x: 7.299936,
y: -1.450029
},
{
x: 7.291289,
y: -1.362238
},
{
x: 7.265682,
y: -1.277821
},
{
x: 7.224097,
y: -1.200022
},
{
x: 7.168134,
y: -1.131831
},
{
x: 7.099943,
y: -1.075868
},
{
x: 7.022144,
y: -1.034283
},
{
x: 6.937727,
y: -1.008676
},
{
x: 6.849936,
y: -1.000029
},
{
x: 6.794322,
y: -1.005507
},
{
x: 6.308692,
y: -0.519877
},
{
x: 6.322311,
y: -0.515746
},
{
x: 6.40011,
y: -0.474161
},
{
x: 6.468301,
y: -0.418198
},
{
x: 6.524264,
y: -0.350007
},
{
x: 6.565849,
y: -0.272208
},
{
x: 6.591456,
y: -0.187791
},
{
x: 6.600103,
y: -0.1
},
{
x: 6.591456,
y: -0.012209
},
{
x: 6.565849,
y: 0.072208
},
{
x: 6.524264,
y: 0.150007
},
{
x: 6.468301,
y: 0.218198
},
{
x: 6.40011,
y: 0.274161
},
{
x: 6.322311,
y: 0.315746
},
{
x: 6.237894,
y: 0.341353
},
{
x: 6.150103,
y: 0.35
},
{
x: 6.062312,
y: 0.341353
},
{
x: 5.977895,
y: 0.315746
},
{
x: 5.924936,
y: 0.287438
},
{
x: 5.924936,
y: 2.299971
},
{
x: 5.919652,
y: 2.353621
},
{
x: 5.904003,
y: 2.405209
},
{
x: 5.87859,
y: 2.452753
},
{
x: 5.84439,
y: 2.494425
},
{
x: 4.674936,
y: 3.663879
},
{
x: 4.674936,
y: 5.499971
},
{
x: 4.669652,
y: 5.553621
},
{
x: 4.654003,
y: 5.605209
},
{
x: 4.62859,
y: 5.652753
},
{
x: 4.614829,
y: 5.669521
},
{
x: 4.604003,
y: 5.705209
},
{
x: 4.57859,
y: 5.752753
},
{
x: 4.54439,
y: 5.794425
},
{
x: 4.44439,
y: 5.894425
},
{
x: 4.402718,
y: 5.928625
},
{
x: 4.355174,
y: 5.954038
},
{
x: 4.319486,
y: 5.964864
},
{
x: 4.302718,
y: 5.978625
},
{
x: 4.255174,
y: 6.004038
},
{
x: 4.203586,
y: 6.019687
},
{
x: 4.149936,
y: 6.024971
},
{
x: 3.80717,
y: 6.024971
},
{
x: 3.802718,
y: 6.028625
},
{
x: 3.755174,
y: 6.054038
},
{
x: 3.703586,
y: 6.069687
},
{
x: 3.649936,
y: 6.074971
},
{
x: 2.513844,
y: 6.074971
},
{
x: 2.094458,
y: 6.494357
},
{
x: 2.099936,
y: 6.549971
},
{
x: 2.091289,
y: 6.637762
},
{
x: 2.065682,
y: 6.722179
},
{
x: 2.024097,
y: 6.799978
},
{
x: 1.968134,
y: 6.868169
},
{
x: 1.899943,
y: 6.924132
},
{
x: 1.822144,
y: 6.965717
},
{
x: 1.737727,
y: 6.991324
},
{
x: 1.649936,
y: 6.999971
},
{
x: 1.562145,
y: 6.991324
},
{
x: 1.477728,
y: 6.965717
},
{
x: 1.399929,
y: 6.924132
},
{
x: 1.331738,
y: 6.868169
},
{
x: 1.275775,
y: 6.799978
},
{
x: 1.23419,
y: 6.722179
},
{
x: 1.208583,
y: 6.637762
},
{
x: 1.199936,
y: 6.549971
},
{
x: 1.208583,
y: 6.46218
},
{
x: 1.23419,
y: 6.377763
},
{
x: 1.275775,
y: 6.299964
},
{
x: 1.331738,
y: 6.231773
},
{
x: 1.399929,
y: 6.17581
},
{
x: 1.477728,
y: 6.134225
},
{
x: 1.562145,
y: 6.108618
},
{
x: 1.649936,
y: 6.099971
},
{
x: 1.70555,
y: 6.105449
},
{
x: 2.205482,
y: 5.605517
},
{
x: 2.247154,
y: 5.571317
},
{
x: 2.258756,
y: 5.565116
},
{
x: 2.225839,
y: 5.525007
},
{
x: 2.184254,
y: 5.447208
},
{
x: 2.158647,
y: 5.362791
},
{
x: 2.15,
y: 5.275
},
{
x: 2.158647,
y: 5.187209
},
{
x: 2.184254,
y: 5.102792
},
{
x: 2.225839,
y: 5.024993
},
{
x: 2.281802,
y: 4.956802
},
{
x: 2.325,
y: 4.92135
},
{
x: 2.325,
y: 4.638908
},
{
x: 2.225619,
y: 4.539527
},
{
x: 2.215706,
y: 4.572206
},
{
x: 2.174121,
y: 4.650005
},
{
x: 2.118158,
y: 4.718196
},
{
x: 2.049967,
y: 4.774159
},
{
x: 1.972168,
y: 4.815744
},
{
x: 1.887751,
y: 4.841351
},
{
x: 1.79996,
y: 4.849998
},
{
x: 1.712169,
y: 4.841351
},
{
x: 1.627752,
y: 4.815744
},
{
x: 1.549953,
y: 4.774159
},
{
x: 1.481762,
y: 4.718196
},
{
x: 1.437326,
y: 4.664051
},
{
x: 1.425007,
y: 4.674161
},
{
x: 1.347208,
y: 4.715746
},
{
x: 1.262791,
y: 4.741353
},
{
x: 1.175,
y: 4.75
},
{
x: 1.087209,
y: 4.741353
},
{
x: 1.002792,
y: 4.715746
},
{
x: 0.924993,
y: 4.674161
},
{
x: 0.856802,
y: 4.618198
},
{
x: 0.82135,
y: 4.575
},
{
x: -1.385694,
y: 4.575
},
{
x: -1.38419,
y: 4.577813
},
{
x: -1.358583,
y: 4.66223
},
{
x: -1.349936,
y: 4.750021
},
{
x: -1.358583,
y: 4.837812
},
{
x: -1.38419,
y: 4.922229
},
{
x: -1.425775,
y: 5.000028
},
{
x: -1.481738,
y: 5.068219
},
{
x: -1.549929,
y: 5.124182
},
{
x: -1.627728,
y: 5.165767
},
{
x: -1.712145,
y: 5.191374
},
{
x: -1.799936,
y: 5.200021
},
{
x: -1.887727,
y: 5.191374
},
{
x: -1.972144,
y: 5.165767
},
{
x: -2.049943,
y: 5.124182
},
{
x: -2.118134,
y: 5.068219
},
{
x: -2.153586,
y: 5.025021
},
{
x: -3.71251,
y: 5.025021
},
{
x: -3.684318,
y: 5.077763
},
{
x: -3.658711,
y: 5.16218
},
{
x: -3.650064,
y: 5.249971
},
{
x: -3.658711,
y: 5.337762
},
{
x: -3.684318,
y: 5.422179
},
{
x: -3.725903,
y: 5.499978
},
{
x: -3.781866,
y: 5.568169
},
{
x: -3.850057,
y: 5.624132
},
{
x: -3.927856,
y: 5.665717
},
{
x: -4.012273,
y: 5.691324
},
{
x: -4.100064,
y: 5.699971
},
{
x: -4.187855,
y: 5.691324
},
{
x: -4.272272,
y: 5.665717
},
{
x: -4.350071,
y: 5.624132
},
{
x: -4.418262,
y: 5.568169
},
{
x: -4.474225,
y: 5.499978
},
{
x: -4.51581,
y: 5.422179
},
{
x: -4.541417,
y: 5.337762
},
{
x: -4.550064,
y: 5.249971
},
{
x: -4.541417,
y: 5.16218
},
{
x: -4.51581,
y: 5.077763
},
{
x: -4.487618,
y: 5.025021
},
{
x: -5.30578,
y: 5.025021
},
{
x: -5.284254,
y: 5.065292
},
{
x: -5.258647,
y: 5.149709
},
{
x: -5.256239,
y: 5.174155
},
{
x: -5.200443,
y: 5.229951
},
{
x: -5.122215,
y: 5.271765
},
{
x: -5.046447,
y: 5.333947
},
{
x: -4.750443,
y: 5.629951
},
{
x: -4.672215,
y: 5.671765
},
{
x: -4.634816,
y: 5.702458
},
{
x: -4.558658,
y: 5.72556
},
{
x: -4.53632,
y: 5.7375
},
{
x: -4.5,
y: 5.7375
},
{
x: -4.402455,
y: 5.747107
},
{
x: -4.308658,
y: 5.77556
},
{
x: -4.223588,
y: 5.821031
},
{
x: -4.208658,
y: 5.82556
},
{
x: -4.122215,
y: 5.871765
},
{
x: -4.103042,
y: 5.8875
},
{
x: -3.4,
y: 5.8875
},
{
x: -3.302455,
y: 5.897107
},
{
x: -3.208658,
y: 5.92556
},
{
x: -3.122215,
y: 5.971765
},
{
x: -3.046447,
y: 6.033947
},
{
x: -2.692894,
y: 6.3875
},
{
x: -2.633391,
y: 6.3875
},
{
x: -2.664161,
y: 6.350007
},
{
x: -2.705746,
y: 6.272208
},
{
x: -2.731353,
y: 6.187791
},
{
x: -2.74,
y: 6.1
},
{
x: -2.731353,
y: 6.012209
},
{
x: -2.705746,
y: 5.927792
},
{
x: -2.664161,
y: 5.849993
},
{
x: -2.608198,
y: 5.781802
},
{
x: -2.540007,
y: 5.725839
},
{
x: -2.462208,
y: 5.684254
},
{
x: -2.377791,
y: 5.658647
},
{
x: -2.29,
y: 5.65
},
{
x: -2.202209,
y: 5.658647
},
{
x: -2.117792,
y: 5.684254
},
{
x: -2.039993,
y: 5.725839
},
{
x: -1.971802,
y: 5.781802
},
{
x: -1.915839,
y: 5.849993
},
{
x: -1.874254,
y: 5.927792
},
{
x: -1.848647,
y: 6.012209
},
{
x: -1.84,
y: 6.1
},
{
x: -1.848647,
y: 6.187791
},
{
x: -1.874254,
y: 6.272208
},
{
x: -1.915839,
y: 6.350007
},
{
x: -1.971802,
y: 6.418198
},
{
x: -2.039993,
y: 6.474161
},
{
x: -2.117792,
y: 6.515746
},
{
x: -2.192106,
y: 6.538288
},
{
x: -1.825,
y: 6.905394
},
{
x: -1.203553,
y: 6.283947
},
{
x: -1.127785,
y: 6.221765
},
{
x: -1.041342,
y: 6.17556
},
{
x: -0.947545,
y: 6.147107
},
{
x: -0.85,
y: 6.1375
},
{
x: -0.752455,
y: 6.147107
},
{
x: -0.658658,
y: 6.17556
},
{
x: -0.6,
y: 6.206914
},
{
x: -0.6,
y: 5.25
},
{
x: -0.590393,
y: 5.152455
},
{
x: -0.56194,
y: 5.058658
},
{
x: -0.515735,
y: 4.972215
},
{
x: -0.453553,
y: 4.896447
},
{
x: -0.377785,
y: 4.834265
},
{
x: -0.291342,
y: 4.78806
},
{
x: -0.197545,
y: 4.759607
},
{
x: -0.1,
y: 4.75
},
{
x: -2455e-6,
y: 4.759607
},
{
x: 0.091342,
y: 4.78806
},
{
x: 0.177785,
y: 4.834265
},
{
x: 0.253553,
y: 4.896447
},
{
x: 0.315735,
y: 4.972215
},
{
x: 0.36194,
y: 5.058658
},
{
x: 0.390393,
y: 5.152455
},
{
x: 0.4,
y: 5.25
},
{
x: 0.4,
y: 6.8
},
{
x: 0.390393,
y: 6.897545
},
{
x: 0.36194,
y: 6.991342
},
{
x: 0.342312,
y: 7.028064
},
{
x: 0.340393,
y: 7.047545
},
{
x: 0.31194,
y: 7.141342
},
{
x: 0.266469,
y: 7.226412
},
{
x: 0.26194,
y: 7.241342
},
{
x: 0.215735,
y: 7.327785
},
{
x: 0.153553,
y: 7.403553
},
{
x: -1.046447,
y: 8.603553
},
{
x: -1.122215,
y: 8.665735
},
{
x: -1.208658,
y: 8.71194
},
{
x: -1.223588,
y: 8.716469
},
{
x: -1.308658,
y: 8.76194
},
{
x: -1.402455,
y: 8.790393
},
{
x: -1.5,
y: 8.8
},
{
x: -1.53632,
y: 8.8
},
{
x: -1.558658,
y: 8.81194
},
{
x: -1.652455,
y: 8.840393
},
{
x: -1.75,
y: 8.85
},
{
x: -2.620553,
y: 8.85
},
{
x: -2.581802,
y: 8.881802
},
{
x: -2.525839,
y: 8.949993
},
{
x: -2.484254,
y: 9.027792
},
{
x: -2.458647,
y: 9.112209
},
{
x: -2.45,
y: 9.2
},
{
x: -2.458647,
y: 9.287791
},
{
x: -2.484254,
y: 9.372208
},
{
x: -2.525839,
y: 9.450007
},
{
x: -2.581802,
y: 9.518198
},
{
x: -2.6,
y: 9.533133
},
{
x: -2.6,
y: 9.775736
},
{
x: -2.523428,
y: 9.852308
},
{
x: -2.5,
y: 9.85
},
{
x: -2.412209,
y: 9.858647
},
{
x: -2.327792,
y: 9.884254
},
{
x: -2.249993,
y: 9.925839
},
{
x: -2.181802,
y: 9.981802
},
{
x: -2.125839,
y: 10.049993
},
{
x: -2.084254,
y: 10.127792
},
{
x: -2.058647,
y: 10.212209
},
{
x: -2.05,
y: 10.3
},
{
x: -2.058647,
y: 10.387791
},
{
x: -2.084254,
y: 10.472208
},
{
x: -2.125839,
y: 10.550007
},
{
x: -2.181802,
y: 10.618198
},
{
x: -2.249993,
y: 10.674161
},
{
x: -2.327792,
y: 10.715746
},
{
x: -2.412209,
y: 10.741353
},
{
x: -2.5,
y: 10.75
},
{
x: -2.587791,
y: 10.741353
},
{
x: -2.672208,
y: 10.715746
},
{
x: -2.750007,
y: 10.674161
},
{
x: -2.818198,
y: 10.618198
},
{
x: -2.874161,
y: 10.550007
},
{
x: -2.915746,
y: 10.472208
},
{
x: -2.941353,
y: 10.387791
},
{
x: -2.95,
y: 10.3
},
{
x: -2.947692,
y: 10.276572
},
{
x: -3.112132,
y: 10.112132
},
{
x: -3.149441,
y: 10.066671
},
{
x: -3.177164,
y: 10.014805
},
{
x: -3.194236,
y: 9.958527
},
{
x: -3.2,
y: 9.9
},
{
x: -3.2,
y: 9.533133
},
{
x: -3.218198,
y: 9.518198
},
{
x: -3.274161,
y: 9.450007
},
{
x: -3.315522,
y: 9.372628
},
{
x: -4.767894,
y: 10.825
},
{
x: 7.41,
y: 10.825
},
{
x: 7.46365,
y: 10.830284
},
{
x: 7.515238,
y: 10.845933
},
{
x: 7.562782,
y: 10.871346
},
{
x: 7.604454,
y: 10.905546
},
{
x: 7.685959,
y: 10.987051
},
{
x: 7.715238,
y: 10.995933
},
{
x: 7.762782,
y: 11.021346
},
{
x: 7.767234,
y: 11.025
},
{
x: 7.966496,
y: 11.025
},
{
x: 7.981346,
y: 10.997218
},
{
x: 8.015546,
y: 10.955546
},
{
x: 8.035,
y: 10.936092
},
{
x: 8.035,
y: 10.65
},
{
x: 8.035617,
y: 10.643735
},
{
x: 8.018647,
y: 10.587791
},
{
x: 8.01,
y: 10.5
},
{
x: 8.018647,
y: 10.412209
},
{
x: 8.044254,
y: 10.327792
},
{
x: 8.085839,
y: 10.249993
},
{
x: 8.141802,
y: 10.181802
},
{
x: 8.209993,
y: 10.125839
},
{
x: 8.287792,
y: 10.084254
},
{
x: 8.372209,
y: 10.058647
},
{
x: 8.46,
y: 10.05
},
{
x: 8.547791,
y: 10.058647
},
{
x: 8.632208,
y: 10.084254
},
{
x: 8.675014,
y: 10.107135
},
{
x: 8.675014,
y: 7.514127
},
{
x: 8.672222,
y: 7.515619
},
{
x: 8.587805,
y: 7.541226
},
{
x: 8.500014,
y: 7.549873
},
{
x: 8.412223,
y: 7.541226
},
{
x: 8.327806,
y: 7.515619
},
{
x: 8.250007,
y: 7.474034
},
{
x: 8.181816,
y: 7.418071
},
{
x: 8.175576,
y: 7.410468
},
{
x: 8.128198,
y: 7.468198
},
{
x: 8.060007,
y: 7.524161
},
{
x: 7.982208,
y: 7.565746
},
{
x: 7.897791,
y: 7.591353
},
{
x: 7.81,
y: 7.6
},
{
x: 7.722209,
y: 7.591353
},
{
x: 7.637792,
y: 7.565746
},
{
x: 7.559993,
y: 7.524161
},
{
x: 7.491802,
y: 7.468198
},
{
x: 7.435839,
y: 7.400007
},
{
x: 7.394254,
y: 7.322208
},
{
x: 7.368647,
y: 7.237791
},
{
x: 7.36,
y: 7.15
},
{
x: 7.368647,
y: 7.062209
},
{
x: 7.394254,
y: 6.977792
},
{
x: 7.435839,
y: 6.899993
},
{
x: 7.491802,
y: 6.831802
},
{
x: 7.559993,
y: 6.775839
},
{
x: 7.637792,
y: 6.734254
},
{
x: 7.722209,
y: 6.708647
},
{
x: 7.81,
y: 6.7
},
{
x: 7.897791,
y: 6.708647
},
{
x: 7.982208,
y: 6.734254
},
{
x: 8.060007,
y: 6.775839
},
{
x: 8.128198,
y: 6.831802
},
{
x: 8.134438,
y: 6.839405
},
{
x: 8.181816,
y: 6.781675
},
{
x: 8.250007,
y: 6.725712
},
{
x: 8.327806,
y: 6.684127
},
{
x: 8.379637,
y: 6.668404
},
{
x: 8.25556,
y: 6.544327
},
{
x: 8.22136,
y: 6.502655
},
{
x: 8.195947,
y: 6.455111
},
{
x: 8.180298,
y: 6.403523
},
{
x: 8.175014,
y: 6.349873
},
{
x: 8.175014,
y: -1.442893
},
{
x: 8.17136,
y: -1.447345
},
{
x: 8.145947,
y: -1.494889
},
{
x: 8.137065,
y: -1.524168
},
{
x: 6.90556,
y: -2.755673
},
{
x: 6.87136,
y: -2.797345
},
{
x: 6.845947,
y: -2.844889
},
{
x: 6.830298,
y: -2.896477
},
{
x: 6.825405,
y: -2.946156
},
{
x: 6.781816,
y: -2.981929
},
{
x: 6.725853,
y: -3.05012
},
{
x: 6.684268,
y: -3.127919
},
{
x: 6.658661,
y: -3.212336
},
{
x: 6.650014,
y: -3.300127
},
{
x: 6.658661,
y: -3.387918
},
{
x: 6.684268,
y: -3.472335
},
{
x: 6.725853,
y: -3.550134
},
{
x: 6.781816,
y: -3.618325
},
{
x: 6.850007,
y: -3.674288
},
{
x: 6.927806,
y: -3.715873
},
{
x: 7.012223,
y: -3.74148
},
{
x: 7.100014,
y: -3.750127
},
{
x: 7.187805,
y: -3.74148
},
{
x: 7.272222,
y: -3.715873
},
{
x: 7.350021,
y: -3.674288
},
{
x: 7.418212,
y: -3.618325
},
{
x: 7.474175,
y: -3.550134
},
{
x: 7.51576,
y: -3.472335
},
{
x: 7.541367,
y: -3.387918
},
{
x: 7.550014,
y: -3.300127
},
{
x: 7.541367,
y: -3.212336
},
{
x: 7.51576,
y: -3.127919
},
{
x: 7.474175,
y: -3.05012
},
{
x: 7.43575,
y: -3.003299
},
{
x: 8.594468,
y: -1.844581
},
{
x: 8.628668,
y: -1.802909
},
{
x: 8.654081,
y: -1.755365
},
{
x: 8.664907,
y: -1.719677
},
{
x: 8.678668,
y: -1.702909
},
{
x: 8.704081,
y: -1.655365
},
{
x: 8.71973,
y: -1.603777
},
{
x: 8.725014,
y: -1.550127
},
{
x: 8.725014,
y: 6.235965
},
{
x: 9.094468,
y: 6.605419
},
{
x: 9.128668,
y: 6.647091
},
{
x: 9.154081,
y: 6.694635
},
{
x: 9.164907,
y: 6.730323
},
{
x: 9.178668,
y: 6.747091
},
{
x: 9.204081,
y: 6.794635
},
{
x: 9.21973,
y: 6.846223
},
{
x: 9.225014,
y: 6.899873
},
{
x: 9.225014,
y: 10.185965
},
{
x: 9.394468,
y: 10.355419
},
{
x: 9.428668,
y: 10.397091
},
{
x: 9.454081,
y: 10.444635
},
{
x: 9.464907,
y: 10.480323
},
{
x: 9.478668,
y: 10.497091
},
{
x: 9.504081,
y: 10.544635
},
{
x: 9.51973,
y: 10.596223
},
{
x: 9.524204,
y: 10.641652
},
{
x: 9.528668,
y: 10.647091
},
{
x: 9.554081,
y: 10.694635
},
{
x: 9.56973,
y: 10.746223
},
{
x: 9.575014,
y: 10.799873
},
{
x: 9.575014,
y: 10.999873
},
{
x: 9.56973,
y: 11.053523
},
{
x: 9.554081,
y: 11.105111
},
{
x: 9.528668,
y: 11.152655
},
{
x: 9.524204,
y: 11.158094
},
{
x: 9.51973,
y: 11.203523
},
{
x: 9.504081,
y: 11.255111
},
{
x: 9.478668,
y: 11.302655
},
{
x: 9.444468,
y: 11.344327
},
{
x: 9.044468,
y: 11.744327
},
{
x: 9.025014,
y: 11.763781
},
{
x: 9.025014,
y: 12.699873
},
{
x: 9.025014,
y: 12.799873
},
{
x: 9.01973,
y: 12.853523
},
{
x: 9.004081,
y: 12.905111
},
{
x: 8.978668,
y: 12.952655
},
{
x: 8.944468,
y: 12.994327
},
{
x: 8.844536,
y: 13.094259
},
{
x: 8.850014,
y: 13.149873
},
{
x: 8.841367,
y: 13.237664
},
{
x: 8.81576,
y: 13.322081
},
{
x: 8.774175,
y: 13.39988
},
{
x: 8.718212,
y: 13.468071
},
{
x: 8.650021,
y: 13.524034
},
{
x: 8.572222,
y: 13.565619
},
{
x: 8.487805,
y: 13.591226
},
{
x: 8.400014,
y: 13.599873
},
{
x: 8.312223,
y: 13.591226
},
{
x: 8.227806,
y: 13.565619
},
{
x: 8.150007,
y: 13.524034
},
{
x: 8.081816,
y: 13.468071
},
{
x: 8.025853,
y: 13.39988
},
{
x: 7.984268,
y: 13.322081
},
{
x: 7.958661,
y: 13.237664
},
{
x: 7.950014,
y: 13.149873
},
{
x: 7.958661,
y: 13.062082
},
{
x: 7.984268,
y: 12.977665
},
{
x: 8.025853,
y: 12.899866
},
{
x: 8.081816,
y: 12.831675
},
{
x: 8.150007,
y: 12.775712
},
{
x: 8.227806,
y: 12.734127
},
{
x: 8.312223,
y: 12.70852
},
{
x: 8.400014,
y: 12.699873
},
{
x: 8.455628,
y: 12.705351
},
{
x: 8.475014,
y: 12.685965
},
{
x: 8.475014,
y: 11.649873
},
{
x: 8.480298,
y: 11.596223
},
{
x: 8.495947,
y: 11.544635
},
{
x: 8.52136,
y: 11.497091
},
{
x: 8.55556,
y: 11.455419
},
{
x: 8.65556,
y: 11.355419
},
{
x: 8.696928,
y: 11.314051
},
{
x: 8.647792,
y: 11.299146
},
{
x: 8.569993,
y: 11.257561
},
{
x: 8.524403,
y: 11.220146
},
{
x: 8.504454,
y: 11.244454
},
{
x: 8.472949,
y: 11.275959
},
{
x: 8.464067,
y: 11.305238
},
{
x: 8.438654,
y: 11.352782
},
{
x: 8.404454,
y: 11.394454
},
{
x: 8.304454,
y: 11.494454
},
{
x: 8.262782,
y: 11.528654
},
{
x: 8.215238,
y: 11.554067
},
{
x: 8.16365,
y: 11.569716
},
{
x: 8.11,
y: 11.575
},
{
x: 7.66,
y: 11.575
},
{
x: 7.60635,
y: 11.569716
},
{
x: 7.554762,
y: 11.554067
},
{
x: 7.507218,
y: 11.528654
},
{
x: 7.49045,
y: 11.514893
},
{
x: 7.454762,
y: 11.504067
},
{
x: 7.407218,
y: 11.478654
},
{
x: 7.365546,
y: 11.444454
},
{
x: 7.296092,
y: 11.375
},
{
x: 2.83029,
y: 11.375
},
{
x: 2.850007,
y: 11.385539
},
{
x: 2.918198,
y: 11.441502
},
{
x: 2.974161,
y: 11.509693
},
{
x: 3.015746,
y: 11.587492
},
{
x: 3.041353,
y: 11.671909
},
{
x: 3.05,
y: 11.7597
},
{
x: 3.041353,
y: 11.847491
},
{
x: 3.015746,
y: 11.931908
},
{
x: 2.974161,
y: 12.009707
},
{
x: 2.918198,
y: 12.077898
},
{
x: 2.850007,
y: 12.133861
},
{
x: 2.772208,
y: 12.175446
},
{
x: 2.687791,
y: 12.201053
},
{
x: 2.6,
y: 12.2097
},
{
x: 2.512209,
y: 12.201053
},
{
x: 2.427792,
y: 12.175446
},
{
x: 2.349993,
y: 12.133861
},
{
x: 2.281802,
y: 12.077898
},
{
x: 2.225839,
y: 12.009707
},
{
x: 2.184254,
y: 11.931908
},
{
x: 2.158647,
y: 11.847491
},
{
x: 2.15,
y: 11.7597
},
{
x: 2.158647,
y: 11.671909
},
{
x: 2.184254,
y: 11.587492
},
{
x: 2.225839,
y: 11.509693
},
{
x: 2.281802,
y: 11.441502
},
{
x: 2.349993,
y: 11.385539
},
{
x: 2.36971,
y: 11.375
},
{
x: -5.79,
y: 11.375
},
{
x: -5.84365,
y: 11.369716
},
{
x: -5.895238,
y: 11.354067
},
{
x: -5.942782,
y: 11.328654
},
{
x: -5.95955,
y: 11.314893
},
{
x: -5.995238,
y: 11.304067
},
{
x: -6.042782,
y: 11.278654
},
{
x: -6.084454,
y: 11.244454
},
{
x: -6.303908,
y: 11.025
},
{
x: -6.64,
y: 11.025
},
{
x: -6.69365,
y: 11.019716
},
{
x: -6.745238,
y: 11.004067
},
{
x: -6.792782,
y: 10.978654
},
{
x: -6.798221,
y: 10.97419
},
{
x: -6.84365,
y: 10.969716
},
{
x: -6.895238,
y: 10.954067
},
{
x: -6.942782,
y: 10.928654
},
{
x: -6.95955,
y: 10.914893
},
{
x: -6.995238,
y: 10.904067
},
{
x: -7.042782,
y: 10.878654
},
{
x: -7.084454,
y: 10.844454
},
{
x: -7.134454,
y: 10.794454
},
{
x: -7.168654,
y: 10.752782
},
{
x: -7.194067,
y: 10.705238
},
{
x: -7.204893,
y: 10.66955
},
{
x: -7.218654,
y: 10.652782
},
{
x: -7.244067,
y: 10.605238
},
{
x: -7.254893,
y: 10.56955
},
{
x: -7.268654,
y: 10.552782
},
{
x: -7.294067,
y: 10.505238
},
{
x: -7.302949,
y: 10.475959
},
{
x: -9.653908,
y: 8.125
},
{
x: -12.667894,
y: 8.125
},
{
x: -10.175565,
y: 10.617329
},
{
x: -10.155746,
y: 10.551992
},
{
x: -10.114161,
y: 10.474193
},
{
x: -10.058198,
y: 10.406002
},
{
x: -9.990007,
y: 10.350039
},
{
x: -9.912208,
y: 10.308454
},
{
x: -9.827791,
y: 10.282847
},
{
x: -9.74,
y: 10.2742
},
{
x: -9.652209,
y: 10.282847
},
{
x: -9.567792,
y: 10.308454
},
{
x: -9.489993,
y: 10.350039
},
{
x: -9.421802,
y: 10.406002
},
{
x: -9.365839,
y: 10.474193
},
{
x: -9.324254,
y: 10.551992
},
{
x: -9.298647,
y: 10.636409
},
{
x: -9.29,
y: 10.7242
},
{
x: -9.298647,
y: 10.811991
},
{
x: -9.324254,
y: 10.896408
},
{
x: -9.365839,
y: 10.974207
},
{
x: -9.421802,
y: 11.042398
},
{
x: -9.489993,
y: 11.098361
},
{
x: -9.525535,
y: 11.117359
},
{
x: -8.942582,
y: 11.700312
},
{
x: -8.95,
y: 11.625
},
{
x: -8.941353,
y: 11.537209
},
{
x: -8.915746,
y: 11.452792
},
{
x: -8.874161,
y: 11.374993
},
{
x: -8.818198,
y: 11.306802
},
{
x: -8.750007,
y: 11.250839
},
{
x: -8.672208,
y: 11.209254
},
{
x: -8.587791,
y: 11.183647
},
{
x: -8.5,
y: 11.175
},
{
x: -8.412209,
y: 11.183647
},
{
x: -8.327792,
y: 11.209254
},
{
x: -8.249993,
y: 11.250839
},
{
x: -8.181802,
y: 11.306802
},
{
x: -8.125839,
y: 11.374993
},
{
x: -8.084254,
y: 11.452792
},
{
x: -8.058647,
y: 11.537209
},
{
x: -8.05,
y: 11.625
},
{
x: -8.058647,
y: 11.712791
},
{
x: -8.084254,
y: 11.797208
},
{
x: -8.125839,
y: 11.875007
},
{
x: -8.181802,
y: 11.943198
},
{
x: -8.249993,
y: 11.999161
},
{
x: -8.327792,
y: 12.040746
},
{
x: -8.412209,
y: 12.066353
},
{
x: -8.5,
y: 12.075
},
{
x: -8.575312,
y: 12.067582
},
{
x: -7.100443,
y: 13.542451
},
{
x: -7.022215,
y: 13.584265
},
{
x: -6.984816,
y: 13.614958
},
{
x: -6.908658,
y: 13.63806
},
{
x: -6.88632,
y: 13.65
},
{
x: -6.564829,
y: 13.65
},
{
x: -6.56581,
y: 13.648164
},
{
x: -6.591417,
y: 13.563747
},
{
x: -6.600064,
y: 13.475957
},
{
x: -6.591417,
y: 13.388166
},
{
x: -6.56581,
y: 13.303749
},
{
x: -6.524225,
y: 13.22595
},
{
x: -6.468262,
y: 13.157759
},
{
x: -6.400071,
y: 13.101795
},
{
x: -6.322272,
y: 13.060211
},
{
x: -6.237855,
y: 13.034603
},
{
x: -6.150064,
y: 13.025957
},
{
x: -6.062273,
y: 13.034603
},
{
x: -5.977856,
y: 13.060211
},
{
x: -5.900057,
y: 13.101795
},
{
x: -5.831866,
y: 13.157759
},
{
x: -5.775903,
y: 13.22595
},
{
x: -5.734318,
y: 13.303749
},
{
x: -5.708711,
y: 13.388166
},
{
x: -5.700064,
y: 13.475957
},
{
x: -5.708711,
y: 13.563747
},
{
x: -5.734318,
y: 13.648164
},
{
x: -5.735299,
y: 13.65
},
{
x: -5.55,
y: 13.65
},
{
x: -5.452455,
y: 13.659607
},
{
x: -5.358658,
y: 13.68806
},
{
x: -5.272215,
y: 13.734265
},
{
x: -5.196447,
y: 13.796447
},
{
x: -5.162653,
y: 13.837624
},
{
x: -5.160793,
y: 13.836124
},
{
x: -3.606972,
y: 15.762862
},
{
x: -3.600282,
y: 15.694937
},
{
x: -3.57126,
y: 15.599264
},
{
x: -3.524131,
y: 15.511092
},
{
x: -3.460706,
y: 15.433809
},
{
x: -3.383422,
y: 15.370384
},
{
x: -3.29525,
y: 15.323255
},
{
x: -3.199578,
y: 15.294233
},
{
x: -3.100082,
y: 15.284433
},
{
x: -3.000586,
y: 15.294233
},
{
x: -2.904914,
y: 15.323255
},
{
x: -2.816742,
y: 15.370384
},
{
x: -2.739458,
y: 15.433809
},
{
x: -2.676033,
y: 15.511092
},
{
x: -2.628904,
y: 15.599264
},
{
x: -2.599882,
y: 15.694937
},
{
x: -2.590083,
y: 15.794433
},
{
x: -2.599882,
y: 15.893929
},
{
x: -2.628904,
y: 15.989601
},
{
x: -2.676033,
y: 16.077773
},
{
x: -2.739458,
y: 16.155057
},
{
x: -2.805004,
y: 16.208849
},
{
x: -2.185361,
y: 16.163784
},
{
x: -2.185202,
y: 16.165967
},
{
x: -2.15,
y: 16.1625
},
{
x: -2.054893,
y: 16.171867
},
{
x: -1.963442,
y: 16.199609
},
{
x: -1.87916,
y: 16.244659
},
{
x: -1.877973,
y: 16.245633
},
{
x: -1.819182,
y: 16.263467
},
{
x: -1.783574,
y: 16.2825
},
{
x: -1.566426,
y: 16.2825
},
{
x: -1.530818,
y: 16.263467
},
{
x: -1.472027,
y: 16.245633
},
{
x: -1.47084,
y: 16.244659
},
{
x: -1.390116,
y: 16.201511
},
{
x: -1.32084,
y: 16.144659
},
{
x: -1.241888,
y: 16.102458
},
{
x: -0.020432,
y: 14.881002
},
{
x: -0.015735,
y: 14.872215
},
{
x: 0.046447,
y: 14.796447
},
{
x: 0.096447,
y: 14.746447
},
{
x: 0.172215,
y: 14.684265
},
{
x: 0.258658,
y: 14.63806
},
{
x: 0.324594,
y: 14.618059
},
{
x: 0.697101,
y: 13.974637
},
{
x: 0.698386,
y: 13.975381
},
{
x: 0.708986,
y: 13.95555
},
{
x: 0.752513,
y: 13.902513
},
{
x: 0.80555,
y: 13.858986
},
{
x: 0.866061,
y: 13.826642
},
{
x: 0.931718,
y: 13.806725
},
{
x: 1,
y: 13.8
},
{
x: 1.055026,
y: 13.8
},
{
x: 1.204914,
y: 13.650112
},
{
x: 1.208647,
y: 13.612209
},
{
x: 1.234254,
y: 13.527792
},
{
x: 1.275839,
y: 13.449993
},
{
x: 1.331802,
y: 13.381802
},
{
x: 1.399993,
y: 13.325839
},
{
x: 1.477792,
y: 13.284254
},
{
x: 1.562209,
y: 13.258647
},
{
x: 1.65,
y: 13.25
},
{
x: 1.737791,
y: 13.258647
},
{
x: 1.822208,
y: 13.284254
},
{
x: 1.900007,
y: 13.325839
},
{
x: 1.968198,
y: 13.381802
},
{
x: 2.024161,
y: 13.449993
},
{
x: 2.065746,
y: 13.527792
},
{
x: 2.091353,
y: 13.612209
},
{
x: 2.1,
y: 13.7
},
{
x: 2.091353,
y: 13.787791
},
{
x: 2.065746,
y: 13.872208
},
{
x: 2.024161,
y: 13.950007
},
{
x: 1.968198,
y: 14.018198
},
{
x: 1.900007,
y: 14.074161
},
{
x: 1.822208,
y: 14.115746
},
{
x: 1.737791,
y: 14.141353
},
{
x: 1.699888,
y: 14.145086
},
{
x: 1.447487,
y: 14.397487
},
{
x: 1.39445,
y: 14.441014
},
{
x: 1.333939,
y: 14.473358
},
{
x: 1.268282,
y: 14.493275
},
{
x: 1.201902,
y: 14.499813
},
{
x: 0.930252,
y: 14.969026
},
{
x: 0.940393,
y: 15.002455
},
{
x: 0.95,
y: 15.1
},
{
x: 0.940393,
y: 15.197545
},
{
x: 0.91194,
y: 15.291342
},
{
x: 0.865735,
y: 15.377785
},
{
x: 0.803553,
y: 15.453553
},
{
x: 0.753553,
y: 15.503553
},
{
x: 0.677785,
y: 15.565735
},
{
x: 0.668998,
y: 15.570432
},
{
x: -0.655285,
y: 16.894715
},
{
x: -0.72916,
y: 16.955341
},
{
x: -0.809884,
y: 16.998489
},
{
x: -0.87916,
y: 17.055341
},
{
x: -0.963442,
y: 17.100391
},
{
x: -1.051595,
y: 17.127133
},
{
x: -1.069182,
y: 17.136533
},
{
x: -1.15782,
y: 17.163421
},
{
x: -1.192975,
y: 17.166884
},
{
x: -1.221095,
y: 17.181914
},
{
x: -1.308795,
y: 17.208517
},
{
x: -1.4,
y: 17.2175
},
{
x: -1.899234,
y: 17.2175
},
{
x: -1.95,
y: 17.2225
},
{
x: -2.04218,
y: 17.213421
},
{
x: -2.130818,
y: 17.186533
},
{
x: -2.135561,
y: 17.183998
},
{
x: -2.195107,
y: 17.178133
},
{
x: -2.286558,
y: 17.150391
},
{
x: -2.289311,
y: 17.148919
},
{
x: -3.114733,
y: 17.20895
},
{
x: -3.152455,
y: 17.220393
},
{
x: -3.25,
y: 17.23
},
{
x: -3.347545,
y: 17.220393
},
{
x: -3.441342,
y: 17.19194
},
{
x: -3.46677,
y: 17.178348
},
{
x: -3.547545,
y: 17.170393
},
{
x: -3.641342,
y: 17.14194
},
{
x: -3.726412,
y: 17.096469
},
{
x: -3.741342,
y: 17.09194
},
{
x: -3.827785,
y: 17.045735
},
{
x: -3.903553,
y: 16.983553
},
{
x: -3.937347,
y: 16.942376
},
{
x: -3.939207,
y: 16.943876
},
{
x: -4.230024,
y: 16.583263
},
{
x: -4.234254,
y: 16.597208
},
{
x: -4.275839,
y: 16.675007
},
{
x: -4.331802,
y: 16.743198
},
{
x: -4.399993,
y: 16.799161
},
{
x: -4.477792,
y: 16.840746
},
{
x: -4.562209,
y: 16.866353
},
{
x: -4.65,
y: 16.875
},
{
x: -4.737791,
y: 16.866353
},
{
x: -4.822208,
y: 16.840746
},
{
x: -4.900007,
y: 16.799161
},
{
x: -4.968198,
y: 16.743198
},
{
x: -5.024161,
y: 16.675007
},
{
x: -5.065746,
y: 16.597208
},
{
x: -5.091353,
y: 16.512791
},
{
x: -5.1,
y: 16.425
},
{
x: -5.091353,
y: 16.337209
},
{
x: -5.065746,
y: 16.252792
},
{
x: -5.024161,
y: 16.174993
},
{
x: -4.968198,
y: 16.106802
},
{
x: -4.900007,
y: 16.050839
},
{
x: -4.822208,
y: 16.009254
},
{
x: -4.737791,
y: 15.983647
},
{
x: -4.715366,
y: 15.981438
},
{
x: -5.789107,
y: 14.65
},
{
x: -7.05,
y: 14.65
},
{
x: -7.147545,
y: 14.640393
},
{
x: -7.241342,
y: 14.61194
},
{
x: -7.278064,
y: 14.592312
},
{
x: -7.297545,
y: 14.590393
},
{
x: -7.391342,
y: 14.56194
},
{
x: -7.477785,
y: 14.515735
},
{
x: -7.547053,
y: 14.458887
},
{
x: -7.627785,
y: 14.415735
},
{
x: -7.703553,
y: 14.353553
},
{
x: -10.199557,
y: 11.857549
},
{
x: -10.276412,
y: 11.816469
},
{
x: -10.291342,
y: 11.81194
},
{
x: -10.356011,
y: 11.777374
},
{
x: -10.35,
y: 11.8384
},
{
x: -10.358647,
y: 11.926191
},
{
x: -10.384254,
y: 12.010608
},
{
x: -10.425839,
y: 12.088407
},
{
x: -10.481802,
y: 12.156598
},
{
x: -10.549993,
y: 12.212561
},
{
x: -10.627792,
y: 12.254146
},
{
x: -10.712209,
y: 12.279753
},
{
x: -10.8,
y: 12.2884
},
{
x: -10.887791,
y: 12.279753
},
{
x: -10.972208,
y: 12.254146
},
{
x: -11.050007,
y: 12.212561
},
{
x: -11.118198,
y: 12.156598
},
{
x: -11.174161,
y: 12.088407
},
{
x: -11.215746,
y: 12.010608
},
{
x: -11.241353,
y: 11.926191
},
{
x: -11.25,
y: 11.8384
},
{
x: -11.241353,
y: 11.750609
},
{
x: -11.215746,
y: 11.666192
},
{
x: -11.174161,
y: 11.588393
},
{
x: -11.118198,
y: 11.520202
},
{
x: -11.050007,
y: 11.464239
},
{
x: -10.972208,
y: 11.422654
},
{
x: -10.887791,
y: 11.397047
},
{
x: -10.817029,
y: 11.390077
},
{
x: -13.357106,
y: 8.85
},
{
x: -14.15,
y: 8.85
},
{
x: -14.247545,
y: 8.840393
},
{
x: -14.341342,
y: 8.81194
},
{
x: -14.426412,
y: 8.766469
},
{
x: -14.441342,
y: 8.76194
},
{
x: -14.527785,
y: 8.715735
},
{
x: -14.603553,
y: 8.653553
},
{
x: -15.325059,
y: 7.932047
},
{
x: -15.391342,
y: 7.91194
},
{
x: -15.428064,
y: 7.892312
},
{
x: -15.447545,
y: 7.890393
},
{
x: -15.541342,
y: 7.86194
},
{
x: -15.626412,
y: 7.816469
},
{
x: -15.641342,
y: 7.81194
},
{
x: -15.727785,
y: 7.765735
},
{
x: -15.803553,
y: 7.703553
},
{
x: -16.003553,
y: 7.503553
},
{
x: -16.065735,
y: 7.427785
},
{
x: -16.11194,
y: 7.341342
},
{
x: -16.116469,
y: 7.326412
},
{
x: -16.16194,
y: 7.241342
},
{
x: -16.190393,
y: 7.147545
},
{
x: -16.198348,
y: 7.06677
},
{
x: -16.21194,
y: 7.041342
},
{
x: -16.240393,
y: 6.947545
},
{
x: -16.25,
y: 6.85
},
{
x: -16.25,
y: 6.65
},
{
x: -16.240393,
y: 6.552455
},
{
x: -16.21194,
y: 6.458658
},
{
x: -16.198348,
y: 6.43323
},
{
x: -16.190393,
y: 6.352455
},
{
x: -16.16194,
y: 6.258658
},
{
x: -16.116469,
y: 6.173588
},
{
x: -16.11194,
y: 6.158658
},
{
x: -16.065735,
y: 6.072215
},
{
x: -16.003553,
y: 5.996447
},
{
x: -15.966923,
y: 5.959817
},
{
x: -15.977778,
y: 5.965619
},
{
x: -16.062195,
y: 5.991226
},
{
x: -16.149986,
y: 5.999873
},
{
x: -16.237777,
y: 5.991226
},
{
x: -16.322194,
y: 5.965619
},
{
x: -16.399993,
y: 5.924034
},
{
x: -16.468184,
y: 5.868071
},
{
x: -16.524147,
y: 5.79988
},
{
x: -16.565732,
y: 5.722081
},
{
x: -16.591339,
y: 5.637664
},
{
x: -16.599986,
y: 5.549873
},
{
x: -16.591339,
y: 5.462082
},
{
x: -16.565732,
y: 5.377665
},
{
x: -16.524147,
y: 5.299866
},
{
x: -16.468184,
y: 5.231675
},
{
x: -16.399993,
y: 5.175712
},
{
x: -16.322194,
y: 5.134127
},
{
x: -16.237777,
y: 5.10852
},
{
x: -16.149986,
y: 5.099873
},
{
x: -16.062195,
y: 5.10852
},
{
x: -15.977778,
y: 5.134127
},
{
x: -15.899979,
y: 5.175712
},
{
x: -15.831788,
y: 5.231675
},
{
x: -15.775825,
y: 5.299866
},
{
x: -15.73424,
y: 5.377665
},
{
x: -15.708633,
y: 5.462082
},
{
x: -15.699986,
y: 5.549873
},
{
x: -15.708633,
y: 5.637664
},
{
x: -15.73424,
y: 5.722081
},
{
x: -15.740042,
y: 5.732936
},
{
x: -15.703553,
y: 5.696447
},
{
x: -15.627785,
y: 5.634265
},
{
x: -15.541342,
y: 5.58806
},
{
x: -15.447545,
y: 5.559607
},
{
x: -15.35,
y: 5.55
},
{
x: -10.778645,
y: 5.55
},
{
x: -10.799105,
y: 5.52507
},
{
x: -10.84069,
y: 5.447271
},
{
x: -10.866297,
y: 5.362854
},
{
x: -10.874944,
y: 5.275063
},
{
x: -10.866297,
y: 5.187272
},
{
x: -10.84069,
y: 5.102855
},
{
x: -10.799105,
y: 5.025056
},
{
x: -10.776557,
y: 4.997581
},
{
x: -11.7,
y: 4.997581
},
{
x: -11.797545,
y: 4.987974
},
{
x: -11.891342,
y: 4.959521
},
{
x: -11.976412,
y: 4.91405
},
{
x: -11.991342,
y: 4.909521
},
{
x: -12.076412,
y: 4.86405
},
{
x: -12.091342,
y: 4.859521
},
{
x: -12.177785,
y: 4.813316
},
{
x: -12.247053,
y: 4.756468
},
{
x: -12.327785,
y: 4.713316
},
{
x: -12.403553,
y: 4.651134
},
{
x: -12.457106,
y: 4.597581
},
{
x: -13.562017,
y: 4.597581
},
{
x: -13.559198,
y: 4.602855
},
{
x: -13.533591,
y: 4.687272
},
{
x: -13.524944,
y: 4.775063
},
{
x: -13.533591,
y: 4.862854
},
{
x: -13.559198,
y: 4.947271
},
{
x: -13.600783,
y: 5.02507
},
{
x: -13.656746,
y: 5.093261
},
{
x: -13.724937,
y: 5.149224
},
{
x: -13.802736,
y: 5.190809
},
{
x: -13.887153,
y: 5.216416
},
{
x: -13.974944,
y: 5.225063
},
{
x: -14.062735,
y: 5.216416
},
{
x: -14.147152,
y: 5.190809
},
{
x: -14.224951,
y: 5.149224
},
{
x: -14.293142,
y: 5.093261
},
{
x: -14.349105,
y: 5.02507
},
{
x: -14.39069,
y: 4.947271
},
{
x: -14.416297,
y: 4.862854
},
{
x: -14.424944,
y: 4.775063
},
{
x: -14.416297,
y: 4.687272
},
{
x: -14.39069,
y: 4.602855
},
{
x: -14.387871,
y: 4.597581
},
{
x: -14.55,
y: 4.597581
},
{
x: -14.647545,
y: 4.587974
},
{
x: -14.741342,
y: 4.559521
},
{
x: -14.826412,
y: 4.51405
},
{
x: -14.841342,
y: 4.509521
},
{
x: -14.926412,
y: 4.46405
},
{
x: -14.941342,
y: 4.459521
},
{
x: -15.027785,
y: 4.413316
},
{
x: -15.090855,
y: 4.361555
},
{
x: -15.109254,
y: 4.422208
},
{
x: -15.150839,
y: 4.500007
},
{
x: -15.206802,
y: 4.568198
},
{
x: -15.274993,
y: 4.624161
},
{
x: -15.352792,
y: 4.665746
},
{
x: -15.437209,
y: 4.691353
},
{
x: -15.525,
y: 4.7
},
{
x: -15.612791,
y: 4.691353
},
{
x: -15.697208,
y: 4.665746
},
{
x: -15.775007,
y: 4.624161
},
{
x: -15.843198,
y: 4.568198
},
{
x: -15.899161,
y: 4.500007
},
{
x: -15.940746,
y: 4.422208
},
{
x: -15.966353,
y: 4.337791
},
{
x: -15.975,
y: 4.25
},
{
x: -15.966353,
y: 4.162209
},
{
x: -15.940746,
y: 4.077792
},
{
x: -15.899161,
y: 3.999993
},
{
x: -15.843198,
y: 3.931802
},
{
x: -15.775007,
y: 3.875839
},
{
x: -15.697208,
y: 3.834254
},
{
x: -15.612791,
y: 3.808647
},
{
x: -15.525,
y: 3.8
},
{
x: -15.504964,
y: 3.801973
},
{
x: -15.51194,
y: 3.788923
},
{
x: -15.540393,
y: 3.695126
},
{
x: -15.55,
y: 3.597581
},
{
x: -15.55,
y: 3.404687
},
{
x: -16.003553,
y: 2.951134
},
{
x: -16.065735,
y: 2.875366
},
{
x: -16.11194,
y: 2.788923
},
{
x: -16.116469,
y: 2.773993
},
{
x: -16.16194,
y: 2.688923
},
{
x: -16.166469,
y: 2.673993
},
{
x: -16.21194,
y: 2.588923
},
{
x: -16.240393,
y: 2.495126
},
{
x: -16.25,
y: 2.397581
},
{
x: -16.25,
y: -1.245313
},
{
x: -17.953553,
y: -2.948866
},
{
x: -18.015735,
y: -3.024634
},
{
x: -18.06194,
y: -3.111077
},
{
x: -18.090393,
y: -3.204874
},
{
x: -18.1,
y: -3.302419
},
{
x: -18.090393,
y: -3.399964
},
{
x: -18.06194,
y: -3.493761
},
{
x: -18.015735,
y: -3.580204
},
{
x: -17.953553,
y: -3.655972
},
{
x: -17.877785,
y: -3.718154
},
{
x: -17.791342,
y: -3.764359
},
{
x: -17.697545,
y: -3.792812
},
{
x: -17.6,
y: -3.802419
},
{
x: -17.502455,
y: -3.792812
},
{
x: -17.408658,
y: -3.764359
},
{
x: -17.322215,
y: -3.718154
},
{
x: -17.246447,
y: -3.655972
},
{
x: -15.396447,
y: -1.805972
},
{
x: -15.334265,
y: -1.730204
},
{
x: -15.28806,
y: -1.643761
},
{
x: -15.259607,
y: -1.549964
},
{
x: -15.25,
y: -1.452419
},
{
x: -15.25,
y: 1.759592
},
{
x: -15.237208,
y: 1.752754
},
{
x: -15.152791,
y: 1.727147
},
{
x: -15.065,
y: 1.7185
},
{
x: -15.009386,
y: 1.723978
},
{
x: -13.453727,
y: 0.168319
},
{
x: -13.462208,
y: 0.165746
},
{
x: -13.540007,
y: 0.124161
},
{
x: -13.608198,
y: 0.068198
},
{
x: -13.664161,
y: 0.000007
},
{
x: -13.705746,
y: -0.077792
},
{
x: -13.731353,
y: -0.162209
},
{
x: -13.74,
y: -0.25
},
{
x: -13.731353,
y: -0.337791
},
{
x: -13.72054,
y: -0.373438
},
{
x: -13.737879,
y: -0.375146
},
{
x: -13.822296,
y: -0.400753
},
{
x: -13.900095,
y: -0.442338
},
{
x: -13.968286,
y: -0.498301
},
{
x: -14.024249,
y: -0.566492
},
{
x: -14.065834,
y: -0.644291
},
{
x: -14.091441,
y: -0.728708
},
{
x: -14.100088,
y: -0.816499
},
{
x: -14.091441,
y: -0.90429
},
{
x: -14.065834,
y: -0.988707
},
{
x: -14.024249,
y: -1.066506
},
{
x: -13.968286,
y: -1.134697
},
{
x: -13.900095,
y: -1.19066
},
{
x: -13.822296,
y: -1.232245
},
{
x: -13.737879,
y: -1.257852
},
{
x: -13.650088,
y: -1.266499
},
{
x: -13.562297,
y: -1.257852
},
{
x: -13.534957,
y: -1.249559
},
{
x: -13.535,
y: -1.25
},
{
x: -13.526353,
y: -1.337791
},
{
x: -13.500746,
y: -1.422208
},
{
x: -13.468277,
y: -1.482952
},
{
x: -13.472144,
y: -1.484125
},
{
x: -13.549943,
y: -1.52571
},
{
x: -13.618134,
y: -1.581673
},
{
x: -13.674097,
y: -1.649864
},
{
x: -13.715682,
y: -1.727663
},
{
x: -13.741289,
y: -1.81208
},
{
x: -13.749936,
y: -1.899871
},
{
x: -13.741289,
y: -1.987662
},
{
x: -13.715682,
y: -2.072079
},
{
x: -13.674097,
y: -2.149878
},
{
x: -13.618134,
y: -2.218069
},
{
x: -13.549943,
y: -2.274032
},
{
x: -13.472144,
y: -2.315617
},
{
x: -13.387727,
y: -2.341224
},
{
x: -13.299936,
y: -2.349871
},
{
x: -13.212145,
y: -2.341224
},
{
x: -13.127728,
y: -2.315617
},
{
x: -13.049929,
y: -2.274032
},
{
x: -12.981738,
y: -2.218069
},
{
x: -12.935,
y: -2.161119
},
{
x: -12.935,
y: -2.275
},
{
x: -12.929716,
y: -2.32865
},
{
x: -12.914067,
y: -2.380238
},
{
x: -12.90543,
y: -2.396396
},
{
x: -12.904716,
y: -2.40365
},
{
x: -12.889067,
y: -2.455238
},
{
x: -12.866332,
y: -2.497773
},
{
x: -12.864067,
y: -2.505238
},
{
x: -12.838654,
y: -2.552782
},
{
x: -12.804454,
y: -2.594454
},
{
x: -12.654454,
y: -2.744454
},
{
x: -12.612782,
y: -2.778654
},
{
x: -12.565238,
y: -2.804067
},
{
x: -12.557773,
y: -2.806332
},
{
x: -12.515238,
y: -2.829067
},
{
x: -12.46365,
y: -2.844716
},
{
x: -12.456396,
y: -2.84543
},
{
x: -12.440238,
y: -2.854067
},
{
x: -12.38865,
y: -2.869716
},
{
x: -12.335,
y: -2.875
},
{
x: -12.298908,
y: -2.875
},
{
x: -12.154522,
y: -3.019386
},
{
x: -12.16,
y: -3.075
},
{
x: -12.151353,
y: -3.162791
},
{
x: -12.125746,
y: -3.247208
},
{
x: -12.084161,
y: -3.325007
},
{
x: -12.028198,
y: -3.393198
},
{
x: -11.960007,
y: -3.449161
},
{
x: -11.882208,
y: -3.490746
},
{
x: -11.797791,
y: -3.516353
},
{
x: -11.71,
y: -3.525
},
{
x: -11.622209,
y: -3.516353
},
{
x: -11.537792,
y: -3.490746
},
{
x: -11.459993,
y: -3.449161
},
{
x: -11.391802,
y: -3.393198
},
{
x: -11.335839,
y: -3.325007
},
{
x: -11.294254,
y: -3.247208
},
{
x: -11.268647,
y: -3.162791
},
{
x: -11.26,
y: -3.075
},
{
x: -11.268647,
y: -2.987209
},
{
x: -11.294254,
y: -2.902792
},
{
x: -11.335839,
y: -2.824993
},
{
x: -11.391802,
y: -2.756802
},
{
x: -11.459993,
y: -2.700839
},
{
x: -11.537792,
y: -2.659254
},
{
x: -11.622209,
y: -2.633647
},
{
x: -11.71,
y: -2.625
},
{
x: -11.765614,
y: -2.630478
},
{
x: -11.990546,
y: -2.405546
},
{
x: -12.032218,
y: -2.371346
},
{
x: -12.079762,
y: -2.345933
},
{
x: -12.13135,
y: -2.330284
},
{
x: -12.185,
y: -2.325
},
{
x: -12.247153,
y: -2.325
},
{
x: -12.254762,
y: -2.320933
},
{
x: -12.30635,
y: -2.305284
},
{
x: -12.313604,
y: -2.30457
},
{
x: -12.319873,
y: -2.301219
},
{
x: -12.361219,
y: -2.259873
},
{
x: -12.36457,
y: -2.253604
},
{
x: -12.365284,
y: -2.24635
},
{
x: -12.380933,
y: -2.194762
},
{
x: -12.385,
y: -2.187153
},
{
x: -12.385,
y: -1.675
},
{
x: -12.390284,
y: -1.62135
},
{
x: -12.405933,
y: -1.569762
},
{
x: -12.431346,
y: -1.522218
},
{
x: -12.465546,
y: -1.480546
},
{
x: -12.640478,
y: -1.305614
},
{
x: -12.635,
y: -1.25
},
{
x: -12.643647,
y: -1.162209
},
{
x: -12.669254,
y: -1.077792
},
{
x: -12.710839,
y: -0.999993
},
{
x: -12.766802,
y: -0.931802
},
{
x: -12.834993,
y: -0.875839
},
{
x: -12.912792,
y: -0.834254
},
{
x: -12.997209,
y: -0.808647
},
{
x: -13.085,
y: -0.8
},
{
x: -13.172791,
y: -0.808647
},
{
x: -13.200131,
y: -0.81694
},
{
x: -13.200088,
y: -0.816499
},
{
x: -13.208735,
y: -0.728708
},
{
x: -13.219548,
y: -0.693061
},
{
x: -13.202209,
y: -0.691353
},
{
x: -13.117792,
y: -0.665746
},
{
x: -13.039993,
y: -0.624161
},
{
x: -12.971802,
y: -0.568198
},
{
x: -12.915839,
y: -0.500007
},
{
x: -12.874254,
y: -0.422208
},
{
x: -12.871681,
y: -0.413727
},
{
x: -12.064954,
y: -1.220454
},
{
x: -12.023282,
y: -1.254654
},
{
x: -11.975738,
y: -1.280067
},
{
x: -11.92415,
y: -1.295716
},
{
x: -11.8705,
y: -1.301
},
{
x: -11.49365,
y: -1.301
},
{
x: -11.458198,
y: -1.344198
},
{
x: -11.390007,
y: -1.400161
},
{
x: -11.312208,
y: -1.441746
},
{
x: -11.227791,
y: -1.467353
},
{
x: -11.14,
y: -1.476
},
{
x: -11.052209,
y: -1.467353
},
{
x: -10.9783,
y: -1.444933
},
{
x: -10.9783,
y: -2.207229
},
{
x: -11.012008,
y: -2.217454
},
{
x: -11.089807,
y: -2.259039
},
{
x: -11.157998,
y: -2.315002
},
{
x: -11.213961,
y: -2.383193
},
{
x: -11.255546,
y: -2.460992
},
{
x: -11.281153,
y: -2.545409
},
{
x: -11.2898,
y: -2.6332
},
{
x: -11.281153,
y: -2.720991
},
{
x: -11.255546,
y: -2.805408
},
{
x: -11.213961,
y: -2.883207
},
{
x: -11.157998,
y: -2.951398
},
{
x: -11.089807,
y: -3.007361
},
{
x: -11.012008,
y: -3.048946
},
{
x: -10.927591,
y: -3.074553
},
{
x: -10.8398,
y: -3.0832
},
{
x: -10.752009,
y: -3.074553
},
{
x: -10.667592,
y: -3.048946
},
{
x: -10.589793,
y: -3.007361
},
{
x: -10.521602,
y: -2.951398
},
{
x: -10.465639,
y: -2.883207
},
{
x: -10.424054,
y: -2.805408
},
{
x: -10.398447,
y: -2.720991
},
{
x: -10.3898,
y: -2.6332
},
{
x: -10.398447,
y: -2.545409
},
{
x: -10.424054,
y: -2.460992
},
{
x: -10.4283,
y: -2.453048
},
{
x: -10.4283,
y: 0.2323
},
{
x: -10.433584,
y: 0.28595
},
{
x: -10.449233,
y: 0.337538
},
{
x: -10.47138,
y: 0.378972
},
{
x: -10.1929,
y: 0.100492
},
{
x: -10.1929,
y: -2.27595
},
{
x: -10.236098,
y: -2.311402
},
{
x: -10.292061,
y: -2.379593
},
{
x: -10.333646,
y: -2.457392
},
{
x: -10.359253,
y: -2.541809
},
{
x: -10.3679,
y: -2.6296
},
{
x: -10.359253,
y: -2.717391
},
{
x: -10.333646,
y: -2.801808
},
{
x: -10.292061,
y: -2.879607
},
{
x: -10.236366,
y: -2.947471
},
{
x: -10.278198,
y: -2.981802
},
{
x: -10.334161,
y: -3.049993
},
{
x: -10.375746,
y: -3.127792
},
{
x: -10.401353,
y: -3.212209
},
{
x: -10.41,
y: -3.3
},
{
x: -10.401353,
y: -3.387791
},
{
x: -10.375746,
y: -3.472208
},
{
x: -10.334161,
y: -3.550007
},
{
x: -10.278198,
y: -3.618198
},
{
x: -10.210007,
y: -3.674161
},
{
x: -10.132208,
y: -3.715746
},
{
x: -10.047791,
y: -3.741353
},
{
x: -9.96,
y: -3.75
},
{
x: -9.904386,
y: -3.744522
},
{
x: -9.804454,
y: -3.844454
},
{
x: -9.762782,
y: -3.878654
},
{
x: -9.715238,
y: -3.904067
},
{
x: -9.707773,
y: -3.906332
},
{
x: -9.665238,
y: -3.929067
},
{
x: -9.657773,
y: -3.931332
},
{
x: -9.615238,
y: -3.954067
},
{
x: -9.56365,
y: -3.969716
},
{
x: -9.556396,
y: -3.97043
},
{
x: -9.540238,
y: -3.979067
},
{
x: -9.48865,
y: -3.994716
},
{
x: -9.435,
y: -4
},
{
x: -9.21,
y: -4
},
{
x: -9.15635,
y: -3.994716
},
{
x: -9.104762,
y: -3.979067
},
{
x: -9.088604,
y: -3.97043
},
{
x: -9.08135,
y: -3.969716
},
{
x: -9.029762,
y: -3.954067
},
{
x: -8.987227,
y: -3.931332
},
{
x: -8.979762,
y: -3.929067
},
{
x: -8.932218,
y: -3.903654
},
{
x: -8.897585,
y: -3.875231
},
{
x: -8.857218,
y: -3.853654
},
{
x: -8.815546,
y: -3.819454
},
{
x: -8.796092,
y: -3.8
},
{
x: -8.76,
y: -3.8
},
{
x: -8.70635,
y: -3.794716
},
{
x: -8.654762,
y: -3.779067
},
{
x: -8.647153,
y: -3.775
},
{
x: -8.485,
y: -3.775
},
{
x: -8.436227,
y: -3.770196
},
{
x: -8.389329,
y: -3.75597
},
{
x: -8.370967,
y: -3.746155
},
{
x: -8.361227,
y: -3.745196
},
{
x: -8.314329,
y: -3.73097
},
{
x: -8.271107,
y: -3.707867
},
{
x: -8.23647,
y: -3.679442
},
{
x: -8.196107,
y: -3.657867
},
{
x: -8.158223,
y: -3.626777
},
{
x: -8.108223,
y: -3.576777
},
{
x: -8.077133,
y: -3.538893
},
{
x: -8.055558,
y: -3.49853
},
{
x: -8.027133,
y: -3.463893
},
{
x: -8.00403,
y: -3.420671
},
{
x: -7.989804,
y: -3.373773
},
{
x: -7.988845,
y: -3.364033
},
{
x: -7.97903,
y: -3.345671
},
{
x: -7.964804,
y: -3.298773
},
{
x: -7.96,
y: -3.25
},
{
x: -7.96,
y: -3.060367
},
{
x: -7.939492,
y: -3.054146
},
{
x: -7.861693,
y: -3.012561
},
{
x: -7.793502,
y: -2.956598
},
{
x: -7.737539,
y: -2.888407
},
{
x: -7.695954,
y: -2.810608
},
{
x: -7.670347,
y: -2.726191
},
{
x: -7.6617,
y: -2.6384
},
{
x: -7.670347,
y: -2.550609
},
{
x: -7.695954,
y: -2.466192
},
{
x: -7.737539,
y: -2.388393
},
{
x: -7.793502,
y: -2.320202
},
{
x: -7.861693,
y: -2.264239
},
{
x: -7.939492,
y: -2.222654
},
{
x: -8.023909,
y: -2.197047
},
{
x: -8.1117,
y: -2.1884
},
{
x: -8.199491,
y: -2.197047
},
{
x: -8.283908,
y: -2.222654
},
{
x: -8.35,
y: -2.257981
},
{
x: -8.35,
y: 2.24
},
{
x: -8.355284,
y: 2.29365
},
{
x: -8.370933,
y: 2.345238
},
{
x: -8.396346,
y: 2.392782
},
{
x: -8.430546,
y: 2.434454
},
{
x: -9.480478,
y: 3.484386
},
{
x: -9.475,
y: 3.54
},
{
x: -9.483647,
y: 3.627791
},
{
x: -9.509254,
y: 3.712208
},
{
x: -9.516092,
y: 3.725
},
{
x: -8.46,
y: 3.725
},
{
x: -8.40635,
y: 3.730284
},
{
x: -8.354762,
y: 3.745933
},
{
x: -8.307218,
y: 3.771346
},
{
x: -8.265546,
y: 3.805546
},
{
x: -8.094573,
y: 3.976519
},
{
x: -8.05635,
y: 3.980284
},
{
x: -8.004762,
y: 3.995933
},
{
x: -7.957218,
y: 4.021346
},
{
x: -7.952766,
y: 4.025
},
{
x: -6.864357,
y: 4.025
},
{
x: -6.865849,
y: 4.022208
},
{
x: -6.881344,
y: 3.971127
},
{
x: -6.944855,
y: 3.990393
},
{
x: -7.0424,
y: 4
},
{
x: -7.139945,
y: 3.990393
},
{
x: -7.233742,
y: 3.96194
},
{
x: -7.320185,
y: 3.915735
},
{
x: -7.395953,
y: 3.853553
},
{
x: -7.458135,
y: 3.777785
},
{
x: -7.50434,
y: 3.691342
},
{
x: -7.532793,
y: 3.597545
},
{
x: -7.5424,
y: 3.5
},
{
x: -7.532793,
y: 3.402455
},
{
x: -7.50434,
y: 3.308658
},
{
x: -7.458135,
y: 3.222215
},
{
x: -7.395953,
y: 3.146447
},
{
x: -5.4424,
y: 1.192894
},
{
x: -5.4424,
y: 0.8
},
{
x: -5.432793,
y: 0.702455
},
{
x: -5.40434,
y: 0.608658
},
{
x: -5.358135,
y: 0.522215
},
{
x: -5.295953,
y: 0.446447
},
{
x: -3.1924,
y: -1.657106
},
{
x: -3.1924,
y: -3.55
},
{
x: -3.182793,
y: -3.647545
},
{
x: -3.15434,
y: -3.741342
},
{
x: -3.134712,
y: -3.778064
},
{
x: -3.132793,
y: -3.797545
},
{
x: -3.10434,
y: -3.891342
},
{
x: -3.058869,
y: -3.976412
},
{
x: -3.05434,
y: -3.991342
},
{
x: -3.008869,
y: -4.076412
},
{
x: -3.00434,
y: -4.091342
},
{
x: -2.958135,
y: -4.177785
},
{
x: -2.895953,
y: -4.253553
},
{
x: -2.745953,
y: -4.403553
},
{
x: -2.670185,
y: -4.465735
},
{
x: -2.65201,
y: -4.47545
},
{
x: -4.975,
y: -4.47545
},
{
x: -5.02865,
y: -4.480734
},
{
x: -5.080238,
y: -4.496383
},
{
x: -5.096396,
y: -4.50502
},
{
x: -5.10365,
y: -4.505734
},
{
x: -5.155238,
y: -4.521383
},
{
x: -5.197773,
y: -4.544118
},
{
x: -5.205238,
y: -4.546383
},
{
x: -5.252782,
y: -4.571796
},
{
x: -5.294454,
y: -4.605996
},
{
x: -5.444454,
y: -4.755996
},
{
x: -5.478654,
y: -4.797668
},
{
x: -5.504067,
y: -4.845212
},
{
x: -5.506332,
y: -4.852677
},
{
x: -5.529067,
y: -4.895212
},
{
x: -5.544716,
y: -4.9468
},
{
x: -5.55,
y: -5.00045
},
{
x: -5.55,
y: -5.05045
},
{
x: -5.544716,
y: -5.1041
},
{
x: -5.5425,
y: -5.111405
},
{
x: -5.5425,
y: -5.274684
},
{
x: -5.5475,
y: -5.32545
},
{
x: -5.542264,
y: -5.378612
},
{
x: -5.526757,
y: -5.429731
},
{
x: -5.504022,
y: -5.472266
},
{
x: -5.501757,
y: -5.479731
},
{
x: -5.485034,
y: -5.511017
},
{
x: -5.479067,
y: -5.530688
},
{
x: -5.456332,
y: -5.573223
},
{
x: -5.454067,
y: -5.580688
},
{
x: -5.428654,
y: -5.628232
},
{
x: -5.394454,
y: -5.669904
},
{
x: -5.092594,
y: -5.971764
},
{
x: -5.100071,
y: -5.97576
},
{
x: -5.168262,
y: -6.031723
},
{
x: -5.224225,
y: -6.099914
},
{
x: -5.254511,
y: -6.156574
},
{
x: -5.750056,
y: -5.661029
},
{
x: -5.750056,
y: -2.478587
},
{
x: -5.706858,
y: -2.443135
},
{
x: -5.650895,
y: -2.374944
},
{
x: -5.60931,
y: -2.297145
},
{
x: -5.583703,
y: -2.212728
},
{
x: -5.581787,
y: -2.193271
},
{
x: -5.562312,
y: -2.191353
},
{
x: -5.477895,
y: -2.165746
},
{
x: -5.400096,
y: -2.124161
},
{
x: -5.331905,
y: -2.068198
},
{
x: -5.275942,
y: -2.000007
},
{
x: -5.234357,
y: -1.922208
},
{
x: -5.20875,
y: -1.837791
},
{
x: -5.200103,
y: -1.75
},
{
x: -5.20875,
y: -1.662209
},
{
x: -5.234357,
y: -1.577792
},
{
x: -5.275942,
y: -1.499993
},
{
x: -5.331905,
y: -1.431802
},
{
x: -5.400096,
y: -1.375839
},
{
x: -5.477895,
y: -1.334254
},
{
x: -5.562312,
y: -1.308647
},
{
x: -5.650103,
y: -1.3
},
{
x: -5.737894,
y: -1.308647
},
{
x: -5.822311,
y: -1.334254
},
{
x: -5.90011,
y: -1.375839
},
{
x: -5.968301,
y: -1.431802
},
{
x: -6.024264,
y: -1.499993
},
{
x: -6.065849,
y: -1.577792
},
{
x: -6.091456,
y: -1.662209
},
{
x: -6.093372,
y: -1.681666
},
{
x: -6.112847,
y: -1.683584
},
{
x: -6.197264,
y: -1.709191
},
{
x: -6.275063,
y: -1.750776
},
{
x: -6.343254,
y: -1.806739
},
{
x: -6.399217,
y: -1.87493
},
{
x: -6.440802,
y: -1.952729
},
{
x: -6.466409,
y: -2.037146
},
{
x: -6.475056,
y: -2.124937
},
{
x: -6.466409,
y: -2.212728
},
{
x: -6.440802,
y: -2.297145
},
{
x: -6.399217,
y: -2.374944
},
{
x: -6.343254,
y: -2.443135
},
{
x: -6.300056,
y: -2.478587
},
{
x: -6.300056,
y: -3.249193
},
{
x: -6.327856,
y: -3.234333
},
{
x: -6.373148,
y: -3.220594
},
{
x: -6.358647,
y: -3.172791
},
{
x: -6.35,
y: -3.085
},
{
x: -6.358647,
y: -2.997209
},
{
x: -6.384254,
y: -2.912792
},
{
x: -6.425839,
y: -2.834993
},
{
x: -6.481802,
y: -2.766802
},
{
x: -6.549993,
y: -2.710839
},
{
x: -6.627792,
y: -2.669254
},
{
x: -6.712209,
y: -2.643647
},
{
x: -6.8,
y: -2.635
},
{
x: -6.887791,
y: -2.643647
},
{
x: -6.972208,
y: -2.669254
},
{
x: -7.050007,
y: -2.710839
},
{
x: -7.118198,
y: -2.766802
},
{
x: -7.174161,
y: -2.834993
},
{
x: -7.215746,
y: -2.912792
},
{
x: -7.241353,
y: -2.997209
},
{
x: -7.25,
y: -3.085
},
{
x: -7.241353,
y: -3.172791
},
{
x: -7.215746,
y: -3.257208
},
{
x: -7.174161,
y: -3.335007
},
{
x: -7.118198,
y: -3.403198
},
{
x: -7.050007,
y: -3.459161
},
{
x: -6.972208,
y: -3.500746
},
{
x: -6.926916,
y: -3.514485
},
{
x: -6.941417,
y: -3.562288
},
{
x: -6.950064,
y: -3.650079
},
{
x: -6.941417,
y: -3.73787
},
{
x: -6.91581,
y: -3.822287
},
{
x: -6.874225,
y: -3.900086
},
{
x: -6.818262,
y: -3.968277
},
{
x: -6.750071,
y: -4.02424
},
{
x: -6.672272,
y: -4.065825
},
{
x: -6.587855,
y: -4.091432
},
{
x: -6.500064,
y: -4.100079
},
{
x: -6.412273,
y: -4.091432
},
{
x: -6.327856,
y: -4.065825
},
{
x: -6.300056,
y: -4.050965
},
{
x: -6.300056,
y: -4.525765
},
{
x: -6.300057,
y: -4.525764
},
{
x: -6.377856,
y: -4.484179
},
{
x: -6.462273,
y: -4.458572
},
{
x: -6.550064,
y: -4.449925
},
{
x: -6.637855,
y: -4.458572
},
{
x: -6.722272,
y: -4.484179
},
{
x: -6.800071,
y: -4.525764
},
{
x: -6.868262,
y: -4.581727
},
{
x: -6.924225,
y: -4.649918
},
{
x: -6.96581,
y: -4.727717
},
{
x: -6.991417,
y: -4.812134
},
{
x: -7.000064,
y: -4.899925
},
{
x: -6.991417,
y: -4.987716
},
{
x: -6.96581,
y: -5.072133
},
{
x: -6.924225,
y: -5.149932
},
{
x: -6.868262,
y: -5.218123
},
{
x: -6.800071,
y: -5.274086
},
{
x: -6.768495,
y: -5.290964
},
{
x: -6.818238,
y: -5.331787
},
{
x: -6.874201,
y: -5.399978
},
{
x: -6.915786,
y: -5.477777
},
{
x: -6.941393,
y: -5.562194
},
{
x: -6.95004,
y: -5.649985
},
{
x: -6.941393,
y: -5.737776
},
{
x: -6.915786,
y: -5.822193
},
{
x: -6.874201,
y: -5.899992
},
{
x: -6.818238,
y: -5.968183
},
{
x: -6.750047,
y: -6.024146
},
{
x: -6.672248,
y: -6.065731
},
{
x: -6.587831,
y: -6.091338
},
{
x: -6.50004,
y: -6.099985
},
{
x: -6.412249,
y: -6.091338
},
{
x: -6.327832,
y: -6.065731
},
{
x: -6.250033,
y: -6.024146
},
{
x: -6.203194,
y: -5.985707
},
{
x: -5.648537,
y: -6.540364
},
{
x: -5.644772,
y: -6.578587
},
{
x: -5.629123,
y: -6.630175
},
{
x: -5.60371,
y: -6.677719
},
{
x: -5.56951,
y: -6.719391
},
{
x: -5.550056,
y: -6.738845
},
{
x: -5.550056,
y: -7.401036
},
{
x: -6.055478,
y: -6.895614
},
{
x: -6.05,
y: -6.84
},
{
x: -6.058647,
y: -6.752209
},
{
x: -6.084254,
y: -6.667792
},
{
x: -6.125839,
y: -6.589993
},
{
x: -6.181802,
y: -6.521802
},
{
x: -6.249993,
y: -6.465839
},
{
x: -6.327792,
y: -6.424254
},
{
x: -6.412209,
y: -6.398647
},
{
x: -6.5,
y: -6.39
},
{
x: -6.587791,
y: -6.398647
},
{
x: -6.672208,
y: -6.424254
},
{
x: -6.750007,
y: -6.465839
},
{
x: -6.806713,
y: -6.512376
},
{
x: -6.831866,
y: -6.481727
},
{
x: -6.900057,
y: -6.425764
},
{
x: -6.977856,
y: -6.384179
},
{
x: -7.062273,
y: -6.358572
},
{
x: -7.150064,
y: -6.349925
},
{
x: -7.237855,
y: -6.358572
},
{
x: -7.322272,
y: -6.384179
},
{
x: -7.400071,
y: -6.425764
},
{
x: -7.468262,
y: -6.481727
},
{
x: -7.524225,
y: -6.549918
},
{
x: -7.56581,
y: -6.627717
},
{
x: -7.591417,
y: -6.712134
},
{
x: -7.600064,
y: -6.799925
},
{
x: -7.591417,
y: -6.887716
},
{
x: -7.56581,
y: -6.972133
},
{
x: -7.524225,
y: -7.049932
},
{
x: -7.468262,
y: -7.118123
},
{
x: -7.400071,
y: -7.174086
},
{
x: -7.322272,
y: -7.215671
},
{
x: -7.237855,
y: -7.241278
},
{
x: -7.150064,
y: -7.249925
},
{
x: -7.062273,
y: -7.241278
},
{
x: -6.977856,
y: -7.215671
},
{
x: -6.900057,
y: -7.174086
},
{
x: -6.843351,
y: -7.127549
},
{
x: -6.818198,
y: -7.158198
},
{
x: -6.757167,
y: -7.208285
},
{
x: -6.790007,
y: -7.225839
},
{
x: -6.858198,
y: -7.281802
},
{
x: -6.914161,
y: -7.349993
},
{
x: -6.955746,
y: -7.427792
},
{
x: -6.981353,
y: -7.512209
},
{
x: -6.983627,
y: -7.535294
},
{
x: -7.006958,
y: -7.506865
},
{
x: -7.075149,
y: -7.450902
},
{
x: -7.152948,
y: -7.409317
},
{
x: -7.237365,
y: -7.38371
},
{
x: -7.325156,
y: -7.375063
},
{
x: -7.412947,
y: -7.38371
},
{
x: -7.497364,
y: -7.409317
},
{
x: -7.575163,
y: -7.450902
},
{
x: -7.643354,
y: -7.506865
},
{
x: -7.699317,
y: -7.575056
},
{
x: -7.740902,
y: -7.652855
},
{
x: -7.763049,
y: -7.725866
},
{
x: -7.769654,
y: -7.704092
},
{
x: -7.811239,
y: -7.626293
},
{
x: -7.867202,
y: -7.558102
},
{
x: -7.935393,
y: -7.502139
},
{
x: -8.013192,
y: -7.460554
},
{
x: -8.097609,
y: -7.434947
},
{
x: -8.1854,
y: -7.4263
},
{
x: -8.273191,
y: -7.434947
},
{
x: -8.327469,
y: -7.451412
},
{
x: -8.333799,
y: -7.387146
},
{
x: -8.359406,
y: -7.302729
},
{
x: -8.400991,
y: -7.22493
},
{
x: -8.456954,
y: -7.156739
},
{
x: -8.525145,
y: -7.100776
},
{
x: -8.602944,
y: -7.059191
},
{
x: -8.687361,
y: -7.033584
},
{
x: -8.775152,
y: -7.024937
},
{
x: -8.862943,
y: -7.033584
},
{
x: -8.94736,
y: -7.059191
},
{
x: -8.950106,
y: -7.060659
},
{
x: -8.950106,
y: -5.725063
},
{
x: -8.95539,
y: -5.671413
},
{
x: -8.971039,
y: -5.619825
},
{
x: -8.996452,
y: -5.572281
},
{
x: -9.030652,
y: -5.530609
},
{
x: -10.680584,
y: -3.880677
},
{
x: -10.675106,
y: -3.825063
},
{
x: -10.683753,
y: -3.737272
},
{
x: -10.70936,
y: -3.652855
},
{
x: -10.750945,
y: -3.575056
},
{
x: -10.806908,
y: -3.506865
},
{
x: -10.875099,
y: -3.450902
},
{
x: -10.952898,
y: -3.409317
},
{
x: -11.037315,
y: -3.38371
},
{
x: -11.125106,
y: -3.375063
},
{
x: -11.212897,
y: -3.38371
},
{
x: -11.297314,
y: -3.409317
},
{
x: -11.375113,
y: -3.450902
},
{
x: -11.443304,
y: -3.506865
},
{
x: -11.499267,
y: -3.575056
},
{
x: -11.540852,
y: -3.652855
},
{
x: -11.566459,
y: -3.737272
},
{
x: -11.575106,
y: -3.825063
},
{
x: -11.572444,
y: -3.852092
},
{
x: -11.637727,
y: -3.858522
},
{
x: -11.722144,
y: -3.884129
},
{
x: -11.799943,
y: -3.925714
},
{
x: -11.868134,
y: -3.981677
},
{
x: -11.924097,
y: -4.049868
},
{
x: -11.965682,
y: -4.127667
},
{
x: -11.991289,
y: -4.212084
},
{
x: -11.999936,
y: -4.299875
},
{
x: -11.991289,
y: -4.387666
},
{
x: -11.965682,
y: -4.472083
},
{
x: -11.924097,
y: -4.549882
},
{
x: -11.868134,
y: -4.618073
},
{
x: -11.799943,
y: -4.674036
},
{
x: -11.757102,
y: -4.696936
},
{
x: -11.802742,
y: -4.721331
},
{
x: -11.81951,
y: -4.735092
},
{
x: -11.855198,
y: -4.745918
},
{
x: -11.902742,
y: -4.771331
},
{
x: -11.944414,
y: -4.805531
},
{
x: -12.513868,
y: -5.374985
},
{
x: -14.04996,
y: -5.374985
},
{
x: -14.10361,
y: -5.380269
},
{
x: -14.155198,
y: -5.395918
},
{
x: -14.202742,
y: -5.421331
},
{
x: -14.21951,
y: -5.435092
},
{
x: -14.255198,
y: -5.445918
},
{
x: -14.302742,
y: -5.471331
},
{
x: -14.344414,
y: -5.505531
},
{
x: -15.813868,
y: -6.974985
},
{
x: -16.39996,
y: -6.974985
},
{
x: -16.45361,
y: -6.980269
},
{
x: -16.505198,
y: -6.995918
},
{
x: -16.552742,
y: -7.021331
},
{
x: -16.56951,
y: -7.035092
},
{
x: -16.605198,
y: -7.045918
},
{
x: -16.652742,
y: -7.071331
},
{
x: -16.694414,
y: -7.105531
},
{
x: -16.794414,
y: -7.205531
},
{
x: -16.828614,
y: -7.247203
},
{
x: -16.854027,
y: -7.294747
},
{
x: -16.862909,
y: -7.324026
},
{
x: -18.644414,
y: -9.105531
},
{
x: -18.678614,
y: -9.147203
},
{
x: -18.704027,
y: -9.194747
},
{
x: -18.714853,
y: -9.230435
},
{
x: -18.728614,
y: -9.247203
},
{
x: -18.754027,
y: -9.294747
},
{
x: -18.769676,
y: -9.346335
},
{
x: -18.77496,
y: -9.399985
},
{
x: -18.77496,
y: -9.436077
},
{
x: -18.944346,
y: -9.605463
},
{
x: -18.99996,
y: -9.599985
},
{
x: -19.087751,
y: -9.608632
},
{
x: -19.172168,
y: -9.634239
},
{
x: -19.249967,
y: -9.675824
},
{
x: -19.318158,
y: -9.731787
},
{
x: -19.374121,
y: -9.799978
},
{
x: -19.415706,
y: -9.877777
},
{
x: -19.441313,
y: -9.962194
},
{
x: -19.44996,
y: -10.049985
},
{
x: -19.441313,
y: -10.137776
},
{
x: -19.415706,
y: -10.222193
},
{
x: -19.374121,
y: -10.299992
},
{
x: -19.318158,
y: -10.368183
},
{
x: -19.249967,
y: -10.424146
},
{
x: -19.172168,
y: -10.465731
},
{
x: -19.087751,
y: -10.491338
},
{
x: -18.99996,
y: -10.499985
},
{
x: -18.912169,
y: -10.491338
},
{
x: -18.827752,
y: -10.465731
},
{
x: -18.749953,
y: -10.424146
},
{
x: -18.681762,
y: -10.368183
},
{
x: -18.625799,
y: -10.299992
},
{
x: -18.584214,
y: -10.222193
},
{
x: -18.558607,
y: -10.137776
},
{
x: -18.54996,
y: -10.049985
},
{
x: -18.555438,
y: -9.994371
},
{
x: -18.395731,
y: -9.834664
},
{
x: -18.368198,
y: -9.868213
},
{
x: -18.300007,
y: -9.924176
},
{
x: -18.222208,
y: -9.965761
},
{
x: -18.137791,
y: -9.991368
},
{
x: -18.05,
y: -10.000015
},
{
x: -17.962209,
y: -9.991368
},
{
x: -17.877792,
y: -9.965761
},
{
x: -17.799993,
y: -9.924176
},
{
x: -17.731802,
y: -9.868213
},
{
x: -17.720525,
y: -9.854472
},
{
x: -17.668238,
y: -9.918183
},
{
x: -17.600047,
y: -9.974146
},
{
x: -17.522248,
y: -10.015731
},
{
x: -17.437831,
y: -10.041338
},
{
x: -17.35004,
y: -10.049985
},
{
x: -17.262249,
y: -10.041338
},
{
x: -17.177832,
y: -10.015731
},
{
x: -17.100033,
y: -9.974146
},
{
x: -17.031842,
y: -9.918183
},
{
x: -16.975879,
y: -9.849992
},
{
x: -16.934294,
y: -9.772193
},
{
x: -16.908687,
y: -9.687776
},
{
x: -16.90004,
y: -9.599985
},
{
x: -16.908687,
y: -9.512194
},
{
x: -16.934294,
y: -9.427777
},
{
x: -16.975879,
y: -9.349978
},
{
x: -17.031842,
y: -9.281787
},
{
x: -17.100033,
y: -9.225824
},
{
x: -17.177832,
y: -9.184239
},
{
x: -17.262249,
y: -9.158632
},
{
x: -17.35004,
y: -9.149985
},
{
x: -17.437831,
y: -9.158632
},
{
x: -17.522248,
y: -9.184239
},
{
x: -17.600047,
y: -9.225824
},
{
x: -17.668238,
y: -9.281787
},
{
x: -17.679515,
y: -9.295528
},
{
x: -17.731802,
y: -9.231817
},
{
x: -17.799993,
y: -9.175854
},
{
x: -17.877792,
y: -9.134269
},
{
x: -17.891253,
y: -9.130186
},
{
x: -16.405506,
y: -7.644439
},
{
x: -16.371306,
y: -7.602767
},
{
x: -16.345893,
y: -7.555223
},
{
x: -16.34562,
y: -7.554325
},
{
x: -16.344722,
y: -7.554052
},
{
x: -16.297178,
y: -7.528639
},
{
x: -16.292726,
y: -7.524985
},
{
x: -15.69996,
y: -7.524985
},
{
x: -15.64631,
y: -7.519701
},
{
x: -15.594722,
y: -7.504052
},
{
x: -15.547178,
y: -7.478639
},
{
x: -15.505506,
y: -7.444439
},
{
x: -14.319759,
y: -6.258692
},
{
x: -14.315682,
y: -6.272133
},
{
x: -14.274097,
y: -6.349932
},
{
x: -14.218134,
y: -6.418123
},
{
x: -14.149943,
y: -6.474086
},
{
x: -14.074936,
y: -6.514179
},
{
x: -14.074936,
y: -7.502233
},
{
x: -14.077704,
y: -7.500753
},
{
x: -14.162121,
y: -7.475146
},
{
x: -14.249912,
y: -7.466499
},
{
x: -14.337703,
y: -7.475146
},
{
x: -14.42212,
y: -7.500753
},
{
x: -14.499919,
y: -7.542338
},
{
x: -14.56811,
y: -7.598301
},
{
x: -14.624073,
y: -7.666492
},
{
x: -14.665658,
y: -7.744291
},
{
x: -14.691265,
y: -7.828708
},
{
x: -14.699912,
y: -7.916499
},
{
x: -14.691265,
y: -8.00429
},
{
x: -14.665658,
y: -8.088707
},
{
x: -14.624073,
y: -8.166506
},
{
x: -14.56811,
y: -8.234697
},
{
x: -14.499919,
y: -8.29066
},
{
x: -14.42212,
y: -8.332245
},
{
x: -14.337703,
y: -8.357852
},
{
x: -14.249912,
y: -8.366499
},
{
x: -14.162121,
y: -8.357852
},
{
x: -14.077704,
y: -8.332245
},
{
x: -14.074936,
y: -8.330765
},
{
x: -14.074936,
y: -9.229832
},
{
x: -14.099905,
y: -9.20934
},
{
x: -14.177704,
y: -9.167755
},
{
x: -14.262121,
y: -9.142148
},
{
x: -14.349912,
y: -9.133501
},
{
x: -14.437703,
y: -9.142148
},
{
x: -14.52212,
y: -9.167755
},
{
x: -14.599919,
y: -9.20934
},
{
x: -14.66811,
y: -9.265303
},
{
x: -14.724073,
y: -9.333494
},
{
x: -14.765658,
y: -9.411293
},
{
x: -14.791265,
y: -9.49571
},
{
x: -14.799912,
y: -9.583501
},
{
x: -14.791265,
y: -9.671292
},
{
x: -14.765658,
y: -9.755709
},
{
x: -14.724073,
y: -9.833508
},
{
x: -14.66811,
y: -9.901699
},
{
x: -14.599919,
y: -9.957662
},
{
x: -14.52212,
y: -9.999247
},
{
x: -14.437703,
y: -10.024854
},
{
x: -14.374912,
y: -10.031039
},
{
x: -14.374912,
y: -12.533501
},
{
x: -14.369628,
y: -12.587151
},
{
x: -14.353979,
y: -12.638739
},
{
x: -14.328566,
y: -12.686283
},
{
x: -14.314805,
y: -12.703051
},
{
x: -14.303979,
y: -12.738739
},
{
x: -14.278566,
y: -12.786283
},
{
x: -14.244366,
y: -12.827955
},
{
x: -10.074912,
y: -16.997409
},
{
x: -10.074912,
y: -18.283501
},
{
x: -10.069628,
y: -18.337151
},
{
x: -10.053979,
y: -18.388739
},
{
x: -10.028566,
y: -18.436283
},
{
x: -10.014805,
y: -18.453051
},
{
x: -10.003979,
y: -18.488739
},
{
x: -9.978566,
y: -18.536283
},
{
x: -9.944366,
y: -18.577955
},
{
x: -9.794366,
y: -18.727955
},
{
x: -9.752694,
y: -18.762155
},
{
x: -9.70515,
y: -18.787568
},
{
x: -9.653562,
y: -18.803217
},
{
x: -9.608133,
y: -18.807691
},
{
x: -9.602694,
y: -18.812155
},
{
x: -9.55515,
y: -18.837568
},
{
x: -9.503562,
y: -18.853217
},
{
x: -9.449912,
y: -18.858501
},
{
x: -8.355353,
y: -18.858501
},
{
x: -8.365732,
y: -18.877919
},
{
x: -8.391339,
y: -18.962336
},
{
x: -8.399986,
y: -19.050127
},
{
x: -8.391339,
y: -19.137918
},
{
x: -8.365732,
y: -19.222335
},
{
x: -8.324147,
y: -19.300134
},
{
x: -8.268184,
y: -19.368325
},
{
x: -8.199993,
y: -19.424288
},
{
x: -8.122194,
y: -19.465873
},
{
x: -8.037777,
y: -19.49148
},
{
x: -7.949986,
y: -19.500127
},
{
x: -7.862195,
y: -19.49148
},
{
x: -7.777778,
y: -19.465873
},
{
x: -7.699979,
y: -19.424288
},
{
x: -7.631788,
y: -19.368325
},
{
x: -7.575825,
y: -19.300134
},
{
x: -7.53424,
y: -19.222335
},
{
x: -7.508633,
y: -19.137918
},
{
x: -7.499986,
y: -19.050127
},
{
x: -7.508633,
y: -18.962336
},
{
x: -7.53424,
y: -18.877919
},
{
x: -7.544619,
y: -18.858501
},
{
x: -4.31382,
y: -18.858501
},
{
x: -3.194366,
y: -19.977955
},
{
x: -3.152694,
y: -20.012155
},
{
x: -3.10515,
y: -20.037568
},
{
x: -3.069462,
y: -20.048394
},
{
x: -3.052694,
y: -20.062155
},
{
x: -3.00515,
y: -20.087568
},
{
x: -2.969462,
y: -20.098394
},
{
x: -2.952694,
y: -20.112155
},
{
x: -2.90515,
y: -20.137568
},
{
x: -2.853562,
y: -20.153217
},
{
x: -2.799912,
y: -20.158501
},
{
x: -0.86382,
y: -20.158501
},
{
x: -0.594366,
y: -20.427955
},
{
x: -0.552694,
y: -20.462155
},
{
x: -0.50515,
y: -20.487568
},
{
x: -0.469462,
y: -20.498394
},
{
x: -0.452694,
y: -20.512155
},
{
x: -0.40515,
y: -20.537568
},
{
x: -0.369462,
y: -20.548394
},
{
x: -0.352694,
y: -20.562155
},
{
x: -0.30515,
y: -20.587568
},
{
x: -0.253562,
y: -20.603217
}
]
},
{
vertices: [
{
x: -5.8,
y: 15.525
},
{
x: -5.712209,
y: 15.533647
},
{
x: -5.627792,
y: 15.559254
},
{
x: -5.549993,
y: 15.600839
},
{
x: -5.481802,
y: 15.656802
},
{
x: -5.425839,
y: 15.724993
},
{
x: -5.384254,
y: 15.802792
},
{
x: -5.358647,
y: 15.887209
},
{
x: -5.35,
y: 15.975
},
{
x: -5.358647,
y: 16.062791
},
{
x: -5.384254,
y: 16.147208
},
{
x: -5.425839,
y: 16.225007
},
{
x: -5.481802,
y: 16.293198
},
{
x: -5.549993,
y: 16.349161
},
{
x: -5.627792,
y: 16.390746
},
{
x: -5.712209,
y: 16.416353
},
{
x: -5.8,
y: 16.425
},
{
x: -5.887791,
y: 16.416353
},
{
x: -5.972208,
y: 16.390746
},
{
x: -6.050007,
y: 16.349161
},
{
x: -6.118198,
y: 16.293198
},
{
x: -6.174161,
y: 16.225007
},
{
x: -6.215746,
y: 16.147208
},
{
x: -6.241353,
y: 16.062791
},
{
x: -6.25,
y: 15.975
},
{
x: -6.241353,
y: 15.887209
},
{
x: -6.215746,
y: 15.802792
},
{
x: -6.174161,
y: 15.724993
},
{
x: -6.118198,
y: 15.656802
},
{
x: -6.050007,
y: 15.600839
},
{
x: -5.972208,
y: 15.559254
},
{
x: -5.887791,
y: 15.533647
}
]
},
{
vertices: [
{
x: -8.899918,
y: 15.284433
},
{
x: -8.800422,
y: 15.294233
},
{
x: -8.70475,
y: 15.323255
},
{
x: -8.616578,
y: 15.370384
},
{
x: -8.539294,
y: 15.433809
},
{
x: -8.475869,
y: 15.511092
},
{
x: -8.42874,
y: 15.599264
},
{
x: -8.399718,
y: 15.694937
},
{
x: -8.389919,
y: 15.794433
},
{
x: -8.399718,
y: 15.893929
},
{
x: -8.42874,
y: 15.989601
},
{
x: -8.475869,
y: 16.077773
},
{
x: -8.539294,
y: 16.155057
},
{
x: -8.616578,
y: 16.218482
},
{
x: -8.70475,
y: 16.265611
},
{
x: -8.800422,
y: 16.294633
},
{
x: -8.899918,
y: 16.304432
},
{
x: -8.999414,
y: 16.294633
},
{
x: -9.095086,
y: 16.265611
},
{
x: -9.183258,
y: 16.218482
},
{
x: -9.260542,
y: 16.155057
},
{
x: -9.323967,
y: 16.077773
},
{
x: -9.371096,
y: 15.989601
},
{
x: -9.400118,
y: 15.893929
},
{
x: -9.409917,
y: 15.794433
},
{
x: -9.400118,
y: 15.694937
},
{
x: -9.371096,
y: 15.599264
},
{
x: -9.323967,
y: 15.511092
},
{
x: -9.260542,
y: 15.433809
},
{
x: -9.183258,
y: 15.370384
},
{
x: -9.095086,
y: 15.323255
},
{
x: -8.999414,
y: 15.294233
}
]
},
{
vertices: [
{
x: 4.100082,
y: 15.284433
},
{
x: 4.199578,
y: 15.294233
},
{
x: 4.29525,
y: 15.323255
},
{
x: 4.383422,
y: 15.370384
},
{
x: 4.460706,
y: 15.433809
},
{
x: 4.524131,
y: 15.511092
},
{
x: 4.57126,
y: 15.599264
},
{
x: 4.600282,
y: 15.694937
},
{
x: 4.610081,
y: 15.794433
},
{
x: 4.600282,
y: 15.893929
},
{
x: 4.57126,
y: 15.989601
},
{
x: 4.524131,
y: 16.077773
},
{
x: 4.460706,
y: 16.155057
},
{
x: 4.383422,
y: 16.218482
},
{
x: 4.29525,
y: 16.265611
},
{
x: 4.199578,
y: 16.294633
},
{
x: 4.100082,
y: 16.304432
},
{
x: 4.000586,
y: 16.294633
},
{
x: 3.904914,
y: 16.265611
},
{
x: 3.816742,
y: 16.218482
},
{
x: 3.739458,
y: 16.155057
},
{
x: 3.676033,
y: 16.077773
},
{
x: 3.628904,
y: 15.989601
},
{
x: 3.599882,
y: 15.893929
},
{
x: 3.590083,
y: 15.794433
},
{
x: 3.599882,
y: 15.694937
},
{
x: 3.628904,
y: 15.599264
},
{
x: 3.676033,
y: 15.511092
},
{
x: 3.739458,
y: 15.433809
},
{
x: 3.816742,
y: 15.370384
},
{
x: 3.904914,
y: 15.323255
},
{
x: 4.000586,
y: 15.294233
}
]
},
{
vertices: [
{
x: 9.899918,
y: 15.284433
},
{
x: 9.999414,
y: 15.294233
},
{
x: 10.095086,
y: 15.323255
},
{
x: 10.183258,
y: 15.370384
},
{
x: 10.260542,
y: 15.433809
},
{
x: 10.323967,
y: 15.511092
},
{
x: 10.371096,
y: 15.599264
},
{
x: 10.400118,
y: 15.694937
},
{
x: 10.409917,
y: 15.794433
},
{
x: 10.400118,
y: 15.893929
},
{
x: 10.371096,
y: 15.989601
},
{
x: 10.323967,
y: 16.077773
},
{
x: 10.260542,
y: 16.155057
},
{
x: 10.183258,
y: 16.218482
},
{
x: 10.095086,
y: 16.265611
},
{
x: 9.999414,
y: 16.294633
},
{
x: 9.899918,
y: 16.304432
},
{
x: 9.800422,
y: 16.294633
},
{
x: 9.70475,
y: 16.265611
},
{
x: 9.616578,
y: 16.218482
},
{
x: 9.539294,
y: 16.155057
},
{
x: 9.475869,
y: 16.077773
},
{
x: 9.42874,
y: 15.989601
},
{
x: 9.399718,
y: 15.893929
},
{
x: 9.389919,
y: 15.794433
},
{
x: 9.399718,
y: 15.694937
},
{
x: 9.42874,
y: 15.599264
},
{
x: 9.475869,
y: 15.511092
},
{
x: 9.539294,
y: 15.433809
},
{
x: 9.616578,
y: 15.370384
},
{
x: 9.70475,
y: 15.323255
},
{
x: 9.800422,
y: 15.294233
}
]
},
{
vertices: [
{
x: 6.450064,
y: 15.125957
},
{
x: 6.537855,
y: 15.134603
},
{
x: 6.622272,
y: 15.160211
},
{
x: 6.700071,
y: 15.201795
},
{
x: 6.768262,
y: 15.257759
},
{
x: 6.824225,
y: 15.32595
},
{
x: 6.86581,
y: 15.403749
},
{
x: 6.891417,
y: 15.488166
},
{
x: 6.900064,
y: 15.575957
},
{
x: 6.891417,
y: 15.663747
},
{
x: 6.86581,
y: 15.748164
},
{
x: 6.824225,
y: 15.825963
},
{
x: 6.768262,
y: 15.894155
},
{
x: 6.700071,
y: 15.950118
},
{
x: 6.622272,
y: 15.991703
},
{
x: 6.537855,
y: 16.01731
},
{
x: 6.450064,
y: 16.025957
},
{
x: 6.362273,
y: 16.01731
},
{
x: 6.277856,
y: 15.991703
},
{
x: 6.200057,
y: 15.950118
},
{
x: 6.131866,
y: 15.894155
},
{
x: 6.075903,
y: 15.825963
},
{
x: 6.034318,
y: 15.748164
},
{
x: 6.008711,
y: 15.663747
},
{
x: 6.000064,
y: 15.575957
},
{
x: 6.008711,
y: 15.488166
},
{
x: 6.034318,
y: 15.403749
},
{
x: 6.075903,
y: 15.32595
},
{
x: 6.131866,
y: 15.257759
},
{
x: 6.200057,
y: 15.201795
},
{
x: 6.277856,
y: 15.160211
},
{
x: 6.362273,
y: 15.134603
}
]
},
{
vertices: [
{
x: -4.9,
y: 11.4
},
{
x: -3.05,
y: 11.4
},
{
x: -2.932946,
y: 11.411529
},
{
x: -2.82039,
y: 11.445672
},
{
x: -2.716658,
y: 11.501118
},
{
x: -2.625736,
y: 11.575736
},
{
x: -1.401472,
y: 12.8
},
{
x: -1.35,
y: 12.8
},
{
x: -1.232946,
y: 12.811529
},
{
x: -1.12039,
y: 12.845672
},
{
x: -1.035319,
y: 12.891143
},
{
x: -1.02039,
y: 12.895672
},
{
x: -0.935319,
y: 12.941143
},
{
x: -0.92039,
y: 12.945672
},
{
x: -0.835319,
y: 12.991143
},
{
x: -0.82039,
y: 12.995672
},
{
x: -0.716658,
y: 13.051118
},
{
x: -0.647387,
y: 13.107967
},
{
x: -0.566658,
y: 13.151118
},
{
x: -0.475736,
y: 13.225736
},
{
x: -0.425736,
y: 13.275736
},
{
x: -0.351118,
y: 13.366658
},
{
x: -0.307967,
y: 13.447387
},
{
x: -0.251118,
y: 13.516658
},
{
x: -0.195672,
y: 13.62039
},
{
x: -0.191143,
y: 13.635319
},
{
x: -0.145672,
y: 13.72039
},
{
x: -0.141143,
y: 13.735319
},
{
x: -0.095672,
y: 13.82039
},
{
x: -0.091143,
y: 13.835319
},
{
x: -0.045672,
y: 13.92039
},
{
x: -0.011529,
y: 14.032946
},
{
x: 0,
y: 14.15
},
{
x: 0,
y: 14.45
},
{
x: -0.011529,
y: 14.567054
},
{
x: -0.045672,
y: 14.67961
},
{
x: -0.101118,
y: 14.783342
},
{
x: -0.175736,
y: 14.874264
},
{
x: -0.266658,
y: 14.948882
},
{
x: -0.37039,
y: 15.004328
},
{
x: -0.482946,
y: 15.038471
},
{
x: -0.6,
y: 15.05
},
{
x: -0.717054,
y: 15.038471
},
{
x: -0.82961,
y: 15.004328
},
{
x: -0.933342,
y: 14.948882
},
{
x: -1.024264,
y: 14.874264
},
{
x: -1.098882,
y: 14.783342
},
{
x: -1.154328,
y: 14.67961
},
{
x: -1.188471,
y: 14.567054
},
{
x: -1.2,
y: 14.45
},
{
x: -1.2,
y: 14.337707
},
{
x: -1.204328,
y: 14.32961
},
{
x: -1.208857,
y: 14.314681
},
{
x: -1.254328,
y: 14.22961
},
{
x: -1.258857,
y: 14.214681
},
{
x: -1.292033,
y: 14.152613
},
{
x: -1.31934,
y: 14.11934
},
{
x: -1.352613,
y: 14.092033
},
{
x: -1.414681,
y: 14.058857
},
{
x: -1.42961,
y: 14.054328
},
{
x: -1.514681,
y: 14.008857
},
{
x: -1.52961,
y: 14.004328
},
{
x: -1.537707,
y: 14
},
{
x: -1.65,
y: 14
},
{
x: -1.767054,
y: 13.988471
},
{
x: -1.87961,
y: 13.954328
},
{
x: -1.983342,
y: 13.898882
},
{
x: -2.074264,
y: 13.824264
},
{
x: -3.298528,
y: 12.6
},
{
x: -3.532738,
y: 12.6
},
{
x: -3.481802,
y: 12.641802
},
{
x: -3.425839,
y: 12.709993
},
{
x: -3.384254,
y: 12.787792
},
{
x: -3.358647,
y: 12.872209
},
{
x: -3.35,
y: 12.96
},
{
x: -3.358647,
y: 13.047791
},
{
x: -3.384254,
y: 13.132208
},
{
x: -3.425839,
y: 13.210007
},
{
x: -3.481802,
y: 13.278198
},
{
x: -3.549993,
y: 13.334161
},
{
x: -3.627792,
y: 13.375746
},
{
x: -3.712209,
y: 13.401353
},
{
x: -3.8,
y: 13.41
},
{
x: -3.887791,
y: 13.401353
},
{
x: -3.972208,
y: 13.375746
},
{
x: -4.050007,
y: 13.334161
},
{
x: -4.118198,
y: 13.278198
},
{
x: -4.174161,
y: 13.210007
},
{
x: -4.215746,
y: 13.132208
},
{
x: -4.241353,
y: 13.047791
},
{
x: -4.25,
y: 12.96
},
{
x: -4.241353,
y: 12.872209
},
{
x: -4.215746,
y: 12.787792
},
{
x: -4.174161,
y: 12.709993
},
{
x: -4.118198,
y: 12.641802
},
{
x: -4.067262,
y: 12.6
},
{
x: -4.9,
y: 12.6
},
{
x: -5.017054,
y: 12.588471
},
{
x: -5.12961,
y: 12.554328
},
{
x: -5.233342,
y: 12.498882
},
{
x: -5.324264,
y: 12.424264
},
{
x: -5.398882,
y: 12.333342
},
{
x: -5.454328,
y: 12.22961
},
{
x: -5.488471,
y: 12.117054
},
{
x: -5.5,
y: 12
},
{
x: -5.488471,
y: 11.882946
},
{
x: -5.454328,
y: 11.77039
},
{
x: -5.398882,
y: 11.666658
},
{
x: -5.324264,
y: 11.575736
},
{
x: -5.233342,
y: 11.501118
},
{
x: -5.12961,
y: 11.445672
},
{
x: -5.017054,
y: 11.411529
}
]
},
{
vertices: [
{
x: -11.25,
y: 13.71
},
{
x: -11.162209,
y: 13.718647
},
{
x: -11.077792,
y: 13.744254
},
{
x: -10.999993,
y: 13.785839
},
{
x: -10.931802,
y: 13.841802
},
{
x: -10.875839,
y: 13.909993
},
{
x: -10.834254,
y: 13.987792
},
{
x: -10.808647,
y: 14.072209
},
{
x: -10.8,
y: 14.16
},
{
x: -10.808647,
y: 14.247791
},
{
x: -10.834254,
y: 14.332208
},
{
x: -10.875839,
y: 14.410007
},
{
x: -10.931802,
y: 14.478198
},
{
x: -10.999993,
y: 14.534161
},
{
x: -11.077792,
y: 14.575746
},
{
x: -11.162209,
y: 14.601353
},
{
x: -11.25,
y: 14.61
},
{
x: -11.337791,
y: 14.601353
},
{
x: -11.422208,
y: 14.575746
},
{
x: -11.500007,
y: 14.534161
},
{
x: -11.568198,
y: 14.478198
},
{
x: -11.624161,
y: 14.410007
},
{
x: -11.665746,
y: 14.332208
},
{
x: -11.691353,
y: 14.247791
},
{
x: -11.7,
y: 14.16
},
{
x: -11.691353,
y: 14.072209
},
{
x: -11.665746,
y: 13.987792
},
{
x: -11.624161,
y: 13.909993
},
{
x: -11.568198,
y: 13.841802
},
{
x: -11.500007,
y: 13.785839
},
{
x: -11.422208,
y: 13.744254
},
{
x: -11.337791,
y: 13.718647
}
]
},
{
vertices: [
{
x: 5.600064,
y: 12.675957
},
{
x: 5.687855,
y: 12.684603
},
{
x: 5.772272,
y: 12.710211
},
{
x: 5.850071,
y: 12.751795
},
{
x: 5.918262,
y: 12.807759
},
{
x: 5.974225,
y: 12.87595
},
{
x: 6.01581,
y: 12.953749
},
{
x: 6.041417,
y: 13.038166
},
{
x: 6.050064,
y: 13.125957
},
{
x: 6.041417,
y: 13.213747
},
{
x: 6.01581,
y: 13.298164
},
{
x: 5.974225,
y: 13.375963
},
{
x: 5.918262,
y: 13.444155
},
{
x: 5.850071,
y: 13.500118
},
{
x: 5.772272,
y: 13.541703
},
{
x: 5.687855,
y: 13.56731
},
{
x: 5.600064,
y: 13.575957
},
{
x: 5.512273,
y: 13.56731
},
{
x: 5.427856,
y: 13.541703
},
{
x: 5.350057,
y: 13.500118
},
{
x: 5.281866,
y: 13.444155
},
{
x: 5.225903,
y: 13.375963
},
{
x: 5.184318,
y: 13.298164
},
{
x: 5.158711,
y: 13.213747
},
{
x: 5.150064,
y: 13.125957
},
{
x: 5.158711,
y: 13.038166
},
{
x: 5.184318,
y: 12.953749
},
{
x: 5.225903,
y: 12.87595
},
{
x: 5.281866,
y: 12.807759
},
{
x: 5.350057,
y: 12.751795
},
{
x: 5.427856,
y: 12.710211
},
{
x: 5.512273,
y: 12.684603
}
]
},
{
vertices: [
{
x: 7.500014,
y: 12.649873
},
{
x: 7.587805,
y: 12.65852
},
{
x: 7.672222,
y: 12.684127
},
{
x: 7.750021,
y: 12.725712
},
{
x: 7.818212,
y: 12.781675
},
{
x: 7.874175,
y: 12.849866
},
{
x: 7.91576,
y: 12.927665
},
{
x: 7.941367,
y: 13.012082
},
{
x: 7.950014,
y: 13.099873
},
{
x: 7.941367,
y: 13.187664
},
{
x: 7.91576,
y: 13.272081
},
{
x: 7.874175,
y: 13.34988
},
{
x: 7.818212,
y: 13.418071
},
{
x: 7.750021,
y: 13.474034
},
{
x: 7.672222,
y: 13.515619
},
{
x: 7.587805,
y: 13.541226
},
{
x: 7.500014,
y: 13.549873
},
{
x: 7.412223,
y: 13.541226
},
{
x: 7.327806,
y: 13.515619
},
{
x: 7.250007,
y: 13.474034
},
{
x: 7.181816,
y: 13.418071
},
{
x: 7.125853,
y: 13.34988
},
{
x: 7.084268,
y: 13.272081
},
{
x: 7.058661,
y: 13.187664
},
{
x: 7.050014,
y: 13.099873
},
{
x: 7.058661,
y: 13.012082
},
{
x: 7.084268,
y: 12.927665
},
{
x: 7.125853,
y: 12.849866
},
{
x: 7.181816,
y: 12.781675
},
{
x: 7.250007,
y: 12.725712
},
{
x: 7.327806,
y: 12.684127
},
{
x: 7.412223,
y: 12.65852
}
]
},
{
vertices: [
{
x: -1.31,
y: 11.45
},
{
x: -1.222209,
y: 11.458647
},
{
x: -1.137792,
y: 11.484254
},
{
x: -1.059993,
y: 11.525839
},
{
x: -0.991802,
y: 11.581802
},
{
x: -0.935839,
y: 11.649993
},
{
x: -0.894254,
y: 11.727792
},
{
x: -0.868647,
y: 11.812209
},
{
x: -0.86,
y: 11.9
},
{
x: -0.868647,
y: 11.987791
},
{
x: -0.894254,
y: 12.072208
},
{
x: -0.935839,
y: 12.150007
},
{
x: -0.991802,
y: 12.218198
},
{
x: -1.059993,
y: 12.274161
},
{
x: -1.137792,
y: 12.315746
},
{
x: -1.222209,
y: 12.341353
},
{
x: -1.31,
y: 12.35
},
{
x: -1.397791,
y: 12.341353
},
{
x: -1.482208,
y: 12.315746
},
{
x: -1.560007,
y: 12.274161
},
{
x: -1.628198,
y: 12.218198
},
{
x: -1.684161,
y: 12.150007
},
{
x: -1.725746,
y: 12.072208
},
{
x: -1.751353,
y: 11.987791
},
{
x: -1.76,
y: 11.9
},
{
x: -1.751353,
y: 11.812209
},
{
x: -1.725746,
y: 11.727792
},
{
x: -1.684161,
y: 11.649993
},
{
x: -1.628198,
y: 11.581802
},
{
x: -1.560007,
y: 11.525839
},
{
x: -1.482208,
y: 11.484254
},
{
x: -1.397791,
y: 11.458647
}
]
},
{
vertices: [
{
x: 4.54994,
y: 9.675957
},
{
x: 4.637731,
y: 9.684603
},
{
x: 4.722148,
y: 9.710211
},
{
x: 4.799947,
y: 9.751795
},
{
x: 4.868138,
y: 9.807759
},
{
x: 4.924101,
y: 9.87595
},
{
x: 4.965686,
y: 9.953749
},
{
x: 4.991293,
y: 10.038166
},
{
x: 4.99994,
y: 10.125957
},
{
x: 4.991293,
y: 10.213747
},
{
x: 4.965686,
y: 10.298164
},
{
x: 4.924101,
y: 10.375963
},
{
x: 4.868138,
y: 10.444155
},
{
x: 4.799947,
y: 10.500118
},
{
x: 4.722148,
y: 10.541703
},
{
x: 4.637731,
y: 10.56731
},
{
x: 4.54994,
y: 10.575957
},
{
x: 4.462149,
y: 10.56731
},
{
x: 4.377732,
y: 10.541703
},
{
x: 4.299933,
y: 10.500118
},
{
x: 4.231742,
y: 10.444155
},
{
x: 4.175779,
y: 10.375963
},
{
x: 4.134194,
y: 10.298164
},
{
x: 4.108587,
y: 10.213747
},
{
x: 4.09994,
y: 10.125957
},
{
x: 4.108587,
y: 10.038166
},
{
x: 4.134194,
y: 9.953749
},
{
x: 4.175779,
y: 9.87595
},
{
x: 4.231742,
y: 9.807759
},
{
x: 4.299933,
y: 9.751795
},
{
x: 4.377732,
y: 9.710211
},
{
x: 4.462149,
y: 9.684603
}
]
},
{
vertices: [
{
x: -17.8924,
y: 9.6667
},
{
x: -17.804609,
y: 9.675347
},
{
x: -17.720192,
y: 9.700954
},
{
x: -17.642393,
y: 9.742539
},
{
x: -17.574202,
y: 9.798502
},
{
x: -17.518239,
y: 9.866693
},
{
x: -17.476654,
y: 9.944492
},
{
x: -17.451047,
y: 10.028909
},
{
x: -17.4424,
y: 10.1167
},
{
x: -17.451047,
y: 10.204491
},
{
x: -17.476654,
y: 10.288908
},
{
x: -17.518239,
y: 10.366707
},
{
x: -17.574202,
y: 10.434898
},
{
x: -17.642393,
y: 10.490861
},
{
x: -17.720192,
y: 10.532446
},
{
x: -17.804609,
y: 10.558053
},
{
x: -17.8924,
y: 10.5667
},
{
x: -17.980191,
y: 10.558053
},
{
x: -18.064608,
y: 10.532446
},
{
x: -18.142407,
y: 10.490861
},
{
x: -18.210598,
y: 10.434898
},
{
x: -18.266561,
y: 10.366707
},
{
x: -18.308146,
y: 10.288908
},
{
x: -18.333753,
y: 10.204491
},
{
x: -18.3424,
y: 10.1167
},
{
x: -18.333753,
y: 10.028909
},
{
x: -18.308146,
y: 9.944492
},
{
x: -18.266561,
y: 9.866693
},
{
x: -18.210598,
y: 9.798502
},
{
x: -18.142407,
y: 9.742539
},
{
x: -18.064608,
y: 9.700954
},
{
x: -17.980191,
y: 9.675347
}
]
},
{
vertices: [
{
x: -13.6689,
y: 8.9279
},
{
x: -13.581109,
y: 8.936547
},
{
x: -13.496692,
y: 8.962154
},
{
x: -13.418893,
y: 9.003739
},
{
x: -13.350702,
y: 9.059702
},
{
x: -13.294739,
y: 9.127893
},
{
x: -13.253154,
y: 9.205692
},
{
x: -13.227547,
y: 9.290109
},
{
x: -13.2189,
y: 9.3779
},
{
x: -13.227547,
y: 9.465691
},
{
x: -13.253154,
y: 9.550108
},
{
x: -13.294739,
y: 9.627907
},
{
x: -13.350702,
y: 9.696098
},
{
x: -13.418893,
y: 9.752061
},
{
x: -13.496692,
y: 9.793646
},
{
x: -13.581109,
y: 9.819253
},
{
x: -13.6689,
y: 9.8279
},
{
x: -13.756691,
y: 9.819253
},
{
x: -13.841108,
y: 9.793646
},
{
x: -13.918907,
y: 9.752061
},
{
x: -13.987098,
y: 9.696098
},
{
x: -14.043061,
y: 9.627907
},
{
x: -14.084646,
y: 9.550108
},
{
x: -14.110253,
y: 9.465691
},
{
x: -14.1189,
y: 9.3779
},
{
x: -14.110253,
y: 9.290109
},
{
x: -14.084646,
y: 9.205692
},
{
x: -14.043061,
y: 9.127893
},
{
x: -13.987098,
y: 9.059702
},
{
x: -13.918907,
y: 9.003739
},
{
x: -13.841108,
y: 8.962154
},
{
x: -13.756691,
y: 8.936547
}
]
},
{
vertices: [
{
x: 1.69996,
y: 8.599998
},
{
x: 1.787751,
y: 8.608645
},
{
x: 1.872168,
y: 8.634252
},
{
x: 1.949967,
y: 8.675837
},
{
x: 2.018158,
y: 8.7318
},
{
x: 2.074121,
y: 8.799991
},
{
x: 2.115706,
y: 8.87779
},
{
x: 2.141313,
y: 8.962207
},
{
x: 2.14996,
y: 9.049998
},
{
x: 2.141313,
y: 9.137789
},
{
x: 2.115706,
y: 9.222206
},
{
x: 2.074121,
y: 9.300005
},
{
x: 2.018158,
y: 9.368196
},
{
x: 1.949967,
y: 9.424159
},
{
x: 1.872168,
y: 9.465744
},
{
x: 1.787751,
y: 9.491351
},
{
x: 1.69996,
y: 9.499998
},
{
x: 1.612169,
y: 9.491351
},
{
x: 1.527752,
y: 9.465744
},
{
x: 1.449953,
y: 9.424159
},
{
x: 1.381762,
y: 9.368196
},
{
x: 1.325799,
y: 9.300005
},
{
x: 1.284214,
y: 9.222206
},
{
x: 1.258607,
y: 9.137789
},
{
x: 1.24996,
y: 9.049998
},
{
x: 1.258607,
y: 8.962207
},
{
x: 1.284214,
y: 8.87779
},
{
x: 1.325799,
y: 8.799991
},
{
x: 1.381762,
y: 8.7318
},
{
x: 1.449953,
y: 8.675837
},
{
x: 1.527752,
y: 8.634252
},
{
x: 1.612169,
y: 8.608645
}
]
},
{
vertices: [
{
x: 0.399936,
y: 8.150129
},
{
x: 0.487727,
y: 8.158776
},
{
x: 0.572144,
y: 8.184383
},
{
x: 0.649943,
y: 8.225968
},
{
x: 0.718134,
y: 8.281931
},
{
x: 0.774097,
y: 8.350122
},
{
x: 0.815682,
y: 8.427921
},
{
x: 0.841289,
y: 8.512338
},
{
x: 0.849936,
y: 8.600129
},
{
x: 0.841289,
y: 8.68792
},
{
x: 0.815682,
y: 8.772337
},
{
x: 0.774097,
y: 8.850136
},
{
x: 0.718134,
y: 8.918327
},
{
x: 0.649943,
y: 8.97429
},
{
x: 0.572144,
y: 9.015875
},
{
x: 0.487727,
y: 9.041482
},
{
x: 0.399936,
y: 9.050129
},
{
x: 0.312145,
y: 9.041482
},
{
x: 0.227728,
y: 9.015875
},
{
x: 0.149929,
y: 8.97429
},
{
x: 0.081738,
y: 8.918327
},
{
x: 0.025775,
y: 8.850136
},
{
x: -0.01581,
y: 8.772337
},
{
x: -0.041417,
y: 8.68792
},
{
x: -0.050064,
y: 8.600129
},
{
x: -0.041417,
y: 8.512338
},
{
x: -0.01581,
y: 8.427921
},
{
x: 0.025775,
y: 8.350122
},
{
x: 0.081738,
y: 8.281931
},
{
x: 0.149929,
y: 8.225968
},
{
x: 0.227728,
y: 8.184383
},
{
x: 0.312145,
y: 8.158776
}
]
},
{
vertices: [
{
x: 4.54994,
y: 8.075957
},
{
x: 4.637731,
y: 8.084603
},
{
x: 4.722148,
y: 8.110211
},
{
x: 4.799947,
y: 8.151795
},
{
x: 4.868138,
y: 8.207759
},
{
x: 4.924101,
y: 8.27595
},
{
x: 4.965686,
y: 8.353749
},
{
x: 4.991293,
y: 8.438166
},
{
x: 4.99994,
y: 8.525957
},
{
x: 4.991293,
y: 8.613747
},
{
x: 4.965686,
y: 8.698164
},
{
x: 4.924101,
y: 8.775963
},
{
x: 4.868138,
y: 8.844155
},
{
x: 4.799947,
y: 8.900118
},
{
x: 4.722148,
y: 8.941703
},
{
x: 4.637731,
y: 8.96731
},
{
x: 4.54994,
y: 8.975957
},
{
x: 4.462149,
y: 8.96731
},
{
x: 4.377732,
y: 8.941703
},
{
x: 4.299933,
y: 8.900118
},
{
x: 4.231742,
y: 8.844155
},
{
x: 4.175779,
y: 8.775963
},
{
x: 4.134194,
y: 8.698164
},
{
x: 4.108587,
y: 8.613747
},
{
x: 4.09994,
y: 8.525957
},
{
x: 4.108587,
y: 8.438166
},
{
x: 4.134194,
y: 8.353749
},
{
x: 4.175779,
y: 8.27595
},
{
x: 4.231742,
y: 8.207759
},
{
x: 4.299933,
y: 8.151795
},
{
x: 4.377732,
y: 8.110211
},
{
x: 4.462149,
y: 8.084603
}
]
},
{
vertices: [
{
x: -1.425106,
y: 5.124937
},
{
x: -1.337315,
y: 5.133584
},
{
x: -1.252898,
y: 5.159191
},
{
x: -1.175099,
y: 5.200776
},
{
x: -1.106908,
y: 5.256739
},
{
x: -1.050945,
y: 5.32493
},
{
x: -1.00936,
y: 5.402729
},
{
x: -0.983753,
y: 5.487146
},
{
x: -0.975106,
y: 5.574937
},
{
x: -0.983753,
y: 5.662728
},
{
x: -1.00936,
y: 5.747145
},
{
x: -1.050945,
y: 5.824944
},
{
x: -1.106908,
y: 5.893135
},
{
x: -1.175099,
y: 5.949098
},
{
x: -1.252898,
y: 5.990683
},
{
x: -1.337315,
y: 6.01629
},
{
x: -1.425106,
y: 6.024937
},
{
x: -1.512897,
y: 6.01629
},
{
x: -1.597314,
y: 5.990683
},
{
x: -1.675113,
y: 5.949098
},
{
x: -1.743304,
y: 5.893135
},
{
x: -1.799267,
y: 5.824944
},
{
x: -1.840852,
y: 5.747145
},
{
x: -1.866459,
y: 5.662728
},
{
x: -1.875106,
y: 5.574937
},
{
x: -1.866459,
y: 5.487146
},
{
x: -1.840852,
y: 5.402729
},
{
x: -1.799267,
y: 5.32493
},
{
x: -1.743304,
y: 5.256739
},
{
x: -1.675113,
y: 5.200776
},
{
x: -1.597314,
y: 5.159191
},
{
x: -1.512897,
y: 5.133584
}
]
},
{
vertices: [
{
x: 18.5998,
y: 5.1199
},
{
x: 18.687591,
y: 5.128547
},
{
x: 18.772008,
y: 5.154154
},
{
x: 18.849807,
y: 5.195739
},
{
x: 18.917998,
y: 5.251702
},
{
x: 18.973961,
y: 5.319893
},
{
x: 19.015546,
y: 5.397692
},
{
x: 19.041153,
y: 5.482109
},
{
x: 19.0498,
y: 5.5699
},
{
x: 19.041153,
y: 5.657691
},
{
x: 19.015546,
y: 5.742108
},
{
x: 18.973961,
y: 5.819907
},
{
x: 18.917998,
y: 5.888098
},
{
x: 18.849807,
y: 5.944061
},
{
x: 18.772008,
y: 5.985646
},
{
x: 18.687591,
y: 6.011253
},
{
x: 18.5998,
y: 6.0199
},
{
x: 18.512009,
y: 6.011253
},
{
x: 18.427592,
y: 5.985646
},
{
x: 18.349793,
y: 5.944061
},
{
x: 18.281602,
y: 5.888098
},
{
x: 18.225639,
y: 5.819907
},
{
x: 18.184054,
y: 5.742108
},
{
x: 18.158447,
y: 5.657691
},
{
x: 18.1498,
y: 5.5699
},
{
x: 18.158447,
y: 5.482109
},
{
x: 18.184054,
y: 5.397692
},
{
x: 18.225639,
y: 5.319893
},
{
x: 18.281602,
y: 5.251702
},
{
x: 18.349793,
y: 5.195739
},
{
x: 18.427592,
y: 5.154154
},
{
x: 18.512009,
y: 5.128547
}
]
},
{
vertices: [
{
x: 6.79,
y: 4.2
},
{
x: 6.877791,
y: 4.208647
},
{
x: 6.962208,
y: 4.234254
},
{
x: 7.040007,
y: 4.275839
},
{
x: 7.108198,
y: 4.331802
},
{
x: 7.164161,
y: 4.399993
},
{
x: 7.205746,
y: 4.477792
},
{
x: 7.231353,
y: 4.562209
},
{
x: 7.24,
y: 4.65
},
{
x: 7.231353,
y: 4.737791
},
{
x: 7.205746,
y: 4.822208
},
{
x: 7.164161,
y: 4.900007
},
{
x: 7.108198,
y: 4.968198
},
{
x: 7.040007,
y: 5.024161
},
{
x: 6.962208,
y: 5.065746
},
{
x: 6.877791,
y: 5.091353
},
{
x: 6.79,
y: 5.1
},
{
x: 6.702209,
y: 5.091353
},
{
x: 6.617792,
y: 5.065746
},
{
x: 6.539993,
y: 5.024161
},
{
x: 6.471802,
y: 4.968198
},
{
x: 6.415839,
y: 4.900007
},
{
x: 6.374254,
y: 4.822208
},
{
x: 6.348647,
y: 4.737791
},
{
x: 6.34,
y: 4.65
},
{
x: 6.348647,
y: 4.562209
},
{
x: 6.374254,
y: 4.477792
},
{
x: 6.415839,
y: 4.399993
},
{
x: 6.471802,
y: 4.331802
},
{
x: 6.539993,
y: 4.275839
},
{
x: 6.617792,
y: 4.234254
},
{
x: 6.702209,
y: 4.208647
}
]
},
{
vertices: [
{
x: 15.76,
y: 3.65
},
{
x: 15.847791,
y: 3.658647
},
{
x: 15.932208,
y: 3.684254
},
{
x: 16.010007,
y: 3.725839
},
{
x: 16.078198,
y: 3.781802
},
{
x: 16.134161,
y: 3.849993
},
{
x: 16.175746,
y: 3.927792
},
{
x: 16.201353,
y: 4.012209
},
{
x: 16.21,
y: 4.1
},
{
x: 16.201353,
y: 4.187791
},
{
x: 16.175746,
y: 4.272208
},
{
x: 16.134161,
y: 4.350007
},
{
x: 16.078198,
y: 4.418198
},
{
x: 16.010007,
y: 4.474161
},
{
x: 15.932208,
y: 4.515746
},
{
x: 15.847791,
y: 4.541353
},
{
x: 15.76,
y: 4.55
},
{
x: 15.672209,
y: 4.541353
},
{
x: 15.587792,
y: 4.515746
},
{
x: 15.509993,
y: 4.474161
},
{
x: 15.441802,
y: 4.418198
},
{
x: 15.385839,
y: 4.350007
},
{
x: 15.344254,
y: 4.272208
},
{
x: 15.318647,
y: 4.187791
},
{
x: 15.31,
y: 4.1
},
{
x: 15.318647,
y: 4.012209
},
{
x: 15.344254,
y: 3.927792
},
{
x: 15.385839,
y: 3.849993
},
{
x: 15.441802,
y: 3.781802
},
{
x: 15.509993,
y: 3.725839
},
{
x: 15.587792,
y: 3.684254
},
{
x: 15.672209,
y: 3.658647
}
]
},
{
vertices: [
{
x: 12.99996,
y: 3.549998
},
{
x: 13.087751,
y: 3.558645
},
{
x: 13.172168,
y: 3.584252
},
{
x: 13.249967,
y: 3.625837
},
{
x: 13.318158,
y: 3.6818
},
{
x: 13.374121,
y: 3.749991
},
{
x: 13.415706,
y: 3.82779
},
{
x: 13.441313,
y: 3.912207
},
{
x: 13.44996,
y: 3.999998
},
{
x: 13.441313,
y: 4.087789
},
{
x: 13.415706,
y: 4.172206
},
{
x: 13.374121,
y: 4.250005
},
{
x: 13.318158,
y: 4.318196
},
{
x: 13.249967,
y: 4.374159
},
{
x: 13.172168,
y: 4.415744
},
{
x: 13.087751,
y: 4.441351
},
{
x: 12.99996,
y: 4.449998
},
{
x: 12.912169,
y: 4.441351
},
{
x: 12.827752,
y: 4.415744
},
{
x: 12.749953,
y: 4.374159
},
{
x: 12.681762,
y: 4.318196
},
{
x: 12.625799,
y: 4.250005
},
{
x: 12.584214,
y: 4.172206
},
{
x: 12.558607,
y: 4.087789
},
{
x: 12.54996,
y: 3.999998
},
{
x: 12.558607,
y: 3.912207
},
{
x: 12.584214,
y: 3.82779
},
{
x: 12.625799,
y: 3.749991
},
{
x: 12.681762,
y: 3.6818
},
{
x: 12.749953,
y: 3.625837
},
{
x: 12.827752,
y: 3.584252
},
{
x: 12.912169,
y: 3.558645
}
]
},
{
vertices: [
{
x: -7.999936,
y: 2.949971
},
{
x: -7.912145,
y: 2.958618
},
{
x: -7.827728,
y: 2.984225
},
{
x: -7.749929,
y: 3.02581
},
{
x: -7.681738,
y: 3.081773
},
{
x: -7.625775,
y: 3.149964
},
{
x: -7.58419,
y: 3.227763
},
{
x: -7.558583,
y: 3.31218
},
{
x: -7.549936,
y: 3.399971
},
{
x: -7.558583,
y: 3.487762
},
{
x: -7.58419,
y: 3.572179
},
{
x: -7.625775,
y: 3.649978
},
{
x: -7.681738,
y: 3.718169
},
{
x: -7.749929,
y: 3.774132
},
{
x: -7.827728,
y: 3.815717
},
{
x: -7.912145,
y: 3.841324
},
{
x: -7.999936,
y: 3.849971
},
{
x: -8.087727,
y: 3.841324
},
{
x: -8.172144,
y: 3.815717
},
{
x: -8.249943,
y: 3.774132
},
{
x: -8.318134,
y: 3.718169
},
{
x: -8.374097,
y: 3.649978
},
{
x: -8.415682,
y: 3.572179
},
{
x: -8.441289,
y: 3.487762
},
{
x: -8.449936,
y: 3.399971
},
{
x: -8.441289,
y: 3.31218
},
{
x: -8.415682,
y: 3.227763
},
{
x: -8.374097,
y: 3.149964
},
{
x: -8.318134,
y: 3.081773
},
{
x: -8.249943,
y: 3.02581
},
{
x: -8.172144,
y: 2.984225
},
{
x: -8.087727,
y: 2.958618
}
]
},
{
vertices: [
{
x: 13.024894,
y: 2.524937
},
{
x: 13.112685,
y: 2.533584
},
{
x: 13.197102,
y: 2.559191
},
{
x: 13.274901,
y: 2.600776
},
{
x: 13.343092,
y: 2.656739
},
{
x: 13.399055,
y: 2.72493
},
{
x: 13.44064,
y: 2.802729
},
{
x: 13.466247,
y: 2.887146
},
{
x: 13.474894,
y: 2.974937
},
{
x: 13.466247,
y: 3.062728
},
{
x: 13.44064,
y: 3.147145
},
{
x: 13.399055,
y: 3.224944
},
{
x: 13.343092,
y: 3.293135
},
{
x: 13.274901,
y: 3.349098
},
{
x: 13.197102,
y: 3.390683
},
{
x: 13.112685,
y: 3.41629
},
{
x: 13.024894,
y: 3.424937
},
{
x: 12.937103,
y: 3.41629
},
{
x: 12.852686,
y: 3.390683
},
{
x: 12.774887,
y: 3.349098
},
{
x: 12.706696,
y: 3.293135
},
{
x: 12.650733,
y: 3.224944
},
{
x: 12.609148,
y: 3.147145
},
{
x: 12.583541,
y: 3.062728
},
{
x: 12.574894,
y: 2.974937
},
{
x: 12.583541,
y: 2.887146
},
{
x: 12.609148,
y: 2.802729
},
{
x: 12.650733,
y: 2.72493
},
{
x: 12.706696,
y: 2.656739
},
{
x: 12.774887,
y: 2.600776
},
{
x: 12.852686,
y: 2.559191
},
{
x: 12.937103,
y: 2.533584
}
]
},
{
vertices: [
{
x: 16.51,
y: 2.3
},
{
x: 16.597791,
y: 2.308647
},
{
x: 16.682208,
y: 2.334254
},
{
x: 16.760007,
y: 2.375839
},
{
x: 16.828198,
y: 2.431802
},
{
x: 16.884161,
y: 2.499993
},
{
x: 16.925746,
y: 2.577792
},
{
x: 16.951353,
y: 2.662209
},
{
x: 16.96,
y: 2.75
},
{
x: 16.951353,
y: 2.837791
},
{
x: 16.925746,
y: 2.922208
},
{
x: 16.884161,
y: 3.000007
},
{
x: 16.828198,
y: 3.068198
},
{
x: 16.760007,
y: 3.124161
},
{
x: 16.682208,
y: 3.165746
},
{
x: 16.597791,
y: 3.191353
},
{
x: 16.51,
y: 3.2
},
{
x: 16.422209,
y: 3.191353
},
{
x: 16.337792,
y: 3.165746
},
{
x: 16.259993,
y: 3.124161
},
{
x: 16.191802,
y: 3.068198
},
{
x: 16.135839,
y: 3.000007
},
{
x: 16.094254,
y: 2.922208
},
{
x: 16.068647,
y: 2.837791
},
{
x: 16.06,
y: 2.75
},
{
x: 16.068647,
y: 2.662209
},
{
x: 16.094254,
y: 2.577792
},
{
x: 16.135839,
y: 2.499993
},
{
x: 16.191802,
y: 2.431802
},
{
x: 16.259993,
y: 2.375839
},
{
x: 16.337792,
y: 2.334254
},
{
x: 16.422209,
y: 2.308647
}
]
},
{
vertices: [
{
x: -3.025,
y: 0.64
},
{
x: -2.937209,
y: 0.648647
},
{
x: -2.852792,
y: 0.674254
},
{
x: -2.774993,
y: 0.715839
},
{
x: -2.706802,
y: 0.771802
},
{
x: -2.650839,
y: 0.839993
},
{
x: -2.609254,
y: 0.917792
},
{
x: -2.583647,
y: 1.002209
},
{
x: -2.575,
y: 1.09
},
{
x: -2.583647,
y: 1.177791
},
{
x: -2.609254,
y: 1.262208
},
{
x: -2.650839,
y: 1.340007
},
{
x: -2.706802,
y: 1.408198
},
{
x: -2.774993,
y: 1.464161
},
{
x: -2.852792,
y: 1.505746
},
{
x: -2.937209,
y: 1.531353
},
{
x: -3.025,
y: 1.54
},
{
x: -3.112791,
y: 1.531353
},
{
x: -3.197208,
y: 1.505746
},
{
x: -3.250208,
y: 1.477417
},
{
x: -3.258711,
y: 1.563747
},
{
x: -3.284318,
y: 1.648164
},
{
x: -3.325903,
y: 1.725963
},
{
x: -3.381866,
y: 1.794155
},
{
x: -3.450057,
y: 1.850118
},
{
x: -3.527856,
y: 1.891703
},
{
x: -3.612273,
y: 1.91731
},
{
x: -3.700064,
y: 1.925957
},
{
x: -3.787855,
y: 1.91731
},
{
x: -3.872272,
y: 1.891703
},
{
x: -3.950071,
y: 1.850118
},
{
x: -4.018262,
y: 1.794155
},
{
x: -4.074225,
y: 1.725963
},
{
x: -4.11581,
y: 1.648164
},
{
x: -4.141417,
y: 1.563747
},
{
x: -4.150064,
y: 1.475957
},
{
x: -4.141417,
y: 1.388166
},
{
x: -4.11581,
y: 1.303749
},
{
x: -4.074225,
y: 1.22595
},
{
x: -4.018262,
y: 1.157759
},
{
x: -3.950071,
y: 1.101795
},
{
x: -3.872272,
y: 1.060211
},
{
x: -3.787855,
y: 1.034603
},
{
x: -3.700064,
y: 1.025957
},
{
x: -3.612273,
y: 1.034603
},
{
x: -3.527856,
y: 1.060211
},
{
x: -3.474856,
y: 1.08854
},
{
x: -3.466353,
y: 1.002209
},
{
x: -3.440746,
y: 0.917792
},
{
x: -3.399161,
y: 0.839993
},
{
x: -3.343198,
y: 0.771802
},
{
x: -3.275007,
y: 0.715839
},
{
x: -3.197208,
y: 0.674254
},
{
x: -3.112791,
y: 0.648647
}
]
},
{
vertices: [
{
x: 2.49996,
y: 0.849998
},
{
x: 2.587751,
y: 0.858645
},
{
x: 2.672168,
y: 0.884252
},
{
x: 2.749967,
y: 0.925837
},
{
x: 2.818158,
y: 0.9818
},
{
x: 2.874121,
y: 1.049991
},
{
x: 2.915706,
y: 1.12779
},
{
x: 2.941313,
y: 1.212207
},
{
x: 2.94996,
y: 1.299998
},
{
x: 2.941313,
y: 1.387789
},
{
x: 2.915706,
y: 1.472206
},
{
x: 2.874121,
y: 1.550005
},
{
x: 2.818158,
y: 1.618196
},
{
x: 2.749967,
y: 1.674159
},
{
x: 2.672168,
y: 1.715744
},
{
x: 2.587751,
y: 1.741351
},
{
x: 2.49996,
y: 1.749998
},
{
x: 2.412169,
y: 1.741351
},
{
x: 2.327752,
y: 1.715744
},
{
x: 2.249953,
y: 1.674159
},
{
x: 2.181762,
y: 1.618196
},
{
x: 2.125799,
y: 1.550005
},
{
x: 2.084214,
y: 1.472206
},
{
x: 2.058607,
y: 1.387789
},
{
x: 2.04996,
y: 1.299998
},
{
x: 2.058607,
y: 1.212207
},
{
x: 2.084214,
y: 1.12779
},
{
x: 2.125799,
y: 1.049991
},
{
x: 2.181762,
y: 0.9818
},
{
x: 2.249953,
y: 0.925837
},
{
x: 2.327752,
y: 0.884252
},
{
x: 2.412169,
y: 0.858645
}
]
},
{
vertices: [
{
x: 1.350014,
y: -0.250127
},
{
x: 1.437805,
y: -0.24148
},
{
x: 1.522222,
y: -0.215873
},
{
x: 1.600021,
y: -0.174288
},
{
x: 1.668212,
y: -0.118325
},
{
x: 1.724175,
y: -0.050134
},
{
x: 1.76576,
y: 0.027665
},
{
x: 1.791367,
y: 0.112082
},
{
x: 1.800014,
y: 0.199873
},
{
x: 1.791367,
y: 0.287664
},
{
x: 1.76576,
y: 0.372081
},
{
x: 1.724175,
y: 0.44988
},
{
x: 1.668212,
y: 0.518071
},
{
x: 1.600021,
y: 0.574034
},
{
x: 1.522222,
y: 0.615619
},
{
x: 1.437805,
y: 0.641226
},
{
x: 1.350014,
y: 0.649873
},
{
x: 1.262223,
y: 0.641226
},
{
x: 1.177806,
y: 0.615619
},
{
x: 1.100007,
y: 0.574034
},
{
x: 1.031816,
y: 0.518071
},
{
x: 0.975853,
y: 0.44988
},
{
x: 0.934268,
y: 0.372081
},
{
x: 0.908661,
y: 0.287664
},
{
x: 0.900014,
y: 0.199873
},
{
x: 0.908661,
y: 0.112082
},
{
x: 0.934268,
y: 0.027665
},
{
x: 0.975853,
y: -0.050134
},
{
x: 1.031816,
y: -0.118325
},
{
x: 1.100007,
y: -0.174288
},
{
x: 1.177806,
y: -0.215873
},
{
x: 1.262223,
y: -0.24148
}
]
},
{
vertices: [
{
x: 14.950014,
y: -0.600127
},
{
x: 15.037805,
y: -0.59148
},
{
x: 15.122222,
y: -0.565873
},
{
x: 15.200021,
y: -0.524288
},
{
x: 15.268212,
y: -0.468325
},
{
x: 15.324175,
y: -0.400134
},
{
x: 15.36576,
y: -0.322335
},
{
x: 15.391367,
y: -0.237918
},
{
x: 15.400014,
y: -0.150127
},
{
x: 15.391367,
y: -0.062336
},
{
x: 15.36576,
y: 0.022081
},
{
x: 15.324175,
y: 0.09988
},
{
x: 15.268212,
y: 0.168071
},
{
x: 15.200021,
y: 0.224034
},
{
x: 15.122222,
y: 0.265619
},
{
x: 15.037805,
y: 0.291226
},
{
x: 14.950014,
y: 0.299873
},
{
x: 14.862223,
y: 0.291226
},
{
x: 14.777806,
y: 0.265619
},
{
x: 14.700007,
y: 0.224034
},
{
x: 14.631816,
y: 0.168071
},
{
x: 14.575853,
y: 0.09988
},
{
x: 14.534268,
y: 0.022081
},
{
x: 14.508661,
y: -0.062336
},
{
x: 14.500014,
y: -0.150127
},
{
x: 14.508661,
y: -0.237918
},
{
x: 14.534268,
y: -0.322335
},
{
x: 14.575853,
y: -0.400134
},
{
x: 14.631816,
y: -0.468325
},
{
x: 14.700007,
y: -0.524288
},
{
x: 14.777806,
y: -0.565873
},
{
x: 14.862223,
y: -0.59148
}
]
},
{
vertices: [
{
x: 0.85004,
y: -1.149985
},
{
x: 0.937831,
y: -1.141338
},
{
x: 1.022248,
y: -1.115731
},
{
x: 1.100047,
y: -1.074146
},
{
x: 1.168238,
y: -1.018183
},
{
x: 1.224201,
y: -0.949992
},
{
x: 1.265786,
y: -0.872193
},
{
x: 1.291393,
y: -0.787776
},
{
x: 1.30004,
y: -0.699985
},
{
x: 1.291393,
y: -0.612194
},
{
x: 1.265786,
y: -0.527777
},
{
x: 1.224201,
y: -0.449978
},
{
x: 1.168238,
y: -0.381787
},
{
x: 1.100047,
y: -0.325824
},
{
x: 1.022248,
y: -0.284239
},
{
x: 0.937831,
y: -0.258632
},
{
x: 0.85004,
y: -0.249985
},
{
x: 0.762249,
y: -0.258632
},
{
x: 0.677832,
y: -0.284239
},
{
x: 0.600033,
y: -0.325824
},
{
x: 0.531842,
y: -0.381787
},
{
x: 0.475879,
y: -0.449978
},
{
x: 0.434294,
y: -0.527777
},
{
x: 0.408687,
y: -0.612194
},
{
x: 0.40004,
y: -0.699985
},
{
x: 0.408687,
y: -0.787776
},
{
x: 0.434294,
y: -0.872193
},
{
x: 0.475879,
y: -0.949992
},
{
x: 0.531842,
y: -1.018183
},
{
x: 0.600033,
y: -1.074146
},
{
x: 0.677832,
y: -1.115731
},
{
x: 0.762249,
y: -1.141338
}
]
},
{
vertices: [
{
x: -7.525152,
y: -1.474937
},
{
x: -7.437361,
y: -1.46629
},
{
x: -7.352944,
y: -1.440683
},
{
x: -7.275145,
y: -1.399098
},
{
x: -7.206954,
y: -1.343135
},
{
x: -7.150991,
y: -1.274944
},
{
x: -7.109406,
y: -1.197145
},
{
x: -7.083799,
y: -1.112728
},
{
x: -7.075152,
y: -1.024937
},
{
x: -7.083799,
y: -0.937146
},
{
x: -7.109406,
y: -0.852729
},
{
x: -7.150991,
y: -0.77493
},
{
x: -7.206954,
y: -0.706739
},
{
x: -7.275145,
y: -0.650776
},
{
x: -7.352944,
y: -0.609191
},
{
x: -7.437361,
y: -0.583584
},
{
x: -7.525152,
y: -0.574937
},
{
x: -7.612943,
y: -0.583584
},
{
x: -7.69736,
y: -0.609191
},
{
x: -7.775159,
y: -0.650776
},
{
x: -7.84335,
y: -0.706739
},
{
x: -7.899313,
y: -0.77493
},
{
x: -7.940898,
y: -0.852729
},
{
x: -7.966505,
y: -0.937146
},
{
x: -7.975152,
y: -1.024937
},
{
x: -7.966505,
y: -1.112728
},
{
x: -7.940898,
y: -1.197145
},
{
x: -7.899313,
y: -1.274944
},
{
x: -7.84335,
y: -1.343135
},
{
x: -7.775159,
y: -1.399098
},
{
x: -7.69736,
y: -1.440683
},
{
x: -7.612943,
y: -1.46629
}
]
},
{
vertices: [
{
x: 14.050014,
y: -2.000127
},
{
x: 14.137805,
y: -1.99148
},
{
x: 14.222222,
y: -1.965873
},
{
x: 14.300021,
y: -1.924288
},
{
x: 14.368212,
y: -1.868325
},
{
x: 14.424175,
y: -1.800134
},
{
x: 14.46576,
y: -1.722335
},
{
x: 14.491367,
y: -1.637918
},
{
x: 14.500014,
y: -1.550127
},
{
x: 14.491367,
y: -1.462336
},
{
x: 14.46576,
y: -1.377919
},
{
x: 14.424175,
y: -1.30012
},
{
x: 14.368212,
y: -1.231929
},
{
x: 14.300021,
y: -1.175966
},
{
x: 14.222222,
y: -1.134381
},
{
x: 14.137805,
y: -1.108774
},
{
x: 14.050014,
y: -1.100127
},
{
x: 13.962223,
y: -1.108774
},
{
x: 13.877806,
y: -1.134381
},
{
x: 13.800007,
y: -1.175966
},
{
x: 13.731816,
y: -1.231929
},
{
x: 13.675853,
y: -1.30012
},
{
x: 13.634268,
y: -1.377919
},
{
x: 13.608661,
y: -1.462336
},
{
x: 13.600014,
y: -1.550127
},
{
x: 13.608661,
y: -1.637918
},
{
x: 13.634268,
y: -1.722335
},
{
x: 13.675853,
y: -1.800134
},
{
x: 13.731816,
y: -1.868325
},
{
x: 13.800007,
y: -1.924288
},
{
x: 13.877806,
y: -1.965873
},
{
x: 13.962223,
y: -1.99148
}
]
},
{
vertices: [
{
x: 9.200014,
y: -2.250127
},
{
x: 9.287805,
y: -2.24148
},
{
x: 9.372222,
y: -2.215873
},
{
x: 9.450021,
y: -2.174288
},
{
x: 9.518212,
y: -2.118325
},
{
x: 9.574175,
y: -2.050134
},
{
x: 9.61576,
y: -1.972335
},
{
x: 9.641367,
y: -1.887918
},
{
x: 9.650014,
y: -1.800127
},
{
x: 9.641367,
y: -1.712336
},
{
x: 9.61576,
y: -1.627919
},
{
x: 9.574175,
y: -1.55012
},
{
x: 9.518212,
y: -1.481929
},
{
x: 9.450021,
y: -1.425966
},
{
x: 9.372222,
y: -1.384381
},
{
x: 9.287805,
y: -1.358774
},
{
x: 9.200014,
y: -1.350127
},
{
x: 9.112223,
y: -1.358774
},
{
x: 9.027806,
y: -1.384381
},
{
x: 8.950007,
y: -1.425966
},
{
x: 8.881816,
y: -1.481929
},
{
x: 8.825853,
y: -1.55012
},
{
x: 8.784268,
y: -1.627919
},
{
x: 8.758661,
y: -1.712336
},
{
x: 8.750014,
y: -1.800127
},
{
x: 8.758661,
y: -1.887918
},
{
x: 8.784268,
y: -1.972335
},
{
x: 8.825853,
y: -2.050134
},
{
x: 8.881816,
y: -2.118325
},
{
x: 8.950007,
y: -2.174288
},
{
x: 9.027806,
y: -2.215873
},
{
x: 9.112223,
y: -2.24148
}
]
},
{
vertices: [
{
x: -0.635,
y: -3.880206
},
{
x: -0.540537,
y: -3.870902
},
{
x: -0.449704,
y: -3.843348
},
{
x: -0.365993,
y: -3.798603
},
{
x: -0.292618,
y: -3.738387
},
{
x: -0.232402,
y: -3.665013
},
{
x: -0.187657,
y: -3.581301
},
{
x: -0.160103,
y: -3.490468
},
{
x: -0.150799,
y: -3.396005
},
{
x: -0.150799,
y: -2.014195
},
{
x: -0.160103,
y: -1.919732
},
{
x: -0.187657,
y: -1.828899
},
{
x: -0.232402,
y: -1.745187
},
{
x: -0.292618,
y: -1.671813
},
{
x: -0.365993,
y: -1.611597
},
{
x: -0.449704,
y: -1.566852
},
{
x: -0.540537,
y: -1.539298
},
{
x: -0.635,
y: -1.529994
},
{
x: -0.729463,
y: -1.539298
},
{
x: -0.820296,
y: -1.566852
},
{
x: -0.904007,
y: -1.611597
},
{
x: -0.977382,
y: -1.671813
},
{
x: -1.037598,
y: -1.745187
},
{
x: -1.082343,
y: -1.828899
},
{
x: -1.109897,
y: -1.919732
},
{
x: -1.119201,
y: -2.014195
},
{
x: -1.119201,
y: -3.396005
},
{
x: -1.109897,
y: -3.490468
},
{
x: -1.082343,
y: -3.581301
},
{
x: -1.037598,
y: -3.665013
},
{
x: -0.977382,
y: -3.738387
},
{
x: -0.904007,
y: -3.798603
},
{
x: -0.820296,
y: -3.843348
},
{
x: -0.729463,
y: -3.870902
}
]
},
{
vertices: [
{
x: 11.86,
y: -2.6
},
{
x: 11.947791,
y: -2.591353
},
{
x: 12.032208,
y: -2.565746
},
{
x: 12.110007,
y: -2.524161
},
{
x: 12.178198,
y: -2.468198
},
{
x: 12.234161,
y: -2.400007
},
{
x: 12.275746,
y: -2.322208
},
{
x: 12.301353,
y: -2.237791
},
{
x: 12.31,
y: -2.15
},
{
x: 12.301353,
y: -2.062209
},
{
x: 12.275746,
y: -1.977792
},
{
x: 12.234161,
y: -1.899993
},
{
x: 12.178198,
y: -1.831802
},
{
x: 12.110007,
y: -1.775839
},
{
x: 12.032208,
y: -1.734254
},
{
x: 11.947791,
y: -1.708647
},
{
x: 11.86,
y: -1.7
},
{
x: 11.772209,
y: -1.708647
},
{
x: 11.687792,
y: -1.734254
},
{
x: 11.609993,
y: -1.775839
},
{
x: 11.541802,
y: -1.831802
},
{
x: 11.485839,
y: -1.899993
},
{
x: 11.444254,
y: -1.977792
},
{
x: 11.418647,
y: -2.062209
},
{
x: 11.41,
y: -2.15
},
{
x: 11.418647,
y: -2.237791
},
{
x: 11.444254,
y: -2.322208
},
{
x: 11.485839,
y: -2.400007
},
{
x: 11.541802,
y: -2.468198
},
{
x: 11.609993,
y: -2.524161
},
{
x: 11.687792,
y: -2.565746
},
{
x: 11.772209,
y: -2.591353
}
]
},
{
vertices: [
{
x: -3.800064,
y: -3.149871
},
{
x: -3.712273,
y: -3.141224
},
{
x: -3.627856,
y: -3.115617
},
{
x: -3.550057,
y: -3.074032
},
{
x: -3.481866,
y: -3.018069
},
{
x: -3.425903,
y: -2.949878
},
{
x: -3.384318,
y: -2.872079
},
{
x: -3.358711,
y: -2.787662
},
{
x: -3.350064,
y: -2.699871
},
{
x: -3.358711,
y: -2.61208
},
{
x: -3.384318,
y: -2.527663
},
{
x: -3.425903,
y: -2.449864
},
{
x: -3.481866,
y: -2.381673
},
{
x: -3.550057,
y: -2.32571
},
{
x: -3.627856,
y: -2.284125
},
{
x: -3.712273,
y: -2.258518
},
{
x: -3.800064,
y: -2.249871
},
{
x: -3.887855,
y: -2.258518
},
{
x: -3.972272,
y: -2.284125
},
{
x: -4.050071,
y: -2.32571
},
{
x: -4.118262,
y: -2.381673
},
{
x: -4.174225,
y: -2.449864
},
{
x: -4.21581,
y: -2.527663
},
{
x: -4.241417,
y: -2.61208
},
{
x: -4.250064,
y: -2.699871
},
{
x: -4.241417,
y: -2.787662
},
{
x: -4.21581,
y: -2.872079
},
{
x: -4.174225,
y: -2.949878
},
{
x: -4.118262,
y: -3.018069
},
{
x: -4.050071,
y: -3.074032
},
{
x: -3.972272,
y: -3.115617
},
{
x: -3.887855,
y: -3.141224
}
]
},
{
vertices: [
{
x: -13.399936,
y: -4.700079
},
{
x: -13.312145,
y: -4.691432
},
{
x: -13.227728,
y: -4.665825
},
{
x: -13.149929,
y: -4.62424
},
{
x: -13.081738,
y: -4.568277
},
{
x: -13.025775,
y: -4.500086
},
{
x: -12.98419,
y: -4.422287
},
{
x: -12.958583,
y: -4.33787
},
{
x: -12.949936,
y: -4.250079
},
{
x: -12.958583,
y: -4.162288
},
{
x: -12.98419,
y: -4.077871
},
{
x: -13.025775,
y: -4.000072
},
{
x: -13.081738,
y: -3.931881
},
{
x: -13.149929,
y: -3.875918
},
{
x: -13.227728,
y: -3.834333
},
{
x: -13.258318,
y: -3.825054
},
{
x: -13.227728,
y: -3.815775
},
{
x: -13.149929,
y: -3.77419
},
{
x: -13.081738,
y: -3.718227
},
{
x: -13.025775,
y: -3.650036
},
{
x: -12.98419,
y: -3.572237
},
{
x: -12.958583,
y: -3.48782
},
{
x: -12.949936,
y: -3.400029
},
{
x: -12.958583,
y: -3.312238
},
{
x: -12.98419,
y: -3.227821
},
{
x: -13.025775,
y: -3.150022
},
{
x: -13.081738,
y: -3.081831
},
{
x: -13.149929,
y: -3.025868
},
{
x: -13.227728,
y: -2.984283
},
{
x: -13.312145,
y: -2.958676
},
{
x: -13.329571,
y: -2.95696
},
{
x: -13.308583,
y: -2.88777
},
{
x: -13.299936,
y: -2.799979
},
{
x: -13.308583,
y: -2.712188
},
{
x: -13.33419,
y: -2.627771
},
{
x: -13.375775,
y: -2.549972
},
{
x: -13.431738,
y: -2.481781
},
{
x: -13.499929,
y: -2.425818
},
{
x: -13.577728,
y: -2.384233
},
{
x: -13.662145,
y: -2.358626
},
{
x: -13.749936,
y: -2.349979
},
{
x: -13.837727,
y: -2.358626
},
{
x: -13.922144,
y: -2.384233
},
{
x: -13.999943,
y: -2.425818
},
{
x: -14.068134,
y: -2.481781
},
{
x: -14.124097,
y: -2.549972
},
{
x: -14.165682,
y: -2.627771
},
{
x: -14.191289,
y: -2.712188
},
{
x: -14.199936,
y: -2.799979
},
{
x: -14.191289,
y: -2.88777
},
{
x: -14.165682,
y: -2.972187
},
{
x: -14.124097,
y: -3.049986
},
{
x: -14.068134,
y: -3.118177
},
{
x: -13.999943,
y: -3.17414
},
{
x: -13.922144,
y: -3.215725
},
{
x: -13.837727,
y: -3.241332
},
{
x: -13.820301,
y: -3.243048
},
{
x: -13.841289,
y: -3.312238
},
{
x: -13.849936,
y: -3.400029
},
{
x: -13.841289,
y: -3.48782
},
{
x: -13.815682,
y: -3.572237
},
{
x: -13.774097,
y: -3.650036
},
{
x: -13.718134,
y: -3.718227
},
{
x: -13.649943,
y: -3.77419
},
{
x: -13.572144,
y: -3.815775
},
{
x: -13.541554,
y: -3.825054
},
{
x: -13.572144,
y: -3.834333
},
{
x: -13.649943,
y: -3.875918
},
{
x: -13.718134,
y: -3.931881
},
{
x: -13.774097,
y: -4.000072
},
{
x: -13.815682,
y: -4.077871
},
{
x: -13.841289,
y: -4.162288
},
{
x: -13.849936,
y: -4.250079
},
{
x: -13.841289,
y: -4.33787
},
{
x: -13.815682,
y: -4.422287
},
{
x: -13.774097,
y: -4.500086
},
{
x: -13.718134,
y: -4.568277
},
{
x: -13.649943,
y: -4.62424
},
{
x: -13.572144,
y: -4.665825
},
{
x: -13.487727,
y: -4.691432
}
]
},
{
vertices: [
{
x: 11.850064,
y: -3.500079
},
{
x: 11.937855,
y: -3.491432
},
{
x: 12.022272,
y: -3.465825
},
{
x: 12.100071,
y: -3.42424
},
{
x: 12.168262,
y: -3.368277
},
{
x: 12.224225,
y: -3.300086
},
{
x: 12.26581,
y: -3.222287
},
{
x: 12.291417,
y: -3.13787
},
{
x: 12.300064,
y: -3.050079
},
{
x: 12.291417,
y: -2.962288
},
{
x: 12.26581,
y: -2.877871
},
{
x: 12.224225,
y: -2.800072
},
{
x: 12.168262,
y: -2.731881
},
{
x: 12.100071,
y: -2.675918
},
{
x: 12.022272,
y: -2.634333
},
{
x: 11.937855,
y: -2.608726
},
{
x: 11.850064,
y: -2.600079
},
{
x: 11.762273,
y: -2.608726
},
{
x: 11.677856,
y: -2.634333
},
{
x: 11.600057,
y: -2.675918
},
{
x: 11.531866,
y: -2.731881
},
{
x: 11.475903,
y: -2.800072
},
{
x: 11.434318,
y: -2.877871
},
{
x: 11.408711,
y: -2.962288
},
{
x: 11.400064,
y: -3.050079
},
{
x: 11.408711,
y: -3.13787
},
{
x: 11.434318,
y: -3.222287
},
{
x: 11.475903,
y: -3.300086
},
{
x: 11.531866,
y: -3.368277
},
{
x: 11.600057,
y: -3.42424
},
{
x: 11.677856,
y: -3.465825
},
{
x: 11.762273,
y: -3.491432
}
]
},
{
vertices: [
{
x: -3.950064,
y: -4.399875
},
{
x: -3.862273,
y: -4.391228
},
{
x: -3.777856,
y: -4.365621
},
{
x: -3.700057,
y: -4.324036
},
{
x: -3.631866,
y: -4.268073
},
{
x: -3.575903,
y: -4.199882
},
{
x: -3.534318,
y: -4.122083
},
{
x: -3.508711,
y: -4.037666
},
{
x: -3.500064,
y: -3.949875
},
{
x: -3.508711,
y: -3.862084
},
{
x: -3.534318,
y: -3.777667
},
{
x: -3.575903,
y: -3.699868
},
{
x: -3.631866,
y: -3.631677
},
{
x: -3.700057,
y: -3.575714
},
{
x: -3.777856,
y: -3.534129
},
{
x: -3.862273,
y: -3.508522
},
{
x: -3.950064,
y: -3.499875
},
{
x: -4.037855,
y: -3.508522
},
{
x: -4.122272,
y: -3.534129
},
{
x: -4.200071,
y: -3.575714
},
{
x: -4.268262,
y: -3.631677
},
{
x: -4.324225,
y: -3.699868
},
{
x: -4.355881,
y: -3.759092
},
{
x: -4.350064,
y: -3.700029
},
{
x: -4.358711,
y: -3.612238
},
{
x: -4.384318,
y: -3.527821
},
{
x: -4.425903,
y: -3.450022
},
{
x: -4.481866,
y: -3.381831
},
{
x: -4.550057,
y: -3.325868
},
{
x: -4.627856,
y: -3.284283
},
{
x: -4.712273,
y: -3.258676
},
{
x: -4.800064,
y: -3.250029
},
{
x: -4.887855,
y: -3.258676
},
{
x: -4.972272,
y: -3.284283
},
{
x: -5.050071,
y: -3.325868
},
{
x: -5.118262,
y: -3.381831
},
{
x: -5.174225,
y: -3.450022
},
{
x: -5.21581,
y: -3.527821
},
{
x: -5.241417,
y: -3.612238
},
{
x: -5.250064,
y: -3.700029
},
{
x: -5.241417,
y: -3.78782
},
{
x: -5.21581,
y: -3.872237
},
{
x: -5.174225,
y: -3.950036
},
{
x: -5.118262,
y: -4.018227
},
{
x: -5.050071,
y: -4.07419
},
{
x: -4.972272,
y: -4.115775
},
{
x: -4.887855,
y: -4.141382
},
{
x: -4.800064,
y: -4.150029
},
{
x: -4.712273,
y: -4.141382
},
{
x: -4.627856,
y: -4.115775
},
{
x: -4.550057,
y: -4.07419
},
{
x: -4.481866,
y: -4.018227
},
{
x: -4.425903,
y: -3.950036
},
{
x: -4.394247,
y: -3.890812
},
{
x: -4.400064,
y: -3.949875
},
{
x: -4.391417,
y: -4.037666
},
{
x: -4.36581,
y: -4.122083
},
{
x: -4.324225,
y: -4.199882
},
{
x: -4.268262,
y: -4.268073
},
{
x: -4.200071,
y: -4.324036
},
{
x: -4.122272,
y: -4.365621
},
{
x: -4.037855,
y: -4.391228
}
]
},
{
vertices: [
{
x: 9.9,
y: -16.51
},
{
x: 9.987791,
y: -16.501353
},
{
x: 10.072208,
y: -16.475746
},
{
x: 10.150007,
y: -16.434161
},
{
x: 10.218198,
y: -16.378198
},
{
x: 10.274161,
y: -16.310007
},
{
x: 10.315746,
y: -16.232208
},
{
x: 10.341353,
y: -16.147791
},
{
x: 10.35,
y: -16.06
},
{
x: 10.341353,
y: -15.972209
},
{
x: 10.315746,
y: -15.887792
},
{
x: 10.274161,
y: -15.809993
},
{
x: 10.218198,
y: -15.741802
},
{
x: 10.150007,
y: -15.685839
},
{
x: 10.072208,
y: -15.644254
},
{
x: 9.987791,
y: -15.618647
},
{
x: 9.9,
y: -15.61
},
{
x: 9.812209,
y: -15.618647
},
{
x: 9.727792,
y: -15.644254
},
{
x: 9.649993,
y: -15.685839
},
{
x: 9.581802,
y: -15.741802
},
{
x: 9.525839,
y: -15.809993
},
{
x: 9.484254,
y: -15.887792
},
{
x: 9.458647,
y: -15.972209
},
{
x: 9.45,
y: -16.06
},
{
x: 9.458647,
y: -16.147791
},
{
x: 9.484254,
y: -16.232208
},
{
x: 9.525839,
y: -16.310007
},
{
x: 9.581802,
y: -16.378198
},
{
x: 9.649993,
y: -16.434161
},
{
x: 9.727792,
y: -16.475746
},
{
x: 9.812209,
y: -16.501353
}
]
},
{
vertices: [
{
x: 2.5,
y: -19.09
},
{
x: 2.587791,
y: -19.081353
},
{
x: 2.672208,
y: -19.055746
},
{
x: 2.750007,
y: -19.014161
},
{
x: 2.818198,
y: -18.958198
},
{
x: 2.874161,
y: -18.890007
},
{
x: 2.915746,
y: -18.812208
},
{
x: 2.941353,
y: -18.727791
},
{
x: 2.941617,
y: -18.725107
},
{
x: 2.962209,
y: -18.731353
},
{
x: 3.05,
y: -18.74
},
{
x: 3.137791,
y: -18.731353
},
{
x: 3.222208,
y: -18.705746
},
{
x: 3.300007,
y: -18.664161
},
{
x: 3.368198,
y: -18.608198
},
{
x: 3.424161,
y: -18.540007
},
{
x: 3.465746,
y: -18.462208
},
{
x: 3.491353,
y: -18.377791
},
{
x: 3.5,
y: -18.29
},
{
x: 3.491353,
y: -18.202209
},
{
x: 3.465746,
y: -18.117792
},
{
x: 3.424161,
y: -18.039993
},
{
x: 3.368198,
y: -17.971802
},
{
x: 3.300007,
y: -17.915839
},
{
x: 3.222208,
y: -17.874254
},
{
x: 3.137791,
y: -17.848647
},
{
x: 3.05,
y: -17.84
},
{
x: 2.962209,
y: -17.848647
},
{
x: 2.877792,
y: -17.874254
},
{
x: 2.799993,
y: -17.915839
},
{
x: 2.731802,
y: -17.971802
},
{
x: 2.675839,
y: -18.039993
},
{
x: 2.634254,
y: -18.117792
},
{
x: 2.608647,
y: -18.202209
},
{
x: 2.608383,
y: -18.204893
},
{
x: 2.587791,
y: -18.198647
},
{
x: 2.5,
y: -18.19
},
{
x: 2.412209,
y: -18.198647
},
{
x: 2.327792,
y: -18.224254
},
{
x: 2.249993,
y: -18.265839
},
{
x: 2.181802,
y: -18.321802
},
{
x: 2.125839,
y: -18.389993
},
{
x: 2.084254,
y: -18.467792
},
{
x: 2.058647,
y: -18.552209
},
{
x: 2.05,
y: -18.64
},
{
x: 2.058647,
y: -18.727791
},
{
x: 2.084254,
y: -18.812208
},
{
x: 2.125839,
y: -18.890007
},
{
x: 2.181802,
y: -18.958198
},
{
x: 2.249993,
y: -19.014161
},
{
x: 2.327792,
y: -19.055746
},
{
x: 2.412209,
y: -19.081353
}
]
},
{
vertices: [
{
x: 5.900014,
y: -19.100127
},
{
x: 5.987805,
y: -19.09148
},
{
x: 6.072222,
y: -19.065873
},
{
x: 6.150021,
y: -19.024288
},
{
x: 6.218212,
y: -18.968325
},
{
x: 6.274175,
y: -18.900134
},
{
x: 6.31576,
y: -18.822335
},
{
x: 6.341367,
y: -18.737918
},
{
x: 6.350014,
y: -18.650127
},
{
x: 6.341367,
y: -18.562336
},
{
x: 6.31576,
y: -18.477919
},
{
x: 6.274175,
y: -18.40012
},
{
x: 6.218212,
y: -18.331929
},
{
x: 6.150021,
y: -18.275966
},
{
x: 6.072222,
y: -18.234381
},
{
x: 5.987805,
y: -18.208774
},
{
x: 5.900014,
y: -18.200127
},
{
x: 5.812223,
y: -18.208774
},
{
x: 5.727806,
y: -18.234381
},
{
x: 5.650007,
y: -18.275966
},
{
x: 5.581816,
y: -18.331929
},
{
x: 5.525853,
y: -18.40012
},
{
x: 5.484268,
y: -18.477919
},
{
x: 5.458661,
y: -18.562336
},
{
x: 5.450014,
y: -18.650127
},
{
x: 5.458661,
y: -18.737918
},
{
x: 5.484268,
y: -18.822335
},
{
x: 5.525853,
y: -18.900134
},
{
x: 5.581816,
y: -18.968325
},
{
x: 5.650007,
y: -19.024288
},
{
x: 5.727806,
y: -19.065873
},
{
x: 5.812223,
y: -19.09148
}
]
}
]
}
},
keep: true
},
{
geometry: {
layer: "bottom",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: -1.709913,
y: -18.674975
},
{
x: -2.442702,
y: -18.674975
},
{
x: -2.447154,
y: -18.671321
},
{
x: -2.494698,
y: -18.645908
},
{
x: -2.546286,
y: -18.630259
},
{
x: -2.584509,
y: -18.626494
},
{
x: -3.305482,
y: -17.905521
},
{
x: -3.347154,
y: -17.871321
},
{
x: -3.394698,
y: -17.845908
},
{
x: -3.446286,
y: -17.830259
},
{
x: -3.499936,
y: -17.824975
},
{
x: -6.842702,
y: -17.824975
},
{
x: -6.847154,
y: -17.821321
},
{
x: -6.894698,
y: -17.795908
},
{
x: -6.930386,
y: -17.785082
},
{
x: -6.947154,
y: -17.771321
},
{
x: -6.994698,
y: -17.745908
},
{
x: -7.023977,
y: -17.737026
},
{
x: -7.036987,
y: -17.724016
},
{
x: -7.045869,
y: -17.694737
},
{
x: -7.071282,
y: -17.647193
},
{
x: -7.085043,
y: -17.630425
},
{
x: -7.095869,
y: -17.594737
},
{
x: -7.121282,
y: -17.547193
},
{
x: -7.124936,
y: -17.542741
},
{
x: -7.124936,
y: -16.887577
},
{
x: -7.072208,
y: -16.915761
},
{
x: -6.987791,
y: -16.941368
},
{
x: -6.9,
y: -16.950015
},
{
x: -6.812209,
y: -16.941368
},
{
x: -6.727792,
y: -16.915761
},
{
x: -6.649993,
y: -16.874176
},
{
x: -6.581802,
y: -16.818213
},
{
x: -6.54635,
y: -16.775015
},
{
x: -6.45,
y: -16.775015
},
{
x: -6.39635,
y: -16.769731
},
{
x: -6.344762,
y: -16.754082
},
{
x: -6.297218,
y: -16.728669
},
{
x: -6.255546,
y: -16.694469
},
{
x: -6.118148,
y: -16.557071
},
{
x: -6.118046,
y: -16.557408
},
{
x: -6.076461,
y: -16.635207
},
{
x: -6.020498,
y: -16.703398
},
{
x: -5.952307,
y: -16.759361
},
{
x: -5.874508,
y: -16.800946
},
{
x: -5.790091,
y: -16.826553
},
{
x: -5.7023,
y: -16.8352
},
{
x: -5.614509,
y: -16.826553
},
{
x: -5.530092,
y: -16.800946
},
{
x: -5.452293,
y: -16.759361
},
{
x: -5.384102,
y: -16.703398
},
{
x: -5.328139,
y: -16.635207
},
{
x: -5.286554,
y: -16.557408
},
{
x: -5.260947,
y: -16.472991
},
{
x: -5.2523,
y: -16.3852
},
{
x: -5.260947,
y: -16.297409
},
{
x: -5.286554,
y: -16.212992
},
{
x: -5.328139,
y: -16.135193
},
{
x: -5.381387,
y: -16.07031
},
{
x: -4.305614,
y: -14.994537
},
{
x: -4.25,
y: -15.000015
},
{
x: -4.231948,
y: -14.998237
},
{
x: -4.251353,
y: -15.062209
},
{
x: -4.26,
y: -15.15
},
{
x: -4.251353,
y: -15.237791
},
{
x: -4.225746,
y: -15.322208
},
{
x: -4.184161,
y: -15.400007
},
{
x: -4.128198,
y: -15.468198
},
{
x: -4.060007,
y: -15.524161
},
{
x: -3.982208,
y: -15.565746
},
{
x: -3.897791,
y: -15.591353
},
{
x: -3.81,
y: -15.6
},
{
x: -3.722209,
y: -15.591353
},
{
x: -3.637792,
y: -15.565746
},
{
x: -3.559993,
y: -15.524161
},
{
x: -3.491802,
y: -15.468198
},
{
x: -3.435839,
y: -15.400007
},
{
x: -3.394254,
y: -15.322208
},
{
x: -3.368647,
y: -15.237791
},
{
x: -3.36,
y: -15.15
},
{
x: -3.367768,
y: -15.071129
},
{
x: -2.744518,
y: -15.694379
},
{
x: -2.702846,
y: -15.728579
},
{
x: -2.655302,
y: -15.753992
},
{
x: -2.603714,
y: -15.769641
},
{
x: -2.550064,
y: -15.774925
},
{
x: -2.007298,
y: -15.774925
},
{
x: -2.002846,
y: -15.778579
},
{
x: -1.955302,
y: -15.803992
},
{
x: -1.903714,
y: -15.819641
},
{
x: -1.850064,
y: -15.824925
},
{
x: -0.757298,
y: -15.824925
},
{
x: -0.752846,
y: -15.828579
},
{
x: -0.705302,
y: -15.853992
},
{
x: -0.676023,
y: -15.862874
},
{
x: -0.194518,
y: -16.344379
},
{
x: -0.152846,
y: -16.378579
},
{
x: -0.105302,
y: -16.403992
},
{
x: -0.053714,
y: -16.419641
},
{
x: -64e-6,
y: -16.424925
},
{
x: 0.342702,
y: -16.424925
},
{
x: 0.347154,
y: -16.428579
},
{
x: 0.394698,
y: -16.453992
},
{
x: 0.423977,
y: -16.462874
},
{
x: 0.436987,
y: -16.475884
},
{
x: 0.445869,
y: -16.505163
},
{
x: 0.471282,
y: -16.552707
},
{
x: 0.474936,
y: -16.557159
},
{
x: 0.474936,
y: -16.686017
},
{
x: 0.105482,
y: -17.055471
},
{
x: -0.613972,
y: -17.774925
},
{
x: -0.900064,
y: -17.774925
},
{
x: -0.953714,
y: -17.780209
},
{
x: -1.005302,
y: -17.795858
},
{
x: -1.052846,
y: -17.821271
},
{
x: -1.094518,
y: -17.855471
},
{
x: -1.192255,
y: -17.953208
},
{
x: -1.227856,
y: -17.934179
},
{
x: -1.312273,
y: -17.908572
},
{
x: -1.400064,
y: -17.899925
},
{
x: -1.487855,
y: -17.908572
},
{
x: -1.572272,
y: -17.934179
},
{
x: -1.650071,
y: -17.975764
},
{
x: -1.718262,
y: -18.031727
},
{
x: -1.774225,
y: -18.099918
},
{
x: -1.81581,
y: -18.177717
},
{
x: -1.841417,
y: -18.262134
},
{
x: -1.850064,
y: -18.349925
},
{
x: -1.841417,
y: -18.437716
},
{
x: -1.81581,
y: -18.522133
},
{
x: -1.774225,
y: -18.599932
},
{
x: -1.718262,
y: -18.668123
}
]
},
inner_rings: [
{
vertices: [
{
x: -2.15,
y: -16.71
},
{
x: -2.062209,
y: -16.701353
},
{
x: -1.977792,
y: -16.675746
},
{
x: -1.899993,
y: -16.634161
},
{
x: -1.831802,
y: -16.578198
},
{
x: -1.775839,
y: -16.510007
},
{
x: -1.734254,
y: -16.432208
},
{
x: -1.708647,
y: -16.347791
},
{
x: -1.7,
y: -16.26
},
{
x: -1.708647,
y: -16.172209
},
{
x: -1.734254,
y: -16.087792
},
{
x: -1.775839,
y: -16.009993
},
{
x: -1.831802,
y: -15.941802
},
{
x: -1.899993,
y: -15.885839
},
{
x: -1.977792,
y: -15.844254
},
{
x: -2.062209,
y: -15.818647
},
{
x: -2.15,
y: -15.81
},
{
x: -2.237791,
y: -15.818647
},
{
x: -2.322208,
y: -15.844254
},
{
x: -2.400007,
y: -15.885839
},
{
x: -2.468198,
y: -15.941802
},
{
x: -2.524161,
y: -16.009993
},
{
x: -2.565746,
y: -16.087792
},
{
x: -2.591353,
y: -16.172209
},
{
x: -2.6,
y: -16.26
},
{
x: -2.591353,
y: -16.347791
},
{
x: -2.565746,
y: -16.432208
},
{
x: -2.524161,
y: -16.510007
},
{
x: -2.468198,
y: -16.578198
},
{
x: -2.400007,
y: -16.634161
},
{
x: -2.322208,
y: -16.675746
},
{
x: -2.237791,
y: -16.701353
}
]
}
]
}
},
keep: true
},
{
geometry: {
layer: "bottom",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: -2.04,
y: -13.171053
},
{
x: -2.305482,
y: -12.905571
},
{
x: -2.347154,
y: -12.871371
},
{
x: -2.394698,
y: -12.845958
},
{
x: -2.446286,
y: -12.830309
},
{
x: -2.499936,
y: -12.825025
},
{
x: -3.042702,
y: -12.825025
},
{
x: -3.047154,
y: -12.821371
},
{
x: -3.094698,
y: -12.795958
},
{
x: -3.123977,
y: -12.787076
},
{
x: -5.141084,
y: -10.769969
},
{
x: -5.09,
y: -10.775
},
{
x: -4.517932,
y: -10.775
},
{
x: -4.541353,
y: -10.852209
},
{
x: -4.55,
y: -10.94
},
{
x: -4.541353,
y: -11.027791
},
{
x: -4.515746,
y: -11.112208
},
{
x: -4.474161,
y: -11.190007
},
{
x: -4.418198,
y: -11.258198
},
{
x: -4.350007,
y: -11.314161
},
{
x: -4.272208,
y: -11.355746
},
{
x: -4.187791,
y: -11.381353
},
{
x: -4.1,
y: -11.39
},
{
x: -4.012209,
y: -11.381353
},
{
x: -3.927792,
y: -11.355746
},
{
x: -3.908637,
y: -11.345507
},
{
x: -3.874161,
y: -11.410007
},
{
x: -3.818198,
y: -11.478198
},
{
x: -3.750007,
y: -11.534161
},
{
x: -3.672208,
y: -11.575746
},
{
x: -3.587791,
y: -11.601353
},
{
x: -3.5,
y: -11.61
},
{
x: -3.412209,
y: -11.601353
},
{
x: -3.327792,
y: -11.575746
},
{
x: -3.249993,
y: -11.534161
},
{
x: -3.181802,
y: -11.478198
},
{
x: -3.125839,
y: -11.410007
},
{
x: -3.084254,
y: -11.332208
},
{
x: -3.081332,
y: -11.322576
},
{
x: -2.04,
y: -12.363908
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "bottom",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 17.674468,
y: -12.370054
},
{
x: 17.655028,
y: -12.333685
},
{
x: 17.64248,
y: -12.318395
},
{
x: 17.617781,
y: -12.272187
},
{
x: 17.605234,
y: -12.256898
},
{
x: 17.580534,
y: -12.210688
},
{
x: 17.506228,
y: -12.120145
},
{
x: 17.506131,
y: -12.120066
},
{
x: 17.50614,
y: -12.120057
},
{
x: 17.472345,
y: -12.086276
},
{
x: 17.456198,
y: -12.066601
},
{
x: 17.456101,
y: -12.066522
},
{
x: 17.45611,
y: -12.066513
},
{
x: 17.404312,
y: -12.014737
},
{
x: 17.352514,
y: -11.962961
},
{
x: 17.300717,
y: -11.911185
},
{
x: 17.248919,
y: -11.859408
},
{
x: 17.197214,
y: -11.807725
},
{
x: 17.19721,
y: -11.80772
},
{
x: 17.197205,
y: -11.807716
},
{
x: 17.197121,
y: -11.807632
},
{
x: 17.145324,
y: -11.755856
},
{
x: 17.093526,
y: -11.70408
},
{
x: 17.041729,
y: -11.652304
},
{
x: 16.989931,
y: -11.600528
},
{
x: 16.989922,
y: -11.600537
},
{
x: 16.899097,
y: -11.525998
},
{
x: 16.795365,
y: -11.470552
},
{
x: 16.682809,
y: -11.436409
},
{
x: 16.565755,
y: -11.42488
},
{
x: 16.491013,
y: -11.42488
},
{
x: 16.41627,
y: -11.42488
},
{
x: 16.341528,
y: -11.42488
},
{
x: 16.266786,
y: -11.42488
},
{
x: 16.192044,
y: -11.42488
},
{
x: 16.117301,
y: -11.42488
},
{
x: 16.042559,
y: -11.42488
},
{
x: 15.967817,
y: -11.42488
},
{
x: 15.893075,
y: -11.42488
},
{
x: 15.818332,
y: -11.42488
},
{
x: 15.74359,
y: -11.42488
},
{
x: 15.668848,
y: -11.42488
},
{
x: 15.594106,
y: -11.42488
},
{
x: 15.519363,
y: -11.42488
},
{
x: 15.444621,
y: -11.42488
},
{
x: 15.369879,
y: -11.42488
},
{
x: 15.295136,
y: -11.42488
},
{
x: 15.220394,
y: -11.42488
},
{
x: 15.145652,
y: -11.42488
},
{
x: 15.07091,
y: -11.42488
},
{
x: 14.996167,
y: -11.42488
},
{
x: 14.921425,
y: -11.42488
},
{
x: 14.846683,
y: -11.42488
},
{
x: 14.771941,
y: -11.42488
},
{
x: 14.697198,
y: -11.42488
},
{
x: 14.622456,
y: -11.42488
},
{
x: 14.547714,
y: -11.42488
},
{
x: 14.472971,
y: -11.42488
},
{
x: 14.398229,
y: -11.42488
},
{
x: 14.323487,
y: -11.42488
},
{
x: 14.248745,
y: -11.42488
},
{
x: 14.174002,
y: -11.42488
},
{
x: 14.09926,
y: -11.42488
},
{
x: 14.024518,
y: -11.42488
},
{
x: 13.949776,
y: -11.42488
},
{
x: 13.875033,
y: -11.42488
},
{
x: 13.800291,
y: -11.42488
},
{
x: 13.725549,
y: -11.42488
},
{
x: 13.608495,
y: -11.436409
},
{
x: 13.495939,
y: -11.470552
},
{
x: 13.48155,
y: -11.478243
},
{
x: 13.430764,
y: -11.493649
},
{
x: 13.371387,
y: -11.525387
},
{
x: 13.369415,
y: -11.525985
},
{
x: 13.332532,
y: -11.545699
},
{
x: 13.306153,
y: -11.553701
},
{
x: 13.304597,
y: -11.554533
},
{
x: 13.275689,
y: -11.55738
},
{
x: 13.253119,
y: -11.55738
},
{
x: 13.247314,
y: -11.556808
},
{
x: 13.222229,
y: -11.549199
},
{
x: 13.216616,
y: -11.548646
},
{
x: 13.182862,
y: -11.530604
},
{
x: 13.180889,
y: -11.530005
},
{
x: 13.121513,
y: -11.498269
},
{
x: 13.095138,
y: -11.490268
},
{
x: 13.058252,
y: -11.470552
},
{
x: 12.945696,
y: -11.436409
},
{
x: 12.828642,
y: -11.42488
},
{
x: 12.753899,
y: -11.42488
},
{
x: 12.679157,
y: -11.42488
},
{
x: 12.604415,
y: -11.42488
},
{
x: 12.529673,
y: -11.42488
},
{
x: 12.45493,
y: -11.42488
},
{
x: 12.380188,
y: -11.42488
},
{
x: 12.305446,
y: -11.42488
},
{
x: 12.230703,
y: -11.42488
},
{
x: 12.155961,
y: -11.42488
},
{
x: 12.081219,
y: -11.42488
},
{
x: 12.006477,
y: -11.42488
},
{
x: 11.931734,
y: -11.42488
},
{
x: 11.856992,
y: -11.42488
},
{
x: 11.78225,
y: -11.42488
},
{
x: 11.707508,
y: -11.42488
},
{
x: 11.632765,
y: -11.42488
},
{
x: 11.558023,
y: -11.42488
},
{
x: 11.483281,
y: -11.42488
},
{
x: 11.408539,
y: -11.42488
},
{
x: 11.333796,
y: -11.42488
},
{
x: 11.259054,
y: -11.42488
},
{
x: 11.184312,
y: -11.42488
},
{
x: 11.109569,
y: -11.42488
},
{
x: 11.034827,
y: -11.42488
},
{
x: 10.960085,
y: -11.42488
},
{
x: 10.885343,
y: -11.42488
},
{
x: 10.8106,
y: -11.42488
},
{
x: 10.735858,
y: -11.42488
},
{
x: 10.661116,
y: -11.42488
},
{
x: 10.586374,
y: -11.42488
},
{
x: 10.511631,
y: -11.42488
},
{
x: 10.486248,
y: -11.42738
},
{
x: 10.448288,
y: -11.42738
},
{
x: 10.45,
y: -11.41
},
{
x: 10.441353,
y: -11.322209
},
{
x: 10.415746,
y: -11.237792
},
{
x: 10.408852,
y: -11.224894
},
{
x: 11.8,
y: -11.224894
},
{
x: 11.887791,
y: -11.216247
},
{
x: 11.972208,
y: -11.19064
},
{
x: 12.050007,
y: -11.149055
},
{
x: 12.118198,
y: -11.093092
},
{
x: 12.174161,
y: -11.024901
},
{
x: 12.215746,
y: -10.947102
},
{
x: 12.223312,
y: -10.92216
},
{
x: 12.225015,
y: -10.922753
},
{
x: 12.425015,
y: -10.347859
},
{
x: 12.423312,
y: -10.347266
},
{
x: 12.441353,
y: -10.287791
},
{
x: 12.45,
y: -10.2
},
{
x: 12.441353,
y: -10.112209
},
{
x: 12.415746,
y: -10.027792
},
{
x: 12.374161,
y: -9.949993
},
{
x: 12.318198,
y: -9.881802
},
{
x: 12.250007,
y: -9.825839
},
{
x: 12.172208,
y: -9.784254
},
{
x: 12.087791,
y: -9.758647
},
{
x: 12,
y: -9.75
},
{
x: 11.912209,
y: -9.758647
},
{
x: 11.827792,
y: -9.784254
},
{
x: 11.749993,
y: -9.825839
},
{
x: 11.681802,
y: -9.881802
},
{
x: 11.665231,
y: -9.901994
},
{
x: 11.664161,
y: -9.899993
},
{
x: 11.608198,
y: -9.831802
},
{
x: 11.540007,
y: -9.775839
},
{
x: 11.462208,
y: -9.734254
},
{
x: 11.377791,
y: -9.708647
},
{
x: 11.29,
y: -9.7
},
{
x: 11.202209,
y: -9.708647
},
{
x: 11.117792,
y: -9.734254
},
{
x: 11.039993,
y: -9.775839
},
{
x: 10.971802,
y: -9.831802
},
{
x: 10.915839,
y: -9.899993
},
{
x: 10.874254,
y: -9.977792
},
{
x: 10.848647,
y: -10.062209
},
{
x: 10.84,
y: -10.15
},
{
x: 10.848647,
y: -10.237791
},
{
x: 10.874254,
y: -10.322208
},
{
x: 10.87569,
y: -10.324894
},
{
x: 9.670998,
y: -10.324894
},
{
x: 9.691353,
y: -10.257791
},
{
x: 9.7,
y: -10.17
},
{
x: 9.691353,
y: -10.082209
},
{
x: 9.665746,
y: -9.997792
},
{
x: 9.624161,
y: -9.919993
},
{
x: 9.568198,
y: -9.851802
},
{
x: 9.500007,
y: -9.795839
},
{
x: 9.436093,
y: -9.761676
},
{
x: 9.572861,
y: -9.624908
},
{
x: 12.3,
y: -9.624908
},
{
x: 12.397545,
y: -9.615301
},
{
x: 12.463918,
y: -9.595167
},
{
x: 12.484254,
y: -9.662208
},
{
x: 12.525839,
y: -9.740007
},
{
x: 12.581802,
y: -9.808198
},
{
x: 12.649993,
y: -9.864161
},
{
x: 12.727792,
y: -9.905746
},
{
x: 12.812209,
y: -9.931353
},
{
x: 12.9,
y: -9.94
},
{
x: 12.987791,
y: -9.931353
},
{
x: 13.072208,
y: -9.905746
},
{
x: 13.150007,
y: -9.864161
},
{
x: 13.218198,
y: -9.808198
},
{
x: 13.274161,
y: -9.740007
},
{
x: 13.315746,
y: -9.662208
},
{
x: 13.341353,
y: -9.577791
},
{
x: 13.35,
y: -9.49
},
{
x: 13.341353,
y: -9.402209
},
{
x: 13.317905,
y: -9.324908
},
{
x: 13.492894,
y: -9.324908
},
{
x: 13.646447,
y: -9.478461
},
{
x: 13.722215,
y: -9.540643
},
{
x: 13.808658,
y: -9.586848
},
{
x: 13.902455,
y: -9.615301
},
{
x: 14,
y: -9.624908
},
{
x: 17.065755,
y: -9.624908
},
{
x: 17.1633,
y: -9.615301
},
{
x: 17.257097,
y: -9.586848
},
{
x: 17.3,
y: -9.563916
},
{
x: 17.3,
y: -11.26
},
{
x: 17.309607,
y: -11.357545
},
{
x: 17.33806,
y: -11.451342
},
{
x: 17.384265,
y: -11.537785
},
{
x: 17.446447,
y: -11.613553
},
{
x: 17.927372,
y: -12.094478
},
{
x: 17.849993,
y: -12.135839
},
{
x: 17.781802,
y: -12.191802
},
{
x: 17.725839,
y: -12.259993
},
{
x: 17.684254,
y: -12.337792
}
]
},
inner_rings: [
{
vertices: [
{
x: 13.61,
y: -11.3
},
{
x: 13.697791,
y: -11.291353
},
{
x: 13.782208,
y: -11.265746
},
{
x: 13.860007,
y: -11.224161
},
{
x: 13.928198,
y: -11.168198
},
{
x: 13.984161,
y: -11.100007
},
{
x: 14.025746,
y: -11.022208
},
{
x: 14.051353,
y: -10.937791
},
{
x: 14.06,
y: -10.85
},
{
x: 14.051353,
y: -10.762209
},
{
x: 14.025746,
y: -10.677792
},
{
x: 13.984161,
y: -10.599993
},
{
x: 13.928198,
y: -10.531802
},
{
x: 13.860007,
y: -10.475839
},
{
x: 13.782208,
y: -10.434254
},
{
x: 13.697791,
y: -10.408647
},
{
x: 13.61,
y: -10.4
},
{
x: 13.522209,
y: -10.408647
},
{
x: 13.437792,
y: -10.434254
},
{
x: 13.359993,
y: -10.475839
},
{
x: 13.291802,
y: -10.531802
},
{
x: 13.235839,
y: -10.599993
},
{
x: 13.194254,
y: -10.677792
},
{
x: 13.168647,
y: -10.762209
},
{
x: 13.16,
y: -10.85
},
{
x: 13.168647,
y: -10.937791
},
{
x: 13.194254,
y: -11.022208
},
{
x: 13.235839,
y: -11.100007
},
{
x: 13.291802,
y: -11.168198
},
{
x: 13.359993,
y: -11.224161
},
{
x: 13.437792,
y: -11.265746
},
{
x: 13.522209,
y: -11.291353
}
]
}
]
}
},
keep: true
},
{
geometry: {
layer: "bottom",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 4.243527,
y: -16.6556
},
{
x: 4.158873,
y: -16.6556
},
{
x: 4.134368,
y: -16.642502
},
{
x: 4.065096,
y: -16.585652
},
{
x: 3.985411,
y: -16.543059
},
{
x: 0.837076,
y: -13.394724
},
{
x: 0.765096,
y: -13.335652
},
{
x: 0.682975,
y: -13.291757
},
{
x: 0.640761,
y: -13.278952
},
{
x: 0.665746,
y: -13.232208
},
{
x: 0.691353,
y: -13.147791
},
{
x: 0.7,
y: -13.06
},
{
x: 0.691353,
y: -12.972209
},
{
x: 0.665746,
y: -12.887792
},
{
x: 0.624161,
y: -12.809993
},
{
x: 0.568198,
y: -12.741802
},
{
x: 0.500007,
y: -12.685839
},
{
x: 0.422208,
y: -12.644254
},
{
x: 0.337791,
y: -12.618647
},
{
x: 0.25,
y: -12.61
},
{
x: 0.162209,
y: -12.618647
},
{
x: 0.077792,
y: -12.644254
},
{
x: -7e-6,
y: -12.685839
},
{
x: -0.061691,
y: -12.736462
},
{
x: -0.075839,
y: -12.709993
},
{
x: -0.131802,
y: -12.641802
},
{
x: -0.199993,
y: -12.585839
},
{
x: -0.277792,
y: -12.544254
},
{
x: -0.362209,
y: -12.518647
},
{
x: -0.45,
y: -12.51
},
{
x: -0.537791,
y: -12.518647
},
{
x: -0.622208,
y: -12.544254
},
{
x: -0.700007,
y: -12.585839
},
{
x: -0.768198,
y: -12.641802
},
{
x: -0.8238,
y: -12.709553
},
{
x: -0.8238,
y: -12.227352
},
{
x: -0.412924,
y: -11.816476
},
{
x: -0.353852,
y: -11.744496
},
{
x: -0.309957,
y: -11.662375
},
{
x: -0.282927,
y: -11.573268
},
{
x: -0.2738,
y: -11.4806
},
{
x: -0.2738,
y: -11.4306
},
{
x: -0.282927,
y: -11.337932
},
{
x: -0.309957,
y: -11.248825
},
{
x: -0.353852,
y: -11.166704
},
{
x: -0.412924,
y: -11.094724
},
{
x: -0.9238,
y: -10.583848
},
{
x: -0.9238,
y: -9.461371
},
{
x: -0.918262,
y: -9.468119
},
{
x: -0.850071,
y: -9.524082
},
{
x: -0.772272,
y: -9.565667
},
{
x: -0.687855,
y: -9.591274
},
{
x: -0.600064,
y: -9.599921
},
{
x: -0.512273,
y: -9.591274
},
{
x: -0.427856,
y: -9.565667
},
{
x: -0.350057,
y: -9.524082
},
{
x: -0.281866,
y: -9.468119
},
{
x: -0.236306,
y: -9.412604
},
{
x: -0.251353,
y: -9.462209
},
{
x: -0.26,
y: -9.55
},
{
x: -0.251353,
y: -9.637791
},
{
x: -0.225746,
y: -9.722208
},
{
x: -0.184161,
y: -9.800007
},
{
x: -0.128198,
y: -9.868198
},
{
x: -0.081782,
y: -9.90629
},
{
x: -0.143254,
y: -9.956739
},
{
x: -0.199217,
y: -10.02493
},
{
x: -0.240802,
y: -10.102729
},
{
x: -0.266409,
y: -10.187146
},
{
x: -0.275056,
y: -10.274937
},
{
x: -0.266409,
y: -10.362728
},
{
x: -0.240802,
y: -10.447145
},
{
x: -0.199217,
y: -10.524944
},
{
x: -0.143254,
y: -10.593135
},
{
x: -0.075063,
y: -10.649098
},
{
x: 0.002736,
y: -10.690683
},
{
x: 0.087153,
y: -10.71629
},
{
x: 0.149677,
y: -10.722448
},
{
x: 0.077792,
y: -10.744254
},
{
x: -7e-6,
y: -10.785839
},
{
x: -0.068198,
y: -10.841802
},
{
x: -0.124161,
y: -10.909993
},
{
x: -0.165746,
y: -10.987792
},
{
x: -0.191353,
y: -11.072209
},
{
x: -0.2,
y: -11.16
},
{
x: -0.191353,
y: -11.247791
},
{
x: -0.165746,
y: -11.332208
},
{
x: -0.124161,
y: -11.410007
},
{
x: -0.068198,
y: -11.478198
},
{
x: -0.065606,
y: -11.480325
},
{
x: -0.068198,
y: -11.482452
},
{
x: -0.124161,
y: -11.550643
},
{
x: -0.165746,
y: -11.628442
},
{
x: -0.191353,
y: -11.712859
},
{
x: -0.2,
y: -11.80065
},
{
x: -0.191353,
y: -11.888441
},
{
x: -0.165746,
y: -11.972858
},
{
x: -0.124161,
y: -12.050657
},
{
x: -0.068198,
y: -12.118848
},
{
x: -7e-6,
y: -12.174811
},
{
x: 0.077792,
y: -12.216396
},
{
x: 0.162209,
y: -12.242003
},
{
x: 0.25,
y: -12.25065
},
{
x: 0.337791,
y: -12.242003
},
{
x: 0.422208,
y: -12.216396
},
{
x: 0.500007,
y: -12.174811
},
{
x: 0.568198,
y: -12.118848
},
{
x: 0.624161,
y: -12.050657
},
{
x: 0.665746,
y: -11.972858
},
{
x: 0.691353,
y: -11.888441
},
{
x: 0.7,
y: -11.80065
},
{
x: 0.691353,
y: -11.712859
},
{
x: 0.665746,
y: -11.628442
},
{
x: 0.624161,
y: -11.550643
},
{
x: 0.568198,
y: -11.482452
},
{
x: 0.565606,
y: -11.480325
},
{
x: 0.568198,
y: -11.478198
},
{
x: 0.624161,
y: -11.410007
},
{
x: 0.665746,
y: -11.332208
},
{
x: 0.691353,
y: -11.247791
},
{
x: 0.7,
y: -11.16
},
{
x: 0.691353,
y: -11.072209
},
{
x: 0.665746,
y: -10.987792
},
{
x: 0.624161,
y: -10.909993
},
{
x: 0.568198,
y: -10.841802
},
{
x: 0.500007,
y: -10.785839
},
{
x: 0.422208,
y: -10.744254
},
{
x: 0.337791,
y: -10.718647
},
{
x: 0.275267,
y: -10.712489
},
{
x: 0.347152,
y: -10.690683
},
{
x: 0.424951,
y: -10.649098
},
{
x: 0.493142,
y: -10.593135
},
{
x: 0.549105,
y: -10.524944
},
{
x: 0.59069,
y: -10.447145
},
{
x: 0.616297,
y: -10.362728
},
{
x: 0.624944,
y: -10.274937
},
{
x: 0.616297,
y: -10.187146
},
{
x: 0.59069,
y: -10.102729
},
{
x: 0.549105,
y: -10.02493
},
{
x: 0.493142,
y: -9.956739
},
{
x: 0.446726,
y: -9.918647
},
{
x: 0.508198,
y: -9.868198
},
{
x: 0.564161,
y: -9.800007
},
{
x: 0.605746,
y: -9.722208
},
{
x: 0.631353,
y: -9.637791
},
{
x: 0.64,
y: -9.55
},
{
x: 0.631353,
y: -9.462209
},
{
x: 0.605746,
y: -9.377792
},
{
x: 0.564161,
y: -9.299993
},
{
x: 0.508198,
y: -9.231802
},
{
x: 0.440007,
y: -9.175839
},
{
x: 0.362208,
y: -9.134254
},
{
x: 0.277791,
y: -9.108647
},
{
x: 0.19,
y: -9.1
},
{
x: 0.102209,
y: -9.108647
},
{
x: 0.017792,
y: -9.134254
},
{
x: -0.060007,
y: -9.175839
},
{
x: -0.128198,
y: -9.231802
},
{
x: -0.173758,
y: -9.287317
},
{
x: -0.158711,
y: -9.237712
},
{
x: -0.150064,
y: -9.149921
},
{
x: -0.158711,
y: -9.06213
},
{
x: -0.184318,
y: -8.977713
},
{
x: -0.225903,
y: -8.899914
},
{
x: -0.281866,
y: -8.831723
},
{
x: -0.350057,
y: -8.77576
},
{
x: -0.40424,
y: -8.746798
},
{
x: -0.365839,
y: -8.700007
},
{
x: -0.324254,
y: -8.622208
},
{
x: -0.298647,
y: -8.537791
},
{
x: -0.29,
y: -8.45
},
{
x: -0.298647,
y: -8.362209
},
{
x: -0.324254,
y: -8.277792
},
{
x: -0.365839,
y: -8.199993
},
{
x: -0.421802,
y: -8.131802
},
{
x: -0.489993,
y: -8.075839
},
{
x: -0.567792,
y: -8.034254
},
{
x: -0.652209,
y: -8.008647
},
{
x: -0.74,
y: -8
},
{
x: -0.827791,
y: -8.008647
},
{
x: -0.912208,
y: -8.034254
},
{
x: -0.9238,
y: -8.04045
},
{
x: -0.9238,
y: -7.9806
},
{
x: -0.932927,
y: -7.887932
},
{
x: -0.959957,
y: -7.798825
},
{
x: -1.003852,
y: -7.716704
},
{
x: -1.062924,
y: -7.644724
},
{
x: -1.761259,
y: -6.946389
},
{
x: -1.803852,
y: -6.866704
},
{
x: -1.804933,
y: -6.865387
},
{
x: -1.809957,
y: -6.848825
},
{
x: -1.822259,
y: -6.825811
},
{
x: -1.112924,
y: -6.116476
},
{
x: -1.053852,
y: -6.044496
},
{
x: -1.009957,
y: -5.962375
},
{
x: -0.982927,
y: -5.873268
},
{
x: -0.9738,
y: -5.7806
},
{
x: -0.9738,
y: -5.765558
},
{
x: -0.483247,
y: -6.256111
},
{
x: -0.518745,
y: -6.259607
},
{
x: -0.612542,
y: -6.28806
},
{
x: -0.698985,
y: -6.334265
},
{
x: -0.774753,
y: -6.396447
},
{
x: -0.836935,
y: -6.472215
},
{
x: -0.88314,
y: -6.558658
},
{
x: -0.911593,
y: -6.652455
},
{
x: -0.9212,
y: -6.75
},
{
x: -0.911593,
y: -6.847545
},
{
x: -0.88314,
y: -6.941342
},
{
x: -0.836935,
y: -7.027785
},
{
x: -0.774753,
y: -7.103553
},
{
x: -0.698985,
y: -7.165735
},
{
x: -0.612542,
y: -7.21194
},
{
x: -0.518745,
y: -7.240393
},
{
x: -0.422913,
y: -7.249831
},
{
x: -0.215569,
y: -7.457175
},
{
x: -0.211593,
y: -7.497545
},
{
x: -0.18314,
y: -7.591342
},
{
x: -0.136935,
y: -7.677785
},
{
x: -0.074753,
y: -7.753553
},
{
x: 0.001015,
y: -7.815735
},
{
x: 0.081747,
y: -7.858887
},
{
x: 0.151015,
y: -7.915735
},
{
x: 0.237458,
y: -7.96194
},
{
x: 0.252388,
y: -7.966469
},
{
x: 0.337458,
y: -8.01194
},
{
x: 0.352388,
y: -8.016469
},
{
x: 0.437458,
y: -8.06194
},
{
x: 0.531255,
y: -8.090393
},
{
x: 0.6288,
y: -8.1
},
{
x: 1.1788,
y: -8.1
},
{
x: 1.276345,
y: -8.090393
},
{
x: 1.370142,
y: -8.06194
},
{
x: 1.456585,
y: -8.015735
},
{
x: 1.532353,
y: -7.953553
},
{
x: 1.590906,
y: -7.895
},
{
x: 2.228032,
y: -7.895
},
{
x: 2.2788,
y: -7.9
},
{
x: 2.376345,
y: -7.890393
},
{
x: 2.470142,
y: -7.86194
},
{
x: 2.556585,
y: -7.815735
},
{
x: 2.632353,
y: -7.753553
},
{
x: 2.739922,
y: -7.645984
},
{
x: 2.777939,
y: -7.717107
},
{
x: 2.833902,
y: -7.785298
},
{
x: 2.902093,
y: -7.841261
},
{
x: 2.979892,
y: -7.882846
},
{
x: 3.064309,
y: -7.908453
},
{
x: 3.1521,
y: -7.9171
},
{
x: 3.239891,
y: -7.908453
},
{
x: 3.324308,
y: -7.882846
},
{
x: 3.402107,
y: -7.841261
},
{
x: 3.470298,
y: -7.785298
},
{
x: 3.526261,
y: -7.717107
},
{
x: 3.567846,
y: -7.639308
},
{
x: 3.593453,
y: -7.554891
},
{
x: 3.6021,
y: -7.4671
},
{
x: 3.593453,
y: -7.379309
},
{
x: 3.567879,
y: -7.295
},
{
x: 4.079122,
y: -7.295
},
{
x: 4.058711,
y: -7.362288
},
{
x: 4.050064,
y: -7.450079
},
{
x: 4.058711,
y: -7.53787
},
{
x: 4.084318,
y: -7.622287
},
{
x: 4.125903,
y: -7.700086
},
{
x: 4.181866,
y: -7.768277
},
{
x: 4.250057,
y: -7.82424
},
{
x: 4.327856,
y: -7.865825
},
{
x: 4.412273,
y: -7.891432
},
{
x: 4.500064,
y: -7.900079
},
{
x: 4.587855,
y: -7.891432
},
{
x: 4.672272,
y: -7.865825
},
{
x: 4.750071,
y: -7.82424
},
{
x: 4.818262,
y: -7.768277
},
{
x: 4.874225,
y: -7.700086
},
{
x: 4.91581,
y: -7.622287
},
{
x: 4.941417,
y: -7.53787
},
{
x: 4.950064,
y: -7.450079
},
{
x: 4.941417,
y: -7.362288
},
{
x: 4.91581,
y: -7.277871
},
{
x: 4.874225,
y: -7.200072
},
{
x: 4.873228,
y: -7.198858
},
{
x: 4.926683,
y: -7.154989
},
{
x: 5.179734,
y: -7.40804
},
{
x: 5.111582,
y: -7.444469
},
{
x: 5.042254,
y: -7.501365
},
{
x: 4.985358,
y: -7.570693
},
{
x: 4.974844,
y: -7.590363
},
{
x: 4.962492,
y: -7.605414
},
{
x: 4.917673,
y: -7.689265
},
{
x: 4.890074,
y: -7.780247
},
{
x: 4.880755,
y: -7.874866
},
{
x: 4.88627,
y: -7.930859
},
{
x: 4.871584,
y: -7.932305
},
{
x: 4.787168,
y: -7.957912
},
{
x: 4.709368,
y: -7.999497
},
{
x: 4.641177,
y: -8.05546
},
{
x: 4.585214,
y: -8.123651
},
{
x: 4.543629,
y: -8.20145
},
{
x: 4.518022,
y: -8.285867
},
{
x: 4.509375,
y: -8.373658
},
{
x: 4.518022,
y: -8.461449
},
{
x: 4.543629,
y: -8.545865
},
{
x: 4.585214,
y: -8.623665
},
{
x: 4.641177,
y: -8.691856
},
{
x: 4.709368,
y: -8.747819
},
{
x: 4.787168,
y: -8.789404
},
{
x: 4.871584,
y: -8.815011
},
{
x: 4.959375,
y: -8.823658
},
{
x: 5.047166,
y: -8.815011
},
{
x: 5.131583,
y: -8.789404
},
{
x: 5.209382,
y: -8.747819
},
{
x: 5.277573,
y: -8.691856
},
{
x: 5.333536,
y: -8.623665
},
{
x: 5.359282,
y: -8.575499
},
{
x: 5.362202,
y: -8.578419
},
{
x: 5.412202,
y: -8.628419
},
{
x: 5.462202,
y: -8.678419
},
{
x: 5.512202,
y: -8.728419
},
{
x: 5.562202,
y: -8.778419
},
{
x: 5.612202,
y: -8.828419
},
{
x: 5.615755,
y: -8.831972
},
{
x: 5.615755,
y: -8.843048
},
{
x: 5.615755,
y: -8.915775
},
{
x: 5.615755,
y: -8.988502
},
{
x: 5.615755,
y: -9.06123
},
{
x: 5.615755,
y: -9.133957
},
{
x: 5.615755,
y: -9.206684
},
{
x: 5.615755,
y: -9.279411
},
{
x: 5.615755,
y: -9.352139
},
{
x: 5.615755,
y: -9.424866
},
{
x: 5.625362,
y: -9.522411
},
{
x: 5.653815,
y: -9.616208
},
{
x: 5.70002,
y: -9.702651
},
{
x: 5.762202,
y: -9.778419
},
{
x: 5.812202,
y: -9.828419
},
{
x: 5.862202,
y: -9.878419
},
{
x: 5.912202,
y: -9.928419
},
{
x: 5.962202,
y: -9.978419
},
{
x: 6.012202,
y: -10.028419
},
{
x: 6.062202,
y: -10.078419
},
{
x: 6.112202,
y: -10.128419
},
{
x: 6.162202,
y: -10.178419
},
{
x: 6.212202,
y: -10.228419
},
{
x: 6.262202,
y: -10.278419
},
{
x: 6.312202,
y: -10.328419
},
{
x: 6.362202,
y: -10.378419
},
{
x: 6.412202,
y: -10.428419
},
{
x: 6.464285,
y: -10.480503
},
{
x: 6.516368,
y: -10.532586
},
{
x: 6.568452,
y: -10.584669
},
{
x: 6.620535,
y: -10.636753
},
{
x: 6.672618,
y: -10.688836
},
{
x: 6.724702,
y: -10.740919
},
{
x: 6.776785,
y: -10.793003
},
{
x: 6.828868,
y: -10.845086
},
{
x: 6.880952,
y: -10.897169
},
{
x: 6.933035,
y: -10.949253
},
{
x: 6.985118,
y: -11.001336
},
{
x: 7.037202,
y: -11.053419
},
{
x: 7.089285,
y: -11.105503
},
{
x: 7.141368,
y: -11.157586
},
{
x: 7.193452,
y: -11.209669
},
{
x: 7.245535,
y: -11.261753
},
{
x: 7.297618,
y: -11.313836
},
{
x: 7.349702,
y: -11.365919
},
{
x: 7.401785,
y: -11.418003
},
{
x: 7.453868,
y: -11.470086
},
{
x: 7.505952,
y: -11.522169
},
{
x: 7.558035,
y: -11.574253
},
{
x: 7.618045,
y: -11.623502
},
{
x: 7.620989,
y: -11.65339
},
{
x: 7.643893,
y: -11.728896
},
{
x: 7.681088,
y: -11.798483
},
{
x: 7.703239,
y: -11.825474
},
{
x: 7.706277,
y: -11.856316
},
{
x: 7.730035,
y: -11.934636
},
{
x: 7.768616,
y: -12.006817
},
{
x: 7.820538,
y: -12.070083
},
{
x: 7.870538,
y: -12.120083
},
{
x: 7.88464,
y: -12.134185
},
{
x: 7.890446,
y: -12.141259
},
{
x: 7.89308,
y: -12.149944
},
{
x: 7.907493,
y: -12.176909
},
{
x: 7.917673,
y: -12.210467
},
{
x: 7.962492,
y: -12.294318
},
{
x: 8.020044,
y: -12.364446
},
{
x: 8.019754,
y: -12.364731
},
{
x: 8.068999,
y: -12.414865
},
{
x: 8.069289,
y: -12.41458
},
{
x: 8.072053,
y: -12.417947
},
{
x: 8.139004,
y: -12.472893
},
{
x: 8.097557,
y: -12.506908
},
{
x: 8.041594,
y: -12.575099
},
{
x: 8.000009,
y: -12.652898
},
{
x: 7.974402,
y: -12.737315
},
{
x: 7.965755,
y: -12.825106
},
{
x: 7.974402,
y: -12.912897
},
{
x: 8.000009,
y: -12.997314
},
{
x: 8.041594,
y: -13.075113
},
{
x: 8.097557,
y: -13.143304
},
{
x: 8.546857,
y: -13.592604
},
{
x: 8.535791,
y: -13.589247
},
{
x: 8.448,
y: -13.5806
},
{
x: 8.360209,
y: -13.589247
},
{
x: 8.275792,
y: -13.614854
},
{
x: 8.197993,
y: -13.656439
},
{
x: 8.129802,
y: -13.712402
},
{
x: 8.086782,
y: -13.764822
},
{
x: 8.086035,
y: -13.765435
},
{
x: 8.082983,
y: -13.768487
},
{
x: 8.032975,
y: -13.741757
},
{
x: 7.943868,
y: -13.714727
},
{
x: 7.8512,
y: -13.7056
},
{
x: 7.6512,
y: -13.7056
},
{
x: 7.558532,
y: -13.714727
},
{
x: 7.469425,
y: -13.741757
},
{
x: 7.387304,
y: -13.785652
},
{
x: 7.315324,
y: -13.844724
},
{
x: 6.331207,
y: -14.828841
},
{
x: 6.31576,
y: -14.777919
},
{
x: 6.274175,
y: -14.70012
},
{
x: 6.218212,
y: -14.631929
},
{
x: 6.150021,
y: -14.575966
},
{
x: 6.072222,
y: -14.534381
},
{
x: 5.987805,
y: -14.508774
},
{
x: 5.900014,
y: -14.500127
},
{
x: 5.812223,
y: -14.508774
},
{
x: 5.727806,
y: -14.534381
},
{
x: 5.650007,
y: -14.575966
},
{
x: 5.581816,
y: -14.631929
},
{
x: 5.525853,
y: -14.70012
},
{
x: 5.484268,
y: -14.777919
},
{
x: 5.458661,
y: -14.862336
},
{
x: 5.450014,
y: -14.950127
},
{
x: 5.458661,
y: -15.037918
},
{
x: 5.484268,
y: -15.122335
},
{
x: 5.525853,
y: -15.200134
},
{
x: 5.581816,
y: -15.268325
},
{
x: 5.650007,
y: -15.324288
},
{
x: 5.727806,
y: -15.365873
},
{
x: 5.740365,
y: -15.369683
},
{
x: 5.316989,
y: -15.793059
},
{
x: 5.280499,
y: -15.812563
},
{
x: 5.258532,
y: -15.814727
},
{
x: 5.169425,
y: -15.841757
},
{
x: 5.087304,
y: -15.885652
},
{
x: 5.015324,
y: -15.944724
},
{
x: 4.416989,
y: -16.543059
},
{
x: 4.337304,
y: -16.585652
},
{
x: 4.268032,
y: -16.642502
}
]
},
inner_rings: [
{
vertices: [
{
x: 0.29,
y: -8.95
},
{
x: 0.377791,
y: -8.941353
},
{
x: 0.462208,
y: -8.915746
},
{
x: 0.540007,
y: -8.874161
},
{
x: 0.608198,
y: -8.818198
},
{
x: 0.664161,
y: -8.750007
},
{
x: 0.705746,
y: -8.672208
},
{
x: 0.731353,
y: -8.587791
},
{
x: 0.74,
y: -8.5
},
{
x: 0.731353,
y: -8.412209
},
{
x: 0.705746,
y: -8.327792
},
{
x: 0.664161,
y: -8.249993
},
{
x: 0.608198,
y: -8.181802
},
{
x: 0.540007,
y: -8.125839
},
{
x: 0.462208,
y: -8.084254
},
{
x: 0.377791,
y: -8.058647
},
{
x: 0.29,
y: -8.05
},
{
x: 0.202209,
y: -8.058647
},
{
x: 0.117792,
y: -8.084254
},
{
x: 0.039993,
y: -8.125839
},
{
x: -0.028198,
y: -8.181802
},
{
x: -0.084161,
y: -8.249993
},
{
x: -0.125746,
y: -8.327792
},
{
x: -0.151353,
y: -8.412209
},
{
x: -0.16,
y: -8.5
},
{
x: -0.151353,
y: -8.587791
},
{
x: -0.125746,
y: -8.672208
},
{
x: -0.084161,
y: -8.750007
},
{
x: -0.028198,
y: -8.818198
},
{
x: 0.039993,
y: -8.874161
},
{
x: 0.117792,
y: -8.915746
},
{
x: 0.202209,
y: -8.941353
}
]
},
{
vertices: [
{
x: 4.049936,
y: -9.000079
},
{
x: 4.137727,
y: -8.991432
},
{
x: 4.222144,
y: -8.965825
},
{
x: 4.299943,
y: -8.92424
},
{
x: 4.368134,
y: -8.868277
},
{
x: 4.424097,
y: -8.800086
},
{
x: 4.465682,
y: -8.722287
},
{
x: 4.491289,
y: -8.63787
},
{
x: 4.499936,
y: -8.550079
},
{
x: 4.491289,
y: -8.462288
},
{
x: 4.465682,
y: -8.377871
},
{
x: 4.424097,
y: -8.300072
},
{
x: 4.368134,
y: -8.231881
},
{
x: 4.299943,
y: -8.175918
},
{
x: 4.222144,
y: -8.134333
},
{
x: 4.137727,
y: -8.108726
},
{
x: 4.049936,
y: -8.100079
},
{
x: 3.962145,
y: -8.108726
},
{
x: 3.877728,
y: -8.134333
},
{
x: 3.799929,
y: -8.175918
},
{
x: 3.731738,
y: -8.231881
},
{
x: 3.675775,
y: -8.300072
},
{
x: 3.63419,
y: -8.377871
},
{
x: 3.608583,
y: -8.462288
},
{
x: 3.599936,
y: -8.550079
},
{
x: 3.608583,
y: -8.63787
},
{
x: 3.63419,
y: -8.722287
},
{
x: 3.675775,
y: -8.800086
},
{
x: 3.731738,
y: -8.868277
},
{
x: 3.799929,
y: -8.92424
},
{
x: 3.877728,
y: -8.965825
},
{
x: 3.962145,
y: -8.991432
}
]
}
]
}
},
keep: true
},
{
geometry: {
layer: "bottom",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 12.60526,
y: -6.374866
},
{
x: 12.590755,
y: -6.374866
},
{
x: 12.515755,
y: -6.374866
},
{
x: 12.440755,
y: -6.374866
},
{
x: 12.365755,
y: -6.374866
},
{
x: 12.290755,
y: -6.374866
},
{
x: 12.215755,
y: -6.374866
},
{
x: 12.140755,
y: -6.374866
},
{
x: 12.065755,
y: -6.374866
},
{
x: 11.990755,
y: -6.374866
},
{
x: 11.915755,
y: -6.374866
},
{
x: 11.840755,
y: -6.374866
},
{
x: 11.765755,
y: -6.374866
},
{
x: 11.690755,
y: -6.374866
},
{
x: 11.615755,
y: -6.374866
},
{
x: 11.540755,
y: -6.374866
},
{
x: 11.465755,
y: -6.374866
},
{
x: 11.390755,
y: -6.374866
},
{
x: 11.315755,
y: -6.374866
},
{
x: 11.240755,
y: -6.374866
},
{
x: 11.165755,
y: -6.374866
},
{
x: 11.090755,
y: -6.374866
},
{
x: 11.015755,
y: -6.374866
},
{
x: 10.940755,
y: -6.374866
},
{
x: 10.865755,
y: -6.374866
},
{
x: 10.790755,
y: -6.374866
},
{
x: 10.715755,
y: -6.374866
},
{
x: 10.640755,
y: -6.374866
},
{
x: 10.565755,
y: -6.374866
},
{
x: 10.490755,
y: -6.374866
},
{
x: 10.424325,
y: -6.374866
},
{
x: 10.425746,
y: -6.372208
},
{
x: 10.451353,
y: -6.287791
},
{
x: 10.46,
y: -6.2
},
{
x: 10.451353,
y: -6.112209
},
{
x: 10.425746,
y: -6.027792
},
{
x: 10.384161,
y: -5.949993
},
{
x: 10.328198,
y: -5.881802
},
{
x: 10.260007,
y: -5.825839
},
{
x: 10.182208,
y: -5.784254
},
{
x: 10.097791,
y: -5.758647
},
{
x: 10.01,
y: -5.75
},
{
x: 11.52382,
y: -5.75
},
{
x: 11.546158,
y: -5.76194
},
{
x: 11.639955,
y: -5.790393
},
{
x: 11.7375,
y: -5.8
},
{
x: 12.030394,
y: -5.8
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "bottom",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 9.638896,
y: -5.946268
},
{
x: 9.614161,
y: -5.899993
},
{
x: 9.558198,
y: -5.831802
},
{
x: 9.490007,
y: -5.775839
},
{
x: 9.441666,
y: -5.75
},
{
x: 10.01,
y: -5.75
},
{
x: 9.922209,
y: -5.758647
},
{
x: 9.837792,
y: -5.784254
},
{
x: 9.759993,
y: -5.825839
},
{
x: 9.691802,
y: -5.881802
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "bottom",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: -1.860092,
y: -10.88837
},
{
x: -1.867792,
y: -10.884254
},
{
x: -1.952209,
y: -10.858647
},
{
x: -2.04,
y: -10.85
},
{
x: -2.095614,
y: -10.855478
},
{
x: -2.645546,
y: -10.305546
},
{
x: -2.687218,
y: -10.271346
},
{
x: -2.734762,
y: -10.245933
},
{
x: -2.78635,
y: -10.230284
},
{
x: -2.84,
y: -10.225
},
{
x: -3.401092,
y: -10.225
},
{
x: -3.573784,
y: -10.052308
},
{
x: -3.584254,
y: -10.017792
},
{
x: -3.625839,
y: -9.939993
},
{
x: -3.681802,
y: -9.871802
},
{
x: -3.749993,
y: -9.815839
},
{
x: -3.827792,
y: -9.774254
},
{
x: -3.862308,
y: -9.763784
},
{
x: -4.220546,
y: -9.405546
},
{
x: -4.262218,
y: -9.371346
},
{
x: -4.309762,
y: -9.345933
},
{
x: -4.36135,
y: -9.330284
},
{
x: -4.399251,
y: -9.326551
},
{
x: -4.409762,
y: -9.320933
},
{
x: -4.46135,
y: -9.305284
},
{
x: -4.468604,
y: -9.30457
},
{
x: -4.474873,
y: -9.301219
},
{
x: -4.516219,
y: -9.259873
},
{
x: -4.51957,
y: -9.253604
},
{
x: -4.520284,
y: -9.24635
},
{
x: -4.535933,
y: -9.194762
},
{
x: -4.54,
y: -9.187153
},
{
x: -4.54,
y: -9
},
{
x: -4.545284,
y: -8.94635
},
{
x: -4.560933,
y: -8.894762
},
{
x: -4.586346,
y: -8.847218
},
{
x: -4.620546,
y: -8.805546
},
{
x: -4.776155,
y: -8.649937
},
{
x: -3.838964,
y: -8.649937
},
{
x: -3.619578,
y: -8.869323
},
{
x: -3.625056,
y: -8.924937
},
{
x: -3.616409,
y: -9.012728
},
{
x: -3.590802,
y: -9.097145
},
{
x: -3.549217,
y: -9.174944
},
{
x: -3.493254,
y: -9.243135
},
{
x: -3.425063,
y: -9.299098
},
{
x: -3.347264,
y: -9.340683
},
{
x: -3.262847,
y: -9.36629
},
{
x: -3.175056,
y: -9.374937
},
{
x: -3.087265,
y: -9.36629
},
{
x: -3.002848,
y: -9.340683
},
{
x: -2.925049,
y: -9.299098
},
{
x: -2.856858,
y: -9.243135
},
{
x: -2.800895,
y: -9.174944
},
{
x: -2.75931,
y: -9.097145
},
{
x: -2.733703,
y: -9.012728
},
{
x: -2.725056,
y: -8.924937
},
{
x: -2.733703,
y: -8.837146
},
{
x: -2.75931,
y: -8.752729
},
{
x: -2.800895,
y: -8.67493
},
{
x: -2.856858,
y: -8.606739
},
{
x: -2.925049,
y: -8.550776
},
{
x: -3.002848,
y: -8.509191
},
{
x: -3.087265,
y: -8.483584
},
{
x: -3.175056,
y: -8.474937
},
{
x: -3.23067,
y: -8.480415
},
{
x: -3.530602,
y: -8.180483
},
{
x: -3.572274,
y: -8.146283
},
{
x: -3.619818,
y: -8.12087
},
{
x: -3.671406,
y: -8.105221
},
{
x: -3.725056,
y: -8.099937
},
{
x: -4.426939,
y: -8.099937
},
{
x: -4.407351,
y: -8.06329
},
{
x: -4.383166,
y: -7.983563
},
{
x: -4.375,
y: -7.90065
},
{
x: -4.383166,
y: -7.817737
},
{
x: -4.407351,
y: -7.73801
},
{
x: -4.446625,
y: -7.664533
},
{
x: -4.49948,
y: -7.60013
},
{
x: -4.563883,
y: -7.547275
},
{
x: -4.63736,
y: -7.508001
},
{
x: -4.717087,
y: -7.483816
},
{
x: -4.8,
y: -7.47565
},
{
x: -4.882913,
y: -7.483816
},
{
x: -4.96264,
y: -7.508001
},
{
x: -5.000056,
y: -7.528
},
{
x: -5.000056,
y: -7.3731
},
{
x: -4.96264,
y: -7.393099
},
{
x: -4.882913,
y: -7.417284
},
{
x: -4.8,
y: -7.42545
},
{
x: -4.717087,
y: -7.417284
},
{
x: -4.63736,
y: -7.393099
},
{
x: -4.563883,
y: -7.353825
},
{
x: -4.49948,
y: -7.30097
},
{
x: -4.446625,
y: -7.236567
},
{
x: -4.407351,
y: -7.16309
},
{
x: -4.383166,
y: -7.083363
},
{
x: -4.375,
y: -7.00045
},
{
x: -4.378236,
y: -6.967594
},
{
x: -4.230546,
y: -6.819904
},
{
x: -4.196346,
y: -6.778232
},
{
x: -4.170933,
y: -6.730688
},
{
x: -4.155284,
y: -6.6791
},
{
x: -4.15,
y: -6.62545
},
{
x: -4.155,
y: -6.574684
},
{
x: -4.155,
y: -6.201216
},
{
x: -4.15,
y: -6.15045
},
{
x: -4.155284,
y: -6.0968
},
{
x: -4.170933,
y: -6.045212
},
{
x: -4.196346,
y: -5.997668
},
{
x: -4.230546,
y: -5.955996
},
{
x: -4.380546,
y: -5.805996
},
{
x: -4.422218,
y: -5.771796
},
{
x: -4.469762,
y: -5.746383
},
{
x: -4.489433,
y: -5.740416
},
{
x: -4.520719,
y: -5.723693
},
{
x: -4.540386,
y: -5.717727
},
{
x: -4.558532,
y: -5.708028
},
{
x: -4.572218,
y: -5.696796
},
{
x: -4.609873,
y: -5.676669
},
{
x: -4.673239,
y: -5.613303
},
{
x: -4.600057,
y: -5.574186
},
{
x: -4.580698,
y: -5.558299
},
{
x: -4.025064,
y: -6.113933
},
{
x: -4.025064,
y: -7.000025
},
{
x: -4.022281,
y: -7.02828
},
{
x: -4.05,
y: -7.02555
},
{
x: -4.132913,
y: -7.033716
},
{
x: -4.21264,
y: -7.057901
},
{
x: -4.286117,
y: -7.097175
},
{
x: -4.35052,
y: -7.15003
},
{
x: -4.403375,
y: -7.214433
},
{
x: -4.442649,
y: -7.28791
},
{
x: -4.466834,
y: -7.367637
},
{
x: -4.475,
y: -7.45055
},
{
x: -4.466834,
y: -7.533463
},
{
x: -4.442649,
y: -7.61319
},
{
x: -4.403375,
y: -7.686667
},
{
x: -4.35052,
y: -7.75107
},
{
x: -4.286117,
y: -7.803925
},
{
x: -4.21264,
y: -7.843199
},
{
x: -4.132913,
y: -7.867384
},
{
x: -4.05,
y: -7.87555
},
{
x: -3.967087,
y: -7.867384
},
{
x: -3.88736,
y: -7.843199
},
{
x: -3.876395,
y: -7.837338
},
{
x: -3.86581,
y: -7.872233
},
{
x: -3.824225,
y: -7.950032
},
{
x: -3.768262,
y: -8.018223
},
{
x: -3.700071,
y: -8.074186
},
{
x: -3.622272,
y: -8.115771
},
{
x: -3.537855,
y: -8.141378
},
{
x: -3.450064,
y: -8.150025
},
{
x: -3.362273,
y: -8.141378
},
{
x: -3.277856,
y: -8.115771
},
{
x: -3.269137,
y: -8.11111
},
{
x: -3.265732,
y: -8.122335
},
{
x: -3.224147,
y: -8.200134
},
{
x: -3.168184,
y: -8.268325
},
{
x: -3.099993,
y: -8.324288
},
{
x: -3.022194,
y: -8.365873
},
{
x: -2.937777,
y: -8.39148
},
{
x: -2.849986,
y: -8.400127
},
{
x: -2.762195,
y: -8.39148
},
{
x: -2.677778,
y: -8.365873
},
{
x: -2.599979,
y: -8.324288
},
{
x: -2.531788,
y: -8.268325
},
{
x: -2.475825,
y: -8.200134
},
{
x: -2.43424,
y: -8.122335
},
{
x: -2.408633,
y: -8.037918
},
{
x: -2.399986,
y: -7.950127
},
{
x: -2.408633,
y: -7.862336
},
{
x: -2.43424,
y: -7.777919
},
{
x: -2.475825,
y: -7.70012
},
{
x: -2.531788,
y: -7.631929
},
{
x: -2.599979,
y: -7.575966
},
{
x: -2.677778,
y: -7.534381
},
{
x: -2.762195,
y: -7.508774
},
{
x: -2.849986,
y: -7.500127
},
{
x: -2.937777,
y: -7.508774
},
{
x: -3.022194,
y: -7.534381
},
{
x: -3.030913,
y: -7.539042
},
{
x: -3.034318,
y: -7.527817
},
{
x: -3.075903,
y: -7.450018
},
{
x: -3.131866,
y: -7.381827
},
{
x: -3.182099,
y: -7.340601
},
{
x: -3.195997,
y: -7.294787
},
{
x: -3.22141,
y: -7.247243
},
{
x: -3.25561,
y: -7.205571
},
{
x: -3.287115,
y: -7.174066
},
{
x: -3.295997,
y: -7.144787
},
{
x: -3.32141,
y: -7.097243
},
{
x: -3.35561,
y: -7.055571
},
{
x: -3.437115,
y: -6.974066
},
{
x: -3.445997,
y: -6.944787
},
{
x: -3.47141,
y: -6.897243
},
{
x: -3.475064,
y: -6.892791
},
{
x: -3.475064,
y: -6.000025
},
{
x: -3.480348,
y: -5.946375
},
{
x: -3.495997,
y: -5.894787
},
{
x: -3.52141,
y: -5.847243
},
{
x: -3.55561,
y: -5.805571
},
{
x: -4.335731,
y: -5.02545
},
{
x: -2.669687,
y: -5.02545
},
{
x: -2.681353,
y: -5.063909
},
{
x: -2.69,
y: -5.1517
},
{
x: -2.681353,
y: -5.239491
},
{
x: -2.655746,
y: -5.323908
},
{
x: -2.614161,
y: -5.401707
},
{
x: -2.558198,
y: -5.469898
},
{
x: -2.490007,
y: -5.525861
},
{
x: -2.412208,
y: -5.567446
},
{
x: -2.327791,
y: -5.593053
},
{
x: -2.24,
y: -5.6017
},
{
x: -2.152209,
y: -5.593053
},
{
x: -2.067792,
y: -5.567446
},
{
x: -2.04422,
y: -5.554846
},
{
x: -2.034676,
y: -5.566476
},
{
x: -1.970552,
y: -5.6306
},
{
x: -2.634676,
y: -6.294724
},
{
x: -2.693748,
y: -6.366704
},
{
x: -2.72358,
y: -6.422516
},
{
x: -2.749993,
y: -6.400839
},
{
x: -2.827792,
y: -6.359254
},
{
x: -2.912209,
y: -6.333647
},
{
x: -3,
y: -6.325
},
{
x: -3.087791,
y: -6.333647
},
{
x: -3.172208,
y: -6.359254
},
{
x: -3.250007,
y: -6.400839
},
{
x: -3.318198,
y: -6.456802
},
{
x: -3.374161,
y: -6.524993
},
{
x: -3.415746,
y: -6.602792
},
{
x: -3.441353,
y: -6.687209
},
{
x: -3.45,
y: -6.775
},
{
x: -3.441353,
y: -6.862791
},
{
x: -3.415746,
y: -6.947208
},
{
x: -3.374161,
y: -7.025007
},
{
x: -3.318198,
y: -7.093198
},
{
x: -3.250007,
y: -7.149161
},
{
x: -3.172208,
y: -7.190746
},
{
x: -3.087791,
y: -7.216353
},
{
x: -3,
y: -7.225
},
{
x: -2.912209,
y: -7.216353
},
{
x: -2.827792,
y: -7.190746
},
{
x: -2.749993,
y: -7.149161
},
{
x: -2.743314,
y: -7.14368
},
{
x: -2.737643,
y: -7.162375
},
{
x: -2.693748,
y: -7.244496
},
{
x: -2.692667,
y: -7.245813
},
{
x: -2.687643,
y: -7.262375
},
{
x: -2.643748,
y: -7.344496
},
{
x: -2.642667,
y: -7.345813
},
{
x: -2.637643,
y: -7.362375
},
{
x: -2.593748,
y: -7.444496
},
{
x: -2.534676,
y: -7.516476
},
{
x: -1.8738,
y: -8.177352
},
{
x: -1.8738,
y: -10.7806
},
{
x: -1.864673,
y: -10.873268
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "bottom",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: -8.573908,
y: 4.275
},
{
x: -9.815475,
y: 4.275
},
{
x: -9.746447,
y: 4.344028
},
{
x: -9.684265,
y: 4.419796
},
{
x: -9.63806,
y: 4.506239
},
{
x: -9.609607,
y: 4.600036
},
{
x: -9.6,
y: 4.697581
},
{
x: -9.600451,
y: 4.702156
},
{
x: -9.354575,
y: 4.948032
},
{
x: -9.35,
y: 4.947581
},
{
x: -9.252455,
y: 4.957188
},
{
x: -9.158658,
y: 4.985641
},
{
x: -9.072215,
y: 5.031846
},
{
x: -8.996447,
y: 5.094028
},
{
x: -8.446447,
y: 5.644028
},
{
x: -8.438937,
y: 5.653179
},
{
x: -8.438197,
y: 5.652474
},
{
x: -8.388197,
y: 5.704893
},
{
x: -8.388937,
y: 5.705598
},
{
x: -8.334265,
y: 5.772215
},
{
x: -8.28806,
y: 5.858658
},
{
x: -8.259607,
y: 5.952455
},
{
x: -8.25,
y: 6.05
},
{
x: -8.259607,
y: 6.147545
},
{
x: -8.28806,
y: 6.241342
},
{
x: -8.334265,
y: 6.327785
},
{
x: -8.396447,
y: 6.403553
},
{
x: -8.472215,
y: 6.465735
},
{
x: -8.558658,
y: 6.51194
},
{
x: -8.652455,
y: 6.540393
},
{
x: -8.75,
y: 6.55
},
{
x: -14.639109,
y: 6.55
},
{
x: -14.624254,
y: 6.577792
},
{
x: -14.598647,
y: 6.662209
},
{
x: -14.59,
y: 6.75
},
{
x: -14.595478,
y: 6.805614
},
{
x: -13.826092,
y: 7.575
},
{
x: -9.54,
y: 7.575
},
{
x: -9.48635,
y: 7.580284
},
{
x: -9.434762,
y: 7.595933
},
{
x: -9.387218,
y: 7.621346
},
{
x: -9.345546,
y: 7.655546
},
{
x: -6.845546,
y: 10.155546
},
{
x: -6.811346,
y: 10.197218
},
{
x: -6.785933,
y: 10.244762
},
{
x: -6.775107,
y: 10.28045
},
{
x: -6.761346,
y: 10.297218
},
{
x: -6.735933,
y: 10.344762
},
{
x: -6.725107,
y: 10.38045
},
{
x: -6.711346,
y: 10.397218
},
{
x: -6.702942,
y: 10.412942
},
{
x: -6.687218,
y: 10.421346
},
{
x: -6.681779,
y: 10.42581
},
{
x: -6.63635,
y: 10.430284
},
{
x: -6.584762,
y: 10.445933
},
{
x: -6.537218,
y: 10.471346
},
{
x: -6.532766,
y: 10.475
},
{
x: -6.19,
y: 10.475
},
{
x: -6.13635,
y: 10.480284
},
{
x: -6.084762,
y: 10.495933
},
{
x: -6.037218,
y: 10.521346
},
{
x: -5.995546,
y: 10.555546
},
{
x: -5.764041,
y: 10.787051
},
{
x: -5.734762,
y: 10.795933
},
{
x: -5.699376,
y: 10.814847
},
{
x: -5.71194,
y: 10.791342
},
{
x: -5.740393,
y: 10.697545
},
{
x: -5.75,
y: 10.6
},
{
x: -5.740393,
y: 10.502455
},
{
x: -5.71194,
y: 10.408658
},
{
x: -5.665735,
y: 10.322215
},
{
x: -5.603553,
y: 10.246447
},
{
x: -3.353553,
y: 7.996447
},
{
x: -3.277785,
y: 7.934265
},
{
x: -3.191342,
y: 7.88806
},
{
x: -3.097545,
y: 7.859607
},
{
x: -3,
y: 7.85
},
{
x: -2.294606,
y: 7.85
},
{
x: -2.757106,
y: 7.3875
},
{
x: -2.9,
y: 7.3875
},
{
x: -2.997545,
y: 7.377893
},
{
x: -3.091342,
y: 7.34944
},
{
x: -3.177785,
y: 7.303235
},
{
x: -3.253553,
y: 7.241053
},
{
x: -3.607106,
y: 6.8875
},
{
x: -4.3,
y: 6.8875
},
{
x: -4.397545,
y: 6.877893
},
{
x: -4.491342,
y: 6.84944
},
{
x: -4.577785,
y: 6.803235
},
{
x: -4.647053,
y: 6.746387
},
{
x: -4.66368,
y: 6.7375
},
{
x: -4.7,
y: 6.7375
},
{
x: -4.797545,
y: 6.727893
},
{
x: -4.891342,
y: 6.69944
},
{
x: -4.928064,
y: 6.679812
},
{
x: -4.947545,
y: 6.677893
},
{
x: -5.041342,
y: 6.64944
},
{
x: -5.127785,
y: 6.603235
},
{
x: -5.197053,
y: 6.546387
},
{
x: -5.277785,
y: 6.503235
},
{
x: -5.353553,
y: 6.441053
},
{
x: -5.649557,
y: 6.145049
},
{
x: -5.727785,
y: 6.103235
},
{
x: -5.803553,
y: 6.041053
},
{
x: -6.003553,
y: 5.841053
},
{
x: -6.065735,
y: 5.765285
},
{
x: -6.11194,
y: 5.678842
},
{
x: -6.140393,
y: 5.585045
},
{
x: -6.15,
y: 5.4875
},
{
x: -6.140393,
y: 5.389955
},
{
x: -6.131065,
y: 5.359206
},
{
x: -6.141353,
y: 5.325291
},
{
x: -6.15,
y: 5.2375
},
{
x: -6.141353,
y: 5.149709
},
{
x: -6.115746,
y: 5.065292
},
{
x: -6.09422,
y: 5.025021
},
{
x: -6.946286,
y: 5.025021
},
{
x: -6.981738,
y: 5.068219
},
{
x: -7.049929,
y: 5.124182
},
{
x: -7.127728,
y: 5.165767
},
{
x: -7.212145,
y: 5.191374
},
{
x: -7.299936,
y: 5.200021
},
{
x: -7.387727,
y: 5.191374
},
{
x: -7.472144,
y: 5.165767
},
{
x: -7.549943,
y: 5.124182
},
{
x: -7.618134,
y: 5.068219
},
{
x: -7.674097,
y: 5.000028
},
{
x: -7.715682,
y: 4.922229
},
{
x: -7.741289,
y: 4.837812
},
{
x: -7.749936,
y: 4.750021
},
{
x: -7.741289,
y: 4.66223
},
{
x: -7.715682,
y: 4.577813
},
{
x: -7.714178,
y: 4.575
},
{
x: -8.06,
y: 4.575
},
{
x: -8.11365,
y: 4.569716
},
{
x: -8.165238,
y: 4.554067
},
{
x: -8.212782,
y: 4.528654
},
{
x: -8.218221,
y: 4.52419
},
{
x: -8.26365,
y: 4.519716
},
{
x: -8.315238,
y: 4.504067
},
{
x: -8.362782,
y: 4.478654
},
{
x: -8.404454,
y: 4.444454
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "inner1",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 5.625014,
y: -14.35
},
{
x: 2.75,
y: -14.35
},
{
x: 2.75,
y: -11.048908
},
{
x: 2.875959,
y: -10.922949
},
{
x: 2.905238,
y: -10.914067
},
{
x: 2.952782,
y: -10.888654
},
{
x: 2.958221,
y: -10.88419
},
{
x: 3.00365,
y: -10.879716
},
{
x: 3.055238,
y: -10.864067
},
{
x: 3.102782,
y: -10.838654
},
{
x: 3.107234,
y: -10.835
},
{
x: 3.35,
y: -10.835
},
{
x: 3.40365,
y: -10.829716
},
{
x: 3.455238,
y: -10.814067
},
{
x: 3.502782,
y: -10.788654
},
{
x: 3.544454,
y: -10.754454
},
{
x: 3.944454,
y: -10.354454
},
{
x: 3.978654,
y: -10.312782
},
{
x: 4.004067,
y: -10.265238
},
{
x: 4.019716,
y: -10.21365
},
{
x: 4.025,
y: -10.16
},
{
x: 4.025,
y: -9.867234
},
{
x: 4.028654,
y: -9.862782
},
{
x: 4.054067,
y: -9.815238
},
{
x: 4.064893,
y: -9.77955
},
{
x: 4.078654,
y: -9.762782
},
{
x: 4.104067,
y: -9.715238
},
{
x: 4.112949,
y: -9.685959
},
{
x: 4.648908,
y: -9.15
},
{
x: 5.775014,
y: -9.15
},
{
x: 5.775014,
y: -13.692893
},
{
x: 5.77136,
y: -13.697345
},
{
x: 5.745947,
y: -13.744889
},
{
x: 5.737065,
y: -13.774168
},
{
x: 5.70556,
y: -13.805673
},
{
x: 5.67136,
y: -13.847345
},
{
x: 5.645947,
y: -13.894889
},
{
x: 5.630298,
y: -13.946477
},
{
x: 5.625014,
y: -14.000127
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "inner1",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 2.75,
y: -10.354344
},
{
x: 2.75,
y: -9.739558
},
{
x: 3.339558,
y: -9.15
},
{
x: 3.871092,
y: -9.15
},
{
x: 3.655546,
y: -9.365546
},
{
x: 3.621346,
y: -9.407218
},
{
x: 3.595933,
y: -9.454762
},
{
x: 3.585107,
y: -9.49045
},
{
x: 3.571346,
y: -9.507218
},
{
x: 3.545933,
y: -9.554762
},
{
x: 3.535107,
y: -9.59045
},
{
x: 3.521346,
y: -9.607218
},
{
x: 3.495933,
y: -9.654762
},
{
x: 3.480284,
y: -9.70635
},
{
x: 3.475,
y: -9.76
},
{
x: 3.475,
y: -10.046092
},
{
x: 3.236092,
y: -10.285
},
{
x: 3,
y: -10.285
},
{
x: 2.94635,
y: -10.290284
},
{
x: 2.894762,
y: -10.305933
},
{
x: 2.847218,
y: -10.331346
},
{
x: 2.841779,
y: -10.33581
},
{
x: 2.79635,
y: -10.340284
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "inner2",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 5.85,
y: -10.269972
},
{
x: 5.805174,
y: -10.246012
},
{
x: 5.753586,
y: -10.230363
},
{
x: 5.699936,
y: -10.225079
},
{
x: 5.35717,
y: -10.225079
},
{
x: 5.352718,
y: -10.221425
},
{
x: 5.305174,
y: -10.196012
},
{
x: 5.275895,
y: -10.18713
},
{
x: 5.262885,
y: -10.17412
},
{
x: 5.254003,
y: -10.144841
},
{
x: 5.22859,
y: -10.097297
},
{
x: 5.224936,
y: -10.092845
},
{
x: 5.224936,
y: -9.450079
},
{
x: 5.219652,
y: -9.396429
},
{
x: 5.204003,
y: -9.344841
},
{
x: 5.17859,
y: -9.297297
},
{
x: 5.14439,
y: -9.255625
},
{
x: 5.038765,
y: -9.15
},
{
x: 5.85,
y: -9.15
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "inner2",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 5.85,
y: -14.35
},
{
x: 3.625,
y: -14.35
},
{
x: 3.625,
y: -14.253908
},
{
x: 3.794454,
y: -14.084454
},
{
x: 3.828654,
y: -14.042782
},
{
x: 3.854067,
y: -13.995238
},
{
x: 3.864893,
y: -13.95955
},
{
x: 3.878654,
y: -13.942782
},
{
x: 3.904067,
y: -13.895238
},
{
x: 3.919716,
y: -13.84365
},
{
x: 3.925,
y: -13.79
},
{
x: 3.925,
y: -9.15
},
{
x: 4.260949,
y: -9.15
},
{
x: 4.674936,
y: -9.563987
},
{
x: 4.674936,
y: -10.200079
},
{
x: 4.68022,
y: -10.253729
},
{
x: 4.695869,
y: -10.305317
},
{
x: 4.721282,
y: -10.352861
},
{
x: 4.735043,
y: -10.369629
},
{
x: 4.745869,
y: -10.405317
},
{
x: 4.771282,
y: -10.452861
},
{
x: 4.805482,
y: -10.494533
},
{
x: 4.955482,
y: -10.644533
},
{
x: 4.997154,
y: -10.678733
},
{
x: 5.044698,
y: -10.704146
},
{
x: 5.080386,
y: -10.714972
},
{
x: 5.097154,
y: -10.728733
},
{
x: 5.144698,
y: -10.754146
},
{
x: 5.196286,
y: -10.769795
},
{
x: 5.249936,
y: -10.775079
},
{
x: 5.586028,
y: -10.775079
},
{
x: 5.85,
y: -11.039051
}
]
},
inner_rings: [
]
}
},
keep: true
},
{
geometry: {
layer: "inner2",
source_net_id: "source_net_0",
brep_shape: {
outer_ring: {
vertices: [
{
x: 3.075,
y: -14.35
},
{
x: 2.75,
y: -14.35
},
{
x: 2.75,
y: -9.15
},
{
x: 3.375,
y: -9.15
},
{
x: 3.375,
y: -13.682766
},
{
x: 3.371346,
y: -13.687218
},
{
x: 3.345933,
y: -13.734762
},
{
x: 3.337051,
y: -13.764041
},
{
x: 3.155546,
y: -13.945546
},
{
x: 3.121346,
y: -13.987218
},
{
x: 3.095933,
y: -14.034762
},
{
x: 3.080284,
y: -14.08635
},
{
x: 3.075,
y: -14.14
}
]
},
inner_rings: [
]
}
},
keep: true
}
];
var selection = {
regions: regions
};
/** Frozen pour selection for the validated fixed route plan.
* The independent copper audit records which pours belong to the connected
* ground network. The current core generates 25 connected pours, so this step
* removes none; it still fails closed if their geometry changes. No error record
* is filtered, and normal DRC runs after this check.
*/
function canonicalPour(pour) {
return JSON.stringify({ layer: pour.layer, source_net_id: pour.source_net_id, shape: pour.brep_shape }, (_key, value) => typeof value === 'number' ? Math.round(value * 1e7) / 1e7 : value);
}
function selectConnectedGroundPours(json, regions) {
const pours = json.filter(e => e.type === 'pcb_copper_pour');
const expected = new Map(regions.map(r => [canonicalPour(r.geometry), r.keep]));
if (pours.length !== regions.length || pours.some(p => !expected.has(canonicalPour(p)))) {
throw new Error('Ground pour geometry changed. Regenerate and audit routing/ground-pour-selection.json.');
}
return pours.filter(p => !expected.get(canonicalPour(p))).map(p => p.pcb_copper_pour_id);
}
function installGroundPourFinalization(board) {
if (!board || board.__groundPourSelectionInstalled)
return;
board.__groundPourSelectionInstalled = true;
const original = board.doInitialPcbDesignRuleChecks.bind(board);
board.doInitialPcbDesignRuleChecks = () => {
const db = board.root?.db;
// Placement-only CLI renders intentionally have no routed copper.
if (db && !board.root.pcbDisabled && !board.root.pcbRoutingDisabled) {
const remove = selectConnectedGroundPours(db.toArray(), selection.regions);
for (const id of remove)
db.pcb_copper_pour.delete(id);
// Remove annotations that referred to removed geometry, not checks.
const deleted = new Set(remove);
for (const trace of db.pcb_trace.list()) {
if (trace.route.some((p) => deleted.has(p.copper_pour_id))) {
db.pcb_trace.update(trace.pcb_trace_id, { route: trace.route.map((p) => {
if (!deleted.has(p.copper_pour_id))
return p;
const { copper_pour_id, is_inside_copper_pour, ...point } = p;
return point;
}) });
}
}
}
return original();
};
}
const pinLabels$i = {
pin1: ["IN_NEG"],
pin2: ["GND"],
pin3: ["REF2"],
pin4: ["NC"],
pin5: ["OUT"],
pin6: ["VS"],
pin7: ["REF1"],
pin8: ["IN_POS"]
};
const pinAttributes$7 = {
pin2: { requiresGround: true },
// TI INA240 Table 6-1 allows NC pin 4 to connect to ground.
pin4: { requiresGround: true }
};
const INA240A1DR = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$i, pinAttributes: pinAttributes$7, supplierPartNumbers: {
"jlcpcb": [
"C2060769"
]
}, manufacturerPartNumber: "INA240A1DR", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.905mm", pcbY: "-2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-0.635mm", pcbY: "-2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "0.635mm", pcbY: "-2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "1.905mm", pcbY: "-2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "-1.905mm", pcbY: "2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "-0.635mm", pcbY: "2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "0.635mm", pcbY: "2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "1.905mm", pcbY: "2.7051mm", width: "0.5684012mm", height: "1.950212mm", radius: "0.2842006mm", shape: "pill" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.4999950000001263, "y": -1.4999970000000076 }, { "x": 2.499994999999899, "y": -1.4999970000000076 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.4999950000001263, "y": 1.4999969999998939 }, { "x": 2.499994999999899, "y": 1.4999969999998939 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.4999950000001263, "y": -1.4999970000000076 }, { "x": -2.4999950000001263, "y": -0.7265669999998181 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.4999950000001263, "y": 1.4999969999998939 }, { "x": -2.4999950000001263, "y": 0.7262875999999778 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 2.499994999999899, "y": 1.4999969999998939 }, { "x": 2.499994999999899, "y": -1.4999970000000076 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.4999950000001263, "y": -0.7265669999998181 }, { "x": -2.2625565730616017, "y": -0.6727720384950544 }, { "x": -2.056152369867391, "y": -0.5436666188794561 }, { "x": -1.9038872877111999, "y": -0.3537028085727343 }, { "x": -1.822805887847835, "y": -0.12414516642888884 }, { "x": -1.8219844264158382, "y": 0.11930961309167287 }, { "x": -1.9015148578508843, "y": 0.34940918924542075 }, { "x": -2.0524945415012326, "y": 0.5403962034508822 }, { "x": -2.25802280368805, "y": 0.6708915593560505 }, { "x": -2.495092800000066, "y": 0.7262876000000915 }] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "-1.778mm", pcbY: "-1.016mm", radius: "0.150114mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0mm", pcbY: "0mm", anchorAlignment: "center", fontSize: "0.55mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -2.7391999999999825, "y": 3.653599999999983 }, { "x": 2.7645999999998594, "y": 3.653599999999983 }, { "x": 2.7645999999998594, "y": -3.7806000000000495 }, { "x": -2.7391999999999825, "y": -3.7806000000000495 }, { "x": -2.7391999999999825, "y": 3.653599999999983 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2060769.obj?uuid=7abc64c95a1a4a04a4ef38f9097c870b",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2060769.step?uuid=7abc64c95a1a4a04a4ef38f9097c870b",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0.000012700000070253736, y: 0, z: 0 },
}, ...props }));
};
const FRM121WFR050TM = (props) => {
return (jsxRuntime.jsx("resistor", { resistance: "0.05ohm", supplierPartNumbers: {
"jlcpcb": [
"C7467249"
]
}, manufacturerPartNumber: "FRM121WFR050TM", footprint: "smdpads2_p2.9576mm_pw1.2075mm_ph1.701mm", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7467249.obj?uuid=da5f078ee43c429f91838a456f48f0a8",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7467249.step?uuid=da5f078ee43c429f91838a456f48f0a8",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: 0 },
}, ...props }));
};
const supply$1 = ".MCU > .L_AVDD > .pin1";
/** Bidirectional, inline winding current. Independent of the DRV8825 current-regulation shunts. */
const CurrentTelemetrySection = () => jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("schematicsheet", { name: "current_telemetry", displayName: "Winding Current Measurement", sheetIndex: 7, children: [jsxRuntime.jsx("schematicsection", { name: "phase_A", displayName: "Winding A" }), jsxRuntime.jsx("schematicsection", { name: "phase_B", displayName: "Winding B" }), jsxRuntime.jsx("schematicsection", { name: "current_supply", displayName: "Current-sense Supply Bypass" })] }), ["A", "B"].map((phase, index) => {
const sch = { schSheetName: "current_telemetry", schSectionName: `phase_${phase}` };
const amp = `U_CURRENT_${phase}`;
const shunt = `R_PHASE_${phase}`;
const r = `R_ADC_${phase}`;
const c = `C_ADC_${phase}`;
const bypass = `C_CURRENT_${phase}`;
// pcbPath coordinates are local to the shunt footprint (not board coordinates).
// The short phase-A negative escape avoids adjacent pads on the top layer.
const wire = (name, from, to, label, thickness = "0.15mm") => jsxRuntime.jsx("trace", { name: `CURRENT_${phase}_${name}`, from: from, to: to, schDisplayLabel: label, thickness: thickness, pcbStraightLine: (name === "SENSE_POS" || name === "SENSE_NEG") && !(phase === "A" && name === "SENSE_NEG"), pcbPath: phase === "A" && name === "SENSE_NEG" ? [{ x: 1.4788, y: 1.3 }, { x: 5.2051, y: 1.3 }] : undefined, maxViaCount: name === "SENSE_POS" || name === "SENSE_NEG" ? 0 : undefined });
return jsxRuntime.jsxs(react.Fragment, { children: [jsxRuntime.jsx(FRM121WFR050TM, { name: shunt, ...revisionPlacement(shunt), ...sch, schOrientation: "vertical" }), jsxRuntime.jsx(INA240A1DR, { name: amp, ...revisionPlacement(amp), ...sch, schWidth: 2, schHeight: 1.71, schPinStyle: { pin1: { marginTop: 0.65 }, pin4: { marginTop: 0.65 }, pin7: { marginLeft: 0.3 }, pin3: { marginLeft: 0.3 } }, schPinArrangement: { leftSide: { pins: [8, 1], direction: "top-to-bottom" }, rightSide: { pins: [5, 4], direction: "top-to-bottom" }, topSide: { pins: [6, 7, 3], direction: "left-to-right" }, bottomSide: { pins: [2], direction: "left-to-right" } } }), jsxRuntime.jsx("capacitor", { name: bypass, capacitance: "100nF", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C1525"] }, ...revisionPlacement(bypass), ...sch, schSectionName: "current_supply", schOrientation: "vertical", maxDecouplingTraceLength: 5 }), jsxRuntime.jsx("resistor", { name: r, resistance: "1k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C11702"] }, ...revisionPlacement(r), ...sch }), jsxRuntime.jsx("capacitor", { name: c, capacitance: "10nF", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C15195"] }, ...revisionPlacement(c), ...sch, schOrientation: "vertical" }), wire("WINDING", `.${shunt} > .pin2`, `.J1 > .pin${index * 2 + 1}`, `${phase}+`, "1mm"), wire("SENSE_POS", `.${shunt} > .pin1`, `.${amp} > .IN_POS`, `${phase}_DRIVE`), wire("SENSE_NEG", `.${shunt} > .pin2`, `.${amp} > .IN_NEG`, `${phase}+`), wire("VCC", supply$1, `.${amp} > .VS`, "V3V3", "0.3mm"), wire("REF1", supply$1, `.${amp} > .REF1`, "V3V3"), wire("REF2", `.${amp} > .REF2`, "net.GND"), wire("GND", `.${amp} > .GND`, "net.GND", undefined, "0.3mm"), wire("RESERVED", `.${amp} > .NC`, "net.GND"), wire("BYPASS", `.${bypass} > .pin1`, `.${amp} > .VS`, "V3V3", "0.3mm"), wire("BYPASS_GND", `.${bypass} > .pin2`, "net.GND", undefined, "0.3mm"), wire("OUT", `.${amp} > .OUT`, `.${r} > .pin1`), wire("ADC", `.${r} > .pin2`, `.MCU > .U1 > .GPIO${28 + index}_ADC${2 + index}`, `CURRENT_${phase}`), wire("FILTER", `.${r} > .pin2`, `.${c} > .pin1`, `CURRENT_${phase}`), wire("FILTER_GND", `.${c} > .pin2`, "net.GND")] }, phase);
})] });
// This pinned symbols release includes led_right at runtime but declares it undefined.
const ledSymbol = schematicSymbols.symbols.led_right;
if (!ledSymbol)
throw new Error("Missing led_right schematic primitive");
const pinLabels$h = {
pin1: ["R_NEG"],
pin2: ["G_NEG"],
pin3: ["B_NEG"],
pin4: ["_POS"]
};
const LTST_C19HE1WT = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$h, symbol: jsxRuntime.jsxs("symbol", { children: [jsxRuntime.jsx("port", { name: "pin4", aliases: ["_POS"], pinNumber: 4, direction: "left", schX: -0.9, schY: 0, schStemLength: 0.3 }), jsxRuntime.jsx("schematicpath", { points: [{ x: -0.6, y: 0.8 }, { x: -0.6, y: -0.8 }], strokeWidth: 0.03 }), jsxRuntime.jsx("schematicpath", { points: [{ x: -0.9, y: 0 }, { x: -0.6, y: 0 }], strokeWidth: 0.03 }), ["R_NEG", "G_NEG", "B_NEG"].map((color, i) => {
const y = 0.8 - i * 0.8;
return jsxRuntime.jsxs(react.Fragment, { children: [ledSymbol.primitives.map((primitive, j) => primitive.type === "path" ?
jsxRuntime.jsx(react.Fragment, { children: jsxRuntime.jsx("schematicpath", { points: primitive.points.map(p => ({ x: p.x, y: p.y + y })), strokeWidth: 0.025 }) }, j) : null), jsxRuntime.jsx("schematicpath", { points: [{ x: -0.6, y }, { x: -0.54, y }], strokeWidth: 0.025 }), jsxRuntime.jsx("port", { name: `pin${i + 1}`, aliases: [color], pinNumber: i + 1, direction: "right", schX: 0.54, schY: y, schStemLength: 0.3 }), jsxRuntime.jsx("schematictext", { text: color[0], schX: -0.2, schY: y + 0.27, fontSize: 0.15 })] }, color);
}), jsxRuntime.jsx("schematictext", { text: props.name, schX: 0, schY: 1.4, fontSize: 0.18 })] }), supplierPartNumbers: {
"jlcpcb": [
"C458749"
]
}, manufacturerPartNumber: "LTST-C19HE1WT", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-0.450088mm", pcbY: "-0.833501mm", width: "0.5500116mm", height: "0.9169908mm", radius: "0.2750058mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "0.450088mm", pcbY: "-0.833501mm", width: "0.5500116mm", height: "0.9169908mm", radius: "0.2750058mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "0.450088mm", pcbY: "0.833501mm", width: "0.5500116mm", height: "0.9169908mm", radius: "0.2750058mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.450088mm", pcbY: "0.833501mm", width: "0.5500116mm", height: "0.9169908mm", radius: "0.2750058mm", shape: "pill" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.8761984000000211, "y": -0.876071399999887 }, { "x": -0.8761984000000211, "y": 0.8763254000000416 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.8761984000000211, "y": -0.876071399999887 }, { "x": 0.8761984000000211, "y": 0.8763254000000416 }] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "-0.508mm", pcbY: "1.524127mm", radius: "0.124968mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0127mm", pcbY: "2.651127mm", anchorAlignment: "center", fontSize: "0.55mm" }), jsxRuntime.jsx("courtyardrect", { width: 2.45, height: 3.1 })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C458749.obj?uuid=32e1f1a4424a41c9860f9a94e64c798e",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C458749.step?uuid=32e1f1a4424a41c9860f9a94e64c798e",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: -0.11 },
}, ...props }));
};
const pinLabels$g = {
pin1: ["E"],
pin2: ["B"],
pin3: ["C"]
};
const DTC114EU3HZGT106 = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$g, symbol: jsxRuntime.jsxs("symbol", { children: [jsxRuntime.jsx("port", { name: "pin3", pinNumber: 3, aliases: ["C"], direction: "up", schX: 0.2, schY: 0.8, schStemLength: 0.4 }), jsxRuntime.jsx("port", { name: "pin1", pinNumber: 1, aliases: ["E"], direction: "down", schX: 0.2, schY: -0.8, schStemLength: 0.4 }), jsxRuntime.jsx("port", { name: "pin2", pinNumber: 2, aliases: ["B"], direction: "left", schX: -1, schY: 0, schStemLength: 0.4 }), jsxRuntime.jsx("schematicpath", { points: [{ "x": -0.6, "y": 0 }, { "x": -0.52, "y": 0 }, { "x": -0.5, "y": 0.06 }, { "x": -0.46, "y": -0.06 }, { "x": -0.42, "y": 0.06 }, { "x": -0.38, "y": -0.06 }, { "x": -0.34, "y": 0.06 }, { "x": -0.3, "y": -0.06 }, { "x": -0.28, "y": 0 }, { "x": -0.2, "y": 0 }, { "x": 0, "y": 0 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": 0.18 }, { "x": 0, "y": -0.18 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": -0.06 }, { "x": 0.2, "y": -0.2 }, { "x": 0.2, "y": -0.4 }, { "x": -0.2, "y": -0.4 }, { "x": -0.2, "y": -0.32 }, { "x": -0.26, "y": -0.3 }, { "x": -0.14, "y": -0.26 }, { "x": -0.26, "y": -0.22 }, { "x": -0.14, "y": -0.18 }, { "x": -0.26, "y": -0.14 }, { "x": -0.14, "y": -0.1 }, { "x": -0.2, "y": -0.08 }, { "x": -0.2, "y": 0 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.2, "y": 0.4 }, { "x": 0.2, "y": 0.2 }, { "x": 0, "y": 0.06 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.2, "y": -0.2 }, { "x": 0.08, "y": -0.18 }, { "x": 0.14, "y": -0.1 }, { "x": 0.2, "y": -0.2 }], strokeColor: "#880000", isFilled: true, fillColor: "#880000" })] }), supplierPartNumbers: {
"jlcpcb": [
"C509876"
]
}, manufacturerPartNumber: "DTC114EU3HZGT106", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-0.94996mm", pcbY: "0mm", width: "0.8999982mm", height: "0.6999986mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "0.94996mm", pcbY: "0.649986mm", width: "0.8999982mm", height: "0.6999986mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "0.94996mm", pcbY: "-0.649986mm", width: "0.8999982mm", height: "0.6999986mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.6999985999999581, "y": 1.1999975999999606 }, { "x": 0.6999731999999312, "y": 1.1999975999999606 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.6999985999999581, "y": -1.1999722000000475 }, { "x": -0.6999985999999581, "y": -0.5041391999999405 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.6999985999999581, "y": 0.5041645999999673 }, { "x": -0.6999985999999581, "y": 1.1937999999998965 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.6999985999999581, "y": -1.1999722000000475 }, { "x": 0.6802119999999832, "y": -1.1999722000000475 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.6999731999999312, "y": 1.1999975999999606 }, { "x": 0.6999731999999312, "y": 1.154125199999953 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.6999731999999312, "y": 0.1458214000000453 }, { "x": 0.6999731999999312, "y": -0.14584679999995842 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.6999731999999312, "y": -1.15415059999998 }, { "x": 0.6999731999999312, "y": -1.1999722000000475 }] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.065532mm", pcbY: "2.7526mm", anchorAlignment: "center", fontSize: "0.55mm" }), jsxRuntime.jsx("courtyardrect", { width: 3.3, height: 2.9 })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C509876.obj?uuid=84e7f7101d9f49aca3b382e979d0d470",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C509876.step?uuid=84e7f7101d9f49aca3b382e979d0d470",
pcbRotationOffset: 180,
modelOriginPosition: { x: 0.000012699999956566899, y: 0, z: -0.1 },
}, ...props }));
};
const sch$1 = { schSheetName: "status_led", schSectionName: "rgb" };
const StatusLedSection = () => jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("schematicsheet", { name: "status_led", displayName: "RGB Status Indicator", sheetIndex: 8, children: jsxRuntime.jsx("schematicsection", { name: "rgb", displayName: "Status" }) }), jsxRuntime.jsx(LTST_C19HE1WT, { name: "D_STATUS", ...revisionPlacement("D_STATUS"), ...sch$1 }), jsxRuntime.jsx("trace", { name: "STATUS_5V", from: ".MCU > .J_USB > .A4B9", to: ".D_STATUS > ._POS", schDisplayLabel: "USB_5V", thickness: "0.2mm" }), ["R", "G", "B"].map((color, index) => {
const q = `Q_STATUS_${color}`, r = `R_STATUS_${color}`;
return jsxRuntime.jsxs(react.Fragment, { children: [jsxRuntime.jsx("resistor", { name: r, resistance: "1k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C11702"] }, ...revisionPlacement(r), ...sch$1, schOrientation: "vertical" }), jsxRuntime.jsx(DTC114EU3HZGT106, { name: q, ...revisionPlacement(q), ...sch$1 }), jsxRuntime.jsx("trace", { name: `STATUS_${color}_LED`, from: `.D_STATUS > .${color}_NEG`, to: `.${r} > .pin1`, thickness: "0.15mm" }), jsxRuntime.jsx("trace", { name: `STATUS_${color}_SINK`, from: `.${r} > .pin2`, to: `.${q} > .C`, thickness: "0.15mm" }), jsxRuntime.jsx("trace", { name: `STATUS_${color}_GND`, from: `.${q} > .E`, to: "net.GND", thickness: "0.15mm" }), jsxRuntime.jsx("trace", { name: `STATUS_${color}_GPIO`, from: `.MCU > .U1 > .GPIO${[25, 2, 3][index]}`, to: `.${q} > .B`, schDisplayLabel: `LED_${color}`, thickness: "0.15mm" })] }, color);
})] });
/** Probe the negotiated PD rail and the post-fuse / reverse-blocking motor rail independently. */
const ProductionTestPoints = () => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: [
["TP_PD", "PD", ".J_MOTOR_USB > .A4B9", 10.8, -7],
["TP_VMOTOR", "VMOTOR", ".D_MOTOR_BLOCK > .cathode", 14, -7],
["TP_PD_GND", "GND", "net.GND", 12, -10],
].map(([name, label, target, schX, schY]) => (jsxRuntime.jsxs("group", { pcbX: 0, pcbY: 0, children: [jsxRuntime.jsx("testpoint", { name: name, footprintVariant: "pad", padShape: "circle", padDiameter: "1.5mm", layer: "top", pcbStyle: { silkscreenTextVisibility: "hidden" }, ...placement[name], schSheetName: "motor_power" }), jsxRuntime.jsx("trace", { name: `${name}_TRACE`, from: `.${name} > .pin1`, to: target, schDisplayLabel: label, thickness: "0.2mm" }), jsxRuntime.jsx("silkscreentext", { text: label, pcbX: placement[name].pcbX, pcbY: placement[name].pcbY + 1.1, fontSize: "0.65mm" })] }, name))) }));
const pinLabels$f = {
pin1: ["_POS"],
pin2: ["_NEG"],
pin3: ["NC1"],
pin4: ["NC2"]
};
const pinAttributes$6 = {
pin3: { doNotConnect: true },
pin4: { doNotConnect: true }
};
const HYG_8503A = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$f, symbol: jsxRuntime.jsxs("symbol", { children: [schematicSymbols.symbols.speaker_right.primitives.map((primitive, index) => primitive.type === "path" ? (jsxRuntime.jsx(react.Fragment, { children: jsxRuntime.jsx("schematicpath", { points: primitive.points, strokeWidth: 0.05 }) }, index)) : null), jsxRuntime.jsx("schematictext", { text: props.name, schX: 0, schY: 0.7, fontSize: 0.18 }), jsxRuntime.jsx("schematictext", { text: "+", schX: -0.3, schY: 0.38, fontSize: 0.15 }), jsxRuntime.jsx("port", { name: "_POS", pinNumber: 1, direction: "left", schX: -0.4, schY: 0.2 }), jsxRuntime.jsx("port", { name: "_NEG", pinNumber: 2, direction: "left", schX: -0.4, schY: -0.2 })] }), pinAttributes: pinAttributes$6, supplierPartNumbers: {
"jlcpcb": [
"C7544813"
]
}, manufacturerPartNumber: "HYG-8503A", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-3.599815mm", pcbY: "-3.599942mm", width: "2.400046mm", height: "2.400046mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "3.599815mm", pcbY: "-3.599942mm", width: "2.400046mm", height: "2.400046mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "3.599561mm", pcbY: "3.599688mm", width: "2.400046mm", height: "2.400046mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-3.599815mm", pcbY: "3.599942mm", width: "2.400046mm", height: "2.400046mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.1686520000000087, "y": 4.249851800000016 }, { "x": 2.1683980000000105, "y": 4.249851800000016 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -4.249877199999986, "y": -2.1687790000000007 }, { "x": -4.249877199999986, "y": 2.1687790000000007 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 2.1686520000000087, "y": -4.250131199999998 }, { "x": -2.1686520000000087, "y": -4.250131199999998 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 4.250131199999998, "y": 2.1685250000000025 }, { "x": 4.250131199999998, "y": -2.1687790000000007 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.999998000000005, "y": 2.499741 }, { "x": 0.9999980000000193, "y": 2.499741 }, { "x": 0, "y": 3.4997390000000053 }, { "x": -0.999998000000005, "y": 2.499741 }] }), jsxRuntime.jsx("silkscreentext", { text: "+", pcbX: "-0.999871mm", pcbY: "-2.500376mm", anchorAlignment: "bottom_left", pcbRotation: "90deg", fontSize: "2.032mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.000127mm", pcbY: "5.800346mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -4.479874199999983, "y": -2.680131799999998 }, { "x": -4.479874199999983, "y": -2.240127599999994 }, { "x": -2.079878999999991, "y": -2.240127599999994 }, { "x": -2.079878999999991, "y": -2.7001215999999886 }, { "x": -4.479874199999983, "y": -2.680131799999998 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -3.0800801999999976, "y": -3.6172647999999867 }, { "x": -3.5200843999999876, "y": -3.6172647999999867 }, { "x": -3.5200843999999876, "y": -1.2172695999999945 }, { "x": -3.060090399999993, "y": -1.2172695999999945 }, { "x": -3.0800801999999976, "y": -3.6172647999999867 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -0.9998709999999846, "y": 2.4798782000000017 }, { "x": 0.9401302000000129, "y": 2.4798782000000017 }, { "x": 0.9401048000000145, "y": 2.4798782000000017 }, { "x": -0.039877999999987424, "y": 3.4598610000000036 }, { "x": -0.9998709999999846, "y": 2.4798782000000017 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -5.050726999999981, "y": 5.050346000000005 }, { "x": 5.050473000000011, "y": 5.050346000000005 }, { "x": 5.050473000000011, "y": -5.050854000000001 }, { "x": -5.050726999999981, "y": -5.050854000000001 }, { "x": -5.050726999999981, "y": 5.050346000000005 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7544813.obj?uuid=23ea17edf3ba4256b107fb38293125d4",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7544813.step?uuid=23ea17edf3ba4256b107fb38293125d4",
pcbRotationOffset: 0,
modelOriginPosition: { x: -12700000013410317e-21, y: 0.000012699999999199463, z: 0 },
}, ...props }));
};
const pinLabels$e = {
pin1: ["G"],
pin2: ["S"],
pin3: ["D"]
};
const AO3400A = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$e, symbol: jsxRuntime.jsxs("symbol", { children: [jsxRuntime.jsx("schematictext", { text: props.name, schX: -0.6, schY: 0.7, fontSize: 0.18 }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": 0 }, { "x": 0.12, "y": -0.04 }, { "x": 0.12, "y": 0.04 }, { "x": 0, "y": 0 }], strokeColor: "#880000", isFilled: true, fillColor: "#FEFEFE" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.4, "y": 0.04 }, { "x": 0.34, "y": -0.06 }, { "x": 0.46, "y": -0.06 }, { "x": 0.4, "y": 0.04 }], strokeColor: "#880000", isFilled: true, fillColor: "#FEFEFE" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": 0.14 }, { "x": 0.2, "y": 0.14 }, { "x": 0.2, "y": 0.2 }, { "x": 0.4, "y": 0.2 }, { "x": 0.4, "y": 0.04 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": 0 }, { "x": 0.2, "y": 0 }, { "x": 0.2, "y": -0.2 }, { "x": 0.4, "y": -0.2 }, { "x": 0.4, "y": -0.06 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.2, "y": -0.14 }, { "x": 0, "y": -0.14 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": -0.04, "y": 0.18 }, { "x": -0.04, "y": -0.18 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": 0.18 }, { "x": 0, "y": 0.1 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": -0.04 }, { "x": 0, "y": 0.04 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": -0.18 }, { "x": 0, "y": -0.1 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": -0.2, "y": 0 }, { "x": -0.04, "y": 0 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.48, "y": 0.04 }, { "x": 0.44, "y": 0.04 }, { "x": 0.36, "y": 0.04 }, { "x": 0.32, "y": 0.04 }], strokeColor: "#880000" }), jsxRuntime.jsx("port", { name: "G", pinNumber: 1, aliases: ["G"], direction: "left", schX: -0.4, schY: 0, schStemLength: 0.2 }), jsxRuntime.jsx("port", { name: "S", pinNumber: 2, aliases: ["S"], direction: "down", schX: 0.2, schY: -0.4, schStemLength: 0.2 }), jsxRuntime.jsx("port", { name: "D", pinNumber: 3, aliases: ["D"], direction: "up", schX: 0.2, schY: 1, schStemLength: 0.8 })] }), supplierPartNumbers: {
"jlcpcb": [
"C20917"
]
}, manufacturerPartNumber: "AO3400A", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "0.999998mm", pcbY: "-0.94996mm", width: "0.999998mm", height: "0.6500114mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "0.999998mm", pcbY: "0.94996mm", width: "0.999998mm", height: "0.6500114mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-0.999998mm", pcbY: "0mm", width: "0.999998mm", height: "0.6500114mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.726211400000011, "y": 1.5262098000000606 }, { "x": -0.726211400000011, "y": 1.5262098000000606 }, { "x": -0.726211400000011, "y": 0.49458879999997407 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.726211400000011, "y": -1.5262097999999469 }, { "x": -0.726211400000011, "y": -1.5262097999999469 }, { "x": -0.726211400000011, "y": -0.49458879999997407 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.726211400000011, "y": 0.45539659999997184 }, { "x": 0.726211400000011, "y": -0.45539659999985815 }] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0254mm", pcbY: "2.524mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -1.748600000000124, "y": 1.774000000000001 }, { "x": 1.7993999999998778, "y": 1.774000000000001 }, { "x": 1.7993999999998778, "y": -1.774000000000001 }, { "x": -1.748600000000124, "y": -1.774000000000001 }, { "x": -1.748600000000124, "y": 1.774000000000001 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C20917.obj?uuid=d777607a152f4f3aac9bb0d0c14ed6fd",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C20917.step?uuid=d777607a152f4f3aac9bb0d0c14ed6fd",
pcbRotationOffset: 180,
modelOriginPosition: { x: 0.000012700000070253736, y: -12699999956566899e-21, z: 0.050795 },
}, ...props }));
};
const pinLabels$d = {
pin1: ["cathode", "neg"],
pin2: ["anode", "pos"]
};
const B5819W_SL$1 = (props) => {
const { name = "D1", ...restProps } = props;
return (jsxRuntime.jsx("diode", { name: name, pinLabels: pinLabels$d, supplierPartNumbers: {
"jlcpcb": [
"C8598"
]
}, manufacturerPartNumber: "B5819W SL", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin2", "anode", "pos"], pcbX: "1.700022mm", pcbY: "0mm", width: "1.1999976mm", height: "0.9500108mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1", "cathode", "neg"], pcbX: "-1.700022mm", pcbY: "0mm", width: "1.1999976mm", height: "0.9500108mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 1.3462000000000103, "y": -0.7061453999999969 }, { "x": 1.3462000000000103, "y": -0.850010999999995 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 1.3462000000000103, "y": 0.8500110000000092 }, { "x": 1.3462000000000103, "y": 0.7061454000000111 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.346199999999996, "y": -0.850010999999995 }, { "x": -1.6379698000000076, "y": -0.850010999999995 }, { "x": -1.6389857999999862, "y": -0.848994999999988 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.346199999999996, "y": 0.8500110000000092 }, { "x": -1.6429735999999764, "y": 0.8500110000000092 }, { "x": -1.6439895999999976, "y": 0.8489950000000022 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.346199999999996, "y": 0.8500110000000092 }, { "x": 1.3462000000000103, "y": 0.8500110000000092 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.406400000000005, "y": 0.406400000000005 }, { "x": 0.406400000000005, "y": -0.40639999999999077 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.406400000000005, "y": 0.0002539999999982001 }, { "x": 0.720089999999999, "y": 0.0002539999999982001 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.28000959999999964, "y": 0 }, { "x": -0.610006399999989, "y": 0 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.2540000000000049, "y": 0.5080000000000098 }, { "x": -0.2540000000000049, "y": -0.5079999999999956 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.17779999999999063, "y": 0 }, { "x": 0.406400000000005, "y": 0.406400000000005 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.406400000000005, "y": -0.40639999999999077 }, { "x": -0.17779999999999063, "y": 0 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 1.3462000000000103, "y": -0.850010999999995 }, { "x": -1.346199999999996, "y": -0.850010999999995 }] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.0127mm", pcbY: "1.9652mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": 1.1899391999999978, "y": 0.21201379999999403 }, { "x": 2.031898400000003, "y": 0.21201379999999403 }, { "x": 2.031898400000003, "y": 0.005054600000008236 }, { "x": 1.1893295999999935, "y": 0.005054600000008236 }, { "x": 1.1899391999999978, "y": 0.21201379999999403 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": 1.5246096000000051, "y": -0.33840419999998517 }, { "x": 1.5246096000000051, "y": 0.5035550000000057 }, { "x": 1.7315688000000051, "y": 0.5035550000000057 }, { "x": 1.7315688000000051, "y": -0.3390137999999894 }, { "x": 1.5246096000000051, "y": -0.33840419999998517 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -2.041524999999993, "y": 0.12377420000001393 }, { "x": -1.1995657999999878, "y": 0.12377420000001393 }, { "x": -1.1995657999999878, "y": -0.08318499999998608 }, { "x": -2.042134599999997, "y": -0.08318499999998608 }, { "x": -2.041524999999993, "y": 0.12377420000001393 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -0.3999991999999821, "y": 0 }, { "x": -0.3999991999999821, "y": 0 }, { "x": 0.19999959999999817, "y": -0.5999987999999945 }, { "x": 0.19999959999999817, "y": 0.5999988000000087 }, { "x": -0.3999991999999821, "y": 0 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -2.561400000000006, "y": 1.21520000000001 }, { "x": 2.5360000000000014, "y": 1.21520000000001 }, { "x": 2.5360000000000014, "y": -1.2405999999999864 }, { "x": -2.561400000000006, "y": -1.2405999999999864 }, { "x": -2.561400000000006, "y": 1.21520000000001 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C8598.obj?uuid=e9d505c99b6c436aaf827a29c5ba4f84",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C8598.step?uuid=e9d505c99b6c436aaf827a29c5ba4f84",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0.000012699999999199463, z: -0.6 },
}, ...restProps }));
};
const alarm = { schSheetName: "position_alarm", schSectionName: "alarm" };
const signal = { thickness: "0.15mm" };
const supply = { thickness: "0.3mm" };
/** Audible overtemperature alarm. An optional DNP shaft encoder shares this sheet. */
const FeedbackSection = () => jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("schematicsheet", { name: "position_alarm", displayName: "Optional Encoder & Audible Alarm", sheetIndex: 6, children: [jsxRuntime.jsx("schematicsection", { name: "encoder", displayName: "Optional Shaft Position (DNP)" }), jsxRuntime.jsx("schematicsection", { name: "alarm", displayName: "Temperature Alarm" }), jsxRuntime.jsx("schematicsection", { name: "feedback_supply", displayName: "3.3 V Bypass" })] }), jsxRuntime.jsx(HYG_8503A, { name: "BZ1", layer: "top", ...revisionPlacement("BZ1"), noConnect: ["NC1", "NC2"], ...alarm }), jsxRuntime.jsx(AO3400A, { name: "Q_BUZZER", layer: "top", ...alarm, ...revisionPlacement("Q_BUZZER") }), jsxRuntime.jsx(B5819W_SL$1, { name: "D_BUZZER", layer: "top", schRotation: 90, ...alarm, ...revisionPlacement("D_BUZZER") }), jsxRuntime.jsx("resistor", { name: "R_BUZZER_GATE", resistance: "100", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25076"] }, layer: "top", ...alarm, ...revisionPlacement("R_BUZZER_GATE") }), jsxRuntime.jsx("resistor", { name: "R_BUZZER_PD", resistance: "100k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25741"] }, layer: "top", schOrientation: "vertical", ...alarm, ...revisionPlacement("R_BUZZER_PD") }), jsxRuntime.jsx("capacitor", { name: "C_BUZZER", capacitance: "10uF", footprint: "0603", supplierPartNumbers: { jlcpcb: ["C19702"] }, layer: "top", maxDecouplingTraceLength: 6, schOrientation: "vertical", ...alarm, schSectionName: "feedback_supply", ...revisionPlacement("C_BUZZER") }), jsxRuntime.jsx("trace", { name: "BUZZER_PWM", from: ".MCU > .U1 > .GPIO16", to: ".R_BUZZER_GATE > .pin1", schDisplayLabel: "BUZZER_PWM", ...signal }), jsxRuntime.jsx("trace", { name: "BUZZER_GATE", from: ".R_BUZZER_GATE > .pin2", to: ".Q_BUZZER > .G", ...signal }), jsxRuntime.jsx("trace", { name: "BUZZER_OFF", from: ".Q_BUZZER > .G", to: ".R_BUZZER_PD > .pin1", ...signal }), jsxRuntime.jsx("trace", { name: "BUZZER_PD_GND", from: ".R_BUZZER_PD > .pin2", to: "net.GND", ...signal }), jsxRuntime.jsx("trace", { name: "BUZZER_SOURCE", from: ".Q_BUZZER > .S", to: "net.GND", ...supply }), jsxRuntime.jsx("trace", { name: "BUZZER_SINK", schDisplayLabel: "BUZZER_SINK", from: ".Q_BUZZER > .D", to: ".BZ1 > ._NEG", ...supply }), jsxRuntime.jsx("trace", { name: "BUZZER_VCC", from: ".BZ1 > ._POS", to: ".MCU > .L_AVDD > .pin1", schDisplayLabel: "V3V3", ...supply }), jsxRuntime.jsx("trace", { name: "BUZZER_FLYBACK_A", schDisplayLabel: "BUZZER_SINK", from: ".D_BUZZER > .anode", to: ".Q_BUZZER > .D", ...supply }), jsxRuntime.jsx("trace", { name: "BUZZER_FLYBACK_K", from: ".D_BUZZER > .cathode", to: ".BZ1 > ._POS", ...supply }), jsxRuntime.jsx("trace", { name: "BUZZER_DECOUPLE", from: ".C_BUZZER > .pin1", to: ".BZ1 > ._POS", schDisplayLabel: "V3V3", ...supply }), jsxRuntime.jsx("trace", { name: "BUZZER_DECOUPLE_GND", from: ".C_BUZZER > .pin2", to: "net.GND", ...supply })] });
var nema17Outline = [
{
x: -20.2713082,
y: -16.5386766
},
{
x: -16.528669,
y: -20.281315799999998
},
{
x: -16.385387,
y: -20.415514
},
{
x: -16.233635,
y: -20.540054
},
{
x: -16.074062,
y: -20.654402
},
{
x: -15.907353,
y: -20.758069
},
{
x: -15.73422,
y: -20.85061
},
{
x: -15.555405,
y: -20.93163
},
{
x: -15.371675,
y: -21.000781
},
{
x: -15.183815,
y: -21.057768
},
{
x: -14.99263,
y: -21.102346
},
{
x: -14.798939,
y: -21.134324
},
{
x: -14.603571,
y: -21.153566
},
{
x: -14.407363,
y: -21.15999
},
{
x: 14.407362599999999,
y: -21.160003399999997
},
{
x: 14.603573,
y: -21.15358
},
{
x: 14.798943,
y: -21.134338
},
{
x: 14.992637,
y: -21.102358
},
{
x: 15.183824,
y: -21.05778
},
{
x: 15.371686,
y: -21.000792
},
{
x: 15.555419,
y: -20.931639
},
{
x: 15.734235,
y: -20.850618
},
{
x: 15.90737,
y: -20.758074
},
{
x: 16.074081,
y: -20.654406
},
{
x: 16.233655,
y: -20.540056
},
{
x: 16.385408,
y: -20.415513
},
{
x: 16.528691,
y: -20.281313
},
{
x: 20.2713082,
y: -16.5386766
},
{
x: 20.405506,
y: -16.395395
},
{
x: 20.530046,
y: -16.243642
},
{
x: 20.644394,
y: -16.08407
},
{
x: 20.748061,
y: -15.91736
},
{
x: 20.840602,
y: -15.744228
},
{
x: 20.921622,
y: -15.565413
},
{
x: 20.990774,
y: -15.381682
},
{
x: 21.04776,
y: -15.193822
},
{
x: 21.092338,
y: -15.002637
},
{
x: 21.124317,
y: -14.808946
},
{
x: 21.143559,
y: -14.613578
},
{
x: 21.149982,
y: -14.41737
},
{
x: 21.149995799999996,
y: 14.417370199999999
},
{
x: 21.143573,
y: 14.613579
},
{
x: 21.12433,
y: 14.808948
},
{
x: 21.092352,
y: 15.00264
},
{
x: 21.047773,
y: 15.193826
},
{
x: 20.990787,
y: 15.381687
},
{
x: 20.921635,
y: 15.565418
},
{
x: 20.840615,
y: 15.744234
},
{
x: 20.748073,
y: 15.917367
},
{
x: 20.644406,
y: 16.084078
},
{
x: 20.530057,
y: 16.243651
},
{
x: 20.405517,
y: 16.395404
},
{
x: 20.271318,
y: 16.538686
},
{
x: 16.528669,
y: 20.281315799999998
},
{
x: 16.385388,
y: 20.415515
},
{
x: 16.233636,
y: 20.540056
},
{
x: 16.074064,
y: 20.654405
},
{
x: 15.907354,
y: 20.758072
},
{
x: 15.734221,
y: 20.850615
},
{
x: 15.555407,
y: 20.931635
},
{
x: 15.371676,
y: 21.000787
},
{
x: 15.183816,
y: 21.057774
},
{
x: 14.992631,
y: 21.102353
},
{
x: 14.798939,
y: 21.134332
},
{
x: 14.603571,
y: 21.153574
},
{
x: 14.407363,
y: 21.159997
},
{
x: -14.407362599999999,
y: 21.160003399999997
},
{
x: -14.603573,
y: 21.15358
},
{
x: -14.798943,
y: 21.134338
},
{
x: -14.992637,
y: 21.102358
},
{
x: -15.183824,
y: 21.05778
},
{
x: -15.371686,
y: 21.000792
},
{
x: -15.555419,
y: 20.931639
},
{
x: -15.734235,
y: 20.850618
},
{
x: -15.90737,
y: 20.758074
},
{
x: -16.074081,
y: 20.654406
},
{
x: -16.233655,
y: 20.540056
},
{
x: -16.385408,
y: 20.415513
},
{
x: -16.528691,
y: 20.281313
},
{
x: -20.2713082,
y: 16.5386766
},
{
x: -20.405506,
y: 16.395395
},
{
x: -20.530046,
y: 16.243642
},
{
x: -20.644394,
y: 16.08407
},
{
x: -20.748061,
y: 15.91736
},
{
x: -20.840602,
y: 15.744228
},
{
x: -20.921622,
y: 15.565413
},
{
x: -20.990774,
y: 15.381682
},
{
x: -21.04776,
y: 15.193822
},
{
x: -21.092338,
y: 15.002637
},
{
x: -21.124317,
y: 14.808946
},
{
x: -21.143559,
y: 14.613578
},
{
x: -21.149982,
y: 14.41737
},
{
x: -21.149995799999996,
y: -14.417370199999999
},
{
x: -21.143573,
y: -14.613579
},
{
x: -21.12433,
y: -14.808948
},
{
x: -21.092352,
y: -15.00264
},
{
x: -21.047773,
y: -15.193826
},
{
x: -20.990787,
y: -15.381687
},
{
x: -20.921635,
y: -15.565418
},
{
x: -20.840615,
y: -15.744234
},
{
x: -20.748073,
y: -15.917367
},
{
x: -20.644406,
y: -16.084078
},
{
x: -20.530057,
y: -16.243651
},
{
x: -20.405517,
y: -16.395404
},
{
x: -20.271318,
y: -16.538686
}
];
var expectedInput = {
bounds: {
minX: -22.149995799999996,
maxX: 22.149995799999996,
minY: -22.160003399999997,
maxY: 22.160003399999997
},
obstacles: [
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_0",
pcb_port_id: "pcb_port_0",
source_port_name: "pin1"
},
componentId: "pcb_component_0",
type: "rect",
layers: [
"top"
],
center: {
x: -11.174999999999999,
y: -10.65
},
width: 1.2,
height: 1.4,
connectedTo: [
"pcb_smtpad_0",
"connectivity_net1572",
"pcb_trace_3",
"pcb_trace_0",
"source_trace_86",
"source_port_4",
"source_trace_83",
"source_port_0",
"source_port_54",
"pcb_port_0",
"pcb_smtpad_4",
"pcb_port_4",
"pcb_smtpad_72",
"pcb_port_54"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_1",
pcb_port_id: "pcb_port_3",
source_port_name: "pin2"
},
componentId: "pcb_component_0",
type: "rect",
layers: [
"top"
],
center: {
x: -11.174999999999999,
y: -12.85
},
width: 1.2,
height: 1.4,
connectedTo: [
"pcb_smtpad_1",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_2",
pcb_port_id: "pcb_port_1",
source_port_name: "pin3"
},
componentId: "pcb_component_0",
type: "rect",
layers: [
"top"
],
center: {
x: -9.475,
y: -12.85
},
width: 1.2,
height: 1.4,
connectedTo: [
"pcb_smtpad_2",
"connectivity_net1573",
"pcb_trace_4",
"pcb_trace_1",
"source_trace_88",
"source_port_6",
"source_trace_84",
"source_port_1",
"source_port_8",
"pcb_port_1",
"pcb_smtpad_6",
"pcb_port_6",
"pcb_smtpad_8",
"pcb_port_8"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_3",
pcb_port_id: "pcb_port_2",
source_port_name: "pin4"
},
componentId: "pcb_component_0",
type: "rect",
layers: [
"top"
],
center: {
x: -9.475,
y: -10.65
},
width: 1.2,
height: 1.4,
connectedTo: [
"pcb_smtpad_3",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_4",
pcb_port_id: "pcb_port_4",
source_port_name: "pin1"
},
componentId: "pcb_component_1",
type: "rect",
layers: [
"top"
],
center: {
x: -11.635,
y: -15.55
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_4",
"connectivity_net1572",
"pcb_trace_3",
"pcb_trace_0",
"source_trace_86",
"source_port_4",
"source_trace_83",
"source_port_0",
"source_port_54",
"pcb_smtpad_0",
"pcb_port_0",
"pcb_port_4",
"pcb_smtpad_72",
"pcb_port_54"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_5",
pcb_port_id: "pcb_port_5",
source_port_name: "pin2"
},
componentId: "pcb_component_1",
type: "rect",
layers: [
"top"
],
center: {
x: -10.615,
y: -15.55
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_5",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_6",
pcb_port_id: "pcb_port_6",
source_port_name: "pin1"
},
componentId: "pcb_component_2",
type: "rect",
layers: [
"top"
],
center: {
x: -9.635,
y: -15.55
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_6",
"connectivity_net1573",
"pcb_trace_4",
"pcb_trace_1",
"source_trace_88",
"source_port_6",
"source_trace_84",
"source_port_1",
"source_port_8",
"pcb_smtpad_2",
"pcb_port_1",
"pcb_port_6",
"pcb_smtpad_8",
"pcb_port_8"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_7",
pcb_port_id: "pcb_port_7",
source_port_name: "pin2"
},
componentId: "pcb_component_2",
type: "rect",
layers: [
"top"
],
center: {
x: -8.615,
y: -15.55
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_7",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_8",
pcb_port_id: "pcb_port_8",
source_port_name: "pin1"
},
componentId: "pcb_component_3",
type: "rect",
layers: [
"top"
],
center: {
x: -7.835,
y: -11.55
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_8",
"connectivity_net1573",
"pcb_trace_4",
"pcb_trace_1",
"source_trace_88",
"source_port_6",
"source_trace_84",
"source_port_1",
"source_port_8",
"pcb_smtpad_2",
"pcb_port_1",
"pcb_smtpad_6",
"pcb_port_6",
"pcb_port_8"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_9",
pcb_port_id: "pcb_port_9",
source_port_name: "pin2"
},
componentId: "pcb_component_3",
type: "rect",
layers: [
"top"
],
center: {
x: -6.815,
y: -11.55
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_9",
"connectivity_net1571",
"pcb_trace_2",
"source_trace_85",
"source_port_9",
"source_port_55",
"pcb_port_9",
"pcb_smtpad_71",
"pcb_port_55"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_10",
pcb_port_id: "pcb_port_10",
source_port_name: "cathode"
},
componentId: "pcb_component_4",
type: "rect",
layers: [
"top"
],
center: {
x: -10.8,
y: 11
},
width: 1.2,
height: 0.95,
connectedTo: [
"pcb_smtpad_10",
"connectivity_net159",
"source_trace_69",
"source_port_14",
"source_trace_8",
"source_port_12",
"source_trace_7",
"source_port_10",
"source_net_8",
"pcb_port_10",
"pcb_smtpad_12",
"pcb_port_12",
"pcb_smtpad_16",
"pcb_port_14"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_11",
pcb_port_id: "pcb_port_11",
source_port_name: "anode"
},
componentId: "pcb_component_4",
type: "rect",
layers: [
"top"
],
center: {
x: -14.2,
y: 11
},
width: 1.2,
height: 0.95,
connectedTo: [
"pcb_smtpad_11",
"connectivity_net585",
"source_trace_267",
"source_trace_67",
"source_port_19",
"source_trace_54",
"source_port_142",
"source_trace_53",
"source_port_133",
"source_trace_6",
"source_port_11",
"source_net_7",
"source_port_374",
"pcb_port_11",
"pcb_smtpad_19",
"pcb_port_19",
"pcb_smtpad_139",
"pcb_port_133",
"pcb_smtpad_138",
"pcb_port_142",
"pcb_smtpad_328",
"pcb_port_374"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_12",
pcb_port_id: "pcb_port_12",
source_port_name: "pin1"
},
componentId: "pcb_component_5",
type: "rect",
layers: [
"top"
],
center: {
x: -14.5,
y: 7.49
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_12",
"connectivity_net159",
"source_trace_69",
"source_port_14",
"source_trace_8",
"source_port_12",
"source_trace_7",
"source_port_10",
"source_net_8",
"pcb_smtpad_10",
"pcb_port_10",
"pcb_port_12",
"pcb_smtpad_16",
"pcb_port_14"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_13",
pcb_port_id: "pcb_port_13",
source_port_name: "pin2"
},
componentId: "pcb_component_5",
type: "rect",
layers: [
"top"
],
center: {
x: -14.5,
y: 8.51
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_13",
"connectivity_net23",
"source_trace_9",
"source_port_13",
"source_port_16",
"pcb_port_13",
"pcb_smtpad_15",
"pcb_port_16"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_14",
pcb_port_id: "pcb_port_15",
source_port_name: "GND"
},
componentId: "pcb_component_6",
type: "rect",
layers: [
"top"
],
center: {
x: -18.100074,
y: 8.500127
},
width: 0.999998,
height: 0.5999988,
connectedTo: [
"pcb_smtpad_14",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_15",
pcb_port_id: "pcb_port_16",
source_port_name: "EN"
},
componentId: "pcb_component_6",
type: "rect",
layers: [
"top"
],
center: {
x: -18.100074,
y: 7.550167
},
width: 0.999998,
height: 0.5999988,
connectedTo: [
"pcb_smtpad_15",
"connectivity_net23",
"source_trace_9",
"source_port_13",
"source_port_16",
"pcb_smtpad_13",
"pcb_port_13",
"pcb_port_16"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_16",
pcb_port_id: "pcb_port_14",
source_port_name: "VIN"
},
componentId: "pcb_component_6",
type: "rect",
layers: [
"top"
],
center: {
x: -18.100074,
y: 9.449833
},
width: 0.999998,
height: 0.5999988,
connectedTo: [
"pcb_smtpad_16",
"connectivity_net159",
"source_trace_69",
"source_port_14",
"source_trace_8",
"source_port_12",
"source_trace_7",
"source_port_10",
"source_net_8",
"pcb_smtpad_10",
"pcb_port_10",
"pcb_smtpad_12",
"pcb_port_12",
"pcb_port_14"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_17",
pcb_port_id: "pcb_port_17",
source_port_name: "NC"
},
componentId: "pcb_component_6",
type: "rect",
layers: [
"top"
],
center: {
x: -15.899926,
y: 7.549913
},
width: 0.999998,
height: 0.5999988,
connectedTo: [
"pcb_smtpad_17",
"connectivity_net1517",
"source_port_17",
"pcb_port_17"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_18",
pcb_port_id: "pcb_port_18",
source_port_name: "VOUT"
},
componentId: "pcb_component_6",
type: "rect",
layers: [
"top"
],
center: {
x: -15.899926,
y: 9.450087
},
width: 0.999998,
height: 0.5999988,
connectedTo: [
"pcb_smtpad_18",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_19",
pcb_port_id: "pcb_port_19",
source_port_name: "pin1"
},
componentId: "pcb_component_7",
type: "rect",
layers: [
"top"
],
center: {
x: -18,
y: 4.4750000000000005
},
width: 0.95,
height: 0.8,
connectedTo: [
"pcb_smtpad_19",
"connectivity_net585",
"source_trace_267",
"source_trace_67",
"source_port_19",
"source_trace_54",
"source_port_142",
"source_trace_53",
"source_port_133",
"source_trace_6",
"source_port_11",
"source_net_7",
"source_port_374",
"pcb_smtpad_11",
"pcb_port_11",
"pcb_port_19",
"pcb_smtpad_139",
"pcb_port_133",
"pcb_smtpad_138",
"pcb_port_142",
"pcb_smtpad_328",
"pcb_port_374"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_20",
pcb_port_id: "pcb_port_20",
source_port_name: "pin2"
},
componentId: "pcb_component_7",
type: "rect",
layers: [
"top"
],
center: {
x: -18,
y: 6.125000000000001
},
width: 0.95,
height: 0.8,
connectedTo: [
"pcb_smtpad_20",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_21",
pcb_port_id: "pcb_port_21",
source_port_name: "pin1"
},
componentId: "pcb_component_8",
type: "rect",
layers: [
"top"
],
center: {
x: -14.035,
y: -10.75
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_21",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_22",
pcb_port_id: "pcb_port_22",
source_port_name: "pin2"
},
componentId: "pcb_component_8",
type: "rect",
layers: [
"top"
],
center: {
x: -13.015,
y: -10.75
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_22",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_23",
pcb_port_id: "pcb_port_23",
source_port_name: "pin1"
},
componentId: "pcb_component_9",
type: "rect",
layers: [
"top"
],
center: {
x: -12.635,
y: 0.25
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_23",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_24",
pcb_port_id: "pcb_port_24",
source_port_name: "pin2"
},
componentId: "pcb_component_9",
type: "rect",
layers: [
"top"
],
center: {
x: -11.615,
y: 0.25
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_24",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_25",
pcb_port_id: "pcb_port_25",
source_port_name: "pin1"
},
componentId: "pcb_component_10",
type: "rect",
layers: [
"top"
],
center: {
x: -17.76,
y: -7
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_25",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_26",
pcb_port_id: "pcb_port_26",
source_port_name: "pin2"
},
componentId: "pcb_component_10",
type: "rect",
layers: [
"top"
],
center: {
x: -16.74,
y: -7
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_26",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_27",
pcb_port_id: "pcb_port_27",
source_port_name: "pin1"
},
componentId: "pcb_component_11",
type: "rect",
layers: [
"top"
],
center: {
x: -14.035,
y: -11.75
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_27",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_28",
pcb_port_id: "pcb_port_28",
source_port_name: "pin2"
},
componentId: "pcb_component_11",
type: "rect",
layers: [
"top"
],
center: {
x: -13.015,
y: -11.75
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_28",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_29",
pcb_port_id: "pcb_port_29",
source_port_name: "pin1"
},
componentId: "pcb_component_12",
type: "rect",
layers: [
"top"
],
center: {
x: -16,
y: -10.24
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_29",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_30",
pcb_port_id: "pcb_port_30",
source_port_name: "pin2"
},
componentId: "pcb_component_12",
type: "rect",
layers: [
"top"
],
center: {
x: -16,
y: -11.26
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_30",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_31",
pcb_port_id: "pcb_port_31",
source_port_name: "pin1"
},
componentId: "pcb_component_13",
type: "rect",
layers: [
"top"
],
center: {
x: -14.5,
y: -2.51
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_31",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_32",
pcb_port_id: "pcb_port_32",
source_port_name: "pin2"
},
componentId: "pcb_component_13",
type: "rect",
layers: [
"top"
],
center: {
x: -14.5,
y: -1.49
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_32",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_33",
pcb_port_id: "pcb_port_33",
source_port_name: "pin1"
},
componentId: "pcb_component_14",
type: "rect",
layers: [
"top"
],
center: {
x: -1.635,
y: -10.15
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_33",
"connectivity_net178",
"source_trace_79",
"source_port_77",
"source_trace_78",
"source_port_99",
"source_trace_29",
"source_port_33",
"source_net_10",
"pcb_port_33",
"pcb_smtpad_49",
"pcb_port_77",
"pcb_smtpad_99",
"pcb_port_99"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_34",
pcb_port_id: "pcb_port_34",
source_port_name: "pin2"
},
componentId: "pcb_component_14",
type: "rect",
layers: [
"top"
],
center: {
x: -0.615,
y: -10.15
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_34",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_35",
pcb_port_id: "pcb_port_91",
source_port_name: "GND"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -9.125,
y: -5.249873
},
width: 3.0999938,
height: 3.0999938,
connectedTo: [
"pcb_smtpad_35",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_36",
pcb_port_id: "pcb_port_90",
source_port_name: "QSPI_SS"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -11.724944,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_36",
"connectivity_net210",
"source_trace_94",
"source_port_112",
"source_trace_92",
"source_port_102",
"source_trace_31",
"source_port_90",
"source_port_152",
"pcb_port_90",
"pcb_smtpad_102",
"pcb_port_102",
"pcb_smtpad_112",
"pcb_port_112",
"pcb_smtpad_148",
"pcb_port_152"
],
offBoardConnectsTo: [
"source_component_internal_connection_1"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_37",
pcb_port_id: "pcb_port_89",
source_port_name: "QSPI_SD1"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -11.325148,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_37",
"connectivity_net79",
"source_trace_33",
"source_port_89",
"source_port_153",
"pcb_port_89",
"pcb_smtpad_149",
"pcb_port_153"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_38",
pcb_port_id: "pcb_port_88",
source_port_name: "QSPI_SD2"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -10.925098,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_38",
"connectivity_net82",
"source_trace_34",
"source_port_88",
"source_port_154",
"pcb_port_88",
"pcb_smtpad_150",
"pcb_port_154"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_39",
pcb_port_id: "pcb_port_87",
source_port_name: "QSPI_SD0"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -10.525048,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_39",
"connectivity_net76",
"source_trace_32",
"source_port_87",
"source_port_156",
"pcb_port_87",
"pcb_smtpad_155",
"pcb_port_156"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_40",
pcb_port_id: "pcb_port_86",
source_port_name: "QSPI_SCLK"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -10.124998,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_40",
"connectivity_net88",
"source_trace_36",
"source_port_86",
"source_port_157",
"pcb_port_86",
"pcb_smtpad_154",
"pcb_port_157"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_41",
pcb_port_id: "pcb_port_85",
source_port_name: "QSPI_SD3"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -9.724948,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_41",
"connectivity_net85",
"source_trace_35",
"source_port_85",
"source_port_158",
"pcb_port_85",
"pcb_smtpad_153",
"pcb_port_158"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_42",
pcb_port_id: "pcb_port_84",
source_port_name: "DVDD1"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -9.325152,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_42",
"connectivity_net114",
"source_trace_48",
"source_trace_47",
"source_port_57",
"source_trace_46",
"source_trace_45",
"source_port_79",
"source_port_92",
"source_trace_44",
"source_trace_43",
"source_port_94",
"source_port_84",
"source_net_11",
"source_port_96",
"pcb_smtpad_69",
"pcb_port_57",
"pcb_smtpad_47",
"pcb_port_79",
"pcb_port_84",
"pcb_smtpad_92",
"pcb_port_92",
"pcb_smtpad_94",
"pcb_port_94",
"pcb_smtpad_96",
"pcb_port_96"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_43",
pcb_port_id: "pcb_port_83",
source_port_name: "IOVDD1"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -8.925102,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_43",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_44",
pcb_port_id: "pcb_port_82",
source_port_name: "USB_VDD"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -8.525052,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_44",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_45",
pcb_port_id: "pcb_port_81",
source_port_name: "USB_DP"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -8.125002,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_45",
"connectivity_net129",
"source_trace_56",
"source_port_151",
"source_port_81",
"pcb_port_81",
"pcb_smtpad_147",
"pcb_port_151"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_46",
pcb_port_id: "pcb_port_80",
source_port_name: "USB_DM"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -7.724952,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_46",
"connectivity_net126",
"source_trace_55",
"source_port_149",
"source_port_80",
"pcb_port_80",
"pcb_smtpad_145",
"pcb_port_149"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_47",
pcb_port_id: "pcb_port_79",
source_port_name: "VREG_VOUT"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -7.325156,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_47",
"connectivity_net114",
"source_trace_48",
"source_trace_47",
"source_port_57",
"source_trace_46",
"source_trace_45",
"source_port_79",
"source_port_92",
"source_trace_44",
"source_trace_43",
"source_port_94",
"source_port_84",
"source_net_11",
"source_port_96",
"pcb_smtpad_69",
"pcb_port_57",
"pcb_port_79",
"pcb_smtpad_42",
"pcb_port_84",
"pcb_smtpad_92",
"pcb_port_92",
"pcb_smtpad_94",
"pcb_port_94",
"pcb_smtpad_96",
"pcb_port_96"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_48",
pcb_port_id: "pcb_port_78",
source_port_name: "VREG_IN"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -6.9251059999999995,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_48",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_49",
pcb_port_id: "pcb_port_77",
source_port_name: "ADC_AVDD"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -6.525056,
y: -1.8249369999999998
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_49",
"connectivity_net178",
"source_trace_79",
"source_port_77",
"source_trace_78",
"source_port_99",
"source_trace_29",
"source_port_33",
"source_net_10",
"pcb_smtpad_33",
"pcb_port_33",
"pcb_port_77",
"pcb_smtpad_99",
"pcb_port_99"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_50",
pcb_port_id: "pcb_port_76",
source_port_name: "IOVDD2"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -2.649929
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_50",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_51",
pcb_port_id: "pcb_port_75",
source_port_name: "GPIO29_ADC3"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -3.049979
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_51",
"connectivity_net581",
"source_trace_265",
"source_trace_264",
"source_port_371",
"source_port_75",
"source_port_372",
"pcb_port_75",
"pcb_smtpad_325",
"pcb_port_371",
"pcb_smtpad_326",
"pcb_port_372"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_52",
pcb_port_id: "pcb_port_74",
source_port_name: "GPIO28_ADC2"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -3.450029
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_52",
"connectivity_net550",
"source_trace_251",
"source_trace_250",
"source_port_353",
"source_port_74",
"source_port_354",
"pcb_port_74",
"pcb_smtpad_307",
"pcb_port_353",
"pcb_smtpad_308",
"pcb_port_354"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_53",
pcb_port_id: "pcb_port_73",
source_port_name: "GPIO27_ADC1"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -3.850079
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_53",
"connectivity_net496",
"source_trace_227",
"source_trace_200",
"source_port_312",
"source_trace_194",
"source_port_73",
"source_port_302",
"source_net_6",
"pcb_port_73",
"pcb_smtpad_263",
"pcb_port_302",
"pcb_smtpad_270",
"pcb_port_312"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_54",
pcb_port_id: "pcb_port_72",
source_port_name: "GPIO26_ADC0"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -4.249875
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_54",
"connectivity_net494",
"source_trace_226",
"source_trace_199",
"source_port_310",
"source_trace_193",
"source_port_72",
"source_port_307",
"source_net_5",
"pcb_port_72",
"pcb_smtpad_265",
"pcb_port_307",
"pcb_smtpad_268",
"pcb_port_310"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_55",
pcb_port_id: "pcb_port_71",
source_port_name: "GPIO25"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -4.649925
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_55",
"connectivity_net595",
"source_trace_271",
"source_port_71",
"source_port_382",
"pcb_port_71",
"pcb_smtpad_336",
"pcb_port_382"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_56",
pcb_port_id: "pcb_port_70",
source_port_name: "GPIO24"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -5.049975
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_56",
"connectivity_net1528",
"source_port_70",
"pcb_port_70"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_57",
pcb_port_id: "pcb_port_69",
source_port_name: "GPIO23"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -5.450025
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_57",
"connectivity_net434",
"source_trace_191",
"source_port_248",
"source_trace_140",
"source_port_69",
"source_port_184",
"pcb_port_69",
"pcb_smtpad_181",
"pcb_port_184",
"pcb_smtpad_214",
"pcb_port_248"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_58",
pcb_port_id: "pcb_port_68",
source_port_name: "GPIO22"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -5.850075
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_58",
"connectivity_net492",
"source_trace_225",
"source_trace_201",
"source_port_314",
"source_trace_139",
"source_port_68",
"source_port_251",
"source_net_4",
"pcb_port_68",
"pcb_smtpad_216",
"pcb_port_251",
"pcb_smtpad_272",
"pcb_port_314"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_59",
pcb_port_id: "pcb_port_67",
source_port_name: "IOVDD3"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -6.249871
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_59",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_60",
pcb_port_id: "pcb_port_66",
source_port_name: "GPIO21"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -6.649921
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_60",
"connectivity_net312",
"source_trace_138",
"source_port_66",
"source_trace_127",
"source_port_187",
"source_port_236",
"pcb_port_66",
"pcb_smtpad_178",
"pcb_port_187",
"pcb_smtpad_202",
"pcb_port_236"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_61",
pcb_port_id: "pcb_port_65",
source_port_name: "GPIO20"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -7.049971
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_61",
"connectivity_net1576",
"pcb_trace_7",
"pcb_via_2",
"pcb_port_165",
"pcb_port_166",
"source_trace_224",
"source_trace_137",
"source_trace_134",
"source_trace_133",
"source_port_65",
"source_port_165",
"source_port_166",
"source_port_182",
"source_net_3",
"pcb_port_65",
"pcb_smtpad_183",
"pcb_port_182"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_62",
pcb_port_id: "pcb_port_64",
source_port_name: "GPIO19"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -7.450021
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_62",
"connectivity_net1575",
"pcb_trace_6",
"pcb_via_1",
"pcb_port_163",
"pcb_port_164",
"source_trace_223",
"source_trace_136",
"source_trace_132",
"source_trace_131",
"source_port_64",
"source_port_163",
"source_port_164",
"source_port_186",
"source_net_2",
"pcb_port_64",
"pcb_smtpad_179",
"pcb_port_186"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_63",
pcb_port_id: "pcb_port_63",
source_port_name: "GPIO18"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -5.700063999999999,
y: -7.850071
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_63",
"connectivity_net1574",
"pcb_trace_5",
"pcb_via_0",
"pcb_port_161",
"pcb_port_162",
"source_trace_222",
"source_trace_135",
"source_trace_130",
"source_trace_129",
"source_port_63",
"source_port_161",
"source_port_162",
"source_port_188",
"source_net_1",
"pcb_port_63",
"pcb_smtpad_177",
"pcb_port_188"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_64",
pcb_port_id: "pcb_port_62",
source_port_name: "GPIO17"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -6.525056,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_64",
"connectivity_net1527",
"source_port_62",
"pcb_port_62"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_65",
pcb_port_id: "pcb_port_61",
source_port_name: "GPIO16"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -6.9251059999999995,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_65",
"connectivity_net498",
"source_trace_228",
"source_port_61",
"source_port_332",
"pcb_port_61",
"pcb_smtpad_286",
"pcb_port_332"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_66",
pcb_port_id: "pcb_port_60",
source_port_name: "RUN"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -7.325156,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_66",
"connectivity_net214",
"source_trace_96",
"source_port_106",
"source_trace_18",
"source_port_100",
"source_port_60",
"pcb_port_60",
"pcb_smtpad_100",
"pcb_port_100",
"pcb_smtpad_106",
"pcb_port_106"
],
offBoardConnectsTo: [
"source_component_internal_connection_3"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_67",
pcb_port_id: "pcb_port_59",
source_port_name: "SWD"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -7.724952,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_67",
"connectivity_net228",
"source_trace_102",
"source_port_59",
"source_port_118",
"pcb_port_59",
"pcb_smtpad_118",
"pcb_port_118"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_68",
pcb_port_id: "pcb_port_58",
source_port_name: "SWCLK"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -8.125002,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_68",
"connectivity_net225",
"source_trace_101",
"source_port_58",
"source_port_116",
"pcb_port_58",
"pcb_smtpad_116",
"pcb_port_116"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_69",
pcb_port_id: "pcb_port_57",
source_port_name: "DVDD2"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -8.525052,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_69",
"connectivity_net114",
"source_trace_48",
"source_trace_47",
"source_port_57",
"source_trace_46",
"source_trace_45",
"source_port_79",
"source_port_92",
"source_trace_44",
"source_trace_43",
"source_port_94",
"source_port_84",
"source_net_11",
"source_port_96",
"pcb_port_57",
"pcb_smtpad_47",
"pcb_port_79",
"pcb_smtpad_42",
"pcb_port_84",
"pcb_smtpad_92",
"pcb_port_92",
"pcb_smtpad_94",
"pcb_port_94",
"pcb_smtpad_96",
"pcb_port_96"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_70",
pcb_port_id: "pcb_port_56",
source_port_name: "IOVDD4"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -8.925102,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_70",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_71",
pcb_port_id: "pcb_port_55",
source_port_name: "XOUT"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -9.325152,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_71",
"connectivity_net1571",
"pcb_trace_2",
"source_trace_85",
"source_port_9",
"source_port_55",
"pcb_smtpad_9",
"pcb_port_9",
"pcb_port_55"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_72",
pcb_port_id: "pcb_port_54",
source_port_name: "XIN"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -9.724948,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_72",
"connectivity_net1572",
"pcb_trace_3",
"pcb_trace_0",
"source_trace_86",
"source_port_4",
"source_trace_83",
"source_port_0",
"source_port_54",
"pcb_smtpad_0",
"pcb_port_0",
"pcb_smtpad_4",
"pcb_port_4",
"pcb_port_54"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_73",
pcb_port_id: "pcb_port_53",
source_port_name: "TESTEN"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -10.124998,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_73",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_74",
pcb_port_id: "pcb_port_52",
source_port_name: "GPIO15"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -10.525048,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_74",
"connectivity_net1526",
"source_port_52",
"pcb_port_52"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_75",
pcb_port_id: "pcb_port_51",
source_port_name: "GPIO14"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -10.925098,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_75",
"connectivity_net1525",
"source_port_51",
"pcb_port_51"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_76",
pcb_port_id: "pcb_port_50",
source_port_name: "GPIO13"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -11.325148,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_76",
"connectivity_net1524",
"source_port_50",
"pcb_port_50"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_77",
pcb_port_id: "pcb_port_49",
source_port_name: "GPIO12"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -11.724944,
y: -8.675063
},
width: 0.1999996,
height: 0.850011,
connectedTo: [
"pcb_smtpad_77",
"connectivity_net1523",
"source_port_49",
"pcb_port_49"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_78",
pcb_port_id: "pcb_port_48",
source_port_name: "GPIO11"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -7.850071
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_78",
"connectivity_net1522",
"source_port_48",
"pcb_port_48"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_79",
pcb_port_id: "pcb_port_47",
source_port_name: "GPIO10"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -7.450021
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_79",
"connectivity_net1521",
"source_port_47",
"pcb_port_47"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_80",
pcb_port_id: "pcb_port_46",
source_port_name: "GPIO9"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -7.049971
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_80",
"connectivity_net1520",
"source_port_46",
"pcb_port_46"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_81",
pcb_port_id: "pcb_port_45",
source_port_name: "GPIO8"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -6.649921
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_81",
"connectivity_net1519",
"source_port_45",
"pcb_port_45"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_82",
pcb_port_id: "pcb_port_44",
source_port_name: "IOVDD5"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -6.249871
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_82",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_83",
pcb_port_id: "pcb_port_43",
source_port_name: "GPIO7"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -5.850075
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_83",
"connectivity_net1518",
"source_port_43",
"pcb_port_43"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_84",
pcb_port_id: "pcb_port_42",
source_port_name: "GPIO6"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -5.450025
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_84",
"connectivity_net680",
"source_trace_307",
"source_port_42",
"source_port_417",
"pcb_port_42",
"pcb_smtpad_370",
"pcb_port_417"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_85",
pcb_port_id: "pcb_port_41",
source_port_name: "GPIO5"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -5.049975
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_85",
"connectivity_net668",
"source_trace_302",
"source_port_41",
"source_port_412",
"pcb_port_41",
"pcb_smtpad_365",
"pcb_port_412"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_86",
pcb_port_id: "pcb_port_40",
source_port_name: "GPIO4"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -4.649925
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_86",
"connectivity_net656",
"source_trace_297",
"source_port_40",
"source_port_407",
"pcb_port_40",
"pcb_smtpad_360",
"pcb_port_407"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_87",
pcb_port_id: "pcb_port_39",
source_port_name: "GPIO3"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -4.249875
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_87",
"connectivity_net617",
"source_trace_279",
"source_port_39",
"source_port_392",
"pcb_port_39",
"pcb_smtpad_346",
"pcb_port_392"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_88",
pcb_port_id: "pcb_port_38",
source_port_name: "GPIO2"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -3.850079
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_88",
"connectivity_net606",
"source_trace_275",
"source_port_38",
"source_port_387",
"pcb_port_38",
"pcb_smtpad_341",
"pcb_port_387"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_89",
pcb_port_id: "pcb_port_37",
source_port_name: "GPIO1"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -3.450029
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_89",
"connectivity_net652",
"source_trace_295",
"source_port_403",
"source_trace_284",
"source_port_37",
"source_port_399",
"pcb_port_37",
"pcb_smtpad_352",
"pcb_port_399",
"pcb_smtpad_357",
"pcb_port_403"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_90",
pcb_port_id: "pcb_port_36",
source_port_name: "GPIO0"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -3.049979
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_90",
"connectivity_net648",
"source_trace_293",
"source_port_401",
"source_trace_283",
"source_port_36",
"source_port_398",
"pcb_port_36",
"pcb_smtpad_353",
"pcb_port_398",
"pcb_smtpad_355",
"pcb_port_401"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_91",
pcb_port_id: "pcb_port_35",
source_port_name: "IOVDD6"
},
componentId: "pcb_component_15",
type: "rect",
layers: [
"top"
],
center: {
x: -12.549936,
y: -2.649929
},
width: 0.850011,
height: 0.1999996,
connectedTo: [
"pcb_smtpad_91",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_92",
pcb_port_id: "pcb_port_92",
source_port_name: "pin1"
},
componentId: "pcb_component_16",
type: "rect",
layers: [
"top"
],
center: {
x: -7.525,
y: -0.35999999999999965
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_92",
"connectivity_net114",
"source_trace_48",
"source_trace_47",
"source_port_57",
"source_trace_46",
"source_trace_45",
"source_port_79",
"source_port_92",
"source_trace_44",
"source_trace_43",
"source_port_94",
"source_port_84",
"source_net_11",
"source_port_96",
"pcb_smtpad_69",
"pcb_port_57",
"pcb_smtpad_47",
"pcb_port_79",
"pcb_smtpad_42",
"pcb_port_84",
"pcb_port_92",
"pcb_smtpad_94",
"pcb_port_94",
"pcb_smtpad_96",
"pcb_port_96"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_93",
pcb_port_id: "pcb_port_93",
source_port_name: "pin2"
},
componentId: "pcb_component_16",
type: "rect",
layers: [
"top"
],
center: {
x: -7.525,
y: 0.6600000000000004
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_93",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_94",
pcb_port_id: "pcb_port_94",
source_port_name: "pin1"
},
componentId: "pcb_component_17",
type: "rect",
layers: [
"top"
],
center: {
x: -9.925,
y: -0.5599999999999998
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_94",
"connectivity_net114",
"source_trace_48",
"source_trace_47",
"source_port_57",
"source_trace_46",
"source_trace_45",
"source_port_79",
"source_port_92",
"source_trace_44",
"source_trace_43",
"source_port_94",
"source_port_84",
"source_net_11",
"source_port_96",
"pcb_smtpad_69",
"pcb_port_57",
"pcb_smtpad_47",
"pcb_port_79",
"pcb_smtpad_42",
"pcb_port_84",
"pcb_smtpad_92",
"pcb_port_92",
"pcb_port_94",
"pcb_smtpad_96",
"pcb_port_96"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_95",
pcb_port_id: "pcb_port_95",
source_port_name: "pin2"
},
componentId: "pcb_component_17",
type: "rect",
layers: [
"top"
],
center: {
x: -9.925,
y: 0.4600000000000002
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_95",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_96",
pcb_port_id: "pcb_port_96",
source_port_name: "pin1"
},
componentId: "pcb_component_18",
type: "rect",
layers: [
"top"
],
center: {
x: -6.835,
y: -10.25
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_96",
"connectivity_net114",
"source_trace_48",
"source_trace_47",
"source_port_57",
"source_trace_46",
"source_trace_45",
"source_port_79",
"source_port_92",
"source_trace_44",
"source_trace_43",
"source_port_94",
"source_port_84",
"source_net_11",
"source_port_96",
"pcb_smtpad_69",
"pcb_port_57",
"pcb_smtpad_47",
"pcb_port_79",
"pcb_smtpad_42",
"pcb_port_84",
"pcb_smtpad_92",
"pcb_port_92",
"pcb_smtpad_94",
"pcb_port_94",
"pcb_port_96"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_97",
pcb_port_id: "pcb_port_97",
source_port_name: "pin2"
},
componentId: "pcb_component_18",
type: "rect",
layers: [
"top"
],
center: {
x: -5.815,
y: -10.25
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_97",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_98",
pcb_port_id: "pcb_port_98",
source_port_name: "pin1"
},
componentId: "pcb_component_19",
type: "rect",
layers: [
"top"
],
center: {
x: -8.449897,
y: 1.75
},
width: 0.7999984,
height: 0.8640064,
connectedTo: [
"pcb_smtpad_98",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_99",
pcb_port_id: "pcb_port_99",
source_port_name: "pin2"
},
componentId: "pcb_component_19",
type: "rect",
layers: [
"top"
],
center: {
x: -7.050103,
y: 1.75
},
width: 0.7999984,
height: 0.8640064,
connectedTo: [
"pcb_smtpad_99",
"connectivity_net178",
"source_trace_79",
"source_port_77",
"source_trace_78",
"source_port_99",
"source_trace_29",
"source_port_33",
"source_net_10",
"pcb_smtpad_33",
"pcb_port_33",
"pcb_smtpad_49",
"pcb_port_77",
"pcb_port_99"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_100",
pcb_port_id: "pcb_port_100",
source_port_name: "pin1"
},
componentId: "pcb_component_20",
type: "rect",
layers: [
"top"
],
center: {
x: -3.51,
y: -12
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_100",
"connectivity_net214",
"source_trace_96",
"source_port_106",
"source_trace_18",
"source_port_100",
"source_port_60",
"pcb_smtpad_66",
"pcb_port_60",
"pcb_port_100",
"pcb_smtpad_106",
"pcb_port_106"
],
offBoardConnectsTo: [
"source_component_internal_connection_3"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_101",
pcb_port_id: "pcb_port_101",
source_port_name: "pin2"
},
componentId: "pcb_component_20",
type: "rect",
layers: [
"top"
],
center: {
x: -2.49,
y: -12
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_101",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_102",
pcb_port_id: "pcb_port_102",
source_port_name: "pin1"
},
componentId: "pcb_component_21",
type: "rect",
layers: [
"top"
],
center: {
x: -3.85,
y: 11.825
},
width: 1.05,
height: 0.7,
connectedTo: [
"pcb_smtpad_102",
"connectivity_net210",
"source_trace_94",
"source_port_112",
"source_trace_92",
"source_port_102",
"source_trace_31",
"source_port_90",
"source_port_152",
"pcb_smtpad_36",
"pcb_port_90",
"pcb_port_102",
"pcb_smtpad_112",
"pcb_port_112",
"pcb_smtpad_148",
"pcb_port_152"
],
offBoardConnectsTo: [
"source_component_internal_connection_1"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_103",
pcb_port_id: "pcb_port_103",
source_port_name: "pin2"
},
componentId: "pcb_component_21",
type: "rect",
layers: [
"top"
],
center: {
x: 0.3500000000000001,
y: 11.825
},
width: 1.05,
height: 0.7,
connectedTo: [
"pcb_smtpad_103",
"connectivity_net1529",
"source_port_103",
"pcb_port_103"
],
offBoardConnectsTo: [
"source_component_internal_connection_1"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_104",
pcb_port_id: "pcb_port_104",
source_port_name: "pin3"
},
componentId: "pcb_component_21",
type: "rect",
layers: [
"top"
],
center: {
x: -3.85,
y: 9.675
},
width: 1.05,
height: 0.7,
connectedTo: [
"pcb_smtpad_104",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_2"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_105",
pcb_port_id: "pcb_port_105",
source_port_name: "pin4"
},
componentId: "pcb_component_21",
type: "rect",
layers: [
"top"
],
center: {
x: 0.3500000000000001,
y: 9.675
},
width: 1.05,
height: 0.7,
connectedTo: [
"pcb_smtpad_105",
"connectivity_net1530",
"source_port_105",
"pcb_port_105"
],
offBoardConnectsTo: [
"source_component_internal_connection_2"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_106",
pcb_port_id: "pcb_port_106",
source_port_name: "pin1"
},
componentId: "pcb_component_22",
type: "rect",
layers: [
"top"
],
center: {
x: -7.1,
y: -13.425
},
width: 1.05,
height: 0.7,
connectedTo: [
"pcb_smtpad_106",
"connectivity_net214",
"source_trace_96",
"source_port_106",
"source_trace_18",
"source_port_100",
"source_port_60",
"pcb_smtpad_66",
"pcb_port_60",
"pcb_smtpad_100",
"pcb_port_100",
"pcb_port_106"
],
offBoardConnectsTo: [
"source_component_internal_connection_3"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_107",
pcb_port_id: "pcb_port_107",
source_port_name: "pin2"
},
componentId: "pcb_component_22",
type: "rect",
layers: [
"top"
],
center: {
x: -2.9,
y: -13.425
},
width: 1.05,
height: 0.7,
connectedTo: [
"pcb_smtpad_107",
"connectivity_net1531",
"source_port_107",
"pcb_port_107"
],
offBoardConnectsTo: [
"source_component_internal_connection_3"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_108",
pcb_port_id: "pcb_port_108",
source_port_name: "pin3"
},
componentId: "pcb_component_22",
type: "rect",
layers: [
"top"
],
center: {
x: -7.1,
y: -15.575
},
width: 1.05,
height: 0.7,
connectedTo: [
"pcb_smtpad_108",
"connectivity_net1532",
"source_port_108",
"pcb_port_108"
],
offBoardConnectsTo: [
"source_component_internal_connection_4"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_109",
pcb_port_id: "pcb_port_109",
source_port_name: "pin4"
},
componentId: "pcb_component_22",
type: "rect",
layers: [
"top"
],
center: {
x: -2.9,
y: -15.575
},
width: 1.05,
height: 0.7,
connectedTo: [
"pcb_smtpad_109",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_4"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_110",
pcb_port_id: "pcb_port_110",
source_port_name: "cathode"
},
componentId: "pcb_component_23",
type: "rect",
layers: [
"top"
],
center: {
x: -18.749,
y: 11.5
},
width: 0.8,
height: 0.8,
connectedTo: [
"pcb_smtpad_110",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_111",
pcb_port_id: "pcb_port_111",
source_port_name: "anode"
},
componentId: "pcb_component_23",
type: "rect",
layers: [
"top"
],
center: {
x: -17.251,
y: 11.5
},
width: 0.8,
height: 0.8,
connectedTo: [
"pcb_smtpad_111",
"connectivity_net220",
"source_trace_99",
"source_port_115",
"source_port_111",
"pcb_port_111",
"pcb_smtpad_115",
"pcb_port_115"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_112",
pcb_port_id: "pcb_port_112",
source_port_name: "pin1"
},
componentId: "pcb_component_24",
type: "rect",
layers: [
"top"
],
center: {
x: -12,
y: 13.49
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_112",
"connectivity_net210",
"source_trace_94",
"source_port_112",
"source_trace_92",
"source_port_102",
"source_trace_31",
"source_port_90",
"source_port_152",
"pcb_smtpad_36",
"pcb_port_90",
"pcb_smtpad_102",
"pcb_port_102",
"pcb_port_112",
"pcb_smtpad_148",
"pcb_port_152"
],
offBoardConnectsTo: [
"source_component_internal_connection_1"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_113",
pcb_port_id: "pcb_port_113",
source_port_name: "pin2"
},
componentId: "pcb_component_24",
type: "rect",
layers: [
"top"
],
center: {
x: -12,
y: 14.51
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_113",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_114",
pcb_port_id: "pcb_port_114",
source_port_name: "pin1"
},
componentId: "pcb_component_25",
type: "rect",
layers: [
"top"
],
center: {
x: -19.5,
y: 12.49
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_114",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_115",
pcb_port_id: "pcb_port_115",
source_port_name: "pin2"
},
componentId: "pcb_component_25",
type: "rect",
layers: [
"top"
],
center: {
x: -19.5,
y: 13.51
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_115",
"connectivity_net220",
"source_trace_99",
"source_port_115",
"source_port_111",
"pcb_smtpad_111",
"pcb_port_111",
"pcb_port_115"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_116",
pcb_port_id: "pcb_port_116",
source_port_name: "pin1"
},
componentId: "pcb_component_26",
type: "rect",
shape: "circle",
layers: [
"top"
],
center: {
x: -7.5,
y: -20
},
width: 1.1,
height: 1.1,
connectedTo: [
"pcb_smtpad_116",
"connectivity_net225",
"source_trace_101",
"source_port_58",
"source_port_116",
"pcb_smtpad_68",
"pcb_port_58",
"pcb_port_116"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_117",
pcb_port_id: "pcb_port_117",
source_port_name: "pin1"
},
componentId: "pcb_component_27",
type: "rect",
shape: "circle",
layers: [
"top"
],
center: {
x: -10,
y: -20
},
width: 1.1,
height: 1.1,
connectedTo: [
"pcb_smtpad_117",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_118",
pcb_port_id: "pcb_port_118",
source_port_name: "pin1"
},
componentId: "pcb_component_28",
type: "rect",
shape: "circle",
layers: [
"top"
],
center: {
x: -5,
y: -19
},
width: 1.1,
height: 1.1,
connectedTo: [
"pcb_smtpad_118",
"connectivity_net228",
"source_trace_102",
"source_port_59",
"source_port_118",
"pcb_smtpad_67",
"pcb_port_59",
"pcb_port_118"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_119",
pcb_port_id: "pcb_port_119",
source_port_name: "pin1"
},
componentId: "pcb_component_29",
type: "rect",
shape: "circle",
layers: [
"top"
],
center: {
x: -4,
y: -17.5
},
width: 1.1,
height: 1.1,
connectedTo: [
"pcb_smtpad_119",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_120",
pcb_port_id: "pcb_port_120",
source_port_name: "pin1"
},
componentId: "pcb_component_30",
type: "rect",
layers: [
"top"
],
center: {
x: -9.525,
y: 2.66
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_120",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_121",
pcb_port_id: "pcb_port_121",
source_port_name: "pin2"
},
componentId: "pcb_component_30",
type: "rect",
layers: [
"top"
],
center: {
x: -9.525,
y: 1.6400000000000003
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_121",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_122",
pcb_port_id: "pcb_port_122",
source_port_name: "pin1"
},
componentId: "pcb_component_31",
type: "rect",
layers: [
"top"
],
center: {
x: -8.725,
y: -0.5599999999999998
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_122",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_123",
pcb_port_id: "pcb_port_123",
source_port_name: "pin2"
},
componentId: "pcb_component_31",
type: "rect",
layers: [
"top"
],
center: {
x: -8.725,
y: 0.4600000000000002
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_123",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_124",
pcb_port_id: "pcb_port_124",
source_port_name: "pin1"
},
componentId: "pcb_component_32",
type: "rect",
layers: [
"top"
],
center: {
x: -14.825,
y: 5
},
width: 0.8,
height: 0.95,
connectedTo: [
"pcb_smtpad_124",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_125",
pcb_port_id: "pcb_port_125",
source_port_name: "pin2"
},
componentId: "pcb_component_32",
type: "rect",
layers: [
"top"
],
center: {
x: -13.175,
y: 5
},
width: 0.8,
height: 0.95,
connectedTo: [
"pcb_smtpad_125",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_126",
pcb_port_id: "pcb_port_126",
source_port_name: "pin1"
},
componentId: "pcb_component_33",
type: "rect",
layers: [
"top"
],
center: {
x: -6.325,
y: -0.5599999999999998
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_126",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_127",
pcb_port_id: "pcb_port_127",
source_port_name: "pin2"
},
componentId: "pcb_component_33",
type: "rect",
layers: [
"top"
],
center: {
x: -6.325,
y: 0.4600000000000002
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_127",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_128",
pcb_port_id: "pcb_port_134",
source_port_name: "B8"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top"
],
center: {
x: -4.2499400000000005,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_128",
"connectivity_net1533",
"source_port_134",
"pcb_port_134"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_129",
pcb_port_id: "pcb_port_135",
source_port_name: "A5"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top"
],
center: {
x: -4.750066,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_129",
"connectivity_net132",
"source_trace_57",
"source_port_135",
"source_port_144",
"pcb_port_135",
"pcb_smtpad_140",
"pcb_port_144"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_130",
pcb_port_id: "pcb_port_136",
source_port_name: "B7"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top"
],
center: {
x: -5.249938,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_130",
"connectivity_net8",
"source_trace_3",
"source_trace_2",
"source_port_138",
"source_port_136",
"source_port_148",
"pcb_port_136",
"pcb_smtpad_132",
"pcb_port_138",
"pcb_smtpad_144",
"pcb_port_148"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_131",
pcb_port_id: "pcb_port_137",
source_port_name: "A6"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top"
],
center: {
x: -5.750064,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_131",
"connectivity_net13",
"source_trace_5",
"source_trace_4",
"source_port_137",
"source_port_139",
"source_port_150",
"pcb_port_137",
"pcb_smtpad_133",
"pcb_port_139",
"pcb_smtpad_146",
"pcb_port_150"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_132",
pcb_port_id: "pcb_port_138",
source_port_name: "A7"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top"
],
center: {
x: -6.249936,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_132",
"connectivity_net8",
"source_trace_3",
"source_trace_2",
"source_port_138",
"source_port_136",
"source_port_148",
"pcb_smtpad_130",
"pcb_port_136",
"pcb_port_138",
"pcb_smtpad_144",
"pcb_port_148"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_133",
pcb_port_id: "pcb_port_139",
source_port_name: "B6"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top"
],
center: {
x: -6.750062,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_133",
"connectivity_net13",
"source_trace_5",
"source_trace_4",
"source_port_137",
"source_port_139",
"source_port_150",
"pcb_smtpad_131",
"pcb_port_137",
"pcb_port_139",
"pcb_smtpad_146",
"pcb_port_150"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_134",
pcb_port_id: "pcb_port_140",
source_port_name: "A8"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top"
],
center: {
x: -7.24968,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_134",
"connectivity_net1534",
"source_port_140",
"pcb_port_140"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_135",
pcb_port_id: "pcb_port_141",
source_port_name: "B5"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top"
],
center: {
x: -7.75006,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_135",
"connectivity_net135",
"source_trace_58",
"source_port_141",
"source_port_146",
"pcb_port_141",
"pcb_smtpad_142",
"pcb_port_146"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_136",
pcb_port_id: "pcb_port_132",
source_port_name: "A1B12"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top"
],
center: {
x: -2.8000445000000003,
y: 14.5259568
},
width: 0.5999734000000005,
height: 1.3001752,
connectedTo: [
"pcb_smtpad_136",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_137",
pcb_port_id: "pcb_port_143",
source_port_name: "B1A12"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top"
],
center: {
x: -9.2000063,
y: 14.5258552
},
width: 0.6000242,
height: 1.2999720000000003,
connectedTo: [
"pcb_smtpad_137",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_138",
pcb_port_id: "pcb_port_142",
source_port_name: "B4A9"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top"
],
center: {
x: -8.4001603,
y: 14.525855199999999
},
width: 0.6000242,
height: 1.2999719999999986,
connectedTo: [
"pcb_smtpad_138",
"connectivity_net585",
"source_trace_267",
"source_trace_67",
"source_port_19",
"source_trace_54",
"source_port_142",
"source_trace_53",
"source_port_133",
"source_trace_6",
"source_port_11",
"source_net_7",
"source_port_374",
"pcb_smtpad_11",
"pcb_port_11",
"pcb_smtpad_19",
"pcb_port_19",
"pcb_smtpad_139",
"pcb_port_133",
"pcb_port_142",
"pcb_smtpad_328",
"pcb_port_374"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_139",
pcb_port_id: "pcb_port_133",
source_port_name: "A4B9"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top"
],
center: {
x: -3.6000429,
y: 14.526020299999999
},
width: 0.5999734000000001,
height: 1.2999974000000005,
connectedTo: [
"pcb_smtpad_139",
"connectivity_net585",
"source_trace_267",
"source_trace_67",
"source_port_19",
"source_trace_54",
"source_port_142",
"source_trace_53",
"source_port_133",
"source_trace_6",
"source_port_11",
"source_net_7",
"source_port_374",
"pcb_smtpad_11",
"pcb_port_11",
"pcb_smtpad_19",
"pcb_port_19",
"pcb_port_133",
"pcb_smtpad_138",
"pcb_port_142",
"pcb_smtpad_328",
"pcb_port_374"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_140",
pcb_port_id: "pcb_port_144",
source_port_name: "pin1"
},
componentId: "pcb_component_35",
type: "rect",
layers: [
"top"
],
center: {
x: -9.01,
y: 11
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_140",
"connectivity_net132",
"source_trace_57",
"source_port_135",
"source_port_144",
"pcb_smtpad_129",
"pcb_port_135",
"pcb_port_144"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_141",
pcb_port_id: "pcb_port_145",
source_port_name: "pin2"
},
componentId: "pcb_component_35",
type: "rect",
layers: [
"top"
],
center: {
x: -7.99,
y: 11
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_141",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_142",
pcb_port_id: "pcb_port_146",
source_port_name: "pin1"
},
componentId: "pcb_component_36",
type: "rect",
layers: [
"top"
],
center: {
x: -9.01,
y: 12.3
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_142",
"connectivity_net135",
"source_trace_58",
"source_port_141",
"source_port_146",
"pcb_smtpad_135",
"pcb_port_141",
"pcb_port_146"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_143",
pcb_port_id: "pcb_port_147",
source_port_name: "pin2"
},
componentId: "pcb_component_36",
type: "rect",
layers: [
"top"
],
center: {
x: -7.99,
y: 12.3
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_143",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_144",
pcb_port_id: "pcb_port_148",
source_port_name: "pin1"
},
componentId: "pcb_component_37",
type: "rect",
layers: [
"top"
],
center: {
x: -4.315,
y: -0.3499999999999997
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_144",
"connectivity_net8",
"source_trace_3",
"source_trace_2",
"source_port_138",
"source_port_136",
"source_port_148",
"pcb_smtpad_130",
"pcb_port_136",
"pcb_smtpad_132",
"pcb_port_138",
"pcb_port_148"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_145",
pcb_port_id: "pcb_port_149",
source_port_name: "pin2"
},
componentId: "pcb_component_37",
type: "rect",
layers: [
"top"
],
center: {
x: -5.335,
y: -0.3499999999999996
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_145",
"connectivity_net126",
"source_trace_55",
"source_port_149",
"source_port_80",
"pcb_smtpad_46",
"pcb_port_80",
"pcb_port_149"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_146",
pcb_port_id: "pcb_port_150",
source_port_name: "pin1"
},
componentId: "pcb_component_38",
type: "rect",
layers: [
"top"
],
center: {
x: -4.315,
y: 0.9500000000000001
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_146",
"connectivity_net13",
"source_trace_5",
"source_trace_4",
"source_port_137",
"source_port_139",
"source_port_150",
"pcb_smtpad_131",
"pcb_port_137",
"pcb_smtpad_133",
"pcb_port_139",
"pcb_port_150"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_147",
pcb_port_id: "pcb_port_151",
source_port_name: "pin2"
},
componentId: "pcb_component_38",
type: "rect",
layers: [
"top"
],
center: {
x: -5.335,
y: 0.9500000000000003
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_147",
"connectivity_net129",
"source_trace_56",
"source_port_151",
"source_port_81",
"pcb_smtpad_45",
"pcb_port_81",
"pcb_port_151"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_148",
pcb_port_id: "pcb_port_152",
source_port_name: "CS"
},
componentId: "pcb_component_39",
type: "rect",
layers: [
"top"
],
center: {
x: -13.63249,
y: 3.250062
},
width: 0.5999988,
height: 0.2800096,
connectedTo: [
"pcb_smtpad_148",
"connectivity_net210",
"source_trace_94",
"source_port_112",
"source_trace_92",
"source_port_102",
"source_trace_31",
"source_port_90",
"source_port_152",
"pcb_smtpad_36",
"pcb_port_90",
"pcb_smtpad_102",
"pcb_port_102",
"pcb_smtpad_112",
"pcb_port_112",
"pcb_port_152"
],
offBoardConnectsTo: [
"source_component_internal_connection_1"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_149",
pcb_port_id: "pcb_port_153",
source_port_name: "pin2"
},
componentId: "pcb_component_39",
type: "rect",
layers: [
"top"
],
center: {
x: -13.63249,
y: 2.749936
},
width: 0.5999988,
height: 0.2800096,
connectedTo: [
"pcb_smtpad_149",
"connectivity_net79",
"source_trace_33",
"source_port_89",
"source_port_153",
"pcb_smtpad_37",
"pcb_port_89",
"pcb_port_153"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_150",
pcb_port_id: "pcb_port_154",
source_port_name: "pin3"
},
componentId: "pcb_component_39",
type: "rect",
layers: [
"top"
],
center: {
x: -13.63249,
y: 2.250064
},
width: 0.5999988,
height: 0.2800096,
connectedTo: [
"pcb_smtpad_150",
"connectivity_net82",
"source_trace_34",
"source_port_88",
"source_port_154",
"pcb_smtpad_38",
"pcb_port_88",
"pcb_port_154"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_151",
pcb_port_id: "pcb_port_155",
source_port_name: "GND"
},
componentId: "pcb_component_39",
type: "rect",
layers: [
"top"
],
center: {
x: -13.63249,
y: 1.7499379999999998
},
width: 0.5999988,
height: 0.2800096,
connectedTo: [
"pcb_smtpad_151",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_152",
pcb_port_id: "pcb_port_159",
source_port_name: "VCC"
},
componentId: "pcb_component_39",
type: "rect",
layers: [
"top"
],
center: {
x: -10.61751,
y: 3.2500620000000002
},
width: 0.5999988,
height: 0.2800096,
connectedTo: [
"pcb_smtpad_152",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_153",
pcb_port_id: "pcb_port_158",
source_port_name: "pin7"
},
componentId: "pcb_component_39",
type: "rect",
layers: [
"top"
],
center: {
x: -10.61751,
y: 2.749936
},
width: 0.5999988,
height: 0.2800096,
connectedTo: [
"pcb_smtpad_153",
"connectivity_net85",
"source_trace_35",
"source_port_85",
"source_port_158",
"pcb_smtpad_41",
"pcb_port_85",
"pcb_port_158"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_154",
pcb_port_id: "pcb_port_157",
source_port_name: "CLK"
},
componentId: "pcb_component_39",
type: "rect",
layers: [
"top"
],
center: {
x: -10.61751,
y: 2.250064
},
width: 0.5999988,
height: 0.2800096,
connectedTo: [
"pcb_smtpad_154",
"connectivity_net88",
"source_trace_36",
"source_port_86",
"source_port_157",
"pcb_smtpad_40",
"pcb_port_86",
"pcb_port_157"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_155",
pcb_port_id: "pcb_port_156",
source_port_name: "pin5"
},
componentId: "pcb_component_39",
type: "rect",
layers: [
"top"
],
center: {
x: -10.61751,
y: 1.7499380000000002
},
width: 0.5999988,
height: 0.2800096,
connectedTo: [
"pcb_smtpad_155",
"connectivity_net76",
"source_trace_32",
"source_port_87",
"source_port_156",
"pcb_smtpad_39",
"pcb_port_87",
"pcb_port_156"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_156",
pcb_port_id: "pcb_port_160",
source_port_name: "EP"
},
componentId: "pcb_component_39",
type: "rect",
layers: [
"top"
],
center: {
x: -12.125,
y: 2.5
},
width: 0.2999994,
height: 1.6999966,
connectedTo: [
"pcb_smtpad_156",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_157",
pcb_port_id: "pcb_port_167",
source_port_name: "CP1"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -15.975036
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_157",
"connectivity_net235",
"source_trace_105",
"source_port_167",
"source_port_220",
"pcb_port_167",
"pcb_smtpad_186",
"pcb_port_220"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_158",
pcb_port_id: "pcb_port_168",
source_port_name: "CP2"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -15.325050000000001
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_158",
"connectivity_net238",
"source_trace_106",
"source_port_168",
"source_port_221",
"pcb_port_168",
"pcb_smtpad_187",
"pcb_port_221"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_159",
pcb_port_id: "pcb_port_169",
source_port_name: "VCP"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -14.675063999999999
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_159",
"connectivity_net247",
"source_trace_109",
"source_port_224",
"source_trace_107",
"source_port_169",
"source_port_222",
"pcb_port_169",
"pcb_smtpad_188",
"pcb_port_222",
"pcb_smtpad_190",
"pcb_port_224"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_160",
pcb_port_id: "pcb_port_170",
source_port_name: "VMA"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -14.025078
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_160",
"connectivity_net622",
"source_trace_281",
"source_port_321",
"source_trace_160",
"source_trace_159",
"source_trace_147",
"source_trace_146",
"source_trace_145",
"source_trace_142",
"source_port_292",
"source_trace_112",
"source_port_226",
"source_trace_111",
"source_port_177",
"source_trace_110",
"source_port_225",
"source_trace_108",
"source_port_223",
"source_port_170",
"source_port_296",
"source_port_299",
"source_port_300",
"source_port_238",
"source_port_240",
"pcb_port_170",
"pcb_smtpad_167",
"pcb_port_177",
"pcb_smtpad_189",
"pcb_port_223",
"pcb_smtpad_191",
"pcb_port_225",
"pcb_smtpad_192",
"pcb_port_226",
"pcb_smtpad_204",
"pcb_port_238",
"pcb_smtpad_206",
"pcb_port_240",
"pcb_smtpad_250",
"pcb_port_292",
"pcb_smtpad_254",
"pcb_port_296",
"pcb_smtpad_257",
"pcb_port_299",
"pcb_smtpad_258",
"pcb_port_300",
"pcb_smtpad_275",
"pcb_port_321"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_161",
pcb_port_id: "pcb_port_171",
source_port_name: "AOUT1"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -13.375092
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_161",
"connectivity_net1578",
"pcb_trace_9",
"source_trace_240",
"source_trace_180",
"source_port_171",
"source_port_342",
"source_port_351",
"pcb_port_171",
"pcb_smtpad_296",
"pcb_port_342",
"pcb_smtpad_302",
"pcb_port_351"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_162",
pcb_port_id: "pcb_port_172",
source_port_name: "ISENA"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -12.725106
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_162",
"connectivity_net416",
"source_trace_184",
"source_port_172",
"source_port_242",
"pcb_port_172",
"pcb_smtpad_208",
"pcb_port_242"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_163",
pcb_port_id: "pcb_port_173",
source_port_name: "AOUT2"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -12.074866
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_163",
"connectivity_net407",
"source_trace_181",
"source_port_173",
"source_port_289",
"pcb_port_173",
"pcb_plated_hole_9",
"pcb_port_289"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_164",
pcb_port_id: "pcb_port_174",
source_port_name: "BOUT2"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -11.42488
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_164",
"connectivity_net413",
"source_trace_183",
"source_port_174",
"source_port_291",
"pcb_port_174",
"pcb_plated_hole_11",
"pcb_port_291"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_165",
pcb_port_id: "pcb_port_175",
source_port_name: "ISENB"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -10.774894
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_165",
"connectivity_net419",
"source_trace_185",
"source_port_175",
"source_port_244",
"pcb_port_175",
"pcb_smtpad_210",
"pcb_port_244"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_166",
pcb_port_id: "pcb_port_176",
source_port_name: "BOUT1"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -10.124908
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_166",
"connectivity_net1580",
"pcb_trace_11",
"source_trace_254",
"source_trace_182",
"source_port_176",
"source_port_360",
"source_port_369",
"pcb_port_176",
"pcb_smtpad_314",
"pcb_port_360",
"pcb_smtpad_320",
"pcb_port_369"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_167",
pcb_port_id: "pcb_port_177",
source_port_name: "VMB"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -9.474922
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_167",
"connectivity_net622",
"source_trace_281",
"source_port_321",
"source_trace_160",
"source_trace_159",
"source_trace_147",
"source_trace_146",
"source_trace_145",
"source_trace_142",
"source_port_292",
"source_trace_112",
"source_port_226",
"source_trace_111",
"source_port_177",
"source_trace_110",
"source_port_225",
"source_trace_108",
"source_port_223",
"source_port_170",
"source_port_296",
"source_port_299",
"source_port_300",
"source_port_238",
"source_port_240",
"pcb_smtpad_160",
"pcb_port_170",
"pcb_port_177",
"pcb_smtpad_189",
"pcb_port_223",
"pcb_smtpad_191",
"pcb_port_225",
"pcb_smtpad_192",
"pcb_port_226",
"pcb_smtpad_204",
"pcb_port_238",
"pcb_smtpad_206",
"pcb_port_240",
"pcb_smtpad_250",
"pcb_port_292",
"pcb_smtpad_254",
"pcb_port_296",
"pcb_smtpad_257",
"pcb_port_299",
"pcb_smtpad_258",
"pcb_port_300",
"pcb_smtpad_275",
"pcb_port_321"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_168",
pcb_port_id: "pcb_port_178",
source_port_name: "AVREF"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -8.824936000000001
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_168",
"connectivity_net274",
"source_trace_121",
"source_port_234",
"source_trace_120",
"source_trace_119",
"source_trace_118",
"source_port_231",
"source_port_232",
"source_port_178",
"source_port_179",
"pcb_port_178",
"pcb_smtpad_169",
"pcb_port_179",
"pcb_smtpad_197",
"pcb_port_231",
"pcb_smtpad_198",
"pcb_port_232",
"pcb_smtpad_200",
"pcb_port_234"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_169",
pcb_port_id: "pcb_port_179",
source_port_name: "BVREF"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -8.174949999999999
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_169",
"connectivity_net274",
"source_trace_121",
"source_port_234",
"source_trace_120",
"source_trace_119",
"source_trace_118",
"source_port_231",
"source_port_232",
"source_port_178",
"source_port_179",
"pcb_smtpad_168",
"pcb_port_178",
"pcb_port_179",
"pcb_smtpad_197",
"pcb_port_231",
"pcb_smtpad_198",
"pcb_port_232",
"pcb_smtpad_200",
"pcb_port_234"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_170",
pcb_port_id: "pcb_port_180",
source_port_name: "GND1"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 7.165755000000001,
y: -7.524964
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_170",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_171",
pcb_port_id: "pcb_port_194",
source_port_name: "GND2"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000002,
y: -15.975036
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_171",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_172",
pcb_port_id: "pcb_port_193",
source_port_name: "nHOME"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000007,
y: -15.325050000000001
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_172",
"connectivity_net1537",
"source_port_193",
"pcb_port_193"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_173",
pcb_port_id: "pcb_port_192",
source_port_name: "MODE2"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000007,
y: -14.675063999999999
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_173",
"connectivity_net284",
"source_trace_126",
"source_port_192",
"source_trace_117",
"source_port_230",
"source_trace_115",
"source_port_181",
"source_port_228",
"pcb_smtpad_184",
"pcb_port_181",
"pcb_port_192",
"pcb_smtpad_194",
"pcb_port_228",
"pcb_smtpad_196",
"pcb_port_230"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_174",
pcb_port_id: "pcb_port_191",
source_port_name: "MODE1"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000007,
y: -14.025078
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_174",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_175",
pcb_port_id: "pcb_port_190",
source_port_name: "MODE0"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000007,
y: -13.375092
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_175",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_176",
pcb_port_id: "pcb_port_189",
source_port_name: "NC"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000007,
y: -12.725106
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_176",
"connectivity_net1536",
"source_port_189",
"pcb_port_189"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_177",
pcb_port_id: "pcb_port_188",
source_port_name: "STEP"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000007,
y: -12.074866
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_177",
"connectivity_net1574",
"pcb_trace_5",
"pcb_via_0",
"pcb_port_161",
"pcb_port_162",
"source_trace_222",
"source_trace_135",
"source_trace_130",
"source_trace_129",
"source_port_63",
"source_port_161",
"source_port_162",
"source_port_188",
"source_net_1",
"pcb_smtpad_63",
"pcb_port_63",
"pcb_port_188"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_178",
pcb_port_id: "pcb_port_187",
source_port_name: "nENBL"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000007,
y: -11.42488
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_178",
"connectivity_net312",
"source_trace_138",
"source_port_66",
"source_trace_127",
"source_port_187",
"source_port_236",
"pcb_smtpad_60",
"pcb_port_66",
"pcb_port_187",
"pcb_smtpad_202",
"pcb_port_236"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_179",
pcb_port_id: "pcb_port_186",
source_port_name: "DIR"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000007,
y: -10.774894
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_179",
"connectivity_net1575",
"pcb_trace_6",
"pcb_via_1",
"pcb_port_163",
"pcb_port_164",
"source_trace_223",
"source_trace_136",
"source_trace_132",
"source_trace_131",
"source_port_64",
"source_port_163",
"source_port_164",
"source_port_186",
"source_net_2",
"pcb_smtpad_62",
"pcb_port_64",
"pcb_port_186"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_180",
pcb_port_id: "pcb_port_185",
source_port_name: "DECAY"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000007,
y: -10.124908
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_180",
"connectivity_net1535",
"source_port_185",
"pcb_port_185"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_181",
pcb_port_id: "pcb_port_184",
source_port_name: "nFAULT"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000007,
y: -9.474922
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_181",
"connectivity_net434",
"source_trace_191",
"source_port_248",
"source_trace_140",
"source_port_69",
"source_port_184",
"pcb_smtpad_57",
"pcb_port_69",
"pcb_port_184",
"pcb_smtpad_214",
"pcb_port_248"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_182",
pcb_port_id: "pcb_port_183",
source_port_name: "nSLEEP"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000007,
y: -8.824936000000001
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_182",
"connectivity_net432",
"source_trace_190",
"source_port_246",
"source_trace_186",
"source_port_252",
"source_port_183",
"pcb_port_183",
"pcb_smtpad_212",
"pcb_port_246",
"pcb_smtpad_217",
"pcb_port_252"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_183",
pcb_port_id: "pcb_port_182",
source_port_name: "nRESET"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.4342450000000007,
y: -8.174949999999999
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_183",
"connectivity_net1576",
"pcb_trace_7",
"pcb_via_2",
"pcb_port_165",
"pcb_port_166",
"source_trace_224",
"source_trace_137",
"source_trace_134",
"source_trace_133",
"source_port_65",
"source_port_165",
"source_port_166",
"source_port_182",
"source_net_3",
"pcb_smtpad_61",
"pcb_port_65",
"pcb_port_182"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_184",
pcb_port_id: "pcb_port_181",
source_port_name: "V3P3OUT"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 1.434245000000001,
y: -7.524964
},
width: 0.3430016,
height: 1.7314926,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_184",
"connectivity_net284",
"source_trace_126",
"source_port_192",
"source_trace_117",
"source_port_230",
"source_trace_115",
"source_port_181",
"source_port_228",
"pcb_port_181",
"pcb_smtpad_173",
"pcb_port_192",
"pcb_smtpad_194",
"pcb_port_228",
"pcb_smtpad_196",
"pcb_port_230"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_185",
pcb_port_id: "pcb_port_195",
source_port_name: "EP"
},
componentId: "pcb_component_55",
type: "rect",
layers: [
"top"
],
center: {
x: 4.300127000000001,
y: -11.75
},
width: 3.0999938,
height: 5.5999888,
connectedTo: [
"pcb_smtpad_185",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_186",
pcb_port_id: "pcb_port_220",
source_port_name: "pin1"
},
componentId: "pcb_component_56",
type: "rect",
layers: [
"top"
],
center: {
x: 9,
y: -16.51
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_186",
"connectivity_net235",
"source_trace_105",
"source_port_167",
"source_port_220",
"pcb_smtpad_157",
"pcb_port_167",
"pcb_port_220"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_187",
pcb_port_id: "pcb_port_221",
source_port_name: "pin2"
},
componentId: "pcb_component_56",
type: "rect",
layers: [
"top"
],
center: {
x: 9,
y: -15.49
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_187",
"connectivity_net238",
"source_trace_106",
"source_port_168",
"source_port_221",
"pcb_smtpad_158",
"pcb_port_168",
"pcb_port_221"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_188",
pcb_port_id: "pcb_port_222",
source_port_name: "pin1"
},
componentId: "pcb_component_57",
type: "rect",
layers: [
"top"
],
center: {
x: 10.5,
y: -15.51
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_188",
"connectivity_net247",
"source_trace_109",
"source_port_224",
"source_trace_107",
"source_port_169",
"source_port_222",
"pcb_smtpad_159",
"pcb_port_169",
"pcb_port_222",
"pcb_smtpad_190",
"pcb_port_224"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_189",
pcb_port_id: "pcb_port_223",
source_port_name: "pin2"
},
componentId: "pcb_component_57",
type: "rect",
layers: [
"top"
],
center: {
x: 10.5,
y: -14.49
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_189",
"connectivity_net622",
"source_trace_281",
"source_port_321",
"source_trace_160",
"source_trace_159",
"source_trace_147",
"source_trace_146",
"source_trace_145",
"source_trace_142",
"source_port_292",
"source_trace_112",
"source_port_226",
"source_trace_111",
"source_port_177",
"source_trace_110",
"source_port_225",
"source_trace_108",
"source_port_223",
"source_port_170",
"source_port_296",
"source_port_299",
"source_port_300",
"source_port_238",
"source_port_240",
"pcb_smtpad_160",
"pcb_port_170",
"pcb_smtpad_167",
"pcb_port_177",
"pcb_port_223",
"pcb_smtpad_191",
"pcb_port_225",
"pcb_smtpad_192",
"pcb_port_226",
"pcb_smtpad_204",
"pcb_port_238",
"pcb_smtpad_206",
"pcb_port_240",
"pcb_smtpad_250",
"pcb_port_292",
"pcb_smtpad_254",
"pcb_port_296",
"pcb_smtpad_257",
"pcb_port_299",
"pcb_smtpad_258",
"pcb_port_300",
"pcb_smtpad_275",
"pcb_port_321"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_190",
pcb_port_id: "pcb_port_224",
source_port_name: "pin1"
},
componentId: "pcb_component_58",
type: "rect",
layers: [
"top"
],
center: {
x: 19,
y: -14.26
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_190",
"connectivity_net247",
"source_trace_109",
"source_port_224",
"source_trace_107",
"source_port_169",
"source_port_222",
"pcb_smtpad_159",
"pcb_port_169",
"pcb_smtpad_188",
"pcb_port_222",
"pcb_port_224"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_191",
pcb_port_id: "pcb_port_225",
source_port_name: "pin2"
},
componentId: "pcb_component_58",
type: "rect",
layers: [
"top"
],
center: {
x: 19,
y: -13.24
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_191",
"connectivity_net622",
"source_trace_281",
"source_port_321",
"source_trace_160",
"source_trace_159",
"source_trace_147",
"source_trace_146",
"source_trace_145",
"source_trace_142",
"source_port_292",
"source_trace_112",
"source_port_226",
"source_trace_111",
"source_port_177",
"source_trace_110",
"source_port_225",
"source_trace_108",
"source_port_223",
"source_port_170",
"source_port_296",
"source_port_299",
"source_port_300",
"source_port_238",
"source_port_240",
"pcb_smtpad_160",
"pcb_port_170",
"pcb_smtpad_167",
"pcb_port_177",
"pcb_smtpad_189",
"pcb_port_223",
"pcb_port_225",
"pcb_smtpad_192",
"pcb_port_226",
"pcb_smtpad_204",
"pcb_port_238",
"pcb_smtpad_206",
"pcb_port_240",
"pcb_smtpad_250",
"pcb_port_292",
"pcb_smtpad_254",
"pcb_port_296",
"pcb_smtpad_257",
"pcb_port_299",
"pcb_smtpad_258",
"pcb_port_300",
"pcb_smtpad_275",
"pcb_port_321"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_192",
pcb_port_id: "pcb_port_226",
source_port_name: "pin1"
},
componentId: "pcb_component_59",
type: "rect",
layers: [
"top"
],
center: {
x: 9.5,
y: -14.51
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_192",
"connectivity_net622",
"source_trace_281",
"source_port_321",
"source_trace_160",
"source_trace_159",
"source_trace_147",
"source_trace_146",
"source_trace_145",
"source_trace_142",
"source_port_292",
"source_trace_112",
"source_port_226",
"source_trace_111",
"source_port_177",
"source_trace_110",
"source_port_225",
"source_trace_108",
"source_port_223",
"source_port_170",
"source_port_296",
"source_port_299",
"source_port_300",
"source_port_238",
"source_port_240",
"pcb_smtpad_160",
"pcb_port_170",
"pcb_smtpad_167",
"pcb_port_177",
"pcb_smtpad_189",
"pcb_port_223",
"pcb_smtpad_191",
"pcb_port_225",
"pcb_port_226",
"pcb_smtpad_204",
"pcb_port_238",
"pcb_smtpad_206",
"pcb_port_240",
"pcb_smtpad_250",
"pcb_port_292",
"pcb_smtpad_254",
"pcb_port_296",
"pcb_smtpad_257",
"pcb_port_299",
"pcb_smtpad_258",
"pcb_port_300",
"pcb_smtpad_275",
"pcb_port_321"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_193",
pcb_port_id: "pcb_port_227",
source_port_name: "pin2"
},
componentId: "pcb_component_59",
type: "rect",
layers: [
"top"
],
center: {
x: 9.5,
y: -13.49
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_193",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_194",
pcb_port_id: "pcb_port_228",
source_port_name: "pin1"
},
componentId: "pcb_component_60",
type: "rect",
layers: [
"top"
],
center: {
x: -0.99,
y: -7.5
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_194",
"connectivity_net284",
"source_trace_126",
"source_port_192",
"source_trace_117",
"source_port_230",
"source_trace_115",
"source_port_181",
"source_port_228",
"pcb_smtpad_184",
"pcb_port_181",
"pcb_smtpad_173",
"pcb_port_192",
"pcb_port_228",
"pcb_smtpad_196",
"pcb_port_230"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_195",
pcb_port_id: "pcb_port_229",
source_port_name: "pin2"
},
componentId: "pcb_component_60",
type: "rect",
layers: [
"top"
],
center: {
x: -2.01,
y: -7.5
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_195",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_196",
pcb_port_id: "pcb_port_230",
source_port_name: "pin1"
},
componentId: "pcb_component_61",
type: "rect",
layers: [
"top"
],
center: {
x: -2.75,
y: -11.01
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_196",
"connectivity_net284",
"source_trace_126",
"source_port_192",
"source_trace_117",
"source_port_230",
"source_trace_115",
"source_port_181",
"source_port_228",
"pcb_smtpad_184",
"pcb_port_181",
"pcb_smtpad_173",
"pcb_port_192",
"pcb_smtpad_194",
"pcb_port_228",
"pcb_port_230"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_197",
pcb_port_id: "pcb_port_231",
source_port_name: "pin2"
},
componentId: "pcb_component_61",
type: "rect",
layers: [
"top"
],
center: {
x: -2.75,
y: -9.99
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_197",
"connectivity_net274",
"source_trace_121",
"source_port_234",
"source_trace_120",
"source_trace_119",
"source_trace_118",
"source_port_231",
"source_port_232",
"source_port_178",
"source_port_179",
"pcb_smtpad_168",
"pcb_port_178",
"pcb_smtpad_169",
"pcb_port_179",
"pcb_port_231",
"pcb_smtpad_198",
"pcb_port_232",
"pcb_smtpad_200",
"pcb_port_234"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_198",
pcb_port_id: "pcb_port_232",
source_port_name: "pin1"
},
componentId: "pcb_component_62",
type: "rect",
layers: [
"top"
],
center: {
x: -1.5,
y: -13.01
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_198",
"connectivity_net274",
"source_trace_121",
"source_port_234",
"source_trace_120",
"source_trace_119",
"source_trace_118",
"source_port_231",
"source_port_232",
"source_port_178",
"source_port_179",
"pcb_smtpad_168",
"pcb_port_178",
"pcb_smtpad_169",
"pcb_port_179",
"pcb_smtpad_197",
"pcb_port_231",
"pcb_port_232",
"pcb_smtpad_200",
"pcb_port_234"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_199",
pcb_port_id: "pcb_port_233",
source_port_name: "pin2"
},
componentId: "pcb_component_62",
type: "rect",
layers: [
"top"
],
center: {
x: -1.5,
y: -11.99
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_199",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_200",
pcb_port_id: "pcb_port_234",
source_port_name: "pin1"
},
componentId: "pcb_component_63",
type: "rect",
layers: [
"top"
],
center: {
x: -2.51,
y: -9
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_200",
"connectivity_net274",
"source_trace_121",
"source_port_234",
"source_trace_120",
"source_trace_119",
"source_trace_118",
"source_port_231",
"source_port_232",
"source_port_178",
"source_port_179",
"pcb_smtpad_168",
"pcb_port_178",
"pcb_smtpad_169",
"pcb_port_179",
"pcb_smtpad_197",
"pcb_port_231",
"pcb_smtpad_198",
"pcb_port_232",
"pcb_port_234"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_201",
pcb_port_id: "pcb_port_235",
source_port_name: "pin2"
},
componentId: "pcb_component_63",
type: "rect",
layers: [
"top"
],
center: {
x: -1.49,
y: -9
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_201",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_202",
pcb_port_id: "pcb_port_236",
source_port_name: "pin1"
},
componentId: "pcb_component_64",
type: "rect",
layers: [
"top"
],
center: {
x: -0.5,
y: -12.26
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_202",
"connectivity_net312",
"source_trace_138",
"source_port_66",
"source_trace_127",
"source_port_187",
"source_port_236",
"pcb_smtpad_60",
"pcb_port_66",
"pcb_smtpad_178",
"pcb_port_187",
"pcb_port_236"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_203",
pcb_port_id: "pcb_port_237",
source_port_name: "pin2"
},
componentId: "pcb_component_64",
type: "rect",
layers: [
"top"
],
center: {
x: -0.49999999999999994,
y: -11.24
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_203",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_204",
pcb_port_id: "pcb_port_238",
source_port_name: "pin1"
},
componentId: "pcb_component_65",
type: "rect",
layers: [
"top"
],
center: {
x: 10.75,
y: -19.9625
},
width: 1.75,
height: 1.125,
connectedTo: [
"pcb_smtpad_204",
"connectivity_net622",
"source_trace_281",
"source_port_321",
"source_trace_160",
"source_trace_159",
"source_trace_147",
"source_trace_146",
"source_trace_145",
"source_trace_142",
"source_port_292",
"source_trace_112",
"source_port_226",
"source_trace_111",
"source_port_177",
"source_trace_110",
"source_port_225",
"source_trace_108",
"source_port_223",
"source_port_170",
"source_port_296",
"source_port_299",
"source_port_300",
"source_port_238",
"source_port_240",
"pcb_smtpad_160",
"pcb_port_170",
"pcb_smtpad_167",
"pcb_port_177",
"pcb_smtpad_189",
"pcb_port_223",
"pcb_smtpad_191",
"pcb_port_225",
"pcb_smtpad_192",
"pcb_port_226",
"pcb_port_238",
"pcb_smtpad_206",
"pcb_port_240",
"pcb_smtpad_250",
"pcb_port_292",
"pcb_smtpad_254",
"pcb_port_296",
"pcb_smtpad_257",
"pcb_port_299",
"pcb_smtpad_258",
"pcb_port_300",
"pcb_smtpad_275",
"pcb_port_321"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_205",
pcb_port_id: "pcb_port_239",
source_port_name: "pin2"
},
componentId: "pcb_component_65",
type: "rect",
layers: [
"top"
],
center: {
x: 10.75,
y: -17.0375
},
width: 1.75,
height: 1.125,
connectedTo: [
"pcb_smtpad_205",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_206",
pcb_port_id: "pcb_port_240",
source_port_name: "pin1"
},
componentId: "pcb_component_66",
type: "rect",
layers: [
"top"
],
center: {
x: 9,
y: -8.49
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_206",
"connectivity_net622",
"source_trace_281",
"source_port_321",
"source_trace_160",
"source_trace_159",
"source_trace_147",
"source_trace_146",
"source_trace_145",
"source_trace_142",
"source_port_292",
"source_trace_112",
"source_port_226",
"source_trace_111",
"source_port_177",
"source_trace_110",
"source_port_225",
"source_trace_108",
"source_port_223",
"source_port_170",
"source_port_296",
"source_port_299",
"source_port_300",
"source_port_238",
"source_port_240",
"pcb_smtpad_160",
"pcb_port_170",
"pcb_smtpad_167",
"pcb_port_177",
"pcb_smtpad_189",
"pcb_port_223",
"pcb_smtpad_191",
"pcb_port_225",
"pcb_smtpad_192",
"pcb_port_226",
"pcb_smtpad_204",
"pcb_port_238",
"pcb_port_240",
"pcb_smtpad_250",
"pcb_port_292",
"pcb_smtpad_254",
"pcb_port_296",
"pcb_smtpad_257",
"pcb_port_299",
"pcb_smtpad_258",
"pcb_port_300",
"pcb_smtpad_275",
"pcb_port_321"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_207",
pcb_port_id: "pcb_port_241",
source_port_name: "pin2"
},
componentId: "pcb_component_66",
type: "rect",
layers: [
"top"
],
center: {
x: 9,
y: -9.51
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_207",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_208",
pcb_port_id: "pcb_port_242",
source_port_name: "pin1"
},
componentId: "pcb_component_67",
type: "rect",
layers: [
"top"
],
center: {
x: 15.2288,
y: -11.5
},
width: 1.2075,
height: 1.701,
connectedTo: [
"pcb_smtpad_208",
"connectivity_net416",
"source_trace_184",
"source_port_172",
"source_port_242",
"pcb_smtpad_162",
"pcb_port_172",
"pcb_port_242"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_209",
pcb_port_id: "pcb_port_243",
source_port_name: "pin2"
},
componentId: "pcb_component_67",
type: "rect",
layers: [
"top"
],
center: {
x: 12.2712,
y: -11.5
},
width: 1.2075,
height: 1.701,
connectedTo: [
"pcb_smtpad_209",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_210",
pcb_port_id: "pcb_port_244",
source_port_name: "pin1"
},
componentId: "pcb_component_68",
type: "rect",
layers: [
"top"
],
center: {
x: 19.9788,
y: -11.5
},
width: 1.2075,
height: 1.701,
connectedTo: [
"pcb_smtpad_210",
"connectivity_net419",
"source_trace_185",
"source_port_175",
"source_port_244",
"pcb_smtpad_165",
"pcb_port_175",
"pcb_port_244"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_211",
pcb_port_id: "pcb_port_245",
source_port_name: "pin2"
},
componentId: "pcb_component_68",
type: "rect",
layers: [
"top"
],
center: {
x: 17.0212,
y: -11.5
},
width: 1.2075,
height: 1.701,
connectedTo: [
"pcb_smtpad_211",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_212",
pcb_port_id: "pcb_port_246",
source_port_name: "pin1"
},
componentId: "pcb_component_69",
type: "rect",
layers: [
"top"
],
center: {
x: -1.51,
y: -14
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_212",
"connectivity_net432",
"source_trace_190",
"source_port_246",
"source_trace_186",
"source_port_252",
"source_port_183",
"pcb_smtpad_182",
"pcb_port_183",
"pcb_port_246",
"pcb_smtpad_217",
"pcb_port_252"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_213",
pcb_port_id: "pcb_port_247",
source_port_name: "pin2"
},
componentId: "pcb_component_69",
type: "rect",
layers: [
"top"
],
center: {
x: -0.49,
y: -14
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_213",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_214",
pcb_port_id: "pcb_port_248",
source_port_name: "pin1"
},
componentId: "pcb_component_70",
type: "rect",
layers: [
"top"
],
center: {
x: -1.51,
y: -15.75
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_214",
"connectivity_net434",
"source_trace_191",
"source_port_248",
"source_trace_140",
"source_port_69",
"source_port_184",
"pcb_smtpad_57",
"pcb_port_69",
"pcb_smtpad_181",
"pcb_port_184",
"pcb_port_248"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_215",
pcb_port_id: "pcb_port_249",
source_port_name: "pin2"
},
componentId: "pcb_component_70",
type: "rect",
layers: [
"top"
],
center: {
x: -0.49,
y: -15.75
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_215",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_216",
pcb_port_id: "pcb_port_251",
source_port_name: "source"
},
componentId: "pcb_component_71",
type: "rect",
layers: [
"top"
],
center: {
x: -17.450039999999998,
y: -10.949985000000002
},
width: 0.7999984,
height: 0.999998,
connectedTo: [
"pcb_smtpad_216",
"connectivity_net492",
"source_trace_225",
"source_trace_201",
"source_port_314",
"source_trace_139",
"source_port_68",
"source_port_251",
"source_net_4",
"pcb_smtpad_58",
"pcb_port_68",
"pcb_port_251",
"pcb_smtpad_272",
"pcb_port_314"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_217",
pcb_port_id: "pcb_port_252",
source_port_name: "drain"
},
componentId: "pcb_component_71",
type: "rect",
layers: [
"top"
],
center: {
x: -18.4,
y: -8.650015
},
width: 0.7999984,
height: 0.999998,
connectedTo: [
"pcb_smtpad_217",
"connectivity_net432",
"source_trace_190",
"source_port_246",
"source_trace_186",
"source_port_252",
"source_port_183",
"pcb_smtpad_182",
"pcb_port_183",
"pcb_smtpad_212",
"pcb_port_246",
"pcb_port_252"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_218",
pcb_port_id: "pcb_port_250",
source_port_name: "gate"
},
componentId: "pcb_component_71",
type: "rect",
layers: [
"top"
],
center: {
x: -19.34996,
y: -10.949985
},
width: 0.7999984,
height: 0.999998,
connectedTo: [
"pcb_smtpad_218",
"connectivity_net428",
"source_trace_188",
"source_port_253",
"source_trace_187",
"source_port_250",
"source_port_280",
"pcb_port_250",
"pcb_smtpad_219",
"pcb_port_253",
"pcb_smtpad_233",
"pcb_port_280"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_219",
pcb_port_id: "pcb_port_253",
source_port_name: "pin1"
},
componentId: "pcb_component_72",
type: "rect",
layers: [
"top"
],
center: {
x: -0.26,
y: 2
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_219",
"connectivity_net428",
"source_trace_188",
"source_port_253",
"source_trace_187",
"source_port_250",
"source_port_280",
"pcb_smtpad_218",
"pcb_port_250",
"pcb_port_253",
"pcb_smtpad_233",
"pcb_port_280"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_220",
pcb_port_id: "pcb_port_254",
source_port_name: "pin2"
},
componentId: "pcb_component_72",
type: "rect",
layers: [
"top"
],
center: {
x: 0.76,
y: 2
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_220",
"connectivity_net688",
"source_trace_310",
"source_port_419",
"source_trace_305",
"source_port_414",
"source_trace_300",
"source_port_409",
"source_trace_189",
"source_port_254",
"source_trace_152",
"source_trace_150",
"source_port_285",
"source_port_271",
"source_port_282",
"pcb_port_254",
"pcb_smtpad_242",
"pcb_port_271",
"pcb_smtpad_244",
"pcb_port_282",
"pcb_smtpad_247",
"pcb_port_285",
"pcb_smtpad_363",
"pcb_port_409",
"pcb_smtpad_368",
"pcb_port_414",
"pcb_smtpad_373",
"pcb_port_419"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_221",
pcb_port_id: "pcb_port_261",
source_port_name: "B8"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top"
],
center: {
x: 8.75006,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_221",
"connectivity_net1562",
"source_port_261",
"pcb_port_261"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_222",
pcb_port_id: "pcb_port_262",
source_port_name: "A5"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top"
],
center: {
x: 8.249934,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_222",
"connectivity_net348",
"source_trace_153",
"source_port_262",
"source_port_277",
"pcb_port_262",
"pcb_smtpad_236",
"pcb_port_277"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_223",
pcb_port_id: "pcb_port_263",
source_port_name: "B7"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top"
],
center: {
x: 7.750062,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_223",
"connectivity_net362",
"source_trace_158",
"source_port_263",
"source_trace_157",
"source_port_265",
"source_port_275",
"pcb_port_263",
"pcb_smtpad_225",
"pcb_port_265",
"pcb_smtpad_238",
"pcb_port_275"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_224",
pcb_port_id: "pcb_port_264",
source_port_name: "A6"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top"
],
center: {
x: 7.249936,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_224",
"connectivity_net357",
"source_trace_156",
"source_port_266",
"source_trace_155",
"source_port_264",
"source_port_274",
"pcb_port_264",
"pcb_smtpad_226",
"pcb_port_266",
"pcb_smtpad_239",
"pcb_port_274"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_225",
pcb_port_id: "pcb_port_265",
source_port_name: "A7"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top"
],
center: {
x: 6.750064,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_225",
"connectivity_net362",
"source_trace_158",
"source_port_263",
"source_trace_157",
"source_port_265",
"source_port_275",
"pcb_smtpad_223",
"pcb_port_263",
"pcb_port_265",
"pcb_smtpad_238",
"pcb_port_275"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_226",
pcb_port_id: "pcb_port_266",
source_port_name: "B6"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top"
],
center: {
x: 6.249938,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_226",
"connectivity_net357",
"source_trace_156",
"source_port_266",
"source_trace_155",
"source_port_264",
"source_port_274",
"pcb_smtpad_224",
"pcb_port_264",
"pcb_port_266",
"pcb_smtpad_239",
"pcb_port_274"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_227",
pcb_port_id: "pcb_port_267",
source_port_name: "A8"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top"
],
center: {
x: 5.75032,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_227",
"connectivity_net1563",
"source_port_267",
"pcb_port_267"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_228",
pcb_port_id: "pcb_port_268",
source_port_name: "B5"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top"
],
center: {
x: 5.24994,
y: 14.5259568
},
width: 0.2999994,
height: 1.2999974,
connectedTo: [
"pcb_smtpad_228",
"connectivity_net351",
"source_trace_154",
"source_port_268",
"source_port_276",
"pcb_port_268",
"pcb_smtpad_237",
"pcb_port_276"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_229",
pcb_port_id: "pcb_port_259",
source_port_name: "A1B12"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top"
],
center: {
x: 10.1999555,
y: 14.5259568
},
width: 0.5999733999999997,
height: 1.3001752,
connectedTo: [
"pcb_smtpad_229",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_230",
pcb_port_id: "pcb_port_270",
source_port_name: "B1A12"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top"
],
center: {
x: 3.7999937,
y: 14.5258552
},
width: 0.6000242000000005,
height: 1.2999720000000003,
connectedTo: [
"pcb_smtpad_230",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_231",
pcb_port_id: "pcb_port_269",
source_port_name: "B4A9"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top"
],
center: {
x: 4.5998397,
y: 14.525855199999999
},
width: 0.6000242000000009,
height: 1.2999719999999986,
connectedTo: [
"pcb_smtpad_231",
"connectivity_net620",
"source_trace_280",
"source_port_320",
"source_trace_149",
"source_trace_148",
"source_trace_144",
"source_trace_141",
"source_port_260",
"source_port_269",
"source_port_294",
"source_port_284",
"source_port_286",
"pcb_smtpad_232",
"pcb_port_260",
"pcb_port_269",
"pcb_smtpad_246",
"pcb_port_284",
"pcb_smtpad_248",
"pcb_port_286",
"pcb_smtpad_252",
"pcb_port_294",
"pcb_smtpad_274",
"pcb_port_320"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_232",
pcb_port_id: "pcb_port_260",
source_port_name: "A4B9"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top"
],
center: {
x: 9.3999571,
y: 14.526020299999999
},
width: 0.5999733999999997,
height: 1.2999974000000005,
connectedTo: [
"pcb_smtpad_232",
"connectivity_net620",
"source_trace_280",
"source_port_320",
"source_trace_149",
"source_trace_148",
"source_trace_144",
"source_trace_141",
"source_port_260",
"source_port_269",
"source_port_294",
"source_port_284",
"source_port_286",
"pcb_port_260",
"pcb_smtpad_231",
"pcb_port_269",
"pcb_smtpad_246",
"pcb_port_284",
"pcb_smtpad_248",
"pcb_port_286",
"pcb_smtpad_252",
"pcb_port_294",
"pcb_smtpad_274",
"pcb_port_320"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_233",
pcb_port_id: "pcb_port_280",
source_port_name: "PG"
},
componentId: "pcb_component_74",
type: "rect",
layers: [
"top"
],
center: {
x: 8.999996,
y: 6.000133
},
width: 0.5999988,
height: 1.499997,
connectedTo: [
"pcb_smtpad_233",
"connectivity_net428",
"source_trace_188",
"source_port_253",
"source_trace_187",
"source_port_250",
"source_port_280",
"pcb_smtpad_218",
"pcb_port_250",
"pcb_smtpad_219",
"pcb_port_253",
"pcb_port_280"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_234",
pcb_port_id: "pcb_port_279",
source_port_name: "CFG1"
},
componentId: "pcb_component_74",
type: "rect",
layers: [
"top"
],
center: {
x: 7.999998,
y: 5.999879
},
width: 0.5999988,
height: 1.499997,
connectedTo: [
"pcb_smtpad_234",
"connectivity_net662",
"source_trace_299",
"source_trace_298",
"source_port_405",
"source_port_279",
"source_port_408",
"pcb_port_279",
"pcb_smtpad_359",
"pcb_port_405",
"pcb_smtpad_362",
"pcb_port_408"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_235",
pcb_port_id: "pcb_port_278",
source_port_name: "VBUS"
},
componentId: "pcb_component_74",
type: "rect",
layers: [
"top"
],
center: {
x: 7,
y: 5.999879
},
width: 0.5999988,
height: 1.499997,
connectedTo: [
"pcb_smtpad_235",
"connectivity_net343",
"source_trace_151",
"source_port_287",
"source_port_278",
"pcb_port_278",
"pcb_smtpad_249",
"pcb_port_287"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_236",
pcb_port_id: "pcb_port_277",
source_port_name: "CC1"
},
componentId: "pcb_component_74",
type: "rect",
layers: [
"top"
],
center: {
x: 6.000001999999999,
y: 5.999879
},
width: 0.5999988,
height: 1.499997,
connectedTo: [
"pcb_smtpad_236",
"connectivity_net348",
"source_trace_153",
"source_port_262",
"source_port_277",
"pcb_smtpad_222",
"pcb_port_262",
"pcb_port_277"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_237",
pcb_port_id: "pcb_port_276",
source_port_name: "CC2"
},
componentId: "pcb_component_74",
type: "rect",
layers: [
"top"
],
center: {
x: 5.000004,
y: 6.000133
},
width: 0.5999988,
height: 1.499997,
connectedTo: [
"pcb_smtpad_237",
"connectivity_net351",
"source_trace_154",
"source_port_268",
"source_port_276",
"pcb_smtpad_228",
"pcb_port_268",
"pcb_port_276"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_238",
pcb_port_id: "pcb_port_275",
source_port_name: "DM"
},
componentId: "pcb_component_74",
type: "rect",
layers: [
"top"
],
center: {
x: 5.000004000000001,
y: 12.000121
},
width: 0.5999988,
height: 1.499997,
connectedTo: [
"pcb_smtpad_238",
"connectivity_net362",
"source_trace_158",
"source_port_263",
"source_trace_157",
"source_port_265",
"source_port_275",
"pcb_smtpad_223",
"pcb_port_263",
"pcb_smtpad_225",
"pcb_port_265",
"pcb_port_275"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_239",
pcb_port_id: "pcb_port_274",
source_port_name: "DP"
},
componentId: "pcb_component_74",
type: "rect",
layers: [
"top"
],
center: {
x: 6.000002,
y: 12.000121
},
width: 0.5999988,
height: 1.499997,
connectedTo: [
"pcb_smtpad_239",
"connectivity_net357",
"source_trace_156",
"source_port_266",
"source_trace_155",
"source_port_264",
"source_port_274",
"pcb_smtpad_224",
"pcb_port_264",
"pcb_smtpad_226",
"pcb_port_266",
"pcb_port_274"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_240",
pcb_port_id: "pcb_port_273",
source_port_name: "CFG3"
},
componentId: "pcb_component_74",
type: "rect",
layers: [
"top"
],
center: {
x: 7,
y: 12.000121
},
width: 0.5999988,
height: 1.499997,
connectedTo: [
"pcb_smtpad_240",
"connectivity_net686",
"source_trace_309",
"source_trace_308",
"source_port_415",
"source_port_273",
"source_port_418",
"pcb_port_273",
"pcb_smtpad_369",
"pcb_port_415",
"pcb_smtpad_372",
"pcb_port_418"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_241",
pcb_port_id: "pcb_port_272",
source_port_name: "CFG2"
},
componentId: "pcb_component_74",
type: "rect",
layers: [
"top"
],
center: {
x: 7.999998000000001,
y: 12.000121
},
width: 0.5999988,
height: 1.499997,
connectedTo: [
"pcb_smtpad_241",
"connectivity_net674",
"source_trace_304",
"source_trace_303",
"source_port_410",
"source_port_272",
"source_port_413",
"pcb_port_272",
"pcb_smtpad_364",
"pcb_port_410",
"pcb_smtpad_367",
"pcb_port_413"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_242",
pcb_port_id: "pcb_port_271",
source_port_name: "VDD"
},
componentId: "pcb_component_74",
type: "rect",
layers: [
"top"
],
center: {
x: 8.999996000000001,
y: 12.000121
},
width: 0.5999988,
height: 1.499997,
connectedTo: [
"pcb_smtpad_242",
"connectivity_net688",
"source_trace_310",
"source_port_419",
"source_trace_305",
"source_port_414",
"source_trace_300",
"source_port_409",
"source_trace_189",
"source_port_254",
"source_trace_152",
"source_trace_150",
"source_port_285",
"source_port_271",
"source_port_282",
"pcb_smtpad_220",
"pcb_port_254",
"pcb_port_271",
"pcb_smtpad_244",
"pcb_port_282",
"pcb_smtpad_247",
"pcb_port_285",
"pcb_smtpad_363",
"pcb_port_409",
"pcb_smtpad_368",
"pcb_port_414",
"pcb_smtpad_373",
"pcb_port_419"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_243",
pcb_port_id: "pcb_port_281",
source_port_name: "GND"
},
componentId: "pcb_component_74",
type: "rect",
layers: [
"top"
],
center: {
x: 7,
y: 8.999873
},
width: 3.2999934,
height: 2.0999958,
connectedTo: [
"pcb_smtpad_243",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_244",
pcb_port_id: "pcb_port_282",
source_port_name: "pin1"
},
componentId: "pcb_component_75",
type: "rect",
layers: [
"top"
],
center: {
x: 3.5,
y: 7.7749999999999995
},
width: 0.95,
height: 0.8,
connectedTo: [
"pcb_smtpad_244",
"connectivity_net688",
"source_trace_310",
"source_port_419",
"source_trace_305",
"source_port_414",
"source_trace_300",
"source_port_409",
"source_trace_189",
"source_port_254",
"source_trace_152",
"source_trace_150",
"source_port_285",
"source_port_271",
"source_port_282",
"pcb_smtpad_220",
"pcb_port_254",
"pcb_smtpad_242",
"pcb_port_271",
"pcb_port_282",
"pcb_smtpad_247",
"pcb_port_285",
"pcb_smtpad_363",
"pcb_port_409",
"pcb_smtpad_368",
"pcb_port_414",
"pcb_smtpad_373",
"pcb_port_419"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_245",
pcb_port_id: "pcb_port_283",
source_port_name: "pin2"
},
componentId: "pcb_component_75",
type: "rect",
layers: [
"top"
],
center: {
x: 3.5,
y: 6.124999999999999
},
width: 0.95,
height: 0.8,
connectedTo: [
"pcb_smtpad_245",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_246",
pcb_port_id: "pcb_port_284",
source_port_name: "pin1"
},
componentId: "pcb_component_76",
type: "rect",
layers: [
"top"
],
center: {
x: 0.4999999999999999,
y: 15.5375
},
width: 1.75,
height: 1.125,
connectedTo: [
"pcb_smtpad_246",
"connectivity_net620",
"source_trace_280",
"source_port_320",
"source_trace_149",
"source_trace_148",
"source_trace_144",
"source_trace_141",
"source_port_260",
"source_port_269",
"source_port_294",
"source_port_284",
"source_port_286",
"pcb_smtpad_232",
"pcb_port_260",
"pcb_smtpad_231",
"pcb_port_269",
"pcb_port_284",
"pcb_smtpad_248",
"pcb_port_286",
"pcb_smtpad_252",
"pcb_port_294",
"pcb_smtpad_274",
"pcb_port_320"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_247",
pcb_port_id: "pcb_port_285",
source_port_name: "pin2"
},
componentId: "pcb_component_76",
type: "rect",
layers: [
"top"
],
center: {
x: 0.5000000000000001,
y: 18.4625
},
width: 1.75,
height: 1.125,
connectedTo: [
"pcb_smtpad_247",
"connectivity_net688",
"source_trace_310",
"source_port_419",
"source_trace_305",
"source_port_414",
"source_trace_300",
"source_port_409",
"source_trace_189",
"source_port_254",
"source_trace_152",
"source_trace_150",
"source_port_285",
"source_port_271",
"source_port_282",
"pcb_smtpad_220",
"pcb_port_254",
"pcb_smtpad_242",
"pcb_port_271",
"pcb_smtpad_244",
"pcb_port_282",
"pcb_port_285",
"pcb_smtpad_363",
"pcb_port_409",
"pcb_smtpad_368",
"pcb_port_414",
"pcb_smtpad_373",
"pcb_port_419"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_248",
pcb_port_id: "pcb_port_286",
source_port_name: "pin1"
},
componentId: "pcb_component_77",
type: "rect",
layers: [
"top"
],
center: {
x: -15.01,
y: -0.09999999999999964
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_248",
"connectivity_net620",
"source_trace_280",
"source_port_320",
"source_trace_149",
"source_trace_148",
"source_trace_144",
"source_trace_141",
"source_port_260",
"source_port_269",
"source_port_294",
"source_port_284",
"source_port_286",
"pcb_smtpad_232",
"pcb_port_260",
"pcb_smtpad_231",
"pcb_port_269",
"pcb_smtpad_246",
"pcb_port_284",
"pcb_port_286",
"pcb_smtpad_252",
"pcb_port_294",
"pcb_smtpad_274",
"pcb_port_320"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_249",
pcb_port_id: "pcb_port_287",
source_port_name: "pin2"
},
componentId: "pcb_component_77",
type: "rect",
layers: [
"top"
],
center: {
x: -13.99,
y: -0.09999999999999964
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_249",
"connectivity_net343",
"source_trace_151",
"source_port_287",
"source_port_278",
"pcb_smtpad_235",
"pcb_port_278",
"pcb_port_287"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_250",
pcb_port_id: "pcb_port_292",
source_port_name: "cathode"
},
componentId: "pcb_component_79",
type: "rect",
layers: [
"top"
],
center: {
x: -8.9424,
y: 4.25
},
width: 0.95,
height: 1.15,
connectedTo: [
"pcb_smtpad_250",
"connectivity_net622",
"source_trace_281",
"source_port_321",
"source_trace_160",
"source_trace_159",
"source_trace_147",
"source_trace_146",
"source_trace_145",
"source_trace_142",
"source_port_292",
"source_trace_112",
"source_port_226",
"source_trace_111",
"source_port_177",
"source_trace_110",
"source_port_225",
"source_trace_108",
"source_port_223",
"source_port_170",
"source_port_296",
"source_port_299",
"source_port_300",
"source_port_238",
"source_port_240",
"pcb_smtpad_160",
"pcb_port_170",
"pcb_smtpad_167",
"pcb_port_177",
"pcb_smtpad_189",
"pcb_port_223",
"pcb_smtpad_191",
"pcb_port_225",
"pcb_smtpad_192",
"pcb_port_226",
"pcb_smtpad_204",
"pcb_port_238",
"pcb_smtpad_206",
"pcb_port_240",
"pcb_port_292",
"pcb_smtpad_254",
"pcb_port_296",
"pcb_smtpad_257",
"pcb_port_299",
"pcb_smtpad_258",
"pcb_port_300",
"pcb_smtpad_275",
"pcb_port_321"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_251",
pcb_port_id: "pcb_port_293",
source_port_name: "anode"
},
componentId: "pcb_component_79",
type: "rect",
layers: [
"top"
],
center: {
x: -5.5576,
y: 4.25
},
width: 0.95,
height: 1.15,
connectedTo: [
"pcb_smtpad_251",
"connectivity_net325",
"source_trace_143",
"source_port_295",
"source_port_293",
"pcb_port_293",
"pcb_smtpad_253",
"pcb_port_295"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_252",
pcb_port_id: "pcb_port_294",
source_port_name: "pin1"
},
componentId: "pcb_component_80",
type: "rect",
layers: [
"top"
],
center: {
x: 0.7499999999999999,
y: 3.3625
},
width: 3.4,
height: 1.125,
connectedTo: [
"pcb_smtpad_252",
"connectivity_net620",
"source_trace_280",
"source_port_320",
"source_trace_149",
"source_trace_148",
"source_trace_144",
"source_trace_141",
"source_port_260",
"source_port_269",
"source_port_294",
"source_port_284",
"source_port_286",
"pcb_smtpad_232",
"pcb_port_260",
"pcb_smtpad_231",
"pcb_port_269",
"pcb_smtpad_246",
"pcb_port_284",
"pcb_smtpad_248",
"pcb_port_286",
"pcb_port_294",
"pcb_smtpad_274",
"pcb_port_320"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_253",
pcb_port_id: "pcb_port_295",
source_port_name: "pin2"
},
componentId: "pcb_component_80",
type: "rect",
layers: [
"top"
],
center: {
x: 0.7500000000000001,
y: 7.6375
},
width: 3.4,
height: 1.125,
connectedTo: [
"pcb_smtpad_253",
"connectivity_net325",
"source_trace_143",
"source_port_295",
"source_port_293",
"pcb_smtpad_251",
"pcb_port_293",
"pcb_port_295"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_254",
pcb_port_id: "pcb_port_296",
source_port_name: "pin1"
},
componentId: "pcb_component_81",
type: "rect",
layers: [
"top"
],
center: {
x: 1.2374999999999994,
y: -5.4
},
width: 1.125,
height: 1.75,
connectedTo: [
"pcb_smtpad_254",
"connectivity_net622",
"source_trace_281",
"source_port_321",
"source_trace_160",
"source_trace_159",
"source_trace_147",
"source_trace_146",
"source_trace_145",
"source_trace_142",
"source_port_292",
"source_trace_112",
"source_port_226",
"source_trace_111",
"source_port_177",
"source_trace_110",
"source_port_225",
"source_trace_108",
"source_port_223",
"source_port_170",
"source_port_296",
"source_port_299",
"source_port_300",
"source_port_238",
"source_port_240",
"pcb_smtpad_160",
"pcb_port_170",
"pcb_smtpad_167",
"pcb_port_177",
"pcb_smtpad_189",
"pcb_port_223",
"pcb_smtpad_191",
"pcb_port_225",
"pcb_smtpad_192",
"pcb_port_226",
"pcb_smtpad_204",
"pcb_port_238",
"pcb_smtpad_206",
"pcb_port_240",
"pcb_smtpad_250",
"pcb_port_292",
"pcb_port_296",
"pcb_smtpad_257",
"pcb_port_299",
"pcb_smtpad_258",
"pcb_port_300",
"pcb_smtpad_275",
"pcb_port_321"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_255",
pcb_port_id: "pcb_port_297",
source_port_name: "pin2"
},
componentId: "pcb_component_81",
type: "rect",
layers: [
"top"
],
center: {
x: 4.1625,
y: -5.4
},
width: 1.125,
height: 1.75,
connectedTo: [
"pcb_smtpad_255",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_256",
pcb_port_id: "pcb_port_298",
source_port_name: "pin2"
},
componentId: "pcb_component_82",
type: "rect",
layers: [
"top"
],
center: {
x: -18,
y: 1.8524189999999998
},
width: 2.999994,
height: 2.2999954,
connectedTo: [
"pcb_smtpad_256",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_257",
pcb_port_id: "pcb_port_299",
source_port_name: "pin1"
},
componentId: "pcb_component_82",
type: "rect",
layers: [
"top"
],
center: {
x: -18,
y: -4.852418999999999
},
width: 2.999994,
height: 2.2999954,
connectedTo: [
"pcb_smtpad_257",
"connectivity_net622",
"source_trace_281",
"source_port_321",
"source_trace_160",
"source_trace_159",
"source_trace_147",
"source_trace_146",
"source_trace_145",
"source_trace_142",
"source_port_292",
"source_trace_112",
"source_port_226",
"source_trace_111",
"source_port_177",
"source_trace_110",
"source_port_225",
"source_trace_108",
"source_port_223",
"source_port_170",
"source_port_296",
"source_port_299",
"source_port_300",
"source_port_238",
"source_port_240",
"pcb_smtpad_160",
"pcb_port_170",
"pcb_smtpad_167",
"pcb_port_177",
"pcb_smtpad_189",
"pcb_port_223",
"pcb_smtpad_191",
"pcb_port_225",
"pcb_smtpad_192",
"pcb_port_226",
"pcb_smtpad_204",
"pcb_port_238",
"pcb_smtpad_206",
"pcb_port_240",
"pcb_smtpad_250",
"pcb_port_292",
"pcb_smtpad_254",
"pcb_port_296",
"pcb_port_299",
"pcb_smtpad_258",
"pcb_port_300",
"pcb_smtpad_275",
"pcb_port_321"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_258",
pcb_port_id: "pcb_port_300",
source_port_name: "cathode"
},
componentId: "pcb_component_83",
type: "rect",
layers: [
"top"
],
center: {
x: -6.35,
y: 7.5
},
width: 2.5,
height: 2.3,
connectedTo: [
"pcb_smtpad_258",
"connectivity_net622",
"source_trace_281",
"source_port_321",
"source_trace_160",
"source_trace_159",
"source_trace_147",
"source_trace_146",
"source_trace_145",
"source_trace_142",
"source_port_292",
"source_trace_112",
"source_port_226",
"source_trace_111",
"source_port_177",
"source_trace_110",
"source_port_225",
"source_trace_108",
"source_port_223",
"source_port_170",
"source_port_296",
"source_port_299",
"source_port_300",
"source_port_238",
"source_port_240",
"pcb_smtpad_160",
"pcb_port_170",
"pcb_smtpad_167",
"pcb_port_177",
"pcb_smtpad_189",
"pcb_port_223",
"pcb_smtpad_191",
"pcb_port_225",
"pcb_smtpad_192",
"pcb_port_226",
"pcb_smtpad_204",
"pcb_port_238",
"pcb_smtpad_206",
"pcb_port_240",
"pcb_smtpad_250",
"pcb_port_292",
"pcb_smtpad_254",
"pcb_port_296",
"pcb_smtpad_257",
"pcb_port_299",
"pcb_port_300",
"pcb_smtpad_275",
"pcb_port_321"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_259",
pcb_port_id: "pcb_port_301",
source_port_name: "anode"
},
componentId: "pcb_component_83",
type: "rect",
layers: [
"top"
],
center: {
x: -10.65,
y: 7.5
},
width: 2.5,
height: 2.3,
connectedTo: [
"pcb_smtpad_259",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_260",
pcb_port_id: "pcb_port_306",
source_port_name: "V_POS"
},
componentId: "pcb_component_84",
type: "rect",
layers: [
"top"
],
center: {
x: 10.7499858,
y: -11.749873000000001
},
width: 0.5999988,
height: 0.2999994,
connectedTo: [
"pcb_smtpad_260",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_261",
pcb_port_id: "pcb_port_303",
source_port_name: "GND"
},
componentId: "pcb_component_84",
type: "rect",
layers: [
"top"
],
center: {
x: 9.2500142,
y: -11.749873
},
width: 0.5999988,
height: 0.2999994,
connectedTo: [
"pcb_smtpad_261",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_262",
pcb_port_id: "pcb_port_304",
source_port_name: "ALERT"
},
componentId: "pcb_component_84",
type: "rect",
layers: [
"top"
],
center: {
x: 9.250014199999999,
y: -12.249999
},
width: 0.5999988,
height: 0.2999994,
connectedTo: [
"pcb_smtpad_262",
"connectivity_net1564",
"source_port_304",
"pcb_port_304"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_263",
pcb_port_id: "pcb_port_302",
source_port_name: "SCL"
},
componentId: "pcb_component_84",
type: "rect",
layers: [
"top"
],
center: {
x: 9.2500142,
y: -11.250001
},
width: 0.5999988,
height: 0.2999994,
connectedTo: [
"pcb_smtpad_263",
"connectivity_net496",
"source_trace_227",
"source_trace_200",
"source_port_312",
"source_trace_194",
"source_port_73",
"source_port_302",
"source_net_6",
"pcb_smtpad_53",
"pcb_port_73",
"pcb_port_302",
"pcb_smtpad_270",
"pcb_port_312"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_264",
pcb_port_id: "pcb_port_305",
source_port_name: "ADD0"
},
componentId: "pcb_component_84",
type: "rect",
layers: [
"top"
],
center: {
x: 10.7499858,
y: -12.249999
},
width: 0.5999988,
height: 0.2999994,
connectedTo: [
"pcb_smtpad_264",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_265",
pcb_port_id: "pcb_port_307",
source_port_name: "SDA"
},
componentId: "pcb_component_84",
type: "rect",
layers: [
"top"
],
center: {
x: 10.749985800000001,
y: -11.250001
},
width: 0.5999988,
height: 0.2999994,
connectedTo: [
"pcb_smtpad_265",
"connectivity_net494",
"source_trace_226",
"source_trace_199",
"source_port_310",
"source_trace_193",
"source_port_72",
"source_port_307",
"source_net_5",
"pcb_smtpad_54",
"pcb_port_72",
"pcb_port_307",
"pcb_smtpad_268",
"pcb_port_310"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_266",
pcb_port_id: "pcb_port_308",
source_port_name: "pin1"
},
componentId: "pcb_component_85",
type: "rect",
layers: [
"top"
],
center: {
x: 10,
y: -10.01
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_266",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_267",
pcb_port_id: "pcb_port_309",
source_port_name: "pin2"
},
componentId: "pcb_component_85",
type: "rect",
layers: [
"top"
],
center: {
x: 10,
y: -8.99
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_267",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_268",
pcb_port_id: "pcb_port_310",
source_port_name: "pin1"
},
componentId: "pcb_component_86",
type: "rect",
layers: [
"top"
],
center: {
x: 8.99,
y: -7.5
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_268",
"connectivity_net494",
"source_trace_226",
"source_trace_199",
"source_port_310",
"source_trace_193",
"source_port_72",
"source_port_307",
"source_net_5",
"pcb_smtpad_54",
"pcb_port_72",
"pcb_smtpad_265",
"pcb_port_307",
"pcb_port_310"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_269",
pcb_port_id: "pcb_port_311",
source_port_name: "pin2"
},
componentId: "pcb_component_86",
type: "rect",
layers: [
"top"
],
center: {
x: 10.01,
y: -7.5
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_269",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_270",
pcb_port_id: "pcb_port_312",
source_port_name: "pin1"
},
componentId: "pcb_component_87",
type: "rect",
layers: [
"top"
],
center: {
x: 12,
y: -14.26
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_270",
"connectivity_net496",
"source_trace_227",
"source_trace_200",
"source_port_312",
"source_trace_194",
"source_port_73",
"source_port_302",
"source_net_6",
"pcb_smtpad_53",
"pcb_port_73",
"pcb_smtpad_263",
"pcb_port_302",
"pcb_port_312"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_271",
pcb_port_id: "pcb_port_313",
source_port_name: "pin2"
},
componentId: "pcb_component_87",
type: "rect",
layers: [
"top"
],
center: {
x: 12,
y: -13.24
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_271",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_272",
pcb_port_id: "pcb_port_314",
source_port_name: "pin1"
},
componentId: "pcb_component_88",
type: "rect",
layers: [
"top"
],
center: {
x: 1.24,
y: -17.75
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_272",
"connectivity_net492",
"source_trace_225",
"source_trace_201",
"source_port_314",
"source_trace_139",
"source_port_68",
"source_port_251",
"source_net_4",
"pcb_smtpad_58",
"pcb_port_68",
"pcb_smtpad_216",
"pcb_port_251",
"pcb_port_314"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_273",
pcb_port_id: "pcb_port_315",
source_port_name: "pin2"
},
componentId: "pcb_component_88",
type: "rect",
layers: [
"top"
],
center: {
x: 2.26,
y: -17.75
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_273",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_274",
pcb_port_id: "pcb_port_320",
source_port_name: "pin1"
},
componentId: "pcb_component_93",
type: "rect",
shape: "circle",
layers: [
"top"
],
center: {
x: -6.75,
y: 12.25
},
width: 1.5,
height: 1.5,
connectedTo: [
"pcb_smtpad_274",
"connectivity_net620",
"source_trace_280",
"source_port_320",
"source_trace_149",
"source_trace_148",
"source_trace_144",
"source_trace_141",
"source_port_260",
"source_port_269",
"source_port_294",
"source_port_284",
"source_port_286",
"pcb_smtpad_232",
"pcb_port_260",
"pcb_smtpad_231",
"pcb_port_269",
"pcb_smtpad_246",
"pcb_port_284",
"pcb_smtpad_248",
"pcb_port_286",
"pcb_smtpad_252",
"pcb_port_294",
"pcb_port_320"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_275",
pcb_port_id: "pcb_port_321",
source_port_name: "pin1"
},
componentId: "pcb_component_94",
type: "rect",
shape: "circle",
layers: [
"top"
],
center: {
x: 0.5,
y: 13.5
},
width: 1.5,
height: 1.5,
connectedTo: [
"pcb_smtpad_275",
"connectivity_net622",
"source_trace_281",
"source_port_321",
"source_trace_160",
"source_trace_159",
"source_trace_147",
"source_trace_146",
"source_trace_145",
"source_trace_142",
"source_port_292",
"source_trace_112",
"source_port_226",
"source_trace_111",
"source_port_177",
"source_trace_110",
"source_port_225",
"source_trace_108",
"source_port_223",
"source_port_170",
"source_port_296",
"source_port_299",
"source_port_300",
"source_port_238",
"source_port_240",
"pcb_smtpad_160",
"pcb_port_170",
"pcb_smtpad_167",
"pcb_port_177",
"pcb_smtpad_189",
"pcb_port_223",
"pcb_smtpad_191",
"pcb_port_225",
"pcb_smtpad_192",
"pcb_port_226",
"pcb_smtpad_204",
"pcb_port_238",
"pcb_smtpad_206",
"pcb_port_240",
"pcb_smtpad_250",
"pcb_port_292",
"pcb_smtpad_254",
"pcb_port_296",
"pcb_smtpad_257",
"pcb_port_299",
"pcb_smtpad_258",
"pcb_port_300",
"pcb_port_321"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_276",
pcb_port_id: "pcb_port_322",
source_port_name: "pin1"
},
componentId: "pcb_component_95",
type: "rect",
shape: "circle",
layers: [
"top"
],
center: {
x: 7.75,
y: 4
},
width: 1.5,
height: 1.5,
connectedTo: [
"pcb_smtpad_276",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_277",
pcb_port_id: "pcb_port_323",
source_port_name: "_POS"
},
componentId: "pcb_component_96",
type: "rect",
layers: [
"top"
],
center: {
x: 11.400185,
y: 4.000057999999999
},
width: 2.400046,
height: 2.400046,
connectedTo: [
"pcb_smtpad_277",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_278",
pcb_port_id: "pcb_port_324",
source_port_name: "_NEG"
},
componentId: "pcb_component_96",
type: "rect",
layers: [
"top"
],
center: {
x: 18.599815,
y: 4.000057999999999
},
width: 2.400046,
height: 2.400046,
connectedTo: [
"pcb_smtpad_278",
"connectivity_net515",
"source_trace_235",
"source_port_331",
"source_trace_233",
"source_port_329",
"source_port_324",
"pcb_port_324",
"pcb_smtpad_283",
"pcb_port_329",
"pcb_smtpad_284",
"pcb_port_331"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_279",
pcb_port_id: "pcb_port_325",
source_port_name: "NC1"
},
componentId: "pcb_component_96",
type: "rect",
layers: [
"top"
],
center: {
x: 18.599561,
y: 11.199688
},
width: 2.400046,
height: 2.400046,
connectedTo: [
"pcb_smtpad_279",
"connectivity_net1565",
"source_port_325",
"pcb_port_325"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_280",
pcb_port_id: "pcb_port_326",
source_port_name: "NC2"
},
componentId: "pcb_component_96",
type: "rect",
layers: [
"top"
],
center: {
x: 11.400185,
y: 11.199942
},
width: 2.400046,
height: 2.400046,
connectedTo: [
"pcb_smtpad_280",
"connectivity_net1566",
"source_port_326",
"pcb_port_326"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_281",
pcb_port_id: "pcb_port_327",
source_port_name: "G"
},
componentId: "pcb_component_97",
type: "rect",
layers: [
"top"
],
center: {
x: -2.05004,
y: 7.999998
},
width: 0.6500114,
height: 0.999998,
connectedTo: [
"pcb_smtpad_281",
"connectivity_net504",
"source_trace_230",
"source_trace_229",
"source_port_333",
"source_port_327",
"source_port_334",
"pcb_port_327",
"pcb_smtpad_287",
"pcb_port_333",
"pcb_smtpad_288",
"pcb_port_334"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_282",
pcb_port_id: "pcb_port_328",
source_port_name: "S"
},
componentId: "pcb_component_97",
type: "rect",
layers: [
"top"
],
center: {
x: -3.94996,
y: 7.999998
},
width: 0.6500114,
height: 0.999998,
connectedTo: [
"pcb_smtpad_282",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_283",
pcb_port_id: "pcb_port_329",
source_port_name: "D"
},
componentId: "pcb_component_97",
type: "rect",
layers: [
"top"
],
center: {
x: -3,
y: 6.000002
},
width: 0.6500114,
height: 0.999998,
connectedTo: [
"pcb_smtpad_283",
"connectivity_net515",
"source_trace_235",
"source_port_331",
"source_trace_233",
"source_port_329",
"source_port_324",
"pcb_smtpad_278",
"pcb_port_324",
"pcb_port_329",
"pcb_smtpad_284",
"pcb_port_331"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_284",
pcb_port_id: "pcb_port_331",
source_port_name: "anode"
},
componentId: "pcb_component_98",
type: "rect",
layers: [
"top"
],
center: {
x: 2.6,
y: 12.725022000000001
},
width: 0.9500108,
height: 1.1999976,
connectedTo: [
"pcb_smtpad_284",
"connectivity_net515",
"source_trace_235",
"source_port_331",
"source_trace_233",
"source_port_329",
"source_port_324",
"pcb_smtpad_278",
"pcb_port_324",
"pcb_smtpad_283",
"pcb_port_329",
"pcb_port_331"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_285",
pcb_port_id: "pcb_port_330",
source_port_name: "cathode"
},
componentId: "pcb_component_98",
type: "rect",
layers: [
"top"
],
center: {
x: 2.6,
y: 9.324978
},
width: 0.9500108,
height: 1.1999976,
connectedTo: [
"pcb_smtpad_285",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_286",
pcb_port_id: "pcb_port_332",
source_port_name: "pin1"
},
componentId: "pcb_component_99",
type: "rect",
layers: [
"top"
],
center: {
x: 14.24,
y: 1.75
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_286",
"connectivity_net498",
"source_trace_228",
"source_port_61",
"source_port_332",
"pcb_smtpad_65",
"pcb_port_61",
"pcb_port_332"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_287",
pcb_port_id: "pcb_port_333",
source_port_name: "pin2"
},
componentId: "pcb_component_99",
type: "rect",
layers: [
"top"
],
center: {
x: 15.26,
y: 1.75
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_287",
"connectivity_net504",
"source_trace_230",
"source_trace_229",
"source_port_333",
"source_port_327",
"source_port_334",
"pcb_smtpad_281",
"pcb_port_327",
"pcb_port_333",
"pcb_smtpad_288",
"pcb_port_334"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_288",
pcb_port_id: "pcb_port_334",
source_port_name: "pin1"
},
componentId: "pcb_component_100",
type: "rect",
layers: [
"top"
],
center: {
x: 3.01,
y: 1.95
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_288",
"connectivity_net504",
"source_trace_230",
"source_trace_229",
"source_port_333",
"source_port_327",
"source_port_334",
"pcb_smtpad_281",
"pcb_port_327",
"pcb_smtpad_287",
"pcb_port_333",
"pcb_port_334"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_289",
pcb_port_id: "pcb_port_335",
source_port_name: "pin2"
},
componentId: "pcb_component_100",
type: "rect",
layers: [
"top"
],
center: {
x: 1.99,
y: 1.95
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_289",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_290",
pcb_port_id: "pcb_port_336",
source_port_name: "pin1"
},
componentId: "pcb_component_101",
type: "rect",
layers: [
"top"
],
center: {
x: 12.25,
y: -0.825
},
width: 0.95,
height: 0.8,
connectedTo: [
"pcb_smtpad_290",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_291",
pcb_port_id: "pcb_port_337",
source_port_name: "pin2"
},
componentId: "pcb_component_101",
type: "rect",
layers: [
"top"
],
center: {
x: 12.25,
y: 0.825
},
width: 0.95,
height: 0.8,
connectedTo: [
"pcb_smtpad_291",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_292",
pcb_port_id: "pcb_port_338",
source_port_name: "pin1"
},
componentId: "pcb_component_102",
type: "rect",
layers: [
"bottom"
],
center: {
x: 0.635,
y: -4.29
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_292",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_293",
pcb_port_id: "pcb_port_339",
source_port_name: "pin2"
},
componentId: "pcb_component_102",
type: "rect",
layers: [
"bottom"
],
center: {
x: 0.635,
y: -5.31
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_293",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_294",
pcb_port_id: "pcb_port_340",
source_port_name: "pin1"
},
componentId: "pcb_component_103",
type: "rect",
layers: [
"bottom"
],
center: {
x: 2.035,
y: -4.29
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_294",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_295",
pcb_port_id: "pcb_port_341",
source_port_name: "pin2"
},
componentId: "pcb_component_103",
type: "rect",
layers: [
"bottom"
],
center: {
x: 2.035,
y: -5.31
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_295",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_296",
pcb_port_id: "pcb_port_342",
source_port_name: "pin1"
},
componentId: "pcb_component_104",
type: "rect",
layers: [
"top"
],
center: {
x: -3.4787999999999997,
y: -5.5
},
width: 1.2075,
height: 1.701,
connectedTo: [
"pcb_smtpad_296",
"connectivity_net1578",
"pcb_trace_9",
"source_trace_240",
"source_trace_180",
"source_port_171",
"source_port_342",
"source_port_351",
"pcb_smtpad_161",
"pcb_port_171",
"pcb_port_342",
"pcb_smtpad_302",
"pcb_port_351"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_297",
pcb_port_id: "pcb_port_343",
source_port_name: "pin2"
},
componentId: "pcb_component_104",
type: "rect",
layers: [
"top"
],
center: {
x: -0.5212000000000001,
y: -5.5
},
width: 1.2075,
height: 1.701,
connectedTo: [
"pcb_smtpad_297",
"connectivity_net1579",
"pcb_trace_10",
"source_trace_241",
"source_trace_239",
"source_port_343",
"source_port_288",
"source_port_344",
"pcb_plated_hole_8",
"pcb_port_288",
"pcb_port_343",
"pcb_smtpad_298",
"pcb_port_344"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_298",
pcb_port_id: "pcb_port_344",
source_port_name: "IN_NEG"
},
componentId: "pcb_component_105",
type: "rect",
layers: [
"top"
],
center: {
x: 2.7051,
y: -3.4050000000000002
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_298",
"connectivity_net1579",
"pcb_trace_10",
"source_trace_241",
"source_trace_239",
"source_port_343",
"source_port_288",
"source_port_344",
"pcb_plated_hole_8",
"pcb_port_288",
"pcb_smtpad_297",
"pcb_port_343",
"pcb_port_344"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_299",
pcb_port_id: "pcb_port_345",
source_port_name: "GND"
},
componentId: "pcb_component_105",
type: "rect",
layers: [
"top"
],
center: {
x: 2.7051,
y: -2.1350000000000002
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_299",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_300",
pcb_port_id: "pcb_port_346",
source_port_name: "REF2"
},
componentId: "pcb_component_105",
type: "rect",
layers: [
"top"
],
center: {
x: 2.7051,
y: -0.8650000000000001
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_300",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_301",
pcb_port_id: "pcb_port_347",
source_port_name: "NC"
},
componentId: "pcb_component_105",
type: "rect",
layers: [
"top"
],
center: {
x: 2.7051,
y: 0.4049999999999998
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_301",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_302",
pcb_port_id: "pcb_port_351",
source_port_name: "IN_POS"
},
componentId: "pcb_component_105",
type: "rect",
layers: [
"top"
],
center: {
x: -2.7051,
y: -3.405
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_302",
"connectivity_net1578",
"pcb_trace_9",
"source_trace_240",
"source_trace_180",
"source_port_171",
"source_port_342",
"source_port_351",
"pcb_smtpad_161",
"pcb_port_171",
"pcb_smtpad_296",
"pcb_port_342",
"pcb_port_351"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_303",
pcb_port_id: "pcb_port_350",
source_port_name: "REF1"
},
componentId: "pcb_component_105",
type: "rect",
layers: [
"top"
],
center: {
x: -2.7051,
y: -2.135
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_303",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_304",
pcb_port_id: "pcb_port_349",
source_port_name: "VS"
},
componentId: "pcb_component_105",
type: "rect",
layers: [
"top"
],
center: {
x: -2.7051,
y: -0.8649999999999999
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_304",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_305",
pcb_port_id: "pcb_port_348",
source_port_name: "OUT"
},
componentId: "pcb_component_105",
type: "rect",
layers: [
"top"
],
center: {
x: -2.7051,
y: 0.40500000000000025
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_305",
"connectivity_net544",
"source_trace_249",
"source_port_348",
"source_port_352",
"pcb_port_348",
"pcb_smtpad_306",
"pcb_port_352"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_306",
pcb_port_id: "pcb_port_352",
source_port_name: "pin1"
},
componentId: "pcb_component_106",
type: "rect",
layers: [
"top"
],
center: {
x: -3.25,
y: 3.49
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_306",
"connectivity_net544",
"source_trace_249",
"source_port_348",
"source_port_352",
"pcb_smtpad_305",
"pcb_port_348",
"pcb_port_352"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_307",
pcb_port_id: "pcb_port_353",
source_port_name: "pin2"
},
componentId: "pcb_component_106",
type: "rect",
layers: [
"top"
],
center: {
x: -3.25,
y: 4.51
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_307",
"connectivity_net550",
"source_trace_251",
"source_trace_250",
"source_port_353",
"source_port_74",
"source_port_354",
"pcb_smtpad_52",
"pcb_port_74",
"pcb_port_353",
"pcb_smtpad_308",
"pcb_port_354"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_308",
pcb_port_id: "pcb_port_354",
source_port_name: "pin1"
},
componentId: "pcb_component_107",
type: "rect",
layers: [
"top"
],
center: {
x: -4.25,
y: 3.49
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_308",
"connectivity_net550",
"source_trace_251",
"source_trace_250",
"source_port_353",
"source_port_74",
"source_port_354",
"pcb_smtpad_52",
"pcb_port_74",
"pcb_smtpad_307",
"pcb_port_353",
"pcb_port_354"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_309",
pcb_port_id: "pcb_port_355",
source_port_name: "pin2"
},
componentId: "pcb_component_107",
type: "rect",
layers: [
"top"
],
center: {
x: -4.25,
y: 4.51
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_309",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_310",
pcb_port_id: "pcb_port_356",
source_port_name: "pin1"
},
componentId: "pcb_component_108",
type: "rect",
layers: [
"top"
],
center: {
x: -4.5,
y: -1.29
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_310",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_311",
pcb_port_id: "pcb_port_357",
source_port_name: "pin2"
},
componentId: "pcb_component_108",
type: "rect",
layers: [
"top"
],
center: {
x: -4.5,
y: -2.31
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_311",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_312",
pcb_port_id: "pcb_port_358",
source_port_name: "pin1"
},
componentId: "pcb_component_109",
type: "rect",
layers: [
"top"
],
center: {
x: 6.51,
y: 3
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_312",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_313",
pcb_port_id: "pcb_port_359",
source_port_name: "pin2"
},
componentId: "pcb_component_109",
type: "rect",
layers: [
"top"
],
center: {
x: 5.49,
y: 3
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_313",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_314",
pcb_port_id: "pcb_port_360",
source_port_name: "pin1"
},
componentId: "pcb_component_110",
type: "rect",
layers: [
"top"
],
center: {
x: 6.0212,
y: -4.5
},
width: 1.2075,
height: 1.701,
connectedTo: [
"pcb_smtpad_314",
"connectivity_net1580",
"pcb_trace_11",
"source_trace_254",
"source_trace_182",
"source_port_176",
"source_port_360",
"source_port_369",
"pcb_smtpad_166",
"pcb_port_176",
"pcb_port_360",
"pcb_smtpad_320",
"pcb_port_369"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_315",
pcb_port_id: "pcb_port_361",
source_port_name: "pin2"
},
componentId: "pcb_component_110",
type: "rect",
layers: [
"top"
],
center: {
x: 8.9788,
y: -4.5
},
width: 1.2075,
height: 1.701,
connectedTo: [
"pcb_smtpad_315",
"connectivity_net1581",
"pcb_trace_12",
"source_trace_255",
"source_trace_253",
"source_port_361",
"source_port_290",
"source_port_362",
"pcb_plated_hole_10",
"pcb_port_290",
"pcb_port_361",
"pcb_smtpad_316",
"pcb_port_362"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_316",
pcb_port_id: "pcb_port_362",
source_port_name: "IN_NEG"
},
componentId: "pcb_component_111",
type: "rect",
layers: [
"top"
],
center: {
x: 10.2051,
y: -2.4050000000000002
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_316",
"connectivity_net1581",
"pcb_trace_12",
"source_trace_255",
"source_trace_253",
"source_port_361",
"source_port_290",
"source_port_362",
"pcb_plated_hole_10",
"pcb_port_290",
"pcb_smtpad_315",
"pcb_port_361",
"pcb_port_362"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_317",
pcb_port_id: "pcb_port_363",
source_port_name: "GND"
},
componentId: "pcb_component_111",
type: "rect",
layers: [
"top"
],
center: {
x: 10.2051,
y: -1.1350000000000002
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_317",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_318",
pcb_port_id: "pcb_port_364",
source_port_name: "REF2"
},
componentId: "pcb_component_111",
type: "rect",
layers: [
"top"
],
center: {
x: 10.2051,
y: 0.1349999999999999
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_318",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_319",
pcb_port_id: "pcb_port_365",
source_port_name: "NC"
},
componentId: "pcb_component_111",
type: "rect",
layers: [
"top"
],
center: {
x: 10.2051,
y: 1.4049999999999998
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_319",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_320",
pcb_port_id: "pcb_port_369",
source_port_name: "IN_POS"
},
componentId: "pcb_component_111",
type: "rect",
layers: [
"top"
],
center: {
x: 4.7949,
y: -2.405
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_320",
"connectivity_net1580",
"pcb_trace_11",
"source_trace_254",
"source_trace_182",
"source_port_176",
"source_port_360",
"source_port_369",
"pcb_smtpad_166",
"pcb_port_176",
"pcb_smtpad_314",
"pcb_port_360",
"pcb_port_369"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_321",
pcb_port_id: "pcb_port_368",
source_port_name: "REF1"
},
componentId: "pcb_component_111",
type: "rect",
layers: [
"top"
],
center: {
x: 4.7949,
y: -1.1349999999999998
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_321",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_322",
pcb_port_id: "pcb_port_367",
source_port_name: "VS"
},
componentId: "pcb_component_111",
type: "rect",
layers: [
"top"
],
center: {
x: 4.7949,
y: 0.13500000000000012
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_322",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_323",
pcb_port_id: "pcb_port_366",
source_port_name: "OUT"
},
componentId: "pcb_component_111",
type: "rect",
layers: [
"top"
],
center: {
x: 4.7949,
y: 1.4050000000000002
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_smtpad_323",
"connectivity_net575",
"source_trace_263",
"source_port_366",
"source_port_370",
"pcb_port_366",
"pcb_smtpad_324",
"pcb_port_370"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_324",
pcb_port_id: "pcb_port_370",
source_port_name: "pin1"
},
componentId: "pcb_component_112",
type: "rect",
layers: [
"top"
],
center: {
x: 4,
y: 3.76
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_324",
"connectivity_net575",
"source_trace_263",
"source_port_366",
"source_port_370",
"pcb_smtpad_323",
"pcb_port_366",
"pcb_port_370"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_325",
pcb_port_id: "pcb_port_371",
source_port_name: "pin2"
},
componentId: "pcb_component_112",
type: "rect",
layers: [
"top"
],
center: {
x: 4,
y: 2.74
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_325",
"connectivity_net581",
"source_trace_265",
"source_trace_264",
"source_port_371",
"source_port_75",
"source_port_372",
"pcb_smtpad_51",
"pcb_port_75",
"pcb_port_371",
"pcb_smtpad_326",
"pcb_port_372"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_326",
pcb_port_id: "pcb_port_372",
source_port_name: "pin1"
},
componentId: "pcb_component_113",
type: "rect",
layers: [
"top"
],
center: {
x: 4.99,
y: 4.25
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_326",
"connectivity_net581",
"source_trace_265",
"source_trace_264",
"source_port_371",
"source_port_75",
"source_port_372",
"pcb_smtpad_51",
"pcb_port_75",
"pcb_smtpad_325",
"pcb_port_371",
"pcb_port_372"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_327",
pcb_port_id: "pcb_port_373",
source_port_name: "pin2"
},
componentId: "pcb_component_113",
type: "rect",
layers: [
"top"
],
center: {
x: 6.01,
y: 4.25
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_327",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_328",
pcb_port_id: "pcb_port_374",
source_port_name: "pin4"
},
componentId: "pcb_component_114",
type: "rect",
layers: [
"top"
],
center: {
x: -15.350088,
y: -8.733501
},
width: 0.5500116,
height: 0.9169908,
connectedTo: [
"pcb_smtpad_328",
"connectivity_net585",
"source_trace_267",
"source_trace_67",
"source_port_19",
"source_trace_54",
"source_port_142",
"source_trace_53",
"source_port_133",
"source_trace_6",
"source_port_11",
"source_net_7",
"source_port_374",
"pcb_smtpad_11",
"pcb_port_11",
"pcb_smtpad_19",
"pcb_port_19",
"pcb_smtpad_139",
"pcb_port_133",
"pcb_smtpad_138",
"pcb_port_142",
"pcb_port_374"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_329",
pcb_port_id: "pcb_port_377",
source_port_name: "pin3"
},
componentId: "pcb_component_114",
type: "rect",
layers: [
"top"
],
center: {
x: -14.449912000000001,
y: -8.733501
},
width: 0.5500116,
height: 0.9169908,
connectedTo: [
"pcb_smtpad_329",
"connectivity_net609",
"source_trace_276",
"source_port_377",
"source_port_388",
"pcb_port_377",
"pcb_smtpad_342",
"pcb_port_388"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_330",
pcb_port_id: "pcb_port_376",
source_port_name: "pin2"
},
componentId: "pcb_component_114",
type: "rect",
layers: [
"top"
],
center: {
x: -14.449912000000001,
y: -7.066499
},
width: 0.5500116,
height: 0.9169908,
connectedTo: [
"pcb_smtpad_330",
"connectivity_net598",
"source_trace_272",
"source_port_376",
"source_port_383",
"pcb_port_376",
"pcb_smtpad_337",
"pcb_port_383"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_331",
pcb_port_id: "pcb_port_375",
source_port_name: "pin1"
},
componentId: "pcb_component_114",
type: "rect",
layers: [
"top"
],
center: {
x: -15.350088,
y: -7.066499
},
width: 0.5500116,
height: 0.9169908,
connectedTo: [
"pcb_smtpad_331",
"connectivity_net587",
"source_trace_268",
"source_port_375",
"source_port_378",
"pcb_port_375",
"pcb_smtpad_332",
"pcb_port_378"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_332",
pcb_port_id: "pcb_port_378",
source_port_name: "pin1"
},
componentId: "pcb_component_115",
type: "rect",
layers: [
"top"
],
center: {
x: -3.24,
y: 2.5
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_332",
"connectivity_net587",
"source_trace_268",
"source_port_375",
"source_port_378",
"pcb_smtpad_331",
"pcb_port_375",
"pcb_port_378"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_333",
pcb_port_id: "pcb_port_379",
source_port_name: "pin2"
},
componentId: "pcb_component_115",
type: "rect",
layers: [
"top"
],
center: {
x: -4.26,
y: 2.5
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_333",
"connectivity_net590",
"source_trace_269",
"source_port_379",
"source_port_380",
"pcb_port_379",
"pcb_smtpad_334",
"pcb_port_380"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_334",
pcb_port_id: "pcb_port_380",
source_port_name: "pin3"
},
componentId: "pcb_component_116",
type: "rect",
layers: [
"top"
],
center: {
x: -2.44996,
y: -17.75
},
width: 0.8999982,
height: 0.6999986,
connectedTo: [
"pcb_smtpad_334",
"connectivity_net590",
"source_trace_269",
"source_port_379",
"source_port_380",
"pcb_smtpad_333",
"pcb_port_379",
"pcb_port_380"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_335",
pcb_port_id: "pcb_port_381",
source_port_name: "pin1"
},
componentId: "pcb_component_116",
type: "rect",
layers: [
"top"
],
center: {
x: -0.55004,
y: -17.100014
},
width: 0.8999982,
height: 0.6999986,
connectedTo: [
"pcb_smtpad_335",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_336",
pcb_port_id: "pcb_port_382",
source_port_name: "pin2"
},
componentId: "pcb_component_116",
type: "rect",
layers: [
"top"
],
center: {
x: -0.55004,
y: -18.399986
},
width: 0.8999982,
height: 0.6999986,
connectedTo: [
"pcb_smtpad_336",
"connectivity_net595",
"source_trace_271",
"source_port_71",
"source_port_382",
"pcb_smtpad_55",
"pcb_port_71",
"pcb_port_382"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_337",
pcb_port_id: "pcb_port_383",
source_port_name: "pin1"
},
componentId: "pcb_component_117",
type: "rect",
layers: [
"top"
],
center: {
x: 1.75,
y: -20.26
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_337",
"connectivity_net598",
"source_trace_272",
"source_port_376",
"source_port_383",
"pcb_smtpad_330",
"pcb_port_376",
"pcb_port_383"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_338",
pcb_port_id: "pcb_port_384",
source_port_name: "pin2"
},
componentId: "pcb_component_117",
type: "rect",
layers: [
"top"
],
center: {
x: 1.75,
y: -19.24
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_338",
"connectivity_net601",
"source_trace_273",
"source_port_384",
"source_port_385",
"pcb_port_384",
"pcb_smtpad_339",
"pcb_port_385"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_339",
pcb_port_id: "pcb_port_385",
source_port_name: "pin3"
},
componentId: "pcb_component_118",
type: "rect",
layers: [
"top"
],
center: {
x: 11.5,
y: -5.94996
},
width: 0.6999986,
height: 0.8999982,
connectedTo: [
"pcb_smtpad_339",
"connectivity_net601",
"source_trace_273",
"source_port_384",
"source_port_385",
"pcb_smtpad_338",
"pcb_port_384",
"pcb_port_385"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_340",
pcb_port_id: "pcb_port_386",
source_port_name: "pin1"
},
componentId: "pcb_component_118",
type: "rect",
layers: [
"top"
],
center: {
x: 10.850014,
y: -4.05004
},
width: 0.6999986,
height: 0.8999982,
connectedTo: [
"pcb_smtpad_340",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_341",
pcb_port_id: "pcb_port_387",
source_port_name: "pin2"
},
componentId: "pcb_component_118",
type: "rect",
layers: [
"top"
],
center: {
x: 12.149986,
y: -4.05004
},
width: 0.6999986,
height: 0.8999982,
connectedTo: [
"pcb_smtpad_341",
"connectivity_net606",
"source_trace_275",
"source_port_38",
"source_port_387",
"pcb_smtpad_88",
"pcb_port_38",
"pcb_port_387"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_342",
pcb_port_id: "pcb_port_388",
source_port_name: "pin1"
},
componentId: "pcb_component_119",
type: "rect",
layers: [
"top"
],
center: {
x: 0.7,
y: -19.71
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_342",
"connectivity_net609",
"source_trace_276",
"source_port_377",
"source_port_388",
"pcb_smtpad_329",
"pcb_port_377",
"pcb_port_388"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_343",
pcb_port_id: "pcb_port_389",
source_port_name: "pin2"
},
componentId: "pcb_component_119",
type: "rect",
layers: [
"top"
],
center: {
x: 0.7,
y: -18.689999999999998
},
width: 0.64,
height: 0.54,
connectedTo: [
"pcb_smtpad_343",
"connectivity_net612",
"source_trace_277",
"source_port_389",
"source_port_390",
"pcb_port_389",
"pcb_smtpad_344",
"pcb_port_390"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_344",
pcb_port_id: "pcb_port_390",
source_port_name: "pin3"
},
componentId: "pcb_component_120",
type: "rect",
layers: [
"top"
],
center: {
x: 12,
y: -9.29996
},
width: 0.6999986,
height: 0.8999982,
connectedTo: [
"pcb_smtpad_344",
"connectivity_net612",
"source_trace_277",
"source_port_389",
"source_port_390",
"pcb_smtpad_343",
"pcb_port_389",
"pcb_port_390"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_345",
pcb_port_id: "pcb_port_391",
source_port_name: "pin1"
},
componentId: "pcb_component_120",
type: "rect",
layers: [
"top"
],
center: {
x: 11.350014,
y: -7.40004
},
width: 0.6999986,
height: 0.8999982,
connectedTo: [
"pcb_smtpad_345",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_346",
pcb_port_id: "pcb_port_392",
source_port_name: "pin2"
},
componentId: "pcb_component_120",
type: "rect",
layers: [
"top"
],
center: {
x: 12.649986,
y: -7.40004
},
width: 0.6999986,
height: 0.8999982,
connectedTo: [
"pcb_smtpad_346",
"connectivity_net617",
"source_trace_279",
"source_port_39",
"source_port_392",
"pcb_smtpad_87",
"pcb_port_39",
"pcb_port_392"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_347",
pcb_port_id: "pcb_port_393",
source_port_name: "VDD5V"
},
componentId: "pcb_component_121",
type: "rect",
layers: [
"bottom"
],
center: {
x: 1.905,
y: -2.7051
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_smtpad_347",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_348",
pcb_port_id: "pcb_port_394",
source_port_name: "VDD3V3"
},
componentId: "pcb_component_121",
type: "rect",
layers: [
"bottom"
],
center: {
x: 0.635,
y: -2.7051
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_smtpad_348",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_349",
pcb_port_id: "pcb_port_395",
source_port_name: "OUT"
},
componentId: "pcb_component_121",
type: "rect",
layers: [
"bottom"
],
center: {
x: -0.635,
y: -2.7051
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_smtpad_349",
"connectivity_net1567",
"source_port_395",
"pcb_port_395"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_350",
pcb_port_id: "pcb_port_396",
source_port_name: "GND"
},
componentId: "pcb_component_121",
type: "rect",
layers: [
"bottom"
],
center: {
x: -1.905,
y: -2.7051
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_smtpad_350",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_351",
pcb_port_id: "pcb_port_400",
source_port_name: "DIR"
},
componentId: "pcb_component_121",
type: "rect",
layers: [
"bottom"
],
center: {
x: 1.905,
y: 2.7051
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_smtpad_351",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_352",
pcb_port_id: "pcb_port_399",
source_port_name: "SCL"
},
componentId: "pcb_component_121",
type: "rect",
layers: [
"bottom"
],
center: {
x: 0.635,
y: 2.7051
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_smtpad_352",
"connectivity_net652",
"source_trace_295",
"source_port_403",
"source_trace_284",
"source_port_37",
"source_port_399",
"pcb_smtpad_89",
"pcb_port_37",
"pcb_port_399",
"pcb_smtpad_357",
"pcb_port_403"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_353",
pcb_port_id: "pcb_port_398",
source_port_name: "SDA"
},
componentId: "pcb_component_121",
type: "rect",
layers: [
"bottom"
],
center: {
x: -0.635,
y: 2.7051
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_smtpad_353",
"connectivity_net648",
"source_trace_293",
"source_port_401",
"source_trace_283",
"source_port_36",
"source_port_398",
"pcb_smtpad_90",
"pcb_port_36",
"pcb_port_398",
"pcb_smtpad_355",
"pcb_port_401"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_354",
pcb_port_id: "pcb_port_397",
source_port_name: "PGO"
},
componentId: "pcb_component_121",
type: "rect",
layers: [
"bottom"
],
center: {
x: -1.905,
y: 2.7051
},
width: 0.5684012,
height: 1.950212,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_smtpad_354",
"connectivity_net1568",
"source_port_397",
"pcb_port_397"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_355",
pcb_port_id: "pcb_port_401",
source_port_name: "pin1"
},
componentId: "pcb_component_122",
type: "rect",
layers: [
"top"
],
center: {
x: -5.51,
y: 13
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_355",
"connectivity_net648",
"source_trace_293",
"source_port_401",
"source_trace_283",
"source_port_36",
"source_port_398",
"pcb_smtpad_90",
"pcb_port_36",
"pcb_smtpad_353",
"pcb_port_398",
"pcb_port_401"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_356",
pcb_port_id: "pcb_port_402",
source_port_name: "pin2"
},
componentId: "pcb_component_122",
type: "rect",
layers: [
"top"
],
center: {
x: -4.49,
y: 13
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_356",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_port_402",
"pcb_smtpad_358",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_357",
pcb_port_id: "pcb_port_403",
source_port_name: "pin1"
},
componentId: "pcb_component_123",
type: "rect",
layers: [
"top"
],
center: {
x: -8.51,
y: 2.75
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_357",
"connectivity_net652",
"source_trace_295",
"source_port_403",
"source_trace_284",
"source_port_37",
"source_port_399",
"pcb_smtpad_89",
"pcb_port_37",
"pcb_smtpad_352",
"pcb_port_399",
"pcb_port_403"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_358",
pcb_port_id: "pcb_port_404",
source_port_name: "pin2"
},
componentId: "pcb_component_123",
type: "rect",
layers: [
"top"
],
center: {
x: -7.49,
y: 2.75
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_358",
"connectivity_net654",
"source_trace_296",
"source_port_404",
"source_trace_294",
"source_port_402",
"source_trace_291",
"source_port_340",
"source_trace_289",
"source_port_338",
"source_trace_286",
"source_trace_285",
"source_trace_261",
"source_port_358",
"source_trace_257",
"source_trace_256",
"source_trace_247",
"source_port_356",
"source_trace_243",
"source_trace_242",
"source_trace_237",
"source_port_336",
"source_trace_236",
"source_port_330",
"source_trace_234",
"source_port_323",
"source_trace_203",
"source_port_313",
"source_trace_202",
"source_port_311",
"source_trace_198",
"source_port_308",
"source_trace_197",
"source_port_306",
"source_trace_192",
"source_port_249",
"source_trace_128",
"source_port_237",
"source_trace_104",
"source_port_119",
"source_trace_98",
"source_port_114",
"source_trace_95",
"source_port_113",
"source_trace_81",
"source_trace_21",
"source_port_120",
"source_port_159",
"source_trace_77",
"source_port_98",
"source_trace_75",
"source_port_126",
"source_trace_72",
"source_port_124",
"source_trace_70",
"source_port_18",
"source_trace_52",
"source_trace_50",
"source_trace_27",
"source_port_122",
"source_port_82",
"source_trace_49",
"source_port_78",
"source_trace_42",
"source_port_35",
"source_trace_41",
"source_port_44",
"source_trace_40",
"source_port_56",
"source_trace_39",
"source_port_67",
"source_trace_38",
"source_port_76",
"source_trace_37",
"source_port_83",
"source_trace_25",
"source_port_23",
"source_trace_23",
"source_port_21",
"source_trace_19",
"source_port_101",
"source_trace_16",
"source_port_27",
"source_trace_14",
"source_port_25",
"source_trace_12",
"source_port_31",
"source_trace_10",
"source_port_29",
"source_net_9",
"source_port_349",
"source_port_350",
"source_port_367",
"source_port_368",
"source_port_394",
"source_port_393",
"pcb_smtpad_18",
"pcb_port_18",
"pcb_smtpad_21",
"pcb_port_21",
"pcb_smtpad_23",
"pcb_port_23",
"pcb_smtpad_25",
"pcb_port_25",
"pcb_smtpad_27",
"pcb_port_27",
"pcb_smtpad_29",
"pcb_port_29",
"pcb_smtpad_31",
"pcb_port_31",
"pcb_smtpad_91",
"pcb_port_35",
"pcb_smtpad_82",
"pcb_port_44",
"pcb_smtpad_70",
"pcb_port_56",
"pcb_smtpad_59",
"pcb_port_67",
"pcb_smtpad_50",
"pcb_port_76",
"pcb_smtpad_48",
"pcb_port_78",
"pcb_smtpad_44",
"pcb_port_82",
"pcb_smtpad_43",
"pcb_port_83",
"pcb_smtpad_98",
"pcb_port_98",
"pcb_smtpad_101",
"pcb_port_101",
"pcb_smtpad_113",
"pcb_port_113",
"pcb_smtpad_114",
"pcb_port_114",
"pcb_smtpad_119",
"pcb_port_119",
"pcb_smtpad_120",
"pcb_port_120",
"pcb_smtpad_122",
"pcb_port_122",
"pcb_smtpad_124",
"pcb_port_124",
"pcb_smtpad_126",
"pcb_port_126",
"pcb_smtpad_152",
"pcb_port_159",
"pcb_smtpad_203",
"pcb_port_237",
"pcb_smtpad_215",
"pcb_port_249",
"pcb_smtpad_260",
"pcb_port_306",
"pcb_smtpad_266",
"pcb_port_308",
"pcb_smtpad_269",
"pcb_port_311",
"pcb_smtpad_271",
"pcb_port_313",
"pcb_smtpad_277",
"pcb_port_323",
"pcb_smtpad_285",
"pcb_port_330",
"pcb_smtpad_290",
"pcb_port_336",
"pcb_smtpad_292",
"pcb_port_338",
"pcb_smtpad_294",
"pcb_port_340",
"pcb_smtpad_304",
"pcb_port_349",
"pcb_smtpad_303",
"pcb_port_350",
"pcb_smtpad_310",
"pcb_port_356",
"pcb_smtpad_312",
"pcb_port_358",
"pcb_smtpad_322",
"pcb_port_367",
"pcb_smtpad_321",
"pcb_port_368",
"pcb_smtpad_347",
"pcb_port_393",
"pcb_smtpad_348",
"pcb_port_394",
"pcb_smtpad_356",
"pcb_port_402",
"pcb_port_404"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_359",
pcb_port_id: "pcb_port_405",
source_port_name: "pin3"
},
componentId: "pcb_component_124",
type: "rect",
layers: [
"top"
],
center: {
x: -9.549986,
y: -17.500127
},
width: 0.5100066,
height: 0.3999992,
connectedTo: [
"pcb_smtpad_359",
"connectivity_net662",
"source_trace_299",
"source_trace_298",
"source_port_405",
"source_port_279",
"source_port_408",
"pcb_smtpad_234",
"pcb_port_279",
"pcb_port_405",
"pcb_smtpad_362",
"pcb_port_408"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_360",
pcb_port_id: "pcb_port_407",
source_port_name: "pin1"
},
componentId: "pcb_component_124",
type: "rect",
layers: [
"top"
],
center: {
x: -8.250014,
y: -17.999999
},
width: 0.5100066,
height: 0.3999992,
connectedTo: [
"pcb_smtpad_360",
"connectivity_net656",
"source_trace_297",
"source_port_40",
"source_port_407",
"pcb_smtpad_86",
"pcb_port_40",
"pcb_port_407"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_361",
pcb_port_id: "pcb_port_406",
source_port_name: "pin2"
},
componentId: "pcb_component_124",
type: "rect",
layers: [
"top"
],
center: {
x: -8.250014,
y: -17.000001
},
width: 0.5100066,
height: 0.3999992,
connectedTo: [
"pcb_smtpad_361",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_362",
pcb_port_id: "pcb_port_408",
source_port_name: "pin1"
},
componentId: "pcb_component_125",
type: "rect",
layers: [
"top"
],
center: {
x: 16.24,
y: 2
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_362",
"connectivity_net662",
"source_trace_299",
"source_trace_298",
"source_port_405",
"source_port_279",
"source_port_408",
"pcb_smtpad_234",
"pcb_port_279",
"pcb_smtpad_359",
"pcb_port_405",
"pcb_port_408"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_363",
pcb_port_id: "pcb_port_409",
source_port_name: "pin2"
},
componentId: "pcb_component_125",
type: "rect",
layers: [
"top"
],
center: {
x: 17.26,
y: 2
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_363",
"connectivity_net688",
"source_trace_310",
"source_port_419",
"source_trace_305",
"source_port_414",
"source_trace_300",
"source_port_409",
"source_trace_189",
"source_port_254",
"source_trace_152",
"source_trace_150",
"source_port_285",
"source_port_271",
"source_port_282",
"pcb_smtpad_220",
"pcb_port_254",
"pcb_smtpad_242",
"pcb_port_271",
"pcb_smtpad_244",
"pcb_port_282",
"pcb_smtpad_247",
"pcb_port_285",
"pcb_port_409",
"pcb_smtpad_368",
"pcb_port_414",
"pcb_smtpad_373",
"pcb_port_419"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_364",
pcb_port_id: "pcb_port_410",
source_port_name: "pin3"
},
componentId: "pcb_component_126",
type: "rect",
layers: [
"top"
],
center: {
x: 3.750014,
y: -18.700127
},
width: 0.5100066,
height: 0.3999992,
connectedTo: [
"pcb_smtpad_364",
"connectivity_net674",
"source_trace_304",
"source_trace_303",
"source_port_410",
"source_port_272",
"source_port_413",
"pcb_smtpad_241",
"pcb_port_272",
"pcb_port_410",
"pcb_smtpad_367",
"pcb_port_413"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_365",
pcb_port_id: "pcb_port_412",
source_port_name: "pin1"
},
componentId: "pcb_component_126",
type: "rect",
layers: [
"top"
],
center: {
x: 5.0499860000000005,
y: -19.199999
},
width: 0.5100066,
height: 0.3999992,
connectedTo: [
"pcb_smtpad_365",
"connectivity_net668",
"source_trace_302",
"source_port_41",
"source_port_412",
"pcb_smtpad_85",
"pcb_port_41",
"pcb_port_412"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_366",
pcb_port_id: "pcb_port_411",
source_port_name: "pin2"
},
componentId: "pcb_component_126",
type: "rect",
layers: [
"top"
],
center: {
x: 5.0499860000000005,
y: -18.200001
},
width: 0.5100066,
height: 0.3999992,
connectedTo: [
"pcb_smtpad_366",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_367",
pcb_port_id: "pcb_port_413",
source_port_name: "pin1"
},
componentId: "pcb_component_127",
type: "rect",
layers: [
"top"
],
center: {
x: 18.24,
y: 2
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_367",
"connectivity_net674",
"source_trace_304",
"source_trace_303",
"source_port_410",
"source_port_272",
"source_port_413",
"pcb_smtpad_241",
"pcb_port_272",
"pcb_smtpad_364",
"pcb_port_410",
"pcb_port_413"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_368",
pcb_port_id: "pcb_port_414",
source_port_name: "pin2"
},
componentId: "pcb_component_127",
type: "rect",
layers: [
"top"
],
center: {
x: 19.26,
y: 2
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_368",
"connectivity_net688",
"source_trace_310",
"source_port_419",
"source_trace_305",
"source_port_414",
"source_trace_300",
"source_port_409",
"source_trace_189",
"source_port_254",
"source_trace_152",
"source_trace_150",
"source_port_285",
"source_port_271",
"source_port_282",
"pcb_smtpad_220",
"pcb_port_254",
"pcb_smtpad_242",
"pcb_port_271",
"pcb_smtpad_244",
"pcb_port_282",
"pcb_smtpad_247",
"pcb_port_285",
"pcb_smtpad_363",
"pcb_port_409",
"pcb_port_414",
"pcb_smtpad_373",
"pcb_port_419"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_369",
pcb_port_id: "pcb_port_415",
source_port_name: "pin3"
},
componentId: "pcb_component_128",
type: "rect",
layers: [
"top"
],
center: {
x: 6.550014,
y: -18.700127
},
width: 0.5100066,
height: 0.3999992,
connectedTo: [
"pcb_smtpad_369",
"connectivity_net686",
"source_trace_309",
"source_trace_308",
"source_port_415",
"source_port_273",
"source_port_418",
"pcb_smtpad_240",
"pcb_port_273",
"pcb_port_415",
"pcb_smtpad_372",
"pcb_port_418"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_370",
pcb_port_id: "pcb_port_417",
source_port_name: "pin1"
},
componentId: "pcb_component_128",
type: "rect",
layers: [
"top"
],
center: {
x: 7.849986,
y: -19.199999
},
width: 0.5100066,
height: 0.3999992,
connectedTo: [
"pcb_smtpad_370",
"connectivity_net680",
"source_trace_307",
"source_port_42",
"source_port_417",
"pcb_smtpad_84",
"pcb_port_42",
"pcb_port_417"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_371",
pcb_port_id: "pcb_port_416",
source_port_name: "pin2"
},
componentId: "pcb_component_128",
type: "rect",
layers: [
"top"
],
center: {
x: 7.849986,
y: -18.200001
},
width: 0.5100066,
height: 0.3999992,
connectedTo: [
"pcb_smtpad_371",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_372",
pcb_port_id: "pcb_port_418",
source_port_name: "pin1"
},
componentId: "pcb_component_129",
type: "rect",
layers: [
"top"
],
center: {
x: -16.76,
y: 6.25
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_372",
"connectivity_net686",
"source_trace_309",
"source_trace_308",
"source_port_415",
"source_port_273",
"source_port_418",
"pcb_smtpad_240",
"pcb_port_273",
"pcb_smtpad_369",
"pcb_port_415",
"pcb_port_418"
]
},
{
circuitJsonMetadata: {
pcb_smtpad_id: "pcb_smtpad_373",
pcb_port_id: "pcb_port_419",
source_port_name: "pin2"
},
componentId: "pcb_component_129",
type: "rect",
layers: [
"top"
],
center: {
x: -15.74,
y: 6.25
},
width: 0.54,
height: 0.64,
connectedTo: [
"pcb_smtpad_373",
"connectivity_net688",
"source_trace_310",
"source_port_419",
"source_trace_305",
"source_port_414",
"source_trace_300",
"source_port_409",
"source_trace_189",
"source_port_254",
"source_trace_152",
"source_trace_150",
"source_port_285",
"source_port_271",
"source_port_282",
"pcb_smtpad_220",
"pcb_port_254",
"pcb_smtpad_242",
"pcb_port_271",
"pcb_smtpad_244",
"pcb_port_282",
"pcb_smtpad_247",
"pcb_port_285",
"pcb_smtpad_363",
"pcb_port_409",
"pcb_smtpad_368",
"pcb_port_414",
"pcb_port_419"
]
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_0",
pcb_port_id: "pcb_port_131",
source_port_name: "pin14_alt1"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: -10.325112,
y: 19.4741308
},
width: 1.1999976,
height: 1.7999964,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_plated_hole_0",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_1",
pcb_port_id: "pcb_port_129",
source_port_name: "EH2"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: -10.325112,
y: 15.2943068
},
width: 1.1999976,
height: 1.999996,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_plated_hole_1",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_2",
pcb_port_id: "pcb_port_128",
source_port_name: "EH1"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: -1.6748880000000002,
y: 15.2943068
},
width: 1.1999976,
height: 1.999996,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_plated_hole_2",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_3",
pcb_port_id: "pcb_port_130",
source_port_name: "pin13_alt1"
},
componentId: "pcb_component_34",
type: "rect",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: -1.6748880000000002,
y: 19.474130799999998
},
width: 1.1999976,
height: 1.7999964,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_plated_hole_3",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_4",
pcb_port_id: "pcb_port_258",
source_port_name: "EH4"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 2.674888,
y: 19.4741308
},
width: 1.1999976,
height: 1.7999964,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_plated_hole_4",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_5",
pcb_port_id: "pcb_port_256",
source_port_name: "EH2"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 2.674888,
y: 15.2943068
},
width: 1.1999976,
height: 1.999996,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_plated_hole_5",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_6",
pcb_port_id: "pcb_port_255",
source_port_name: "EH1"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 11.325112,
y: 15.2943068
},
width: 1.1999976,
height: 1.999996,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_plated_hole_6",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_7",
pcb_port_id: "pcb_port_257",
source_port_name: "EH3"
},
componentId: "pcb_component_73",
type: "rect",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 11.325112,
y: 19.474130799999998
},
width: 1.1999976,
height: 1.7999964,
ccwRotationDegrees: 180,
connectedTo: [
"pcb_plated_hole_7",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_8",
pcb_port_id: "pcb_port_288",
source_port_name: "A_PLUS"
},
componentId: "pcb_component_78",
type: "oval",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 17,
y: -7.65
},
width: 1.4,
height: 1.4,
connectedTo: [
"pcb_plated_hole_8",
"connectivity_net1579",
"pcb_trace_10",
"source_trace_241",
"source_trace_239",
"source_port_343",
"source_port_288",
"source_port_344",
"pcb_port_288",
"pcb_smtpad_297",
"pcb_port_343",
"pcb_smtpad_298",
"pcb_port_344"
]
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_9",
pcb_port_id: "pcb_port_289",
source_port_name: "A_MINUS"
},
componentId: "pcb_component_78",
type: "rect",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 17,
y: -5.65
},
width: 1.2,
height: 1.75,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_plated_hole_9",
"connectivity_net407",
"source_trace_181",
"source_port_173",
"source_port_289",
"pcb_smtpad_163",
"pcb_port_173",
"pcb_port_289"
]
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_10",
pcb_port_id: "pcb_port_290",
source_port_name: "B_PLUS"
},
componentId: "pcb_component_78",
type: "rect",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 17,
y: -3.6500000000000004
},
width: 1.2,
height: 1.75,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_plated_hole_10",
"connectivity_net1581",
"pcb_trace_12",
"source_trace_255",
"source_trace_253",
"source_port_361",
"source_port_290",
"source_port_362",
"pcb_port_290",
"pcb_smtpad_315",
"pcb_port_361",
"pcb_smtpad_316",
"pcb_port_362"
]
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_11",
pcb_port_id: "pcb_port_291",
source_port_name: "B_MINUS"
},
componentId: "pcb_component_78",
type: "rect",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 17,
y: -1.6500000000000004
},
width: 1.2,
height: 1.75,
ccwRotationDegrees: 90,
connectedTo: [
"pcb_plated_hole_11",
"connectivity_net413",
"source_trace_183",
"source_port_174",
"source_port_291",
"pcb_smtpad_164",
"pcb_port_174",
"pcb_port_291"
]
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_12",
pcb_port_id: "pcb_port_316",
source_port_name: "GND"
},
componentId: "pcb_component_89",
type: "oval",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: -15.5,
y: -15.5
},
width: 5.6,
height: 5.6,
connectedTo: [
"pcb_plated_hole_12",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_13",
pcb_port_id: "pcb_port_317",
source_port_name: "GND"
},
componentId: "pcb_component_90",
type: "oval",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: -15.5,
y: 15.5
},
width: 5.6,
height: 5.6,
connectedTo: [
"pcb_plated_hole_13",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_14",
pcb_port_id: "pcb_port_318",
source_port_name: "GND"
},
componentId: "pcb_component_91",
type: "oval",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 15.5,
y: -15.5
},
width: 5.6,
height: 5.6,
connectedTo: [
"pcb_plated_hole_14",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
circuitJsonMetadata: {
pcb_plated_hole_id: "pcb_plated_hole_15",
pcb_port_id: "pcb_port_319",
source_port_name: "GND"
},
componentId: "pcb_component_92",
type: "oval",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 15.5,
y: 15.5
},
width: 5.6,
height: 5.6,
connectedTo: [
"pcb_plated_hole_15",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
offBoardConnectsTo: [
"source_component_internal_connection_0"
],
netIsAssignable: true
},
{
componentId: "pcb_component_34",
obstacleId: "pcb_hole_0",
isNonPlatedHole: true,
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: -3.100082,
y: 15.7944328
},
width: 0.5999988,
height: 0.5999988,
connectedTo: [
]
},
{
componentId: "pcb_component_34",
obstacleId: "pcb_hole_1",
isNonPlatedHole: true,
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: -8.899918,
y: 15.7944328
},
width: 0.5999988,
height: 0.5999988,
connectedTo: [
]
},
{
componentId: "pcb_component_73",
obstacleId: "pcb_hole_2",
isNonPlatedHole: true,
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 9.899918,
y: 15.7944328
},
width: 0.5999988,
height: 0.5999988,
connectedTo: [
]
},
{
componentId: "pcb_component_73",
obstacleId: "pcb_hole_3",
isNonPlatedHole: true,
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 4.1000820000000004,
y: 15.7944328
},
width: 0.5999988,
height: 0.5999988,
connectedTo: [
]
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_0"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: -4.8,
y: -7.90065
},
connectedTo: [
"pcb_via_0",
"connectivity_net1574",
"pcb_trace_5",
"pcb_port_161",
"pcb_port_162",
"source_trace_222",
"source_trace_135",
"source_trace_130",
"source_trace_129",
"source_port_63",
"source_port_161",
"source_port_162",
"source_port_188",
"source_net_1",
"pcb_smtpad_63",
"pcb_port_63",
"pcb_smtpad_177",
"pcb_port_188"
],
width: 0.45,
height: 0.45
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_1"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: -4.05,
y: -7.45055
},
connectedTo: [
"pcb_via_1",
"connectivity_net1575",
"pcb_trace_6",
"pcb_port_163",
"pcb_port_164",
"source_trace_223",
"source_trace_136",
"source_trace_132",
"source_trace_131",
"source_port_64",
"source_port_163",
"source_port_164",
"source_port_186",
"source_net_2",
"pcb_smtpad_62",
"pcb_port_64",
"pcb_smtpad_179",
"pcb_port_186"
],
width: 0.45,
height: 0.45
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_2"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: -4.8,
y: -7.00045
},
connectedTo: [
"pcb_via_2",
"connectivity_net1576",
"pcb_trace_7",
"pcb_port_165",
"pcb_port_166",
"source_trace_224",
"source_trace_137",
"source_trace_134",
"source_trace_133",
"source_port_65",
"source_port_165",
"source_port_166",
"source_port_182",
"source_net_3",
"pcb_smtpad_61",
"pcb_port_65",
"pcb_smtpad_183",
"pcb_port_182"
],
width: 0.45,
height: 0.45
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_3"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 5.5000230000000006,
y: -9.949902
},
connectedTo: [
"pcb_via_3",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
width: 0.5000244,
height: 0.5000244,
netIsAssignable: true,
offBoardConnectsTo: [
"source_component_internal_connection_0"
]
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_4"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 4.300127000000001,
y: -12.349948
},
connectedTo: [
"pcb_via_4",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
width: 0.5000244,
height: 0.5000244,
netIsAssignable: true,
offBoardConnectsTo: [
"source_component_internal_connection_0"
]
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_5"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 5.5000230000000006,
y: -11.150052
},
connectedTo: [
"pcb_via_5",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
width: 0.5000244,
height: 0.5000244,
netIsAssignable: true,
offBoardConnectsTo: [
"source_component_internal_connection_0"
]
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_6"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 5.5000230000000006,
y: -12.349948
},
connectedTo: [
"pcb_via_6",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
width: 0.5000244,
height: 0.5000244,
netIsAssignable: true,
offBoardConnectsTo: [
"source_component_internal_connection_0"
]
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_7"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 3.099977000000001,
y: -12.349948
},
connectedTo: [
"pcb_via_7",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
width: 0.5000244,
height: 0.5000244,
netIsAssignable: true,
offBoardConnectsTo: [
"source_component_internal_connection_0"
]
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_8"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 5.5000230000000006,
y: -13.550098
},
connectedTo: [
"pcb_via_8",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
width: 0.5000244,
height: 0.5000244,
netIsAssignable: true,
offBoardConnectsTo: [
"source_component_internal_connection_0"
]
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_9"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 4.300127000000001,
y: -13.550098
},
connectedTo: [
"pcb_via_9",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
width: 0.5000244,
height: 0.5000244,
netIsAssignable: true,
offBoardConnectsTo: [
"source_component_internal_connection_0"
]
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_10"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 3.099977000000001,
y: -13.550098
},
connectedTo: [
"pcb_via_10",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
width: 0.5000244,
height: 0.5000244,
netIsAssignable: true,
offBoardConnectsTo: [
"source_component_internal_connection_0"
]
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_11"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 4.300127000000001,
y: -11.150052
},
connectedTo: [
"pcb_via_11",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
width: 0.5000244,
height: 0.5000244,
netIsAssignable: true,
offBoardConnectsTo: [
"source_component_internal_connection_0"
]
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_12"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 4.300127000000001,
y: -9.972
},
connectedTo: [
"pcb_via_12",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
width: 0.5000244,
height: 0.5000244,
netIsAssignable: true,
offBoardConnectsTo: [
"source_component_internal_connection_0"
]
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_13"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 3.099977000000001,
y: -11.150052
},
connectedTo: [
"pcb_via_13",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_via_14",
"pcb_port_218",
"pcb_port_219",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
width: 0.5000244,
height: 0.5000244,
netIsAssignable: true,
offBoardConnectsTo: [
"source_component_internal_connection_0"
]
},
{
circuitJsonMetadata: {
pcb_via_id: "pcb_via_14"
},
type: "rect",
shape: "circle",
layers: [
"top",
"inner1",
"inner2",
"bottom"
],
center: {
x: 3.099977000000001,
y: -9.949902
},
connectedTo: [
"pcb_via_14",
"connectivity_net1577",
"pcb_trace_8",
"source_port_219",
"source_port_218",
"source_port_217",
"source_port_216",
"source_port_215",
"source_port_214",
"source_port_213",
"source_port_212",
"source_port_211",
"source_port_210",
"source_port_209",
"source_port_208",
"source_port_207",
"source_port_206",
"source_port_205",
"source_port_204",
"source_port_203",
"source_port_202",
"source_port_201",
"source_port_200",
"source_port_199",
"source_port_198",
"source_port_197",
"source_port_196",
"pcb_port_218",
"pcb_port_219",
"pcb_via_13",
"pcb_port_216",
"pcb_port_217",
"pcb_via_12",
"pcb_port_214",
"pcb_port_215",
"pcb_via_11",
"pcb_port_212",
"pcb_port_213",
"pcb_via_10",
"pcb_port_210",
"pcb_port_211",
"pcb_via_9",
"pcb_port_208",
"pcb_port_209",
"pcb_via_8",
"pcb_port_206",
"pcb_port_207",
"pcb_via_7",
"pcb_port_204",
"pcb_port_205",
"pcb_via_6",
"pcb_port_202",
"pcb_port_203",
"pcb_via_5",
"pcb_port_200",
"pcb_port_201",
"pcb_via_4",
"pcb_port_198",
"pcb_port_199",
"pcb_via_3",
"pcb_port_196",
"pcb_port_197",
"source_trace_311",
"source_port_416",
"source_trace_306",
"source_port_411",
"source_trace_301",
"source_port_406",
"source_trace_292",
"source_port_341",
"source_trace_290",
"source_port_339",
"source_trace_288",
"source_port_400",
"source_trace_287",
"source_port_396",
"source_trace_282",
"source_port_322",
"source_trace_278",
"source_port_391",
"source_trace_274",
"source_port_386",
"source_trace_270",
"source_port_381",
"source_trace_266",
"source_port_373",
"source_trace_262",
"source_port_359",
"source_trace_260",
"source_port_365",
"source_trace_259",
"source_port_363",
"source_trace_258",
"source_port_364",
"source_trace_252",
"source_port_355",
"source_trace_248",
"source_port_357",
"source_trace_246",
"source_port_347",
"source_trace_245",
"source_port_345",
"source_trace_244",
"source_port_346",
"source_trace_238",
"source_port_337",
"source_trace_232",
"source_port_328",
"source_trace_231",
"source_port_335",
"source_trace_221",
"source_port_319",
"source_trace_220",
"source_port_318",
"source_trace_219",
"source_port_317",
"source_trace_218",
"source_port_316",
"source_trace_217",
"source_trace_216",
"source_trace_215",
"source_trace_214",
"source_trace_213",
"source_trace_212",
"source_trace_211",
"source_trace_210",
"source_trace_209",
"source_trace_208",
"source_trace_207",
"source_trace_206",
"source_trace_205",
"source_port_315",
"source_trace_204",
"source_port_309",
"source_trace_196",
"source_port_305",
"source_trace_195",
"source_port_303",
"source_trace_179",
"source_port_247",
"source_trace_178",
"source_port_241",
"source_trace_177",
"source_port_239",
"source_trace_176",
"source_port_245",
"source_trace_175",
"source_port_243",
"source_trace_174",
"source_port_283",
"source_trace_173",
"source_port_301",
"source_trace_172",
"source_port_298",
"source_trace_171",
"source_port_297",
"source_trace_170",
"source_port_281",
"source_trace_169",
"source_port_258",
"source_trace_168",
"source_port_257",
"source_trace_167",
"source_port_256",
"source_trace_166",
"source_port_255",
"source_trace_165",
"source_port_270",
"source_trace_164",
"source_port_259",
"source_trace_163",
"source_port_180",
"source_trace_162",
"source_trace_161",
"source_trace_114",
"source_port_194",
"source_port_195",
"source_trace_125",
"source_port_191",
"source_trace_124",
"source_port_190",
"source_trace_123",
"source_port_233",
"source_trace_122",
"source_port_235",
"source_trace_116",
"source_port_229",
"source_trace_113",
"source_port_227",
"source_trace_103",
"source_port_117",
"source_trace_100",
"source_port_110",
"source_trace_97",
"source_port_109",
"source_trace_93",
"source_port_104",
"source_trace_91",
"source_port_97",
"source_trace_90",
"source_port_95",
"source_trace_89",
"source_port_7",
"source_trace_87",
"source_port_5",
"source_trace_82",
"source_port_160",
"source_trace_80",
"source_port_155",
"source_trace_76",
"source_port_127",
"source_trace_74",
"source_port_93",
"source_trace_73",
"source_port_125",
"source_trace_71",
"source_trace_68",
"source_port_20",
"source_port_15",
"source_trace_66",
"source_port_147",
"source_trace_65",
"source_port_145",
"source_trace_64",
"source_port_131",
"source_trace_63",
"source_port_129",
"source_trace_62",
"source_port_130",
"source_trace_61",
"source_port_128",
"source_trace_60",
"source_port_143",
"source_trace_59",
"source_port_132",
"source_trace_51",
"source_port_91",
"source_trace_30",
"source_port_34",
"source_trace_28",
"source_port_123",
"source_trace_26",
"source_port_24",
"source_trace_24",
"source_port_22",
"source_trace_22",
"source_port_121",
"source_trace_20",
"source_port_53",
"source_trace_17",
"source_port_28",
"source_trace_15",
"source_port_26",
"source_trace_13",
"source_port_32",
"source_trace_11",
"source_port_30",
"source_trace_1",
"source_port_2",
"source_trace_0",
"source_port_3",
"source_net_0",
"pcb_smtpad_3",
"pcb_port_2",
"pcb_smtpad_1",
"pcb_port_3",
"pcb_smtpad_5",
"pcb_port_5",
"pcb_smtpad_7",
"pcb_port_7",
"pcb_smtpad_14",
"pcb_port_15",
"pcb_smtpad_20",
"pcb_port_20",
"pcb_smtpad_22",
"pcb_port_22",
"pcb_smtpad_24",
"pcb_port_24",
"pcb_smtpad_26",
"pcb_port_26",
"pcb_smtpad_28",
"pcb_port_28",
"pcb_smtpad_30",
"pcb_port_30",
"pcb_smtpad_32",
"pcb_port_32",
"pcb_smtpad_34",
"pcb_port_34",
"pcb_smtpad_73",
"pcb_port_53",
"pcb_smtpad_35",
"pcb_port_91",
"pcb_smtpad_93",
"pcb_port_93",
"pcb_smtpad_95",
"pcb_port_95",
"pcb_smtpad_97",
"pcb_port_97",
"pcb_smtpad_104",
"pcb_port_104",
"pcb_smtpad_109",
"pcb_port_109",
"pcb_smtpad_110",
"pcb_port_110",
"pcb_smtpad_117",
"pcb_port_117",
"pcb_smtpad_121",
"pcb_port_121",
"pcb_smtpad_123",
"pcb_port_123",
"pcb_smtpad_125",
"pcb_port_125",
"pcb_smtpad_127",
"pcb_port_127",
"pcb_plated_hole_2",
"pcb_port_128",
"pcb_plated_hole_1",
"pcb_port_129",
"pcb_plated_hole_3",
"pcb_port_130",
"pcb_plated_hole_0",
"pcb_port_131",
"pcb_smtpad_136",
"pcb_port_132",
"pcb_smtpad_137",
"pcb_port_143",
"pcb_smtpad_141",
"pcb_port_145",
"pcb_smtpad_143",
"pcb_port_147",
"pcb_smtpad_151",
"pcb_port_155",
"pcb_smtpad_156",
"pcb_port_160",
"pcb_smtpad_170",
"pcb_port_180",
"pcb_smtpad_175",
"pcb_port_190",
"pcb_smtpad_174",
"pcb_port_191",
"pcb_smtpad_171",
"pcb_port_194",
"pcb_smtpad_185",
"pcb_port_195",
"pcb_smtpad_193",
"pcb_port_227",
"pcb_smtpad_195",
"pcb_port_229",
"pcb_smtpad_199",
"pcb_port_233",
"pcb_smtpad_201",
"pcb_port_235",
"pcb_smtpad_205",
"pcb_port_239",
"pcb_smtpad_207",
"pcb_port_241",
"pcb_smtpad_209",
"pcb_port_243",
"pcb_smtpad_211",
"pcb_port_245",
"pcb_smtpad_213",
"pcb_port_247",
"pcb_plated_hole_6",
"pcb_port_255",
"pcb_plated_hole_5",
"pcb_port_256",
"pcb_plated_hole_7",
"pcb_port_257",
"pcb_plated_hole_4",
"pcb_port_258",
"pcb_smtpad_229",
"pcb_port_259",
"pcb_smtpad_230",
"pcb_port_270",
"pcb_smtpad_243",
"pcb_port_281",
"pcb_smtpad_245",
"pcb_port_283",
"pcb_smtpad_255",
"pcb_port_297",
"pcb_smtpad_256",
"pcb_port_298",
"pcb_smtpad_259",
"pcb_port_301",
"pcb_smtpad_261",
"pcb_port_303",
"pcb_smtpad_264",
"pcb_port_305",
"pcb_smtpad_267",
"pcb_port_309",
"pcb_smtpad_273",
"pcb_port_315",
"pcb_plated_hole_12",
"pcb_port_316",
"pcb_plated_hole_13",
"pcb_port_317",
"pcb_plated_hole_14",
"pcb_port_318",
"pcb_plated_hole_15",
"pcb_port_319",
"pcb_smtpad_276",
"pcb_port_322",
"pcb_smtpad_282",
"pcb_port_328",
"pcb_smtpad_289",
"pcb_port_335",
"pcb_smtpad_291",
"pcb_port_337",
"pcb_smtpad_293",
"pcb_port_339",
"pcb_smtpad_295",
"pcb_port_341",
"pcb_smtpad_299",
"pcb_port_345",
"pcb_smtpad_300",
"pcb_port_346",
"pcb_smtpad_301",
"pcb_port_347",
"pcb_smtpad_309",
"pcb_port_355",
"pcb_smtpad_311",
"pcb_port_357",
"pcb_smtpad_313",
"pcb_port_359",
"pcb_smtpad_317",
"pcb_port_363",
"pcb_smtpad_318",
"pcb_port_364",
"pcb_smtpad_319",
"pcb_port_365",
"pcb_smtpad_327",
"pcb_port_373",
"pcb_smtpad_335",
"pcb_port_381",
"pcb_smtpad_340",
"pcb_port_386",
"pcb_smtpad_345",
"pcb_port_391",
"pcb_smtpad_350",
"pcb_port_396",
"pcb_smtpad_351",
"pcb_port_400",
"pcb_smtpad_361",
"pcb_port_406",
"pcb_smtpad_366",
"pcb_port_411",
"pcb_smtpad_371",
"pcb_port_416"
],
width: 0.5000244,
height: 0.5000244,
netIsAssignable: true,
offBoardConnectsTo: [
"source_component_internal_connection_0"
]
},
{
type: "rect",
center: {
x: -11.174999999999999,
y: -10.225000000000001
},
width: 0.1,
height: 0.9499999999999996,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -10.45,
y: -9.8
},
width: 1.5499999999999994,
height: 0.1,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -9.724997833333333,
y: -9.753127625000001
},
width: 0.10000433333333306,
height: 0.19374475000000083,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -9.7249935,
y: -9.659382875
},
width: 0.10000433333333306,
height: 0.19374474999999905,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -9.724989166666667,
y: -9.565638125
},
width: 0.10000433333333483,
height: 0.19374475000000083,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -9.724984833333332,
y: -9.471893375
},
width: 0.10000433333333306,
height: 0.19374474999999905,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -9.7249805,
y: -9.378148625000001
},
width: 0.10000433333333306,
height: 0.19374475000000083,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -9.724976166666666,
y: -9.284403874999999
},
width: 0.10000433333333306,
height: 0.19374475000000083,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -9.724971833333333,
y: -9.190659125
},
width: 0.10000433333333306,
height: 0.19374474999999905,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -9.7249675,
y: -9.096914375
},
width: 0.10000433333333306,
height: 0.19374475000000083,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -9.724963166666667,
y: -9.003169625
},
width: 0.10000433333333306,
height: 0.19374474999999905,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -9.724958833333332,
y: -8.909424875
},
width: 0.10000433333333483,
height: 0.19374475000000083,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -9.724954499999999,
y: -8.815680125
},
width: 0.10000433333333306,
height: 0.19374474999999905,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -9.724950166666666,
y: -8.721935375000001
},
width: 0.10000433333333306,
height: 0.19374475000000083,
layers: [
"top"
],
connectedTo: [
"source_trace_83",
"pcb_port_0",
"pcb_port_54"
]
},
{
type: "rect",
center: {
x: -6.8475,
y: -11.517500000000002
},
width: 0.1650000000000004,
height: 0.1649999999999995,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -6.9125000000000005,
y: -11.4525
},
width: 0.1649999999999995,
height: 0.16500000000000128,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -6.9775,
y: -11.3875
},
width: 0.1649999999999995,
height: 0.1649999999999995,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -7.0425,
y: -11.322500000000002
},
width: 0.1650000000000004,
height: 0.1649999999999995,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -7.1075,
y: -11.2575
},
width: 0.1650000000000004,
height: 0.1649999999999995,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -7.1725,
y: -11.1925
},
width: 0.1649999999999995,
height: 0.16500000000000128,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -7.2375,
y: -11.127500000000001
},
width: 0.1649999999999995,
height: 0.1649999999999995,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -7.3025,
y: -11.0625
},
width: 0.1650000000000004,
height: 0.1649999999999995,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -7.3675,
y: -10.9975
},
width: 0.1650000000000004,
height: 0.16500000000000128,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -7.4325,
y: -10.932500000000001
},
width: 0.1649999999999995,
height: 0.1649999999999995,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -7.665,
y: -10.9
},
width: 0.5000000000000003,
height: 0.1,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -7.890000000000001,
y: -10.875
},
width: 0.14999999999999983,
height: 0.14999999999999894,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -7.965,
y: -10.850000000000001
},
width: 0.20000000000000054,
height: 0.1,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.040000000000001,
y: -10.825000000000001
},
width: 0.15000000000000072,
height: 0.15000000000000072,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.09,
y: -10.775000000000002
},
width: 0.14999999999999894,
height: 0.14999999999999894,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.14,
y: -10.725000000000001
},
width: 0.15000000000000072,
height: 0.15000000000000072,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.165000000000001,
y: -10.675
},
width: 0.1,
height: 0.15000000000000072,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.190000000000001,
y: -10.625
},
width: 0.14999999999999894,
height: 0.14999999999999894,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.215,
y: -10.450000000000001
},
width: 0.1,
height: 0.4000000000000007,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.24909090909091,
y: -10.26590909090909
},
width: 0.16818181818181835,
height: 0.16818181818181835,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.317272727272726,
y: -10.197727272727274
},
width: 0.16818181818181835,
height: 0.16818181818181835,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.385454545454547,
y: -10.129545454545454
},
width: 0.16818181818181835,
height: 0.16818181818181835,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.453636363636363,
y: -10.061363636363637
},
width: 0.16818181818181835,
height: 0.16818181818181835,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.521818181818183,
y: -9.993181818181817
},
width: 0.16818181818181835,
height: 0.16818181818181835,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.59,
y: -9.925
},
width: 0.16818181818181657,
height: 0.16818181818181657,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.658181818181816,
y: -9.856818181818184
},
width: 0.16818181818181835,
height: 0.16818181818181835,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.726363636363637,
y: -9.788636363636364
},
width: 0.16818181818181835,
height: 0.16818181818181835,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.794545454545453,
y: -9.720454545454547
},
width: 0.16818181818181835,
height: 0.16818181818181835,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.862727272727273,
y: -9.652272727272727
},
width: 0.16818181818181835,
height: 0.16818181818181835,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.93090909090909,
y: -9.58409090909091
},
width: 0.16818181818181835,
height: 0.16818181818181835,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.965,
y: -9.5
},
width: 0.1,
height: 0.19999999999999965,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -8.99625,
y: -9.418750000000001
},
width: 0.1625,
height: 0.1625,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -9.05875,
y: -9.356250000000001
},
width: 0.1625,
height: 0.1625,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -9.12125,
y: -9.293750000000001
},
width: 0.1625,
height: 0.1625,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -9.18375,
y: -9.231250000000001
},
width: 0.1625,
height: 0.1625,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -9.215,
y: -9
},
width: 0.1,
height: 0.5000000000000003,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -9.242538,
y: -8.76876575
},
width: 0.1550759999999997,
height: 0.16246850000000138,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -9.297614,
y: -8.706297249999999
},
width: 0.1550759999999997,
height: 0.1624684999999996,
layers: [
"top"
],
connectedTo: [
"source_trace_85",
"pcb_port_9",
"pcb_port_55"
]
},
{
type: "rect",
center: {
x: -11.879999999999999,
y: -15.55
},
width: 0.5900000000000002,
height: 0.1,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -12.125,
y: -13.350000000000001
},
width: 0.1,
height: 4.5,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -12.081818181818182,
y: -11.127272727272729
},
width: 0.18636363636363598,
height: 0.14545454545454498,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -11.995454545454546,
y: -11.081818181818182
},
width: 0.18636363636363776,
height: 0.14545454545454675,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -11.909090909090908,
y: -11.036363636363635
},
width: 0.18636363636363598,
height: 0.14545454545454498,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -11.822727272727272,
y: -10.990909090909092
},
width: 0.18636363636363598,
height: 0.14545454545454498,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -11.736363636363636,
y: -10.945454545454545
},
width: 0.18636363636363598,
height: 0.14545454545454498,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -11.649999999999999,
y: -10.9
},
width: 0.18636363636363776,
height: 0.14545454545454675,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -11.563636363636363,
y: -10.854545454545455
},
width: 0.18636363636363598,
height: 0.14545454545454498,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -11.477272727272727,
y: -10.809090909090909
},
width: 0.18636363636363598,
height: 0.14545454545454498,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -11.39090909090909,
y: -10.763636363636365
},
width: 0.18636363636363598,
height: 0.14545454545454498,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -11.304545454545455,
y: -10.718181818181819
},
width: 0.18636363636363776,
height: 0.14545454545454675,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -11.218181818181817,
y: -10.672727272727272
},
width: 0.18636363636363598,
height: 0.14545454545454498,
layers: [
"top"
],
connectedTo: [
"source_trace_86",
"pcb_port_4",
"pcb_port_0"
]
},
{
type: "rect",
center: {
x: -5.635773714285714,
y: -7.853683785714285
},
width: 0.2785805714285715,
height: 0.15722557142857116,
layers: [
"top"
],
connectedTo: [
"source_trace_130",
"pcb_port_63",
"pcb_port_161"
]
},
{
type: "rect",
center: {
x: -5.507193142857142,
y: -7.860909357142857
},
width: 0.2785805714285715,
height: 0.15722557142857205,
layers: [
"top"
],
connectedTo: [
"source_trace_130",
"pcb_port_63",
"pcb_port_161"
]
},
{
type: "rect",
center: {
x: -5.378612571428571,
y: -7.868134928571429
},
width: 0.2785805714285715,
height: 0.15722557142857116,
layers: [
"top"
],
connectedTo: [
"source_trace_130",
"pcb_port_63",
"pcb_port_161"
]
},
{
type: "rect",
center: {
x: -5.250031999999999,
y: -7.875360499999999
},
width: 0.2785805714285706,
height: 0.15722557142857116,
layers: [
"top"
],
connectedTo: [
"source_trace_130",
"pcb_port_63",
"pcb_port_161"
]
},
{
type: "rect",
center: {
x: -5.1214514285714285,
y: -7.882586071428571
},
width: 0.2785805714285715,
height: 0.15722557142857116,
layers: [
"top"
],
connectedTo: [
"source_trace_130",
"pcb_port_63",
"pcb_port_161"
]
},
{
type: "rect",
center: {
x: -4.992870857142857,
y: -7.8898116428571425
},
width: 0.2785805714285715,
height: 0.15722557142857205,
layers: [
"top"
],
connectedTo: [
"source_trace_130",
"pcb_port_63",
"pcb_port_161"
]
},
{
type: "rect",
center: {
x: -4.864290285714286,
y: -7.897037214285714
},
width: 0.2785805714285715,
height: 0.15722557142857116,
layers: [
"top"
],
connectedTo: [
"source_trace_130",
"pcb_port_63",
"pcb_port_161"
]
},
{
type: "rect",
center: {
x: -4.8,
y: -7.90065
},
width: 0.15,
height: 0.15,
layers: [
"top"
],
connectedTo: [
"source_trace_130",
"pcb_port_63",
"pcb_port_161"
]
},
{
type: "rect",
center: {
x: -5.631311333333333,
y: -7.450043041666666
},
width: 0.2875053333333334,
height: 0.15004408333333305,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -5.493805999999999,
y: -7.450087125
},
width: 0.2875053333333334,
height: 0.15004408333333394,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -5.356300666666666,
y: -7.4501312083333335
},
width: 0.2875053333333334,
height: 0.15004408333333305,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -5.218795333333333,
y: -7.450175291666666
},
width: 0.2875053333333334,
height: 0.15004408333333305,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -5.081289999999999,
y: -7.450219375
},
width: 0.2875053333333334,
height: 0.15004408333333394,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -4.943784666666666,
y: -7.450263458333334
},
width: 0.2875053333333334,
height: 0.15004408333333305,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -4.8062793333333325,
y: -7.450307541666666
},
width: 0.2875053333333325,
height: 0.15004408333333305,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -4.668774,
y: -7.450351625
},
width: 0.2875053333333334,
height: 0.15004408333333394,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -4.531268666666667,
y: -7.450395708333334
},
width: 0.2875053333333334,
height: 0.15004408333333305,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -4.393763333333333,
y: -7.450439791666666
},
width: 0.2875053333333334,
height: 0.15004408333333305,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -4.256258,
y: -7.450483875
},
width: 0.2875053333333334,
height: 0.15004408333333394,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -4.1187526666666665,
y: -7.450527958333334
},
width: 0.2875053333333334,
height: 0.15004408333333305,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -4.05,
y: -7.45055
},
width: 0.15,
height: 0.15,
layers: [
"top"
],
connectedTo: [
"source_trace_132",
"pcb_port_64",
"pcb_port_163"
]
},
{
type: "rect",
center: {
x: -5.635773714285714,
y: -7.046433785714286
},
width: 0.2785805714285715,
height: 0.15707442857142837,
layers: [
"top"
],
connectedTo: [
"source_trace_134",
"pcb_port_65",
"pcb_port_165"
]
},
{
type: "rect",
center: {
x: -5.507193142857142,
y: -7.039359357142857
},
width: 0.2785805714285715,
height: 0.15707442857142925,
layers: [
"top"
],
connectedTo: [
"source_trace_134",
"pcb_port_65",
"pcb_port_165"
]
},
{
type: "rect",
center: {
x: -5.378612571428571,
y: -7.032284928571428
},
width: 0.2785805714285715,
height: 0.15707442857142837,
layers: [
"top"
],
connectedTo: [
"source_trace_134",
"pcb_port_65",
"pcb_port_165"
]
},
{
type: "rect",
center: {
x: -5.250031999999999,
y: -7.0252105
},
width: 0.2785805714285706,
height: 0.15707442857142837,
layers: [
"top"
],
connectedTo: [
"source_trace_134",
"pcb_port_65",
"pcb_port_165"
]
},
{
type: "rect",
center: {
x: -5.1214514285714285,
y: -7.018136071428572
},
width: 0.2785805714285715,
height: 0.15707442857142837,
layers: [
"top"
],
connectedTo: [
"source_trace_134",
"pcb_port_65",
"pcb_port_165"
]
},
{
type: "rect",
center: {
x: -4.992870857142857,
y: -7.011061642857143
},
width: 0.2785805714285715,
height: 0.15707442857142925,
layers: [
"top"
],
connectedTo: [
"source_trace_134",
"pcb_port_65",
"pcb_port_165"
]
},
{
type: "rect",
center: {
x: -4.864290285714286,
y: -7.003987214285714
},
width: 0.2785805714285715,
height: 0.15707442857142837,
layers: [
"top"
],
connectedTo: [
"source_trace_134",
"pcb_port_65",
"pcb_port_165"
]
},
{
type: "rect",
center: {
x: -4.8,
y: -7.00045
},
width: 0.15,
height: 0.15,
layers: [
"top"
],
connectedTo: [
"source_trace_134",
"pcb_port_65",
"pcb_port_165"
]
},
{
type: "rect",
center: {
x: 10.68180527272727,
y: -12.227266
},
width: 0.28636105454545524,
height: 0.19546599999999933,
layers: [
"top"
],
connectedTo: [
"source_trace_196",
"pcb_port_305",
"pcb_port_303"
]
},
{
type: "rect",
center: {
x: 10.545444218181817,
y: -12.1818
},
width: 0.28636105454545346,
height: 0.1954660000000011,
layers: [
"top"
],
connectedTo: [
"source_trace_196",
"pcb_port_305",
"pcb_port_303"
]
},
{
type: "rect",
center: {
x: 10.409083163636364,
y: -12.136334000000002
},
width: 0.28636105454545524,
height: 0.19546599999999933,
layers: [
"top"
],
connectedTo: [
"source_trace_196",
"pcb_port_305",
"pcb_port_303"
]
},
{
type: "rect",
center: {
x: 10.272722109090909,
y: -12.090868
},
width: 0.28636105454545346,
height: 0.1954660000000011,
layers: [
"top"
],
connectedTo: [
"source_trace_196",
"pcb_port_305",
"pcb_port_303"
]
},
{
type: "rect",
center: {
x: 10.136361054545453,
y: -12.045402
},
width: 0.28636105454545524,
height: 0.19546599999999933,
layers: [
"top"
],
connectedTo: [
"source_trace_196",
"pcb_port_305",
"pcb_port_303"
]
},
{
type: "rect",
center: {
x: 10,
y: -11.999936
},
width: 0.28636105454545346,
height: 0.1954660000000011,
layers: [
"top"
],
connectedTo: [
"source_trace_196",
"pcb_port_305",
"pcb_port_303"
]
},
{
type: "rect",
center: {
x: 9.863638945454547,
y: -11.95447
},
width: 0.28636105454545524,
height: 0.19546599999999933,
layers: [
"top"
],
connectedTo: [
"source_trace_196",
"pcb_port_305",
"pcb_port_303"
]
},
{
type: "rect",
center: {
x: 9.727277890909091,
y: -11.909004
},
width: 0.28636105454545346,
height: 0.1954660000000011,
layers: [
"top"
],
connectedTo: [
"source_trace_196",
"pcb_port_305",
"pcb_port_303"
]
},
{
type: "rect",
center: {
x: 9.590916836363636,
y: -11.863537999999998
},
width: 0.28636105454545524,
height: 0.19546599999999933,
layers: [
"top"
],
connectedTo: [
"source_trace_196",
"pcb_port_305",
"pcb_port_303"
]
},
{
type: "rect",
center: {
x: 9.454555781818183,
y: -11.818071999999999
},
width: 0.28636105454545346,
height: 0.1954660000000011,
layers: [
"top"
],
connectedTo: [
"source_trace_196",
"pcb_port_305",
"pcb_port_303"
]
},
{
type: "rect",
center: {
x: 9.31819472727273,
y: -11.772606
},
width: 0.28636105454545524,
height: 0.19546599999999933,
layers: [
"top"
],
connectedTo: [
"source_trace_196",
"pcb_port_305",
"pcb_port_303"
]
},
{
type: "rect",
center: {
x: 9.2500142,
y: -11.749873
},
width: 0.15,
height: 0.15,
layers: [
"top"
],
connectedTo: [
"source_trace_196",
"pcb_port_305",
"pcb_port_303"
]
},
{
type: "rect",
center: {
x: -0.5212000000000001,
y: -4.85
},
width: 0.15,
height: 1.4499999999999997,
layers: [
"top"
],
connectedTo: [
"source_trace_241",
"pcb_port_343",
"pcb_port_344"
]
},
{
type: "rect",
center: {
x: 1.3419499999999998,
y: -4.2
},
width: 3.8763,
height: 0.15,
layers: [
"top"
],
connectedTo: [
"source_trace_241",
"pcb_port_343",
"pcb_port_344"
]
},
{
type: "rect",
center: {
x: 3.1693857142857143,
y: -4.143214285714286
},
width: 0.2214285714285716,
height: 0.26357142857142846,
layers: [
"top"
],
connectedTo: [
"source_trace_241",
"pcb_port_343",
"pcb_port_344"
]
},
{
type: "rect",
center: {
x: 3.0979571428571426,
y: -4.029642857142857
},
width: 0.22142857142857117,
height: 0.2635714285714289,
layers: [
"top"
],
connectedTo: [
"source_trace_241",
"pcb_port_343",
"pcb_port_344"
]
},
{
type: "rect",
center: {
x: 3.026528571428571,
y: -3.9160714285714286
},
width: 0.2214285714285716,
height: 0.26357142857142846,
layers: [
"top"
],
connectedTo: [
"source_trace_241",
"pcb_port_343",
"pcb_port_344"
]
},
{
type: "rect",
center: {
x: 2.9551,
y: -3.8025
},
width: 0.22142857142857117,
height: 0.26357142857142846,
layers: [
"top"
],
connectedTo: [
"source_trace_241",
"pcb_port_343",
"pcb_port_344"
]
},
{
type: "rect",
center: {
x: 2.8836714285714287,
y: -3.688928571428572
},
width: 0.2214285714285716,
height: 0.2635714285714289,
layers: [
"top"
],
connectedTo: [
"source_trace_241",
"pcb_port_343",
"pcb_port_344"
]
},
{
type: "rect",
center: {
x: 2.812242857142857,
y: -3.575357142857143
},
width: 0.22142857142857117,
height: 0.26357142857142846,
layers: [
"top"
],
connectedTo: [
"source_trace_241",
"pcb_port_343",
"pcb_port_344"
]
},
{
type: "rect",
center: {
x: 2.7408142857142854,
y: -3.4617857142857145
},
width: 0.2214285714285716,
height: 0.26357142857142846,
layers: [
"top"
],
connectedTo: [
"source_trace_241",
"pcb_port_343",
"pcb_port_344"
]
}
],
connections: [
{
name: "source_trace_2",
source_trace_id: "source_trace_2",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -6.249936,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_138",
pcb_port_id: "pcb_port_138"
},
{
x: -5.249938,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_136",
pcb_port_id: "pcb_port_136"
}
]
},
{
name: "source_trace_3",
source_trace_id: "source_trace_3",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -5.249938,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_136",
pcb_port_id: "pcb_port_136"
},
{
x: -4.315,
y: -0.3499999999999997,
layer: "top",
pointId: "pcb_port_148",
pcb_port_id: "pcb_port_148"
}
]
},
{
name: "source_trace_4",
source_trace_id: "source_trace_4",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -5.750064,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_137",
pcb_port_id: "pcb_port_137"
},
{
x: -6.750062,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_139",
pcb_port_id: "pcb_port_139"
}
]
},
{
name: "source_trace_5",
source_trace_id: "source_trace_5",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -6.750062,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_139",
pcb_port_id: "pcb_port_139"
},
{
x: -4.315,
y: 0.9500000000000001,
layer: "top",
pointId: "pcb_port_150",
pcb_port_id: "pcb_port_150"
}
]
},
{
name: "source_trace_9",
source_trace_id: "source_trace_9",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -14.5,
y: 8.51,
layer: "top",
pointId: "pcb_port_13",
pcb_port_id: "pcb_port_13"
},
{
x: -18.100074,
y: 7.550167,
layer: "top",
pointId: "pcb_port_16",
pcb_port_id: "pcb_port_16"
}
]
},
{
name: "source_trace_18",
source_trace_id: "source_trace_18",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -3.51,
y: -12,
layer: "top",
pointId: "pcb_port_100",
pcb_port_id: "pcb_port_100"
},
{
x: -7.325156,
y: -8.675063,
layer: "top",
pointId: "pcb_port_60",
pcb_port_id: "pcb_port_60"
}
]
},
{
name: "source_trace_21",
source_trace_id: "source_trace_21",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -9.525,
y: 2.66,
layer: "top",
pointId: "pcb_port_120",
pcb_port_id: "pcb_port_120"
},
{
x: -10.61751,
y: 3.2500620000000002,
layer: "top",
pointId: "pcb_port_159",
pcb_port_id: "pcb_port_159"
}
]
},
{
name: "source_trace_27",
source_trace_id: "source_trace_27",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -8.725,
y: -0.5599999999999998,
layer: "top",
pointId: "pcb_port_122",
pcb_port_id: "pcb_port_122"
},
{
x: -8.525052,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_82",
pcb_port_id: "pcb_port_82"
}
]
},
{
name: "source_trace_31",
source_trace_id: "source_trace_31",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -11.724944,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_90",
pcb_port_id: "pcb_port_90"
},
{
x: -13.63249,
y: 3.250062,
layer: "top",
pointId: "pcb_port_152",
pcb_port_id: "pcb_port_152"
}
]
},
{
name: "source_trace_32",
source_trace_id: "source_trace_32",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -10.525048,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_87",
pcb_port_id: "pcb_port_87"
},
{
x: -10.61751,
y: 1.7499380000000002,
layer: "top",
pointId: "pcb_port_156",
pcb_port_id: "pcb_port_156"
}
]
},
{
name: "source_trace_33",
source_trace_id: "source_trace_33",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -11.325148,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_89",
pcb_port_id: "pcb_port_89"
},
{
x: -13.63249,
y: 2.749936,
layer: "top",
pointId: "pcb_port_153",
pcb_port_id: "pcb_port_153"
}
]
},
{
name: "source_trace_34",
source_trace_id: "source_trace_34",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -10.925098,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_88",
pcb_port_id: "pcb_port_88"
},
{
x: -13.63249,
y: 2.250064,
layer: "top",
pointId: "pcb_port_154",
pcb_port_id: "pcb_port_154"
}
]
},
{
name: "source_trace_35",
source_trace_id: "source_trace_35",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -9.724948,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_85",
pcb_port_id: "pcb_port_85"
},
{
x: -10.61751,
y: 2.749936,
layer: "top",
pointId: "pcb_port_158",
pcb_port_id: "pcb_port_158"
}
]
},
{
name: "source_trace_36",
source_trace_id: "source_trace_36",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -10.124998,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_86",
pcb_port_id: "pcb_port_86"
},
{
x: -10.61751,
y: 2.250064,
layer: "top",
pointId: "pcb_port_157",
pcb_port_id: "pcb_port_157"
}
]
},
{
name: "source_trace_43",
source_trace_id: "source_trace_43",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -9.925,
y: -0.5599999999999998,
layer: "top",
pointId: "pcb_port_94",
pcb_port_id: "pcb_port_94"
},
{
x: -9.325152,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_84",
pcb_port_id: "pcb_port_84"
}
]
},
{
name: "source_trace_45",
source_trace_id: "source_trace_45",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -7.325156,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_79",
pcb_port_id: "pcb_port_79"
},
{
x: -7.525,
y: -0.35999999999999965,
layer: "top",
pointId: "pcb_port_92",
pcb_port_id: "pcb_port_92"
}
]
},
{
name: "source_trace_48",
source_trace_id: "source_trace_48",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -8.525052,
y: -8.675063,
layer: "top",
pointId: "pcb_port_57",
pcb_port_id: "pcb_port_57"
},
{
x: -6.835,
y: -10.25,
layer: "top",
pointId: "pcb_port_96",
pcb_port_id: "pcb_port_96"
}
]
},
{
name: "source_trace_52",
source_trace_id: "source_trace_52",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -8.525052,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_82",
pcb_port_id: "pcb_port_82"
},
{
x: -8.925102,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_83",
pcb_port_id: "pcb_port_83"
}
]
},
{
name: "source_trace_55",
source_trace_id: "source_trace_55",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -5.335,
y: -0.3499999999999996,
layer: "top",
pointId: "pcb_port_149",
pcb_port_id: "pcb_port_149"
},
{
x: -7.724952,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_80",
pcb_port_id: "pcb_port_80"
}
]
},
{
name: "source_trace_56",
source_trace_id: "source_trace_56",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -5.335,
y: 0.9500000000000003,
layer: "top",
pointId: "pcb_port_151",
pcb_port_id: "pcb_port_151"
},
{
x: -8.125002,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_81",
pcb_port_id: "pcb_port_81"
}
]
},
{
name: "source_trace_57",
source_trace_id: "source_trace_57",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -4.750066,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_135",
pcb_port_id: "pcb_port_135"
},
{
x: -9.01,
y: 11,
layer: "top",
pointId: "pcb_port_144",
pcb_port_id: "pcb_port_144"
}
]
},
{
name: "source_trace_58",
source_trace_id: "source_trace_58",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -7.75006,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_141",
pcb_port_id: "pcb_port_141"
},
{
x: -9.01,
y: 12.3,
layer: "top",
pointId: "pcb_port_146",
pcb_port_id: "pcb_port_146"
}
]
},
{
name: "source_trace_68",
source_trace_id: "source_trace_68",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -18,
y: 6.125000000000001,
layer: "top",
pointId: "pcb_port_20",
pcb_port_id: "pcb_port_20"
},
{
x: -18.100074,
y: 8.500127,
layer: "top",
pointId: "pcb_port_15",
pcb_port_id: "pcb_port_15"
}
]
},
{
name: "source_trace_75",
source_trace_id: "source_trace_75",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -6.325,
y: -0.5599999999999998,
layer: "top",
pointId: "pcb_port_126",
pcb_port_id: "pcb_port_126"
},
{
x: -6.9251059999999995,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_78",
pcb_port_id: "pcb_port_78"
}
]
},
{
name: "source_trace_82",
source_trace_id: "source_trace_82",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -12.125,
y: 2.5,
layer: "top",
pointId: "pcb_port_160",
pcb_port_id: "pcb_port_160"
},
{
x: -13.63249,
y: 1.7499379999999998,
layer: "top",
pointId: "pcb_port_155",
pcb_port_id: "pcb_port_155"
}
]
},
{
name: "source_trace_92",
source_trace_id: "source_trace_92",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -3.85,
y: 11.825,
layer: "top",
pointId: "pcb_port_102",
pcb_port_id: "pcb_port_102"
},
{
x: -11.724944,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_90",
pcb_port_id: "pcb_port_90"
}
]
},
{
name: "source_trace_94",
source_trace_id: "source_trace_94",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -12,
y: 13.49,
layer: "top",
pointId: "pcb_port_112",
pcb_port_id: "pcb_port_112"
},
{
x: -11.724944,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_90",
pcb_port_id: "pcb_port_90"
}
]
},
{
name: "source_trace_96",
source_trace_id: "source_trace_96",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -7.1,
y: -13.425,
layer: "top",
pointId: "pcb_port_106",
pcb_port_id: "pcb_port_106"
},
{
x: -7.325156,
y: -8.675063,
layer: "top",
pointId: "pcb_port_60",
pcb_port_id: "pcb_port_60"
}
]
},
{
name: "source_trace_99",
source_trace_id: "source_trace_99",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -19.5,
y: 13.51,
layer: "top",
pointId: "pcb_port_115",
pcb_port_id: "pcb_port_115"
},
{
x: -17.251,
y: 11.5,
layer: "top",
pointId: "pcb_port_111",
pcb_port_id: "pcb_port_111"
}
]
},
{
name: "source_trace_100",
source_trace_id: "source_trace_100",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -18.749,
y: 11.5,
layer: "top",
pointId: "pcb_port_110",
pcb_port_id: "pcb_port_110"
},
{
x: -18.100074,
y: 8.500127,
layer: "top",
pointId: "pcb_port_15",
pcb_port_id: "pcb_port_15"
}
]
},
{
name: "source_trace_101",
source_trace_id: "source_trace_101",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -8.125002,
y: -8.675063,
layer: "top",
pointId: "pcb_port_58",
pcb_port_id: "pcb_port_58"
},
{
x: -7.5,
y: -20,
layer: "top",
pointId: "pcb_port_116",
pcb_port_id: "pcb_port_116"
}
]
},
{
name: "source_trace_102",
source_trace_id: "source_trace_102",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -7.724952,
y: -8.675063,
layer: "top",
pointId: "pcb_port_59",
pcb_port_id: "pcb_port_59"
},
{
x: -5,
y: -19,
layer: "top",
pointId: "pcb_port_118",
pcb_port_id: "pcb_port_118"
}
]
},
{
name: "source_trace_105",
source_trace_id: "source_trace_105",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 7.165755000000001,
y: -15.975036,
layer: "top",
pointId: "pcb_port_167",
pcb_port_id: "pcb_port_167"
},
{
x: 9,
y: -16.51,
layer: "top",
pointId: "pcb_port_220",
pcb_port_id: "pcb_port_220"
}
]
},
{
name: "source_trace_106",
source_trace_id: "source_trace_106",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 7.165755000000001,
y: -15.325050000000001,
layer: "top",
pointId: "pcb_port_168",
pcb_port_id: "pcb_port_168"
},
{
x: 9,
y: -15.49,
layer: "top",
pointId: "pcb_port_221",
pcb_port_id: "pcb_port_221"
}
]
},
{
name: "source_trace_107",
source_trace_id: "source_trace_107",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 7.165755000000001,
y: -14.675063999999999,
layer: "top",
pointId: "pcb_port_169",
pcb_port_id: "pcb_port_169"
},
{
x: 10.5,
y: -15.51,
layer: "top",
pointId: "pcb_port_222",
pcb_port_id: "pcb_port_222"
}
]
},
{
name: "source_trace_108",
source_trace_id: "source_trace_108",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 10.5,
y: -14.49,
layer: "top",
pointId: "pcb_port_223",
pcb_port_id: "pcb_port_223"
},
{
x: 7.165755000000001,
y: -14.025078,
layer: "top",
pointId: "pcb_port_170",
pcb_port_id: "pcb_port_170"
}
]
},
{
name: "source_trace_109",
source_trace_id: "source_trace_109",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 19,
y: -14.26,
layer: "top",
pointId: "pcb_port_224",
pcb_port_id: "pcb_port_224"
},
{
x: 7.165755000000001,
y: -14.675063999999999,
layer: "top",
pointId: "pcb_port_169",
pcb_port_id: "pcb_port_169"
}
]
},
{
name: "source_trace_110",
source_trace_id: "source_trace_110",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 19,
y: -13.24,
layer: "top",
pointId: "pcb_port_225",
pcb_port_id: "pcb_port_225"
},
{
x: 7.165755000000001,
y: -14.025078,
layer: "top",
pointId: "pcb_port_170",
pcb_port_id: "pcb_port_170"
}
]
},
{
name: "source_trace_111",
source_trace_id: "source_trace_111",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: 7.165755000000001,
y: -9.474922,
layer: "top",
pointId: "pcb_port_177",
pcb_port_id: "pcb_port_177"
},
{
x: 7.165755000000001,
y: -14.025078,
layer: "top",
pointId: "pcb_port_170",
pcb_port_id: "pcb_port_170"
}
]
},
{
name: "source_trace_112",
source_trace_id: "source_trace_112",
nominalTraceWidth: 0.4,
width: 0.4,
pointsToConnect: [
{
x: 9.5,
y: -14.51,
layer: "top",
pointId: "pcb_port_226",
pcb_port_id: "pcb_port_226"
},
{
x: 7.165755000000001,
y: -14.025078,
layer: "top",
pointId: "pcb_port_170",
pcb_port_id: "pcb_port_170"
}
]
},
{
name: "source_trace_114",
source_trace_id: "source_trace_114",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 1.4342450000000002,
y: -15.975036,
layer: "top",
pointId: "pcb_port_194",
pcb_port_id: "pcb_port_194"
},
{
x: 4.300127000000001,
y: -11.75,
layer: "top",
pointId: "pcb_port_195",
pcb_port_id: "pcb_port_195"
}
]
},
{
name: "source_trace_115",
source_trace_id: "source_trace_115",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 1.434245000000001,
y: -7.524964,
layer: "top",
pointId: "pcb_port_181",
pcb_port_id: "pcb_port_181"
},
{
x: -0.99,
y: -7.5,
layer: "top",
pointId: "pcb_port_228",
pcb_port_id: "pcb_port_228"
}
]
},
{
name: "source_trace_117",
source_trace_id: "source_trace_117",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -2.75,
y: -11.01,
layer: "top",
pointId: "pcb_port_230",
pcb_port_id: "pcb_port_230"
},
{
x: 1.434245000000001,
y: -7.524964,
layer: "top",
pointId: "pcb_port_181",
pcb_port_id: "pcb_port_181"
}
]
},
{
name: "source_trace_118",
source_trace_id: "source_trace_118",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -2.75,
y: -9.99,
layer: "top",
pointId: "pcb_port_231",
pcb_port_id: "pcb_port_231"
},
{
x: -1.5,
y: -13.01,
layer: "top",
pointId: "pcb_port_232",
pcb_port_id: "pcb_port_232"
}
]
},
{
name: "source_trace_119",
source_trace_id: "source_trace_119",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -1.5,
y: -13.01,
layer: "top",
pointId: "pcb_port_232",
pcb_port_id: "pcb_port_232"
},
{
x: 7.165755000000001,
y: -8.824936000000001,
layer: "top",
pointId: "pcb_port_178",
pcb_port_id: "pcb_port_178"
}
]
},
{
name: "source_trace_120",
source_trace_id: "source_trace_120",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 7.165755000000001,
y: -8.824936000000001,
layer: "top",
pointId: "pcb_port_178",
pcb_port_id: "pcb_port_178"
},
{
x: 7.165755000000001,
y: -8.174949999999999,
layer: "top",
pointId: "pcb_port_179",
pcb_port_id: "pcb_port_179"
}
]
},
{
name: "source_trace_121",
source_trace_id: "source_trace_121",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -2.51,
y: -9,
layer: "top",
pointId: "pcb_port_234",
pcb_port_id: "pcb_port_234"
},
{
x: 7.165755000000001,
y: -8.824936000000001,
layer: "top",
pointId: "pcb_port_178",
pcb_port_id: "pcb_port_178"
}
]
},
{
name: "source_trace_126",
source_trace_id: "source_trace_126",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 1.4342450000000007,
y: -14.675063999999999,
layer: "top",
pointId: "pcb_port_192",
pcb_port_id: "pcb_port_192"
},
{
x: 1.434245000000001,
y: -7.524964,
layer: "top",
pointId: "pcb_port_181",
pcb_port_id: "pcb_port_181"
}
]
},
{
name: "source_trace_127",
source_trace_id: "source_trace_127",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 1.4342450000000007,
y: -11.42488,
layer: "top",
pointId: "pcb_port_187",
pcb_port_id: "pcb_port_187"
},
{
x: -0.5,
y: -12.26,
layer: "top",
pointId: "pcb_port_236",
pcb_port_id: "pcb_port_236"
}
]
},
{
name: "source_trace_128",
source_trace_id: "source_trace_128",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -0.49999999999999994,
y: -11.24,
layer: "top",
pointId: "pcb_port_237",
pcb_port_id: "pcb_port_237"
},
{
x: -8.449897,
y: 1.75,
layer: "top",
pointId: "pcb_port_98",
pcb_port_id: "pcb_port_98"
}
]
},
{
name: "source_trace_129",
source_trace_id: "source_trace_129",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -5.700063999999999,
y: -7.850071,
layer: "top",
pointId: "pcb_port_63",
pcb_port_id: "pcb_port_63"
},
{
x: -4.8,
y: -7.90065,
layer: "top",
pointId: "pcb_port_161",
pcb_port_id: "pcb_port_161"
},
{
x: -4.8,
y: -7.90065,
layer: "bottom",
pointId: "pcb_port_162",
pcb_port_id: "pcb_port_162"
}
]
},
{
name: "source_trace_131",
source_trace_id: "source_trace_131",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -5.700063999999999,
y: -7.450021,
layer: "top",
pointId: "pcb_port_64",
pcb_port_id: "pcb_port_64"
},
{
x: -4.05,
y: -7.45055,
layer: "top",
pointId: "pcb_port_163",
pcb_port_id: "pcb_port_163"
},
{
x: -4.05,
y: -7.45055,
layer: "bottom",
pointId: "pcb_port_164",
pcb_port_id: "pcb_port_164"
}
]
},
{
name: "source_trace_133",
source_trace_id: "source_trace_133",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -5.700063999999999,
y: -7.049971,
layer: "top",
pointId: "pcb_port_65",
pcb_port_id: "pcb_port_65"
},
{
x: -4.8,
y: -7.00045,
layer: "top",
pointId: "pcb_port_165",
pcb_port_id: "pcb_port_165"
},
{
x: -4.8,
y: -7.00045,
layer: "bottom",
pointId: "pcb_port_166",
pcb_port_id: "pcb_port_166"
}
]
},
{
name: "source_trace_135",
source_trace_id: "source_trace_135",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -4.8,
y: -7.90065,
layer: "bottom",
pointId: "pcb_port_162",
pcb_port_id: "pcb_port_162"
},
{
x: 1.4342450000000007,
y: -12.074866,
layer: "top",
pointId: "pcb_port_188",
pcb_port_id: "pcb_port_188"
}
]
},
{
name: "source_trace_136",
source_trace_id: "source_trace_136",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -4.05,
y: -7.45055,
layer: "bottom",
pointId: "pcb_port_164",
pcb_port_id: "pcb_port_164"
},
{
x: 1.4342450000000007,
y: -10.774894,
layer: "top",
pointId: "pcb_port_186",
pcb_port_id: "pcb_port_186"
}
]
},
{
name: "source_trace_137",
source_trace_id: "source_trace_137",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -4.8,
y: -7.00045,
layer: "bottom",
pointId: "pcb_port_166",
pcb_port_id: "pcb_port_166"
},
{
x: 1.4342450000000007,
y: -8.174949999999999,
layer: "top",
pointId: "pcb_port_182",
pcb_port_id: "pcb_port_182"
}
]
},
{
name: "source_trace_138",
source_trace_id: "source_trace_138",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -5.700063999999999,
y: -6.649921,
layer: "top",
pointId: "pcb_port_66",
pcb_port_id: "pcb_port_66"
},
{
x: 1.4342450000000007,
y: -11.42488,
layer: "top",
pointId: "pcb_port_187",
pcb_port_id: "pcb_port_187"
}
]
},
{
name: "source_trace_139",
source_trace_id: "source_trace_139",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -5.700063999999999,
y: -5.850075,
layer: "top",
pointId: "pcb_port_68",
pcb_port_id: "pcb_port_68"
},
{
x: -17.450039999999998,
y: -10.949985000000002,
layer: "top",
pointId: "pcb_port_251",
pcb_port_id: "pcb_port_251"
}
]
},
{
name: "source_trace_140",
source_trace_id: "source_trace_140",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -5.700063999999999,
y: -5.450025,
layer: "top",
pointId: "pcb_port_69",
pcb_port_id: "pcb_port_69"
},
{
x: 1.4342450000000007,
y: -9.474922,
layer: "top",
pointId: "pcb_port_184",
pcb_port_id: "pcb_port_184"
}
]
},
{
name: "source_trace_141",
source_trace_id: "source_trace_141",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: 9.3999571,
y: 14.526020299999999,
layer: "top",
pointId: "pcb_port_260",
pcb_port_id: "pcb_port_260"
},
{
x: 4.5998397,
y: 14.525855199999999,
layer: "top",
pointId: "pcb_port_269",
pcb_port_id: "pcb_port_269"
}
]
},
{
name: "source_trace_142",
source_trace_id: "source_trace_142",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: -8.9424,
y: 4.25,
layer: "top",
pointId: "pcb_port_292",
pcb_port_id: "pcb_port_292"
},
{
x: 7.165755000000001,
y: -14.025078,
layer: "top",
pointId: "pcb_port_170",
pcb_port_id: "pcb_port_170"
}
]
},
{
name: "source_trace_143",
source_trace_id: "source_trace_143",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: 0.7500000000000001,
y: 7.6375,
layer: "top",
pointId: "pcb_port_295",
pcb_port_id: "pcb_port_295"
},
{
x: -5.5576,
y: 4.25,
layer: "top",
pointId: "pcb_port_293",
pcb_port_id: "pcb_port_293"
}
]
},
{
name: "source_trace_144",
source_trace_id: "source_trace_144",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: 9.3999571,
y: 14.526020299999999,
layer: "top",
pointId: "pcb_port_260",
pcb_port_id: "pcb_port_260"
},
{
x: 0.7499999999999999,
y: 3.3625,
layer: "top",
pointId: "pcb_port_294",
pcb_port_id: "pcb_port_294"
}
]
},
{
name: "source_trace_145",
source_trace_id: "source_trace_145",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: -8.9424,
y: 4.25,
layer: "top",
pointId: "pcb_port_292",
pcb_port_id: "pcb_port_292"
},
{
x: 1.2374999999999994,
y: -5.4,
layer: "top",
pointId: "pcb_port_296",
pcb_port_id: "pcb_port_296"
}
]
},
{
name: "source_trace_146",
source_trace_id: "source_trace_146",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: -8.9424,
y: 4.25,
layer: "top",
pointId: "pcb_port_292",
pcb_port_id: "pcb_port_292"
},
{
x: -18,
y: -4.852418999999999,
layer: "top",
pointId: "pcb_port_299",
pcb_port_id: "pcb_port_299"
}
]
},
{
name: "source_trace_147",
source_trace_id: "source_trace_147",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: -8.9424,
y: 4.25,
layer: "top",
pointId: "pcb_port_292",
pcb_port_id: "pcb_port_292"
},
{
x: -6.35,
y: 7.5,
layer: "top",
pointId: "pcb_port_300",
pcb_port_id: "pcb_port_300"
}
]
},
{
name: "source_trace_148",
source_trace_id: "source_trace_148",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 9.3999571,
y: 14.526020299999999,
layer: "top",
pointId: "pcb_port_260",
pcb_port_id: "pcb_port_260"
},
{
x: 0.4999999999999999,
y: 15.5375,
layer: "top",
pointId: "pcb_port_284",
pcb_port_id: "pcb_port_284"
}
]
},
{
name: "source_trace_149",
source_trace_id: "source_trace_149",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 9.3999571,
y: 14.526020299999999,
layer: "top",
pointId: "pcb_port_260",
pcb_port_id: "pcb_port_260"
},
{
x: -15.01,
y: -0.09999999999999964,
layer: "top",
pointId: "pcb_port_286",
pcb_port_id: "pcb_port_286"
}
]
},
{
name: "source_trace_150",
source_trace_id: "source_trace_150",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 0.5000000000000001,
y: 18.4625,
layer: "top",
pointId: "pcb_port_285",
pcb_port_id: "pcb_port_285"
},
{
x: 8.999996000000001,
y: 12.000121,
layer: "top",
pointId: "pcb_port_271",
pcb_port_id: "pcb_port_271"
}
]
},
{
name: "source_trace_151",
source_trace_id: "source_trace_151",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -13.99,
y: -0.09999999999999964,
layer: "top",
pointId: "pcb_port_287",
pcb_port_id: "pcb_port_287"
},
{
x: 7,
y: 5.999879,
layer: "top",
pointId: "pcb_port_278",
pcb_port_id: "pcb_port_278"
}
]
},
{
name: "source_trace_152",
source_trace_id: "source_trace_152",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 8.999996000000001,
y: 12.000121,
layer: "top",
pointId: "pcb_port_271",
pcb_port_id: "pcb_port_271"
},
{
x: 3.5,
y: 7.7749999999999995,
layer: "top",
pointId: "pcb_port_282",
pcb_port_id: "pcb_port_282"
}
]
},
{
name: "source_trace_153",
source_trace_id: "source_trace_153",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 8.249934,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_262",
pcb_port_id: "pcb_port_262"
},
{
x: 6.000001999999999,
y: 5.999879,
layer: "top",
pointId: "pcb_port_277",
pcb_port_id: "pcb_port_277"
}
]
},
{
name: "source_trace_154",
source_trace_id: "source_trace_154",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 5.24994,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_268",
pcb_port_id: "pcb_port_268"
},
{
x: 5.000004,
y: 6.000133,
layer: "top",
pointId: "pcb_port_276",
pcb_port_id: "pcb_port_276"
}
]
},
{
name: "source_trace_155",
source_trace_id: "source_trace_155",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 7.249936,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_264",
pcb_port_id: "pcb_port_264"
},
{
x: 6.000002,
y: 12.000121,
layer: "top",
pointId: "pcb_port_274",
pcb_port_id: "pcb_port_274"
}
]
},
{
name: "source_trace_156",
source_trace_id: "source_trace_156",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 6.249938,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_266",
pcb_port_id: "pcb_port_266"
},
{
x: 7.249936,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_264",
pcb_port_id: "pcb_port_264"
}
]
},
{
name: "source_trace_157",
source_trace_id: "source_trace_157",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 6.750064,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_265",
pcb_port_id: "pcb_port_265"
},
{
x: 5.000004000000001,
y: 12.000121,
layer: "top",
pointId: "pcb_port_275",
pcb_port_id: "pcb_port_275"
}
]
},
{
name: "source_trace_158",
source_trace_id: "source_trace_158",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 7.750062,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_263",
pcb_port_id: "pcb_port_263"
},
{
x: 6.750064,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_265",
pcb_port_id: "pcb_port_265"
}
]
},
{
name: "source_trace_159",
source_trace_id: "source_trace_159",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: 7.165755000000001,
y: -14.025078,
layer: "top",
pointId: "pcb_port_170",
pcb_port_id: "pcb_port_170"
},
{
x: 10.75,
y: -19.9625,
layer: "top",
pointId: "pcb_port_238",
pcb_port_id: "pcb_port_238"
}
]
},
{
name: "source_trace_160",
source_trace_id: "source_trace_160",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: 7.165755000000001,
y: -9.474922,
layer: "top",
pointId: "pcb_port_177",
pcb_port_id: "pcb_port_177"
},
{
x: 9,
y: -8.49,
layer: "top",
pointId: "pcb_port_240",
pcb_port_id: "pcb_port_240"
}
]
},
{
name: "source_trace_162",
source_trace_id: "source_trace_162",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 4.300127000000001,
y: -11.75,
layer: "top",
pointId: "pcb_port_195",
pcb_port_id: "pcb_port_195"
},
{
x: -9.125,
y: -5.249873,
layer: "top",
pointId: "pcb_port_91",
pcb_port_id: "pcb_port_91"
}
]
},
{
name: "source_trace_163",
source_trace_id: "source_trace_163",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 7.165755000000001,
y: -7.524964,
layer: "top",
pointId: "pcb_port_180",
pcb_port_id: "pcb_port_180"
},
{
x: 4.300127000000001,
y: -11.75,
layer: "top",
pointId: "pcb_port_195",
pcb_port_id: "pcb_port_195"
}
]
},
{
name: "source_trace_164",
source_trace_id: "source_trace_164",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 10.1999555,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_259",
pcb_port_id: "pcb_port_259"
},
{
x: 4.300127000000001,
y: -11.75,
layer: "top",
pointId: "pcb_port_195",
pcb_port_id: "pcb_port_195"
}
]
},
{
name: "source_trace_165",
source_trace_id: "source_trace_165",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 3.7999937,
y: 14.5258552,
layer: "top",
pointId: "pcb_port_270",
pcb_port_id: "pcb_port_270"
},
{
x: 10.1999555,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_259",
pcb_port_id: "pcb_port_259"
}
]
},
{
name: "source_trace_166",
source_trace_id: "source_trace_166",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 11.325112,
y: 15.2943068,
layer: "top",
pointId: "pcb_port_255",
pcb_port_id: "pcb_port_255"
},
{
x: 10.1999555,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_259",
pcb_port_id: "pcb_port_259"
}
]
},
{
name: "source_trace_167",
source_trace_id: "source_trace_167",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 2.674888,
y: 15.2943068,
layer: "top",
pointId: "pcb_port_256",
pcb_port_id: "pcb_port_256"
},
{
x: 10.1999555,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_259",
pcb_port_id: "pcb_port_259"
}
]
},
{
name: "source_trace_168",
source_trace_id: "source_trace_168",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 11.325112,
y: 19.474130799999998,
layer: "top",
pointId: "pcb_port_257",
pcb_port_id: "pcb_port_257"
},
{
x: 10.1999555,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_259",
pcb_port_id: "pcb_port_259"
}
]
},
{
name: "source_trace_169",
source_trace_id: "source_trace_169",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 2.674888,
y: 19.4741308,
layer: "top",
pointId: "pcb_port_258",
pcb_port_id: "pcb_port_258"
},
{
x: 10.1999555,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_259",
pcb_port_id: "pcb_port_259"
}
]
},
{
name: "source_trace_170",
source_trace_id: "source_trace_170",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 7,
y: 8.999873,
layer: "top",
pointId: "pcb_port_281",
pcb_port_id: "pcb_port_281"
},
{
x: 4.300127000000001,
y: -11.75,
layer: "top",
pointId: "pcb_port_195",
pcb_port_id: "pcb_port_195"
}
]
},
{
name: "source_trace_180",
source_trace_id: "source_trace_180",
nominalTraceWidth: 1,
width: 1,
pointsToConnect: [
{
x: 7.165755000000001,
y: -13.375092,
layer: "top",
pointId: "pcb_port_171",
pcb_port_id: "pcb_port_171"
},
{
x: -3.4787999999999997,
y: -5.5,
layer: "top",
pointId: "pcb_port_342",
pcb_port_id: "pcb_port_342"
}
]
},
{
name: "source_trace_181",
source_trace_id: "source_trace_181",
nominalTraceWidth: 1,
width: 1,
pointsToConnect: [
{
x: 7.165755000000001,
y: -12.074866,
layer: "top",
pointId: "pcb_port_173",
pcb_port_id: "pcb_port_173"
},
{
x: 17,
y: -5.65,
layer: "top",
pointId: "pcb_port_289",
pcb_port_id: "pcb_port_289"
}
]
},
{
name: "source_trace_182",
source_trace_id: "source_trace_182",
nominalTraceWidth: 1,
width: 1,
pointsToConnect: [
{
x: 7.165755000000001,
y: -10.124908,
layer: "top",
pointId: "pcb_port_176",
pcb_port_id: "pcb_port_176"
},
{
x: 6.0212,
y: -4.5,
layer: "top",
pointId: "pcb_port_360",
pcb_port_id: "pcb_port_360"
}
]
},
{
name: "source_trace_183",
source_trace_id: "source_trace_183",
nominalTraceWidth: 1,
width: 1,
pointsToConnect: [
{
x: 7.165755000000001,
y: -11.42488,
layer: "top",
pointId: "pcb_port_174",
pcb_port_id: "pcb_port_174"
},
{
x: 17,
y: -1.6500000000000004,
layer: "top",
pointId: "pcb_port_291",
pcb_port_id: "pcb_port_291"
}
]
},
{
name: "source_trace_184",
source_trace_id: "source_trace_184",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: 7.165755000000001,
y: -12.725106,
layer: "top",
pointId: "pcb_port_172",
pcb_port_id: "pcb_port_172"
},
{
x: 15.2288,
y: -11.5,
layer: "top",
pointId: "pcb_port_242",
pcb_port_id: "pcb_port_242"
}
]
},
{
name: "source_trace_185",
source_trace_id: "source_trace_185",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: 7.165755000000001,
y: -10.774894,
layer: "top",
pointId: "pcb_port_175",
pcb_port_id: "pcb_port_175"
},
{
x: 19.9788,
y: -11.5,
layer: "top",
pointId: "pcb_port_244",
pcb_port_id: "pcb_port_244"
}
]
},
{
name: "source_trace_186",
source_trace_id: "source_trace_186",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -18.4,
y: -8.650015,
layer: "top",
pointId: "pcb_port_252",
pcb_port_id: "pcb_port_252"
},
{
x: 1.4342450000000007,
y: -8.824936000000001,
layer: "top",
pointId: "pcb_port_183",
pcb_port_id: "pcb_port_183"
}
]
},
{
name: "source_trace_187",
source_trace_id: "source_trace_187",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -19.34996,
y: -10.949985,
layer: "top",
pointId: "pcb_port_250",
pcb_port_id: "pcb_port_250"
},
{
x: 8.999996,
y: 6.000133,
layer: "top",
pointId: "pcb_port_280",
pcb_port_id: "pcb_port_280"
}
]
},
{
name: "source_trace_188",
source_trace_id: "source_trace_188",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -0.26,
y: 2,
layer: "top",
pointId: "pcb_port_253",
pcb_port_id: "pcb_port_253"
},
{
x: -19.34996,
y: -10.949985,
layer: "top",
pointId: "pcb_port_250",
pcb_port_id: "pcb_port_250"
}
]
},
{
name: "source_trace_189",
source_trace_id: "source_trace_189",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 0.76,
y: 2,
layer: "top",
pointId: "pcb_port_254",
pcb_port_id: "pcb_port_254"
},
{
x: 8.999996000000001,
y: 12.000121,
layer: "top",
pointId: "pcb_port_271",
pcb_port_id: "pcb_port_271"
}
]
},
{
name: "source_trace_190",
source_trace_id: "source_trace_190",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -1.51,
y: -14,
layer: "top",
pointId: "pcb_port_246",
pcb_port_id: "pcb_port_246"
},
{
x: 1.4342450000000007,
y: -8.824936000000001,
layer: "top",
pointId: "pcb_port_183",
pcb_port_id: "pcb_port_183"
}
]
},
{
name: "source_trace_191",
source_trace_id: "source_trace_191",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -1.51,
y: -15.75,
layer: "top",
pointId: "pcb_port_248",
pcb_port_id: "pcb_port_248"
},
{
x: 1.4342450000000007,
y: -9.474922,
layer: "top",
pointId: "pcb_port_184",
pcb_port_id: "pcb_port_184"
}
]
},
{
name: "source_trace_192",
source_trace_id: "source_trace_192",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -0.49,
y: -15.75,
layer: "top",
pointId: "pcb_port_249",
pcb_port_id: "pcb_port_249"
},
{
x: -8.449897,
y: 1.75,
layer: "top",
pointId: "pcb_port_98",
pcb_port_id: "pcb_port_98"
}
]
},
{
name: "source_trace_193",
source_trace_id: "source_trace_193",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -5.700063999999999,
y: -4.249875,
layer: "top",
pointId: "pcb_port_72",
pcb_port_id: "pcb_port_72"
},
{
x: 10.749985800000001,
y: -11.250001,
layer: "top",
pointId: "pcb_port_307",
pcb_port_id: "pcb_port_307"
}
]
},
{
name: "source_trace_194",
source_trace_id: "source_trace_194",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -5.700063999999999,
y: -3.850079,
layer: "top",
pointId: "pcb_port_73",
pcb_port_id: "pcb_port_73"
},
{
x: 9.2500142,
y: -11.250001,
layer: "top",
pointId: "pcb_port_302",
pcb_port_id: "pcb_port_302"
}
]
},
{
name: "source_trace_195",
source_trace_id: "source_trace_195",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 9.2500142,
y: -11.749873,
layer: "top",
pointId: "pcb_port_303",
pcb_port_id: "pcb_port_303"
},
{
x: 4.300127000000001,
y: -11.75,
layer: "top",
pointId: "pcb_port_195",
pcb_port_id: "pcb_port_195"
}
]
},
{
name: "source_trace_197",
source_trace_id: "source_trace_197",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 10.7499858,
y: -11.749873000000001,
layer: "top",
pointId: "pcb_port_306",
pcb_port_id: "pcb_port_306"
},
{
x: -8.449897,
y: 1.75,
layer: "top",
pointId: "pcb_port_98",
pcb_port_id: "pcb_port_98"
}
]
},
{
name: "source_trace_198",
source_trace_id: "source_trace_198",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 10,
y: -10.01,
layer: "top",
pointId: "pcb_port_308",
pcb_port_id: "pcb_port_308"
},
{
x: 10.7499858,
y: -11.749873000000001,
layer: "top",
pointId: "pcb_port_306",
pcb_port_id: "pcb_port_306"
}
]
},
{
name: "source_trace_199",
source_trace_id: "source_trace_199",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 8.99,
y: -7.5,
layer: "top",
pointId: "pcb_port_310",
pcb_port_id: "pcb_port_310"
},
{
x: 10.749985800000001,
y: -11.250001,
layer: "top",
pointId: "pcb_port_307",
pcb_port_id: "pcb_port_307"
}
]
},
{
name: "source_trace_200",
source_trace_id: "source_trace_200",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 12,
y: -14.26,
layer: "top",
pointId: "pcb_port_312",
pcb_port_id: "pcb_port_312"
},
{
x: 9.2500142,
y: -11.250001,
layer: "top",
pointId: "pcb_port_302",
pcb_port_id: "pcb_port_302"
}
]
},
{
name: "source_trace_201",
source_trace_id: "source_trace_201",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 1.24,
y: -17.75,
layer: "top",
pointId: "pcb_port_314",
pcb_port_id: "pcb_port_314"
},
{
x: -17.450039999999998,
y: -10.949985000000002,
layer: "top",
pointId: "pcb_port_251",
pcb_port_id: "pcb_port_251"
}
]
},
{
name: "source_trace_202",
source_trace_id: "source_trace_202",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 10.01,
y: -7.5,
layer: "top",
pointId: "pcb_port_311",
pcb_port_id: "pcb_port_311"
},
{
x: 10.7499858,
y: -11.749873000000001,
layer: "top",
pointId: "pcb_port_306",
pcb_port_id: "pcb_port_306"
}
]
},
{
name: "source_trace_203",
source_trace_id: "source_trace_203",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 12,
y: -13.24,
layer: "top",
pointId: "pcb_port_313",
pcb_port_id: "pcb_port_313"
},
{
x: 10.7499858,
y: -11.749873000000001,
layer: "top",
pointId: "pcb_port_306",
pcb_port_id: "pcb_port_306"
}
]
},
{
name: "source_trace_205",
source_trace_id: "source_trace_205",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 2.26,
y: -17.75,
layer: "top",
pointId: "pcb_port_315",
pcb_port_id: "pcb_port_315"
},
{
x: -0.49,
y: -14,
layer: "top",
pointId: "pcb_port_247",
pcb_port_id: "pcb_port_247"
}
]
},
{
name: "source_trace_228",
source_trace_id: "source_trace_228",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -6.9251059999999995,
y: -8.675063,
layer: "top",
pointId: "pcb_port_61",
pcb_port_id: "pcb_port_61"
},
{
x: 14.24,
y: 1.75,
layer: "top",
pointId: "pcb_port_332",
pcb_port_id: "pcb_port_332"
}
]
},
{
name: "source_trace_229",
source_trace_id: "source_trace_229",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 15.26,
y: 1.75,
layer: "top",
pointId: "pcb_port_333",
pcb_port_id: "pcb_port_333"
},
{
x: -2.05004,
y: 7.999998,
layer: "top",
pointId: "pcb_port_327",
pcb_port_id: "pcb_port_327"
}
]
},
{
name: "source_trace_230",
source_trace_id: "source_trace_230",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -2.05004,
y: 7.999998,
layer: "top",
pointId: "pcb_port_327",
pcb_port_id: "pcb_port_327"
},
{
x: 3.01,
y: 1.95,
layer: "top",
pointId: "pcb_port_334",
pcb_port_id: "pcb_port_334"
}
]
},
{
name: "source_trace_233",
source_trace_id: "source_trace_233",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: -3,
y: 6.000002,
layer: "top",
pointId: "pcb_port_329",
pcb_port_id: "pcb_port_329"
},
{
x: 18.599815,
y: 4.000057999999999,
layer: "top",
pointId: "pcb_port_324",
pcb_port_id: "pcb_port_324"
}
]
},
{
name: "source_trace_234",
source_trace_id: "source_trace_234",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 11.400185,
y: 4.000057999999999,
layer: "top",
pointId: "pcb_port_323",
pcb_port_id: "pcb_port_323"
},
{
x: -8.449897,
y: 1.75,
layer: "top",
pointId: "pcb_port_98",
pcb_port_id: "pcb_port_98"
}
]
},
{
name: "source_trace_235",
source_trace_id: "source_trace_235",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 2.6,
y: 12.725022000000001,
layer: "top",
pointId: "pcb_port_331",
pcb_port_id: "pcb_port_331"
},
{
x: -3,
y: 6.000002,
layer: "top",
pointId: "pcb_port_329",
pcb_port_id: "pcb_port_329"
}
]
},
{
name: "source_trace_236",
source_trace_id: "source_trace_236",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 2.6,
y: 9.324978,
layer: "top",
pointId: "pcb_port_330",
pcb_port_id: "pcb_port_330"
},
{
x: 11.400185,
y: 4.000057999999999,
layer: "top",
pointId: "pcb_port_323",
pcb_port_id: "pcb_port_323"
}
]
},
{
name: "source_trace_237",
source_trace_id: "source_trace_237",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 12.25,
y: -0.825,
layer: "top",
pointId: "pcb_port_336",
pcb_port_id: "pcb_port_336"
},
{
x: 11.400185,
y: 4.000057999999999,
layer: "top",
pointId: "pcb_port_323",
pcb_port_id: "pcb_port_323"
}
]
},
{
name: "source_trace_239",
source_trace_id: "source_trace_239",
nominalTraceWidth: 1,
width: 1,
pointsToConnect: [
{
x: -0.5212000000000001,
y: -5.5,
layer: "top",
pointId: "pcb_port_343",
pcb_port_id: "pcb_port_343"
},
{
x: 17,
y: -7.65,
layer: "top",
pointId: "pcb_port_288",
pcb_port_id: "pcb_port_288"
}
]
},
{
name: "source_trace_242",
source_trace_id: "source_trace_242",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: -8.449897,
y: 1.75,
layer: "top",
pointId: "pcb_port_98",
pcb_port_id: "pcb_port_98"
},
{
x: -2.7051,
y: -0.8649999999999999,
layer: "top",
pointId: "pcb_port_349",
pcb_port_id: "pcb_port_349"
}
]
},
{
name: "source_trace_243",
source_trace_id: "source_trace_243",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -8.449897,
y: 1.75,
layer: "top",
pointId: "pcb_port_98",
pcb_port_id: "pcb_port_98"
},
{
x: -2.7051,
y: -2.135,
layer: "top",
pointId: "pcb_port_350",
pcb_port_id: "pcb_port_350"
}
]
},
{
name: "source_trace_247",
source_trace_id: "source_trace_247",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: -4.5,
y: -1.29,
layer: "top",
pointId: "pcb_port_356",
pcb_port_id: "pcb_port_356"
},
{
x: -2.7051,
y: -0.8649999999999999,
layer: "top",
pointId: "pcb_port_349",
pcb_port_id: "pcb_port_349"
}
]
},
{
name: "source_trace_249",
source_trace_id: "source_trace_249",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -2.7051,
y: 0.40500000000000025,
layer: "top",
pointId: "pcb_port_348",
pcb_port_id: "pcb_port_348"
},
{
x: -3.25,
y: 3.49,
layer: "top",
pointId: "pcb_port_352",
pcb_port_id: "pcb_port_352"
}
]
},
{
name: "source_trace_250",
source_trace_id: "source_trace_250",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -3.25,
y: 4.51,
layer: "top",
pointId: "pcb_port_353",
pcb_port_id: "pcb_port_353"
},
{
x: -5.700063999999999,
y: -3.450029,
layer: "top",
pointId: "pcb_port_74",
pcb_port_id: "pcb_port_74"
}
]
},
{
name: "source_trace_251",
source_trace_id: "source_trace_251",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -3.25,
y: 4.51,
layer: "top",
pointId: "pcb_port_353",
pcb_port_id: "pcb_port_353"
},
{
x: -4.25,
y: 3.49,
layer: "top",
pointId: "pcb_port_354",
pcb_port_id: "pcb_port_354"
}
]
},
{
name: "source_trace_253",
source_trace_id: "source_trace_253",
nominalTraceWidth: 1,
width: 1,
pointsToConnect: [
{
x: 8.9788,
y: -4.5,
layer: "top",
pointId: "pcb_port_361",
pcb_port_id: "pcb_port_361"
},
{
x: 17,
y: -3.6500000000000004,
layer: "top",
pointId: "pcb_port_290",
pcb_port_id: "pcb_port_290"
}
]
},
{
name: "source_trace_256",
source_trace_id: "source_trace_256",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: -8.449897,
y: 1.75,
layer: "top",
pointId: "pcb_port_98",
pcb_port_id: "pcb_port_98"
},
{
x: 4.7949,
y: 0.13500000000000012,
layer: "top",
pointId: "pcb_port_367",
pcb_port_id: "pcb_port_367"
}
]
},
{
name: "source_trace_257",
source_trace_id: "source_trace_257",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -8.449897,
y: 1.75,
layer: "top",
pointId: "pcb_port_98",
pcb_port_id: "pcb_port_98"
},
{
x: 4.7949,
y: -1.1349999999999998,
layer: "top",
pointId: "pcb_port_368",
pcb_port_id: "pcb_port_368"
}
]
},
{
name: "source_trace_261",
source_trace_id: "source_trace_261",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 6.51,
y: 3,
layer: "top",
pointId: "pcb_port_358",
pcb_port_id: "pcb_port_358"
},
{
x: 4.7949,
y: 0.13500000000000012,
layer: "top",
pointId: "pcb_port_367",
pcb_port_id: "pcb_port_367"
}
]
},
{
name: "source_trace_263",
source_trace_id: "source_trace_263",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 4.7949,
y: 1.4050000000000002,
layer: "top",
pointId: "pcb_port_366",
pcb_port_id: "pcb_port_366"
},
{
x: 4,
y: 3.76,
layer: "top",
pointId: "pcb_port_370",
pcb_port_id: "pcb_port_370"
}
]
},
{
name: "source_trace_264",
source_trace_id: "source_trace_264",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 4,
y: 2.74,
layer: "top",
pointId: "pcb_port_371",
pcb_port_id: "pcb_port_371"
},
{
x: -5.700063999999999,
y: -3.049979,
layer: "top",
pointId: "pcb_port_75",
pcb_port_id: "pcb_port_75"
}
]
},
{
name: "source_trace_265",
source_trace_id: "source_trace_265",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 4,
y: 2.74,
layer: "top",
pointId: "pcb_port_371",
pcb_port_id: "pcb_port_371"
},
{
x: 4.99,
y: 4.25,
layer: "top",
pointId: "pcb_port_372",
pcb_port_id: "pcb_port_372"
}
]
},
{
name: "source_trace_267",
source_trace_id: "source_trace_267",
nominalTraceWidth: 0.2,
width: 0.2,
pointsToConnect: [
{
x: -3.6000429,
y: 14.526020299999999,
layer: "top",
pointId: "pcb_port_133",
pcb_port_id: "pcb_port_133"
},
{
x: -15.350088,
y: -8.733501,
layer: "top",
pointId: "pcb_port_374",
pcb_port_id: "pcb_port_374"
}
]
},
{
name: "source_trace_268",
source_trace_id: "source_trace_268",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -15.350088,
y: -7.066499,
layer: "top",
pointId: "pcb_port_375",
pcb_port_id: "pcb_port_375"
},
{
x: -3.24,
y: 2.5,
layer: "top",
pointId: "pcb_port_378",
pcb_port_id: "pcb_port_378"
}
]
},
{
name: "source_trace_269",
source_trace_id: "source_trace_269",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -4.26,
y: 2.5,
layer: "top",
pointId: "pcb_port_379",
pcb_port_id: "pcb_port_379"
},
{
x: -2.44996,
y: -17.75,
layer: "top",
pointId: "pcb_port_380",
pcb_port_id: "pcb_port_380"
}
]
},
{
name: "source_trace_271",
source_trace_id: "source_trace_271",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -5.700063999999999,
y: -4.649925,
layer: "top",
pointId: "pcb_port_71",
pcb_port_id: "pcb_port_71"
},
{
x: -0.55004,
y: -18.399986,
layer: "top",
pointId: "pcb_port_382",
pcb_port_id: "pcb_port_382"
}
]
},
{
name: "source_trace_272",
source_trace_id: "source_trace_272",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -14.449912000000001,
y: -7.066499,
layer: "top",
pointId: "pcb_port_376",
pcb_port_id: "pcb_port_376"
},
{
x: 1.75,
y: -20.26,
layer: "top",
pointId: "pcb_port_383",
pcb_port_id: "pcb_port_383"
}
]
},
{
name: "source_trace_273",
source_trace_id: "source_trace_273",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 1.75,
y: -19.24,
layer: "top",
pointId: "pcb_port_384",
pcb_port_id: "pcb_port_384"
},
{
x: 11.5,
y: -5.94996,
layer: "top",
pointId: "pcb_port_385",
pcb_port_id: "pcb_port_385"
}
]
},
{
name: "source_trace_275",
source_trace_id: "source_trace_275",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -12.549936,
y: -3.850079,
layer: "top",
pointId: "pcb_port_38",
pcb_port_id: "pcb_port_38"
},
{
x: 12.149986,
y: -4.05004,
layer: "top",
pointId: "pcb_port_387",
pcb_port_id: "pcb_port_387"
}
]
},
{
name: "source_trace_276",
source_trace_id: "source_trace_276",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -14.449912000000001,
y: -8.733501,
layer: "top",
pointId: "pcb_port_377",
pcb_port_id: "pcb_port_377"
},
{
x: 0.7,
y: -19.71,
layer: "top",
pointId: "pcb_port_388",
pcb_port_id: "pcb_port_388"
}
]
},
{
name: "source_trace_277",
source_trace_id: "source_trace_277",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 0.7,
y: -18.689999999999998,
layer: "top",
pointId: "pcb_port_389",
pcb_port_id: "pcb_port_389"
},
{
x: 12,
y: -9.29996,
layer: "top",
pointId: "pcb_port_390",
pcb_port_id: "pcb_port_390"
}
]
},
{
name: "source_trace_279",
source_trace_id: "source_trace_279",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -12.549936,
y: -4.249875,
layer: "top",
pointId: "pcb_port_39",
pcb_port_id: "pcb_port_39"
},
{
x: 12.649986,
y: -7.40004,
layer: "top",
pointId: "pcb_port_392",
pcb_port_id: "pcb_port_392"
}
]
},
{
name: "source_trace_280",
source_trace_id: "source_trace_280",
nominalTraceWidth: 0.2,
width: 0.2,
pointsToConnect: [
{
x: -6.75,
y: 12.25,
layer: "top",
pointId: "pcb_port_320",
pcb_port_id: "pcb_port_320"
},
{
x: 9.3999571,
y: 14.526020299999999,
layer: "top",
pointId: "pcb_port_260",
pcb_port_id: "pcb_port_260"
}
]
},
{
name: "source_trace_281",
source_trace_id: "source_trace_281",
nominalTraceWidth: 0.2,
width: 0.2,
pointsToConnect: [
{
x: 0.5,
y: 13.5,
layer: "top",
pointId: "pcb_port_321",
pcb_port_id: "pcb_port_321"
},
{
x: -8.9424,
y: 4.25,
layer: "top",
pointId: "pcb_port_292",
pcb_port_id: "pcb_port_292"
}
]
},
{
name: "source_trace_283",
source_trace_id: "source_trace_283",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -12.549936,
y: -3.049979,
layer: "top",
pointId: "pcb_port_36",
pcb_port_id: "pcb_port_36"
},
{
x: -0.635,
y: 2.7051,
layer: "bottom",
pointId: "pcb_port_398",
pcb_port_id: "pcb_port_398"
}
]
},
{
name: "source_trace_284",
source_trace_id: "source_trace_284",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -12.549936,
y: -3.450029,
layer: "top",
pointId: "pcb_port_37",
pcb_port_id: "pcb_port_37"
},
{
x: 0.635,
y: 2.7051,
layer: "bottom",
pointId: "pcb_port_399",
pcb_port_id: "pcb_port_399"
}
]
},
{
name: "source_trace_285",
source_trace_id: "source_trace_285",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: -8.449897,
y: 1.75,
layer: "top",
pointId: "pcb_port_98",
pcb_port_id: "pcb_port_98"
},
{
x: 0.635,
y: -2.7051,
layer: "bottom",
pointId: "pcb_port_394",
pcb_port_id: "pcb_port_394"
}
]
},
{
name: "source_trace_286",
source_trace_id: "source_trace_286",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 0.635,
y: -2.7051,
layer: "bottom",
pointId: "pcb_port_394",
pcb_port_id: "pcb_port_394"
},
{
x: 1.905,
y: -2.7051,
layer: "bottom",
pointId: "pcb_port_393",
pcb_port_id: "pcb_port_393"
}
]
},
{
name: "source_trace_289",
source_trace_id: "source_trace_289",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 0.635,
y: -4.29,
layer: "bottom",
pointId: "pcb_port_338",
pcb_port_id: "pcb_port_338"
},
{
x: 0.635,
y: -2.7051,
layer: "bottom",
pointId: "pcb_port_394",
pcb_port_id: "pcb_port_394"
}
]
},
{
name: "source_trace_291",
source_trace_id: "source_trace_291",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: 2.035,
y: -4.29,
layer: "bottom",
pointId: "pcb_port_340",
pcb_port_id: "pcb_port_340"
},
{
x: 0.635,
y: -2.7051,
layer: "bottom",
pointId: "pcb_port_394",
pcb_port_id: "pcb_port_394"
}
]
},
{
name: "source_trace_293",
source_trace_id: "source_trace_293",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -5.51,
y: 13,
layer: "top",
pointId: "pcb_port_401",
pcb_port_id: "pcb_port_401"
},
{
x: -0.635,
y: 2.7051,
layer: "bottom",
pointId: "pcb_port_398",
pcb_port_id: "pcb_port_398"
}
]
},
{
name: "source_trace_294",
source_trace_id: "source_trace_294",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -4.49,
y: 13,
layer: "top",
pointId: "pcb_port_402",
pcb_port_id: "pcb_port_402"
},
{
x: 0.635,
y: -2.7051,
layer: "bottom",
pointId: "pcb_port_394",
pcb_port_id: "pcb_port_394"
}
]
},
{
name: "source_trace_295",
source_trace_id: "source_trace_295",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -8.51,
y: 2.75,
layer: "top",
pointId: "pcb_port_403",
pcb_port_id: "pcb_port_403"
},
{
x: 0.635,
y: 2.7051,
layer: "bottom",
pointId: "pcb_port_399",
pcb_port_id: "pcb_port_399"
}
]
},
{
name: "source_trace_296",
source_trace_id: "source_trace_296",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -7.49,
y: 2.75,
layer: "top",
pointId: "pcb_port_404",
pcb_port_id: "pcb_port_404"
},
{
x: 0.635,
y: -2.7051,
layer: "bottom",
pointId: "pcb_port_394",
pcb_port_id: "pcb_port_394"
}
]
},
{
name: "source_trace_297",
source_trace_id: "source_trace_297",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -12.549936,
y: -4.649925,
layer: "top",
pointId: "pcb_port_40",
pcb_port_id: "pcb_port_40"
},
{
x: -8.250014,
y: -17.999999,
layer: "top",
pointId: "pcb_port_407",
pcb_port_id: "pcb_port_407"
}
]
},
{
name: "source_trace_298",
source_trace_id: "source_trace_298",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -9.549986,
y: -17.500127,
layer: "top",
pointId: "pcb_port_405",
pcb_port_id: "pcb_port_405"
},
{
x: 7.999998,
y: 5.999879,
layer: "top",
pointId: "pcb_port_279",
pcb_port_id: "pcb_port_279"
}
]
},
{
name: "source_trace_299",
source_trace_id: "source_trace_299",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -9.549986,
y: -17.500127,
layer: "top",
pointId: "pcb_port_405",
pcb_port_id: "pcb_port_405"
},
{
x: 16.24,
y: 2,
layer: "top",
pointId: "pcb_port_408",
pcb_port_id: "pcb_port_408"
}
]
},
{
name: "source_trace_300",
source_trace_id: "source_trace_300",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 17.26,
y: 2,
layer: "top",
pointId: "pcb_port_409",
pcb_port_id: "pcb_port_409"
},
{
x: 8.999996000000001,
y: 12.000121,
layer: "top",
pointId: "pcb_port_271",
pcb_port_id: "pcb_port_271"
}
]
},
{
name: "source_trace_302",
source_trace_id: "source_trace_302",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -12.549936,
y: -5.049975,
layer: "top",
pointId: "pcb_port_41",
pcb_port_id: "pcb_port_41"
},
{
x: 5.0499860000000005,
y: -19.199999,
layer: "top",
pointId: "pcb_port_412",
pcb_port_id: "pcb_port_412"
}
]
},
{
name: "source_trace_303",
source_trace_id: "source_trace_303",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 3.750014,
y: -18.700127,
layer: "top",
pointId: "pcb_port_410",
pcb_port_id: "pcb_port_410"
},
{
x: 7.999998000000001,
y: 12.000121,
layer: "top",
pointId: "pcb_port_272",
pcb_port_id: "pcb_port_272"
}
]
},
{
name: "source_trace_304",
source_trace_id: "source_trace_304",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 3.750014,
y: -18.700127,
layer: "top",
pointId: "pcb_port_410",
pcb_port_id: "pcb_port_410"
},
{
x: 18.24,
y: 2,
layer: "top",
pointId: "pcb_port_413",
pcb_port_id: "pcb_port_413"
}
]
},
{
name: "source_trace_305",
source_trace_id: "source_trace_305",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 19.26,
y: 2,
layer: "top",
pointId: "pcb_port_414",
pcb_port_id: "pcb_port_414"
},
{
x: 8.999996000000001,
y: 12.000121,
layer: "top",
pointId: "pcb_port_271",
pcb_port_id: "pcb_port_271"
}
]
},
{
name: "source_trace_307",
source_trace_id: "source_trace_307",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -12.549936,
y: -5.450025,
layer: "top",
pointId: "pcb_port_42",
pcb_port_id: "pcb_port_42"
},
{
x: 7.849986,
y: -19.199999,
layer: "top",
pointId: "pcb_port_417",
pcb_port_id: "pcb_port_417"
}
]
},
{
name: "source_trace_308",
source_trace_id: "source_trace_308",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 6.550014,
y: -18.700127,
layer: "top",
pointId: "pcb_port_415",
pcb_port_id: "pcb_port_415"
},
{
x: 7,
y: 12.000121,
layer: "top",
pointId: "pcb_port_273",
pcb_port_id: "pcb_port_273"
}
]
},
{
name: "source_trace_309",
source_trace_id: "source_trace_309",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: 6.550014,
y: -18.700127,
layer: "top",
pointId: "pcb_port_415",
pcb_port_id: "pcb_port_415"
},
{
x: -16.76,
y: 6.25,
layer: "top",
pointId: "pcb_port_418",
pcb_port_id: "pcb_port_418"
}
]
},
{
name: "source_trace_310",
source_trace_id: "source_trace_310",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -15.74,
y: 6.25,
layer: "top",
pointId: "pcb_port_419",
pcb_port_id: "pcb_port_419"
},
{
x: 8.999996000000001,
y: 12.000121,
layer: "top",
pointId: "pcb_port_271",
pcb_port_id: "pcb_port_271"
}
]
},
{
name: "source_net_0",
nominalTraceWidth: 0.8,
width: 0.8,
pointsToConnect: [
{
x: -11.174999999999999,
y: -12.85,
layer: "top",
pointId: "pcb_port_3",
pcb_port_id: "pcb_port_3"
},
{
x: -9.475,
y: -10.65,
layer: "top",
pointId: "pcb_port_2",
pcb_port_id: "pcb_port_2"
},
{
x: -16,
y: -11.26,
layer: "top",
pointId: "pcb_port_30",
pcb_port_id: "pcb_port_30"
},
{
x: -14.5,
y: -1.49,
layer: "top",
pointId: "pcb_port_32",
pcb_port_id: "pcb_port_32"
},
{
x: -16.74,
y: -7,
layer: "top",
pointId: "pcb_port_26",
pcb_port_id: "pcb_port_26"
},
{
x: -13.015,
y: -11.75,
layer: "top",
pointId: "pcb_port_28",
pcb_port_id: "pcb_port_28"
},
{
x: -10.124998,
y: -8.675063,
layer: "top",
pointId: "pcb_port_53",
pcb_port_id: "pcb_port_53"
},
{
x: -9.525,
y: 1.6400000000000003,
layer: "top",
pointId: "pcb_port_121",
pcb_port_id: "pcb_port_121"
},
{
x: -13.015,
y: -10.75,
layer: "top",
pointId: "pcb_port_22",
pcb_port_id: "pcb_port_22"
},
{
x: -11.615,
y: 0.25,
layer: "top",
pointId: "pcb_port_24",
pcb_port_id: "pcb_port_24"
},
{
x: -8.725,
y: 0.4600000000000002,
layer: "top",
pointId: "pcb_port_123",
pcb_port_id: "pcb_port_123"
},
{
x: -0.615,
y: -10.15,
layer: "top",
pointId: "pcb_port_34",
pcb_port_id: "pcb_port_34"
},
{
x: -9.125,
y: -5.249873,
layer: "top",
pointId: "pcb_port_91",
pcb_port_id: "pcb_port_91"
},
{
x: -2.8000445000000003,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_132",
pcb_port_id: "pcb_port_132"
},
{
x: -9.2000063,
y: 14.5258552,
layer: "top",
pointId: "pcb_port_143",
pcb_port_id: "pcb_port_143"
},
{
x: -1.6748880000000002,
y: 15.2943068,
layer: "top",
pointId: "pcb_port_128",
pcb_port_id: "pcb_port_128"
},
{
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "top",
pointId: "pcb_port_130",
pcb_port_id: "pcb_port_130"
},
{
x: -10.325112,
y: 15.2943068,
layer: "top",
pointId: "pcb_port_129",
pcb_port_id: "pcb_port_129"
},
{
x: -10.325112,
y: 19.4741308,
layer: "top",
pointId: "pcb_port_131",
pcb_port_id: "pcb_port_131"
},
{
x: -7.99,
y: 11,
layer: "top",
pointId: "pcb_port_145",
pcb_port_id: "pcb_port_145"
},
{
x: -7.99,
y: 12.3,
layer: "top",
pointId: "pcb_port_147",
pcb_port_id: "pcb_port_147"
},
{
x: -18.100074,
y: 8.500127,
layer: "top",
pointId: "pcb_port_15",
pcb_port_id: "pcb_port_15"
},
{
x: -18,
y: 6.125000000000001,
layer: "top",
pointId: "pcb_port_20",
pcb_port_id: "pcb_port_20"
},
{
x: -13.175,
y: 5,
layer: "top",
pointId: "pcb_port_125",
pcb_port_id: "pcb_port_125"
},
{
x: -7.525,
y: 0.6600000000000004,
layer: "top",
pointId: "pcb_port_93",
pcb_port_id: "pcb_port_93"
},
{
x: -6.325,
y: 0.4600000000000002,
layer: "top",
pointId: "pcb_port_127",
pcb_port_id: "pcb_port_127"
},
{
x: -13.63249,
y: 1.7499379999999998,
layer: "top",
pointId: "pcb_port_155",
pcb_port_id: "pcb_port_155"
},
{
x: -12.125,
y: 2.5,
layer: "top",
pointId: "pcb_port_160",
pcb_port_id: "pcb_port_160"
},
{
x: -10.615,
y: -15.55,
layer: "top",
pointId: "pcb_port_5",
pcb_port_id: "pcb_port_5"
},
{
x: -8.615,
y: -15.55,
layer: "top",
pointId: "pcb_port_7",
pcb_port_id: "pcb_port_7"
},
{
x: -9.925,
y: 0.4600000000000002,
layer: "top",
pointId: "pcb_port_95",
pcb_port_id: "pcb_port_95"
},
{
x: -5.815,
y: -10.25,
layer: "top",
pointId: "pcb_port_97",
pcb_port_id: "pcb_port_97"
},
{
x: -3.85,
y: 9.675,
layer: "top",
pointId: "pcb_port_104",
pcb_port_id: "pcb_port_104"
},
{
x: -2.9,
y: -15.575,
layer: "top",
pointId: "pcb_port_109",
pcb_port_id: "pcb_port_109"
},
{
x: -18.749,
y: 11.5,
layer: "top",
pointId: "pcb_port_110",
pcb_port_id: "pcb_port_110"
},
{
x: -10,
y: -20,
layer: "top",
pointId: "pcb_port_117",
pcb_port_id: "pcb_port_117"
},
{
x: 9.5,
y: -13.49,
layer: "top",
pointId: "pcb_port_227",
pcb_port_id: "pcb_port_227"
},
{
x: 1.4342450000000002,
y: -15.975036,
layer: "top",
pointId: "pcb_port_194",
pcb_port_id: "pcb_port_194"
},
{
x: 4.300127000000001,
y: -11.75,
layer: "top",
pointId: "pcb_port_195",
pcb_port_id: "pcb_port_195"
},
{
x: -2.01,
y: -7.5,
layer: "top",
pointId: "pcb_port_229",
pcb_port_id: "pcb_port_229"
},
{
x: -1.49,
y: -9,
layer: "top",
pointId: "pcb_port_235",
pcb_port_id: "pcb_port_235"
},
{
x: -1.5,
y: -11.99,
layer: "top",
pointId: "pcb_port_233",
pcb_port_id: "pcb_port_233"
},
{
x: 1.4342450000000007,
y: -13.375092,
layer: "top",
pointId: "pcb_port_190",
pcb_port_id: "pcb_port_190"
},
{
x: 1.4342450000000007,
y: -14.025078,
layer: "top",
pointId: "pcb_port_191",
pcb_port_id: "pcb_port_191"
},
{
x: 7.165755000000001,
y: -7.524964,
layer: "top",
pointId: "pcb_port_180",
pcb_port_id: "pcb_port_180"
},
{
x: 10.1999555,
y: 14.5259568,
layer: "top",
pointId: "pcb_port_259",
pcb_port_id: "pcb_port_259"
},
{
x: 3.7999937,
y: 14.5258552,
layer: "top",
pointId: "pcb_port_270",
pcb_port_id: "pcb_port_270"
},
{
x: 11.325112,
y: 15.2943068,
layer: "top",
pointId: "pcb_port_255",
pcb_port_id: "pcb_port_255"
},
{
x: 2.674888,
y: 15.2943068,
layer: "top",
pointId: "pcb_port_256",
pcb_port_id: "pcb_port_256"
},
{
x: 11.325112,
y: 19.474130799999998,
layer: "top",
pointId: "pcb_port_257",
pcb_port_id: "pcb_port_257"
},
{
x: 2.674888,
y: 19.4741308,
layer: "top",
pointId: "pcb_port_258",
pcb_port_id: "pcb_port_258"
},
{
x: 7,
y: 8.999873,
layer: "top",
pointId: "pcb_port_281",
pcb_port_id: "pcb_port_281"
},
{
x: 4.1625,
y: -5.4,
layer: "top",
pointId: "pcb_port_297",
pcb_port_id: "pcb_port_297"
},
{
x: -18,
y: 1.8524189999999998,
layer: "top",
pointId: "pcb_port_298",
pcb_port_id: "pcb_port_298"
},
{
x: -10.65,
y: 7.5,
layer: "top",
pointId: "pcb_port_301",
pcb_port_id: "pcb_port_301"
},
{
x: 3.5,
y: 6.124999999999999,
layer: "top",
pointId: "pcb_port_283",
pcb_port_id: "pcb_port_283"
},
{
x: 12.2712,
y: -11.5,
layer: "top",
pointId: "pcb_port_243",
pcb_port_id: "pcb_port_243"
},
{
x: 17.0212,
y: -11.5,
layer: "top",
pointId: "pcb_port_245",
pcb_port_id: "pcb_port_245"
},
{
x: 10.75,
y: -17.0375,
layer: "top",
pointId: "pcb_port_239",
pcb_port_id: "pcb_port_239"
},
{
x: 9,
y: -9.51,
layer: "top",
pointId: "pcb_port_241",
pcb_port_id: "pcb_port_241"
},
{
x: -0.49,
y: -14,
layer: "top",
pointId: "pcb_port_247",
pcb_port_id: "pcb_port_247"
},
{
x: 9.2500142,
y: -11.749873,
layer: "top",
pointId: "pcb_port_303",
pcb_port_id: "pcb_port_303"
},
{
x: 10.7499858,
y: -12.249999,
layer: "top",
pointId: "pcb_port_305",
pcb_port_id: "pcb_port_305"
},
{
x: 10,
y: -8.99,
layer: "top",
pointId: "pcb_port_309",
pcb_port_id: "pcb_port_309"
},
{
x: 2.26,
y: -17.75,
layer: "top",
pointId: "pcb_port_315",
pcb_port_id: "pcb_port_315"
},
{
x: -15.5,
y: -15.5,
layer: "top",
pointId: "pcb_port_316",
pcb_port_id: "pcb_port_316"
},
{
x: -15.5,
y: 15.5,
layer: "top",
pointId: "pcb_port_317",
pcb_port_id: "pcb_port_317"
},
{
x: 15.5,
y: -15.5,
layer: "top",
pointId: "pcb_port_318",
pcb_port_id: "pcb_port_318"
},
{
x: 15.5,
y: 15.5,
layer: "top",
pointId: "pcb_port_319",
pcb_port_id: "pcb_port_319"
},
{
x: 1.99,
y: 1.95,
layer: "top",
pointId: "pcb_port_335",
pcb_port_id: "pcb_port_335"
},
{
x: -3.94996,
y: 7.999998,
layer: "top",
pointId: "pcb_port_328",
pcb_port_id: "pcb_port_328"
},
{
x: 12.25,
y: 0.825,
layer: "top",
pointId: "pcb_port_337",
pcb_port_id: "pcb_port_337"
},
{
x: 2.7051,
y: -0.8650000000000001,
layer: "top",
pointId: "pcb_port_346",
pcb_port_id: "pcb_port_346"
},
{
x: 2.7051,
y: -2.1350000000000002,
layer: "top",
pointId: "pcb_port_345",
pcb_port_id: "pcb_port_345"
},
{
x: 2.7051,
y: 0.4049999999999998,
layer: "top",
pointId: "pcb_port_347",
pcb_port_id: "pcb_port_347"
},
{
x: -4.5,
y: -2.31,
layer: "top",
pointId: "pcb_port_357",
pcb_port_id: "pcb_port_357"
},
{
x: -4.25,
y: 4.51,
layer: "top",
pointId: "pcb_port_355",
pcb_port_id: "pcb_port_355"
},
{
x: 10.2051,
y: 0.1349999999999999,
layer: "top",
pointId: "pcb_port_364",
pcb_port_id: "pcb_port_364"
},
{
x: 10.2051,
y: -1.1350000000000002,
layer: "top",
pointId: "pcb_port_363",
pcb_port_id: "pcb_port_363"
},
{
x: 10.2051,
y: 1.4049999999999998,
layer: "top",
pointId: "pcb_port_365",
pcb_port_id: "pcb_port_365"
},
{
x: 5.49,
y: 3,
layer: "top",
pointId: "pcb_port_359",
pcb_port_id: "pcb_port_359"
},
{
x: 6.01,
y: 4.25,
layer: "top",
pointId: "pcb_port_373",
pcb_port_id: "pcb_port_373"
},
{
x: -0.55004,
y: -17.100014,
layer: "top",
pointId: "pcb_port_381",
pcb_port_id: "pcb_port_381"
},
{
x: 10.850014,
y: -4.05004,
layer: "top",
pointId: "pcb_port_386",
pcb_port_id: "pcb_port_386"
},
{
x: 11.350014,
y: -7.40004,
layer: "top",
pointId: "pcb_port_391",
pcb_port_id: "pcb_port_391"
},
{
x: 7.75,
y: 4,
layer: "top",
pointId: "pcb_port_322",
pcb_port_id: "pcb_port_322"
},
{
x: -1.905,
y: -2.7051,
layer: "bottom",
pointId: "pcb_port_396",
pcb_port_id: "pcb_port_396"
},
{
x: 1.905,
y: 2.7051,
layer: "bottom",
pointId: "pcb_port_400",
pcb_port_id: "pcb_port_400"
},
{
x: 0.635,
y: -5.31,
layer: "bottom",
pointId: "pcb_port_339",
pcb_port_id: "pcb_port_339"
},
{
x: 2.035,
y: -5.31,
layer: "bottom",
pointId: "pcb_port_341",
pcb_port_id: "pcb_port_341"
},
{
x: -8.250014,
y: -17.000001,
layer: "top",
pointId: "pcb_port_406",
pcb_port_id: "pcb_port_406"
},
{
x: 5.0499860000000005,
y: -18.200001,
layer: "top",
pointId: "pcb_port_411",
pcb_port_id: "pcb_port_411"
},
{
x: 7.849986,
y: -18.200001,
layer: "top",
pointId: "pcb_port_416",
pcb_port_id: "pcb_port_416"
}
],
externallyConnectedPointIds: [
[
"pcb_port_305",
"pcb_port_303"
]
]
},
{
name: "source_net_1",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -5.700063999999999,
y: -7.850071,
layer: "top",
pointId: "pcb_port_63",
pcb_port_id: "pcb_port_63"
},
{
x: -4.8,
y: -7.90065,
layer: "top",
pointId: "pcb_port_161",
pcb_port_id: "pcb_port_161"
},
{
x: -4.8,
y: -7.90065,
layer: "bottom",
pointId: "pcb_port_162",
pcb_port_id: "pcb_port_162"
},
{
x: 1.4342450000000007,
y: -12.074866,
layer: "top",
pointId: "pcb_port_188",
pcb_port_id: "pcb_port_188"
}
],
externallyConnectedPointIds: [
[
"pcb_port_63",
"pcb_port_161"
]
]
},
{
name: "source_net_2",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -5.700063999999999,
y: -7.450021,
layer: "top",
pointId: "pcb_port_64",
pcb_port_id: "pcb_port_64"
},
{
x: -4.05,
y: -7.45055,
layer: "top",
pointId: "pcb_port_163",
pcb_port_id: "pcb_port_163"
},
{
x: -4.05,
y: -7.45055,
layer: "bottom",
pointId: "pcb_port_164",
pcb_port_id: "pcb_port_164"
},
{
x: 1.4342450000000007,
y: -10.774894,
layer: "top",
pointId: "pcb_port_186",
pcb_port_id: "pcb_port_186"
}
],
externallyConnectedPointIds: [
[
"pcb_port_64",
"pcb_port_163"
]
]
},
{
name: "source_net_3",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -5.700063999999999,
y: -7.049971,
layer: "top",
pointId: "pcb_port_65",
pcb_port_id: "pcb_port_65"
},
{
x: -4.8,
y: -7.00045,
layer: "top",
pointId: "pcb_port_165",
pcb_port_id: "pcb_port_165"
},
{
x: -4.8,
y: -7.00045,
layer: "bottom",
pointId: "pcb_port_166",
pcb_port_id: "pcb_port_166"
},
{
x: 1.4342450000000007,
y: -8.174949999999999,
layer: "top",
pointId: "pcb_port_182",
pcb_port_id: "pcb_port_182"
}
],
externallyConnectedPointIds: [
[
"pcb_port_65",
"pcb_port_165"
]
]
},
{
name: "source_net_4",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -5.700063999999999,
y: -5.850075,
layer: "top",
pointId: "pcb_port_68",
pcb_port_id: "pcb_port_68"
},
{
x: -17.450039999999998,
y: -10.949985000000002,
layer: "top",
pointId: "pcb_port_251",
pcb_port_id: "pcb_port_251"
},
{
x: 1.24,
y: -17.75,
layer: "top",
pointId: "pcb_port_314",
pcb_port_id: "pcb_port_314"
}
]
},
{
name: "source_net_5",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -5.700063999999999,
y: -4.249875,
layer: "top",
pointId: "pcb_port_72",
pcb_port_id: "pcb_port_72"
},
{
x: 10.749985800000001,
y: -11.250001,
layer: "top",
pointId: "pcb_port_307",
pcb_port_id: "pcb_port_307"
},
{
x: 8.99,
y: -7.5,
layer: "top",
pointId: "pcb_port_310",
pcb_port_id: "pcb_port_310"
}
]
},
{
name: "source_net_6",
nominalTraceWidth: 0.15,
width: 0.15,
pointsToConnect: [
{
x: -5.700063999999999,
y: -3.850079,
layer: "top",
pointId: "pcb_port_73",
pcb_port_id: "pcb_port_73"
},
{
x: 9.2500142,
y: -11.250001,
layer: "top",
pointId: "pcb_port_302",
pcb_port_id: "pcb_port_302"
},
{
x: 12,
y: -14.26,
layer: "top",
pointId: "pcb_port_312",
pcb_port_id: "pcb_port_312"
}
]
},
{
name: "source_net_7",
nominalTraceWidth: 0.2,
width: 0.2,
pointsToConnect: [
{
x: -14.2,
y: 11,
layer: "top",
pointId: "pcb_port_11",
pcb_port_id: "pcb_port_11"
},
{
x: -3.6000429,
y: 14.526020299999999,
layer: "top",
pointId: "pcb_port_133",
pcb_port_id: "pcb_port_133"
},
{
x: -8.4001603,
y: 14.525855199999999,
layer: "top",
pointId: "pcb_port_142",
pcb_port_id: "pcb_port_142"
},
{
x: -18,
y: 4.4750000000000005,
layer: "top",
pointId: "pcb_port_19",
pcb_port_id: "pcb_port_19"
},
{
x: -15.350088,
y: -8.733501,
layer: "top",
pointId: "pcb_port_374",
pcb_port_id: "pcb_port_374"
}
]
},
{
name: "source_net_8",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -10.8,
y: 11,
layer: "top",
pointId: "pcb_port_10",
pcb_port_id: "pcb_port_10"
},
{
x: -14.5,
y: 7.49,
layer: "top",
pointId: "pcb_port_12",
pcb_port_id: "pcb_port_12"
},
{
x: -18.100074,
y: 9.449833,
layer: "top",
pointId: "pcb_port_14",
pcb_port_id: "pcb_port_14"
}
]
},
{
name: "source_net_9",
nominalTraceWidth: 0.3,
width: 0.3,
pointsToConnect: [
{
x: -16,
y: -10.24,
layer: "top",
pointId: "pcb_port_29",
pcb_port_id: "pcb_port_29"
},
{
x: -14.5,
y: -2.51,
layer: "top",
pointId: "pcb_port_31",
pcb_port_id: "pcb_port_31"
},
{
x: -17.76,
y: -7,
layer: "top",
pointId: "pcb_port_25",
pcb_port_id: "pcb_port_25"
},
{
x: -14.035,
y: -11.75,
layer: "top",
pointId: "pcb_port_27",
pcb_port_id: "pcb_port_27"
},
{
x: -2.49,
y: -12,
layer: "top",
pointId: "pcb_port_101",
pcb_port_id: "pcb_port_101"
},
{
x: -9.525,
y: 2.66,
layer: "top",
pointId: "pcb_port_120",
pcb_port_id: "pcb_port_120"
},
{
x: -10.61751,
y: 3.2500620000000002,
layer: "top",
pointId: "pcb_port_159",
pcb_port_id: "pcb_port_159"
},
{
x: -14.035,
y: -10.75,
layer: "top",
pointId: "pcb_port_21",
pcb_port_id: "pcb_port_21"
},
{
x: -12.635,
y: 0.25,
layer: "top",
pointId: "pcb_port_23",
pcb_port_id: "pcb_port_23"
},
{
x: -8.525052,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_82",
pcb_port_id: "pcb_port_82"
},
{
x: -8.725,
y: -0.5599999999999998,
layer: "top",
pointId: "pcb_port_122",
pcb_port_id: "pcb_port_122"
},
{
x: -8.925102,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_83",
pcb_port_id: "pcb_port_83"
},
{
x: -5.700063999999999,
y: -2.649929,
layer: "top",
pointId: "pcb_port_76",
pcb_port_id: "pcb_port_76"
},
{
x: -5.700063999999999,
y: -6.249871,
layer: "top",
pointId: "pcb_port_67",
pcb_port_id: "pcb_port_67"
},
{
x: -8.925102,
y: -8.675063,
layer: "top",
pointId: "pcb_port_56",
pcb_port_id: "pcb_port_56"
},
{
x: -12.549936,
y: -6.249871,
layer: "top",
pointId: "pcb_port_44",
pcb_port_id: "pcb_port_44"
},
{
x: -12.549936,
y: -2.649929,
layer: "top",
pointId: "pcb_port_35",
pcb_port_id: "pcb_port_35"
},
{
x: -6.9251059999999995,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_78",
pcb_port_id: "pcb_port_78"
},
{
x: -15.899926,
y: 9.450087,
layer: "top",
pointId: "pcb_port_18",
pcb_port_id: "pcb_port_18"
},
{
x: -14.825,
y: 5,
layer: "top",
pointId: "pcb_port_124",
pcb_port_id: "pcb_port_124"
},
{
x: -6.325,
y: -0.5599999999999998,
layer: "top",
pointId: "pcb_port_126",
pcb_port_id: "pcb_port_126"
},
{
x: -8.449897,
y: 1.75,
layer: "top",
pointId: "pcb_port_98",
pcb_port_id: "pcb_port_98"
},
{
x: -12,
y: 14.51,
layer: "top",
pointId: "pcb_port_113",
pcb_port_id: "pcb_port_113"
},
{
x: -19.5,
y: 12.49,
layer: "top",
pointId: "pcb_port_114",
pcb_port_id: "pcb_port_114"
},
{
x: -4,
y: -17.5,
layer: "top",
pointId: "pcb_port_119",
pcb_port_id: "pcb_port_119"
},
{
x: -0.49999999999999994,
y: -11.24,
layer: "top",
pointId: "pcb_port_237",
pcb_port_id: "pcb_port_237"
},
{
x: -0.49,
y: -15.75,
layer: "top",
pointId: "pcb_port_249",
pcb_port_id: "pcb_port_249"
},
{
x: 10.7499858,
y: -11.749873000000001,
layer: "top",
pointId: "pcb_port_306",
pcb_port_id: "pcb_port_306"
},
{
x: 10,
y: -10.01,
layer: "top",
pointId: "pcb_port_308",
pcb_port_id: "pcb_port_308"
},
{
x: 10.01,
y: -7.5,
layer: "top",
pointId: "pcb_port_311",
pcb_port_id: "pcb_port_311"
},
{
x: 12,
y: -13.24,
layer: "top",
pointId: "pcb_port_313",
pcb_port_id: "pcb_port_313"
},
{
x: 11.400185,
y: 4.000057999999999,
layer: "top",
pointId: "pcb_port_323",
pcb_port_id: "pcb_port_323"
},
{
x: 2.6,
y: 9.324978,
layer: "top",
pointId: "pcb_port_330",
pcb_port_id: "pcb_port_330"
},
{
x: 12.25,
y: -0.825,
layer: "top",
pointId: "pcb_port_336",
pcb_port_id: "pcb_port_336"
},
{
x: -2.7051,
y: -0.8649999999999999,
layer: "top",
pointId: "pcb_port_349",
pcb_port_id: "pcb_port_349"
},
{
x: -2.7051,
y: -2.135,
layer: "top",
pointId: "pcb_port_350",
pcb_port_id: "pcb_port_350"
},
{
x: -4.5,
y: -1.29,
layer: "top",
pointId: "pcb_port_356",
pcb_port_id: "pcb_port_356"
},
{
x: 4.7949,
y: 0.13500000000000012,
layer: "top",
pointId: "pcb_port_367",
pcb_port_id: "pcb_port_367"
},
{
x: 4.7949,
y: -1.1349999999999998,
layer: "top",
pointId: "pcb_port_368",
pcb_port_id: "pcb_port_368"
},
{
x: 6.51,
y: 3,
layer: "top",
pointId: "pcb_port_358",
pcb_port_id: "pcb_port_358"
},
{
x: 0.635,
y: -2.7051,
layer: "bottom",
pointId: "pcb_port_394",
pcb_port_id: "pcb_port_394"
},
{
x: 1.905,
y: -2.7051,
layer: "bottom",
pointId: "pcb_port_393",
pcb_port_id: "pcb_port_393"
},
{
x: 0.635,
y: -4.29,
layer: "bottom",
pointId: "pcb_port_338",
pcb_port_id: "pcb_port_338"
},
{
x: 2.035,
y: -4.29,
layer: "bottom",
pointId: "pcb_port_340",
pcb_port_id: "pcb_port_340"
},
{
x: -4.49,
y: 13,
layer: "top",
pointId: "pcb_port_402",
pcb_port_id: "pcb_port_402"
},
{
x: -7.49,
y: 2.75,
layer: "top",
pointId: "pcb_port_404",
pcb_port_id: "pcb_port_404"
}
]
},
{
name: "source_net_10",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -1.635,
y: -10.15,
layer: "top",
pointId: "pcb_port_33",
pcb_port_id: "pcb_port_33"
},
{
x: -7.050103,
y: 1.75,
layer: "top",
pointId: "pcb_port_99",
pcb_port_id: "pcb_port_99"
},
{
x: -6.525056,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_77",
pcb_port_id: "pcb_port_77"
}
]
},
{
name: "source_net_11",
nominalTraceWidth: 0.1,
width: 0.1,
pointsToConnect: [
{
x: -9.325152,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_84",
pcb_port_id: "pcb_port_84"
},
{
x: -9.925,
y: -0.5599999999999998,
layer: "top",
pointId: "pcb_port_94",
pcb_port_id: "pcb_port_94"
},
{
x: -7.325156,
y: -1.8249369999999998,
layer: "top",
pointId: "pcb_port_79",
pcb_port_id: "pcb_port_79"
},
{
x: -7.525,
y: -0.35999999999999965,
layer: "top",
pointId: "pcb_port_92",
pcb_port_id: "pcb_port_92"
},
{
x: -8.525052,
y: -8.675063,
layer: "top",
pointId: "pcb_port_57",
pcb_port_id: "pcb_port_57"
},
{
x: -6.835,
y: -10.25,
layer: "top",
pointId: "pcb_port_96",
pcb_port_id: "pcb_port_96"
}
]
}
],
traces: [
{
type: "pcb_trace",
pcb_trace_id: "pcb_trace_1",
source_trace_id: "source_trace_84",
connection_name: "source_trace_84",
connectsTo: [
"pcb_port_1",
"pcb_port_8"
],
route: [
{
route_type: "wire",
x: -9.475,
y: -12.85,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -7.835,
y: -11.55,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "pcb_trace_4",
source_trace_id: "source_trace_88",
connection_name: "source_trace_88",
connectsTo: [
"pcb_port_6",
"pcb_port_1"
],
route: [
{
route_type: "wire",
x: -9.635,
y: -15.55,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.475,
y: -12.85,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "pcb_trace_9",
source_trace_id: "source_trace_240",
connection_name: "source_trace_240",
connectsTo: [
"pcb_port_342",
"pcb_port_351"
],
route: [
{
route_type: "wire",
x: -3.4787999999999997,
y: -5.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.7051,
y: -3.405,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "pcb_trace_11",
source_trace_id: "source_trace_254",
connection_name: "source_trace_254",
connectsTo: [
"pcb_port_360",
"pcb_port_369"
],
route: [
{
route_type: "wire",
x: 6.0212,
y: -4.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.7949,
y: -2.405,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "pcb_trace_12",
source_trace_id: "source_trace_255",
connection_name: "source_trace_255",
connectsTo: [
"pcb_port_361",
"pcb_port_362"
],
route: [
{
route_type: "wire",
x: 8.9788,
y: -4.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.2051,
y: -2.4050000000000002,
width: 0.15,
layer: "top"
}
]
}
],
layerCount: 4,
allowBlindAndBuriedVias: false,
minTraceWidth: 0.1,
minViaDiameter: 0.5,
minViaHoleDiameter: 0.3,
minViaPadDiameter: 0.5,
min_via_hole_diameter: 0.3,
min_via_pad_diameter: 0.5,
minTraceToPadEdgeClearance: 0.1,
minTraceToHoleEdgeClearance: 0.2,
minViaEdgeToPadEdgeClearance: 0.125,
minViaHoleEdgeToViaHoleEdgeClearance: 0.2,
minPlatedHoleDrillEdgeToDrillEdgeClearance: 0.45,
minPadEdgeToPadEdgeClearance: 0.125,
minBoardEdgeClearance: 0.2,
nominalTraceWidth: 0.1,
outline: [
{
x: -20.2713082,
y: -16.5386766
},
{
x: -16.528669,
y: -20.281315799999998
},
{
x: -16.385387,
y: -20.415514
},
{
x: -16.233635,
y: -20.540054
},
{
x: -16.074062,
y: -20.654402
},
{
x: -15.907353,
y: -20.758069
},
{
x: -15.73422,
y: -20.85061
},
{
x: -15.555405,
y: -20.93163
},
{
x: -15.371675,
y: -21.000781
},
{
x: -15.183815,
y: -21.057768
},
{
x: -14.99263,
y: -21.102346
},
{
x: -14.798939,
y: -21.134324
},
{
x: -14.603571,
y: -21.153566
},
{
x: -14.407363,
y: -21.15999
},
{
x: 14.407362599999999,
y: -21.160003399999997
},
{
x: 14.603573,
y: -21.15358
},
{
x: 14.798943,
y: -21.134338
},
{
x: 14.992637,
y: -21.102358
},
{
x: 15.183824,
y: -21.05778
},
{
x: 15.371686,
y: -21.000792
},
{
x: 15.555419,
y: -20.931639
},
{
x: 15.734235,
y: -20.850618
},
{
x: 15.90737,
y: -20.758074
},
{
x: 16.074081,
y: -20.654406
},
{
x: 16.233655,
y: -20.540056
},
{
x: 16.385408,
y: -20.415513
},
{
x: 16.528691,
y: -20.281313
},
{
x: 20.2713082,
y: -16.5386766
},
{
x: 20.405506,
y: -16.395395
},
{
x: 20.530046,
y: -16.243642
},
{
x: 20.644394,
y: -16.08407
},
{
x: 20.748061,
y: -15.91736
},
{
x: 20.840602,
y: -15.744228
},
{
x: 20.921622,
y: -15.565413
},
{
x: 20.990774,
y: -15.381682
},
{
x: 21.04776,
y: -15.193822
},
{
x: 21.092338,
y: -15.002637
},
{
x: 21.124317,
y: -14.808946
},
{
x: 21.143559,
y: -14.613578
},
{
x: 21.149982,
y: -14.41737
},
{
x: 21.149995799999996,
y: 14.417370199999999
},
{
x: 21.143573,
y: 14.613579
},
{
x: 21.12433,
y: 14.808948
},
{
x: 21.092352,
y: 15.00264
},
{
x: 21.047773,
y: 15.193826
},
{
x: 20.990787,
y: 15.381687
},
{
x: 20.921635,
y: 15.565418
},
{
x: 20.840615,
y: 15.744234
},
{
x: 20.748073,
y: 15.917367
},
{
x: 20.644406,
y: 16.084078
},
{
x: 20.530057,
y: 16.243651
},
{
x: 20.405517,
y: 16.395404
},
{
x: 20.271318,
y: 16.538686
},
{
x: 16.528669,
y: 20.281315799999998
},
{
x: 16.385388,
y: 20.415515
},
{
x: 16.233636,
y: 20.540056
},
{
x: 16.074064,
y: 20.654405
},
{
x: 15.907354,
y: 20.758072
},
{
x: 15.734221,
y: 20.850615
},
{
x: 15.555407,
y: 20.931635
},
{
x: 15.371676,
y: 21.000787
},
{
x: 15.183816,
y: 21.057774
},
{
x: 14.992631,
y: 21.102353
},
{
x: 14.798939,
y: 21.134332
},
{
x: 14.603571,
y: 21.153574
},
{
x: 14.407363,
y: 21.159997
},
{
x: -14.407362599999999,
y: 21.160003399999997
},
{
x: -14.603573,
y: 21.15358
},
{
x: -14.798943,
y: 21.134338
},
{
x: -14.992637,
y: 21.102358
},
{
x: -15.183824,
y: 21.05778
},
{
x: -15.371686,
y: 21.000792
},
{
x: -15.555419,
y: 20.931639
},
{
x: -15.734235,
y: 20.850618
},
{
x: -15.90737,
y: 20.758074
},
{
x: -16.074081,
y: 20.654406
},
{
x: -16.233655,
y: 20.540056
},
{
x: -16.385408,
y: 20.415513
},
{
x: -16.528691,
y: 20.281313
},
{
x: -20.2713082,
y: 16.5386766
},
{
x: -20.405506,
y: 16.395395
},
{
x: -20.530046,
y: 16.243642
},
{
x: -20.644394,
y: 16.08407
},
{
x: -20.748061,
y: 15.91736
},
{
x: -20.840602,
y: 15.744228
},
{
x: -20.921622,
y: 15.565413
},
{
x: -20.990774,
y: 15.381682
},
{
x: -21.04776,
y: 15.193822
},
{
x: -21.092338,
y: 15.002637
},
{
x: -21.124317,
y: 14.808946
},
{
x: -21.143559,
y: 14.613578
},
{
x: -21.149982,
y: 14.41737
},
{
x: -21.149995799999996,
y: -14.417370199999999
},
{
x: -21.143573,
y: -14.613579
},
{
x: -21.12433,
y: -14.808948
},
{
x: -21.092352,
y: -15.00264
},
{
x: -21.047773,
y: -15.193826
},
{
x: -20.990787,
y: -15.381687
},
{
x: -20.921635,
y: -15.565418
},
{
x: -20.840615,
y: -15.744234
},
{
x: -20.748073,
y: -15.917367
},
{
x: -20.644406,
y: -16.084078
},
{
x: -20.530057,
y: -16.243651
},
{
x: -20.405517,
y: -16.395404
},
{
x: -20.271318,
y: -16.538686
}
]
};
var traces = [
{
type: "pcb_trace",
pcb_trace_id: "source_net_10_retained_0",
connection_name: "source_net_10",
connectsTo: [
"pcb_port_99",
"pcb_port_77"
],
route: [
{
route_type: "wire",
x: -7.050103,
y: 1.75,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -7.050103000000002,
y: 2.0500000000000007,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.950103000000002,
y: 2.150000000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.950103000000002,
y: 2.5,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.900103000000001,
y: 2.5500000000000007,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.900103000000001,
y: 2.75,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.900103000000001,
y: 2.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.900103000000001,
y: 2.950000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.650103000000001,
y: 3.200000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.650103000000001,
y: 3.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.6001030000000025,
y: 3.3000000000000007,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.6001030000000025,
y: 3.700000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.450103000000002,
y: 3.8500000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -6.450103000000002,
y: 3.8500000000000014,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.450103000000002,
y: 3.8500000000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.200103000000002,
y: 3.8500000000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.400103000000001,
y: 5.650000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.350103000000001,
y: 5.650000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.300103000000004,
y: 5.700000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.4001030000000014,
y: 5.700000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.6001030000000007,
y: 6.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.5501030000000036,
y: 6.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.500103000000003,
y: 6.550000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.1001030000000007,
y: 6.550000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.0501030000000036,
y: 6.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.000103000000003,
y: 6.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.6001030000000007,
y: 6.100000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.3501030000000007,
y: 6.100000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.2501030000000029,
y: 6,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.1501030000000014,
y: 6,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.0001030000000029,
y: 5.850000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.0001030000000029,
y: 5.75,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.9501030000000021,
y: 5.700000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.9501030000000021,
y: 4.900000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.150103000000001,
y: 1.7000000000000028,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.150103000000001,
y: 0.5500000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.650103000000001,
y: -0.9499999999999993,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.650103000000001,
y: -1.3499999999999979,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.650103000000001,
y: -1.3499999999999979,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -5.650103000000001,
y: -1.75,
width: 0.1,
layer: "inner2"
},
{
route_type: "via",
x: -5.650103000000001,
y: -1.75,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -5.650103000000001,
y: -1.75,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.400103000000001,
y: -1.75,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.525056,
y: -1.8249369999999998,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_10_retained_1",
connection_name: "source_net_10",
connectsTo: [
"pcb_port_77",
"pcb_port_33"
],
route: [
{
route_type: "wire",
x: -1.635,
y: -10.15,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5250559999999993,
y: -10.274937000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.1750559999999979,
y: -10.624937000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.0750559999999965,
y: -10.624937000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.0250559999999993,
y: -10.674937,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.2250559999999986,
y: -10.674937,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.17494400000000354,
y: -10.274937000000001,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 0.17494400000000354,
y: -10.274937000000001,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.17494400000000354,
y: -10.274937000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.2749440000000014,
y: -10.174937,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.17494400000000354,
y: -10.074937,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.0250559999999993,
y: -10.074937,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.2250559999999986,
y: -9.874937000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.5250559999999993,
y: -9.874937000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.9250559999999979,
y: -9.474937,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.325056,
y: -9.474937,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.875055999999997,
y: -8.924937,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.175055999999998,
y: -8.924937,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -3.175055999999998,
y: -8.924937,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -3.175055999999998,
y: -8.924937,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.7250559999999986,
y: -8.374937000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.925055999999998,
y: -8.374937000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.975055999999999,
y: -8.324937,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.075055999999998,
y: -8.324937,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.225055999999999,
y: -8.174937,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.225055999999999,
y: -8.074937,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.275055999999999,
y: -8.024937000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.275055999999999,
y: -6.624937000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.375055999999999,
y: -6.524937000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.375055999999999,
y: -6.424937,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.025055999999999,
y: -5.774937000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.025055999999999,
y: -2.124936999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -6.025055999999999,
y: -2.124936999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.025055999999999,
y: -2.124936999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.225055999999999,
y: -2.124936999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.525056,
y: -1.8249369999999998,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_8_retained_2",
connection_name: "source_net_8",
connectsTo: [
"pcb_port_14",
"pcb_port_12"
],
route: [
{
route_type: "wire",
x: -14.5,
y: 7.49,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.5,
y: 7.9467,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.1575,
y: 7.9467,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.9933,
y: 8.1109,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.9933,
y: 8.8636,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.1272,
y: 8.9975,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -15.0448,
y: 8.9975,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -15.0972,
y: 8.9451,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.9087,
y: 8.9451,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.4134,
y: 9.4498,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.7567,
y: 9.4498,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.100074,
y: 9.449833,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_8_retained_3",
connection_name: "source_net_8",
connectsTo: [
"pcb_port_12",
"pcb_port_10"
],
route: [
{
route_type: "wire",
x: -10.8,
y: 11,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.8,
y: 11.8384,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: -10.8,
y: 11.8384,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -10.8,
y: 11.8384,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -12.5217,
y: 10.1167,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -17.8924,
y: 10.1167,
layer: "inner1",
width: 0.15
},
{
route_type: "via",
x: -17.8924,
y: 10.1167,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -17.8924,
y: 10.1167,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.7567,
y: 9.981,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.7567,
y: 9.4498,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.4134,
y: 9.4498,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.9087,
y: 8.9451,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -15.0972,
y: 8.9451,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -15.0448,
y: 8.9975,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.1272,
y: 8.9975,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.9933,
y: 8.8636,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.9933,
y: 8.1109,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.1575,
y: 7.9467,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.5,
y: 7.9467,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.5,
y: 7.49,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_284__source_trace_295_retained_4",
connection_name: "source_trace_284__source_trace_295",
connectsTo: [
"pcb_port_37",
"pcb_port_403"
],
route: [
{
route_type: "wire",
x: -12.549936,
y: -3.450029,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.399936000000002,
y: -3.400029,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -13.399936000000002,
y: -3.400029,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -13.399936000000002,
y: -3.400029,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -12.699936000000003,
y: -2.2000290000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -12.699936000000003,
y: -1.4500290000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.999936000000002,
y: 3.3999710000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -7.999936000000002,
y: 3.3999710000000007,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -7.999936000000002,
y: 3.3999710000000007,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.51,
y: 2.75,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_295_retained_5",
connection_name: "source_trace_295",
connectsTo: [
"pcb_port_403",
"pcb_port_399"
],
route: [
{
route_type: "wire",
x: -8.51,
y: 2.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.009999999999998,
y: 3.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.009999999999998,
y: 3.3500000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.999936000000002,
y: 3.3999710000000007,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -7.999936000000002,
y: 3.3999710000000007,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -7.999936000000002,
y: 3.3999710000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.959999999999997,
y: 3.450000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.859999999999998,
y: 3.5500000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.859999999999998,
y: 3.5500000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.159999999999997,
y: 5.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.159999999999997,
y: 5.400000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.109999999999998,
y: 5.450000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.109999999999998,
y: 5.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.959999999999997,
y: 5.650000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.909999999999997,
y: 5.650000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.859999999999998,
y: 5.700000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.809999999999999,
y: 5.700000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.609999999999996,
y: 5.900000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.559999999999999,
y: 5.900000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.509999999999998,
y: 5.950000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.459999999999997,
y: 5.950000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.409999999999997,
y: 6,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.5599999999999987,
y: 6,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.8099999999999987,
y: 6.75,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.759999999999998,
y: 6.75,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.7099999999999973,
y: 6.800000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.6599999999999966,
y: 6.800000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.609999999999996,
y: 6.850000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.3099999999999952,
y: 6.850000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.1099999999999959,
y: 7.050000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.0599999999999952,
y: 7.050000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.009999999999998,
y: 7.100000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.6599999999999966,
y: 7.100000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.6099999999999959,
y: 7.050000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.5599999999999952,
y: 7.050000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.4599999999999973,
y: 6.950000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.4599999999999973,
y: 6.900000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.4099999999999966,
y: 6.850000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.4099999999999966,
y: 5.650000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.4599999999999973,
y: 5.600000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.4599999999999973,
y: 5.550000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.5599999999999952,
y: 5.450000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.5599999999999952,
y: 4.650000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.3599999999999959,
y: 3.8500000000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -1.3599999999999959,
y: 3.8500000000000014,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -1.3599999999999959,
y: 3.8500000000000014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.8599999999999959,
y: 3.8500000000000014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.8099999999999952,
y: 3.900000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.4599999999999973,
y: 3.900000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.4099999999999966,
y: 3.8500000000000014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.3599999999999959,
y: 3.8500000000000014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.1599999999999966,
y: 3.650000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.1599999999999966,
y: 3.5,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.05999999999999517,
y: 3.400000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.05999999999999517,
y: 3.400000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.5400000000000027,
y: 2.8000000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.635,
y: 2.7051,
width: 0.15,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_293_retained_6",
connection_name: "source_trace_293",
connectsTo: [
"pcb_port_401",
"pcb_port_398"
],
route: [
{
route_type: "wire",
x: -5.51,
y: 13,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.859999999999996,
y: 13.550000000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.059999999999999,
y: 13.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.5599999999999987,
y: 13.399999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.3099999999999952,
y: 11.899999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -1.3099999999999952,
y: 11.899999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -1.3099999999999952,
y: 11.899999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.9599999999999973,
y: 11.300000000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.19000000000000483,
y: 10.150000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.19000000000000483,
y: 9.450000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.8400000000000034,
y: 8.850000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.8900000000000041,
y: 4.700000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.6900000000000048,
y: 4.350000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.2900000000000027,
y: 1.3500000000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 0.2900000000000027,
y: 1.3500000000000014,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.2900000000000027,
y: 1.3500000000000014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.635,
y: 2.7051,
width: 0.15,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_283_retained_7",
connection_name: "source_trace_283",
connectsTo: [
"pcb_port_36",
"pcb_port_398"
],
route: [
{
route_type: "wire",
x: -12.549936,
y: -3.049979,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.849936000000001,
y: -3.0499790000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.949936000000003,
y: -2.949978999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.299936000000002,
y: -2.949978999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.349936000000003,
y: -2.8999789999999983,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.549936000000002,
y: -2.8999789999999983,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.549936000000002,
y: -2.8999789999999983,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.649936000000002,
y: -2.8999789999999983,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.749936000000002,
y: -2.7999790000000004,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -13.749936000000002,
y: -2.7999790000000004,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -13.749936000000002,
y: -2.7999790000000004,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.749936000000002,
y: -2.199978999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -14.099936000000003,
y: -1.8499789999999976,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -14.099936000000003,
y: -0.5999789999999976,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.999936000000002,
y: -0.49997899999999973,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.999936000000002,
y: -0.449978999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.749936000000002,
y: -0.19997899999999902,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.749936000000002,
y: -0.04997900000000044,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.649936000000002,
y: 0.05002100000000098,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.649936000000002,
y: 0.10002100000000169,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.599936000000003,
y: 0.1500210000000024,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.549936000000002,
y: 0.1500210000000024,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.499936000000002,
y: 0.20002099999999956,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.149936000000002,
y: 0.20002099999999956,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.749936000000002,
y: 1.6000210000000017,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.749936000000002,
y: 1.800021000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.649936000000002,
y: 1.9000210000000024,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.649936000000002,
y: 1.9500209999999996,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.599936000000001,
y: 1.9500209999999996,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.549936000000002,
y: 2.0000210000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.499936000000002,
y: 2.0000210000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.449936000000001,
y: 2.050021000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -10.449936000000001,
y: 2.050021000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.449936000000001,
y: 4.050021000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.399936000000002,
y: 4.050021000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.349936000000001,
y: 4.100021000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.249936000000002,
y: 4.100021000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.199936000000001,
y: 4.150021000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.899936000000002,
y: 4.150021000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.299936000000002,
y: 4.750021,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -7.299936000000002,
y: 4.750021,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -7.299936000000002,
y: 4.750021,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.7999360000000024,
y: 4.750021,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -1.7999360000000024,
y: 4.750021,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -1.7999360000000024,
y: 4.750021,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.7999360000000024,
y: 3.6500210000000024,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.7499360000000017,
y: 3.6000210000000017,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.7499360000000017,
y: 3.550021000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.449936000000001,
y: 3.2500210000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.449936000000001,
y: 3.2500210000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.3999360000000003,
y: 3.2000209999999996,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.3999360000000003,
y: 2.050021000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.3999360000000003,
y: 2.050021000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.3999360000000003,
y: 1.9000210000000024,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.2499360000000017,
y: 1.7500210000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -1.2499360000000017,
y: 1.7500210000000003,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -1.2499360000000017,
y: 1.7500210000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.2499360000000017,
y: 1.9500209999999996,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.2499360000000017,
y: 1.9500209999999996,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.2499360000000017,
y: 2.1000210000000017,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.7499360000000017,
y: 2.6000210000000017,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.635,
y: 2.7051,
width: 0.15,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_279_retained_8",
connection_name: "source_trace_279",
connectsTo: [
"pcb_port_39",
"pcb_port_392"
],
route: [
{
route_type: "wire",
x: -12.549936,
y: -4.249875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.599936000000001,
y: -4.249874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.549936000000002,
y: -4.299875,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -11.549936000000002,
y: -4.299875,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -11.549936000000002,
y: -4.299875,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -10.899936000000002,
y: -4.299875,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -10.399936000000002,
y: -3.799875,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.649936000000002,
y: -3.799875,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.349936000000001,
y: -3.4998749999999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.299936000000002,
y: -3.4998749999999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.299936000000002,
y: -3.4498749999999987,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.249936000000002,
y: -3.4498749999999987,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.249936000000002,
y: -3.399874999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.049936000000002,
y: -2.1998749999999987,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.999936000000002,
y: -2.1998749999999987,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.949936000000001,
y: -2.149874999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.749936000000002,
y: -2.149874999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.449936000000001,
y: -0.8498749999999973,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.349936000000001,
y: -0.8498749999999973,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.299936000000002,
y: -0.7998750000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.4999360000000017,
y: -0.7998750000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.449936000000001,
y: -0.7498749999999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.3999360000000003,
y: -0.7498749999999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.349936000000003,
y: -0.6998749999999987,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.7499360000000017,
y: -0.6998749999999987,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.4999360000000017,
y: -0.4498749999999987,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.449936000000001,
y: -0.4498749999999987,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.3999360000000003,
y: -0.399874999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.4500639999999976,
y: -0.399874999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.550063999999999,
y: -0.2998750000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.6000639999999997,
y: -0.2998750000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.6500640000000004,
y: -0.2498749999999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.500063999999998,
y: -0.2498749999999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.150064,
y: -0.899874999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 8.150064,
y: -0.899874999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 8.200063999999998,
y: -0.9498749999999987,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 8.250063999999998,
y: -0.9498749999999987,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 8.650064,
y: -1.3498749999999973,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.400064,
y: -1.3498749999999973,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.450063999999998,
y: -1.399874999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.500063999999998,
y: -1.399874999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.600064,
y: -1.4998749999999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.600064,
y: -1.5498750000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.650064,
y: -1.5998749999999973,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.650064,
y: -1.7498749999999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.650064,
y: -5.749874999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 13.650064,
y: -5.749874999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 13.650064,
y: -5.749874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.450063999999998,
y: -5.749874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.400064,
y: -5.699874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.350063999999996,
y: -5.699874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.300063999999999,
y: -5.649875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.850063999999996,
y: -5.649875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.750064000000002,
y: -5.749874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.700063999999998,
y: -5.749874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.700063999999998,
y: -5.799875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.600063999999996,
y: -5.899875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.600063999999996,
y: -6.049875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.550063999999999,
y: -6.099874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.550063999999999,
y: -6.449874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.550063999999999,
y: -6.449874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.550063999999999,
y: -7.299875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.649986,
y: -7.40004,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_277_retained_9",
connection_name: "source_trace_277",
connectsTo: [
"pcb_port_389",
"pcb_port_390"
],
route: [
{
route_type: "wire",
x: 0.7,
y: -18.689999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.7499999999999964,
y: -18.689999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.7499999999999964,
y: -18.689999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.4499999999999993,
y: -18.689999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.4999999999999964,
y: -18.64,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 2.4999999999999964,
y: -18.64,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 2.4999999999999964,
y: -18.64,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 2.9499999999999993,
y: -19.09,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.849999999999998,
y: -19.09,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.399999999999999,
y: -19.64,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.449999999999999,
y: -19.64,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.4999999999999964,
y: -19.689999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.899999999999999,
y: -19.689999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.949999999999999,
y: -19.64,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.9999999999999964,
y: -19.64,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.099999999999998,
y: -19.54,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.099999999999998,
y: -19.49,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.149999999999999,
y: -19.439999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.149999999999999,
y: -19.09,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.299999999999997,
y: -18.939999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.299999999999997,
y: -18.89,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.349999999999998,
y: -18.84,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.349999999999998,
y: -18.79,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.699999999999999,
y: -18.439999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.699999999999999,
y: -18.39,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.399999999999999,
y: -17.689999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.399999999999999,
y: -17.64,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.449999999999999,
y: -17.59,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.449999999999999,
y: -17.24,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.4999999999999964,
y: -17.189999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.4999999999999964,
y: -16.09,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 9.149999999999999,
y: -14.439999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 9.149999999999999,
y: -14.389999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 9.2,
y: -14.34,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 9.2,
y: -14.139999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.649999999999995,
y: -10.689999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.649999999999995,
y: -10.639999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.7,
y: -10.589999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.7,
y: -10.54,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.749999999999996,
y: -10.489999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.749999999999996,
y: -9.939999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.749999999999996,
y: -9.939999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.749999999999996,
y: -9.639999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.899999999999995,
y: -9.489999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 12.899999999999995,
y: -9.489999999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 12.899999999999995,
y: -9.489999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.2,
y: -9.489999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.099999999999998,
y: -9.389999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12,
y: -9.29996,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_276_retained_10",
connection_name: "source_trace_276",
connectsTo: [
"pcb_port_377",
"pcb_port_388"
],
route: [
{
route_type: "wire",
x: -14.449912000000001,
y: -8.733501,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.399912000000002,
y: -8.783501000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.399912000000002,
y: -8.833501,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.349912000000003,
y: -8.883501,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.349912000000003,
y: -9.583501,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -14.349912000000003,
y: -9.583501,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -14.349912000000003,
y: -9.583501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -14.099912000000003,
y: -9.833501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -14.099912000000003,
y: -12.533501000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -14.049912000000003,
y: -12.583501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -14.049912000000003,
y: -12.633501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.799912000000003,
y: -16.883501000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.799912000000003,
y: -18.283501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.749912000000002,
y: -18.333501000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.749912000000002,
y: -18.383501000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.599912000000002,
y: -18.533501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.499912000000002,
y: -18.533501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.449912000000001,
y: -18.583501000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.199912000000001,
y: -18.583501000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.999912000000002,
y: -19.783501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.949912000000001,
y: -19.783501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.8999120000000005,
y: -19.833501000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.8499120000000033,
y: -19.833501000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.7999120000000026,
y: -19.883501000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.7499120000000019,
y: -19.883501000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.3999120000000005,
y: -20.233501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.3499119999999998,
y: -20.233501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.2999120000000026,
y: -20.283501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.2499120000000019,
y: -20.283501,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.1999120000000012,
y: -20.333501000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 2.250087999999998,
y: -20.333501000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 2.500087999999998,
y: -20.083501000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 2.500087999999998,
y: -20.083501000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 2.500087999999998,
y: -20.083501000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.2000879999999974,
y: -19.783501,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.8000879999999988,
y: -19.783501,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.7,
y: -19.71,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_275_retained_11",
connection_name: "source_trace_275",
connectsTo: [
"pcb_port_38",
"pcb_port_387"
],
route: [
{
route_type: "wire",
x: -12.549936,
y: -3.850079,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.849936000000001,
y: -3.850079000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.949936000000003,
y: -3.9500790000000023,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.099936000000003,
y: -3.9500790000000023,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.399936000000002,
y: -4.250079000000003,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -13.399936000000002,
y: -4.250079000000003,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -13.399936000000002,
y: -4.250079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -12.799936000000002,
y: -4.850079000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -12.799936000000002,
y: -4.850079000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -12.249936000000002,
y: -5.400079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -12.249936000000002,
y: -5.700079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -12.199936000000003,
y: -5.750079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -12.199936000000003,
y: -5.800079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -12.149936000000002,
y: -5.850079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -12.149936000000002,
y: -5.900079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.949936000000003,
y: -6.100079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.899936000000002,
y: -6.100079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.849936000000001,
y: -6.150079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.499936000000002,
y: -6.150079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.849936000000001,
y: -4.500079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.799936000000002,
y: -4.500079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.749936000000002,
y: -4.450079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.8500639999999997,
y: -4.450079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.050063999999999,
y: -4.250079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.1000639999999997,
y: -4.250079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.1500640000000004,
y: -4.200079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.7500639999999983,
y: -4.200079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.500063999999998,
y: -5.950079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.500063999999998,
y: -7.450079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 4.500063999999998,
y: -7.450079000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 4.500063999999998,
y: -7.450079000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.150064,
y: -6.800079000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.150064,
y: -6.500079000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.200063999999998,
y: -6.450079000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.200063999999998,
y: -6.100079000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.250063999999998,
y: -6.050079000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.250063999999998,
y: -6.000079000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.450063999999998,
y: -5.800079000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.500063999999998,
y: -5.800079000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.550063999999999,
y: -5.750079000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.550063999999999,
y: -5.750079000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.950063999999998,
y: -4.350079000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.950063999999998,
y: -3.9500790000000023,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 7.950063999999998,
y: -3.9500790000000023,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 7.950063999999998,
y: -3.9500790000000023,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 9.150064,
y: -3.9500790000000023,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 9.800063999999999,
y: -3.3000790000000038,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 9.850064,
y: -3.3000790000000038,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 9.900064,
y: -3.250079000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.550063999999999,
y: -3.250079000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.550063999999999,
y: -3.250079000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.650064,
y: -3.250079000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.800063999999999,
y: -3.100079000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.800063999999999,
y: -3.100079000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.850063999999996,
y: -3.0500790000000038,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 11.850063999999996,
y: -3.0500790000000038,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 11.850063999999996,
y: -3.0500790000000038,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.850063999999996,
y: -3.100079000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.850063999999996,
y: -3.100079000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.850063999999996,
y: -3.750079000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.050063999999999,
y: -3.9500790000000023,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.149986,
y: -4.05004,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_273_retained_12",
connection_name: "source_trace_273",
connectsTo: [
"pcb_port_384",
"pcb_port_385"
],
route: [
{
route_type: "wire",
x: 1.75,
y: -19.24,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.8000000000000007,
y: -19.189999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.8500000000000014,
y: -19.189999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.9500000000000028,
y: -19.09,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.650000000000002,
y: -19.09,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.700000000000003,
y: -19.04,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.75,
y: -19.04,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.75,
y: -19.04,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.8000000000000007,
y: -19.04,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.900000000000002,
y: -18.939999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.900000000000002,
y: -18.89,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.950000000000003,
y: -18.84,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.950000000000003,
y: -18.39,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.0500000000000007,
y: -18.29,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 3.0500000000000007,
y: -18.29,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 3.0500000000000007,
y: -18.29,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.0500000000000007,
y: -18.24,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.3500000000000014,
y: -17.939999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.3500000000000014,
y: -14.139999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.6000000000000014,
y: -13.889999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.6000000000000014,
y: -13.84,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.650000000000002,
y: -13.79,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.650000000000002,
y: -8.79,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.6000000000000014,
y: -8.739999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.6000000000000014,
y: -8.339999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.650000000000002,
y: -8.29,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.650000000000002,
y: -8.239999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.700000000000003,
y: -8.189999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.75,
y: -8.189999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.8500000000000014,
y: -8.089999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.550000000000001,
y: -8.089999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.900000000000002,
y: -7.739999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.900000000000002,
y: -7.639999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.950000000000003,
y: -7.639999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.950000000000003,
y: -7.539999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.050000000000001,
y: -7.439999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.100000000000001,
y: -7.439999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.150000000000002,
y: -7.389999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.25,
y: -7.389999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.300000000000001,
y: -7.339999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.150000000000002,
y: -7.339999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.350000000000001,
y: -6.139999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 8.350000000000001,
y: -6.139999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.350000000000001,
y: -6.139999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.55,
y: -6.139999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.950000000000003,
y: -5.739999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9,
y: -5.739999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.05,
y: -5.689999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.55,
y: -5.689999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.55,
y: -5.689999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.25,
y: -5.689999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.399999999999999,
y: -5.839999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.5,
y: -5.94996,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_272_retained_13",
connection_name: "source_trace_272",
connectsTo: [
"pcb_port_376",
"pcb_port_383"
],
route: [
{
route_type: "wire",
x: -14.449912000000001,
y: -7.066499,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.399912000000002,
y: -7.116499000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.399912000000002,
y: -7.166499000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.249912000000002,
y: -7.316499000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.249912000000002,
y: -7.916499000000002,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -14.249912000000002,
y: -7.916499000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -14.249912000000002,
y: -7.916499000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -8.349912000000002,
y: -13.816499000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -8.349912000000002,
y: -14.166499000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.149912000000002,
y: -16.366499000000005,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.149912000000002,
y: -16.616499000000005,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.949912000000001,
y: -19.816499000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.8999120000000005,
y: -19.816499000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.8499120000000033,
y: -19.866499000000005,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.04991200000000262,
y: -19.866499000000005,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -0.04991200000000262,
y: -19.866499000000005,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.04991200000000262,
y: -19.866499000000005,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.2500879999999981,
y: -20.166499,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.3000879999999988,
y: -20.166499,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.3500879999999995,
y: -20.216499000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.6500880000000002,
y: -20.216499000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.75,
y: -20.26,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_271_retained_14",
connection_name: "source_trace_271",
connectsTo: [
"pcb_port_71",
"pcb_port_382"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -4.649925,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.750064000000002,
y: -4.699925,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.800064000000001,
y: -4.699925,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.8500640000000015,
y: -4.749925000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.200064000000001,
y: -4.749925000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.250064000000002,
y: -4.799925000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.300064000000001,
y: -4.799925000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.400064,
y: -4.899925,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.550064000000001,
y: -4.899925,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -6.550064000000001,
y: -4.899925,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.550064000000001,
y: -4.899925,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.950064000000001,
y: -5.299925000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.950064000000001,
y: -5.499925000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.950064000000001,
y: -5.499925000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.950064000000001,
y: -6.599925000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.150064,
y: -6.799925000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -7.150064,
y: -6.799925000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -7.150064,
y: -6.799925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.6000640000000015,
y: -6.799925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.650064,
y: -6.749925000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.000064000000002,
y: -6.749925000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.050064,
y: -6.799925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.100064000000001,
y: -6.799925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.300064,
y: -6.999925000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.850064000000001,
y: -6.999925000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.900064,
y: -7.049925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.000064000000002,
y: -7.049925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.200064000000001,
y: -7.249925000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.200064000000001,
y: -7.349925000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.250064000000002,
y: -7.399925000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.250064000000002,
y: -9.699925,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.900064,
y: -10.049925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.900064,
y: -12.049925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.700064000000001,
y: -14.249925000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.700064000000001,
y: -14.299925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.500064000000002,
y: -14.499925000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.400064,
y: -14.499925000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.3500640000000015,
y: -14.549925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.300064000000001,
y: -14.549925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.000064000000002,
y: -14.849925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.950064000000001,
y: -14.849925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.8500640000000015,
y: -14.949925,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.500064000000002,
y: -14.949925,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.750064000000002,
y: -14.199925,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.750064000000002,
y: -14.149925000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.700064000000001,
y: -14.099925000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -4.700064000000001,
y: -14.099925000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.700064000000001,
y: -14.099925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.100064,
y: -14.099925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.0500640000000026,
y: -14.149925000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.000064000000002,
y: -14.149925000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.6000639999999997,
y: -14.549925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.5500640000000026,
y: -14.549925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.500064000000002,
y: -14.599925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.450064000000001,
y: -14.599925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.5500640000000026,
y: -15.499925000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.9000640000000004,
y: -15.499925000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.8500639999999997,
y: -15.549925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.6500640000000004,
y: -15.549925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.6000639999999997,
y: -15.599925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.550063999999999,
y: -15.599925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6400000000184036e-20,
y: -16.149925000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.449936000000001,
y: -16.149925000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.49993599999999816,
y: -16.199925,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.5499359999999989,
y: -16.199925,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.699936000000001,
y: -16.349925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.699936000000001,
y: -16.399925000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.7499359999999982,
y: -16.449925,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.7499359999999982,
y: -16.799925,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.29993599999999887,
y: -17.249925,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.29993599999999887,
y: -17.249925,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.5000640000000018,
y: -18.049925,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.9000640000000004,
y: -18.049925,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1500640000000004,
y: -18.299925,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.3500639999999997,
y: -18.299925,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.4000640000000004,
y: -18.349925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -1.4000640000000004,
y: -18.349925000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -1.4000640000000004,
y: -18.349925000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.6500640000000004,
y: -18.349925000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.55004,
y: -18.399986,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_269_retained_15",
connection_name: "source_trace_269",
connectsTo: [
"pcb_port_379",
"pcb_port_380"
],
route: [
{
route_type: "wire",
x: -4.26,
y: 2.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.184999999999999,
y: 2.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.109999999999996,
y: 2.575000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.009999999999998,
y: 2.575000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.5849999999999973,
y: 3,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.9099999999999966,
y: 3,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.9099999999999966,
y: 3,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: -2.884999999999998,
y: 2.9750000000000014,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: -2.859999999999996,
y: 2.9750000000000014,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: -2.859999999999996,
y: 2.9750000000000014,
width: 0.125,
layer: "top"
},
{
route_type: "wire",
x: -2.8099999999999987,
y: 2.9250000000000007,
width: 0.125,
layer: "top"
},
{
route_type: "wire",
x: -2.8099999999999987,
y: 2.900000000000002,
width: 0.125,
layer: "top"
},
{
route_type: "wire",
x: -2.7849999999999966,
y: 2.875,
width: 0.125,
layer: "top"
},
{
route_type: "wire",
x: -2.7849999999999966,
y: 2.5,
width: 0.125,
layer: "top"
},
{
route_type: "wire",
x: -2.7849999999999966,
y: 2.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.5849999999999973,
y: 2.3000000000000007,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -2.5849999999999973,
y: 2.3000000000000007,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -2.5849999999999973,
y: 2.3000000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.5849999999999973,
y: 1.4000000000000021,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.5849999999999973,
y: 1.4000000000000021,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.5849999999999973,
y: -0.8249999999999993,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.159999999999997,
y: -3.3999999999999986,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.159999999999997,
y: -3.4250000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.209999999999997,
y: -3.474999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.209999999999997,
y: -3.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.234999999999998,
y: -3.5249999999999986,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.234999999999998,
y: -3.599999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.259999999999998,
y: -3.625,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.259999999999998,
y: -5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.284999999999997,
y: -5.024999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.284999999999997,
y: -5.1,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.309999999999997,
y: -5.125,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.309999999999997,
y: -11.875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.959999999999997,
y: -12.225,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.959999999999997,
y: -12.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.934999999999999,
y: -12.275,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.934999999999999,
y: -12.299999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.909999999999997,
y: -12.325,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.909999999999997,
y: -12.35,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.884999999999998,
y: -12.375,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.884999999999998,
y: -13.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.884999999999998,
y: -14.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.884999999999998,
y: -14.274999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.859999999999996,
y: -14.3,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.859999999999996,
y: -14.325,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.8349999999999973,
y: -14.35,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.8349999999999973,
y: -14.375,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.8099999999999987,
y: -14.399999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.8099999999999987,
y: -15.149999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -3.8099999999999987,
y: -15.149999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -3.8099999999999987,
y: -15.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.8099999999999987,
y: -15.375,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.759999999999998,
y: -15.425,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.759999999999998,
y: -15.45,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.734999999999996,
y: -15.475,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.734999999999996,
y: -16.225,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.734999999999996,
y: -16.225,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.734999999999996,
y: -16.475,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.509999999999998,
y: -17.7,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.44996,
y: -17.75,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_268_retained_16",
connection_name: "source_trace_268",
connectsTo: [
"pcb_port_375",
"pcb_port_378"
],
route: [
{
route_type: "wire",
x: -15.350088,
y: -7.066499,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.300087999999999,
y: -7.016499000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.300087999999999,
y: -6.066499000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.300087999999999,
y: -6.066499000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.300087999999999,
y: -5.466499000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.050087999999999,
y: -5.216499000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.050087999999999,
y: -2.1664990000000017,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.000087999999998,
y: -2.116499000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.000087999999998,
y: -2.066499000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.950087999999997,
y: -2.066499000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.900087999999997,
y: -2.016499000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.100087999999998,
y: -2.016499000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.650087999999997,
y: -1.5664990000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.650087999999997,
y: -0.8164990000000003,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -13.650087999999997,
y: -0.8164990000000003,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -13.650087999999997,
y: -0.8164990000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -11.600087999999998,
y: -0.8164990000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -11.400087999999997,
y: -0.616499000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -11.350087999999998,
y: -0.616499000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -11.300087999999997,
y: -0.5664990000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -9.100087999999998,
y: -0.5664990000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.700087999999997,
y: 1.8335009999999983,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.650087999999997,
y: 1.8335009999999983,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.600087999999998,
y: 1.883500999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.500087999999998,
y: 1.883500999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.000087999999998,
y: 2.383500999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.950087999999997,
y: 2.383500999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.900087999999997,
y: 2.4335009999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.850087999999998,
y: 2.4335009999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.800087999999997,
y: 2.483500999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.350087999999998,
y: 2.483500999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.200087999999997,
y: 2.633500999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -5.200087999999997,
y: 2.633500999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -5.200087999999997,
y: 2.633500999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.750087999999998,
y: 2.1835009999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.750087999999998,
y: 2.0835009999999983,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.650087999999997,
y: 1.9835009999999968,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.050087999999999,
y: 1.9835009999999968,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.050087999999999,
y: 1.9835009999999968,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.750087999999998,
y: 1.9835009999999968,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.350087999999996,
y: 2.383500999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.24,
y: 2.5,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_7_retained_17",
connection_name: "source_net_7",
connectsTo: [
"pcb_port_142",
"pcb_port_133"
],
route: [
{
route_type: "wire",
x: -3.6000429,
y: 14.526020299999999,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -3.724999999999999,
y: 14.475000000000001,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -3.724999999999999,
y: 16.325000000000003,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -3.8999999999999986,
y: 16.525,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -3.8999999999999986,
y: 16.775,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -3.9499999999999993,
y: 16.825000000000003,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -3.9499999999999993,
y: 16.875,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -4.149999999999999,
y: 17.075000000000003,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -4.199999999999999,
y: 17.075000000000003,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -4.25,
y: 17.125,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -4.300000000000001,
y: 17.125,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -4.349999999999998,
y: 17.175000000000004,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -4.949999999999999,
y: 17.175000000000004,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -5,
y: 17.125,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -5.049999999999999,
y: 17.125,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -5.1,
y: 17.075000000000003,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -5.149999999999999,
y: 17.075000000000003,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -5.149999999999999,
y: 17.075000000000003,
width: 0.19,
layer: "top"
},
{
route_type: "wire",
x: -5.799999999999999,
y: 16.425000000000004,
width: 0.19,
layer: "top"
},
{
route_type: "wire",
x: -6.149999999999999,
y: 16.425000000000004,
width: 0.19,
layer: "top"
},
{
route_type: "wire",
x: -6.149999999999999,
y: 16.425000000000004,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -7.049999999999999,
y: 15.525,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -8.049999999999999,
y: 15.525,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -8.1,
y: 15.475000000000003,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -8.1,
y: 15.475000000000003,
width: 0.185,
layer: "top"
},
{
route_type: "wire",
x: -8.1,
y: 15.075000000000005,
width: 0.185,
layer: "top"
},
{
route_type: "wire",
x: -8.4001603,
y: 14.525855199999999,
width: 0.185,
layer: "top"
},
{
route_type: "wire",
x: -8.4001603,
y: 14.525855199999999,
width: 0.185,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_7_retained_18",
connection_name: "source_net_7",
connectsTo: [
"pcb_port_11",
"pcb_port_142"
],
route: [
{
route_type: "wire",
x: -14.2,
y: 11,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.2,
y: 10.3383,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.6689,
y: 9.8072,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.6689,
y: 9.3779,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: -13.6689,
y: 9.3779,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -13.6689,
y: 9.3779,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -11.0863,
y: 9.3779,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -9.74,
y: 10.7242,
layer: "inner1",
width: 0.15
},
{
route_type: "via",
x: -9.74,
y: 10.7242,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -9.74,
y: 10.7242,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.74,
y: 12.5073,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.609,
y: 13.6383,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.4,
y: 13.6383,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.4001603,
y: 14.525855199999999,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_7_retained_19",
connection_name: "source_net_7",
connectsTo: [
"pcb_port_19",
"pcb_port_11"
],
route: [
{
route_type: "wire",
x: -14.2,
y: 11,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.2,
y: 10.3383,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.6689,
y: 9.8072,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.6689,
y: 7.4144,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.6083,
y: 4.475,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18,
y: 4.4750000000000005,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_7_retained_20",
connection_name: "source_net_7",
connectsTo: [
"pcb_port_19",
"pcb_port_374"
],
route: [
{
route_type: "wire",
x: -18,
y: 4.4750000000000005,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.6083,
y: 4.475,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.2241,
y: 4.0908,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.2241,
y: -6.0415,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.5238,
y: -6.3412,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.967,
y: -6.3412,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.1967,
y: -6.5709,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.1967,
y: -7.4381,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -15.9013,
y: -8.7335,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -15.3501,
y: -8.7335,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -15.350088,
y: -8.733501,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_265_retained_21",
connection_name: "source_trace_265",
connectsTo: [
"pcb_port_371",
"pcb_port_372"
],
route: [
{
route_type: "wire",
x: 4,
y: 2.74,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 4.99,
y: 3.73,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 4.99,
y: 4.25,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_264_retained_22",
connection_name: "source_trace_264",
connectsTo: [
"pcb_port_75",
"pcb_port_371"
],
route: [
{
route_type: "wire",
x: 4,
y: 2.74,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4,
y: 2.6650000000000027,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.075000000000003,
y: 2.5900000000000034,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.075000000000003,
y: 2.4150000000000027,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.400000000000002,
y: 2.0900000000000034,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 4.400000000000002,
y: 2.0900000000000034,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 4.400000000000002,
y: 2.0900000000000034,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.350000000000001,
y: 2.0900000000000034,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.100000000000001,
y: 1.8400000000000034,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.700000000000003,
y: 1.8400000000000034,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.900000000000002,
y: 1.0400000000000027,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.900000000000002,
y: 1.0400000000000027,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.8000000000000007,
y: 0.9400000000000048,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.775000000000002,
y: 0.9400000000000048,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.7250000000000014,
y: 0.8900000000000041,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.700000000000003,
y: 0.8900000000000041,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.6750000000000007,
y: 0.865000000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.575000000000003,
y: 0.865000000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.5500000000000007,
y: 0.8400000000000034,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.5750000000000028,
y: 0.8400000000000034,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.5500000000000007,
y: 0.8150000000000048,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.4750000000000014,
y: 0.8150000000000048,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.4500000000000028,
y: 0.7900000000000027,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.2750000000000021,
y: 0.7900000000000027,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.1000000000000014,
y: 0.615000000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.0750000000000028,
y: 0.615000000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.0250000000000021,
y: 0.5650000000000048,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1,
y: 0.5650000000000048,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.9750000000000014,
y: 0.5400000000000027,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.875,
y: 0.5400000000000027,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.8500000000000014,
y: 0.5150000000000041,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.4499999999999993,
y: 0.5150000000000041,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.0249999999999986,
y: 1.0900000000000034,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -3.0249999999999986,
y: 1.0900000000000034,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -3.0249999999999986,
y: 1.0900000000000034,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.0249999999999986,
y: 0.2650000000000041,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.649999999999999,
y: -1.3599999999999959,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.649999999999999,
y: -1.3599999999999959,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.85,
y: -2.5599999999999987,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.274999999999999,
y: -2.5599999999999987,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.799999999999999,
y: -3.0849999999999973,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -6.799999999999999,
y: -3.0849999999999973,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.799999999999999,
y: -3.0849999999999973,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.75,
y: -3.0849999999999973,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.700063999999999,
y: -3.049979,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_263_retained_23",
connection_name: "source_trace_263",
connectsTo: [
"pcb_port_366",
"pcb_port_370"
],
route: [
{
route_type: "wire",
x: 4.7949,
y: 1.4050000000000002,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 4.4215,
y: 1.405,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 3.4784,
y: 2.3481,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 3.4784,
y: 3.1242,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 3.6575,
y: 3.3033,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 4,
y: 3.3033,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 4,
y: 3.76,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_253_retained_24",
connection_name: "source_trace_253",
connectsTo: [
"pcb_port_361",
"pcb_port_290"
],
route: [
{
route_type: "wire",
x: 8.9788,
y: -4.5,
layer: "top",
width: 0.945
},
{
route_type: "wire",
x: 9.8693,
y: -4.5,
layer: "top",
width: 0.945
},
{
route_type: "wire",
x: 9.8693,
y: -4.5,
width: 0.69,
layer: "top"
},
{
route_type: "wire",
x: 10.25,
y: -5,
width: 0.69,
layer: "top"
},
{
route_type: "wire",
x: 10.25,
y: -5,
width: 0.685,
layer: "top"
},
{
route_type: "wire",
x: 13.5,
y: -5,
width: 0.685,
layer: "top"
},
{
route_type: "wire",
x: 13.5,
y: -5,
width: 0.755,
layer: "top"
},
{
route_type: "wire",
x: 13.946433333333333,
y: -4.83,
width: 0.755,
layer: "top"
},
{
route_type: "wire",
x: 13.946433333333333,
y: -4.83,
width: 1,
layer: "top"
},
{
route_type: "wire",
x: 16.41,
y: -4.24,
width: 1,
layer: "top"
},
{
route_type: "wire",
x: 17,
y: -3.65,
layer: "top",
width: 1
},
{
route_type: "wire",
x: 17,
y: -3.6500000000000004,
layer: "top",
width: 1
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_251_retained_25",
connection_name: "source_trace_251",
connectsTo: [
"pcb_port_354",
"pcb_port_353"
],
route: [
{
route_type: "wire",
x: -3.25,
y: 4.51,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -3.25,
y: 4.0533,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -3.3566,
y: 3.9467,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -4.25,
y: 3.9467,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -4.25,
y: 3.49,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_250__source_trace_251_retained_26",
connection_name: "source_trace_250__source_trace_251",
connectsTo: [
"pcb_port_74",
"pcb_port_354"
],
route: [
{
route_type: "wire",
x: -4.25,
y: 3.49,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.350064,
y: 3.599971,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.750064000000002,
y: 3.9999709999999986,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.750064000000002,
y: 4.899971000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.750064000000002,
y: 4.899971000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.650064,
y: 4.999970999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.350064,
y: 4.999970999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.100064,
y: 5.249970999999999,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -4.100064,
y: 5.249970999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.100064,
y: 5.249970999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.500064000000002,
y: 5.249970999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.6000639999999997,
y: 6.149971000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.800063999999999,
y: 6.149971000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.7500640000000018,
y: 6.1999710000000015,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.6000639999999997,
y: 6.1999710000000015,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.25006400000000184,
y: 6.549970999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.6499360000000003,
y: 6.549970999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 1.6499360000000003,
y: 6.549970999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 1.6499360000000003,
y: 6.549970999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 2.3999360000000003,
y: 5.799970999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 3.6499360000000003,
y: 5.799970999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 3.699936000000001,
y: 5.749970999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.149936,
y: 5.749970999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.199936000000001,
y: 5.6999710000000015,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.249935999999998,
y: 5.6999710000000015,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.349936,
y: 5.599971,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.349936,
y: 5.549970999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.399936,
y: 5.499970999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.399936,
y: 3.5499709999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 5.649936,
y: 2.2999709999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 5.649936,
y: -0.2500290000000014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 6.849936,
y: -1.4500290000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 6.849936,
y: -1.4500290000000007,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 6.849936,
y: -1.4500290000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.049935999999999,
y: -2.2500290000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.499935999999998,
y: -2.2500290000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.449936000000001,
y: -2.300029000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.399936,
y: -2.300029000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.349936,
y: -2.3500289999999993,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.699936000000001,
y: -2.3500289999999993,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.6499360000000003,
y: -2.400029,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.5999359999999996,
y: -2.400029,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.549935999999999,
y: -2.4500290000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.499935999999998,
y: -2.4500290000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 2.999935999999998,
y: -2.9500290000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.1500640000000004,
y: -2.9500290000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.3500639999999997,
y: -3.150029,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.4000640000000004,
y: -3.150029,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.500064000000002,
y: -3.2500290000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.200064000000001,
y: -3.2500290000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.200064000000001,
y: -3.2500290000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.350064,
y: -3.2500290000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.8000640000000026,
y: -3.7000290000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -4.8000640000000026,
y: -3.7000290000000007,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.8000640000000026,
y: -3.7000290000000007,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.950064000000001,
y: -3.550029000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.300064000000001,
y: -3.550029000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.400064,
y: -3.4500290000000007,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.700063999999999,
y: -3.450029,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_249_retained_27",
connection_name: "source_trace_249",
connectsTo: [
"pcb_port_348",
"pcb_port_352"
],
route: [
{
route_type: "wire",
x: -2.7051,
y: 0.40500000000000025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.705099999999998,
y: 0.7049999999999983,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.6050999999999966,
y: 0.8049999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.6050999999999966,
y: 0.8049999999999997,
width: 0.125,
layer: "top"
},
{
route_type: "wire",
x: -2.6050999999999966,
y: 1.1550000000000011,
width: 0.125,
layer: "top"
},
{
route_type: "wire",
x: -2.6050999999999966,
y: 1.1550000000000011,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: -2.5550999999999995,
y: 1.2049999999999983,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: -2.5550999999999995,
y: 1.2049999999999983,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.5550999999999995,
y: 1.4050000000000011,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.5550999999999995,
y: 1.4050000000000011,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.5550999999999995,
y: 1.6550000000000011,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.1550999999999974,
y: 2.0549999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.1550999999999974,
y: 2.155000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.1050999999999966,
y: 2.2049999999999983,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.1050999999999966,
y: 2.405000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.1550999999999974,
y: 2.4549999999999983,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.1550999999999974,
y: 2.5549999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.5050999999999988,
y: 2.905000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.5050999999999988,
y: 2.905000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.5550999999999995,
y: 2.9549999999999983,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.5550999999999995,
y: 3.004999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.6050999999999966,
y: 3.0549999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.6050999999999966,
y: 3.1050000000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.705099999999998,
y: 3.2049999999999983,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.7550999999999988,
y: 3.2049999999999983,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.8050999999999995,
y: 3.254999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.0050999999999988,
y: 3.254999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.1550999999999974,
y: 3.405000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.25,
y: 3.49,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_239_retained_28",
connection_name: "source_trace_239",
connectsTo: [
"pcb_port_343",
"pcb_port_288"
],
route: [
{
route_type: "wire",
x: -0.5212000000000001,
y: -5.5,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -0.4711999999999996,
y: -5.549999999999999,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -0.4711999999999996,
y: -5.6,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -0.4211999999999989,
y: -5.649999999999999,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -0.4211999999999989,
y: -6.75,
width: 0.6,
layer: "top"
},
{
route_type: "via",
x: -0.4211999999999989,
y: -6.75,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.4211999999999989,
y: -6.75,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -0.3711999999999982,
y: -6.75,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -0.3711999999999982,
y: -6.75,
width: 0.38,
layer: "bottom"
},
{
route_type: "wire",
x: 0.2788000000000004,
y: -7.399999999999999,
width: 0.38,
layer: "bottom"
},
{
route_type: "wire",
x: 0.2788000000000004,
y: -7.399999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 0.2788000000000004,
y: -7.399999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 0.3288000000000011,
y: -7.399999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 0.4288000000000025,
y: -7.5,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 0.47879999999999967,
y: -7.5,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 0.5288000000000004,
y: -7.549999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 0.5788000000000011,
y: -7.549999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 0.6288000000000018,
y: -7.6,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 1.1788000000000025,
y: -7.6,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 1.3788000000000018,
y: -7.399999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 1.3788000000000018,
y: -7.399999999999999,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 2.2788000000000004,
y: -7.399999999999999,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 2.2788000000000004,
y: -7.399999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 2.7287999999999997,
y: -6.949999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 2.7287999999999997,
y: -6.949999999999999,
width: 0.565,
layer: "bottom"
},
{
route_type: "wire",
x: 2.7788000000000004,
y: -6.949999999999999,
width: 0.565,
layer: "bottom"
},
{
route_type: "wire",
x: 2.878800000000002,
y: -6.85,
width: 0.565,
layer: "bottom"
},
{
route_type: "wire",
x: 2.878800000000002,
y: -6.85,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 2.9787999999999997,
y: -6.85,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 3.0288000000000004,
y: -6.799999999999999,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 3.0288000000000004,
y: -6.799999999999999,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 4.578800000000001,
y: -6.799999999999999,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 4.578800000000001,
y: -6.799999999999999,
width: 0.595,
layer: "bottom"
},
{
route_type: "wire",
x: 4.9288000000000025,
y: -6.449999999999999,
width: 0.595,
layer: "bottom"
},
{
route_type: "wire",
x: 4.9288000000000025,
y: -6.449999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 5.9288000000000025,
y: -7.449999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 9.4788,
y: -7.449999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 9.5288,
y: -7.5,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 9.628800000000002,
y: -7.5,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 9.678800000000003,
y: -7.549999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 13.428800000000003,
y: -7.549999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 13.4788,
y: -7.6,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 15.028800000000004,
y: -7.6,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 15.028800000000004,
y: -7.6,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 16.8788,
y: -7.6,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 17,
y: -7.65,
width: 0.6,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_235_retained_29",
connection_name: "source_trace_235",
connectsTo: [
"pcb_port_329",
"pcb_port_331"
],
route: [
{
route_type: "wire",
x: 2.6,
y: 12.725022000000001,
layer: "top",
width: 0.3
},
{
route_type: "wire",
x: 2.6,
y: 12.725,
layer: "top",
width: 0.3
},
{
route_type: "wire",
x: 1.9383,
y: 12.725,
layer: "top",
width: 0.3
},
{
route_type: "wire",
x: 1.9383,
y: 12.2287,
layer: "top",
width: 0.3
},
{
route_type: "wire",
x: 1.9383,
y: 12.2287,
layer: "top",
width: 0.225
},
{
route_type: "wire",
x: 0.2839,
y: 10.5743,
layer: "top",
width: 0.225
},
{
route_type: "wire",
x: 0.2839,
y: 10.5743,
layer: "top",
width: 0.3
},
{
route_type: "wire",
x: -0.5787,
y: 10.5743,
layer: "top",
width: 0.3
},
{
route_type: "wire",
x: -0.5787,
y: 10.5743,
layer: "top",
width: 0.175
},
{
route_type: "wire",
x: -3,
y: 8.153,
layer: "top",
width: 0.175
},
{
route_type: "wire",
x: -3,
y: 8.153,
layer: "top",
width: 0.3
},
{
route_type: "wire",
x: -3,
y: 6.000002,
layer: "top",
width: 0.3
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_233__source_trace_235_retained_30",
connection_name: "source_trace_233__source_trace_235",
connectsTo: [
"pcb_port_331",
"pcb_port_324"
],
route: [
{
route_type: "wire",
x: 2.6,
y: 12.725022000000001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 2.6,
y: 11.7597,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: 2.6,
y: 11.7597,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 2.6,
y: 11.7597,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: 12.41,
y: 11.7597,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: 18.5998,
y: 5.5699,
layer: "inner1",
width: 0.15
},
{
route_type: "via",
x: 18.5998,
y: 5.5699,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 18.5998,
y: 5.5699,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 18.5998,
y: 4.0001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 18.599815,
y: 4.000057999999999,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_230_retained_31",
connection_name: "source_trace_230",
connectsTo: [
"pcb_port_334",
"pcb_port_327"
],
route: [
{
route_type: "wire",
x: -2.05004,
y: 7.999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.050039999999999,
y: 7.699998000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.9500399999999978,
y: 7.599997999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.9500399999999978,
y: 7.249997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.900039999999997,
y: 7.199998000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.900039999999997,
y: 6.999997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.900039999999997,
y: 6.999997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.900039999999997,
y: 6.899998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.7500399999999985,
y: 5.749997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.09996000000000294,
y: 5.749997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.14996000000000365,
y: 5.699998000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.19996000000000436,
y: 5.699998000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.1499600000000036,
y: 4.749997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.3999600000000036,
y: 4.749997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.7499600000000015,
y: 4.399998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.7999600000000022,
y: 4.399998,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 1.7999600000000022,
y: 4.399998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 1.7999600000000022,
y: 4.399998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.7999600000000022,
y: 3.149998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 2.2999600000000022,
y: 2.649998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 2.2999600000000022,
y: 2.649998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 2.4499600000000044,
y: 2.499997999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 2.4499600000000044,
y: 1.3499979999999994,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 2.4999600000000015,
y: 1.2999979999999987,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 2.4999600000000015,
y: 1.2999979999999987,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 2.4999600000000015,
y: 1.2999979999999987,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.4999600000000015,
y: 1.4499980000000008,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.8999600000000036,
y: 1.8499979999999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.01,
y: 1.95,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_229_retained_32",
connection_name: "source_trace_229",
connectsTo: [
"pcb_port_327",
"pcb_port_333"
],
route: [
{
route_type: "wire",
x: 15.26,
y: 1.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 15.14996,
y: 1.8499979999999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.999960000000002,
y: 3.999997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 12.999960000000002,
y: 3.999997999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 12.999960000000002,
y: 3.999997999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 7.949960000000004,
y: 9.049997999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.6999600000000044,
y: 9.049997999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 1.6999600000000044,
y: 9.049997999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 1.6999600000000044,
y: 9.049997999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.24996000000000151,
y: 9.049997999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.19996000000000436,
y: 8.999997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.14996000000000365,
y: 8.999997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.09996000000000294,
y: 8.949998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.6500399999999971,
y: 8.949998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.7000399999999978,
y: 8.899998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.7500399999999985,
y: 8.899998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.150039999999997,
y: 9.299997999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.7500399999999985,
y: 8.699998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.7500399999999985,
y: 8.649998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.8000399999999956,
y: 8.599998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.8000399999999956,
y: 8.249997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.05004,
y: 7.999998,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_228_retained_33",
connection_name: "source_trace_228",
connectsTo: [
"pcb_port_61",
"pcb_port_332"
],
route: [
{
route_type: "wire",
x: -6.9251059999999995,
y: -8.675063,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.875106000000001,
y: -8.725063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.875106000000001,
y: -8.775063000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.825106,
y: -8.825063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.825106,
y: -9.225063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.525106000000001,
y: -9.525063000000003,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -6.525106000000001,
y: -9.525063000000003,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.525106000000001,
y: -9.525063000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.525106000000001,
y: -8.525063000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.425106,
y: -8.525063000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.175106,
y: -7.775063000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.175106,
y: -7.725063000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.225106,
y: -7.6750630000000015,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.225106,
y: -5.725063000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.125106,
y: -3.8250630000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -11.125106,
y: -3.8250630000000037,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -11.125106,
y: -3.8250630000000037,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -10.375106,
y: -3.0750630000000037,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -10.375106,
y: -2.4250630000000015,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -10.275106000000001,
y: -2.3250630000000037,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -10.275106000000001,
y: -2.275063000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.725106,
y: 1.2749369999999978,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.725106,
y: 1.3249369999999985,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.6751059999999995,
y: 1.3749369999999992,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.6751059999999995,
y: 1.424937,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.525106000000001,
y: 1.5749369999999985,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.4251059999999995,
y: 1.5749369999999985,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.375106000000001,
y: 1.6249369999999992,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.325106,
y: 1.6249369999999992,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.825106,
y: 2.124936999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.775106000000001,
y: 2.124936999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.725106,
y: 2.174937,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.9251059999999995,
y: 2.174937,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.2251060000000003,
y: 4.874936999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.2251060000000003,
y: 5.0749369999999985,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.1751059999999995,
y: 5.124936999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.1751059999999995,
y: 5.224936999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.025106000000001,
y: 5.374936999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.9751060000000003,
y: 5.374936999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.9251059999999995,
y: 5.424937,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.5751059999999981,
y: 5.424937,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.4251059999999995,
y: 5.5749369999999985,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -1.4251059999999995,
y: 5.5749369999999985,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -1.4251059999999995,
y: 5.5749369999999985,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.47510600000000025,
y: 5.5749369999999985,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.37510599999999883,
y: 5.674937,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.27510600000000096,
y: 5.674937,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.22510600000000025,
y: 5.724936999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.124894000000001,
y: 5.724936999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.174894000000002,
y: 5.774936999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.224893999999999,
y: 5.774936999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.2748939999999997,
y: 5.8249369999999985,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 10.174894000000002,
y: 5.8249369999999985,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.024894000000003,
y: 2.974936999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 13.024894000000003,
y: 2.974936999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 13.024894000000003,
y: 2.974936999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 14.124893999999998,
y: 1.8749369999999992,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 14.24,
y: 1.75,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_212__source_net_6_retained_34",
connection_name: "source_trace_212__source_net_6",
connectsTo: [
"pcb_port_302",
"pcb_port_312"
],
route: [
{
route_type: "wire",
x: 12,
y: -14.26,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.700000000000003,
y: -13.959999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10,
y: -13.959999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10,
y: -13.959999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.05,
y: -13.959999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.950000000000003,
y: -13.859999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.950000000000003,
y: -13.209999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.950000000000003,
y: -13.209999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.950000000000003,
y: -13.159999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.25,
y: -12.859999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.299935999999999,
y: -12.800079000000002,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 9.299935999999999,
y: -12.800079000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 9.299935999999999,
y: -12.800079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.3,
y: -12.759999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.3,
y: -10.209999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.25,
y: -10.17,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 9.25,
y: -10.17,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 9.25,
y: -10.17,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.25,
y: -11.159999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.2500142,
y: -11.250001,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_6_retained_35",
connection_name: "source_net_6",
connectsTo: [
"pcb_port_73",
"pcb_port_312"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -3.850079,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.000064000000002,
y: -3.850079000000001,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.1000640000000015,
y: -3.750079000000003,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.400064,
y: -3.750079000000003,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.500064000000002,
y: -3.6500790000000016,
width: 0.1,
layer: "top"
},
{
route_type: "via",
x: -6.500064000000002,
y: -3.6500790000000016,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.500064000000002,
y: -3.6500790000000016,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -5.550064000000001,
y: -3.6500790000000016,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -5.150064,
y: -3.250079000000003,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -4.850064,
y: -3.250079000000003,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -4.850064,
y: -3.250079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.9999359999999982,
y: -3.250079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 1.6499360000000003,
y: -3.9000790000000016,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.8499359999999996,
y: -3.9000790000000016,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.8999360000000003,
y: -3.9500790000000023,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.949936000000001,
y: -3.9500790000000023,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.749935999999998,
y: -5.750079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.749935999999998,
y: -5.800079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.799935999999999,
y: -5.850079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.799935999999999,
y: -7.050079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.949936000000001,
y: -7.200079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.949936000000001,
y: -7.650079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.899936,
y: -7.650079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.899936,
y: -7.750079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.799935999999999,
y: -7.850079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.749935999999998,
y: -7.850079000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.049935999999999,
y: -8.550079000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 4.049935999999999,
y: -8.550079000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 4.049935999999999,
y: -8.550079000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.949936000000001,
y: -9.450079000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.949936000000001,
y: -10.200079000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.999935999999998,
y: -10.250079000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.999935999999998,
y: -10.300079000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.149936,
y: -10.450079000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.199936000000001,
y: -10.450079000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.249935999999998,
y: -10.500079000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.699936000000001,
y: -10.500079000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.949936000000001,
y: -12.750079000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.949936000000001,
y: -13.000079000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.999935999999998,
y: -13.050079000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.999935999999998,
y: -13.100079000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.149936,
y: -13.250079000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.249935999999998,
y: -13.250079000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.299935999999999,
y: -13.300079000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.799935999999999,
y: -13.300079000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 9.299935999999999,
y: -12.800079000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 9.299935999999999,
y: -12.800079000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 9.299935999999999,
y: -12.800079000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.249935999999998,
y: -12.800079000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.999935999999998,
y: -13.050079000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.999935999999998,
y: -13.100079000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.949936000000001,
y: -13.150079000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.949936000000001,
y: -13.850079000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.049935999999999,
y: -13.950079000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.049936000000002,
y: -13.950079000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.049936000000002,
y: -13.950079000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 11.699936000000001,
y: -13.950079000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 11.899935999999997,
y: -14.150079000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 12,
y: -14.26,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_211__source_net_5_retained_36",
connection_name: "source_trace_211__source_net_5",
connectsTo: [
"pcb_port_310",
"pcb_port_307"
],
route: [
{
route_type: "wire",
x: 8.99,
y: -7.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.990000000000002,
y: -7.199999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.090000000000003,
y: -7.1,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.090000000000003,
y: -6.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.140000000000004,
y: -6.699999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.140000000000004,
y: -6.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.140000000000004,
y: -6.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.140000000000004,
y: -6.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.240000000000002,
y: -6.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 9.240000000000002,
y: -6.149999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 9.240000000000002,
y: -6.149999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.940000000000005,
y: -6.85,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.940000000000005,
y: -7.1,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 10.840000000000003,
y: -8,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 10.840000000000003,
y: -8.049999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 10.890000000000004,
y: -8.1,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 10.890000000000004,
y: -9.399999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.090000000000003,
y: -9.6,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.090000000000003,
y: -9.649999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.14,
y: -9.7,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.14,
y: -10,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.290000000000006,
y: -10.149999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 11.290000000000006,
y: -10.149999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 11.290000000000006,
y: -10.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.290000000000006,
y: -10.45,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.290000000000006,
y: -10.45,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.290000000000006,
y: -10.7,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.840000000000003,
y: -11.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.749985800000001,
y: -11.250001,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_205__source_net_5_retained_37",
connection_name: "source_trace_205__source_net_5",
connectsTo: [
"pcb_port_72",
"pcb_port_307"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -4.249875,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.650064,
y: -4.249874999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.650064,
y: -4.249874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.250064000000002,
y: -4.249874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.950064000000001,
y: -3.9498749999999987,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -3.950064000000001,
y: -3.9498749999999987,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -3.950064000000001,
y: -3.9498749999999987,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.5500640000000026,
y: -3.549875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.699936000000001,
y: -3.549875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.949936000000001,
y: -3.299875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.949936000000001,
y: -3.299875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.999935999999998,
y: -3.2498749999999994,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.049935999999999,
y: -3.2498749999999994,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.099936,
y: -3.1998749999999987,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.149936,
y: -3.1998749999999987,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.599936,
y: -2.7498749999999994,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.349936,
y: -2.7498749999999994,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.499935999999998,
y: -2.599875000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.549935999999999,
y: -2.599875000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.599936,
y: -2.549875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.899936,
y: -2.549875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.949936000000001,
y: -2.599875000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.999935999999998,
y: -2.599875000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.199936000000001,
y: -2.799875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.199936000000001,
y: -3.049875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.399936,
y: -4.249874999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.399936,
y: -4.299875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.449936000000001,
y: -4.349875000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.449936000000001,
y: -4.449874999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.499935999999998,
y: -4.499874999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.499935999999998,
y: -4.649874999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 10.849936,
y: -7.999874999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 10.849936,
y: -8.049875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 10.899936,
y: -8.099874999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 10.899936,
y: -9.399875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.099936,
y: -9.599874999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.099936,
y: -9.649875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.149935999999997,
y: -9.699874999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.149935999999997,
y: -9.999875,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.249935999999998,
y: -10.099874999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.290000000000006,
y: -10.149999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 11.290000000000006,
y: -10.149999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 11.290000000000006,
y: -10.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.299936000000002,
y: -10.199874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.299936000000002,
y: -10.449874999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.299936000000002,
y: -10.449874999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 11.299936000000002,
y: -10.699874999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.849936,
y: -11.149875,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.749985800000001,
y: -11.250001,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_202_retained_38",
connection_name: "source_trace_190",
connectsTo: [
"pcb_port_246",
"pcb_port_183"
],
route: [
{
route_type: "wire",
x: -1.51,
y: -14,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5100000000000016,
y: -14.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.6600000000000001,
y: -14.3,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.6600000000000001,
y: -14.399999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.9600000000000009,
y: -14.7,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -1.9600000000000009,
y: -14.7,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -1.9600000000000009,
y: -14.7,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.9600000000000009,
y: -14.95,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.9100000000000001,
y: -15,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.9100000000000001,
y: -15.05,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.6099999999999994,
y: -15.35,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.5599999999999987,
y: -15.35,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.5100000000000016,
y: -15.399999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.2100000000000009,
y: -15.399999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.1600000000000001,
y: -15.35,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.1099999999999994,
y: -15.35,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.9600000000000009,
y: -15.2,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.9600000000000009,
y: -15.149999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.9100000000000001,
y: -15.1,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.9100000000000001,
y: -14.75,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.010000000000001563,
y: -13.85,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.010000000000001563,
y: -13.85,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.33999999999999986,
y: -13.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.48999999999999844,
y: -13.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.6900000000000013,
y: -13.3,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.6900000000000013,
y: -10.1,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.6900000000000013,
y: -10.1,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.6900000000000013,
y: -9.649999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.6400000000000006,
y: -9.6,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.6400000000000006,
y: -8.85,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.28999999999999915,
y: -8.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 0.28999999999999915,
y: -8.5,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.28999999999999915,
y: -8.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.5899999999999999,
y: -8.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.6400000000000006,
y: -8.549999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.1900000000000013,
y: -8.549999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.3399999999999999,
y: -8.7,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.4342450000000007,
y: -8.824936000000001,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_199__source_trace_200_retained_39",
connection_name: "source_trace_199__source_trace_200",
connectsTo: [
"pcb_port_253",
"pcb_port_280"
],
route: [
{
route_type: "wire",
x: -0.26,
y: 2,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.26000000000000156,
y: 1.7000000000000028,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.35999999999999943,
y: 1.6000000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.35999999999999943,
y: 1.25,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -0.35999999999999943,
y: 1.25,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.35999999999999943,
y: 1.25,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.16000000000000014,
y: 1.4500000000000028,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.16000000000000014,
y: 1.5,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.10999999999999943,
y: 1.5500000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.10999999999999943,
y: 1.6000000000000014,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.03999999999999915,
y: 1.75,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.08999999999999986,
y: 1.75,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.14000000000000057,
y: 1.8000000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.23999999999999844,
y: 1.8000000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.7399999999999984,
y: 2.3000000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.7399999999999984,
y: 2.3000000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.7899999999999991,
y: 2.3500000000000014,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.039999999999999,
y: 2.3500000000000014,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.190000000000001,
y: 2.5,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.239999999999998,
y: 2.5,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.289999999999999,
y: 2.5500000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.690000000000001,
y: 2.5500000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.789999999999999,
y: 4.650000000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 6.789999999999999,
y: 4.650000000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 6.789999999999999,
y: 4.650000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.989999999999998,
y: 4.650000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.140000000000001,
y: 4.800000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.190000000000001,
y: 4.800000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.239999999999998,
y: 4.850000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.289999999999999,
y: 4.850000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.34,
y: 4.900000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.390000000000001,
y: 4.900000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.440000000000001,
y: 4.950000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.940000000000001,
y: 4.950000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.04,
y: 5.050000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.440000000000001,
y: 5.050000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.489999999999998,
y: 5.100000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.489999999999998,
y: 5.150000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.489999999999998,
y: 5.150000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.489999999999998,
y: 5.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.89,
y: 5.900000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.999996,
y: 6.000133,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_200_retained_40",
connection_name: "source_trace_188",
connectsTo: [
"pcb_port_250",
"pcb_port_253"
],
route: [
{
route_type: "wire",
x: -0.26,
y: 2,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.34995999999999583,
y: 1.9000150000000033,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.7999599999999987,
y: 1.4500150000000005,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.7999599999999987,
y: 1.050015000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.9000400000000042,
y: -0.6499849999999974,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.8500400000000035,
y: -0.6999849999999981,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 0.8500400000000035,
y: -0.6999849999999981,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.8500400000000035,
y: -0.6999849999999981,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.29995999999999867,
y: -0.6999849999999981,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.5999599999999958,
y: -0.9999849999999988,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.249959999999998,
y: -0.9999849999999988,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.8999599999999965,
y: -2.6499849999999974,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.349959999999998,
y: -2.6499849999999974,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.399959999999998,
y: -2.599985,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.149959999999998,
y: -2.599985,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.199959999999997,
y: -2.5499849999999995,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.249959999999998,
y: -2.5499849999999995,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.349959999999998,
y: -2.449984999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.849959999999998,
y: -2.449984999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.199959999999997,
y: -4.7999849999999995,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.099959999999998,
y: -4.7999849999999995,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -11.099959999999998,
y: -4.7999849999999995,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -11.099959999999998,
y: -4.7999849999999995,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.249959999999998,
y: -4.949984999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.649959999999998,
y: -4.949984999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.699959999999999,
y: -4.999984999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.749959999999998,
y: -4.999984999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.399959999999998,
y: -5.649984999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -14.049959999999999,
y: -5.649984999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -14.09996,
y: -5.699984999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -14.149959999999998,
y: -5.699984999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -15.699959999999997,
y: -7.249984999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -16.39996,
y: -7.249984999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -16.449959999999997,
y: -7.2999849999999995,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -16.499959999999998,
y: -7.2999849999999995,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -16.59996,
y: -7.399984999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -16.59996,
y: -7.449984999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -18.449959999999997,
y: -9.299985,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -18.449959999999997,
y: -9.349984999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -18.499959999999998,
y: -9.399985,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -18.499959999999998,
y: -9.549985,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -18.999959999999998,
y: -10.049985,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -18.999959999999998,
y: -10.049985,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -18.999959999999998,
y: -10.049985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.999959999999998,
y: -10.599984999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -19.34996,
y: -10.949985,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_197_retained_41",
connection_name: "source_trace_185",
connectsTo: [
"pcb_port_175",
"pcb_port_244"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -10.774894,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 8.7,
y: -10.774894,
layer: "top",
width: 0.35
},
{
route_type: "via",
x: 8.7,
y: -10.774894,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.7,
y: -10.774894,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.8,
y: -10.774894,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12,
y: -10.2,
layer: "bottom",
width: 0.5
},
{
route_type: "via",
x: 12,
y: -10.2,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 12,
y: -10.2,
layer: "top",
width: 0.5
},
{
route_type: "wire",
x: 19,
y: -10.2,
layer: "top",
width: 0.5
},
{
route_type: "wire",
x: 19.9788,
y: -11.5,
width: 0.5,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_196_retained_42",
connection_name: "source_trace_184",
connectsTo: [
"pcb_port_172",
"pcb_port_242"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -12.725106,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: 8.165755,
y: -12.725106,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: 8.165755,
y: -12.725106,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 8.315755,
y: -12.725106,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 8.415755,
y: -12.825106,
width: 0.5,
layer: "top"
},
{
route_type: "via",
x: 8.415755,
y: -12.825106,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.415755,
y: -12.825106,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 8.915755,
y: -13.325106000000002,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 8.965754999999998,
y: -13.325106000000002,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 9.015754999999999,
y: -13.375106,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 9.065755,
y: -13.375106,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 9.115755,
y: -13.425106,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 12.665755,
y: -13.425106,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 12.765755000000002,
y: -13.325106000000002,
width: 0.5,
layer: "bottom"
},
{
route_type: "via",
x: 12.765755000000002,
y: -13.325106000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 12.765755000000002,
y: -13.325106000000002,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 13.113682736320433,
y: -13.323215693490772,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 13.365754999999996,
y: -13.075106000000002,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 13.394589063354838,
y: -13.050480702697989,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 13.560027058264334,
y: -12.917480883839684,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 13.592536534365234,
y: -12.89337706461625,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 13.707635252260971,
y: -12.812933083999878,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 13.742848539883543,
y: -12.789775148403624,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 13.860868881760034,
y: -12.716809532709377,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 13.89854483670435,
y: -12.694961433428464,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 13.958425915525126,
y: -12.661611488524613,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 13.997653719683298,
y: -12.64065468087211,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 14.515755000000002,
y: -12.175106000000001,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 14.515755000000002,
y: -12.175106000000001,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: 15.115754999999996,
y: -11.575106,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: 15.2288,
y: -11.5,
width: 0.3,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_195_retained_43",
connection_name: "source_trace_183",
connectsTo: [
"pcb_port_174",
"pcb_port_291"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -11.42488,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 7.215755,
y: -11.424880000000002,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 7.265754999999999,
y: -11.424880000000002,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 7.265754999999999,
y: -11.424880000000002,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 7.315754999999999,
y: -11.374880000000003,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 7.389284411764705,
y: -11.377240000000002,
layer: "top",
width: 0.545
},
{
route_type: "wire",
x: 7.389284411764705,
y: -11.377240000000002,
layer: "top",
width: 0.55
},
{
route_type: "wire",
x: 7.4628138235294115,
y: -11.379600000000002,
layer: "top",
width: 0.55
},
{
route_type: "wire",
x: 7.4628138235294115,
y: -11.379600000000002,
layer: "top",
width: 0.555
},
{
route_type: "wire",
x: 7.536343235294117,
y: -11.381960000000003,
layer: "top",
width: 0.555
},
{
route_type: "wire",
x: 7.536343235294117,
y: -11.381960000000003,
layer: "top",
width: 0.56
},
{
route_type: "wire",
x: 7.609872647058823,
y: -11.384320000000002,
layer: "top",
width: 0.56
},
{
route_type: "wire",
x: 7.609872647058823,
y: -11.384320000000002,
layer: "top",
width: 0.565
},
{
route_type: "wire",
x: 7.683402058823528,
y: -11.386680000000002,
layer: "top",
width: 0.565
},
{
route_type: "wire",
x: 7.683402058823528,
y: -11.386680000000002,
layer: "top",
width: 0.57
},
{
route_type: "wire",
x: 7.756931470588235,
y: -11.389040000000001,
layer: "top",
width: 0.57
},
{
route_type: "wire",
x: 7.756931470588235,
y: -11.389040000000001,
layer: "top",
width: 0.575
},
{
route_type: "wire",
x: 7.8304608823529405,
y: -11.3914,
layer: "top",
width: 0.575
},
{
route_type: "wire",
x: 7.8304608823529405,
y: -11.3914,
layer: "top",
width: 0.58
},
{
route_type: "wire",
x: 7.903990294117646,
y: -11.39376,
layer: "top",
width: 0.58
},
{
route_type: "wire",
x: 7.903990294117646,
y: -11.39376,
layer: "top",
width: 0.585
},
{
route_type: "wire",
x: 7.977519705882353,
y: -11.396120000000002,
layer: "top",
width: 0.585
},
{
route_type: "wire",
x: 7.977519705882353,
y: -11.396120000000002,
layer: "top",
width: 0.61
},
{
route_type: "wire",
x: 8.051049117647057,
y: -11.398480000000001,
layer: "top",
width: 0.61
},
{
route_type: "wire",
x: 8.051049117647057,
y: -11.398480000000001,
layer: "top",
width: 0.63
},
{
route_type: "wire",
x: 8.124578529411764,
y: -11.40084,
layer: "top",
width: 0.63
},
{
route_type: "wire",
x: 8.124578529411764,
y: -11.40084,
layer: "top",
width: 0.585
},
{
route_type: "wire",
x: 8.19810794117647,
y: -11.4032,
layer: "top",
width: 0.585
},
{
route_type: "wire",
x: 8.19810794117647,
y: -11.4032,
layer: "top",
width: 0.55
},
{
route_type: "wire",
x: 8.271637352941175,
y: -11.40556,
layer: "top",
width: 0.55
},
{
route_type: "wire",
x: 8.271637352941175,
y: -11.40556,
layer: "top",
width: 0.535
},
{
route_type: "wire",
x: 8.345166764705882,
y: -11.407919999999999,
layer: "top",
width: 0.535
},
{
route_type: "wire",
x: 8.345166764705882,
y: -11.407919999999999,
layer: "top",
width: 0.525
},
{
route_type: "wire",
x: 8.418696176470588,
y: -11.41028,
layer: "top",
width: 0.525
},
{
route_type: "wire",
x: 8.492225588235293,
y: -11.41264,
layer: "top",
width: 0.525
},
{
route_type: "wire",
x: 8.492225588235293,
y: -11.41264,
layer: "top",
width: 0.455
},
{
route_type: "wire",
x: 8.565755,
y: -11.415,
width: 0.455,
layer: "top"
},
{
route_type: "via",
x: 8.565755,
y: -11.415,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.565755,
y: -11.415,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 8.615755,
y: -11.394940000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 8.615755,
y: -11.394940000000002,
layer: "bottom",
width: 0.49
},
{
route_type: "wire",
x: 8.665755,
y: -11.374880000000003,
width: 0.49,
layer: "bottom"
},
{
route_type: "wire",
x: 8.715755000000001,
y: -11.424880000000003,
layer: "bottom",
width: 0.49
},
{
route_type: "wire",
x: 8.715755000000001,
y: -11.424880000000003,
layer: "bottom",
width: 0.58
},
{
route_type: "wire",
x: 8.765755,
y: -11.474880000000002,
layer: "bottom",
width: 0.58
},
{
route_type: "wire",
x: 8.765755,
y: -11.474880000000002,
layer: "bottom",
width: 0.565
},
{
route_type: "wire",
x: 8.815755000000001,
y: -11.524880000000003,
layer: "bottom",
width: 0.565
},
{
route_type: "wire",
x: 8.815755000000001,
y: -11.524880000000003,
layer: "bottom",
width: 0.56
},
{
route_type: "wire",
x: 8.865755,
y: -11.574880000000002,
layer: "bottom",
width: 0.56
},
{
route_type: "wire",
x: 8.915755,
y: -11.624880000000003,
layer: "bottom",
width: 0.56
},
{
route_type: "wire",
x: 8.915755,
y: -11.624880000000003,
layer: "bottom",
width: 0.565
},
{
route_type: "wire",
x: 8.965755000000001,
y: -11.674880000000003,
layer: "bottom",
width: 0.565
},
{
route_type: "wire",
x: 8.965755000000001,
y: -11.674880000000003,
layer: "bottom",
width: 0.58
},
{
route_type: "wire",
x: 9.015755,
y: -11.724880000000002,
layer: "bottom",
width: 0.58
},
{
route_type: "wire",
x: 9.015755,
y: -11.724880000000002,
layer: "bottom",
width: 0.61
},
{
route_type: "wire",
x: 9.065755000000001,
y: -11.774880000000003,
layer: "bottom",
width: 0.61
},
{
route_type: "wire",
x: 9.065755000000001,
y: -11.774880000000003,
layer: "bottom",
width: 0.65
},
{
route_type: "wire",
x: 9.115755,
y: -11.824880000000002,
layer: "bottom",
width: 0.65
},
{
route_type: "wire",
x: 9.115755,
y: -11.824880000000002,
layer: "bottom",
width: 0.705
},
{
route_type: "wire",
x: 9.165755,
y: -11.874880000000003,
width: 0.705,
layer: "bottom"
},
{
route_type: "wire",
x: 9.165755,
y: -11.874880000000003,
width: 0.77,
layer: "bottom"
},
{
route_type: "wire",
x: 9.165755,
y: -11.874880000000003,
width: 0.77,
layer: "bottom"
},
{
route_type: "wire",
x: 9.215755,
y: -11.924880000000003,
layer: "bottom",
width: 0.77
},
{
route_type: "wire",
x: 9.215755,
y: -11.924880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 9.265755,
y: -11.974880000000002,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 9.315755,
y: -12.024880000000003,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: 9.390497268041237,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 9.465239536082473,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 9.53998180412371,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 9.53998180412371,
y: -12.024880000000003,
layer: "bottom",
width: 0.74
},
{
route_type: "wire",
x: 9.614724072164949,
y: -12.024880000000003,
layer: "bottom",
width: 0.74
},
{
route_type: "wire",
x: 9.614724072164949,
y: -12.024880000000003,
layer: "bottom",
width: 0.665
},
{
route_type: "wire",
x: 9.689466340206184,
y: -12.024880000000003,
layer: "bottom",
width: 0.665
},
{
route_type: "wire",
x: 9.689466340206184,
y: -12.024880000000003,
layer: "bottom",
width: 0.605
},
{
route_type: "wire",
x: 9.764208608247422,
y: -12.024880000000003,
layer: "bottom",
width: 0.605
},
{
route_type: "wire",
x: 9.764208608247422,
y: -12.024880000000003,
layer: "bottom",
width: 0.56
},
{
route_type: "wire",
x: 9.83895087628866,
y: -12.024880000000003,
layer: "bottom",
width: 0.56
},
{
route_type: "wire",
x: 9.83895087628866,
y: -12.024880000000003,
layer: "bottom",
width: 0.53
},
{
route_type: "wire",
x: 9.913693144329896,
y: -12.024880000000003,
layer: "bottom",
width: 0.53
},
{
route_type: "wire",
x: 9.913693144329896,
y: -12.024880000000003,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 9.988435412371134,
y: -12.024880000000003,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 9.988435412371134,
y: -12.024880000000003,
layer: "bottom",
width: 0.515
},
{
route_type: "wire",
x: 10.06317768041237,
y: -12.024880000000003,
layer: "bottom",
width: 0.515
},
{
route_type: "wire",
x: 10.06317768041237,
y: -12.024880000000003,
layer: "bottom",
width: 0.525
},
{
route_type: "wire",
x: 10.137919948453607,
y: -12.024880000000003,
layer: "bottom",
width: 0.525
},
{
route_type: "wire",
x: 10.137919948453607,
y: -12.024880000000003,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 10.212662216494845,
y: -12.024880000000003,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 10.212662216494845,
y: -12.024880000000003,
layer: "bottom",
width: 0.59
},
{
route_type: "wire",
x: 10.287404484536081,
y: -12.024880000000003,
layer: "bottom",
width: 0.59
},
{
route_type: "wire",
x: 10.287404484536081,
y: -12.024880000000003,
layer: "bottom",
width: 0.645
},
{
route_type: "wire",
x: 10.362146752577319,
y: -12.024880000000003,
layer: "bottom",
width: 0.645
},
{
route_type: "wire",
x: 10.362146752577319,
y: -12.024880000000003,
layer: "bottom",
width: 0.715
},
{
route_type: "wire",
x: 10.436889020618557,
y: -12.024880000000003,
layer: "bottom",
width: 0.715
},
{
route_type: "wire",
x: 10.436889020618557,
y: -12.024880000000003,
layer: "bottom",
width: 0.795
},
{
route_type: "wire",
x: 10.511631288659792,
y: -12.024880000000003,
layer: "bottom",
width: 0.795
},
{
route_type: "wire",
x: 10.511631288659792,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 10.58637355670103,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 10.661115824742268,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 10.735858092783504,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 10.810600360824742,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 10.88534262886598,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 10.960084896907215,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.034827164948453,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.10956943298969,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.184311701030927,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.259053969072164,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.3337962371134,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.408538505154638,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.483280773195876,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.558023041237114,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.63276530927835,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.707507577319587,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.782249845360823,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.856992113402061,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 11.931734381443299,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.006476649484537,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.081218917525772,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.15596118556701,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.230703453608246,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.305445721649484,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.380187989690722,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.454930257731958,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.529672525773195,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.604414793814431,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.679157061855669,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.753899329896907,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.828641597938145,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 12.828641597938145,
y: -12.024880000000003,
layer: "bottom",
width: 0.74
},
{
route_type: "wire",
x: 12.90338386597938,
y: -12.024880000000003,
layer: "bottom",
width: 0.74
},
{
route_type: "wire",
x: 12.90338386597938,
y: -12.024880000000003,
layer: "bottom",
width: 0.67
},
{
route_type: "wire",
x: 12.978126134020618,
y: -12.024880000000003,
layer: "bottom",
width: 0.67
},
{
route_type: "wire",
x: 12.978126134020618,
y: -12.024880000000003,
layer: "bottom",
width: 0.61
},
{
route_type: "wire",
x: 13.052868402061854,
y: -12.024880000000003,
layer: "bottom",
width: 0.61
},
{
route_type: "wire",
x: 13.052868402061854,
y: -12.024880000000003,
layer: "bottom",
width: 0.57
},
{
route_type: "wire",
x: 13.127610670103092,
y: -12.024880000000003,
layer: "bottom",
width: 0.57
},
{
route_type: "wire",
x: 13.127610670103092,
y: -12.024880000000003,
layer: "bottom",
width: 0.545
},
{
route_type: "wire",
x: 13.20235293814433,
y: -12.024880000000003,
layer: "bottom",
width: 0.545
},
{
route_type: "wire",
x: 13.20235293814433,
y: -12.024880000000003,
layer: "bottom",
width: 0.535
},
{
route_type: "wire",
x: 13.277095206185567,
y: -12.024880000000003,
layer: "bottom",
width: 0.535
},
{
route_type: "wire",
x: 13.351837474226803,
y: -12.024880000000003,
layer: "bottom",
width: 0.535
},
{
route_type: "wire",
x: 13.351837474226803,
y: -12.024880000000003,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 13.42657974226804,
y: -12.024880000000003,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 13.42657974226804,
y: -12.024880000000003,
layer: "bottom",
width: 0.575
},
{
route_type: "wire",
x: 13.501322010309277,
y: -12.024880000000003,
layer: "bottom",
width: 0.575
},
{
route_type: "wire",
x: 13.501322010309277,
y: -12.024880000000003,
layer: "bottom",
width: 0.62
},
{
route_type: "wire",
x: 13.576064278350515,
y: -12.024880000000003,
layer: "bottom",
width: 0.62
},
{
route_type: "wire",
x: 13.576064278350515,
y: -12.024880000000003,
layer: "bottom",
width: 0.68
},
{
route_type: "wire",
x: 13.650806546391753,
y: -12.024880000000003,
layer: "bottom",
width: 0.68
},
{
route_type: "wire",
x: 13.650806546391753,
y: -12.024880000000003,
layer: "bottom",
width: 0.75
},
{
route_type: "wire",
x: 13.72554881443299,
y: -12.024880000000003,
layer: "bottom",
width: 0.75
},
{
route_type: "wire",
x: 13.72554881443299,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 13.800291082474226,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 13.875033350515462,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 13.9497756185567,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.024517886597938,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.099260154639175,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.174002422680411,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.248744690721649,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.323486958762885,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.398229226804123,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.47297149484536,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.547713762886598,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.622456030927834,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.697198298969072,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.771940567010308,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.846682835051546,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.921425103092783,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 14.996167371134021,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.070909639175257,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.145651907216493,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.22039417525773,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.295136443298968,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.369878711340206,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.444620979381444,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.51936324742268,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.594105515463916,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.668847783505154,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.743590051546391,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.818332319587629,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.893074587628865,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 15.967816855670103,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.04255912371134,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.117301391752576,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.192043659793814,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.266785927835052,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.341528195876286,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.416270463917524,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.49101273195876,
y: -12.024880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.565755,
y: -12.024880000000003,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: 16.617552626074904,
y: -12.076656125592653,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.669350252149805,
y: -12.128432251185302,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.72114787822471,
y: -12.180208376777951,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.77294550429961,
y: -12.2319845023706,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.824743130374515,
y: -12.28376062796325,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.876540756449415,
y: -12.3355367535559,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.92833838252432,
y: -12.38731287914855,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 16.980136008599224,
y: -12.439089004741199,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.031933634674125,
y: -12.490865130333848,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.031933634674125,
y: -12.490865130333848,
layer: "bottom",
width: 0.795
},
{
route_type: "wire",
x: 17.08373126074903,
y: -12.542641255926497,
layer: "bottom",
width: 0.795
},
{
route_type: "wire",
x: 17.08373126074903,
y: -12.542641255926497,
layer: "bottom",
width: 0.76
},
{
route_type: "wire",
x: 17.13552888682393,
y: -12.594417381519147,
layer: "bottom",
width: 0.76
},
{
route_type: "wire",
x: 17.13552888682393,
y: -12.594417381519147,
layer: "bottom",
width: 0.725
},
{
route_type: "wire",
x: 17.187326512898835,
y: -12.646193507111796,
layer: "bottom",
width: 0.725
},
{
route_type: "wire",
x: 17.187326512898835,
y: -12.646193507111796,
layer: "bottom",
width: 0.69
},
{
route_type: "wire",
x: 17.239124138973736,
y: -12.697969632704446,
layer: "bottom",
width: 0.69
},
{
route_type: "wire",
x: 17.239124138973736,
y: -12.697969632704446,
layer: "bottom",
width: 0.655
},
{
route_type: "wire",
x: 17.29092176504864,
y: -12.749745758297095,
layer: "bottom",
width: 0.655
},
{
route_type: "wire",
x: 17.29092176504864,
y: -12.749745758297095,
layer: "bottom",
width: 0.625
},
{
route_type: "wire",
x: 17.342719391123545,
y: -12.801521883889743,
layer: "bottom",
width: 0.625
},
{
route_type: "wire",
x: 17.342719391123545,
y: -12.801521883889743,
layer: "bottom",
width: 0.605
},
{
route_type: "wire",
x: 17.394517017198446,
y: -12.853298009482392,
layer: "bottom",
width: 0.605
},
{
route_type: "wire",
x: 17.394517017198446,
y: -12.853298009482392,
layer: "bottom",
width: 0.58
},
{
route_type: "wire",
x: 17.44631464327335,
y: -12.905074135075042,
layer: "bottom",
width: 0.58
},
{
route_type: "wire",
x: 17.44631464327335,
y: -12.905074135075042,
layer: "bottom",
width: 0.56
},
{
route_type: "wire",
x: 17.49811226934825,
y: -12.956850260667691,
layer: "bottom",
width: 0.56
},
{
route_type: "wire",
x: 17.49811226934825,
y: -12.956850260667691,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 17.549909895423156,
y: -13.00862638626034,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 17.549909895423156,
y: -13.00862638626034,
layer: "bottom",
width: 0.53
},
{
route_type: "wire",
x: 17.601707521498057,
y: -13.06040251185299,
layer: "bottom",
width: 0.53
},
{
route_type: "wire",
x: 17.601707521498057,
y: -13.06040251185299,
layer: "bottom",
width: 0.525
},
{
route_type: "wire",
x: 17.65350514757296,
y: -13.11217863744564,
layer: "bottom",
width: 0.525
},
{
route_type: "wire",
x: 17.65350514757296,
y: -13.11217863744564,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 17.705302773647865,
y: -13.163954763038289,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 17.705302773647865,
y: -13.163954763038289,
layer: "bottom",
width: 0.51
},
{
route_type: "wire",
x: 17.757100399722766,
y: -13.215730888630938,
layer: "bottom",
width: 0.51
},
{
route_type: "wire",
x: 17.80889802579767,
y: -13.267507014223588,
layer: "bottom",
width: 0.51
},
{
route_type: "wire",
x: 17.80889802579767,
y: -13.267507014223588,
layer: "bottom",
width: 0.515
},
{
route_type: "wire",
x: 17.86069565187257,
y: -13.319283139816237,
layer: "bottom",
width: 0.515
},
{
route_type: "wire",
x: 17.86069565187257,
y: -13.319283139816237,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 17.912493277947476,
y: -13.371059265408887,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 17.912493277947476,
y: -13.371059265408887,
layer: "bottom",
width: 0.53
},
{
route_type: "wire",
x: 17.964290904022377,
y: -13.422835391001536,
layer: "bottom",
width: 0.53
},
{
route_type: "wire",
x: 17.964290904022377,
y: -13.422835391001536,
layer: "bottom",
width: 0.535
},
{
route_type: "wire",
x: 18.01608853009728,
y: -13.474611516594186,
width: 0.535,
layer: "bottom"
},
{
route_type: "wire",
x: 18.01608853009728,
y: -13.474611516594186,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.040565846124196,
y: -13.50540099731619,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.0822955640828,
y: -13.561893998210794,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 18.124025282041398,
y: -13.618386999105399,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 18.165755,
y: -13.674880000000002,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.18847628785213,
y: -13.709749947728856,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.226429768269533,
y: -13.768099102519507,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.249098993585562,
y: -13.804312905201302,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.249098993585562,
y: -13.804312905201302,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.284009931048786,
y: -13.86371096668113,
layer: "bottom",
width: 0.555
},
{
route_type: "wire",
x: 18.284009931048786,
y: -13.86371096668113,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 18.318920868512013,
y: -13.923109028160958,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.340147108816222,
y: -13.961668306156682,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.340147108816222,
y: -13.961668306156682,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: 18.37186827874803,
y: -14.021733248185285,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: 18.37186827874803,
y: -14.021733248185285,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.392124590611825,
y: -14.061766586266897,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.392124590611825,
y: -14.061766586266897,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.421405324911355,
y: -14.122215209991205,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.440394169678584,
y: -14.164007888218965,
layer: "bottom",
width: 0.555
},
{
route_type: "wire",
x: 18.440394169678584,
y: -14.164007888218965,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 18.459383014445812,
y: -14.205800566446722,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.459383014445812,
y: -14.205800566446722,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: 18.48531672714781,
y: -14.266799270754557,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: 18.48531672714781,
y: -14.266799270754557,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.50286794258133,
y: -14.310174752571887,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.526248523250487,
y: -14.370965068953023,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.526248523250487,
y: -14.370965068953023,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.542198817151313,
y: -14.415717199308077,
layer: "bottom",
width: 0.555
},
{
route_type: "wire",
x: 18.55814911105214,
y: -14.460469329663132,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.55814911105214,
y: -14.460469329663132,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.578051059210104,
y: -14.52096901126902,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.578051059210104,
y: -14.52096901126902,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: 18.59853016463952,
y: -14.590758055066987,
layer: "bottom",
width: 0.545
},
{
route_type: "wire",
x: 18.619009270068936,
y: -14.660547098864953,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: 18.619009270068936,
y: -14.660547098864953,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.634462113677838,
y: -14.720226149503425,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.634462113677838,
y: -14.720226149503425,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.650676121669242,
y: -14.792423404374315,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 18.666890129660644,
y: -14.864620659245206,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.666890129660644,
y: -14.864620659245206,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: 18.67798313730205,
y: -14.922658524767346,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: 18.67798313730205,
y: -14.922658524767346,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.686762356090494,
y: -14.984498321741174,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 18.695541574878938,
y: -15.046338118715003,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 18.70432079366738,
y: -15.10817791568883,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 18.713100012455826,
y: -15.170017712662657,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 18.75718188589885,
y: -15.220625498579826,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 18.75718188589885,
y: -15.220625498579826,
layer: "bottom",
width: 0.625
},
{
route_type: "wire",
x: 18.801263759341868,
y: -15.271233284496994,
layer: "bottom",
width: 0.625
},
{
route_type: "wire",
x: 18.801263759341868,
y: -15.271233284496994,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 18.84534563278489,
y: -15.321841070414163,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 18.84534563278489,
y: -15.321841070414163,
layer: "bottom",
width: 0.58
},
{
route_type: "wire",
x: 18.88942750622791,
y: -15.372448856331332,
layer: "bottom",
width: 0.58
},
{
route_type: "wire",
x: 18.88942750622791,
y: -15.372448856331332,
layer: "bottom",
width: 0.575
},
{
route_type: "wire",
x: 18.933509379670934,
y: -15.423056642248499,
layer: "bottom",
width: 0.575
},
{
route_type: "wire",
x: 18.977591253113957,
y: -15.473664428165668,
layer: "bottom",
width: 0.575
},
{
route_type: "wire",
x: 18.977591253113957,
y: -15.473664428165668,
layer: "bottom",
width: 0.585
},
{
route_type: "wire",
x: 19.021673126556976,
y: -15.524272214082835,
layer: "bottom",
width: 0.585
},
{
route_type: "wire",
x: 19.021673126556976,
y: -15.524272214082835,
layer: "bottom",
width: 0.605
},
{
route_type: "wire",
x: 19.065755,
y: -15.574880000000004,
width: 0.605,
layer: "bottom"
},
{
route_type: "wire",
x: 19.065755,
y: -15.574880000000004,
width: 0.585,
layer: "bottom"
},
{
route_type: "wire",
x: 19.115755000000004,
y: -15.574880000000004,
width: 0.585,
layer: "bottom"
},
{
route_type: "wire",
x: 19.165755,
y: -15.624880000000003,
width: 0.585,
layer: "bottom"
},
{
route_type: "wire",
x: 19.234505,
y: -15.624880000000003,
layer: "bottom",
width: 0.585
},
{
route_type: "wire",
x: 19.234505,
y: -15.624880000000003,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 19.303255,
y: -15.624880000000003,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 19.303255,
y: -15.624880000000003,
layer: "bottom",
width: 0.525
},
{
route_type: "wire",
x: 19.372005,
y: -15.624880000000003,
layer: "bottom",
width: 0.525
},
{
route_type: "wire",
x: 19.372005,
y: -15.624880000000003,
layer: "bottom",
width: 0.515
},
{
route_type: "wire",
x: 19.440755,
y: -15.624880000000003,
layer: "bottom",
width: 0.515
},
{
route_type: "wire",
x: 19.509504999999997,
y: -15.624880000000003,
layer: "bottom",
width: 0.515
},
{
route_type: "wire",
x: 19.509504999999997,
y: -15.624880000000003,
layer: "bottom",
width: 0.525
},
{
route_type: "wire",
x: 19.578255,
y: -15.624880000000003,
layer: "bottom",
width: 0.525
},
{
route_type: "wire",
x: 19.578255,
y: -15.624880000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 19.647005,
y: -15.624880000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 19.647005,
y: -15.624880000000003,
layer: "bottom",
width: 0.575
},
{
route_type: "wire",
x: 19.715754999999998,
y: -15.624880000000003,
width: 0.575,
layer: "bottom"
},
{
route_type: "wire",
x: 19.715754999999998,
y: -15.624880000000003,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 19.765755000000002,
y: -15.574880000000004,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 19.815755,
y: -15.574880000000004,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 19.815755,
y: -15.574880000000004,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 19.865755000000004,
y: -15.524880000000003,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 19.915755,
y: -15.524880000000003,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 19.915755,
y: -15.524880000000003,
width: 0.645,
layer: "bottom"
},
{
route_type: "wire",
x: 19.965755,
y: -15.474880000000002,
layer: "bottom",
width: 0.645
},
{
route_type: "wire",
x: 20.015755000000002,
y: -15.424880000000002,
width: 0.645,
layer: "bottom"
},
{
route_type: "wire",
x: 20.015755000000002,
y: -15.424880000000002,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 20.015755000000002,
y: -15.374880000000003,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 20.065755,
y: -15.324880000000004,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 20.065755,
y: -15.324880000000004,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 20.065755,
y: -15.274880000000003,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 20.115755000000004,
y: -15.224880000000002,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 20.115755000000004,
y: -15.150237142857145,
layer: "bottom",
width: 0.57
},
{
route_type: "wire",
x: 20.115755000000004,
y: -15.150237142857145,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 20.115755000000004,
y: -15.075594285714288,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 20.115755000000004,
y: -15.075594285714288,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 20.115755000000004,
y: -15.000951428571431,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.926308571428574,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.851665714285717,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.77702285714286,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.702380000000002,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.627737142857145,
layer: "bottom",
width: 0.52
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.627737142857145,
layer: "bottom",
width: 0.53
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.553094285714288,
layer: "bottom",
width: 0.53
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.553094285714288,
layer: "bottom",
width: 0.555
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.47845142857143,
layer: "bottom",
width: 0.555
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.47845142857143,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.403808571428574,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.403808571428574,
layer: "bottom",
width: 0.635
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.329165714285717,
layer: "bottom",
width: 0.635
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.329165714285717,
layer: "bottom",
width: 0.665
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.25452285714286,
layer: "bottom",
width: 0.665
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.25452285714286,
layer: "bottom",
width: 0.71
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.179880000000002,
layer: "bottom",
width: 0.71
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.179880000000002,
layer: "bottom",
width: 0.74
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.105237142857145,
layer: "bottom",
width: 0.74
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.105237142857145,
layer: "bottom",
width: 0.775
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.030594285714288,
layer: "bottom",
width: 0.775
},
{
route_type: "wire",
x: 20.115755000000004,
y: -14.030594285714288,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.955951428571431,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.881308571428574,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.806665714285717,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.732022857142859,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.657380000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.582737142857145,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.508094285714288,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.43345142857143,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.358808571428574,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.284165714285717,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.20952285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.134880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -13.060237142857146,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.985594285714289,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.910951428571432,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.836308571428575,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.761665714285717,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.68702285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.612380000000002,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.537737142857145,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.463094285714288,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.38845142857143,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.313808571428574,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.239165714285717,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.16452285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.089880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -12.015237142857146,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.940594285714289,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.865951428571432,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.791308571428575,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.716665714285718,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.642022857142859,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.567380000000004,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.492737142857145,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.41809428571429,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.34345142857143,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.268808571428576,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.194165714285717,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.11952285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -11.044880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.970237142857146,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.895594285714289,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.820951428571432,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.746308571428575,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.671665714285716,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.59702285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.522380000000002,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.447737142857147,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.373094285714288,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.298451428571433,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.223808571428574,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.149165714285719,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -10.07452285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.999880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.925237142857146,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.850594285714287,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.775951428571432,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.701308571428573,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.626665714285718,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.552022857142859,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.477380000000004,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.402737142857145,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.32809428571429,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.25345142857143,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.178808571428576,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.104165714285717,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -9.02952285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.954880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.880237142857146,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.805594285714289,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.73095142857143,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.656308571428575,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.581665714285716,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.50702285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.432380000000002,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.357737142857147,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.283094285714288,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.208451428571431,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.133808571428574,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -8.059165714285717,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.98452285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.909880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.835237142857146,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.760594285714288,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.685951428571432,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.611308571428575,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.536665714285717,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.46202285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.387380000000002,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.312737142857147,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.238094285714289,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.163451428571431,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.088808571428574,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -7.014165714285717,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.93952285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.864880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.790237142857146,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.715594285714289,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.64095142857143,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.566308571428575,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.491665714285718,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.417022857142861,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.342380000000002,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.267737142857145,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.19309428571429,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.118451428571431,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -6.043808571428574,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.969165714285717,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.89452285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.819880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.745237142857146,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.670594285714289,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.595951428571432,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.521308571428573,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.446665714285718,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.372022857142861,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.297380000000002,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.222737142857145,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.148094285714288,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -5.073451428571433,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -4.998808571428574,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -4.924165714285717,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -4.84952285714286,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.115755000000004,
y: -4.774880000000003,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: 20.0627246969697,
y: -4.7218496969697,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 20.009694393939398,
y: -4.668819393939397,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.956664090909094,
y: -4.615789090909094,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.903633787878793,
y: -4.562758787878791,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.850603484848488,
y: -4.5097284848484875,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.797573181818187,
y: -4.456698181818185,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.744542878787883,
y: -4.403667878787882,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.691512575757578,
y: -4.350637575757579,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.638482272727277,
y: -4.297607272727276,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.585451969696972,
y: -4.244576969696973,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.53242166666667,
y: -4.19154666666667,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.479391363636367,
y: -4.138516363636366,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.426361060606062,
y: -4.085486060606064,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.37333075757576,
y: -4.032455757575761,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.320300454545457,
y: -3.9794254545454577,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.267270151515156,
y: -3.9263951515151545,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.21423984848485,
y: -3.8733648484848517,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.16120954545455,
y: -3.8203345454545485,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.108179242424246,
y: -3.7673042424242453,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.055148939393945,
y: -3.7142739393939426,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 19.00211863636364,
y: -3.66124363636364,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.949088333333336,
y: -3.608213333333336,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.896058030303035,
y: -3.5551830303030334,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.84302772727273,
y: -3.5021527272727306,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.78999742424243,
y: -3.4491224242424274,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.736967121212125,
y: -3.3960921212121242,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.68393681818182,
y: -3.3430618181818215,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.63090651515152,
y: -3.2900315151515183,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.577876212121215,
y: -3.237001212121215,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.524845909090914,
y: -3.1839709090909123,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.47181560606061,
y: -3.130940606060609,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.418785303030308,
y: -3.077910303030306,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.365755000000004,
y: -3.024880000000003,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: 18.365755000000004,
y: -3.024880000000003,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: 18.31367166666667,
y: -2.9727966666666696,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.261588333333336,
y: -2.9207133333333366,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.209505000000004,
y: -2.868630000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.157421666666668,
y: -2.8165466666666696,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.105338333333336,
y: -2.7644633333333366,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.053255,
y: -2.712380000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 18.001171666666668,
y: -2.6602966666666696,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.949088333333336,
y: -2.6082133333333366,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.897005,
y: -2.556130000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.844921666666668,
y: -2.5040466666666696,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.792838333333332,
y: -2.4519633333333366,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.740755,
y: -2.399880000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.688671666666668,
y: -2.3477966666666696,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.636588333333332,
y: -2.2957133333333366,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.584505,
y: -2.243630000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.532421666666664,
y: -2.1915466666666696,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.480338333333332,
y: -2.1394633333333366,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.428255,
y: -2.087380000000003,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.376171666666664,
y: -2.0352966666666696,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.324088333333332,
y: -1.9832133333333364,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.272004999999996,
y: -1.9311300000000031,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.219921666666664,
y: -1.8790466666666699,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.16783833333333,
y: -1.8269633333333364,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.115754999999996,
y: -1.7748800000000031,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: 17.07717,
y: -1.7332533333333355,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17.038584999999998,
y: -1.691626666666668,
layer: "bottom",
width: 0.8
},
{
route_type: "wire",
x: 17,
y: -1.6500000000000004,
width: 0.8,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_194_retained_44",
connection_name: "source_trace_182",
connectsTo: [
"pcb_port_176",
"pcb_port_360"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -10.124908,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 7.215754999999998,
y: -10.074907999999999,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 7.215754999999998,
y: -10.074907999999999,
width: 0.48,
layer: "top"
},
{
route_type: "wire",
x: 8.415755,
y: -10.074907999999999,
width: 0.48,
layer: "top"
},
{
route_type: "via",
x: 8.415755,
y: -10.074907999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.415755,
y: -10.074907999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 9.065755,
y: -9.424907999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 9.065755,
y: -9.424907999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 9.365755,
y: -9.124908,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 12.3,
y: -9.124908,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 12.6,
y: -8.824908,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 13.7,
y: -8.824908,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 14,
y: -9.124908,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 17.065755,
y: -9.124908,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 17.365755000000004,
y: -8.824907999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 17.365755000000004,
y: -8.824907999999999,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 17.415755,
y: -8.824907999999999,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 17.415755,
y: -8.824907999999999,
width: 0.565,
layer: "bottom"
},
{
route_type: "wire",
x: 17.890755000000002,
y: -8.374908,
width: 0.565,
layer: "bottom"
},
{
route_type: "wire",
x: 17.890755000000002,
y: -8.374908,
width: 0.525,
layer: "bottom"
},
{
route_type: "wire",
x: 17.890755000000002,
y: -8.324907999999999,
width: 0.525,
layer: "bottom"
},
{
route_type: "wire",
x: 18.020754999999998,
y: -8.224908,
width: 0.525,
layer: "bottom"
},
{
route_type: "wire",
x: 18.020754999999998,
y: -8.224908,
width: 0.585,
layer: "bottom"
},
{
route_type: "wire",
x: 18.020754999999998,
y: -8.174907999999999,
width: 0.585,
layer: "bottom"
},
{
route_type: "wire",
x: 18.070755000000002,
y: -8.124908,
width: 0.585,
layer: "bottom"
},
{
route_type: "wire",
x: 18.070755000000002,
y: -8.124908,
width: 0.56,
layer: "bottom"
},
{
route_type: "wire",
x: 18.070755000000002,
y: -8.024908,
width: 0.56,
layer: "bottom"
},
{
route_type: "wire",
x: 18.120755,
y: -7.974907999999999,
width: 0.56,
layer: "bottom"
},
{
route_type: "wire",
x: 18.120755,
y: -7.974907999999999,
width: 0.53,
layer: "bottom"
},
{
route_type: "wire",
x: 18.120755,
y: -6.274908,
width: 0.53,
layer: "bottom"
},
{
route_type: "wire",
x: 18.120755,
y: -6.274908,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 18.170755000000003,
y: -6.224907999999999,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 18.170755000000003,
y: -6.224907999999999,
width: 0.565,
layer: "bottom"
},
{
route_type: "wire",
x: 18.170755000000003,
y: -6.1749079999999985,
width: 0.565,
layer: "bottom"
},
{
route_type: "wire",
x: 18.220755,
y: -6.124908,
width: 0.565,
layer: "bottom"
},
{
route_type: "wire",
x: 18.220755,
y: -6.124908,
width: 0.56,
layer: "bottom"
},
{
route_type: "wire",
x: 18.220755,
y: -6.074907999999999,
width: 0.56,
layer: "bottom"
},
{
route_type: "wire",
x: 18.270754999999998,
y: -6.024908,
width: 0.56,
layer: "bottom"
},
{
route_type: "wire",
x: 18.270754999999998,
y: -6.024908,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.270754999999998,
y: -5.9249079999999985,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.320755000000002,
y: -5.874908,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.320755000000002,
y: -5.874908,
width: 0.58,
layer: "bottom"
},
{
route_type: "wire",
x: 18.320755000000002,
y: -5.4249079999999985,
width: 0.58,
layer: "bottom"
},
{
route_type: "wire",
x: 18.320755000000002,
y: -5.4249079999999985,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.270754999999998,
y: -5.374908,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.270754999999998,
y: -5.274908,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 18.270754999999998,
y: -5.274908,
width: 0.56,
layer: "bottom"
},
{
route_type: "wire",
x: 18.220755,
y: -5.224907999999999,
width: 0.56,
layer: "bottom"
},
{
route_type: "wire",
x: 18.165755,
y: -5.114907999999999,
width: 0.56,
layer: "bottom"
},
{
route_type: "wire",
x: 18.165755,
y: -5.114907999999999,
width: 0.535,
layer: "bottom"
},
{
route_type: "wire",
x: 18.115755000000004,
y: -5.064908,
width: 0.535,
layer: "bottom"
},
{
route_type: "wire",
x: 18.115755000000004,
y: -5.014907999999999,
width: 0.535,
layer: "bottom"
},
{
route_type: "wire",
x: 18.115755000000004,
y: -5.014907999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 17.7,
y: -4.65,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 17.7,
y: -4.65,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 17.7,
y: -4.65,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 15.5,
y: -4.65,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 15.5,
y: -4.65,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 15.5,
y: -4.65,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 12.515755000000002,
y: -4.6749079999999985,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 12.465754999999998,
y: -4.624907999999998,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 12.465754999999998,
y: -4.624907999999998,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 11.965754999999998,
y: -4.624907999999998,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 11.915755,
y: -4.574908000000001,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 8.015754999999999,
y: -4.574908000000001,
width: 0.54,
layer: "bottom"
},
{
route_type: "wire",
x: 8.015754999999999,
y: -4.574908000000001,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: 8.015754999999999,
y: -4.574908000000001,
width: 0.535,
layer: "bottom"
},
{
route_type: "wire",
x: 7.015754999999999,
y: -4.574908000000001,
width: 0.535,
layer: "bottom"
},
{
route_type: "via",
x: 7.015754999999999,
y: -4.574908000000001,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 7.015754999999999,
y: -4.574908000000001,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 6.115755,
y: -4.574908000000001,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 6.0212,
y: -4.5,
width: 0.6,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_193_retained_45",
connection_name: "source_trace_181",
connectsTo: [
"pcb_port_173",
"pcb_port_289"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -12.074866,
width: 0.485,
layer: "top"
},
{
route_type: "wire",
x: 7.240755000000001,
y: -12.074866,
layer: "top",
width: 0.485
},
{
route_type: "wire",
x: 7.315755000000001,
y: -12.074866,
layer: "top",
width: 0.485
},
{
route_type: "wire",
x: 7.315755000000001,
y: -12.074866,
layer: "top",
width: 0.49
},
{
route_type: "wire",
x: 7.390755,
y: -12.074866,
layer: "top",
width: 0.49
},
{
route_type: "wire",
x: 7.390755,
y: -12.074866,
layer: "top",
width: 0.51
},
{
route_type: "wire",
x: 7.465755000000001,
y: -12.074866,
layer: "top",
width: 0.51
},
{
route_type: "wire",
x: 7.465755000000001,
y: -12.074866,
layer: "top",
width: 0.55
},
{
route_type: "wire",
x: 7.540755000000001,
y: -12.074866,
layer: "top",
width: 0.55
},
{
route_type: "wire",
x: 7.540755000000001,
y: -12.074866,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 7.615755,
y: -12.074866,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 7.615755,
y: -12.074866,
layer: "top",
width: 0.59
},
{
route_type: "wire",
x: 7.690755,
y: -12.074866,
layer: "top",
width: 0.59
},
{
route_type: "wire",
x: 7.690755,
y: -12.074866,
layer: "top",
width: 0.58
},
{
route_type: "wire",
x: 7.765755,
y: -12.074866,
layer: "top",
width: 0.58
},
{
route_type: "wire",
x: 7.765755,
y: -12.074866,
layer: "top",
width: 0.565
},
{
route_type: "wire",
x: 7.840755000000001,
y: -12.074866000000002,
layer: "top",
width: 0.565
},
{
route_type: "wire",
x: 7.840755000000001,
y: -12.074866000000002,
layer: "top",
width: 0.54
},
{
route_type: "wire",
x: 7.915755000000001,
y: -12.074866000000002,
layer: "top",
width: 0.54
},
{
route_type: "wire",
x: 7.915755000000001,
y: -12.074866000000002,
layer: "top",
width: 0.515
},
{
route_type: "wire",
x: 7.990755,
y: -12.074866000000002,
layer: "top",
width: 0.515
},
{
route_type: "wire",
x: 7.990755,
y: -12.074866000000002,
layer: "top",
width: 0.51
},
{
route_type: "wire",
x: 8.065755,
y: -12.074866000000002,
layer: "top",
width: 0.51
},
{
route_type: "wire",
x: 8.065755,
y: -12.074866000000002,
layer: "top",
width: 0.505
},
{
route_type: "wire",
x: 8.140755,
y: -12.074866000000002,
layer: "top",
width: 0.505
},
{
route_type: "wire",
x: 8.215755,
y: -12.074866000000002,
layer: "top",
width: 0.505
},
{
route_type: "wire",
x: 8.215755,
y: -12.074866000000002,
layer: "top",
width: 0.52
},
{
route_type: "wire",
x: 8.290755,
y: -12.074866000000002,
layer: "top",
width: 0.52
},
{
route_type: "wire",
x: 8.290755,
y: -12.074866000000002,
layer: "top",
width: 0.545
},
{
route_type: "wire",
x: 8.365755,
y: -12.074866000000002,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 8.365755,
y: -12.074866000000002,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 8.415,
y: -12.075000000000001,
width: 0.59,
layer: "top"
},
{
route_type: "via",
x: 8.415,
y: -12.075000000000001,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.415,
y: -12.075000000000001,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 8.365755,
y: -12.024866000000003,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 8.365755,
y: -12.024866000000003,
width: 0.515,
layer: "bottom"
},
{
route_type: "wire",
x: 8.315755,
y: -11.974866000000002,
layer: "bottom",
width: 0.515
},
{
route_type: "wire",
x: 8.315755,
y: -11.974866000000002,
layer: "bottom",
width: 0.47
},
{
route_type: "wire",
x: 8.265755,
y: -11.924866000000003,
layer: "bottom",
width: 0.47
},
{
route_type: "wire",
x: 8.265755,
y: -11.924866000000003,
layer: "bottom",
width: 0.445
},
{
route_type: "wire",
x: 8.215755,
y: -11.874866000000003,
layer: "bottom",
width: 0.445
},
{
route_type: "wire",
x: 8.215755,
y: -11.874866000000003,
layer: "bottom",
width: 0.435
},
{
route_type: "wire",
x: 8.165755,
y: -11.824866000000004,
layer: "bottom",
width: 0.435
},
{
route_type: "wire",
x: 8.115755,
y: -11.774866000000003,
width: 0.435,
layer: "bottom"
},
{
route_type: "wire",
x: 8.115755,
y: -11.774866000000003,
width: 0.38,
layer: "bottom"
},
{
route_type: "wire",
x: 8.115755,
y: -11.724866000000002,
width: 0.38,
layer: "bottom"
},
{
route_type: "wire",
x: 8.065755,
y: -11.674866000000003,
width: 0.38,
layer: "bottom"
},
{
route_type: "wire",
x: 8.065755,
y: -11.674866000000003,
width: 0.37,
layer: "bottom"
},
{
route_type: "wire",
x: 8.065755,
y: -11.624866000000003,
width: 0.37,
layer: "bottom"
},
{
route_type: "wire",
x: 8.015754999999999,
y: -11.574866000000002,
width: 0.37,
layer: "bottom"
},
{
route_type: "wire",
x: 8.015754999999999,
y: -11.574866000000002,
width: 0.405,
layer: "bottom"
},
{
route_type: "wire",
x: 8.015754999999999,
y: -11.512366000000002,
layer: "bottom",
width: 0.405
},
{
route_type: "wire",
x: 8.015754999999999,
y: -11.512366000000002,
layer: "bottom",
width: 0.39
},
{
route_type: "wire",
x: 8.015754999999999,
y: -11.449866000000002,
layer: "bottom",
width: 0.39
},
{
route_type: "wire",
x: 8.015754999999999,
y: -11.387366000000002,
layer: "bottom",
width: 0.39
},
{
route_type: "wire",
x: 8.015754999999999,
y: -11.324866000000002,
width: 0.39,
layer: "bottom"
},
{
route_type: "wire",
x: 8.015754999999999,
y: -11.324866000000002,
width: 0.405,
layer: "bottom"
},
{
route_type: "wire",
x: 7.963671666666666,
y: -11.272782666666668,
layer: "bottom",
width: 0.405
},
{
route_type: "wire",
x: 7.963671666666666,
y: -11.272782666666668,
layer: "bottom",
width: 0.525
},
{
route_type: "wire",
x: 7.911588333333332,
y: -11.220699333333336,
layer: "bottom",
width: 0.525
},
{
route_type: "wire",
x: 7.911588333333332,
y: -11.220699333333336,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.859504999999999,
y: -11.168616000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.807421666666666,
y: -11.116532666666668,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.755338333333332,
y: -11.064449333333336,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.703254999999999,
y: -11.012366000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.651171666666666,
y: -10.960282666666668,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.599088333333332,
y: -10.908199333333336,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.547004999999999,
y: -10.856116000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.494921666666666,
y: -10.804032666666668,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.442838333333332,
y: -10.751949333333336,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.390754999999999,
y: -10.699866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.338671666666666,
y: -10.647782666666668,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.286588333333332,
y: -10.595699333333336,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.234504999999999,
y: -10.543616000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.182421666666666,
y: -10.491532666666668,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.130338333333332,
y: -10.439449333333336,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.078254999999999,
y: -10.387366000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 7.026171666666666,
y: -10.335282666666668,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.974088333333332,
y: -10.283199333333336,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.922004999999999,
y: -10.231116000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.869921666666666,
y: -10.179032666666668,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.817838333333332,
y: -10.126949333333336,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.765754999999999,
y: -10.074866000000002,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 6.765754999999999,
y: -10.074866000000002,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 6.715754999999999,
y: -10.024866000000001,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.665754999999999,
y: -9.974866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.615754999999999,
y: -9.924866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.565754999999999,
y: -9.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.5157549999999995,
y: -9.824866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.465755,
y: -9.774866000000001,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.415754999999999,
y: -9.724866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.365754999999999,
y: -9.674866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.315754999999999,
y: -9.624866,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.2657549999999995,
y: -9.574866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.215755,
y: -9.524866000000001,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.165755,
y: -9.474866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.115755,
y: -9.424866000000002,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 6.115755,
y: -9.35213872727273,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.115755,
y: -9.279411454545457,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.115755,
y: -9.206684181818183,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.115755,
y: -9.13395690909091,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.115755,
y: -9.061229636363638,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.115755,
y: -8.988502363636366,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.115755,
y: -8.915775090909094,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.115755,
y: -8.843047818181821,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.115755,
y: -8.770320545454547,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.115755,
y: -8.697593272727275,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.115755,
y: -8.624866000000003,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 6.065755,
y: -8.574866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.015755,
y: -8.524866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 5.965755,
y: -8.474866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 5.915755,
y: -8.424866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 5.865755,
y: -8.374866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 5.815755,
y: -8.324866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 5.765755,
y: -8.274866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 5.715755,
y: -8.224866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 5.665755,
y: -8.174866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 5.615755,
y: -8.124866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 5.565755,
y: -8.074866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 5.515755,
y: -8.024866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 5.515755,
y: -8.024866000000003,
layer: "bottom",
width: 0.575
},
{
route_type: "wire",
x: 5.465755,
y: -7.974866000000002,
layer: "bottom",
width: 0.575
},
{
route_type: "wire",
x: 5.465755,
y: -7.974866000000002,
layer: "bottom",
width: 0.57
},
{
route_type: "wire",
x: 5.415755,
y: -7.924866000000002,
layer: "bottom",
width: 0.57
},
{
route_type: "wire",
x: 5.365755,
y: -7.874866000000003,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 5.365755,
y: -7.874866000000003,
width: 0.515,
layer: "bottom"
},
{
route_type: "wire",
x: 5.365755,
y: -7.824866000000002,
width: 0.515,
layer: "bottom"
},
{
route_type: "via",
x: 5.365755,
y: -7.824866000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 5.365755,
y: -7.824866000000002,
width: 0.56,
layer: "top"
},
{
route_type: "wire",
x: 5.415755,
y: -7.774866000000002,
layer: "top",
width: 0.56
},
{
route_type: "wire",
x: 5.415755,
y: -7.774866000000002,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.465755000000001,
y: -7.724866000000002,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.515755,
y: -7.674866000000002,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.565755,
y: -7.624866000000003,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.615755,
y: -7.574866000000003,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.665755000000001,
y: -7.524866000000002,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.715755000000001,
y: -7.474866000000002,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.765755,
y: -7.424866000000002,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.815755,
y: -7.374866000000003,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.865755000000001,
y: -7.324866000000003,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.865755000000001,
y: -7.324866000000003,
layer: "top",
width: 0.565
},
{
route_type: "wire",
x: 5.915755000000001,
y: -7.274866000000003,
width: 0.565,
layer: "top"
},
{
route_type: "wire",
x: 5.915755000000001,
y: -7.20213872727273,
layer: "top",
width: 0.565
},
{
route_type: "wire",
x: 5.915755000000001,
y: -7.20213872727273,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.915755000000001,
y: -7.129411454545457,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.915755000000001,
y: -7.056684181818184,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.983956909090912,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.911229636363639,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.838502363636366,
layer: "top",
width: 0.6
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.838502363636366,
layer: "top",
width: 0.58
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.765775090909093,
layer: "top",
width: 0.58
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.765775090909093,
layer: "top",
width: 0.55
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.693047818181821,
layer: "top",
width: 0.55
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.693047818181821,
layer: "top",
width: 0.54
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.620320545454548,
layer: "top",
width: 0.54
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.5475932727272745,
layer: "top",
width: 0.54
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.5475932727272745,
layer: "top",
width: 0.535
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.474866000000002,
width: 0.535,
layer: "top"
},
{
route_type: "via",
x: 5.915755000000001,
y: -6.474866000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 5.915755000000001,
y: -6.474866000000002,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 5.985755000000001,
y: -6.474866000000002,
layer: "bottom",
width: 0.55
},
{
route_type: "wire",
x: 5.985755000000001,
y: -6.474866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.055755,
y: -6.474866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.125755000000001,
y: -6.474866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.195755,
y: -6.474866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.265755,
y: -6.474866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.335755000000001,
y: -6.474866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.405755,
y: -6.474866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.475755,
y: -6.474866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.545755,
y: -6.474866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 6.545755,
y: -6.474866000000002,
layer: "bottom",
width: 0.59
},
{
route_type: "wire",
x: 6.615755,
y: -6.474866000000002,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 6.615755,
y: -6.474866000000002,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 6.665755,
y: -6.524866000000002,
layer: "bottom",
width: 0.57
},
{
route_type: "wire",
x: 6.665755,
y: -6.524866000000002,
layer: "bottom",
width: 0.56
},
{
route_type: "wire",
x: 6.715755,
y: -6.574866000000002,
layer: "bottom",
width: 0.56
},
{
route_type: "wire",
x: 6.7657549999999995,
y: -6.624866000000002,
layer: "bottom",
width: 0.56
},
{
route_type: "wire",
x: 6.7657549999999995,
y: -6.624866000000002,
layer: "bottom",
width: 0.57
},
{
route_type: "wire",
x: 6.815754999999999,
y: -6.6748660000000015,
width: 0.57,
layer: "bottom"
},
{
route_type: "wire",
x: 6.815754999999999,
y: -6.6748660000000015,
width: 0.54,
layer: "bottom"
},
{
route_type: "wire",
x: 6.865755,
y: -6.6748660000000015,
width: 0.54,
layer: "bottom"
},
{
route_type: "wire",
x: 6.915755000000001,
y: -6.724866000000002,
width: 0.54,
layer: "bottom"
},
{
route_type: "wire",
x: 6.915755000000001,
y: -6.724866000000002,
width: 0.555,
layer: "bottom"
},
{
route_type: "wire",
x: 6.965755,
y: -6.724866000000002,
layer: "bottom",
width: 0.555
},
{
route_type: "wire",
x: 6.965755,
y: -6.724866000000002,
layer: "bottom",
width: 0.525
},
{
route_type: "wire",
x: 7.015754999999999,
y: -6.724866000000002,
width: 0.525,
layer: "bottom"
},
{
route_type: "wire",
x: 7.065754999999999,
y: -6.774866000000003,
width: 0.525,
layer: "bottom"
},
{
route_type: "wire",
x: 7.065754999999999,
y: -6.774866000000003,
width: 0.54,
layer: "bottom"
},
{
route_type: "wire",
x: 7.1407549999999995,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 7.215755,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 7.290754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 7.365754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 7.440754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 7.5157549999999995,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 7.590755,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 7.665754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 7.740754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 7.815754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 7.890754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 7.965754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.040754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.115755,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.190755,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.265754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.340755,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.415754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.490754999999998,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.565755,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.640754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.715754999999998,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.790754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.865754999999998,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 8.940755,
y: -6.774866000000003,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 9.015754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.090754999999998,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.165754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.165754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.240754999999998,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.315755,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.315755,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.390754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.465754999999998,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.540754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.540754999999999,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.615754999999998,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.615754999999998,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.690755,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.690755,
y: -6.774866000000003,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.765754999999999,
y: -6.774866000000003,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 9.815755,
y: -6.824866000000002,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 9.815755,
y: -6.824866000000002,
width: 0.5,
layer: "bottom"
},
{
route_type: "wire",
x: 9.890754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.890754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.965755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 9.965755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.040754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.040754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.115755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.115755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.190755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.190755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.265754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.265754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.340755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.415754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.490755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.565755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.565755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.640754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.640754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.715755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.715755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.790754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.790754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.865755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.865755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.940755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 10.940755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.015754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.090755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.165754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.240755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.315755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.390754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.465755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.540754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.615755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.690755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.765754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.840755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.915754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 11.990755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.065755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.140754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.215755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.290754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.365755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.440755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.515754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.590755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.665754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.740755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.815755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.815755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.890754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.890754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.965755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 12.965755,
y: -6.824866000000002,
layer: "bottom",
width: 0.5
},
{
route_type: "wire",
x: 13.040754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 13.040754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.535
},
{
route_type: "wire",
x: 13.115755,
y: -6.824866000000002,
layer: "bottom",
width: 0.535
},
{
route_type: "wire",
x: 13.115755,
y: -6.824866000000002,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 13.190755,
y: -6.824866000000002,
layer: "bottom",
width: 0.54
},
{
route_type: "wire",
x: 13.190755,
y: -6.824866000000002,
layer: "bottom",
width: 0.555
},
{
route_type: "wire",
x: 13.265754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.555
},
{
route_type: "wire",
x: 13.265754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.585
},
{
route_type: "wire",
x: 13.340755,
y: -6.824866000000002,
layer: "bottom",
width: 0.585
},
{
route_type: "wire",
x: 13.340755,
y: -6.824866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 13.415754999999999,
y: -6.824866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 13.490755,
y: -6.824866000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 13.565755,
y: -6.824866000000002,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 13.565755,
y: -6.824866000000002,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 13.615754999999996,
y: -6.874866000000003,
width: 0.59,
layer: "bottom"
},
{
route_type: "wire",
x: 13.689754999999996,
y: -6.874866000000003,
layer: "bottom",
width: 0.59
},
{
route_type: "wire",
x: 13.689754999999996,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 13.763754999999996,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 13.837754999999996,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 13.911754999999996,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 13.985754999999997,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.059754999999997,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.133754999999997,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.207754999999997,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.281754999999997,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.355754999999997,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.429754999999997,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.503754999999996,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.577754999999998,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.651754999999998,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.725754999999998,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.799754999999998,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.873754999999997,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 14.947754999999997,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.021754999999997,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.095754999999997,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.169754999999999,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.243754999999998,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.317754999999998,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.391754999999998,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.465754999999998,
y: -6.874866000000003,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 15.465754999999998,
y: -6.874866000000003,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 15.535754999999998,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.605754999999998,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.675754999999999,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.745754999999999,
y: -6.874866000000003,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.815755,
y: -6.874866000000003,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 15.868135952380952,
y: -6.82248504761905,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.920516904761904,
y: -6.770104095238098,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 15.972897857142856,
y: -6.717723142857145,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.025278809523808,
y: -6.665342190476193,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.077659761904762,
y: -6.612961238095241,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.130040714285713,
y: -6.5605802857142885,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.182421666666666,
y: -6.508199333333336,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.23480261904762,
y: -6.455818380952383,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.28718357142857,
y: -6.403437428571431,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.339564523809525,
y: -6.351056476190479,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.391945476190475,
y: -6.298675523809527,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.44432642857143,
y: -6.2462945714285745,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.49670738095238,
y: -6.193913619047622,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.549088333333334,
y: -6.141532666666669,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.601469285714288,
y: -6.089151714285717,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.653850238095238,
y: -6.036770761904765,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.706231190476192,
y: -5.984389809523813,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.758612142857142,
y: -5.93200885714286,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.810993095238096,
y: -5.879627904761907,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.863374047619047,
y: -5.827246952380955,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.915755,
y: -5.774866000000003,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 16.943836666666666,
y: -5.733244000000002,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 16.971918333333335,
y: -5.6916220000000015,
layer: "bottom",
width: 0.6
},
{
route_type: "wire",
x: 17,
y: -5.65,
width: 0.6,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_192_retained_46",
connection_name: "source_trace_180",
connectsTo: [
"pcb_port_171",
"pcb_port_342"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -13.375092,
layer: "top",
width: 0.35
},
{
route_type: "wire",
x: 7.165,
y: -13.375,
layer: "top",
width: 0.35
},
{
route_type: "wire",
x: 7.9568,
y: -13.375,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 8.504,
y: -13.75,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 8.504,
y: -13.75,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 8.448,
y: -14.0306,
width: 0.5,
layer: "top"
},
{
route_type: "via",
x: 8.448,
y: -14.0306,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.448,
y: -14.0306,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: 8.351199999999999,
y: -14.0306,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: 8.201199999999996,
y: -14.180599999999998,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: 7.851199999999999,
y: -14.180599999999998,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: 7.851199999999999,
y: -14.180599999999998,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 7.651199999999999,
y: -14.180599999999998,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 6.351199999999999,
y: -15.480599999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 6.301199999999998,
y: -15.480599999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 5.551199999999998,
y: -16.2306,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 5.501199999999997,
y: -16.2306,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 5.4511999999999965,
y: -16.2806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 5.351199999999999,
y: -16.2806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 4.651199999999999,
y: -16.9806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 4.601199999999999,
y: -16.9806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 4.501199999999997,
y: -17.0806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 4.4511999999999965,
y: -17.0806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 4.401199999999999,
y: -17.1306,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 4.001199999999997,
y: -17.1306,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 3.9511999999999965,
y: -17.0806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 3.9011999999999993,
y: -17.0806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 3.801199999999998,
y: -16.9806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 3.751199999999997,
y: -16.9806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: 0.5011999999999972,
y: -13.730599999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -0.4488000000000021,
y: -13.730599999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -0.4988000000000028,
y: -13.680599999999998,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -0.5988000000000007,
y: -13.680599999999998,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -0.6488000000000014,
y: -13.6306,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -0.6988000000000021,
y: -13.6306,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -0.7488000000000028,
y: -13.5806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -0.7988000000000035,
y: -13.5806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -0.9988000000000028,
y: -13.3806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0488000000000035,
y: -13.3806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -1.2988000000000035,
y: -13.1306,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -1.2988000000000035,
y: -12.0306,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -0.7488000000000028,
y: -11.480599999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -0.7488000000000028,
y: -11.430599999999998,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -1.3988000000000014,
y: -10.7806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -1.3988000000000014,
y: -7.980599999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -2.198800000000002,
y: -7.180599999999998,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -2.198800000000002,
y: -7.130599999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -2.248800000000003,
y: -7.080599999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -2.248800000000003,
y: -7.0306,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -2.2988000000000035,
y: -6.980599999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -2.2988000000000035,
y: -6.630599999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -1.448800000000002,
y: -5.7806,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -1.448800000000002,
y: -5.5306,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -1.4988000000000028,
y: -5.480599999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -1.4988000000000028,
y: -5.430599999999998,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -1.698800000000002,
y: -5.230599999999999,
width: 0.55,
layer: "bottom"
},
{
route_type: "wire",
x: -1.698800000000002,
y: -5.230599999999999,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: -1.7488000000000028,
y: -5.180599999999998,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: -1.7988000000000035,
y: -5.180599999999998,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: -1.8488000000000007,
y: -5.130599999999999,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: -2.0488000000000035,
y: -5.130599999999999,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: -2.098800000000004,
y: -5.080599999999999,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: -2.1488000000000014,
y: -5.080599999999999,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: -2.24,
y: -5.1517,
width: 0.35,
layer: "bottom"
},
{
route_type: "via",
x: -2.24,
y: -5.1517,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -2.24,
y: -5.1517,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: -3.4788,
y: -5.5,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: -3.4788,
y: -5.5,
width: 1,
layer: "top"
},
{
route_type: "wire",
x: -3.4787999999999997,
y: -5.5,
layer: "top",
width: 1
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_170_retained_47",
connection_name: "source_trace_158",
connectsTo: [
"pcb_port_265",
"pcb_port_263"
],
route: [
{
route_type: "wire",
x: 7.750062,
y: 14.5259568,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.75,
y: 15.511700000000001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.002222916018573,
y: 15.507135568972796,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.816057571254634,
y: 15.474302507400454,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.750064,
y: 14.5259568,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_169_retained_48",
connection_name: "source_trace_157",
connectsTo: [
"pcb_port_275",
"pcb_port_265"
],
route: [
{
route_type: "wire",
x: 6.750064,
y: 14.5259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.750063999999998,
y: 14.825956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.650064,
y: 14.925956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.650064,
y: 15.2759568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.600064,
y: 15.325956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.600064,
y: 15.425956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.500063999999998,
y: 15.5259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.500063999999998,
y: 15.5259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.450063999999998,
y: 15.575956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 6.450063999999998,
y: 15.575956799999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 6.450063999999998,
y: 15.575956799999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.450063999999998,
y: 15.5259568,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.350064,
y: 15.425956799999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.350064,
y: 15.425956799999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.800063999999999,
y: 14.875956799999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.800063999999999,
y: 14.875956799999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.600064,
y: 14.675956799999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.600064,
y: 13.125956799999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 5.600064,
y: 13.125956799999994,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 5.600064,
y: 13.125956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.600064,
y: 12.975956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.550063999999999,
y: 12.925956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.550063999999999,
y: 12.875956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.500063999999998,
y: 12.825956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.500063999999998,
y: 12.825956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.500063999999998,
y: 12.475956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.100064,
y: 12.075956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.000004000000001,
y: 12.000121,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_168_retained_49",
connection_name: "source_trace_156",
connectsTo: [
"pcb_port_266",
"pcb_port_264"
],
route: [
{
route_type: "wire",
x: 6.249938,
y: 14.5259568,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 6.25,
y: 13.6398,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 6.2515,
y: 13.6383,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.25,
y: 13.6383,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.249936,
y: 14.5259568,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_167__source_trace_168_retained_50",
connection_name: "source_trace_167__source_trace_168",
connectsTo: [
"pcb_port_274",
"pcb_port_266"
],
route: [
{
route_type: "wire",
x: 6.249938,
y: 14.5259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.249938,
y: 14.225956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.149938000000002,
y: 14.125956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.149938000000002,
y: 13.825956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.949938000000003,
y: 13.625956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.799938000000001,
y: 13.625956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.799938000000001,
y: 13.625956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.349938000000002,
y: 13.625956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.899938000000002,
y: 13.175956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.799938000000001,
y: 13.175956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.499938,
y: 12.875956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.499938,
y: 11.125956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.599938000000002,
y: 11.0259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.399938000000002,
y: 11.0259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.449938000000003,
y: 11.075956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.449938000000003,
y: 11.125956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.499938,
y: 11.175956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.499938,
y: 11.175956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.499938,
y: 11.375956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.849938000000002,
y: 11.725956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.849938000000002,
y: 11.825956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.899938000000002,
y: 11.875956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.000002,
y: 12.000121,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_166_retained_51",
connection_name: "source_trace_154",
connectsTo: [
"pcb_port_268",
"pcb_port_276"
],
route: [
{
route_type: "wire",
x: 5.24994,
y: 14.5259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.249939999999999,
y: 14.225956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.149940000000001,
y: 14.125956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.149940000000001,
y: 13.825956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.899940000000001,
y: 13.575956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.899940000000001,
y: 13.575956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.84994,
y: 13.575956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.749939999999999,
y: 13.475956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.699940000000002,
y: 13.475956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.649940000000001,
y: 13.425956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.59994,
y: 13.425956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.249939999999999,
y: 13.075956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.249939999999999,
y: 13.0259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.199940000000002,
y: 12.975956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.199940000000002,
y: 10.475956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.549939999999999,
y: 10.125956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 4.549939999999999,
y: 10.125956799999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 4.549939999999999,
y: 10.125956799999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.549939999999999,
y: 8.525956799999996,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 4.549939999999999,
y: 8.525956799999996,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 4.549939999999999,
y: 8.525956799999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.549939999999999,
y: 6.875956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.549939999999999,
y: 6.875956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.549939999999999,
y: 6.425956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.899940000000001,
y: 6.075956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.000004,
y: 6.000133,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_165_retained_52",
connection_name: "source_trace_153",
connectsTo: [
"pcb_port_262",
"pcb_port_277"
],
route: [
{
route_type: "wire",
x: 8.249934,
y: 14.5259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.249934,
y: 14.225956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.349934000000001,
y: 14.125956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.349934000000001,
y: 13.825956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.599934000000001,
y: 13.575956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.599934000000001,
y: 13.575956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.799934,
y: 13.375956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.999934,
y: 13.375956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.499934,
y: 12.875956799999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.499934,
y: 9.725956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.849934000000001,
y: 9.075956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.849934000000001,
y: 7.825956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.749934,
y: 7.725956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.749934,
y: 7.725956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.999934,
y: 6.975956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.599934000000001,
y: 6.975956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.549934,
y: 6.925956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.549934,
y: 6.875956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.499934,
y: 6.825956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.499934,
y: 6.825956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.499934,
y: 6.475956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.099934000000001,
y: 6.075956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.000001999999999,
y: 5.999879,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_163_retained_53",
connection_name: "source_trace_151",
connectsTo: [
"pcb_port_287",
"pcb_port_278"
],
route: [
{
route_type: "wire",
x: -13.99,
y: -0.09999999999999964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.84,
y: -0.09999999999999787,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.689999999999998,
y: -0.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.29,
y: -0.25,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -13.29,
y: -0.25,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -13.29,
y: -0.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.989999999999998,
y: 0.05000000000000071,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.989999999999998,
y: 0.05000000000000071,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.089999999999998,
y: 0.9500000000000028,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -8.04,
y: 0.9500000000000028,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.889999999999999,
y: 2.1000000000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.839999999999998,
y: 2.1000000000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.789999999999999,
y: 2.150000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.689999999999998,
y: 2.150000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.189999999999998,
y: 2.650000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.139999999999999,
y: 2.650000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.089999999999998,
y: 2.700000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.039999999999999,
y: 2.700000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.989999999999998,
y: 2.75,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.789999999999999,
y: 2.75,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.539999999999999,
y: 3,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.489999999999998,
y: 3,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.439999999999998,
y: 3.0500000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.389999999999999,
y: 3.0500000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.339999999999998,
y: 3.1000000000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.289999999999999,
y: 3.1000000000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.289999999999999,
y: 6.100000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -2.289999999999999,
y: 6.100000000000001,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -2.289999999999999,
y: 6.100000000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.09,
y: 6.100000000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.139999999999997,
y: 7.050000000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.0899999999999963,
y: 7.050000000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.0399999999999991,
y: 7.100000000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 7.760000000000002,
y: 7.100000000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 7.810000000000002,
y: 7.150000000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 7.810000000000002,
y: 7.150000000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 7.810000000000002,
y: 7.150000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.610000000000003,
y: 6.950000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.560000000000002,
y: 6.950000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.510000000000002,
y: 6.900000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.510000000000002,
y: 6.850000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.510000000000002,
y: 6.850000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.510000000000002,
y: 6.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.110000000000003,
y: 6.100000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7,
y: 5.999879,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_162__source_trace_164__source_trace_201__source_trace_300__source_trace_305__source_trace_310_retained_54",
connection_name: "source_trace_162__source_trace_164__source_trace_201__source_trace_300__source_trace_305__source_trace_310",
connectsTo: [
"pcb_port_254",
"pcb_port_282"
],
route: [
{
route_type: "wire",
x: 3.5,
y: 7.7749999999999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.5,
y: 7.625,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.3500000000000014,
y: 7.474999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.3500000000000014,
y: 7.175000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.0500000000000007,
y: 6.875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.0500000000000007,
y: 6.875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.8000000000000007,
y: 6.625,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.8000000000000007,
y: 5.474999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.6000000000000014,
y: 5.274999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 2.6000000000000014,
y: 5.274999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 2.6000000000000014,
y: 5.274999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 2.6000000000000014,
y: 4.524999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.9500000000000028,
y: 3.875,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.7000000000000028,
y: 3.875,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.6500000000000021,
y: 3.8249999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.6000000000000014,
y: 3.8249999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.4500000000000028,
y: 3.6750000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.4500000000000028,
y: 3.5749999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.4000000000000021,
y: 3.5249999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.4000000000000021,
y: 2.724999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.4000000000000021,
y: 2.724999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.4000000000000021,
y: 2.625,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.1000000000000014,
y: 2.3249999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.1000000000000014,
y: 1.625,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1,
y: 1.5249999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1,
y: 1.4749999999999979,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.9500000000000028,
y: 1.4250000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.9500000000000028,
y: 1.125,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.8000000000000007,
y: 0.9749999999999979,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 0.8000000000000007,
y: 0.9749999999999979,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.8000000000000007,
y: 0.9749999999999979,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.8000000000000007,
y: 1.0249999999999986,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.8000000000000007,
y: 1.0249999999999986,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.8000000000000007,
y: 1.875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.76,
y: 2,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_164_retained_55",
connection_name: "source_trace_152",
connectsTo: [
"pcb_port_282",
"pcb_port_271"
],
route: [
{
route_type: "wire",
x: 8.999996000000001,
y: 12.000121,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.449996000000006,
y: 11.050120999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.149996000000005,
y: 10.200120999999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.5,
y: 7.7749999999999995,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_162_retained_56",
connection_name: "source_trace_150",
connectsTo: [
"pcb_port_285",
"pcb_port_271"
],
route: [
{
route_type: "wire",
x: 0.5000000000000001,
y: 18.4625,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 0.5,
y: 17.7133,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -0.0414,
y: 17.7133,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -0.3564,
y: 17.3983,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: -0.3564,
y: 17.3983,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.3564,
y: 17.3983,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -0.3564,
y: 16.3811,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: 6.9807,
y: 9.0441,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: 8.82,
y: 10.8834,
layer: "inner2",
width: 0.15
},
{
route_type: "via",
x: 8.82,
y: 10.8834,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.82,
y: 10.8834,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 9,
y: 11.0634,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 9,
y: 12.0001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 8.999996,
y: 12.000121,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 8.999996000000001,
y: 12.000121,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_155_retained_57",
connection_name: "source_trace_143",
connectsTo: [
"pcb_port_295",
"pcb_port_293"
],
route: [
{
route_type: "wire",
x: 0.7500000000000001,
y: 7.6375,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: 0.45000000000000284,
y: 7.637499999999999,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: 0.3500000000000014,
y: 7.537499999999998,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: 0.05000000000000071,
y: 7.537499999999998,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -0.3999999999999986,
y: 7.087499999999999,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -0.3999999999999986,
y: 7.087499999999999,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -0.8499999999999979,
y: 6.637499999999999,
width: 0.6,
layer: "top"
},
{
route_type: "via",
x: -0.8499999999999979,
y: 6.637499999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.8499999999999979,
y: 6.637499999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -1.7999999999999972,
y: 7.587499999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -1.8499999999999979,
y: 7.587499999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.5500000000000007,
y: 6.887499999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.8999999999999986,
y: 6.887499999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -3.3999999999999986,
y: 6.387499999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -4.300000000000001,
y: 6.387499999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -4.399999999999999,
y: 6.287499999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -4.449999999999999,
y: 6.287499999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -4.5,
y: 6.237499999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -4.699999999999999,
y: 6.237499999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -4.75,
y: 6.1875,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -4.849999999999998,
y: 6.1875,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -4.949999999999999,
y: 6.087499999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -5,
y: 6.087499999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -5.399999999999999,
y: 5.6875,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -5.449999999999999,
y: 5.6875,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -5.649999999999999,
y: 5.487499999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -5.649999999999999,
y: 5.487499999999997,
width: 0.3,
layer: "bottom"
},
{
route_type: "wire",
x: -5.699999999999999,
y: 5.4375,
width: 0.3,
layer: "bottom"
},
{
route_type: "wire",
x: -5.699999999999999,
y: 5.237499999999997,
width: 0.3,
layer: "bottom"
},
{
route_type: "via",
x: -5.699999999999999,
y: 5.237499999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -5.699999999999999,
y: 5.237499999999997,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -5.699999999999999,
y: 4.387499999999999,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -5.649999999999999,
y: 4.337499999999999,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -5.5576,
y: 4.25,
width: 0.3,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_153__source_trace_156__source_trace_160__source_trace_161__source_trace_280_retained_58",
connection_name: "source_trace_153__source_trace_156__source_trace_160__source_trace_161__source_trace_280",
connectsTo: [
"pcb_port_284",
"pcb_port_269"
],
route: [
{
route_type: "wire",
x: 4.5998397,
y: 14.525855199999999,
width: 0.305,
layer: "top"
},
{
route_type: "wire",
x: 4.800000000000001,
y: 15.4,
width: 0.305,
layer: "top"
},
{
route_type: "wire",
x: 4.800000000000001,
y: 16.2,
width: 0.305,
layer: "top"
},
{
route_type: "wire",
x: 4.800000000000001,
y: 16.2,
width: 0.4,
layer: "top"
},
{
route_type: "wire",
x: 4.6000000000000005,
y: 16.599999999999998,
width: 0.4,
layer: "top"
},
{
route_type: "wire",
x: 4.6000000000000005,
y: 16.599999999999998,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 3.9000000000000004,
y: 16.699999999999996,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 3.9000000000000004,
y: 16.699999999999996,
width: 0.67,
layer: "top"
},
{
route_type: "wire",
x: 3.2,
y: 16.799999999999997,
width: 0.67,
layer: "top"
},
{
route_type: "wire",
x: 2.475,
y: 16.824999999999996,
width: 0.67,
layer: "top"
},
{
route_type: "wire",
x: 2.475,
y: 16.824999999999996,
width: 0.725,
layer: "top"
},
{
route_type: "wire",
x: 1.75,
y: 16.849999999999998,
width: 0.725,
layer: "top"
},
{
route_type: "wire",
x: 1.75,
y: 16.849999999999998,
width: 0.8,
layer: "top"
},
{
route_type: "wire",
x: 1.3761375,
y: 15.997562499999999,
width: 0.8,
layer: "top"
},
{
route_type: "wire",
x: 0.952275,
y: 15.395125,
width: 0.8,
layer: "top"
},
{
route_type: "wire",
x: 0.5,
y: 15.8474,
layer: "top",
width: 0.8
},
{
route_type: "wire",
x: 0.4999999999999999,
y: 15.5375,
layer: "top",
width: 0.8
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_153_retained_59",
connection_name: "source_trace_141",
connectsTo: [
"pcb_port_269",
"pcb_port_260"
],
route: [
{
route_type: "wire",
x: 9.3999571,
y: 14.526020299999999,
layer: "top",
width: 0.55
},
{
route_type: "wire",
x: 9.4,
y: 15.136700000000001,
layer: "top",
width: 0.55
},
{
route_type: "wire",
x: 9.4,
y: 15.136700000000001,
layer: "top",
width: 0.305
},
{
route_type: "wire",
x: 9.2,
y: 15.400000000000002,
width: 0.305,
layer: "top"
},
{
route_type: "wire",
x: 9.2,
y: 15.600000000000001,
width: 0.305,
layer: "top"
},
{
route_type: "wire",
x: 9.2,
y: 15.600000000000001,
width: 0.39,
layer: "top"
},
{
route_type: "wire",
x: 8.7443,
y: 15.7924,
width: 0.39,
layer: "top"
},
{
route_type: "wire",
x: 8.7443,
y: 15.7924,
width: 0.62,
layer: "top"
},
{
route_type: "wire",
x: 8.225,
y: 16.45,
width: 0.62,
layer: "top"
},
{
route_type: "wire",
x: 8.225,
y: 16.45,
width: 0.8,
layer: "top"
},
{
route_type: "wire",
x: 7.174999999999999,
y: 16.45,
width: 0.8,
layer: "top"
},
{
route_type: "wire",
x: 6.523899999999999,
y: 16.3308,
width: 0.8,
layer: "top"
},
{
route_type: "wire",
x: 6.523899999999999,
y: 16.3308,
width: 0.62,
layer: "top"
},
{
route_type: "wire",
x: 5.2217,
y: 15.7924,
width: 0.62,
layer: "top"
},
{
route_type: "wire",
x: 5.2217,
y: 15.7924,
width: 0.4,
layer: "top"
},
{
route_type: "wire",
x: 5,
y: 15.800000000000002,
width: 0.4,
layer: "top"
},
{
route_type: "wire",
x: 5,
y: 15.800000000000002,
width: 0.305,
layer: "top"
},
{
route_type: "wire",
x: 4.8,
y: 15.400000000000002,
width: 0.305,
layer: "top"
},
{
route_type: "wire",
x: 4.6,
y: 15.1707,
width: 0.305,
layer: "top"
},
{
route_type: "wire",
x: 4.6,
y: 15.1707,
width: 0.5,
layer: "top"
},
{
route_type: "wire",
x: 4.5998397,
y: 14.525855199999999,
layer: "top",
width: 0.5
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_153__source_trace_156__source_trace_160__source_trace_161__source_trace_280_retained_60",
connection_name: "source_trace_153__source_trace_156__source_trace_160__source_trace_161__source_trace_280",
connectsTo: [
"pcb_port_320",
"pcb_port_284"
],
route: [
{
route_type: "wire",
x: 0.4999999999999999,
y: 15.5375,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: 0.40000000000000213,
y: 15.850000000000003,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -0.34999999999999787,
y: 15.100000000000003,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -0.34999999999999787,
y: 15.100000000000003,
width: 0.8,
layer: "top"
},
{
route_type: "wire",
x: -0.3999999999999986,
y: 15.049999999999999,
width: 0.8,
layer: "top"
},
{
route_type: "wire",
x: -0.5999999999999979,
y: 14.450000000000003,
width: 0.8,
layer: "top"
},
{
route_type: "via",
x: -0.5999999999999979,
y: 14.450000000000003,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.5999999999999979,
y: 14.450000000000003,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -0.5999999999999979,
y: 14.149999999999999,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -0.6499999999999986,
y: 14.100000000000001,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -0.6499999999999986,
y: 14.050000000000004,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -0.6999999999999993,
y: 14,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -0.6999999999999993,
y: 13.950000000000003,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -0.75,
y: 13.899999999999999,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -0.75,
y: 13.850000000000001,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -0.8499999999999979,
y: 13.75,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -0.8499999999999979,
y: 13.700000000000003,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -0.8999999999999986,
y: 13.649999999999999,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -0.9499999999999993,
y: 13.649999999999999,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0499999999999972,
y: 13.550000000000004,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0999999999999979,
y: 13.550000000000004,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1499999999999986,
y: 13.5,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1999999999999993,
y: 13.5,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -1.25,
y: 13.450000000000003,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -1.2999999999999972,
y: 13.450000000000003,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -1.3499999999999979,
y: 13.399999999999999,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -1.6499999999999986,
y: 13.399999999999999,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -3.0500000000000007,
y: 12,
width: 0.8,
layer: "bottom"
},
{
route_type: "wire",
x: -4.899999999999999,
y: 12,
width: 0.8,
layer: "bottom"
},
{
route_type: "via",
x: -4.899999999999999,
y: 12,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.899999999999999,
y: 12,
width: 0.8,
layer: "top"
},
{
route_type: "wire",
x: -5.049999999999999,
y: 12.149999999999999,
width: 0.8,
layer: "top"
},
{
route_type: "wire",
x: -5.5,
y: 12.149999999999999,
width: 0.8,
layer: "top"
},
{
route_type: "wire",
x: -5.5,
y: 12.149999999999999,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -5.549999999999999,
y: 12.149999999999999,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -5.649999999999999,
y: 12.25,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -6.75,
y: 12.25,
width: 0.3,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_153__source_trace_156__source_trace_160__source_trace_161__source_trace_280_retained_61",
connection_name: "source_trace_153__source_trace_156__source_trace_160__source_trace_161__source_trace_280",
connectsTo: [
"pcb_port_320",
"pcb_port_294"
],
route: [
{
route_type: "wire",
x: 0.7499999999999999,
y: 3.3625,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: 0.6500000000000021,
y: 3.450000000000003,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -0.09999999999999787,
y: 4.200000000000003,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -0.09999999999999787,
y: 4.25,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -0.09999999999999787,
y: 4.25,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -0.09999999999999787,
y: 5.25,
width: 0.6,
layer: "top"
},
{
route_type: "via",
x: -0.09999999999999787,
y: 5.25,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.09999999999999787,
y: 5.25,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -0.09999999999999787,
y: 6.800000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -0.14999999999999858,
y: 6.850000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -0.14999999999999858,
y: 6.950000000000003,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -0.1999999999999993,
y: 7,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -0.1999999999999993,
y: 7.050000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -1.3999999999999986,
y: 8.25,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -1.4499999999999993,
y: 8.25,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -1.5,
y: 8.3,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -1.6999999999999993,
y: 8.3,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -1.75,
y: 8.350000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -3,
y: 8.350000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -5.25,
y: 10.600000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "via",
x: -5.25,
y: 10.600000000000001,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -5.25,
y: 10.600000000000001,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -5.899999999999999,
y: 11.25,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -5.899999999999999,
y: 11.25,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -6.75,
y: 12.100000000000001,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -6.75,
y: 12.25,
width: 0.3,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_153__source_trace_156__source_trace_160__source_trace_161__source_trace_280_retained_62",
connection_name: "source_trace_153__source_trace_156__source_trace_160__source_trace_161__source_trace_280",
connectsTo: [
"pcb_port_286",
"pcb_port_294"
],
route: [
{
route_type: "wire",
x: 0.7499999999999999,
y: 3.3625,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.8400000000000034,
y: 3.450000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.1900000000000048,
y: 3.8000000000000007,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.175,
y: 4.3,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 1.175,
y: 4.3,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 1.175,
y: 4.3,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.059999999999997,
y: 4.300000000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.109999999999998,
y: 4.25,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.209999999999997,
y: 4.25,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.459999999999997,
y: 4,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.459999999999997,
y: 4,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.509999999999998,
y: 3.950000000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.559999999999997,
y: 3.950000000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.609999999999998,
y: 3.900000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.659999999999998,
y: 3.900000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.159999999999998,
y: 3.400000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -14.359999999999998,
y: 3.400000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -14.359999999999998,
y: 3.400000000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -14.359999999999998,
y: 3.400000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.059999999999999,
y: 2.700000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.159999999999997,
y: 2.700000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.259999999999998,
y: 2.6000000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.309999999999999,
y: 2.6000000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.509999999999998,
y: 2.400000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.509999999999998,
y: 1.9500000000000028,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.459999999999997,
y: 1.9000000000000021,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.459999999999997,
y: 1.8500000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.009999999999998,
y: 1.4000000000000021,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.01,
y: -0.09999999999999964,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_203_retained_63",
connection_name: "source_trace_191",
connectsTo: [
"pcb_port_248",
"pcb_port_184"
],
route: [
{
route_type: "wire",
x: -1.51,
y: -15.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5100000000000016,
y: -15.45,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.4100000000000001,
y: -15.35,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.4100000000000001,
y: -15.05,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.3599999999999994,
y: -15,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.3599999999999994,
y: -14.95,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -1.3599999999999994,
y: -14.95,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -1.3599999999999994,
y: -14.95,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.3599999999999994,
y: -12.299999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.5599999999999987,
y: -11.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.5599999999999987,
y: -11.45,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.46000000000000085,
y: -11.35,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.46000000000000085,
y: -10.35,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.26000000000000156,
y: -10.149999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.26000000000000156,
y: -10.1,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.21000000000000085,
y: -10.049999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.21000000000000085,
y: -10,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.10999999999999943,
y: -9.899999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.05999999999999872,
y: -9.899999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.19000000000000128,
y: -9.649999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.19000000000000128,
y: -9.549999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 0.19000000000000128,
y: -9.549999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.19000000000000128,
y: -9.549999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.48999999999999844,
y: -9.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.1900000000000013,
y: -9.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.3399999999999999,
y: -9.399999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.4342450000000007,
y: -9.474922,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_152_retained_64",
connection_name: "source_trace_140",
connectsTo: [
"pcb_port_69",
"pcb_port_184"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -5.450025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.3500640000000015,
y: -5.450025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.250064000000002,
y: -5.3500250000000005,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.150064,
y: -5.3500250000000005,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.000064000000002,
y: -5.200025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.850064,
y: -5.200025,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -4.850064,
y: -5.200025,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.850064,
y: -5.200025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.5500640000000026,
y: -5.200025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.750064000000002,
y: -6.000025000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.750064000000002,
y: -7.000025000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.700064000000001,
y: -7.050025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.700064000000001,
y: -7.1000250000000005,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.5500640000000026,
y: -7.250025000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.5500640000000026,
y: -7.300025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.450064000000001,
y: -7.400024999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.450064000000001,
y: -7.700025,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -3.450064000000001,
y: -7.700025,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -3.450064000000001,
y: -7.700025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.3500639999999997,
y: -7.6000250000000005,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.3000640000000026,
y: -7.6000250000000005,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.000064000000002,
y: -7.300025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1.2500640000000018,
y: -7.300025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.15006400000000042,
y: -8.400025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.15006400000000042,
y: -8.650025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.10006399999999971,
y: -8.700025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.10006399999999971,
y: -8.750025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.04993599999999887,
y: -8.900025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.09993599999999958,
y: -8.900025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.1499360000000003,
y: -8.950025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.29993599999999887,
y: -8.950025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.49993599999999816,
y: -9.150025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.49993599999999816,
y: -9.250025,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.19000000000000128,
y: -9.549999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 0.19000000000000128,
y: -9.549999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.19000000000000128,
y: -9.549999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.5499359999999989,
y: -9.200025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.199936000000001,
y: -9.200025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.3499359999999996,
y: -9.350025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.4342450000000007,
y: -9.474922,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_151__source_net_4_retained_65",
connection_name: "source_trace_151__source_net_4",
connectsTo: [
"pcb_port_251",
"pcb_port_68"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -5.850075,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.800039999999997,
y: -5.899985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.900039999999997,
y: -5.899985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.050039999999997,
y: -5.749985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.200039999999998,
y: -5.749985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.2500399999999985,
y: -5.699985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.300039999999997,
y: -5.699985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.350039999999998,
y: -5.649985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.5000399999999985,
y: -5.649985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -6.5000399999999985,
y: -5.649985000000003,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.5000399999999985,
y: -5.649985000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.550039999999997,
y: -5.699985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.600039999999998,
y: -5.699985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.650039999999997,
y: -5.749985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.7500399999999985,
y: -5.749985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.150039999999997,
y: -6.149985000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.150039999999997,
y: -6.149985000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.450039999999998,
y: -6.449985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.100039999999998,
y: -6.449985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.150039999999997,
y: -6.499985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.200039999999998,
y: -6.499985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.250039999999998,
y: -6.549985000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.300039999999997,
y: -6.549985000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.450039999999998,
y: -6.699985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.950039999999998,
y: -6.699985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.000039999999998,
y: -6.749985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -10.000039999999998,
y: -6.749985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -10.150039999999997,
y: -6.899985000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -10.550039999999997,
y: -6.899985000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -10.600039999999998,
y: -6.949985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -10.650039999999997,
y: -6.949985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -10.950039999999998,
y: -7.249985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -16.400039999999997,
y: -7.249985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -16.450039999999998,
y: -7.299985000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -16.50004,
y: -7.299985000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -16.60004,
y: -7.399985000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -16.60004,
y: -7.449985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -16.700039999999998,
y: -7.549985000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -16.700039999999998,
y: -8.949985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -17.200039999999998,
y: -9.449985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -17.200039999999998,
y: -9.449985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -17.35004,
y: -9.599985000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -17.35004,
y: -9.599985000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -17.35004,
y: -9.599985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.35004,
y: -10.799985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.400039999999997,
y: -10.849985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.400039999999997,
y: -10.899985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.450039999999998,
y: -10.949985000000002,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_213__source_net_4_retained_66",
connection_name: "source_trace_213__source_net_4",
connectsTo: [
"pcb_port_251",
"pcb_port_314"
],
route: [
{
route_type: "wire",
x: 1.24,
y: -17.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.1499600000000036,
y: -17.849985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.7999600000000022,
y: -18.199985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.2999600000000022,
y: -18.199985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.24996000000000151,
y: -18.249985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.19996000000000436,
y: -18.249985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.19996000000000436,
y: -18.299985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.14996000000000365,
y: -18.349985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.14996000000000365,
y: -18.849985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.7500399999999985,
y: -20.749985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.250039999999998,
y: -20.749985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.300039999999997,
y: -20.699985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.350039999999998,
y: -20.699985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.400039999999997,
y: -20.649985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.450039999999998,
y: -20.649985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.550039999999997,
y: -18.549985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.650039999999999,
y: -18.549985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.700039999999998,
y: -18.499985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.00004,
y: -18.499985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.05004,
y: -18.449985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.25004,
y: -18.449985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.30004,
y: -18.399985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.400039999999997,
y: -18.399985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.450039999999998,
y: -18.349985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.55004,
y: -18.349985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.60004,
y: -18.299985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.700039999999998,
y: -18.299985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.75004,
y: -18.249985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.80004,
y: -18.249985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.85004,
y: -18.199985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.900039999999997,
y: -18.199985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.950039999999998,
y: -18.149985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.00004,
y: -18.149985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.05004,
y: -18.099985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.10004,
y: -18.099985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.200039999999998,
y: -17.999985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.25004,
y: -17.999985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.400039999999997,
y: -17.849985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.450039999999998,
y: -17.849985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.85004,
y: -17.449985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.85004,
y: -17.399985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.00004,
y: -17.249985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.00004,
y: -17.199985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.10004,
y: -17.099985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.10004,
y: -17.049985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.150039999999997,
y: -16.999985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.150039999999997,
y: -16.949985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.200039999999998,
y: -16.899985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.200039999999998,
y: -16.849985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.25004,
y: -16.799985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.25004,
y: -16.749985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.30004,
y: -16.699985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.30004,
y: -16.599985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.35004,
y: -16.549985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.35004,
y: -16.449985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.400039999999997,
y: -16.399985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.400039999999997,
y: -16.299985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.450039999999998,
y: -16.249985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.450039999999998,
y: -16.049985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.50004,
y: -15.999985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.50004,
y: -14.999985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.450039999999998,
y: -14.949985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.450039999999998,
y: -14.749985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.400039999999997,
y: -14.699985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.400039999999997,
y: -14.599985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.35004,
y: -14.549985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.35004,
y: -14.449985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.30004,
y: -14.399985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.30004,
y: -14.299985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.25004,
y: -14.249985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.25004,
y: -14.199985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.200039999999998,
y: -14.149985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.200039999999998,
y: -14.099985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.150039999999997,
y: -14.049985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.150039999999997,
y: -13.999985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.10004,
y: -13.949985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.10004,
y: -13.899985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.00004,
y: -13.799985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.00004,
y: -13.749985000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.85004,
y: -13.599985000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.85004,
y: -13.549985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.450039999999998,
y: -13.149985000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -17.450039999999998,
y: -10.949985000000002,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_3_retained_67",
connection_name: "source_net_3",
connectsTo: [
"pcb_port_165",
"pcb_port_182"
],
route: [
{
route_type: "wire",
x: -4.8,
y: -7.00045,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -4.8,
y: -7.00045,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.45,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.8,
y: -7.00045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.425000000000001,
y: -6.625450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.425000000000001,
y: -6.625450000000001,
width: 0.14,
layer: "bottom"
},
{
route_type: "wire",
x: -4.425000000000001,
y: -6.150449999999999,
width: 0.14,
layer: "bottom"
},
{
route_type: "wire",
x: -4.425000000000001,
y: -6.150449999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.574999999999999,
y: -6.000450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.574999999999999,
y: -6.000450000000001,
width: 0.145,
layer: "bottom"
},
{
route_type: "wire",
x: -4.599999999999998,
y: -6.000450000000001,
width: 0.145,
layer: "bottom"
},
{
route_type: "wire",
x: -4.625,
y: -5.97545,
width: 0.145,
layer: "bottom"
},
{
route_type: "wire",
x: -4.625,
y: -5.97545,
width: 0.135,
layer: "bottom"
},
{
route_type: "wire",
x: -4.649999999999999,
y: -5.97545,
width: 0.135,
layer: "bottom"
},
{
route_type: "wire",
x: -4.675000000000001,
y: -5.95045,
width: 0.135,
layer: "bottom"
},
{
route_type: "wire",
x: -4.675000000000001,
y: -5.95045,
width: 0.14,
layer: "bottom"
},
{
route_type: "wire",
x: -4.699999999999999,
y: -5.95045,
width: 0.14,
layer: "bottom"
},
{
route_type: "wire",
x: -4.724999999999998,
y: -5.92545,
width: 0.14,
layer: "bottom"
},
{
route_type: "wire",
x: -4.724999999999998,
y: -5.92545,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.75,
y: -5.92545,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.199999999999999,
y: -5.47545,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.199999999999999,
y: -5.45045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.225,
y: -5.42545,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.225,
y: -5.42545,
width: 0.14,
layer: "bottom"
},
{
route_type: "wire",
x: -5.225,
y: -5.400449999999999,
width: 0.14,
layer: "bottom"
},
{
route_type: "wire",
x: -5.25,
y: -5.375450000000001,
width: 0.14,
layer: "bottom"
},
{
route_type: "wire",
x: -5.25,
y: -5.375450000000001,
width: 0.145,
layer: "bottom"
},
{
route_type: "wire",
x: -5.25,
y: -5.35045,
width: 0.145,
layer: "bottom"
},
{
route_type: "wire",
x: -5.274999999999999,
y: -5.32545,
width: 0.145,
layer: "bottom"
},
{
route_type: "wire",
x: -5.274999999999999,
y: -5.32545,
width: 0.135,
layer: "bottom"
},
{
route_type: "wire",
x: -5.274999999999999,
y: -5.05045,
width: 0.135,
layer: "bottom"
},
{
route_type: "wire",
x: -5.274999999999999,
y: -5.05045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.274999999999999,
y: -5.05045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.274999999999999,
y: -5.000450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.25,
y: -4.975449999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.25,
y: -4.95045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.1,
y: -4.800450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.074999999999999,
y: -4.800450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.049999999999999,
y: -4.775449999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5,
y: -4.775449999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.974999999999998,
y: -4.750450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.4499999999999993,
y: -4.750450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.4250000000000007,
y: -4.725449999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.375,
y: -4.725449999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.349999999999998,
y: -4.70045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2,
y: -4.70045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.9749999999999979,
y: -4.725449999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.9250000000000007,
y: -4.725449999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.8999999999999986,
y: -4.750450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.5999999999999979,
y: -4.750450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.5749999999999993,
y: -4.775449999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.5249999999999986,
y: -4.775449999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.5,
y: -4.800450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.4749999999999979,
y: -4.800450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.4499999999999993,
y: -4.82545,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.4249999999999972,
y: -4.82545,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.375,
y: -4.875450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.3499999999999979,
y: -4.875450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1499999999999986,
y: -5.07545,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1499999999999986,
y: -5.10045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0749999999999993,
y: -5.17545,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0749999999999993,
y: -5.20045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0499999999999972,
y: -5.22545,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0499999999999972,
y: -5.250450000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0249999999999986,
y: -5.275449999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0249999999999986,
y: -5.30045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1,
y: -5.32545,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1,
y: -5.35045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.25,
y: -6.60045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.25,
y: -6.60045,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.375,
y: -6.72545,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 0.375,
y: -6.72545,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.375,
y: -6.72545,
width: 0.145,
layer: "top"
},
{
route_type: "wire",
x: 0.8250000000000028,
y: -7.17545,
width: 0.145,
layer: "top"
},
{
route_type: "wire",
x: 0.8250000000000028,
y: -7.17545,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: 2.2250000000000014,
y: -7.17545,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: 2.25,
y: -7.20045,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: 2.3000000000000007,
y: -7.20045,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: 2.3000000000000007,
y: -7.20045,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.3500000000000014,
y: -7.250450000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.375,
y: -7.250450000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.400000000000002,
y: -7.275449999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.400000000000002,
y: -7.30045,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.450000000000003,
y: -7.35045,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.450000000000003,
y: -7.35045,
width: 0.135,
layer: "top"
},
{
route_type: "wire",
x: 2.450000000000003,
y: -7.400449999999999,
width: 0.135,
layer: "top"
},
{
route_type: "wire",
x: 2.4750000000000014,
y: -7.42545,
width: 0.135,
layer: "top"
},
{
route_type: "wire",
x: 2.4750000000000014,
y: -7.42545,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: 2.4750000000000014,
y: -7.625450000000001,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: 2.4750000000000014,
y: -7.625450000000001,
width: 0.135,
layer: "top"
},
{
route_type: "wire",
x: 2.450000000000003,
y: -7.650449999999999,
width: 0.135,
layer: "top"
},
{
route_type: "wire",
x: 2.450000000000003,
y: -7.70045,
width: 0.135,
layer: "top"
},
{
route_type: "wire",
x: 2.450000000000003,
y: -7.70045,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.400000000000002,
y: -7.750450000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.400000000000002,
y: -7.775449999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.400000000000002,
y: -7.775449999999999,
width: 0.145,
layer: "top"
},
{
route_type: "wire",
x: 2.375,
y: -7.775449999999999,
width: 0.145,
layer: "top"
},
{
route_type: "wire",
x: 2.3000000000000007,
y: -7.85045,
width: 0.145,
layer: "top"
},
{
route_type: "wire",
x: 2.3000000000000007,
y: -7.85045,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: 2.25,
y: -7.85045,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: 2.2250000000000014,
y: -7.875450000000001,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: 2.2250000000000014,
y: -7.875450000000001,
width: 0.145,
layer: "top"
},
{
route_type: "wire",
x: 1.7250000000000014,
y: -7.875450000000001,
width: 0.145,
layer: "top"
},
{
route_type: "wire",
x: 1.4750000000000014,
y: -8.12545,
width: 0.145,
layer: "top"
},
{
route_type: "wire",
x: 1.4750000000000014,
y: -8.12545,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.4342450000000007,
y: -8.174949999999999,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_2_retained_68",
connection_name: "source_net_2",
connectsTo: [
"pcb_port_163",
"pcb_port_186"
],
route: [
{
route_type: "wire",
x: -4.05,
y: -7.45055,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: -4.05,
y: -7.45055,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.45,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.05,
y: -7.45055,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -4.05,
y: -6.6314,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -3.6964,
y: -6.2778,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: 1.9628,
y: -6.2778,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: 3.1521,
y: -7.4671,
layer: "inner1",
width: 0.15
},
{
route_type: "via",
x: 3.1521,
y: -7.4671,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 3.1521,
y: -7.4671,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 2.4867,
y: -8.1325,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 2.4867,
y: -10.2976,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 2.0093,
y: -10.775,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 1.435,
y: -10.775,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 1.4342450000000007,
y: -10.774894,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_1_retained_69",
connection_name: "source_net_1",
connectsTo: [
"pcb_port_161",
"pcb_port_188"
],
route: [
{
route_type: "wire",
x: -4.8,
y: -7.90065,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -4.8,
y: -7.90065,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.45,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.8,
y: -7.90065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.800000000000001,
y: -7.650649999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.199999999999999,
y: -7.25065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.199999999999999,
y: -7.2006499999999996,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.25,
y: -7.150649999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.25,
y: -7.00065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.25,
y: -7.00065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.25,
y: -6.60065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.299999999999999,
y: -6.550649999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.299999999999999,
y: -6.150649999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.25,
y: -6.10065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.25,
y: -6.050649999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.149999999999999,
y: -5.9506499999999996,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.1,
y: -5.9506499999999996,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -5.049999999999999,
y: -5.900649999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.649999999999999,
y: -5.900649999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.599999999999998,
y: -5.9506499999999996,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.550000000000001,
y: -5.9506499999999996,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.5,
y: -6.00065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.1000000000000014,
y: -6.00065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.150000000000002,
y: -6.050649999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.200000000000003,
y: -6.050649999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.150000000000002,
y: -7.00065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.3000000000000007,
y: -7.00065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.3500000000000014,
y: -7.050649999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.400000000000002,
y: -7.050649999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.450000000000003,
y: -7.10065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.5,
y: -7.10065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.5,
y: -7.150649999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.6000000000000014,
y: -7.25065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.6000000000000014,
y: -8.50065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.75,
y: -11.35065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.75,
y: -11.35065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.6500000000000021,
y: -11.45065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.6500000000000021,
y: -11.45065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.5500000000000007,
y: -11.55065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.5,
y: -11.55065,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.25,
y: -11.80065,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 0.25,
y: -11.80065,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.25,
y: -11.80065,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.5,
y: -11.80065,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.5,
y: -11.80065,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.2000000000000028,
y: -11.80065,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.3500000000000014,
y: -11.95065,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.4342450000000007,
y: -12.074866,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_139_retained_70",
connection_name: "source_trace_127",
connectsTo: [
"pcb_port_236",
"pcb_port_187"
],
route: [
{
route_type: "wire",
x: 1.4342450000000007,
y: -11.42488,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.3500000000000014,
y: -11.459999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.5500000000000007,
y: -11.459999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.25,
y: -11.159999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 0.25,
y: -11.159999999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.25,
y: -11.159999999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.10000000000000142,
y: -11.309999999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0,
y: -11.309999999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.1999999999999993,
y: -11.509999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.25,
y: -11.509999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.29999999999999716,
y: -11.559999999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.29999999999999716,
y: -12.809999999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.4499999999999993,
y: -12.959999999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -0.4499999999999993,
y: -12.959999999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.4499999999999993,
y: -12.959999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.4499999999999993,
y: -12.759999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.5,
y: -12.709999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.5,
y: -12.659999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.4499999999999993,
y: -12.609999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.4499999999999993,
y: -12.459999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.5,
y: -12.409999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.5,
y: -12.26,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_139__source_trace_150_retained_71",
connection_name: "source_trace_139__source_trace_150",
connectsTo: [
"pcb_port_66",
"pcb_port_236"
],
route: [
{
route_type: "wire",
x: -0.5,
y: -12.26,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.45006400000000113,
y: -12.349921,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.45006400000000113,
y: -12.449921000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.4000640000000004,
y: -12.499921,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.4000640000000004,
y: -12.649921,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.45006400000000113,
y: -12.699921000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.45006400000000113,
y: -12.749921,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.4000640000000004,
y: -12.799921000000001,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.4000640000000004,
y: -12.899921,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.4499999999999993,
y: -12.959999999999997,
width: 0.1,
layer: "top"
},
{
route_type: "via",
x: -0.4499999999999993,
y: -12.959999999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.4499999999999993,
y: -12.959999999999997,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -0.300063999999999,
y: -12.799921000000001,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -0.300063999999999,
y: -12.699921000000002,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -0.6000639999999997,
y: -12.399921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -0.6000639999999997,
y: -12.149921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -1.300063999999999,
y: -11.449921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -1.300063999999999,
y: -11.099921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -1.550063999999999,
y: -10.849921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -1.8500639999999997,
y: -10.849921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -3.6000639999999997,
y: -9.099921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -3.6000639999999997,
y: -8.799921000000001,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -3.5500640000000026,
y: -8.749921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -3.5500640000000026,
y: -8.699921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -3.4000640000000004,
y: -8.549921000000001,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -3.3500639999999997,
y: -8.549921000000001,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -3.3000640000000026,
y: -8.499921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -3.0500640000000026,
y: -8.499921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -3.000064000000002,
y: -8.549921000000001,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -2.950064000000001,
y: -8.549921000000001,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -2.8500639999999997,
y: -8.649921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -2.8000640000000026,
y: -8.649921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -2.3000640000000026,
y: -9.149921,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -0.6000639999999997,
y: -9.149921,
width: 0.1,
layer: "inner1"
},
{
route_type: "via",
x: -0.6000639999999997,
y: -9.149921,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.6000639999999997,
y: -9.149921,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -0.6500640000000004,
y: -9.099921,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -0.25006400000000184,
y: -8.699921,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -0.25006400000000184,
y: -8.449921,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -0.300063999999999,
y: -8.399921,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -0.300063999999999,
y: -8.299921000000001,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -0.8500639999999997,
y: -7.7499210000000005,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -2.450064000000001,
y: -7.7499210000000005,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -2.6500640000000004,
y: -7.549921000000001,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -2.750064000000002,
y: -7.549921000000001,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -3.0500640000000026,
y: -7.2499210000000005,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -3.6000639999999997,
y: -7.2499210000000005,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -3.8000640000000026,
y: -7.049921000000001,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -3.9000640000000004,
y: -7.049921000000001,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -3.950064000000001,
y: -6.9999210000000005,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -4.150064,
y: -6.9999210000000005,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -4.5500640000000026,
y: -6.599921,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -4.600064,
y: -6.599921,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -4.850064,
y: -6.349921,
width: 0.1,
layer: "inner2"
},
{
route_type: "via",
x: -4.850064,
y: -6.349921,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.850064,
y: -6.349921,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.200064000000001,
y: -6.699921,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.3500640000000015,
y: -6.549921000000001,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.400064,
y: -6.549921000000001,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.500064000000002,
y: -6.649921000000001,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.700063999999999,
y: -6.649921,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_132_retained_72",
connection_name: "source_trace_120",
connectsTo: [
"pcb_port_178",
"pcb_port_179"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -8.824936000000001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.165,
y: -8.175,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.165755000000001,
y: -8.174949999999999,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_130__source_trace_131__source_trace_132__source_trace_133_retained_73",
connection_name: "source_trace_130__source_trace_131__source_trace_132__source_trace_133",
connectsTo: [
"pcb_port_231",
"pcb_port_234"
],
route: [
{
route_type: "wire",
x: -2.75,
y: -9.99,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.75,
y: -9.689999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.6499999999999986,
y: -9.589999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.6499999999999986,
y: -9.239999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.599999999999998,
y: -9.189999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.599999999999998,
y: -9.089999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.51,
y: -9,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_130_retained_74",
connection_name: "source_trace_118",
connectsTo: [
"pcb_port_231",
"pcb_port_232"
],
route: [
{
route_type: "wire",
x: -2.75,
y: -9.99,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.0500000000000007,
y: -9.989999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.1499999999999986,
y: -9.889999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.5,
y: -9.889999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.5500000000000007,
y: -9.839999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.6999999999999993,
y: -9.839999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.75,
y: -9.79,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.8000000000000007,
y: -9.79,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.849999999999998,
y: -9.739999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.149999999999999,
y: -9.739999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.199999999999999,
y: -9.79,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.25,
y: -9.79,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.25,
y: -9.79,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.300000000000001,
y: -9.79,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.399999999999999,
y: -9.889999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.399999999999999,
y: -9.939999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.449999999999999,
y: -9.989999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.449999999999999,
y: -10.389999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.399999999999999,
y: -10.439999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.399999999999999,
y: -10.489999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.099999999999998,
y: -10.79,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.099999999999998,
y: -10.939999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -4.099999999999998,
y: -10.939999999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.099999999999998,
y: -10.939999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.9499999999999993,
y: -11.089999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.9499999999999993,
y: -11.339999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.8999999999999986,
y: -11.389999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.8999999999999986,
y: -11.439999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.4499999999999993,
y: -11.889999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.4499999999999993,
y: -12.739999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.3999999999999986,
y: -12.79,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.3999999999999986,
y: -12.889999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.1999999999999993,
y: -13.09,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.9499999999999993,
y: -13.09,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.9499999999999993,
y: -13.09,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -1,
y: -13.09,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.75,
y: -13.34,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.6999999999999993,
y: -13.34,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.6499999999999986,
y: -13.389999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -0.09999999999999787,
y: -13.389999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0,
y: -13.29,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0,
y: -13.29,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.20000000000000284,
y: -13.09,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.25,
y: -13.059999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 0.25,
y: -13.059999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.25,
y: -13.059999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.20000000000000284,
y: -13.04,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.15000000000000213,
y: -13.04,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.04999999999999716,
y: -13.239999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.04999999999999716,
y: -13.239999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.14999999999999858,
y: -13.34,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.1999999999999993,
y: -13.34,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.25,
y: -13.389999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.6999999999999993,
y: -13.389999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.8499999999999979,
y: -13.239999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.8499999999999979,
y: -13.239999999999998,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: -1.25,
y: -13.239999999999998,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: -1.3999999999999986,
y: -13.09,
width: 0.14,
layer: "top"
},
{
route_type: "wire",
x: -1.3999999999999986,
y: -13.09,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5,
y: -13.01,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_131_retained_75",
connection_name: "source_trace_119",
connectsTo: [
"pcb_port_232",
"pcb_port_178"
],
route: [
{
route_type: "wire",
x: -1.5,
y: -13.01,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.3499999999999979,
y: -13.009999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.1999999999999993,
y: -13.159999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.8999999999999986,
y: -13.159999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.8499999999999979,
y: -13.209999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.8499999999999979,
y: -13.259999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.7999999999999972,
y: -13.259999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.7999999999999972,
y: -13.309999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.75,
y: -13.309999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.75,
y: -13.359999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.6499999999999986,
y: -13.359999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.6499999999999986,
y: -13.409999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.09999999999999787,
y: -13.409999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.25,
y: -13.059999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 0.25,
y: -13.059999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.25,
y: -13.059999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.45000000000000284,
y: -12.859999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 0.5500000000000007,
y: -12.859999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.75,
y: -10.659999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.8000000000000007,
y: -10.659999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.8500000000000014,
y: -10.609999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.950000000000003,
y: -10.609999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3,
y: -10.559999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.3500000000000014,
y: -10.559999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.75,
y: -10.159999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.75,
y: -9.759999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.8000000000000007,
y: -9.709999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.8000000000000007,
y: -9.659999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.8500000000000014,
y: -9.609999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.8500000000000014,
y: -9.559999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.950000000000003,
y: -8.459999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.959375049706801,
y: -8.373657931229117,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 4.959375049706801,
y: -8.373657931229117,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 4.959375049706801,
y: -8.373657931229117,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.700000000000003,
y: -8.359999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.050000000000001,
y: -8.709999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.165755000000001,
y: -8.824936000000001,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_127_retained_76",
connection_name: "source_trace_115",
connectsTo: [
"pcb_port_228",
"pcb_port_181"
],
route: [
{
route_type: "wire",
x: 1.434245000000001,
y: -7.524964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.43424500000000066,
y: -7.524964000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.43424500000000066,
y: -7.524964000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.015755000000002184,
y: -7.524964000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.015755000000002184,
y: -7.524964000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.865755,
y: -7.524964000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.99,
y: -7.5,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_127__source_trace_129__source_trace_138_retained_77",
connection_name: "source_trace_127__source_trace_129__source_trace_138",
connectsTo: [
"pcb_port_230",
"pcb_port_228"
],
route: [
{
route_type: "wire",
x: -0.99,
y: -7.5,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.9899999999999984,
y: -7.799999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.889999999999997,
y: -7.899999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.889999999999997,
y: -8.25,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.8399999999999963,
y: -8.299999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.8399999999999963,
y: -8.35,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -0.7399999999999984,
y: -8.45,
width: 0.1,
layer: "top"
},
{
route_type: "via",
x: -0.7399999999999984,
y: -8.45,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.7399999999999984,
y: -8.45,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -0.7899999999999991,
y: -8.5,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -0.7899999999999991,
y: -8.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.389999999999997,
y: -10.1,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.389999999999997,
y: -10.1,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -2.9899999999999984,
y: -10.7,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -3.039999999999999,
y: -10.7,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -3.5,
y: -11.159999999999997,
width: 0.1,
layer: "inner2"
},
{
route_type: "via",
x: -3.5,
y: -11.159999999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -3.5,
y: -11.159999999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -3.4399999999999977,
y: -11.149999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -2.889999999999997,
y: -11.149999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -2.75,
y: -11.01,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_127__source_trace_129__source_trace_138_retained_78",
connection_name: "source_trace_127__source_trace_129__source_trace_138",
connectsTo: [
"pcb_port_230",
"pcb_port_192"
],
route: [
{
route_type: "wire",
x: -2.75,
y: -11.01,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.0500000000000007,
y: -11.009999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.1499999999999986,
y: -11.109999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.4499999999999993,
y: -11.109999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.5,
y: -11.159999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -3.5,
y: -11.159999999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -3.5,
y: -11.159999999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.5,
y: -12.159999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.5,
y: -14.759999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.4499999999999993,
y: -14.809999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.4499999999999993,
y: -14.859999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.1499999999999986,
y: -15.159999999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.1499999999999986,
y: -16.259999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -2.1499999999999986,
y: -16.259999999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -2.1499999999999986,
y: -16.259999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.04999999999999716,
y: -16.259999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.04999999999999716,
y: -16.209999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0,
y: -16.159999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0,
y: -16.11,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.05000000000000071,
y: -16.06,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.05000000000000071,
y: -15.409999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.45000000000000284,
y: -15.009999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.5,
y: -15.009999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.5500000000000007,
y: -14.959999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.1500000000000021,
y: -14.959999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.4342450000000007,
y: -14.675063999999999,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_120__source_trace_122__source_trace_123__source_trace_124__source_trace_154__source_trace_157__source_trace_158__source_trace_159__source_trace_171__source_trace_172__source_trace_281_retained_79",
connection_name: "source_trace_120__source_trace_122__source_trace_123__source_trace_124__source_trace_154__source_trace_157__source_trace_158__source_trace_159__source_trace_171__source_trace_172__source_trace_281",
connectsTo: [
"pcb_port_226",
"pcb_port_223"
],
route: [
{
route_type: "wire",
x: 10.5,
y: -14.49,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 10.400000000000002,
y: -14.509999999999998,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.5,
y: -14.51,
width: 0.35,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_172_retained_80",
connection_name: "source_trace_160",
connectsTo: [
"pcb_port_177",
"pcb_port_240"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -9.474922,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 7.464999999999996,
y: -9.475000000000001,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 7.564999999999998,
y: -9.375000000000002,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 7.914999999999999,
y: -9.375000000000002,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 7.964999999999996,
y: -9.325000000000001,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 8.114999999999998,
y: -9.325000000000001,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 8.464999999999996,
y: -8.975000000000001,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 8.464999999999996,
y: -8.975000000000001,
width: 0.31,
layer: "top"
},
{
route_type: "wire",
x: 8.514999999999997,
y: -8.975000000000001,
width: 0.31,
layer: "top"
},
{
route_type: "wire",
x: 9,
y: -8.49,
width: 0.31,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_124_retained_81",
connection_name: "source_trace_112",
connectsTo: [
"pcb_port_170",
"pcb_port_226"
],
route: [
{
route_type: "wire",
x: 9.5,
y: -14.51,
layer: "top",
width: 0.2
},
{
route_type: "wire",
x: 8.2523,
y: -14.51,
layer: "top",
width: 0.2
},
{
route_type: "wire",
x: 8.2523,
y: -14.51,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.7673,
y: -14.025,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.7673,
y: -14.025,
layer: "top",
width: 0.5
},
{
route_type: "wire",
x: 7.165755000000001,
y: -14.025078,
layer: "top",
width: 0.5
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_159_retained_82",
connection_name: "source_trace_147",
connectsTo: [
"pcb_port_292",
"pcb_port_300"
],
route: [
{
route_type: "wire",
x: -8.9424,
y: 4.25,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -8.9424,
y: 4.900000000000002,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -8.8924,
y: 4.950000000000003,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -8.8924,
y: 5.5,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -8.8924,
y: 5.5,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.8924,
y: 5.600000000000001,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.8424,
y: 5.650000000000002,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.8424,
y: 5.75,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.6424,
y: 5.950000000000003,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.5924,
y: 5.950000000000003,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.5424,
y: 6,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.4924,
y: 6,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.4424,
y: 6.050000000000001,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -7.8924,
y: 6.050000000000001,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -7.4924,
y: 6.450000000000003,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -7.3924,
y: 6.450000000000003,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -7.192399999999999,
y: 6.650000000000002,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -7.192399999999999,
y: 6.650000000000002,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -6.442399999999999,
y: 7.400000000000002,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -6.35,
y: 7.5,
width: 0.35,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_123_retained_83",
connection_name: "source_trace_111",
connectsTo: [
"pcb_port_170",
"pcb_port_177"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -9.474922,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 7.464999999999996,
y: -9.475000000000001,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 7.564999999999998,
y: -9.375000000000002,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 7.914999999999999,
y: -9.375000000000002,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 7.964999999999996,
y: -9.325000000000001,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 8.114999999999998,
y: -9.325000000000001,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 8.114999999999998,
y: -9.325000000000001,
width: 0.31,
layer: "top"
},
{
route_type: "wire",
x: 8.464999999999996,
y: -8.975000000000001,
width: 0.31,
layer: "top"
},
{
route_type: "wire",
x: 8.514999999999997,
y: -8.975000000000001,
width: 0.31,
layer: "top"
},
{
route_type: "wire",
x: 9,
y: -8.49,
width: 0.31,
layer: "top"
},
{
route_type: "wire",
x: 9,
y: -8.49,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.05,
y: -8.409999999999997,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.05,
y: -8.309999999999997,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.150000000000002,
y: -8.209999999999997,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.200000000000003,
y: -8.209999999999997,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.3,
y: -8.169999999999998,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.8,
y: -8.169999999999998,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.950000000000003,
y: -8.259999999999998,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.950000000000003,
y: -8.259999999999998,
width: 0.565,
layer: "top"
},
{
route_type: "wire",
x: 10,
y: -8.259999999999998,
width: 0.565,
layer: "top"
},
{
route_type: "wire",
x: 10,
y: -8.259999999999998,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 10.400000000000002,
y: -8.259999999999998,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 10.450000000000003,
y: -8.309999999999997,
width: 0.545,
layer: "top"
},
{
route_type: "via",
x: 10.450000000000003,
y: -8.309999999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 10.450000000000003,
y: -8.309999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 12,
y: -8.309999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "via",
x: 12,
y: -8.309999999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 12,
y: -8.309999999999997,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 12,
y: -8.359999999999998,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 12,
y: -8.359999999999998,
width: 0.565,
layer: "top"
},
{
route_type: "wire",
x: 12.200000000000003,
y: -8.39,
width: 0.565,
layer: "top"
},
{
route_type: "wire",
x: 12.350000000000001,
y: -8.39,
width: 0.565,
layer: "top"
},
{
route_type: "wire",
x: 12.350000000000001,
y: -8.39,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 14.700000000000003,
y: -8.39,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 14.75,
y: -8.509999999999998,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 14.850000000000001,
y: -8.509999999999998,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 14.899999999999999,
y: -8.559999999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 14.950000000000003,
y: -8.559999999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 15.200000000000003,
y: -8.809999999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 15.200000000000003,
y: -8.809999999999997,
width: 0.525,
layer: "top"
},
{
route_type: "wire",
x: 17.1,
y: -8.809999999999997,
width: 0.525,
layer: "top"
},
{
route_type: "wire",
x: 17.15,
y: -8.759999999999998,
width: 0.525,
layer: "top"
},
{
route_type: "wire",
x: 17.300000000000004,
y: -8.759999999999998,
width: 0.525,
layer: "top"
},
{
route_type: "wire",
x: 17.300000000000004,
y: -8.759999999999998,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 17.35,
y: -8.809999999999997,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 17.35,
y: -8.809999999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 17.400000000000006,
y: -8.809999999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 17.5,
y: -8.909999999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 17.550000000000004,
y: -8.909999999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 17.650000000000006,
y: -9.009999999999998,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 17.650000000000006,
y: -9.059999999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 17.75,
y: -9.159999999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 17.75,
y: -9.309999999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 17.800000000000004,
y: -9.359999999999998,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 17.800000000000004,
y: -9.409999999999997,
width: 0.6,
layer: "top"
},
{
route_type: "via",
x: 17.800000000000004,
y: -9.409999999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 17.800000000000004,
y: -9.409999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 17.800000000000004,
y: -11.259999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 18.700000000000003,
y: -12.159999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 18.700000000000003,
y: -12.209999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 18.75,
y: -12.259999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 18.75,
y: -12.359999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 18.800000000000004,
y: -12.409999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 18.800000000000004,
y: -13.209999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 18.900000000000006,
y: -13.309999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 18.900000000000006,
y: -13.359999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19,
y: -13.459999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19,
y: -13.509999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.050000000000004,
y: -13.559999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.050000000000004,
y: -13.609999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.1,
y: -13.659999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.1,
y: -13.709999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.150000000000006,
y: -13.759999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.150000000000006,
y: -13.809999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.200000000000003,
y: -13.859999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.200000000000003,
y: -13.959999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.25,
y: -14.009999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.25,
y: -14.109999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.300000000000004,
y: -14.159999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.300000000000004,
y: -14.259999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.35,
y: -14.309999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.35,
y: -14.459999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.400000000000006,
y: -14.509999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.400000000000006,
y: -14.659999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.450000000000003,
y: -14.709999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 19.450000000000003,
y: -14.959999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "via",
x: 19.450000000000003,
y: -14.959999999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 19.450000000000003,
y: -14.959999999999997,
width: 0.595,
layer: "top"
},
{
route_type: "wire",
x: 18.75,
y: -15.659999999999997,
width: 0.595,
layer: "top"
},
{
route_type: "wire",
x: 18.75,
y: -15.659999999999997,
width: 0.525,
layer: "top"
},
{
route_type: "wire",
x: 18.75,
y: -15.809999999999999,
width: 0.525,
layer: "top"
},
{
route_type: "wire",
x: 18.700000000000003,
y: -15.859999999999998,
width: 0.525,
layer: "top"
},
{
route_type: "wire",
x: 18.700000000000003,
y: -16.159999999999997,
width: 0.525,
layer: "top"
},
{
route_type: "wire",
x: 18.700000000000003,
y: -16.159999999999997,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 18.650000000000006,
y: -16.209999999999997,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 18.650000000000006,
y: -16.36,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 18.650000000000006,
y: -16.36,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 18.6,
y: -16.409999999999997,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 18.6,
y: -16.409999999999997,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 18.6,
y: -16.509999999999998,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 18.550000000000004,
y: -16.56,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 18.550000000000004,
y: -16.659999999999997,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 18.550000000000004,
y: -16.659999999999997,
width: 0.555,
layer: "top"
},
{
route_type: "wire",
x: 18.5,
y: -16.709999999999997,
width: 0.555,
layer: "top"
},
{
route_type: "wire",
x: 18.5,
y: -16.81,
width: 0.555,
layer: "top"
},
{
route_type: "wire",
x: 18.5,
y: -16.81,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 18.450000000000003,
y: -16.86,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 18.450000000000003,
y: -16.86,
width: 0.58,
layer: "top"
},
{
route_type: "wire",
x: 18.450000000000003,
y: -16.909999999999997,
width: 0.58,
layer: "top"
},
{
route_type: "wire",
x: 18.400000000000006,
y: -16.959999999999997,
width: 0.58,
layer: "top"
},
{
route_type: "wire",
x: 18.400000000000006,
y: -17.009999999999998,
width: 0.58,
layer: "top"
},
{
route_type: "wire",
x: 18.400000000000006,
y: -17.009999999999998,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 18.35,
y: -17.06,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 18.35,
y: -17.06,
width: 0.56,
layer: "top"
},
{
route_type: "wire",
x: 18.35,
y: -17.11,
width: 0.56,
layer: "top"
},
{
route_type: "wire",
x: 18.25,
y: -17.209999999999997,
width: 0.56,
layer: "top"
},
{
route_type: "wire",
x: 18.25,
y: -17.259999999999998,
width: 0.56,
layer: "top"
},
{
route_type: "wire",
x: 18.25,
y: -17.259999999999998,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 18.200000000000003,
y: -17.31,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 18.200000000000003,
y: -17.31,
width: 0.58,
layer: "top"
},
{
route_type: "wire",
x: 18.200000000000003,
y: -17.36,
width: 0.58,
layer: "top"
},
{
route_type: "wire",
x: 18.050000000000004,
y: -17.509999999999998,
width: 0.58,
layer: "top"
},
{
route_type: "wire",
x: 18.050000000000004,
y: -17.56,
width: 0.58,
layer: "top"
},
{
route_type: "wire",
x: 18.050000000000004,
y: -17.56,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 17.550000000000004,
y: -18.06,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 17.5,
y: -18.06,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 17.35,
y: -18.209999999999997,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 17.35,
y: -18.209999999999997,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 17.300000000000004,
y: -18.209999999999997,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 17.300000000000004,
y: -18.209999999999997,
width: 0.57,
layer: "top"
},
{
route_type: "wire",
x: 17.25,
y: -18.259999999999998,
width: 0.57,
layer: "top"
},
{
route_type: "wire",
x: 17.200000000000003,
y: -18.259999999999998,
width: 0.57,
layer: "top"
},
{
route_type: "wire",
x: 17.1,
y: -18.36,
width: 0.57,
layer: "top"
},
{
route_type: "wire",
x: 17.1,
y: -18.36,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 17.050000000000004,
y: -18.36,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 17,
y: -18.409999999999997,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 16.950000000000003,
y: -18.409999999999997,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 16.950000000000003,
y: -18.409999999999997,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 16.9,
y: -18.459999999999997,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 16.800000000000004,
y: -18.459999999999997,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 16.75,
y: -18.509999999999998,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 16.75,
y: -18.509999999999998,
width: 0.565,
layer: "top"
},
{
route_type: "wire",
x: 16.700000000000003,
y: -18.509999999999998,
width: 0.565,
layer: "top"
},
{
route_type: "wire",
x: 16.700000000000003,
y: -18.509999999999998,
width: 0.555,
layer: "top"
},
{
route_type: "wire",
x: 16.65,
y: -18.56,
width: 0.555,
layer: "top"
},
{
route_type: "wire",
x: 16.550000000000004,
y: -18.56,
width: 0.555,
layer: "top"
},
{
route_type: "wire",
x: 16.550000000000004,
y: -18.56,
width: 0.535,
layer: "top"
},
{
route_type: "wire",
x: 16.5,
y: -18.61,
width: 0.535,
layer: "top"
},
{
route_type: "wire",
x: 16.35,
y: -18.61,
width: 0.535,
layer: "top"
},
{
route_type: "wire",
x: 16.300000000000004,
y: -18.659999999999997,
width: 0.535,
layer: "top"
},
{
route_type: "wire",
x: 16.300000000000004,
y: -18.659999999999997,
width: 0.54,
layer: "top"
},
{
route_type: "wire",
x: 16.15,
y: -18.659999999999997,
width: 0.54,
layer: "top"
},
{
route_type: "wire",
x: 16.15,
y: -18.659999999999997,
width: 0.515,
layer: "top"
},
{
route_type: "wire",
x: 16.1,
y: -18.709999999999997,
width: 0.515,
layer: "top"
},
{
route_type: "wire",
x: 15.649999999999999,
y: -18.709999999999997,
width: 0.515,
layer: "top"
},
{
route_type: "wire",
x: 15.600000000000001,
y: -18.759999999999998,
width: 0.515,
layer: "top"
},
{
route_type: "wire",
x: 15.399999999999999,
y: -18.759999999999998,
width: 0.515,
layer: "top"
},
{
route_type: "wire",
x: 15.350000000000001,
y: -18.709999999999997,
width: 0.515,
layer: "top"
},
{
route_type: "wire",
x: 14.899999999999999,
y: -18.709999999999997,
width: 0.515,
layer: "top"
},
{
route_type: "wire",
x: 14.899999999999999,
y: -18.709999999999997,
width: 0.54,
layer: "top"
},
{
route_type: "wire",
x: 14.850000000000001,
y: -18.659999999999997,
width: 0.54,
layer: "top"
},
{
route_type: "wire",
x: 14.850000000000001,
y: -18.659999999999997,
width: 0.535,
layer: "top"
},
{
route_type: "wire",
x: 14.700000000000003,
y: -18.659999999999997,
width: 0.535,
layer: "top"
},
{
route_type: "wire",
x: 14.649999999999999,
y: -18.61,
width: 0.535,
layer: "top"
},
{
route_type: "wire",
x: 14.5,
y: -18.61,
width: 0.535,
layer: "top"
},
{
route_type: "wire",
x: 14.5,
y: -18.61,
width: 0.555,
layer: "top"
},
{
route_type: "wire",
x: 14.450000000000003,
y: -18.56,
width: 0.555,
layer: "top"
},
{
route_type: "wire",
x: 14.350000000000001,
y: -18.56,
width: 0.555,
layer: "top"
},
{
route_type: "wire",
x: 14.350000000000001,
y: -18.56,
width: 0.565,
layer: "top"
},
{
route_type: "wire",
x: 14.300000000000004,
y: -18.509999999999998,
width: 0.565,
layer: "top"
},
{
route_type: "wire",
x: 14.300000000000004,
y: -18.509999999999998,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 14.25,
y: -18.509999999999998,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 14.200000000000003,
y: -18.459999999999997,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 14.100000000000001,
y: -18.459999999999997,
width: 0.55,
layer: "top"
},
{
route_type: "wire",
x: 14.100000000000001,
y: -18.459999999999997,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 14.050000000000004,
y: -18.409999999999997,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 14,
y: -18.409999999999997,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 13.950000000000003,
y: -18.36,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 13.950000000000003,
y: -18.36,
width: 0.57,
layer: "top"
},
{
route_type: "wire",
x: 13.899999999999999,
y: -18.36,
width: 0.57,
layer: "top"
},
{
route_type: "wire",
x: 13.800000000000004,
y: -18.259999999999998,
width: 0.57,
layer: "top"
},
{
route_type: "wire",
x: 13.75,
y: -18.259999999999998,
width: 0.57,
layer: "top"
},
{
route_type: "wire",
x: 13.75,
y: -18.259999999999998,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 13.700000000000003,
y: -18.209999999999997,
width: 0.59,
layer: "top"
},
{
route_type: "wire",
x: 13.700000000000003,
y: -18.209999999999997,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 13.649999999999999,
y: -18.209999999999997,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 13.5,
y: -18.06,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 13.5,
y: -18.06,
width: 0.535,
layer: "top"
},
{
route_type: "wire",
x: 13.450000000000003,
y: -18.06,
width: 0.535,
layer: "top"
},
{
route_type: "wire",
x: 12.050000000000004,
y: -16.659999999999997,
width: 0.535,
layer: "top"
},
{
route_type: "wire",
x: 12.050000000000004,
y: -16.259999999999998,
width: 0.535,
layer: "top"
},
{
route_type: "wire",
x: 12.050000000000004,
y: -16.259999999999998,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 11.25,
y: -15.459999999999997,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 11.25,
y: -15.059999999999999,
width: 0.545,
layer: "top"
},
{
route_type: "wire",
x: 11.25,
y: -15.059999999999999,
width: 0.575,
layer: "top"
},
{
route_type: "wire",
x: 11.200000000000003,
y: -15.009999999999998,
width: 0.575,
layer: "top"
},
{
route_type: "wire",
x: 11.200000000000003,
y: -14.959999999999997,
width: 0.575,
layer: "top"
},
{
route_type: "wire",
x: 11.100000000000001,
y: -14.859999999999998,
width: 0.575,
layer: "top"
},
{
route_type: "wire",
x: 11.050000000000004,
y: -14.859999999999998,
width: 0.575,
layer: "top"
},
{
route_type: "wire",
x: 11,
y: -14.809999999999999,
width: 0.575,
layer: "top"
},
{
route_type: "wire",
x: 11,
y: -14.809999999999999,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 10.950000000000003,
y: -14.809999999999999,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 10.900000000000002,
y: -14.759999999999998,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 10.900000000000002,
y: -14.759999999999998,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 10.850000000000001,
y: -14.759999999999998,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 10.650000000000002,
y: -14.559999999999999,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 10.5,
y: -14.559999999999999,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 10.5,
y: -14.559999999999999,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 10.3,
y: -14.559999999999999,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 10.25,
y: -14.509999999999998,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.900000000000002,
y: -14.509999999999998,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.850000000000001,
y: -14.459999999999997,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.55,
y: -14.459999999999997,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.5,
y: -14.51,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.5,
y: -14.51,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: 8.35,
y: -14.51,
layer: "top",
width: 0.2
},
{
route_type: "wire",
x: 8.35,
y: -14.51,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.7673,
y: -14.025,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.7673,
y: -14.025,
layer: "top",
width: 0.5
},
{
route_type: "wire",
x: 7.165755000000001,
y: -14.025078,
layer: "top",
width: 0.5
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_120__source_trace_122__source_trace_123__source_trace_124__source_trace_154__source_trace_157__source_trace_158__source_trace_159__source_trace_171__source_trace_172__source_trace_281_retained_84",
connection_name: "source_trace_120__source_trace_122__source_trace_123__source_trace_124__source_trace_154__source_trace_157__source_trace_158__source_trace_159__source_trace_171__source_trace_172__source_trace_281",
connectsTo: [
"pcb_port_321",
"pcb_port_292"
],
route: [
{
route_type: "wire",
x: 0.5,
y: 13.5,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -1.0499999999999972,
y: 11.450000000000003,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -2.5,
y: 10.3,
width: 0.2,
layer: "top"
},
{
route_type: "via",
x: -2.5,
y: 10.3,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -2.5,
y: 10.3,
width: 0.2,
layer: "bottom"
},
{
route_type: "wire",
x: -2.8999999999999986,
y: 9.900000000000002,
width: 0.2,
layer: "bottom"
},
{
route_type: "wire",
x: -2.8999999999999986,
y: 9.200000000000003,
width: 0.2,
layer: "bottom"
},
{
route_type: "via",
x: -2.8999999999999986,
y: 9.200000000000003,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -2.8999999999999986,
y: 9.200000000000003,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -3.1499999999999986,
y: 9.05,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -4.149999999999999,
y: 9.05,
width: 0.2,
layer: "top"
},
{
route_type: "wire",
x: -8.9424,
y: 4.25,
width: 0.2,
layer: "top"
}
],
source_trace_id: "source_trace_281"
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_120__source_trace_122__source_trace_123__source_trace_124__source_trace_154__source_trace_157__source_trace_158__source_trace_159__source_trace_171__source_trace_172__source_trace_281_retained_85",
connection_name: "source_trace_120__source_trace_122__source_trace_123__source_trace_124__source_trace_154__source_trace_157__source_trace_158__source_trace_159__source_trace_171__source_trace_172__source_trace_281",
connectsTo: [
"pcb_port_223",
"pcb_port_238"
],
route: [
{
route_type: "wire",
x: 10.5,
y: -14.49,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 10.950000000000003,
y: -14.939999999999998,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 11,
y: -14.939999999999998,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 11.100000000000001,
y: -15.04,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 11.100000000000001,
y: -15.09,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 11.149999999999999,
y: -15.139999999999999,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 11.149999999999999,
y: -15.34,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 11.300000000000004,
y: -15.489999999999998,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 11.300000000000004,
y: -15.489999999999998,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 12,
y: -16.189999999999998,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 12,
y: -16.24,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 12.050000000000004,
y: -16.29,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 12.050000000000004,
y: -18.59,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 11.550000000000004,
y: -19.09,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 11.550000000000004,
y: -19.09,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 10.850000000000001,
y: -19.79,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 10.850000000000001,
y: -19.84,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 10.75,
y: -19.9625,
width: 0.35,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_120__source_trace_122__source_trace_123__source_trace_124__source_trace_154__source_trace_157__source_trace_158__source_trace_159__source_trace_171__source_trace_172__source_trace_281_retained_86",
connection_name: "source_trace_120__source_trace_122__source_trace_123__source_trace_124__source_trace_154__source_trace_157__source_trace_158__source_trace_159__source_trace_171__source_trace_172__source_trace_281",
connectsTo: [
"pcb_port_223",
"pcb_port_225"
],
route: [
{
route_type: "wire",
x: 10.5,
y: -14.49,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.6928,
y: -14.7181,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.9244,
y: -14.9498,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.9244,
y: -15.0649,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 11.1031,
y: -15.2436,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 11.1031,
y: -15.6796,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 13.9695,
y: -18.546,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 16.7203,
y: -18.546,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 18.5653,
y: -16.701,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 18.5874,
y: -16.7232,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 18.9493,
y: -16.7232,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 19.205,
y: -16.4675,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 19.205,
y: -16.1055,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 19.1829,
y: -16.0834,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 19.5067,
y: -15.7596,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 19.5067,
y: -13.8609,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 19.3425,
y: -13.6967,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 19,
y: -13.6967,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 19,
y: -13.24,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_120__source_trace_122__source_trace_123__source_trace_124__source_trace_154__source_trace_157__source_trace_158__source_trace_159__source_trace_171__source_trace_172__source_trace_281_retained_87",
connection_name: "source_trace_120__source_trace_122__source_trace_123__source_trace_124__source_trace_154__source_trace_157__source_trace_158__source_trace_159__source_trace_171__source_trace_172__source_trace_281",
connectsTo: [
"pcb_port_300",
"pcb_port_321"
],
route: [
{
route_type: "wire",
x: -6.35,
y: 7.5,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -6.649999999999999,
y: 7.5,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -6.75,
y: 7.400000000000002,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -7.1,
y: 7.400000000000002,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -7.149999999999999,
y: 7.350000000000001,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -7.399999999999999,
y: 7.350000000000001,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -7.6,
y: 7.150000000000002,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -7.6,
y: 7.150000000000002,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.7,
y: 6.050000000000001,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.75,
y: 6.050000000000001,
width: 0.6,
layer: "top"
},
{
route_type: "via",
x: -8.75,
y: 6.050000000000001,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -8.75,
y: 6.050000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.35,
y: 6.050000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.649999999999999,
y: 6.350000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.649999999999999,
y: 6.400000000000002,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.7,
y: 6.450000000000003,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.7,
y: 6.600000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.75,
y: 6.650000000000002,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.75,
y: 6.850000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.7,
y: 6.900000000000002,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.7,
y: 7.050000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.649999999999999,
y: 7.100000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.649999999999999,
y: 7.150000000000002,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.45,
y: 7.350000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.399999999999999,
y: 7.350000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.35,
y: 7.400000000000002,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.25,
y: 7.400000000000002,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.2,
y: 7.450000000000003,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.1,
y: 7.450000000000003,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -14.25,
y: 8.3,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -14.2,
y: 8.3,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -14.149999999999999,
y: 8.350000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -13.149999999999999,
y: 8.350000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -10.25,
y: 11.25,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -10.2,
y: 11.25,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -10.1,
y: 11.350000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -10.049999999999999,
y: 11.350000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -10,
y: 11.399999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -9.95,
y: 11.399999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -7.35,
y: 14,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -7.299999999999999,
y: 14,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -7.199999999999999,
y: 14.100000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -7.1,
y: 14.100000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -7.049999999999999,
y: 14.149999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -5.549999999999999,
y: 14.149999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -3.5500000000000007,
y: 16.629999999999995,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -3.5,
y: 16.629999999999995,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -3.4499999999999993,
y: 16.68,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -3.3000000000000007,
y: 16.68,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -3.25,
y: 16.729999999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -3.25,
y: 16.729999999999997,
width: 0.575,
layer: "bottom"
},
{
route_type: "wire",
x: -2.1499999999999986,
y: 16.65,
width: 0.575,
layer: "bottom"
},
{
route_type: "wire",
x: -2.099999999999998,
y: 16.700000000000003,
width: 0.575,
layer: "bottom"
},
{
route_type: "wire",
x: -2.099999999999998,
y: 16.700000000000003,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: -2,
y: 16.700000000000003,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: -1.9499999999999993,
y: 16.75,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: -1.9499999999999993,
y: 16.75,
width: 0.535,
layer: "bottom"
},
{
route_type: "wire",
x: -1.3999999999999986,
y: 16.75,
width: 0.535,
layer: "bottom"
},
{
route_type: "wire",
x: -1.3499999999999979,
y: 16.700000000000003,
width: 0.535,
layer: "bottom"
},
{
route_type: "wire",
x: -1.3499999999999979,
y: 16.700000000000003,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: -1.25,
y: 16.700000000000003,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1999999999999993,
y: 16.65,
width: 0.545,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1999999999999993,
y: 16.65,
width: 0.575,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1499999999999986,
y: 16.65,
width: 0.575,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0499999999999972,
y: 16.549999999999997,
width: 0.575,
layer: "bottom"
},
{
route_type: "wire",
x: -1,
y: 16.549999999999997,
width: 0.575,
layer: "bottom"
},
{
route_type: "wire",
x: 0.40000000000000213,
y: 15.15,
width: 0.575,
layer: "bottom"
},
{
route_type: "wire",
x: 0.40000000000000213,
y: 15.15,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 0.45000000000000284,
y: 15.100000000000003,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 0.45000000000000284,
y: 15.100000000000003,
width: 0.3,
layer: "bottom"
},
{
route_type: "wire",
x: 1,
y: 14.149999999999999,
width: 0.3,
layer: "bottom"
},
{
route_type: "wire",
x: 1.2000000000000028,
y: 14.149999999999999,
width: 0.3,
layer: "bottom"
},
{
route_type: "wire",
x: 1.6500000000000021,
y: 13.700000000000003,
width: 0.3,
layer: "bottom"
},
{
route_type: "via",
x: 1.6500000000000021,
y: 13.700000000000003,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 1.6500000000000021,
y: 13.700000000000003,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: 0.7000000000000028,
y: 13.700000000000003,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: 0.5,
y: 13.5,
width: 0.3,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_158_retained_88",
connection_name: "source_trace_146",
connectsTo: [
"pcb_port_299",
"pcb_port_292"
],
route: [
{
route_type: "wire",
x: -8.9424,
y: 4.25,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -8.899999999999999,
y: 4.347580999999998,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -8.899999999999999,
y: 5.497580999999997,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -8.899999999999999,
y: 5.497580999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.899999999999999,
y: 5.547580999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.85,
y: 5.597580999999998,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.85,
y: 5.697581,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.799999999999999,
y: 5.747580999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.799999999999999,
y: 5.797580999999997,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.75,
y: 5.847580999999998,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -8.75,
y: 6.050000000000001,
width: 0.6,
layer: "top"
},
{
route_type: "via",
x: -8.75,
y: 6.050000000000001,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -8.75,
y: 6.050000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -8.799999999999999,
y: 5.997580999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -9.35,
y: 5.447581,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -9.35,
y: 5.447581,
width: 0.3,
layer: "bottom"
},
{
route_type: "wire",
x: -10.1,
y: 4.697581,
width: 0.3,
layer: "bottom"
},
{
route_type: "wire",
x: -10.1,
y: 4.697581,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -10.299999999999999,
y: 4.497580999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -11.7,
y: 4.497580999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -11.75,
y: 4.447581,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -11.799999999999999,
y: 4.447581,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -11.85,
y: 4.397580999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -11.9,
y: 4.397580999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -12,
y: 4.297580999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -12.049999999999999,
y: 4.297580999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -12.25,
y: 4.097580999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -14.55,
y: 4.097580999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -14.6,
y: 4.047580999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -14.649999999999999,
y: 4.047580999999997,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -14.7,
y: 3.9975809999999967,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -14.75,
y: 3.9975809999999967,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15,
y: 3.7475809999999967,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15,
y: 3.647580999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.05,
y: 3.597580999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.05,
y: 3.1975809999999996,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.649999999999999,
y: 2.597580999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.649999999999999,
y: 2.5475809999999974,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.7,
y: 2.4975809999999967,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.7,
y: 2.4475809999999996,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.75,
y: 2.397580999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -15.75,
y: -1.4524190000000026,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -17.6,
y: -3.302419000000004,
width: 0.6,
layer: "bottom"
},
{
route_type: "via",
x: -17.6,
y: -3.302419000000004,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -17.6,
y: -3.302419000000004,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -17.6,
y: -3.402419000000002,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -17.65,
y: -3.4524190000000026,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -17.65,
y: -3.602419000000001,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: -17.65,
y: -3.602419000000001,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -17.65,
y: -4.452419000000003,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -18,
y: -4.802419000000004,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -18,
y: -4.852418999999999,
width: 0.3,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_120__source_trace_122__source_trace_123__source_trace_124__source_trace_154__source_trace_157__source_trace_158__source_trace_159__source_trace_171__source_trace_172__source_trace_281_retained_89",
connection_name: "source_trace_120__source_trace_122__source_trace_123__source_trace_124__source_trace_154__source_trace_157__source_trace_158__source_trace_159__source_trace_171__source_trace_172__source_trace_281",
connectsTo: [
"pcb_port_240"
],
route: [
{
route_type: "wire",
x: 1.2374999999999994,
y: -5.4,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 2.4375000000000036,
y: -5.5,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 2.4875000000000007,
y: -5.5,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 2.4875000000000007,
y: -5.5,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 2.9875000000000007,
y: -5.5,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 3.137500000000003,
y: -5.35,
width: 0.6,
layer: "top"
},
{
route_type: "via",
x: 3.137500000000003,
y: -5.35,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 3.137500000000003,
y: -5.35,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 8.2375,
y: -5.35,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 8.287500000000001,
y: -5.299999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 8.337500000000002,
y: -5.299999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 8.387500000000003,
y: -5.25,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 11.687500000000004,
y: -5.25,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 11.7375,
y: -5.299999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 12.2375,
y: -5.299999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: 13.087500000000002,
y: -6.149999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "via",
x: 13.087500000000002,
y: -6.149999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 13.087500000000002,
y: -6.149999999999999,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 13.6,
y: -6.549999999999999,
width: 0.6,
layer: "top"
},
{
route_type: "wire",
x: 13.6,
y: -6.549999999999999,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 14.087500000000002,
y: -7.549999999999999,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 13.6,
y: -8.399999999999999,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 13.6,
y: -8.399999999999999,
width: 0.57,
layer: "top"
},
{
route_type: "wire",
x: 13.6,
y: -8.39,
width: 0.57,
layer: "top"
},
{
route_type: "wire",
x: 10.687500000000004,
y: -8.39,
width: 0.57,
layer: "top"
},
{
route_type: "wire",
x: 10.687500000000004,
y: -8.39,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 10.537500000000001,
y: -8.299999999999999,
width: 0.585,
layer: "top"
},
{
route_type: "wire",
x: 10.537500000000001,
y: -8.299999999999999,
width: 0.525,
layer: "top"
},
{
route_type: "wire",
x: 10.2375,
y: -8.299999999999999,
width: 0.525,
layer: "top"
},
{
route_type: "wire",
x: 10.2375,
y: -8.299999999999999,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 10.187500000000004,
y: -8.35,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.587500000000002,
y: -8.35,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.587500000000002,
y: -8.35,
width: 0.34,
layer: "top"
},
{
route_type: "wire",
x: 9.2375,
y: -8.7,
width: 0.34,
layer: "top"
},
{
route_type: "wire",
x: 9.087500000000002,
y: -8.7,
width: 0.34,
layer: "top"
},
{
route_type: "wire",
x: 9.087500000000002,
y: -8.7,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.037500000000001,
y: -8.649999999999999,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9.037500000000001,
y: -8.6,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 9,
y: -8.49,
width: 0.35,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_119_retained_90",
connection_name: "source_trace_107",
connectsTo: [
"pcb_port_169",
"pcb_port_222"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -14.675063999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.464999999999996,
y: -14.675,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.564999999999998,
y: -14.775000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.914999999999999,
y: -14.775000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.964999999999996,
y: -14.825000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.864999999999998,
y: -14.825000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.014999999999997,
y: -14.975000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.915,
y: -14.975000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.114999999999998,
y: -15.175,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.165,
y: -15.175,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.5,
y: -15.51,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_119__source_trace_121_retained_91",
connection_name: "source_trace_119__source_trace_121",
connectsTo: [
"pcb_port_222",
"pcb_port_224"
],
route: [
{
route_type: "wire",
x: 10.5,
y: -15.51,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.450000000000003,
y: -15.509999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.900000000000002,
y: -16.06,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 9.900000000000002,
y: -16.06,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 9.900000000000002,
y: -16.06,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.950000000000003,
y: -16.06,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.050000000000004,
y: -14.959999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.75,
y: -14.959999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.600000000000001,
y: -13.109999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.649999999999999,
y: -13.109999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.800000000000004,
y: -12.959999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.850000000000001,
y: -12.959999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.899999999999999,
y: -12.909999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.950000000000003,
y: -12.909999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14,
y: -12.859999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.050000000000004,
y: -12.859999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.100000000000001,
y: -12.809999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.149999999999999,
y: -12.809999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.200000000000003,
y: -12.759999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.25,
y: -12.759999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.300000000000004,
y: -12.709999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.350000000000001,
y: -12.709999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.399999999999999,
y: -12.659999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.5,
y: -12.659999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.550000000000004,
y: -12.609999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.700000000000003,
y: -12.609999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.75,
y: -12.559999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.899999999999999,
y: -12.559999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.950000000000003,
y: -12.509999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 18.1,
y: -12.509999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 18.1,
y: -12.509999999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 18.1,
y: -12.509999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 18.1,
y: -13.359999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 19,
y: -14.26,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_118_retained_92",
connection_name: "source_trace_106",
connectsTo: [
"pcb_port_168",
"pcb_port_221"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -15.325050000000001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.165,
y: -15.325,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.33,
y: -15.49,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 9,
y: -15.49,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_117_retained_93",
connection_name: "source_trace_105",
connectsTo: [
"pcb_port_167",
"pcb_port_220"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -15.975036,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.165,
y: -15.975,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.2433,
y: -16.0533,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 9,
y: -16.0533,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 9,
y: -16.51,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_102_retained_94",
connection_name: "source_trace_102",
connectsTo: [
"pcb_port_59",
"pcb_port_118"
],
route: [
{
route_type: "wire",
x: -7.724952,
y: -8.675063,
width: 0.119,
layer: "top"
},
{
route_type: "wire",
x: -7.724951999999998,
y: -9.175063000000002,
width: 0.119,
layer: "top"
},
{
route_type: "wire",
x: -7.624951999999999,
y: -9.275063000000003,
width: 0.119,
layer: "top"
},
{
route_type: "wire",
x: -7.624951999999999,
y: -9.375063000000003,
width: 0.119,
layer: "top"
},
{
route_type: "wire",
x: -7.524951999999999,
y: -9.475063000000002,
width: 0.119,
layer: "top"
},
{
route_type: "via",
x: -7.524951999999999,
y: -9.475063000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -7.524951999999999,
y: -9.475063000000002,
width: 0.119,
layer: "inner1"
},
{
route_type: "wire",
x: -7.524951999999999,
y: -10.075063000000002,
width: 0.119,
layer: "inner1"
},
{
route_type: "wire",
x: -7.374951999999999,
y: -10.225063000000002,
width: 0.119,
layer: "inner1"
},
{
route_type: "wire",
x: -7.374951999999999,
y: -10.275063000000003,
width: 0.119,
layer: "inner1"
},
{
route_type: "wire",
x: -7.324951999999998,
y: -10.325063000000002,
width: 0.119,
layer: "inner1"
},
{
route_type: "wire",
x: -7.324951999999998,
y: -13.025063000000003,
width: 0.119,
layer: "inner1"
},
{
route_type: "wire",
x: -6.274951999999999,
y: -14.075063000000004,
width: 0.119,
layer: "inner1"
},
{
route_type: "via",
x: -6.274951999999999,
y: -14.075063000000004,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.274951999999999,
y: -14.075063000000004,
width: 0.119,
layer: "top"
},
{
route_type: "wire",
x: -6.274951999999999,
y: -15.175063000000002,
width: 0.119,
layer: "top"
},
{
route_type: "wire",
x: -5.324951999999998,
y: -16.125063000000004,
width: 0.119,
layer: "top"
},
{
route_type: "wire",
x: -5.324951999999998,
y: -16.175063,
width: 0.119,
layer: "top"
},
{
route_type: "wire",
x: -5.274951999999999,
y: -16.225063000000002,
width: 0.119,
layer: "top"
},
{
route_type: "wire",
x: -5.274951999999999,
y: -18.725063000000002,
width: 0.119,
layer: "top"
},
{
route_type: "wire",
x: -5.124951999999999,
y: -18.875063000000004,
width: 0.119,
layer: "top"
},
{
route_type: "wire",
x: -5,
y: -19,
width: 0.119,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_101_retained_95",
connection_name: "source_trace_101",
connectsTo: [
"pcb_port_58",
"pcb_port_116"
],
route: [
{
route_type: "wire",
x: -8.125002,
y: -8.675063,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.125,
y: -8.675063,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.125,
y: -7.9367,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.1854,
y: -7.8763,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: -8.1854,
y: -7.8763,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -8.1854,
y: -7.8763,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -8.2031,
y: -7.894,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -8.2031,
y: -11.0235,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -8.0566,
y: -11.17,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -8.0566,
y: -14.0309,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -5.7023,
y: -16.3852,
layer: "inner2",
width: 0.15
},
{
route_type: "via",
x: -5.7023,
y: -16.3852,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -5.7023,
y: -16.3852,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.7023,
y: -17.2023,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.5,
y: -19,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.5,
y: -20,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_99_retained_96",
connection_name: "source_trace_99",
connectsTo: [
"pcb_port_115",
"pcb_port_111"
],
route: [
{
route_type: "wire",
x: -19.5,
y: 13.51,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.9933,
y: 13.51,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.57,
y: 12.0867,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.251,
y: 12.0867,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.251,
y: 11.5,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_97",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_190",
"pcb_port_191"
],
route: [
{
route_type: "wire",
x: 1.4342450000000007,
y: -13.375092,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 1.435,
y: -14.025,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 1.4342450000000007,
y: -14.025078,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_98",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_400"
],
route: [
{
route_type: "wire",
x: 1.74,
y: 1.95,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.7399999999999984,
y: 1.7999999999999972,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.5899999999999999,
y: 1.6499999999999986,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.5899999999999999,
y: 1.4499999999999993,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.3900000000000006,
y: 1.2499999999999964,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 1.3900000000000006,
y: 1.2499999999999964,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 1.3900000000000006,
y: 1.2499999999999964,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.3900000000000006,
y: 2.1999999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.7899999999999991,
y: 2.599999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.905,
y: 2.7051,
width: 0.15,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_99",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_28",
"pcb_port_22"
],
route: [
{
route_type: "wire",
x: -13.015,
y: -11.75,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.015,
y: -10.75,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_100",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_241"
],
route: [
{
route_type: "wire",
x: 9,
y: -9.51,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.7,
y: -9.51,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.7,
y: -9.9,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: 10.7,
y: -9.9,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 10.7,
y: -9.9,
layer: "bottom",
width: 0.15
}
],
source_trace_id: "source_trace_178"
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_101",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_95",
"pcb_port_123"
],
route: [
{
route_type: "wire",
x: -8.725,
y: 0.4600000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.925,
y: 0.4600000000000002,
width: 0.15,
layer: "top"
}
],
source_trace_id: "source_trace_28"
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_102",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_95",
"pcb_port_121"
],
route: [
{
route_type: "wire",
x: -9.525,
y: 1.6400000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.925,
y: 0.4600000000000002,
width: 0.15,
layer: "top"
}
],
source_trace_id: "source_trace_22"
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_178__source_net_0_retained_103",
connection_name: "source_trace_178__source_net_0",
connectsTo: [
"pcb_port_259",
"pcb_port_255"
],
route: [
{
route_type: "wire",
x: 11.325112,
y: 15.2943068,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.775,
y: 14.375,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.1999555,
y: 14.5259568,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_104",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_256",
"pcb_port_270"
],
route: [
{
route_type: "wire",
x: 3.7999937,
y: 14.5258552,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 3.8,
y: 14.375,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 3.3383,
y: 14.375,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 2.7883,
y: 15.325000000000001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_105",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_346",
"pcb_port_345"
],
route: [
{
route_type: "wire",
x: 2.7051,
y: -0.8650000000000001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 2.7051,
y: -0.865,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 2.7051,
y: -2.1350000000000002,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_106",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_346",
"pcb_port_347"
],
route: [
{
route_type: "wire",
x: 2.7051,
y: -0.8650000000000001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 2.7051,
y: 0.405,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 2.7051,
y: 0.4049999999999998,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_107",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_364",
"pcb_port_365"
],
route: [
{
route_type: "wire",
x: 10.2051,
y: 0.1349999999999999,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.2051,
y: 1.405,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.2051,
y: 1.4049999999999998,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_108",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_364",
"pcb_port_363"
],
route: [
{
route_type: "wire",
x: 10.2051,
y: 0.1349999999999999,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.2051,
y: 0.135,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.2051,
y: -1.1350000000000002,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_109",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_194",
"pcb_port_315"
],
route: [
{
route_type: "wire",
x: 1.4342450000000002,
y: -15.975036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.4342450000000007,
y: -16.275036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.5342449999999985,
y: -16.375036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.5342449999999985,
y: -16.725036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.5842449999999992,
y: -16.775036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.5842449999999992,
y: -17.025036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.1842450000000007,
y: -17.625036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.26,
y: -17.75,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_110",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_359",
"pcb_port_373"
],
route: [
{
route_type: "wire",
x: 5.49,
y: 3,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 5.49,
y: 3.5067,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 5.4951,
y: 3.5067,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 6.1242,
y: 4.1358,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 6.01,
y: 4.25,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_111",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_235",
"pcb_port_34"
],
route: [
{
route_type: "wire",
x: -0.615,
y: -10.15,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.7399999999999984,
y: -10.049999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.3399999999999963,
y: -9.45,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.3399999999999963,
y: -9.299999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.4899999999999984,
y: -9.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.49,
y: -9,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_112",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_229"
],
route: [
{
route_type: "wire",
x: -2.01,
y: -7.5,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -2.009999999999998,
y: -7.35,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -1.8599999999999959,
y: -7.199999999999999,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -1.8599999999999959,
y: -7.1,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: -1.6099999999999994,
y: -6.85,
width: 0.3,
layer: "top"
},
{
route_type: "via",
x: -1.6099999999999994,
y: -6.85,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -1.6099999999999994,
y: -6.85,
width: 0.3,
layer: "bottom"
},
{
route_type: "wire",
x: -1.6099999999999994,
y: -6.85,
width: 0.3,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_82__source_net_0_retained_113",
connection_name: "source_trace_82__source_net_0",
connectsTo: [
"pcb_port_155",
"pcb_port_160"
],
route: [
{
route_type: "wire",
x: -12.125,
y: 2.5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.2455,
y: 1.6332,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.63249,
y: 1.6332,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.63249,
y: 1.749938,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.63249,
y: 1.7499379999999998,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_114",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_243"
],
route: [
{
route_type: "wire",
x: 12.2712,
y: -11.5,
layer: "top",
width: 0.3
},
{
route_type: "wire",
x: 13.2712,
y: -11.399999999999999,
layer: "top",
width: 0.3
},
{
route_type: "via",
x: 13.2712,
y: -11.399999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 13.2712,
y: -11.399999999999999,
layer: "bottom",
width: 0.3
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_115",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_24",
"pcb_port_95"
],
route: [
{
route_type: "wire",
x: -11.615,
y: 0.25,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -11.615,
y: 0.10000000000000142,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -11.765,
y: -0.04999999999999716,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -11.765,
y: -0.4499999999999993,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -12.015,
y: -0.6999999999999993,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -12.015,
y: -0.6999999999999993,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.065,
y: -0.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.065,
y: -2,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.215,
y: -2.1499999999999986,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -12.215,
y: -2.1499999999999986,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -12.215,
y: -2.1499999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.015,
y: -2.1499999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.115,
y: -3.0500000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.065,
y: -3.0500000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.015,
y: -3.099999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -10.865,
y: -3.099999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -10.315,
y: -3.6499999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -10.265,
y: -3.6499999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -10.165,
y: -3.75,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.965,
y: -3.75,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.765,
y: -3.9499999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.715,
y: -3.9499999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.665,
y: -4,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.565,
y: -4,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.515,
y: -4.050000000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.515,
y: -4.050000000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.465,
y: -4,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.415,
y: -4,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.265000000000001,
y: -2.849999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.664999999999999,
y: -2.4499999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.664999999999999,
y: -1.7999999999999972,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.115,
y: -1.25,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.115,
y: -1.1999999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.0649999999999995,
y: -1.1499999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.0649999999999995,
y: 0.3500000000000014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.265000000000001,
y: 1.1500000000000021,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -6.265000000000001,
y: 1.1500000000000021,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.265000000000001,
y: 1.1500000000000021,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.515000000000001,
y: 1.1500000000000021,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.5649999999999995,
y: 1.1000000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.165,
y: 1.1000000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.165,
y: 1.1000000000000014,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -9.265,
y: 1.1000000000000014,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -9.815,
y: 0.5500000000000007,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -9.925,
y: 0.4600000000000002,
width: 0.107,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_116",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_373",
"pcb_port_322"
],
route: [
{
route_type: "wire",
x: 6.01,
y: 4.25,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 6.5133,
y: 4.25,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 6.7633,
y: 4,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.75,
y: 4,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_117",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_303",
"pcb_port_227"
],
route: [
{
route_type: "wire",
x: 9.5,
y: -13.49,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.5825,
y: -13.49,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.75,
y: -13.3225,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.75,
y: -12.25,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.749987,
y: -12.249996,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.592062,
y: -12.197344,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 9.250014,
y: -11.749873,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 9.2500142,
y: -11.749873,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_118",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_347"
],
route: [
{
route_type: "wire",
x: 1.74,
y: 1.95,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.7399999999999984,
y: 1.6499999999999986,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.8399999999999999,
y: 1.5499999999999972,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.8399999999999999,
y: 1.2499999999999964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.59,
y: 0.49999999999999645,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.7051,
y: 0.4049999999999998,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_119",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_247",
"pcb_port_191"
],
route: [
{
route_type: "wire",
x: 1.4342450000000007,
y: -14.025078,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.360000000000003,
y: -14,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.49,
y: -14,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_120",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_194",
"pcb_port_191"
],
route: [
{
route_type: "wire",
x: 1.4342450000000002,
y: -15.975036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.6849999999999987,
y: -15.725000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.234999999999996,
y: -15.725000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.2849999999999966,
y: -15.675,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.3349999999999973,
y: -15.675,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.384999999999998,
y: -15.625000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.4349999999999987,
y: -15.625000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.5849999999999973,
y: -15.475000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.8349999999999973,
y: -15.475000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.0849999999999973,
y: -15.225000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.0849999999999973,
y: -15.175,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.134999999999998,
y: -15.125000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.134999999999998,
y: -15.025000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.1849999999999987,
y: -14.975000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.1849999999999987,
y: -14.925,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.134999999999998,
y: -14.875000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.134999999999998,
y: -14.775000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.0849999999999973,
y: -14.725000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.0849999999999973,
y: -14.675,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.8349999999999973,
y: -14.425,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.8349999999999973,
y: -13.075000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.7849999999999966,
y: -13.025000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.5349999999999966,
y: -13.025000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.2849999999999966,
y: -13.275000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.1849999999999987,
y: -13.275000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.4342450000000007,
y: -14.025078,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_121",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_391"
],
route: [
{
route_type: "wire",
x: 11.350014,
y: -7.40004,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 11.350014000000002,
y: -7.250040000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 11.200014000000003,
y: -7.100040000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 11.200014000000003,
y: -6.750040000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.950014000000003,
y: -6.500040000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.950014000000003,
y: -6.400040000000001,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.800014000000004,
y: -6.250040000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.75,
y: -6.19,
width: 0.1,
layer: "top"
},
{
route_type: "via",
x: 10.75,
y: -6.19,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 10.75,
y: -6.19,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: 10.75,
y: -6.19,
width: 0.1,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_122",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_5",
"pcb_port_7"
],
route: [
{
route_type: "wire",
x: -10.615,
y: -15.55,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.1583,
y: -15.55,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.1583,
y: -15.8925,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.9941,
y: -16.0567,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.2359,
y: -16.0567,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.0717,
y: -15.8925,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.0717,
y: -15.55,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.615,
y: -15.55,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_123",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_34",
"pcb_port_233"
],
route: [
{
route_type: "wire",
x: -0.615,
y: -10.15,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.6149999999999984,
y: -10,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.7650000000000006,
y: -9.85,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.7650000000000006,
y: -9.799999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.0650000000000013,
y: -8.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.1149999999999984,
y: -8.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.164999999999999,
y: -8.45,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.8150000000000013,
y: -8.45,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.8649999999999984,
y: -8.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.914999999999999,
y: -8.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.965,
y: -8.549999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.015000000000001,
y: -8.549999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.065000000000001,
y: -8.6,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.065000000000001,
y: -8.649999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.114999999999998,
y: -8.7,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.114999999999998,
y: -8.899999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.364999999999998,
y: -9.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -4.364999999999998,
y: -9.149999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.364999999999998,
y: -9.149999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.965,
y: -10.549999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.965,
y: -12.65,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -2.965,
y: -12.65,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -2.965,
y: -12.65,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.164999999999999,
y: -12.65,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.6149999999999984,
y: -12.1,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5,
y: -11.99,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_124",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_364",
"pcb_port_337"
],
route: [
{
route_type: "wire",
x: 12.25,
y: 0.825,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.2051,
y: 0.1349999999999999,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_125",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_53",
"pcb_port_2"
],
route: [
{
route_type: "wire",
x: -9.475,
y: -10.65,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.475,
y: -11.5367,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.765,
y: -11.5367,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.3883,
y: -12.16,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.3883,
y: -12.85,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.175,
y: -12.85,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.175,
y: -13.7367,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.615,
y: -14.2967,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.615,
y: -16.1017,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.4133,
y: -16.1017,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.015,
y: -15.5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.015,
y: -10.75,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.5583,
y: -10.75,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.5583,
y: -10.4075,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.4376,
y: -9.2868,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.125,
y: -9.2868,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.125,
y: -8.6751,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.124998,
y: -8.675063,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_126__source_net_0_retained_126",
connection_name: "source_trace_126__source_net_0",
connectsTo: [
"pcb_port_194",
"pcb_port_195"
],
route: [
{
route_type: "wire",
x: 1.4342450000000002,
y: -15.975036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.6842450000000007,
y: -15.725036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.234244999999998,
y: -15.725036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.2842449999999985,
y: -15.675035999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.3342449999999992,
y: -15.675035999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.384245,
y: -15.625036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.4342450000000007,
y: -15.625036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.4342450000000007,
y: -15.575036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.484244999999998,
y: -15.525036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.484244999999998,
y: -15.475036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.5342449999999985,
y: -15.425035999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.5342449999999985,
y: -13.475036,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.184245000000001,
y: -11.825035999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.300127000000001,
y: -11.75,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_175__source_net_0_retained_127",
connection_name: "source_trace_175__source_net_0",
connectsTo: [
"pcb_port_180",
"pcb_port_195"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -7.524964,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 7.165755000000001,
y: -7.374964,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 7.015754999999999,
y: -7.224964,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 7.015754999999999,
y: -6.874964,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 6.715754999999998,
y: -6.574964,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 6.715754999999998,
y: -6.574964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.215754999999998,
y: -6.074964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.165755000000001,
y: -6.074964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.115755,
y: -6.024964000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.715754999999998,
y: -6.024964000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.665755000000001,
y: -6.074964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.615755,
y: -6.074964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.515754999999999,
y: -6.174963999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.515754999999999,
y: -6.224964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.465754999999998,
y: -6.274964000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.465754999999998,
y: -6.624964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.415755000000001,
y: -6.674963999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.415755000000001,
y: -7.074964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.965754999999998,
y: -7.524964000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.965754999999998,
y: -7.574964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.915755000000001,
y: -7.624964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.915755000000001,
y: -7.724964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.565754999999999,
y: -8.074964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.565754999999999,
y: -8.124964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.515754999999999,
y: -8.174964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.515754999999999,
y: -9.424964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.415755000000001,
y: -9.524964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.415755000000001,
y: -10.774964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.415755000000001,
y: -10.774964,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 4.415755000000001,
y: -11.674964000000001,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 4.300127000000001,
y: -11.75,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_128",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_28",
"pcb_port_3"
],
route: [
{
route_type: "wire",
x: -11.174999999999999,
y: -12.85,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.175,
y: -13.7367,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.615,
y: -14.2967,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.615,
y: -16.1017,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.4133,
y: -16.1017,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.015,
y: -15.5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.015,
y: -11.75,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_131",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_381",
"pcb_port_194"
],
route: [
{
route_type: "wire",
x: 1.4342450000000002,
y: -15.975036,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 0.3241,
y: -15.975,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 0.3241,
y: -16.7833,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 0.0867,
y: -17.0207,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 0.0867,
y: -17.1,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -0.55,
y: -17.1,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -0.55004,
y: -17.100014,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_132",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_160",
"pcb_port_24"
],
route: [
{
route_type: "wire",
x: -11.615,
y: 0.25,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.0717,
y: 0.25,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.0717,
y: 1.4594,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.2455,
y: 1.6332,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.125,
y: 2.5,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_68__source_net_0_retained_133",
connection_name: "source_trace_68__source_net_0",
connectsTo: [
"pcb_port_20",
"pcb_port_15"
],
route: [
{
route_type: "wire",
x: -18,
y: 6.125000000000001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.2933,
y: 6.125,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.7868,
y: 6.6185,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.7868,
y: 7.9275,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.2721,
y: 8.4422,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.100074,
y: 8.500127,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_134",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_180"
],
route: [
{
route_type: "wire",
x: 7.165755000000001,
y: -7.524964,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 7.165755000000001,
y: -6.124964,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: 7.165755000000001,
y: -6.124964,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 7.165755000000001,
y: -6.124964,
layer: "bottom",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_135",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_160",
"pcb_port_125"
],
route: [
{
route_type: "wire",
x: -13.175,
y: 5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.125,
y: 5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.125,
y: 2.5,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_136",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_3",
"pcb_port_5"
],
route: [
{
route_type: "wire",
x: -11.174999999999999,
y: -12.85,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.175,
y: -13.7367,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.615,
y: -14.2967,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.615,
y: -15.55,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_137",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_3",
"pcb_port_2"
],
route: [
{
route_type: "wire",
x: -11.174999999999999,
y: -12.85,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.175,
y: -12.85,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.3883,
y: -12.85,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.3883,
y: -12.16,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.765,
y: -11.5367,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.475,
y: -11.5367,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.475,
y: -10.65,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_138",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_381",
"pcb_port_109"
],
route: [
{
route_type: "wire",
x: -2.9,
y: -15.575,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.8000400000000027,
y: -15.650013999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.8000400000000027,
y: -16.350014,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -2.8000400000000027,
y: -16.350014,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -2.8000400000000027,
y: -16.350014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.60004,
y: -16.150014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.60004,
y: -16.050014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.5500400000000027,
y: -16.000014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.5500400000000027,
y: -15.950014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.4000400000000006,
y: -15.800014000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.9500400000000013,
y: -15.800014000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.9000400000000006,
y: -15.850014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.7000400000000013,
y: -15.850014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.04995999999999867,
y: -16.600014,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.29995999999999867,
y: -16.600014,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 0.29995999999999867,
y: -16.600014,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.29995999999999867,
y: -16.600014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.050039999999999196,
y: -16.950014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.25004000000000204,
y: -16.950014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.4000400000000006,
y: -17.100014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.55004,
y: -17.100014,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_140",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_363",
"pcb_port_386"
],
route: [
{
route_type: "wire",
x: 10.2051,
y: -1.1350000000000002,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.3638,
y: -1.135,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 11.3867,
y: -2.1579,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 11.3867,
y: -4.05,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.850014,
y: -4.05,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 10.850014,
y: -4.05004,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_141",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_30",
"pcb_port_28"
],
route: [
{
route_type: "wire",
x: -16,
y: -11.26,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16,
y: -15,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -15.5,
y: -15.5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.015,
y: -15.5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.015,
y: -11.75,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_142",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_233",
"pcb_port_190"
],
route: [
{
route_type: "wire",
x: -1.5,
y: -11.99,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -1.5,
y: -12.089999999999998,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -2,
y: -12.589999999999998,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -2,
y: -12.79,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -2.0500000000000007,
y: -12.839999999999998,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -2.0500000000000007,
y: -12.839999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.0500000000000007,
y: -12.989999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.1499999999999986,
y: -13.09,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.1499999999999986,
y: -13.239999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2,
y: -13.389999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2,
y: -13.439999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.9499999999999993,
y: -13.489999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1,
y: -13.489999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.8499999999999979,
y: -13.639999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.7999999999999972,
y: -13.639999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.75,
y: -13.689999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.5,
y: -13.689999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.5,
y: -13.689999999999998,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: 1.1500000000000021,
y: -13.689999999999998,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: 1.3500000000000014,
y: -13.489999999999998,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: 1.4342450000000007,
y: -13.375092,
width: 0.107,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_143",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_32",
"pcb_port_155"
],
route: [
{
route_type: "wire",
x: -14.5,
y: -1.49,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.5,
y: 0.7657,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.6325,
y: 1.6332,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.63249,
y: 1.749938,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.63249,
y: 1.7499379999999998,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_144",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_5",
"pcb_port_117"
],
route: [
{
route_type: "wire",
x: -10.615,
y: -15.55,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.615,
y: -19.4,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.115,
y: -19.9,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10,
y: -20,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_145",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_386",
"pcb_port_391"
],
route: [
{
route_type: "wire",
x: 10.850014,
y: -4.05004,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.700013999999996,
y: -4.050039999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.550013999999997,
y: -3.900039999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.300013999999997,
y: -3.900039999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.100013999999998,
y: -3.7000399999999978,
width: 0.1,
layer: "top"
},
{
route_type: "via",
x: 10.100013999999998,
y: -3.7000399999999978,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 10.100013999999998,
y: -3.7000399999999978,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 10.100013999999998,
y: -4.2500399999999985,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 10.750013999999997,
y: -4.900039999999997,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 10.750013999999997,
y: -5.050039999999997,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 10.750013999999997,
y: -5.050039999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 10.750013999999997,
y: -6.150039999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 10.75,
y: -6.19,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 10.75,
y: -6.19,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 10.75,
y: -6.19,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.750013999999997,
y: -6.2500399999999985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.750013999999997,
y: -6.650039999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.750013999999997,
y: -6.650039999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.750013999999997,
y: -6.800039999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 11.350014,
y: -7.40004,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_146",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_53",
"pcb_port_91"
],
route: [
{
route_type: "wire",
x: -10.124998,
y: -8.675063,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.125,
y: -8.675063,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.125,
y: -7.7301,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.3815,
y: -6.9866,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.125,
y: -6.9866,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.125,
y: -5.249873,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_147",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_322",
"pcb_port_365"
],
route: [
{
route_type: "wire",
x: 10.2051,
y: 1.4049999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.100000000000001,
y: 1.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.75,
y: 1.8500000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.75,
y: 2.1000000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 9.75,
y: 2.1000000000000014,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 9.75,
y: 2.1000000000000014,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.75,
y: 3.25,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.600000000000001,
y: 3.400000000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.600000000000001,
y: 3.5,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 9.600000000000001,
y: 3.5,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 9.600000000000001,
y: 3.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.5,
y: 3.400000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.350000000000001,
y: 3.400000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.75,
y: 4,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_149",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_127",
"pcb_port_93"
],
route: [
{
route_type: "wire",
x: -6.325,
y: 0.4600000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.525,
y: 0.6600000000000004,
width: 0.15,
layer: "top"
}
],
source_trace_id: "source_trace_76"
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_150",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_2",
"pcb_port_97"
],
route: [
{
route_type: "wire",
x: -9.475,
y: -10.65,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.475,
y: -11.5367,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.765,
y: -11.5367,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.3883,
y: -12.16,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.3883,
y: -12.85,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.175,
y: -12.85,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.175,
y: -13.7367,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.615,
y: -14.2967,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.615,
y: -15.55,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.1583,
y: -15.55,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.1583,
y: -15.8925,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.9941,
y: -16.0567,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.2359,
y: -16.0567,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.0717,
y: -15.8925,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.0717,
y: -15.55,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.8367,
y: -15.55,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.8367,
y: -13.0168,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.0664,
y: -12.2465,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.4594,
y: -12.2465,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.6184,
y: -11.4055,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.6184,
y: -10.9533,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.815,
y: -10.7567,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.815,
y: -10.25,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_151",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_283"
],
route: [
{
route_type: "wire",
x: 3.5,
y: 6.124999999999999,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 3.5,
y: 5.324999999999999,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: 3.5,
y: 5.324999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 3.5,
y: 5.324999999999999,
layer: "bottom",
width: 0.15
}
],
source_trace_id: "source_trace_174"
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_152",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_339"
],
route: [
{
route_type: "wire",
x: 0.635,
y: -5.31,
layer: "bottom",
width: 0.15
},
{
route_type: "wire",
x: 2.6850000000000023,
y: -4.810000000000002,
layer: "bottom",
width: 0.15
},
{
route_type: "via",
x: 2.6850000000000023,
y: -4.810000000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 2.6850000000000023,
y: -4.810000000000002,
layer: "top",
width: 0.15
}
],
source_trace_id: "source_trace_290"
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_153",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_256",
"pcb_port_258"
],
route: [
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "top",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "top",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "bottom",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 19.4741308
},
end: {
x: 2.674888,
y: 19.4741308
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_4"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 19.4741308
},
end: {
x: 2.674888,
y: 19.4741308
},
start_layer: "inner1",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_4"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 19.4741308
},
end: {
x: 2.674888,
y: 19.4741308
},
start_layer: "bottom",
end_layer: "top",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_4"
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_154",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_255",
"pcb_port_257"
],
route: [
{
route_type: "wire",
x: 11.325112,
y: 15.2943068,
layer: "top",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 11.325112,
y: 15.2943068
},
end: {
x: 11.325112,
y: 15.2943068
},
start_layer: "top",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_6"
},
{
route_type: "through_pad",
start: {
x: 11.325112,
y: 15.2943068
},
end: {
x: 11.325112,
y: 15.2943068
},
start_layer: "bottom",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_6"
},
{
route_type: "through_pad",
start: {
x: 11.325112,
y: 15.2943068
},
end: {
x: 11.325112,
y: 15.2943068
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_6"
},
{
route_type: "wire",
x: 11.325112,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: 11.325112,
y: 19.474130799999998,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 11.325112,
y: 19.474130799999998
},
end: {
x: 11.325112,
y: 19.474130799999998
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_7"
},
{
route_type: "through_pad",
start: {
x: 11.325112,
y: 19.474130799999998
},
end: {
x: 11.325112,
y: 19.474130799999998
},
start_layer: "inner1",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_7"
},
{
route_type: "through_pad",
start: {
x: 11.325112,
y: 19.474130799999998
},
end: {
x: 11.325112,
y: 19.474130799999998
},
start_layer: "bottom",
end_layer: "top",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_7"
},
{
route_type: "wire",
x: 11.325112,
y: 19.474130799999998,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_155",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_255",
"pcb_port_319"
],
route: [
{
route_type: "wire",
x: 11.325112,
y: 15.2943068,
layer: "top",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 11.325112,
y: 15.2943068
},
end: {
x: 11.325112,
y: 15.2943068
},
start_layer: "top",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_6"
},
{
route_type: "through_pad",
start: {
x: 11.325112,
y: 15.2943068
},
end: {
x: 11.325112,
y: 15.2943068
},
start_layer: "bottom",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_6"
},
{
route_type: "wire",
x: 11.325112,
y: 15.2943068,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: 11.9,
y: 15.9,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: 15.5,
y: 15.5,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 15.5,
y: 15.5
},
end: {
x: 15.5,
y: 15.5
},
start_layer: "inner1",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_15"
},
{
route_type: "through_pad",
start: {
x: 15.5,
y: 15.5
},
end: {
x: 15.5,
y: 15.5
},
start_layer: "bottom",
end_layer: "top",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_15"
},
{
route_type: "wire",
x: 15.5,
y: 15.5,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_156",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_30",
"pcb_port_316"
],
route: [
{
route_type: "wire",
x: -16,
y: -11.26,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16,
y: -15,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -15.5,
y: -15.5,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_157",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_20",
"pcb_port_298"
],
route: [
{
route_type: "wire",
x: -18,
y: 6.125000000000001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.2933,
y: 6.125,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.6668,
y: 5.7515,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.6668,
y: 3.8559,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18,
y: 3.1891,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18,
y: 1.8524189999999998,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_158",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_318",
"pcb_port_245"
],
route: [
{
route_type: "wire",
x: 17.0212,
y: -11.5,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 17.0212,
y: -12.5,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 17.0212,
y: -12.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 17.0212,
y: -14,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 16.1712,
y: -14.85,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 16.1712,
y: -14.85,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 15.621199999999995,
y: -15.399999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 15.5,
y: -15.5,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_159",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_26",
"pcb_port_30"
],
route: [
{
route_type: "wire",
x: -16,
y: -11.26,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.439999999999998,
y: -10.7,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.34,
y: -10.7,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -15.34,
y: -10.7,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -15.34,
y: -10.7,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -15.34,
y: -8.85,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -16.24,
y: -7.949999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -16.24,
y: -7.699999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -16.24,
y: -7.699999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -16.24,
y: -7.699999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.59,
y: -7.35,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.59,
y: -7.299999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.74,
y: -7.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.74,
y: -7,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_160",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_128",
"pcb_port_256"
],
route: [
{
route_type: "wire",
x: -1.6748880000000002,
y: 15.2943068,
layer: "top",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 15.2943068
},
end: {
x: -1.6748880000000002,
y: 15.2943068
},
start_layer: "top",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_2"
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 15.2943068
},
end: {
x: -1.6748880000000002,
y: 15.2943068
},
start_layer: "bottom",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_2"
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 15.2943068
},
end: {
x: -1.6748880000000002,
y: 15.2943068
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_2"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 19.474130799999998
},
end: {
x: -1.6748880000000002,
y: 19.474130799999998
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_3"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 19.4741308
},
end: {
x: 2.674888,
y: 19.4741308
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_4"
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "inner1",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "bottom",
end_layer: "top",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_161",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_130",
"pcb_port_258"
],
route: [
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "top",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 19.474130799999998
},
end: {
x: -1.6748880000000002,
y: 19.474130799999998
},
start_layer: "top",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_3"
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 19.474130799999998
},
end: {
x: -1.6748880000000002,
y: 19.474130799999998
},
start_layer: "bottom",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_3"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 19.4741308
},
end: {
x: 2.674888,
y: 19.4741308
},
start_layer: "inner1",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_4"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 19.4741308
},
end: {
x: 2.674888,
y: 19.4741308
},
start_layer: "bottom",
end_layer: "top",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_4"
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_163",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_298",
"pcb_port_155"
],
route: [
{
route_type: "wire",
x: -13.63249,
y: 1.7499379999999998,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.63249,
y: 1.749938,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.63249,
y: 1.6332,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.2455,
y: 1.6332,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.125,
y: 2.5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.125,
y: 5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.9617,
y: 6.1633,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.65,
y: 6.1633,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.65,
y: 9.03,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: -10.65,
y: 9.03,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -10.65,
y: 9.03,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -9.2723,
y: 9.03,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -8.275,
y: 9.825000000000001,
layer: "inner1",
width: 0.15
},
{
route_type: "via",
x: -8.275,
y: 9.825000000000001,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -8.275,
y: 9.825000000000001,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -10.325,
y: 12.6473,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -10.325112,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -10.325112,
y: 15.2943068
},
end: {
x: -10.325112,
y: 15.2943068
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_1"
},
{
route_type: "wire",
x: -10.325112,
y: 15.2943068,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -10.9,
y: 15.9,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -15.5,
y: 15.5,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -15.5,
y: 15.5
},
end: {
x: -15.5,
y: 15.5
},
start_layer: "inner1",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_13"
},
{
route_type: "through_pad",
start: {
x: -15.5,
y: 15.5
},
end: {
x: -15.5,
y: 15.5
},
start_layer: "bottom",
end_layer: "top",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_13"
},
{
route_type: "wire",
x: -15.5,
y: 15.5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.46,
y: 15.5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -20.0219,
y: 13.9381,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -20.0219,
y: 12.1579,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -19.0707,
y: 11.2067,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.749,
y: 11.2067,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.749,
y: 10.9133,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.7868,
y: 10.8755,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.7868,
y: 8.9569,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.2721,
y: 8.4422,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.7868,
y: 7.9275,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.7868,
y: 6.6185,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.2933,
y: 6.125,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.6668,
y: 5.7515,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.6668,
y: 3.8559,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18,
y: 3.1891,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18,
y: 1.8524189999999998,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_164",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_396",
"pcb_port_345"
],
route: [
{
route_type: "wire",
x: 2.7051,
y: -2.1350000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.594999999999999,
y: -2.0550999999999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.1950000000000003,
y: -1.6550999999999974,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.2949999999999982,
y: -1.6550999999999974,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 1.2949999999999982,
y: -1.6550999999999974,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 1.2949999999999982,
y: -1.6550999999999974,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.1449999999999996,
y: -1.5050999999999988,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.7550000000000026,
y: -1.5050999999999988,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.8049999999999997,
y: -1.555099999999996,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.9050000000000011,
y: -1.555099999999996,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1050000000000004,
y: -1.7550999999999988,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1050000000000004,
y: -1.9050999999999974,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.905,
y: -2.7051,
width: 0.15,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_166",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_243",
"pcb_port_245"
],
route: [
{
route_type: "wire",
x: 12.2712,
y: -11.5,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 12.2712,
y: -11.65,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 12.121199999999995,
y: -11.799999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 12.121199999999995,
y: -12.2,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 11.871199999999995,
y: -12.45,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 11.871199999999995,
y: -12.45,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.471199999999996,
y: -12.85,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.471199999999996,
y: -13.649999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.5212,
y: -13.7,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.471199999999996,
y: -13.7,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.5212,
y: -13.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.571199999999997,
y: -13.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.621199999999995,
y: -13.8,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.671199999999999,
y: -13.8,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 14.821199999999997,
y: -12.65,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 15.871199999999995,
y: -12.65,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 16.321199999999997,
y: -12.2,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 16.321199999999997,
y: -12.2,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 17.0212,
y: -11.5,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_167",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_335"
],
route: [
{
route_type: "wire",
x: 1.99,
y: 1.95,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 1.74,
y: 1.95,
width: 0.1,
layer: "top"
}
],
source_trace_id: "source_trace_231"
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_168",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_160",
"pcb_port_301"
],
route: [
{
route_type: "wire",
x: -12.125,
y: 2.5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.125,
y: 5,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.9617,
y: 6.1633,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.65,
y: 6.1633,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.65,
y: 7.5,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_169",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_20",
"pcb_port_110"
],
route: [
{
route_type: "wire",
x: -18,
y: 6.125000000000001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.2933,
y: 6.125,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.7868,
y: 6.6185,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.7868,
y: 7.9275,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.2721,
y: 8.4422,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.7868,
y: 8.9569,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.7868,
y: 10.8755,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.749,
y: 10.9133,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.749,
y: 11.5,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_170",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_132",
"pcb_port_256"
],
route: [
{
route_type: "wire",
x: -2.8000445000000003,
y: 14.5259568,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -2.225,
y: 14.375,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 15.2943068,
layer: "top",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 15.2943068
},
end: {
x: -1.6748880000000002,
y: 15.2943068
},
start_layer: "top",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_2"
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 15.2943068
},
end: {
x: -1.6748880000000002,
y: 15.2943068
},
start_layer: "bottom",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_2"
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 15.2943068
},
end: {
x: -1.6748880000000002,
y: 15.2943068
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_2"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 19.474130799999998
},
end: {
x: -1.6748880000000002,
y: 19.474130799999998
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_3"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 19.4741308
},
end: {
x: 2.674888,
y: 19.4741308
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_4"
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "inner1",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "bottom",
end_layer: "top",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_171",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_95",
"pcb_port_91"
],
route: [
{
route_type: "wire",
x: -9.125,
y: -5.249873,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.025000000000002,
y: -5.339999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.825000000000001,
y: -6.539999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.825000000000001,
y: -7.189999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -7.825000000000001,
y: -7.189999999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -7.825000000000001,
y: -7.189999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.625000000000002,
y: -6.989999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.625000000000002,
y: -2.4899999999999984,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.575000000000001,
y: -2.4399999999999977,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.575000000000001,
y: -2.389999999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.525000000000002,
y: -1.3399999999999963,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.525000000000002,
y: -1.139999999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.475000000000001,
y: -1.0899999999999963,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.475000000000001,
y: -0.9899999999999984,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.275000000000002,
y: -0.7899999999999991,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.265000000000001,
y: 1.1500000000000021,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -6.265000000000001,
y: 1.1500000000000021,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.265000000000001,
y: 1.1500000000000021,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.975000000000001,
y: 0.46000000000000085,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.925,
y: 0.4600000000000002,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_172",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_281",
"pcb_port_259"
],
route: [
{
route_type: "wire",
x: 10.1999555,
y: 14.5259568,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.199955500000002,
y: 13.5259568,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.199955500000002,
y: 13.5259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.199955500000002,
y: 12.725956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.999955499999999,
y: 12.5259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.999955499999999,
y: 11.975956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.7999555,
y: 11.7759568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.7999555,
y: 9.625956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.749955499999999,
y: 9.575956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.749955499999999,
y: 9.525956799999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.499955499999999,
y: 9.275956799999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.499955499999999,
y: 5.125956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 9.3999555,
y: 5.025956799999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.8499555,
y: 5.025956799999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.5999555,
y: 4.775956799999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.199955500000002,
y: 4.775956799999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.0999555,
y: 4.675956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.5999555,
y: 4.675956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.549955499999999,
y: 4.625956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.499955499999999,
y: 4.625956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.4499555000000015,
y: 4.575956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.399955500000001,
y: 4.575956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.049955499999999,
y: 4.225956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.9499555000000015,
y: 4.225956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.899955500000001,
y: 4.175956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.649955500000001,
y: 4.175956799999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.5999555,
y: 4.225956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.549955499999999,
y: 4.225956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.499955499999999,
y: 4.275956799999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.4499555000000015,
y: 4.275956799999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.6999555000000015,
y: 5.025956799999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.5999555,
y: 5.025956799999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.499955499999999,
y: 5.125956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.499955499999999,
y: 7.475956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.3499555,
y: 8.325956799999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.3499555,
y: 8.325956799999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 6.899955500000001,
y: 8.875956799999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 7,
y: 8.999873,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_173",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_355",
"pcb_port_400"
],
route: [
{
route_type: "wire",
x: -4.25,
y: 4.51,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.199999999999999,
y: 4.510000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.75,
y: 4.960000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.6999999999999993,
y: 4.960000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.6499999999999986,
y: 5.010000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.8000000000000007,
y: 5.010000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.3000000000000007,
y: 4.510000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.3000000000000007,
y: 3.9100000000000037,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.25,
y: 3.860000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.25,
y: 3.8100000000000023,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.1499999999999986,
y: 2.710000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.1499999999999986,
y: 2.6600000000000037,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.0999999999999979,
y: 2.610000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.45000000000000284,
y: 2.610000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 0.5,
y: 2.5600000000000023,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.1500000000000021,
y: 2.5600000000000023,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.25,
y: 2.460000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.25,
y: 1.4100000000000037,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.3900000000000006,
y: 1.2499999999999964,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 1.3900000000000006,
y: 1.2499999999999964,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 1.3900000000000006,
y: 1.2499999999999964,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.4000000000000021,
y: 2.210000000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.8000000000000007,
y: 2.610000000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.905,
y: 2.7051,
width: 0.15,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_175",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_328",
"pcb_port_373"
],
route: [
{
route_type: "wire",
x: -3.94996,
y: 7.999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.5499600000000022,
y: 5.399998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.449960000000001,
y: 5.299997999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.099960000000003,
y: 5.299997999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.2999600000000022,
y: 4.499997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.2999600000000022,
y: 3.899998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.0999599999999994,
y: 2.5999979999999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.60004,
y: 2.5999979999999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.60004,
y: 4.249997999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.650040000000001,
y: 4.799997999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.450039999999998,
y: 4.799997999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.01,
y: 4.25,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_176",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_93",
"pcb_port_123"
],
route: [
{
route_type: "wire",
x: -7.525,
y: 0.6600000000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.725,
y: 0.4600000000000002,
width: 0.15,
layer: "top"
}
],
source_trace_id: "source_trace_74"
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_179",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_143",
"pcb_port_256"
],
route: [
{
route_type: "wire",
x: -9.2000063,
y: 14.5258552,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.2,
y: 14.375,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.4875,
y: 14.0875,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.325112,
y: 15.2943068,
layer: "top",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -10.325112,
y: 15.2943068
},
end: {
x: -10.325112,
y: 15.2943068
},
start_layer: "top",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_1"
},
{
route_type: "through_pad",
start: {
x: -10.325112,
y: 15.2943068
},
end: {
x: -10.325112,
y: 15.2943068
},
start_layer: "bottom",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_1"
},
{
route_type: "wire",
x: -10.325112,
y: 15.2943068,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -10.0419,
y: 15.0419,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -1.9581,
y: 15.0419,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 15.2943068,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 15.2943068
},
end: {
x: -1.6748880000000002,
y: 15.2943068
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_2"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 19.474130799999998
},
end: {
x: -1.6748880000000002,
y: 19.474130799999998
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_3"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 19.4741308
},
end: {
x: 2.674888,
y: 19.4741308
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_4"
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "inner1",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "bottom",
end_layer: "top",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_180",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_129",
"pcb_port_256"
],
route: [
{
route_type: "wire",
x: -10.325112,
y: 15.2943068,
layer: "top",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -10.325112,
y: 15.2943068
},
end: {
x: -10.325112,
y: 15.2943068
},
start_layer: "top",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_1"
},
{
route_type: "through_pad",
start: {
x: -10.325112,
y: 15.2943068
},
end: {
x: -10.325112,
y: 15.2943068
},
start_layer: "bottom",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_1"
},
{
route_type: "wire",
x: -10.325112,
y: 15.2943068,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -10.0419,
y: 15.0419,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -1.9581,
y: 15.0419,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 15.2943068,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 15.2943068
},
end: {
x: -1.6748880000000002,
y: 15.2943068
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_2"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 19.474130799999998
},
end: {
x: -1.6748880000000002,
y: 19.474130799999998
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_3"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 19.4741308
},
end: {
x: 2.674888,
y: 19.4741308
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_4"
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "inner1",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "bottom",
end_layer: "top",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_181",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_131",
"pcb_port_258"
],
route: [
{
route_type: "wire",
x: -10.325112,
y: 19.4741308,
layer: "top",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -10.325112,
y: 19.4741308
},
end: {
x: -10.325112,
y: 19.4741308
},
start_layer: "top",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_0"
},
{
route_type: "through_pad",
start: {
x: -10.325112,
y: 19.4741308
},
end: {
x: -10.325112,
y: 19.4741308
},
start_layer: "bottom",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_0"
},
{
route_type: "through_pad",
start: {
x: -10.325112,
y: 19.4741308
},
end: {
x: -10.325112,
y: 19.4741308
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_0"
},
{
route_type: "wire",
x: -10.325112,
y: 19.4741308,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -10.325112,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -10.325112,
y: 15.2943068
},
end: {
x: -10.325112,
y: 15.2943068
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_1"
},
{
route_type: "wire",
x: -10.325112,
y: 15.2943068,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -10.0419,
y: 15.0419,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -1.9581,
y: 15.0419,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 15.2943068,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 15.2943068
},
end: {
x: -1.6748880000000002,
y: 15.2943068
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_2"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 19.474130799999998
},
end: {
x: -1.6748880000000002,
y: 19.474130799999998
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_3"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 19.4741308
},
end: {
x: 2.674888,
y: 19.4741308
},
start_layer: "inner1",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_4"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 19.4741308
},
end: {
x: 2.674888,
y: 19.4741308
},
start_layer: "bottom",
end_layer: "top",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_4"
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_182",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_317",
"pcb_port_256"
],
route: [
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "top",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "top",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "bottom",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 15.2943068
},
end: {
x: 2.674888,
y: 15.2943068
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_5"
},
{
route_type: "wire",
x: 2.674888,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: 2.674888,
y: 19.4741308
},
end: {
x: 2.674888,
y: 19.4741308
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_4"
},
{
route_type: "wire",
x: 2.674888,
y: 19.4741308,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 19.474130799999998
},
end: {
x: -1.6748880000000002,
y: 19.474130799999998
},
start_layer: "inner1",
end_layer: "inner2",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_3"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 19.474130799999998,
layer: "inner2",
width: 0.15
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 15.2943068,
layer: "inner2",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -1.6748880000000002,
y: 15.2943068
},
end: {
x: -1.6748880000000002,
y: 15.2943068
},
start_layer: "inner2",
end_layer: "inner1",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_2"
},
{
route_type: "wire",
x: -1.6748880000000002,
y: 15.2943068,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -1.9581,
y: 15.0419,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -10.0419,
y: 15.0419,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -10.9,
y: 15.9,
layer: "inner1",
width: 0.15
},
{
route_type: "wire",
x: -15.5,
y: 15.5,
layer: "inner1",
width: 0.15
},
{
route_type: "through_pad",
start: {
x: -15.5,
y: 15.5
},
end: {
x: -15.5,
y: 15.5
},
start_layer: "inner1",
end_layer: "bottom",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_13"
},
{
route_type: "through_pad",
start: {
x: -15.5,
y: 15.5
},
end: {
x: -15.5,
y: 15.5
},
start_layer: "bottom",
end_layer: "top",
width: 0.15,
pcb_plated_hole_id: "pcb_plated_hole_13"
},
{
route_type: "wire",
x: -15.5,
y: 15.5,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_58_retained_183",
connection_name: "source_trace_58",
connectsTo: [
"pcb_port_141",
"pcb_port_146"
],
route: [
{
route_type: "wire",
x: -7.75006,
y: 14.5259568,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.75,
y: 13.56,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.5533,
y: 12.7567,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.5533,
y: 12.3,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.01,
y: 12.3,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_57_retained_184",
connection_name: "source_trace_57",
connectsTo: [
"pcb_port_135",
"pcb_port_144"
],
route: [
{
route_type: "wire",
x: -4.750066,
y: 14.5259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.75,
y: 14.525000000000006,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.599999999999998,
y: 15.075000000000005,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.599999999999998,
y: 15.475000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.25,
y: 15.825000000000005,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.25,
y: 15.875000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.199999999999999,
y: 15.925000000000006,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.199999999999999,
y: 16.675000000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.349999999999998,
y: 16.825000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.399999999999999,
y: 16.825000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.449999999999999,
y: 16.875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.849999999999998,
y: 16.875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.899999999999999,
y: 16.825000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.949999999999999,
y: 16.825000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.799999999999999,
y: 15.975000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -5.799999999999999,
y: 15.975000000000003,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -5.799999999999999,
y: 15.975000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.799999999999999,
y: 15.625000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.25,
y: 13.775000000000006,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.25,
y: 13.725000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.299999999999999,
y: 13.675000000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.299999999999999,
y: 13.575000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.35,
y: 13.525000000000006,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.35,
y: 12.775000000000006,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -8.5,
y: 11.625,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -8.5,
y: 11.625,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -8.5,
y: 11.625,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.5,
y: 11.475000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.899999999999999,
y: 11.075000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.01,
y: 11,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_56_retained_185",
connection_name: "source_trace_56",
connectsTo: [
"pcb_port_151",
"pcb_port_81"
],
route: [
{
route_type: "wire",
x: -5.335,
y: 0.9500000000000003,
layer: "top",
width: 0.1
},
{
route_type: "wire",
x: -5.335,
y: 0.4683,
layer: "top",
width: 0.1
},
{
route_type: "wire",
x: -5.468,
y: 0.4683,
layer: "top",
width: 0.1
},
{
route_type: "wire",
x: -5.9433,
y: -7e-3,
layer: "top",
width: 0.1
},
{
route_type: "wire",
x: -6.9198,
y: -7e-3,
layer: "top",
width: 0.1
},
{
route_type: "wire",
x: -7.0132,
y: 0.0864,
layer: "top",
width: 0.1
},
{
route_type: "wire",
x: -7.9066,
y: 0.0864,
layer: "top",
width: 0.1
},
{
route_type: "wire",
x: -8.125,
y: -0.132,
layer: "top",
width: 0.1
},
{
route_type: "wire",
x: -8.125,
y: -1.8249,
layer: "top",
width: 0.1
},
{
route_type: "wire",
x: -8.125002,
y: -1.824937,
layer: "top",
width: 0.1
},
{
route_type: "wire",
x: -8.125002,
y: -1.8249369999999998,
layer: "top",
width: 0.1
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_55_retained_186",
connection_name: "source_trace_55",
connectsTo: [
"pcb_port_149",
"pcb_port_80"
],
route: [
{
route_type: "wire",
x: -5.335,
y: -0.3499999999999996,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.335000000000001,
y: -0.1999999999999993,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.285,
y: -0.14999999999999858,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.285,
y: 0.02500000000000213,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.260000000000002,
y: 0.05000000000000071,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.260000000000002,
y: 0.1750000000000007,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.91,
y: 0.5250000000000021,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.91,
y: 0.5500000000000007,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.885000000000002,
y: 0.5750000000000028,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.885000000000002,
y: 1.3500000000000014,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.1850000000000005,
y: 1.6500000000000021,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.1850000000000005,
y: 1.6500000000000021,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.835000000000001,
y: 2.3000000000000007,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.835000000000001,
y: 3.2250000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.885000000000002,
y: 3.275000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -5.885000000000002,
y: 3.275000000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -5.885000000000002,
y: 3.275000000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.110000000000001,
y: 3.0500000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.260000000000002,
y: 3.0500000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.385000000000002,
y: 3.1750000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.385000000000002,
y: 3.200000000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.4350000000000005,
y: 3.25,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.4350000000000005,
y: 3.275000000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.460000000000001,
y: 3.3000000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.460000000000001,
y: 3.325000000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.485000000000001,
y: 3.3500000000000014,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.485000000000001,
y: 3.5500000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.6850000000000005,
y: 3.75,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.710000000000001,
y: 3.75,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.760000000000002,
y: 3.8000000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.785,
y: 3.8000000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.8100000000000005,
y: 3.825000000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.860000000000001,
y: 3.825000000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.885000000000002,
y: 3.8500000000000014,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.110000000000001,
y: 3.8500000000000014,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.135000000000002,
y: 3.825000000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.185,
y: 3.825000000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.21,
y: 3.8000000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.235000000000001,
y: 3.8000000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.260000000000002,
y: 3.775000000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.285,
y: 3.775000000000002,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.360000000000001,
y: 3.700000000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.360000000000001,
y: 3.6750000000000007,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.41,
y: 3.625,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.41,
y: 3.6000000000000014,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.435,
y: 3.575000000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.435,
y: 3.4750000000000014,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.46,
y: 3.450000000000003,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.46,
y: 3.375,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.085,
y: -1.25,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -13.085,
y: -1.25,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -13.085,
y: -1.25,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.660000000000002,
y: -1.6749999999999972,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.660000000000002,
y: -2.2749999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.635000000000002,
y: -2.3000000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.635000000000002,
y: -2.349999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.610000000000001,
y: -2.375,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.610000000000001,
y: -2.3999999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.46,
y: -2.5500000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.435,
y: -2.5500000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.410000000000002,
y: -2.5749999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.360000000000001,
y: -2.5749999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.335,
y: -2.599999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -12.185,
y: -2.599999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -11.71,
y: -3.0749999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -11.71,
y: -3.0749999999999993,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -11.71,
y: -3.0749999999999993,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.185,
y: -3.0749999999999993,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.96,
y: -3.3000000000000007,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -9.96,
y: -3.3000000000000007,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -9.96,
y: -3.3000000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.610000000000001,
y: -3.6499999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.585,
y: -3.6499999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.56,
y: -3.6750000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.535,
y: -3.6750000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.510000000000002,
y: -3.6999999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.46,
y: -3.6999999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.435,
y: -3.724999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.21,
y: -3.724999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.185,
y: -3.6999999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.135000000000002,
y: -3.6999999999999993,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.110000000000001,
y: -3.6750000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.085,
y: -3.6750000000000007,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.035,
y: -3.625,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.010000000000002,
y: -3.625,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.91,
y: -3.5249999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.760000000000002,
y: -3.5249999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.760000000000002,
y: -3.5249999999999986,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.485000000000001,
y: -3.5249999999999986,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.46,
y: -3.5,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.41,
y: -3.5,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.360000000000001,
y: -3.4499999999999993,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.335,
y: -3.4499999999999993,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.285,
y: -3.3999999999999986,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.285,
y: -3.375,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.235000000000001,
y: -3.3249999999999993,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.235000000000001,
y: -3.2749999999999986,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.21,
y: -3.25,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.21,
y: -2.75,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.135000000000002,
y: -2.6750000000000007,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -8.111699999999999,
y: -2.6384,
width: 0.1,
layer: "bottom"
},
{
route_type: "via",
x: -8.111699999999999,
y: -2.6384,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -8.111699999999999,
y: -2.6384,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.110000000000001,
y: -2.625,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.110000000000001,
y: -2.599999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -7.860000000000001,
y: -2.349999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -7.860000000000001,
y: -1.9499999999999993,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -7.785,
y: -1.875,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -7.724952,
y: -1.8249369999999998,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_43__source_net_11_retained_187",
connection_name: "source_trace_43__source_net_11",
connectsTo: [
"pcb_port_94",
"pcb_port_84"
],
route: [
{
route_type: "wire",
x: -9.925,
y: -0.5599999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.425,
y: -1.2600000000000016,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.325152,
y: -1.8249369999999998,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_45__source_net_11_retained_188",
connection_name: "source_trace_45__source_net_11",
connectsTo: [
"pcb_port_92",
"pcb_port_79"
],
route: [
{
route_type: "wire",
x: -7.325156,
y: -1.8249369999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.525,
y: -0.35999999999999965,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_11_retained_189",
connection_name: "source_net_11",
connectsTo: [
"pcb_port_84",
"pcb_port_79"
],
route: [
{
route_type: "wire",
x: -9.325152,
y: -1.8249369999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.275151999999999,
y: -1.8749369999999992,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.275151999999999,
y: -1.924937,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.225151999999998,
y: -1.9749370000000006,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.225151999999998,
y: -2.324937000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.175151999999997,
y: -2.374936999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.175151999999997,
y: -2.674937,
width: 0.1,
layer: "top"
},
{
route_type: "via",
x: -9.175151999999997,
y: -2.674937,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -9.175151999999997,
y: -2.674937,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -7.5251519999999985,
y: -1.0249370000000013,
width: 0.1,
layer: "inner2"
},
{
route_type: "via",
x: -7.5251519999999985,
y: -1.0249370000000013,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -7.5251519999999985,
y: -1.0249370000000013,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -7.5251519999999985,
y: -1.174937,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -7.475151999999998,
y: -1.2249370000000006,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -7.475151999999998,
y: -1.2749370000000013,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -7.425151999999997,
y: -1.3249369999999985,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -7.425151999999997,
y: -1.7249370000000006,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -7.325156,
y: -1.8249369999999998,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_48__source_net_11_retained_190",
connection_name: "source_trace_48__source_net_11",
connectsTo: [
"pcb_port_57",
"pcb_port_96"
],
route: [
{
route_type: "wire",
x: -8.525052,
y: -8.675063,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.525052000000002,
y: -8.725063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.575052000000001,
y: -8.775063000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.575052000000001,
y: -8.825063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.425052,
y: -8.975063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.425052,
y: -9.225063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.325052000000001,
y: -9.325063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.225052000000002,
y: -9.325063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.975052000000002,
y: -9.575063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.975052000000002,
y: -9.725063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.725052000000002,
y: -9.975063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.075052000000001,
y: -9.975063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.925052000000001,
y: -10.125063000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.835,
y: -10.25,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_11_retained_191",
connection_name: "source_net_11",
connectsTo: [
"pcb_port_84",
"pcb_port_57"
],
route: [
{
route_type: "wire",
x: -9.325152,
y: -1.8249369999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.325151999999997,
y: -3.2749370000000013,
width: 0.1,
layer: "top"
},
{
route_type: "via",
x: -9.325151999999997,
y: -3.2749370000000013,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -9.325151999999997,
y: -3.2749370000000013,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -9.325151999999997,
y: -3.424937,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -8.775151999999999,
y: -3.9749370000000006,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: -8.775151999999999,
y: -7.474937000000001,
width: 0.1,
layer: "inner2"
},
{
route_type: "via",
x: -8.775151999999999,
y: -7.474937000000001,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -8.775151999999999,
y: -7.474937000000001,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.775151999999999,
y: -7.974937000000001,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.675151999999997,
y: -8.074937,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.675151999999997,
y: -8.124937000000001,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.625151999999998,
y: -8.174937,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.625151999999998,
y: -8.574937,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.525052,
y: -8.675063,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_36_retained_192",
connection_name: "source_trace_36",
connectsTo: [
"pcb_port_86",
"pcb_port_157"
],
route: [
{
route_type: "wire",
x: -10.124998,
y: -1.8249369999999998,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.124998,
y: -1.824937,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.125,
y: -1.8249,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.125,
y: -1.2132,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.1258,
y: -1.2132,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.4317,
y: -0.9073,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.4317,
y: 0.8073,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.1308,
y: 1.1082,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.1308,
y: 2.2501,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.6175,
y: 2.2501,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.61751,
y: 2.250064,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_35_retained_193",
connection_name: "source_trace_35",
connectsTo: [
"pcb_port_85",
"pcb_port_158"
],
route: [
{
route_type: "wire",
x: -9.724948,
y: -1.8249369999999998,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.7249,
y: -1.824937,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.7249,
y: -2.4366,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.9179,
y: -2.6296,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: -9.9179,
y: -2.6296,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -9.9179,
y: -2.6296,
layer: "bottom",
width: 0.15
},
{
route_type: "wire",
x: -9.9179,
y: 0.2144,
layer: "bottom",
width: 0.15
},
{
route_type: "wire",
x: -11.2929,
y: 1.5894,
layer: "bottom",
width: 0.15
},
{
route_type: "via",
x: -11.2929,
y: 1.5894,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -11.2929,
y: 1.5894,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.1042,
y: 1.7781,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.1042,
y: 2.7499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.61751,
y: 2.7499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.61751,
y: 2.749936,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_34_retained_194",
connection_name: "source_trace_34",
connectsTo: [
"pcb_port_88",
"pcb_port_154"
],
route: [
{
route_type: "wire",
x: -10.925098,
y: -1.8249369999999998,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.925098,
y: -1.824937,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.9251,
y: -1.8249,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.9251,
y: -1.2132,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.9528,
y: -1.2132,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.14,
y: -1.026,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: -11.14,
y: -1.026,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -11.14,
y: -1.026,
layer: "bottom",
width: 0.15
},
{
route_type: "wire",
x: -11.8705,
y: -1.026,
layer: "bottom",
width: 0.15
},
{
route_type: "wire",
x: -15.065,
y: 2.1685,
layer: "bottom",
width: 0.15
},
{
route_type: "via",
x: -15.065,
y: 2.1685,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -15.065,
y: 2.1685,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.9834,
y: 2.2501,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.6325,
y: 2.2501,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.63249,
y: 2.250064,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_33_retained_195",
connection_name: "source_trace_33",
connectsTo: [
"pcb_port_89",
"pcb_port_153"
],
route: [
{
route_type: "wire",
x: -11.325148,
y: -1.8249369999999998,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.3251,
y: -1.824937,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.3251,
y: -2.4366,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -11.1285,
y: -2.6332,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.8398,
y: -2.6332,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: -10.8398,
y: -2.6332,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -10.8398,
y: -2.6332,
layer: "bottom",
width: 0.15
},
{
route_type: "wire",
x: -10.7033,
y: -2.4967,
layer: "bottom",
width: 0.15
},
{
route_type: "wire",
x: -10.7033,
y: 0.2323,
layer: "bottom",
width: 0.15
},
{
route_type: "wire",
x: -12.7824,
y: 2.3114,
layer: "bottom",
width: 0.15
},
{
route_type: "wire",
x: -12.7824,
y: 2.6962,
layer: "bottom",
width: 0.15
},
{
route_type: "via",
x: -12.7824,
y: 2.6962,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -12.7824,
y: 2.6962,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.8361,
y: 2.7499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.63249,
y: 2.7499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.63249,
y: 2.749936,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_32_retained_196",
connection_name: "source_trace_32",
connectsTo: [
"pcb_port_87",
"pcb_port_156"
],
route: [
{
route_type: "wire",
x: -10.525048,
y: -1.8249369999999998,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.525048,
y: -1.824937,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.525,
y: -1.8249,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.525,
y: -1.1842,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.7033,
y: -1.0059,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.7033,
y: 1.3374,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.6175,
y: 1.4232,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.6175,
y: 1.7499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -10.61751,
y: 1.7499380000000002,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_31_retained_197",
connection_name: "source_trace_31",
connectsTo: [
"pcb_port_152",
"pcb_port_90"
],
route: [
{
route_type: "wire",
x: -11.724944,
y: -1.8249369999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.524944000000001,
y: -0.5749369999999985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.124944000000001,
y: -0.1749369999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.124944000000001,
y: 0.7250629999999987,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.774944000000001,
y: 1.3750630000000008,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.774944000000001,
y: 3.7250629999999987,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.424944,
y: 5.275062999999999,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -10.424944,
y: 5.275062999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -10.424944,
y: 5.275062999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -10.974944,
y: 4.875063000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -13.974944,
y: 4.775062999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -13.974944,
y: 4.775062999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -13.974944,
y: 4.775062999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.63249,
y: 3.250062,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_31__source_trace_92__source_trace_94_retained_198",
connection_name: "source_trace_31__source_trace_92__source_trace_94",
connectsTo: [
"pcb_port_112",
"pcb_port_102"
],
route: [
{
route_type: "wire",
x: -3.85,
y: 11.825,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.600000000000001,
y: 11.075,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.600000000000001,
y: 11.075,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.600000000000001,
y: 10.575,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.7500000000000036,
y: 10.425,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.7500000000000036,
y: 10.375,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.800000000000004,
y: 10.325,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.800000000000004,
y: 10.274999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.900000000000002,
y: 10.175,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.950000000000003,
y: 10.175,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.0000000000000036,
y: 10.125,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.0500000000000025,
y: 10.125,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.100000000000003,
y: 10.075,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.0500000000000025,
y: 10.075,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.2500000000000036,
y: 9.875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.3000000000000025,
y: 9.875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.350000000000003,
y: 9.825,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.400000000000002,
y: 9.825,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.450000000000003,
y: 9.774999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.650000000000002,
y: 9.774999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.050000000000002,
y: 9.375,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.500000000000004,
y: 9.375,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.400000000000002,
y: 10.274999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.950000000000003,
y: 10.274999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.000000000000004,
y: 10.325,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.550000000000002,
y: 10.325,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.600000000000003,
y: 10.375,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.600000000000003,
y: 12.575,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.600000000000003,
y: 12.575,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -11.600000000000003,
y: 13.075,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -11.900000000000004,
y: 13.374999999999996,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -12,
y: 13.49,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_31__source_trace_92__source_trace_94_retained_199",
connection_name: "source_trace_31__source_trace_92__source_trace_94",
connectsTo: [
"pcb_port_152",
"pcb_port_112"
],
route: [
{
route_type: "wire",
x: -13.63249,
y: 3.250062,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -13.632490000000002,
y: 3.5500620000000005,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -13.732490000000002,
y: 3.650062000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -13.732490000000002,
y: 4.000062,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -13.782490000000003,
y: 4.0500620000000005,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -13.782490000000003,
y: 4.250062,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -13.782490000000003,
y: 4.250062,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.782490000000003,
y: 5.600062000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.932490000000003,
y: 6.450061999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.932490000000003,
y: 6.500062,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.882490000000002,
y: 6.5500620000000005,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.882490000000002,
y: 8.150062000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.132490000000002,
y: 8.900062000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.132490000000002,
y: 12.500062000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.132490000000002,
y: 12.500062000000003,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -12.132490000000002,
y: 13.350061999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -12.082490000000002,
y: 13.400062000000002,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -12,
y: 13.49,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_52__source_net_9_retained_200",
connection_name: "source_trace_52__source_net_9",
connectsTo: [
"pcb_port_83",
"pcb_port_82"
],
route: [
{
route_type: "wire",
x: -8.525052,
y: -1.8249369999999998,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.525052,
y: -1.824937,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.5251,
y: -1.519,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.5251,
y: -1.2132,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.9251,
y: -1.2132,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.9251,
y: -1.8249,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.925102,
y: -1.824937,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.925102,
y: -1.8249369999999998,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_201",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_27",
"pcb_port_21"
],
route: [
{
route_type: "wire",
x: -14.035,
y: -11.75,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.035,
y: -10.75,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_21__source_net_9_retained_202",
connection_name: "source_trace_21__source_net_9",
connectsTo: [
"pcb_port_159",
"pcb_port_120"
],
route: [
{
route_type: "wire",
x: -9.525,
y: 2.66,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.224999999999998,
y: 3.1099999999999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.61751,
y: 3.2500620000000002,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_203",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_367",
"pcb_port_368"
],
route: [
{
route_type: "wire",
x: 4.7949,
y: 0.13500000000000012,
width: 0.3,
layer: "top"
},
{
route_type: "wire",
x: 4.7949,
y: -1.1349999999999998,
width: 0.3,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_27__source_net_9_retained_204",
connection_name: "source_trace_27__source_net_9",
connectsTo: [
"pcb_port_122",
"pcb_port_82"
],
route: [
{
route_type: "wire",
x: -8.725,
y: -0.5599999999999998,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.725,
y: -1.2132,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.5251,
y: -1.2132,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.5251,
y: -1.519,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.525052,
y: -1.824937,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.525052,
y: -1.8249369999999998,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_205",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_98",
"pcb_port_404"
],
route: [
{
route_type: "wire",
x: -8.449897,
y: 1.75,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.8632,
y: 1.75,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.8632,
y: 2.3871,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.5003,
y: 2.75,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.49,
y: 2.75,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_75__source_net_9_retained_206",
connection_name: "source_trace_75__source_net_9",
connectsTo: [
"pcb_port_78",
"pcb_port_126"
],
route: [
{
route_type: "wire",
x: -6.325,
y: -0.5599999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.825000000000001,
y: -1.1099999999999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.9251059999999995,
y: -1.8249369999999998,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_207",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_120",
"pcb_port_98"
],
route: [
{
route_type: "wire",
x: -9.525,
y: 2.66,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -9.525,
y: 2.2033,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.9032,
y: 2.2033,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.4499,
y: 1.75,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.449897,
y: 1.75,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_208",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_78",
"pcb_port_76"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -2.649929,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.7001,
y: -2.6499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.7118,
y: -2.6499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.9251,
y: -2.4366,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.9251,
y: -1.824937,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.925106,
y: -1.824937,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.9251059999999995,
y: -1.8249369999999998,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_209",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_82",
"pcb_port_78"
],
route: [
{
route_type: "wire",
x: -8.525052,
y: -1.8249369999999998,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.5799,
y: -1.8797,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.5799,
y: -2.7785,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.2655,
y: -3.0929,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.2533,
y: -3.0929,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.2533,
y: -2.7648,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.9251,
y: -2.4366,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.9251,
y: -1.824937,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.925106,
y: -1.824937,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.9251059999999995,
y: -1.8249369999999998,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_210",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_31",
"pcb_port_35"
],
route: [
{
route_type: "wire",
x: -14.5,
y: -2.51,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.0974,
y: -2.51,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.9291,
y: -2.3417,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.1766,
y: -2.3417,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.8684,
y: -2.6499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.549936,
y: -2.649929,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_211",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_29",
"pcb_port_21"
],
route: [
{
route_type: "wire",
x: -16,
y: -10.24,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -15.0017,
y: -10.24,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.4917,
y: -10.75,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.035,
y: -10.75,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_213",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_122",
"pcb_port_98"
],
route: [
{
route_type: "wire",
x: -8.725,
y: -0.5599999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.724999999999998,
y: -3.0100000000000016,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.624999999999998,
y: -3.1099999999999994,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -8.624999999999998,
y: -3.1099999999999994,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -8.624999999999998,
y: -3.1099999999999994,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.624999999999998,
y: 2.2399999999999984,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.924999999999997,
y: 3.539999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -9.924999999999997,
y: 3.539999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -9.924999999999997,
y: 3.539999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.924999999999997,
y: 3.2399999999999984,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.524999999999999,
y: 1.8399999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.449897,
y: 1.75,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_210__source_net_9_retained_214",
connection_name: "source_trace_210__source_net_9",
connectsTo: [
"pcb_port_308",
"pcb_port_306"
],
route: [
{
route_type: "wire",
x: 10,
y: -10.01,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10,
y: -10.309999999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.100000000000001,
y: -10.409999999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.100000000000001,
y: -10.759999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.150000000000002,
y: -10.809999999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.150000000000002,
y: -11.159999999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.25,
y: -11.259999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.25,
y: -11.509999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.3,
y: -11.559999999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.350000000000001,
y: -11.559999999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.400000000000002,
y: -11.609999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.600000000000001,
y: -11.609999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.650000000000002,
y: -11.659999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.7499858,
y: -11.749873000000001,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_215",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_98",
"pcb_port_367"
],
route: [
{
route_type: "wire",
x: -8.449897,
y: 1.75,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.449897,
y: 1.8000000000000007,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.949897,
y: 2.3000000000000007,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.949897,
y: 2.5500000000000007,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.999897,
y: 2.6000000000000014,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -8.999897,
y: 2.6000000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.899897000000001,
y: 3.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.924999999999997,
y: 3.539999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -9.924999999999997,
y: 3.539999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -9.924999999999997,
y: 3.539999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -9.899897000000001,
y: 3.5500000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -9.199897,
y: 3.5500000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.599897,
y: 5.150000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.549897000000001,
y: 5.150000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.499897000000001,
y: 5.200000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.849897,
y: 5.200000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.149897000000001,
y: 5.900000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.099897,
y: 5.900000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.049897000000001,
y: 5.950000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.999897000000001,
y: 5.950000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.949897,
y: 6,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.949897,
y: 6,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.799897000000001,
y: 6.150000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.749897000000001,
y: 6.150000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.649896999999999,
y: 6.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.549897000000001,
y: 6.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.499897000000001,
y: 6.300000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.699897,
y: 6.300000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.9998970000000007,
y: 7,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.949897,
y: 7,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.8998969999999993,
y: 7.050000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.849897000000002,
y: 7.050000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.7998970000000014,
y: 7.100000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.7498970000000007,
y: 7.100000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.699897,
y: 7.150000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.449897,
y: 7.150000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.2998970000000014,
y: 7.300000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.2498970000000007,
y: 7.300000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.199897,
y: 7.350000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.1498969999999993,
y: 7.350000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.0998969999999986,
y: 7.400000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.5498970000000014,
y: 7.400000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.4998970000000007,
y: 7.350000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.449897,
y: 7.350000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.3998969999999993,
y: 7.300000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.34989699999999857,
y: 7.300000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.199897,
y: 7.150000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.199897,
y: 7.100000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.14989699999999928,
y: 7.050000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.14989699999999928,
y: 6.950000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.09989699999999857,
y: 6.900000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.09989699999999857,
y: 5.950000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.300103,
y: 5.550000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.300103,
y: 5.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.3501030000000007,
y: 5.450000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.3501030000000007,
y: 3.8500000000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.300103,
y: 3.8000000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.300103,
y: 3.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.2501029999999993,
y: 3.450000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.2501029999999993,
y: 3.1000000000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.2001029999999986,
y: 3.0500000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.2001029999999986,
y: 2.75,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.15010300000000143,
y: 2.700000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.15010300000000143,
y: 2.450000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.7498970000000007,
y: 1.5500000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.7498970000000007,
y: 1.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.7998970000000014,
y: 1.4500000000000028,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.7998970000000014,
y: 1.0500000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.7498970000000007,
y: 1,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.7498970000000007,
y: 0.9500000000000028,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.6498969999999993,
y: 0.8500000000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.5998969999999986,
y: 0.8500000000000014,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.5498970000000014,
y: 0.8000000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.05010300000000001,
y: 0.8000000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.050103,
y: -0.1999999999999993,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.1001030000000007,
y: -0.1999999999999993,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.1501030000000014,
y: -0.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.9001030000000014,
y: -0.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.9001030000000014,
y: -0.25,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: 5.750102999999999,
y: -0.25,
width: 0.1,
layer: "inner2"
},
{
route_type: "wire",
x: 5.750102999999999,
y: -0.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.000102999999999,
y: -0.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.150103000000001,
y: -0.09999999999999787,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 6.150103000000001,
y: -0.09999999999999787,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 6.150103000000001,
y: -0.09999999999999787,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.750102999999999,
y: -0.09999999999999787,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.750102999999999,
y: -0.09999999999999787,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 5.050103,
y: -0.09999999999999787,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 4.900103000000001,
y: 0.05000000000000071,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 4.7949,
y: 0.13500000000000012,
width: 0.1,
layer: "top"
}
],
source_trace_id: "source_trace_256"
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_216",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_23",
"pcb_port_35"
],
route: [
{
route_type: "wire",
x: -12.635,
y: 0.25,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -12.635,
y: -0.75,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -12.635,
y: -0.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.635,
y: -1.6999999999999993,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.635,
y: -1.6999999999999993,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -12.635,
y: -2.5500000000000007,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -12.549936,
y: -2.649929,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_217",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_350",
"pcb_port_76"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -2.649929,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.400064,
y: -2.649929,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.300064000000001,
y: -2.7499290000000016,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.950064000000001,
y: -2.7499290000000016,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.900064,
y: -2.7999290000000023,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.700064000000001,
y: -2.7999290000000023,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.700064000000001,
y: -2.7999290000000023,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.450064000000001,
y: -2.7999290000000023,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.450064000000001,
y: -2.7999290000000023,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -3.3500639999999997,
y: -2.7999290000000023,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -2.8000640000000026,
y: -2.2499290000000016,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -2.7051,
y: -2.135,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_218",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_368",
"pcb_port_393"
],
route: [
{
route_type: "wire",
x: 1.905,
y: -2.7051,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.9949000000000012,
y: -2.7850000000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 2.794900000000002,
y: -3.5850000000000044,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.094900000000003,
y: -3.5850000000000044,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.144900000000003,
y: -3.5350000000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.244900000000001,
y: -3.5350000000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.344900000000003,
y: -3.4350000000000023,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.394900000000003,
y: -3.4350000000000023,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.394900000000003,
y: -3.3850000000000016,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.444900000000004,
y: -3.3350000000000044,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.444900000000004,
y: -3.235000000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.494900000000001,
y: -3.1850000000000023,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.494900000000001,
y: -3.0350000000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 5.744900000000001,
y: -1.7850000000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 5.744900000000001,
y: -1.7850000000000037,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 5.744900000000001,
y: -1.7850000000000037,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.244900000000001,
y: -1.2850000000000037,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.094900000000003,
y: -1.2850000000000037,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.944900000000004,
y: -1.1350000000000016,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.7949,
y: -1.1349999999999998,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_261__source_net_9_retained_219",
connection_name: "source_trace_261__source_net_9",
connectsTo: [
"pcb_port_367",
"pcb_port_358"
],
route: [
{
route_type: "wire",
x: 6.51,
y: 3,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 6.51,
y: 0.4871,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 5.4954,
y: -0.5275,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 5.4024,
y: -0.5275,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 4.7949,
y: 0.08,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 4.7949,
y: 0.13500000000000012,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_220",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_349",
"pcb_port_76"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -2.649929,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.400064,
y: -2.649929,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.300064000000001,
y: -2.7499290000000016,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.950064000000001,
y: -2.7499290000000016,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.900064,
y: -2.7999290000000023,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.700064000000001,
y: -2.7999290000000023,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.700064000000001,
y: -2.7999290000000023,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.100064,
y: -2.7999290000000023,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.0500640000000026,
y: -2.7499290000000016,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.000064000000002,
y: -2.7499290000000016,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.000064000000002,
y: -2.699929000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.950064000000001,
y: -2.649929,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.950064000000001,
y: -2.149929,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.4000640000000004,
y: -1.5999289999999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.4000640000000004,
y: -1.5499290000000023,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.4000640000000004,
y: -1.5499290000000023,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -2.8000640000000026,
y: -0.9499290000000009,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -2.7051,
y: -0.8649999999999999,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_221",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_44",
"pcb_port_35"
],
route: [
{
route_type: "wire",
x: -12.549936,
y: -6.249871,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.249936000000002,
y: -6.249870999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.149936000000002,
y: -6.3498709999999985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.999936000000002,
y: -6.3498709999999985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.899936000000002,
y: -6.449870999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.899936000000002,
y: -6.499870999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.699936000000003,
y: -6.699870999999998,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -11.699936000000003,
y: -6.699870999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -11.699936000000003,
y: -6.699870999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -11.699936000000003,
y: -6.5998709999999985,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.549936000000002,
y: -5.749870999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.549936000000002,
y: -2.6498709999999974,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -13.299936000000002,
y: -1.8998709999999974,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -13.299936000000002,
y: -1.8998709999999974,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -13.299936000000002,
y: -1.8998709999999974,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.649936000000002,
y: -2.5498709999999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.549936,
y: -2.649929,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_222",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_76",
"pcb_port_67"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -2.649929,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.7001,
y: -2.6499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.7118,
y: -2.6499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.9251,
y: -2.4366,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.2533,
y: -2.7648,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.2533,
y: -5.5433,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.5467,
y: -6.2499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.7001,
y: -6.2499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.700063999999999,
y: -6.249871,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_223",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_23",
"pcb_port_159"
],
route: [
{
route_type: "wire",
x: -10.61751,
y: 3.2500620000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.735,
y: 3.3500000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.885,
y: 3.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.285,
y: 3.5,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -11.285,
y: 3.5,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -11.285,
y: 3.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -11.285,
y: 2.75,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -13.085,
y: 0.9500000000000028,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -13.085,
y: 0.9500000000000028,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -13.085,
y: 0.9500000000000028,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.785,
y: 0.6500000000000021,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.785,
y: 0.5500000000000007,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.635,
y: 0.40000000000000213,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.635,
y: 0.25,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_224",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_25",
"pcb_port_29"
],
route: [
{
route_type: "wire",
x: -16,
y: -10.24,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16,
y: -9.2764,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.76,
y: -7.5164,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.76,
y: -7,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_225",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_56",
"pcb_port_67"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -6.249871,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -5.750102000000002,
y: -6.300063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -5.825102000000001,
y: -6.375063000000001,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.200102000000001,
y: -6.375063000000001,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.2251020000000015,
y: -6.400062999999999,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.250102000000002,
y: -6.400062999999999,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.275102,
y: -6.425063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.275102,
y: -6.450063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.300102000000001,
y: -6.4750630000000005,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.300102000000001,
y: -6.8500630000000005,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.550102000000001,
y: -7.1000630000000005,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.550102000000001,
y: -7.575063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.539999999999999,
y: -7.6,
width: 0.107,
layer: "top"
},
{
route_type: "via",
x: -6.539999999999999,
y: -7.6,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.539999999999999,
y: -7.6,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -6.575102000000001,
y: -7.625063000000001,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -6.825102000000001,
y: -7.875063000000001,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -6.825102000000001,
y: -7.875063000000001,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.875102000000002,
y: -7.925063,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.875102000000002,
y: -7.950063,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.900102,
y: -7.9750630000000005,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.900102,
y: -8.025063,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.925102000000001,
y: -8.050063,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.925102000000001,
y: -8.075063,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.9751020000000015,
y: -8.125063,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.9751020000000015,
y: -8.125063,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -7.950102000000001,
y: -9.100063,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -7.950102000000001,
y: -9.600063,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -7.925102000000001,
y: -9.625063,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -7.925102000000001,
y: -9.675063,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -7.900102,
y: -9.700063,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -7.900102,
y: -9.725063,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -7.775102,
y: -9.850063,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -7.775102,
y: -10.100063,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -7.750102000000002,
y: -10.125063,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -7.750102000000002,
y: -10.275063,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: -7.750102000000002,
y: -10.275063,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.750102000000002,
y: -10.475063,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -7.750102000000002,
y: -10.475063,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -7.750102000000002,
y: -10.475063,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.8501020000000015,
y: -10.375063,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.8501020000000015,
y: -10.375063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.000102000000002,
y: -10.225063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.000102000000002,
y: -10.175063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.200102000000001,
y: -9.975063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.200102000000001,
y: -9.950063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.750102000000002,
y: -9.400063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.750102000000002,
y: -9.250063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.775102,
y: -9.225063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.775102,
y: -9.200063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.800102,
y: -9.175063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.800102,
y: -8.950063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.825102000000001,
y: -8.925063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.825102000000001,
y: -8.800063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.900102,
y: -8.725063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.900102,
y: -8.700063,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -8.925102,
y: -8.675063,
width: 0.107,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_226",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_311",
"pcb_port_308"
],
route: [
{
route_type: "wire",
x: 10,
y: -10.01,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10,
y: -11.059999999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10,
y: -11.059999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10,
y: -11.409999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 10,
y: -11.409999999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 10,
y: -11.409999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 10,
y: -11.009999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 10,
y: -11.009999999999998,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 10,
y: -10.809999999999997,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 9.700000000000003,
y: -10.509999999999998,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 9.700000000000003,
y: -9.009999999999998,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 9.700000000000003,
y: -9.009999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.700000000000003,
y: -8.409999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.700000000000003,
y: -8.409999999999997,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 9.700000000000003,
y: -7.309999999999997,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 9.200000000000003,
y: -6.809999999999997,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 9.200000000000003,
y: -6.809999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 8.850000000000001,
y: -6.459999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 8.850000000000001,
y: -6.409999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 8.8,
y: -6.359999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 8.8,
y: -5.909999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9,
y: -5.709999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.450000000000003,
y: -5.709999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.5,
y: -5.759999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.55,
y: -5.759999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.950000000000003,
y: -6.159999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 10.010000000000002,
y: -6.199999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 10.010000000000002,
y: -6.199999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 10.010000000000002,
y: -6.199999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10,
y: -6.259999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10,
y: -6.509999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10,
y: -6.509999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10,
y: -7.409999999999997,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.01,
y: -7.5,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_227",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_368",
"pcb_port_394"
],
route: [
{
route_type: "wire",
x: 0.635,
y: -2.7051,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.7449000000000012,
y: -2.7850000000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.194900000000004,
y: -3.235000000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.444900000000004,
y: -3.235000000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.4949000000000012,
y: -3.2850000000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.544900000000002,
y: -3.2850000000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.8449000000000026,
y: -3.5850000000000044,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.094900000000003,
y: -3.5850000000000044,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.144900000000003,
y: -3.5350000000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.244900000000001,
y: -3.5350000000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.344900000000003,
y: -3.4350000000000023,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.394900000000003,
y: -3.4350000000000023,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.394900000000003,
y: -3.3850000000000016,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.444900000000004,
y: -3.3350000000000044,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.444900000000004,
y: -3.235000000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.494900000000001,
y: -3.1850000000000023,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.494900000000001,
y: -3.0350000000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 5.744900000000001,
y: -1.7850000000000037,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 5.744900000000001,
y: -1.7850000000000037,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 5.744900000000001,
y: -1.7850000000000037,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.244900000000001,
y: -1.2850000000000037,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.094900000000003,
y: -1.2850000000000037,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.944900000000004,
y: -1.1350000000000016,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.7949,
y: -1.1349999999999998,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_228",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_124",
"pcb_port_159"
],
route: [
{
route_type: "wire",
x: -10.61751,
y: 3.2500620000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.724999999999998,
y: 3.3500000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.874999999999998,
y: 3.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.285,
y: 3.5,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -11.285,
y: 3.5,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -11.285,
y: 3.5,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.624999999999998,
y: 3.8500000000000014,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -14.374999999999998,
y: 3.8500000000000014,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -14.774999999999999,
y: 4.25,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -15.524999999999999,
y: 4.25,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -15.524999999999999,
y: 4.25,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -15.524999999999999,
y: 4.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.825,
y: 4.950000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -14.825,
y: 5,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_229",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_18",
"pcb_port_124"
],
route: [
{
route_type: "wire",
x: -15.899926,
y: 9.450087,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.2432,
y: 9.4501,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.2432,
y: 10.3971,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.9638,
y: 11.6765,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.3567,
y: 11.6765,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.1805,
y: 11.5003,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.1805,
y: 6.6445,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.825,
y: 5,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_230",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_114",
"pcb_port_18"
],
route: [
{
route_type: "wire",
x: -15.899926,
y: 9.450087,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.2432,
y: 9.4501,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.5866,
y: 9.4501,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.1623,
y: 11.0258,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.1623,
y: 12.0349,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.6174,
y: 12.49,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -19.5,
y: 12.49,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_231",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_21",
"pcb_port_44"
],
route: [
{
route_type: "wire",
x: -14.035,
y: -10.75,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.5783,
y: -10.75,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.5783,
y: -6.4587,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.3695,
y: -6.2499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.549936,
y: -6.2499,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.549936,
y: -6.249871,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_233",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_358",
"pcb_port_323"
],
route: [
{
route_type: "wire",
x: 11.400185,
y: 4.000057999999999,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 11.400185,
y: 4.000058,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 11.0934,
y: 3,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 6.51,
y: 3,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_237__source_net_9_retained_235",
connection_name: "source_trace_237__source_net_9",
connectsTo: [
"pcb_port_323",
"pcb_port_336"
],
route: [
{
route_type: "wire",
x: 12.25,
y: -0.825,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.950000000000003,
y: 0.3249999999999993,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.950000000000003,
y: 2.375,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.400185,
y: 4.000057999999999,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_236",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_311",
"pcb_port_313"
],
route: [
{
route_type: "wire",
x: 10.01,
y: -7.5,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.010000000000002,
y: -6.5,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.010000000000002,
y: -6.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.010000000000002,
y: -6.199999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 10.010000000000002,
y: -6.199999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 10.010000000000002,
y: -6.199999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 10.410000000000004,
y: -6.6,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 10.410000000000004,
y: -6.6,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 10.760000000000002,
y: -6.949999999999999,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 10.760000000000002,
y: -7.449999999999999,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 11.010000000000005,
y: -7.699999999999999,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: 11.010000000000005,
y: -7.699999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.060000000000002,
y: -7.75,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.060000000000002,
y: -7.799999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.11,
y: -7.85,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.11,
y: -7.899999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.160000000000004,
y: -7.949999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 11.160000000000004,
y: -8.399999999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.61,
y: -10.85,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 13.61,
y: -10.85,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 13.61,
y: -10.85,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.61,
y: -11.049999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.71,
y: -11.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.71,
y: -11.65,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.11,
y: -12.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.11,
y: -12.4,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.060000000000002,
y: -12.45,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.060000000000002,
y: -12.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 13.010000000000005,
y: -12.549999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.71,
y: -12.549999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.71,
y: -12.549999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 12.11,
y: -13.149999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 12,
y: -13.24,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_237",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_18",
"pcb_port_113"
],
route: [
{
route_type: "wire",
x: -15.899926,
y: 9.450087,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.2432,
y: 9.4501,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.2432,
y: 10.3971,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -14.9638,
y: 11.6765,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -13.3567,
y: 11.6765,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.88,
y: 12.1532,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.88,
y: 12.3475,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.5067,
y: 12.7208,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12.5067,
y: 14.51,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -12,
y: 14.51,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_238",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_330",
"pcb_port_67"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -6.249871,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.750064000000002,
y: -6.199870999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.800064000000001,
y: -6.199870999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.8500640000000015,
y: -6.149870999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.200064000000001,
y: -6.149870999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.250064000000002,
y: -6.0998709999999985,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.650064,
y: -6.0998709999999985,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.700064000000001,
y: -6.0498709999999996,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.700064000000001,
y: -6.0498709999999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.800064000000001,
y: -6.0498709999999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.900064,
y: -5.949870999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.900064,
y: -5.899870999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.950064000000001,
y: -5.8498709999999985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.950064000000001,
y: -5.149870999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.000064000000002,
y: -5.0998709999999985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.000064000000002,
y: -4.199870999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.050064000000001,
y: -4.149870999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.050064000000001,
y: -3.5498709999999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.150064,
y: -3.449870999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.150064,
y: -3.3998709999999974,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.250064000000002,
y: -3.2998709999999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.250064000000002,
y: -2.8498710000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.000064000000002,
y: -2.5998710000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.700064000000001,
y: -2.5998710000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.6000640000000015,
y: -2.699870999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.050064000000001,
y: -2.699870999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.000064000000002,
y: -2.749870999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.950064000000001,
y: -2.749870999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.900064,
y: -2.7998709999999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.0500640000000026,
y: -2.7998709999999996,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.950064000000001,
y: -2.699870999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.8000640000000026,
y: -2.699870999999998,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -3.8000640000000026,
y: -2.699870999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -3.8000640000000026,
y: -2.699870999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3.8000640000000026,
y: -2.499870999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.3500639999999997,
y: -1.0498709999999996,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.3500639999999997,
y: -0.9998709999999988,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.3000640000000026,
y: -0.9498709999999981,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.3000640000000026,
y: 1.9001290000000033,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.1500640000000004,
y: 2.050129000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.1500640000000004,
y: 2.1501290000000033,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.1000639999999997,
y: 2.2001290000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -2.1000639999999997,
y: 2.4001290000000033,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.0000640000000018,
y: 3.500129000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -1.0000640000000018,
y: 3.550129000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.9000640000000004,
y: 3.6501290000000033,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.9000640000000004,
y: 3.750129000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.29993599999999887,
y: 4.9501290000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.29993599999999887,
y: 5.000129000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.3499359999999996,
y: 5.050129000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.3499359999999996,
y: 7.050129000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.3999360000000003,
y: 7.100129000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.3999360000000003,
y: 8.600129000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 0.3999360000000003,
y: 8.600129000000003,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 0.3999360000000003,
y: 8.600129000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.8999360000000003,
y: 8.600129000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.949936000000001,
y: 8.650129000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.949936000000001,
y: 8.650129000000003,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 2.499935999999998,
y: 9.200129,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 2.6,
y: 9.324978,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_239",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_311",
"pcb_port_336"
],
route: [
{
route_type: "wire",
x: 10.01,
y: -7.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.010000000000002,
y: -6.199999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 10.010000000000002,
y: -6.199999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 10.010000000000002,
y: -6.199999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.46,
y: -3,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.46,
y: -2.5500000000000007,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.86,
y: -2.1499999999999986,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 11.86,
y: -2.1499999999999986,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 11.86,
y: -2.1499999999999986,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 12.25,
y: -0.825,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_240",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_101",
"pcb_port_67"
],
route: [
{
route_type: "wire",
x: -2.49,
y: -12,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.4899999999999984,
y: -11.85,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.34,
y: -11.7,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.34,
y: -11.6,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.039999999999999,
y: -11.299999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -2.039999999999999,
y: -11.299999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -2.039999999999999,
y: -11.299999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.84,
y: -10.5,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.089999999999998,
y: -10.5,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.289999999999999,
y: -10.299999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.289999999999999,
y: -10.25,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.339999999999998,
y: -10.2,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.339999999999998,
y: -8.799999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.539999999999999,
y: -7.6,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -6.539999999999999,
y: -7.6,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.539999999999999,
y: -7.6,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.539999999999999,
y: -7.1,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.339999999999998,
y: -6.899999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.339999999999998,
y: -6.449999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.239999999999998,
y: -6.35,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.789999999999999,
y: -6.35,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.700063999999999,
y: -6.249871,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_241",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_237",
"pcb_port_67"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -6.249871,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.799999999999999,
y: -6.339999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.25,
y: -6.339999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.35,
y: -6.439999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.35,
y: -6.689999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.5,
y: -6.839999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -6.5,
y: -6.839999999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.5,
y: -6.839999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.549999999999999,
y: -7.789999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.549999999999999,
y: -8.189999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.5,
y: -8.239999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.5,
y: -8.339999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.849999999999998,
y: -8.989999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.849999999999998,
y: -9.239999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.800000000000001,
y: -9.29,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.800000000000001,
y: -9.389999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4,
y: -10.189999999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -4,
y: -10.189999999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4,
y: -10.189999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.5500000000000007,
y: -10.189999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.349999999999998,
y: -10.389999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.3000000000000007,
y: -10.389999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.25,
y: -10.439999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.1999999999999993,
y: -10.439999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.1499999999999986,
y: -10.489999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.3000000000000007,
y: -10.489999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.8999999999999986,
y: -10.889999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.25,
y: -10.889999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.1999999999999993,
y: -10.939999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1,
y: -10.939999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.8499999999999979,
y: -11.089999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.7999999999999972,
y: -11.089999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.6499999999999986,
y: -11.239999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.49999999999999994,
y: -11.24,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_242",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_113",
"pcb_port_402"
],
route: [
{
route_type: "wire",
x: -12,
y: 14.51,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.85,
y: 14.509999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.7,
y: 14.359999999999992,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.45,
y: 14.359999999999992,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.25,
y: 14.159999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -11.25,
y: 14.159999999999997,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -11.25,
y: 14.159999999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -10.2,
y: 13.109999999999992,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.199999999999999,
y: 13.109999999999992,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.1,
y: 13.009999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.849999999999998,
y: 13.009999999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.8000000000000007,
y: 12.959999999999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -3.8000000000000007,
y: 12.959999999999994,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -3.8000000000000007,
y: 12.959999999999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.399999999999999,
y: 12.959999999999994,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.49,
y: 13,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_243",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_119",
"pcb_port_56"
],
route: [
{
route_type: "wire",
x: -8.925102,
y: -8.675063,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.85,
y: -8.799999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.85,
y: -9.2,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.799999999999999,
y: -9.2,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.799999999999999,
y: -9.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.75,
y: -9.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.75,
y: -9.299999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.7,
y: -9.299999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.7,
y: -9.399999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.25,
y: -9.85,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.25,
y: -9.899999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.2,
y: -9.899999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.2,
y: -9.95,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.149999999999999,
y: -9.95,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.149999999999999,
y: -10,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.1,
y: -10,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.1,
y: -10.049999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.049999999999999,
y: -10.049999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.049999999999999,
y: -10.1,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8,
y: -10.1,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8,
y: -10.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.949999999999999,
y: -10.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.949999999999999,
y: -10.2,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.899999999999999,
y: -10.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.699999999999999,
y: -10.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.299999999999999,
y: -10.649999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.299999999999999,
y: -10.7,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.25,
y: -10.7,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.25,
y: -10.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.199999999999999,
y: -10.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.199999999999999,
y: -10.799999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.85,
y: -10.799999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.649999999999999,
y: -11,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.449999999999999,
y: -11,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.199999999999999,
y: -11.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.149999999999999,
y: -11.25,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -6.149999999999999,
y: -11.25,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.149999999999999,
y: -11.25,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.149999999999999,
y: -13.35,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -6.149999999999999,
y: -13.35,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.149999999999999,
y: -13.35,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.25,
y: -15.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.25,
y: -15.3,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.199999999999999,
y: -15.35,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.199999999999999,
y: -15.399999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4,
y: -15.6,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4,
y: -17.5,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_9_retained_244",
connection_name: "source_net_9",
connectsTo: [
"pcb_port_249",
"pcb_port_67"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -6.249871,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -5.74,
y: -6.299999999999999,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -5.8149999999999995,
y: -6.375,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.215,
y: -6.375,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.289999999999999,
y: -6.449999999999999,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.289999999999999,
y: -6.5,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.3149999999999995,
y: -6.524999999999999,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.3149999999999995,
y: -6.674999999999999,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.465,
y: -6.824999999999999,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -6.5,
y: -6.839999999999998,
width: 0.107,
layer: "top"
},
{
route_type: "via",
x: -6.5,
y: -6.839999999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.5,
y: -6.839999999999998,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -5.539999999999999,
y: -7.799999999999999,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -5.539999999999999,
y: -8.075,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -5.515000000000001,
y: -8.1,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -5.515000000000001,
y: -8.149999999999999,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -5.49,
y: -8.174999999999999,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -5.49,
y: -8.225,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -5.49,
y: -8.225,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.49,
y: -8.299999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.465,
y: -8.325,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.465,
y: -8.35,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.815000000000001,
y: -9,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.815000000000001,
y: -9.274999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.789999999999999,
y: -9.299999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.789999999999999,
y: -9.35,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.765000000000001,
y: -9.375,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.765000000000001,
y: -9.399999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.614999999999998,
y: -9.549999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.59,
y: -9.549999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.565000000000001,
y: -9.575,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.515000000000001,
y: -9.575,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.489999999999998,
y: -9.6,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.414999999999999,
y: -9.6,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.7650000000000006,
y: -12.25,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.7650000000000006,
y: -13.274999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.7399999999999984,
y: -13.3,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.7399999999999984,
y: -13.35,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.7149999999999999,
y: -13.375,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.7149999999999999,
y: -13.399999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.3149999999999977,
y: -13.8,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.2899999999999991,
y: -13.8,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.2650000000000006,
y: -13.825,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.2399999999999984,
y: -13.825,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1899999999999977,
y: -13.875,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1899999999999977,
y: -13.875,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -1.1649999999999991,
y: -13.875,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0649999999999977,
y: -13.975,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0399999999999991,
y: -13.975,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -1.0150000000000006,
y: -14,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -0.9899999999999984,
y: -14,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -0.9649999999999999,
y: -14.024999999999999,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -0.9399999999999977,
y: -14.024999999999999,
width: 0.107,
layer: "bottom"
},
{
route_type: "wire",
x: -0.23999999999999844,
y: -14.725,
width: 0.107,
layer: "bottom"
},
{
route_type: "via",
x: -0.23999999999999844,
y: -14.725,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.23999999999999844,
y: -14.725,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -0.48999999999999844,
y: -14.975,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: -0.49,
y: -15.75,
width: 0.107,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_18__source_trace_96_retained_245",
connection_name: "source_trace_18__source_trace_96",
connectsTo: [
"pcb_port_106",
"pcb_port_100"
],
route: [
{
route_type: "wire",
x: -3.51,
y: -12,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -3.51,
y: -12.5067,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -4.8644,
y: -12.5067,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.246,
y: -12.8883,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.1,
y: -12.8883,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -7.1,
y: -13.425,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_96_retained_246",
connection_name: "source_trace_96",
connectsTo: [
"pcb_port_60",
"pcb_port_106"
],
route: [
{
route_type: "wire",
x: -7.1,
y: -13.425,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.975156000000002,
y: -13.325063000000004,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.175156000000001,
y: -12.525063000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.3251560000000016,
y: -12.525063000000003,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -5.3251560000000016,
y: -12.525063000000003,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -5.3251560000000016,
y: -12.525063000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.725156000000002,
y: -12.125063000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -5.975156000000002,
y: -12.125063000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.975156000000002,
y: -11.125063000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.975156000000002,
y: -9.225063000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.3251560000000016,
y: -8.875063000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -7.3251560000000016,
y: -7.825063000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -7.3251560000000016,
y: -7.825063000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -7.3251560000000016,
y: -7.825063000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.325156,
y: -8.675063,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_9_retained_247",
connection_name: "source_trace_9",
connectsTo: [
"pcb_port_13",
"pcb_port_16"
],
route: [
{
route_type: "wire",
x: -14.5,
y: 8.51,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -16.0796,
y: 8.51,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -17.0394,
y: 7.5502,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.100074,
y: 7.5502,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -18.100074,
y: 7.550167,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_4_retained_248",
connection_name: "source_trace_4",
connectsTo: [
"pcb_port_139",
"pcb_port_137"
],
route: [
{
route_type: "wire",
x: -5.750064,
y: 14.5259568,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.75,
y: 13.6383,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.75,
y: 13.6383,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.750062,
y: 14.5259568,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_4__source_trace_5_retained_249",
connection_name: "source_trace_4__source_trace_5",
connectsTo: [
"pcb_port_137",
"pcb_port_150"
],
route: [
{
route_type: "wire",
x: -5.750064,
y: 14.5259568,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.750064000000002,
y: 14.225956799999995,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.8500640000000015,
y: 14.125956799999994,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.8500640000000015,
y: 13.7759568,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.1000640000000015,
y: 13.5259568,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -6.1000640000000015,
y: 13.5259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -6.150064,
y: 13.475956799999995,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -6.150064,
y: 13.475956799999995,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.150064,
y: 13.475956799999995,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -6.1000640000000015,
y: 13.425956799999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.6500640000000004,
y: 13.425956799999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.6000639999999997,
y: 13.375956799999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.5500640000000026,
y: 13.375956799999994,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.500064000000002,
y: 13.325956799999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.450064000000001,
y: 13.325956799999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.450064000000001,
y: 13.2759568,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.3500639999999997,
y: 13.175956799999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.3500639999999997,
y: 6.675956799999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.5500640000000026,
y: 5.475956799999995,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.5500640000000026,
y: 3.1259567999999973,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.500064000000002,
y: 3.0759567999999966,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.500064000000002,
y: 2.275956799999996,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.150064,
y: 1.925956799999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.150064,
y: 1.925956799999998,
width: 0.1,
layer: "inner1"
},
{
route_type: "wire",
x: -3.700064000000001,
y: 1.4759567999999952,
width: 0.1,
layer: "inner1"
},
{
route_type: "via",
x: -3.700064000000001,
y: 1.4759567999999952,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -3.700064000000001,
y: 1.4759567999999952,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -3.750064000000002,
y: 1.4759567999999952,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.200064000000001,
y: 1.025956799999996,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.315,
y: 0.9500000000000001,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_2_retained_250",
connection_name: "source_trace_2",
connectsTo: [
"pcb_port_138",
"pcb_port_136"
],
route: [
{
route_type: "wire",
x: -6.249936,
y: 14.5259568,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.25,
y: 15.511700000000001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.25,
y: 15.511700000000001,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -5.249938,
y: 14.5259568,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_3_retained_251",
connection_name: "source_trace_3",
connectsTo: [
"pcb_port_136",
"pcb_port_148"
],
route: [
{
route_type: "wire",
x: -5.249938,
y: 14.5259568,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.25,
y: 14.525000000000006,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.1,
y: 15.075000000000005,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.1,
y: 15.225000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.149999999999999,
y: 15.275,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.149999999999999,
y: 15.325000000000005,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.1,
y: 15.375000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.1,
y: 15.475000000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.049999999999999,
y: 15.525,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5,
y: 15.525,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.5,
y: 16.025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.5,
y: 16.275,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.649999999999999,
y: 16.425000000000004,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -4.649999999999999,
y: 16.425000000000004,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.649999999999999,
y: 16.425000000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -4.649999999999999,
y: 16.275,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.8999999999999986,
y: 12.125,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.8999999999999986,
y: 12.075000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.8499999999999979,
y: 12.025000000000006,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.8499999999999979,
y: 11.625,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.40000000000000213,
y: 10.375000000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.40000000000000213,
y: 10.325000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.45000000000000284,
y: 10.275000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.45000000000000284,
y: 10.225000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.5,
y: 10.175000000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 0.5,
y: 9.575000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.1000000000000014,
y: 8.975000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.1000000000000014,
y: 8.925000000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.1500000000000021,
y: 8.875000000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.1500000000000021,
y: 8.775000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.2000000000000028,
y: 8.725000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.2000000000000028,
y: 6.025000000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 2.3500000000000014,
y: 4.8750000000000036,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 2.400000000000002,
y: 4.8750000000000036,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.200000000000003,
y: 2.075000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 5.200000000000003,
y: 2.075000000000003,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 5.200000000000003,
y: 2.075000000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 5.200000000000003,
y: -0.5749999999999957,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 6.100000000000001,
y: -1.4749999999999979,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 6.100000000000001,
y: -1.5249999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 6.200000000000003,
y: -1.6249999999999964,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 6.200000000000003,
y: -1.9249999999999972,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 6.150000000000002,
y: -1.9749999999999979,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 6.150000000000002,
y: -2.0249999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 5.75,
y: -2.424999999999997,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 5.75,
y: -3.0249999999999986,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 5.75,
y: -3.0249999999999986,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 5.75,
y: -3.0249999999999986,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.75,
y: -3.0249999999999986,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.300000000000001,
y: -3.474999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.25,
y: -3.474999999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.200000000000003,
y: -3.5249999999999986,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.150000000000002,
y: -3.5249999999999986,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 4.100000000000001,
y: -3.5749999999999993,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 2.1000000000000014,
y: -3.5749999999999993,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.5500000000000007,
y: -4.1249999999999964,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.4500000000000028,
y: -4.1249999999999964,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 1.4000000000000021,
y: -4.174999999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -0.3999999999999986,
y: -4.174999999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -3,
y: -6.774999999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -3,
y: -6.774999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -3,
y: -6.774999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3,
y: -6.724999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.849999999999998,
y: -6.5749999999999975,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.8000000000000007,
y: -6.5749999999999975,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.75,
y: -6.524999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.6999999999999993,
y: -6.524999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.349999999999998,
y: -6.174999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.1499999999999986,
y: -6.174999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.8999999999999986,
y: -5.924999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.8999999999999986,
y: -5.524999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.7999999999999972,
y: -5.424999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.7999999999999972,
y: -5.374999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.75,
y: -5.3249999999999975,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.75,
y: -3.8749999999999964,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5499999999999972,
y: -3.674999999999997,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5499999999999972,
y: -3.5749999999999993,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5,
y: -3.5249999999999986,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5,
y: -1.9249999999999972,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.29999999999999716,
y: -0.7249999999999979,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.29999999999999716,
y: -0.42499999999999716,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.6999999999999993,
y: -0.02499999999999858,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.75,
y: -0.02499999999999858,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.7999999999999972,
y: -0.07499999999999574,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4,
y: -0.07499999999999574,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.199999999999999,
y: -0.2749999999999986,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.315,
y: -0.3499999999999997,
width: 0.15,
layer: "top"
}
]
},
{
pcb_trace_id: "source_net_0_retained_252",
connectsTo: [
"pcb_port_239",
"pcb_port_195"
],
route: [
{
route_type: "wire",
x: 4.300127000000001,
y: -11.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.200000000000003,
y: -11.8375,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.5,
y: -13.537500000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.5,
y: -15.4875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.450000000000003,
y: -15.537500000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.450000000000003,
y: -15.587500000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.25,
y: -15.787500000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.25,
y: -16.837500000000002,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 2.25,
y: -16.837500000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 2.25,
y: -16.837500000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4,
y: -18.587500000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.150000000000002,
y: -18.587500000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.200000000000003,
y: -18.637500000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.300000000000001,
y: -18.637500000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.350000000000001,
y: -18.587500000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.5,
y: -18.587500000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 5.050000000000001,
y: -18.0375,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 6.050000000000001,
y: -18.0375,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 6.050000000000001,
y: -18.0375,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 6.050000000000001,
y: -18.0375,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.600000000000001,
y: -17.4875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.25,
y: -17.4875,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.300000000000001,
y: -17.4375,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.350000000000001,
y: -17.4375,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.75,
y: -17.0375,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 10.75,
y: -17.0375,
width: 0.15,
layer: "top"
}
],
type: "pcb_trace",
connection_name: "source_net_0"
},
{
pcb_trace_id: "source_trace_198__source_trace_202_retained_253",
connectsTo: [
"pcb_port_252",
"pcb_port_246"
],
route: [
{
route_type: "wire",
x: -18.4,
y: -8.650015,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.049999999999997,
y: -9.000015000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -18.049999999999997,
y: -9.550015,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -18.049999999999997,
y: -9.550015,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -18.049999999999997,
y: -9.550015,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -17.15,
y: -10.450015,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -17.15,
y: -11.800015,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -17.099999999999998,
y: -11.850015,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -17.099999999999998,
y: -11.900015000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -16.949999999999996,
y: -12.050015,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -16.9,
y: -12.050015,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -16.849999999999998,
y: -12.100015,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -11.949999999999998,
y: -12.100015,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -11.899999999999997,
y: -12.150015000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -11.849999999999996,
y: -12.150015000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -11.799999999999997,
y: -12.200015,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -11.199999999999996,
y: -12.200015,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -6.899999999999997,
y: -16.500015,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -6.899999999999997,
y: -16.500015,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.899999999999997,
y: -16.500015,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.449999999999996,
y: -16.500015,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.899999999999997,
y: -15.950015,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.799999999999997,
y: -15.950015,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.7499999999999964,
y: -15.900015,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.599999999999996,
y: -15.900015,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -4.2499999999999964,
y: -14.550015000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -4.2499999999999964,
y: -14.550015000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -4.2499999999999964,
y: -14.550015000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.7499999999999964,
y: -14.550015000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.299999999999997,
y: -15.000015000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.2499999999999964,
y: -15.000015000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.1999999999999957,
y: -15.050015000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.899999999999995,
y: -15.050015000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.8499999999999943,
y: -15.000015000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.899999999999995,
y: -14.950015,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.899999999999995,
y: -14.750015000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5999999999999943,
y: -14.450015,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5999999999999943,
y: -14.100015,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.51,
y: -14,
width: 0.15,
layer: "top"
}
],
type: "pcb_trace",
connection_name: "source_trace_198__source_trace_202"
},
{
pcb_trace_id: "source_net_0_retained_254",
connectsTo: [
"pcb_port_235",
"pcb_port_97"
],
route: [
{
route_type: "wire",
x: -5.815,
y: -10.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.739999999999998,
y: -10.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.639999999999999,
y: -10.049999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.639999999999999,
y: -9.899999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.589999999999998,
y: -9.85,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.589999999999998,
y: -9.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.539999999999999,
y: -9.7,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.539999999999999,
y: -9.649999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -5.189999999999998,
y: -9.299999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.889999999999997,
y: -9.299999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.389999999999997,
y: -8.799999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.289999999999999,
y: -8.799999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -3.9399999999999977,
y: -8.45,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.139999999999997,
y: -8.45,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5899999999999963,
y: -9,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.49,
y: -9,
width: 0.15,
layer: "top"
}
],
type: "pcb_trace",
connection_name: "source_net_0"
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_297_retained_255",
connection_name: "source_trace_297",
connectsTo: [
"pcb_port_40",
"pcb_port_407"
],
route: [
{
route_type: "wire",
x: -12.549936,
y: -4.649925,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.599936000000001,
y: -4.699925,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.649936000000002,
y: -4.699925,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.699936000000003,
y: -4.749925000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.099936000000003,
y: -4.749925000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.199936000000001,
y: -4.8499250000000025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.199936000000001,
y: -4.899925,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.249936000000002,
y: -4.949925,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.249936000000002,
y: -5.449925,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -13.899936000000002,
y: -6.099925000000001,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -13.899936000000002,
y: -6.099925000000001,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -13.899936000000002,
y: -6.099925000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -13.899936000000002,
y: -6.149925000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -13.799936000000002,
y: -6.249925000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -13.799936000000002,
y: -12.449925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.349936000000001,
y: -16.899925000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.349936000000001,
y: -18.099925000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -9.349936000000001,
y: -18.099925000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -9.349936000000001,
y: -18.099925000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.349936000000001,
y: -18.099925000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.250014,
y: -17.999999,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_298_retained_256",
connection_name: "source_trace_298",
connectsTo: [
"pcb_port_405",
"pcb_port_279"
],
route: [
{
route_type: "wire",
x: -9.549986,
y: -17.500127,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.899986,
y: -16.850127,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -8.899986,
y: -16.850127,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -8.899986,
y: -16.850127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.799986,
y: -16.750127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.799986,
y: -16.750127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -7.649986,
y: -15.600126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.5999860000000012,
y: -15.600126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.5499860000000005,
y: -15.550127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.499986,
y: -15.550127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.449985999999999,
y: -15.500126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.449985999999999,
y: -15.450126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.3499860000000012,
y: -15.350126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.3499860000000012,
y: -13.400126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.6499859999999984,
y: -13.100126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.6499859999999984,
y: -13.050127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.699985999999999,
y: -13.000126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.699985999999999,
y: -12.900127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.749986,
y: -12.850126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.749986,
y: -12.050126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.149985999999998,
y: -11.650127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.149985999999998,
y: -11.600126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.499986,
y: -11.250126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.499986,
y: -11.200126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.5499860000000005,
y: -11.150126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.5499860000000005,
y: -9.650126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.7999860000000005,
y: -9.400126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.7999860000000005,
y: -9.250126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.849986000000001,
y: -9.200126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.849986000000001,
y: -8.950126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -4.0499860000000005,
y: -8.150126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.249986,
y: -8.150126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.199985999999999,
y: -8.100126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -3.1499859999999984,
y: -8.100126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.999986,
y: -7.950126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.8499860000000012,
y: -7.950126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -2.8499860000000012,
y: -7.950126999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -2.8499860000000012,
y: -7.950126999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.8499860000000012,
y: -7.300126999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5999859999999977,
y: -6.050126999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.5999859999999977,
y: -5.650126999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.4999859999999998,
y: -5.550126999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.4999859999999998,
y: -5.500126999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.449985999999999,
y: -5.450126999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.449985999999999,
y: -4.000126999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.2499859999999998,
y: -3.800127,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.2499859999999998,
y: -3.7001269999999984,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.199985999999999,
y: -3.6501269999999977,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -1.199985999999999,
y: -3.4501269999999984,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.2500140000000002,
y: -1.000126999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.2500140000000002,
y: -0.9501269999999984,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.300014000000001,
y: -0.9001269999999977,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.300014000000001,
y: -0.7001269999999984,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.3500140000000016,
y: -0.6501269999999977,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 1.3500140000000016,
y: 0.19987300000000374,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 1.3500140000000016,
y: 0.19987300000000374,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 1.3500140000000016,
y: 0.19987300000000374,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 2.2000139999999995,
y: 0.19987300000000374,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 3.6000140000000016,
y: 1.5998730000000023,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.350014000000002,
y: 1.5998730000000023,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.400014000000002,
y: 1.649873000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.4500139999999995,
y: 1.649873000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.650014000000002,
y: 1.8498730000000023,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 5.650014000000002,
y: 2.7998730000000016,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.150014000000002,
y: 4.299873000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.150014000000002,
y: 4.349873000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.250014,
y: 4.449873000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.250014,
y: 5.249873000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.300014000000001,
y: 5.299873000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.300014000000001,
y: 5.299873000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.7000139999999995,
y: 5.699873000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.7000139999999995,
y: 6.299873000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.350014000000002,
y: 6.949873000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.350014000000002,
y: 6.949873000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.500014,
y: 7.099873000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 8.500014,
y: 7.099873000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.500014,
y: 7.099873000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.500014,
y: 6.849873000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.500014,
y: 6.849873000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.500014,
y: 6.499873000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.100014000000002,
y: 6.099873000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.999998,
y: 5.999879,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_299_retained_257",
connection_name: "source_trace_299",
connectsTo: [
"pcb_port_405",
"pcb_port_408"
],
route: [
{
route_type: "wire",
x: -9.549986,
y: -17.500127,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.549986,
y: -17.650126999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.749986,
y: -17.850127,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.749986,
y: -17.900126999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.799986,
y: -17.950127,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.799986,
y: -18.250127,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.749986,
y: -18.300127,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.749986,
y: -18.350127,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.599986,
y: -18.500127,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -9.599986,
y: -18.500127,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -9.549986,
y: -18.550127,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.449985999999999,
y: -18.550127,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -7.949985999999999,
y: -19.050127,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -7.949985999999999,
y: -19.050127,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -7.949985999999999,
y: -19.050127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.249986,
y: -19.050127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -2.199985999999999,
y: -19.100127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.850014000000002,
y: -19.100127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.400014000000002,
y: -19.650126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.4500139999999995,
y: -19.650126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.500014,
y: -19.700127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.900014000000002,
y: -19.700127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.9500139999999995,
y: -19.650126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.000014,
y: -19.650126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.100014000000002,
y: -19.550127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.100014000000002,
y: -19.500127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.150014000000002,
y: -19.450127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.150014000000002,
y: -19.100127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.400014000000002,
y: -11.850126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.450014,
y: -11.850126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.500014000000004,
y: -11.800126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.550014000000001,
y: -11.800126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.700014,
y: -11.650127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.700014,
y: -11.550126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.750014000000004,
y: -11.500126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 13.750014000000004,
y: -11.400126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.000014000000004,
y: -11.150126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.000014000000004,
y: -11.100126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.050014000000001,
y: -11.050126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.050014000000001,
y: -6.000126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.100013999999998,
y: -5.950126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.100013999999998,
y: -2.2001269999999984,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.450014,
y: -1.850126999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.450014,
y: -1.8001269999999963,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.500014000000004,
y: -1.750126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.500014000000004,
y: -0.600126999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 14.950014,
y: -0.15012699999999768,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 14.950014,
y: -0.15012699999999768,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 14.950014,
y: -0.15012699999999768,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 14.950014,
y: 0.5498730000000016,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 15.650014000000002,
y: 1.249873000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 15.650014000000002,
y: 1.249873000000001,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 15.700014,
y: 1.2998730000000016,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 15.700014,
y: 1.4498730000000037,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 16.150014000000002,
y: 1.899873000000003,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 16.24,
y: 2,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_300_retained_258",
connection_name: "source_trace_300",
connectsTo: [
"pcb_port_409",
"pcb_port_271"
],
route: [
{
route_type: "wire",
x: 17.26,
y: 2,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 16.51,
y: 2.75,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 16.51,
y: 2.75,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 16.51,
y: 2.75,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 15.010000000000002,
y: 4.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 14.959999999999997,
y: 4.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.709999999999997,
y: 10.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.459999999999997,
y: 10.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 8.459999999999997,
y: 10.5,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.459999999999997,
y: 10.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.459999999999997,
y: 11.100000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.509999999999998,
y: 11.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.509999999999998,
y: 11.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.91,
y: 11.899999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.999996000000001,
y: 12.000121,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_302_retained_259",
connection_name: "source_trace_302",
connectsTo: [
"pcb_port_41",
"pcb_port_412"
],
route: [
{
route_type: "wire",
x: -12.549936,
y: -5.049975,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.249936000000002,
y: -5.049975,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.149936000000002,
y: -5.1499749999999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.799936000000002,
y: -5.1499749999999995,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.749936000000002,
y: -5.1999749999999985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.699936000000003,
y: -5.1999749999999985,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.499936000000002,
y: -5.3999749999999995,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -11.499936000000002,
y: -5.3999749999999995,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -11.499936000000002,
y: -5.3999749999999995,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -10.899936000000002,
y: -5.999974999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -10.899936000000002,
y: -7.549975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -10.849936000000001,
y: -7.599974999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -10.849936000000001,
y: -7.6499749999999995,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.549936000000002,
y: -9.949974999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.549936000000002,
y: -10.649975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.499936000000002,
y: -10.699974999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.499936000000002,
y: -10.799975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.449936000000001,
y: -10.849974999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -8.449936000000001,
y: -10.899975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.399936000000002,
y: -11.949975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.399936000000002,
y: -17.649974999999998,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.349936000000001,
y: -17.699975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.349936000000001,
y: -17.749975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.299936000000002,
y: -17.799975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.299936000000002,
y: -17.849975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.149936000000002,
y: -17.999975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.099936000000001,
y: -17.999975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.049936000000002,
y: -18.049975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.999936000000002,
y: -18.049975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.949936000000001,
y: -18.099975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.4999360000000017,
y: -18.099975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.699936000000001,
y: -18.899975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.599936000000003,
y: -18.899975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.5499360000000024,
y: -18.949975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.5499360000000024,
y: -18.949975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -1.4999360000000017,
y: -18.999975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.4500639999999976,
y: -18.999975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.8500639999999997,
y: -19.399975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 2.050063999999999,
y: -19.399975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 2.2000639999999976,
y: -19.549975,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.400064,
y: -19.549975,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 4.400064,
y: -19.549975,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 4.400064,
y: -19.549975,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.700063999999998,
y: -19.549975,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.950063999999998,
y: -19.299975,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.0499860000000005,
y: -19.199999,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_303_retained_260",
connection_name: "source_trace_303",
connectsTo: [
"pcb_port_410",
"pcb_port_272"
],
route: [
{
route_type: "wire",
x: 3.750014,
y: -18.700127,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.750014,
y: -17.700127,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.750014,
y: -17.700127,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 3.750014,
y: -17.100127,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.900014000000002,
y: -14.950126999999998,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 5.900014000000002,
y: -14.950126999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 5.900014000000002,
y: -14.950126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.900014000000002,
y: -14.000126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.000014,
y: -13.900126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.000014,
y: -13.850126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.050014000000001,
y: -13.800127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.050014000000001,
y: -7.050126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.300014000000001,
y: -6.800126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.300014000000001,
y: -6.750126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.350014000000002,
y: -6.700126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.350014000000002,
y: -6.600126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.400014000000002,
y: -6.550126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.400014000000002,
y: -4.000126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 7.100014000000002,
y: -3.300127,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 7.100014000000002,
y: -3.300127,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 7.100014000000002,
y: -3.300127,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 7.100014000000002,
y: -2.9501269999999984,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.400014000000002,
y: -1.6501269999999977,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.400014000000002,
y: -1.600126999999997,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.450014,
y: -1.5501269999999963,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.450014,
y: 6.349873000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.900014000000002,
y: 6.799873000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.900014000000002,
y: 6.849873000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.950014,
y: 6.899873000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.950014,
y: 10.299873000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 9.200014,
y: 10.549873000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 9.200014,
y: 10.599873000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 9.250014,
y: 10.649873000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 9.250014,
y: 10.749873000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 9.300014000000001,
y: 10.799873000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 9.300014000000001,
y: 10.999873000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 9.250014,
y: 11.049873000000005,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 9.250014,
y: 11.149873,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.850014000000002,
y: 11.549873000000005,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.850014000000002,
y: 11.549873000000005,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.750014,
y: 11.649873,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.750014,
y: 12.699873000000004,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.750014,
y: 12.699873000000004,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.750014,
y: 12.799873000000005,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.400014000000002,
y: 13.149873,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 8.400014000000002,
y: 13.149873,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.400014000000002,
y: 13.149873,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.400014000000002,
y: 12.899873,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.400014000000002,
y: 12.899873,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.400014000000002,
y: 12.399873,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.100014000000002,
y: 12.099873000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.999998000000001,
y: 12.000121,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_304_retained_261",
connection_name: "source_trace_304",
connectsTo: [
"pcb_port_410",
"pcb_port_413"
],
route: [
{
route_type: "wire",
x: 3.750014,
y: -18.700127,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: 3.750014,
y: -18.650126999999998,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: 4.250014,
y: -18.150126999999998,
width: 0.107,
layer: "top"
},
{
route_type: "via",
x: 4.250014,
y: -18.150126999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 4.250014,
y: -18.150126999999998,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: 4.800014000000001,
y: -17.600127,
width: 0.107,
layer: "inner1"
},
{
route_type: "wire",
x: 4.800014000000001,
y: -17.600127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.400014000000002,
y: -17.000127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.400014000000002,
y: -16.100127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.250014,
y: -15.250126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.250014,
y: -15.200126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.300014000000001,
y: -15.150126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.300014000000001,
y: -9.950126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.500014,
y: -9.750126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.500014,
y: -3.2001269999999984,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.550014000000001,
y: -3.1501269999999977,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 6.550014000000001,
y: -3.100126999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 7.7000139999999995,
y: -1.9501269999999984,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 7.7000139999999995,
y: -1.9001269999999977,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 7.750014,
y: -1.9001269999999977,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 7.800014000000001,
y: -1.850126999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 7.850014000000002,
y: -1.850126999999997,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 7.900014000000002,
y: -1.8001269999999963,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 9.200014,
y: -1.8001269999999963,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: 9.200014,
y: -1.8001269999999963,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 9.200014,
y: -1.8001269999999963,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.500014000000004,
y: -1.8001269999999963,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.550014000000001,
y: -1.750126999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.600013999999998,
y: -1.750126999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 11.650014000000002,
y: -1.7001269999999984,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 13.200014,
y: -1.7001269999999984,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 13.300014000000001,
y: -1.600126999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 13.350013999999998,
y: -1.600126999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 13.400014000000002,
y: -1.5501269999999963,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 14.050014000000001,
y: -1.5501269999999963,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 14.050014000000001,
y: -1.5501269999999963,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 14.050014000000001,
y: -1.5501269999999963,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 14.700014,
y: -1.5501269999999963,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 17.200014,
y: 0.9498730000000037,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 17.200014,
y: 0.9498730000000037,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: 18.150014000000002,
y: 1.899873000000003,
width: 0.107,
layer: "top"
},
{
route_type: "wire",
x: 18.24,
y: 2,
width: 0.107,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_305_retained_262",
connection_name: "source_trace_305",
connectsTo: [
"pcb_port_414",
"pcb_port_271"
],
route: [
{
route_type: "wire",
x: 19.26,
y: 2,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 19.16,
y: 2,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 18.610000000000003,
y: 2.5500000000000007,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 17.91,
y: 2.5500000000000007,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 17.860000000000003,
y: 2.6000000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 17.26,
y: 2.6000000000000014,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 15.760000000000002,
y: 4.100000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 15.760000000000002,
y: 4.100000000000001,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 15.760000000000002,
y: 4.100000000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 15.66,
y: 4.200000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 15.059999999999999,
y: 4.200000000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 15.010000000000002,
y: 4.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 14.959999999999997,
y: 4.25,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.709999999999997,
y: 10.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.459999999999997,
y: 10.5,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 8.459999999999997,
y: 10.5,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.459999999999997,
y: 10.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.459999999999997,
y: 11.100000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.509999999999998,
y: 11.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.509999999999998,
y: 11.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.91,
y: 11.899999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.999996000000001,
y: 12.000121,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_307_retained_263",
connection_name: "source_trace_307",
connectsTo: [
"pcb_port_42",
"pcb_port_417"
],
route: [
{
route_type: "wire",
x: -12.549936,
y: -5.450025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.249936000000002,
y: -5.450025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -12.149936000000002,
y: -5.550025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.999936000000002,
y: -5.550025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.899936000000002,
y: -5.650024999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -11.899936000000002,
y: -5.700025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.899936000000002,
y: -6.700025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.899936000000002,
y: -6.900024999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.799936000000002,
y: -7.000025000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.749936000000002,
y: -7.000025000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -10.399936000000002,
y: -7.3500250000000005,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -10.399936000000002,
y: -7.3500250000000005,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -10.399936000000002,
y: -7.3500250000000005,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -10.349936000000001,
y: -7.3500250000000005,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.799936000000002,
y: -9.900025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.699936000000001,
y: -9.900025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.649936000000002,
y: -9.950025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.699936000000001,
y: -9.950025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.649936000000002,
y: -10.000025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.299936000000002,
y: -10.000025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.2499360000000017,
y: -13.050025000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.199936000000001,
y: -13.050025000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -3.1499360000000003,
y: -13.100025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -2.4999360000000017,
y: -13.100025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.5499360000000024,
y: -15.050025000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.5499360000000024,
y: -15.100025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.4999360000000017,
y: -15.150025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.449936000000001,
y: -15.150025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.3999360000000003,
y: -15.200025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 1.2500639999999983,
y: -15.200025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 3.4500639999999976,
y: -17.400025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 3.5000639999999983,
y: -17.400025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 3.6000639999999997,
y: -17.500025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 3.6500640000000004,
y: -17.500025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 3.7000639999999976,
y: -17.550025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 3.7500639999999983,
y: -17.550025,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 3.800063999999999,
y: -17.600025000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 6.250063999999998,
y: -17.600025000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 7.350064,
y: -18.700025,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 7.350064,
y: -18.700025,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 7.350064,
y: -18.700025,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.750063999999998,
y: -19.100025000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.849986,
y: -19.199999,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_308_retained_264",
connection_name: "source_trace_308",
connectsTo: [
"pcb_port_415",
"pcb_port_273"
],
route: [
{
route_type: "wire",
x: 6.550014,
y: -18.700127,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.500014,
y: -18.650126999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.900014000000002,
y: -18.650126999999998,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 5.900014000000002,
y: -18.650126999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 5.900014000000002,
y: -18.650126999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.050014000000001,
y: -18.500127,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.100014000000002,
y: -18.500127,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.100014000000002,
y: -18.500127,
width: 0.135,
layer: "inner2"
},
{
route_type: "wire",
x: 6.150014000000002,
y: -18.450127,
width: 0.135,
layer: "inner2"
},
{
route_type: "wire",
x: 6.250014,
y: -18.450127,
width: 0.135,
layer: "inner2"
},
{
route_type: "wire",
x: 6.250014,
y: -18.450127,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.300014000000001,
y: -18.400126999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.350014000000002,
y: -18.400126999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.4500139999999995,
y: -18.300127,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.4500139999999995,
y: -18.200127,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.900014000000002,
y: -17.750127,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 6.900014000000002,
y: -17.750127,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.150014000000002,
y: -17.500127,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.150014000000002,
y: -16.000127,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.900014000000002,
y: -14.250126999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 8.900014000000002,
y: -14.000126999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.400014000000002,
y: -10.500126999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.400014000000002,
y: -10.450126999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.450014,
y: -10.400126999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 12.450014,
y: -3.850126999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 14.450014,
y: -1.850126999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 14.450014,
y: -1.8001269999999963,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 14.500014000000004,
y: -1.750126999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 14.500014000000004,
y: 0.04987300000000161,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 16.900014000000002,
y: 2.4498730000000037,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 16.900014000000002,
y: 2.499873000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 16.950014,
y: 2.5498730000000016,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 16.950014,
y: 2.9498730000000037,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 16.900014000000002,
y: 2.999873000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 16.900014000000002,
y: 3.0498730000000016,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 16.200014,
y: 3.749873000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 16.200014,
y: 4.299873000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 16.150014000000002,
y: 4.349873000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 16.150014000000002,
y: 4.399873000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.800014000000001,
y: 12.749873000000001,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.800014000000001,
y: 12.799873000000005,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: 7.500014,
y: 13.099873000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: 7.500014,
y: 13.099873000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 7.500014,
y: 13.099873000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.500014,
y: 12.849873000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.500014,
y: 12.849873000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.500014,
y: 12.499873000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.100014000000002,
y: 12.099873000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7,
y: 12.000121,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_309_retained_265",
connection_name: "source_trace_309",
connectsTo: [
"pcb_port_415",
"pcb_port_418"
],
route: [
{
route_type: "wire",
x: 6.550014,
y: -18.700127,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 6.500014,
y: -18.650126999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.900014000000002,
y: -18.650126999999998,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 5.900014000000002,
y: -18.650126999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 5.900014000000002,
y: -18.650126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 5.850014000000002,
y: -18.600127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.050014000000001,
y: -18.600127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 4.000014,
y: -18.550127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 3.9500139999999995,
y: -18.550127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: 2.7000139999999995,
y: -17.300127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.449985999999999,
y: -17.300127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.599986,
y: -17.450127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.649986,
y: -17.450127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -8.699985999999999,
y: -17.500127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.099986,
y: -17.500127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.149986,
y: -17.450127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.199985999999999,
y: -17.450127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.299986,
y: -17.350127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.299986,
y: -17.300127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.349986,
y: -17.250127,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.349986,
y: -10.050126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.499986,
y: -9.900126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.499986,
y: -9.850126999999999,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.549986,
y: -9.800126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -9.549986,
y: -9.550126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "wire",
x: -11.399986,
y: -7.700126999999998,
width: 0.15,
layer: "inner1"
},
{
route_type: "via",
x: -11.399986,
y: -7.700126999999998,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -11.399986,
y: -7.700126999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.099986,
y: -7.000126999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.099986,
y: -6.950126999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.149986,
y: -6.900126999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.149986,
y: -6.600126999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.799986,
y: -5.950126999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.799986,
y: -5.900126999999998,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.849986,
y: -5.850126999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -12.849986,
y: -3.050127,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -13.699985999999999,
y: -2.2001269999999984,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -13.699985999999999,
y: -2.1501269999999977,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -13.749986,
y: -2.100126999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -13.749986,
y: -1.4001269999999977,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -13.999986,
y: -1.1501269999999977,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -13.999986,
y: -1.100126999999997,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -14.099986000000001,
y: -1.000126999999999,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -14.099986000000001,
y: 2.4498730000000037,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -14.749986,
y: 3.0998730000000023,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -14.749986,
y: 3.149873000000003,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -14.799986,
y: 3.1998730000000037,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -14.799986,
y: 4.199873000000004,
width: 0.15,
layer: "inner2"
},
{
route_type: "wire",
x: -16.149986,
y: 5.549873000000002,
width: 0.15,
layer: "inner2"
},
{
route_type: "via",
x: -16.149986,
y: 5.549873000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -16.149986,
y: 5.549873000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.149986,
y: 5.649873000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.649986,
y: 6.149873000000003,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -16.76,
y: 6.25,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_trace_310_retained_266",
connection_name: "source_trace_310",
connectsTo: [
"pcb_port_419",
"pcb_port_271"
],
route: [
{
route_type: "wire",
x: -15.74,
y: 6.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.59,
y: 6.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.439999999999998,
y: 6.400000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.389999999999999,
y: 6.400000000000002,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -15.04,
y: 6.75,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -15.04,
y: 6.75,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -15.04,
y: 6.75,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -13.939999999999998,
y: 7.850000000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -9.54,
y: 7.850000000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.039999999999999,
y: 10.350000000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -7.039999999999999,
y: 10.400000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.989999999999998,
y: 10.450000000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.989999999999998,
y: 10.5,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.939999999999998,
y: 10.55,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.939999999999998,
y: 10.600000000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.889999999999999,
y: 10.650000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.839999999999998,
y: 10.650000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.789999999999999,
y: 10.700000000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.689999999999998,
y: 10.700000000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.639999999999999,
y: 10.75,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -6.189999999999998,
y: 10.75,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.889999999999999,
y: 11.050000000000004,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.839999999999998,
y: 11.050000000000004,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.789999999999999,
y: 11.100000000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 7.410000000000004,
y: 11.100000000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 7.560000000000002,
y: 11.25,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 7.610000000000003,
y: 11.25,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 7.660000000000004,
y: 11.300000000000004,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.110000000000003,
y: 11.300000000000004,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.21,
y: 11.200000000000003,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.21,
y: 11.149999999999999,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.310000000000002,
y: 11.050000000000004,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.310000000000002,
y: 10.650000000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 8.459999999999997,
y: 10.5,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 8.459999999999997,
y: 10.5,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 8.459999999999997,
y: 10.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.46,
y: 11.100000000000001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.510000000000002,
y: 11.149999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.510000000000002,
y: 11.5,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.910000000000004,
y: 11.899999999999999,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 8.999996000000001,
y: 12.000121,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_267",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_7",
"pcb_port_406"
],
route: [
{
route_type: "wire",
x: -8.615,
y: -15.55,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.615,
y: -15.85,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.515,
y: -15.95,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.515,
y: -16.3,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.465,
y: -16.35,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.465,
y: -16.8,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.365,
y: -16.9,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -8.250014,
y: -17.000001,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_268",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_411",
"pcb_port_416"
],
route: [
{
route_type: "wire",
x: 5.0499860000000005,
y: -18.200001,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 7.849986,
y: -18.200001,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_269",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_195",
"pcb_port_411"
],
route: [
{
route_type: "wire",
x: 4.300127000000001,
y: -11.75,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 4.300127,
y: -14.8,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 2.25,
y: -16.837500000000002,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: 2.25,
y: -16.837500000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 2.25,
y: -16.837500000000002,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 3.9501269999999984,
y: -18.55,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.000126999999999,
y: -18.55,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 4.050127,
y: -18.6,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 5.050127,
y: -18.6,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 5.700126999999998,
y: -19.25,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: 5.700126999999998,
y: -19.25,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 5.700126999999998,
y: -19.25,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.700126999999998,
y: -19.15,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.500126999999999,
y: -18.95,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.500126999999999,
y: -18.85,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.450126999999998,
y: -18.85,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.450126999999998,
y: -18.6,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.150127000000001,
y: -18.3,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 5.0499860000000005,
y: -18.200001,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "decouple_CURRENT_A_BYPASS",
connection_name: "source_trace_247",
source_trace_id: "source_trace_247",
connectsTo: [
"pcb_port_356",
"pcb_port_349"
],
route: [
{
route_type: "wire",
x: -4.5,
y: -1.29,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.7051,
y: -0.8649999999999999,
width: 0.15,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "decouple_C_TEMP_GND",
connection_name: "source_trace_204",
source_trace_id: "source_trace_204",
connectsTo: [
"pcb_port_309",
"pcb_port_241"
],
route: [
{
route_type: "wire",
x: 10,
y: -8.99,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 9.850000000000001,
y: -8.989999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 9.700000000000003,
y: -9.139999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 9.350000000000001,
y: -9.139999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 9.100000000000001,
y: -9.389999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 9,
y: -9.51,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "decouple_MOTOR_VBUS_CAP",
connection_name: "source_trace_145",
source_trace_id: "source_trace_145",
connectsTo: [
"pcb_port_292",
"pcb_port_296"
],
route: [
{
route_type: "wire",
x: -8.9424,
y: 4.25,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -8.7924,
y: 4.25,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -8.6424,
y: 4.100000000000001,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -7.8924,
y: 4.100000000000001,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -7.8424,
y: 4.050000000000001,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -7.7424,
y: 4.050000000000001,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -7.692399999999999,
y: 4,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -7.6424,
y: 4,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -7.442399999999999,
y: 3.8000000000000007,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -7.3424,
y: 3.8000000000000007,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: -7.042400000000001,
y: 3.5,
width: 0.35,
layer: "top"
},
{
route_type: "via",
x: -7.042400000000001,
y: 3.5,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -7.042400000000001,
y: 3.5,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -4.942399999999999,
y: 1.4000000000000021,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -4.942399999999999,
y: 0.8000000000000007,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.6923999999999992,
y: -1.4499999999999993,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.6923999999999992,
y: -3.5500000000000007,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.6423999999999985,
y: -3.599999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.6423999999999985,
y: -3.6999999999999993,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.5924000000000014,
y: -3.75,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.5924000000000014,
y: -3.8000000000000007,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.5424000000000007,
y: -3.849999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.5424000000000007,
y: -3.8999999999999986,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.3923999999999985,
y: -4.050000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.3424000000000014,
y: -4.050000000000001,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.2924000000000007,
y: -4.099999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.2424,
y: -4.099999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -2.1923999999999992,
y: -4.149999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -1.3423999999999978,
y: -4.149999999999999,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -0.6423999999999985,
y: -4.849999999999998,
width: 0.6,
layer: "bottom"
},
{
route_type: "wire",
x: -0.6423999999999985,
y: -4.849999999999998,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: -0.04240000000000066,
y: -5.449999999999999,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: -0.04240000000000066,
y: -5.75,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: 0.15760000000000218,
y: -5.949999999999999,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: 0.7576,
y: -5.949999999999999,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: 1.4076000000000022,
y: -6.6,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: 1.4076000000000022,
y: -6.649999999999999,
width: 0.35,
layer: "bottom"
},
{
route_type: "wire",
x: 1.5076,
y: -6.75,
width: 0.35,
layer: "bottom"
},
{
route_type: "via",
x: 1.5076,
y: -6.75,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 1.5076,
y: -6.75,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 1.5076,
y: -5.649999999999999,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 1.3576000000000015,
y: -5.5,
width: 0.35,
layer: "top"
},
{
route_type: "wire",
x: 1.2374999999999994,
y: -5.4,
width: 0.35,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "decouple_MOTOR_GND",
connection_name: "source_net_0",
source_trace_id: "source_trace_171",
connectsTo: [
"pcb_port_297"
],
route: [
{
route_type: "wire",
x: 4.1625,
y: -5.4,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: 3.2124999999999986,
y: -6.149999999999999,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: 3.2124999999999986,
y: -6.149999999999999,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 3.2124999999999986,
y: -6.149999999999999,
layer: "bottom",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "decouple_CURRENT_A_GND",
connection_name: "source_net_0",
source_trace_id: "source_trace_248",
connectsTo: [
"pcb_port_357"
],
route: [
{
route_type: "wire",
x: -4.5,
y: -2.31,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -4.5,
y: -2.1599999999999966,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5,
y: -1.6599999999999966,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5,
y: -1.4599999999999973,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.1,
y: -1.3599999999999959,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -5.21,
y: -1.28,
width: 0.1,
layer: "top"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "decouple_C_ENCODER_VCC",
connection_name: "source_trace_289",
source_trace_id: "source_trace_289",
connectsTo: [
"pcb_port_338",
"pcb_port_394"
],
route: [
{
route_type: "wire",
x: 0.635,
y: -4.29,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.635,
y: -2.7051,
width: 0.15,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "decouple_C_ENCODER_BULK_VCC",
connection_name: "source_trace_291",
source_trace_id: "source_trace_291",
connectsTo: [
"pcb_port_340",
"pcb_port_394"
],
route: [
{
route_type: "wire",
x: 2.035,
y: -4.29,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: 0.635,
y: -2.7051,
width: 0.15,
layer: "bottom"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "decouple_C_ENCODER_BULK_GND",
connection_name: "source_net_0",
source_trace_id: "source_trace_292",
connectsTo: [
"pcb_port_341"
],
route: [
{
route_type: "wire",
x: 2.035,
y: -5.31,
layer: "bottom",
width: 0.15
},
{
route_type: "wire",
x: 2.6850000000000023,
y: -4.810000000000002,
layer: "bottom",
width: 0.15
},
{
route_type: "via",
x: 2.6850000000000023,
y: -4.810000000000002,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: 2.6850000000000023,
y: -4.810000000000002,
layer: "top",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_174",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_104"
],
route: [
{
route_type: "wire",
x: -3.85,
y: 9.675,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -3.8500000000000014,
y: 10.425,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: -3.8500000000000014,
y: 10.425,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -3.8500000000000014,
y: 10.425,
layer: "bottom",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_177",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_147"
],
route: [
{
route_type: "wire",
x: -7.99,
y: 12.3,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -6.589999999999998,
y: 10.249999999999996,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: -6.589999999999998,
y: 10.249999999999996,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -6.589999999999998,
y: 10.249999999999996,
layer: "bottom",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_0_retained_178",
connection_name: "source_net_0",
connectsTo: [
"pcb_port_145"
],
route: [
{
route_type: "wire",
x: -7.99,
y: 11,
layer: "top",
width: 0.15
},
{
route_type: "wire",
x: -8.489999999999998,
y: 10.350000000000001,
layer: "top",
width: 0.15
},
{
route_type: "via",
x: -8.489999999999998,
y: 10.350000000000001,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -8.489999999999998,
y: 10.350000000000001,
layer: "bottom",
width: 0.15
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "ground_bridge_TEMP",
connection_name: "source_net_0",
source_net_id: "source_net_0",
connectsTo: [
"pcb_port_227",
"pcb_port_243"
],
route: [
{
route_type: "wire",
x: 9.5,
y: -13.49,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 9.8,
y: -13.489999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 9.900000000000002,
y: -13.389999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.25,
y: -13.389999999999999,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.3,
y: -13.34,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.400000000000002,
y: -13.34,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.5,
y: -13.239999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 10.5,
y: -13.239999999999998,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.550000000000004,
y: -12.19,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: 11.550000000000004,
y: -12.19,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 12.149999999999999,
y: -11.589999999999998,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 12.2712,
y: -11.5,
width: 0.1,
layer: "top"
}
],
source_trace_id: "source_trace_195"
},
{
type: "pcb_trace",
pcb_trace_id: "ground_bridge_BOOT",
connection_name: "source_net_0",
source_net_id: "source_net_0",
connectsTo: [
"pcb_port_105",
"pcb_port_104"
],
route: [
{
route_type: "wire",
x: -3.85,
y: 9.675,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -2.8999999999999986,
y: 9.675,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: -2.8999999999999986,
y: 9.675,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -2.3999999999999986,
y: 9.675,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -2.3999999999999986,
y: 9.675,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -2.3999999999999986,
y: 9.675,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -0.8499999999999979,
y: 9.675,
width: 0.15,
layer: "bottom"
},
{
route_type: "via",
x: -0.8499999999999979,
y: 9.675,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -0.8499999999999979,
y: 9.675,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.6999999999999993,
y: 9.675,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -0.6999999999999993,
y: 9.675,
width: 0.1,
layer: "top"
},
{
route_type: "wire",
x: 0.3500000000000001,
y: 9.675,
width: 0.1,
layer: "top"
}
],
source_trace_id: "source_trace_93"
},
{
type: "pcb_trace",
pcb_trace_id: "ground_bridge_CURRENT_A",
connection_name: "source_net_0",
source_net_id: "source_net_0",
connectsTo: [
],
route: [
{
route_type: "wire",
x: -5.21,
y: -1.28,
width: 0.15,
layer: "top"
},
{
route_type: "via",
x: -5.21,
y: -1.28,
from_layer: "top",
to_layer: "bottom",
via_diameter: 0.5,
via_hole_diameter: 0.3
},
{
route_type: "wire",
x: -5.21,
y: -1.28,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -5.210000000000001,
y: -0.23000000000000043,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -5.210000000000001,
y: -0.23000000000000043,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.210000000000001,
y: 0.120000000000001,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.5600000000000005,
y: 0.46999999999999886,
width: 0.15,
layer: "bottom"
},
{
route_type: "wire",
x: -5.5600000000000005,
y: 0.46999999999999886,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -6.16,
y: 1.0700000000000003,
width: 0.1,
layer: "bottom"
},
{
route_type: "wire",
x: -6.265,
y: 1.15,
width: 0.1,
layer: "bottom"
}
],
source_trace_id: "source_trace_245"
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_1_gpio_escape_retained",
connection_name: "source_net_1",
connectsTo: [
"pcb_port_63",
"pcb_port_161"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -7.850071,
width: 0.15,
layer: "top",
start_pcb_port_id: "pcb_port_63"
},
{
route_type: "wire",
x: -4.8,
y: -7.90065,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.8,
y: -7.90065,
width: 0.15,
layer: "top",
end_pcb_port_id: "pcb_port_161"
}
]
},
{
type: "pcb_trace",
pcb_trace_id: "source_net_2_gpio_escape_retained",
connection_name: "source_net_2",
connectsTo: [
"pcb_port_64",
"pcb_port_163"
],
route: [
{
route_type: "wire",
x: -5.700063999999999,
y: -7.450021,
width: 0.15,
layer: "top",
start_pcb_port_id: "pcb_port_64"
},
{
route_type: "wire",
x: -4.05,
y: -7.45055,
width: 0.15,
layer: "top"
},
{
route_type: "wire",
x: -4.05,
y: -7.45055,
width: 0.15,
layer: "top",
end_pcb_port_id: "pcb_port_163"
}
]
}
];
var plan = {
expectedInput: expectedInput,
traces: traces
};
/** A fixed routing solution through tscircuit's local algorithmFn interface.
* No check is suppressed: core regenerates traces, vias, pours and DRC normally.
* Refuse stale geometry/connectivity instead of applying routes to an edited PCB.
*/
function canonicalRoutingInput(value) {
const normalize = (item, key) => {
if (typeof item === "number")
return Math.round(item * 1e8) / 1e8;
if (Array.isArray(item)) {
// connectedTo is a set of connectivity IDs. Core versions differ in
// whether they include duplicate IDs; order and multiplicity have no
// electrical meaning. Preserve every other array (including geometry).
if (key === "connectedTo" && item.every(id => typeof id === "string")) {
return [...new Set(item)].sort();
}
return item.map(value => normalize(value));
}
if (item && typeof item === "object")
return Object.fromEntries(Object.keys(item).sort().map(key => [key, normalize(item[key], key)]));
return item;
};
return JSON.stringify(normalize(value));
}
const expected = canonicalRoutingInput(plan.expectedInput);
const savedRouting = async (input) => {
if (canonicalRoutingInput(input) !== expected) {
const actual = JSON.parse(canonicalRoutingInput(input));
const wanted = JSON.parse(expected);
const diffs = [];
const compare = (a, b, path) => {
if (JSON.stringify(a) === JSON.stringify(b) || diffs.length >= 8)
return;
if (a && b && typeof a === "object" && typeof b === "object") {
for (const key of new Set([...Object.keys(a), ...Object.keys(b)]))
compare(a[key], b[key], `${path}.${key}`);
}
else
diffs.push(`${path}: expected ${JSON.stringify(b)}, got ${JSON.stringify(a)}`);
};
compare(actual, wanted, "input");
throw new Error("Regenerate and validate routing/route-plan.json. Routing input mismatch: " + diffs.join("; "));
}
const listeners = new Map();
return {
on(name, callback) {
listeners.set(name, [...listeners.get(name) ?? [], callback]);
},
start() {
const event = { traces: structuredClone(plan.traces) };
for (const callback of listeners.get("complete") ?? [])
callback(event);
},
stop() { },
};
};
const pinLabels$c = {
pin1: ["pin1"],
pin2: ["GND1"],
pin3: ["pin3"],
pin4: ["GND2"]
};
const pinAttributes$5 = {
pin2: { requiresGround: true },
pin4: { requiresGround: true }
};
const ABM8_272_T3 = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$c, pinAttributes: pinAttributes$5, symbol: jsxRuntime.jsxs("symbol", { children: [jsxRuntime.jsx("schematictext", { text: props.name ?? "Y1", schX: 0, schY: 0.65, fontSize: 0.18 }), jsxRuntime.jsx("schematictext", { text: "12MHz", schX: 0, schY: -0.65, fontSize: 0.18 }), jsxRuntime.jsx("port", { name: "pin1", pinNumber: 1, aliases: ["1"], direction: "left", schX: -0.6, schY: -0.2, schStemLength: 0.2, schPinLabelFontSize: 0.08 }), jsxRuntime.jsx("port", { name: "pin3", pinNumber: 3, aliases: ["3"], direction: "right", schX: 0.6, schY: 0.2, schStemLength: 0.2, schPinLabelFontSize: 0.08 }), jsxRuntime.jsx("port", { name: "pin4", pinNumber: 4, aliases: ["GND2"], direction: "left", schX: -0.6, schY: 0.2, schStemLength: 0.2, schPinLabelFontSize: 0.08 }), jsxRuntime.jsx("port", { name: "pin2", pinNumber: 2, aliases: ["GND1"], direction: "right", schX: 0.6, schY: -0.2, schStemLength: 0.2, schPinLabelFontSize: 0.08 }), jsxRuntime.jsx("schematicrect", { schX: 0, schY: 0, width: 0.8, height: 0.8, strokeWidth: 0.02, color: "#880000" }), jsxRuntime.jsx("schematiccircle", { center: { x: -0.3, y: -0.3 }, radius: 0.03, strokeWidth: 0.02, color: "#880000", isFilled: true, fillColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": -0.1, "y": -0.14 }, { "x": -0.1, "y": 0.14 }], strokeColor: "#881100" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.1, "y": -0.14 }, { "x": 0.1, "y": 0.14 }], strokeColor: "#881100" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": -0.4, "y": -0.2 }, { "x": -0.2, "y": -0.2 }, { "x": -0.2, "y": 0 }, { "x": -0.1, "y": 0 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.4, "y": 0.2 }, { "x": 0.2, "y": 0.2 }, { "x": 0.2, "y": 0 }, { "x": 0.1, "y": 0 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicrect", { schX: 0, schY: 0, width: 0.08, height: 0.28, strokeWidth: 0.02, color: "#880000" })] }), supplierPartNumbers: {
"jlcpcb": [
"C20625731"
]
}, manufacturerPartNumber: "ABM8-272-T3", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.100074mm", pcbY: "-0.850011mm", width: "1.3999972mm", height: "1.1999976mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "1.100074mm", pcbY: "-0.850011mm", width: "1.3999972mm", height: "1.1999976mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "1.100074mm", pcbY: "0.850011mm", width: "1.3999972mm", height: "1.1999976mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-1.100074mm", pcbY: "0.850011mm", width: "1.3999972mm", height: "1.1999976mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.028596400000083, "y": -1.6784827999999834 }, { "x": -2.028596400000083, "y": 1.678736800000138 }, { "x": 2.0285963999999694, "y": 1.678736800000138 }, { "x": 2.0285963999999694, "y": -1.6784827999999834 }, { "x": -2.028596400000083, "y": -1.6784827999999834 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.257196399999998, "y": -0.24988519999988057 }, { "x": -2.257196399999998, "y": -1.9070827999998983 }, { "x": -0.39999920000002476, "y": -1.9070827999998983 }] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.1143mm", pcbY: "2.676527mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -2.0500725999999077, "y": 1.7000097999999753 }, { "x": 2.0500725999999077, "y": 1.7000097999999753 }, { "x": 2.0500725999999077, "y": -1.7000097999999753 }, { "x": -2.0500725999999077, "y": -1.7000097999999753 }, { "x": -2.0500725999999077, "y": 1.7000097999999753 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C20625731.obj?uuid=02485e56ba8d4732a26526d2983fc729",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C20625731.step?uuid=02485e56ba8d4732a26526d2983fc729",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: -12700000070253736e-21, z: 0 },
}, ...props }));
};
const pinLabels$b = {
pin1: ["EH2"],
pin2: ["EH1"],
pin3: ["EH4"],
pin4: ["EH3"],
pin5: ["B8", "SBU2"],
pin6: ["A5", "CC1"],
pin7: ["B7", "DN2"],
pin8: ["A6", "DP1"],
pin9: ["A7", "DN1"],
pin10: ["B6", "DP2"],
pin11: ["A8", "SBU1"],
pin12: ["B5", "CC2"],
pin13: ["A1B12", "GND1"],
pin14: ["B1A12", "GND2"],
pin15: ["B4A9", "VBUS1"],
pin16: ["A4B9", "VBUS2"]
};
const TYPE_C_31_M_12 = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$b, supplierPartNumbers: {
"jlcpcb": [
"C165948"
]
}, manufacturerPartNumber: "TYPE-C-31-M-12", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("hole", { pcbX: "-2.899918mm", pcbY: "0.9055672mm", diameter: "0.5999988mm" }), jsxRuntime.jsx("hole", { pcbX: "2.899918mm", pcbY: "0.9055672mm", diameter: "0.5999988mm" }), jsxRuntime.jsx("platedhole", { portHints: ["pin2"], pcbX: "4.325112mm", pcbY: "-2.7741308mm", holeWidth: "0.7999984mm", holeHeight: "1.3999972mm", outerWidth: "1.1999976mm", outerHeight: "1.7999964mm", shape: "pill" }), jsxRuntime.jsx("platedhole", { portHints: ["pin1"], pcbX: "4.325112mm", pcbY: "1.4056932mm", holeWidth: "0.7999984mm", holeHeight: "1.5999968mm", outerWidth: "1.1999976mm", outerHeight: "1.999996mm", shape: "pill" }), jsxRuntime.jsx("platedhole", { portHints: ["pin4"], pcbX: "-4.325112mm", pcbY: "1.4056932mm", holeWidth: "0.7999984mm", holeHeight: "1.5999968mm", outerWidth: "1.1999976mm", outerHeight: "1.999996mm", shape: "pill" }), jsxRuntime.jsx("platedhole", { portHints: ["pin3"], pcbX: "-4.325112mm", pcbY: "-2.7741308mm", holeWidth: "0.7999984mm", holeHeight: "1.3999972mm", outerWidth: "1.1999976mm", outerHeight: "1.7999964mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-1.75006mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-1.249934mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "-0.750062mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "-0.249936mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "0.249936mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "0.750062mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "1.24968mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], pcbX: "1.75006mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], points: [{ x: "-2.8999688mm", y: "1.524108mm" }, { x: "-2.8999688mm", y: "2.8241308mm" }, { x: "-2.8999688mm", y: "2.8241308mm" }, { x: "-3.1999682mm", y: "2.8241308mm" }, { x: "-3.1999682mm", y: "2.8241308mm" }, { x: "-3.1999682mm", y: "2.8239784mm" }, { x: "-3.1999682mm", y: "2.8239784mm" }, { x: "-3.4999422mm", y: "2.8239784mm" }, { x: "-3.4999422mm", y: "2.8239784mm" }, { x: "-3.4999422mm", y: "1.5239556mm" }, { x: "-3.4999422mm", y: "1.5239556mm" }, { x: "-3.1999428mm", y: "1.5239556mm" }, { x: "-3.1999428mm", y: "1.5239556mm" }, { x: "-3.1999428mm", y: "1.524108mm" }, { x: "-3.1999428mm", y: "1.524108mm" }, { x: "-2.8999688mm", y: "1.524108mm" }], shape: "polygon" }), jsxRuntime.jsx("smtpad", { portHints: ["pin14"], points: [{ x: "2.8999942mm", y: "2.8241308mm" }, { x: "2.8999942mm", y: "1.5241588mm" }, { x: "2.8999942mm", y: "1.5241588mm" }, { x: "3.1999936mm", y: "1.5241588mm" }, { x: "3.1999936mm", y: "1.5241588mm" }, { x: "3.200019mm", y: "1.5241588mm" }, { x: "3.200019mm", y: "1.5241588mm" }, { x: "3.5000184mm", y: "1.5241588mm" }, { x: "3.5000184mm", y: "1.5241588mm" }, { x: "3.5000184mm", y: "2.8241308mm" }, { x: "3.5000184mm", y: "2.8241308mm" }, { x: "3.200019mm", y: "2.8241308mm" }, { x: "3.200019mm", y: "2.8241308mm" }, { x: "3.1999936mm", y: "2.8241308mm" }, { x: "3.1999936mm", y: "2.8241308mm" }, { x: "2.8999942mm", y: "2.8241308mm" }], shape: "polygon" }), jsxRuntime.jsx("smtpad", { portHints: ["pin15"], points: [{ x: "2.7001724mm", y: "1.5241588mm" }, { x: "2.7001724mm", y: "2.8241308mm" }, { x: "2.7001724mm", y: "2.8241308mm" }, { x: "2.400173mm", y: "2.8241308mm" }, { x: "2.400173mm", y: "2.8241308mm" }, { x: "2.4001476mm", y: "2.8241308mm" }, { x: "2.4001476mm", y: "2.8241308mm" }, { x: "2.1001482mm", y: "2.8241308mm" }, { x: "2.1001482mm", y: "2.8241308mm" }, { x: "2.1001482mm", y: "1.5241588mm" }, { x: "2.1001482mm", y: "1.5241588mm" }, { x: "2.4001476mm", y: "1.5241588mm" }, { x: "2.4001476mm", y: "1.5241588mm" }, { x: "2.400173mm", y: "1.5241588mm" }, { x: "2.400173mm", y: "1.5241588mm" }, { x: "2.7001724mm", y: "1.5241588mm" }], shape: "polygon" }), jsxRuntime.jsx("smtpad", { portHints: ["pin16"], points: [{ x: "-2.0999704mm", y: "1.5240064mm" }, { x: "-2.0999704mm", y: "2.8239784mm" }, { x: "-2.0999704mm", y: "2.8239784mm" }, { x: "-2.3999952mm", y: "2.8239784mm" }, { x: "-2.3999952mm", y: "2.8239784mm" }, { x: "-2.3999952mm", y: "2.823953mm" }, { x: "-2.3999952mm", y: "2.823953mm" }, { x: "-2.6999438mm", y: "2.823953mm" }, { x: "-2.6999438mm", y: "2.823953mm" }, { x: "-2.6999438mm", y: "1.523981mm" }, { x: "-2.6999438mm", y: "1.523981mm" }, { x: "-2.399919mm", y: "1.523981mm" }, { x: "-2.399919mm", y: "1.523981mm" }, { x: "-2.399919mm", y: "1.5240064mm" }, { x: "-2.399919mm", y: "1.5240064mm" }, { x: "-2.0999704mm", y: "1.5240064mm" }], shape: "polygon" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -4.4689776000000165, "y": -1.6757585999999947 }, { "x": -4.4689776000000165, "y": 0.18715359999987413 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 4.471009600000116, "y": -5.394140800000059 }, { "x": -4.4689776000000165, "y": -5.394140800000059 }, { "x": -4.4689776000000165, "y": -3.91283820000001 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 4.471009600000116, "y": -1.676114200000029 }, { "x": 4.471009600000116, "y": 0.18750920000002225 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 4.471009600000116, "y": -5.394140800000059 }, { "x": 4.471009600000116, "y": -3.912482600000203 }] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.002794mm", pcbY: "3.8286012mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -5.174805999999876, "y": 3.0786011999998664 }, { "x": 5.180394000000092, "y": 3.0786011999998664 }, { "x": 5.180394000000092, "y": -5.650998800000025 }, { "x": -5.174805999999876, "y": -5.650998800000025 }, { "x": -5.174805999999876, "y": 3.0786011999998664 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C165948.obj?uuid=617b05f9bba7410b96c001093d8189e4",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C165948.step?uuid=617b05f9bba7410b96c001093d8189e4",
pcbRotationOffset: 180,
modelOriginPosition: { x: 0, y: -2.7500289000000517, z: 0.000010999999999872223 },
}, ...props }));
};
// Preserve the established schematic pin numbering; all physical geometry and
// CAD data come unchanged from the exact C165948 EasyEDA supplier import.
// Shell positions, rather than vendor EH numbering, determine this mapping.
const supplierToLegacyPin = {
1: 2, 2: 4, 3: 3, 4: 1, 5: 7, 6: 8, 7: 9, 8: 10,
9: 11, 10: 12, 11: 13, 12: 14, 13: 5, 14: 16, 15: 15, 16: 6,
};
const imported = TYPE_C_31_M_12({ name: "USB" }).props;
function supplierFootprint(offset) {
const footprint = imported.footprint;
return react.cloneElement(footprint, {}, react.Children.map(footprint.props.children, child => {
const pad = child;
if (!pad.props.portHints)
return pad;
return react.cloneElement(pad, { portHints: pad.props.portHints.map(hint => {
const pin = supplierToLegacyPin[Number(hint.replace("pin", ""))];
if (!pin)
throw new Error(`Unmapped C165948 pin: ${hint}`);
return `pin${pin + offset}`;
}) });
}));
}
const motorPinLabels = {
pin1: ["EH1", "SHELL1"],
pin2: ["EH2", "SHELL2"],
pin3: ["EH3", "SHELL3"],
pin4: ["EH4", "SHELL4"],
pin5: ["A1B12", "GND1"],
pin6: ["A4B9", "VBUS1"],
pin7: ["B8", "SBU2"],
pin8: ["A5", "CC1"],
pin9: ["B7", "DM2"],
pin10: ["A6", "DP1"],
pin11: ["A7", "DM1"],
pin12: ["B6", "DP2"],
pin13: ["A8", "SBU1"],
pin14: ["B5", "CC2"],
pin15: ["B4A9", "VBUS2"],
pin16: ["B1A12", "GND2"],
};
const controllerPinLabels = {
pin13: ["EH1", "SHELL1"],
pin14: ["EH2", "SHELL2"],
pin15: ["pin13_alt1", "SHELL3"],
pin16: ["pin14_alt1", "SHELL4"],
pin17: ["A1B12", "GND1"],
pin18: ["A4B9", "VBUS1"],
pin19: ["B8", "SBU2"],
pin20: ["A5", "CC1"],
pin21: ["B7", "DM2"],
pin22: ["A6", "DP1"],
pin23: ["A7", "DM1"],
pin24: ["B6", "DP2"],
pin25: ["A8", "SBU1"],
pin26: ["B5", "CC2"],
pin27: ["B4A9", "VBUS2"],
pin28: ["B1A12", "GND2"]
};
const MotorUsbC = (props) => (jsxRuntime.jsx("connector", { ...imported, standard: "usb_c", pinLabels: motorPinLabels, footprint: supplierFootprint(0), ...props }));
const ControllerUsbC = (props) => (jsxRuntime.jsx("connector", { ...imported, standard: "usb_c", pinLabels: controllerPinLabels, footprint: supplierFootprint(12), ...props }));
const pinLabels$a = {
pin1: ["IOVDD6"],
pin2: ["GPIO0"],
pin3: ["GPIO1"],
pin4: ["GPIO2"],
pin5: ["GPIO3"],
pin6: ["GPIO4"],
pin7: ["GPIO5"],
pin8: ["GPIO6"],
pin9: ["GPIO7"],
pin10: ["IOVDD5"],
pin11: ["GPIO8"],
pin12: ["GPIO9"],
pin13: ["GPIO10"],
pin14: ["GPIO11"],
pin15: ["GPIO12"],
pin16: ["GPIO13"],
pin17: ["GPIO14"],
pin18: ["GPIO15"],
pin19: ["TESTEN"],
pin20: ["XIN"],
pin21: ["XOUT"],
pin22: ["IOVDD4"],
pin23: ["DVDD2"],
pin24: ["SWCLK"],
pin25: ["SWD"],
pin26: ["RUN"],
pin27: ["GPIO16"],
pin28: ["GPIO17"],
pin29: ["GPIO18"],
pin30: ["GPIO19"],
pin31: ["GPIO20"],
pin32: ["GPIO21"],
pin33: ["IOVDD3"],
pin34: ["GPIO22"],
pin35: ["GPIO23"],
pin36: ["GPIO24"],
pin37: ["GPIO25"],
pin38: ["GPIO26_ADC0"],
pin39: ["GPIO27_ADC1"],
pin40: ["GPIO28_ADC2"],
pin41: ["GPIO29_ADC3"],
pin42: ["IOVDD2"],
pin43: ["ADC_AVDD"],
pin44: ["VREG_IN"],
pin45: ["VREG_VOUT"],
pin46: ["USB_DM"],
pin47: ["USB_DP"],
pin48: ["USB_VDD"],
pin49: ["IOVDD1"],
pin50: ["DVDD1"],
pin51: ["QSPI_SD3"],
pin52: ["QSPI_SCLK"],
pin53: ["QSPI_SD0"],
pin54: ["QSPI_SD2"],
pin55: ["QSPI_SD1"],
pin56: ["QSPI_SS"],
pin57: ["GND"]
};
const pinAttributes$4 = {
pin57: { requiresGround: true }
};
const RP2040$1 = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$a, pinAttributes: pinAttributes$4, supplierPartNumbers: {
"jlcpcb": [
"C2040"
]
}, manufacturerPartNumber: "RP2040", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin57"], pcbX: "-0mm", pcbY: "0.000127mm", width: "3.0999938mm", height: "3.0999938mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin56"], pcbX: "-2.599944mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin55"], pcbX: "-2.200148mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin54"], pcbX: "-1.800098mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin53"], pcbX: "-1.400048mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin52"], pcbX: "-0.999998mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin51"], pcbX: "-0.599948mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin50"], pcbX: "-0.200152mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin49"], pcbX: "0.199898mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin48"], pcbX: "0.599948mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin47"], pcbX: "0.999998mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin46"], pcbX: "1.400048mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin45"], pcbX: "1.799844mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin44"], pcbX: "2.199894mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin43"], pcbX: "2.599944mm", pcbY: "3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin42"], pcbX: "3.424936mm", pcbY: "2.600071mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin41"], pcbX: "3.424936mm", pcbY: "2.200021mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin40"], pcbX: "3.424936mm", pcbY: "1.799971mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin39"], pcbX: "3.424936mm", pcbY: "1.399921mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin38"], pcbX: "3.424936mm", pcbY: "1.000125mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin37"], pcbX: "3.424936mm", pcbY: "0.600075mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin36"], pcbX: "3.424936mm", pcbY: "0.200025mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin35"], pcbX: "3.424936mm", pcbY: "-0.200025mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin34"], pcbX: "3.424936mm", pcbY: "-0.600075mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin33"], pcbX: "3.424936mm", pcbY: "-0.999871mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin32"], pcbX: "3.424936mm", pcbY: "-1.399921mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin31"], pcbX: "3.424936mm", pcbY: "-1.799971mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin30"], pcbX: "3.424936mm", pcbY: "-2.200021mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin29"], pcbX: "3.424936mm", pcbY: "-2.600071mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin28"], pcbX: "2.599944mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin27"], pcbX: "2.199894mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin26"], pcbX: "1.799844mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin25"], pcbX: "1.400048mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin24"], pcbX: "0.999998mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin23"], pcbX: "0.599948mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin22"], pcbX: "0.199898mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin21"], pcbX: "-0.200152mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin20"], pcbX: "-0.599948mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin19"], pcbX: "-0.999998mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin18"], pcbX: "-1.400048mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin17"], pcbX: "-1.800098mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin16"], pcbX: "-2.200148mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin15"], pcbX: "-2.599944mm", pcbY: "-3.425063mm", width: "0.1999996mm", height: "0.850011mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin14"], pcbX: "-3.424936mm", pcbY: "-2.600071mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], pcbX: "-3.424936mm", pcbY: "-2.200021mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], pcbX: "-3.424936mm", pcbY: "-1.799971mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "-3.424936mm", pcbY: "-1.399921mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "-3.424936mm", pcbY: "-0.999871mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "-3.424936mm", pcbY: "-0.600075mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "-3.424936mm", pcbY: "-0.200025mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "-3.424936mm", pcbY: "0.200025mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-3.424936mm", pcbY: "0.600075mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-3.424936mm", pcbY: "1.000125mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-3.424936mm", pcbY: "1.399921mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-3.424936mm", pcbY: "1.799971mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-3.424936mm", pcbY: "2.200021mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-3.424936mm", pcbY: "2.600071mm", width: "0.850011mm", height: "0.1999996mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.2409891999999445, "y": 3.500018399999931 }, { "x": -3.2409891999999445, "y": 3.403168199999868 }, { "x": -3.5000691999999844, "y": 3.144062800000029 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.5000691999999844, "y": 2.931185400000004 }, { "x": -2.9311854000001176, "y": 3.500018399999931 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.5000691999999844, "y": 2.931185400000004 }, { "x": -3.5000691999999844, "y": 3.500018399999931 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.9311854000001176, "y": -3.499916799999937 }, { "x": -3.40004399999998, "y": -3.499916799999937 }, { "x": -3.5000691999999844, "y": -3.499916799999937 }, { "x": -3.5000691999999844, "y": -2.9310838000000103 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 3.499942199999964, "y": -2.9310838000000103 }, { "x": 3.499942199999964, "y": -3.499916799999937 }, { "x": 2.931083800000124, "y": -3.499916799999937 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 2.931083800000124, "y": 3.500018399999931 }, { "x": 3.499942199999964, "y": 3.500018399999931 }, { "x": 3.499942199999964, "y": 2.931185400000004 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.5000691999999844, "y": 3.500018399999931 }, { "x": -2.9311854000001176, "y": 3.500018399999931 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.2409891999999445, "y": 3.5001453999999512 }, { "x": -3.2409891999999445, "y": 3.4032952000000023 }, { "x": -3.5000691999999844, "y": 3.144215200000076 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.5000691999999844, "y": 2.9313124000000244 }, { "x": -2.9311854000001176, "y": 3.5001453999999512 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.5000691999999844, "y": 2.9313124000000244 }, { "x": -3.5000691999999844, "y": 3.5001453999999512 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.9311854000001176, "y": -3.4997898000000305 }, { "x": -3.40004399999998, "y": -3.4997898000000305 }, { "x": -3.5000691999999844, "y": -3.4997898000000305 }, { "x": -3.5000691999999844, "y": -2.93095679999999 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 3.499916800000051, "y": -2.93095679999999 }, { "x": 3.499916800000051, "y": -3.4997898000000305 }, { "x": 2.931083800000124, "y": -3.4997898000000305 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 2.931083800000124, "y": 3.5001453999999512 }, { "x": 3.499916800000051, "y": 3.5001453999999512 }, { "x": 3.499916800000051, "y": 2.9313124000000244 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.5000691999999844, "y": 3.5001453999999512 }, { "x": -2.9311854000001176, "y": 3.5001453999999512 }] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "-3.999992mm", pcbY: "3.700272mm", radius: "0.127mm" }), jsxRuntime.jsx("silkscreencircle", { pcbX: "-3.999992mm", pcbY: "3.700145mm", radius: "0.127mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.140208mm", pcbY: "4.859022mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -4.3780080000000225, "y": 4.109021999999982 }, { "x": 4.097592000000077, "y": 4.109021999999982 }, { "x": 4.097592000000077, "y": -4.087178000000108 }, { "x": -4.3780080000000225, "y": -4.087178000000108 }, { "x": -4.3780080000000225, "y": 4.109021999999982 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2040.obj?uuid=76b360a9d4c54384a4e47d7e5af156df",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2040.step?uuid=76b360a9d4c54384a4e47d7e5af156df",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0.000012699999956566899, y: -1269999999067295e-19, z: -0.02 },
}, ...props }));
};
const pinLabels$9 = {
pin1: ["N_CS"],
pin2: ["pin2"],
pin3: ["pin3"],
pin4: ["GND"],
pin5: ["pin5"],
pin6: ["CLK"],
pin7: ["pin7"],
pin8: ["VCC"],
pin9: ["EP"]
};
const pinAttributes$3 = {
pin4: { requiresGround: true },
pin8: { requiresPower: true }
};
const W25Q16JVUXIQ$1 = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$9, pinAttributes: pinAttributes$3, supplierPartNumbers: {
"jlcpcb": [
"C2843335"
]
}, manufacturerPartNumber: "W25Q16JVUXIQ", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.750062mm", pcbY: "-1.50749mm", width: "0.2800096mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-0.249936mm", pcbY: "-1.50749mm", width: "0.2800096mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "0.249936mm", pcbY: "-1.50749mm", width: "0.2800096mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "0.750062mm", pcbY: "-1.50749mm", width: "0.2800096mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "-0.750062mm", pcbY: "1.50749mm", width: "0.2800096mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "-0.249936mm", pcbY: "1.50749mm", width: "0.2800096mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "0.249936mm", pcbY: "1.50749mm", width: "0.2800096mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "0.750062mm", pcbY: "1.50749mm", width: "0.2800096mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "0mm", pcbY: "0mm", width: "1.6999966mm", height: "0.2999994mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 1.0763249999998834, "y": -1.5760446000000456 }, { "x": 1.0763249999998834, "y": 1.5763240000001133 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.0761472000000367, "y": 1.5763240000001133 }, { "x": -1.0761472000000367, "y": -1.5760446000000456 }] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "-0.762mm", pcbY: "-2.032mm", radius: "0.100076mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.003556mm", pcbY: "2.813306mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -1.3259439999999358, "y": 2.0633060000000114 }, { "x": 1.333056000000056, "y": 2.0633060000000114 }, { "x": 1.333056000000056, "y": -2.3736939999998867 }, { "x": -1.3259439999999358, "y": -2.3736939999998867 }, { "x": -1.3259439999999358, "y": 2.0633060000000114 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2843335.obj?uuid=2b35e1c3dcc44b77887d4f445b51370a",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2843335.step?uuid=2b35e1c3dcc44b77887d4f445b51370a",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0.00795020000009572, y: 0.027940000000057807, z: 0 },
}, ...props }));
};
const pinLabels$8 = {
pin1: ["VIN"],
pin2: ["GND"],
pin3: ["EN"],
pin4: ["NC"],
pin5: ["VOUT"]
};
const pinAttributes$2 = {
pin1: { requiresPower: true },
pin2: { requiresGround: true },
pin4: { doNotConnect: true }
};
const AP2112K_3_3TRG1$1 = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$8, pinAttributes: pinAttributes$2, supplierPartNumbers: {
"jlcpcb": [
"C23380830"
]
}, manufacturerPartNumber: "AP2112K-3.3TRG1", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "1.100074mm", pcbY: "-0.000127mm", width: "0.999998mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "1.100074mm", pcbY: "0.949833mm", width: "0.999998mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "1.100074mm", pcbY: "-0.949833mm", width: "0.999998mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-1.100074mm", pcbY: "0.950087mm", width: "0.999998mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-1.100074mm", pcbY: "-0.950087mm", width: "0.999998mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.6984238000000005, "y": -1.523974599999974 }, { "x": 0.6985507999999072, "y": -1.5240254000000277 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.42237660000012056, "y": 1.3969745999999077 }, { "x": 0.42240199999992, "y": 1.3969745999999077 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.88894920000007, "y": -0.38097460000005867 }, { "x": -0.88894920000007, "y": 0.38097460000005867 }] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "2.0099782mm", pcbY: "-0.9602216mm", radius: "0.150114mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.283972mm", pcbY: "2.448689mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -1.8456280000000334, "y": 1.6986889999999448 }, { "x": 2.413571999999931, "y": 1.6986889999999448 }, { "x": 2.413571999999931, "y": -1.7731110000000854 }, { "x": -1.8456280000000334, "y": -1.7731110000000854 }, { "x": -1.8456280000000334, "y": 1.6986889999999448 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C23380830.obj?uuid=8c971aea3af54c53b74baeb1f489d393",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C23380830.step?uuid=8c971aea3af54c53b74baeb1f489d393",
pcbRotationOffset: 90,
modelOriginPosition: { x: -12699999956566899e-21, y: 0.00006349999989652133, z: -0.7 },
}, ...props }));
};
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __pow = Math.pow;
var __defNormalProp = (obj, key, value) => (key in obj) ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && __getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(source)) {
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
target[prop] = source[prop];
}
return target;
};
var OutlineBuilder = class {
constructor(startX, startY) {
this.points = [];
this.lastDirection = null;
this.currentX = startX;
this.currentY = startY;
this.points.push({ x: startX, y: startY });
}
updateDirection(x, y) {
if (x > this.currentX)
this.lastDirection = "right";
else if (x < this.currentX)
this.lastDirection = "left";
else if (y > this.currentY)
this.lastDirection = "down";
else if (y < this.currentY)
this.lastDirection = "up";
}
lineTo(x, y) {
if (x !== this.currentX || y !== this.currentY) {
this.updateDirection(x, y);
this.currentX = x;
this.currentY = y;
this.points.push({ x, y });
}
return this;
}
dirToUnit(dir) {
switch (dir) {
case "right":
return { x: 1, y: 0 };
case "left":
return { x: -1, y: 0 };
case "down":
return { x: 0, y: 1 };
case "up":
return { x: 0, y: -1 };
}
}
outgoingFor(last, turn) {
switch (last) {
case "right":
return turn === "cw" ? { unit: { x: 0, y: 1 }, dir: "down" } : { unit: { x: 0, y: -1 }, dir: "up" };
case "left":
return turn === "cw" ? { unit: { x: 0, y: -1 }, dir: "up" } : { unit: { x: 0, y: 1 }, dir: "down" };
case "down":
return turn === "cw" ? { unit: { x: -1, y: 0 }, dir: "left" } : { unit: { x: 1, y: 0 }, dir: "right" };
case "up":
return turn === "cw" ? { unit: { x: 1, y: 0 }, dir: "right" } : { unit: { x: -1, y: 0 }, dir: "left" };
}
}
corner({ radius, turn }) {
if (this.points.length < 2) {
throw new Error("Need at least two points to create a corner");
}
if (!this.lastDirection) {
throw new Error("Cannot create a corner without a known incoming direction");
}
const ix = this.currentX;
const iy = this.currentY;
const prevIndex = this.points.length - 2;
const prevPoint = this.points[prevIndex];
this.points.pop();
const incomingUnit = this.dirToUnit(this.lastDirection);
const { unit: outgoingUnit, dir: outgoingDir } = this.outgoingFor(this.lastDirection, turn);
const dxPrev = ix - prevPoint.x;
const dyPrev = iy - prevPoint.y;
const distPrev = Math.hypot(dxPrev, dyPrev);
const r = Math.min(radius, distPrev);
const startX = ix - incomingUnit.x * r;
const startY = iy - incomingUnit.y * r;
const endX = ix + outgoingUnit.x * r;
const endY = iy + outgoingUnit.y * r;
const inVec = { x: -incomingUnit.x, y: -incomingUnit.y };
const outVec = { x: outgoingUnit.x, y: outgoingUnit.y };
const bisector = { x: inVec.x + outVec.x, y: inVec.y + outVec.y };
const bisLen = Math.hypot(bisector.x, bisector.y);
let dot = inVec.x * outVec.x + inVec.y * outVec.y;
dot = Math.max(-1, Math.min(1, dot));
const angle = Math.acos(dot);
if (bisLen < 0.000000001 || Math.abs(Math.sin(angle / 2)) < 0.000000001) {
this.points.push({ x: ix, y: iy });
this.currentX = ix;
this.currentY = iy;
return this;
}
const offset = r / Math.sin(angle / 2);
const bisUnit = { x: bisector.x / bisLen, y: bisector.y / bisLen };
const centerX = ix + bisUnit.x * offset;
const centerY = iy + bisUnit.y * offset;
const startAngle = Math.atan2(startY - centerY, startX - centerX);
const endAngle = Math.atan2(endY - centerY, endX - centerX);
let angleDelta = endAngle - startAngle;
while (angleDelta <= -Math.PI)
angleDelta += 2 * Math.PI;
while (angleDelta > Math.PI)
angleDelta -= 2 * Math.PI;
const lastAfterPop = this.points[this.points.length - 1];
const almostEqual = (a, b) => Math.abs(a - b) < 0.000000001;
if (!lastAfterPop || !almostEqual(lastAfterPop.x, startX) || !almostEqual(lastAfterPop.y, startY)) {
this.points.push({ x: startX, y: startY });
}
const segments = 8;
for (let i = 1;i <= segments; i++) {
const t = i / segments;
const angle2 = startAngle + angleDelta * t;
const x = centerX + r * Math.cos(angle2);
const y = centerY + r * Math.sin(angle2);
this.points.push({ x, y });
}
const last = this.points[this.points.length - 1];
this.currentX = last.x;
this.currentY = last.y;
this.lastDirection = outgoingDir;
return this;
}
arcTo(x, y, { radius, sweep = true, segments = 16 }) {
const start = { x: this.currentX, y: this.currentY };
const end = { x, y };
const mx = (start.x + end.x) / 2;
const my = (start.y + end.y) / 2;
const dx = end.x - start.x;
const dy = end.y - start.y;
const dist = Math.sqrt(dx * dx + dy * dy);
if (dist === 0)
return this;
const h = Math.sqrt(Math.max(0, radius * radius - __pow(dist / 2, 2)));
const perpX = -dy / dist;
const perpY = dx / dist;
const cx = mx + (sweep ? 1 : -1) * perpX * h;
const cy = my + (sweep ? 1 : -1) * perpY * h;
const startAngle = Math.atan2(start.y - cy, start.x - cx);
const endAngle = Math.atan2(end.y - cy, end.x - cx);
let sweepAngle = endAngle - startAngle;
if (sweep && sweepAngle < 0)
sweepAngle += 2 * Math.PI;
if (!sweep && sweepAngle > 0)
sweepAngle -= 2 * Math.PI;
for (let i = 1;i <= segments; i++) {
const t = i / segments;
const angle = startAngle + sweepAngle * t;
const px = cx + radius * Math.cos(angle);
const py = cy + radius * Math.sin(angle);
this.points.push({ x: px, y: py });
}
this.currentX = end.x;
this.currentY = end.y;
return this;
}
toArray() {
return [...this.points];
}
};
var outlineBuilder = (x, y) => {
return new OutlineBuilder(x, y);
};
outlineBuilder(-9, 11).lineTo(11, 11).corner({ radius: 1, turn: "ccw" }).lineTo(11, -7).corner({ radius: 0.5, turn: "ccw" }).lineTo(10, -7).corner({ radius: 0.5, turn: "cw" }).lineTo(10, -11).lineTo(3.28, -11).lineTo(3.28, -8).arcTo(2.08, -8, { radius: 0.6, sweep: true }).lineTo(2.08, -11).lineTo(-10, -11).lineTo(-10, -7).corner({ radius: 0.5, turn: "cw" }).lineTo(-11, -7).corner({ radius: 0.5, turn: "ccw" }).lineTo(-11, 11).corner({ radius: 1, turn: "ccw" }).toArray();
outlineBuilder(0, 32.5).lineTo(19, 32.5).corner({ radius: 1, turn: "ccw" }).lineTo(19, -28.5).corner({ radius: 0.5, turn: "ccw" }).lineTo(10, -28.5).corner({ radius: 0.5, turn: "cw" }).lineTo(10, -32.5).lineTo(3.28, -32.5).lineTo(3.28, -29.5).arcTo(2.08, -29.5, { radius: 0.6, sweep: true }).lineTo(2.08, -32.5).lineTo(-10, -32.5).lineTo(-10, -28.5).corner({ radius: 0.5, turn: "cw" }).lineTo(-19, -28.5).corner({ radius: 0.5, turn: "ccw" }).lineTo(-19, 32.5).corner({ radius: 1, turn: "ccw" }).toArray();
new OutlineBuilder(-0.2, -0.2).lineTo(-0.2, 2.5).arcTo(-2.5, 0, { radius: 2.5, sweep: true }).arcTo(0, -2.5, { radius: 2.5, sweep: true }).arcTo(2.5, -0.2, { radius: 2.5, sweep: true }).lineTo(-0.2, -0.2).toArray();
var pinLabels$7 = {
pin1: ["IOVDD6"],
pin2: ["GPIO0"],
pin3: ["GPIO1"],
pin4: ["GPIO2"],
pin5: ["GPIO3"],
pin6: ["GPIO4"],
pin7: ["GPIO5"],
pin8: ["GPIO6"],
pin9: ["GPIO7"],
pin10: ["IOVDD5"],
pin11: ["GPIO8"],
pin12: ["GPIO9"],
pin13: ["GPIO10"],
pin14: ["GPIO11"],
pin15: ["GPIO12"],
pin16: ["GPIO13"],
pin17: ["GPIO14"],
pin18: ["GPIO15"],
pin19: ["TESTEN"],
pin20: ["XIN"],
pin21: ["XOUT"],
pin22: ["IOVDD4"],
pin23: ["DVDD2"],
pin24: ["SWCLK"],
pin25: ["SWD"],
pin26: ["RUN"],
pin27: ["GPIO16"],
pin28: ["GPIO17"],
pin29: ["GPIO18"],
pin30: ["GPIO19"],
pin31: ["GPIO20"],
pin32: ["GPIO21"],
pin33: ["IOVDD3"],
pin34: ["GPIO22"],
pin35: ["GPIO23"],
pin36: ["GPIO24"],
pin37: ["GPIO25"],
pin38: ["GPIO26_ADC0"],
pin39: ["GPIO27_ADC1"],
pin40: ["GPIO28_ADC2"],
pin41: ["GPIO29_ADC3"],
pin42: ["IOVDD2"],
pin43: ["ADC_AVDD"],
pin44: ["VREG_IN"],
pin45: ["VREG_VOUT"],
pin46: ["USB_DM"],
pin47: ["USB_DP"],
pin48: ["USB_VDD"],
pin49: ["IOVDD1"],
pin50: ["DVDD1"],
pin51: ["QSPI_SD3"],
pin52: ["QSPI_SCLK"],
pin53: ["QSPI_SD0"],
pin54: ["QSPI_SD2"],
pin55: ["QSPI_SD1"],
pin56: ["QSPI_SS"],
pin57: ["GND", "thermalpad"]
};
var RP2040 = (props) => {
return /* @__PURE__ */ jsxRuntime.jsx("chip", __spreadValues({
pinLabels: pinLabels$7,
supplierPartNumbers: {
jlcpcb: ["C2040"]
},
manufacturerPartNumber: "RP2040",
footprint: RP2040$1({name: props.name}).props.footprint,
cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2040.obj?uuid=76b360a9d4c54384a4e47d7e5af156df",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2040.step?uuid=76b360a9d4c54384a4e47d7e5af156df",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: -0.02 }
}
}, props));
};
var pinLabels3 = {
pin1: ["CS"],
pin2: ["pin2"],
pin3: ["pin3"],
pin4: ["GND"],
pin5: ["pin5"],
pin6: ["CLK"],
pin7: ["pin7"],
pin8: ["VCC"],
pin9: ["EP"]
};
var W25Q16JVUXIQ = (props) => {
return /* @__PURE__ */ jsxRuntime.jsx("chip", __spreadValues({
pinLabels: pinLabels3,
supplierPartNumbers: {
jlcpcb: ["C2843335"]
},
manufacturerPartNumber: "W25Q16JVUXIQ",
footprint: W25Q16JVUXIQ$1({name: props.name}).props.footprint,
cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2843335.obj?uuid=2b35e1c3dcc44b77887d4f445b51370a",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2843335.step?uuid=2b35e1c3dcc44b77887d4f445b51370a",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: 0 }
}
}, props));
};
var pinLabels4 = {
pin1: ["VIN"],
pin2: ["GND"],
pin3: ["EN"],
pin4: ["NC"],
pin5: ["VOUT"]
};
var AP2112K_3_3TRG1 = (props) => {
return /* @__PURE__ */ jsxRuntime.jsx("chip", __spreadValues({
pinLabels: pinLabels4,
supplierPartNumbers: {
jlcpcb: ["C23380830"]
},
manufacturerPartNumber: "AP2112K_3_3TRG1",
footprint: AP2112K_3_3TRG1$1({name: props.name}).props.footprint,
cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C23380830.obj?uuid=8c971aea3af54c53b74baeb1f489d393",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C23380830.step?uuid=8c971aea3af54c53b74baeb1f489d393",
// Native model has three leads on -Y; the footprint has them on +X.
pcbRotationOffset: 90,
modelOriginPosition: { x: 0, y: 0, z: -0.7 }
}
}, props));
};
// Use the imported EasyEDA symbol while retaining the routed board's footprint.
var X322512MSB4SI = (props) => jsxRuntime.jsx(ABM8_272_T3, {
...props,
footprint: "crystal",
internallyConnectedPins: [["pin2", "pin4"]],
showPinAliases: false,
});
var pinLabels5 = {
pin1: ["pin1"],
pin2: ["pin2"],
pin3: ["pin3"],
pin4: ["pin4"]
};
var SKRPACE010 = (props) => {
return /* @__PURE__ */ jsxRuntime.jsx("pushbutton", __spreadValues({
pinLabels: pinLabels5,
supplierPartNumbers: {
jlcpcb: ["C139797"]
},
manufacturerPartNumber: "SKRPACE010",
footprint: "smdpushbutton",
internallyConnectedPins: [
["pin1", "pin2"],
["pin3", "pin4"]
],
cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C139797.obj?uuid=00d848a7e8384bbd9286566957e8bb9c",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C139797.step?uuid=00d848a7e8384bbd9286566957e8bb9c",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: -0.01 }
}
}, props));
};
var pinLabels6 = {
pin1: ["cathode", "neg"],
pin2: ["anode", "pos"]
};
var B5819W_SL = (props) => {
const _a = props, { name = "D1" } = _a, restProps = __objRest(_a, ["name"]);
return /* @__PURE__ */ jsxRuntime.jsx("diode", __spreadValues({
name,
pinLabels: pinLabels6,
variant: "schottky",
supplierPartNumbers: {
jlcpcb: ["C8598"]
},
manufacturerPartNumber: "B5819W_SL",
footprint: "sod123w_p3.4mm_pw0.95mm",
cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C8598.obj?uuid=e9d505c99b6c436aaf827a29c5ba4f84",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C8598.step?uuid=e9d505c99b6c436aaf827a29c5ba4f84",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0.000012699999999199463, z: -0.6 }
}
}, restProps));
};
var XL_1608SURC_06 = (props) => {
const _a = props, { name = "LED1" } = _a, restProps = __objRest(_a, ["name"]);
return /* @__PURE__ */ jsxRuntime.jsx("led", __spreadValues({
name,
supplierPartNumbers: {
jlcpcb: ["C965799"]
},
manufacturerPartNumber: "XL_1608SURC_06",
pinLabels: { pin1: ["cathode", "neg"], pin2: ["anode", "pos"] },
footprint: "led_p1.498mm_pw0.8mm_ph0.8mm",
cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C965799.obj?uuid=d0740cb8891c49a88b6949cb978926f3",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C965799.step?uuid=d0740cb8891c49a88b6949cb978926f3",
pcbRotationOffset: 0,
modelOriginPosition: {
x: -12700000070253736e-21,
y: 0.00005079999993995443,
z: -0.01
}
}
}, restProps));
};
var denseTraceProps = { thickness: "0.1mm" };
var gndLabel = { displayName: "GND", schDisplayLabel: "GND" };
var vbusLabel = { displayName: "VBUS", schDisplayLabel: "VBUS" };
var vsysLabel = { displayName: "VSYS", schDisplayLabel: "VSYS" };
var v3v3Label = { displayName: "V3V3", schDisplayLabel: "V3V3" };
var v1v1Label = { displayName: "V1V1", schDisplayLabel: "V1V1" };
var adcRefLabel = {
displayName: "ADC_REF",
schDisplayLabel: "ADC_REF"
};
var schSections = {
rp2040: (name) => `${name}__rp2040`,
usb: (name) => `${name}__usb`,
power: (name) => `${name}__power`,
flash: (name) => `${name}__flash`,
clock: (name) => `${name}__clock`,
controls: (name) => `${name}__controls`,
display: (name) => `${name}__display`,
status: (name) => `${name}__status`,
debug: (name) => `${name}__debug`
};
var Microcontroller_RP2040 = (_a) => {
var _b = _a, {
name = "Microcontroller_RP2040",
connections
} = _b, props = __objRest(_b, [
"name",
"connections"
]);
var programmingSchSheetName = props.schSheetName === "controller" ? "controller_programming" : undefined;
return /* @__PURE__ */ jsxRuntime.jsxs("group", __spreadProps(__spreadValues({ name }, props), { children: [
/* @__PURE__ */ jsxRuntime.jsx("schematicsection", {
name: schSections.rp2040(name),
displayName: "RP2040 & Power"
}),
programmingSchSheetName ? null : /* @__PURE__ */ jsxRuntime.jsx("schematicsection", {
name: schSections.usb(name),
displayName: "Programming USB-C & QSPI"
}),
/* @__PURE__ */ jsxRuntime.jsx("schematicsection", { name: schSections.clock(name), displayName: "Clock" }),
/* @__PURE__ */ jsxRuntime.jsx(X322512MSB4SI, {
name: "Y1",
schSectionName: schSections.clock(name),
pcbX: -1.2,
pcbY: -6,
pcbRotation: 270,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_XIN",
capacitance: "15pF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1548"] },
manufacturerPartNumber: "0402CG150J500NT",
schSectionName: schSections.clock(name),
schOrientation: "vertical",
pcbX: -2,
pcbY: -9.8,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_XOUT",
capacitance: "15pF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1548"] },
manufacturerPartNumber: "0402CG150J500NT",
schSectionName: schSections.clock(name),
schOrientation: "vertical",
pcbX: 0,
pcbY: -9.8,
}),
/* @__PURE__ */ jsxRuntime.jsx("resistor", {
name: "R_XOUT",
resistance: "1k",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C11702"] },
schSectionName: schSections.clock(name),
pcbX: 1.8,
pcbY: -5.8,
}),
/* @__PURE__ */ jsxRuntime.jsx("schematicsection", {
name: schSections.status(name),
displayName: "Controls, Status & SWD"
}),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "Y1_G1", from: ".Y1 > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "Y1_G2", from: ".Y1 > .pin4", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "USB_DN_JOIN", schDisplayLabel: "USB_D-", from: ".J_USB > .A7", to: ".J_USB > .B7" }),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "USB_DN_CONN", schDisplayLabel: "USB_D-", from: ".J_USB > .B7", to: ".R_USB1 > .pin1" }),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "USB_DP_JOIN", schDisplayLabel: "USB_D+", from: ".J_USB > .A6", to: ".J_USB > .B6" }),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "USB_DP_CONN", schDisplayLabel: "USB_D+", from: ".J_USB > .B6", to: ".R_USB2 > .pin1" }),
/* @__PURE__ */ jsxRuntime.jsx(B5819W_SL, {
name: "D_VBUS",
schSheetName: programmingSchSheetName,
schSectionName: "MCU__programming_supply",
pcbX: -3.375,
pcbY: 16.75,
pcbRotation: 180,
schRotation: 270
}),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "VBUS_D", from: "net.VBUS", to: ".D_VBUS > .anode" }, vbusLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "D_VSYS",
from: ".D_VBUS > .cathode",
to: "net.VSYS"
}, vsysLabel)),
/* @__PURE__ */ jsxRuntime.jsx("resistor", {
name: "R_3V3_EN",
resistance: "100k",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C25741"] },
manufacturerPartNumber: "0402WGF1003TCE",
schSheetName: programmingSchSheetName,
schSectionName: "MCU__programming_supply",
pcbX: -5.375,
pcbY: 13.75,
pcbRotation: 90,
schRotation: 270
}),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "EN_VSYS",
from: ".R_3V3_EN > .pin1",
to: "net.VSYS"
}, vsysLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "EN_R", from: ".R_3V3_EN > .pin2", to: ".U3 > .EN" }),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_IOVDD1",
capacitance: "100nF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1525"] },
manufacturerPartNumber: "CL05B104KO5NNNC",
schSectionName: schSections.rp2040(name),
schOrientation: "vertical",
pcbX: -4.4,
pcbY: -5,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_IOVDD2",
capacitance: "100nF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1525"] },
manufacturerPartNumber: "CL05B104KO5NNNC",
schSectionName: schSections.rp2040(name),
schOrientation: "vertical",
pcbX: -3,
pcbY: 6,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_IOVDD3",
capacitance: "100nF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1525"] },
manufacturerPartNumber: "CL05B104KO5NNNC",
schSectionName: schSections.rp2040(name),
schOrientation: "vertical",
pcbRotation: 0,
pcbX: -8.125,
pcbY: -1.25,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_IOVDD4",
capacitance: "100nF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1525"] },
manufacturerPartNumber: "CL05B104KO5NNNC",
schSectionName: schSections.rp2040(name),
schOrientation: "vertical",
pcbX: -4.4,
pcbY: -6,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_IOVDD5",
capacitance: "100nF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1525"] },
manufacturerPartNumber: "CL05B104KO5NNNC",
schSectionName: schSections.rp2040(name),
schOrientation: "vertical",
pcbRotation: -90,
pcbX: -6.875,
pcbY: -5,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_IOVDD6",
pcbRotation: 90,
capacitance: "100nF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1525"] },
manufacturerPartNumber: "CL05B104KO5NNNC",
schSectionName: schSections.rp2040(name),
schOrientation: "vertical",
pcbX: -5.375,
pcbY: 3.75,
}),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "IO5_3V3",
from: ".C_IOVDD5 > .pin1",
to: "net.V3V3"
}, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "IO5_G", from: ".C_IOVDD5 > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "IO6_3V3",
from: ".C_IOVDD6 > .pin1",
to: "net.V3V3"
}, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "IO6_G", from: ".C_IOVDD6 > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "IO3_3V3",
from: ".C_IOVDD3 > .pin1",
to: "net.V3V3"
}, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "IO3_G", from: ".C_IOVDD3 > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "IO4_3V3",
from: ".C_IOVDD4 > .pin1",
to: "net.V3V3"
}, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "IO4_G", from: ".C_IOVDD4 > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("resistor", {
name: "R_RUN",
schRotation: 90.0,
resistance: "10k",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C25744"] },
manufacturerPartNumber: "0402WGF1002TCE",
schSectionName: schSections.controls(name),
pcbX: 6.125,
pcbY: -6.25,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_FLASH",
capacitance: "100nF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1525"] },
maxDecouplingTraceLength: 1.3,
schSheetName: programmingSchSheetName,
schSectionName: "MCU__programming_bypass",
schOrientation: "vertical",
pcbX: -0.4,
pcbY: 7.9,
pcbRotation: -90,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_USB_VDD",
capacitance: "100nF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1525"] },
maxDecouplingTraceLength: 1.5,
schSheetName: programmingSchSheetName,
schSectionName: "MCU__programming_bypass",
schOrientation: "vertical",
pcbX: 0.4,
pcbY: 5.7,
pcbRotation: 90,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_ADC",
capacitance: "100nF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1525"] },
manufacturerPartNumber: "CL05B104KO5NNNC",
schSectionName: schSections.power(name),
schOrientation: "vertical",
pcbX: 8,
pcbY: -4.4,
}),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), {
name: "RUN_R",
from: ".R_RUN > .pin1",
to: ".U1 > .RUN"
})),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "RUN_3V3", from: ".R_RUN > .pin2", to: "net.V3V3" }, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "TEST_G", from: ".U1 > .TESTEN", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "FLSH_3V3",
from: ".C_FLASH > .pin1",
to: ".U2 > .VCC"
}, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "FLSH_G", from: ".C_FLASH > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "IO1_3V3",
from: ".C_IOVDD1 > .pin1",
to: "net.V3V3"
}, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "IO1_G", from: ".C_IOVDD1 > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "IO2_3V3",
from: ".C_IOVDD2 > .pin1",
to: "net.V3V3"
}, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "IO2_G", from: ".C_IOVDD2 > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "UVDD_3V3",
from: ".C_USB_VDD > .pin1",
to: ".U1 > .USB_VDD"
}, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "UVDD_G", from: ".C_USB_VDD > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "ADC_REF",
from: ".C_ADC > .pin1",
to: "net.ADC_VREF"
}, adcRefLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "ADC_G", from: ".C_ADC > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx(ControllerUsbC, {
name: "J_USB",
// Keep shell labels above/below the built-in USB graphic and data-pair labels separate.
schPinArrangement: {topSide:{pins:[18],direction:"left-to-right"},rightSide:{pins:[27,20,26,22,24,23,21,25,19,28],direction:"top-to-bottom"},bottomSide:{pins:[17],direction:"left-to-right"},leftSide:{pins:[13,15,16,14],direction:"top-to-bottom"}},
schWidth: 3, schHeight: 3.95,
schPinStyle: {...Object.fromEntries([20,26,22,24,23,21,25,19,28].map(pin=>[`pin${pin}`,{marginTop:0.2}])),pin15:{marginTop:0.1},pin16:{marginTop:2.6},pin14:{marginTop:0.1}},
noConnect: ["B8", "A8"],
schSheetName: programmingSchSheetName,
schSectionName: schSections.usb(name),
pcbX: 3.125,
pcbY: 22.45,
pcbRotation: 180,
}),
/* @__PURE__ */ jsxRuntime.jsx(RP2040, {
name: "U1",
noConnect: ["GPIO24"],
schWidth: 2.8,
pinAttributes: {
IOVDD1: { requiresPower: true },
GND: { requiresGround: true }
},
connections,
showPinAliases: true,
schSectionName: schSections.rp2040(name),
pcbX: 0,
pcbY: 0.5,
schPinArrangement: {
leftSide: {
pins: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
direction: "top-to-bottom"
},
rightSide: {
pins: [57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30],
direction: "top-to-bottom"
}
},
schPinStyle: {
pin2: { marginTop: 1.05 },
pin20: { marginTop: 0.4 },
pin22: { marginTop: 0.4 },
pin27: { marginTop: 0.4 },
pin56: { marginTop: 0.3 },
pin50: { marginTop: 0.4 },
pin48: { marginTop: 0.35 },
pin45: { marginTop: 0.35 },
pin43: { marginTop: 0.35 },
pin41: { marginTop: 0.35 },
pin37: { marginTop: 0.35 }
}
}),
/* @__PURE__ */ jsxRuntime.jsx(W25Q16JVUXIQ, {
name: "U2",
pinAttributes: {
VCC: { requiresPower: true },
GND: { requiresGround: true }
},
schSheetName: programmingSchSheetName,
schSectionName: "MCU__programming_flash",
pcbX: -3,
pcbY: 8.25,
pcbRotation: -90,
schPinArrangement: {
leftSide: {
pins: [1, 6, 5, 2, 3, 7],
direction: "top-to-bottom"
},
topSide: {
pins: [8],
direction: "left-to-right"
},
bottomSide: {
pins: [4, 9],
direction: "left-to-right"
}
},
schPinStyle: {
pin1: { marginBottom: 0.18 },
pin6: { marginTop: 0.25, marginBottom: 0.18 },
pin5: { marginTop: 0.25, marginBottom: 0.18 },
pin2: { marginBottom: 0.18 },
pin3: { marginBottom: 0.18 },
pin9: { marginLeft: 0.6 }
}
}),
/* @__PURE__ */ jsxRuntime.jsx(AP2112K_3_3TRG1, {
name: "U3",
schHeight: 1.4,
pinAttributes: {
VIN: { requiresPower: true },
GND: { requiresGround: true }
},
schSheetName: programmingSchSheetName,
schSectionName: "MCU__programming_supply",
pcbX: -7.875,
pcbY: 14.25,
pcbRotation: 180,
schPinArrangement: {
leftSide: {
pins: [1, 3],
direction: "top-to-bottom"
},
rightSide: {
pins: [5, 4],
direction: "top-to-bottom"
},
bottomSide: {
pins: [2],
direction: "left-to-right"
}
},
schPinStyle: {
pin3: { marginTop: 0.8 },
pin4: { marginTop: 0.8 },
pin2: { marginLeft: 0 }
}
}),
/* @__PURE__ */ jsxRuntime.jsx(SKRPACE010, {
name: "SW_BOOT",
pcbRotation: 0,
schSectionName: schSections.controls(name),
pcbX: 7.375,
pcbY: 16.5,
}),
/* @__PURE__ */ jsxRuntime.jsx(SKRPACE010, {
name: "SW_RUN",
schSectionName: schSections.controls(name),
pcbX: 4.125,
pcbY: -8.75,
pcbRotation: 0,
}),
/* @__PURE__ */ jsxRuntime.jsx(XL_1608SURC_06, {
name: "D_PWR",
schRotation: -90,
color: "green",
schSectionName: schSections.status(name),
pcbX: -8.875,
pcbY: 17.25,
pcbRotation: 0,
}),
/* @__PURE__ */ jsxRuntime.jsx("resistor", {
name: "R_BOOT",
schRotation: 90.0,
resistance: "10k",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C25744"] },
manufacturerPartNumber: "0402WGF1002TCE",
schSectionName: schSections.controls(name),
pcbX: -2.875,
pcbY: 19.75,
pcbRotation: 90,
}),
/* @__PURE__ */ jsxRuntime.jsx("resistor", {
name: "R_PWR_LED",
schRotation: -90,
resistance: "330",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C25104"] },
manufacturerPartNumber: "0402WGF3300TCE",
schSectionName: schSections.status(name),
pcbX: -10.375,
pcbY: 18.75,
pcbRotation: 90,
}),
/* @__PURE__ */ jsxRuntime.jsx("resistor", {
name: "R_CC1",
schRotation: -90,
resistance: "5.1k",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C25905"] },
manufacturerPartNumber: "0402WGF5101TCE",
schSheetName: programmingSchSheetName,
schSectionName: schSections.usb(name),
pcbX: 0.625,
pcbY: 16.75,
}),
/* @__PURE__ */ jsxRuntime.jsx("resistor", {
name: "R_CC2",
schRotation: -90,
resistance: "5.1k",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C25905"] },
manufacturerPartNumber: "0402WGF5101TCE",
schSheetName: programmingSchSheetName,
schSectionName: schSections.usb(name),
pcbX: 0.625,
pcbY: 18.05,
}),
/* @__PURE__ */ jsxRuntime.jsx("resistor", {
name: "R_USB1",
resistance: "27",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C25100"] },
schSheetName: programmingSchSheetName,
schSectionName: schSections.usb(name),
pcbX: 4.3,
pcbY: 5.4,
pcbRotation: 180,
}),
/* @__PURE__ */ jsxRuntime.jsx("resistor", {
name: "R_USB2",
resistance: "27",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C25100"] },
schSheetName: programmingSchSheetName,
schSectionName: schSections.usb(name),
pcbX: 4.3,
pcbY: 6.7,
pcbRotation: 180,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_VBUS",
capacitance: "10uF",
footprint: "0603",
supplierPartNumbers: { jlcpcb: ["C19702"] },
schSheetName: programmingSchSheetName,
schSectionName: "MCU__programming_supply",
schOrientation: "vertical",
pcbX: -8.875,
pcbY: 11.05,
pcbRotation: 90,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_3V3",
pcbRotation: 0,
capacitance: "10uF",
footprint: "0603",
supplierPartNumbers: { jlcpcb: ["C19702"] },
schSheetName: programmingSchSheetName,
schSectionName: "MCU__programming_bypass",
schOrientation: "vertical",
pcbX: -4.875,
pcbY: 10.75,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_CORE",
capacitance: "1uF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C52923"] },
maxDecouplingTraceLength: 1.5,
schSectionName: schSections.rp2040(name),
schOrientation: "vertical",
pcbX: 1.6,
pcbY: 5.9,
pcbRotation: 90,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_USB",
capacitance: "1uF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C52923"] },
maxDecouplingTraceLength: 1.5,
schSheetName: programmingSchSheetName,
schSectionName: "MCU__programming_bypass",
schOrientation: "vertical",
pcbX: 2.8,
pcbY: 5.7,
pcbRotation: 90,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_DVDD1",
capacitance: "100nF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1525"] },
maxDecouplingTraceLength: 1.5,
schSectionName: schSections.rp2040(name),
schOrientation: "vertical",
pcbX: -0.8,
pcbY: 5.7,
pcbRotation: 90,
}),
/* @__PURE__ */ jsxRuntime.jsx("capacitor", {
name: "C_DVDD2",
capacitance: "100nF",
footprint: "0402",
supplierPartNumbers: { jlcpcb: ["C1525"] },
schSectionName: schSections.rp2040(name),
schOrientation: "vertical",
pcbX: 2.8,
pcbY: -4.5,
}),
/* @__PURE__ */ jsxRuntime.jsx("inductor", {
name: "L_AVDD",
schRotation: -90,
inductance: "600ohm@100MHz",
footprint: /* @__PURE__ */ jsxRuntime.jsxs("footprint", { children: [
/* @__PURE__ */ jsxRuntime.jsx("smtpad", {
portHints: ["pin1"],
pcbX: "-0.699897mm",
pcbY: "0mm",
width: "0.7999984mm",
height: "0.8640064mm",
shape: "rect"
}),
/* @__PURE__ */ jsxRuntime.jsx("smtpad", {
portHints: ["pin2"],
pcbX: "0.699897mm",
pcbY: "0mm",
width: "0.7999984mm",
height: "0.8640064mm",
shape: "rect"
})
] }),
schSectionName: schSections.power(name),
pcbX: 1.375,
pcbY: 7.5,
supplierPartNumbers: { jlcpcb: ["C19330"] },
manufacturerPartNumber: "BLM18AG601SN1D",
pcbRotation: 0,
}),
/* @__PURE__ */ jsxRuntime.jsx("testpoint", {
name: "TP_SWCLK",
footprintVariant: "pad",
padShape: "circle",
padDiameter: "1.1mm",
schSectionName: schSections.debug(name),
pcbX: 1.625,
pcbY: -14.25,
}),
/* @__PURE__ */ jsxRuntime.jsx("testpoint", {
name: "TP_GND",
footprintVariant: "pad",
padShape: "circle",
padDiameter: "1.1mm",
schSectionName: schSections.debug(name),
pcbX: -0.875,
pcbY: -14.25,
}),
/* @__PURE__ */ jsxRuntime.jsx("testpoint", {
name: "TP_SWDIO",
footprintVariant: "pad",
padShape: "circle",
padDiameter: "1.1mm",
schSectionName: schSections.debug(name),
pcbX: 4.125,
pcbY: -13.25,
}),
/* @__PURE__ */ jsxRuntime.jsx("testpoint", {
name: "TP_3V3",
footprintVariant: "pad",
padShape: "circle",
padDiameter: "1.1mm",
schSectionName: schSections.debug(name),
pcbX: 5.125,
pcbY: -11.75,
}),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), {
name: "QSPI_SS",
from: ".U1 > .QSPI_SS",
to: ".U2 > .CS",
schDisplayLabel: "QSPI_SS"
})),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), {
name: "QSPI_SD0",
from: ".U1 > .QSPI_SD0",
to: ".U2 > .pin5",
schDisplayLabel: "QSPI_SD0"
})),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), {
name: "QSPI_SD1",
from: ".U1 > .QSPI_SD1",
to: ".U2 > .pin2",
schDisplayLabel: "QSPI_SD1"
})),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), {
name: "QSPI_SD2",
from: ".U1 > .QSPI_SD2",
to: ".U2 > .pin3",
schDisplayLabel: "QSPI_SD2"
})),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), {
name: "QSPI_SD3",
from: ".U1 > .QSPI_SD3",
to: ".U2 > .pin7",
schDisplayLabel: "QSPI_SD3"
})),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), {
name: "QSPI_SCLK",
from: ".U1 > .QSPI_SCLK",
to: ".U2 > .CLK",
schDisplayLabel: "QSPI_SCLK"
})),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "IOVDD1_P",
from: ".U1 > .IOVDD1",
to: "net.V3V3"
}), v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "IOVDD2_P",
from: ".U1 > .IOVDD2",
to: "net.V3V3"
}), v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "IOVDD3_P",
from: ".U1 > .IOVDD3",
to: "net.V3V3"
}), v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "IOVDD4_P",
from: ".U1 > .IOVDD4",
to: "net.V3V3"
}), v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "IOVDD5_P",
from: ".U1 > .IOVDD5",
to: "net.V3V3"
}), v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "IOVDD6_P",
from: ".U1 > .IOVDD6",
to: "net.V3V3"
}), v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), { name: "DVDD1_CAP", from: ".C_DVDD1 > .pin1", to: ".U1 > .DVDD1" })),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), { name: "DVDD1_P", from: ".U1 > .DVDD1", to: "net.V1V1" }), v1v1Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), { name: "VREG_CORE", from: ".U1 > .VREG_VOUT", to: ".C_CORE > .pin1" })),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), { name: "VREG_VOUT_P", from: ".U1 > .VREG_VOUT", to: "net.V1V1" }), v1v1Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), { name: "DVDD2_P", from: ".U1 > .DVDD2", to: "net.V1V1" }), v1v1Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), { name: "DVDD2_CAP", from: ".U1 > .DVDD2", to: ".C_DVDD2 > .pin1" })),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "VREG_IN_P",
from: ".U1 > .VREG_IN",
to: "net.V3V3"
}), v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "USB_VDD_P",
from: ".U1 > .USB_VDD",
to: "net.V3V3"
}), v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "GND_G", from: ".U1 > .GND", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), {
name: "USBV_IO1",
from: ".U1 > .USB_VDD",
to: ".U1 > .IOVDD1"
})),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "VBUS_A", from: ".J_USB > .A4B9", to: "net.VBUS" }, vbusLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "VBUS_B", from: ".J_USB > .B4A9", to: "net.VBUS" }, vbusLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), {
name: "USB_DN",
from: ".R_USB1 > .pin2",
to: ".U1 > .USB_DM"
})),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), {
name: "USB_DP",
from: ".R_USB2 > .pin2",
to: ".U1 > .USB_DP"
})),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), {
name: "CC1",
from: ".J_USB > .A5",
to: ".R_CC1 > .pin1"
})),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadProps(__spreadValues({}, denseTraceProps), {
name: "CC2",
from: ".J_USB > .B5",
to: ".R_CC2 > .pin1"
})),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "USB_G",
from: ".J_USB > .A1B12",
to: "net.GND"
}), gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "USB_G_B",
from: ".J_USB > .B1A12",
to: "net.GND"
}), gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "USB_EH1",
from: ".J_USB > .EH1",
to: "net.GND"
}), gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "USB_EH1_ALT",
from: ".J_USB > .pin13_alt1",
to: "net.GND"
}), gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "USB_EH2",
from: ".J_USB > .EH2",
to: "net.GND"
}), gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues(__spreadProps(__spreadValues({}, denseTraceProps), {
name: "USB_EH2_ALT",
from: ".J_USB > .pin14_alt1",
to: "net.GND"
}), gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "CC1_G", from: ".R_CC1 > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "CC2_G", from: ".R_CC2 > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "VBUS_C", from: "net.VBUS", to: ".C_VBUS > .pin1" }, vbusLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "VBUS_G", from: ".C_VBUS > .pin2", to: ".U3 > .GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "VSYS_IN", from: "net.VSYS", to: ".U3 > .VIN" }, vsysLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "REG_3V3", from: ".U3 > .VOUT", to: "net.V3V3" }, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "REG_G", from: ".U3 > .GND", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "C3V3_P", from: ".C_3V3 > .pin1", to: "net.V3V3" }, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "C3V3_G", from: ".C_3V3 > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "CORE_G", from: ".C_CORE > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "CUSB_P", from: ".C_USB > .pin1", to: ".U1 > .VREG_IN" }, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "CUSB_G", from: ".C_USB > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "AVDD_IN", from: ".L_AVDD > .pin1", to: "net.V3V3" }, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "AVDD",
from: ".L_AVDD > .pin2",
to: "net.ADC_VREF"
}, adcRefLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "ADC_AVDD",
from: ".U1 > .ADC_AVDD",
to: "net.ADC_VREF"
}, adcRefLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "FLSH_GND", from: ".U2 > .GND", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "FLSH_VCC", from: ".U2 > .VCC", to: "net.V3V3" }, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "FLSH_EP_GND_JOIN", from: ".U2 > .EP", to: ".U2 > .GND" }),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "XIN", from: ".Y1 > .pin1", to: ".U1 > .XIN", maxViaCount: 0, pcbPathRelativeTo: ".Y1 > .pin1", pcbPath: [{ x: -1.95, y: -0.85 }, { x: -1.95, y: 0.6 }] }),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "XOUT_R", from: ".Y1 > .pin3", to: ".R_XOUT > .pin1", maxViaCount: 0, pcbStraightLine: true }),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "XOUT", from: ".R_XOUT > .pin2", to: ".U1 > .XOUT", maxViaCount: 0, pcbPathRelativeTo: ".R_XOUT > .pin2", pcbPath: [{"x": -0.14, "y": 0.65}, {"x": -0.54, "y": 0.65}, {"x": -0.59, "y": 0.7}, {"x": -0.69, "y": 0.7}, {"x": -0.84, "y": 0.85}, {"x": -0.84, "y": 0.9}, {"x": -0.89, "y": 0.95}, {"x": -0.89, "y": 1.25}, {"x": -1.64, "y": 2.0}, {"x": -1.64, "y": 2.1}, {"x": -1.89, "y": 2.35}, {"x": -1.89, "y": 2.75}] }),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "CXIN", from: ".C_XIN > .pin1", to: ".Y1 > .pin1", maxViaCount: 0, pcbPathRelativeTo: ".C_XIN > .pin1", pcbPath: [{ x: -1, y: 0 }, { x: -1, y: 4.4 }] }),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "CXIN_G", from: ".C_XIN > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "CXOUT", from: ".C_XOUT > .pin1", to: ".Y1 > .pin3", maxViaCount: 0, pcbStraightLine: true }),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "CXOUT_G", from: ".C_XOUT > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "DVDD1_CAP_G", from: ".C_DVDD1 > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "DVDD2_CAP_G", from: ".C_DVDD2 > .pin2", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "BOOT_SW", from: ".SW_BOOT > .pin1", to: ".U1 > .QSPI_SS" }),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "BOOT_G", from: ".SW_BOOT > .pin3", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "BOOT_R", from: ".R_BOOT > .pin1", to: ".U1 > .QSPI_SS" }),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "BOOT_3V3",
from: ".R_BOOT > .pin2",
to: "net.V3V3"
}, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "RUN_SW", from: ".SW_RUN > .pin1", to: ".U1 > .RUN" }),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "RUN_G", from: ".SW_RUN > .pin4", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({
name: "PLED_3V3",
from: "net.V3V3",
to: ".R_PWR_LED > .pin1"
}, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "PLED_D", from: ".R_PWR_LED > .pin2", to: ".D_PWR > .anode" }),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "PLED_G", from: ".D_PWR > .cathode", to: ".U3 > .GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "SWCLK", from: ".U1 > .SWCLK", to: ".TP_SWCLK > .pin1" }),
/* @__PURE__ */ jsxRuntime.jsx("trace", { name: "SWD", from: ".U1 > .SWD", to: ".TP_SWDIO > .pin1" }),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "TP_G", from: ".TP_GND > .pin1", to: "net.GND" }, gndLabel)),
/* @__PURE__ */ jsxRuntime.jsx("trace", __spreadValues({ name: "TP3V3_T", from: ".TP_3V3 > .pin1", to: "net.V3V3" }, v3v3Label)),
/* @__PURE__ */ jsxRuntime.jsx("silkscreentext", { text: "BOOT", fontSize: "0.8mm", pcbX: 12, pcbY: 14 }),
/* @__PURE__ */ jsxRuntime.jsx("silkscreentext", { text: "RUN", fontSize: "0.8mm", pcbX: 2, pcbY: -10.5 }),
/* @__PURE__ */ jsxRuntime.jsx("silkscreentext", { text: "PWR", fontSize: "0.8mm", pcbX: -5.5, pcbY: 15 }),
/* @__PURE__ */ jsxRuntime.jsx("silkscreentext", { text: "USB-C", fontSize: "0.9mm", pcbX: 0, pcbY: 25 })
] }));
};
/**
* @tscircuit/common owns the RP2040 controller, clock, debug, and programming
* sub-sections, so they remain one reusable controller subsystem here.
*/
const ControllerSections = () => (jsxRuntime.jsx(Microcontroller_RP2040, { name: "MCU", schAutoLayoutEnabled: true, schSheetName: schematicSheets.controller, pcbX: -3.5, pcbY: 2.5 }));
const sch = { schSheetName: schematicSheets.motorDriver, schSectionName: schematicSections.driverCore };
/** TI DRV8825, sections 6/8/10: charge pump, local supplies and 1 A reference.
* V3P3OUT is an isolated driver reference supply, NOT the RP2040 3.3 V rail.
* 3.3 * 2k/(2.4k+2k) = 1.5 V; I_FS = 1.5/(5*0.3) = 1 A.
* Divider + MODE2 + both reference inputs remain below V3P3OUT's 1 mA limit.
*/
const Drv8825Support = () => jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("capacitor", { name: "C_CP", schRotation: 0, capacitance: "10nF", maxVoltageRating: "50V", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C15195"] }, ...sch, ...revisionPlacement("C_CP", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("capacitor", { name: "C_VCP", schOrientation: "vertical", capacitance: "100nF", maxVoltageRating: "50V", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C960916"] }, ...sch, ...revisionPlacement("C_VCP", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("resistor", { name: "R_VCP", resistance: "1M", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C26083"] }, ...sch, ...revisionPlacement("R_VCP", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("capacitor", { name: "C_VMA", maxDecouplingTraceLength: 4, capacitance: "100nF", maxVoltageRating: "50V", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C960916"] }, ...sch, schOrientation: "vertical", ...revisionPlacement("C_VMA", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("capacitor", { name: "C_DRV_3V3", maxDecouplingTraceLength: 4.5, capacitance: "470nF", maxVoltageRating: "16V", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C480644"] }, ...sch, schOrientation: "vertical", ...revisionPlacement("C_DRV_3V3", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("resistor", { name: "R_DRV_REF_TOP", resistance: "2.4k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25882"] }, ...sch, schOrientation: "pos_bottom", ...revisionPlacement("R_DRV_REF_TOP", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("resistor", { name: "R_DRV_REF_BOTTOM", resistance: "2k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C4109"] }, ...sch, schOrientation: "vertical", ...revisionPlacement("R_DRV_REF_BOTTOM", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("capacitor", { name: "C_DRV_REF", capacitance: "100nF", maxVoltageRating: "16V", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C1525"] }, ...sch, schOrientation: "vertical", ...revisionPlacement("C_DRV_REF", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("resistor", { name: "R_DRV_ENABLE_PU", resistance: "10k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25744"] }, ...sch, schOrientation: "vertical", ...revisionPlacement("R_DRV_ENABLE_PU", { x: -5.625, y: -8.25 }) }), [
["CP1", ".DRIVER > .CP1", ".C_CP > .pin1", "CP1"],
["CP2", ".DRIVER > .CP2", ".C_CP > .pin2", "CP2"],
["VCP", ".DRIVER > .VCP", ".C_VCP > .pin1", "VCP"],
["VCP_CAP_VM", ".C_VCP > .pin2", ".DRIVER > .VMA", "VMOTOR"],
["VCP_PULL", ".R_VCP > .pin1", ".DRIVER > .VCP", "VCP"],
["VCP_PULL_VM", ".R_VCP > .pin2", ".DRIVER > .VMA", "VMOTOR"],
["VMB", ".DRIVER > .VMB", ".DRIVER > .VMA", "VMOTOR", "0.8mm"],
["VMA_CAP", ".C_VMA > .pin1", ".DRIVER > .VMA", "VMOTOR", "0.4mm"],
["VMA_CAP_GND", ".C_VMA > .pin2", "net.GND", "GND", "0.3mm"],
["GND2", ".DRIVER > .GND2", ".DRIVER > .EP", "GND", "0.3mm"],
["V3P3", ".DRIVER > .V3P3OUT", ".C_DRV_3V3 > .pin1", "DRV_3V3"],
["V3P3_GND", ".C_DRV_3V3 > .pin2", "net.GND", "GND"],
["REF_SUPPLY", ".R_DRV_REF_TOP > .pin1", ".DRIVER > .V3P3OUT", "DRV_3V3"],
["REF_DIVIDER", ".R_DRV_REF_TOP > .pin2", ".R_DRV_REF_BOTTOM > .pin1", "DRV_VREF"],
["REF_A", ".R_DRV_REF_BOTTOM > .pin1", ".DRIVER > .AVREF", "DRV_VREF"],
["REF_B", ".DRIVER > .AVREF", ".DRIVER > .BVREF", "DRV_VREF"],
["REF_CAP", ".C_DRV_REF > .pin1", ".DRIVER > .AVREF", "DRV_VREF"],
["REF_CAP_GND", ".C_DRV_REF > .pin2", "net.GND", "GND"],
["REF_GND", ".R_DRV_REF_BOTTOM > .pin2", "net.GND", "GND"],
["MODE0", ".DRIVER > .MODE0", "net.GND", "GND"],
["MODE1", ".DRIVER > .MODE1", "net.GND", "GND"],
["MODE2", ".DRIVER > .MODE2", ".DRIVER > .V3P3OUT", "DRV_3V3"],
["EN_PULLUP", ".DRIVER > .nENBL", ".R_DRV_ENABLE_PU > .pin1", "DRIVER_ENABLE_N"],
["EN_PULLUP_SUPPLY", ".R_DRV_ENABLE_PU > .pin2", ".MCU > .L_AVDD > .pin1", "V3V3"],
].map(([name, from, to, label, width]) => jsxRuntime.jsx(react.Fragment, { children: jsxRuntime.jsx("trace", { name: `DRV_${name}`, from: from, to: to, schDisplayLabel: label, thickness: width ?? "0.15mm" }) }, name))] });
const HoLRT1206_1W_300mR_1_ = (props) => {
const { name = "R1", ...restProps } = props;
return (jsxRuntime.jsx("resistor", { name: name, resistance: "300mohm", supplierPartNumbers: {
"jlcpcb": [
"C5127777"
]
}, manufacturerPartNumber: "HoLRT1206-1W-300mR-1%", footprint: "smdpads2_p2.9576mm_pw1.2075mm_ph1.701mm", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C5127777.obj?uuid=da5f078ee43c429f91838a456f48f0a8",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C5127777.step?uuid=da5f078ee43c429f91838a456f48f0a8",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: 0 },
}, ...restProps }));
};
const pinLabels$6 = {
pin1: ["CP1"],
pin2: ["CP2"],
pin3: ["VCP"],
pin4: ["VMA"],
pin5: ["AOUT1"],
pin6: ["ISENA"],
pin7: ["AOUT2"],
pin8: ["BOUT2"],
pin9: ["ISENB"],
pin10: ["BOUT1"],
pin11: ["VMB"],
pin12: ["AVREF"],
pin13: ["BVREF"],
pin14: ["GND1"],
pin15: ["V3P3OUT"],
pin16: ["nRESET"],
pin17: ["nSLEEP"],
pin18: ["nFAULT"],
pin19: ["DECAY"],
pin20: ["DIR"],
pin21: ["NENBL"],
pin22: ["STEP"],
pin23: ["NC"],
pin24: ["MODE0"],
pin25: ["MODE1"],
pin26: ["MODE2"],
pin27: ["nHOME"],
pin28: ["GND2"],
pin29: ["pin29"]
};
const pinAttributes$1 = {
pin14: { requiresGround: true },
pin23: { doNotConnect: true },
pin28: { requiresGround: true }
};
const DRV8825PWPR$1 = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$6, pinAttributes: pinAttributes$1, supplierPartNumbers: {
"jlcpcb": [
"C81582"
]
}, manufacturerPartNumber: "DRV8825PWPR", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-4.225036mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-3.57505mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-2.925064mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-2.275078mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-1.625092mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-0.975106mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "-0.324866mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "0.32512mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "0.975106mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "1.625092mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "2.275078mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], pcbX: "2.925064mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], pcbX: "3.57505mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin14"], pcbX: "4.225036mm", pcbY: "-2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin28"], pcbX: "-4.225036mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin27"], pcbX: "-3.57505mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin26"], pcbX: "-2.925064mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin25"], pcbX: "-2.275078mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin24"], pcbX: "-1.625092mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin23"], pcbX: "-0.975106mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin22"], pcbX: "-0.324866mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin21"], pcbX: "0.32512mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin20"], pcbX: "0.975106mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin19"], pcbX: "1.625092mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin18"], pcbX: "2.275078mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin17"], pcbX: "2.925064mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin16"], pcbX: "3.57505mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin15"], pcbX: "4.225036mm", pcbY: "2.865755mm", width: "0.3430016mm", height: "1.7314926mm", radius: "0.1715008mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin29"], pcbX: "0mm", pcbY: "-0.000127mm", width: "5.5999888mm", height: "3.0999938mm", shape: "rect" }), jsxRuntime.jsx("via", { pcbX: "1.800098mm", pcbY: "-1.200023mm", outerDiameter: "0.5000244mm", holeDiameter: "0.3000248mm", layers: ["top", "bottom"] }), jsxRuntime.jsx("via", { pcbX: "-0.599948mm", pcbY: "-0.000127mm", outerDiameter: "0.5000244mm", holeDiameter: "0.3000248mm", layers: ["top", "bottom"] }), jsxRuntime.jsx("via", { pcbX: "0.599948mm", pcbY: "-1.200023mm", outerDiameter: "0.5000244mm", holeDiameter: "0.3000248mm", layers: ["top", "bottom"] }), jsxRuntime.jsx("via", { pcbX: "-0.599948mm", pcbY: "-1.200023mm", outerDiameter: "0.5000244mm", holeDiameter: "0.3000248mm", layers: ["top", "bottom"] }), jsxRuntime.jsx("via", { pcbX: "-0.599948mm", pcbY: "1.200023mm", outerDiameter: "0.5000244mm", holeDiameter: "0.3000248mm", layers: ["top", "bottom"] }), jsxRuntime.jsx("via", { pcbX: "-1.800098mm", pcbY: "-1.200023mm", outerDiameter: "0.5000244mm", holeDiameter: "0.3000248mm", layers: ["top", "bottom"] }), jsxRuntime.jsx("via", { pcbX: "-1.800098mm", pcbY: "-0.000127mm", outerDiameter: "0.5000244mm", holeDiameter: "0.3000248mm", layers: ["top", "bottom"] }), jsxRuntime.jsx("via", { pcbX: "-1.800098mm", pcbY: "1.200023mm", outerDiameter: "0.5000244mm", holeDiameter: "0.3000248mm", layers: ["top", "bottom"] }), jsxRuntime.jsx("via", { pcbX: "0.599948mm", pcbY: "-0.000127mm", outerDiameter: "0.5000244mm", holeDiameter: "0.3000248mm", layers: ["top", "bottom"] }), jsxRuntime.jsx("via", { pcbX: "1.778mm", pcbY: "-0.000127mm", outerDiameter: "0.5000244mm", holeDiameter: "0.3000248mm", layers: ["top", "bottom"] }), jsxRuntime.jsx("via", { pcbX: "0.599948mm", pcbY: "1.200023mm", outerDiameter: "0.5000244mm", holeDiameter: "0.3000248mm", layers: ["top", "bottom"] }), jsxRuntime.jsx("via", { pcbX: "1.800098mm", pcbY: "1.200023mm", outerDiameter: "0.5000244mm", holeDiameter: "0.3000248mm", layers: ["top", "bottom"] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -4.926202999999987, "y": -1.7712690000000748 }, { "x": -4.926202999999987, "y": 1.771523000000002 }, { "x": 4.926202999999987, "y": 1.771523000000002 }, { "x": 4.926202999999987, "y": -1.7712690000000748 }, { "x": -4.926202999999987, "y": -1.7712690000000748 }] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "-4.225036mm", pcbY: "-1.018921mm", radius: "0.150114mm" }), jsxRuntime.jsx("silkscreencircle", { pcbX: "-4.84886mm", pcbY: "-2.865755mm", radius: "0.150114mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.0381mm", pcbY: "4.556127mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -5.253799999999956, "y": 3.8061270000000604 }, { "x": 5.177599999999984, "y": 3.8061270000000604 }, { "x": 5.177599999999984, "y": -3.8058730000000196 }, { "x": -5.253799999999956, "y": -3.8058730000000196 }, { "x": -5.253799999999956, "y": 3.8061270000000604 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C81582.obj?uuid=8cb208170c6a49d2a22c82795805910d",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C81582.step?uuid=8cb208170c6a49d2a22c82795805910d",
pcbRotationOffset: 0,
modelOriginPosition: { x: -12699999842880061e-21, y: 0, z: -0.65 },
}, ...props }));
};
const pinLabels$5 = {
pin1: ["CP1"],
pin2: ["CP2"],
pin3: ["VCP"],
pin4: ["VMA", "VM"],
pin5: ["AOUT1"],
pin6: ["ISENA", "AISEN"],
pin7: ["AOUT2"],
pin8: ["BOUT2"],
pin9: ["ISENB", "BISEN"],
pin10: ["BOUT1"],
pin11: ["VMB"],
pin12: ["AVREF"],
pin13: ["BVREF"],
pin14: ["GND1"],
pin15: ["V3P3OUT"],
pin16: ["nRESET"],
pin17: ["nSLEEP", "nSleep"],
pin18: ["nFAULT", "nFault"],
pin19: ["DECAY"],
pin20: ["DIR"],
pin21: ["nENBL"],
pin22: ["STEP"],
pin23: ["NC"],
pin24: ["MODE0"],
pin25: ["MODE1"],
pin26: ["MODE2"],
pin27: ["nHOME"],
pin28: ["GND2"],
pin29: ["EP"]
};
const pinAttributes = {
pin14: { requiresGround: true },
pin23: { doNotConnect: true },
pin28: { requiresGround: true },
pin29: { requiresGround: true }
};
const footprinterPinLabels = {
...pinLabels$5,
"pin29": [...pinLabels$5["pin29"], "thermalpad"],
};
const DRV8825PWPR = (props) => {
const importedFootprint = DRV8825PWPR$1({ name: props.name }).props.footprint;
let viaIndex = 0;
// Keep the supplier geometry unchanged; explicitly bind its embedded vias
// to EP because this core version misses some rotated pad-containment joins.
const footprint = react.cloneElement(importedFootprint, {}, react.Children.map(importedFootprint.props.children, child => {
if (!react.isValidElement(child) || child.type !== "via")
return child;
return react.cloneElement(child, { name: `DRV_IMPORTED_EP_${++viaIndex}`, connectsTo: "pin29", tented: "both_sides" });
}));
return (jsxRuntime.jsx("chip", { pinLabels: footprinterPinLabels, pinAttributes: pinAttributes, supplierPartNumbers: {
"jlcpcb": [
"C81582"
]
}, manufacturerPartNumber: "DRV8825PWPR", footprint: footprint, cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C81582.obj?uuid=8cb208170c6a49d2a22c82795805910d",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C81582.step?uuid=8cb208170c6a49d2a22c82795805910d",
pcbRotationOffset: 0,
modelOriginPosition: { x: -12699999842880061e-21, y: 0, z: -0.65 },
}, ...props }));
};
const pinLabels$4 = {
pin1: ["G"],
pin2: ["S"],
pin3: ["D"]
};
const BSS84_7_F = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$4, symbol: jsxRuntime.jsxs("symbol", { children: [jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.2, "y": 0 }, { "x": 0.08, "y": 0.04 }, { "x": 0.08, "y": -0.04 }, { "x": 0.2, "y": 0 }], strokeColor: "#880000", isFilled: true, fillColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.4, "y": -0.04 }, { "x": 0.46, "y": 0.06 }, { "x": 0.34, "y": 0.06 }, { "x": 0.4, "y": -0.04 }], strokeColor: "#880000", isFilled: true, fillColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.2, "y": -0.2 }, { "x": 0.4, "y": -0.2 }, { "x": 0.4, "y": -0.04 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.2, "y": 0.14 }, { "x": 0.2, "y": 0.2 }, { "x": 0.4, "y": 0.2 }, { "x": 0.4, "y": 0.06 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.2, "y": 0.14 }, { "x": 0, "y": 0.14 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": 0 }, { "x": 0.2, "y": 0 }, { "x": 0.2, "y": -0.2 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.2, "y": -0.14 }, { "x": 0, "y": -0.14 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": -0.04, "y": 0.18 }, { "x": -0.04, "y": -0.18 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": 0.1 }, { "x": 0, "y": 0.18 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": -0.04 }, { "x": 0, "y": 0.04 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0, "y": -0.18 }, { "x": 0, "y": -0.1 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": -0.2, "y": 0 }, { "x": -0.04, "y": 0 }], strokeColor: "#880000" }), jsxRuntime.jsx("schematicpath", { points: [{ "x": 0.46, "y": -0.04 }, { "x": 0.44, "y": -0.04 }, { "x": 0.36, "y": -0.04 }, { "x": 0.34, "y": -0.04 }], strokeColor: "#880000" }), jsxRuntime.jsx("port", { name: "pin3", pinNumber: 3, aliases: ["D"], direction: "up", schX: 0.2, schY: 0.4, schStemLength: 0.2 }), jsxRuntime.jsx("port", { name: "pin1", pinNumber: 1, aliases: ["G"], direction: "left", schX: -0.4, schY: 0, schStemLength: 0.2 }), jsxRuntime.jsx("port", { name: "pin2", pinNumber: 2, aliases: ["S"], direction: "down", schX: 0.2, schY: -0.4, schStemLength: 0.2 })] }), supplierPartNumbers: {
"jlcpcb": [
"C85202"
]
}, manufacturerPartNumber: "BSS84-7-F", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "1.149985mm", pcbY: "0.94996mm", width: "0.999998mm", height: "0.7999984mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-1.149985mm", pcbY: "0mm", width: "0.999998mm", height: "0.7999984mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "1.149985mm", pcbY: "-0.94996mm", width: "0.999998mm", height: "0.7999984mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.6999731999999881, "y": 0.6359398000000027 }, { "x": -0.6999731999999881, "y": 1.4999461999999966 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.6999731999999881, "y": 1.4999461999999966 }, { "x": 0.30005020000000115, "y": 1.4999461999999966 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.7000239999999991, "y": -0.31402020000000164 }, { "x": 0.7000239999999991, "y": 0.31391859999999383 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.6999731999999881, "y": -1.5000478000000044 }, { "x": -0.6999731999999881, "y": -0.6360414000000105 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.6999731999999881, "y": -1.5000478000000044 }, { "x": 0.30005020000000115, "y": -1.5000478000000044 }] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.133223mm", pcbY: "2.49606mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -1.8947769999999906, "y": 1.74606 }, { "x": 2.161223000000021, "y": 1.74606 }, { "x": 2.161223000000021, "y": -1.7511400000000066 }, { "x": -1.8947769999999906, "y": -1.7511400000000066 }, { "x": -1.8947769999999906, "y": 1.74606 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C85202.obj?uuid=d777607a152f4f3aac9bb0d0c14ed6fd",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C85202.step?uuid=d777607a152f4f3aac9bb0d0c14ed6fd",
pcbRotationOffset: 180,
modelOriginPosition: { x: 0.00003809999999759839, y: -3810000001180924e-20, z: 0.050795 },
}, ...props }));
};
const pinLabels$3 = {
pin1: ["gate"],
pin2: ["source"],
pin3: ["drain"],
};
/** Exact C85202 JLCsearch/EasyEDA import; retain the existing schematic aliases. */
const BSS84 = (props) => {
const imported = BSS84_7_F({ name: props.name });
return jsxRuntime.jsx("chip", { ...imported.props, pinLabels: pinLabels$3, symbol: undefined, ...props });
};
const MotorDriverController = () => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx(DRV8825PWPR, { name: "DRIVER", schWidth: 2.2, schHeight: 3.8, noConnect: ["DECAY", "NC", "nHOME"], schMarginLeft: 1, schMarginRight: 1, schPinArrangement: {
leftSide: {
pins: [5, 6, 7, 10, 9, 8, 1, 2, 3],
direction: "top-to-bottom",
},
rightSide: {
pins: [22, 20, 16, 21, 17, 18, 24, 25, 26, 19, 27, 23],
direction: "top-to-bottom",
},
topSide: {
pins: [4, 11, 15, 12, 13],
direction: "left-to-right",
},
bottomSide: {
pins: [14, 28, 29],
direction: "left-to-right",
},
}, schPinStyle: {
...Object.fromEntries([20, 16, 21, 17, 18, 24, 25, 26, 19, 27, 23].map(pin => [`pin${pin}`, { marginTop: 0.04 }])),
pin11: { marginLeft: 0.1 }, pin15: { marginLeft: 0.1 },
pin28: { marginLeft: 0.3 }, pin29: { marginLeft: 0.3 },
pin5: { marginTop: 0.15 },
pin7: { marginTop: 0.45 },
pin9: { marginTop: 0.45 },
pin1: { marginTop: 0.45 },
}, schSheetName: schematicSheets.motorDriver, schSectionName: schematicSections.driverCore, ...revisionPlacement("DRIVER", { x: -5.625, y: -8.25 }) }) }));
const MotorDriverPassives = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Drv8825Support, {}), jsxRuntime.jsx("capacitor", { name: "C_VM_BULK", capacitance: "10uF", maxVoltageRating: "50V", footprint: "1206", supplierPartNumbers: { jlcpcb: ["C13585"] }, manufacturerPartNumber: "CL31A106KBHNNNE", maxDecouplingTraceLength: 7.5, schMarginX: 0.15, schMarginY: 0.25, schOrientation: "vertical", schSheetName: schematicSheets.motorDriver, schSectionName: schematicSections.driverCore, ...revisionPlacement("C_VM_BULK", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("capacitor", { name: "C_VM_HF", maxVoltageRating: "50V", capacitance: "100nF", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C960916"] }, maxDecouplingTraceLength: 5.5, schMarginX: 0.15, schMarginY: 0.25, schOrientation: "vertical", schSheetName: schematicSheets.motorDriver, schSectionName: schematicSections.driverCore, ...revisionPlacement("C_VM_HF", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx(HoLRT1206_1W_300mR_1_, { name: "R_ISEN_A", schRotation: -90, schSheetName: schematicSheets.motorDriver, schSectionName: schematicSections.driverCore, ...revisionPlacement("R_ISEN_A", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx(HoLRT1206_1W_300mR_1_, { name: "R_ISEN_B", schRotation: -90, schSheetName: schematicSheets.motorDriver, schSectionName: schematicSections.driverCore, ...revisionPlacement("R_ISEN_B", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("resistor", { name: "R_SLEEP_PD", schRotation: -90, resistance: "100k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25741"] }, schSheetName: schematicSheets.motorDriver, schSectionName: schematicSections.driverCore, ...revisionPlacement("R_SLEEP_PD", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("resistor", { name: "R_FAULT_PU", schRotation: 90.0, resistance: "10k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25744"] }, manufacturerPartNumber: "0402WGF1002TCE", schSheetName: schematicSheets.motorDriver, schSectionName: schematicSections.driverCore, ...revisionPlacement("R_FAULT_PU", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx(BSS84, { name: "Q_PD_ENABLE", schPinStyle: { pin3: { marginTop: 0.2 } }, schPinArrangement: {
leftSide: { pins: [1], direction: "top-to-bottom" },
rightSide: { pins: [2, 3], direction: "top-to-bottom" },
}, schSheetName: schematicSheets.motorDriver, schSectionName: schematicSections.driverCore, ...revisionPlacement("Q_PD_ENABLE", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("resistor", { name: "R_PD_ENABLE_PU", resistance: "100k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25741"] }, schOrientation: "vertical", schSheetName: schematicSheets.motorDriver, schSectionName: schematicSections.driverCore, ...revisionPlacement("R_PD_ENABLE_PU", { x: -5.625, y: -8.25 }) })] }));
const MotorDriverControlTraces = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [[
{ gpio: 18, x: 0.8250000000000002, y: 0.3493500000000001 },
{ gpio: 19, x: 1.5750000000000002, y: 0.79945 },
{ gpio: 20, x: 0.8250000000000002, y: 1.24955 },
].map(({ gpio, x, y }) => (jsxRuntime.jsxs(react.Fragment, { children: [jsxRuntime.jsx("via", { name: `MCU_GPIO${gpio}_ESCAPE`, pcbX: x, pcbY: y, holeDiameter: "0.3mm", outerDiameter: "0.45mm", fromLayer: "top", toLayer: "bottom", connectsTo: [`.MCU > .U1 > .GPIO${gpio}`, `.MCU_GPIO${gpio}_ESCAPE > .top`, `.MCU_GPIO${gpio}_ESCAPE > .bottom`] }), jsxRuntime.jsx("trace", { name: `MCU_GPIO${gpio}_ESCAPE_TRACE`, schDisplayLabel: { 18: "DRIVER_STEP", 19: "DRIVER_DIR", 20: "DRIVER_RESET" }[gpio], from: `.MCU > .U1 > .GPIO${gpio}`, to: `.MCU_GPIO${gpio}_ESCAPE > .top`, thickness: "0.15mm", pcbPath: [`.MCU_GPIO${gpio}_ESCAPE > .top`] })] }, gpio))), jsxRuntime.jsx("trace", { name: "DRIVER_STEP", from: ".MCU_GPIO18_ESCAPE > .bottom", to: ".DRIVER > .STEP", ...logicTrace }), jsxRuntime.jsx("trace", { name: "DRIVER_DIR", from: ".MCU_GPIO19_ESCAPE > .bottom", to: ".DRIVER > .DIR", ...logicTrace }), jsxRuntime.jsx("trace", { name: "DRIVER_RESET", from: ".MCU_GPIO20_ESCAPE > .bottom", to: ".DRIVER > .nRESET", ...logicTrace }), jsxRuntime.jsx("trace", { name: "DRIVER_ENABLE_N", from: ".MCU > .U1 > .GPIO21", to: ".DRIVER > .nENBL", ...logicTrace }), jsxRuntime.jsx("trace", { name: "DRIVER_SLEEP", schDisplayLabel: "MCU_ENABLE", from: ".MCU > .U1 > .GPIO22", to: ".Q_PD_ENABLE > .source", ...logicTrace }), jsxRuntime.jsx("trace", { name: "DRIVER_FAULT",
// Reserve the complete MCU/pull-up/driver fault route before power routing.
from: ".MCU > .U1 > .GPIO23", to: ".DRIVER > .nFault", thickness: "0.1mm" })] }));
const MotorDriverPowerTraces = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("trace", { name: "VM_BULK", from: ".DRIVER > .VM", to: ".C_VM_BULK > .pin1", schDisplayLabel: "VMOTOR", ...powerTrace }), jsxRuntime.jsx("trace", { name: "VM_HF", from: ".DRIVER > .VMB", to: ".C_VM_HF > .pin1", ...powerTrace })] }));
const MotorDriverPrimaryGroundTraces = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("trace", { name: "BOARD_GND_JOIN", from: ".DRIVER > .EP", to: "net.GND", ...powerTrace }), jsxRuntime.jsx("trace", { name: "COMMON_GND", from: ".DRIVER > .EP", to: ".MCU > .U1 > .GND", ...groundTrace }), jsxRuntime.jsx("trace", { name: "DRIVER_GND_JOIN", from: ".DRIVER > .GND1", to: ".DRIVER > .EP", ...groundTrace })] }));
const MotorDriverGroundTraces = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("trace", { name: "ISEN_A_GND", from: ".R_ISEN_A > .pin2", to: "net.GND", ...groundTrace }), jsxRuntime.jsx("trace", { name: "ISEN_B_GND", from: ".R_ISEN_B > .pin2", to: "net.GND", ...groundTrace }), jsxRuntime.jsx("trace", { name: "VM_BULK_GND", from: ".C_VM_BULK > .pin2", to: "net.GND", ...groundTrace }), jsxRuntime.jsx("trace", { name: "VM_HF_GND", from: ".C_VM_HF > .pin2", to: "net.GND", ...groundTrace }), jsxRuntime.jsx("trace", { name: "SLEEP_PULLDOWN_GND", from: ".R_SLEEP_PD > .pin2", to: "net.GND", ...logicTrace })] }));
const MotorDriverSenseAndControlTraces = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("trace", { name: "ISEN_A", from: ".DRIVER > .AISEN", to: ".R_ISEN_A > .pin1", schDisplayLabel: "A_ISEN", ...powerTrace }), jsxRuntime.jsx("trace", { name: "ISEN_B", from: ".DRIVER > .BISEN", to: ".R_ISEN_B > .pin1", schDisplayLabel: "B_ISEN", ...powerTrace }), jsxRuntime.jsx("trace", { name: "PD_ENABLE_OUTPUT", schDisplayLabel: "PD_MCU_ENABLE", from: ".Q_PD_ENABLE > .drain", to: ".DRIVER > .nSleep", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_ENABLE_GATE", from: ".Q_PD_ENABLE > .gate", to: ".U_PD > .PG", schDisplayLabel: "PD_GOOD", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_ENABLE_GATE_PULLUP", from: ".R_PD_ENABLE_PU > .pin1", to: ".Q_PD_ENABLE > .gate", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_ENABLE_PULLUP_SUPPLY", from: ".R_PD_ENABLE_PU > .pin2", to: ".U_PD > .VDD", ...logicTrace }), jsxRuntime.jsx("trace", { name: "SLEEP_PULLDOWN", from: ".R_SLEEP_PD > .pin1", to: ".DRIVER > .nSleep", schDisplayLabel: "nSLEEP", ...logicTrace }), jsxRuntime.jsx("trace", { name: "FAULT_PULLUP", from: ".R_FAULT_PU > .pin1", to: ".DRIVER > .nFault", schDisplayLabel: "nFAULT", thickness: "0.1mm" }), jsxRuntime.jsx("trace", { name: "FAULT_PULLUP_3V3", from: ".R_FAULT_PU > .pin2", to: ".MCU > .L_AVDD > .pin1", schDisplayLabel: "V3V3", ...logicTrace })] }));
const B4B_PH_CAD_MODEL = {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C131334.obj?uuid=3b95b8b4d5d24ff4a871a43c952e432a",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C131334.step?uuid=3b95b8b4d5d24ff4a871a43c952e432a",
pcbRotationOffset: 180,
modelOriginPosition: { x: 2.9999872999999297, y: -0.5500383000000056, z: -5999999999950489e-21 },
};
const MotorOutputConnectors = () => (jsxRuntime.jsx("connector", { cadModel: {
...B4B_PH_CAD_MODEL,
// The routed footprint numbers pins left-to-right. The native OBJ
// has terminals at x=0,2,4,6 on y=0, so center that row at the pads.
pcbRotationOffset: 0,
modelOriginPosition: { x: 3, y: 0, z: 0 },
// Core anchors CAD at the footprint bounds, 0.05 mm below the pad row.
positionOffset: { x: 0, y: 0.05, z: 0 },
}, footprint: jsxRuntime.jsxs("footprint", { insertionDirection: "from_above", children: [jsxRuntime.jsx("platedhole", { pcbX: -3, pcbY: 0, portHints: ["1"], shape: "circle", holeDiameter: 0.75, outerDiameter: 1.4 }), jsxRuntime.jsx("platedhole", { pcbX: -1, pcbY: 0, portHints: ["2"], shape: "pill", holeWidth: 0.75, holeHeight: 0.75, outerWidth: 1.2, outerHeight: 1.75 }), jsxRuntime.jsx("platedhole", { pcbX: 1, pcbY: 0, portHints: ["3"], shape: "pill", holeWidth: 0.75, holeHeight: 0.75, outerWidth: 1.2, outerHeight: 1.75 }), jsxRuntime.jsx("platedhole", { pcbX: 3, pcbY: 0, portHints: ["4"], shape: "pill", holeWidth: 0.75, holeHeight: 0.75, outerWidth: 1.2, outerHeight: 1.75 }), jsxRuntime.jsx("silkscreenrect", { pcbX: 0, pcbY: 0.55, width: 9.9, height: 4.5, strokeWidth: 0.1 }), jsxRuntime.jsx("silkscreentext", { pcbX: -4, pcbY: -1, text: "1", fontSize: 0.5 }), jsxRuntime.jsx("silkscreentext", { pcbX: 0, pcbY: 3.6, text: "JST PH", fontSize: 0.5 }), jsxRuntime.jsx("courtyardrect", { pcbX: 0, pcbY: 0.55, width: 10.9, height: 5.5 })] }), manufacturerPartNumber: "B4B-PH-K-S(LF)(SN)", supplierPartNumbers: { jlcpcb: ["C131334"] }, pinLabels: { pin1: ["A_PLUS"], pin2: ["A_MINUS"], pin3: ["B_PLUS"], pin4: ["B_MINUS"] }, name: "J1", pcbPinLabels: {
pin1: "A+",
pin2: "A-",
pin3: "B+",
pin4: "B-",
}, pcbX: 22.625, pcbY: 3.6, pcbRotation: 90, schPinArrangement: {
leftSide: { pins: [1, 2, 3, 4], direction: "top-to-bottom" },
}, schSheetName: schematicSheets.motorDriver, schSectionName: schematicSections.motorOutputs }));
const MotorOutputTraces = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("trace", { name: "MOTOR_A_PLUS", from: ".DRIVER > .AOUT1", to: ".R_PHASE_A > .pin1", schDisplayLabel: "A_DRIVE", ...motorTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_A_MINUS", from: ".DRIVER > .AOUT2", to: ".J1 > .pin2", schDisplayLabel: "A-", ...motorTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_B_PLUS", from: ".DRIVER > .BOUT1", to: ".R_PHASE_B > .pin1", schDisplayLabel: "B_DRIVE", ...motorTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_B_MINUS", from: ".DRIVER > .BOUT2", to: ".J1 > .pin4", schDisplayLabel: "B-", ...motorTrace })] }));
const pinLabels$2 = {
pin1: ["cathode", "neg"],
pin2: ["anode", "pos"]
};
const PMEG6020ELRX = (props) => {
const { name = "D1", ...restProps } = props;
return (jsxRuntime.jsx("diode", { name: name, pinLabels: pinLabels$2, supplierPartNumbers: {
"jlcpcb": [
"C478000"
]
}, manufacturerPartNumber: "PMEG6020ELRX", footprint: "smdpads2_p3.3848mm_pw0.95mm_ph1.15mm", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C478000.obj?uuid=ffe28a36cfa04cde86eca0e275be7a76",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C478000.step?uuid=ffe28a36cfa04cde86eca0e275be7a76",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: -0.55 },
}, ...restProps }));
};
const TCJD226M050R0090E = (props) => {
const { name = "C1", ...restProps } = props;
return (jsxRuntime.jsx("capacitor", { name: name, capacitance: "22uF", maxVoltageRating: "50V", polarized: true, supplierPartNumbers: {
"jlcpcb": [
"C5981428"
]
}, manufacturerPartNumber: "TCJD226M050R0090E", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "3.352419mm", pcbY: "0mm", width: "2.2999954mm", height: "2.999994mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-3.352419mm", pcbY: "0mm", width: "2.2999954mm", height: "2.999994mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.3969999999999345, "y": 2.158999999999992 }, { "x": -1.4144243999999162, "y": 2.158999999999992 }, { "x": -1.4144243999999162, "y": -2.1999955999999656 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.917443999999932, "y": 1.7311369999999897 }, { "x": -3.447669000000019, "y": 1.7311369999999897 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.917443999999932, "y": -1.7311370000001034 }, { "x": -3.124834999999848, "y": -1.7311370000001034 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.917443999999932, "y": -1.7311370000001034 }, { "x": -2.917443999999932, "y": -2.1999955999999656 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.9024325999999974, "y": 2.1999955999999656 }, { "x": -2.917443999999932, "y": 2.1999955999999656 }, { "x": -2.917443999999932, "y": 1.7311369999999897 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.60517440000001, "y": -2.199639999999931 }, { "x": -3.2917383999999856, "y": -2.199639999999931 }, { "x": -3.2917383999999856, "y": -2.1999955999999656 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.447669000000019, "y": 1.7311369999999897 }, { "x": -3.447669000000019, "y": 2.1999955999999656 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.6432236000000557, "y": 1.7311369999999897 }, { "x": -3.447669000000019, "y": 1.7311369999999897 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.6432236000000557, "y": 2.1999955999999656 }, { "x": -3.447669000000019, "y": 2.1999955999999656 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.6432236000000557, "y": -1.7311370000001034 }, { "x": -3.447669000000019, "y": -1.7311370000001034 }, { "x": -3.447669000000019, "y": -1.7780000000001337 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.2772350000000188, "y": -1.7311370000001034 }, { "x": -3.2917383999999856, "y": -1.7311370000001034 }, { "x": -3.2917383999999856, "y": -2.1999955999999656 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.124834999999848, "y": -1.7311370000001034 }, { "x": -3.124834999999848, "y": -2.1999955999999656 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.1234379999999646, "y": 1.7311369999999897 }, { "x": -3.124834999999848, "y": 1.7311369999999897 }, { "x": -3.124834999999848, "y": 1.7311369999999897 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.447669000000019, "y": -1.7311370000001034 }, { "x": -3.1234379999999646, "y": -1.7311370000001034 }, { "x": -3.1234379999999646, "y": -1.7311370000001034 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.2487361999999393, "y": 2.1999955999999656 }, { "x": -3.3122361999999157, "y": 2.1999955999999656 }, { "x": -3.3122361999999157, "y": 1.7311369999999897 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.1234379999999646, "y": 1.7311369999999897 }, { "x": -3.447669000000019, "y": 1.7311369999999897 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.1234379999999646, "y": 1.7311369999999897 }, { "x": -3.1234379999999646, "y": 2.1999955999999656 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.6432236000000557, "y": 1.7311369999999897 }, { "x": -3.6432236000000557, "y": 2.1999955999999656 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.60517440000001, "y": -2.199639999999931 }, { "x": -3.6432236000000557, "y": -2.199639999999931 }, { "x": -3.6432236000000557, "y": -1.7311370000001034 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.447669000000019, "y": -1.7780000000001337 }, { "x": -3.447669000000019, "y": -1.7311370000001034 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.447669000000019, "y": 2.1999955999999656 }, { "x": 3.752291200000059, "y": 2.1999955999999656 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.447669000000019, "y": -2.1999955999999656 }, { "x": 3.752291200000059, "y": -2.1999955999999656 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 3.752291200000059, "y": 2.1999955999999656 }, { "x": 3.752291200000059, "y": 1.65099999999984 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.447669000000019, "y": -2.1999955999999656 }, { "x": -3.447669000000019, "y": -1.7780000000001337 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 3.752291200000059, "y": -2.1999955999999656 }, { "x": 3.752291200000059, "y": -1.7780000000001337 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.6318229999999403, "y": 2.1999955999999656 }, { "x": -1.6318229999999403, "y": -2.1999955999999656 }] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.015875mm", pcbY: "3.286mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -4.226077400000008, "y": 0.2748533999999836 }, { "x": -2.414651000000049, "y": 0.2748533999999836 }, { "x": -2.414651000000049, "y": -0.025933400000099027 }, { "x": -4.225950400000102, "y": -0.025933400000099027 }, { "x": -4.225950400000102, "y": -0.027686000000016975 }, { "x": -4.226077400000008, "y": 0.2748533999999836 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -3.459987999999953, "y": -0.9418574000000035 }, { "x": -3.459987999999953, "y": 0.8695689999999558 }, { "x": -3.1592012000000977, "y": 0.8695689999999558 }, { "x": -3.1592012000000977, "y": -0.9417304000000968 }, { "x": -3.1574485999999524, "y": -0.9417304000000968 }, { "x": -3.459987999999953, "y": -0.9418574000000035 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": 2.513812600000165, "y": 0.06870700000001762 }, { "x": 4.325238999999897, "y": 0.06870700000001762 }, { "x": 4.325238999999897, "y": -0.232079800000065 }, { "x": 2.5139396000000716, "y": -0.232079800000065 }, { "x": 2.5139396000000716, "y": -0.23383239999998295 }, { "x": 2.513812600000165, "y": 0.06870700000001762 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -2.158999999999992, "y": 2.2859999999999445 }, { "x": -2.158999999999992, "y": 1.6509999999999536 }, { "x": -1.77800000000002, "y": 1.6509999999999536 }, { "x": -1.77800000000002, "y": 2.2859999999999445 }, { "x": -2.158999999999992, "y": 2.2859999999999445 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -2.158999999999992, "y": -2.286000000000058 }, { "x": -1.77800000000002, "y": -2.286000000000058 }, { "x": -1.77800000000002, "y": -1.6510000000000673 }, { "x": -2.158999999999992, "y": -1.6510000000000673 }, { "x": -2.158999999999992, "y": -2.286000000000058 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -4.742624999999975, "y": 2.5359999999999445 }, { "x": 4.774374999999964, "y": 2.5359999999999445 }, { "x": 4.774374999999964, "y": -2.536000000000058 }, { "x": -4.742624999999975, "y": -2.536000000000058 }, { "x": -4.742624999999975, "y": 2.5359999999999445 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2159920.obj?uuid=a7253e4667014c2b8171994ff34e6c41",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2159920.step?uuid=a7253e4667014c2b8171994ff34e6c41",
pcbRotationOffset: 0,
modelOriginPosition: { x: -0.15229840000006334, y: 0, z: -2.203761 },
}, ...restProps }));
};
const MotorPowerFilteringComponents = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(PMEG6020ELRX, { name: "D_MOTOR_BLOCK", schSheetName: schematicSheets.motorPower, schSectionName: schematicSections.pdFiltering, ...revisionPlacement("D_MOTOR_BLOCK", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("fuse", { name: "F_MOTOR_VBUS", schRotation: 90.0, currentRating: "2A", voltageRating: "30V", footprint: "1812", supplierPartNumbers: { jlcpcb: ["C960026"] }, manufacturerPartNumber: "BSMD1812-200-30V", schSheetName: schematicSheets.motorPower, schSectionName: schematicSections.pdFiltering, ...revisionPlacement("F_MOTOR_VBUS", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("capacitor", { name: "C_PD_VBUS", capacitance: "10uF", maxVoltageRating: "50V", footprint: "1206", supplierPartNumbers: { jlcpcb: ["C13585"] }, manufacturerPartNumber: "CL31A106KBHNNNE",
// Input-side reservoir; C_VMA/C_VM_HF are the local IC bypasses.
maxDecouplingTraceLength: 22, schOrientation: "vertical", schSheetName: schematicSheets.motorPower, schSectionName: schematicSections.pdFiltering, ...revisionPlacement("C_PD_VBUS", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx(TCJD226M050R0090E, { name: "C_MOTOR_BULK", layer: "top", pcbX: -12.375, pcbY: 6.75, pcbRotation: 90, schOrientation: "vertical", schSheetName: schematicSheets.motorPower, schSectionName: schematicSections.pdFiltering }), jsxRuntime.jsx("diode", { name: "D_MOTOR_TVS", pcbRotation: 180, pinLabels: { pin1: ["cathode", "neg"], pin2: ["anode", "pos"] }, footprint: "smb",
// 22 V stand-off, 35.5 V rated pulse clamp: below DRV8825's 45 V
// operating limit and the motor rail capacitors' 50 V rating.
supplierPartNumbers: { jlcpcb: ["C1975329"] }, manufacturerPartNumber: "SMBJ22CAQ-13-F", pcbX: -2.875, pcbY: 15.75, schOrientation: "vertical", schSheetName: schematicSheets.motorPower, schSectionName: schematicSections.pdFiltering })] }));
const MotorPowerFilteringSupplyTrace = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("trace", { name: "MOTOR_REVERSE_BLOCK", from: ".F_MOTOR_VBUS > .pin2", to: ".D_MOTOR_BLOCK > .anode", ...powerTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_VBUS_FUSE_INPUT", from: ".J_MOTOR_USB > .A4B9", to: ".F_MOTOR_VBUS > .pin1", ...powerTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_VBUS_CAP", from: ".D_MOTOR_BLOCK > .cathode", to: ".C_PD_VBUS > .pin1", schDisplayLabel: "VMOTOR_PROTECTED", ...powerTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_VBUS_BULK", from: ".D_MOTOR_BLOCK > .cathode", to: ".C_MOTOR_BULK > .pin1", ...powerTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_VBUS_TVS", from: ".D_MOTOR_BLOCK > .cathode", to: ".D_MOTOR_TVS > .cathode", ...powerTrace })] }));
const MotorPowerFilteringGroundTrace = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("trace", { name: "PD_VBUS_CAP_GND", from: ".C_PD_VBUS > .pin2", to: "net.GND", ...groundTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_BULK_GND", from: ".C_MOTOR_BULK > .pin2", to: "net.GND", ...groundTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_TVS_GND", from: ".D_MOTOR_TVS > .anode", to: "net.GND", ...groundTrace })] }));
const pinLabels$1 = {
pin1: ["VDD"],
pin2: ["CFG2"],
pin3: ["CFG3"],
pin4: ["DP"],
pin5: ["DM"],
pin6: ["CC2"],
pin7: ["CC1"],
pin8: ["VBUS"],
pin9: ["CFG1"],
pin10: ["PG"],
pin11: ["GND"],
};
const CH224K = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$1, pinAttributes: {
VDD: { requiresPower: true },
GND: { requiresGround: true },
}, supplierPartNumbers: {
jlcpcb: ["C970725"],
}, manufacturerPartNumber: "CH224K", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "-1.999996mm", pcbY: "2.999867mm", width: "0.5999988mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "-0.999998mm", pcbY: "3.000121mm", width: "0.5999988mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "-0mm", pcbY: "3.000121mm", width: "0.5999988mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "0.999998mm", pcbY: "3.000121mm", width: "0.5999988mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "1.999996mm", pcbY: "2.999867mm", width: "0.5999988mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "1.999996mm", pcbY: "-3.000121mm", width: "0.5999988mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "0.999998mm", pcbY: "-3.000121mm", width: "0.5999988mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-0mm", pcbY: "-3.000121mm", width: "0.5999988mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-0.999998mm", pcbY: "-3.000121mm", width: "0.5999988mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.999996mm", pcbY: "-3.000121mm", width: "0.5999988mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "-0mm", pcbY: "0.000127mm", width: "3.2999934mm", height: "2.0999958mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [
{ x: -2.4600916000000552, y: 0.5400039999999535 },
{ x: -2.5000711999999794, y: 0.5800089999999045 },
{ x: -2.5000711999999794, y: 0.8199882000000116 },
{ x: -2.5000711999999794, y: 1.9499580000000378 },
] }), jsxRuntime.jsx("silkscreenpath", { route: [
{ x: -2.5000711999999794, y: -0.48003460000006726 },
{ x: -2.400045999999975, y: -0.48003460000006726 },
] }), jsxRuntime.jsx("silkscreenpath", { route: [
{ x: -2.5000711999999794, y: -1.9500087999999778 },
{ x: -2.5000711999999794, y: -0.48003460000006726 },
] }), jsxRuntime.jsx("silkscreenpath", { route: [
{ x: 2.499918799999932, y: -1.9500087999999778 },
{ x: 2.499918799999932, y: 1.9499580000000378 },
] }), jsxRuntime.jsx("silkscreenpath", { route: [
{ x: -2.5000711999999794, y: 1.9499580000000378 },
{ x: 2.499918799999932, y: 1.9499580000000378 },
] }), jsxRuntime.jsx("silkscreenpath", { route: [
{ x: -2.5000711999999794, y: -1.9500087999999778 },
{ x: 2.499918799999932, y: -1.9500087999999778 },
] }), jsxRuntime.jsx("silkscreenpath", { route: [
{ x: -1.9200622000000749, y: 0 },
{ x: -1.948065706108082, y: 0.21401308169981803 },
{ x: -2.063987168701715, y: 0.3960790312980862 },
{ x: -2.2460531183000967, y: 0.5120004938919465 },
{ x: -2.4600662000000284, y: 0.5400039999999535 },
] }), jsxRuntime.jsx("silkscreenpath", { route: [
{ x: -2.4000714000001153, y: -0.48000920000004044 },
{ x: -2.1600667999999814, y: -0.41570016125035636 },
{ x: -1.984371238749759, y: -0.2400046000001339 },
{ x: -1.9200622000000749, y: 0 },
] }), jsxRuntime.jsx("silkscreenpath", { route: [
{ x: -1.6357600000000048, y: -1.2602210000000014 },
{ x: -1.645444766097171, y: -1.3337841019132384 },
{ x: -1.6738390635840688, y: -1.4023339999999962 },
{ x: -1.7190078680105216, y: -1.4611991319895878 },
{ x: -1.7778730000001133, y: -1.506367936415927 },
{ x: -1.8464228980867574, y: -1.5347622339028248 },
{ x: -1.9199859999999944, y: -1.5444470000001047 },
{ x: -1.9935491019132314, y: -1.5347622339028248 },
{ x: -2.0620989999999892, y: -1.506367936415927 },
{ x: -2.120964131989581, y: -1.4611991319895878 },
{ x: -2.16613293641592, y: -1.4023339999999962 },
{ x: -2.1945272339030453, y: -1.3337841019132384 },
{ x: -2.2042120000000978, y: -1.2602210000000014 },
{ x: -2.1945272339030453, y: -1.1866578980867644 },
{ x: -2.16613293641592, y: -1.1181080000000065 },
{ x: -2.120964131989581, y: -1.0592428680105286 },
{ x: -2.0620989999999892, y: -1.0140740635840757 },
{ x: -1.9935491019132314, y: -0.9856797660971779 },
{ x: -1.9199859999999944, y: -0.9759950000000117 },
{ x: -1.8464228980867574, y: -0.9856797660971779 },
{ x: -1.7778730000001133, y: -1.0140740635840757 },
{ x: -1.7190078680105216, y: -1.0592428680105286 },
{ x: -1.6738390635840688, y: -1.1181080000000065 },
{ x: -1.645444766097171, y: -1.1866578980867644 },
{ x: -1.6357600000000048, y: -1.2602210000000014 },
] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.006604mm", pcbY: "4.761613mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [
{ x: -2.7585040000000163, y: 4.011613000000011 },
{ x: 2.7452959999999393, y: 4.011613000000011 },
{ x: 2.7452959999999393, y: -4.209987000000069 },
{ x: -2.7585040000000163, y: -4.209987000000069 },
{ x: -2.7585040000000163, y: 4.011613000000011 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C970725.obj?uuid=c37139ac11be40009679f32869d9459d",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C970725.step?uuid=c37139ac11be40009679f32869d9459d",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0.000063500000123895, y: 0, z: -0.81 },
}, ...props }));
};
const MotorPowerPdControllers = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(MotorUsbC, { name: "J_MOTOR_USB",
// Keep shell labels above/below the built-in USB graphic.
schPinArrangement: { topSide: { pins: [6], direction: "left-to-right" }, rightSide: { pins: [15, 8, 14, 10, 12, 11, 9, 13, 7, 16], direction: "top-to-bottom" }, bottomSide: { pins: [5], direction: "left-to-right" }, leftSide: { pins: [1, 2, 3, 4], direction: "top-to-bottom" } }, schWidth: 3, schHeight: 3.95, schPinStyle: { ...Object.fromEntries([8, 14, 10, 12, 11, 9, 13, 7, 16].map(pin => [`pin${pin}`, { marginTop: 0.2 }])), pin2: { marginTop: 0.1 }, pin3: { marginTop: 2.6 }, pin4: { marginTop: 0.1 } }, noConnect: ["B8", "A8"], pcbX: 12.625, pcbY: 24.95, pcbRotation: 180, schSheetName: schematicSheets.motorPower, schSectionName: schematicSections.pdNegotiation }), jsxRuntime.jsx(CH224K, { name: "U_PD", schWidth: 1.8, schHeight: 1.77, schMarginRight: 1, schPinArrangement: {
leftSide: {
pins: [4, 5, 6, 7],
direction: "top-to-bottom",
},
rightSide: {
pins: [10, 9, 2, 3, 8],
direction: "top-to-bottom",
},
topSide: {
pins: [1],
direction: "left-to-right",
},
bottomSide: {
pins: [11],
direction: "left-to-right",
},
}, schPinStyle: {
pin6: { marginTop: 0.4 },
pin8: { marginTop: 0.4 },
}, schSheetName: schematicSheets.motorPower, schSectionName: schematicSections.pdNegotiation, ...revisionPlacement("U_PD", { x: -5.625, y: -8.25 }) })] }));
const MotorPowerPdPassives = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("capacitor", { name: "C_PD_VDD", capacitance: "1uF", footprint: "0603", supplierPartNumbers: { jlcpcb: ["C15849"] }, maxDecouplingTraceLength: 10, schOrientation: "vertical", schSheetName: schematicSheets.motorPower, schSectionName: schematicSections.pdNegotiation, ...revisionPlacement("C_PD_VDD", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("resistor", { name: "R_PD_VDD", schRotation: 90.0, resistance: "1k", footprint: "1206",
// 327 mW worst case at 21 V / 3 V VDD / 990 ohm: use a 750 mW part.
supplierPartNumbers: { jlcpcb: ["C844867"] }, manufacturerPartNumber: "CRCW12061K00FKEAHP", schMarginX: 0.25, schMarginY: 0.2, schSheetName: schematicSheets.motorPower, schSectionName: schematicSections.pdNegotiation, ...revisionPlacement("R_PD_VDD", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("resistor", { name: "R_PD_VBUS", schRotation: 180.0, resistance: "10k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25744"] }, schMarginX: 0.25, schMarginY: 0.2, schSheetName: schematicSheets.motorPower, schSectionName: schematicSections.pdNegotiation, ...revisionPlacement("R_PD_VBUS", { x: -5.625, y: -8.25 }) })] }));
const MotorPowerPdInputTraces = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("trace", { name: "MOTOR_VBUS_JOIN", from: ".J_MOTOR_USB > .A4B9", to: ".J_MOTOR_USB > .B4A9", ...powerTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_VBUS_VM", from: ".D_MOTOR_BLOCK > .cathode", to: ".DRIVER > .VM", schDisplayLabel: "VMOTOR_PROTECTED", ...powerTrace })] }));
const MotorPowerPdProtocolTraces = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("trace", { name: "PD_VDD_FEED", from: ".J_MOTOR_USB > .A4B9", to: ".R_PD_VDD > .pin1", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_VBUS_SENSE_FEED", from: ".J_MOTOR_USB > .A4B9", to: ".R_PD_VBUS > .pin1", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_VDD_INPUT", from: ".R_PD_VDD > .pin2", to: ".U_PD > .VDD", schDisplayLabel: "PD_VDD", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_VBUS_INPUT", from: ".R_PD_VBUS > .pin2", to: ".U_PD > .VBUS", schDisplayLabel: "PD_VBUS", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_VDD_DECOUPLE", from: ".U_PD > .VDD", to: ".C_PD_VDD > .pin1", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_CC1", from: ".J_MOTOR_USB > .A5", to: ".U_PD > .CC1", schDisplayLabel: "CC1", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_CC2", from: ".J_MOTOR_USB > .B5", to: ".U_PD > .CC2", schDisplayLabel: "CC2", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_DP_A", from: ".J_MOTOR_USB > .A6", to: ".U_PD > .DP", schDisplayLabel: "USB_D+", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_DP_JOIN", from: ".J_MOTOR_USB > .B6", to: ".J_MOTOR_USB > .A6", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_DM_A", from: ".J_MOTOR_USB > .A7", to: ".U_PD > .DM", schDisplayLabel: "USB_D-", ...logicTrace }), jsxRuntime.jsx("trace", { name: "PD_DM_JOIN", from: ".J_MOTOR_USB > .B7", to: ".J_MOTOR_USB > .A7", ...logicTrace })] }));
const MotorPowerPdPrimaryGroundTrace = () => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("trace", { name: "MOTOR_USB_GND_A", from: ".J_MOTOR_USB > .A1B12", to: ".DRIVER > .EP", ...groundTrace }) }));
const MotorPowerPdConnectorGroundTraces = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("trace", { name: "MOTOR_USB_GND_JOIN", from: ".J_MOTOR_USB > .B1A12", to: ".J_MOTOR_USB > .A1B12", ...groundTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_USB_SHIELD_1", from: ".J_MOTOR_USB > .EH1", to: ".J_MOTOR_USB > .A1B12", ...groundTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_USB_SHIELD_2", from: ".J_MOTOR_USB > .EH2", to: ".J_MOTOR_USB > .A1B12", ...groundTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_USB_SHIELD_3", from: ".J_MOTOR_USB > .EH3", to: ".J_MOTOR_USB > .A1B12", ...groundTrace }), jsxRuntime.jsx("trace", { name: "MOTOR_USB_SHIELD_4", from: ".J_MOTOR_USB > .EH4", to: ".J_MOTOR_USB > .A1B12", ...groundTrace }), jsxRuntime.jsx("trace", { name: "PD_GND", from: ".U_PD > .GND", to: ".DRIVER > .EP", ...groundTrace })] }));
const MotorPowerPdSupportGroundTraces = () => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("trace", { name: "PD_VDD_CAP_GND", from: ".C_PD_VDD > .pin2", to: "net.GND", ...logicTrace }) }));
const SchematicSheets = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("schematicsheet", { name: schematicSheets.controller, displayName: "RP2040 Controller", sheetIndex: 1 }), jsxRuntime.jsxs("schematicsheet", { name: schematicSheets.programming, displayName: "Programming USB-C & QSPI", sheetIndex: 2, children: [jsxRuntime.jsx("schematicsection", { name: "MCU__usb" }), jsxRuntime.jsx("schematicsection", { name: "MCU__programming_supply" }), jsxRuntime.jsx("schematicsection", { name: "MCU__programming_flash", displayName: "QSPI Flash" }), jsxRuntime.jsx("schematicsection", { name: "MCU__programming_bypass" }), jsxRuntime.jsx("schematictext", { text: "3.3 V Supply", schX: -10, schY: 4.5, anchor: "top_left", fontSize: 0.22 }), jsxRuntime.jsx("schematictext", { text: "3.3 V Bypass", schX: -3, schY: -4.8, anchor: "top_left", fontSize: 0.22 }), jsxRuntime.jsx("schematictext", { text: "Programming USB-C", schX: -1.7, schY: 5.5, anchor: "top_left", fontSize: 0.22 })] }), jsxRuntime.jsxs("schematicsheet", { name: schematicSheets.motorDriver, displayName: "Stepper Motor Driver", sheetIndex: 3, children: [jsxRuntime.jsx("schematicsection", { name: schematicSections.driverCore, displayName: "H-Bridge, Power & Control" }), jsxRuntime.jsx("schematicsection", { name: schematicSections.motorOutputs, displayName: "Stepper Motor Output" })] }), jsxRuntime.jsxs("schematicsheet", { name: schematicSheets.motorPower, displayName: "USB-C PD Motor Power", sheetIndex: 4, children: [jsxRuntime.jsx("schematicsection", { name: schematicSections.pdNegotiation }), jsxRuntime.jsx("schematicsection", { name: schematicSections.pdFiltering }), jsxRuntime.jsx("schematictext", { text: "USB-C PD Negotiation", schX: -9, schY: 4.5, anchor: "top_left", fontSize: 0.22 }), jsxRuntime.jsx("schematictext", { text: "Power Filtering", schX: -6, schY: -5.7, anchor: "top_left", fontSize: 0.22 })] }), jsxRuntime.jsxs("schematicsheet", { name: schematicSheets.thermalProtection, displayName: "Temperature Telemetry", sheetIndex: 5, children: [jsxRuntime.jsx("schematicsection", { name: "thermal_protection" }), jsxRuntime.jsx("schematictext", { text: "Temperature Sensing & MCU Alert", schX: -9, schY: 4, anchor: "top_left", fontSize: 0.22 })] })] }));
const pinLabels = {
pin1: ["SCL"],
pin2: ["GND"],
pin3: ["ALERT"],
pin4: ["ADD0"],
pin5: ["V_POS"],
pin6: ["SDA"]
};
const TMP102AIDRLR = (props) => {
return (jsxRuntime.jsx("chip", { pinLabels: pinLabels, supplierPartNumbers: {
"jlcpcb": [
"C99269"
]
}, manufacturerPartNumber: "TMP102AIDRLR", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-0.7499858mm", pcbY: "-0.000127mm", width: "0.5999988mm", height: "0.2999994mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "0.7499858mm", pcbY: "-0.000127mm", width: "0.5999988mm", height: "0.2999994mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "0.7499858mm", pcbY: "0.499999mm", width: "0.5999988mm", height: "0.2999994mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "0.7499858mm", pcbY: "-0.499999mm", width: "0.5999988mm", height: "0.2999994mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-0.7499858mm", pcbY: "0.499999mm", width: "0.5999988mm", height: "0.2999994mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-0.7499858mm", pcbY: "-0.499999mm", width: "0.5999988mm", height: "0.2999994mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.4751578000000052, "y": -0.7874762000000004 }, { "x": 0.4748021999999992, "y": -0.7874762000000004 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.4751578000000052, "y": 0.7873237999999958 }, { "x": 0.4748021999999992, "y": 0.7873237999999958 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.9000489999999957, "y": -0.9300209999999964 }, { "x": 0.8980064577310571, "y": -0.9455356488396234 }, { "x": 0.8920180268044504, "y": -0.9599929999999972 }, { "x": 0.8824918088914444, "y": -0.9724078088914467 }, { "x": 0.8700770000000091, "y": -0.9819340268044527 }, { "x": 0.8556196488396068, "y": -0.9879224577310737 }, { "x": 0.8401049999999941, "y": -0.989964999999998 }, { "x": 0.8245903511603672, "y": -0.9879224577310737 }, { "x": 0.8101329999999933, "y": -0.9819340268044527 }, { "x": 0.7977181911085438, "y": -0.9724078088914467 }, { "x": 0.7881919731955236, "y": -0.9599929999999972 }, { "x": 0.7822035422689169, "y": -0.9455356488396234 }, { "x": 0.7801610000000068, "y": -0.9300209999999964 }, { "x": 0.7822035422689169, "y": -0.9145063511603837 }, { "x": 0.7881919731955236, "y": -0.9000489999999957 }, { "x": 0.7977181911085438, "y": -0.8876341911085603 }, { "x": 0.8101329999999933, "y": -0.8781079731955401 }, { "x": 0.8245903511603672, "y": -0.8721195422689334 }, { "x": 0.8401049999999941, "y": -0.8700769999999949 }, { "x": 0.8556196488396068, "y": -0.8721195422689334 }, { "x": 0.8700770000000091, "y": -0.8781079731955401 }, { "x": 0.8824918088914444, "y": -0.8876341911085603 }, { "x": 0.8920180268044504, "y": -0.9000489999999957 }, { "x": 0.8980064577310571, "y": -0.9145063511603837 }, { "x": 0.9000489999999957, "y": -0.9300209999999964 }] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.016383mm", pcbY: "1.95mm", anchorAlignment: "center", fontSize: "0.7mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -1.2877170000000007, "y": 1.0845170000000053 }, { "x": 1.3204829999999959, "y": 1.0845170000000053 }, { "x": 1.3204829999999959, "y": -1.2442829999999958 }, { "x": -1.2877170000000007, "y": -1.2442829999999958 }, { "x": -1.2877170000000007, "y": 1.0845170000000053 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C99269.obj?uuid=ec2270bac0544bf5afe06b24e8356512",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C99269.step?uuid=ec2270bac0544bf5afe06b24e8356512",
pcbRotationOffset: 180,
modelOriginPosition: { x: -5079999999679785e-20, y: 0.029921200000003978, z: 0 },
}, ...props }));
};
// Signal width requested by the sensor circuit. The validated route plan
// includes fine-pitch escapes and local supply/ground connections.
const thermalTrace = logicTrace;
const section = {
schSheetName: schematicSheets.thermalProtection,
schSectionName: "thermal_protection",
};
/** Sensor is beside the larger DRV8825 package, beside its grounded thermal area.
* GPIO26/27: I2C1 SDA/SCL. RP2040 software evaluates temperature thresholds.
* ALERT is intentionally unconnected; the sensor does not gate driver enable.
*/
const ThermalProtectionComponents = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(TMP102AIDRLR, { noConnect: ["ALERT"], name: "U_TEMP", schWidth: 1.6, schHeight: 1.2, schPinStyle: { pin4: { marginLeft: 0.5 } }, schPinArrangement: {
leftSide: { pins: [1, 6], direction: "top-to-bottom" },
rightSide: { pins: [3], direction: "top-to-bottom" },
topSide: { pins: [5], direction: "left-to-right" },
bottomSide: { pins: [2, 4], direction: "left-to-right" },
}, ...section, ...revisionPlacement("U_TEMP", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("capacitor", { name: "C_TEMP", capacitance: "100nF", footprint: "0402", maxDecouplingTraceLength: 4, supplierPartNumbers: { jlcpcb: ["C1525"] }, schOrientation: "vertical", ...section, ...revisionPlacement("C_TEMP", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("resistor", { name: "R_TEMP_SDA", resistance: "4.7k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25900"] }, schOrientation: "pos_bottom", ...section, ...revisionPlacement("R_TEMP_SDA", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("resistor", { name: "R_TEMP_SCL", resistance: "4.7k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25900"] }, schOrientation: "pos_bottom", ...section, ...revisionPlacement("R_TEMP_SCL", { x: -5.625, y: -8.25 }) }), jsxRuntime.jsx("resistor", { name: "R_MCU_ENABLE_PD", resistance: "100k", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C25741"] }, schOrientation: "vertical", ...section, ...revisionPlacement("R_MCU_ENABLE_PD", { x: -5.625, y: -8.25 }) })] }));
const ThermalProtectionTraces = () => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("trace", { name: "TEMP_SDA", from: ".MCU > .U1 > .GPIO26_ADC0", to: ".U_TEMP > .SDA", schDisplayLabel: "TEMP_SDA", ...thermalTrace }), jsxRuntime.jsx("trace", { name: "TEMP_SCL", from: ".MCU > .U1 > .GPIO27_ADC1", to: ".U_TEMP > .SCL", schDisplayLabel: "TEMP_SCL", ...thermalTrace }), jsxRuntime.jsx("trace", { name: "TEMP_GND", from: ".U_TEMP > .GND", to: ".DRIVER > .EP", ...thermalTrace, thickness: "0.3mm" }), jsxRuntime.jsx("trace", { name: "TEMP_ADDR_0X48", from: ".U_TEMP > .ADD0", to: ".U_TEMP > .GND", ...thermalTrace, pcbPath: [".U_TEMP > .GND"] }), jsxRuntime.jsx("trace", { name: "TEMP_POWER", from: ".U_TEMP > .V_POS", to: ".MCU > .L_AVDD > .pin1", schDisplayLabel: "V3V3", ...thermalTrace }), jsxRuntime.jsx("trace", { name: "TEMP_DECOUPLE", schDisplayLabel: "V3V3", from: ".C_TEMP > .pin1", to: ".U_TEMP > .V_POS", ...thermalTrace }), jsxRuntime.jsx("trace", { name: "SDA_PULLUP", schDisplayLabel: "TEMP_SDA", from: ".R_TEMP_SDA > .pin1", to: ".U_TEMP > .SDA", ...thermalTrace }), jsxRuntime.jsx("trace", { name: "SCL_PULLUP", schDisplayLabel: "TEMP_SCL", from: ".R_TEMP_SCL > .pin1", to: ".U_TEMP > .SCL", ...thermalTrace }), jsxRuntime.jsx("trace", { name: "MCU_ENABLE_PULLDOWN", from: ".R_MCU_ENABLE_PD > .pin1", to: ".Q_PD_ENABLE > .source", schDisplayLabel: "MCU_ENABLE", ...thermalTrace }), ["R_TEMP_SDA", "R_TEMP_SCL"].map(name => (jsxRuntime.jsx("trace", { name: `${name}_3V3`, schDisplayLabel: "V3V3", from: `.${name} > .pin2`, to: ".U_TEMP > .V_POS", ...thermalTrace }, name))), jsxRuntime.jsx("trace", { name: "C_TEMP_GND", from: ".C_TEMP > .pin2", to: "net.GND", ...thermalTrace }), jsxRuntime.jsx("trace", { name: "R_MCU_ENABLE_PD_GND", from: ".R_MCU_ENABLE_PD > .pin2", to: ".R_SLEEP_PD > .pin2", ...thermalTrace })] }));
function Rp2040MotorController({ routingDisabled = false, routingAlgorithm = savedRouting, finalizeGroundPours = true, } = {}) {
// The DRV8825 footprint intentionally has thermal vias inside its exposed pad.
// Core's placement check treats via-in-pad as a collision and skips routing.
return autoLayoutSections(jsxRuntime.jsxs("board", { ...(!routingDisabled && finalizeGroundPours ? { ref: installGroundPourFinalization } : {}), routingDisabled: routingDisabled, placementDrcChecksDisabled: true, layers: 4, thickness: "1.6mm", outline: nema17Outline, minViaHoleDiameter: "0.3mm", minViaPadDiameter: "0.5mm", minViaHoleEdgeToViaHoleEdgeClearance: "0.2mm", minPlatedHoleDrillEdgeToDrillEdgeClearance: "0.45mm", minViaEdgeToPadEdgeClearance: "0.125mm", minTraceWidth: jlcClearanceRules.minimumMm.traceWidth, minTraceToPadEdgeClearance: jlcClearanceRules.minimumMm.padToTrace,
// Native checks currently reuse this field for via-to-pad spacing.
// checkJlcClearances separately enforces 0.15 mm between component pads.
minPadEdgeToPadEdgeClearance: jlcClearanceRules.minimumMm.viaToPad, minBoardEdgeClearance: jlcClearanceRules.minimumMm.copperToBoardEdge, autorouterEffortLevel: "2x", autorouterVersion: "beta_pipeline7", autorouter: {
local: true,
algorithmFn: routingAlgorithm,
groupMode: "subcircuit",
}, children: [jsxRuntime.jsx("net", { name: "GND" }), jsxRuntime.jsx("net", { name: "DRIVER_STEP", connectsTo: ".MCU > .U1 > .GPIO18" }), jsxRuntime.jsx("net", { name: "DRIVER_DIR", connectsTo: ".MCU > .U1 > .GPIO19" }), jsxRuntime.jsx("net", { name: "DRIVER_RESET", connectsTo: ".MCU > .U1 > .GPIO20" }), jsxRuntime.jsx("net", { name: "MCU_ENABLE", connectsTo: ".MCU > .U1 > .GPIO22" }), jsxRuntime.jsx("net", { name: "TEMP_SDA", connectsTo: ".MCU > .U1 > .GPIO26_ADC0" }), jsxRuntime.jsx("net", { name: "TEMP_SCL", connectsTo: ".MCU > .U1 > .GPIO27_ADC1" }), jsxRuntime.jsx(SchematicSheets, {}), jsxRuntime.jsxs("group", { pcbX: -5.625, pcbY: -8.25, children: [jsxRuntime.jsx(ControllerSections, {}), jsxRuntime.jsx(MotorDriverController, {}), jsxRuntime.jsx(MotorPowerPdControllers, {}), jsxRuntime.jsx(MotorOutputConnectors, {}), jsxRuntime.jsx(MotorPowerFilteringComponents, {}), jsxRuntime.jsx(MotorPowerPdPassives, {}), jsxRuntime.jsx(MotorDriverPassives, {}), jsxRuntime.jsx(ThermalProtectionComponents, {}), jsxRuntime.jsx(MotorDriverControlTraces, {}), jsxRuntime.jsx(MotorPowerPdInputTraces, {}), jsxRuntime.jsx(MotorPowerFilteringSupplyTrace, {}), jsxRuntime.jsx(MotorPowerPdProtocolTraces, {}), jsxRuntime.jsx(MotorDriverPowerTraces, {}), jsxRuntime.jsx(MotorDriverPrimaryGroundTraces, {}), jsxRuntime.jsx(MotorPowerPdPrimaryGroundTrace, {}), jsxRuntime.jsx(MotorPowerPdConnectorGroundTraces, {}), jsxRuntime.jsx(MotorPowerFilteringGroundTrace, {}), jsxRuntime.jsx(MotorPowerPdSupportGroundTraces, {}), jsxRuntime.jsx(MotorDriverGroundTraces, {}), jsxRuntime.jsx(MotorOutputTraces, {}), jsxRuntime.jsx(MotorDriverSenseAndControlTraces, {}), jsxRuntime.jsx(ThermalProtectionTraces, {})] }), jsxRuntime.jsx("copperpour", { name: "GND_TOP", layer: "top", connectsTo: "net.GND", clearance: "0.21mm", padMargin: "0.2mm", traceMargin: "0.2mm", boardEdgeMargin: "0.3mm", coveredWithSolderMask: true }), jsxRuntime.jsx("copperpour", { name: "GND_BOTTOM", layer: "bottom", connectsTo: "net.GND", clearance: "0.21mm", padMargin: "0.2mm", traceMargin: "0.2mm", boardEdgeMargin: "0.3mm", coveredWithSolderMask: true }), jsxRuntime.jsxs("group", { pcbX: 0, pcbY: 0, schX: 0, schY: 0, children: [[-15.5, 15.5].flatMap(x => [-15.5, 15.5].map(y => (jsxRuntime.jsx("group", { pcbX: 0, pcbY: 0, schX: 0, schY: 0, children: jsxRuntime.jsx("chip", { doNotPlace: true, name: `MH${(x > 0 ? 2 : 0) + (y > 0 ? 1 : 0) + 1}`, pcbX: x, pcbY: y, schSheetName: "motor_power", schX: x > 0 ? 11 : 8, schY: y > 0 ? -4 : -6, pinLabels: { pin1: ["GND"] }, connections: { pin1: "net.GND" }, footprint: jsxRuntime.jsx("footprint", { children: jsxRuntime.jsx("platedhole", { portHints: ["pin1"], shape: "circle", holeDiameter: "3.3mm", outerDiameter: "5.6mm" }) }) }) }, `${x}:${y}`)))), jsxRuntime.jsx("silkscreengraphic", { imageUrl: tscircuitBottomLogo, width: "9mm", height: "9.340763mm", layer: "bottom", pcbX: 13.5, pcbY: 7.5 }), jsxRuntime.jsx("silkscreentext", { text: "Made with tscircuit", layer: "bottom", pcbX: 13.5, pcbY: 0.3, fontSize: "0.9mm" }), jsxRuntime.jsx("silkscreentext", { text: "For evaluation only;", layer: "bottom", pcbX: -18.95, pcbY: 1, pcbRotation: 270, fontSize: "0.85mm" }), jsxRuntime.jsx("silkscreentext", { text: "not FCC approved for resale", layer: "bottom", pcbX: -20.05, pcbY: 1, pcbRotation: 270, fontSize: "0.85mm" }), jsxRuntime.jsx("silkscreentext", { text: "DATA", pcbX: -13.73, pcbY: 19.35, fontSize: "1.8mm", isKnockout: true, knockoutPadding: "0.18mm" }), jsxRuntime.jsx("silkscreentext", { text: "PWR", pcbX: 14.1, pcbY: 19.35, fontSize: "1.8mm", isKnockout: true, knockoutPadding: "0.18mm" }), jsxRuntime.jsx("silkscreentext", { text: "RP2040 NEMA17", pcbX: 0, pcbY: 20, fontSize: "0.8mm" })] }), jsxRuntime.jsx("trace", { name: "LABEL_STEP", from: ".MCU > .U1 > .GPIO18", to: "net.DRIVER_STEP", schDisplayLabel: "DRIVER_STEP" }), jsxRuntime.jsx("trace", { name: "LABEL_DIR", from: ".MCU > .U1 > .GPIO19", to: "net.DRIVER_DIR", schDisplayLabel: "DRIVER_DIR" }), jsxRuntime.jsx("trace", { name: "LABEL_RESET", from: ".MCU > .U1 > .GPIO20", to: "net.DRIVER_RESET", schDisplayLabel: "DRIVER_RESET" }), jsxRuntime.jsx("trace", { name: "LABEL_ENABLE", from: ".MCU > .U1 > .GPIO22", to: "net.MCU_ENABLE", schDisplayLabel: "MCU_ENABLE" }), jsxRuntime.jsx("trace", { name: "LABEL_TEMP_SDA", from: ".MCU > .U1 > .GPIO26_ADC0", to: "net.TEMP_SDA", schDisplayLabel: "TEMP_SDA" }), jsxRuntime.jsx("trace", { name: "LABEL_TEMP_SCL", from: ".MCU > .U1 > .GPIO27_ADC1", to: "net.TEMP_SCL", schDisplayLabel: "TEMP_SCL" }), jsxRuntime.jsx(FeedbackSection, {}), jsxRuntime.jsx(CurrentTelemetrySection, {}), jsxRuntime.jsx(StatusLedSection, {}), jsxRuntime.jsx(ProductionTestPoints, {}), jsxRuntime.jsx(OptionalEncoderSection, {}), jsxRuntime.jsx(Drv8825ThermalCopper, {}), jsxRuntime.jsx(ChipDescriptions, {}), jsxRuntime.jsx(PdVoltageControlSection, {})] }));
}
module.exports = Rp2040MotorController;