Generated by Cython 0.29.32

Yellow lines hint at Python interaction.
Click on a line that starts with a "+" to see the C code that Cython generated for it.

Raw output: fil_result.c

 001: """
 002: Class for the Fil results
 003: """
+004: import re
  __Pyx_TraceLine(4,0,__PYX_ERR(0, 4, __pyx_L1_error))
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_re, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_re, __pyx_t_1) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 005: import cython
 006: 
+007: import numpy as np
  __Pyx_TraceLine(7,0,__PYX_ERR(0, 7, __pyx_L1_error))
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 7, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+008: from tqdm import tqdm
  __Pyx_TraceLine(8,0,__PYX_ERR(0, 8, __pyx_L1_error))
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_tqdm);
  __Pyx_GIVEREF(__pyx_n_s_tqdm);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_tqdm);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_tqdm, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_tqdm); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_tqdm, __pyx_t_1) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 009: 
+010: from .model import Model
  __Pyx_TraceLine(10,0,__PYX_ERR(0, 10, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_Model);
  __Pyx_GIVEREF(__pyx_n_s_Model);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Model);
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_model, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Model); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Model, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+011: from .nodes import Node2D, Node3D
  __Pyx_TraceLine(11,0,__PYX_ERR(0, 11, __pyx_L1_error))
  __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_Node2D);
  __Pyx_GIVEREF(__pyx_n_s_Node2D);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Node2D);
  __Pyx_INCREF(__pyx_n_s_Node3D);
  __Pyx_GIVEREF(__pyx_n_s_Node3D);
  PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_Node3D);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_nodes, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Node2D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Node2D, __pyx_t_1) < 0) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Node3D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Node3D, __pyx_t_1) < 0) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+012: from .elements import ELEMENTS, N_INT_PNTS
  __Pyx_TraceLine(12,0,__PYX_ERR(0, 12, __pyx_L1_error))
  __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_ELEMENTS);
  __Pyx_GIVEREF(__pyx_n_s_ELEMENTS);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_ELEMENTS);
  __Pyx_INCREF(__pyx_n_s_N_INT_PNTS);
  __Pyx_GIVEREF(__pyx_n_s_N_INT_PNTS);
  PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_N_INT_PNTS);
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_elements, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_ELEMENTS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ELEMENTS, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_N_INT_PNTS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_N_INT_PNTS, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 013: 
+014: if cython.compiled:
  __Pyx_TraceLine(14,0,__PYX_ERR(0, 14, __pyx_L1_error))
  __pyx_t_3 = (1 != 0);
  if (__pyx_t_3) {
/* … */
    goto __pyx_L2;
  }
+015:   print("Cython compiled")
    __Pyx_TraceLine(15,0,__PYX_ERR(0, 15, __pyx_L1_error))
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* … */
  __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_u_Cython_compiled); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__13);
  __Pyx_GIVEREF(__pyx_tuple__13);
 016: else:
+017:   print("Cython not compiled!")
  __Pyx_TraceLine(17,0,__PYX_ERR(0, 17, __pyx_L1_error))
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L2:;
 018: 
 019: 
 020: @cython.cclass
 021: class FilParser:
 022:     """
 023:     Parse and store the data from a *.fil file.
 024: 
 025:     Parameters
 026:     ----------
 027:     records : list(str)
 028:         List of the imported records of the *.fil file
 029: 
 030:     Attributes
 031:     ----------
 032:     _elem_out_list : list
 033:         List of element/node numbers that correspond to the following output records
 034: 
 035:     """
 036: 
 037:     PARSE_MAP = {
+038:         1: ("_parse_elem_header", []),
  __Pyx_TraceLine(38,0,__PYX_ERR(0, 38, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(28); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_elem_header);
  __Pyx_GIVEREF(__pyx_n_u_parse_elem_header);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_elem_header);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+039:         8: ("_parse_elem_output", ["COORD"]),
  __Pyx_TraceLine(39,0,__PYX_ERR(0, 39, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_COORD);
  __Pyx_GIVEREF(__pyx_n_u_COORD);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_COORD);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_elem_output);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_8, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+040:         11: ("_parse_elem_output", ["S"]),
  __Pyx_TraceLine(40,0,__PYX_ERR(0, 40, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_S);
  __Pyx_GIVEREF(__pyx_n_u_S);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_S);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_elem_output);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_11, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+041:         21: ("_parse_elem_output", ["E"]),
  __Pyx_TraceLine(41,0,__PYX_ERR(0, 41, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_E);
  __Pyx_GIVEREF(__pyx_n_u_E);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_E);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_elem_output);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_21, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+042:         5: ("_parse_elem_output", ["SDV"]),
  __Pyx_TraceLine(42,0,__PYX_ERR(0, 42, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_SDV);
  __Pyx_GIVEREF(__pyx_n_u_SDV);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_SDV);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_elem_output);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_5, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+043:         101: ("_parse_nodal_output", ["U"]),
  __Pyx_TraceLine(43,0,__PYX_ERR(0, 43, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_U);
  __Pyx_GIVEREF(__pyx_n_u_U);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_U);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_nodal_output);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_101, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+044:         104: ("_parse_nodal_output", ["RF"]),
  __Pyx_TraceLine(44,0,__PYX_ERR(0, 44, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_RF);
  __Pyx_GIVEREF(__pyx_n_u_RF);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_RF);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_nodal_output);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_104, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+045:         106: ("_parse_nodal_output", ["CF"]),
  __Pyx_TraceLine(45,0,__PYX_ERR(0, 45, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_CF);
  __Pyx_GIVEREF(__pyx_n_u_CF);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_CF);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_nodal_output);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_106, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+046:         107: ("_parse_nodal_output", ["COORD"]),
  __Pyx_TraceLine(46,0,__PYX_ERR(0, 46, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_COORD);
  __Pyx_GIVEREF(__pyx_n_u_COORD);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_COORD);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_nodal_output);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_107, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+047:         146: ("_parse_nodal_output", ["TF"]),
  __Pyx_TraceLine(47,0,__PYX_ERR(0, 47, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_TF);
  __Pyx_GIVEREF(__pyx_n_u_TF);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_TF);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_nodal_output);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_146, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+048:         1501: ("_parse_surface", [False]),
  __Pyx_TraceLine(48,0,__PYX_ERR(0, 48, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(Py_False);
  __Pyx_GIVEREF(Py_False);
  PyList_SET_ITEM(__pyx_t_2, 0, Py_False);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_surface);
  __Pyx_GIVEREF(__pyx_n_u_parse_surface);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_surface);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1501, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+049:         1502: ("_parse_surface", [True]),
  __Pyx_TraceLine(49,0,__PYX_ERR(0, 49, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(Py_True);
  __Pyx_GIVEREF(Py_True);
  PyList_SET_ITEM(__pyx_t_4, 0, Py_True);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_surface);
  __Pyx_GIVEREF(__pyx_n_u_parse_surface);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_surface);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1502, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+050:         1503: ("_parse_contact_output_request", []),
  __Pyx_TraceLine(50,0,__PYX_ERR(0, 50, __pyx_L1_error))
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_contact_output_request);
  __Pyx_GIVEREF(__pyx_n_u_parse_contact_output_request);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_contact_output_request);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1503, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+051:         1504: ("_parse_curr_contact_node", []),
  __Pyx_TraceLine(51,0,__PYX_ERR(0, 51, __pyx_L1_error))
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_curr_contact_node);
  __Pyx_GIVEREF(__pyx_n_u_parse_curr_contact_node);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_curr_contact_node);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1504, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+052:         1511: ("_parse_surface_output", ["CSTRESS"]),
  __Pyx_TraceLine(52,0,__PYX_ERR(0, 52, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_CSTRESS);
  __Pyx_GIVEREF(__pyx_n_u_CSTRESS);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_CSTRESS);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_surface_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_surface_output);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_surface_output);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1511, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+053:         1900: ("_parse_element", []),
  __Pyx_TraceLine(53,0,__PYX_ERR(0, 53, __pyx_L1_error))
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_element);
  __Pyx_GIVEREF(__pyx_n_u_parse_element);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_element);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1900, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+054:         1901: ("_parse_node", []),
  __Pyx_TraceLine(54,0,__PYX_ERR(0, 54, __pyx_L1_error))
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_node);
  __Pyx_GIVEREF(__pyx_n_u_parse_node);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_node);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1901, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+055:         1902: ("_parse_active_dof", []),
  __Pyx_TraceLine(55,0,__PYX_ERR(0, 55, __pyx_L1_error))
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_active_dof);
  __Pyx_GIVEREF(__pyx_n_u_parse_active_dof);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_active_dof);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1902, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+056:         1911: ("_parse_output_request", []),
  __Pyx_TraceLine(56,0,__PYX_ERR(0, 56, __pyx_L1_error))
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_output_request);
  __Pyx_GIVEREF(__pyx_n_u_parse_output_request);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_output_request);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1911, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+057:         1921: ("_parse_not_implemented", ["Abaqus release, etc."]),
  __Pyx_TraceLine(57,0,__PYX_ERR(0, 57, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_kp_u_Abaqus_release_etc);
  __Pyx_GIVEREF(__pyx_kp_u_Abaqus_release_etc);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_Abaqus_release_etc);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_not_implemented);
  __Pyx_GIVEREF(__pyx_n_u_parse_not_implemented);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_not_implemented);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1921, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+058:         1922: ("_parse_not_implemented", ["Heading"]),
  __Pyx_TraceLine(58,0,__PYX_ERR(0, 58, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_Heading);
  __Pyx_GIVEREF(__pyx_n_u_Heading);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_Heading);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_not_implemented);
  __Pyx_GIVEREF(__pyx_n_u_parse_not_implemented);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_not_implemented);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1922, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+059:         1931: ("_parse_set", [False, "node"]),
  __Pyx_TraceLine(59,0,__PYX_ERR(0, 59, __pyx_L1_error))
  __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(Py_False);
  __Pyx_GIVEREF(Py_False);
  PyList_SET_ITEM(__pyx_t_4, 0, Py_False);
  __Pyx_INCREF(__pyx_n_u_node);
  __Pyx_GIVEREF(__pyx_n_u_node);
  PyList_SET_ITEM(__pyx_t_4, 1, __pyx_n_u_node);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_n_u_parse_set);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1931, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+060:         1932: ("_parse_set", [True, "node"]),
  __Pyx_TraceLine(60,0,__PYX_ERR(0, 60, __pyx_L1_error))
  __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(Py_True);
  __Pyx_GIVEREF(Py_True);
  PyList_SET_ITEM(__pyx_t_2, 0, Py_True);
  __Pyx_INCREF(__pyx_n_u_node);
  __Pyx_GIVEREF(__pyx_n_u_node);
  PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_node);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_n_u_parse_set);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1932, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+061:         1933: ("_parse_set", [False, "element"]),
  __Pyx_TraceLine(61,0,__PYX_ERR(0, 61, __pyx_L1_error))
  __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(Py_False);
  __Pyx_GIVEREF(Py_False);
  PyList_SET_ITEM(__pyx_t_4, 0, Py_False);
  __Pyx_INCREF(__pyx_n_u_element);
  __Pyx_GIVEREF(__pyx_n_u_element);
  PyList_SET_ITEM(__pyx_t_4, 1, __pyx_n_u_element);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_n_u_parse_set);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1933, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+062:         1934: ("_parse_set", [True, "element"]),
  __Pyx_TraceLine(62,0,__PYX_ERR(0, 62, __pyx_L1_error))
  __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(Py_True);
  __Pyx_GIVEREF(Py_True);
  PyList_SET_ITEM(__pyx_t_2, 0, Py_True);
  __Pyx_INCREF(__pyx_n_u_element);
  __Pyx_GIVEREF(__pyx_n_u_element);
  PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_element);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_n_u_parse_set);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1934, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+063:         1940: ("_parse_label_cross_ref", []),
  __Pyx_TraceLine(63,0,__PYX_ERR(0, 63, __pyx_L1_error))
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_label_cross_ref);
  __Pyx_GIVEREF(__pyx_n_u_parse_label_cross_ref);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_label_cross_ref);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1940, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+064:         2000: ("_parse_step", ["start"]),
  __Pyx_TraceLine(64,0,__PYX_ERR(0, 64, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_start);
  __Pyx_GIVEREF(__pyx_n_u_start);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_start);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_step);
  __Pyx_GIVEREF(__pyx_n_u_parse_step);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_step);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_2000, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+065:         2001: ("_parse_step", ["end"]),
  __Pyx_TraceLine(65,0,__PYX_ERR(0, 65, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_end);
  __Pyx_GIVEREF(__pyx_n_u_end);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_end);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_step);
  __Pyx_GIVEREF(__pyx_n_u_parse_step);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_step);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_2001, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_7pybaqus_10fil_result_FilParser->tp_dict, __pyx_n_s_PARSE_MAP, __pyx_t_1) < 0) __PYX_ERR(0, 37, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_7pybaqus_10fil_result_FilParser);
 066:     }
 067: 
 068:     CONTACT_OUT = {
+069:         "CSTRESS": ["CPRESS", "CSHEAR1", "CSHEAR2"],
  __Pyx_TraceLine(69,0,__PYX_ERR(0, 69, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_CPRESS);
  __Pyx_GIVEREF(__pyx_n_u_CPRESS);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_CPRESS);
  __Pyx_INCREF(__pyx_n_u_CSHEAR1);
  __Pyx_GIVEREF(__pyx_n_u_CSHEAR1);
  PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_CSHEAR1);
  __Pyx_INCREF(__pyx_n_u_CSHEAR2);
  __Pyx_GIVEREF(__pyx_n_u_CSHEAR2);
  PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_CSHEAR2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_CSTRESS, __pyx_t_2) < 0) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_7pybaqus_10fil_result_FilParser->tp_dict, __pyx_n_s_CONTACT_OUT, __pyx_t_1) < 0) __PYX_ERR(0, 68, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_7pybaqus_10fil_result_FilParser);
 070:     }
 071: 
 072:     _records: list
 073:     _model: Model
+074:     _curr_elem_out = cython.declare(int, visibility='public')
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_14_curr_elem_out_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_14_curr_elem_out_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_14_curr_elem_out___get__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_14_curr_elem_out___get__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 74, 0, __PYX_ERR(0, 74, __pyx_L1_error));
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_curr_elem_out); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_elem_out.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_14_curr_elem_out_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_14_curr_elem_out_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_14_curr_elem_out_2__set__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_7pybaqus_10fil_result_9FilParser_14_curr_elem_out_2__set__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 74, 0, __PYX_ERR(0, 74, __pyx_L1_error));
  __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L1_error)
  __pyx_v_self->_curr_elem_out = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_elem_out.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+075:     _curr_step = cython.declare(int, visibility='public')
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_10_curr_step_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_10_curr_step_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_10_curr_step___get__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_10_curr_step___get__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 75, 0, __PYX_ERR(0, 75, __pyx_L1_error));
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_curr_step); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_step.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_10_curr_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_10_curr_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_10_curr_step_2__set__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_7pybaqus_10fil_result_9FilParser_10_curr_step_2__set__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 75, 0, __PYX_ERR(0, 75, __pyx_L1_error));
  __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 75, __pyx_L1_error)
  __pyx_v_self->_curr_step = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_step.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+076:     _curr_inc = cython.declare(int, visibility='public')
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_9_curr_inc_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_9_curr_inc_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_9_curr_inc___get__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_9_curr_inc___get__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 76, 0, __PYX_ERR(0, 76, __pyx_L1_error));
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_curr_inc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_inc.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_9_curr_inc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_9_curr_inc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_9_curr_inc_2__set__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_7pybaqus_10fil_result_9FilParser_9_curr_inc_2__set__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 76, 0, __PYX_ERR(0, 76, __pyx_L1_error));
  __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 76, __pyx_L1_error)
  __pyx_v_self->_curr_inc = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_inc.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+077:     _curr_loc_id = cython.declare(int, visibility='public')
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_12_curr_loc_id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_12_curr_loc_id_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_12_curr_loc_id___get__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_12_curr_loc_id___get__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 77, 0, __PYX_ERR(0, 77, __pyx_L1_error));
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_curr_loc_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_loc_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_12_curr_loc_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_12_curr_loc_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_12_curr_loc_id_2__set__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_7pybaqus_10fil_result_9FilParser_12_curr_loc_id_2__set__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 77, 0, __PYX_ERR(0, 77, __pyx_L1_error));
  __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 77, __pyx_L1_error)
  __pyx_v_self->_curr_loc_id = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_loc_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 078:     _curr_n_int_point: cython.declare(int, visibility='public')
 079:     _flag_output: cython.declare(int, visibility='public')
 080:     _curr_output_node: cython.declare(int, visibility='public')
 081:     _output_request_set: str
 082:     _output_elem_type: str
 083:     _dof_map: dict
 084:     _model_dimension: cython.declare(int, visibility='public')
 085:     _node_records: list
 086:     _curr_set: cython.declare(int, visibility='public')
 087:     _tmp_sets: dict
 088:     _label_cross_ref: dict
 089:     _curr_surface: cython.declare(int, visibility='public')
 090:     _tmp_surf: dict
 091:     _tmp_faces: dict
 092:     _node_elems: dict
 093: 
