form = "f8949"
year = 2017
rows_per_page = 14
# 2017 (pre-1099-DA) revision, field-identical grid to 2024: Bitcoin is a "transaction not reported on a 1099-B" →
# Box C (short-term) / Box F (long-term), the third checkbox, on-state /3 (c1_1[2]/c2_1[2]).
# Grid subform token is "Table_Line1" (no "_Part" suffix — the per-year F8949 token).
table_token = "Table_Line1"
[[parts]]
term = "short"
page = 0
box_field = "topmostSubform[0].Page1[0].c1_1[2]"
box_on = "3"
totals = { proceeds_d = "topmostSubform[0].Page1[0].f1_115[0]", cost_e = "topmostSubform[0].Page1[0].f1_116[0]", adj_g = "topmostSubform[0].Page1[0].f1_117[0]", gain_h = "topmostSubform[0].Page1[0].f1_118[0]" }
rows = [
["topmostSubform[0].Page1[0].Table_Line1[0].Row1[0].f1_3[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row1[0].f1_4[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row1[0].f1_5[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row1[0].f1_6[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row1[0].f1_7[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row1[0].f1_8[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row1[0].f1_9[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row1[0].f1_10[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row2[0].f1_11[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row2[0].f1_12[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row2[0].f1_13[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row2[0].f1_14[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row2[0].f1_15[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row2[0].f1_16[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row2[0].f1_17[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row2[0].f1_18[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row3[0].f1_19[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row3[0].f1_20[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row3[0].f1_21[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row3[0].f1_22[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row3[0].f1_23[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row3[0].f1_24[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row3[0].f1_25[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row3[0].f1_26[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row4[0].f1_27[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row4[0].f1_28[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row4[0].f1_29[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row4[0].f1_30[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row4[0].f1_31[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row4[0].f1_32[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row4[0].f1_33[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row4[0].f1_34[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row5[0].f1_35[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row5[0].f1_36[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row5[0].f1_37[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row5[0].f1_38[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row5[0].f1_39[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row5[0].f1_40[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row5[0].f1_41[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row5[0].f1_42[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row6[0].f1_43[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row6[0].f1_44[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row6[0].f1_45[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row6[0].f1_46[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row6[0].f1_47[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row6[0].f1_48[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row6[0].f1_49[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row6[0].f1_50[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row7[0].f1_51[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row7[0].f1_52[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row7[0].f1_53[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row7[0].f1_54[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row7[0].f1_55[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row7[0].f1_56[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row7[0].f1_57[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row7[0].f1_58[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row8[0].f1_59[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row8[0].f1_60[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row8[0].f1_61[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row8[0].f1_62[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row8[0].f1_63[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row8[0].f1_64[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row8[0].f1_65[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row8[0].f1_66[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row9[0].f1_67[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row9[0].f1_68[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row9[0].f1_69[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row9[0].f1_70[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row9[0].f1_71[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row9[0].f1_72[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row9[0].f1_73[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row9[0].f1_74[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row10[0].f1_75[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row10[0].f1_76[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row10[0].f1_77[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row10[0].f1_78[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row10[0].f1_79[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row10[0].f1_80[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row10[0].f1_81[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row10[0].f1_82[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row11[0].f1_83[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row11[0].f1_84[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row11[0].f1_85[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row11[0].f1_86[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row11[0].f1_87[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row11[0].f1_88[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row11[0].f1_89[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row11[0].f1_90[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row12[0].f1_91[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row12[0].f1_92[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row12[0].f1_93[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row12[0].f1_94[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row12[0].f1_95[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row12[0].f1_96[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row12[0].f1_97[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row12[0].f1_98[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row13[0].f1_99[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row13[0].f1_100[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row13[0].f1_101[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row13[0].f1_102[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row13[0].f1_103[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row13[0].f1_104[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row13[0].f1_105[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row13[0].f1_106[0]"],
["topmostSubform[0].Page1[0].Table_Line1[0].Row14[0].f1_107[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row14[0].f1_108[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row14[0].f1_109[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row14[0].f1_110[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row14[0].f1_111[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row14[0].f1_112[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row14[0].f1_113[0]", "topmostSubform[0].Page1[0].Table_Line1[0].Row14[0].f1_114[0]"],
]
[[parts]]
term = "long"
page = 1
box_field = "topmostSubform[0].Page2[0].c2_1[2]"
box_on = "3"
totals = { proceeds_d = "topmostSubform[0].Page2[0].f2_115[0]", cost_e = "topmostSubform[0].Page2[0].f2_116[0]", adj_g = "topmostSubform[0].Page2[0].f2_117[0]", gain_h = "topmostSubform[0].Page2[0].f2_118[0]" }
rows = [
["topmostSubform[0].Page2[0].Table_Line1[0].Row1[0].f2_3[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row1[0].f2_4[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row1[0].f2_5[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row1[0].f2_6[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row1[0].f2_7[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row1[0].f2_8[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row1[0].f2_9[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row1[0].f2_10[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row2[0].f2_11[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row2[0].f2_12[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row2[0].f2_13[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row2[0].f2_14[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row2[0].f2_15[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row2[0].f2_16[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row2[0].f2_17[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row2[0].f2_18[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row3[0].f2_19[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row3[0].f2_20[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row3[0].f2_21[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row3[0].f2_22[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row3[0].f2_23[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row3[0].f2_24[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row3[0].f2_25[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row3[0].f2_26[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row4[0].f2_27[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row4[0].f2_28[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row4[0].f2_29[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row4[0].f2_30[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row4[0].f2_31[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row4[0].f2_32[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row4[0].f2_33[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row4[0].f2_34[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row5[0].f2_35[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row5[0].f2_36[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row5[0].f2_37[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row5[0].f2_38[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row5[0].f2_39[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row5[0].f2_40[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row5[0].f2_41[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row5[0].f2_42[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row6[0].f2_43[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row6[0].f2_44[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row6[0].f2_45[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row6[0].f2_46[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row6[0].f2_47[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row6[0].f2_48[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row6[0].f2_49[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row6[0].f2_50[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row7[0].f2_51[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row7[0].f2_52[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row7[0].f2_53[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row7[0].f2_54[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row7[0].f2_55[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row7[0].f2_56[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row7[0].f2_57[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row7[0].f2_58[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row8[0].f2_59[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row8[0].f2_60[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row8[0].f2_61[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row8[0].f2_62[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row8[0].f2_63[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row8[0].f2_64[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row8[0].f2_65[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row8[0].f2_66[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row9[0].f2_67[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row9[0].f2_68[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row9[0].f2_69[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row9[0].f2_70[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row9[0].f2_71[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row9[0].f2_72[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row9[0].f2_73[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row9[0].f2_74[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row10[0].f2_75[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row10[0].f2_76[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row10[0].f2_77[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row10[0].f2_78[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row10[0].f2_79[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row10[0].f2_80[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row10[0].f2_81[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row10[0].f2_82[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row11[0].f2_83[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row11[0].f2_84[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row11[0].f2_85[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row11[0].f2_86[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row11[0].f2_87[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row11[0].f2_88[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row11[0].f2_89[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row11[0].f2_90[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row12[0].f2_91[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row12[0].f2_92[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row12[0].f2_93[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row12[0].f2_94[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row12[0].f2_95[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row12[0].f2_96[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row12[0].f2_97[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row12[0].f2_98[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row13[0].f2_99[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row13[0].f2_100[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row13[0].f2_101[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row13[0].f2_102[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row13[0].f2_103[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row13[0].f2_104[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row13[0].f2_105[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row13[0].f2_106[0]"],
["topmostSubform[0].Page2[0].Table_Line1[0].Row14[0].f2_107[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row14[0].f2_108[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row14[0].f2_109[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row14[0].f2_110[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row14[0].f2_111[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row14[0].f2_112[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row14[0].f2_113[0]", "topmostSubform[0].Page2[0].Table_Line1[0].Row14[0].f2_114[0]"],
]