(footprint "SW_Push_1P1T_NO_CK_PTS840_GK_SMTR_LFS" (version 20221018) (generator pcbnew)
  (layer "F.Cu")
  (descr "Standard G SMT Leads with ESD and Peg options")
  (tags "push_button")
  (attr smd)
  (fp_text reference "REF**" (at -0.15 -2.45 unlocked) (layer "F.SilkS")
      (effects (font (size 1 1) (thickness 0.15)))
    (tstamp 3395295b-0538-4390-a628-0c8b11d216c6)
  )
  (fp_text value "SW_Push_1P1T_NO_CK_PTS840_GK_SMTR_LFS" (at 0 1 unlocked) (layer "F.Fab")
      (effects (font (size 1 1) (thickness 0.15)))
    (tstamp 0b4d25a5-709f-461f-9cff-8681511e948b)
  )
  (fp_text user "${REFERENCE}" (at 0 2.5 unlocked) (layer "F.Fab")
      (effects (font (size 1 1) (thickness 0.15)))
    (tstamp 63c9d83c-f4ec-4ca3-8b97-f0c63c02a3f4)
  )
  (fp_line (start -1.9 -1.6) (end -0.65 -1.6)
    (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp ddb901ae-beb8-416f-99c2-5a237527e800))
  (fp_line (start -1.9 -1.35) (end -1.9 -1.6)
    (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 8318aa13-3eda-4bd5-b575-a527864b29a1))
  (fp_line (start -1.9 -0.1) (end -1.9 0.1)
    (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp f903635c-62af-4972-bf4f-084a28e3bc07))
  (fp_line (start -1.9 1.35) (end -1.9 1.6)
    (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 0ab91282-398c-42fc-b3b0-cbb7a05e32f5))
  (fp_line (start -1.9 1.6) (end 1.9 1.6)
    (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 929844fa-f7be-4648-8d81-c91d8d4848ad))
  (fp_line (start 0.65 -1.6) (end 1.9 -1.6)
    (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 20aae275-567f-443a-af4b-9e620229e962))
  (fp_line (start 1.9 -1.6) (end 1.9 -1.35)
    (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 8a793b30-e289-4fc3-bf79-476a47e190bf))
  (fp_line (start 1.9 -0.1) (end 1.9 0.1)
    (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 3f33f7c5-4a76-42c2-a295-eee6eab9d3f0))
  (fp_line (start 1.9 1.6) (end 1.9 1.35)
    (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp b45c1f5b-8f59-44da-8222-9ec285a662d3))
  (fp_poly
    (pts
      (xy -2.6 -2.05)
      (xy -2.6 1.75)
      (xy -1 1.75)
      (xy -1 2.25)
      (xy 1 2.25)
      (xy 1 1.75)
      (xy 2.6 1.75)
      (xy 2.6 -2.05)
    )

    (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd") (tstamp a7f97b5a-764e-46a2-ba05-4f2fec55817d))
  (fp_rect (start -1.75 1.45) (end 1.75 -1.45)
    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 356b70ab-b2c5-4a7b-87ed-ac4cde2ef0c1))
  (fp_rect (start -0.85 1.45) (end 0.85 2.1)
    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 9dff36ce-3e74-4b5a-90db-ff76536267b9))
  (pad "" np_thru_hole circle (at 0 -0.9) (size 0.7 0.7) (drill 0.7) (layers "F&B.Cu" "*.Mask") (tstamp 7eb4d86f-4671-4752-82df-ade091efb640))
  (pad "" np_thru_hole circle (at 0 0.9) (size 0.7 0.7) (drill 0.7) (layers "F&B.Cu" "*.Mask") (tstamp f51dbd45-9e63-4447-83d3-2dabcb3ae82f))
  (pad "1" smd roundrect (at -1.8 -0.725) (size 1.4 1.05) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1)
    (thermal_bridge_angle 45) (tstamp 58ecbfd0-68a6-4331-8259-a293f894f5b6))
  (pad "1" smd roundrect (at 1.8 -0.725) (size 1.4 1.05) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1)
    (thermal_bridge_angle 45) (tstamp dab526e2-042c-4f19-8717-103d986108a3))
  (pad "2" smd roundrect (at -1.8 0.725) (size 1.4 1.05) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1)
    (thermal_bridge_angle 45) (tstamp b4165f58-5035-4997-84f6-b611c18ac8bf))
  (pad "2" smd roundrect (at 1.8 0.725) (size 1.4 1.05) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1)
    (thermal_bridge_angle 45) (tstamp 7639ef9c-5278-44bc-936a-0db301278510))
  (pad "SH" smd roundrect (at 0 -1.7) (size 1.1 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.1) (tstamp 94f9db19-b7b8-4f77-9f73-b1a3e65a4ab1))
)
