Mutably borrows from an owned value. Read more
diff --git a/docs/search-index.js b/docs/search-index.js
index 45ff04f9..8c26927a 100644
--- a/docs/search-index.js
+++ b/docs/search-index.js
@@ -1,5 +1,5 @@
var searchIndex = JSON.parse('{\
-"chiquito":{"doc":"","t":[0,0,0,0,0,3,3,4,13,6,3,3,6,3,6,3,13,3,3,13,3,6,3,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,0,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,13,4,13,13,13,13,13,13,8,8,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,12,12,12,12,12,12,12,12,13,13,13,13,13,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,3,13,3,4,3,3,3,13,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,0,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,13,3,4,13,5,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,12,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,5,5,5,5,5,5,5,5,5,11,11,11,11,11,11,11,11,12,5,11,11,5,5,3,8,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,17,5,5,5,0,0,0,0,0,3,3,3,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,0,11,11,5,5,5,5,11,11,11,11,11,11,0,11,11,11,11,11,8,3,3,3,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,12,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,6,3,3,8,3,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,3,3,4,13,13,13,13,13,13,13,3,4,3,13,13,13,11,12,12,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,3,6,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,6,3,3,6,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,6,3,3,6,3,3,3,6,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["ast","frontend","plonkish","stdlib","wit_gen","Circuit","Constraint","ExposeOffset","First","FixedGen","FixedSignal","ForwardSignal","ImportedHalo2Advice","ImportedHalo2Column","ImportedHalo2Fixed","InternalSignal","Last","Lookup","SharedSignal","Step","StepType","StepTypeUUID","TransitionConstraint","add","add_constr","add_fixed","add_forward","add_halo2_advice","add_halo2_fixed","add_shared","add_signal","add_step_type","add_step_type_def","add_transition","annotation","annotation","annotation","annotations","annotations","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","column","constraints","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable","enable","eq","eq","eq","eq","eq","eq","expose","exposed","expr","expr","expr","exprs","first_step","fixed_gen","fixed_signals","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward_signals","from","from","from","from","from","from","from","from","from","from","from","get_step_type","halo2_advice","halo2_fixed","hash","hash","hash","hash","hash","hash","id","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","last_step","lookups","name","new","new","new","new","new_with_id","new_with_id","new_with_id","new_with_id","new_with_phase","new_with_phase","num_steps","phase","phase","q_enable","set_fixed_gen","set_trace","shared_signals","signals","step_types","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","trace","transition_constraints","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uuid","uuid","uuid","uuid","uuid","uuid","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","Const","Expr","Halo2Expr","Mul","Neg","Pow","Query","Sum","ToExpr","ToField","add","borrow","borrow_mut","clone","clone_into","deref","deref_mut","deserialize","drop","expr","expr","field","fmt","from","from","from","from","from","from","from","from","from","from","init","into","mul","neg","query","sub","to_owned","try_from","try_into","type_id","vzip","0","0","0","0","0","0","0","1","Fixed","Forward","Halo2AdviceQuery","Halo2FixedQuery","Internal","Queriable","Shared","StepTypeNext","_unaccessible","add","annotation","borrow","borrow_mut","clone","clone_into","deref","deref_mut","deserialize","drop","eq","expr","fmt","from","hash","init","into","mul","neg","next","prev","rot","sub","to_owned","try_from","try_into","type_id","uuid","vzip","0","0","0","0","0","0","0","0","1","1","1","1","1","dsl","pychiquito","CircuitContext","Handler","StepTypeContext","StepTypeDefInput","StepTypeHandler","StepTypeSetupContext","StepTypeWGHandler","String","add_lookup","annotation","annotation","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cb","circuit","clone","clone_into","constr","constr","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","drop","drop","eq","expose","fixed","fixed_gen","fmt","fmt","forward","forward_with_phase","from","from","from","from","from","from","from","from","from","hash","import_halo2_advice","import_halo2_fixed","init","init","init","init","init","init","internal","into","into","into","into","into","into","lb","new","new","new_table","new_with_id","next","pragma_disable_q_enable","pragma_first_step","pragma_last_step","pragma_num_steps","sc","setup","shared","shared_with_phase","step_type","step_type_def","to_owned","trace","transition","transition","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","uuid","uuid","vzip","vzip","vzip","vzip","vzip","vzip","wg","wg","0","0","AntiBooly","Boolean","Constraint","Typing","Unknown","and","annotate","annotation","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","eq","eq","expr","fmt","fmt","from","from","from","from","from","from","from","from","from","from","if_next_step","init","init","into","into","isz","lookup","next_step_must_be","next_step_must_not_be","not","or","rlc","select","table","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","typing","unless","vzip","vzip","when","xor","InPlaceLookupBuilder","LookupBuilder","LookupTable","LookupTableBuilder","LookupTableRegistry","LookupTableStore","add","add","add","apply","apply","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","clone","clone","clone","clone_into","clone_into","clone_into","default","default","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","enable","fmt","fmt","fmt","from","from","from","from","from","get","init","init","init","init","init","into","into","into","into","into","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","uuid","vzip","vzip","vzip","vzip","vzip","when","when","SuperCircuitContext","borrow","borrow_mut","default","deref","deref_mut","drop","from","init","into","mapping","sub_circuit","super_circuit","try_from","try_into","type_id","vzip","CIRCUIT_MAP","chiquito_ast_to_halo2","chiquito_halo2_mock_prover","uuid_to_halo2","backend","compiler","ir","halo2","plaf","ChiquitoHalo2","ChiquitoHalo2Circuit","ChiquitoHalo2SuperCircuit","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","chiquito2Halo2","chiquitoSuperCircuit2Halo2","clone","clone","clone_into","clone_into","configure","configure","configure","configure_sub_circuit","configure_with_params","configure_with_params","debug","default","default","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","from","from","from","init","init","init","into","into","into","new","new","new","params","params","synthesize","synthesize","synthesize","to_halo2_advice","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","without_witnesses","without_witnesses","ChiquitoPlaf","ChiquitoPlafWitGen","borrow","borrow","borrow_mut","borrow_mut","chiquito2Plaf","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","from","from","generate","get_plaf","init","init","into","into","new","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","CompilerConfig","borrow","borrow_mut","cell_manager","clone","clone_into","compile","compile_phase1","compile_phase2","config","deref","deref_mut","drop","from","init","into","step_selector","to_owned","try_from","try_into","type_id","vzip","CellManager","MaxWidthCellManager","Placement","SignalPlacement","SingleRowCellManager","StepPlacement","base_height","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","column","columns","default","default","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","find_internal_signal_placement","first_step_height","fixed","fmt","fmt","fmt","fmt","fmt","forward","from","from","from","from","from","from","get_fixed_placement","get_forward_placement","get_shared_placement","init","init","init","init","init","into","into","into","into","into","new","place","place","place","rotation","same_height","shared","step_height","steps","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","SelectorAssignment","SimpleStepSelectorBuilder","StepSelector","StepSelectorBuilder","TwoStepsSelectorBuilder","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","build","build","build","clone","clone","clone","clone_into","clone_into","clone_into","columns","default","default","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","fmt","from","from","from","get_selector_assignment","halo2_column","hint_one","init","init","init","into","into","into","next_expr","select","selector_assignment","selector_expr","selector_expr_not","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unselect","vzip","vzip","vzip","Advice","Circuit","Column","ColumnType","Const","Fixed","Halo2Advice","Halo2Expr","Halo2Fixed","Mul","Neg","Poly","PolyExpr","PolyLookup","Pow","Query","Sum","advice","annotation","annotation","annotation","assignments","ast_id","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","columns","ctype","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","eq","exposed","expr","exprs","fixed","fixed_assignments","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","halo2_advice","halo2_fixed","hash","hash","id","init","init","init","init","init","init","into","into","into","into","into","into","lookups","new_halo2_advice","new_halo2_fixed","phase","polys","rotate","sc","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","uuid","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","0","0","0","0","1","1","2","AssignmentGenerator","Assignments","borrow","borrow_mut","clone","clone_into","default","deref","deref_mut","drop","empty","from","generate","generate_with_witness","init","into","new","to_owned","try_from","try_into","type_id","uuid","vzip","Mapping","MappingContext","MappingGenerator","SuperAssignments","SuperCircuit","add_sub_circuit","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","default","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","from","from","from","generate","get_mapping","get_sub_circuits","init","init","init","into","into","into","map","new","set_mapping","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","IsZero","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","is_zero","setup","try_from","try_into","type_id","vzip","wg","FixedAssignment","FixedGenContext","StepInstance","Trace","TraceContext","TraceGenerator","TraceWitness","Witness","add","assign","assign","assignments","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","default","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","drop","drop","fmt","fmt","fmt","from","from","from","from","from","generate","get_assignments","get_witness","init","init","init","init","init","into","into","into","into","into","new","new","new","new","padding","step_instances","step_type_uuid","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip"],"q":["chiquito","","","","","chiquito::ast","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::ast::ExposeOffset","chiquito::ast::expr","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::ast::expr::Expr","","","","","","","","chiquito::ast::expr::query","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::ast::expr::query::Queriable","","","","","","","","","","","","","chiquito::frontend","","chiquito::frontend::dsl","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::frontend::dsl::StepTypeDefInput","","chiquito::frontend::dsl::cb","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::frontend::dsl::lb","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::frontend::dsl::sc","","","","","","","","","","","","","","","","","chiquito::frontend::pychiquito","","","","chiquito::plonkish","","","chiquito::plonkish::backend","","chiquito::plonkish::backend::halo2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::backend::plaf","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::compiler","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::compiler::cell_manager","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::compiler::step_selector","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::ir","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::ir::PolyExpr","","","","","","","","","","chiquito::plonkish::ir::assignments","","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::ir::sc","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::stdlib","","","","","","","","","","","","","","","","chiquito::wit_gen","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","Circuit","Condition","","","","","ForwardSignal","","","","","","","","","Step","","TransitionCondition","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls
U::from(self)
.","","","Call
next
function on a
Querible
forward signal to build …","Call
prev
function on a
Querible
shared signal to build …","Call
rot
function on a
Querible
shared signal to build …","","","","","","","","","","","","","","","","","","","","","","","A generic structure designed to handle the context of a …","","A generic structure designed to handle the context of a …","","","","","","Adds a lookup to the step type.","","","","","","","","","","","","","","","","Creates a
Circuit
instance by providing a name and a …","","","DEPRECATED","Adds a constraint to the step type. Involves internal …","","","","","","","","","","","","","","","","","","","","","Exposes the first step instance value of a forward signal …","","Sets the fixed generation function for the circuit. The …","","","Adds a forward signal to the circuit with a name string …","Adds a forward signal to the circuit with a name string …","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Imports a halo2 advice column with a name string into the …","Imports a halo2 fixed column with a name string into the …","","","","","","","Adds an internal signal to the step type with the given …","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","Enforce the type of the first step by adding a constraint …","Enforce the type of the last step by adding a constraint …","","","Define step constraints.","Adds a shared signal to the circuit with a name string and …","Adds a shared signal to the circuit with a name string and …","Adds a new step type with the specified name to the …","Defines a step type using the provided
StepTypeHandler
and …","","Sets the trace function that builds the witness. The trace …","DEPRECATED","Adds a transition constraint to the step type. It’s the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Represents a constraint with an associated annotation and …","","","Takes an iterator of input constraints and returns a new …","Takes a string annotation and an expression, and returns a …","","","","","","","","","","","","","","","","Takes two constraints and returns a new constraint …","","","","","","Returns the argument unchanged.","","","","","","","","Returns the argument unchanged.","Takes a
StepTypeHandler
and a constraint, and returns a …","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Takes a constraint and returns a new constraint …","Creates a new empty
LookupBuilder
object and returns it. …","Takes a
StepTypeHandler
and returns a new constraint that …","Takes a
StepTypeHandler
and returns a new constraint that …","Takes a constraint and returns a new constraint …","Takes an iterator of input constraints and returns a new …","Computes the randomized linear combination of the given …","Takes a selector constraint and two other constraints, and …","","","","","","","","","","","Takes a selector constraint and a
when_false
constraint, …","","","Takes a selector constraint and a
when_true
constraint, …","Takes two expressions and returns a new expression …","A helper struct for building lookup tables.","","","","","","Adds a source column-lookup column pair to the lookup …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Adds a selector column specific to the lookup table. …","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","Adds a selector column specific to the lookup table. …","Adds a selector column specific to the lookup table. …","","","","","","","","Returns the argument unchanged.","","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls
U::from(self)
.","","","","","","","","","A struct that can be used a fixed column generation …","A struct that represents a witness generation context. It …","","","","","","","Takes a
Queriable
object representing the fixed column …","Takes a
Queriable
object representing the witness column …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,24,0,0,24,0,0,0,3,6,7,7,7,7,7,6,7,7,6,22,23,3,6,7,6,7,22,23,3,11,18,9,24,19,26,6,7,22,23,3,11,18,9,24,19,26,7,22,23,3,11,18,9,24,19,26,7,22,23,3,11,18,9,24,19,26,26,6,7,3,6,7,22,23,3,11,18,9,24,19,26,6,7,22,23,3,11,18,9,24,19,26,6,7,22,23,11,18,9,24,19,6,7,22,23,3,11,18,9,24,19,26,3,3,6,11,18,9,19,26,7,7,0,22,23,3,7,7,7,6,7,22,23,11,18,9,19,26,7,6,7,22,23,3,11,18,9,24,19,26,7,7,7,6,11,18,9,19,26,7,6,7,22,23,3,11,18,9,24,19,26,6,7,22,23,3,11,18,9,24,19,26,7,6,6,6,9,19,26,11,18,9,19,11,18,7,11,18,7,7,7,7,6,7,7,22,23,3,11,18,9,24,19,26,7,6,6,7,22,23,3,11,18,9,24,19,26,6,7,22,23,3,11,18,9,24,19,26,6,7,22,23,3,11,18,9,24,19,26,6,11,18,9,19,26,6,7,22,23,3,11,18,9,24,19,26,109,5,0,5,5,5,5,5,5,0,0,5,5,5,5,5,5,5,5,5,110,5,111,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,5,5,5,5,5,5,112,113,114,115,116,117,118,116,31,31,31,31,31,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,119,120,121,122,123,124,125,126,120,121,122,124,125,0,0,0,50,0,0,0,0,0,50,46,51,20,50,48,46,51,49,20,50,48,46,51,49,20,0,0,20,20,48,46,50,48,46,51,49,20,50,48,46,51,49,20,20,50,48,46,51,49,20,20,49,49,49,49,20,49,49,50,50,50,48,46,51,49,20,20,20,49,49,50,48,46,51,49,20,48,50,48,46,51,49,20,0,48,51,49,20,20,49,49,49,49,0,48,49,49,49,49,20,49,48,46,50,48,46,51,49,20,50,48,46,51,49,20,50,48,46,51,49,20,51,20,50,48,46,51,49,20,48,51,127,128,57,57,0,0,57,0,0,41,41,57,41,57,41,57,41,57,41,57,41,57,41,57,0,57,41,41,57,41,41,41,41,41,41,41,41,41,57,0,41,57,41,57,0,0,0,0,0,0,0,0,0,41,57,41,57,41,57,41,57,41,0,41,57,0,0,0,0,0,0,0,0,58,54,52,60,55,58,60,54,52,55,58,60,54,52,55,47,58,60,54,52,55,54,52,55,58,54,52,58,60,54,52,55,58,60,54,52,55,58,60,54,52,55,58,54,52,55,58,60,54,52,55,52,58,60,54,52,55,58,60,54,52,55,54,52,55,58,60,54,52,55,58,60,54,52,55,58,60,54,52,55,54,58,60,54,52,55,60,55,0,61,61,61,61,61,61,61,61,61,61,61,0,61,61,61,61,0,0,0,0,0,0,0,0,0,0,0,0,67,69,71,67,69,71,0,0,67,69,67,69,67,69,71,67,69,71,67,67,69,71,67,69,71,67,69,71,67,69,71,67,71,67,69,71,67,69,71,67,69,71,67,69,71,69,71,67,69,71,0,67,69,67,69,71,67,69,71,67,69,71,67,69,71,69,71,0,0,80,79,80,79,0,79,79,80,79,80,79,80,79,79,80,79,80,79,80,79,80,79,79,79,80,79,80,79,80,79,80,79,0,64,64,0,64,64,0,0,0,0,64,64,64,64,64,64,0,64,64,64,64,64,0,0,0,0,0,0,85,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,85,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,85,85,85,83,84,85,86,87,85,83,83,84,85,86,87,85,85,85,83,84,85,86,87,83,84,85,86,87,83,62,86,87,83,85,85,85,85,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,0,0,0,0,0,90,88,89,90,88,89,63,88,89,90,88,89,90,88,89,90,90,88,89,90,88,89,90,88,89,90,88,89,90,88,89,90,88,89,90,89,89,90,88,89,90,88,89,90,90,90,90,90,90,88,89,90,88,89,90,88,89,90,88,89,90,90,88,89,93,0,0,0,92,93,93,92,93,92,92,0,0,0,92,92,92,77,77,94,95,0,66,66,93,77,94,92,95,66,93,77,94,92,95,66,93,77,94,92,95,66,93,77,94,92,95,66,77,66,66,93,77,94,92,95,66,93,77,94,92,95,66,93,77,94,92,95,77,66,94,95,77,66,66,93,77,94,92,95,66,93,77,94,92,95,77,77,93,77,66,66,93,77,94,92,95,66,93,77,94,92,95,66,77,77,77,66,92,0,66,93,77,94,92,95,66,93,77,94,92,95,66,93,77,94,92,95,66,93,77,94,92,95,77,66,93,77,94,92,95,129,130,131,132,133,134,135,130,134,130,0,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,0,0,0,0,0,65,65,100,99,65,100,99,99,99,65,100,99,65,100,99,65,100,99,65,100,99,65,100,99,99,65,65,65,100,99,65,100,99,100,99,65,99,65,100,99,65,100,99,65,100,99,65,100,99,0,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,0,0,0,0,0,0,0,105,106,104,104,98,106,104,97,105,98,106,104,97,105,98,104,98,104,98,104,97,98,106,104,97,105,98,106,104,97,105,104,97,98,106,104,97,105,104,97,105,98,106,104,97,105,98,106,105,98,106,104,97,105,98,106,104,97,105,98,106,104,105,105,97,104,98,104,98,106,104,97,105,98,106,104,97,105,98,106,104,97,105,98,106,104,97,105],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[3,[[0,[1,2]]]],4,[5,[[0,[1,2]]]],[5,[[0,[1,2]]]]]],[[6,4,5]],[[7,[8,[4]]],9],[[7,[8,[4]],10],11],[[7,12,[14,[13]]],15],[[7,12,[14,[16]]],17],[[7,[8,[4]],10],18],[[6,[8,[4]]],19],[[7,20,[8,[4]]]],[[7,6],21],[[6,4,5]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[7,[2,2]]],[[7,[2,2]]]],[[[22,[2]]],[[22,[2]]]],[[[23,[2]]],[[23,[2]]]],[[[3,[2]]],[[3,[2]]]],[11,11],[18,18],[9,9],[24,24],[19,19],[[[26,[[0,[2,25]]]]],[[26,[[0,[2,25]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],7],[[],3],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[],[[28,[[6,[27]]]]]],[[],[[28,[[7,[27]]]]]],[[],[[28,[[22,[27]]]]]],[[],[[28,[[23,[27]]]]]],[[],[[28,[11]]]],[[],[[28,[18]]]],[[],[[28,[9]]]],[[],[[28,[24]]]],[[],[[28,[19]]]],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[[3,[[0,[1,2]]]],4,[5,[[0,[1,2]]]]]],0,[[6,6],29],[[11,11],29],[[18,18],29],[[9,9],29],[[19,19],29],[[[26,[[0,[30,25]]]],26],29],[[7,31,24]],0,0,0,0,0,0,0,0,[[[6,[1]],32],33],[[[7,[1,1]],32],33],[[[22,[1]],32],33],[[[23,[1]],32],33],[[11,32],33],[[18,32],33],[[9,32],33],[[19,32],33],[[[26,[[0,[1,25]]]],32],33],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[7,34],[[35,[6]]]],0,0,[6],[11],[18],[9],[19],[[[26,[[0,[36,25]]]]]],0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[34,4],6],[4,9],[4,19],[[[14,[25]],4],[[26,[25]]]],[[34,10,4],11],[[34,10,4],18],[[34,4],9],[[34,4],19],[[10,4],11],[[10,4],18],0,[11,10],[18,10],0,[7],[7],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[6,21],[11,34],[18,34],[9,34],[19,34],[[[26,[25]]],34],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[5,[8,[5]]],5],[[]],[[]],[[[5,[2]]],[[5,[2]]]],[[]],[10],[10],[[],[[28,[[5,[27]]]]]],[10],[[],5],[[[5,[2]]],[[5,[2]]]],[[]],[[[5,[1]],32],33],[38,5],[29,[[5,[[40,[39]]]]]],[31,5],[41,5],[42,[[5,[[0,[43,[40,[39]]]]]]]],[10,[[5,[[40,[39]]]]]],[[]],[39,[[5,[[40,[39]]]]]],[44,[[5,[[40,[39]]]]]],[45,[[5,[[40,[39]]]]]],[[],10],[[]],[[5,[8,[5]]],5],[5,5],0,[[5,[8,[5]]],5],[[]],[[],28],[[],28],[[],37],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[31,[2]],[8,[[5,[2]]]]]],[31,4],[[]],[[]],[[[31,[2]]],[[31,[2]]]],[[]],[10],[10],[[],[[28,[[31,[27]]]]]],[10],[[[31,[30]],31],29],[[[31,[2]]],[[5,[2]]]],[[31,32],33],[[]],[[[31,[36]]]],[[],10],[[]],[[[31,[2]],[8,[[5,[2]]]]]],[[[31,[2]]]],[31,31],[31,31],[[31,42],31],[[[31,[2]],[8,[[5,[2]]]]]],[[]],[[],28],[[],28],[[],37],[31,34],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[46,[[0,[1,2]]]],[47,[[0,[1,2]]]]]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[12,7],[20,20],[[]],[[48,[8,[41]]]],[[46,[8,[41]]]],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[],[[28,[20]]]],[10],[10],[10],[10],[10],[10],[[20,20],29],[[49,31,24]],[[49,12],31],[49],[[[49,[1,1]],32],33],[[20,32],33],[[49,12],31],[[49,12,10],31],[20,50],[12,50],[[]],[[]],[[]],[[]],[[]],[51,20],[[]],[20],[[49,12,[14,[13]]],31],[[49,12,[14,[16]]],31],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[48,12],31],[[]],[[]],[[]],[[]],[[]],[[]],0,[[34,4,52],48],[[34,12,53],[[51,[53]]]],[[49,54],55],[[34,4],20],[20,31],[49],[[49,[8,[20]]]],[[49,[8,[20]]]],[[49,10]],0,[48],[[49,12],31],[[49,12,10],31],[[49,12],20],[[49,[8,[50]]],51],[[]],[49],[[48,[8,[41]]]],[[46,[8,[41]]]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[[51,[53]]],34],[20,34],[[]],[[]],[[]],[[]],[[]],[[]],[48,51],0,0,0,0,0,0,0,0,[56,[[41,[[40,[39]]]]]],[[4,[8,[5]],57],41],0,[[]],[[]],[[]],[[]],[[[41,[2]]],[[41,[2]]]],[57,57],[[]],[[]],[10],[10],[10],[10],[10],[10],[[[8,[41]],[8,[41]]],41],[[57,57],29],0,[[41,32],33],[[57,32],33],[45,[[41,[[0,[[40,[39]],1]]]]]],[[]],[31,41],[42,[[41,[[0,[43,[40,[39]],1]]]]]],[[[5,[1]]],[[41,[1]]]],[10,[[41,[[0,[[40,[39]],1]]]]]],[29,[[41,[[0,[[40,[39]],1]]]]]],[39,[[41,[[0,[[40,[39]],1]]]]]],[44,[[41,[[0,[[40,[39]],1]]]]]],[[]],[[[8,[20]],[8,[[41,[2]]]]],[[41,[2]]]],[[],10],[[],10],[[]],[[]],[[[8,[41]]],41],[[],[[58,[[0,[1,2]]]]]],[[[8,[20]]],[[41,[[40,[39]]]]]],[[[8,[20]]],[[41,[[40,[39]]]]]],[[[8,[[41,[[40,[39]]]]]]],[[41,[[40,[39]]]]]],[[[0,[56,2]]],[[41,[[0,[[40,[39]],1]]]]]],[[[0,[[8,[[5,[[40,[39]]]]]],2]]],[[5,[[40,[39]]]]]],[[[8,[[41,[[0,[[40,[39]],2]]]]]],[8,[[41,[[0,[[40,[39]],2]]]]]],[8,[[41,[[0,[[40,[39]],2]]]]]]],[[41,[[0,[[40,[39]],2]]]]]],[[],[[54,[59]]]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],0,[[[8,[[41,[[0,[[40,[39]],2]]]]]],[8,[[41,[[0,[[40,[39]],2]]]]]]],[[41,[[0,[[40,[39]],2]]]]]],[[]],[[]],[[[8,[[41,[[0,[[40,[39]],2]]]]]],[8,[[41,[[0,[[40,[39]],2]]]]]]],[[41,[[0,[[40,[39]],2]]]]]],[[[8,[[41,[[0,[[40,[39]],2]]]]]],[8,[[41,[[0,[[40,[39]],2]]]]]]],[[41,[[0,[[40,[39]],2]]]]]],0,0,0,0,0,0,[[[58,[[0,[1,2]]]],[8,[[41,[[0,[1,2]]]]]],[8,[[5,[[0,[1,2]]]]]]],[[58,[[0,[1,2]]]]]],[[54,[8,[5]]],54],[[52,54]],[[60,[8,[41]]],60],[[55,[8,[41]]],60],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[46,3],[[58,46],3],[[[60,[[0,[2,1]]]],46],[[3,[[0,[2,1]]]]]],[[[54,[2]]],[[54,[2]]]],[52,52],[55,55],[[]],[[]],[[]],[[],58],[[],54],[[],52],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[[58,[[0,[1,2]]]],[8,[[41,[[0,[1,2]]]]]]],[[58,[[0,[1,2]]]]]],[[[54,[1]],32],33],[[[52,[1]],32],33],[[55,32],33],[[]],[[]],[[]],[[]],[[]],[[[52,[2]],34],[[54,[2]]]],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[],37],[[],37],[54,34],[[]],[[]],[[]],[[]],[[]],[[60,[8,[41]]],60],[[55,[8,[41]]],60],0,[[]],[[]],[[],61],[10],[10],[10],[[]],[[],10],[[]],[[[61,[[0,[43,36]]]],53]],[[[61,[[0,[43,36]]]],[64,[62,63]]]],[12,[[65,[[0,[43,36]]]]]],[[],28],[[],28],[[],37],[[]],0,[12,34],[[12,34]],[34],0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[[66,[[0,[43,[40,[39]],36]]]]],[[67,[[0,[43,[40,[39]],36]]]]]],[65,[[68,[[67,[[0,[43,[40,[39]],36]]]]]]]],[[[67,[[0,[2,43,[40,[39]]]]]]],[[67,[[0,[2,43,[40,[39]]]]]]]],[[[69,[[0,[2,43,[40,[39]]]]]]],[[69,[[0,[2,43,[40,[39]]]]]]]],[[]],[[]],[[[67,[[0,[43,[40,[39]],36]]]],70]],[70],[70],[[[67,[[0,[43,[40,[39]],36]]]],70]],[70],[70],0,[[],[[67,[[0,[59,43,[40,[39]]]]]]]],[[],[[69,[[0,[59,43,[40,[39]]]]]]]],[[],[[71,[[0,[59,43,[40,[39]]]]]]]],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[[67,[[0,[1,43,[40,[39]]]]]],32],33],[[[71,[[0,[1,43,[40,[39]]]]]],32],33],[[]],[[]],[[]],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[[66,[[0,[43,[40,[39]],36]]]]],[[67,[[0,[43,[40,[39]],36]]]]]],[[[67,[[0,[43,[40,[39]]]]]],[73,[[72,[[0,[43,[40,[39]]]]]]]]],[[69,[[0,[43,[40,[39]]]]]]]],[[[68,[[67,[[0,[43,[40,[39]]]]]]]],[74,[[0,[43,[40,[39]]]]]]],[[71,[[0,[43,[40,[39]]]]]]]],[[[69,[[0,[43,[40,[39]],36]]]]]],[[[71,[[0,[43,[40,[39]],36]]]]]],[[[67,[[0,[43,[40,[39]],36]]]],[73,[72]]]],[[[69,[[0,[43,[40,[39]],36]]]],[75,[[0,[43,[40,[39]],36]]]]],[[28,[76]]]],[[[71,[[0,[43,[40,[39]],36]]]],[75,[[0,[43,[40,[39]],36]]]]],[[28,[76]]]],[[70,77],[[14,[13]]]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[]],[[]],[[]],[[[69,[[0,[43,[40,[39]],36]]]]],[[69,[[0,[43,[40,[39]],36]]]]]],[[[71,[[0,[43,[40,[39]],36]]]]],[[71,[[0,[43,[40,[39]],36]]]]]],0,0,[[]],[[]],[[]],[[]],[[[66,[78]],45,29]],[[[79,[[0,[2,78]]]]],[[79,[[0,[2,78]]]]]],[[]],[10],[10],[10],[10],[10],[10],[[[79,[[0,[1,78]]]],32],33],[[]],[[]],[[80,[73,[[72,[[0,[78,36]]]]]]],81],[[[79,[78]],45],82],[[],10],[[],10],[[]],[[]],[[[66,[78]],29],[[79,[78]]]],[[]],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[]],[[]],0,[[]],[[]],0,[[[64,[[0,[2,62]],[0,[2,63]]]]],[[64,[[0,[2,62]],[0,[2,63]]]]]],[[]],[[[64,[62,63]],7]],[[[64,[62,63]],7]],0,[[62,63],[[64,[62,63]]]],[10],[10],[10],[[]],[[],10],[[]],0,[[]],[[],28],[[],28],[[],37],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[83,83],[84,84],[85,85],[86,86],[87,87],[[]],[[]],[[]],[[]],[[]],0,0,[[],85],[[],86],[[],87],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[85,21,19],83],[85,45],0,[[83,32],33],[[84,32],33],[[85,32],33],[[86,32],33],[[87,32],33],0,[[]],[[],83],[[]],[[]],[[]],[[]],[[85,9],[[73,[83]]]],[[85,11],[[73,[83]]]],[[85,18],[[73,[83]]]],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[77,42],83],0,0,0,0,[85,29],0,[[85,21],45],0,[[]],[[]],[[]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[],37],[[],37],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[[90,[2]]],[[90,[2]]]],[88,88],[89,89],[[]],[[]],[[]],0,[[],90],[[],88],[[],89],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[[90,[1]],32],33],[[88,32],33],[[89,32],33],[[]],[[]],[[]],[[[90,[2]],21],[[68,[[91,[2]]]]]],0,0,[[],10],[[],10],[[],10],[[]],[[]],[[]],[[[90,[2]],21,45],[[92,[2]]]],[[[90,[2]],21,92],[[92,[2]]]],0,0,0,[[]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[[90,[2]],21],[[92,[2]]]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[8,[4]],10],77],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[66,[2]]],[[66,[2]]]],[93,93],[77,77],[[[94,[2]]],[[94,[2]]]],[[[92,[2]]],[[92,[2]]]],[[[95,[2]]],[[95,[2]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],[[66,[59]]]],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[77,77],29],0,0,0,[[[8,[4]]],77],0,[[[66,[1]],32],33],[[93,32],33],[[77,32],33],[[[94,[1]],32],33],[[[92,[1]],32],33],[[[95,[1]],32],33],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[93],[77],0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[8,[4]],15],77],[[[8,[4]],17],77],0,0,[[[92,[2]],42],[[92,[2]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[77,34],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[[96,[2]]],[[96,[2]]]],[[]],[[],[[96,[2]]]],[10],[10],[10],[34,[[96,[43]]]],[[]],[[[96,[43]]],[[72,[43]]]],[[[96,[43]],[97,[43]]],[[72,[43]]]],[[],10],[[]],[[[68,[77]],85,[90,[43]],[98,[43]],10,34],[[96,[43]]]],[[]],[[],28],[[],28],[[],37],[[[96,[43]]],34],[[]],0,0,0,0,0,[[65,66]],[[]],[[]],[[]],[[]],[[]],[[]],[99,99],[[]],[[],65],[[],100],[[],99],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[]],[[]],[[]],[[[99,[43]]],[[74,[43]]]],[65,99],[[[65,[2]]],[[68,[[66,[2]]]]]],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[[100,[43]],96]],[[[35,[[101,[43]]]]],[[99,[43]]]],[[[65,[43]],53]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[]],[[]],[[]],0,[[]],[[]],[10],[10],[10],[[]],[[],10],[[]],[[[102,[[0,[43,[40,[39]]]]]]],[[41,[[0,[43,[40,[39]]]]]]]],[[48,[8,[[41,[[0,[43,[40,[39]]]]]]]],[31,[[0,[43,[40,[39]]]]]]],[[102,[[0,[43,[40,[39]]]]]]]],[[],28],[[],28],[[],37],[[]],[[[102,[[0,[43,103,36]]]],104,[0,[43,103,36]]]],0,0,0,0,0,0,0,0,[[105,51]],[[[106,[[0,[43,36]]]],10,[31,[[0,[43,36]]]],[0,[43,36]]]],[[[104,[[0,[103,36]]]],[31,[[0,[103,36]]]],[0,[103,36]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[98,98],[[[104,[2]]],[[104,[2]]]],[[]],[[]],[[],98],[[],[[104,[59]]]],[[],[[97,[59]]]],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[],[[28,[[104,[27]]]]]],[[],[[28,[[97,[27]]]]]],[10],[10],[10],[10],[10],[[[104,[1]],32],33],[[[97,[1]],32],33],[[[105,[1]],32],33],[[]],[[]],[[]],[[]],[[]],[[[98,[59]]],[[97,[59]]]],[[[106,[[0,[43,36]]]]],[[107,[[0,[43,36]]]]]],[[[105,[59]]],[[97,[59]]]],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[[35,[[108,[59]]]],10],[[98,[59]]]],[10,[[106,[[0,[43,36]]]]]],[21,104],[10,[[105,[59]]]],[[105,51,53]],0,0,[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[],37],[[],37],[[]],[[]],[[]],[[]],[[]]],"p":[[8,"Debug"],[8,"Clone"],[3,"Lookup"],[3,"String"],[4,"Expr"],[3,"StepType"],[3,"Circuit"],[8,"Into"],[3,"FixedSignal"],[15,"usize"],[3,"ForwardSignal"],[15,"str"],[3,"Advice"],[3,"Column"],[6,"ImportedHalo2Advice"],[3,"Fixed"],[6,"ImportedHalo2Fixed"],[3,"SharedSignal"],[3,"InternalSignal"],[3,"StepTypeHandler"],[6,"StepTypeUUID"],[3,"Constraint"],[3,"TransitionConstraint"],[4,"ExposeOffset"],[8,"ColumnType"],[3,"ImportedHalo2Column"],[3,"Fr"],[4,"Result"],[15,"bool"],[8,"PartialEq"],[4,"Queriable"],[3,"Formatter"],[6,"Result"],[15,"u128"],[3,"Rc"],[8,"Hash"],[3,"TypeId"],[4,"Expression"],[15,"u64"],[8,"From"],[3,"Constraint"],[15,"i32"],[8,"Field"],[15,"u8"],[15,"u32"],[3,"StepTypeSetupContext"],[8,"LookupBuilder"],[3,"StepTypeContext"],[3,"CircuitContext"],[4,"StepTypeDefInput"],[3,"StepTypeWGHandler"],[3,"LookupTableRegistry"],[8,"Fn"],[3,"LookupTableStore"],[3,"LookupTable"],[8,"IntoIterator"],[4,"Typing"],[3,"InPlaceLookupBuilder"],[8,"Default"],[3,"LookupTableBuilder"],[3,"SuperCircuitContext"],[8,"CellManager"],[8,"StepSelectorBuilder"],[3,"CompilerConfig"],[3,"SuperCircuit"],[3,"Circuit"],[3,"ChiquitoHalo2"],[3,"Vec"],[3,"ChiquitoHalo2Circuit"],[3,"ConstraintSystem"],[3,"ChiquitoHalo2SuperCircuit"],[6,"Assignments"],[4,"Option"],[6,"SuperAssignments"],[8,"Layouter"],[4,"Error"],[3,"Column"],[8,"PrimeField"],[3,"ChiquitoPlaf"],[3,"ChiquitoPlafWitGen"],[3,"Witness"],[3,"Plaf"],[3,"SignalPlacement"],[3,"StepPlacement"],[3,"Placement"],[3,"SingleRowCellManager"],[3,"MaxWidthCellManager"],[3,"SimpleStepSelectorBuilder"],[3,"TwoStepsSelectorBuilder"],[3,"StepSelector"],[6,"SelectorAssignment"],[4,"PolyExpr"],[4,"ColumnType"],[3,"Poly"],[3,"PolyLookup"],[3,"AssignmentGenerator"],[3,"TraceWitness"],[3,"TraceGenerator"],[3,"MappingGenerator"],[3,"MappingContext"],[6,"Mapping"],[3,"IsZero"],[8,"Eq"],[3,"StepInstance"],[3,"TraceContext"],[3,"FixedGenContext"],[6,"FixedAssignment"],[6,"Trace"],[13,"Step"],[8,"ToExpr"],[8,"ToField"],[13,"Const"],[13,"Sum"],[13,"Mul"],[13,"Neg"],[13,"Pow"],[13,"Query"],[13,"Halo2Expr"],[13,"Internal"],[13,"Forward"],[13,"Shared"],[13,"Fixed"],[13,"StepTypeNext"],[13,"Halo2AdviceQuery"],[13,"Halo2FixedQuery"],[13,"_unaccessible"],[13,"Handler"],[13,"String"],[13,"Const"],[13,"Query"],[13,"Sum"],[13,"Mul"],[13,"Neg"],[13,"Pow"],[13,"Halo2Expr"]]}\
+"chiquito":{"doc":"","t":[0,0,0,0,0,3,3,4,13,6,3,3,6,3,6,3,13,3,3,13,3,6,3,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,0,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,13,4,13,13,13,13,13,13,8,8,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,12,12,12,12,12,12,12,12,13,13,13,13,13,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,3,13,3,4,3,3,3,13,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,0,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,13,3,4,13,5,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,12,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,5,5,5,5,5,5,5,5,5,11,11,11,11,11,11,11,11,12,5,11,11,5,5,3,8,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,17,5,5,0,0,0,0,0,3,3,3,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,0,11,11,5,5,5,5,11,11,11,11,11,11,0,11,11,11,11,11,8,3,3,3,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,12,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,6,3,3,8,3,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,3,3,4,13,13,13,13,13,13,13,3,4,3,13,13,13,11,12,12,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,3,6,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,6,3,3,6,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,6,3,3,6,3,3,3,6,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["ast","frontend","plonkish","stdlib","wit_gen","Circuit","Constraint","ExposeOffset","First","FixedGen","FixedSignal","ForwardSignal","ImportedHalo2Advice","ImportedHalo2Column","ImportedHalo2Fixed","InternalSignal","Last","Lookup","SharedSignal","Step","StepType","StepTypeUUID","TransitionConstraint","add","add_constr","add_fixed","add_forward","add_halo2_advice","add_halo2_fixed","add_shared","add_signal","add_step_type","add_step_type_def","add_transition","annotation","annotation","annotation","annotations","annotations","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","column","constraints","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable","enable","eq","eq","eq","eq","eq","eq","expose","exposed","expr","expr","expr","exprs","first_step","fixed_gen","fixed_signals","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward_signals","from","from","from","from","from","from","from","from","from","from","from","get_step_type","halo2_advice","halo2_fixed","hash","hash","hash","hash","hash","hash","id","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","last_step","lookups","name","new","new","new","new","new_with_id","new_with_id","new_with_id","new_with_id","new_with_phase","new_with_phase","num_steps","phase","phase","q_enable","set_fixed_gen","set_trace","shared_signals","signals","step_types","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","trace","transition_constraints","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uuid","uuid","uuid","uuid","uuid","uuid","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","Const","Expr","Halo2Expr","Mul","Neg","Pow","Query","Sum","ToExpr","ToField","add","borrow","borrow_mut","clone","clone_into","deref","deref_mut","deserialize","drop","expr","expr","field","fmt","from","from","from","from","from","from","from","from","from","from","init","into","mul","neg","query","sub","to_owned","try_from","try_into","type_id","vzip","0","0","0","0","0","0","0","1","Fixed","Forward","Halo2AdviceQuery","Halo2FixedQuery","Internal","Queriable","Shared","StepTypeNext","_unaccessible","add","annotation","borrow","borrow_mut","clone","clone_into","deref","deref_mut","deserialize","drop","eq","expr","fmt","from","hash","init","into","mul","neg","next","prev","rot","sub","to_owned","try_from","try_into","type_id","uuid","vzip","0","0","0","0","0","0","0","0","1","1","1","1","1","dsl","pychiquito","CircuitContext","Handler","StepTypeContext","StepTypeDefInput","StepTypeHandler","StepTypeSetupContext","StepTypeWGHandler","String","add_lookup","annotation","annotation","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cb","circuit","clone","clone_into","constr","constr","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","drop","drop","eq","expose","fixed","fixed_gen","fmt","fmt","forward","forward_with_phase","from","from","from","from","from","from","from","from","from","hash","import_halo2_advice","import_halo2_fixed","init","init","init","init","init","init","internal","into","into","into","into","into","into","lb","new","new","new_table","new_with_id","next","pragma_disable_q_enable","pragma_first_step","pragma_last_step","pragma_num_steps","sc","setup","shared","shared_with_phase","step_type","step_type_def","to_owned","trace","transition","transition","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","uuid","uuid","vzip","vzip","vzip","vzip","vzip","vzip","wg","wg","0","0","AntiBooly","Boolean","Constraint","Typing","Unknown","and","annotate","annotation","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","eq","eq","expr","fmt","fmt","from","from","from","from","from","from","from","from","from","from","if_next_step","init","init","into","into","isz","lookup","next_step_must_be","next_step_must_not_be","not","or","rlc","select","table","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","typing","unless","vzip","vzip","when","xor","InPlaceLookupBuilder","LookupBuilder","LookupTable","LookupTableBuilder","LookupTableRegistry","LookupTableStore","add","add","add","apply","apply","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","clone","clone","clone","clone_into","clone_into","clone_into","default","default","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","enable","fmt","fmt","fmt","from","from","from","from","from","get","init","init","init","init","init","into","into","into","into","into","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","uuid","vzip","vzip","vzip","vzip","vzip","when","when","SuperCircuitContext","borrow","borrow_mut","default","deref","deref_mut","drop","from","init","into","mapping","sub_circuit","super_circuit","try_from","try_into","type_id","vzip","CIRCUIT_MAP","chiquito_ast_to_halo2","chiquito_halo2_mock_prover","backend","compiler","ir","halo2","plaf","ChiquitoHalo2","ChiquitoHalo2Circuit","ChiquitoHalo2SuperCircuit","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","chiquito2Halo2","chiquitoSuperCircuit2Halo2","clone","clone","clone_into","clone_into","configure","configure","configure","configure_sub_circuit","configure_with_params","configure_with_params","debug","default","default","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","from","from","from","init","init","init","instance","instance","into","into","into","new","new","new","params","params","synthesize","synthesize","synthesize","to_halo2_advice","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","without_witnesses","without_witnesses","ChiquitoPlaf","ChiquitoPlafWitGen","borrow","borrow","borrow_mut","borrow_mut","chiquito2Plaf","clone","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","from","from","generate","get_plaf","init","init","into","into","new","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","CompilerConfig","borrow","borrow_mut","cell_manager","clone","clone_into","compile","compile_phase1","compile_phase2","config","deref","deref_mut","drop","from","init","into","step_selector","to_owned","try_from","try_into","type_id","vzip","CellManager","MaxWidthCellManager","Placement","SignalPlacement","SingleRowCellManager","StepPlacement","base_height","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","column","columns","default","default","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","find_internal_signal_placement","first_step_height","fixed","fmt","fmt","fmt","fmt","fmt","forward","from","from","from","from","from","from","get_fixed_placement","get_forward_placement","get_shared_placement","init","init","init","init","init","into","into","into","into","into","new","place","place","place","rotation","same_height","shared","step_height","steps","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","SelectorAssignment","SimpleStepSelectorBuilder","StepSelector","StepSelectorBuilder","TwoStepsSelectorBuilder","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","build","build","build","clone","clone","clone","clone_into","clone_into","clone_into","columns","default","default","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","fmt","from","from","from","get_selector_assignment","halo2_column","hint_one","init","init","init","into","into","into","next_expr","select","selector_assignment","selector_expr","selector_expr_not","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unselect","vzip","vzip","vzip","Advice","Circuit","Column","ColumnType","Const","Fixed","Halo2Advice","Halo2Expr","Halo2Fixed","Mul","Neg","Poly","PolyExpr","PolyLookup","Pow","Query","Sum","advice","annotation","annotation","annotation","assignments","ast_id","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","columns","ctype","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","eq","exposed","expr","exprs","fixed","fixed_assignments","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","halo2_advice","halo2_fixed","hash","hash","id","init","init","init","init","init","init","into","into","into","into","into","into","lookups","new_halo2_advice","new_halo2_fixed","phase","polys","rotate","sc","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","uuid","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","0","0","0","0","1","1","2","AssignmentGenerator","Assignments","borrow","borrow_mut","clone","clone_into","default","deref","deref_mut","drop","empty","from","generate","generate_with_witness","init","into","new","to_owned","try_from","try_into","type_id","uuid","vzip","Mapping","MappingContext","MappingGenerator","SuperAssignments","SuperCircuit","add_sub_circuit","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","default","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","from","from","from","generate","get_mapping","get_sub_circuits","init","init","init","into","into","into","map","new","set_mapping","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","IsZero","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","is_zero","setup","try_from","try_into","type_id","vzip","wg","FixedAssignment","FixedGenContext","StepInstance","Trace","TraceContext","TraceGenerator","TraceWitness","Witness","add","assign","assign","assignments","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","default","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","drop","drop","fmt","fmt","fmt","from","from","from","from","from","generate","get_assignments","get_witness","init","init","init","init","init","into","into","into","into","into","new","new","new","new","padding","step_instances","step_type_uuid","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip"],"q":["chiquito","","","","","chiquito::ast","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::ast::ExposeOffset","chiquito::ast::expr","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::ast::expr::Expr","","","","","","","","chiquito::ast::expr::query","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::ast::expr::query::Queriable","","","","","","","","","","","","","chiquito::frontend","","chiquito::frontend::dsl","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::frontend::dsl::StepTypeDefInput","","chiquito::frontend::dsl::cb","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::frontend::dsl::lb","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::frontend::dsl::sc","","","","","","","","","","","","","","","","","chiquito::frontend::pychiquito","","","chiquito::plonkish","","","chiquito::plonkish::backend","","chiquito::plonkish::backend::halo2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::backend::plaf","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::compiler","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::compiler::cell_manager","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::compiler::step_selector","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::ir","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::ir::PolyExpr","","","","","","","","","","chiquito::plonkish::ir::assignments","","","","","","","","","","","","","","","","","","","","","","","chiquito::plonkish::ir::sc","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","chiquito::stdlib","","","","","","","","","","","","","","","","chiquito::wit_gen","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","Circuit","Condition","","","","","ForwardSignal","","","","","","","","","Step","","TransitionCondition","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls
U::from(self)
.","","","Call
next
function on a
Querible
forward signal to build …","Call
prev
function on a
Querible
shared signal to build …","Call
rot
function on a
Querible
shared signal to build …","","","","","","","","","","","","","","","","","","","","","","","A generic structure designed to handle the context of a …","","A generic structure designed to handle the context of a …","","","","","","Adds a lookup to the step type.","","","","","","","","","","","","","","","","Creates a
Circuit
instance by providing a name and a …","","","DEPRECATED","Adds a constraint to the step type. Involves internal …","","","","","","","","","","","","","","","","","","","","","Exposes the first step instance value of a forward signal …","","Sets the fixed generation function for the circuit. The …","","","Adds a forward signal to the circuit with a name string …","Adds a forward signal to the circuit with a name string …","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Imports a halo2 advice column with a name string into the …","Imports a halo2 fixed column with a name string into the …","","","","","","","Adds an internal signal to the step type with the given …","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","Enforce the type of the first step by adding a constraint …","Enforce the type of the last step by adding a constraint …","","","Define step constraints.","Adds a shared signal to the circuit with a name string and …","Adds a shared signal to the circuit with a name string and …","Adds a new step type with the specified name to the …","Defines a step type using the provided
StepTypeHandler
and …","","Sets the trace function that builds the witness. The trace …","DEPRECATED","Adds a transition constraint to the step type. It’s the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Represents a constraint with an associated annotation and …","","","Takes an iterator of input constraints and returns a new …","Takes a string annotation and an expression, and returns a …","","","","","","","","","","","","","","","","Takes two constraints and returns a new constraint …","","","","","","Returns the argument unchanged.","","","","","","","","Returns the argument unchanged.","Takes a
StepTypeHandler
and a constraint, and returns a …","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Takes a constraint and returns a new constraint …","Creates a new empty
LookupBuilder
object and returns it. …","Takes a
StepTypeHandler
and returns a new constraint that …","Takes a
StepTypeHandler
and returns a new constraint that …","Takes a constraint and returns a new constraint …","Takes an iterator of input constraints and returns a new …","Computes the randomized linear combination of the given …","Takes a selector constraint and two other constraints, and …","","","","","","","","","","","Takes a selector constraint and a
when_false
constraint, …","","","Takes a selector constraint and a
when_true
constraint, …","Takes two expressions and returns a new expression …","A helper struct for building lookup tables.","","","","","","Adds a source column-lookup column pair to the lookup …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Adds a selector column specific to the lookup table. …","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","Adds a selector column specific to the lookup table. …","Adds a selector column specific to the lookup table. …","","","","","","","","Returns the argument unchanged.","","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls
U::from(self)
.","","","","","","","","","A struct that can be used a fixed column generation …","A struct that represents a witness generation context. It …","","","","","","","Takes a
Queriable
object representing the fixed column …","Takes a
Queriable
object representing the witness column …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","Calls
U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,24,0,0,24,0,0,0,3,6,7,7,7,7,7,6,7,7,6,22,23,3,6,7,6,7,22,23,3,11,18,9,24,19,26,6,7,22,23,3,11,18,9,24,19,26,7,22,23,3,11,18,9,24,19,26,7,22,23,3,11,18,9,24,19,26,26,6,7,3,6,7,22,23,3,11,18,9,24,19,26,6,7,22,23,3,11,18,9,24,19,26,6,7,22,23,11,18,9,24,19,6,7,22,23,3,11,18,9,24,19,26,3,3,6,11,18,9,19,26,7,7,0,22,23,3,7,7,7,6,7,22,23,11,18,9,19,26,7,6,7,22,23,3,11,18,9,24,19,26,7,7,7,6,11,18,9,19,26,7,6,7,22,23,3,11,18,9,24,19,26,6,7,22,23,3,11,18,9,24,19,26,7,6,6,6,9,19,26,11,18,9,19,11,18,7,11,18,7,7,7,7,6,7,7,22,23,3,11,18,9,24,19,26,7,6,6,7,22,23,3,11,18,9,24,19,26,6,7,22,23,3,11,18,9,24,19,26,6,7,22,23,3,11,18,9,24,19,26,6,11,18,9,19,26,6,7,22,23,3,11,18,9,24,19,26,109,5,0,5,5,5,5,5,5,0,0,5,5,5,5,5,5,5,5,5,110,5,111,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,5,5,5,5,5,5,112,113,114,115,116,117,118,116,31,31,31,31,31,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,119,120,121,122,123,124,125,126,120,121,122,124,125,0,0,0,50,0,0,0,0,0,50,46,51,20,50,48,46,51,49,20,50,48,46,51,49,20,0,0,20,20,48,46,50,48,46,51,49,20,50,48,46,51,49,20,20,50,48,46,51,49,20,20,49,49,49,49,20,49,49,50,50,50,48,46,51,49,20,20,20,49,49,50,48,46,51,49,20,48,50,48,46,51,49,20,0,48,51,49,20,20,49,49,49,49,0,48,49,49,49,49,20,49,48,46,50,48,46,51,49,20,50,48,46,51,49,20,50,48,46,51,49,20,51,20,50,48,46,51,49,20,48,51,127,128,57,57,0,0,57,0,0,38,38,57,38,57,38,57,38,57,38,57,38,57,38,57,0,57,38,38,57,38,38,38,38,38,38,38,38,38,57,0,38,57,38,57,0,0,0,0,0,0,0,0,0,38,57,38,57,38,57,38,57,38,0,38,57,0,0,0,0,0,0,0,0,58,54,52,60,55,58,60,54,52,55,58,60,54,52,55,47,58,60,54,52,55,54,52,55,58,54,52,58,60,54,52,55,58,60,54,52,55,58,60,54,52,55,58,54,52,55,58,60,54,52,55,52,58,60,54,52,55,58,60,54,52,55,54,52,55,58,60,54,52,55,58,60,54,52,55,58,60,54,52,55,54,58,60,54,52,55,60,55,0,61,61,61,61,61,61,61,61,61,61,61,0,61,61,61,61,0,0,0,0,0,0,0,0,0,0,0,67,69,71,67,69,71,0,0,67,69,67,69,67,69,71,67,69,71,67,67,69,71,67,69,71,67,69,71,67,69,71,67,71,67,69,71,67,69,71,69,71,67,69,71,67,69,71,69,71,67,69,71,0,67,69,67,69,71,67,69,71,67,69,71,67,69,71,69,71,0,0,80,79,80,79,0,79,79,80,79,80,79,80,79,79,80,79,80,79,80,79,80,79,79,79,80,79,80,79,80,79,80,79,0,64,64,0,64,64,0,0,0,0,64,64,64,64,64,64,0,64,64,64,64,64,0,0,0,0,0,0,85,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,85,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,85,85,85,83,84,85,86,87,85,83,83,84,85,86,87,85,85,85,83,84,85,86,87,83,84,85,86,87,83,62,86,87,83,85,85,85,85,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,0,0,0,0,0,90,88,89,90,88,89,63,88,89,90,88,89,90,88,89,90,90,88,89,90,88,89,90,88,89,90,88,89,90,88,89,90,88,89,90,89,89,90,88,89,90,88,89,90,90,90,90,90,90,88,89,90,88,89,90,88,89,90,88,89,90,90,88,89,93,0,0,0,92,93,93,92,93,92,92,0,0,0,92,92,92,77,77,94,95,0,66,66,93,77,94,92,95,66,93,77,94,92,95,66,93,77,94,92,95,66,93,77,94,92,95,66,77,66,66,93,77,94,92,95,66,93,77,94,92,95,66,93,77,94,92,95,77,66,94,95,77,66,66,93,77,94,92,95,66,93,77,94,92,95,77,77,93,77,66,66,93,77,94,92,95,66,93,77,94,92,95,66,77,77,77,66,92,0,66,93,77,94,92,95,66,93,77,94,92,95,66,93,77,94,92,95,66,93,77,94,92,95,77,66,93,77,94,92,95,129,130,131,132,133,134,135,130,134,130,0,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,0,0,0,0,0,65,65,100,99,65,100,99,99,99,65,100,99,65,100,99,65,100,99,65,100,99,65,100,99,99,65,65,65,100,99,65,100,99,100,99,65,99,65,100,99,65,100,99,65,100,99,65,100,99,0,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,0,0,0,0,0,0,0,105,106,104,104,98,106,104,97,105,98,106,104,97,105,98,104,98,104,98,104,97,98,106,104,97,105,98,106,104,97,105,104,97,98,106,104,97,105,104,97,105,98,106,104,97,105,98,106,105,98,106,104,97,105,98,106,104,97,105,98,106,104,105,105,97,104,98,104,98,106,104,97,105,98,106,104,97,105,98,106,104,97,105,98,106,104,97,105],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[3,[[0,[1,2]]]],4,[5,[[0,[1,2]]]],[5,[[0,[1,2]]]]]],[[6,4,5]],[[7,[8,[4]]],9],[[7,[8,[4]],10],11],[[7,12,[14,[13]]],15],[[7,12,[14,[16]]],17],[[7,[8,[4]],10],18],[[6,[8,[4]]],19],[[7,20,[8,[4]]]],[[7,6],21],[[6,4,5]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[7,[2,2]]],[[7,[2,2]]]],[[[22,[2]]],[[22,[2]]]],[[[23,[2]]],[[23,[2]]]],[[[3,[2]]],[[3,[2]]]],[11,11],[18,18],[9,9],[24,24],[19,19],[[[26,[[0,[2,25]]]]],[[26,[[0,[2,25]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],7],[[],3],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[],[[28,[[6,[27]]]]]],[[],[[28,[[7,[27]]]]]],[[],[[28,[[22,[27]]]]]],[[],[[28,[[23,[27]]]]]],[[],[[28,[11]]]],[[],[[28,[18]]]],[[],[[28,[9]]]],[[],[[28,[24]]]],[[],[[28,[19]]]],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[[3,[[0,[1,2]]]],4,[5,[[0,[1,2]]]]]],0,[[6,6],29],[[11,11],29],[[18,18],29],[[9,9],29],[[19,19],29],[[[26,[[0,[30,25]]]],26],29],[[7,31,24]],0,0,0,0,0,0,0,0,[[[6,[1]],32],33],[[[7,[1,1]],32],33],[[[22,[1]],32],33],[[[23,[1]],32],33],[[11,32],33],[[18,32],33],[[9,32],33],[[19,32],33],[[[26,[[0,[1,25]]]],32],33],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[7,34],[[35,[6]]]],0,0,[6],[11],[18],[9],[19],[[[26,[[0,[36,25]]]]]],0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[34,4],6],[4,9],[4,19],[[[14,[25]],4],[[26,[25]]]],[[34,10,4],11],[[34,10,4],18],[[34,4],9],[[34,4],19],[[10,4],11],[[10,4],18],0,[11,10],[18,10],0,[7],[7],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[6,21],[11,34],[18,34],[9,34],[19,34],[[[26,[25]]],34],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[5,[8,[5]]],5],[[]],[[]],[[[5,[2]]],[[5,[2]]]],[[]],[10],[10],[[],[[28,[[5,[27]]]]]],[10],[[],5],[[[5,[2]]],[[5,[2]]]],[[]],[[[5,[1]],32],33],[31,5],[38,5],[10,[[5,[[40,[39]]]]]],[39,[[5,[[40,[39]]]]]],[41,[[5,[[40,[39]]]]]],[42,[[5,[[40,[39]]]]]],[29,[[5,[[40,[39]]]]]],[[]],[43,5],[44,[[5,[[0,[45,[40,[39]]]]]]]],[[],10],[[]],[[5,[8,[5]]],5],[5,5],0,[[5,[8,[5]]],5],[[]],[[],28],[[],28],[[],37],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[31,[2]],[8,[[5,[2]]]]]],[31,4],[[]],[[]],[[[31,[2]]],[[31,[2]]]],[[]],[10],[10],[[],[[28,[[31,[27]]]]]],[10],[[[31,[30]],31],29],[[[31,[2]]],[[5,[2]]]],[[31,32],33],[[]],[[[31,[36]]]],[[],10],[[]],[[[31,[2]],[8,[[5,[2]]]]]],[[[31,[2]]]],[31,31],[31,31],[[31,44],31],[[[31,[2]],[8,[[5,[2]]]]]],[[]],[[],28],[[],28],[[],37],[31,34],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[46,[[0,[1,2]]]],[47,[[0,[1,2]]]]]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[12,7],[20,20],[[]],[[48,[8,[38]]]],[[46,[8,[38]]]],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[],[[28,[20]]]],[10],[10],[10],[10],[10],[10],[[20,20],29],[[49,31,24]],[[49,12],31],[49],[[[49,[1,1]],32],33],[[20,32],33],[[49,12],31],[[49,12,10],31],[20,50],[12,50],[[]],[[]],[[]],[[]],[[]],[[]],[51,20],[20],[[49,12,[14,[13]]],31],[[49,12,[14,[16]]],31],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[48,12],31],[[]],[[]],[[]],[[]],[[]],[[]],0,[[34,4,52],48],[[34,12,53],[[51,[53]]]],[[49,54],55],[[34,4],20],[20,31],[49],[[49,[8,[20]]]],[[49,[8,[20]]]],[[49,10]],0,[48],[[49,12],31],[[49,12,10],31],[[49,12],20],[[49,[8,[50]]],51],[[]],[49],[[48,[8,[38]]]],[[46,[8,[38]]]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[[[51,[53]]],34],[20,34],[[]],[[]],[[]],[[]],[[]],[[]],[48,51],0,0,0,0,0,0,0,0,[56,[[38,[[40,[39]]]]]],[[4,[8,[5]],57],38],0,[[]],[[]],[[]],[[]],[[[38,[2]]],[[38,[2]]]],[57,57],[[]],[[]],[10],[10],[10],[10],[10],[10],[[[8,[38]],[8,[38]]],38],[[57,57],29],0,[[38,32],33],[[57,32],33],[[[5,[1]]],[[38,[1]]]],[[]],[39,[[38,[[0,[[40,[39]],1]]]]]],[44,[[38,[[0,[45,[40,[39]],1]]]]]],[29,[[38,[[0,[[40,[39]],1]]]]]],[42,[[38,[[0,[[40,[39]],1]]]]]],[10,[[38,[[0,[[40,[39]],1]]]]]],[41,[[38,[[0,[[40,[39]],1]]]]]],[31,38],[[]],[[[8,[20]],[8,[[38,[2]]]]],[[38,[2]]]],[[],10],[[],10],[[]],[[]],[[[8,[38]]],38],[[],[[58,[[0,[1,2]]]]]],[[[8,[20]]],[[38,[[40,[39]]]]]],[[[8,[20]]],[[38,[[40,[39]]]]]],[[[8,[[38,[[40,[39]]]]]]],[[38,[[40,[39]]]]]],[[[0,[56,2]]],[[38,[[0,[[40,[39]],1]]]]]],[[[0,[[8,[[5,[[40,[39]]]]]],2]]],[[5,[[40,[39]]]]]],[[[8,[[38,[[0,[[40,[39]],2]]]]]],[8,[[38,[[0,[[40,[39]],2]]]]]],[8,[[38,[[0,[[40,[39]],2]]]]]]],[[38,[[0,[[40,[39]],2]]]]]],[[],[[54,[59]]]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],0,[[[8,[[38,[[0,[[40,[39]],2]]]]]],[8,[[38,[[0,[[40,[39]],2]]]]]]],[[38,[[0,[[40,[39]],2]]]]]],[[]],[[]],[[[8,[[38,[[0,[[40,[39]],2]]]]]],[8,[[38,[[0,[[40,[39]],2]]]]]]],[[38,[[0,[[40,[39]],2]]]]]],[[[8,[[38,[[0,[[40,[39]],2]]]]]],[8,[[38,[[0,[[40,[39]],2]]]]]]],[[38,[[0,[[40,[39]],2]]]]]],0,0,0,0,0,0,[[[58,[[0,[1,2]]]],[8,[[38,[[0,[1,2]]]]]],[8,[[5,[[0,[1,2]]]]]]],[[58,[[0,[1,2]]]]]],[[54,[8,[5]]],54],[[52,54]],[[60,[8,[38]]],60],[[55,[8,[38]]],60],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[46,3],[[58,46],3],[[[60,[[0,[2,1]]]],46],[[3,[[0,[2,1]]]]]],[[[54,[2]]],[[54,[2]]]],[52,52],[55,55],[[]],[[]],[[]],[[],58],[[],54],[[],52],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[[58,[[0,[1,2]]]],[8,[[38,[[0,[1,2]]]]]]],[[58,[[0,[1,2]]]]]],[[[54,[1]],32],33],[[[52,[1]],32],33],[[55,32],33],[[]],[[]],[[]],[[]],[[]],[[[52,[2]],34],[[54,[2]]]],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[],37],[[],37],[54,34],[[]],[[]],[[]],[[]],[[]],[[60,[8,[38]]],60],[[55,[8,[38]]],60],0,[[]],[[]],[[],61],[10],[10],[10],[[]],[[],10],[[]],[[[61,[[0,[45,36]]]],53]],[[[61,[[0,[45,36]]]],[64,[62,63]]]],[12,[[65,[[0,[45,36]]]]]],[[],28],[[],28],[[],37],[[]],0,[12,34],[[12,34]],0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[[66,[[0,[45,[40,[39]],36]]]]],[[67,[[0,[45,[40,[39]],36]]]]]],[65,[[68,[[67,[[0,[45,[40,[39]],36]]]]]]]],[[[67,[[0,[2,45,[40,[39]]]]]]],[[67,[[0,[2,45,[40,[39]]]]]]]],[[[69,[[0,[2,45,[40,[39]]]]]]],[[69,[[0,[2,45,[40,[39]]]]]]]],[[]],[[]],[[[67,[[0,[45,[40,[39]],36]]]],70]],[70],[70],[[[67,[[0,[45,[40,[39]],36]]]],70]],[70],[70],0,[[],[[67,[[0,[59,45,[40,[39]]]]]]]],[[],[[69,[[0,[59,45,[40,[39]]]]]]]],[[],[[71,[[0,[59,45,[40,[39]]]]]]]],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[[67,[[0,[1,45,[40,[39]]]]]],32],33],[[[71,[[0,[1,45,[40,[39]]]]]],32],33],[[]],[[]],[[]],[[],10],[[],10],[[],10],[[[69,[[0,[45,[40,[39]],36]]]]],[[68,[[68,[[0,[45,[40,[39]],36]]]]]]]],[[[71,[[0,[45,[40,[39]],36]]]]],[[68,[[68,[[0,[45,[40,[39]],36]]]]]]]],[[]],[[]],[[]],[[[66,[[0,[45,[40,[39]],36]]]]],[[67,[[0,[45,[40,[39]],36]]]]]],[[[67,[[0,[45,[40,[39]],36]]]],[73,[[72,[[0,[45,[40,[39]],36]]]]]]],[[69,[[0,[45,[40,[39]],36]]]]]],[[[68,[[67,[[0,[45,[40,[39]],36]]]]]],[74,[[0,[45,[40,[39]],36]]]]],[[71,[[0,[45,[40,[39]],36]]]]]],[[[69,[[0,[45,[40,[39]],36]]]]]],[[[71,[[0,[45,[40,[39]],36]]]]]],[[[67,[[0,[45,[40,[39]],36]]]],[73,[72]]]],[[[69,[[0,[45,[40,[39]],36]]]],[75,[[0,[45,[40,[39]],36]]]]],[[28,[76]]]],[[[71,[[0,[45,[40,[39]],36]]]],[75,[[0,[45,[40,[39]],36]]]]],[[28,[76]]]],[[70,77],[[14,[13]]]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[]],[[]],[[]],[[[69,[[0,[45,[40,[39]],36]]]]],[[69,[[0,[45,[40,[39]],36]]]]]],[[[71,[[0,[45,[40,[39]],36]]]]],[[71,[[0,[45,[40,[39]],36]]]]]],0,0,[[]],[[]],[[]],[[]],[[[66,[78]],41,29]],[[[79,[[0,[2,78]]]]],[[79,[[0,[2,78]]]]]],[[]],[10],[10],[10],[10],[10],[10],[[[79,[[0,[1,78]]]],32],33],[[]],[[]],[[80,[73,[[72,[[0,[78,36]]]]]]],81],[[[79,[78]],41],82],[[],10],[[],10],[[]],[[]],[[[66,[78]],29],[[79,[78]]]],[[]],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[]],[[]],0,[[]],[[]],0,[[[64,[[0,[2,62]],[0,[2,63]]]]],[[64,[[0,[2,62]],[0,[2,63]]]]]],[[]],[[[64,[62,63]],7]],[[[64,[62,63]],7]],0,[[62,63],[[64,[62,63]]]],[10],[10],[10],[[]],[[],10],[[]],0,[[]],[[],28],[[],28],[[],37],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[83,83],[84,84],[85,85],[86,86],[87,87],[[]],[[]],[[]],[[]],[[]],0,0,[[],85],[[],86],[[],87],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[85,21,19],83],[85,41],0,[[83,32],33],[[84,32],33],[[85,32],33],[[86,32],33],[[87,32],33],0,[[]],[[],83],[[]],[[]],[[]],[[]],[[85,9],[[73,[83]]]],[[85,11],[[73,[83]]]],[[85,18],[[73,[83]]]],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[77,44],83],0,0,0,0,[85,29],0,[[85,21],41],0,[[]],[[]],[[]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[],37],[[],37],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[[90,[2]]],[[90,[2]]]],[88,88],[89,89],[[]],[[]],[[]],0,[[],90],[[],88],[[],89],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[[90,[1]],32],33],[[88,32],33],[[89,32],33],[[]],[[]],[[]],[[[90,[2]],21],[[68,[[91,[2]]]]]],0,0,[[],10],[[],10],[[],10],[[]],[[]],[[]],[[[90,[2]],21,41],[[92,[2]]]],[[[90,[2]],21,92],[[92,[2]]]],0,0,0,[[]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[[90,[2]],21],[[92,[2]]]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[8,[4]],10],77],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[66,[2]]],[[66,[2]]]],[93,93],[77,77],[[[94,[2]]],[[94,[2]]]],[[[92,[2]]],[[92,[2]]]],[[[95,[2]]],[[95,[2]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],[[66,[59]]]],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[77,77],29],0,0,0,[[[8,[4]]],77],0,[[[66,[1]],32],33],[[93,32],33],[[77,32],33],[[[94,[1]],32],33],[[[92,[1]],32],33],[[[95,[1]],32],33],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[93],[77],0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[8,[4]],15],77],[[[8,[4]],17],77],0,0,[[[92,[2]],44],[[92,[2]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[],37],[[],37],[[],37],[77,34],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[[96,[2]]],[[96,[2]]]],[[]],[[],[[96,[2]]]],[10],[10],[10],[34,[[96,[45]]]],[[]],[[[96,[45]]],[[72,[45]]]],[[[96,[45]],[97,[45]]],[[72,[45]]]],[[],10],[[]],[[[68,[77]],85,[90,[45]],[98,[45]],10,34],[[96,[45]]]],[[]],[[],28],[[],28],[[],37],[[[96,[45]]],34],[[]],0,0,0,0,0,[[65,66]],[[]],[[]],[[]],[[]],[[]],[[]],[99,99],[[]],[[],65],[[],100],[[],99],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[]],[[]],[[]],[[[99,[45]]],[[74,[45]]]],[65,99],[[[65,[2]]],[[68,[[66,[2]]]]]],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[[100,[45]],96]],[[[35,[[101,[45]]]]],[[99,[45]]]],[[[65,[45]],53]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[]],[[]],[[]],0,[[]],[[]],[10],[10],[10],[[]],[[],10],[[]],[[[102,[[0,[45,[40,[39]]]]]]],[[38,[[0,[45,[40,[39]]]]]]]],[[48,[8,[[38,[[0,[45,[40,[39]]]]]]]],[31,[[0,[45,[40,[39]]]]]]],[[102,[[0,[45,[40,[39]]]]]]]],[[],28],[[],28],[[],37],[[]],[[[102,[[0,[45,103,36]]]],104,[0,[45,103,36]]]],0,0,0,0,0,0,0,0,[[105,51]],[[[106,[[0,[45,36]]]],10,[31,[[0,[45,36]]]],[0,[45,36]]]],[[[104,[[0,[103,36]]]],[31,[[0,[103,36]]]],[0,[103,36]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[98,98],[[[104,[2]]],[[104,[2]]]],[[]],[[]],[[],98],[[],[[104,[59]]]],[[],[[97,[59]]]],[10],[10],[10],[10],[10],[10],[10],[10],[10],[10],[[],[[28,[[104,[27]]]]]],[[],[[28,[[97,[27]]]]]],[10],[10],[10],[10],[10],[[[104,[1]],32],33],[[[97,[1]],32],33],[[[105,[1]],32],33],[[]],[[]],[[]],[[]],[[]],[[[98,[59]]],[[97,[59]]]],[[[106,[[0,[45,36]]]]],[[107,[[0,[45,36]]]]]],[[[105,[59]]],[[97,[59]]]],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[[35,[[108,[59]]]],10],[[98,[59]]]],[10,[[106,[[0,[45,36]]]]]],[21,104],[10,[[105,[59]]]],[[105,51,53]],0,0,[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],37],[[],37],[[],37],[[],37],[[],37],[[]],[[]],[[]],[[]],[[]]],"p":[[8,"Debug"],[8,"Clone"],[3,"Lookup"],[3,"String"],[4,"Expr"],[3,"StepType"],[3,"Circuit"],[8,"Into"],[3,"FixedSignal"],[15,"usize"],[3,"ForwardSignal"],[15,"str"],[3,"Advice"],[3,"Column"],[6,"ImportedHalo2Advice"],[3,"Fixed"],[6,"ImportedHalo2Fixed"],[3,"SharedSignal"],[3,"InternalSignal"],[3,"StepTypeHandler"],[6,"StepTypeUUID"],[3,"Constraint"],[3,"TransitionConstraint"],[4,"ExposeOffset"],[8,"ColumnType"],[3,"ImportedHalo2Column"],[3,"Fr"],[4,"Result"],[15,"bool"],[8,"PartialEq"],[4,"Queriable"],[3,"Formatter"],[6,"Result"],[15,"u128"],[3,"Rc"],[8,"Hash"],[3,"TypeId"],[3,"Constraint"],[15,"u64"],[8,"From"],[15,"u32"],[15,"u8"],[4,"Expression"],[15,"i32"],[8,"Field"],[3,"StepTypeSetupContext"],[8,"LookupBuilder"],[3,"StepTypeContext"],[3,"CircuitContext"],[4,"StepTypeDefInput"],[3,"StepTypeWGHandler"],[3,"LookupTableRegistry"],[8,"Fn"],[3,"LookupTableStore"],[3,"LookupTable"],[8,"IntoIterator"],[4,"Typing"],[3,"InPlaceLookupBuilder"],[8,"Default"],[3,"LookupTableBuilder"],[3,"SuperCircuitContext"],[8,"CellManager"],[8,"StepSelectorBuilder"],[3,"CompilerConfig"],[3,"SuperCircuit"],[3,"Circuit"],[3,"ChiquitoHalo2"],[3,"Vec"],[3,"ChiquitoHalo2Circuit"],[3,"ConstraintSystem"],[3,"ChiquitoHalo2SuperCircuit"],[6,"Assignments"],[4,"Option"],[6,"SuperAssignments"],[8,"Layouter"],[4,"Error"],[3,"Column"],[8,"PrimeField"],[3,"ChiquitoPlaf"],[3,"ChiquitoPlafWitGen"],[3,"Witness"],[3,"Plaf"],[3,"SignalPlacement"],[3,"StepPlacement"],[3,"Placement"],[3,"SingleRowCellManager"],[3,"MaxWidthCellManager"],[3,"SimpleStepSelectorBuilder"],[3,"TwoStepsSelectorBuilder"],[3,"StepSelector"],[6,"SelectorAssignment"],[4,"PolyExpr"],[4,"ColumnType"],[3,"Poly"],[3,"PolyLookup"],[3,"AssignmentGenerator"],[3,"TraceWitness"],[3,"TraceGenerator"],[3,"MappingGenerator"],[3,"MappingContext"],[6,"Mapping"],[3,"IsZero"],[8,"Eq"],[3,"StepInstance"],[3,"TraceContext"],[3,"FixedGenContext"],[6,"FixedAssignment"],[6,"Trace"],[13,"Step"],[8,"ToExpr"],[8,"ToField"],[13,"Const"],[13,"Sum"],[13,"Mul"],[13,"Neg"],[13,"Pow"],[13,"Query"],[13,"Halo2Expr"],[13,"Internal"],[13,"Forward"],[13,"Shared"],[13,"Fixed"],[13,"StepTypeNext"],[13,"Halo2AdviceQuery"],[13,"Halo2FixedQuery"],[13,"_unaccessible"],[13,"Handler"],[13,"String"],[13,"Const"],[13,"Query"],[13,"Sum"],[13,"Mul"],[13,"Neg"],[13,"Pow"],[13,"Halo2Expr"]]}\
}');
if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)};
if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex};
diff --git a/docs/src/chiquito/frontend/pychiquito.rs.html b/docs/src/chiquito/frontend/pychiquito.rs.html
index 8f8eccc1..555d1b0a 100644
--- a/docs/src/chiquito/frontend/pychiquito.rs.html
+++ b/docs/src/chiquito/frontend/pychiquito.rs.html
@@ -1412,6 +1412,7 @@
1412
1413
1414
+
1415
use crate::{
ast::{
expr::{query::Queriable, Expr},
@@ -1428,7 +1429,7 @@
ir::assignments::AssignmentGenerator,
},
util::{uuid, UUID},
- wit_gen::{StepInstance, TraceWitness},
+ wit_gen::{StepInstance, TraceContext, TraceWitness},
};
use core::result::Result;
@@ -1436,7 +1437,8 @@
use serde::de::{self, Deserialize, Deserializer, IgnoredAny, MapAccess, Visitor};
use std::{cell::RefCell, collections::HashMap, fmt, rc::Rc};
-type CircuitMap = RefCell<HashMap<UUID, (ChiquitoHalo2<Fr>, Option<AssignmentGenerator<Fr, ()>>)>>;
+type CircuitMapStore = (ChiquitoHalo2<Fr>, Option<AssignmentGenerator<Fr, ()>>);
+type CircuitMap = RefCell<HashMap<UUID, CircuitMapStore>>;
thread_local! {
pub static CIRCUIT_MAP: CircuitMap = RefCell::new(HashMap::new());
@@ -1462,7 +1464,7 @@
uuid
}
-pub fn uuid_to_halo2(uuid: UUID) -> (ChiquitoHalo2<Fr>, Option<AssignmentGenerator<Fr, ()>>) {
+fn uuid_to_halo2(uuid: UUID) -> CircuitMapStore {
CIRCUIT_MAP.with(|circuit_map| {
let circuit_map = circuit_map.borrow();
circuit_map.get(&uuid).unwrap().clone()
@@ -1478,7 +1480,7 @@
assignment_generator.map(|g| g.generate_with_witness(trace_witness)),
);
- let prover = MockProver::<Fr>::run(7, &circuit, Vec::new()).unwrap();
+ let prover = MockProver::<Fr>::run(7, &circuit, circuit.instance()).unwrap();
let result = prover.verify_par();
@@ -1633,7 +1635,7 @@
exposed,
num_steps,
annotations,
- trace: None,
+ trace: Some(Rc::new(|_: &mut TraceContext<_>, _: _| {})),
fixed_gen: None,
first_step,
last_step,
diff --git a/docs/src/chiquito/plonkish/backend/halo2.rs.html b/docs/src/chiquito/plonkish/backend/halo2.rs.html
index 3bbe10a3..bc1f1501 100644
--- a/docs/src/chiquito/plonkish/backend/halo2.rs.html
+++ b/docs/src/chiquito/plonkish/backend/halo2.rs.html
@@ -456,6 +456,51 @@
456
457
458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
use std::{collections::HashMap, hash::Hash};
use halo2_proofs::{
@@ -628,7 +673,7 @@
halo2_column,
*rotation as usize,
);
let _ = layouter.constrain_instance(cell, self.instance_column.unwrap(), index);
@@ -659,6 +704,25 @@
Ok(())
}
+ fn instance(&self, witness: &Assignments<F>) -> Vec<F> {
+ let mut instance_values = Vec::new();
+ for (column, rotation) in &self.circuit.exposed {
+ let values = witness
+ .get(column)
+ .unwrap_or_else(|| panic!("exposed column not found: {}", column.annotation));
+
+ if let Some(value) = values.get(*rotation as usize) {
+ instance_values.push(*value);
+ } else {
+ panic!(
+ "assignment index out of bounds for column: {}",
+ column.annotation
+ );
+ }
+ }
+ instance_values
+ }
+
fn annotate_circuit(&self, region: &mut Region<F>) {
for column in self.circuit.columns.iter() {
match column.ctype {
@@ -795,10 +859,19 @@
witness: Option<Assignments<F>>,
}
-impl<F: Field + From<u64>> ChiquitoHalo2Circuit<F> {
+impl<F: Field + From<u64> + Hash> ChiquitoHalo2Circuit<F> {
pub fn new(compiled: ChiquitoHalo2<F>, witness: Option<Assignments<F>>) -> Self {
Self { compiled, witness }
}
+
+ pub fn instance(&self) -> Vec<Vec<F>> {
+ if !self.compiled.circuit.exposed.is_empty() {
+ if let Some(witness) = &self.witness {
+ return vec![self.compiled.instance(witness)];
+ }
+ }
+ Vec::new()
+ }
}
impl<F: Field + From<u64> + Hash> h2Circuit<F> for ChiquitoHalo2Circuit<F> {
@@ -846,13 +919,30 @@
witness: SuperAssignments<F>,
}
-impl<F: Field + From<u64>> ChiquitoHalo2SuperCircuit<F> {
+impl<F: Field + From<u64> + Hash> ChiquitoHalo2SuperCircuit<F> {
pub fn new(sub_circuits: Vec<ChiquitoHalo2<F>>, witness: SuperAssignments<F>) -> Self {
Self {
sub_circuits,
witness,
}
}
+
+ pub fn instance(&self) -> Vec<Vec<F>> {
+ let mut result = Vec::new();
+
+ for sub_circuit in &self.sub_circuits {
+ if !sub_circuit.circuit.exposed.is_empty() {
+ let instance_values = sub_circuit.instance(
+ self.witness
+ .get(&sub_circuit.ir_id)
+ .expect("No matching witness found for given UUID."),
+ );
+ result.push(instance_values);
+ }
+ }
+
+ result
+ }
}
impl<F: Field + From<u64> + Hash> h2Circuit<F> for ChiquitoHalo2SuperCircuit<F> {