f4pga / f4pga-arch-defs

FOSS architecture definitions of FPGA hardware useful for doing PnR device generation.
https://f4pga.org
ISC License
273 stars 113 forks source link

Why the kintex7'dbs exist in prjxray-db but the symbiflow can't use k7's device? #1780

Closed the-centry closed 3 years ago

the-centry commented 4 years ago

I found that the kintex7'dbs exist in prjxray-db,however symbiflow's cmakelist didn't use kintex7? whether the reason is the loss of primitives in some IP source such as iob18(in the dir of xc/common/primitives),or the incompleteness of the K7’ database. Or some other reasons?

litghost commented 4 years ago

There are couple answers to your questions, but the first part is the easiest. The reason no kintex7 parts are in symbiflow-arch-defs is those parts were not the initial targets. The Digilent boards we've been using as platforms are mostly artix7 and zynq7 parts, so that is where initial support was added and tested.

You pointed out correctly that the IOB18 is not currently supported, and that is primarily because IOB18 fuzzing is not in place in prjxray!

So in terms of adding k7 support, you can totally help us move this along! Steps you can follow to help!

  1. Pick a development platform with a kintex7 part
  2. Ensure that prjxray has that part emitted. We are working on a doc for adding parts, PR in progress is here: https://github.com/SymbiFlow/prjxray/pull/1486
  3. A blinky design minitest for your development platform (see prjxray/minitests), and verify that all bits are decoded (e.g. $XRAY_BIT2FASM design.bit > design.fasm && grep unknown design.fasm).
    • 3a. Add fuzzers to solve missing bits (like the IOB18 fuzzers)
  4. Standup kintex7 support in arch-defs to reproduce the blinky design!

Once a blinky example is stood up, you could try more complicated designs. If you are interested, please let us know!

mithro commented 4 years ago

The Digilent Genesys 2 board would be an excellent first target for Kintex 7 support. The Xilinx Kintex-7 FPGA KC705 Evaluation Kit would be another good default option to start Kintex 7 work on.

litghost commented 4 years ago

The Digilent Genesys 2 board would be an excellent first target for Kintex 7 support. The Xilinx Kintex-7 FPGA KC705 Evaluation Kit would be another good default option to start Kintex 7 work on.

One downside of Genesys2 is that I believe it isn't part of WebPack?

mithro commented 4 years ago

BTW - The Digilent Genesys 2 board is $999 USD and the KC705 is $1,695 USD.

I don't know of any super cheap Kintex-7 boards, but the Numato Skoll board could potentially work?

the-centry commented 4 years ago

There are couple answers to your questions, but the first part is the easiest. The reason no kintex7 parts are in symbiflow-arch-defs is those parts were not the initial targets. The Digilent boards we've been using as platforms are mostly artix7 and zynq7 parts, so that is where initial support was added and tested.

You pointed out correctly that the IOB18 is not currently supported, and that is primarily because IOB18 fuzzing is not in place in prjxray!

So in terms of adding k7 support, you can totally help us move this along! Steps you can follow to help!

  1. Pick a development platform with a kintex7 part
  2. Ensure that prjxray has that part emitted. We are working on a doc for adding parts, PR in progress is here: SymbiFlow/prjxray#1486
  3. A blinky design minitest for your development platform (see prjxray/minitests), and verify that all bits are decoded (e.g. $XRAY_BIT2FASM design.bit > design.fasm && grep unknown design.fasm).
  • 3a. Add fuzzers to solve missing bits (like the IOB18 fuzzers)
  1. Standup kintex7 support in arch-defs to reproduce the blinky design!

Once a blinky example is stood up, you could try more complicated designs. If you are interested, please let us know!

I noticed that the steps you offered were all involved in prjxray(minitests and fuzzers). Did it mean that adding Kintex7 part into symbiflow only need a complete Kintex 7 database. Do the xml files used by vpr need to be modified to adapt to Kintex7(eg. iob18)?

mithro commented 4 years ago

@the-centry - There is no point trying to add xml files to symbiflow-arch-defs until Project X-Ray supports them first.

the-centry commented 4 years ago

@the-centry - There is no point trying to add xml files to symbiflow-arch-defs until Project X-Ray supports them first.

If I wanna try whether Kintex7's db could be used in symbiflow firstly, could symbiflow run with the current Kintex7's db?

litghost commented 4 years ago

If I wanna try whether Kintex7's db could be used in symbiflow firstly, could symbiflow run with the current Kintex7's db?

It is possible. However, I definitely recommend you make a minitest to prove it to yourself. This is an easy step, and will give you confidence in the current state of the database.

the-centry commented 4 years ago

@litghost @mithro Follow your guide! I malitghostke a IOB18 seg_db,and I use the original minitests/iostandard to test whether is right.but it seems get a wrong design.fasm.Does it mean that I can't use the seg_db in symbiflow? Or I could use it in symbiflow but need to correct the seg_db later? Here are the content of the design.fasm:

In frame 0x0000001c 2 bits were not converted.
In frame 0x0000001d 1 bits were not converted.
In frame 0x0000001e 1 bits were not converted.
 In frame 0x0000001f 3 bits were not converted.
 In frame 0x00000020 3 bits were not converted.
 In frame 0x00000021 3 bits were not converted.
 In frame 0x00000026 9 bits were not converted.
 In frame 0x00000027 28 bits were not converted.
 In frame 0x0000269d 3 bits were not converted.
 In frame 0x0000269e 1 bits were not converted.
 In frame 0x0000269f 3 bits were not converted.
 In frame 0x000026a0 3 bits were not converted.
 In frame 0x000026a1 3 bits were not converted.
 In frame 0x000026a6 27 bits were not converted.
 In frame 0x000026a7 36 bits were not converted.
In frame 0x0002001c 1 bits were not converted.
In frame 0x0002001d 2 bits were not converted.
 In frame 0x0002001e 2 bits were not converted.
 In frame 0x0002001f 2 bits were not converted.
 In frame 0x00020020 3 bits were not converted.
 In frame 0x00020021 3 bits were not converted.
 In frame 0x00020026 9 bits were not converted.
In frame 0x00020027 16 bits were not converted.
In frame 0x0002269d 3 bits were not converted.
In frame 0x0002269e 3 bits were not converted.
In frame 0x0002269f 1 bits were not converted.
 In frame 0x000226a0 3 bits were not converted.
In frame 0x000226a1 3 bits were not converted.
In frame 0x000226a6 18 bits were not converted.
In frame 0x000226a7 15 bits were not converted.
In frame 0x0004001c 1 bits were not converted.
 In frame 0x0004001d 2 bits were not converted.
 In frame 0x0004001e 2 bits were not converted.
 In frame 0x0004001f 2 bits were not converted.
 In frame 0x00040020 3 bits were not converted.
 In frame 0x00040021 3 bits were not converted.
 In frame 0x00040026 15 bits were not converted.
 In frame 0x00040027 27 bits were not converted.
 In frame 0x0004269c 1 bits were not converted.
 In frame 0x0004269d 2 bits were not converted.
 In frame 0x0004269e 2 bits were not converted.
In frame 0x0004269f 2 bits were not converted.
In frame 0x000426a0 3 bits were not converted.
 In frame 0x000426a1 3 bits were not converted.
 In frame 0x000426a6 22 bits were not converted.
 In frame 0x000426a7 29 bits were not converted.
 In frame 0x0006001c 3 bits were not converted.
 In frame 0x0006001e 3 bits were not converted.
 In frame 0x0006001f 1 bits were not converted.
 In frame 0x00060020 3 bits were not converted.
 In frame 0x00060021 3 bits were not converted.
 In frame 0x00060026 16 bits were not converted.
 In frame 0x00060027 12 bits were not converted.
 In frame 0x0006269c 1 bits were not converted.
 In frame 0x0006269d 2 bits were not converted.
In frame 0x0006269e 2 bits were not converted.
In frame 0x0006269f 2 bits were not converted.
In frame 0x000626a0 3 bits were not converted.
In frame 0x000626a1 3 bits were not converted.
In frame 0x000626a6 24 bits were not converted.
 In frame 0x000626a7 24 bits were not converted.
 In frame 0x0008001d 3 bits were not converted.
 In frame 0x0008001e 1 bits were not converted.
In frame 0x0008001f 3 bits were not converted.
 In frame 0x00080020 3 bits were not converted.
 In frame 0x00080021 3 bits were not converted.
 In frame 0x00080026 6 bits were not converted.
In frame 0x00080027 28 bits were not converted.
In frame 0x0008269c 2 bits were not converted.
 In frame 0x0008269d 1 bits were not converted.
 In frame 0x0008269e 1 bits were not converted.
 In frame 0x0008269f 3 bits were not converted.
 In frame 0x000826a0 3 bits were not converted.
 In frame 0x000826a1 3 bits were not converted.
 In frame 0x000826a6 36 bits were not converted.
 In frame 0x000826a7 42 bits were not converted.
 In frame 0x0040001c 1 bits were not converted.
 In frame 0x0040001d 2 bits were not converted.
 In frame 0x0040001e 2 bits were not converted.
 In frame 0x0040001f 2 bits were not converted.
 In frame 0x00400020 3 bits were not converted.
 In frame 0x00400021 3 bits were not converted.
/# In frame 0x00400026 10 bits were not converted.
 In frame 0x00400027 18 bits were not converted.
 In frame 0x0040269c 1 bits were not converted.
In frame 0x0040269d 2 bits were not converted.
 In frame 0x0040269e 3 bits were not converted.
 In frame 0x0040269f 1 bits were not converted.
 In frame 0x004026a0 3 bits were not converted.
 In frame 0x004026a1 3 bits were not converted.
 In frame 0x004026a6 18 bits were not converted.
 In frame 0x004026a7 21 bits were not converted.
