package Ġcom . fa endir . om . parser . pu zzle . model Ċ Ċ data Ġclass ĠProduction Info ( ĊĠĠĠ Ġvar Ġshrink Left : ĠBoolean , ĊĠĠĠ Ġvar Ġshrink Right : ĠBoolean , ĊĠĠĠ Ġvar Ġisolate Inputs From Outputs : ĠBoolean , ĊĠĠĠ Ġvar Ġcab in ets : ĠList < Cab inet >, ĊĠĠĠ Ġvar Ġcon du its : ĠList < Con duit >, ĊĠĠĠ Ġvar Ġv ial s : ĠList < V ial > Ċ ) Ċ Ċ data Ġclass ĠCab inet ( var Ġhex Index : ĠHex Index , Ġvar Ġtype : ĠCab inet Type ) Ċ Ċ enum Ġclass ĠCab inet Type ( internal Ġval Ġid : ĠString ) Ġ{ ĊĠĠĠ ĠSMALL (" Small "), ĊĠĠĠ ĠSMALL _ W IDE (" Small Wide "), ĊĠĠĠ ĠSMALL _ WID ER (" Small W ider "), ĊĠĠĠ ĠMED IUM (" Medium "), ĊĠĠĠ ĠMED IUM _ W IDE (" Medium Wide "), ĊĠĠĠ ĠL ARGE (" Large "); ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom String ( id : ĠString ): ĠCab inet Type ? Ġ= Ġvalues (). find Ġ{ Ġit . id Ġ== Ġid Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠCon duit ( ĊĠĠĠ Ġvar Ġhex Index A : ĠHex Index , ĊĠĠĠ Ġvar Ġhex Index B : ĠHex Index , ĊĠĠĠ Ġvar Ġoffsets : ĠList < Hex Index > Ċ ) Ċ Ċ data Ġclass ĠV ial ( ĊĠĠĠ Ġvar Ġhex Index : ĠHex Index , ĊĠĠĠ Ġvar Ġstyle : ĠV ial Style , ĊĠĠĠ Ġvar Ġcount : ĠInt Ġ// values Ġ 0 - 3 Ċ ) Ċ Ċ enum Ġclass ĠV ial Style Ġ{ ĊĠĠĠ ĠTOP , ĊĠĠĠ ĠBOTTOM Ċ } ĊĊ