/* MACHINE-GENERATED ! */

frame logo {
	set head_width = 7*unit-width

	set head_step = 2*unit

	set leg = 6*unit-width

	set foot = 2*unit-width

	set unit = 0.8mm

	set width = unit

	__0: vec @(head_width, 0mm)
	line @ . width
	__1: vec .(0mm, -head_step)
	__2: vec .(0mm, -head_step)
	__3: vec .(0mm, -leg)
	line __2 . width
	__4: vec .(foot, 0mm)
	line __3 . width
	__5: vec @(0mm, -head_step)
	line . __1 width
	__6: vec .(0mm, -head_step)
	line . __2 width
}

frame rect {
	__0: vec @(w/2, h/2)
	__1: vec @(-w/2, -h/2)
	rect . __0 width
}

frame circle {
	__0: vec @(0mm, r)
	circ @ . width
}

frame buttons {
	set h = but_h

	set w = but_w

	table
	    { x, y }
	    { 27mm, -8mm }
	    { 27mm, 8mm }
	    { 42mm, -8mm }

	__0: vec @(x, y)
	frame rect .
}

frame LEDs {
	set r = led/2

	table
	    { x, y }
	    { 14mm, -8mm }
	    { 14mm, 8mm }
	    { 42mm, 4.8mm }

	__0: vec @(x, y)
	frame circle .
}

frame jacks {
	table
	    { x }
	    { -42mm }
	    { -28mm }
	    { -14mm }
	    { 1mm }

	table
	    { y }
	    { -8mm }
	    { 8mm }

	set r = jack/2

	__0: vec @(x, y)
	frame circle .
}

frame outline {
	__0: vec @(w/2, h/2)
	__1: vec @(-w/2, -h/2)
	rect . __0 width
}

package "front-$type"
unit mm

set width = 5mil

table
    { type, h, w, jack, led, but_h, but_w }
    { "cut", 35mm, 103.6mm, 8.1mm, 6.2mm, 11.3mm, 12.6mm }
    { "panel", 33mm, 100mm, 11mm, 7.6mm, 14mm, 14mm }

table
    { logo_x, logo_y }
    { 43mm, 14mm }

__0: vec @(logo_x, logo_y)
frame logo .
frame outline @
frame jacks @
frame LEDs @
frame buttons @