INT_L_X0Y109.NN6BEG0.LOGIC_OUTS_L18
INT_L_X0Y112.IMUX_L34.SS2END1
INT_L_X0Y114.SS2BEG1.SS2END1
INT_L_X0Y115.NL1BEG_N3.NN6END0
INT_L_X0Y115.NR1BEG3.NL1BEG_N3
INT_L_X0Y116.IMUX_L15.NR1END3
INT_L_X0Y116.IMUX_L34.SS2END1
INT_L_X0Y116.NW6BEG0.LOGIC_OUTS_L18
INT_L_X0Y116.SS2BEG1.SS2END1
INT_L_X0Y118.SS2BEG1.SR1END1
INT_L_X0Y119.SR1BEG1.SS2END0
INT_L_X0Y120.IMUX_L34.WR1END1
INT_L_X0Y121.SS2BEG0.SS6END0
INT_L_X0Y127.SS6BEG0.SS6END0
INT_L_X0Y133.SS6BEG0.SS6END0
INT_L_X0Y139.SS6BEG0.LOGIC_OUTS_L18
INT_L_X0Y152.IMUX_L34.WW2END0
INT_L_X0Y162.NN2BEG0.LOGIC_OUTS_L18
INT_L_X0Y162.SE6BEG0.LOGIC_OUTS_L18
INT_L_X0Y164.NN6BEG0.NN2END0
INT_L_X0Y168.NN6BEG0.LOGIC_OUTS_L18
INT_L_X0Y170.NN6BEG0.NN6END0
INT_L_X0Y174.NN6BEG0.NN6END0
INT_L_X0Y176.NN6BEG0.NN6END0
INT_L_X0Y180.NN6BEG0.NN6END0
INT_L_X0Y182.NN6BEG0.NN6END0
INT_L_X0Y186.NR1BEG0.NN6END0
INT_L_X0Y187.NL1BEG_N3.NR1END0
INT_L_X0Y187.NN2BEG3.NL1BEG_N3
INT_L_X0Y188.NE2BEG0.NN6END0
INT_L_X0Y189.IMUX_L15.NN2END3
INT_L_X0Y189.IMUX_L34.WR1END1
INT_L_X0Y189.NN2BEG0.LOGIC_OUTS_L18
INT_L_X0Y191.BYP_ALT0.NN2END0
INT_L_X0Y191.IMUX_L34.BYP_BOUNCE0
INT_L_X0Y210.IMUX_L34.SL1END1
INT_L_X0Y211.SL1BEG1.SR1END1
INT_L_X0Y212.SR1BEG1.SS2END0
INT_L_X0Y214.IMUX_L15.SL1END3
INT_L_X0Y214.IMUX_L34.SS2END1
INT_L_X0Y214.SS2BEG0.LOGIC_OUTS_L18
INT_L_X0Y215.SL1BEG3.EL1END3
INT_L_X0Y216.SS2BEG1.SR1END1
INT_L_X0Y216.WL1BEG_N3.SS2END0
INT_L_X0Y217.NN6BEG0.LOGIC_OUTS_L18
INT_L_X0Y217.SR1BEG1.LOGIC_OUTS_L18
INT_L_X0Y218.SS2BEG0.LOGIC_OUTS_L18
INT_L_X0Y223.NN2BEG0.NN6END0
INT_L_X0Y225.BYP_ALT0.NN2END0
INT_L_X0Y225.IMUX_L34.BYP_BOUNCE0
INT_L_X0Y267.IMUX_L34.WR1END1
INT_L_X0Y267.WW2BEG0.SS6END0
INT_L_X0Y269.NN2BEG0.LOGIC_OUTS_L18
INT_L_X0Y271.IMUX_L34.WW2END0
INT_L_X0Y271.NN6BEG0.NN2END0
INT_L_X0Y273.SS6BEG0.SS6END0
INT_L_X0Y277.NN6BEG0.NN6END0
INT_L_X0Y279.SS6BEG0.SS6END0
INT_L_X0Y281.SE6BEG0.SS6END0
INT_L_X0Y283.NN6BEG0.NN6END0
INT_L_X0Y285.SS6BEG0.SS6END0
INT_L_X0Y287.SS6BEG0.SS6END0
INT_L_X0Y289.NN6BEG0.NN6END0
INT_L_X0Y291.SS6BEG0.SS6END0
INT_L_X0Y293.NW6BEG0.LOGIC_OUTS_L18
INT_L_X0Y293.SS6BEG0.LOGIC_OUTS_L18
INT_L_X0Y295.NL1BEG_N3.NN6END0
INT_L_X0Y295.NN2BEG3.NL1BEG_N3
INT_L_X0Y297.IMUX_L15.NN2END3
INT_L_X0Y297.IMUX_L34.WR1END1
INT_L_X0Y297.SS6BEG0.LOGIC_OUTS_L18
INT_L_X0Y306.IMUX_L15.SL1END3
INT_L_X0Y306.IMUX_L34.SS2END1
INT_L_X0Y306.NW6BEG0.LOGIC_OUTS_L18
INT_L_X0Y307.SL1BEG3.EL1END3
INT_L_X0Y308.SS2BEG1.SS6END1
INT_L_X0Y308.WL1BEG_N3.SS6END0
INT_L_X0Y310.IMUX_L34.WR1END1
INT_L_X0Y314.SS6BEG0.SS6END0
INT_L_X0Y314.SS6BEG1.SS2END1
INT_L_X0Y316.IMUX_L34.SL1END1
INT_L_X0Y316.SS2BEG1.SL1END1
INT_L_X0Y317.SL1BEG1.SR1END1
INT_L_X0Y318.SR1BEG1.LOGIC_OUTS_L18
INT_L_X0Y320.SS6BEG0.SS6END0
INT_L_X0Y326.SS6BEG0.SS2END0
INT_L_X0Y328.SS2BEG0.LOGIC_OUTS_L18
INT_L_X0Y55.IMUX_L34.SS2END1
INT_L_X0Y57.SS2BEG1.SR1END1
INT_L_X0Y58.SR1BEG1.SS6END0
INT_L_X0Y63.NR1BEG3.EL1END3
INT_L_X0Y64.IMUX_L15.NR1END3
INT_L_X0Y64.IMUX_L34.SS2END1
INT_L_X0Y64.SS6BEG0.LOGIC_OUTS_L18
INT_L_X0Y64.WL1BEG_N3.SS6END0
INT_L_X0Y66.SS2BEG1.SR1END1
INT_L_X0Y67.SR1BEG1.SS6END0
INT_L_X0Y70.SS6BEG0.SS6END0
INT_L_X0Y73.SS6BEG0.SS6END0
INT_L_X0Y76.SS6BEG0.SS6END0
INT_L_X0Y79.SS6BEG0.SS6END0
INT_L_X0Y82.SS6BEG0.LOGIC_OUTS_L18
INT_L_X0Y85.NN6BEG0.LOGIC_OUTS_L18
INT_L_X0Y85.SS6BEG0.LOGIC_OUTS_L18
INT_L_X0Y91.NN6BEG0.NN6END0
INT_L_X0Y96.IMUX_L34.SR1BEG_S0
INT_L_X0Y96.SR1BEG_S0.NN6END_S1_0
INT_L_X2Y152.WW2BEG0.SS6END0
INT_L_X2Y158.SS6BEG0.SE6END0
INT_L_X2Y271.WW2BEG0.SS6END0
INT_L_X2Y277.SS6BEG0.SE6END0
INT_L_X76Y155.ER1BEG1.SW2END0
INT_L_X76Y181.EL1BEG_N3.NW2END0
INT_L_X76Y207.SE6BEG0.SW2END0
INT_L_X76Y266.ER1BEG1.SW2END0
INT_L_X76Y271.SE6BEG0.SW2END0
INT_L_X76Y336.ER1BEG1.SW2END0
INT_L_X78Y115.WL1BEG_N3.SE2END0
INT_L_X78Y203.WL1BEG_N3.SE6END0
INT_L_X78Y267.WL1BEG_N3.SE6END0
INT_L_X78Y267.WR1BEG1.NE2END0
INT_L_X78Y286.WR1BEG1.NE2END0
INT_L_X78Y93.WR1BEG1.NE2END0
INT_R_X1Y120.WR1BEG1.NE6END0
INT_R_X1Y189.WR1BEG1.NE2END0
INT_R_X1Y267.WR1BEG1.EE2END0
INT_R_X1Y297.WR1BEG1.NE6END0
INT_R_X1Y310.WR1BEG1.NE6END0
INT_R_X77Y104.IMUX34.WW2END0
INT_R_X77Y106.NN6BEG0.LOGIC_OUTS18
INT_R_X77Y112.NN2BEG0.NN6END0
INT_R_X77Y114.BYP_ALT0.NN2END0
INT_R_X77Y114.IMUX15.WL1END3
INT_R_X77Y114.IMUX34.BYP_BOUNCE0
INT_R_X77Y114.NN6BEG0.NN2END0
INT_R_X77Y114.SE6BEG0.LOGIC_OUTS18
INT_R_X77Y116.SE2BEG0.SS6END0
INT_R_X77Y120.FAN_ALT1.NL1BEG_N3
INT_R_X77Y120.IMUX34.FAN_BOUNCE1
INT_R_X77Y120.NL1BEG_N3.NN6END0
INT_R_X77Y122.SS6BEG0.SS6END0
INT_R_X77Y128.SS6BEG0.SS6END0
INT_R_X77Y134.SS6BEG0.SS6END0
INT_R_X77Y140.SS6BEG0.SS6END0
INT_R_X77Y146.SS6BEG0.LOGIC_OUTS18
INT_R_X77Y155.IMUX34.ER1END1
INT_R_X77Y156.SW2BEG0.SS6END0
INT_R_X77Y162.NN6BEG0.LOGIC_OUTS18
INT_R_X77Y162.SS6BEG0.SS6END0
INT_R_X77Y167.IMUX34.WW2END0
INT_R_X77Y168.NN6BEG0.NN6END0
INT_R_X77Y168.SS6BEG0.SS6END0
INT_R_X77Y174.NN6BEG0.NN6END0
INT_R_X77Y174.SS6BEG0.SS6END0
INT_R_X77Y180.IMUX15.EL1END3
INT_R_X77Y180.IMUX34.WW2END0
INT_R_X77Y180.NW2BEG0.NN6END0
INT_R_X77Y180.SS6BEG0.LOGIC_OUTS18
INT_R_X77Y190.SE6BEG0.SS6END0
INT_R_X77Y196.SS6BEG0.LOGIC_OUTS18
INT_R_X77Y202.IMUX15.WL1END3
INT_R_X77Y202.IMUX34.SS2END1
INT_R_X77Y202.NN6BEG0.LOGIC_OUTS18
INT_R_X77Y204.SS2BEG1.SR1END1
INT_R_X77Y205.NN2BEG0.LOGIC_OUTS18
INT_R_X77Y205.SR1BEG1.LOGIC_OUTS18
INT_R_X77Y207.BYP_ALT0.NN2END0
INT_R_X77Y207.IMUX34.BYP_BOUNCE0
INT_R_X77Y208.LV0.NN6END0
INT_R_X77Y208.SW2BEG0.SS6END0
INT_R_X77Y214.SS6BEG0.SS6END0
INT_R_X77Y220.SS6BEG0.SS6END0
INT_R_X77Y226.NN6BEG3.LV18
INT_R_X77Y226.SS6BEG0.SS6END0
INT_R_X77Y232.NN6BEG3.NN6END3
INT_R_X77Y232.SS6BEG0.SS6END0
INT_R_X77Y238.NN6BEG3.NN6END3
INT_R_X77Y238.SS6BEG0.LOGIC_OUTS18
INT_R_X77Y244.BYP_ALT0.SR1END_N3_3
INT_R_X77Y244.IMUX34.BYP_BOUNCE0
INT_R_X77Y244.SR1BEG3.NN6END3
INT_R_X77Y266.IMUX15.WL1END3
INT_R_X77Y266.IMUX34.ER1END1
INT_R_X77Y266.NE2BEG0.LOGIC_OUTS18
INT_R_X77Y267.IMUX34.WR1END1
INT_R_X77Y267.SW2BEG0.SS6END0
INT_R_X77Y272.SW2BEG0.SS6END0
INT_R_X77Y273.NN6BEG0.LOGIC_OUTS18
INT_R_X77Y273.SS6BEG0.LOGIC_OUTS18
INT_R_X77Y278.SS6BEG0.SS6END0
INT_R_X77Y279.NN6BEG0.NN6END0
INT_R_X77Y284.SS6BEG0.SS6END0
INT_R_X77Y285.NE2BEG0.NN6END0
INT_R_X77Y286.IMUX34.WR1END1
INT_R_X77Y290.SS6BEG0.SS6END0
INT_R_X77Y296.SS6BEG0.LOGIC_OUTS18
INT_R_X77Y314.NN6BEG0.LOGIC_OUTS18
INT_R_X77Y320.NN6BEG0.NN6END0
INT_R_X77Y324.IMUX34.SS2END1
INT_R_X77Y326.NN6BEG0.NN6END0
INT_R_X77Y326.SS2BEG1.SR1END1
INT_R_X77Y327.SR1BEG1.SS6END0
INT_R_X77Y332.NL1BEG_N3.NN6END0
INT_R_X77Y332.NR1BEG3.NL1BEG_N3
INT_R_X77Y333.IMUX15.NR1END3
INT_R_X77Y333.IMUX34.SS2END1
INT_R_X77Y333.SS6BEG0.LOGIC_OUTS18
INT_R_X77Y335.SS2BEG1.SL1END1
INT_R_X77Y336.IMUX34.ER1END1
INT_R_X77Y336.SL1BEG1.ER1END1
INT_R_X77Y337.SW2BEG0.SS6END0
INT_R_X77Y343.SS6BEG0.LOGIC_OUTS18
INT_R_X77Y74.NN6BEG0.LOGIC_OUTS18
INT_R_X77Y79.IMUX15.SR1END3
INT_R_X77Y79.IMUX34.SR1BEG_S0
INT_R_X77Y79.NN6BEG0.LOGIC_OUTS18
INT_R_X77Y79.SR1BEG_S0.NN6END_S1_0
INT_R_X77Y80.NN6BEG0.NN6END0
INT_R_X77Y80.SR1BEG3.SR1END2
INT_R_X77Y81.SR1BEG2.SR1END1
INT_R_X77Y82.SR1BEG1.SS6END0
INT_R_X77Y85.NN6BEG0.NN6END0
INT_R_X77Y86.NN6BEG0.NN6END0
INT_R_X77Y88.SS6BEG0.LOGIC_OUTS18
INT_R_X77Y91.NN6BEG0.NN6END0
INT_R_X77Y92.NE2BEG0.NN6END0
INT_R_X77Y93.IMUX34.WR1END1
INT_R_X77Y97.FAN_ALT1.NL1BEG_N3
INT_R_X77Y97.IMUX34.FAN_BOUNCE1
INT_R_X77Y97.NL1BEG_N3.NN6END0
INT_R_X79Y104.WW2BEG0.SS6END0
INT_R_X79Y110.SS6BEG0.SE6END0
INT_R_X79Y167.WW2BEG0.SL1END0
INT_R_X79Y168.SL1BEG0.SS6END0
INT_R_X79Y174.SS6BEG0.SS6END0
INT_R_X79Y180.SS6BEG0.SS6END0
INT_R_X79Y180.WW2BEG0.SS6END0
INT_R_X79Y186.SS6BEG0.SE6END0
LIOB18_X0Y109.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y109.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y109.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y109.IOB_Y1.SSTL135_SSTL15.IN_DIFF
LIOB18_X0Y111.IOB_Y0.LVCMOS12.DRIVE.I2
LIOB18_X0Y111.IOB_Y0.LVCMOS12.SLEW.FAST
LIOB18_X0Y111.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y115.IOB_Y0.LVCMOS12.DRIVE.I2
LIOB18_X0Y115.IOB_Y0.LVCMOS12.SLEW.FAST
LIOB18_X0Y115.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y119.IOB_Y0.LVCMOS12.DRIVE.I2
LIOB18_X0Y119.IOB_Y0.LVCMOS12.SLEW.FAST
LIOB18_X0Y119.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y139.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y139.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y139.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y139.IOB_Y1.SSTL135_SSTL15.IN_DIFF
LIOB18_X0Y151.IOB_Y0.LVCMOS12.DRIVE.I4
LIOB18_X0Y151.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y151.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y161.IOB_Y0.LVCMOS12_LVCMOS15.IN_ONLY
LIOB18_X0Y161.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y161.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y167.IOB_Y0.LVCMOS12_LVCMOS15.IN_ONLY
LIOB18_X0Y167.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y167.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y189.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y189.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18.DRIVE.I2_I4_I6
LIOB18_X0Y189.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y189.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y189.IOB_Y1.SSTL135_SSTL15.IN_DIFF
LIOB18_X0Y191.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y191.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18.DRIVE.I2_I4_I6
LIOB18_X0Y191.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y191.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y209.IOB_Y0.LVCMOS12.DRIVE.I4
LIOB18_X0Y209.IOB_Y0.SSTL15.SLEW.SLOW
LIOB18_X0Y209.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y213.IOB_Y0.LVCMOS12.DRIVE.I4
LIOB18_X0Y213.IOB_Y0.SSTL15.SLEW.SLOW
LIOB18_X0Y213.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y217.IOB_Y0.LVCMOS12_LVCMOS15.IN_ONLY
LIOB18_X0Y217.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y217.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y217.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y217.IOB_Y1.SSTL135_SSTL15.IN_DIFF
LIOB18_X0Y225.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y225.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y225.IOB_Y1.SSTL135_SSTL15.SLEW.FAST
LIOB18_X0Y267.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y267.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y267.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y269.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y269.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y269.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y269.IOB_Y1.SSTL135_SSTL15.IN_DIFF
LIOB18_X0Y271.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y271.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y271.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y293.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y293.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y293.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y293.IOB_Y1.SSTL135_SSTL15.IN_DIFF
LIOB18_X0Y297.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y297.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y297.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y297.IOB_Y1.SSTL135_SSTL15.IN_DIFF
LIOB18_X0Y305.IOB_Y0.LVCMOS12.DRIVE.I6
LIOB18_X0Y305.IOB_Y0.SSTL15.SLEW.SLOW
LIOB18_X0Y305.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y309.IOB_Y0.LVCMOS12.DRIVE.I6
LIOB18_X0Y309.IOB_Y0.SSTL15.SLEW.SLOW
LIOB18_X0Y309.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y315.IOB_Y0.LVCMOS12.DRIVE.I6
LIOB18_X0Y315.IOB_Y0.SSTL15.SLEW.SLOW
LIOB18_X0Y315.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y317.IOB_Y0.LVCMOS12_LVCMOS15.IN_ONLY
LIOB18_X0Y317.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y317.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y327.IOB_Y0.LVCMOS12_LVCMOS15.IN_ONLY
LIOB18_X0Y327.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y327.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y55.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y55.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18.DRIVE.I2_I4_I6
LIOB18_X0Y55.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y55.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y63.IOB_Y0.LVCMOS12.DRIVE.I2
LIOB18_X0Y63.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y63.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y81.IOB_Y0.LVCMOS12_LVCMOS15.IN_ONLY
LIOB18_X0Y81.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y81.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y85.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y85.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y85.IOB_Y1.PULLTYPE.NONE
LIOB18_X0Y85.IOB_Y1.SSTL135_SSTL15.IN_DIFF
LIOB18_X0Y93.IOB_Y0.LVCMOS12_LVCMOS15.IN_ONLY
LIOB18_X0Y93.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y93.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
LIOB18_X0Y95.IOB_Y0.LVCMOS12.DRIVE.I2
LIOB18_X0Y95.IOB_Y0.LVCMOS12_LVCMOS15_LVCMOS18.SLEW.SLOW
LIOB18_X0Y95.IOB_Y1.LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15.SLEW.FAST_SLOW
{ unknown_bit = "0000001c_18_18", unknown_segment = "0x00000000", unknown_segbit = "28_594" }
{ unknown_bit = "0000001c_79_18", unknown_segment = "0x00000000", unknown_segbit = "28_2546" }
{ unknown_bit = "0000001d_33_13", unknown_segment = "0x00000000", unknown_segbit = "29_1069" }
{ unknown_bit = "0000001e_32_3", unknown_segment = "0x00000000", unknown_segbit = "30_1027" }
{ unknown_bit = "0000001f_24_22", unknown_segment = "0x00000000", unknown_segbit = "31_790" }
{ unknown_bit = "0000001f_32_22", unknown_segment = "0x00000000", unknown_segbit = "31_1046" }
{ unknown_bit = "0000001f_40_22", unknown_segment = "0x00000000", unknown_segbit = "31_1302" }
{ unknown_bit = "00000020_24_2", unknown_segment = "0x00000000", unknown_segbit = "32_770" }
{ unknown_bit = "00000020_32_2", unknown_segment = "0x00000000", unknown_segbit = "32_1026" }
{ unknown_bit = "00000020_40_2", unknown_segment = "0x00000000", unknown_segbit = "32_1282" }
{ unknown_bit = "00000021_25_15", unknown_segment = "0x00000000", unknown_segbit = "33_815" }
{ unknown_bit = "00000021_33_15", unknown_segment = "0x00000000", unknown_segbit = "33_1071" }
{ unknown_bit = "00000021_41_15", unknown_segment = "0x00000000", unknown_segbit = "33_1327" }
{ unknown_bit = "00000026_19_16", unknown_segment = "0x00000000", unknown_segbit = "38_624" }
{ unknown_bit = "00000026_25_0", unknown_segment = "0x00000000", unknown_segbit = "38_800" }
{ unknown_bit = "00000026_25_18", unknown_segment = "0x00000000", unknown_segbit = "38_818" }
{ unknown_bit = "00000026_33_0", unknown_segment = "0x00000000", unknown_segbit = "38_1056" }
{ unknown_bit = "00000026_33_18", unknown_segment = "0x00000000", unknown_segbit = "38_1074" }
{ unknown_bit = "00000026_33_30", unknown_segment = "0x00000000", unknown_segbit = "38_1086" }
{ unknown_bit = "00000026_41_0", unknown_segment = "0x00000000", unknown_segbit = "38_1312" }
{ unknown_bit = "00000026_41_18", unknown_segment = "0x00000000", unknown_segbit = "38_1330" }
{ unknown_bit = "00000026_80_16", unknown_segment = "0x00000000", unknown_segbit = "38_2576" }
{ unknown_bit = "00000027_19_15", unknown_segment = "0x00000000", unknown_segbit = "39_623" }
{ unknown_bit = "00000027_19_17", unknown_segment = "0x00000000", unknown_segbit = "39_625" }
{ unknown_bit = "00000027_19_1", unknown_segment = "0x00000000", unknown_segbit = "39_609" }
{ unknown_bit = "00000027_25_15", unknown_segment = "0x00000000", unknown_segbit = "39_815" }
{ unknown_bit = "00000027_25_17", unknown_segment = "0x00000000", unknown_segbit = "39_817" }
{ unknown_bit = "00000027_25_19", unknown_segment = "0x00000000", unknown_segbit = "39_819" }
{ unknown_bit = "00000027_25_1", unknown_segment = "0x00000000", unknown_segbit = "39_801" }
{ unknown_bit = "00000027_25_5", unknown_segment = "0x00000000", unknown_segbit = "39_805" }
{ unknown_bit = "00000027_25_7", unknown_segment = "0x00000000", unknown_segbit = "39_807" }
{ unknown_bit = "00000027_25_9", unknown_segment = "0x00000000", unknown_segbit = "39_809" }
{ unknown_bit = "00000027_33_15", unknown_segment = "0x00000000", unknown_segbit = "39_1071" }
{ unknown_bit = "00000027_33_17", unknown_segment = "0x00000000", unknown_segbit = "39_1073" }
{ unknown_bit = "00000027_33_19", unknown_segment = "0x00000000", unknown_segbit = "39_1075" }
{ unknown_bit = "00000027_33_1", unknown_segment = "0x00000000", unknown_segbit = "39_1057" }
{ unknown_bit = "00000027_33_31", unknown_segment = "0x00000000", unknown_segbit = "39_1087" }
{ unknown_bit = "00000027_33_5", unknown_segment = "0x00000000", unknown_segbit = "39_1061" }
{ unknown_bit = "00000027_33_7", unknown_segment = "0x00000000", unknown_segbit = "39_1063" }
{ unknown_bit = "00000027_33_9", unknown_segment = "0x00000000", unknown_segbit = "39_1065" }
{ unknown_bit = "00000027_41_15", unknown_segment = "0x00000000", unknown_segbit = "39_1327" }
{ unknown_bit = "00000027_41_17", unknown_segment = "0x00000000", unknown_segbit = "39_1329" }
{ unknown_bit = "00000027_41_19", unknown_segment = "0x00000000", unknown_segbit = "39_1331" }
{ unknown_bit = "00000027_41_1", unknown_segment = "0x00000000", unknown_segbit = "39_1313" }
{ unknown_bit = "00000027_41_5", unknown_segment = "0x00000000", unknown_segbit = "39_1317" }
{ unknown_bit = "00000027_41_7", unknown_segment = "0x00000000", unknown_segbit = "39_1319" }
{ unknown_bit = "00000027_41_9", unknown_segment = "0x00000000", unknown_segbit = "39_1321" }
{ unknown_bit = "00000027_80_15", unknown_segment = "0x00000000", unknown_segbit = "39_2575" }
{ unknown_bit = "00000027_80_17", unknown_segment = "0x00000000", unknown_segbit = "39_2577" }
{ unknown_bit = "00000027_80_1", unknown_segment = "0x00000000", unknown_segbit = "39_2561" }
{ unknown_bit = "0000269d_13_13", unknown_segment = "0x00002680", unknown_segbit = "29_429" }
{ unknown_bit = "0000269d_29_13", unknown_segment = "0x00002680", unknown_segbit = "29_941" }
{ unknown_bit = "0000269d_94_13", unknown_segment = "0x00002680", unknown_segbit = "29_3021" }
{ unknown_bit = "0000269e_28_3", unknown_segment = "0x00002680", unknown_segbit = "30_899" }
{ unknown_bit = "0000269f_28_22", unknown_segment = "0x00002680", unknown_segbit = "31_918" }
{ unknown_bit = "0000269f_40_22", unknown_segment = "0x00002680", unknown_segbit = "31_1302" }
{ unknown_bit = "0000269f_8_22", unknown_segment = "0x00002680", unknown_segbit = "31_278" }
{ unknown_bit = "000026a0_28_2", unknown_segment = "0x00002680", unknown_segbit = "32_898" }
{ unknown_bit = "000026a0_40_2", unknown_segment = "0x00002680", unknown_segbit = "32_1282" }
{ unknown_bit = "000026a0_8_2", unknown_segment = "0x00002680", unknown_segbit = "32_258" }
{ unknown_bit = "000026a1_29_15", unknown_segment = "0x00002680", unknown_segbit = "33_943" }
{ unknown_bit = "000026a1_41_15", unknown_segment = "0x00002680", unknown_segbit = "33_1327" }
{ unknown_bit = "000026a1_9_15", unknown_segment = "0x00002680", unknown_segbit = "33_303" }
{ unknown_bit = "000026a6_12_14", unknown_segment = "0x00002680", unknown_segbit = "38_398" }
{ unknown_bit = "000026a6_12_16", unknown_segment = "0x00002680", unknown_segbit = "38_400" }
{ unknown_bit = "000026a6_12_30", unknown_segment = "0x00002680", unknown_segbit = "38_414" }
{ unknown_bit = "000026a6_13_30", unknown_segment = "0x00002680", unknown_segbit = "38_446" }
{ unknown_bit = "000026a6_28_16", unknown_segment = "0x00002680", unknown_segbit = "38_912" }
{ unknown_bit = "000026a6_28_18", unknown_segment = "0x00002680", unknown_segbit = "38_914" }
{ unknown_bit = "000026a6_28_30", unknown_segment = "0x00002680", unknown_segbit = "38_926" }
{ unknown_bit = "000026a6_28_8", unknown_segment = "0x00002680", unknown_segbit = "38_904" }
{ unknown_bit = "000026a6_29_18", unknown_segment = "0x00002680", unknown_segbit = "38_946" }
{ unknown_bit = "000026a6_29_30", unknown_segment = "0x00002680", unknown_segbit = "38_958" }
{ unknown_bit = "000026a6_29_8", unknown_segment = "0x00002680", unknown_segbit = "38_936" }
{ unknown_bit = "000026a6_40_16", unknown_segment = "0x00002680", unknown_segbit = "38_1296" }
{ unknown_bit = "000026a6_40_18", unknown_segment = "0x00002680", unknown_segbit = "38_1298" }
{ unknown_bit = "000026a6_40_30", unknown_segment = "0x00002680", unknown_segbit = "38_1310" }
{ unknown_bit = "000026a6_40_8", unknown_segment = "0x00002680", unknown_segbit = "38_1288" }
{ unknown_bit = "000026a6_41_18", unknown_segment = "0x00002680", unknown_segbit = "38_1330" }
{ unknown_bit = "000026a6_41_8", unknown_segment = "0x00002680", unknown_segbit = "38_1320" }
{ unknown_bit = "000026a6_8_16", unknown_segment = "0x00002680", unknown_segbit = "38_272" }
{ unknown_bit = "000026a6_8_18", unknown_segment = "0x00002680", unknown_segbit = "38_274" }
{ unknown_bit = "000026a6_8_30", unknown_segment = "0x00002680", unknown_segbit = "38_286" }
{ unknown_bit = "000026a6_8_8", unknown_segment = "0x00002680", unknown_segbit = "38_264" }
{ unknown_bit = "000026a6_9_18", unknown_segment = "0x00002680", unknown_segbit = "38_306" }
{ unknown_bit = "000026a6_93_14", unknown_segment = "0x00002680", unknown_segbit = "38_2990" }
{ unknown_bit = "000026a6_93_16", unknown_segment = "0x00002680", unknown_segbit = "38_2992" }
{ unknown_bit = "000026a6_93_30", unknown_segment = "0x00002680", unknown_segbit = "38_3006" }
{ unknown_bit = "000026a6_94_30", unknown_segment = "0x00002680", unknown_segbit = "38_3038" }
{ unknown_bit = "000026a6_9_8", unknown_segment = "0x00002680", unknown_segbit = "38_296" }
{ unknown_bit = "000026a7_12_15", unknown_segment = "0x00002680", unknown_segbit = "39_399" }
{ unknown_bit = "000026a7_13_19", unknown_segment = "0x00002680", unknown_segbit = "39_435" }
{ unknown_bit = "000026a7_13_31", unknown_segment = "0x00002680", unknown_segbit = "39_447" }
{ unknown_bit = "000026a7_13_7", unknown_segment = "0x00002680", unknown_segbit = "39_423" }
{ unknown_bit = "000026a7_28_13", unknown_segment = "0x00002680", unknown_segbit = "39_909" }
{ unknown_bit = "000026a7_28_17", unknown_segment = "0x00002680", unknown_segbit = "39_913" }
{ unknown_bit = "000026a7_28_25", unknown_segment = "0x00002680", unknown_segbit = "39_921" }
{ unknown_bit = "000026a7_28_29", unknown_segment = "0x00002680", unknown_segbit = "39_925" }
{ unknown_bit = "000026a7_28_31", unknown_segment = "0x00002680", unknown_segbit = "39_927" }
{ unknown_bit = "000026a7_29_15", unknown_segment = "0x00002680", unknown_segbit = "39_943" }
{ unknown_bit = "000026a7_29_17", unknown_segment = "0x00002680", unknown_segbit = "39_945" }
{ unknown_bit = "000026a7_29_19", unknown_segment = "0x00002680", unknown_segbit = "39_947" }
{ unknown_bit = "000026a7_29_31", unknown_segment = "0x00002680", unknown_segbit = "39_959" }
{ unknown_bit = "000026a7_29_9", unknown_segment = "0x00002680", unknown_segbit = "39_937" }
{ unknown_bit = "000026a7_40_13", unknown_segment = "0x00002680", unknown_segbit = "39_1293" }
{ unknown_bit = "000026a7_40_17", unknown_segment = "0x00002680", unknown_segbit = "39_1297" }
{ unknown_bit = "000026a7_40_25", unknown_segment = "0x00002680", unknown_segbit = "39_1305" }
{ unknown_bit = "000026a7_40_29", unknown_segment = "0x00002680", unknown_segbit = "39_1309" }
{ unknown_bit = "000026a7_40_31", unknown_segment = "0x00002680", unknown_segbit = "39_1311" }
{ unknown_bit = "000026a7_41_15", unknown_segment = "0x00002680", unknown_segbit = "39_1327" }
{ unknown_bit = "000026a7_41_17", unknown_segment = "0x00002680", unknown_segbit = "39_1329" }
{ unknown_bit = "000026a7_41_19", unknown_segment = "0x00002680", unknown_segbit = "39_1331" }
{ unknown_bit = "000026a7_41_9", unknown_segment = "0x00002680", unknown_segbit = "39_1321" }
{ unknown_bit = "000026a7_8_13", unknown_segment = "0x00002680", unknown_segbit = "39_269" }
{ unknown_bit = "000026a7_8_17", unknown_segment = "0x00002680", unknown_segbit = "39_273" }
{ unknown_bit = "000026a7_8_25", unknown_segment = "0x00002680", unknown_segbit = "39_281" }
{ unknown_bit = "000026a7_8_29", unknown_segment = "0x00002680", unknown_segbit = "39_285" }
{ unknown_bit = "000026a7_8_31", unknown_segment = "0x00002680", unknown_segbit = "39_287" }
{ unknown_bit = "000026a7_9_15", unknown_segment = "0x00002680", unknown_segbit = "39_303" }
{ unknown_bit = "000026a7_9_17", unknown_segment = "0x00002680", unknown_segbit = "39_305" }
{ unknown_bit = "000026a7_9_19", unknown_segment = "0x00002680", unknown_segbit = "39_307" }
{ unknown_bit = "000026a7_93_15", unknown_segment = "0x00002680", unknown_segbit = "39_2991" }
{ unknown_bit = "000026a7_94_19", unknown_segment = "0x00002680", unknown_segbit = "39_3027" }
{ unknown_bit = "000026a7_94_31", unknown_segment = "0x00002680", unknown_segbit = "39_3039" }
{ unknown_bit = "000026a7_94_7", unknown_segment = "0x00002680", unknown_segbit = "39_3015" }
{ unknown_bit = "000026a7_9_9", unknown_segment = "0x00002680", unknown_segbit = "39_297" }
{ unknown_bit = "0002001c_79_18", unknown_segment = "0x00020000", unknown_segbit = "28_2546" }
{ unknown_bit = "0002001d_25_13", unknown_segment = "0x00020000", unknown_segbit = "29_813" }
{ unknown_bit = "0002001d_37_13", unknown_segment = "0x00020000", unknown_segbit = "29_1197" }
{ unknown_bit = "0002001e_80_9", unknown_segment = "0x00020000", unknown_segbit = "30_2569" }
{ unknown_bit = "0002001e_84_9", unknown_segment = "0x00020000", unknown_segbit = "30_2697" }
{ unknown_bit = "0002001f_4_22", unknown_segment = "0x00020000", unknown_segbit = "31_150" }
{ unknown_bit = "0002001f_80_28", unknown_segment = "0x00020000", unknown_segbit = "31_2588" }
{ unknown_bit = "00020020_4_2", unknown_segment = "0x00020000", unknown_segbit = "32_130" }
{ unknown_bit = "00020020_79_16", unknown_segment = "0x00020000", unknown_segbit = "32_2544" }
{ unknown_bit = "00020020_83_16", unknown_segment = "0x00020000", unknown_segbit = "32_2672" }
{ unknown_bit = "00020021_5_15", unknown_segment = "0x00020000", unknown_segbit = "33_175" }
{ unknown_bit = "00020021_80_29", unknown_segment = "0x00020000", unknown_segbit = "33_2589" }
{ unknown_bit = "00020021_84_29", unknown_segment = "0x00020000", unknown_segbit = "33_2717" }
{ unknown_bit = "00020026_25_30", unknown_segment = "0x00020000", unknown_segbit = "38_830" }
{ unknown_bit = "00020026_37_30", unknown_segment = "0x00020000", unknown_segbit = "38_1214" }
{ unknown_bit = "00020026_5_0", unknown_segment = "0x00020000", unknown_segbit = "38_160" }
{ unknown_bit = "00020026_80_0", unknown_segment = "0x00020000", unknown_segbit = "38_2560" }
{ unknown_bit = "00020026_80_16", unknown_segment = "0x00020000", unknown_segbit = "38_2576" }
{ unknown_bit = "00020026_80_2", unknown_segment = "0x00020000", unknown_segbit = "38_2562" }
{ unknown_bit = "00020026_84_0", unknown_segment = "0x00020000", unknown_segbit = "38_2688" }
{ unknown_bit = "00020026_84_16", unknown_segment = "0x00020000", unknown_segbit = "38_2704" }
{ unknown_bit = "00020026_84_2", unknown_segment = "0x00020000", unknown_segbit = "38_2690" }
{ unknown_bit = "00020027_25_19", unknown_segment = "0x00020000", unknown_segbit = "39_819" }
{ unknown_bit = "00020027_25_31", unknown_segment = "0x00020000", unknown_segbit = "39_831" }
{ unknown_bit = "00020027_25_7", unknown_segment = "0x00020000", unknown_segbit = "39_807" }
{ unknown_bit = "00020027_37_19", unknown_segment = "0x00020000", unknown_segbit = "39_1203" }
{ unknown_bit = "00020027_37_31", unknown_segment = "0x00020000", unknown_segbit = "39_1215" }
{ unknown_bit = "00020027_37_7", unknown_segment = "0x00020000", unknown_segbit = "39_1191" }
{ unknown_bit = "00020027_5_19", unknown_segment = "0x00020000", unknown_segbit = "39_179" }
{ unknown_bit = "00020027_5_7", unknown_segment = "0x00020000", unknown_segbit = "39_167" }
{ unknown_bit = "00020027_80_15", unknown_segment = "0x00020000", unknown_segbit = "39_2575" }
{ unknown_bit = "00020027_80_17", unknown_segment = "0x00020000", unknown_segbit = "39_2577" }
{ unknown_bit = "00020027_80_23", unknown_segment = "0x00020000", unknown_segbit = "39_2583" }
{ unknown_bit = "00020027_80_3", unknown_segment = "0x00020000", unknown_segbit = "39_2563" }
{ unknown_bit = "00020027_84_15", unknown_segment = "0x00020000", unknown_segbit = "39_2703" }
{ unknown_bit = "00020027_84_17", unknown_segment = "0x00020000", unknown_segbit = "39_2705" }
{ unknown_bit = "00020027_84_23", unknown_segment = "0x00020000", unknown_segbit = "39_2711" }
{ unknown_bit = "00020027_84_3", unknown_segment = "0x00020000", unknown_segbit = "39_2691" }
{ unknown_bit = "0002269d_25_13", unknown_segment = "0x00022680", unknown_segbit = "29_813" }
{ unknown_bit = "0002269d_62_13", unknown_segment = "0x00022680", unknown_segbit = "29_1997" }
{ unknown_bit = "0002269d_94_13", unknown_segment = "0x00022680", unknown_segbit = "29_3021" }
{ unknown_bit = "0002269e_11_9", unknown_segment = "0x00022680", unknown_segbit = "30_361" }
{ unknown_bit = "0002269e_35_9", unknown_segment = "0x00022680", unknown_segbit = "30_1129" }
{ unknown_bit = "0002269e_61_3", unknown_segment = "0x00022680", unknown_segbit = "30_1955" }
{ unknown_bit = "0002269f_61_22", unknown_segment = "0x00022680", unknown_segbit = "31_1974" }
{ unknown_bit = "000226a0_10_16", unknown_segment = "0x00022680", unknown_segbit = "32_336" }
{ unknown_bit = "000226a0_34_16", unknown_segment = "0x00022680", unknown_segbit = "32_1104" }
{ unknown_bit = "000226a0_61_2", unknown_segment = "0x00022680", unknown_segbit = "32_1954" }
{ unknown_bit = "000226a1_11_29", unknown_segment = "0x00022680", unknown_segbit = "33_381" }
{ unknown_bit = "000226a1_35_29", unknown_segment = "0x00022680", unknown_segbit = "33_1149" }
{ unknown_bit = "000226a1_62_15", unknown_segment = "0x00022680", unknown_segbit = "33_1999" }
{ unknown_bit = "000226a6_10_12", unknown_segment = "0x00022680", unknown_segbit = "38_332" }
{ unknown_bit = "000226a6_10_24", unknown_segment = "0x00022680", unknown_segbit = "38_344" }
{ unknown_bit = "000226a6_11_0", unknown_segment = "0x00022680", unknown_segbit = "38_352" }
{ unknown_bit = "000226a6_11_2", unknown_segment = "0x00022680", unknown_segbit = "38_354" }
{ unknown_bit = "000226a6_24_14", unknown_segment = "0x00022680", unknown_segbit = "38_782" }
{ unknown_bit = "000226a6_24_16", unknown_segment = "0x00022680", unknown_segbit = "38_784" }
{ unknown_bit = "000226a6_24_30", unknown_segment = "0x00022680", unknown_segbit = "38_798" }
{ unknown_bit = "000226a6_25_30", unknown_segment = "0x00022680", unknown_segbit = "38_830" }
{ unknown_bit = "000226a6_34_12", unknown_segment = "0x00022680", unknown_segbit = "38_1100" }
{ unknown_bit = "000226a6_34_24", unknown_segment = "0x00022680", unknown_segbit = "38_1112" }
{ unknown_bit = "000226a6_35_0", unknown_segment = "0x00022680", unknown_segbit = "38_1120" }
{ unknown_bit = "000226a6_35_2", unknown_segment = "0x00022680", unknown_segbit = "38_1122" }
{ unknown_bit = "000226a6_61_30", unknown_segment = "0x00022680", unknown_segbit = "38_1982" }
{ unknown_bit = "000226a6_62_30", unknown_segment = "0x00022680", unknown_segbit = "38_2014" }
{ unknown_bit = "000226a6_93_14", unknown_segment = "0x00022680", unknown_segbit = "38_2990" }
{ unknown_bit = "000226a6_93_16", unknown_segment = "0x00022680", unknown_segbit = "38_2992" }
{ unknown_bit = "000226a6_93_30", unknown_segment = "0x00022680", unknown_segbit = "38_3006" }
{ unknown_bit = "000226a6_94_30", unknown_segment = "0x00022680", unknown_segbit = "38_3038" }
{ unknown_bit = "000226a7_11_1", unknown_segment = "0x00022680", unknown_segbit = "39_353" }
{ unknown_bit = "000226a7_24_15", unknown_segment = "0x00022680", unknown_segbit = "39_783" }
{ unknown_bit = "000226a7_25_19", unknown_segment = "0x00022680", unknown_segbit = "39_819" }
{ unknown_bit = "000226a7_25_31", unknown_segment = "0x00022680", unknown_segbit = "39_831" }
{ unknown_bit = "000226a7_25_7", unknown_segment = "0x00022680", unknown_segbit = "39_807" }
{ unknown_bit = "000226a7_35_1", unknown_segment = "0x00022680", unknown_segbit = "39_1121" }
{ unknown_bit = "000226a7_61_29", unknown_segment = "0x00022680", unknown_segbit = "39_1981" }
{ unknown_bit = "000226a7_61_31", unknown_segment = "0x00022680", unknown_segbit = "39_1983" }
{ unknown_bit = "000226a7_62_19", unknown_segment = "0x00022680", unknown_segbit = "39_2003" }
{ unknown_bit = "000226a7_62_31", unknown_segment = "0x00022680", unknown_segbit = "39_2015" }
{ unknown_bit = "000226a7_62_7", unknown_segment = "0x00022680", unknown_segbit = "39_1991" }
{ unknown_bit = "000226a7_93_15", unknown_segment = "0x00022680", unknown_segbit = "39_2991" }
{ unknown_bit = "000226a7_94_19", unknown_segment = "0x00022680", unknown_segbit = "39_3027" }
{ unknown_bit = "000226a7_94_31", unknown_segment = "0x00022680", unknown_segbit = "39_3039" }
{ unknown_bit = "000226a7_94_7", unknown_segment = "0x00022680", unknown_segbit = "39_3015" }
{ unknown_bit = "0004001c_34_18", unknown_segment = "0x00040000", unknown_segbit = "28_1106" }
{ unknown_bit = "0004001d_29_13", unknown_segment = "0x00040000", unknown_segbit = "29_941" }
{ unknown_bit = "0004001d_37_13", unknown_segment = "0x00040000", unknown_segbit = "29_1197" }
{ unknown_bit = "0004001e_28_3", unknown_segment = "0x00040000", unknown_segbit = "30_899" }
{ unknown_bit = "0004001e_52_9", unknown_segment = "0x00040000", unknown_segbit = "30_1673" }
{ unknown_bit = "0004001f_20_22", unknown_segment = "0x00040000", unknown_segbit = "31_662" }
{ unknown_bit = "0004001f_28_22", unknown_segment = "0x00040000", unknown_segbit = "31_918" }
{ unknown_bit = "00040020_20_2", unknown_segment = "0x00040000", unknown_segbit = "32_642" }
{ unknown_bit = "00040020_28_2", unknown_segment = "0x00040000", unknown_segbit = "32_898" }
{ unknown_bit = "00040020_51_16", unknown_segment = "0x00040000", unknown_segbit = "32_1648" }
{ unknown_bit = "00040021_21_15", unknown_segment = "0x00040000", unknown_segbit = "33_687" }
{ unknown_bit = "00040021_29_15", unknown_segment = "0x00040000", unknown_segbit = "33_943" }
{ unknown_bit = "00040021_52_29", unknown_segment = "0x00040000", unknown_segbit = "33_1693" }
{ unknown_bit = "00040026_21_0", unknown_segment = "0x00040000", unknown_segbit = "38_672" }
{ unknown_bit = "00040026_21_18", unknown_segment = "0x00040000", unknown_segbit = "38_690" }
{ unknown_bit = "00040026_29_0", unknown_segment = "0x00040000", unknown_segbit = "38_928" }
{ unknown_bit = "00040026_29_18", unknown_segment = "0x00040000", unknown_segbit = "38_946" }
{ unknown_bit = "00040026_29_30", unknown_segment = "0x00040000", unknown_segbit = "38_958" }
{ unknown_bit = "00040026_35_16", unknown_segment = "0x00040000", unknown_segbit = "38_1136" }
{ unknown_bit = "00040026_37_30", unknown_segment = "0x00040000", unknown_segbit = "38_1214" }
{ unknown_bit = "00040026_51_24", unknown_segment = "0x00040000", unknown_segbit = "38_1656" }
{ unknown_bit = "00040026_51_30", unknown_segment = "0x00040000", unknown_segbit = "38_1662" }
{ unknown_bit = "00040026_52_0", unknown_segment = "0x00040000", unknown_segbit = "38_1664" }
{ unknown_bit = "00040026_52_14", unknown_segment = "0x00040000", unknown_segbit = "38_1678" }
{ unknown_bit = "00040026_52_16", unknown_segment = "0x00040000", unknown_segbit = "38_1680" }
{ unknown_bit = "00040026_52_18", unknown_segment = "0x00040000", unknown_segbit = "38_1682" }
{ unknown_bit = "00040026_52_2", unknown_segment = "0x00040000", unknown_segbit = "38_1666" }
{ unknown_bit = "00040026_52_6", unknown_segment = "0x00040000", unknown_segbit = "38_1670" }
{ unknown_bit = "00040027_21_15", unknown_segment = "0x00040000", unknown_segbit = "39_687" }
{ unknown_bit = "00040027_21_17", unknown_segment = "0x00040000", unknown_segbit = "39_689" }
{ unknown_bit = "00040027_21_19", unknown_segment = "0x00040000", unknown_segbit = "39_691" }
{ unknown_bit = "00040027_21_1", unknown_segment = "0x00040000", unknown_segbit = "39_673" }
{ unknown_bit = "00040027_21_5", unknown_segment = "0x00040000", unknown_segbit = "39_677" }
{ unknown_bit = "00040027_21_7", unknown_segment = "0x00040000", unknown_segbit = "39_679" }
{ unknown_bit = "00040027_21_9", unknown_segment = "0x00040000", unknown_segbit = "39_681" }
{ unknown_bit = "00040027_29_15", unknown_segment = "0x00040000", unknown_segbit = "39_943" }
{ unknown_bit = "00040027_29_17", unknown_segment = "0x00040000", unknown_segbit = "39_945" }
{ unknown_bit = "00040027_29_19", unknown_segment = "0x00040000", unknown_segbit = "39_947" }
{ unknown_bit = "00040027_29_1", unknown_segment = "0x00040000", unknown_segbit = "39_929" }
{ unknown_bit = "00040027_29_31", unknown_segment = "0x00040000", unknown_segbit = "39_959" }
{ unknown_bit = "00040027_29_5", unknown_segment = "0x00040000", unknown_segbit = "39_933" }
{ unknown_bit = "00040027_29_7", unknown_segment = "0x00040000", unknown_segbit = "39_935" }
{ unknown_bit = "00040027_29_9", unknown_segment = "0x00040000", unknown_segbit = "39_937" }
{ unknown_bit = "00040027_35_15", unknown_segment = "0x00040000", unknown_segbit = "39_1135" }
{ unknown_bit = "00040027_35_17", unknown_segment = "0x00040000", unknown_segbit = "39_1137" }
{ unknown_bit = "00040027_35_1", unknown_segment = "0x00040000", unknown_segbit = "39_1121" }
{ unknown_bit = "00040027_37_19", unknown_segment = "0x00040000", unknown_segbit = "39_1203" }
{ unknown_bit = "00040027_37_31", unknown_segment = "0x00040000", unknown_segbit = "39_1215" }
{ unknown_bit = "00040027_37_7", unknown_segment = "0x00040000", unknown_segbit = "39_1191" }
{ unknown_bit = "00040027_51_31", unknown_segment = "0x00040000", unknown_segbit = "39_1663" }
{ unknown_bit = "00040027_52_13", unknown_segment = "0x00040000", unknown_segbit = "39_1677" }
{ unknown_bit = "00040027_52_15", unknown_segment = "0x00040000", unknown_segbit = "39_1679" }
{ unknown_bit = "00040027_52_17", unknown_segment = "0x00040000", unknown_segbit = "39_1681" }
{ unknown_bit = "00040027_52_23", unknown_segment = "0x00040000", unknown_segbit = "39_1687" }
{ unknown_bit = "00040027_52_3", unknown_segment = "0x00040000", unknown_segbit = "39_1667" }
{ unknown_bit = "0004269c_10_18", unknown_segment = "0x00042680", unknown_segbit = "28_338" }
{ unknown_bit = "0004269d_5_13", unknown_segment = "0x00042680", unknown_segbit = "29_173" }
{ unknown_bit = "0004269d_78_13", unknown_segment = "0x00042680", unknown_segbit = "29_2509" }
{ unknown_bit = "0004269e_15_9", unknown_segment = "0x00042680", unknown_segbit = "30_489" }
{ unknown_bit = "0004269e_4_3", unknown_segment = "0x00042680", unknown_segbit = "30_131" }
{ unknown_bit = "0004269f_4_22", unknown_segment = "0x00042680", unknown_segbit = "31_150" }
{ unknown_bit = "0004269f_89_22", unknown_segment = "0x00042680", unknown_segbit = "31_2870" }
{ unknown_bit = "000426a0_14_16", unknown_segment = "0x00042680", unknown_segbit = "32_464" }
{ unknown_bit = "000426a0_4_2", unknown_segment = "0x00042680", unknown_segbit = "32_130" }
{ unknown_bit = "000426a0_89_2", unknown_segment = "0x00042680", unknown_segbit = "32_2850" }
{ unknown_bit = "000426a1_15_29", unknown_segment = "0x00042680", unknown_segbit = "33_509" }
{ unknown_bit = "000426a1_5_15", unknown_segment = "0x00042680", unknown_segbit = "33_175" }
{ unknown_bit = "000426a1_90_15", unknown_segment = "0x00042680", unknown_segbit = "33_2895" }
{ unknown_bit = "000426a6_10_0", unknown_segment = "0x00042680", unknown_segbit = "38_320" }
{ unknown_bit = "000426a6_10_12", unknown_segment = "0x00042680", unknown_segbit = "38_332" }
{ unknown_bit = "000426a6_10_24", unknown_segment = "0x00042680", unknown_segbit = "38_344" }
{ unknown_bit = "000426a6_11_16", unknown_segment = "0x00042680", unknown_segbit = "38_368" }
{ unknown_bit = "000426a6_14_12", unknown_segment = "0x00042680", unknown_segbit = "38_460" }
{ unknown_bit = "000426a6_14_16", unknown_segment = "0x00042680", unknown_segbit = "38_464" }
{ unknown_bit = "000426a6_14_24", unknown_segment = "0x00042680", unknown_segbit = "38_472" }
{ unknown_bit = "000426a6_14_26", unknown_segment = "0x00042680", unknown_segbit = "38_474" }
{ unknown_bit = "000426a6_14_30", unknown_segment = "0x00042680", unknown_segbit = "38_478" }
{ unknown_bit = "000426a6_15_0", unknown_segment = "0x00042680", unknown_segbit = "38_480" }
{ unknown_bit = "000426a6_15_14", unknown_segment = "0x00042680", unknown_segbit = "38_494" }
{ unknown_bit = "000426a6_15_18", unknown_segment = "0x00042680", unknown_segbit = "38_498" }
{ unknown_bit = "000426a6_15_2", unknown_segment = "0x00042680", unknown_segbit = "38_482" }
{ unknown_bit = "000426a6_4_30", unknown_segment = "0x00042680", unknown_segbit = "38_158" }
{ unknown_bit = "000426a6_5_18", unknown_segment = "0x00042680", unknown_segbit = "38_178" }
{ unknown_bit = "000426a6_5_30", unknown_segment = "0x00042680", unknown_segbit = "38_190" }
{ unknown_bit = "000426a6_77_14", unknown_segment = "0x00042680", unknown_segbit = "38_2478" }
{ unknown_bit = "000426a6_77_16", unknown_segment = "0x00042680", unknown_segbit = "38_2480" }
{ unknown_bit = "000426a6_77_30", unknown_segment = "0x00042680", unknown_segbit = "38_2494" }
{ unknown_bit = "000426a6_78_30", unknown_segment = "0x00042680", unknown_segbit = "38_2526" }
{ unknown_bit = "000426a6_89_30", unknown_segment = "0x00042680", unknown_segbit = "38_2878" }
{ unknown_bit = "000426a6_90_18", unknown_segment = "0x00042680", unknown_segbit = "38_2898" }
{ unknown_bit = "000426a7_10_1", unknown_segment = "0x00042680", unknown_segbit = "39_321" }
{ unknown_bit = "000426a7_11_15", unknown_segment = "0x00042680", unknown_segbit = "39_367" }
{ unknown_bit = "000426a7_11_17", unknown_segment = "0x00042680", unknown_segbit = "39_369" }
{ unknown_bit = "000426a7_11_1", unknown_segment = "0x00042680", unknown_segbit = "39_353" }
{ unknown_bit = "000426a7_14_13", unknown_segment = "0x00042680", unknown_segbit = "39_461" }
{ unknown_bit = "000426a7_15_1", unknown_segment = "0x00042680", unknown_segbit = "39_481" }
{ unknown_bit = "000426a7_4_13", unknown_segment = "0x00042680", unknown_segbit = "39_141" }
{ unknown_bit = "000426a7_4_17", unknown_segment = "0x00042680", unknown_segbit = "39_145" }
{ unknown_bit = "000426a7_4_29", unknown_segment = "0x00042680", unknown_segbit = "39_157" }
{ unknown_bit = "000426a7_4_31", unknown_segment = "0x00042680", unknown_segbit = "39_159" }
{ unknown_bit = "000426a7_5_15", unknown_segment = "0x00042680", unknown_segbit = "39_175" }
{ unknown_bit = "000426a7_5_19", unknown_segment = "0x00042680", unknown_segbit = "39_179" }
{ unknown_bit = "000426a7_5_1", unknown_segment = "0x00042680", unknown_segbit = "39_161" }
{ unknown_bit = "000426a7_5_31", unknown_segment = "0x00042680", unknown_segbit = "39_191" }
{ unknown_bit = "000426a7_5_5", unknown_segment = "0x00042680", unknown_segbit = "39_165" }
{ unknown_bit = "000426a7_5_7", unknown_segment = "0x00042680", unknown_segbit = "39_167" }
{ unknown_bit = "000426a7_77_15", unknown_segment = "0x00042680", unknown_segbit = "39_2479" }
{ unknown_bit = "000426a7_78_19", unknown_segment = "0x00042680", unknown_segbit = "39_2515" }
{ unknown_bit = "000426a7_78_31", unknown_segment = "0x00042680", unknown_segbit = "39_2527" }
{ unknown_bit = "000426a7_78_7", unknown_segment = "0x00042680", unknown_segbit = "39_2503" }
{ unknown_bit = "000426a7_89_13", unknown_segment = "0x00042680", unknown_segbit = "39_2861" }
{ unknown_bit = "000426a7_89_17", unknown_segment = "0x00042680", unknown_segbit = "39_2865" }
{ unknown_bit = "000426a7_89_29", unknown_segment = "0x00042680", unknown_segbit = "39_2877" }
{ unknown_bit = "000426a7_89_31", unknown_segment = "0x00042680", unknown_segbit = "39_2879" }
{ unknown_bit = "000426a7_90_15", unknown_segment = "0x00042680", unknown_segbit = "39_2895" }
{ unknown_bit = "000426a7_90_19", unknown_segment = "0x00042680", unknown_segbit = "39_2899" }
{ unknown_bit = "000426a7_90_1", unknown_segment = "0x00042680", unknown_segbit = "39_2881" }
{ unknown_bit = "000426a7_90_5", unknown_segment = "0x00042680", unknown_segbit = "39_2885" }
{ unknown_bit = "000426a7_90_7", unknown_segment = "0x00042680", unknown_segbit = "39_2887" }
{ unknown_bit = "0006001c_38_18", unknown_segment = "0x00060000", unknown_segbit = "28_1234" }
{ unknown_bit = "0006001c_87_18", unknown_segment = "0x00060000", unknown_segbit = "28_2802" }
{ unknown_bit = "0006001c_95_18", unknown_segment = "0x00060000", unknown_segbit = "28_3058" }
{ unknown_bit = "0006001e_35_9", unknown_segment = "0x00060000", unknown_segbit = "30_1129" }
{ unknown_bit = "0006001e_43_9", unknown_segment = "0x00060000", unknown_segbit = "30_1385" }
{ unknown_bit = "0006001e_96_9", unknown_segment = "0x00060000", unknown_segbit = "30_3081" }
{ unknown_bit = "0006001f_96_28", unknown_segment = "0x00060000", unknown_segbit = "31_3100" }
{ unknown_bit = "00060020_34_16", unknown_segment = "0x00060000", unknown_segbit = "32_1104" }
{ unknown_bit = "00060020_42_16", unknown_segment = "0x00060000", unknown_segbit = "32_1360" }
{ unknown_bit = "00060020_95_16", unknown_segment = "0x00060000", unknown_segbit = "32_3056" }
{ unknown_bit = "00060021_35_29", unknown_segment = "0x00060000", unknown_segbit = "33_1149" }
{ unknown_bit = "00060021_43_29", unknown_segment = "0x00060000", unknown_segbit = "33_1405" }
{ unknown_bit = "00060021_96_29", unknown_segment = "0x00060000", unknown_segbit = "33_3101" }
{ unknown_bit = "00060026_34_24", unknown_segment = "0x00060000", unknown_segbit = "38_1112" }
{ unknown_bit = "00060026_35_0", unknown_segment = "0x00060000", unknown_segbit = "38_1120" }
{ unknown_bit = "00060026_35_12", unknown_segment = "0x00060000", unknown_segbit = "38_1132" }
{ unknown_bit = "00060026_35_16", unknown_segment = "0x00060000", unknown_segbit = "38_1136" }
{ unknown_bit = "00060026_35_2", unknown_segment = "0x00060000", unknown_segbit = "38_1122" }
{ unknown_bit = "00060026_39_16", unknown_segment = "0x00060000", unknown_segbit = "38_1264" }
{ unknown_bit = "00060026_42_24", unknown_segment = "0x00060000", unknown_segbit = "38_1368" }
{ unknown_bit = "00060026_43_0", unknown_segment = "0x00060000", unknown_segbit = "38_1376" }
{ unknown_bit = "00060026_43_12", unknown_segment = "0x00060000", unknown_segbit = "38_1388" }
{ unknown_bit = "00060026_43_16", unknown_segment = "0x00060000", unknown_segbit = "38_1392" }
{ unknown_bit = "00060026_43_2", unknown_segment = "0x00060000", unknown_segbit = "38_1378" }
{ unknown_bit = "00060026_88_16", unknown_segment = "0x00060000", unknown_segbit = "38_2832" }
{ unknown_bit = "00060026_96_0", unknown_segment = "0x00060000", unknown_segbit = "38_3072" }
{ unknown_bit = "00060026_96_12", unknown_segment = "0x00060000", unknown_segbit = "38_3084" }
{ unknown_bit = "00060026_96_16", unknown_segment = "0x00060000", unknown_segbit = "38_3088" }
{ unknown_bit = "00060026_96_2", unknown_segment = "0x00060000", unknown_segbit = "38_3074" }
{ unknown_bit = "00060027_35_23", unknown_segment = "0x00060000", unknown_segbit = "39_1143" }
{ unknown_bit = "00060027_35_3", unknown_segment = "0x00060000", unknown_segbit = "39_1123" }
{ unknown_bit = "00060027_39_15", unknown_segment = "0x00060000", unknown_segbit = "39_1263" }
{ unknown_bit = "00060027_39_17", unknown_segment = "0x00060000", unknown_segbit = "39_1265" }
{ unknown_bit = "00060027_39_1", unknown_segment = "0x00060000", unknown_segbit = "39_1249" }
{ unknown_bit = "00060027_43_23", unknown_segment = "0x00060000", unknown_segbit = "39_1399" }
{ unknown_bit = "00060027_43_3", unknown_segment = "0x00060000", unknown_segbit = "39_1379" }
{ unknown_bit = "00060027_88_15", unknown_segment = "0x00060000", unknown_segbit = "39_2831" }
{ unknown_bit = "00060027_88_17", unknown_segment = "0x00060000", unknown_segbit = "39_2833" }
{ unknown_bit = "00060027_88_1", unknown_segment = "0x00060000", unknown_segbit = "39_2817" }
{ unknown_bit = "00060027_96_23", unknown_segment = "0x00060000", unknown_segbit = "39_3095" }
{ unknown_bit = "00060027_96_3", unknown_segment = "0x00060000", unknown_segbit = "39_3075" }
{ unknown_bit = "0006269c_46_18", unknown_segment = "0x00062680", unknown_segbit = "28_1490" }
{ unknown_bit = "0006269d_33_13", unknown_segment = "0x00062680", unknown_segbit = "29_1069" }
{ unknown_bit = "0006269d_94_13", unknown_segment = "0x00062680", unknown_segbit = "29_3021" }
{ unknown_bit = "0006269e_32_3", unknown_segment = "0x00062680", unknown_segbit = "30_1027" }
{ unknown_bit = "0006269e_35_9", unknown_segment = "0x00062680", unknown_segbit = "30_1129" }
{ unknown_bit = "0006269f_32_22", unknown_segment = "0x00062680", unknown_segbit = "31_1046" }
{ unknown_bit = "0006269f_73_22", unknown_segment = "0x00062680", unknown_segbit = "31_2358" }
{ unknown_bit = "000626a0_32_2", unknown_segment = "0x00062680", unknown_segbit = "32_1026" }
{ unknown_bit = "000626a0_34_16", unknown_segment = "0x00062680", unknown_segbit = "32_1104" }
{ unknown_bit = "000626a0_73_2", unknown_segment = "0x00062680", unknown_segbit = "32_2338" }
{ unknown_bit = "000626a1_33_15", unknown_segment = "0x00062680", unknown_segbit = "33_1071" }
{ unknown_bit = "000626a1_35_29", unknown_segment = "0x00062680", unknown_segbit = "33_1149" }
{ unknown_bit = "000626a1_74_15", unknown_segment = "0x00062680", unknown_segbit = "33_2383" }
{ unknown_bit = "000626a6_32_14", unknown_segment = "0x00062680", unknown_segbit = "38_1038" }
{ unknown_bit = "000626a6_32_16", unknown_segment = "0x00062680", unknown_segbit = "38_1040" }
{ unknown_bit = "000626a6_32_28", unknown_segment = "0x00062680", unknown_segbit = "38_1052" }
{ unknown_bit = "000626a6_32_30", unknown_segment = "0x00062680", unknown_segbit = "38_1054" }
{ unknown_bit = "000626a6_33_0", unknown_segment = "0x00062680", unknown_segbit = "38_1056" }
{ unknown_bit = "000626a6_33_30", unknown_segment = "0x00062680", unknown_segbit = "38_1086" }
{ unknown_bit = "000626a6_34_12", unknown_segment = "0x00062680", unknown_segbit = "38_1100" }
{ unknown_bit = "000626a6_34_24", unknown_segment = "0x00062680", unknown_segbit = "38_1112" }
{ unknown_bit = "000626a6_35_0", unknown_segment = "0x00062680", unknown_segbit = "38_1120" }
{ unknown_bit = "000626a6_35_12", unknown_segment = "0x00062680", unknown_segbit = "38_1132" }
{ unknown_bit = "000626a6_35_2", unknown_segment = "0x00062680", unknown_segbit = "38_1122" }
{ unknown_bit = "000626a6_46_0", unknown_segment = "0x00062680", unknown_segbit = "38_1472" }
{ unknown_bit = "000626a6_46_12", unknown_segment = "0x00062680", unknown_segbit = "38_1484" }
{ unknown_bit = "000626a6_46_24", unknown_segment = "0x00062680", unknown_segbit = "38_1496" }
{ unknown_bit = "000626a6_47_16", unknown_segment = "0x00062680", unknown_segbit = "38_1520" }
{ unknown_bit = "000626a6_73_14", unknown_segment = "0x00062680", unknown_segbit = "38_2350" }
{ unknown_bit = "000626a6_73_16", unknown_segment = "0x00062680", unknown_segbit = "38_2352" }
{ unknown_bit = "000626a6_73_28", unknown_segment = "0x00062680", unknown_segbit = "38_2364" }
{ unknown_bit = "000626a6_73_30", unknown_segment = "0x00062680", unknown_segbit = "38_2366" }
{ unknown_bit = "000626a6_74_0", unknown_segment = "0x00062680", unknown_segbit = "38_2368" }
{ unknown_bit = "000626a6_93_14", unknown_segment = "0x00062680", unknown_segbit = "38_2990" }
{ unknown_bit = "000626a6_93_16", unknown_segment = "0x00062680", unknown_segbit = "38_2992" }
{ unknown_bit = "000626a6_93_30", unknown_segment = "0x00062680", unknown_segbit = "38_3006" }
{ unknown_bit = "000626a6_94_30", unknown_segment = "0x00062680", unknown_segbit = "38_3038" }
{ unknown_bit = "000626a7_32_19", unknown_segment = "0x00062680", unknown_segbit = "39_1043" }
{ unknown_bit = "000626a7_32_29", unknown_segment = "0x00062680", unknown_segbit = "39_1053" }
{ unknown_bit = "000626a7_32_31", unknown_segment = "0x00062680", unknown_segbit = "39_1055" }
{ unknown_bit = "000626a7_33_19", unknown_segment = "0x00062680", unknown_segbit = "39_1075" }
{ unknown_bit = "000626a7_33_31", unknown_segment = "0x00062680", unknown_segbit = "39_1087" }
{ unknown_bit = "000626a7_33_7", unknown_segment = "0x00062680", unknown_segbit = "39_1063" }
{ unknown_bit = "000626a7_34_31", unknown_segment = "0x00062680", unknown_segbit = "39_1119" }
{ unknown_bit = "000626a7_35_15", unknown_segment = "0x00062680", unknown_segbit = "39_1135" }
{ unknown_bit = "000626a7_35_17", unknown_segment = "0x00062680", unknown_segbit = "39_1137" }
{ unknown_bit = "000626a7_35_1", unknown_segment = "0x00062680", unknown_segbit = "39_1121" }
{ unknown_bit = "000626a7_35_3", unknown_segment = "0x00062680", unknown_segbit = "39_1123" }
{ unknown_bit = "000626a7_46_1", unknown_segment = "0x00062680", unknown_segbit = "39_1473" }
{ unknown_bit = "000626a7_47_15", unknown_segment = "0x00062680", unknown_segbit = "39_1519" }
{ unknown_bit = "000626a7_47_17", unknown_segment = "0x00062680", unknown_segbit = "39_1521" }
{ unknown_bit = "000626a7_47_1", unknown_segment = "0x00062680", unknown_segbit = "39_1505" }
{ unknown_bit = "000626a7_73_19", unknown_segment = "0x00062680", unknown_segbit = "39_2355" }
{ unknown_bit = "000626a7_73_29", unknown_segment = "0x00062680", unknown_segbit = "39_2365" }
{ unknown_bit = "000626a7_73_31", unknown_segment = "0x00062680", unknown_segbit = "39_2367" }
{ unknown_bit = "000626a7_74_19", unknown_segment = "0x00062680", unknown_segbit = "39_2387" }
{ unknown_bit = "000626a7_74_7", unknown_segment = "0x00062680", unknown_segbit = "39_2375" }
{ unknown_bit = "000626a7_93_15", unknown_segment = "0x00062680", unknown_segbit = "39_2991" }
{ unknown_bit = "000626a7_94_19", unknown_segment = "0x00062680", unknown_segbit = "39_3027" }
{ unknown_bit = "000626a7_94_31", unknown_segment = "0x00062680", unknown_segbit = "39_3039" }
{ unknown_bit = "000626a7_94_7", unknown_segment = "0x00062680", unknown_segbit = "39_3015" }
{ unknown_bit = "0008001d_13_13", unknown_segment = "0x00080000", unknown_segbit = "29_429" }
{ unknown_bit = "0008001d_37_13", unknown_segment = "0x00080000", unknown_segbit = "29_1197" }
{ unknown_bit = "0008001d_58_13", unknown_segment = "0x00080000", unknown_segbit = "29_1869" }
{ unknown_bit = "0008001e_12_3", unknown_segment = "0x00080000", unknown_segbit = "30_387" }
{ unknown_bit = "0008001f_12_22", unknown_segment = "0x00080000", unknown_segbit = "31_406" }
{ unknown_bit = "0008001f_20_22", unknown_segment = "0x00080000", unknown_segbit = "31_662" }
{ unknown_bit = "0008001f_32_22", unknown_segment = "0x00080000", unknown_segbit = "31_1046" }
{ unknown_bit = "00080020_12_2", unknown_segment = "0x00080000", unknown_segbit = "32_386" }
{ unknown_bit = "00080020_20_2", unknown_segment = "0x00080000", unknown_segbit = "32_642" }
{ unknown_bit = "00080020_32_2", unknown_segment = "0x00080000", unknown_segbit = "32_1026" }
{ unknown_bit = "00080021_13_15", unknown_segment = "0x00080000", unknown_segbit = "33_431" }
{ unknown_bit = "00080021_21_15", unknown_segment = "0x00080000", unknown_segbit = "33_687" }
{ unknown_bit = "00080021_33_15", unknown_segment = "0x00080000", unknown_segbit = "33_1071" }
{ unknown_bit = "00080026_13_18", unknown_segment = "0x00080000", unknown_segbit = "38_434" }
{ unknown_bit = "00080026_13_30", unknown_segment = "0x00080000", unknown_segbit = "38_446" }
{ unknown_bit = "00080026_21_18", unknown_segment = "0x00080000", unknown_segbit = "38_690" }
{ unknown_bit = "00080026_33_18", unknown_segment = "0x00080000", unknown_segbit = "38_1074" }
{ unknown_bit = "00080026_37_30", unknown_segment = "0x00080000", unknown_segbit = "38_1214" }
{ unknown_bit = "00080026_58_30", unknown_segment = "0x00080000", unknown_segbit = "38_1886" }
{ unknown_bit = "00080027_13_15", unknown_segment = "0x00080000", unknown_segbit = "39_431" }
{ unknown_bit = "00080027_13_17", unknown_segment = "0x00080000", unknown_segbit = "39_433" }
{ unknown_bit = "00080027_13_19", unknown_segment = "0x00080000", unknown_segbit = "39_435" }
{ unknown_bit = "00080027_13_1", unknown_segment = "0x00080000", unknown_segbit = "39_417" }
{ unknown_bit = "00080027_13_31", unknown_segment = "0x00080000", unknown_segbit = "39_447" }
{ unknown_bit = "00080027_13_5", unknown_segment = "0x00080000", unknown_segbit = "39_421" }
{ unknown_bit = "00080027_13_7", unknown_segment = "0x00080000", unknown_segbit = "39_423" }
{ unknown_bit = "00080027_13_9", unknown_segment = "0x00080000", unknown_segbit = "39_425" }
{ unknown_bit = "00080027_21_15", unknown_segment = "0x00080000", unknown_segbit = "39_687" }
{ unknown_bit = "00080027_21_17", unknown_segment = "0x00080000", unknown_segbit = "39_689" }
{ unknown_bit = "00080027_21_19", unknown_segment = "0x00080000", unknown_segbit = "39_691" }
{ unknown_bit = "00080027_21_1", unknown_segment = "0x00080000", unknown_segbit = "39_673" }
{ unknown_bit = "00080027_21_5", unknown_segment = "0x00080000", unknown_segbit = "39_677" }
{ unknown_bit = "00080027_21_7", unknown_segment = "0x00080000", unknown_segbit = "39_679" }
{ unknown_bit = "00080027_21_9", unknown_segment = "0x00080000", unknown_segbit = "39_681" }
{ unknown_bit = "00080027_33_15", unknown_segment = "0x00080000", unknown_segbit = "39_1071" }
{ unknown_bit = "00080027_33_17", unknown_segment = "0x00080000", unknown_segbit = "39_1073" }
{ unknown_bit = "00080027_33_19", unknown_segment = "0x00080000", unknown_segbit = "39_1075" }
{ unknown_bit = "00080027_33_1", unknown_segment = "0x00080000", unknown_segbit = "39_1057" }
{ unknown_bit = "00080027_33_5", unknown_segment = "0x00080000", unknown_segbit = "39_1061" }
{ unknown_bit = "00080027_33_7", unknown_segment = "0x00080000", unknown_segbit = "39_1063" }
{ unknown_bit = "00080027_33_9", unknown_segment = "0x00080000", unknown_segbit = "39_1065" }
{ unknown_bit = "00080027_37_19", unknown_segment = "0x00080000", unknown_segbit = "39_1203" }
{ unknown_bit = "00080027_37_31", unknown_segment = "0x00080000", unknown_segbit = "39_1215" }
{ unknown_bit = "00080027_37_7", unknown_segment = "0x00080000", unknown_segbit = "39_1191" }
{ unknown_bit = "00080027_58_19", unknown_segment = "0x00080000", unknown_segbit = "39_1875" }
{ unknown_bit = "00080027_58_31", unknown_segment = "0x00080000", unknown_segbit = "39_1887" }
{ unknown_bit = "00080027_58_7", unknown_segment = "0x00080000", unknown_segbit = "39_1863" }
{ unknown_bit = "0008269c_67_18", unknown_segment = "0x00082680", unknown_segbit = "28_2162" }
{ unknown_bit = "0008269c_87_18", unknown_segment = "0x00082680", unknown_segbit = "28_2802" }
{ unknown_bit = "0008269d_29_13", unknown_segment = "0x00082680", unknown_segbit = "29_941" }
{ unknown_bit = "0008269e_68_9", unknown_segment = "0x00082680", unknown_segbit = "30_2185" }
{ unknown_bit = "0008269f_48_22", unknown_segment = "0x00082680", unknown_segbit = "31_1558" }
{ unknown_bit = "0008269f_68_28", unknown_segment = "0x00082680", unknown_segbit = "31_2204" }
{ unknown_bit = "0008269f_73_22", unknown_segment = "0x00082680", unknown_segbit = "31_2358" }
{ unknown_bit = "000826a0_48_2", unknown_segment = "0x00082680", unknown_segbit = "32_1538" }
{ unknown_bit = "000826a0_67_16", unknown_segment = "0x00082680", unknown_segbit = "32_2160" }
{ unknown_bit = "000826a0_73_2", unknown_segment = "0x00082680", unknown_segbit = "32_2338" }
{ unknown_bit = "000826a1_49_15", unknown_segment = "0x00082680", unknown_segbit = "33_1583" }
{ unknown_bit = "000826a1_68_29", unknown_segment = "0x00082680", unknown_segbit = "33_2205" }
{ unknown_bit = "000826a1_74_15", unknown_segment = "0x00082680", unknown_segbit = "33_2383" }
{ unknown_bit = "000826a6_28_14", unknown_segment = "0x00082680", unknown_segbit = "38_910" }
{ unknown_bit = "000826a6_28_16", unknown_segment = "0x00082680", unknown_segbit = "38_912" }
{ unknown_bit = "000826a6_28_30", unknown_segment = "0x00082680", unknown_segbit = "38_926" }
{ unknown_bit = "000826a6_29_30", unknown_segment = "0x00082680", unknown_segbit = "38_958" }
{ unknown_bit = "000826a6_48_14", unknown_segment = "0x00082680", unknown_segbit = "38_1550" }
{ unknown_bit = "000826a6_48_16", unknown_segment = "0x00082680", unknown_segbit = "38_1552" }
{ unknown_bit = "000826a6_48_18", unknown_segment = "0x00082680", unknown_segbit = "38_1554" }
{ unknown_bit = "000826a6_48_28", unknown_segment = "0x00082680", unknown_segbit = "38_1564" }
{ unknown_bit = "000826a6_48_30", unknown_segment = "0x00082680", unknown_segbit = "38_1566" }
{ unknown_bit = "000826a6_49_0", unknown_segment = "0x00082680", unknown_segbit = "38_1568" }
{ unknown_bit = "000826a6_49_18", unknown_segment = "0x00082680", unknown_segbit = "38_1586" }
{ unknown_bit = "000826a6_67_0", unknown_segment = "0x00082680", unknown_segbit = "38_2144" }
{ unknown_bit = "000826a6_67_12", unknown_segment = "0x00082680", unknown_segbit = "38_2156" }
{ unknown_bit = "000826a6_67_14", unknown_segment = "0x00082680", unknown_segbit = "38_2158" }
{ unknown_bit = "000826a6_67_16", unknown_segment = "0x00082680", unknown_segbit = "38_2160" }
{ unknown_bit = "000826a6_67_22", unknown_segment = "0x00082680", unknown_segbit = "38_2166" }
{ unknown_bit = "000826a6_67_24", unknown_segment = "0x00082680", unknown_segbit = "38_2168" }
{ unknown_bit = "000826a6_67_26", unknown_segment = "0x00082680", unknown_segbit = "38_2170" }
{ unknown_bit = "000826a6_67_30", unknown_segment = "0x00082680", unknown_segbit = "38_2174" }
{ unknown_bit = "000826a6_68_0", unknown_segment = "0x00082680", unknown_segbit = "38_2176" }
{ unknown_bit = "000826a6_68_12", unknown_segment = "0x00082680", unknown_segbit = "38_2188" }
{ unknown_bit = "000826a6_68_14", unknown_segment = "0x00082680", unknown_segbit = "38_2190" }
{ unknown_bit = "000826a6_68_18", unknown_segment = "0x00082680", unknown_segbit = "38_2194" }
{ unknown_bit = "000826a6_68_2", unknown_segment = "0x00082680", unknown_segbit = "38_2178" }
{ unknown_bit = "000826a6_68_6", unknown_segment = "0x00082680", unknown_segbit = "38_2182" }
{ unknown_bit = "000826a6_73_14", unknown_segment = "0x00082680", unknown_segbit = "38_2350" }
{ unknown_bit = "000826a6_73_16", unknown_segment = "0x00082680", unknown_segbit = "38_2352" }
{ unknown_bit = "000826a6_73_18", unknown_segment = "0x00082680", unknown_segbit = "38_2354" }
{ unknown_bit = "000826a6_73_28", unknown_segment = "0x00082680", unknown_segbit = "38_2364" }
{ unknown_bit = "000826a6_73_30", unknown_segment = "0x00082680", unknown_segbit = "38_2366" }
{ unknown_bit = "000826a6_74_0", unknown_segment = "0x00082680", unknown_segbit = "38_2368" }
{ unknown_bit = "000826a6_74_18", unknown_segment = "0x00082680", unknown_segbit = "38_2386" }
{ unknown_bit = "000826a6_87_0", unknown_segment = "0x00082680", unknown_segbit = "38_2784" }
{ unknown_bit = "000826a6_87_12", unknown_segment = "0x00082680", unknown_segbit = "38_2796" }
{ unknown_bit = "000826a6_87_24", unknown_segment = "0x00082680", unknown_segbit = "38_2808" }
{ unknown_bit = "000826a6_88_16", unknown_segment = "0x00082680", unknown_segbit = "38_2832" }
{ unknown_bit = "000826a7_28_15", unknown_segment = "0x00082680", unknown_segbit = "39_911" }
{ unknown_bit = "000826a7_29_19", unknown_segment = "0x00082680", unknown_segbit = "39_947" }
{ unknown_bit = "000826a7_29_31", unknown_segment = "0x00082680", unknown_segbit = "39_959" }
{ unknown_bit = "000826a7_29_7", unknown_segment = "0x00082680", unknown_segbit = "39_935" }
{ unknown_bit = "000826a7_48_13", unknown_segment = "0x00082680", unknown_segbit = "39_1549" }
{ unknown_bit = "000826a7_48_17", unknown_segment = "0x00082680", unknown_segbit = "39_1553" }
{ unknown_bit = "000826a7_48_19", unknown_segment = "0x00082680", unknown_segbit = "39_1555" }
{ unknown_bit = "000826a7_48_25", unknown_segment = "0x00082680", unknown_segbit = "39_1561" }
{ unknown_bit = "000826a7_48_29", unknown_segment = "0x00082680", unknown_segbit = "39_1565" }
{ unknown_bit = "000826a7_48_31", unknown_segment = "0x00082680", unknown_segbit = "39_1567" }
{ unknown_bit = "000826a7_49_15", unknown_segment = "0x00082680", unknown_segbit = "39_1583" }
{ unknown_bit = "000826a7_49_17", unknown_segment = "0x00082680", unknown_segbit = "39_1585" }
{ unknown_bit = "000826a7_49_19", unknown_segment = "0x00082680", unknown_segbit = "39_1587" }
{ unknown_bit = "000826a7_49_1", unknown_segment = "0x00082680", unknown_segbit = "39_1569" }
{ unknown_bit = "000826a7_49_5", unknown_segment = "0x00082680", unknown_segbit = "39_1573" }
{ unknown_bit = "000826a7_49_7", unknown_segment = "0x00082680", unknown_segbit = "39_1575" }
{ unknown_bit = "000826a7_49_9", unknown_segment = "0x00082680", unknown_segbit = "39_1577" }
{ unknown_bit = "000826a7_67_13", unknown_segment = "0x00082680", unknown_segbit = "39_2157" }
{ unknown_bit = "000826a7_67_1", unknown_segment = "0x00082680", unknown_segbit = "39_2145" }
{ unknown_bit = "000826a7_67_31", unknown_segment = "0x00082680", unknown_segbit = "39_2175" }
{ unknown_bit = "000826a7_68_13", unknown_segment = "0x00082680", unknown_segbit = "39_2189" }
{ unknown_bit = "000826a7_68_15", unknown_segment = "0x00082680", unknown_segbit = "39_2191" }
{ unknown_bit = "000826a7_68_17", unknown_segment = "0x00082680", unknown_segbit = "39_2193" }
{ unknown_bit = "000826a7_68_1", unknown_segment = "0x00082680", unknown_segbit = "39_2177" }
{ unknown_bit = "000826a7_68_3", unknown_segment = "0x00082680", unknown_segbit = "39_2179" }
{ unknown_bit = "000826a7_73_13", unknown_segment = "0x00082680", unknown_segbit = "39_2349" }
{ unknown_bit = "000826a7_73_17", unknown_segment = "0x00082680", unknown_segbit = "39_2353" }
{ unknown_bit = "000826a7_73_19", unknown_segment = "0x00082680", unknown_segbit = "39_2355" }
{ unknown_bit = "000826a7_73_25", unknown_segment = "0x00082680", unknown_segbit = "39_2361" }
{ unknown_bit = "000826a7_73_29", unknown_segment = "0x00082680", unknown_segbit = "39_2365" }
{ unknown_bit = "000826a7_73_31", unknown_segment = "0x00082680", unknown_segbit = "39_2367" }
{ unknown_bit = "000826a7_74_15", unknown_segment = "0x00082680", unknown_segbit = "39_2383" }
{ unknown_bit = "000826a7_74_17", unknown_segment = "0x00082680", unknown_segbit = "39_2385" }
{ unknown_bit = "000826a7_74_19", unknown_segment = "0x00082680", unknown_segbit = "39_2387" }
{ unknown_bit = "000826a7_74_1", unknown_segment = "0x00082680", unknown_segbit = "39_2369" }
{ unknown_bit = "000826a7_74_5", unknown_segment = "0x00082680", unknown_segbit = "39_2373" }
{ unknown_bit = "000826a7_74_7", unknown_segment = "0x00082680", unknown_segbit = "39_2375" }
{ unknown_bit = "000826a7_74_9", unknown_segment = "0x00082680", unknown_segbit = "39_2377" }
{ unknown_bit = "000826a7_87_1", unknown_segment = "0x00082680", unknown_segbit = "39_2785" }
{ unknown_bit = "000826a7_88_15", unknown_segment = "0x00082680", unknown_segbit = "39_2831" }
{ unknown_bit = "000826a7_88_17", unknown_segment = "0x00082680", unknown_segbit = "39_2833" }
{ unknown_bit = "000826a7_88_1", unknown_segment = "0x00082680", unknown_segbit = "39_2817" }
{ unknown_bit = "0040001c_71_18", unknown_segment = "0x00400000", unknown_segbit = "28_2290" }
{ unknown_bit = "0040001d_29_13", unknown_segment = "0x00400000", unknown_segbit = "29_941" }
{ unknown_bit = "0040001d_66_13", unknown_segment = "0x00400000", unknown_segbit = "29_2125" }
{ unknown_bit = "0040001e_11_9", unknown_segment = "0x00400000", unknown_segbit = "30_361" }
{ unknown_bit = "0040001e_28_3", unknown_segment = "0x00400000", unknown_segbit = "30_899" }
{ unknown_bit = "0040001f_28_22", unknown_segment = "0x00400000", unknown_segbit = "31_918" }
{ unknown_bit = "0040001f_93_22", unknown_segment = "0x00400000", unknown_segbit = "31_2998" }
{ unknown_bit = "00400020_10_16", unknown_segment = "0x00400000", unknown_segbit = "32_336" }
{ unknown_bit = "00400020_28_2", unknown_segment = "0x00400000", unknown_segbit = "32_898" }
{ unknown_bit = "00400020_93_2", unknown_segment = "0x00400000", unknown_segbit = "32_2978" }
{ unknown_bit = "00400021_11_29", unknown_segment = "0x00400000", unknown_segbit = "33_381" }
{ unknown_bit = "00400021_29_15", unknown_segment = "0x00400000", unknown_segbit = "33_943" }
{ unknown_bit = "00400021_94_15", unknown_segment = "0x00400000", unknown_segbit = "33_3023" }
{ unknown_bit = "00400026_11_0", unknown_segment = "0x00400000", unknown_segbit = "38_352" }
{ unknown_bit = "00400026_11_12", unknown_segment = "0x00400000", unknown_segbit = "38_364" }
{ unknown_bit = "00400026_11_16", unknown_segment = "0x00400000", unknown_segbit = "38_368" }
{ unknown_bit = "00400026_11_2", unknown_segment = "0x00400000", unknown_segbit = "38_354" }
{ unknown_bit = "00400026_29_0", unknown_segment = "0x00400000", unknown_segbit = "38_928" }
{ unknown_bit = "00400026_29_30", unknown_segment = "0x00400000", unknown_segbit = "38_958" }
{ unknown_bit = "00400026_66_30", unknown_segment = "0x00400000", unknown_segbit = "38_2142" }
{ unknown_bit = "00400026_72_16", unknown_segment = "0x00400000", unknown_segbit = "38_2320" }
{ unknown_bit = "00400026_90_30", unknown_segment = "0x00400000", unknown_segbit = "38_2910" }
{ unknown_bit = "00400026_94_0", unknown_segment = "0x00400000", unknown_segbit = "38_3008" }
{ unknown_bit = "00400027_11_17", unknown_segment = "0x00400000", unknown_segbit = "39_369" }
{ unknown_bit = "00400027_11_1", unknown_segment = "0x00400000", unknown_segbit = "39_353" }
{ unknown_bit = "00400027_11_23", unknown_segment = "0x00400000", unknown_segbit = "39_375" }
{ unknown_bit = "00400027_29_19", unknown_segment = "0x00400000", unknown_segbit = "39_947" }
{ unknown_bit = "00400027_29_31", unknown_segment = "0x00400000", unknown_segbit = "39_959" }
{ unknown_bit = "00400027_29_7", unknown_segment = "0x00400000", unknown_segbit = "39_935" }
{ unknown_bit = "00400027_66_19", unknown_segment = "0x00400000", unknown_segbit = "39_2131" }
{ unknown_bit = "00400027_66_31", unknown_segment = "0x00400000", unknown_segbit = "39_2143" }
{ unknown_bit = "00400027_66_7", unknown_segment = "0x00400000", unknown_segbit = "39_2119" }
{ unknown_bit = "00400027_72_15", unknown_segment = "0x00400000", unknown_segbit = "39_2319" }
{ unknown_bit = "00400027_72_17", unknown_segment = "0x00400000", unknown_segbit = "39_2321" }
{ unknown_bit = "00400027_72_1", unknown_segment = "0x00400000", unknown_segbit = "39_2305" }
{ unknown_bit = "00400027_90_19", unknown_segment = "0x00400000", unknown_segbit = "39_2899" }
{ unknown_bit = "00400027_90_21", unknown_segment = "0x00400000", unknown_segbit = "39_2901" }
{ unknown_bit = "00400027_90_31", unknown_segment = "0x00400000", unknown_segbit = "39_2911" }
{ unknown_bit = "00400027_90_7", unknown_segment = "0x00400000", unknown_segbit = "39_2887" }
{ unknown_bit = "00400027_94_19", unknown_segment = "0x00400000", unknown_segbit = "39_3027" }
{ unknown_bit = "00400027_94_7", unknown_segment = "0x00400000", unknown_segbit = "39_3015" }
{ unknown_bit = "0040269c_59_18", unknown_segment = "0x00402680", unknown_segbit = "28_1906" }
{ unknown_bit = "0040269d_49_13", unknown_segment = "0x00402680", unknown_segbit = "29_1581" }
{ unknown_bit = "0040269d_78_13", unknown_segment = "0x00402680", unknown_segbit = "29_2509" }
{ unknown_bit = "0040269e_60_9", unknown_segment = "0x00402680", unknown_segbit = "30_1929" }
{ unknown_bit = "0040269e_88_9", unknown_segment = "0x00402680", unknown_segbit = "30_2825" }
{ unknown_bit = "0040269e_96_9", unknown_segment = "0x00402680", unknown_segbit = "30_3081" }
{ unknown_bit = "0040269f_60_28", unknown_segment = "0x00402680", unknown_segbit = "31_1948" }
{ unknown_bit = "004026a0_59_16", unknown_segment = "0x00402680", unknown_segbit = "32_1904" }
{ unknown_bit = "004026a0_87_16", unknown_segment = "0x00402680", unknown_segbit = "32_2800" }
{ unknown_bit = "004026a0_95_16", unknown_segment = "0x00402680", unknown_segbit = "32_3056" }
{ unknown_bit = "004026a1_60_29", unknown_segment = "0x00402680", unknown_segbit = "33_1949" }
{ unknown_bit = "004026a1_88_29", unknown_segment = "0x00402680", unknown_segbit = "33_2845" }
{ unknown_bit = "004026a1_96_29", unknown_segment = "0x00402680", unknown_segbit = "33_3101" }
{ unknown_bit = "004026a6_48_14", unknown_segment = "0x00402680", unknown_segbit = "38_1550" }
{ unknown_bit = "004026a6_48_16", unknown_segment = "0x00402680", unknown_segbit = "38_1552" }
{ unknown_bit = "004026a6_48_30", unknown_segment = "0x00402680", unknown_segbit = "38_1566" }
{ unknown_bit = "004026a6_49_30", unknown_segment = "0x00402680", unknown_segbit = "38_1598" }
{ unknown_bit = "004026a6_59_0", unknown_segment = "0x00402680", unknown_segbit = "38_1888" }
{ unknown_bit = "004026a6_59_12", unknown_segment = "0x00402680", unknown_segbit = "38_1900" }
{ unknown_bit = "004026a6_60_0", unknown_segment = "0x00402680", unknown_segbit = "38_1920" }
{ unknown_bit = "004026a6_60_2", unknown_segment = "0x00402680", unknown_segbit = "38_1922" }
{ unknown_bit = "004026a6_77_14", unknown_segment = "0x00402680", unknown_segbit = "38_2478" }
{ unknown_bit = "004026a6_77_16", unknown_segment = "0x00402680", unknown_segbit = "38_2480" }
{ unknown_bit = "004026a6_77_30", unknown_segment = "0x00402680", unknown_segbit = "38_2494" }
{ unknown_bit = "004026a6_78_30", unknown_segment = "0x00402680", unknown_segbit = "38_2526" }
{ unknown_bit = "004026a6_87_12", unknown_segment = "0x00402680", unknown_segbit = "38_2796" }
{ unknown_bit = "004026a6_88_0", unknown_segment = "0x00402680", unknown_segbit = "38_2816" }
{ unknown_bit = "004026a6_88_2", unknown_segment = "0x00402680", unknown_segbit = "38_2818" }
{ unknown_bit = "004026a6_95_12", unknown_segment = "0x00402680", unknown_segbit = "38_3052" }
{ unknown_bit = "004026a6_96_0", unknown_segment = "0x00402680", unknown_segbit = "38_3072" }
{ unknown_bit = "004026a6_96_2", unknown_segment = "0x00402680", unknown_segbit = "38_3074" }
{ unknown_bit = "004026a7_48_15", unknown_segment = "0x00402680", unknown_segbit = "39_1551" }
{ unknown_bit = "004026a7_49_19", unknown_segment = "0x00402680", unknown_segbit = "39_1587" }
{ unknown_bit = "004026a7_49_31", unknown_segment = "0x00402680", unknown_segbit = "39_1599" }
{ unknown_bit = "004026a7_49_7", unknown_segment = "0x00402680", unknown_segbit = "39_1575" }
{ unknown_bit = "004026a7_59_1", unknown_segment = "0x00402680", unknown_segbit = "39_1889" }
{ unknown_bit = "004026a7_59_23", unknown_segment = "0x00402680", unknown_segbit = "39_1911" }
{ unknown_bit = "004026a7_60_15", unknown_segment = "0x00402680", unknown_segbit = "39_1935" }
{ unknown_bit = "004026a7_60_1", unknown_segment = "0x00402680", unknown_segbit = "39_1921" }
{ unknown_bit = "004026a7_60_23", unknown_segment = "0x00402680", unknown_segbit = "39_1943" }
{ unknown_bit = "004026a7_77_15", unknown_segment = "0x00402680", unknown_segbit = "39_2479" }
{ unknown_bit = "004026a7_78_19", unknown_segment = "0x00402680", unknown_segbit = "39_2515" }
{ unknown_bit = "004026a7_78_31", unknown_segment = "0x00402680", unknown_segbit = "39_2527" }
{ unknown_bit = "004026a7_78_7", unknown_segment = "0x00402680", unknown_segbit = "39_2503" }
{ unknown_bit = "004026a7_87_23", unknown_segment = "0x00402680", unknown_segbit = "39_2807" }
{ unknown_bit = "004026a7_88_15", unknown_segment = "0x00402680", unknown_segbit = "39_2831" }
{ unknown_bit = "004026a7_88_1", unknown_segment = "0x00402680", unknown_segbit = "39_2817" }
{ unknown_bit = "004026a7_88_23", unknown_segment = "0x00402680", unknown_segbit = "39_2839" }
{ unknown_bit = "004026a7_95_23", unknown_segment = "0x00402680", unknown_segbit = "39_3063" }
{ unknown_bit = "004026a7_96_15", unknown_segment = "0x00402680", unknown_segbit = "39_3087" }
{ unknown_bit = "004026a7_96_1", unknown_segment = "0x00402680", unknown_segbit = "39_3073" }
{ unknown_bit = "004026a7_96_23", unknown_segment = "0x00402680", unknown_segbit = "39_3095" }
litghost commented 4 years ago

