library (ls05_stdcells) {
  capacitive_load_unit (1.0, pf);
  current_unit: "1uA";
  default_operating_conditions: typical;
  delay_model: table_lookup;
  in_place_swap_mode: match_footprint;
  input_threshold_pct_fall: 50.0;
  input_threshold_pct_rise: 50.0;
  leakage_power_unit: "1nW";
  nom_process: 1.0;
  nom_temperature: 25.0;
  nom_voltage: 5.0;
  output_threshold_pct_fall: 50.0;
  output_threshold_pct_rise: 50.0;
  pulling_resistance_unit: "1kohm";
  slew_lower_threshold_pct_fall: 20.0;
  slew_lower_threshold_pct_rise: 20.0;
  slew_upper_threshold_pct_fall: 80.0;
  slew_upper_threshold_pct_rise: 80.0;
  time_unit: "1ns";
  voltage_unit: "1V";
  operating_conditions (typical) {
    process: 1.0;
    temperature: 25.0;
    voltage: 5.0;
  }
  lu_table_template (delay_template_5x1) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    variable_1: input_net_transition;
  }
  lu_table_template (delay_template_5x5) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    variable_1: total_output_net_capacitance;
    variable_2: input_net_transition;
  }
  lu_table_template (delay_template_5x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: total_output_net_capacitance;
    variable_2: input_net_transition;
  }
  lu_table_template (delay_template_6x1) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: input_net_transition;
  }
  lu_table_template (delay_template_6x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: total_output_net_capacitance;
    variable_2: input_net_transition;
  }
  power_lut_template (energy_template_5x5) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    variable_1: total_output_net_capacitance;
    variable_2: input_transition_time;
  }
  power_lut_template (energy_template_5x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: total_output_net_capacitance;
    variable_2: input_transition_time;
  }
  power_lut_template (energy_template_6x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: total_output_net_capacitance;
    variable_2: input_transition_time;
  }
  lu_table_template (hold_template_3x5) {
    index_1 (
      "1000.0, 1001.0, 1002.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  lu_table_template (hold_template_3x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  power_lut_template (passive_energy_template_5x1) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    variable_1: input_transition_time;
  }
  power_lut_template (passive_energy_template_6x1) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: input_transition_time;
  }
  lu_table_template (recovery_template_3x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  lu_table_template (recovery_template_6x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  lu_table_template (removal_template_3x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  lu_table_template (setup_template_3x5) {
    index_1 (
      "1000.0, 1001.0, 1002.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  lu_table_template (setup_template_3x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  cell (OAI22X1) {
    area: 274320.0;
    cell_leakage_power: 0.1173;
    pin (D) {
      capacitance: 0.0021453532257938264;
      direction: input;
      fall_capacitance: 6.164254229978021e-05;
      rise_capacitance: 0.004229063909287872;
    }
    pin (C) {
      capacitance: 0.004976915596377423;
      direction: input;
      fall_capacitance: 0.0057238940867746484;
      rise_capacitance: 0.004229937105980198;
    }
    pin (B) {
      capacitance: 0.004810999172966173;
      direction: input;
      fall_capacitance: 0.004686782002117296;
      rise_capacitance: 0.00493521634381505;
    }
    pin (A) {
      capacitance: 0.006365536753506552;
      direction: input;
      fall_capacitance: 0.007795205171653458;
      rise_capacitance: 0.004935868335359646;
    }
    pin (Y) {
      direction: output;
      function: "((A & B & !C & !D + C & D & !A & !B + A & !B & !C & !D + B & !A & !C & !D + C & !A & !B & !D + D & !A & !B & !C + !A & !B & !C & !D))";
      timing () {
        related_pin: "D";
        timing_sense: negative_unate;
        cell_rise (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.016262, 0.017741, 0.020452, 0.019420, -0.001499", \
            "0.095678, 0.090075, 0.091093, 0.099982, 0.152775", \
            "0.173776, 0.166259, 0.163962, 0.166726, 0.258406", \
            "0.328418, 0.319872, 0.314598, 0.311147, 0.428538", \
            "1.568201, 1.558608, 1.549384, 1.535559, 1.515136"
          );
        }
        cell_fall (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.011023, 0.018232, 0.023273, 0.028038, 0.082251", \
            "0.094341, 0.092670, 0.094113, 0.103646, 0.217383", \
            "0.179868, 0.175244, 0.173130, 0.174945, 0.311623", \
            "0.351607, 0.345183, 0.339617, 0.333200, 0.467646", \
            "1.728098, 1.719804, 1.710141, 1.692568, 1.611799"
          );
        }
        rise_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.018975, 0.028562, 0.049415, 0.089237, 0.641577", \
            "0.132997, 0.132685, 0.135462, 0.153560, 0.651633", \
            "0.243979, 0.244016, 0.242906, 0.252668, 0.698762", \
            "0.467681, 0.467640, 0.468098, 0.467574, 0.795527", \
            "2.270165, 2.270194, 2.270075, 2.270158, 2.286886"
          );
        }
        fall_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.019197, 0.039255, 0.052110, 0.097009, 0.642401", \
            "0.140956, 0.141396, 0.146191, 0.171523, 0.712509", \
            "0.262540, 0.262555, 0.262471, 0.273651, 0.778925", \
            "0.505956, 0.505722, 0.505888, 0.507033, 0.894213", \
            "2.461475, 2.461430, 2.461494, 2.461469, 2.493082"
          );
        }
      }
      timing () {
        related_pin: "C";
        timing_sense: negative_unate;
        cell_rise (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.017359, 0.020602, 0.022466, 0.024654, -0.046754", \
            "0.096705, 0.096946, 0.098584, 0.106282, 0.121532", \
            "0.173777, 0.173577, 0.174431, 0.178939, 0.237315", \
            "0.328617, 0.328111, 0.327825, 0.329774, 0.421297", \
            "1.568418, 1.567576, 1.565970, 1.563848, 1.593553"
          );
        }
        cell_fall (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.015022, 0.024347, 0.031623, 0.040631, 0.158538", \
            "0.099036, 0.097739, 0.100219, 0.111280, 0.279679", \
            "0.184670, 0.180259, 0.178658, 0.181740, 0.365006", \
            "0.356322, 0.350056, 0.344803, 0.339143, 0.507264", \
            "1.732880, 1.724663, 1.714991, 1.697579, 1.627329"
          );
        }
        rise_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.019084, 0.026776, 0.039823, 0.075672, 0.535237", \
            "0.131377, 0.131261, 0.132692, 0.145125, 0.516016", \
            "0.243564, 0.243531, 0.243534, 0.246588, 0.558890", \
            "0.468225, 0.468179, 0.468042, 0.468205, 0.664320", \
            "2.270088, 2.270095, 2.270133, 2.270106, 2.272980"
          );
        }
        fall_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.031510, 0.049989, 0.062355, 0.106040, 0.586348", \
            "0.151694, 0.152790, 0.156527, 0.182644, 0.731793", \
            "0.273221, 0.273269, 0.273901, 0.284371, 0.805125", \
            "0.516486, 0.516519, 0.516581, 0.517538, 0.918731", \
            "2.472286, 2.472287, 2.472233, 2.472242, 2.503889"
          );
        }
      }
      timing () {
        related_pin: "B";
        timing_sense: negative_unate;
        cell_rise (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.022460, 0.023823, 0.028185, 0.032725, 0.048628", \
            "0.101758, 0.095743, 0.096537, 0.106002, 0.192478", \
            "0.178737, 0.171298, 0.169438, 0.172294, 0.292379", \
            "0.333714, 0.324980, 0.319961, 0.316508, 0.454253", \
            "1.573522, 1.563797, 1.554566, 1.540634, 1.526335"
          );
        }
        cell_fall (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.009970, 0.022403, 0.029546, 0.034700, 0.068167", \
            "0.096913, 0.101219, 0.107825, 0.121609, 0.232622", \
            "0.185623, 0.187325, 0.191482, 0.202034, 0.347414", \
            "0.363642, 0.363571, 0.365553, 0.371659, 0.531408", \
            "1.789848, 1.787982, 1.786798, 1.785978, 1.851027"
          );
        }
        rise_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.027669, 0.035784, 0.054151, 0.092799, 0.482183", \
            "0.140384, 0.141035, 0.144045, 0.162603, 0.615320", \
            "0.251926, 0.252443, 0.252459, 0.260421, 0.699195", \
            "0.477068, 0.477037, 0.476614, 0.476926, 0.805486", \
            "2.279001, 2.279001, 2.279030, 2.279108, 2.294719"
          );
        }
        fall_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.026136, 0.039819, 0.039716, 0.074663, 0.449468", \
            "0.141886, 0.142241, 0.143245, 0.158332, 0.500963", \
            "0.262746, 0.262952, 0.263172, 0.266752, 0.568096", \
            "0.505553, 0.505524, 0.505320, 0.505778, 0.700928", \
            "2.453307, 2.453357, 2.453377, 2.453355, 2.454709"
          );
        }
      }
      timing () {
        related_pin: "A";
        timing_sense: negative_unate;
        cell_rise (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.023283, 0.026391, 0.030097, 0.032328, -0.001253", \
            "0.101980, 0.102170, 0.104068, 0.112129, 0.154938", \
            "0.179362, 0.178895, 0.179701, 0.184772, 0.265473", \
            "0.334131, 0.333374, 0.333035, 0.335245, 0.443256", \
            "1.573764, 1.572736, 1.571134, 1.569023, 1.603107"
          );
        }
        cell_fall (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.012521, 0.028199, 0.037706, 0.047850, 0.141476", \
            "0.101182, 0.106075, 0.113456, 0.128856, 0.286674", \
            "0.190018, 0.192261, 0.196376, 0.207802, 0.390952", \
            "0.368057, 0.368351, 0.370519, 0.377256, 0.561629", \
            "1.794406, 1.792708, 1.791509, 1.790815, 1.862031"
          );
        }
        rise_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.027862, 0.033354, 0.044936, 0.077255, 0.353604", \
            "0.140814, 0.140720, 0.141271, 0.155440, 0.462296", \
            "0.251891, 0.251950, 0.252170, 0.254649, 0.552226", \
            "0.476737, 0.476901, 0.476974, 0.476945, 0.673929", \
            "2.279056, 2.278996, 2.279039, 2.278966, 2.281603"
          );
        }
        fall_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.033370, 0.057996, 0.048428, 0.083327, 0.382049", \
            "0.151938, 0.153699, 0.154923, 0.169228, 0.507796", \
            "0.273900, 0.273102, 0.273602, 0.276988, 0.582041", \
            "0.516030, 0.516117, 0.516125, 0.516348, 0.713735", \
            "2.464090, 2.464052, 2.464047, 2.464139, 2.465296"
          );
        }
      }
    }
  }
}