+094:     def __cinit__(self, records: list, progress: bool):
/* Python wrapper */
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_records = 0;
  PyObject *__pyx_v_progress = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_records,&__pyx_n_s_progress,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_records)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_progress)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 94, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 94, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_records = ((PyObject*)values[0]);
    __pyx_v_progress = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 94, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_records), (&PyList_Type), 1, "records", 1))) __PYX_ERR(0, 94, __pyx_L1_error)
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser___cinit__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_records, __pyx_v_progress);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_7pybaqus_10fil_result_9FilParser___cinit__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_records, PyObject *__pyx_v_progress) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 94, 0, __PYX_ERR(0, 94, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+095:         self._records = records
  __Pyx_TraceLine(95,0,__PYX_ERR(0, 95, __pyx_L1_error))
  __Pyx_INCREF(__pyx_v_records);
  __Pyx_GIVEREF(__pyx_v_records);
  __Pyx_GOTREF(__pyx_v_self->_records);
  __Pyx_DECREF(__pyx_v_self->_records);
  __pyx_v_self->_records = __pyx_v_records;
+096:         self._model = Model()
  __Pyx_TraceLine(96,0,__PYX_ERR(0, 96, __pyx_L1_error))
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Model); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_model);
  __Pyx_DECREF(__pyx_v_self->_model);
  __pyx_v_self->_model = __pyx_t_1;
  __pyx_t_1 = 0;
 097: 
+098:         self._curr_elem_out= -1
  __Pyx_TraceLine(98,0,__PYX_ERR(0, 98, __pyx_L1_error))
  __pyx_v_self->_curr_elem_out = -1;