So that doesn't look too bad. As expected, there are some missing bits that will need to be investigated. Based on past experience, most of those are bits are likely from the IO tiles, but you'd need to confirm. What did you do with the IOB18 tiles? If you only copied the segbits, that wouldn't be enough. You need to update 005-tilegrid to make sure you have base addresses for the IOB18 and IOI18 tiles.

the-centry commented 4 years ago

So that doesn't look too bad. As expected, there are some missing bits that will need to be investigated. Based on past experience, most of those are bits are likely from the IO tiles, but you'd need to confirm. What did you do with the IOB18 tiles? If you only copied the segbits, that wouldn't be enough. You need to update 005-tilegrid to make sure you have base addresses for the IOB18 and IOI18 tiles.

Yea,Through the tilegrid.json genereted by 005,I found that the base addressess of IOB18 exist,but the IOI18 you mentioned did't exist and it maybe is IOI in tilegrid.json.In my mind, it maybe the problem of 030,because I only changed the 030 to generate IOB18's segbits_iob18.db.Whether the problem is the incomplete of the segbits_iob18.db generated by 030.The second question is that whether I could use this database to run symbiflow and then complets the dababase little by little.

litghost commented 4 years ago

Yea,Through the tilegrid.json genereted by 005,I found that the base addressess of IOB18 exist,but the IOI18 you mentioned did't exist and it maybe is IOI in tilegrid.json.In my mind, it maybe the problem of 030,because I only changed the 030 to generate IOB18's segbits_iob18.db.Whether the problem is the incomplete of the segbits_iob18.db generated by 030.

Please create a PR with your initial changes. It sounds like a good start, and something that can be built on.

The second question is that whether I could use this database to run symbiflow and then complets the dababase little by little.

You would need to do some analysis to determine where the missing bits are. If all of the missing bits are in the IO columns to the left and right of the chip, then you could potential create an ROI that excludes the IO columns. Creating an ROI is somewhat fragile, and we've pretty much deprecated support for ROI's that have unknown bits in them. However you could recreate some of that to support your use case.

My strong recommendation is to first get your test design fully decoding before you attempt to stand up arch-defs. This is not required, but will make it much easier to debug what is going on if designs output from arch-defs are not working.

the-centry commented 4 years ago

Yea,Through the tilegrid.json genereted by 005,I found that the base addressess of IOB18 exist,but the IOI18 you mentioned did't exist and it maybe is IOI in tilegrid.json.In my mind, it maybe the problem of 030,because I only changed the 030 to generate IOB18's segbits_iob18.db.Whether the problem is the incomplete of the segbits_iob18.db generated by 030.

Please create a PR with your initial changes. It sounds like a good start, and something that can be built on.

The second question is that whether I could use this database to run symbiflow and then complets the dababase little by little.

You would need to do some analysis to determine where the missing bits are. If all of the missing bits are in the IO columns to the left and right of the chip, then you could potential create an ROI that excludes the IO columns. Creating an ROI is somewhat fragile, and we've pretty much deprecated support for ROI's that have unknown bits in them. However you could recreate some of that to support your use case.