+099:         self._curr_n_int_point = -1
  __Pyx_TraceLine(99,0,__PYX_ERR(0, 99, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  __Pyx_GOTREF(__pyx_v_self->_curr_n_int_point);
  __Pyx_DECREF(__pyx_v_self->_curr_n_int_point);
  __pyx_v_self->_curr_n_int_point = __pyx_int_neg_1;
+100:         self._curr_step = -1
  __Pyx_TraceLine(100,0,__PYX_ERR(0, 100, __pyx_L1_error))
  __pyx_v_self->_curr_step = -1;
+101:         self._curr_inc = -1
  __Pyx_TraceLine(101,0,__PYX_ERR(0, 101, __pyx_L1_error))
  __pyx_v_self->_curr_inc = -1;
+102:         self._curr_loc_id = -1
  __Pyx_TraceLine(102,0,__PYX_ERR(0, 102, __pyx_L1_error))
  __pyx_v_self->_curr_loc_id = -1;
+103:         self._flag_output = -1
  __Pyx_TraceLine(103,0,__PYX_ERR(0, 103, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  __Pyx_GOTREF(__pyx_v_self->_flag_output);
  __Pyx_DECREF(__pyx_v_self->_flag_output);
  __pyx_v_self->_flag_output = __pyx_int_neg_1;
+104:         self._curr_output_node = -1
  __Pyx_TraceLine(104,0,__PYX_ERR(0, 104, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  __Pyx_GOTREF(__pyx_v_self->_curr_output_node);
  __Pyx_DECREF(__pyx_v_self->_curr_output_node);
  __pyx_v_self->_curr_output_node = __pyx_int_neg_1;
+105:         self._output_request_set = ""
  __Pyx_TraceLine(105,0,__PYX_ERR(0, 105, __pyx_L1_error))
  __Pyx_INCREF(__pyx_kp_u_);
  __Pyx_GIVEREF(__pyx_kp_u_);
  __Pyx_GOTREF(__pyx_v_self->_output_request_set);
  __Pyx_DECREF(__pyx_v_self->_output_request_set);
  __pyx_v_self->_output_request_set = __pyx_kp_u_;
+106:         self._output_elem_type = ""
  __Pyx_TraceLine(106,0,__PYX_ERR(0, 106, __pyx_L1_error))
  __Pyx_INCREF(__pyx_kp_u_);
  __Pyx_GIVEREF(__pyx_kp_u_);
  __Pyx_GOTREF(__pyx_v_self->_output_elem_type);
  __Pyx_DECREF(__pyx_v_self->_output_elem_type);
  __pyx_v_self->_output_elem_type = __pyx_kp_u_;
+107:         self._dof_map = dict()
  __Pyx_TraceLine(107,0,__PYX_ERR(0, 107, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_dof_map);
  __Pyx_DECREF(__pyx_v_self->_dof_map);
  __pyx_v_self->_dof_map = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+108:         self._model_dimension = -1
  __Pyx_TraceLine(108,0,__PYX_ERR(0, 108, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  __Pyx_GOTREF(__pyx_v_self->_model_dimension);
  __Pyx_DECREF(__pyx_v_self->_model_dimension);
  __pyx_v_self->_model_dimension = __pyx_int_neg_1;
+109:         self._node_records = list()
  __Pyx_TraceLine(109,0,__PYX_ERR(0, 109, __pyx_L1_error))
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_node_records);
  __Pyx_DECREF(__pyx_v_self->_node_records);
  __pyx_v_self->_node_records = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
 110: 
+111:         self._curr_set = -1
  __Pyx_TraceLine(111,0,__PYX_ERR(0, 111, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  __Pyx_GOTREF(__pyx_v_self->_curr_set);
  __Pyx_DECREF(__pyx_v_self->_curr_set);
  __pyx_v_self->_curr_set = __pyx_int_neg_1;
+112:         self._tmp_sets = {"element": dict(), "node": dict()}
  __Pyx_TraceLine(112,0,__PYX_ERR(0, 112, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_element, __pyx_t_2) < 0) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_node, __pyx_t_2) < 0) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_tmp_sets);
  __Pyx_DECREF(__pyx_v_self->_tmp_sets);
  __pyx_v_self->_tmp_sets = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+113:         self._label_cross_ref = dict()
  __Pyx_TraceLine(113,0,__PYX_ERR(0, 113, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_label_cross_ref);
  __Pyx_DECREF(__pyx_v_self->_label_cross_ref);
  __pyx_v_self->_label_cross_ref = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+114:         self._curr_surface = -1
  __Pyx_TraceLine(114,0,__PYX_ERR(0, 114, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  __Pyx_GOTREF(__pyx_v_self->_curr_surface);
  __Pyx_DECREF(__pyx_v_self->_curr_surface);
  __pyx_v_self->_curr_surface = __pyx_int_neg_1;
+115:         self._tmp_surf = dict()
  __Pyx_TraceLine(115,0,__PYX_ERR(0, 115, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_tmp_surf);
  __Pyx_DECREF(__pyx_v_self->_tmp_surf);
  __pyx_v_self->_tmp_surf = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+116:         self._tmp_faces = dict()
  __Pyx_TraceLine(116,0,__PYX_ERR(0, 116, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_tmp_faces);
  __Pyx_DECREF(__pyx_v_self->_tmp_faces);
  __pyx_v_self->_tmp_faces = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+117:         self._node_elems = dict()
  __Pyx_TraceLine(117,0,__PYX_ERR(0, 117, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_node_elems);
  __Pyx_DECREF(__pyx_v_self->_node_elems);
  __pyx_v_self->_node_elems = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
 118: 
+119:         self._parse_records(progress)
  __Pyx_TraceLine(119,0,__PYX_ERR(0, 119, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parse_records); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_progress) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_progress);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 120: 
 121:     @cython.nonecheck(False)
 122:     @cython.boundscheck(False)
+123:     def _parse_records(self, progress: bool):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_3_parse_records(PyObject *__pyx_v_self, PyObject *__pyx_v_progress); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_2_parse_records[] = "Parse the imported records.";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_3_parse_records(PyObject *__pyx_v_self, PyObject *__pyx_v_progress) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_records (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_2_parse_records(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_progress));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_2_parse_records(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_progress) {
  PyObject *__pyx_v_records = 0;
  PyObject *__pyx_v_vars_i = 0;
  PyObject *__pyx_v_r_i = 0;
  int __pyx_v_key;
  int __pyx_v_ix;
  int __pyx_v_n_records;
  PyObject *__pyx_v_pattern = NULL;
  PyObject *__pyx_v_m_rec = NULL;
  PyObject *__pyx_v_args = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_records", 0);
  __Pyx_TraceCall("_parse_records", __pyx_f[0], 123, 0, __PYX_ERR(0, 123, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_records", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_records);
  __Pyx_XDECREF(__pyx_v_vars_i);
  __Pyx_XDECREF(__pyx_v_r_i);
  __Pyx_XDECREF(__pyx_v_pattern);
  __Pyx_XDECREF(__pyx_v_m_rec);
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 124:         """Parse the imported records."""
 125:         records: list
 126:         vars_i: list
 127:         r_i: cython.str
 128:         key: cython.int
+129:         ix: cython.int = 0
  __Pyx_TraceLine(129,0,__PYX_ERR(0, 129, __pyx_L1_error))
  __pyx_v_ix = 0;
 130: 
+131:         records = self._records
  __Pyx_TraceLine(131,0,__PYX_ERR(0, 131, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_records;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_records = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+132:         n_records: cython.int = len(records)
  __Pyx_TraceLine(132,0,__PYX_ERR(0, 132, __pyx_L1_error))
  if (unlikely(__pyx_v_records == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 132, __pyx_L1_error)
  }
  __pyx_t_2 = PyList_GET_SIZE(__pyx_v_records); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 132, __pyx_L1_error)
  __pyx_v_n_records = __pyx_t_2;
 133: 
+134:         print("Test 2")
  __Pyx_TraceLine(134,0,__PYX_ERR(0, 134, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* … */
  __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_Test_2); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__2);
  __Pyx_GIVEREF(__pyx_tuple__2);
 135: 
 136:         pattern = (
 137:             r"[ADEI](?: \d(\d+)|"  # ints
 138:             + r"((?: |-)\d+\.\d+(?:E|D)(?:\+|-)\d+)|"  # floats
+139:             + r"(.{8}))"  # strings
  __Pyx_TraceLine(139,0,__PYX_ERR(0, 139, __pyx_L1_error))
  __Pyx_INCREF(__pyx_kp_u_ADEI_d_d_d_d_E_D_d_8);
  __pyx_v_pattern = __pyx_kp_u_ADEI_d_d_d_d_E_D_d_8;
 140:         )
 141: 
 142:         # Parse each record
+143:         while ix < n_records:
  __Pyx_TraceLine(143,0,__PYX_ERR(0, 143, __pyx_L1_error))
  while (1) {
    __pyx_t_3 = ((__pyx_v_ix < __pyx_v_n_records) != 0);
    if (!__pyx_t_3) break;
+144:             r_i = records[ix]
    __Pyx_TraceLine(144,0,__PYX_ERR(0, 144, __pyx_L1_error))
    if (unlikely(__pyx_v_records == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 144, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_records, __pyx_v_ix, int, 1, __Pyx_PyInt_From_int, 1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 144, __pyx_L1_error)
    __Pyx_XDECREF_SET(__pyx_v_r_i, ((PyObject*)__pyx_t_1));
    __pyx_t_1 = 0;
+145:             m_rec = re.findall(pattern, r_i)
    __Pyx_TraceLine(145,0,__PYX_ERR(0, 145, __pyx_L1_error))
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_findall); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    __pyx_t_6 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
        __pyx_t_6 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_pattern, __pyx_v_r_i};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_pattern, __pyx_v_r_i};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__pyx_t_4) {
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
      }
      __Pyx_INCREF(__pyx_v_pattern);
      __Pyx_GIVEREF(__pyx_v_pattern);
      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_pattern);
      __Pyx_INCREF(__pyx_v_r_i);
      __Pyx_GIVEREF(__pyx_v_r_i);
      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_r_i);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_m_rec, __pyx_t_1);
    __pyx_t_1 = 0;
 146: 
 147:             # Get each variable
+148:             vars_i = list(map(self._convert_record, m_rec))
    __Pyx_TraceLine(148,0,__PYX_ERR(0, 148, __pyx_L1_error))
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_convert_record); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_m_rec);
    __Pyx_GIVEREF(__pyx_v_m_rec);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_m_rec);
    __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF_SET(__pyx_v_vars_i, ((PyObject*)__pyx_t_5));
    __pyx_t_5 = 0;
 149: 
 150:             # Process record
+151:             key = vars_i[1]
    __Pyx_TraceLine(151,0,__PYX_ERR(0, 151, __pyx_L1_error))
    __pyx_t_6 = __Pyx_PyInt_As_int(PyList_GET_ITEM(__pyx_v_vars_i, 1)); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 151, __pyx_L1_error)
    __pyx_v_key = __pyx_t_6;
 152:             # Lookup the key in dictionary and execute the respective functions
+153:             if key in self.PARSE_MAP:
    __Pyx_TraceLine(153,0,__PYX_ERR(0, 153, __pyx_L1_error))
    __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_PARSE_MAP); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_5, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 153, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = (__pyx_t_3 != 0);
    if (__pyx_t_8) {
/* … */
      goto __pyx_L5;
    }
+154:                 args = self.PARSE_MAP[key][1]
      __Pyx_TraceLine(154,0,__PYX_ERR(0, 154, __pyx_L1_error))
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_PARSE_MAP); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_key, int, 1, __Pyx_PyInt_From_int, 0, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF_SET(__pyx_v_args, __pyx_t_1);
      __pyx_t_1 = 0;
+155:                 getattr(self, self.PARSE_MAP[key][0])(vars_i, *args)
      __Pyx_TraceLine(155,0,__PYX_ERR(0, 155, __pyx_L1_error))
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_PARSE_MAP); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_key, int, 1, __Pyx_PyInt_From_int, 0, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 155, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_GetAttr(((PyObject *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 155, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_v_vars_i);
      __Pyx_GIVEREF(__pyx_v_vars_i);
      PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_vars_i);
      __pyx_t_7 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 155, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_4 = PyNumber_Add(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 155, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 155, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
 156:             else:
+157:                 print(f"Key {key} not defined!")
    __Pyx_TraceLine(157,0,__PYX_ERR(0, 157, __pyx_L1_error))
    /*else*/ {
      __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_2 = 0;
      __pyx_t_9 = 127;
      __Pyx_INCREF(__pyx_kp_u_Key);
      __pyx_t_2 += 4;
      __Pyx_GIVEREF(__pyx_kp_u_Key);
      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_u_Key);
      __pyx_t_4 = __Pyx_PyUnicode_From_int(__pyx_v_key, 0, ' ', 'd'); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_INCREF(__pyx_kp_u_not_defined);
      __pyx_t_2 += 13;
      __Pyx_GIVEREF(__pyx_kp_u_not_defined);
      PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_kp_u_not_defined);
      __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_7, 3, __pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __pyx_L5:;
+158:             ix += 1
    __Pyx_TraceLine(158,0,__PYX_ERR(0, 158, __pyx_L1_error))
    __pyx_v_ix = (__pyx_v_ix + 1);
  }
 159: 
 160:         # Execute post-read actions on the model
+161:         self._post_parse_all_surfaces()
  __Pyx_TraceLine(161,0,__PYX_ERR(0, 161, __pyx_L1_error))
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_post_parse_all_surfaces); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_7 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+162:         self._reference_elems_in_nodes()
  __Pyx_TraceLine(162,0,__PYX_ERR(0, 162, __pyx_L1_error))
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reference_elems_in_nodes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_7 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+163:         self._model.post_import_actions()
  __Pyx_TraceLine(163,0,__PYX_ERR(0, 163, __pyx_L1_error))
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_post_import_actions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_7 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
 164: 
+165:     def _convert_record(self, record: tuple):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_5_convert_record(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_4_convert_record[] = "Convert one record to a list of numbers and strings.";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_5_convert_record(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_convert_record (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_record), (&PyTuple_Type), 1, "record", 1))) __PYX_ERR(0, 165, __pyx_L1_error)
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_4_convert_record(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject*)__pyx_v_record));
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_4_convert_record(CYTHON_UNUSED struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_convert_record", 0);
  __Pyx_TraceCall("_convert_record", __pyx_f[0], 165, 0, __PYX_ERR(0, 165, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._convert_record", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 166:         """Convert one record to a list of numbers and strings."""
 167:         # For each variable three matches are made (why?), so we need to
 168:         # take the one with the data (the only one which is not am empty
 169:         # string)
+170:         if record[0] != "":
  __Pyx_TraceLine(170,0,__PYX_ERR(0, 170, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 170, __pyx_L1_error)
  }
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(PyTuple_GET_ITEM(__pyx_v_record, 0), __pyx_kp_u_, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 170, __pyx_L1_error)
  if (__pyx_t_1) {
/* … */
  }
+171:             return int(record[0])
    __Pyx_TraceLine(171,0,__PYX_ERR(0, 171, __pyx_L1_error))
    __Pyx_XDECREF(__pyx_r);
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 171, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_PyNumber_Int(PyTuple_GET_ITEM(__pyx_v_record, 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
+172:         elif record[1] != "":
  __Pyx_TraceLine(172,0,__PYX_ERR(0, 172, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 172, __pyx_L1_error)
  }
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(PyTuple_GET_ITEM(__pyx_v_record, 1), __pyx_kp_u_, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 172, __pyx_L1_error)
  if (__pyx_t_1) {
/* … */
  }
+173:             return float(record[1].replace("D", "E"))
    __Pyx_TraceLine(173,0,__PYX_ERR(0, 173, __pyx_L1_error))
    __Pyx_XDECREF(__pyx_r);
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 173, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(PyTuple_GET_ITEM(__pyx_v_record, 1), __pyx_n_s_replace); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyNumber_Float(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
/* … */
  __pyx_tuple__3 = PyTuple_Pack(2, __pyx_n_u_D, __pyx_n_u_E); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__3);
  __Pyx_GIVEREF(__pyx_tuple__3);
 174:         else:
+175:             return record[2]
  __Pyx_TraceLine(175,0,__PYX_ERR(0, 175, __pyx_L1_error))
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 175, __pyx_L1_error)
    }
    __Pyx_INCREF(PyTuple_GET_ITEM(__pyx_v_record, 2));
    __pyx_r = PyTuple_GET_ITEM(__pyx_v_record, 2);
    goto __pyx_L0;
  }
 176: 
 177:     @cython.nonecheck(False)
+178:     def _parse_element(self, record: list):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_7_parse_element(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_6_parse_element[] = "Parse the data of an element\n\n        Parameters\n        ----------\n        record : list\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_7_parse_element(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_element (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_record), (&PyList_Type), 1, "record", 1))) __PYX_ERR(0, 178, __pyx_L1_error)
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_6_parse_element(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject*)__pyx_v_record));
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_6_parse_element(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_v_e_type = 0;
  int __pyx_v_e_number;
  PyObject *__pyx_v_nodes = 0;
  int __pyx_v_n;
  int __pyx_v_ix;
  int __pyx_v_nnodes;
  PyObject *__pyx_v_ElementClass = NULL;
  PyObject *__pyx_v_element = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_element", 0);
  __Pyx_TraceCall("_parse_element", __pyx_f[0], 178, 0, __PYX_ERR(0, 178, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_element", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_e_type);
  __Pyx_XDECREF(__pyx_v_nodes);
  __Pyx_XDECREF(__pyx_v_ElementClass);
  __Pyx_XDECREF(__pyx_v_element);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 179:         """Parse the data of an element
 180: 
 181:         Parameters
 182:         ----------
 183:         record : list
 184: 
 185:         """
 186:         # Element type
+187:         e_type: cython.str = record[3].strip()
  __Pyx_TraceLine(187,0,__PYX_ERR(0, 187, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 187, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(PyList_GET_ITEM(__pyx_v_record, 3), __pyx_n_s_strip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 187, __pyx_L1_error)
  __pyx_v_e_type = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+188:         e_number: cython.int = record[2]
  __Pyx_TraceLine(188,0,__PYX_ERR(0, 188, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 188, __pyx_L1_error)
  }
  __pyx_t_4 = __Pyx_PyInt_As_int(PyList_GET_ITEM(__pyx_v_record, 2)); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 188, __pyx_L1_error)
  __pyx_v_e_number = __pyx_t_4;
+189:         nodes: list = record[4:]
  __Pyx_TraceLine(189,0,__PYX_ERR(0, 189, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 189, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyList_GetSlice(__pyx_v_record, 4, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_nodes = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
 190:         n: cython.int
+191:         ix: cython.int = 0
  __Pyx_TraceLine(191,0,__PYX_ERR(0, 191, __pyx_L1_error))
  __pyx_v_ix = 0;
+192:         nnodes: cython.int = len(nodes)
  __Pyx_TraceLine(192,0,__PYX_ERR(0, 192, __pyx_L1_error))
  __pyx_t_5 = PyList_GET_SIZE(__pyx_v_nodes); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 192, __pyx_L1_error)
  __pyx_v_nnodes = __pyx_t_5;
 193: 
 194:         # Add a reference to the node poinitng at the element
+195:         while ix < nnodes:
  __Pyx_TraceLine(195,0,__PYX_ERR(0, 195, __pyx_L1_error))
  while (1) {
    __pyx_t_6 = ((__pyx_v_ix < __pyx_v_nnodes) != 0);
    if (!__pyx_t_6) break;
+196:             n = nodes[ix]
    __Pyx_TraceLine(196,0,__PYX_ERR(0, 196, __pyx_L1_error))
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_nodes, __pyx_v_ix, int, 1, __Pyx_PyInt_From_int, 1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 196, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_n = __pyx_t_4;
+197:             if n in self._node_elems.keys():
    __Pyx_TraceLine(197,0,__PYX_ERR(0, 197, __pyx_L1_error))
    __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely(__pyx_v_self->_node_elems == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "keys");
      __PYX_ERR(0, 197, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_PyDict_Keys(__pyx_v_self->_node_elems); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 197, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 197, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (__pyx_t_7) {
/* … */
      goto __pyx_L5;
    }
+198:                 self._node_elems[n].append(e_number)
      __Pyx_TraceLine(198,0,__PYX_ERR(0, 198, __pyx_L1_error))
      if (unlikely(__pyx_v_self->_node_elems == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 198, __pyx_L1_error)
      }
      __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_self->_node_elems, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_e_number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = __Pyx_PyObject_Append(__pyx_t_1, __pyx_t_2); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 198, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 199:             else:
+200:                 self._node_elems[n] = [e_number]
    __Pyx_TraceLine(200,0,__PYX_ERR(0, 200, __pyx_L1_error))
    /*else*/ {
      __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_e_number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 200, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_2);
      PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
      __pyx_t_2 = 0;
      if (unlikely(__pyx_v_self->_node_elems == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 200, __pyx_L1_error)
      }
      __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 200, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (unlikely(PyDict_SetItem(__pyx_v_self->_node_elems, __pyx_t_2, __pyx_t_1) < 0)) __PYX_ERR(0, 200, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __pyx_L5:;
+201:             ix += 1
    __Pyx_TraceLine(201,0,__PYX_ERR(0, 201, __pyx_L1_error))
    __pyx_v_ix = (__pyx_v_ix + 1);
  }
 202: 
+203:         ElementClass = ELEMENTS[e_type]
  __Pyx_TraceLine(203,0,__PYX_ERR(0, 203, __pyx_L1_error))
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ELEMENTS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_v_e_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ElementClass = __pyx_t_2;
  __pyx_t_2 = 0;
 204: 
+205:         element = ElementClass(*nodes, num=e_number, model=self._model, code=e_type)
  __Pyx_TraceLine(205,0,__PYX_ERR(0, 205, __pyx_L1_error))
  __pyx_t_2 = PySequence_Tuple(__pyx_v_nodes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_e_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_num, __pyx_t_3) < 0) __PYX_ERR(0, 205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_model, __pyx_v_self->_model) < 0) __PYX_ERR(0, 205, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_code, __pyx_v_e_type) < 0) __PYX_ERR(0, 205, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_v_ElementClass, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_element = __pyx_t_3;
  __pyx_t_3 = 0;
+206:         element.n_integ_points: cython.int = N_INT_PNTS[e_type]
  __Pyx_TraceLine(206,0,__PYX_ERR(0, 206, __pyx_L1_error))
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_N_INT_PNTS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_v_e_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_element, __pyx_n_s_n_integ_points, __pyx_t_1) < 0) __PYX_ERR(0, 206, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+207:         self._model.add_element(element)
  __Pyx_TraceLine(207,0,__PYX_ERR(0, 207, __pyx_L1_error))
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_element) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_element);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 208: 
+209:     def _parse_node(self, record: list):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_9_parse_node(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_8_parse_node[] = "Parse the data of a node\n\n        Parameters\n        ----------\n        record : list\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_9_parse_node(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_node (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_record), (&PyList_Type), 1, "record", 1))) __PYX_ERR(0, 209, __pyx_L1_error)
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_8_parse_node(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject*)__pyx_v_record));
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_8_parse_node(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_v_n_number = NULL;
  PyObject *__pyx_v_dofs = NULL;
  PyObject *__pyx_v_dof_map = NULL;
  PyObject *__pyx_v_node = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_node", 0);
  __Pyx_TraceCall("_parse_node", __pyx_f[0], 209, 0, __PYX_ERR(0, 209, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_node", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n_number);
  __Pyx_XDECREF(__pyx_v_dofs);
  __Pyx_XDECREF(__pyx_v_dof_map);
  __Pyx_XDECREF(__pyx_v_node);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 210:         """Parse the data of a node
 211: 
 212:         Parameters
 213:         ----------
 214:         record : list
 215: 
 216:         """
 217:         # Wait until the 'Active degree of freedom' key has been processed
+218:         if self._model_dimension < 0:
  __Pyx_TraceLine(218,0,__PYX_ERR(0, 218, __pyx_L1_error))
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_self->_model_dimension, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 218, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
/* … */
    goto __pyx_L3;
  }
+219:             self._node_records.append(record)
    __Pyx_TraceLine(219,0,__PYX_ERR(0, 219, __pyx_L1_error))
    if (unlikely(__pyx_v_self->_node_records == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
      __PYX_ERR(0, 219, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_self->_node_records, __pyx_v_record); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 219, __pyx_L1_error)
 220:         else:
+221:             n_number = record[2]
  __Pyx_TraceLine(221,0,__PYX_ERR(0, 221, __pyx_L1_error))
  /*else*/ {
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 221, __pyx_L1_error)
    }
    __pyx_t_1 = PyList_GET_ITEM(__pyx_v_record, 2);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_n_number = __pyx_t_1;
    __pyx_t_1 = 0;
+222:             dofs = record[3:]
    __Pyx_TraceLine(222,0,__PYX_ERR(0, 222, __pyx_L1_error))
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 222, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_PyList_GetSlice(__pyx_v_record, 3, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_dofs = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
+223:             dof_map = self._dof_map
    __Pyx_TraceLine(223,0,__PYX_ERR(0, 223, __pyx_L1_error))
    __pyx_t_1 = __pyx_v_self->_dof_map;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_dof_map = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
 224: 
+225:             if self._model_dimension == 2:
    __Pyx_TraceLine(225,0,__PYX_ERR(0, 225, __pyx_L1_error))
    __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_self->_model_dimension, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 225, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_2) {
/* … */
      goto __pyx_L4;
    }
+226:                 node = Node2D(n_number, dof_map, self._model, *dofs)
      __Pyx_TraceLine(226,0,__PYX_ERR(0, 226, __pyx_L1_error))
      __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Node2D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 226, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 226, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_v_n_number);
      __Pyx_GIVEREF(__pyx_v_n_number);
      PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_n_number);
      __Pyx_INCREF(__pyx_v_dof_map);
      __Pyx_GIVEREF(__pyx_v_dof_map);
      PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_dof_map);
      __Pyx_INCREF(__pyx_v_self->_model);
      __Pyx_GIVEREF(__pyx_v_self->_model);
      PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_self->_model);
      __pyx_t_5 = PySequence_Tuple(__pyx_v_dofs); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 226, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 226, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 226, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_v_node = __pyx_t_5;
      __pyx_t_5 = 0;
 227:             else:
+228:                 node = Node3D(n_number, dof_map, self._model, *dofs)
    __Pyx_TraceLine(228,0,__PYX_ERR(0, 228, __pyx_L1_error))
    /*else*/ {
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Node3D); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 228, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 228, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_v_n_number);
      __Pyx_GIVEREF(__pyx_v_n_number);
      PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_n_number);
      __Pyx_INCREF(__pyx_v_dof_map);
      __Pyx_GIVEREF(__pyx_v_dof_map);
      PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_dof_map);
      __Pyx_INCREF(__pyx_v_self->_model);
      __Pyx_GIVEREF(__pyx_v_self->_model);
      PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_self->_model);
      __pyx_t_1 = PySequence_Tuple(__pyx_v_dofs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyNumber_Add(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 228, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_v_node = __pyx_t_1;
      __pyx_t_1 = 0;
    }
    __pyx_L4:;
 229: 
+230:             self._model.add_node(node)
    __Pyx_TraceLine(230,0,__PYX_ERR(0, 230, __pyx_L1_error))
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_node) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_node);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L3:;
 231: 
+232:     def _parse_all_nodes(self):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_11_parse_all_nodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_10_parse_all_nodes[] = "Parse all nodes.\n\n        This has to be executed after the active degree of freedom\n        are specified.\n\n        Parameters\n        ----------\n        records : list\n            A list of all the records with nodes\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_11_parse_all_nodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_all_nodes (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_10_parse_all_nodes(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_10_parse_all_nodes(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_v_records = 0;
  PyObject *__pyx_v_record = 0;
  int __pyx_v_ix;
  int __pyx_v_n_records;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_all_nodes", 0);
  __Pyx_TraceCall("_parse_all_nodes", __pyx_f[0], 232, 0, __PYX_ERR(0, 232, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_all_nodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_records);
  __Pyx_XDECREF(__pyx_v_record);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 233:         """Parse all nodes.
 234: 
 235:         This has to be executed after the active degree of freedom
 236:         are specified.
 237: 
 238:         Parameters
 239:         ----------
 240:         records : list
 241:             A list of all the records with nodes
 242: 
 243:         Returns
 244:         -------
 245:         TODO
 246: 
 247:         """
+248:         records: list = self._node_records
  __Pyx_TraceLine(248,0,__PYX_ERR(0, 248, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_node_records;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_records = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
 249:         record: list
+250:         ix: cython.int = 0
  __Pyx_TraceLine(250,0,__PYX_ERR(0, 250, __pyx_L1_error))
  __pyx_v_ix = 0;
+251:         n_records: cython.int = len(records)
  __Pyx_TraceLine(251,0,__PYX_ERR(0, 251, __pyx_L1_error))
  if (unlikely(__pyx_v_records == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 251, __pyx_L1_error)
  }
  __pyx_t_2 = PyList_GET_SIZE(__pyx_v_records); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 251, __pyx_L1_error)
  __pyx_v_n_records = __pyx_t_2;
 252: 
+253:         while ix < n_records:
  __Pyx_TraceLine(253,0,__PYX_ERR(0, 253, __pyx_L1_error))
  while (1) {
    __pyx_t_3 = ((__pyx_v_ix < __pyx_v_n_records) != 0);
    if (!__pyx_t_3) break;
+254:             record = records[ix]
    __Pyx_TraceLine(254,0,__PYX_ERR(0, 254, __pyx_L1_error))
    if (unlikely(__pyx_v_records == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 254, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_records, __pyx_v_ix, int, 1, __Pyx_PyInt_From_int, 1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 254, __pyx_L1_error)
    __Pyx_XDECREF_SET(__pyx_v_record, ((PyObject*)__pyx_t_1));
    __pyx_t_1 = 0;
+255:             self._parse_node(record)
    __Pyx_TraceLine(255,0,__PYX_ERR(0, 255, __pyx_L1_error))
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parse_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_record) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_record);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
 256: 
+257:         self._node_records = list()
  __Pyx_TraceLine(257,0,__PYX_ERR(0, 257, __pyx_L1_error))
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_node_records);
  __Pyx_DECREF(__pyx_v_self->_node_records);
  __pyx_v_self->_node_records = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
 258: 
+259:     def _parse_elem_output(self, record: list, var: str):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_13_parse_elem_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_12_parse_elem_output[] = "Parse output data for elements.\n\n        Parameters\n        ----------\n        record : list\n        var : str\n            Name of the variable\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_13_parse_elem_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_var = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_elem_output (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_var,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_var)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_elem_output", 1, 2, 2, 1); __PYX_ERR(0, 259, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_elem_output") < 0)) __PYX_ERR(0, 259, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_record = ((PyObject*)values[0]);
    __pyx_v_var = ((PyObject*)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_elem_output", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 259, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_elem_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_record), (&PyList_Type), 1, "record", 1))) __PYX_ERR(0, 259, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), (&PyUnicode_Type), 1, "var", 1))) __PYX_ERR(0, 259, __pyx_L1_error)
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_12_parse_elem_output(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_var);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_12_parse_elem_output(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_var) {
  int __pyx_v_step;
  int __pyx_v_inc;
  int __pyx_v_ix;
  double __pyx_v_data;
  PyObject *__pyx_v_flag_out = NULL;
  int __pyx_v_n_elem;
  PyObject *__pyx_v_int_point = NULL;
  int __pyx_v_n_node;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_elem_output", 0);
  __Pyx_TraceCall("_parse_elem_output", __pyx_f[0], 259, 0, __PYX_ERR(0, 259, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_elem_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_flag_out);
  __Pyx_XDECREF(__pyx_v_int_point);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 260:         """Parse output data for elements.
 261: 
 262:         Parameters
 263:         ----------
 264:         record : list
 265:         var : str
 266:             Name of the variable
 267: 
 268:         Returns
 269:         -------
 270:         TODO
 271: 
 272:         """
+273:         step = self._curr_step
  __Pyx_TraceLine(273,0,__PYX_ERR(0, 273, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_curr_step;
  __pyx_v_step = __pyx_t_1;
+274:         inc = self._curr_inc
  __Pyx_TraceLine(274,0,__PYX_ERR(0, 274, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_curr_inc;
  __pyx_v_inc = __pyx_t_1;
 275:         ix: cython.int
 276:         data: cython.double
 277: 
 278:         # This flags the type of output: element (0), nodal (1), modal
 279:         # (2), or element set energy (3)
+280:         flag_out = self._flag_output
  __Pyx_TraceLine(280,0,__PYX_ERR(0, 280, __pyx_L1_error))
  __pyx_t_2 = __pyx_v_self->_flag_output;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_v_flag_out = __pyx_t_2;
  __pyx_t_2 = 0;
 281: 
+282:         if flag_out == 0:
  __Pyx_TraceLine(282,0,__PYX_ERR(0, 282, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_v_flag_out, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 282, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
/* … */
    goto __pyx_L3;
  }
+283:             n_elem = self._curr_elem_out
    __Pyx_TraceLine(283,0,__PYX_ERR(0, 283, __pyx_L1_error))
    __pyx_t_1 = __pyx_v_self->_curr_elem_out;
    __pyx_v_n_elem = __pyx_t_1;
 284:             # Get number of integration points
+285:             int_point = self._curr_n_int_point
    __Pyx_TraceLine(285,0,__PYX_ERR(0, 285, __pyx_L1_error))
    __pyx_t_2 = __pyx_v_self->_curr_n_int_point;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_int_point = __pyx_t_2;
    __pyx_t_2 = 0;
 286: 
 287:             # Append all the records
+288:             for ix, data in enumerate(record[2:], start=1):
    __Pyx_TraceLine(288,0,__PYX_ERR(0, 288, __pyx_L1_error))
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 288, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_PyList_GetSlice(__pyx_v_record, 2, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_start, __pyx_int_1) < 0) __PYX_ERR(0, 288, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_enumerate, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
      __pyx_t_2 = __pyx_t_5; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
      __pyx_t_7 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 288, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 288, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    for (;;) {
      if (likely(!__pyx_t_7)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 288, __pyx_L1_error)
          #else
          __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 288, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        } else {
          if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 288, __pyx_L1_error)
          #else
          __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 288, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        }
      } else {
        __pyx_t_5 = __pyx_t_7(__pyx_t_2);
        if (unlikely(!__pyx_t_5)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 288, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_5);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
        PyObject* sequence = __pyx_t_5;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 288, __pyx_L1_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_4 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_8 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_8);
        #else
        __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 288, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        #endif
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_9 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 288, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext;
        index = 0; __pyx_t_4 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_4)) goto __pyx_L6_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_4);
        index = 1; __pyx_t_8 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L6_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_8);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) __PYX_ERR(0, 288, __pyx_L1_error)
        __pyx_t_10 = NULL;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L7_unpacking_done;
        __pyx_L6_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_10 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 288, __pyx_L1_error)
        __pyx_L7_unpacking_done:;
      }
      __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 288, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 288, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_v_ix = __pyx_t_1;
      __pyx_v_data = __pyx_t_11;
/* … */
      __Pyx_TraceLine(288,0,__PYX_ERR(0, 288, __pyx_L1_error))
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+289:                 self._model.add_elem_output(n_elem, f"{var}{ix}", data, step, inc, int_point)
      __Pyx_TraceLine(289,0,__PYX_ERR(0, 289, __pyx_L1_error))
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_elem_output); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_n_elem); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = __Pyx_PyUnicode_Unicode(__pyx_v_var); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_12 = __Pyx_PyUnicode_From_int(__pyx_v_ix, 0, ' ', 'd'); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_13 = __Pyx_PyUnicode_Concat(__pyx_t_9, __pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_12 = PyFloat_FromDouble(__pyx_v_data); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_step); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_inc); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_15 = NULL;
      __pyx_t_1 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
        __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_8);
        if (likely(__pyx_t_15)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
          __Pyx_INCREF(__pyx_t_15);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_8, function);
          __pyx_t_1 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[7] = {__pyx_t_15, __pyx_t_4, __pyx_t_13, __pyx_t_12, __pyx_t_9, __pyx_t_14, __pyx_v_int_point};
        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_1, 6+__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 289, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[7] = {__pyx_t_15, __pyx_t_4, __pyx_t_13, __pyx_t_12, __pyx_t_9, __pyx_t_14, __pyx_v_int_point};
        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_1, 6+__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 289, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      } else
      #endif
      {
        __pyx_t_16 = PyTuple_New(6+__pyx_t_1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 289, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_16);
        if (__pyx_t_15) {
          __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_1, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_13);
        PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_1, __pyx_t_13);
        __Pyx_GIVEREF(__pyx_t_12);
        PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_1, __pyx_t_12);
        __Pyx_GIVEREF(__pyx_t_9);
        PyTuple_SET_ITEM(__pyx_t_16, 3+__pyx_t_1, __pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_14);
        PyTuple_SET_ITEM(__pyx_t_16, 4+__pyx_t_1, __pyx_t_14);
        __Pyx_INCREF(__pyx_v_int_point);
        __Pyx_GIVEREF(__pyx_v_int_point);
        PyTuple_SET_ITEM(__pyx_t_16, 5+__pyx_t_1, __pyx_v_int_point);
        __pyx_t_4 = 0;
        __pyx_t_13 = 0;
        __pyx_t_12 = 0;
        __pyx_t_9 = 0;
        __pyx_t_14 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_16, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 289, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      }
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 290: 
+291:         elif flag_out == 1:
  __Pyx_TraceLine(291,0,__PYX_ERR(0, 291, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_v_flag_out, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 291, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
/* … */
    goto __pyx_L3;
  }
+292:             n_node = self._curr_elem_out
    __Pyx_TraceLine(292,0,__PYX_ERR(0, 292, __pyx_L1_error))
    __pyx_t_1 = __pyx_v_self->_curr_elem_out;
    __pyx_v_n_node = __pyx_t_1;
 293: 
+294:             for ix, data in enumerate(record[2:], start=1):
    __Pyx_TraceLine(294,0,__PYX_ERR(0, 294, __pyx_L1_error))
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 294, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_PyList_GetSlice(__pyx_v_record, 2, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_start, __pyx_int_1) < 0) __PYX_ERR(0, 294, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_enumerate, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
      __pyx_t_2 = __pyx_t_8; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
      __pyx_t_7 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 294, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 294, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    for (;;) {
      if (likely(!__pyx_t_7)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_8 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 294, __pyx_L1_error)
          #else
          __pyx_t_8 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 294, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          #endif
        } else {
          if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 294, __pyx_L1_error)
          #else
          __pyx_t_8 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 294, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          #endif
        }
      } else {
        __pyx_t_8 = __pyx_t_7(__pyx_t_2);
        if (unlikely(!__pyx_t_8)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 294, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_8);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) {
        PyObject* sequence = __pyx_t_8;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 294, __pyx_L1_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_16 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_16 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_16);
        #else
        __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 294, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_16 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 294, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_16);
        #endif
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_14 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 294, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_10 = Py_TYPE(__pyx_t_14)->tp_iternext;
        index = 0; __pyx_t_5 = __pyx_t_10(__pyx_t_14); if (unlikely(!__pyx_t_5)) goto __pyx_L10_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_5);
        index = 1; __pyx_t_16 = __pyx_t_10(__pyx_t_14); if (unlikely(!__pyx_t_16)) goto __pyx_L10_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_16);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_14), 2) < 0) __PYX_ERR(0, 294, __pyx_L1_error)
        __pyx_t_10 = NULL;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        goto __pyx_L11_unpacking_done;
        __pyx_L10_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __pyx_t_10 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 294, __pyx_L1_error)
        __pyx_L11_unpacking_done:;
      }
      __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 294, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_16); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 294, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __pyx_v_ix = __pyx_t_1;
      __pyx_v_data = __pyx_t_11;
/* … */
      __Pyx_TraceLine(294,0,__PYX_ERR(0, 294, __pyx_L1_error))
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+295:                 self._model.add_nodal_output(n_node, f"{var}{ix}", data, step, inc)
      __Pyx_TraceLine(295,0,__PYX_ERR(0, 295, __pyx_L1_error))
      __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_nodal_output); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 295, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n_node); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 295, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_14 = __Pyx_PyUnicode_Unicode(__pyx_v_var); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 295, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_9 = __Pyx_PyUnicode_From_int(__pyx_v_ix, 0, ' ', 'd'); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 295, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_12 = __Pyx_PyUnicode_Concat(__pyx_t_14, __pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 295, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = PyFloat_FromDouble(__pyx_v_data); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 295, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_step); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 295, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_inc); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 295, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __pyx_t_4 = NULL;
      __pyx_t_1 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_16);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_16, function);
          __pyx_t_1 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_16)) {
        PyObject *__pyx_temp[6] = {__pyx_t_4, __pyx_t_5, __pyx_t_12, __pyx_t_9, __pyx_t_14, __pyx_t_13};
        __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_1, 5+__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 295, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) {
        PyObject *__pyx_temp[6] = {__pyx_t_4, __pyx_t_5, __pyx_t_12, __pyx_t_9, __pyx_t_14, __pyx_t_13};
        __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_1, 5+__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 295, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      } else
      #endif
      {
        __pyx_t_15 = PyTuple_New(5+__pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 295, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        if (__pyx_t_4) {
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_4); __pyx_t_4 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_1, __pyx_t_5);
        __Pyx_GIVEREF(__pyx_t_12);
        PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_1, __pyx_t_12);
        __Pyx_GIVEREF(__pyx_t_9);
        PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_1, __pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_14);
        PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_1, __pyx_t_14);
        __Pyx_GIVEREF(__pyx_t_13);
        PyTuple_SET_ITEM(__pyx_t_15, 4+__pyx_t_1, __pyx_t_13);
        __pyx_t_5 = 0;
        __pyx_t_12 = 0;
        __pyx_t_9 = 0;
        __pyx_t_14 = 0;
        __pyx_t_13 = 0;
        __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_15, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 295, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      }
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
 296: 
+297:         elif flag_out == 2:
  __Pyx_TraceLine(297,0,__PYX_ERR(0, 297, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_v_flag_out, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    goto __pyx_L3;
  }
 298:             # TODO: implement modal output
 299:             pass
 300: 
 301:         # flag_out == 3:
 302:         else:
 303:             # TODO: implement set energy output
+304:             pass
  __Pyx_TraceLine(304,0,__PYX_ERR(0, 304, __pyx_L1_error))
  /*else*/ {
  }
  __pyx_L3:;
 305: 
+306:     def _parse_elem_header(self, record: list):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_15_parse_elem_header(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_14_parse_elem_header[] = "Parse the element record\n\n        Parameters\n        ----------\n        record : TODO\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_15_parse_elem_header(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_elem_header (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_record), (&PyList_Type), 1, "record", 1))) __PYX_ERR(0, 306, __pyx_L1_error)
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_14_parse_elem_header(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject*)__pyx_v_record));
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_14_parse_elem_header(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  int __pyx_v_num;
  int __pyx_v_n_int_point;
  CYTHON_UNUSED int __pyx_v_n_sec_point;
  int __pyx_v_loc_id;
  CYTHON_UNUSED PyObject *__pyx_v_name_rebar = 0;
  CYTHON_UNUSED int __pyx_v_n_direct_stresses;
  CYTHON_UNUSED int __pyx_v_n_shear_stresses;
  CYTHON_UNUSED int __pyx_v_n_diretions;
  CYTHON_UNUSED int __pyx_v_n_sec_force_comp;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_elem_header", 0);
  __Pyx_TraceCall("_parse_elem_header", __pyx_f[0], 306, 0, __PYX_ERR(0, 306, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_elem_header", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name_rebar);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 307:         """Parse the element record
 308: 
 309:         Parameters
 310:         ----------
 311:         record : TODO
 312: 
 313:         Returns
 314:         -------
 315:         TODO
 316: 
 317:         """
+318:         num: cython.int = record[2]
  __Pyx_TraceLine(318,0,__PYX_ERR(0, 318, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 318, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyInt_As_int(PyList_GET_ITEM(__pyx_v_record, 2)); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 318, __pyx_L1_error)
  __pyx_v_num = __pyx_t_1;
+319:         n_int_point: cython.int = record[3]
  __Pyx_TraceLine(319,0,__PYX_ERR(0, 319, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 319, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyInt_As_int(PyList_GET_ITEM(__pyx_v_record, 3)); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 319, __pyx_L1_error)
  __pyx_v_n_int_point = __pyx_t_1;
+320:         n_sec_point: cython.int = record[4]
  __Pyx_TraceLine(320,0,__PYX_ERR(0, 320, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 320, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyInt_As_int(PyList_GET_ITEM(__pyx_v_record, 4)); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 320, __pyx_L1_error)
  __pyx_v_n_sec_point = __pyx_t_1;
 321:         # loc_id:
 322:         # - 0 if the subsequent records contain data at an integration point;
 323:         # - 1 if the subsequent records contain values at the centroid of the element;
 324:         # - 2 if the subsequent records contain data at the nodes of the element;
 325:         # - 3 if the subsequent records contain data associated with rebar within an element;
 326:         # - 4 if the subsequent records contain nodal averaged values;
 327:         # - 5 if the subsequent records contain values associated with the whole element
+328:         loc_id: cython.int = record[5]
  __Pyx_TraceLine(328,0,__PYX_ERR(0, 328, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 328, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyInt_As_int(PyList_GET_ITEM(__pyx_v_record, 5)); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 328, __pyx_L1_error)
  __pyx_v_loc_id = __pyx_t_1;
+329:         name_rebar: cython.str = record[6]
  __Pyx_TraceLine(329,0,__PYX_ERR(0, 329, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 329, __pyx_L1_error)
  }
  if (!(likely(PyUnicode_CheckExact(PyList_GET_ITEM(__pyx_v_record, 6)))||((PyList_GET_ITEM(__pyx_v_record, 6)) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(PyList_GET_ITEM(__pyx_v_record, 6))->tp_name), 0))) __PYX_ERR(0, 329, __pyx_L1_error)
  __pyx_t_2 = PyList_GET_ITEM(__pyx_v_record, 6);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_v_name_rebar = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;
+330:         n_direct_stresses: cython.int = record[7]
  __Pyx_TraceLine(330,0,__PYX_ERR(0, 330, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 330, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyInt_As_int(PyList_GET_ITEM(__pyx_v_record, 7)); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L1_error)
  __pyx_v_n_direct_stresses = __pyx_t_1;
+331:         n_shear_stresses: cython.int = record[8]
  __Pyx_TraceLine(331,0,__PYX_ERR(0, 331, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 331, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyInt_As_int(PyList_GET_ITEM(__pyx_v_record, 8)); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 331, __pyx_L1_error)
  __pyx_v_n_shear_stresses = __pyx_t_1;
+332:         n_diretions: cython.int = record[9]
  __Pyx_TraceLine(332,0,__PYX_ERR(0, 332, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 332, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyInt_As_int(PyList_GET_ITEM(__pyx_v_record, 9)); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 332, __pyx_L1_error)
  __pyx_v_n_diretions = __pyx_t_1;
+333:         n_sec_force_comp: cython.int = record[10]
  __Pyx_TraceLine(333,0,__PYX_ERR(0, 333, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 333, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyInt_As_int(PyList_GET_ITEM(__pyx_v_record, 10)); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 333, __pyx_L1_error)
  __pyx_v_n_sec_force_comp = __pyx_t_1;
 334: 
 335:         # Append the element/node number to the list of elements/nodes which
 336:         # data is going to be read next
+337:         self._curr_elem_out: cython.int = num
  __Pyx_TraceLine(337,0,__PYX_ERR(0, 337, __pyx_L1_error))
  __pyx_v_self->_curr_elem_out = __pyx_v_num;
+338:         self._curr_n_int_point: cython.int = n_int_point
  __Pyx_TraceLine(338,0,__PYX_ERR(0, 338, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_n_int_point); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_curr_n_int_point);
  __Pyx_DECREF(__pyx_v_self->_curr_n_int_point);
  __pyx_v_self->_curr_n_int_point = __pyx_t_2;
  __pyx_t_2 = 0;
+339:         self._curr_loc_id: cython.int = loc_id
  __Pyx_TraceLine(339,0,__PYX_ERR(0, 339, __pyx_L1_error))
  __pyx_v_self->_curr_loc_id = __pyx_v_loc_id;
 340:         # self._curr_int_point_data = dict()
 341: 
+342:     def _parse_nodal_output(self, record: list, var: str):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_17_parse_nodal_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_16_parse_nodal_output[] = "Parse the nodal record\n\n        Parameters\n        ----------\n        record : TODO\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_17_parse_nodal_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_var = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_nodal_output (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_var,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_var)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_nodal_output", 1, 2, 2, 1); __PYX_ERR(0, 342, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_nodal_output") < 0)) __PYX_ERR(0, 342, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_record = ((PyObject*)values[0]);
    __pyx_v_var = ((PyObject*)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_nodal_output", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 342, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_nodal_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_record), (&PyList_Type), 1, "record", 1))) __PYX_ERR(0, 342, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), (&PyUnicode_Type), 1, "var", 1))) __PYX_ERR(0, 342, __pyx_L1_error)
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_16_parse_nodal_output(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_var);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_16_parse_nodal_output(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_var) {
  int __pyx_v_step;
  int __pyx_v_inc;
  int __pyx_v_ix;
  double __pyx_v_r_i;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_nodal_output", 0);
  __Pyx_TraceCall("_parse_nodal_output", __pyx_f[0], 342, 0, __PYX_ERR(0, 342, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_nodal_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 343:         """Parse the nodal record
 344: 
 345:         Parameters
 346:         ----------
 347:         record : TODO
 348: 
 349:         Returns
 350:         -------
 351:         TODO
 352: 
 353:         """
+354:         step = self._curr_step
  __Pyx_TraceLine(354,0,__PYX_ERR(0, 354, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_curr_step;
  __pyx_v_step = __pyx_t_1;
+355:         inc = self._curr_inc
  __Pyx_TraceLine(355,0,__PYX_ERR(0, 355, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_curr_inc;
  __pyx_v_inc = __pyx_t_1;
 356:         ix: cython.int
 357:         r_i: cython.double
 358: 
+359:         if len(record) > 2:
  __Pyx_TraceLine(359,0,__PYX_ERR(0, 359, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 359, __pyx_L1_error)
  }
  __pyx_t_2 = PyList_GET_SIZE(__pyx_v_record); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 359, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 2) != 0);
  if (__pyx_t_3) {
/* … */
    goto __pyx_L3;
  }
+360:             for ix, r_i in enumerate(record[3:], start=1):
    __Pyx_TraceLine(360,0,__PYX_ERR(0, 360, __pyx_L1_error))
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 360, __pyx_L1_error)
    }
    __pyx_t_4 = __Pyx_PyList_GetSlice(__pyx_v_record, 3, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_start, __pyx_int_1) < 0) __PYX_ERR(0, 360, __pyx_L1_error)
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_enumerate, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
      __pyx_t_4 = __pyx_t_6; __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = 0;
      __pyx_t_7 = NULL;
    } else {
      __pyx_t_2 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 360, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 360, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    for (;;) {
      if (likely(!__pyx_t_7)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_4)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_2); __Pyx_INCREF(__pyx_t_6); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 360, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 360, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_2); __Pyx_INCREF(__pyx_t_6); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 360, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 360, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        }
      } else {
        __pyx_t_6 = __pyx_t_7(__pyx_t_4);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 360, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_6);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
        PyObject* sequence = __pyx_t_6;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 360, __pyx_L1_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_8 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_8);
        #else
        __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 360, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 360, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        #endif
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_9 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 360, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext;
        index = 0; __pyx_t_5 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_5);
        index = 1; __pyx_t_8 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L6_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_8);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) __PYX_ERR(0, 360, __pyx_L1_error)
        __pyx_t_10 = NULL;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L7_unpacking_done;
        __pyx_L6_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_10 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 360, __pyx_L1_error)
        __pyx_L7_unpacking_done:;
      }
      __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 360, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 360, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_v_ix = __pyx_t_1;
      __pyx_v_r_i = __pyx_t_11;
/* … */
      __Pyx_TraceLine(360,0,__PYX_ERR(0, 360, __pyx_L1_error))
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+361:                 self._model.add_nodal_output(node=record[2], var=f"{var}{ix}", data=r_i,
      __Pyx_TraceLine(361,0,__PYX_ERR(0, 361, __pyx_L1_error))
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_nodal_output); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 361, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_8 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 361, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      if (unlikely(__pyx_v_record == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 361, __pyx_L1_error)
      }
      if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_node, PyList_GET_ITEM(__pyx_v_record, 2)) < 0) __PYX_ERR(0, 361, __pyx_L1_error)
      __pyx_t_5 = __Pyx_PyUnicode_Unicode(__pyx_v_var); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 361, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = __Pyx_PyUnicode_From_int(__pyx_v_ix, 0, ' ', 'd'); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 361, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_12 = __Pyx_PyUnicode_Concat(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 361, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_var, __pyx_t_12) < 0) __PYX_ERR(0, 361, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_12 = PyFloat_FromDouble(__pyx_v_r_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 361, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_data, __pyx_t_12) < 0) __PYX_ERR(0, 361, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
/* … */
      __Pyx_TraceLine(361,0,__PYX_ERR(0, 361, __pyx_L1_error))
      __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 361, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+362:                                             step=step, inc=inc)
      __Pyx_TraceLine(362,0,__PYX_ERR(0, 362, __pyx_L1_error))
      __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_step); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 362, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_step, __pyx_t_12) < 0) __PYX_ERR(0, 361, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_inc); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 362, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_inc, __pyx_t_12) < 0) __PYX_ERR(0, 361, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
 363:         else:
+364:             self._model.add_nodal_output(node=record[0], var=var, data=record[1], step=step,
  __Pyx_TraceLine(364,0,__PYX_ERR(0, 364, __pyx_L1_error))
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_nodal_output); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_12 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 364, __pyx_L1_error)
    }
    if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_node, PyList_GET_ITEM(__pyx_v_record, 0)) < 0) __PYX_ERR(0, 364, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_var, __pyx_v_var) < 0) __PYX_ERR(0, 364, __pyx_L1_error)
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 364, __pyx_L1_error)
    }
    if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_data, PyList_GET_ITEM(__pyx_v_record, 1)) < 0) __PYX_ERR(0, 364, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_step); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_step, __pyx_t_8) < 0) __PYX_ERR(0, 364, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* … */
    __Pyx_TraceLine(364,0,__PYX_ERR(0, 364, __pyx_L1_error))
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  }
  __pyx_L3:;
+365:                                         inc=inc)
    __Pyx_TraceLine(365,0,__PYX_ERR(0, 365, __pyx_L1_error))
    __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_inc); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_inc, __pyx_t_8) < 0) __PYX_ERR(0, 364, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
 366: 
+367:         return 1
  __Pyx_TraceLine(367,0,__PYX_ERR(0, 367, __pyx_L1_error))
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_int_1);
  __pyx_r = __pyx_int_1;
  goto __pyx_L0;
 368: 
+369:     def _parse_surface_output(self, record: list, var: str):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_19_parse_surface_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_18_parse_surface_output[] = "Parse results from surfaces.\n\n        Parameters\n        ----------\n        record : TODO\n        var : str\n            Name of the variable to be processed, e.g.: \"CSTRESS\"\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_19_parse_surface_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_var = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_surface_output (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_var,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_var)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_surface_output", 1, 2, 2, 1); __PYX_ERR(0, 369, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_surface_output") < 0)) __PYX_ERR(0, 369, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_record = ((PyObject*)values[0]);
    __pyx_v_var = ((PyObject*)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_surface_output", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 369, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_surface_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_record), (&PyList_Type), 1, "record", 1))) __PYX_ERR(0, 369, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), (&PyUnicode_Type), 1, "var", 1))) __PYX_ERR(0, 369, __pyx_L1_error)
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_18_parse_surface_output(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_var);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_18_parse_surface_output(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_var) {
  int __pyx_v_step;
  int __pyx_v_inc;
  PyObject *__pyx_v_node = NULL;
  int __pyx_v_ix;
  double __pyx_v_comp_i;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_surface_output", 0);
  __Pyx_TraceCall("_parse_surface_output", __pyx_f[0], 369, 0, __PYX_ERR(0, 369, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_surface_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_node);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 370:         """Parse results from surfaces.
 371: 
 372:         Parameters
 373:         ----------
 374:         record : TODO
 375:         var : str
 376:             Name of the variable to be processed, e.g.: "CSTRESS"
 377: 
 378:         Returns
 379:         -------
 380:         TODO
 381: 
 382:         """
+383:         step = self._curr_step
  __Pyx_TraceLine(383,0,__PYX_ERR(0, 383, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_curr_step;
  __pyx_v_step = __pyx_t_1;
+384:         inc = self._curr_inc
  __Pyx_TraceLine(384,0,__PYX_ERR(0, 384, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_curr_inc;
  __pyx_v_inc = __pyx_t_1;
+385:         node = self._curr_output_node
  __Pyx_TraceLine(385,0,__PYX_ERR(0, 385, __pyx_L1_error))
  __pyx_t_2 = __pyx_v_self->_curr_output_node;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_v_node = __pyx_t_2;
  __pyx_t_2 = 0;
 386:         ix: cython.int
 387:         comp_i: cython.double
 388: 
+389:         for ix, comp_i in enumerate(record[2:]):
  __Pyx_TraceLine(389,0,__PYX_ERR(0, 389, __pyx_L1_error))
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 389, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyList_GetSlice(__pyx_v_record, 2, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 389, __pyx_L1_error)
    #else
    __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 389, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    #endif
    __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 389, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_comp_i = __pyx_t_5;
    __pyx_v_ix = __pyx_t_1;
    __pyx_t_1 = (__pyx_t_1 + 1);
/* … */
    __Pyx_TraceLine(389,0,__PYX_ERR(0, 389, __pyx_L1_error))
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+390:             self._model.add_nodal_output(node=node, var=self.CONTACT_OUT[var][ix],
    __Pyx_TraceLine(390,0,__PYX_ERR(0, 390, __pyx_L1_error))
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_nodal_output); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_node, __pyx_v_node) < 0) __PYX_ERR(0, 390, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_CONTACT_OUT); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_v_var); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_ix, int, 1, __Pyx_PyInt_From_int, 0, 1, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_var, __pyx_t_7) < 0) __PYX_ERR(0, 390, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* … */
    __Pyx_TraceLine(390,0,__PYX_ERR(0, 390, __pyx_L1_error))
    __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+391:                                         data=comp_i, step=step, inc=inc)
    __Pyx_TraceLine(391,0,__PYX_ERR(0, 391, __pyx_L1_error))
    __pyx_t_7 = PyFloat_FromDouble(__pyx_v_comp_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_data, __pyx_t_7) < 0) __PYX_ERR(0, 390, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_step); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_step, __pyx_t_7) < 0) __PYX_ERR(0, 390, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_inc); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_inc, __pyx_t_7) < 0) __PYX_ERR(0, 390, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
 392: 
+393:     def _parse_contact_output_request(self, record):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_21_parse_contact_output_request(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_20_parse_contact_output_request[] = "Parse surfaces and nodes associated to contact pair.\n\n        Parameters\n        ----------\n        record : TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_21_parse_contact_output_request(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_contact_output_request (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_20_parse_contact_output_request(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_record));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_20_parse_contact_output_request(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_v_id_slave = NULL;
  PyObject *__pyx_v_id_master = NULL;
  PyObject *__pyx_v_name_slave = NULL;
  PyObject *__pyx_v_name_master = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_contact_output_request", 0);
  __Pyx_TraceCall("_parse_contact_output_request", __pyx_f[0], 393, 0, __PYX_ERR(0, 393, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_contact_output_request", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_id_slave);
  __Pyx_XDECREF(__pyx_v_id_master);
  __Pyx_XDECREF(__pyx_v_name_slave);
  __Pyx_XDECREF(__pyx_v_name_master);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 394:         """Parse surfaces and nodes associated to contact pair.
 395: 
 396:         Parameters
 397:         ----------
 398:         record : TODO
 399: 
 400:         """
+401:         id_slave = int(record[3].strip())
  __Pyx_TraceLine(401,0,__PYX_ERR(0, 401, __pyx_L1_error))
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_strip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_id_slave = __pyx_t_3;
  __pyx_t_3 = 0;
+402:         id_master = int(record[4].strip())
  __Pyx_TraceLine(402,0,__PYX_ERR(0, 402, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_strip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_id_master = __pyx_t_2;
  __pyx_t_2 = 0;
+403:         name_slave = self._label_cross_ref[id_slave]
  __Pyx_TraceLine(403,0,__PYX_ERR(0, 403, __pyx_L1_error))
  if (unlikely(__pyx_v_self->_label_cross_ref == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 403, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_self->_label_cross_ref, __pyx_v_id_slave); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_name_slave = __pyx_t_2;
  __pyx_t_2 = 0;
+404:         name_master = self._label_cross_ref[id_master]
  __Pyx_TraceLine(404,0,__PYX_ERR(0, 404, __pyx_L1_error))
  if (unlikely(__pyx_v_self->_label_cross_ref == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 404, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_self->_label_cross_ref, __pyx_v_id_master); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_name_master = __pyx_t_2;
  __pyx_t_2 = 0;
+405:         self._model.add_contact_pair(master=name_master, slave=name_slave)
  __Pyx_TraceLine(405,0,__PYX_ERR(0, 405, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_contact_pair); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_master, __pyx_v_name_master) < 0) __PYX_ERR(0, 405, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_slave, __pyx_v_name_slave) < 0) __PYX_ERR(0, 405, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 406: 
+407:     def _parse_curr_contact_node(self, record):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_23_parse_curr_contact_node(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_22_parse_curr_contact_node[] = "Parse the current node associated to the surface output.\n\n        Parameters\n        ----------\n        record : TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_23_parse_curr_contact_node(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_curr_contact_node (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_22_parse_curr_contact_node(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_record));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_22_parse_curr_contact_node(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_curr_contact_node", 0);
  __Pyx_TraceCall("_parse_curr_contact_node", __pyx_f[0], 407, 0, __PYX_ERR(0, 407, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_curr_contact_node", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 408:         """Parse the current node associated to the surface output.
 409: 
 410:         Parameters
 411:         ----------
 412:         record : TODO
 413: 
 414:         """
+415:         self._curr_output_node = record[2]
  __Pyx_TraceLine(415,0,__PYX_ERR(0, 415, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_curr_output_node);
  __Pyx_DECREF(__pyx_v_self->_curr_output_node);
  __pyx_v_self->_curr_output_node = __pyx_t_1;
  __pyx_t_1 = 0;
+416:         self._no_of_components = record[3]
  __Pyx_TraceLine(416,0,__PYX_ERR(0, 416, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_no_of_components, __pyx_t_1) < 0) __PYX_ERR(0, 416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 417: 
+418:     def _parse_output_request(self, record):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_25_parse_output_request(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_24_parse_output_request[] = "Parse the output request\n\n        Parameters\n        ----------\n        record : TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_25_parse_output_request(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_output_request (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_24_parse_output_request(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_record));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_24_parse_output_request(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_output_request", 0);
  __Pyx_TraceCall("_parse_output_request", __pyx_f[0], 418, 0, __PYX_ERR(0, 418, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_output_request", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 419:         """Parse the output request
 420: 
 421:         Parameters
 422:         ----------
 423:         record : TODO
 424: 
 425:         """
+426:         self._flag_output = record[2]
  __Pyx_TraceLine(426,0,__PYX_ERR(0, 426, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_flag_output);
  __Pyx_DECREF(__pyx_v_self->_flag_output);
  __pyx_v_self->_flag_output = __pyx_t_1;
  __pyx_t_1 = 0;
+427:         self._output_request_set = record[3]
  __Pyx_TraceLine(427,0,__PYX_ERR(0, 427, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 427, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_output_request_set);
  __Pyx_DECREF(__pyx_v_self->_output_request_set);
  __pyx_v_self->_output_request_set = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+428:         if self._flag_output == 0:
  __Pyx_TraceLine(428,0,__PYX_ERR(0, 428, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_self->_flag_output, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 428, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
/* … */
  }
+429:             self._output_elem_type = record[4]
    __Pyx_TraceLine(429,0,__PYX_ERR(0, 429, __pyx_L1_error))
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 429, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 429, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF(__pyx_v_self->_output_elem_type);
    __Pyx_DECREF(__pyx_v_self->_output_elem_type);
    __pyx_v_self->_output_elem_type = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
 430: 
+431:     def _parse_step(self, record, flag):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_27_parse_step(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_26_parse_step[] = "Parse the current step\n\n        Parameters\n        ----------\n        record : TODO\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_27_parse_step(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_flag = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_step (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_flag,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flag)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_step", 1, 2, 2, 1); __PYX_ERR(0, 431, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_step") < 0)) __PYX_ERR(0, 431, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_record = values[0];
    __pyx_v_flag = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_step", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 431, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_step", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_26_parse_step(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_flag);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_26_parse_step(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_flag) {
  int __pyx_v_n_step;
  int __pyx_v_n_inc;
  PyObject *__pyx_v_data = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_step", 0);
  __Pyx_TraceCall("_parse_step", __pyx_f[0], 431, 0, __PYX_ERR(0, 431, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_step", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_data);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 432:         """Parse the current step
 433: 
 434:         Parameters
 435:         ----------
 436:         record : TODO
 437: 
 438:         Returns
 439:         -------
 440:         TODO
 441: 
 442:         """
 443:         n_step: cython.int
 444:         n_inc: cython.int
 445: 
+446:         if flag == "start":
  __Pyx_TraceLine(446,0,__PYX_ERR(0, 446, __pyx_L1_error))
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_flag, __pyx_n_u_start, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 446, __pyx_L1_error)
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+447:             n_step = record[7]
    __Pyx_TraceLine(447,0,__PYX_ERR(0, 447, __pyx_L1_error))
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_record, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 447, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_n_step = __pyx_t_3;
+448:             n_inc = record[8]
    __Pyx_TraceLine(448,0,__PYX_ERR(0, 448, __pyx_L1_error))
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_record, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 448, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 448, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_n_inc = __pyx_t_3;
 449: 
 450:             data = {
+451:                 "total time": record[2],
    __Pyx_TraceLine(451,0,__PYX_ERR(0, 451, __pyx_L1_error))
    __pyx_t_2 = __Pyx_PyDict_NewPresized(12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_total_time, __pyx_t_4) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+452:                 "step time": record[3],
    __Pyx_TraceLine(452,0,__PYX_ERR(0, 452, __pyx_L1_error))
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_step_time, __pyx_t_4) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+453:                 "max creep": record[4],
    __Pyx_TraceLine(453,0,__PYX_ERR(0, 453, __pyx_L1_error))
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 453, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_max_creep, __pyx_t_4) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+454:                 "solution amplitude": record[5],
    __Pyx_TraceLine(454,0,__PYX_ERR(0, 454, __pyx_L1_error))
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_solution_amplitude, __pyx_t_4) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+455:                 "procedure type": record[6],
    __Pyx_TraceLine(455,0,__PYX_ERR(0, 455, __pyx_L1_error))
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_procedure_type, __pyx_t_4) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+456:                 "step number": record[7],
    __Pyx_TraceLine(456,0,__PYX_ERR(0, 456, __pyx_L1_error))
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_step_number, __pyx_t_4) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+457:                 "increment number": record[8],
    __Pyx_TraceLine(457,0,__PYX_ERR(0, 457, __pyx_L1_error))
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_increment_number, __pyx_t_4) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+458:                 "linear perturbation": record[9],
    __Pyx_TraceLine(458,0,__PYX_ERR(0, 458, __pyx_L1_error))
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_linear_perturbation, __pyx_t_4) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+459:                 "load proportionality": record[10],
    __Pyx_TraceLine(459,0,__PYX_ERR(0, 459, __pyx_L1_error))
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_load_proportionality, __pyx_t_4) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+460:                 "frequency": record[11],
    __Pyx_TraceLine(460,0,__PYX_ERR(0, 460, __pyx_L1_error))
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 460, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_frequency, __pyx_t_4) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+461:                 "time increment": record[12],
    __Pyx_TraceLine(461,0,__PYX_ERR(0, 461, __pyx_L1_error))
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 12, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 461, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_time_increment, __pyx_t_4) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+462:                 "subheading": "".join(record[13:]),
    __Pyx_TraceLine(462,0,__PYX_ERR(0, 462, __pyx_L1_error))
    __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_record, 13, 0, NULL, NULL, &__pyx_slice__4, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyUnicode_Join(__pyx_kp_u_, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_subheading, __pyx_t_5) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_data = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
/* … */
  __pyx_slice__4 = PySlice_New(__pyx_int_13, Py_None, Py_None); if (unlikely(!__pyx_slice__4)) __PYX_ERR(0, 462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__4);
  __Pyx_GIVEREF(__pyx_slice__4);
 463:             }
 464: 
+465:             self._model.add_step(n_step, data)
    __Pyx_TraceLine(465,0,__PYX_ERR(0, 465, __pyx_L1_error))
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_step); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_n_step); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = NULL;
    __pyx_t_3 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
        __pyx_t_3 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_4, __pyx_v_data};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_3, 2+__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 465, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_4, __pyx_v_data};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_3, 2+__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 465, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(2+__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 465, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__pyx_t_6) {
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
      }
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_3, __pyx_t_4);
      __Pyx_INCREF(__pyx_v_data);
      __Pyx_GIVEREF(__pyx_v_data);
      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_3, __pyx_v_data);
      __pyx_t_4 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 465, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 466: 
+467:             self._curr_step = n_step
    __Pyx_TraceLine(467,0,__PYX_ERR(0, 467, __pyx_L1_error))
    __pyx_v_self->_curr_step = __pyx_v_n_step;
+468:             self._curr_inc = n_inc
    __Pyx_TraceLine(468,0,__PYX_ERR(0, 468, __pyx_L1_error))
    __pyx_v_self->_curr_inc = __pyx_v_n_inc;
 469:         else:
+470:             self._curr_step = -1
  __Pyx_TraceLine(470,0,__PYX_ERR(0, 470, __pyx_L1_error))
  /*else*/ {
    __pyx_v_self->_curr_step = -1;
+471:             self._curr_inc = -1
    __Pyx_TraceLine(471,0,__PYX_ERR(0, 471, __pyx_L1_error))
    __pyx_v_self->_curr_inc = -1;
  }
  __pyx_L3:;
 472: 
+473:     def _parse_active_dof(self, record):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_29_parse_active_dof(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_28_parse_active_dof[] = "Parse the active degrees of freedom.\n\n        Parameters\n        ----------\n        record : TODO\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_29_parse_active_dof(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_active_dof (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_28_parse_active_dof(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_record));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_28_parse_active_dof(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_v_active_dof = NULL;
  PyObject *__pyx_v_dimension = NULL;
  PyObject *__pyx_7genexpr__pyx_v_k = NULL;
  PyObject *__pyx_7genexpr__pyx_v_val = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_active_dof", 0);
  __Pyx_TraceCall("_parse_active_dof", __pyx_f[0], 473, 0, __PYX_ERR(0, 473, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_active_dof", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_active_dof);
  __Pyx_XDECREF(__pyx_v_dimension);
  __Pyx_XDECREF(__pyx_7genexpr__pyx_v_k);
  __Pyx_XDECREF(__pyx_7genexpr__pyx_v_val);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 474:         """Parse the active degrees of freedom.
 475: 
 476:         Parameters
 477:         ----------
 478:         record : TODO
 479: 
 480:         Returns
 481:         -------
 482:         TODO
 483: 
 484:         """
+485:         active_dof = np.array(record[2:], dtype=int)
  __Pyx_TraceLine(485,0,__PYX_ERR(0, 485, __pyx_L1_error))
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_record, 2, 0, NULL, NULL, &__pyx_slice__5, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 485, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_active_dof = __pyx_t_4;
  __pyx_t_4 = 0;
/* … */
  __pyx_slice__5 = PySlice_New(__pyx_int_2, Py_None, Py_None); if (unlikely(!__pyx_slice__5)) __PYX_ERR(0, 485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__5);
  __Pyx_GIVEREF(__pyx_slice__5);
+486:         dimension = np.sum(np.not_equal(active_dof[:3], np.zeros(3)), dtype=int)
  __Pyx_TraceLine(486,0,__PYX_ERR(0, 486, __pyx_L1_error))
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_not_equal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_active_dof, 0, 3, NULL, NULL, &__pyx_slice__6, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_int_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_int_3);
  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_3, __pyx_t_5};
    __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 486, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_3, __pyx_t_5};
    __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 486, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  } else
  #endif
  {
    __pyx_t_6 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__pyx_t_7) {
      __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_8, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_8, __pyx_t_5);
    __pyx_t_3 = 0;
    __pyx_t_5 = 0;
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 486, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_dimension = __pyx_t_6;
  __pyx_t_6 = 0;
/* … */
  __pyx_slice__6 = PySlice_New(Py_None, __pyx_int_3, Py_None); if (unlikely(!__pyx_slice__6)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__6);
  __Pyx_GIVEREF(__pyx_slice__6);
+487:         self._model_dimension = dimension
  __Pyx_TraceLine(487,0,__PYX_ERR(0, 487, __pyx_L1_error))
  __Pyx_INCREF(__pyx_v_dimension);
  __Pyx_GIVEREF(__pyx_v_dimension);
  __Pyx_GOTREF(__pyx_v_self->_model_dimension);
  __Pyx_DECREF(__pyx_v_self->_model_dimension);
  __pyx_v_self->_model_dimension = __pyx_v_dimension;
+488:         self._model._dimension = dimension
  __Pyx_TraceLine(488,0,__PYX_ERR(0, 488, __pyx_L1_error))
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self->_model, __pyx_n_s_dimension, __pyx_v_dimension) < 0) __PYX_ERR(0, 488, __pyx_L1_error)
 489: 
 490:         # (k + 1): because the dof's start at 1
 491:         # (val -1): because they will be reference to a list, which is 0-indexed
+492:         self._dof_map = {(k + 1): (val - 1) if val != 0 else 0
  __Pyx_TraceLine(492,0,__PYX_ERR(0, 492, __pyx_L1_error))
  { /* enter inner scope */
    __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 492, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_int_0);
    __pyx_t_4 = __pyx_int_0;
/* … */
      __Pyx_TraceLine(492,0,__PYX_ERR(0, 492, __pyx_L5_error))
      __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_7genexpr__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 492, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_7genexpr__pyx_v_val, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 492, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 492, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (__pyx_t_11) {
        __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_7genexpr__pyx_v_val, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 492, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __pyx_t_3;
        __pyx_t_3 = 0;
      } else {
        __Pyx_INCREF(__pyx_int_0);
        __pyx_t_5 = __pyx_int_0;
      }
      if (unlikely(PyDict_SetItem(__pyx_t_6, (PyObject*)__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 492, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
  __Pyx_TraceLine(492,0,__PYX_ERR(0, 492, __pyx_L1_error))
  __Pyx_GIVEREF(__pyx_t_6);
  __Pyx_GOTREF(__pyx_v_self->_dof_map);
  __Pyx_DECREF(__pyx_v_self->_dof_map);
  __pyx_v_self->_dof_map = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;
+493:                          for k, val in enumerate(active_dof)}
    __Pyx_TraceLine(493,0,__PYX_ERR(0, 493, __pyx_L5_error))
    if (likely(PyList_CheckExact(__pyx_v_active_dof)) || PyTuple_CheckExact(__pyx_v_active_dof)) {
      __pyx_t_2 = __pyx_v_active_dof; __Pyx_INCREF(__pyx_t_2); __pyx_t_9 = 0;
      __pyx_t_10 = NULL;
    } else {
      __pyx_t_9 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_active_dof); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 493, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_10 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 493, __pyx_L5_error)
    }
    for (;;) {
      if (likely(!__pyx_t_10)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_2)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 493, __pyx_L5_error)
          #else
          __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 493, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_1);
          #endif
        } else {
          if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 493, __pyx_L5_error)
          #else
          __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 493, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_1);
          #endif
        }
      } else {
        __pyx_t_1 = __pyx_t_10(__pyx_t_2);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 493, __pyx_L5_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_val, __pyx_t_1);
      __pyx_t_1 = 0;
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_k, __pyx_t_4);
      __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 493, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_1;
      __pyx_t_1 = 0;
/* … */
      __Pyx_TraceLine(493,0,__PYX_ERR(0, 493, __pyx_L5_error))
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_7genexpr__pyx_v_k); __pyx_7genexpr__pyx_v_k = 0;
    __Pyx_XDECREF(__pyx_7genexpr__pyx_v_val); __pyx_7genexpr__pyx_v_val = 0;
    goto __pyx_L8_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_7genexpr__pyx_v_k); __pyx_7genexpr__pyx_v_k = 0;
    __Pyx_XDECREF(__pyx_7genexpr__pyx_v_val); __pyx_7genexpr__pyx_v_val = 0;
    goto __pyx_L1_error;
    __pyx_L8_exit_scope:;
  } /* exit inner scope */
 494: 
 495:         # Process all nodes
+496:         self._parse_all_nodes()
  __Pyx_TraceLine(496,0,__PYX_ERR(0, 496, __pyx_L1_error))
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parse_all_nodes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 497: 
+498:     def _parse_set(self, record, add, s_type):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_31_parse_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_30_parse_set[] = "Parse the element sets\n\n        Parameters\n        ----------\n        record : TODO\n        add : bool\n            Flags whether records are added to an existing set a new set has to be\n            created.\n        s_type : str\n            Type of set (\"element\", \"node\")\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_31_parse_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_add = 0;
  PyObject *__pyx_v_s_type = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_set (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_add,&__pyx_n_s_s_type,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_add)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_set", 1, 3, 3, 1); __PYX_ERR(0, 498, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_set", 1, 3, 3, 2); __PYX_ERR(0, 498, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_set") < 0)) __PYX_ERR(0, 498, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_record = values[0];
    __pyx_v_add = values[1];
    __pyx_v_s_type = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_set", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 498, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_30_parse_set(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_add, __pyx_v_s_type);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_30_parse_set(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_add, PyObject *__pyx_v_s_type) {
  PyObject *__pyx_v_elements = NULL;
  PyObject *__pyx_v_ref = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_set", 0);
  __Pyx_TraceCall("_parse_set", __pyx_f[0], 498, 0, __PYX_ERR(0, 498, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_elements);
  __Pyx_XDECREF(__pyx_v_ref);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 499:         """Parse the element sets
 500: 
 501:         Parameters
 502:         ----------
 503:         record : TODO
 504:         add : bool
 505:             Flags whether records are added to an existing set a new set has to be
 506:             created.
 507:         s_type : str
 508:             Type of set ("element", "node")
 509: 
 510:         Returns
 511:         -------
 512:         TODO
 513: 
 514:         """
 515: 
+516:         if add:
  __Pyx_TraceLine(516,0,__PYX_ERR(0, 516, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_add); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 516, __pyx_L1_error)
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+517:             elements = record[2:]
    __Pyx_TraceLine(517,0,__PYX_ERR(0, 517, __pyx_L1_error))
    __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v_record, 2, 0, NULL, NULL, &__pyx_slice__5, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_elements = __pyx_t_2;
    __pyx_t_2 = 0;
+518:             ref = self._curr_set
    __Pyx_TraceLine(518,0,__PYX_ERR(0, 518, __pyx_L1_error))
    __pyx_t_2 = __pyx_v_self->_curr_set;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_ref = __pyx_t_2;
    __pyx_t_2 = 0;
+519:             self._tmp_sets[s_type][ref].extend(elements)
    __Pyx_TraceLine(519,0,__PYX_ERR(0, 519, __pyx_L1_error))
    if (unlikely(__pyx_v_self->_tmp_sets == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 519, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->_tmp_sets, __pyx_v_s_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_ref); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_extend); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_elements) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_elements);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 520:         else:
+521:             elements = record[3:]
  __Pyx_TraceLine(521,0,__PYX_ERR(0, 521, __pyx_L1_error))
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v_record, 3, 0, NULL, NULL, &__pyx_slice__7, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_elements = __pyx_t_2;
    __pyx_t_2 = 0;
/* … */
  __pyx_slice__7 = PySlice_New(__pyx_int_3, Py_None, Py_None); if (unlikely(!__pyx_slice__7)) __PYX_ERR(0, 521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__7);
  __Pyx_GIVEREF(__pyx_slice__7);
+522:             ref = int(record[2].strip())
    __Pyx_TraceLine(522,0,__PYX_ERR(0, 522, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ref = __pyx_t_4;
    __pyx_t_4 = 0;
+523:             self._curr_set = ref
    __Pyx_TraceLine(523,0,__PYX_ERR(0, 523, __pyx_L1_error))
    __Pyx_INCREF(__pyx_v_ref);
    __Pyx_GIVEREF(__pyx_v_ref);
    __Pyx_GOTREF(__pyx_v_self->_curr_set);
    __Pyx_DECREF(__pyx_v_self->_curr_set);
    __pyx_v_self->_curr_set = __pyx_v_ref;
+524:             self._tmp_sets[s_type][ref] = elements
    __Pyx_TraceLine(524,0,__PYX_ERR(0, 524, __pyx_L1_error))
    if (unlikely(__pyx_v_self->_tmp_sets == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 524, __pyx_L1_error)
    }
    __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_self->_tmp_sets, __pyx_v_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_ref, __pyx_v_elements) < 0)) __PYX_ERR(0, 524, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_L3:;
 525: 
+526:     def _parse_surface(self, record, add_face):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_33_parse_surface(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_32_parse_surface[] = "Parse the surface records.\n\n        Parameters\n        ----------\n        record : list\n            Record entry from the *.fil file.\n        add_face : bool\n            Flag to determine whether a face has to be added to an existing surface\n            (True), or whether a new surfaces has to be created (False)\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_33_parse_surface(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_add_face = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_surface (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_add_face,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_add_face)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_surface", 1, 2, 2, 1); __PYX_ERR(0, 526, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_surface") < 0)) __PYX_ERR(0, 526, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_record = values[0];
    __pyx_v_add_face = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_surface", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 526, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_surface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_32_parse_surface(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_add_face);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_32_parse_surface(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_add_face) {
  PyObject *__pyx_v_label = NULL;
  PyObject *__pyx_v_face_info = NULL;
  PyObject *__pyx_v_s_type = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_dim = NULL;
  CYTHON_UNUSED PyObject *__pyx_v_n_faces = NULL;
  PyObject *__pyx_v_n_slaves = NULL;
  PyObject *__pyx_v_master_names = NULL;
  PyObject *__pyx_v_ref_label = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_surface", 0);
  __Pyx_TraceCall("_parse_surface", __pyx_f[0], 526, 0, __PYX_ERR(0, 526, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_surface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_label);
  __Pyx_XDECREF(__pyx_v_face_info);
  __Pyx_XDECREF(__pyx_v_s_type);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_dim);
  __Pyx_XDECREF(__pyx_v_n_faces);
  __Pyx_XDECREF(__pyx_v_n_slaves);
  __Pyx_XDECREF(__pyx_v_master_names);
  __Pyx_XDECREF(__pyx_v_ref_label);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 527:         """Parse the surface records.
 528: 
 529:         Parameters
 530:         ----------
 531:         record : list
 532:             Record entry from the *.fil file.
 533:         add_face : bool
 534:             Flag to determine whether a face has to be added to an existing surface
 535:             (True), or whether a new surfaces has to be created (False)
 536: 
 537:         """
+538:         if add_face:
  __Pyx_TraceLine(538,0,__PYX_ERR(0, 538, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_add_face); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 538, __pyx_L1_error)
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
 539:             # Add faces to existing surface
+540:             label = self._curr_surface
    __Pyx_TraceLine(540,0,__PYX_ERR(0, 540, __pyx_L1_error))
    __pyx_t_2 = __pyx_v_self->_curr_surface;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_label = __pyx_t_2;
    __pyx_t_2 = 0;
 541: 
 542:             face_info = {
+543:                 "element": record[2],
    __Pyx_TraceLine(543,0,__PYX_ERR(0, 543, __pyx_L1_error))
    __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_element, __pyx_t_3) < 0) __PYX_ERR(0, 543, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+544:                 "face": record[3],
    __Pyx_TraceLine(544,0,__PYX_ERR(0, 544, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_face, __pyx_t_3) < 0) __PYX_ERR(0, 543, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+545:                 "nodes": record[5:],
    __Pyx_TraceLine(545,0,__PYX_ERR(0, 545, __pyx_L1_error))
    __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_record, 5, 0, NULL, NULL, &__pyx_slice__8, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 545, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_nodes, __pyx_t_3) < 0) __PYX_ERR(0, 543, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_face_info = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
/* … */
  __pyx_slice__8 = PySlice_New(__pyx_int_5, Py_None, Py_None); if (unlikely(!__pyx_slice__8)) __PYX_ERR(0, 545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__8);
  __Pyx_GIVEREF(__pyx_slice__8);
 546:             }
+547:             self._tmp_faces[label].append(face_info)
    __Pyx_TraceLine(547,0,__PYX_ERR(0, 547, __pyx_L1_error))
    if (unlikely(__pyx_v_self->_tmp_faces == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 547, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_self->_tmp_faces, __pyx_v_label); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_Append(__pyx_t_2, __pyx_v_face_info); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 547, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 548: 
 549:         else:
 550:             # Create new surface container
+551:             s_type = record[4]
  __Pyx_TraceLine(551,0,__PYX_ERR(0, 551, __pyx_L1_error))
  /*else*/ {
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_record, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_s_type = __pyx_t_2;
    __pyx_t_2 = 0;
+552:             name = int(record[2].strip())
    __Pyx_TraceLine(552,0,__PYX_ERR(0, 552, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_name = __pyx_t_5;
    __pyx_t_5 = 0;
+553:             dim = record[3]
    __Pyx_TraceLine(553,0,__PYX_ERR(0, 553, __pyx_L1_error))
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_dim = __pyx_t_5;
    __pyx_t_5 = 0;
+554:             n_faces = record[5]
    __Pyx_TraceLine(554,0,__PYX_ERR(0, 554, __pyx_L1_error))
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_record, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_n_faces = __pyx_t_5;
    __pyx_t_5 = 0;
 555: 
 556:             # Set temporary variable
+557:             self._curr_surface = name
    __Pyx_TraceLine(557,0,__PYX_ERR(0, 557, __pyx_L1_error))
    __Pyx_INCREF(__pyx_v_name);
    __Pyx_GIVEREF(__pyx_v_name);
    __Pyx_GOTREF(__pyx_v_self->_curr_surface);
    __Pyx_DECREF(__pyx_v_self->_curr_surface);
    __pyx_v_self->_curr_surface = __pyx_v_name;
 558:             # Start corresponding container for the surface
+559:             self._tmp_faces[name] = list()
    __Pyx_TraceLine(559,0,__PYX_ERR(0, 559, __pyx_L1_error))
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__pyx_v_self->_tmp_faces == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 559, __pyx_L1_error)
    }
    if (unlikely(PyDict_SetItem(__pyx_v_self->_tmp_faces, __pyx_v_name, __pyx_t_5) < 0)) __PYX_ERR(0, 559, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 560: 
+561:             if s_type == 1:
    __Pyx_TraceLine(561,0,__PYX_ERR(0, 561, __pyx_L1_error))
    __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_s_type, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 561, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (__pyx_t_1) {
/* … */
      goto __pyx_L4;
    }
 562:                 # Deformable surface
+563:                 n_slaves = record[6]
      __Pyx_TraceLine(563,0,__PYX_ERR(0, 563, __pyx_L1_error))
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_record, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 563, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_v_n_slaves = __pyx_t_5;
      __pyx_t_5 = 0;
+564:                 if n_slaves > 0:
      __Pyx_TraceLine(564,0,__PYX_ERR(0, 564, __pyx_L1_error))
      __pyx_t_5 = PyObject_RichCompare(__pyx_v_n_slaves, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L1_error)
      __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 564, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (__pyx_t_1) {
/* … */
        goto __pyx_L5;
      }
+565:                     master_names = record[7:]
        __Pyx_TraceLine(565,0,__PYX_ERR(0, 565, __pyx_L1_error))
        __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_record, 7, 0, NULL, NULL, &__pyx_slice__9, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 565, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_v_master_names = __pyx_t_5;
        __pyx_t_5 = 0;
/* … */
  __pyx_slice__9 = PySlice_New(__pyx_int_7, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__9);
  __Pyx_GIVEREF(__pyx_slice__9);
 566:                 else:
+567:                     master_names = []
      __Pyx_TraceLine(567,0,__PYX_ERR(0, 567, __pyx_L1_error))
      /*else*/ {
        __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 567, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_v_master_names = __pyx_t_5;
        __pyx_t_5 = 0;
      }
      __pyx_L5:;
 568: 
+569:                 self._tmp_surf[name] = {
      __Pyx_TraceLine(569,0,__PYX_ERR(0, 569, __pyx_L1_error))
      if (unlikely(__pyx_v_self->_tmp_surf == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 569, __pyx_L1_error)
      }
      if (unlikely(PyDict_SetItem(__pyx_v_self->_tmp_surf, __pyx_v_name, __pyx_t_5) < 0)) __PYX_ERR(0, 569, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+570:                     "dimension": dim,
      __Pyx_TraceLine(570,0,__PYX_ERR(0, 570, __pyx_L1_error))
      __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 570, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_u_dimension_2, __pyx_v_dim) < 0) __PYX_ERR(0, 570, __pyx_L1_error)
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_u_type, __pyx_n_u_deformable) < 0) __PYX_ERR(0, 570, __pyx_L1_error)
 571:                     "type": "deformable",
+572:                     "master names": master_names,
      __Pyx_TraceLine(572,0,__PYX_ERR(0, 572, __pyx_L1_error))
      if (PyDict_SetItem(__pyx_t_5, __pyx_kp_u_master_names, __pyx_v_master_names) < 0) __PYX_ERR(0, 570, __pyx_L1_error)
 573:                 }
 574: 
+575:             elif s_type == 2:
    __Pyx_TraceLine(575,0,__PYX_ERR(0, 575, __pyx_L1_error))
    __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_s_type, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 575, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (__pyx_t_1) {
/* … */
    }
    __pyx_L4:;
  }
  __pyx_L3:;
 576:                 # Rigid surface
+577:                 ref_label = record[6]
      __Pyx_TraceLine(577,0,__PYX_ERR(0, 577, __pyx_L1_error))
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_record, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 577, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_v_ref_label = __pyx_t_5;
      __pyx_t_5 = 0;
+578:                 self._tmp_surf[name] = {
      __Pyx_TraceLine(578,0,__PYX_ERR(0, 578, __pyx_L1_error))
      if (unlikely(__pyx_v_self->_tmp_surf == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 578, __pyx_L1_error)
      }
      if (unlikely(PyDict_SetItem(__pyx_v_self->_tmp_surf, __pyx_v_name, __pyx_t_5) < 0)) __PYX_ERR(0, 578, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+579:                     "dimension": dim,
      __Pyx_TraceLine(579,0,__PYX_ERR(0, 579, __pyx_L1_error))
      __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 579, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_u_dimension_2, __pyx_v_dim) < 0) __PYX_ERR(0, 579, __pyx_L1_error)
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_u_type, __pyx_n_u_rigid) < 0) __PYX_ERR(0, 579, __pyx_L1_error)
 580:                     "type": "rigid",
+581:                     "reference point": ref_label,
      __Pyx_TraceLine(581,0,__PYX_ERR(0, 581, __pyx_L1_error))
      if (PyDict_SetItem(__pyx_t_5, __pyx_kp_u_reference_point, __pyx_v_ref_label) < 0) __PYX_ERR(0, 579, __pyx_L1_error)
 582:                 }
 583: 
+584:     def _post_parse_all_surfaces(self):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_35_post_parse_all_surfaces(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_34_post_parse_all_surfaces[] = "Process all the surfaces after reading all records.";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_35_post_parse_all_surfaces(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_post_parse_all_surfaces (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_34_post_parse_all_surfaces(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_34_post_parse_all_surfaces(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_v_surfaces = NULL;
  PyObject *__pyx_v_faces = NULL;
  PyObject *__pyx_v_model = NULL;
  int __pyx_v_ix;
  PyObject *__pyx_v_surf = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_dim = NULL;
  PyObject *__pyx_v_ref = NULL;
  PyObject *__pyx_v_face_i = NULL;
  PyObject *__pyx_v_master = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_post_parse_all_surfaces", 0);
  __Pyx_TraceCall("_post_parse_all_surfaces", __pyx_f[0], 584, 0, __PYX_ERR(0, 584, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._post_parse_all_surfaces", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_surfaces);
  __Pyx_XDECREF(__pyx_v_faces);
  __Pyx_XDECREF(__pyx_v_model);
  __Pyx_XDECREF(__pyx_v_surf);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_dim);
  __Pyx_XDECREF(__pyx_v_ref);
  __Pyx_XDECREF(__pyx_v_face_i);
  __Pyx_XDECREF(__pyx_v_master);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 585:         """Process all the surfaces after reading all records."""
+586:         surfaces = self._tmp_surf
  __Pyx_TraceLine(586,0,__PYX_ERR(0, 586, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_tmp_surf;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_surfaces = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+587:         faces = self._tmp_faces
  __Pyx_TraceLine(587,0,__PYX_ERR(0, 587, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_tmp_faces;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_faces = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+588:         model = self._model
  __Pyx_TraceLine(588,0,__PYX_ERR(0, 588, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_model;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_model = __pyx_t_1;
  __pyx_t_1 = 0;
 589:         ix: cython.int
 590: 
+591:         for ix, surf in surfaces.items():
  __Pyx_TraceLine(591,0,__PYX_ERR(0, 591, __pyx_L1_error))
  __pyx_t_2 = 0;
  if (unlikely(__pyx_v_surfaces == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 591, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_surfaces, 1, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 591, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_ix = __pyx_t_7;
    __Pyx_XDECREF_SET(__pyx_v_surf, __pyx_t_6);
    __pyx_t_6 = 0;
+592:             if surf["type"] == "rigid":
    __Pyx_TraceLine(592,0,__PYX_ERR(0, 592, __pyx_L1_error))
    __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_v_surf, __pyx_n_u_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_t_6, __pyx_n_u_rigid, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 592, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (__pyx_t_8) {
/* … */
      goto __pyx_L5;
    }
 593:                 # Get name
+594:                 name = self._label_cross_ref[ix]
      __Pyx_TraceLine(594,0,__PYX_ERR(0, 594, __pyx_L1_error))
      if (unlikely(__pyx_v_self->_label_cross_ref == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 594, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ix); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 594, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_self->_label_cross_ref, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 594, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
      __pyx_t_5 = 0;
+595:                 dim = surf["dimension"]
      __Pyx_TraceLine(595,0,__PYX_ERR(0, 595, __pyx_L1_error))
      __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_v_surf, __pyx_n_u_dimension_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 595, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_v_dim, __pyx_t_5);
      __pyx_t_5 = 0;
+596:                 ref = surf["reference point"]
      __Pyx_TraceLine(596,0,__PYX_ERR(0, 596, __pyx_L1_error))
      __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_v_surf, __pyx_kp_u_reference_point); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 596, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_v_ref, __pyx_t_5);
      __pyx_t_5 = 0;
+597:                 model.add_rigid_surface(name, dim, ref)
      __Pyx_TraceLine(597,0,__PYX_ERR(0, 597, __pyx_L1_error))
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_model, __pyx_n_s_add_rigid_surface); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 597, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = NULL;
      __pyx_t_7 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_9)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_9);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
          __pyx_t_7 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_name, __pyx_v_dim, __pyx_v_ref};
        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 597, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_5);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_name, __pyx_v_dim, __pyx_v_ref};
        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 597, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_5);
      } else
      #endif
      {
        __pyx_t_10 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 597, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__pyx_t_9) {
          __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
        }
        __Pyx_INCREF(__pyx_v_name);
        __Pyx_GIVEREF(__pyx_v_name);
        PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_7, __pyx_v_name);
        __Pyx_INCREF(__pyx_v_dim);
        __Pyx_GIVEREF(__pyx_v_dim);
        PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_7, __pyx_v_dim);
        __Pyx_INCREF(__pyx_v_ref);
        __Pyx_GIVEREF(__pyx_v_ref);
        PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_7, __pyx_v_ref);
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 597, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 598: 
+599:                 for face_i in faces[ix]:
      __Pyx_TraceLine(599,0,__PYX_ERR(0, 599, __pyx_L1_error))
      if (unlikely(__pyx_v_faces == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 599, __pyx_L1_error)
      }
      __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ix); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 599, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_faces, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 599, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
        __pyx_t_5 = __pyx_t_6; __Pyx_INCREF(__pyx_t_5); __pyx_t_11 = 0;
        __pyx_t_12 = NULL;
      } else {
        __pyx_t_11 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 599, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_12 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 599, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      for (;;) {
        if (likely(!__pyx_t_12)) {
          if (likely(PyList_CheckExact(__pyx_t_5))) {
            if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_5)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 599, __pyx_L1_error)
            #else
            __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 599, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_6);
            #endif
          } else {
            if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 599, __pyx_L1_error)
            #else
            __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 599, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_6);
            #endif
          }
        } else {
          __pyx_t_6 = __pyx_t_12(__pyx_t_5);
          if (unlikely(!__pyx_t_6)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 599, __pyx_L1_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_6);
        }
        __Pyx_XDECREF_SET(__pyx_v_face_i, __pyx_t_6);
        __pyx_t_6 = 0;
/* … */
        __Pyx_TraceLine(599,0,__PYX_ERR(0, 599, __pyx_L1_error))
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+600:                     model.add_face_to_surface(name, face_i)
        __Pyx_TraceLine(600,0,__PYX_ERR(0, 600, __pyx_L1_error))
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_model, __pyx_n_s_add_face_to_surface); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 600, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_9 = NULL;
        __pyx_t_7 = 0;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
          if (likely(__pyx_t_9)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
            __Pyx_INCREF(__pyx_t_9);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_10, function);
            __pyx_t_7 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_10)) {
          PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_name, __pyx_v_face_i};
          __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 600, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_GOTREF(__pyx_t_6);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
          PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_name, __pyx_v_face_i};
          __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 600, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_GOTREF(__pyx_t_6);
        } else
        #endif
        {
          __pyx_t_13 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 600, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          if (__pyx_t_9) {
            __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_9); __pyx_t_9 = NULL;
          }
          __Pyx_INCREF(__pyx_v_name);
          __Pyx_GIVEREF(__pyx_v_name);
          PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_7, __pyx_v_name);
          __Pyx_INCREF(__pyx_v_face_i);
          __Pyx_GIVEREF(__pyx_v_face_i);
          PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_7, __pyx_v_face_i);
          __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 600, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        }
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 601: 
+602:             elif surf["type"] == "deformable":
    __Pyx_TraceLine(602,0,__PYX_ERR(0, 602, __pyx_L1_error))
    __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_v_surf, __pyx_n_u_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_t_5, __pyx_n_u_deformable, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 602, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (__pyx_t_8) {
/* … */
    }
    __pyx_L5:;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 603:                 # Get name
+604:                 name = self._label_cross_ref[ix]
      __Pyx_TraceLine(604,0,__PYX_ERR(0, 604, __pyx_L1_error))
      if (unlikely(__pyx_v_self->_label_cross_ref == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 604, __pyx_L1_error)
      }
      __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_ix); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 604, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_self->_label_cross_ref, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 604, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_6);
      __pyx_t_6 = 0;
+605:                 dim = surf["dimension"]
      __Pyx_TraceLine(605,0,__PYX_ERR(0, 605, __pyx_L1_error))
      __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_v_surf, __pyx_n_u_dimension_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 605, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_dim, __pyx_t_6);
      __pyx_t_6 = 0;
+606:                 master = surf["master names"]
      __Pyx_TraceLine(606,0,__PYX_ERR(0, 606, __pyx_L1_error))
      __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_v_surf, __pyx_kp_u_master_names); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 606, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_master, __pyx_t_6);
      __pyx_t_6 = 0;
+607:                 self._model.add_deformable_surface(name, dim, master)
      __Pyx_TraceLine(607,0,__PYX_ERR(0, 607, __pyx_L1_error))
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_deformable_surface); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_10 = NULL;
      __pyx_t_7 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_10)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_10);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
          __pyx_t_7 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_name, __pyx_v_dim, __pyx_v_master};
        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 607, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_6);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_name, __pyx_v_dim, __pyx_v_master};
        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 607, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_6);
      } else
      #endif
      {
        __pyx_t_13 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 607, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_13);
        if (__pyx_t_10) {
          __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_10); __pyx_t_10 = NULL;
        }
        __Pyx_INCREF(__pyx_v_name);
        __Pyx_GIVEREF(__pyx_v_name);
        PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_7, __pyx_v_name);
        __Pyx_INCREF(__pyx_v_dim);
        __Pyx_GIVEREF(__pyx_v_dim);
        PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_7, __pyx_v_dim);
        __Pyx_INCREF(__pyx_v_master);
        __Pyx_GIVEREF(__pyx_v_master);
        PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_7, __pyx_v_master);
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 607, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 608: 
+609:                 for face_i in faces[ix]:
      __Pyx_TraceLine(609,0,__PYX_ERR(0, 609, __pyx_L1_error))
      if (unlikely(__pyx_v_faces == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 609, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_ix); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 609, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_faces, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 609, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
        __pyx_t_6 = __pyx_t_5; __Pyx_INCREF(__pyx_t_6); __pyx_t_11 = 0;
        __pyx_t_12 = NULL;
      } else {
        __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 609, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_12 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 609, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      for (;;) {
        if (likely(!__pyx_t_12)) {
          if (likely(PyList_CheckExact(__pyx_t_6))) {
            if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_6)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_5); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 609, __pyx_L1_error)
            #else
            __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 609, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            #endif
          } else {
            if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_5); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 609, __pyx_L1_error)
            #else
            __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 609, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            #endif
          }
        } else {
          __pyx_t_5 = __pyx_t_12(__pyx_t_6);
          if (unlikely(!__pyx_t_5)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 609, __pyx_L1_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_5);
        }
        __Pyx_XDECREF_SET(__pyx_v_face_i, __pyx_t_5);
        __pyx_t_5 = 0;
/* … */
        __Pyx_TraceLine(609,0,__PYX_ERR(0, 609, __pyx_L1_error))
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+610:                     model.add_face_to_surface(name, face_i)
        __Pyx_TraceLine(610,0,__PYX_ERR(0, 610, __pyx_L1_error))
        __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_model, __pyx_n_s_add_face_to_surface); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 610, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_13);
        __pyx_t_10 = NULL;
        __pyx_t_7 = 0;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_13);
          if (likely(__pyx_t_10)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
            __Pyx_INCREF(__pyx_t_10);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_13, function);
            __pyx_t_7 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_13)) {
          PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_name, __pyx_v_face_i};
          __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 610, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
          PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_name, __pyx_v_face_i};
          __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 610, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else
        #endif
        {
          __pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 610, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_9);
          if (__pyx_t_10) {
            __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_10); __pyx_t_10 = NULL;
          }
          __Pyx_INCREF(__pyx_v_name);
          __Pyx_GIVEREF(__pyx_v_name);
          PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_v_name);
          __Pyx_INCREF(__pyx_v_face_i);
          __Pyx_GIVEREF(__pyx_v_face_i);
          PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_v_face_i);
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 610, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        }
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 611: 
+612:     def _parse_label_cross_ref(self, record):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_37_parse_label_cross_ref(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_36_parse_label_cross_ref[] = "Parse label cross-references\n\n        Parameters\n        ----------\n        record : list\n            Records parsed from the *.fil file\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_37_parse_label_cross_ref(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_label_cross_ref (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_36_parse_label_cross_ref(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_record));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_36_parse_label_cross_ref(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_v_ref = NULL;
  PyObject *__pyx_v_label = NULL;
  PyObject *__pyx_v_tmp_sets = NULL;
  PyObject *__pyx_v_elements = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_label_cross_ref", 0);
  __Pyx_TraceCall("_parse_label_cross_ref", __pyx_f[0], 612, 0, __PYX_ERR(0, 612, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_label_cross_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ref);
  __Pyx_XDECREF(__pyx_v_label);
  __Pyx_XDECREF(__pyx_v_tmp_sets);
  __Pyx_XDECREF(__pyx_v_elements);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 613:         """Parse label cross-references
 614: 
 615:         Parameters
 616:         ----------
 617:         record : list
 618:             Records parsed from the *.fil file
 619: 
 620:         """
+621:         ref = record[2]
  __Pyx_TraceLine(621,0,__PYX_ERR(0, 621, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_ref = __pyx_t_1;
  __pyx_t_1 = 0;
+622:         label = "".join(record[3:]).strip()
  __Pyx_TraceLine(622,0,__PYX_ERR(0, 622, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v_record, 3, 0, NULL, NULL, &__pyx_slice__7, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyUnicode_Join(__pyx_kp_u_, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_label = __pyx_t_1;
  __pyx_t_1 = 0;
 623: 
+624:         self._label_cross_ref[ref] = label
  __Pyx_TraceLine(624,0,__PYX_ERR(0, 624, __pyx_L1_error))
  if (unlikely(__pyx_v_self->_label_cross_ref == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 624, __pyx_L1_error)
  }
  if (unlikely(PyDict_SetItem(__pyx_v_self->_label_cross_ref, __pyx_v_ref, __pyx_v_label) < 0)) __PYX_ERR(0, 624, __pyx_L1_error)
 625: 
+626:         tmp_sets = self._tmp_sets
  __Pyx_TraceLine(626,0,__PYX_ERR(0, 626, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_tmp_sets;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_tmp_sets = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
 627: 
+628:         if ref in tmp_sets["element"]:
  __Pyx_TraceLine(628,0,__PYX_ERR(0, 628, __pyx_L1_error))
  if (unlikely(__pyx_v_tmp_sets == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 628, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_tmp_sets, __pyx_n_u_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_v_ref, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (__pyx_t_5) {
/* … */
    goto __pyx_L3;
  }
+629:             elements = tmp_sets["element"][ref]
    __Pyx_TraceLine(629,0,__PYX_ERR(0, 629, __pyx_L1_error))
    if (unlikely(__pyx_v_tmp_sets == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 629, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_tmp_sets, __pyx_n_u_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_ref); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_elements = __pyx_t_2;
    __pyx_t_2 = 0;
+630:             self._model.add_set(label, elements, "element")
    __Pyx_TraceLine(630,0,__PYX_ERR(0, 630, __pyx_L1_error))
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_set); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = NULL;
    __pyx_t_6 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
        __pyx_t_6 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_label, __pyx_v_elements, __pyx_n_u_element};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 630, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_label, __pyx_v_elements, __pyx_n_u_element};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 630, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 630, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__pyx_t_3) {
        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL;
      }
      __Pyx_INCREF(__pyx_v_label);
      __Pyx_GIVEREF(__pyx_v_label);
      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_label);
      __Pyx_INCREF(__pyx_v_elements);
      __Pyx_GIVEREF(__pyx_v_elements);
      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_elements);
      __Pyx_INCREF(__pyx_n_u_element);
      __Pyx_GIVEREF(__pyx_n_u_element);
      PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_n_u_element);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 630, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+631:         elif ref in tmp_sets["node"]:
  __Pyx_TraceLine(631,0,__PYX_ERR(0, 631, __pyx_L1_error))
  if (unlikely(__pyx_v_tmp_sets == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 631, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_tmp_sets, __pyx_n_u_node); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_ref, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = (__pyx_t_5 != 0);
  if (__pyx_t_4) {
/* … */
  }
  __pyx_L3:;
+632:             elements = tmp_sets["node"][ref]
    __Pyx_TraceLine(632,0,__PYX_ERR(0, 632, __pyx_L1_error))
    if (unlikely(__pyx_v_tmp_sets == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 632, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_tmp_sets, __pyx_n_u_node); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_ref); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_elements = __pyx_t_1;
    __pyx_t_1 = 0;
+633:             self._model.add_set(label, elements, "node")
    __Pyx_TraceLine(633,0,__PYX_ERR(0, 633, __pyx_L1_error))
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_set); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = NULL;
    __pyx_t_6 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
        __pyx_t_6 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_v_label, __pyx_v_elements, __pyx_n_u_node};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 633, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_v_label, __pyx_v_elements, __pyx_n_u_node};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 633, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_3 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 633, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__pyx_t_7) {
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7); __pyx_t_7 = NULL;
      }
      __Pyx_INCREF(__pyx_v_label);
      __Pyx_GIVEREF(__pyx_v_label);
      PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_6, __pyx_v_label);
      __Pyx_INCREF(__pyx_v_elements);
      __Pyx_GIVEREF(__pyx_v_elements);
      PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_6, __pyx_v_elements);
      __Pyx_INCREF(__pyx_n_u_node);
      __Pyx_GIVEREF(__pyx_n_u_node);
      PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_6, __pyx_n_u_node);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 633, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 634: 
+635:     def _parse_not_implemented(self, record, r_type):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_39_parse_not_implemented(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_38_parse_not_implemented[] = "Helper function to deal with the not yet implemented parsers.\n\n        Parameters\n        ----------\n        record : TODO\n        r_type : str\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_39_parse_not_implemented(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_r_type = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_not_implemented (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_r_type,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_not_implemented", 1, 2, 2, 1); __PYX_ERR(0, 635, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_not_implemented") < 0)) __PYX_ERR(0, 635, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_record = values[0];
    __pyx_v_r_type = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_not_implemented", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 635, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_not_implemented", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_38_parse_not_implemented(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_r_type);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_38_parse_not_implemented(CYTHON_UNUSED struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_r_type) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_not_implemented", 0);
  __Pyx_TraceCall("_parse_not_implemented", __pyx_f[0], 635, 0, __PYX_ERR(0, 635, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_not_implemented", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 636:         """Helper function to deal with the not yet implemented parsers.
 637: 
 638:         Parameters
 639:         ----------
 640:         record : TODO
 641:         r_type : str
 642: 
 643:         """
 644:         # tqdm.write(f"Record key {record[1]} ({r_type}) not yet implemented!")
+645:         print(f"Record key {record[1]} ({r_type}) not yet implemented!")
  __Pyx_TraceLine(645,0,__PYX_ERR(0, 645, __pyx_L1_error))
  __pyx_t_1 = PyTuple_New(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = 0;
  __pyx_t_3 = 127;
  __Pyx_INCREF(__pyx_kp_u_Record_key);
  __pyx_t_2 += 11;
  __Pyx_GIVEREF(__pyx_kp_u_Record_key);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_Record_key);
  __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_3;
  __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5);
  __pyx_t_5 = 0;
  __Pyx_INCREF(__pyx_kp_u__10);
  __pyx_t_2 += 2;
  __Pyx_GIVEREF(__pyx_kp_u__10);
  PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u__10);
  __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_r_type, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_3;
  __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_5);
  __pyx_t_5 = 0;
  __Pyx_INCREF(__pyx_kp_u_not_yet_implemented);
  __pyx_t_2 += 22;
  __Pyx_GIVEREF(__pyx_kp_u_not_yet_implemented);
  PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_kp_u_not_yet_implemented);
  __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_1, 5, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 646: 
+647:     def _reference_elems_in_nodes(self):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_41_reference_elems_in_nodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_40_reference_elems_in_nodes[] = "Add a list to each node with the elements using the node.";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_41_reference_elems_in_nodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_reference_elems_in_nodes (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_40_reference_elems_in_nodes(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_40_reference_elems_in_nodes(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_v_model = NULL;
  PyObject *__pyx_v_ni = NULL;
  PyObject *__pyx_v_elems = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_reference_elems_in_nodes", 0);
  __Pyx_TraceCall("_reference_elems_in_nodes", __pyx_f[0], 647, 0, __PYX_ERR(0, 647, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._reference_elems_in_nodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_model);
  __Pyx_XDECREF(__pyx_v_ni);
  __Pyx_XDECREF(__pyx_v_elems);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 648:         """Add a list to each node with the elements using the node."""
+649:         model = self._model
  __Pyx_TraceLine(649,0,__PYX_ERR(0, 649, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_model;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_model = __pyx_t_1;
  __pyx_t_1 = 0;
 650: 
+651:         for ni, elems in self._node_elems.items():
  __Pyx_TraceLine(651,0,__PYX_ERR(0, 651, __pyx_L1_error))
  __pyx_t_2 = 0;
  if (unlikely(__pyx_v_self->_node_elems == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 651, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_self->_node_elems, 1, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 651, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_ni, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_elems, __pyx_t_6);
    __pyx_t_6 = 0;
+652:             model.nodes[ni].in_elements = elems
    __Pyx_TraceLine(652,0,__PYX_ERR(0, 652, __pyx_L1_error))
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_model, __pyx_n_s_nodes); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_ni); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_in_elements, __pyx_v_elems) < 0) __PYX_ERR(0, 652, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 653: 
 654:     # grant access to myCppMember thanks to myMember
 655:     @property
+656:     def model(self):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_5model_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_5model___get__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_5model___get__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 656, 0, __PYX_ERR(0, 656, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser.model.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+657:         return self._model
  __Pyx_TraceLine(657,0,__PYX_ERR(0, 657, __pyx_L1_error))
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->_model);
  __pyx_r = __pyx_v_self->_model;
  goto __pyx_L0;