My strong recommendation is to first get your test design fully decoding before you attempt to stand up arch-defs. This is not required, but will make it much easier to debug what is going on if designs output from arch-defs are not working.

OK!Thanks so much!

zjenny09 commented 4 years ago

Yea,Through the tilegrid.json genereted by 005,I found that the base addressess of IOB18 exist,but the IOI18 you mentioned did't exist and it maybe is IOI in tilegrid.json.In my mind, it maybe the problem of 030,because I only changed the 030 to generate IOB18's segbits_iob18.db.Whether the problem is the incomplete of the segbits_iob18.db generated by 030.

Please create a PR with your initial changes. It sounds like a good start, and something that can be built on.

The second question is that whether I could use this database to run symbiflow and then complets the dababase little by little.

You would need to do some analysis to determine where the missing bits are. If all of the missing bits are in the IO columns to the left and right of the chip, then you could potential create an ROI that excludes the IO columns. Creating an ROI is somewhat fragile, and we've pretty much deprecated support for ROI's that have unknown bits in them. However you could recreate some of that to support your use case.

My strong recommendation is to first get your test design fully decoding before you attempt to stand up arch-defs. This is not required, but will make it much easier to debug what is going on if designs output from arch-defs are not working.

I noticed that an roi parameter(design.json) is used when creating synth_tiles.json. Should I create a design.json, if I want to create an ROI?

litghost commented 4 years ago

Logic for building the harness is located at:https://github.com/SymbiFlow/prjxray/tree/master/minitests/roi_harness

GitHub
SymbiFlow/prjxray
Documenting the Xilinx 7-series bit-stream format. - SymbiFlow/prjxray
zjenny09 commented 4 years ago

Logic for building the harness is located at:https://github.com/SymbiFlow/prjxray/tree/master/minitests/roi_harness

GitHubSymbiFlow/prjxrayDocumenting the Xilinx 7-series bit-stream format. - SymbiFlow/prjxray

When I tried to generate a design.json for kintex7 through minitest, I found that void wires appeared, such as follows: { "name": "dout[0]", "node": "INT_RX23Y95/LH12", "pin": "L25", "type": "out", **"wire": "", "wires_outsideroi": [] }, { "name": "dout[1]", "node": "INT_R_X23Y97/LH12", "pin": "M19", "type": "out", _"wire": "", "wires_outsideroi": []** } ], "required_features": [ "", "CLK_BUFG_BOT_R_X67Y100.BUFGCTRL.BUFGCTRL_X0Y0.IN_USE", "CLK_BUFG_BOT_R_X67Y100.BUFGCTRL.BUFGCTRL_X0Y0.IS_IGNORE1_INVERTED", "CLK_BUFG_BOT_R_X67Y100.BUFGCTRL.BUFGCTRL_X0Y0.ZINV_CE0", "CLK_BUFG_BOT_R_X67Y100.BUFGCTRL.BUFGCTRL_X0Y0.ZINV_S0", "CLK_BUFG_BOT_R_X67Y100.CLK_BUFG_BUFGCTRL0_I0.CLK_BUFG_IMUX28_0", "CLK_BUFG_BOT_R_X67Y100.CLK_BUFG_BUFGCTRL0_I1.CLK_BUFG_IMUX28_0", "CLK_BUFG_BOT_R_X67Y100.CLK_BUFG_BUFGCTRL1_I0.CLK_BUFG_IMUX29_0", "CLK_BUFG_BOT_R_X67Y100.CLK_BUFG_BUFGCTRL1_I1.CLK_BUFG_IMUX29_0", "CLK_BUFG_BOT_R_X67Y100.CLK_BUFG_BUFGCTRL2_I0.CLK_BUFG_IMUX30_0", "CLK_BUFG_BOT_R_X67Y100.CLK_BUFG_BUFGCTRL2_I1.CLK_BUFG_IMUX30_0", "CLK_BUFG_BOT_R_X67Y100.CLK_BUFG_BUFGCTRL3_I0.CLK_BUFG_IMUX31_0", "CLK_BUFG_BOT_R_X67Y100.CLK_BUFG_BUFGCTRL3_I1.CLK_BUFG_IMUX31_0", "CLK_BUFG_BOT_R_X67Y100.CLK_BUFG_BUFGCTRL4_I0.CLK_BUFG_IMUX28_1", The void wires made the generation of synth_tiles.json failed. How should I deal with them?

GitHub
SymbiFlow/prjxray
Documenting the Xilinx 7-series bit-stream format. - SymbiFlow/prjxray
KKtiandao commented 2 years ago

@the-centry hi, have you added iob1.8 and ioi for k7 sucessfully? I saw EXCLUDE_ROI is null in kintex7.sh. image

mithro commented 2 years ago

Hopefully interesting links;

GitHub
GitHub - kazkojima/db-workspace-for-kintex7: workspace for prjxray DB for kintex7
workspace for prjxray DB for kintex7. Contribute to kazkojima/db-workspace-for-kintex7 development by creating an account on GitHub.
GitHub
Kintex Chatter
Forum and launchpad toward open-source Kintex7 design - Kintex Chatter
hansfbaier commented 2 years ago

@the-centry I started implementing an IOB18-fuzzer and we already (with manual hacks) got a blinky (button on IOB18 -> LED on IOB33) running. See this pull request: https://github.com/f4pga/prjxray/pull/1867

maij commented 11 months ago

I'm not sure why this issue was closed since k7 devices are still not part of the arch-defs yet. Is there any plan to integrate k7 devices into this flow now that there has been considerable progress in prjxray?

I'm new to this flow, so it's hard to understand how I might do this myself.

hansfbaier commented 11 months ago

You can use the openXC7 toolchain for Kintex.

the-centry commented 11 months ago

I'm not sure why this issue was closed since k7 devices are still not part of the arch-defs yet. Is there any plan to integrate k7 devices into this flow now that there has been considerable progress in prjxray?

I'm new to this flow, so it's hard to understand how I might do this myself.

According to my tried, there were some wrong data in the timing data and bells.json. And it seems that this flow has been abandoned, scholars research on nextpnr.

the-centry commented 11 months ago

@the-centry I started implementing an IOB18-fuzzer and we already (with manual hacks) got a blinky (button on IOB18 -> LED on IOB33) running. See this pull request: f4pga/prjxray#1867

Such a greate work, I am soory for getting the information so late!