/*
 * Copyright 2022 GlobalFoundries PDK Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi22_2) {
    area : 35.123200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2" ;
      value : "0.00044718" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2" ;
      value : "0.0004554" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2" ;
      value : "0.00048024" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2" ;
      value : "0.00049209" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2" ;
      value : "0.0004554" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2" ;
      value : "0.00046365" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2" ;
      value : "0.00048846" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2" ;
      value : "0.00049293" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2" ;
      value : "0.00048024" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2" ;
      value : "0.00048849" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2" ;
      value : "0.0005133" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2" ;
      value : "0.00049293" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2" ;
      value : "0.00044295" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2" ;
      value : "0.00044295" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2" ;
      value : "0.00044295" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2" ;
      value : "0.00044286" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0005133" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.00942 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 15.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.03033, 0.03034, 0.03029, 0.03021, 0.03017, 0.03016, 0.03014, \
                  0.03012, 0.03013, 0.03013");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02061, -0.02059, -0.02059, -0.02053, -0.02057, -0.0206, -0.02065, \
                  -0.02071, -0.02083, -0.02112");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.03033, 0.03033, 0.03034, 0.03026, 0.03022, 0.03018, 0.03016, \
                  0.03013, 0.03013, 0.03009");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02063, -0.02064, -0.02061, -0.02056, -0.0206, -0.02062, -0.02066, \
                  -0.02074, -0.02086, -0.02115");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.03033, 0.03033, 0.03034, 0.03025, 0.03022, 0.03018, 0.03016, \
                  0.03013, 0.03013, 0.03009");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02063, -0.02064, -0.0206, -0.02055, -0.02059, -0.02062, -0.02065, \
                  -0.02074, -0.02086, -0.02115");
        }
      }

      internal_power() {
        when : "!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.008227, 0.008225, 0.008218, 0.008231, 0.008267, 0.008273, 0.008273, \
                  0.008273, 0.00828, 0.008276");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.008263, -0.008283, -0.008289, -0.008274, -0.008304, -0.008307, \
                  -0.008308, -0.008306, -0.008307, -0.008313");
        }
      }

      internal_power() {
        when : "A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.0359, 0.03587, 0.03579, 0.03574, 0.03574, 0.03564, 0.03554, \
                  0.03536, 0.03505, 0.03432");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.008282, -0.008298, -0.008306, -0.008307, -0.008323, -0.008334, \
                  -0.008328, -0.008329, -0.008327, -0.008331");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009906 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 15.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.03028, 0.02784, 0.02704, 0.02687, 0.02683, 0.02679, 0.02676, \
                  0.02674, 0.02675, 0.02673");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02699, -0.02701, -0.02691, -0.02684, -0.02682, -0.02679, -0.02676, \
                  -0.02674, -0.02674, -0.02672");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.03025, 0.02783, 0.02708, 0.02691, 0.02685, 0.0268, 0.02677, \
                  0.02675, 0.02675, 0.0267");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02698, -0.027, -0.02696, -0.02689, -0.02686, -0.02681, -0.02678, \
                  -0.02677, -0.02676, -0.02672");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.03024, 0.02782, 0.02707, 0.0269, 0.02685, 0.0268, 0.02677, 0.02674, \
                  0.02674, 0.0267");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02698, -0.02701, -0.02697, -0.0269, -0.02685, -0.02681, -0.02678, \
                  -0.02678, -0.02675, -0.02672");
        }
      }

      internal_power() {
        when : "!A1&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.008227, 0.00824, 0.008238, 0.008243, 0.008273, 0.008277, 0.008274, \
                  0.008278, 0.008276, 0.008278");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.008264, -0.008285, -0.008266, -0.008284, -0.008303, -0.008307, \
                  -0.008311, -0.008313, -0.008314, -0.008312");
        }
      }

      internal_power() {
        when : "A1&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.0359, 0.0359, 0.03583, 0.03574, 0.03574, 0.03566, 0.03554, 0.03536, \
                  0.03506, 0.03433");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.008286, -0.0083, -0.008298, -0.008304, -0.008342, -0.008331, \
                  -0.008328, -0.008337, -0.008331, -0.00833");
        }
      }
    }

    pin(B1) {
      capacitance : 0.008926 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 15.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.03023, 0.0302, 0.03021, 0.03015, 0.03017, 0.03015, 0.03013, \
                  0.0301, 0.03013, 0.03011");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02071, -0.02067, -0.02068, -0.02069, -0.02079, -0.02082, -0.02086, \
                  -0.02095, -0.02105, -0.02137");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.03026, 0.03024, 0.0302, 0.03016, 0.03019, 0.03014, 0.03013, \
                  0.03014, 0.03013, 0.0301");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02071, -0.02065, -0.02067, -0.0207, -0.0208, -0.02082, -0.02088, \
                  -0.02095, -0.02107, -0.02138");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.03027, 0.03024, 0.0302, 0.03017, 0.03017, 0.03014, 0.03014, \
                  0.03015, 0.03013, 0.03009");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02071, -0.02065, -0.02067, -0.0207, -0.0208, -0.02081, -0.02086, \
                  -0.02094, -0.02107, -0.0214");
        }
      }

      internal_power() {
        when : "A1&A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.02682, 0.02676, 0.02671, 0.02672, 0.02677, 0.02677, 0.02678, \
                  0.02677, 0.02678, 0.02677");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02674, -0.02668, -0.0266, -0.0266, -0.0267, -0.02671, -0.02671, \
                  -0.02671, -0.02672, -0.02671");
        }
      }

      internal_power() {
        when : "A1&A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.02688, 0.02684, 0.02679, 0.0268, 0.02686, 0.02686, 0.02685, \
                  0.02688, 0.02686, 0.02686");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02214, -0.02269, -0.02387, -0.02474, -0.02529, -0.02554, -0.0257, \
                  -0.0258, -0.02589, -0.02596");
        }
      }
    }

    pin(B2) {
      capacitance : 0.009144 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 15.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.03016, 0.02772, 0.02695, 0.02682, 0.02681, 0.02677, 0.02676, \
                  0.02673, 0.02674, 0.02674");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02682, -0.02684, -0.02679, -0.02675, -0.02679, -0.02678, -0.02675, \
                  -0.02677, -0.02676, -0.02673");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.03017, 0.02772, 0.02693, 0.02683, 0.02683, 0.02678, 0.02675, \
                  0.02673, 0.02674, 0.02673");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02681, -0.02679, -0.02679, -0.02678, -0.02678, -0.02675, -0.02674, \
                  -0.02674, -0.02673, -0.02672");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.03018, 0.02772, 0.02694, 0.02683, 0.02683, 0.02677, 0.02676, \
                  0.02673, 0.02674, 0.02672");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02681, -0.02678, -0.02679, -0.02676, -0.02676, -0.02675, -0.02673, \
                  -0.02673, -0.02673, -0.02672");
        }
      }

      internal_power() {
        when : "A1&A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.02683, 0.02678, 0.02672, 0.02676, 0.02678, 0.02678, 0.02677, \
                  0.02678, 0.02677, 0.02676");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02672, -0.02667, -0.02664, -0.02664, -0.02671, -0.02671, -0.0267, \
                  -0.02671, -0.02671, -0.02672");
        }
      }

      internal_power() {
        when : "A1&A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("0.02685, 0.0269, 0.02683, 0.02683, 0.02686, 0.02688, 0.02689, \
                  0.02683, 0.02685, 0.02687");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          values("-0.02212, -0.02266, -0.02391, -0.02476, -0.02527, -0.02554, -0.0257, \
                  -0.02581, -0.02589, -0.02596");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B1))|((!A1)&(!B2))|((!A2)&(!B1))|((!A2)&(!B2)))" ;
      max_capacitance : 0.4566 ;
      max_transition : 15.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.006058, 0.006156, 0.006314, 0.006385, 0.006441, 0.006475, 0.006492, 0.006504, 0.00651, 0.006499",\
                 "0.005008, 0.005453, 0.006185, 0.006691, 0.006995, 0.007138, 0.007218, 0.007276, 0.007315, 0.007327",\
                 "0.005161, 0.005459, 0.006199, 0.006885, 0.00736, 0.007642, 0.00781, 0.007945, 0.008008, 0.008038",\
                 "0.01073, 0.01031, 0.009637, 0.0092, 0.008953, 0.008814, 0.008706, 0.008668, 0.008637, 0.008563",\
                 "0.02393, 0.02252, 0.01953, 0.01661, 0.01449, 0.01301, 0.01191, 0.01114, 0.01057, 0.01014",\
                 "0.04553, 0.04322, 0.03747, 0.03131, 0.02615, 0.02221, 0.01926, 0.01702, 0.01534, 0.014",\
                 "0.07599, 0.07287, 0.06448, 0.05452, 0.04557, 0.03826, 0.03244, 0.02792, 0.02437, 0.02153",\
                 "0.1157, 0.1118, 0.1012, 0.08735, 0.07403, 0.06263, 0.05317, 0.04552, 0.03931, 0.03413",\
                 "0.1651, 0.1607, 0.148, 0.1304, 0.1124, 0.09632, 0.08252, 0.07099, 0.06133, 0.05303",\
                 "0.2247, 0.2197, 0.2052, 0.1844, 0.1617, 0.1404, 0.1217, 0.1055, 0.09152, 0.07892");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.09406, 0.09448, 0.095, 0.09545, 0.09592, 0.09624, 0.09668, 0.09893, 0.1226, 0.2393",\
                 "0.09139, 0.09226, 0.0939, 0.09527, 0.09619, 0.09675, 0.09743, 0.1002, 0.1255, 0.2428",\
                 "0.09107, 0.09126, 0.09216, 0.09365, 0.09502, 0.09618, 0.09695, 0.1002, 0.1262, 0.2517",\
                 "0.0988, 0.09809, 0.09671, 0.09584, 0.09577, 0.09636, 0.09759, 0.1005, 0.131, 0.2709",\
                 "0.1149, 0.1132, 0.1093, 0.1055, 0.1026, 0.101, 0.1008, 0.1046, 0.1429, 0.3066",\
                 "0.1398, 0.1373, 0.1308, 0.1236, 0.1175, 0.1122, 0.1094, 0.1138, 0.1665, 0.3687",\
                 "0.174, 0.1707, 0.1619, 0.1509, 0.1413, 0.1328, 0.126, 0.1331, 0.2125, 0.4764",\
                 "0.2183, 0.2144, 0.2033, 0.189, 0.1746, 0.1626, 0.1533, 0.1716, 0.3043, 0.6473",\
                 "0.2732, 0.2686, 0.2555, 0.2379, 0.2191, 0.2018, 0.1955, 0.2527, 0.4839, 0.8947",\
                 "0.3393, 0.3341, 0.3192, 0.2982, 0.2755, 0.2554, 0.2771, 0.4463, 0.7778, 1.142");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.006145, 0.006249, 0.006419, 0.006484, 0.006531, 0.006556, 0.006572, 0.006585, 0.006593, 0.006587",\
                 "0.005377, 0.005813, 0.006539, 0.007044, 0.00731, 0.007446, 0.007544, 0.007603, 0.007637, 0.007637",\
                 "0.006058, 0.006382, 0.007145, 0.00781, 0.008268, 0.008531, 0.008702, 0.008808, 0.008869, 0.008887",\
                 "0.01109, 0.01079, 0.01036, 0.01015, 0.009997, 0.009911, 0.009828, 0.009797, 0.009722, 0.009704",\
                 "0.02243, 0.02132, 0.01894, 0.01669, 0.01498, 0.01373, 0.0128, 0.01212, 0.01163, 0.01124",\
                 "0.04131, 0.0394, 0.03453, 0.02938, 0.02515, 0.02184, 0.01929, 0.01737, 0.01591, 0.01473",\
                 "0.06835, 0.06558, 0.05832, 0.04966, 0.04214, 0.03588, 0.03094, 0.02704, 0.02397, 0.02145",\
                 "0.1038, 0.1003, 0.09077, 0.07859, 0.06705, 0.05726, 0.04916, 0.04248, 0.03707, 0.03257",\
                 "0.1481, 0.144, 0.1324, 0.1168, 0.1009, 0.08689, 0.07498, 0.06496, 0.05654, 0.04924",\
                 "0.2016, 0.197, 0.1836, 0.1646, 0.1445, 0.1258, 0.1095, 0.09549, 0.08312, 0.07204");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.09349, 0.09389, 0.09449, 0.09505, 0.0955, 0.09606, 0.09746, 0.114, 0.2135, 0.5066",\
                 "0.09073, 0.09162, 0.09337, 0.09484, 0.09571, 0.09648, 0.09838, 0.1153, 0.2163, 0.5124",\
                 "0.09008, 0.09028, 0.09138, 0.09301, 0.09454, 0.09576, 0.09763, 0.1168, 0.2233, 0.5277",\
                 "0.09706, 0.09646, 0.09517, 0.09463, 0.09505, 0.09582, 0.09805, 0.1197, 0.2375, 0.5586",\
                 "0.1116, 0.1102, 0.1066, 0.1032, 0.1008, 0.09976, 0.1013, 0.1278, 0.2649, 0.6111",\
                 "0.1341, 0.1318, 0.126, 0.1195, 0.1138, 0.1096, 0.1098, 0.1459, 0.3137, 0.6914",\
                 "0.165, 0.162, 0.1541, 0.1443, 0.1355, 0.1275, 0.1276, 0.181, 0.3963, 0.8055",\
                 "0.205, 0.2013, 0.1913, 0.1784, 0.1658, 0.1551, 0.1586, 0.249, 0.5271, 0.9493",\
                 "0.2547, 0.2504, 0.2383, 0.2224, 0.2057, 0.1931, 0.2175, 0.38, 0.7129, 1.09",\
                 "0.3146, 0.3097, 0.2957, 0.2769, 0.2566, 0.2518, 0.3468, 0.5982, 0.8983, 1.147");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.006141, 0.006248, 0.00644, 0.006499, 0.006534, 0.006555, 0.006568, 0.006572, 0.00658, 0.006567",\
                 "0.005378, 0.00582, 0.006568, 0.007056, 0.007314, 0.007471, 0.007527, 0.00759, 0.007611, 0.007619",\
                 "0.00611, 0.006392, 0.007164, 0.007831, 0.008275, 0.008536, 0.008692, 0.008785, 0.008857, 0.008879",\
                 "0.01104, 0.01078, 0.01036, 0.01016, 0.01001, 0.009907, 0.009847, 0.009793, 0.009731, 0.009686",\
                 "0.02233, 0.02126, 0.01885, 0.01663, 0.01495, 0.01371, 0.01281, 0.01212, 0.01162, 0.01123",\
                 "0.04108, 0.03921, 0.03443, 0.02934, 0.02512, 0.02184, 0.01932, 0.01737, 0.01591, 0.01474",\
                 "0.06791, 0.06528, 0.05807, 0.04959, 0.04208, 0.03591, 0.03093, 0.02702, 0.02396, 0.02145",\
                 "0.1032, 0.09982, 0.0905, 0.07844, 0.06698, 0.05723, 0.04913, 0.04248, 0.03707, 0.03256",\
                 "0.1474, 0.1434, 0.132, 0.1166, 0.1008, 0.08681, 0.07491, 0.06494, 0.05651, 0.04914",\
                 "0.2007, 0.1963, 0.1831, 0.1644, 0.1444, 0.1257, 0.1094, 0.09544, 0.08308, 0.07205");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1206, 0.1208, 0.1214, 0.1219, 0.1225, 0.1231, 0.1249, 0.1421, 0.2446, 0.5414",\
                 "0.1187, 0.1193, 0.1206, 0.1219, 0.1229, 0.1238, 0.1255, 0.1435, 0.2473, 0.5476",\
                 "0.1173, 0.1176, 0.1186, 0.1201, 0.1217, 0.1228, 0.1251, 0.1447, 0.2544, 0.5632",\
                 "0.1228, 0.1224, 0.1217, 0.1214, 0.1221, 0.1231, 0.1254, 0.1484, 0.2692, 0.594",\
                 "0.136, 0.1349, 0.1322, 0.1294, 0.1275, 0.1267, 0.1286, 0.1564, 0.2974, 0.6464",\
                 "0.1573, 0.1555, 0.1507, 0.1452, 0.14, 0.1364, 0.137, 0.1749, 0.3469, 0.7276",\
                 "0.1871, 0.1846, 0.1779, 0.1693, 0.1611, 0.1538, 0.1545, 0.2105, 0.4302, 0.841",\
                 "0.226, 0.2229, 0.2142, 0.2026, 0.1908, 0.1807, 0.186, 0.2802, 0.5618, 0.982",\
                 "0.2749, 0.2712, 0.2605, 0.2461, 0.2302, 0.2182, 0.2453, 0.4128, 0.7462, 1.118",\
                 "0.3339, 0.3296, 0.317, 0.2996, 0.2804, 0.2778, 0.3771, 0.6303, 0.9249, 1.164");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.006155, 0.006244, 0.00639, 0.006477, 0.006518, 0.006554, 0.006556, 0.006581, 0.006592, 0.006586",\
                 "0.004966, 0.005442, 0.006243, 0.006746, 0.007022, 0.007143, 0.00723, 0.007277, 0.007328, 0.007319",\
                 "0.003712, 0.004231, 0.005399, 0.006423, 0.007074, 0.007462, 0.00769, 0.007846, 0.00795, 0.007983",\
                 "0.007836, 0.007742, 0.007763, 0.007969, 0.00819, 0.00831, 0.008361, 0.008416, 0.00844, 0.008442",\
                 "0.01998, 0.01899, 0.01678, 0.0148, 0.01332, 0.01222, 0.0114, 0.0108, 0.01033, 0.009959",\
                 "0.04118, 0.03918, 0.03426, 0.02905, 0.02472, 0.02134, 0.01876, 0.01676, 0.01519, 0.01395",\
                 "0.07182, 0.06897, 0.0613, 0.05222, 0.04416, 0.03753, 0.03217, 0.02795, 0.02458, 0.02183",\
                 "0.1122, 0.1086, 0.09837, 0.08541, 0.0729, 0.06218, 0.05333, 0.04601, 0.04004, 0.03504",\
                 "0.1628, 0.1585, 0.1461, 0.1294, 0.112, 0.09645, 0.08343, 0.07226, 0.06283, 0.05491",\
                 "0.2238, 0.219, 0.2047, 0.1843, 0.1624, 0.1417, 0.1236, 0.1079, 0.09437, 0.08227");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1188, 0.1189, 0.119, 0.1193, 0.1197, 0.1202, 0.121, 0.1235, 0.148, 0.2666",\
                 "0.1163, 0.1166, 0.1171, 0.1178, 0.1184, 0.119, 0.1196, 0.1222, 0.1471, 0.2679",\
                 "0.1163, 0.1162, 0.1165, 0.1171, 0.1178, 0.1186, 0.1193, 0.1223, 0.1491, 0.2768",\
                 "0.1241, 0.1232, 0.1216, 0.1202, 0.1198, 0.12, 0.1201, 0.1235, 0.1548, 0.2962",\
                 "0.1404, 0.1389, 0.135, 0.1308, 0.1274, 0.1253, 0.1243, 0.1277, 0.1672, 0.3328",\
                 "0.1661, 0.1638, 0.1576, 0.1501, 0.1432, 0.1379, 0.1344, 0.1383, 0.1917, 0.3976",\
                 "0.2014, 0.1986, 0.1904, 0.1793, 0.1687, 0.159, 0.1523, 0.1592, 0.24, 0.5059",\
                 "0.2472, 0.2439, 0.234, 0.2198, 0.2043, 0.191, 0.1806, 0.1995, 0.335, 0.6801",\
                 "0.3039, 0.3002, 0.2888, 0.2717, 0.2519, 0.2337, 0.2257, 0.2843, 0.5181, 0.9279",\
                 "0.3721, 0.368, 0.3552, 0.3356, 0.3123, 0.2909, 0.3131, 0.4847, 0.8144, 1.17");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.00621, 0.006325, 0.006452, 0.006529, 0.006568, 0.006593, 0.006609, 0.006609, 0.006632, 0.006618",\
                 "0.005314, 0.00581, 0.006591, 0.007071, 0.007341, 0.007479, 0.007543, 0.00761, 0.007632, 0.007648",\
                 "0.004592, 0.005161, 0.006369, 0.007351, 0.007978, 0.008356, 0.008578, 0.008718, 0.008803, 0.008852",\
                 "0.008459, 0.008468, 0.008704, 0.009043, 0.009304, 0.00945, 0.009512, 0.009555, 0.009578, 0.009578",\
                 "0.01891, 0.01814, 0.01651, 0.01506, 0.01392, 0.01304, 0.01235, 0.01183, 0.01141, 0.01109",\
                 "0.03722, 0.03559, 0.03161, 0.02738, 0.0239, 0.02109, 0.01888, 0.01717, 0.01581, 0.01472",\
                 "0.06401, 0.06156, 0.05511, 0.04748, 0.04081, 0.03523, 0.03071, 0.0271, 0.02416, 0.02175",\
                 "0.09971, 0.09647, 0.08766, 0.07648, 0.06581, 0.05675, 0.04923, 0.04301, 0.03778, 0.03345",\
                 "0.1446, 0.1407, 0.1297, 0.115, 0.1001, 0.08687, 0.07554, 0.06602, 0.05794, 0.05087",\
                 "0.1989, 0.1945, 0.1816, 0.1635, 0.1443, 0.1264, 0.1106, 0.09722, 0.08553, 0.07501");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1179, 0.118, 0.1182, 0.1186, 0.119, 0.1196, 0.1213, 0.1389, 0.2405, 0.5369",\
                 "0.1154, 0.1157, 0.1163, 0.117, 0.1177, 0.1183, 0.1202, 0.1382, 0.2411, 0.5399",\
                 "0.1151, 0.1151, 0.1155, 0.1162, 0.117, 0.1177, 0.1197, 0.1388, 0.2479, 0.5555",\
                 "0.122, 0.1214, 0.1199, 0.1188, 0.1186, 0.1189, 0.1206, 0.1431, 0.2632, 0.5869",\
                 "0.1367, 0.1354, 0.132, 0.1281, 0.1253, 0.1237, 0.1247, 0.152, 0.2918, 0.6397",\
                 "0.1597, 0.1577, 0.1522, 0.1455, 0.1393, 0.1345, 0.1344, 0.1711, 0.3414, 0.7214",\
                 "0.1915, 0.1889, 0.1816, 0.1716, 0.162, 0.1536, 0.1531, 0.2078, 0.4262, 0.8358",\
                 "0.2326, 0.2295, 0.2204, 0.2076, 0.1943, 0.1824, 0.1862, 0.2791, 0.5591, 0.9785",\
                 "0.2836, 0.2801, 0.2696, 0.2542, 0.2366, 0.2228, 0.2484, 0.4143, 0.7459, 1.117",\
                 "0.3449, 0.3409, 0.3291, 0.3113, 0.2907, 0.2861, 0.3841, 0.6353, 0.927, 1.165");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.006213, 0.006315, 0.006471, 0.006541, 0.00658, 0.006595, 0.006603, 0.006612, 0.006609, 0.006604",\
                 "0.005336, 0.005813, 0.0066, 0.007093, 0.007337, 0.007452, 0.007539, 0.007591, 0.007624, 0.007624",\
                 "0.004659, 0.005182, 0.006376, 0.007364, 0.007989, 0.008355, 0.008551, 0.0087, 0.008787, 0.008833",\
                 "0.008455, 0.008476, 0.00868, 0.009048, 0.009304, 0.009455, 0.009515, 0.009542, 0.009561, 0.009557",\
                 "0.01883, 0.01808, 0.0165, 0.01505, 0.01391, 0.01304, 0.01235, 0.01182, 0.01141, 0.01107",\
                 "0.03701, 0.03545, 0.03153, 0.02735, 0.02388, 0.02105, 0.01887, 0.01714, 0.01581, 0.0147",\
                 "0.06369, 0.06131, 0.05495, 0.04745, 0.04076, 0.0352, 0.03071, 0.02709, 0.02415, 0.02175",\
                 "0.09926, 0.09609, 0.08742, 0.07636, 0.06575, 0.05672, 0.04921, 0.04294, 0.03778, 0.03344",\
                 "0.144, 0.1402, 0.1293, 0.1148, 0.1, 0.08682, 0.0755, 0.06601, 0.05793, 0.0508",\
                 "0.1982, 0.1939, 0.1812, 0.1632, 0.1442, 0.1264, 0.1107, 0.09727, 0.08558, 0.07503");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1448, 0.1449, 0.145, 0.1454, 0.1459, 0.1463, 0.1481, 0.1659, 0.2702, 0.5697",\
                 "0.1426, 0.1427, 0.1432, 0.1438, 0.1445, 0.145, 0.1467, 0.1651, 0.2704, 0.5727",\
                 "0.142, 0.1421, 0.1424, 0.143, 0.1437, 0.1445, 0.1466, 0.1662, 0.2776, 0.5886",\
                 "0.1478, 0.1473, 0.1462, 0.1455, 0.1453, 0.1456, 0.1474, 0.1706, 0.2932, 0.6202",\
                 "0.1613, 0.1603, 0.1575, 0.1541, 0.1516, 0.1503, 0.1517, 0.1797, 0.3224, 0.6738",\
                 "0.1833, 0.1816, 0.1769, 0.1709, 0.1652, 0.1608, 0.1612, 0.1993, 0.3728, 0.7551",\
                 "0.2141, 0.2119, 0.2053, 0.1965, 0.1876, 0.1795, 0.1797, 0.2368, 0.4583, 0.8693",\
                 "0.2545, 0.2517, 0.2436, 0.2316, 0.2191, 0.2077, 0.2128, 0.309, 0.5927, 1.011",\
                 "0.3047, 0.3015, 0.2919, 0.2777, 0.261, 0.2482, 0.276, 0.4457, 0.7785, 1.144",\
                 "0.3653, 0.3619, 0.3509, 0.3341, 0.3143, 0.312, 0.4141, 0.6664, 0.9527, 1.181");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.04469, 0.04471, 0.04469, 0.04475, 0.0448, 0.04479, 0.04479, 0.04479, 0.04476, 0.04471",\
                 "0.04369, 0.0437, 0.04373, 0.04377, 0.04386, 0.0439, 0.0439, 0.04386, 0.04384, 0.04382",\
                 "0.04273, 0.04275, 0.04279, 0.04285, 0.04297, 0.04305, 0.04303, 0.04307, 0.043, 0.04295",\
                 "0.04577, 0.04553, 0.04497, 0.04441, 0.04391, 0.04356, 0.04334, 0.0432, 0.04307, 0.04292",\
                 "0.05619, 0.05539, 0.0533, 0.05087, 0.04896, 0.04738, 0.04622, 0.04537, 0.04471, 0.04425",\
                 "0.07544, 0.07407, 0.06998, 0.06489, 0.06018, 0.05635, 0.05339, 0.0511, 0.04932, 0.04789",\
                 "0.1046, 0.1024, 0.09634, 0.08797, 0.0797, 0.07251, 0.06668, 0.06208, 0.05837, 0.05536",\
                 "0.1441, 0.1414, 0.133, 0.1213, 0.1089, 0.09755, 0.08788, 0.07996, 0.07349, 0.06804",\
                 "0.1944, 0.191, 0.1808, 0.1655, 0.1486, 0.1327, 0.1185, 0.1064, 0.09618, 0.08728",\
                 "0.2558, 0.252, 0.24, 0.2215, 0.2002, 0.179, 0.1597, 0.1425, 0.1275, 0.1139");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1491, 0.1495, 0.15, 0.1504, 0.1509, 0.1515, 0.152, 0.1553, 0.182, 0.3083",\
                 "0.1463, 0.1473, 0.1489, 0.1503, 0.1512, 0.152, 0.1529, 0.156, 0.1836, 0.3128",\
                 "0.1426, 0.1433, 0.1452, 0.1475, 0.1494, 0.1508, 0.152, 0.1557, 0.186, 0.3217",\
                 "0.1433, 0.1435, 0.1442, 0.1456, 0.1476, 0.1492, 0.1508, 0.1555, 0.1904, 0.3403",\
                 "0.1522, 0.1514, 0.15, 0.1494, 0.1496, 0.1501, 0.1514, 0.1571, 0.2, 0.3733",\
                 "0.1729, 0.1711, 0.1666, 0.1624, 0.1596, 0.1576, 0.1566, 0.164, 0.2213, 0.431",\
                 "0.2065, 0.2037, 0.1959, 0.1871, 0.1797, 0.1743, 0.1707, 0.1808, 0.2633, 0.5282",\
                 "0.2524, 0.2486, 0.2382, 0.2247, 0.2118, 0.2017, 0.1955, 0.2158, 0.3465, 0.6833",\
                 "0.3099, 0.3055, 0.2927, 0.2751, 0.2569, 0.2408, 0.2359, 0.2886, 0.5048, 0.9072",\
                 "0.3795, 0.3745, 0.3599, 0.3387, 0.3158, 0.2955, 0.3097, 0.4522, 0.7679, 1.148");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.0399, 0.03987, 0.03986, 0.03986, 0.03992, 0.03993, 0.03993, 0.03991, 0.03988, 0.03983",\
                 "0.03867, 0.0387, 0.0387, 0.03869, 0.03878, 0.03878, 0.03879, 0.03877, 0.03874, 0.03869",\
                 "0.03746, 0.03744, 0.0374, 0.03741, 0.03742, 0.03742, 0.03743, 0.03741, 0.03735, 0.03729",\
                 "0.04043, 0.04008, 0.03931, 0.0386, 0.03806, 0.03768, 0.03746, 0.03727, 0.03714, 0.03698",\
                 "0.05094, 0.04993, 0.04743, 0.04476, 0.04265, 0.04109, 0.03995, 0.03913, 0.03852, 0.038",\
                 "0.0704, 0.06858, 0.06382, 0.05821, 0.05328, 0.04939, 0.04653, 0.0443, 0.04264, 0.04129",\
                 "0.09964, 0.09704, 0.08975, 0.08058, 0.07186, 0.06462, 0.05885, 0.0544, 0.05091, 0.04809",\
                 "0.1392, 0.1359, 0.126, 0.1129, 0.09985, 0.08832, 0.07869, 0.07104, 0.06484, 0.05972",\
                 "0.1894, 0.1854, 0.1733, 0.1563, 0.1384, 0.1218, 0.1077, 0.09569, 0.08593, 0.07755",\
                 "0.2506, 0.2461, 0.232, 0.2113, 0.1883, 0.1663, 0.1467, 0.1298, 0.1153, 0.1021");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.135, 0.1353, 0.1358, 0.1363, 0.1366, 0.1371, 0.1386, 0.1561, 0.2587, 0.5565",\
                 "0.1322, 0.1331, 0.1349, 0.1362, 0.1371, 0.1379, 0.1394, 0.1577, 0.2618, 0.562",\
                 "0.1284, 0.1291, 0.1311, 0.1334, 0.1352, 0.1367, 0.1387, 0.1585, 0.2686, 0.5783",\
                 "0.1289, 0.1291, 0.1298, 0.1313, 0.1332, 0.1348, 0.1377, 0.1605, 0.2818, 0.6067",\
                 "0.137, 0.1364, 0.1352, 0.1346, 0.1348, 0.1358, 0.1384, 0.1662, 0.3051, 0.6529",\
                 "0.1567, 0.1549, 0.1507, 0.1468, 0.1442, 0.1423, 0.1444, 0.1804, 0.347, 0.7237",\
                 "0.1893, 0.1864, 0.179, 0.1704, 0.1637, 0.1584, 0.1594, 0.2102, 0.4174, 0.8233",\
                 "0.2343, 0.2305, 0.2202, 0.207, 0.1949, 0.1857, 0.1885, 0.2684, 0.5314, 0.9543",\
                 "0.2913, 0.2869, 0.2739, 0.2565, 0.239, 0.2251, 0.2408, 0.3778, 0.6983, 1.098",\
                 "0.3604, 0.3553, 0.3406, 0.3193, 0.2967, 0.2838, 0.3442, 0.5683, 0.8953, 1.196");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.03989, 0.03987, 0.03985, 0.03988, 0.03993, 0.03994, 0.03993, 0.0399, 0.03987, 0.03979",\
                 "0.03867, 0.03868, 0.0387, 0.03873, 0.03876, 0.0388, 0.03878, 0.03876, 0.03873, 0.03864",\
                 "0.03744, 0.03742, 0.03744, 0.03741, 0.03745, 0.03744, 0.03744, 0.0374, 0.03736, 0.03729",\
                 "0.04042, 0.04006, 0.03932, 0.03861, 0.03806, 0.03771, 0.03747, 0.03729, 0.03713, 0.03699",\
                 "0.05089, 0.04988, 0.0474, 0.04474, 0.04265, 0.04107, 0.03996, 0.03914, 0.03852, 0.038",\
                 "0.07025, 0.06848, 0.06376, 0.05818, 0.05326, 0.04941, 0.04652, 0.04432, 0.04264, 0.04129",\
                 "0.09945, 0.09689, 0.08967, 0.08051, 0.07187, 0.06456, 0.05887, 0.05444, 0.05095, 0.04808",\
                 "0.1389, 0.1356, 0.1259, 0.1129, 0.09981, 0.08833, 0.07872, 0.07106, 0.06486, 0.05975",\
                 "0.1891, 0.1851, 0.1732, 0.1562, 0.1383, 0.1218, 0.1077, 0.09572, 0.08591, 0.07749",\
                 "0.2503, 0.2458, 0.2317, 0.2111, 0.1882, 0.1662, 0.1467, 0.1299, 0.1152, 0.1022");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1625, 0.1627, 0.1631, 0.1636, 0.1642, 0.1648, 0.1666, 0.1845, 0.2899, 0.5921",\
                 "0.1607, 0.1612, 0.1625, 0.1636, 0.1646, 0.1655, 0.1674, 0.1864, 0.2928, 0.5976",\
                 "0.1567, 0.1573, 0.159, 0.1611, 0.1628, 0.1642, 0.1665, 0.1872, 0.3004, 0.6136",\
                 "0.1563, 0.1565, 0.1573, 0.1589, 0.1609, 0.1624, 0.1656, 0.1895, 0.3136, 0.6425",\
                 "0.1632, 0.1629, 0.162, 0.1617, 0.1622, 0.1632, 0.1664, 0.1954, 0.3376, 0.6886",\
                 "0.1811, 0.1798, 0.1765, 0.1733, 0.171, 0.1696, 0.1724, 0.2097, 0.3798, 0.7588",\
                 "0.2121, 0.2098, 0.2034, 0.1961, 0.19, 0.1851, 0.187, 0.2402, 0.4519, 0.8588",\
                 "0.2557, 0.2525, 0.2435, 0.2316, 0.2205, 0.2119, 0.2159, 0.2994, 0.5662, 0.9879",\
                 "0.3116, 0.3078, 0.2962, 0.2804, 0.2637, 0.251, 0.2684, 0.4104, 0.7329, 1.127",\
                 "0.3798, 0.3752, 0.3619, 0.3424, 0.3208, 0.3094, 0.3739, 0.6012, 0.9251, 1.217");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.04469, 0.0447, 0.04468, 0.04472, 0.04476, 0.04475, 0.04474, 0.04474, 0.04471, 0.04466",\
                 "0.04374, 0.04379, 0.0438, 0.04385, 0.04391, 0.04391, 0.0439, 0.04393, 0.0439, 0.04385",\
                 "0.04228, 0.04234, 0.04252, 0.04272, 0.04287, 0.04297, 0.04299, 0.04301, 0.04301, 0.04296",\
                 "0.04421, 0.0441, 0.04381, 0.04358, 0.04338, 0.04323, 0.04311, 0.04301, 0.04293, 0.04285",\
                 "0.0536, 0.05297, 0.05139, 0.04956, 0.048, 0.04678, 0.04581, 0.0451, 0.04455, 0.0441",\
                 "0.07236, 0.07109, 0.06757, 0.06321, 0.05907, 0.05571, 0.05298, 0.05089, 0.04922, 0.04783",\
                 "0.1016, 0.09964, 0.09387, 0.08626, 0.07873, 0.07207, 0.06659, 0.06217, 0.05864, 0.05572",\
                 "0.1419, 0.1391, 0.1311, 0.12, 0.1083, 0.09768, 0.08842, 0.08073, 0.07441, 0.06909",\
                 "0.1934, 0.1902, 0.18, 0.1653, 0.1491, 0.1337, 0.12, 0.1082, 0.09811, 0.08948",\
                 "0.2567, 0.2529, 0.2409, 0.2227, 0.2019, 0.1812, 0.1623, 0.1458, 0.1311, 0.118");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1733, 0.1733, 0.1735, 0.1737, 0.1741, 0.1749, 0.1757, 0.1792, 0.2068, 0.3355",\
                 "0.1711, 0.1713, 0.1718, 0.1723, 0.1728, 0.1735, 0.1745, 0.1778, 0.2066, 0.337",\
                 "0.1687, 0.169, 0.1698, 0.1708, 0.1717, 0.1727, 0.174, 0.1776, 0.2088, 0.3467",\
                 "0.1691, 0.1692, 0.1695, 0.1702, 0.1712, 0.1722, 0.1736, 0.1778, 0.2135, 0.3657",\
                 "0.1776, 0.1769, 0.1756, 0.1744, 0.1739, 0.1741, 0.1745, 0.1803, 0.2245, 0.3999",\
                 "0.1988, 0.1972, 0.1929, 0.1883, 0.1847, 0.1824, 0.181, 0.1878, 0.2459, 0.4589",\
                 "0.234, 0.2315, 0.2241, 0.2148, 0.2066, 0.2004, 0.196, 0.2063, 0.2906, 0.558",\
                 "0.282, 0.2787, 0.2688, 0.2551, 0.2413, 0.23, 0.2226, 0.2429, 0.376, 0.7157",\
                 "0.3423, 0.3384, 0.3267, 0.3095, 0.2901, 0.2724, 0.2657, 0.3194, 0.5388, 0.9405",\
                 "0.4148, 0.4106, 0.3976, 0.3773, 0.3535, 0.3316, 0.3456, 0.4901, 0.8052, 1.179");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.03989, 0.03987, 0.03986, 0.03986, 0.03992, 0.03992, 0.03989, 0.03987, 0.03986, 0.03979",\
                 "0.03873, 0.03873, 0.03872, 0.03872, 0.03878, 0.03879, 0.03879, 0.03877, 0.03872, 0.03867",\
                 "0.037, 0.03707, 0.03719, 0.03728, 0.03735, 0.03737, 0.0374, 0.03739, 0.03736, 0.03729",\
                 "0.03885, 0.03865, 0.03826, 0.03791, 0.03764, 0.0374, 0.03727, 0.03713, 0.03702, 0.0369",\
                 "0.04827, 0.04751, 0.04557, 0.04351, 0.04182, 0.04057, 0.03957, 0.03888, 0.03834, 0.0379",\
                 "0.06718, 0.06559, 0.06147, 0.05657, 0.05224, 0.04884, 0.04617, 0.04414, 0.04254, 0.04127",\
                 "0.09646, 0.09405, 0.08735, 0.07894, 0.07101, 0.06425, 0.05885, 0.05455, 0.05123, 0.04842",\
                 "0.1368, 0.1335, 0.1242, 0.1118, 0.09944, 0.08855, 0.07927, 0.07185, 0.06584, 0.06079",\
                 "0.1883, 0.1844, 0.1726, 0.1561, 0.1388, 0.1229, 0.1092, 0.09755, 0.08791, 0.07967",\
                 "0.2513, 0.2467, 0.2327, 0.2124, 0.1901, 0.1687, 0.1496, 0.1331, 0.1188, 0.1062");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1593, 0.1593, 0.1595, 0.1598, 0.1602, 0.1607, 0.1625, 0.1811, 0.2857, 0.5873",\
                 "0.157, 0.1573, 0.1578, 0.1583, 0.159, 0.1597, 0.1614, 0.1799, 0.2867, 0.5906",\
                 "0.1547, 0.155, 0.1558, 0.1569, 0.1579, 0.1587, 0.161, 0.181, 0.2935, 0.6065",\
                 "0.1549, 0.1549, 0.1553, 0.1562, 0.1572, 0.158, 0.1604, 0.1842, 0.3075, 0.6355",\
                 "0.1625, 0.1619, 0.1608, 0.1598, 0.1594, 0.1597, 0.1621, 0.1905, 0.3319, 0.6822",\
                 "0.1825, 0.1809, 0.1769, 0.1727, 0.1695, 0.1672, 0.1691, 0.206, 0.3752, 0.753",\
                 "0.2165, 0.214, 0.2069, 0.1981, 0.1905, 0.1844, 0.1852, 0.2372, 0.4478, 0.8542",\
                 "0.2636, 0.2603, 0.2507, 0.2374, 0.2242, 0.2136, 0.2167, 0.2984, 0.5642, 0.9849",\
                 "0.323, 0.3193, 0.3077, 0.2908, 0.2718, 0.2566, 0.2721, 0.4123, 0.7333, 1.126",\
                 "0.3949, 0.3907, 0.3777, 0.3576, 0.3339, 0.32, 0.3826, 0.608, 0.9289, 1.218");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.03988, 0.03988, 0.03988, 0.03988, 0.03992, 0.03992, 0.0399, 0.03988, 0.03984, 0.03977",\
                 "0.03874, 0.03875, 0.03874, 0.03876, 0.03879, 0.03882, 0.0388, 0.03878, 0.03875, 0.03866",\
                 "0.03704, 0.03708, 0.03717, 0.03727, 0.03737, 0.03739, 0.03738, 0.03739, 0.03736, 0.03729",\
                 "0.03885, 0.03864, 0.03827, 0.03792, 0.03762, 0.03742, 0.03726, 0.03714, 0.03702, 0.03689",\
                 "0.04822, 0.04745, 0.04558, 0.0435, 0.04182, 0.04056, 0.0396, 0.03889, 0.03836, 0.03791",\
                 "0.06708, 0.06549, 0.06141, 0.05657, 0.05227, 0.04884, 0.04617, 0.04416, 0.04256, 0.04128",\
                 "0.09632, 0.09391, 0.08726, 0.07888, 0.07098, 0.06427, 0.05888, 0.05459, 0.05124, 0.04845",\
                 "0.1365, 0.1333, 0.1241, 0.1117, 0.0994, 0.08851, 0.07935, 0.07191, 0.06585, 0.0608",\
                 "0.188, 0.1841, 0.1723, 0.156, 0.1387, 0.1229, 0.1091, 0.09764, 0.08786, 0.07968",\
                 "0.251, 0.2465, 0.2325, 0.2122, 0.19, 0.1686, 0.1496, 0.133, 0.1188, 0.1062");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1863, 0.1864, 0.1865, 0.1869, 0.1871, 0.1878, 0.1896, 0.2081, 0.3155, 0.6203",\
                 "0.1843, 0.1845, 0.1849, 0.1854, 0.1859, 0.1867, 0.1886, 0.2076, 0.3164, 0.6235",\
                 "0.1822, 0.1824, 0.1831, 0.1841, 0.185, 0.186, 0.1881, 0.2088, 0.3238, 0.6392",\
                 "0.1821, 0.1822, 0.1825, 0.1832, 0.1843, 0.1851, 0.1876, 0.2117, 0.3377, 0.6686",\
                 "0.1886, 0.1883, 0.1874, 0.1867, 0.1865, 0.1868, 0.1891, 0.2189, 0.3629, 0.7156",\
                 "0.2071, 0.2058, 0.2026, 0.199, 0.1961, 0.1938, 0.196, 0.2339, 0.4064, 0.7871",\
                 "0.2395, 0.2373, 0.2312, 0.2233, 0.2165, 0.2106, 0.2124, 0.2661, 0.48, 0.8878",\
                 "0.2854, 0.2824, 0.2739, 0.2616, 0.2494, 0.2395, 0.2432, 0.3279, 0.5972, 1.018",\
                 "0.3439, 0.3406, 0.3299, 0.314, 0.2964, 0.282, 0.2994, 0.4436, 0.7662, 1.156",\
                 "0.415, 0.4112, 0.399, 0.3801, 0.3577, 0.3454, 0.4118, 0.6403, 0.9583, 1.239");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1573, 0.1925, 0.315, 0.5481, 0.9112, 1.42, 2.091, 2.934, 3.967, 5.194",\
                 "0.1798, 0.2155, 0.3396, 0.5736, 0.9368, 1.447, 2.117, 2.962, 3.994, 5.218",\
                 "0.2466, 0.293, 0.4296, 0.6644, 1.028, 1.538, 2.209, 3.054, 4.085, 5.312",\
                 "0.2865, 0.3518, 0.5436, 0.8328, 1.204, 1.713, 2.382, 3.227, 4.258, 5.484",\
                 "0.2907, 0.3751, 0.6207, 0.9901, 1.453, 1.992, 2.659, 3.502, 4.531, 5.76",\
                 "0.2515, 0.3555, 0.6586, 1.107, 1.668, 2.32, 3.051, 3.894, 4.92, 6.145",\
                 "0.1696, 0.2936, 0.6526, 1.183, 1.839, 2.604, 3.462, 4.4, 5.438, 6.66",\
                 "0.0376, 0.181, 0.5967, 1.212, 1.965, 2.839, 3.821, 4.899, 6.062, 7.314",\
                 "-0.147, 0.0172, 0.4899, 1.187, 2.043, 3.027, 4.128, 5.34, 6.652, 8.052",\
                 "-0.3907, -0.2045, 0.3275, 1.109, 2.067, 3.165, 4.387, 5.73, 7.186, 8.743");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.2359, 0.2965, 0.5042, 0.8978, 1.511, 2.369, 3.496, 4.921, 6.662, 8.73",\
                 "0.2587, 0.3204, 0.5328, 0.9306, 1.544, 2.405, 3.532, 4.96, 6.7, 8.761",\
                 "0.3736, 0.4342, 0.6427, 1.041, 1.658, 2.519, 3.648, 5.073, 6.809, 8.878",\
                 "0.5505, 0.6326, 0.8781, 1.273, 1.883, 2.743, 3.874, 5.296, 7.032, 9.11",\
                 "0.7715, 0.8709, 1.173, 1.643, 2.259, 3.11, 4.235, 5.656, 7.389, 9.457",\
                 "1.042, 1.159, 1.513, 2.069, 2.783, 3.644, 4.76, 6.171, 7.901, 9.96",\
                 "1.36, 1.501, 1.909, 2.54, 3.363, 4.339, 5.467, 6.87, 8.589, 10.64",\
                 "1.729, 1.893, 2.363, 3.07, 3.99, 5.095, 6.348, 7.764, 9.47, 11.52",\
                 "2.152, 2.339, 2.874, 3.668, 4.678, 5.896, 7.295, 8.843, 10.57, 12.6",\
                 "2.629, 2.839, 3.446, 4.332, 5.435, 6.759, 8.291, 9.999, 11.86, 13.91");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1934, 0.2534, 0.4639, 0.8641, 1.487, 2.362, 3.513, 4.965, 6.738, 8.842",\
                 "0.193, 0.253, 0.4628, 0.8636, 1.486, 2.361, 3.512, 4.966, 6.74, 8.845",\
                 "0.2601, 0.3127, 0.4809, 0.8635, 1.487, 2.361, 3.515, 4.968, 6.739, 8.849",\
                 "0.3785, 0.4453, 0.6508, 0.9728, 1.503, 2.36, 3.512, 4.965, 6.734, 8.846",\
                 "0.535, 0.6154, 0.8566, 1.245, 1.748, 2.449, 3.516, 4.962, 6.732, 8.847",\
                 "0.7162, 0.8192, 1.105, 1.547, 2.134, 2.839, 3.733, 5.012, 6.734, 8.843",\
                 "0.9234, 1.045, 1.389, 1.896, 2.548, 3.351, 4.275, 5.382, 6.885, 8.856",\
                 "1.151, 1.296, 1.701, 2.283, 3.003, 3.888, 4.924, 6.086, 7.425, 9.162",\
                 "1.404, 1.572, 2.04, 2.71, 3.513, 4.468, 5.597, 6.878, 8.296, 9.88",\
                 "1.678, 1.874, 2.405, 3.167, 4.074, 5.11, 6.318, 7.706, 9.242, 10.92");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.3355, 0.4409, 0.8026, 1.492, 2.565, 4.066, 6.042, 8.529, 11.58, 15.2",\
                 "0.3348, 0.4392, 0.803, 1.49, 2.565, 4.069, 6.036, 8.54, 11.59, 15.21",\
                 "0.3624, 0.4485, 0.8001, 1.49, 2.565, 4.071, 6.046, 8.546, 11.57, 15.19",\
                 "0.49, 0.5904, 0.8864, 1.494, 2.561, 4.069, 6.052, 8.526, 11.56, 15.21",\
                 "0.6318, 0.746, 1.11, 1.672, 2.588, 4.067, 6.047, 8.542, 11.59, 15.19",\
                 "0.8054, 0.9334, 1.337, 2.004, 2.858, 4.13, 6.051, 8.537, 11.58, 15.2",\
                 "1.009, 1.154, 1.598, 2.334, 3.312, 4.49, 6.171, 8.554, 11.59, 15.21",\
                 "1.232, 1.402, 1.89, 2.68, 3.775, 5.079, 6.612, 8.734, 11.61, 15.22",\
                 "1.475, 1.671, 2.222, 3.07, 4.238, 5.688, 7.334, 9.266, 11.86, 15.25",\
                 "1.732, 1.956, 2.582, 3.502, 4.734, 6.298, 8.116, 10.12, 12.49, 15.59");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1574, 0.1924, 0.3152, 0.5484, 0.9111, 1.42, 2.091, 2.934, 3.966, 5.195",\
                 "0.1806, 0.2164, 0.3406, 0.5746, 0.9381, 1.447, 2.117, 2.963, 3.992, 5.222",\
                 "0.2495, 0.2958, 0.4318, 0.6665, 1.03, 1.54, 2.21, 3.055, 4.084, 5.314",\
                 "0.2881, 0.3536, 0.5463, 0.8352, 1.207, 1.716, 2.385, 3.229, 4.259, 5.487",\
                 "0.2827, 0.3686, 0.6179, 0.9905, 1.454, 1.994, 2.662, 3.504, 4.531, 5.759",\
                 "0.2258, 0.3335, 0.6425, 1.099, 1.665, 2.319, 3.051, 3.894, 4.92, 6.147",\
                 "0.1151, 0.2439, 0.6145, 1.158, 1.825, 2.595, 3.458, 4.397, 5.438, 6.659",\
                 "-0.0538, 0.0955, 0.5266, 1.16, 1.932, 2.818, 3.808, 4.891, 6.056, 7.311",\
                 "-0.2875, -0.1154, 0.3768, 1.098, 1.982, 2.982, 4.099, 5.32, 6.638, 8.042",\
                 "-0.5876, -0.393, 0.1622, 0.9731, 1.965, 3.091, 4.335, 5.691, 7.155, 8.723");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.293, 0.3733, 0.6524, 1.182, 2.003, 3.156, 4.672, 6.582, 8.913, 11.69",\
                 "0.3103, 0.3927, 0.678, 1.212, 2.036, 3.191, 4.707, 6.62, 8.949, 11.73",\
                 "0.4199, 0.4969, 0.7763, 1.311, 2.139, 3.297, 4.816, 6.724, 9.057, 11.84",\
                 "0.6187, 0.7146, 1.005, 1.528, 2.35, 3.504, 5.022, 6.932, 9.263, 12.04",\
                 "0.8665, 0.9811, 1.334, 1.894, 2.702, 3.846, 5.359, 7.265, 9.594, 12.37",\
                 "1.174, 1.307, 1.713, 2.367, 3.222, 4.352, 5.851, 7.751, 10.07, 12.84",\
                 "1.544, 1.698, 2.158, 2.891, 3.865, 5.04, 6.524, 8.408, 10.72, 13.48",\
                 "1.974, 2.154, 2.675, 3.485, 4.562, 5.873, 7.394, 9.257, 11.55, 14.3",\
                 "2.471, 2.675, 3.263, 4.153, 5.325, 6.762, 8.427, 10.32, 12.6, 15.33",\
                 "3.033, 3.264, 3.925, 4.909, 6.169, 7.718, 9.535, 11.57, 13.87, 16.58");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1934, 0.2534, 0.4631, 0.8644, 1.485, 2.361, 3.512, 4.966, 6.736, 8.849",\
                 "0.1931, 0.2528, 0.4629, 0.8644, 1.487, 2.361, 3.513, 4.961, 6.738, 8.85",\
                 "0.2578, 0.311, 0.4799, 0.8638, 1.487, 2.36, 3.514, 4.966, 6.736, 8.843",\
                 "0.3764, 0.4444, 0.649, 0.9708, 1.502, 2.361, 3.513, 4.963, 6.733, 8.847",\
                 "0.5322, 0.6148, 0.8578, 1.245, 1.748, 2.449, 3.516, 4.962, 6.732, 8.847",\
                 "0.7166, 0.8192, 1.11, 1.552, 2.137, 2.84, 3.734, 5.013, 6.733, 8.843",\
                 "0.926, 1.051, 1.4, 1.907, 2.56, 3.357, 4.278, 5.382, 6.883, 8.865",\
                 "1.162, 1.309, 1.718, 2.304, 3.024, 3.905, 4.932, 6.093, 7.424, 9.168",\
                 "1.422, 1.595, 2.069, 2.746, 3.551, 4.502, 5.624, 6.894, 8.3, 9.89",\
                 "1.703, 1.905, 2.444, 3.214, 4.118, 5.16, 6.36, 7.746, 9.264, 10.94");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.4619, 0.604, 1.091, 2.012, 3.444, 5.453, 8.097, 11.41, 15.47, 20.34",\
                 "0.4578, 0.6021, 1.092, 2.014, 3.442, 5.446, 8.096, 11.42, 15.48, 20.34",\
                 "0.4585, 0.5908, 1.088, 2.014, 3.448, 5.453, 8.097, 11.43, 15.47, 20.33",\
                 "0.579, 0.7086, 1.117, 2.009, 3.443, 5.456, 8.1, 11.43, 15.48, 20.33",\
                 "0.712, 0.8604, 1.322, 2.092, 3.448, 5.455, 8.09, 11.42, 15.47, 20.34",\
                 "0.8818, 1.036, 1.547, 2.391, 3.578, 5.461, 8.088, 11.42, 15.49, 20.33",\
                 "1.083, 1.252, 1.791, 2.727, 3.962, 5.635, 8.111, 11.41, 15.48, 20.3",\
                 "1.318, 1.5, 2.076, 3.067, 4.443, 6.109, 8.34, 11.44, 15.49, 20.31",\
                 "1.57, 1.781, 2.401, 3.434, 4.908, 6.732, 8.874, 11.72, 15.53, 20.32",\
                 "1.836, 2.08, 2.764, 3.854, 5.39, 7.356, 9.648, 12.32, 15.84, 20.39");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1617, 0.1972, 0.3207, 0.5553, 0.9203, 1.432, 2.104, 2.95, 3.98, 5.207",\
                 "0.1852, 0.2213, 0.3458, 0.5814, 0.947, 1.459, 2.131, 2.977, 4.007, 5.234",\
                 "0.2562, 0.302, 0.4376, 0.6736, 1.039, 1.552, 2.224, 3.07, 4.1, 5.327",\
                 "0.2994, 0.3639, 0.5553, 0.8439, 1.216, 1.727, 2.4, 3.245, 4.274, 5.501",\
                 "0.3003, 0.3848, 0.6317, 1.003, 1.467, 2.006, 2.676, 3.52, 4.548, 5.775",\
                 "0.2529, 0.3587, 0.6635, 1.117, 1.682, 2.336, 3.066, 3.911, 4.937, 6.161",\
                 "0.1551, 0.2796, 0.6444, 1.184, 1.848, 2.618, 3.477, 4.416, 5.456, 6.676",\
                 "0.0045, 0.1471, 0.5685, 1.195, 1.962, 2.844, 3.832, 4.912, 6.074, 7.329",\
                 "-0.2049, -0.0433, 0.433, 1.147, 2.019, 3.017, 4.127, 5.346, 6.66, 8.062",\
                 "-0.4754, -0.2964, 0.2349, 1.031, 2.011, 3.128, 4.366, 5.719, 7.181, 8.745");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.407, 0.4882, 0.7691, 1.299, 2.123, 3.274, 4.791, 6.701, 9.032, 11.81",\
                 "0.4284, 0.5113, 0.796, 1.33, 2.156, 3.31, 4.828, 6.736, 9.068, 11.85",\
                 "0.5312, 0.6118, 0.8947, 1.43, 2.259, 3.414, 4.934, 6.847, 9.177, 11.96",\
                 "0.754, 0.8412, 1.119, 1.645, 2.468, 3.623, 5.14, 7.05, 9.381, 12.16",\
                 "1.029, 1.134, 1.467, 2.01, 2.82, 3.966, 5.476, 7.383, 9.712, 12.49",\
                 "1.363, 1.483, 1.867, 2.499, 3.339, 4.469, 5.968, 7.869, 10.19, 12.96",\
                 "1.762, 1.9, 2.33, 3.041, 3.994, 5.157, 6.641, 8.524, 10.84, 13.6",\
                 "2.228, 2.384, 2.866, 3.648, 4.705, 5.998, 7.51, 9.377, 11.67, 14.42",\
                 "2.758, 2.937, 3.477, 4.333, 5.48, 6.899, 8.55, 10.44, 12.71, 15.45",\
                 "3.359, 3.559, 4.162, 5.101, 6.337, 7.87, 9.667, 11.69, 13.98, 16.69");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.2612, 0.3246, 0.5385, 0.9397, 1.563, 2.438, 3.588, 5.039, 6.806, 8.913",\
                 "0.2612, 0.3247, 0.5384, 0.9398, 1.563, 2.438, 3.588, 5.04, 6.809, 8.916",\
                 "0.3395, 0.3866, 0.5558, 0.9397, 1.563, 2.437, 3.588, 5.036, 6.808, 8.912",\
                 "0.4951, 0.5533, 0.7396, 1.048, 1.579, 2.438, 3.588, 5.041, 6.81, 8.913",\
                 "0.695, 0.761, 0.9746, 1.338, 1.826, 2.528, 3.595, 5.04, 6.809, 8.919",\
                 "0.931, 1.009, 1.256, 1.667, 2.23, 2.919, 3.811, 5.092, 6.812, 8.918",\
                 "1.196, 1.289, 1.579, 2.043, 2.669, 3.449, 4.358, 5.461, 6.964, 8.942",\
                 "1.49, 1.6, 1.937, 2.466, 3.153, 4.016, 5.025, 6.174, 7.502, 9.236",\
                 "1.814, 1.94, 2.325, 2.934, 3.697, 4.622, 5.729, 6.986, 8.384, 9.964",\
                 "2.164, 2.306, 2.743, 3.433, 4.288, 5.294, 6.476, 7.842, 9.356, 11.02");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.6019, 0.7429, 1.229, 2.152, 3.586, 5.591, 8.227, 11.55, 15.61, 20.43",\
                 "0.6007, 0.742, 1.23, 2.152, 3.585, 5.589, 8.23, 11.55, 15.61, 20.45",\
                 "0.5899, 0.734, 1.228, 2.152, 3.584, 5.59, 8.231, 11.56, 15.61, 20.44",\
                 "0.6908, 0.808, 1.237, 2.15, 3.584, 5.592, 8.228, 11.55, 15.61, 20.44",\
                 "0.8356, 0.9788, 1.426, 2.207, 3.583, 5.592, 8.233, 11.55, 15.61, 20.44",\
                 "1.004, 1.16, 1.666, 2.489, 3.69, 5.594, 8.23, 11.56, 15.61, 20.44",\
                 "1.207, 1.375, 1.916, 2.839, 4.06, 5.753, 8.241, 11.55, 15.62, 20.46",\
                 "1.445, 1.627, 2.2, 3.188, 4.547, 6.206, 8.446, 11.58, 15.61, 20.45",\
                 "1.712, 1.913, 2.526, 3.558, 5.028, 6.836, 8.972, 11.83, 15.65, 20.45",\
                 "2.004, 2.224, 2.896, 3.974, 5.512, 7.478, 9.738, 12.43, 15.95, 20.5");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1617, 0.1972, 0.3207, 0.5553, 0.9203, 1.432, 2.104, 2.95, 3.98, 5.207",\
                 "0.1852, 0.2213, 0.3458, 0.5814, 0.947, 1.459, 2.131, 2.977, 4.007, 5.234",\
                 "0.2562, 0.302, 0.4376, 0.6736, 1.039, 1.552, 2.224, 3.07, 4.1, 5.327",\
                 "0.2994, 0.3639, 0.5553, 0.8439, 1.216, 1.727, 2.4, 3.245, 4.274, 5.501",\
                 "0.3003, 0.3848, 0.6317, 1.003, 1.467, 2.006, 2.676, 3.52, 4.548, 5.775",\
                 "0.2529, 0.3587, 0.6635, 1.117, 1.682, 2.336, 3.066, 3.911, 4.937, 6.161",\
                 "0.1551, 0.2796, 0.6444, 1.184, 1.848, 2.618, 3.477, 4.416, 5.456, 6.676",\
                 "0.0045, 0.1471, 0.5685, 1.195, 1.962, 2.844, 3.832, 4.912, 6.074, 7.329",\
                 "-0.2049, -0.0433, 0.433, 1.147, 2.019, 3.017, 4.127, 5.346, 6.66, 8.062",\
                 "-0.4754, -0.2964, 0.2349, 1.031, 2.011, 3.128, 4.366, 5.719, 7.181, 8.745");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.407, 0.4882, 0.7691, 1.299, 2.123, 3.274, 4.791, 6.701, 9.032, 11.81",\
                 "0.4284, 0.5113, 0.796, 1.33, 2.156, 3.31, 4.828, 6.736, 9.068, 11.85",\
                 "0.5312, 0.6118, 0.8947, 1.43, 2.259, 3.414, 4.934, 6.847, 9.177, 11.96",\
                 "0.754, 0.8412, 1.119, 1.645, 2.468, 3.623, 5.14, 7.05, 9.381, 12.16",\
                 "1.029, 1.134, 1.467, 2.01, 2.82, 3.966, 5.476, 7.383, 9.712, 12.49",\
                 "1.363, 1.483, 1.867, 2.499, 3.339, 4.469, 5.968, 7.869, 10.19, 12.96",\
                 "1.762, 1.9, 2.33, 3.041, 3.994, 5.157, 6.641, 8.524, 10.84, 13.6",\
                 "2.228, 2.384, 2.866, 3.648, 4.705, 5.998, 7.51, 9.377, 11.67, 14.42",\
                 "2.758, 2.937, 3.477, 4.333, 5.48, 6.899, 8.55, 10.44, 12.71, 15.45",\
                 "3.359, 3.559, 4.162, 5.101, 6.337, 7.87, 9.667, 11.69, 13.98, 16.69");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.2612, 0.3246, 0.5385, 0.9397, 1.563, 2.438, 3.588, 5.039, 6.806, 8.913",\
                 "0.2612, 0.3247, 0.5384, 0.9398, 1.563, 2.438, 3.588, 5.04, 6.809, 8.916",\
                 "0.3395, 0.3866, 0.5558, 0.9397, 1.563, 2.437, 3.588, 5.036, 6.808, 8.912",\
                 "0.4951, 0.5533, 0.7396, 1.048, 1.579, 2.438, 3.588, 5.041, 6.81, 8.913",\
                 "0.695, 0.761, 0.9746, 1.338, 1.826, 2.528, 3.595, 5.04, 6.809, 8.919",\
                 "0.931, 1.009, 1.256, 1.667, 2.23, 2.919, 3.811, 5.092, 6.812, 8.918",\
                 "1.196, 1.289, 1.579, 2.043, 2.669, 3.449, 4.358, 5.461, 6.964, 8.942",\
                 "1.49, 1.6, 1.937, 2.466, 3.153, 4.016, 5.025, 6.174, 7.502, 9.236",\
                 "1.814, 1.94, 2.325, 2.934, 3.697, 4.622, 5.729, 6.986, 8.384, 9.964",\
                 "2.164, 2.306, 2.743, 3.433, 4.288, 5.294, 6.476, 7.842, 9.356, 11.02");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.6019, 0.7429, 1.229, 2.152, 3.586, 5.591, 8.227, 11.55, 15.61, 20.43",\
                 "0.6007, 0.742, 1.23, 2.152, 3.585, 5.589, 8.23, 11.55, 15.61, 20.45",\
                 "0.5899, 0.734, 1.228, 2.152, 3.584, 5.59, 8.231, 11.56, 15.61, 20.44",\
                 "0.6908, 0.808, 1.237, 2.15, 3.584, 5.592, 8.228, 11.55, 15.61, 20.44",\
                 "0.8356, 0.9788, 1.426, 2.207, 3.583, 5.592, 8.233, 11.55, 15.61, 20.44",\
                 "1.004, 1.16, 1.666, 2.489, 3.69, 5.594, 8.23, 11.56, 15.61, 20.44",\
                 "1.207, 1.375, 1.916, 2.839, 4.06, 5.753, 8.241, 11.55, 15.62, 20.46",\
                 "1.445, 1.627, 2.2, 3.188, 4.547, 6.206, 8.446, 11.58, 15.61, 20.45",\
                 "1.712, 1.913, 2.526, 3.558, 5.028, 6.836, 8.972, 11.83, 15.65, 20.45",\
                 "2.004, 2.224, 2.896, 3.974, 5.512, 7.478, 9.738, 12.43, 15.95, 20.5");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1823, 0.2175, 0.34, 0.573, 0.9362, 1.445, 2.116, 2.958, 3.99, 5.222",\
                 "0.2052, 0.2413, 0.3651, 0.5994, 0.9632, 1.472, 2.143, 2.988, 4.018, 5.247",\
                 "0.2485, 0.2909, 0.4247, 0.6605, 1.025, 1.535, 2.206, 3.05, 4.083, 5.312",\
                 "0.2706, 0.3264, 0.4942, 0.7648, 1.139, 1.649, 2.319, 3.164, 4.195, 5.426",\
                 "0.2522, 0.3257, 0.5388, 0.8622, 1.29, 1.828, 2.499, 3.342, 4.372, 5.602",\
                 "0.1834, 0.2749, 0.5411, 0.932, 1.425, 2.027, 2.746, 3.597, 4.626, 5.852",\
                 "0.0607, 0.1709, 0.49, 0.957, 1.53, 2.204, 2.995, 3.912, 4.963, 6.188",\
                 "-0.1194, 0.0083, 0.3794, 0.9259, 1.589, 2.352, 3.222, 4.216, 5.343, 6.611",\
                 "-0.3638, -0.2159, 0.2091, 0.8339, 1.591, 2.454, 3.417, 4.496, 5.705, 7.056",\
                 "-0.6746, -0.5074, -0.0278, 0.6721, 1.529, 2.498, 3.567, 4.743, 6.042, 7.481");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.3102, 0.3701, 0.5779, 0.972, 1.585, 2.442, 3.57, 4.99, 6.726, 8.795",\
                 "0.3331, 0.3937, 0.6034, 0.9989, 1.611, 2.47, 3.598, 5.02, 6.756, 8.822",\
                 "0.4508, 0.5099, 0.718, 1.113, 1.726, 2.586, 3.714, 5.134, 6.869, 8.937",\
                 "0.6624, 0.7355, 0.9605, 1.35, 1.958, 2.815, 3.941, 5.362, 7.095, 9.165",\
                 "0.9195, 1.008, 1.286, 1.731, 2.337, 3.185, 4.307, 5.722, 7.455, 9.521",\
                 "1.235, 1.337, 1.659, 2.184, 2.873, 3.724, 4.835, 6.243, 7.972, 10.03",\
                 "1.613, 1.732, 2.096, 2.687, 3.479, 4.431, 5.548, 6.944, 8.659, 10.71",\
                 "2.057, 2.192, 2.604, 3.26, 4.138, 5.213, 6.441, 7.846, 9.55, 11.59",\
                 "2.566, 2.72, 3.185, 3.909, 4.866, 6.046, 7.416, 8.939, 10.65, 12.68",\
                 "3.145, 3.32, 3.838, 4.639, 5.676, 6.948, 8.444, 10.12, 11.96, 14");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1932, 0.253, 0.4634, 0.8647, 1.487, 2.361, 3.513, 4.964, 6.732, 8.855",\
                 "0.1932, 0.2536, 0.4632, 0.8634, 1.487, 2.362, 3.513, 4.966, 6.738, 8.847",\
                 "0.2385, 0.2923, 0.477, 0.8629, 1.486, 2.361, 3.514, 4.964, 6.742, 8.853",\
                 "0.3397, 0.3968, 0.5888, 0.9404, 1.503, 2.361, 3.512, 4.963, 6.739, 8.853",\
                 "0.491, 0.5534, 0.7526, 1.117, 1.667, 2.435, 3.525, 4.962, 6.734, 8.84",\
                 "0.6732, 0.7476, 0.975, 1.351, 1.915, 2.685, 3.682, 5.015, 6.732, 8.835",\
                 "0.8786, 0.968, 1.236, 1.652, 2.226, 3.011, 4.025, 5.276, 6.872, 8.881",\
                 "1.108, 1.211, 1.524, 1.997, 2.61, 3.405, 4.439, 5.712, 7.237, 9.111",\
                 "1.355, 1.479, 1.843, 2.38, 3.054, 3.882, 4.926, 6.22, 7.774, 9.588",\
                 "1.619, 1.763, 2.183, 2.786, 3.54, 4.422, 5.494, 6.798, 8.372, 10.23");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.439, 0.5419, 0.9047, 1.594, 2.666, 4.166, 6.142, 8.625, 11.66, 15.29",\
                 "0.4379, 0.5415, 0.9044, 1.593, 2.665, 4.166, 6.142, 8.626, 11.67, 15.28",\
                 "0.4432, 0.5414, 0.904, 1.593, 2.665, 4.17, 6.143, 8.626, 11.66, 15.29",\
                 "0.5726, 0.6662, 0.9608, 1.595, 2.665, 4.168, 6.144, 8.633, 11.67, 15.28",\
                 "0.7162, 0.8318, 1.184, 1.744, 2.683, 4.166, 6.145, 8.631, 11.67, 15.29",\
                 "0.8808, 1.009, 1.416, 2.072, 2.928, 4.221, 6.142, 8.632, 11.67, 15.29",\
                 "1.071, 1.214, 1.658, 2.403, 3.374, 4.558, 6.25, 8.639, 11.67, 15.29",\
                 "1.29, 1.447, 1.93, 2.737, 3.832, 5.132, 6.68, 8.808, 11.69, 15.29",\
                 "1.524, 1.709, 2.239, 3.098, 4.284, 5.738, 7.382, 9.332, 11.93, 15.33",\
                 "1.782, 1.986, 2.584, 3.496, 4.752, 6.334, 8.154, 10.16, 12.55, 15.65");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1825, 0.2177, 0.3401, 0.5732, 0.9358, 1.445, 2.115, 2.959, 3.989, 5.218",\
                 "0.206, 0.2422, 0.3664, 0.6002, 0.9638, 1.473, 2.142, 2.987, 4.019, 5.246",\
                 "0.251, 0.2934, 0.427, 0.6629, 1.027, 1.538, 2.208, 3.053, 4.081, 5.312",\
                 "0.2732, 0.3292, 0.4969, 0.7676, 1.142, 1.652, 2.322, 3.166, 4.196, 5.427",\
                 "0.2483, 0.3227, 0.5378, 0.8632, 1.292, 1.83, 2.501, 3.345, 4.373, 5.601",\
                 "0.1642, 0.2585, 0.5294, 0.9257, 1.422, 2.026, 2.746, 3.598, 4.627, 5.855",\
                 "0.0178, 0.1316, 0.4591, 0.9365, 1.518, 2.197, 2.991, 3.909, 4.961, 6.187",\
                 "-0.1966, -0.0629, 0.3223, 0.8832, 1.56, 2.333, 3.21, 4.208, 5.337, 6.606",\
                 "-0.4835, -0.3292, 0.1141, 0.7574, 1.537, 2.415, 3.389, 4.475, 5.691, 7.046",\
                 "-0.8466, -0.6727, -0.1714, 0.5565, 1.439, 2.431, 3.519, 4.706, 6.015, 7.461");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.3945, 0.4746, 0.7536, 1.283, 2.106, 3.256, 4.772, 6.681, 9.01, 11.79",\
                 "0.4122, 0.4932, 0.7746, 1.306, 2.129, 3.281, 4.797, 6.706, 9.035, 11.81",\
                 "0.5213, 0.6002, 0.8796, 1.41, 2.234, 3.387, 4.904, 6.812, 9.144, 11.92",\
                 "0.7506, 0.8367, 1.111, 1.632, 2.451, 3.601, 5.116, 7.023, 9.352, 12.13",\
                 "1.037, 1.14, 1.468, 2.004, 2.809, 3.949, 5.456, 7.359, 9.687, 12.46",\
                 "1.389, 1.506, 1.881, 2.503, 3.336, 4.461, 5.955, 7.849, 10.17, 12.94",\
                 "1.815, 1.947, 2.365, 3.06, 4.001, 5.157, 6.634, 8.511, 10.82, 13.58",\
                 "2.318, 2.468, 2.932, 3.691, 4.73, 6.01, 7.512, 9.371, 11.66, 14.41",\
                 "2.901, 3.07, 3.584, 4.411, 5.532, 6.931, 8.567, 10.45, 12.71, 15.44",\
                 "3.566, 3.754, 4.326, 5.224, 6.427, 7.929, 9.705, 11.71, 13.99, 16.7");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.1933, 0.253, 0.4633, 0.8642, 1.485, 2.361, 3.512, 4.964, 6.736, 8.847",\
                 "0.1931, 0.2529, 0.4635, 0.8627, 1.487, 2.36, 3.513, 4.964, 6.737, 8.848",\
                 "0.2373, 0.2917, 0.4764, 0.8628, 1.487, 2.361, 3.514, 4.965, 6.735, 8.844",\
                 "0.3372, 0.395, 0.5876, 0.9388, 1.504, 2.361, 3.512, 4.964, 6.736, 8.849",\
                 "0.4862, 0.5504, 0.7516, 1.117, 1.666, 2.434, 3.524, 4.962, 6.73, 8.846",\
                 "0.668, 0.7446, 0.9764, 1.353, 1.916, 2.686, 3.682, 5.016, 6.736, 8.842",\
                 "0.8772, 0.9666, 1.239, 1.657, 2.231, 3.015, 4.027, 5.275, 6.872, 8.883",\
                 "1.112, 1.219, 1.533, 2.008, 2.625, 3.418, 4.451, 5.719, 7.24, 9.111",\
                 "1.366, 1.491, 1.857, 2.395, 3.072, 3.903, 4.935, 6.231, 7.78, 9.592",\
                 "1.629, 1.781, 2.205, 2.819, 3.569, 4.458, 5.518, 6.816, 8.392, 10.25");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.6026, 0.7433, 1.23, 2.152, 3.585, 5.59, 8.226, 11.55, 15.61, 20.42",\
                 "0.6002, 0.7415, 1.231, 2.153, 3.585, 5.59, 8.225, 11.55, 15.6, 20.44",\
                 "0.5902, 0.7343, 1.229, 2.152, 3.585, 5.589, 8.225, 11.55, 15.6, 20.44",\
                 "0.6928, 0.8122, 1.239, 2.15, 3.584, 5.592, 8.229, 11.55, 15.61, 20.43",\
                 "0.8334, 0.9778, 1.426, 2.207, 3.582, 5.59, 8.232, 11.55, 15.6, 20.43",\
                 "0.9872, 1.148, 1.658, 2.485, 3.692, 5.595, 8.228, 11.55, 15.61, 20.44",\
                 "1.173, 1.342, 1.893, 2.832, 4.055, 5.752, 8.242, 11.55, 15.61, 20.45",\
                 "1.385, 1.569, 2.155, 3.159, 4.529, 6.197, 8.446, 11.57, 15.61, 20.44",\
                 "1.624, 1.825, 2.451, 3.506, 4.992, 6.814, 8.962, 11.83, 15.64, 20.44",\
                 "1.888, 2.112, 2.784, 3.884, 5.452, 7.432, 9.71, 12.42, 15.94, 20.49");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.187, 0.2225, 0.3454, 0.58, 0.9449, 1.457, 2.129, 2.974, 4.004, 5.232",\
                 "0.2107, 0.2468, 0.3716, 0.6071, 0.9724, 1.485, 2.157, 3.002, 4.033, 5.26",\
                 "0.2571, 0.2992, 0.4328, 0.6698, 1.036, 1.549, 2.222, 3.067, 4.098, 5.325",\
                 "0.2823, 0.3374, 0.5046, 0.7758, 1.151, 1.664, 2.336, 3.182, 4.212, 5.439",\
                 "0.2621, 0.3354, 0.5487, 0.8736, 1.303, 1.843, 2.516, 3.361, 4.391, 5.618",\
                 "0.1854, 0.2782, 0.5454, 0.9397, 1.436, 2.041, 2.763, 3.615, 4.644, 5.87",\
                 "0.0496, 0.1598, 0.4825, 0.9558, 1.535, 2.216, 3.009, 3.928, 4.979, 6.205",\
                 "-0.151, -0.0225, 0.3538, 0.91, 1.584, 2.355, 3.231, 4.227, 5.356, 6.625",\
                 "-0.4198, -0.2735, 0.1574, 0.7929, 1.567, 2.442, 3.413, 4.497, 5.711, 7.065",\
                 "-0.76, -0.5969, -0.1137, 0.6015, 1.476, 2.463, 3.545, 4.73, 6.037, 7.481");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.5098, 0.5903, 0.8702, 1.4, 2.223, 3.374, 4.89, 6.798, 9.125, 11.9",\
                 "0.5291, 0.6103, 0.8918, 1.423, 2.247, 3.399, 4.914, 6.823, 9.153, 11.93",\
                 "0.6358, 0.7162, 0.9966, 1.528, 2.353, 3.505, 5.021, 6.929, 9.26, 12.04",\
                 "0.873, 0.953, 1.225, 1.749, 2.567, 3.719, 5.233, 7.139, 9.469, 12.24",\
                 "1.184, 1.28, 1.593, 2.118, 2.924, 4.066, 5.575, 7.476, 9.802, 12.58",\
                 "1.556, 1.667, 2.026, 2.629, 3.45, 4.575, 6.07, 7.966, 10.28, 13.05",\
                 "2.004, 2.127, 2.526, 3.202, 4.126, 5.27, 6.747, 8.628, 10.93, 13.69",\
                 "2.532, 2.667, 3.108, 3.847, 4.869, 6.129, 7.626, 9.485, 11.77, 14.52",\
                 "3.141, 3.294, 3.777, 4.58, 5.682, 7.065, 8.686, 10.56, 12.83, 15.55",\
                 "3.833, 4.004, 4.536, 5.406, 6.586, 8.073, 9.833, 11.83, 14.11, 16.81");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.2613, 0.3247, 0.5386, 0.9397, 1.563, 2.438, 3.588, 5.04, 6.809, 8.919",\
                 "0.2614, 0.3247, 0.5385, 0.9398, 1.565, 2.437, 3.588, 5.039, 6.806, 8.916",\
                 "0.3141, 0.3662, 0.5521, 0.9397, 1.564, 2.438, 3.588, 5.041, 6.81, 8.918",\
                 "0.4368, 0.4889, 0.672, 1.016, 1.581, 2.438, 3.589, 5.041, 6.809, 8.915",\
                 "0.6184, 0.6704, 0.8522, 1.204, 1.745, 2.511, 3.6, 5.04, 6.809, 8.919",\
                 "0.8398, 0.8994, 1.097, 1.452, 2.004, 2.766, 3.76, 5.094, 6.815, 8.92",\
                 "1.092, 1.162, 1.388, 1.773, 2.331, 3.104, 4.109, 5.354, 6.946, 8.949",\
                 "1.375, 1.454, 1.713, 2.144, 2.733, 3.513, 4.533, 5.799, 7.315, 9.195",\
                 "1.68, 1.773, 2.07, 2.557, 3.198, 4.006, 5.034, 6.325, 7.862, 9.672",\
                 "1.999, 2.11, 2.451, 2.999, 3.712, 4.57, 5.62, 6.91, 8.48, 10.32");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.7383, 0.879, 1.368, 2.29, 3.725, 5.73, 8.365, 11.69, 15.74, 20.56",\
                 "0.7376, 0.8793, 1.367, 2.291, 3.725, 5.729, 8.368, 11.69, 15.74, 20.57",\
                 "0.7307, 0.8749, 1.366, 2.291, 3.725, 5.73, 8.367, 11.69, 15.74, 20.58",\
                 "0.7922, 0.9134, 1.365, 2.289, 3.724, 5.733, 8.369, 11.69, 15.74, 20.57",\
                 "0.9566, 1.093, 1.524, 2.326, 3.721, 5.731, 8.371, 11.69, 15.75, 20.57",\
                 "1.119, 1.276, 1.774, 2.584, 3.807, 5.732, 8.368, 11.69, 15.74, 20.58",\
                 "1.306, 1.477, 2.023, 2.94, 4.157, 5.869, 8.377, 11.69, 15.75, 20.58",\
                 "1.527, 1.708, 2.289, 3.286, 4.637, 6.296, 8.562, 11.71, 15.75, 20.58",\
                 "1.773, 1.97, 2.588, 3.638, 5.112, 6.914, 9.068, 11.94, 15.78, 20.58",\
                 "2.052, 2.262, 2.922, 4.02, 5.58, 7.556, 9.806, 12.52, 16.06, 20.63");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.187, 0.2225, 0.3454, 0.58, 0.9449, 1.457, 2.129, 2.974, 4.004, 5.232",\
                 "0.2107, 0.2468, 0.3716, 0.6071, 0.9724, 1.485, 2.157, 3.002, 4.033, 5.26",\
                 "0.2571, 0.2992, 0.4328, 0.6698, 1.036, 1.549, 2.222, 3.067, 4.098, 5.325",\
                 "0.2823, 0.3374, 0.5046, 0.7758, 1.151, 1.664, 2.336, 3.182, 4.212, 5.439",\
                 "0.2621, 0.3354, 0.5487, 0.8736, 1.303, 1.843, 2.516, 3.361, 4.391, 5.618",\
                 "0.1854, 0.2782, 0.5454, 0.9397, 1.436, 2.041, 2.763, 3.615, 4.644, 5.87",\
                 "0.0496, 0.1598, 0.4825, 0.9558, 1.535, 2.216, 3.009, 3.928, 4.979, 6.205",\
                 "-0.151, -0.0225, 0.3538, 0.91, 1.584, 2.355, 3.231, 4.227, 5.356, 6.625",\
                 "-0.4198, -0.2735, 0.1574, 0.7929, 1.567, 2.442, 3.413, 4.497, 5.711, 7.065",\
                 "-0.76, -0.5969, -0.1137, 0.6015, 1.476, 2.463, 3.545, 4.73, 6.037, 7.481");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.5098, 0.5903, 0.8702, 1.4, 2.223, 3.374, 4.89, 6.798, 9.125, 11.9",\
                 "0.5291, 0.6103, 0.8918, 1.423, 2.247, 3.399, 4.914, 6.823, 9.153, 11.93",\
                 "0.6358, 0.7162, 0.9966, 1.528, 2.353, 3.505, 5.021, 6.929, 9.26, 12.04",\
                 "0.873, 0.953, 1.225, 1.749, 2.567, 3.719, 5.233, 7.139, 9.469, 12.24",\
                 "1.184, 1.28, 1.593, 2.118, 2.924, 4.066, 5.575, 7.476, 9.802, 12.58",\
                 "1.556, 1.667, 2.026, 2.629, 3.45, 4.575, 6.07, 7.966, 10.28, 13.05",\
                 "2.004, 2.127, 2.526, 3.202, 4.126, 5.27, 6.747, 8.628, 10.93, 13.69",\
                 "2.532, 2.667, 3.108, 3.847, 4.869, 6.129, 7.626, 9.485, 11.77, 14.52",\
                 "3.141, 3.294, 3.777, 4.58, 5.682, 7.065, 8.686, 10.56, 12.83, 15.55",\
                 "3.833, 4.004, 4.536, 5.406, 6.586, 8.073, 9.833, 11.83, 14.11, 16.81");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.2613, 0.3247, 0.5386, 0.9397, 1.563, 2.438, 3.588, 5.04, 6.809, 8.919",\
                 "0.2614, 0.3247, 0.5385, 0.9398, 1.565, 2.437, 3.588, 5.039, 6.806, 8.916",\
                 "0.3141, 0.3662, 0.5521, 0.9397, 1.564, 2.438, 3.588, 5.041, 6.81, 8.918",\
                 "0.4368, 0.4889, 0.672, 1.016, 1.581, 2.438, 3.589, 5.041, 6.809, 8.915",\
                 "0.6184, 0.6704, 0.8522, 1.204, 1.745, 2.511, 3.6, 5.04, 6.809, 8.919",\
                 "0.8398, 0.8994, 1.097, 1.452, 2.004, 2.766, 3.76, 5.094, 6.815, 8.92",\
                 "1.092, 1.162, 1.388, 1.773, 2.331, 3.104, 4.109, 5.354, 6.946, 8.949",\
                 "1.375, 1.454, 1.713, 2.144, 2.733, 3.513, 4.533, 5.799, 7.315, 9.195",\
                 "1.68, 1.773, 2.07, 2.557, 3.198, 4.006, 5.034, 6.325, 7.862, 9.672",\
                 "1.999, 2.11, 2.451, 2.999, 3.712, 4.57, 5.62, 6.91, 8.48, 10.32");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.7383, 0.879, 1.368, 2.29, 3.725, 5.73, 8.365, 11.69, 15.74, 20.56",\
                 "0.7376, 0.8793, 1.367, 2.291, 3.725, 5.729, 8.368, 11.69, 15.74, 20.57",\
                 "0.7307, 0.8749, 1.366, 2.291, 3.725, 5.73, 8.367, 11.69, 15.74, 20.58",\
                 "0.7922, 0.9134, 1.365, 2.289, 3.724, 5.733, 8.369, 11.69, 15.74, 20.57",\
                 "0.9566, 1.093, 1.524, 2.326, 3.721, 5.731, 8.371, 11.69, 15.75, 20.57",\
                 "1.119, 1.276, 1.774, 2.584, 3.807, 5.732, 8.368, 11.69, 15.74, 20.58",\
                 "1.306, 1.477, 2.023, 2.94, 4.157, 5.869, 8.377, 11.69, 15.75, 20.58",\
                 "1.527, 1.708, 2.289, 3.286, 4.637, 6.296, 8.562, 11.71, 15.75, 20.58",\
                 "1.773, 1.97, 2.588, 3.638, 5.112, 6.914, 9.068, 11.94, 15.78, 20.58",\
                 "2.052, 2.262, 2.922, 4.02, 5.58, 7.556, 9.806, 12.52, 16.06, 20.63");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.2907, 0.3307, 0.4646, 0.7092, 1.081, 1.596, 2.27, 3.116, 4.148, 5.378",\
                 "0.3133, 0.353, 0.4872, 0.7319, 1.104, 1.618, 2.292, 3.139, 4.172, 5.401",\
                 "0.4044, 0.4433, 0.5757, 0.8199, 1.192, 1.707, 2.381, 3.227, 4.26, 5.489",\
                 "0.5233, 0.5756, 0.7376, 0.9972, 1.367, 1.881, 2.554, 3.4, 4.432, 5.661",\
                 "0.6078, 0.6731, 0.878, 1.207, 1.637, 2.16, 2.831, 3.675, 4.705, 5.934",\
                 "0.6567, 0.7356, 0.9823, 1.379, 1.898, 2.518, 3.225, 4.068, 5.095, 6.32",\
                 "0.6659, 0.7596, 1.049, 1.512, 2.117, 2.841, 3.668, 4.583, 5.616, 6.838",\
                 "0.6331, 0.7413, 1.072, 1.604, 2.295, 3.12, 4.064, 5.112, 6.252, 7.495",\
                 "0.5574, 0.675, 1.052, 1.653, 2.431, 3.355, 4.413, 5.589, 6.871, 8.249",\
                 "0.4343, 0.5677, 0.9881, 1.657, 2.522, 3.548, 4.715, 6.016, 7.437, 8.968");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.3981, 0.4602, 0.6741, 1.076, 1.701, 2.577, 3.729, 5.181, 6.954, 9.066",\
                 "0.4229, 0.4878, 0.7058, 1.112, 1.739, 2.616, 3.769, 5.221, 6.993, 9.108",\
                 "0.5222, 0.587, 0.8068, 1.217, 1.847, 2.727, 3.882, 5.336, 7.108, 9.223",\
                 "0.6678, 0.7456, 0.9866, 1.399, 2.029, 2.911, 4.067, 5.521, 7.296, 9.409",\
                 "0.836, 0.9277, 1.212, 1.677, 2.316, 3.194, 4.349, 5.803, 7.575, 9.689",\
                 "1.047, 1.156, 1.484, 2.009, 2.72, 3.612, 4.759, 6.209, 7.979, 10.09",\
                 "1.309, 1.438, 1.815, 2.399, 3.18, 4.154, 5.322, 6.762, 8.525, 10.63",\
                 "1.623, 1.772, 2.206, 2.855, 3.703, 4.759, 6.017, 7.48, 9.231, 11.33",\
                 "1.985, 2.155, 2.646, 3.373, 4.296, 5.426, 6.776, 8.337, 10.12, 12.2",\
                 "2.395, 2.586, 3.137, 3.951, 4.959, 6.169, 7.602, 9.264, 11.15, 13.26");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.3515, 0.4163, 0.6349, 1.04, 1.666, 2.544, 3.695, 5.144, 6.915, 9.022",\
                 "0.3512, 0.4156, 0.6345, 1.041, 1.667, 2.543, 3.693, 5.142, 6.914, 9.023",\
                 "0.3596, 0.4181, 0.6316, 1.041, 1.666, 2.543, 3.694, 5.144, 6.914, 9.024",\
                 "0.4972, 0.5614, 0.7554, 1.087, 1.668, 2.543, 3.695, 5.144, 6.915, 9.022",\
                 "0.6622, 0.7402, 0.9786, 1.354, 1.851, 2.593, 3.695, 5.144, 6.914, 9.023",\
                 "0.8596, 0.9538, 1.229, 1.668, 2.241, 2.938, 3.863, 5.173, 6.913, 9.022",\
                 "1.087, 1.197, 1.522, 2.013, 2.663, 3.456, 4.371, 5.504, 7.035, 9.037",\
                 "1.331, 1.464, 1.84, 2.403, 3.12, 4, 5.026, 6.18, 7.538, 9.306",\
                 "1.599, 1.747, 2.189, 2.828, 3.624, 4.582, 5.706, 6.982, 8.388, 9.99",\
                 "1.88, 2.054, 2.562, 3.296, 4.17, 5.206, 6.426, 7.818, 9.346, 11.03");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.4176, 0.5219, 0.8859, 1.58, 2.658, 4.171, 6.164, 8.676, 11.73, 15.37",\
                 "0.4192, 0.5208, 0.8846, 1.579, 2.662, 4.175, 6.171, 8.676, 11.73, 15.41",\
                 "0.4296, 0.5275, 0.8853, 1.581, 2.662, 4.176, 6.167, 8.682, 11.74, 15.38",\
                 "0.5502, 0.638, 0.9382, 1.584, 2.66, 4.177, 6.165, 8.68, 11.75, 15.4",\
                 "0.7132, 0.8102, 1.139, 1.719, 2.685, 4.179, 6.167, 8.675, 11.73, 15.39",\
                 "0.94, 1.031, 1.367, 2, 2.902, 4.239, 6.178, 8.671, 11.75, 15.39",\
                 "1.212, 1.306, 1.642, 2.291, 3.264, 4.53, 6.293, 8.68, 11.74, 15.4",\
                 "1.501, 1.607, 1.966, 2.626, 3.643, 4.989, 6.652, 8.874, 11.78, 15.38",\
                 "1.805, 1.922, 2.324, 3.017, 4.046, 5.466, 7.21, 9.302, 12.02, 15.45",\
                 "2.128, 2.26, 2.712, 3.456, 4.518, 5.97, 7.8, 9.968, 12.53, 15.76");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.2333, 0.2753, 0.4136, 0.6617, 1.036, 1.552, 2.227, 3.074, 4.107, 5.337",\
                 "0.2557, 0.2977, 0.4358, 0.6839, 1.058, 1.574, 2.249, 3.096, 4.129, 5.359",\
                 "0.3487, 0.3907, 0.5246, 0.7712, 1.145, 1.661, 2.336, 3.184, 4.216, 5.446",\
                 "0.4462, 0.5037, 0.6774, 0.9476, 1.32, 1.834, 2.509, 3.356, 4.388, 5.618",\
                 "0.5066, 0.5791, 0.7996, 1.144, 1.585, 2.113, 2.784, 3.629, 4.661, 5.888",\
                 "0.5273, 0.6151, 0.8819, 1.298, 1.832, 2.463, 3.177, 4.021, 5.049, 6.275",\
                 "0.5045, 0.6088, 0.9228, 1.412, 2.034, 2.773, 3.61, 4.532, 5.568, 6.79",\
                 "0.4374, 0.5567, 0.9167, 1.479, 2.194, 3.036, 3.992, 5.051, 6.198, 7.446",\
                 "0.3266, 0.4587, 0.8639, 1.498, 2.305, 3.251, 4.325, 5.514, 6.807, 8.193",\
                 "0.1685, 0.3148, 0.7621, 1.469, 2.366, 3.42, 4.608, 5.924, 7.358, 8.898");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.4783, 0.5599, 0.8388, 1.369, 2.189, 3.343, 4.857, 6.768, 9.098, 11.88",\
                 "0.4997, 0.5843, 0.8705, 1.404, 2.228, 3.382, 4.898, 6.809, 9.141, 11.92",\
                 "0.5904, 0.6747, 0.9619, 1.501, 2.33, 3.487, 5.007, 6.918, 9.25, 12.03",\
                 "0.7266, 0.82, 1.117, 1.654, 2.483, 3.642, 5.163, 7.076, 9.415, 12.19",\
                 "0.8848, 0.9884, 1.32, 1.888, 2.713, 3.867, 5.386, 7.298, 9.633, 12.41",\
                 "1.091, 1.208, 1.571, 2.185, 3.053, 4.2, 5.711, 7.617, 9.946, 12.73",\
                 "1.351, 1.486, 1.89, 2.546, 3.47, 4.665, 6.164, 8.059, 10.38, 13.15",\
                 "1.665, 1.82, 2.276, 2.985, 3.956, 5.215, 6.761, 8.644, 10.95, 13.7",\
                 "2.031, 2.207, 2.718, 3.494, 4.523, 5.834, 7.455, 9.382, 11.67, 14.41",\
                 "2.445, 2.643, 3.214, 4.07, 5.168, 6.539, 8.223, 10.23, 12.56, 15.29");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.3209, 0.3852, 0.6025, 1.008, 1.633, 2.507, 3.657, 5.106, 6.875, 8.983",\
                 "0.318, 0.3839, 0.602, 1.009, 1.633, 2.508, 3.658, 5.106, 6.875, 8.984",\
                 "0.3421, 0.3951, 0.5971, 1.005, 1.632, 2.506, 3.659, 5.106, 6.877, 8.983",\
                 "0.4836, 0.5474, 0.7418, 1.065, 1.635, 2.506, 3.658, 5.108, 6.876, 8.981",\
                 "0.6582, 0.735, 0.9692, 1.34, 1.836, 2.567, 3.662, 5.106, 6.876, 8.986",\
                 "0.8698, 0.9618, 1.235, 1.661, 2.229, 2.923, 3.839, 5.143, 6.877, 8.986",\
                 "1.106, 1.221, 1.537, 2.021, 2.66, 3.446, 4.359, 5.484, 7.005, 8.997",\
                 "1.373, 1.507, 1.88, 2.429, 3.129, 4.001, 5.019, 6.169, 7.521, 9.278",\
                 "1.663, 1.82, 2.256, 2.882, 3.657, 4.595, 5.707, 6.978, 8.386, 9.978",\
                 "1.983, 2.163, 2.66, 3.377, 4.238, 5.248, 6.438, 7.812, 9.346, 11.01");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.4757, 0.6119, 1.093, 2.014, 3.444, 5.453, 8.09, 11.42, 15.5, 20.33",\
                 "0.4762, 0.6125, 1.093, 2.012, 3.444, 5.455, 8.099, 11.42, 15.46, 20.29",\
                 "0.484, 0.6162, 1.093, 2.014, 3.442, 5.456, 8.093, 11.42, 15.49, 20.32",\
                 "0.574, 0.6948, 1.122, 2.014, 3.445, 5.452, 8.095, 11.41, 15.47, 20.31",\
                 "0.6918, 0.826, 1.278, 2.091, 3.453, 5.458, 8.096, 11.41, 15.49, 20.31",\
                 "0.8736, 1, 1.461, 2.314, 3.576, 5.467, 8.101, 11.42, 15.49, 20.32",\
                 "1.113, 1.243, 1.695, 2.56, 3.867, 5.642, 8.136, 11.41, 15.49, 20.33",\
                 "1.376, 1.519, 1.988, 2.845, 4.19, 5.995, 8.348, 11.49, 15.48, 20.32",\
                 "1.657, 1.814, 2.323, 3.199, 4.54, 6.418, 8.758, 11.76, 15.58, 20.31",\
                 "1.954, 2.128, 2.684, 3.61, 4.946, 6.838, 9.28, 12.22, 15.87, 20.47");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.2404, 0.2826, 0.4211, 0.6703, 1.046, 1.565, 2.243, 3.091, 4.124, 5.354",\
                 "0.2631, 0.305, 0.4433, 0.6924, 1.068, 1.587, 2.265, 3.113, 4.146, 5.376",\
                 "0.3562, 0.3976, 0.532, 0.7798, 1.155, 1.674, 2.352, 3.201, 4.233, 5.463",\
                 "0.4586, 0.5151, 0.6875, 0.9569, 1.33, 1.848, 2.524, 3.373, 4.405, 5.635",\
                 "0.5256, 0.5968, 0.815, 1.158, 1.598, 2.126, 2.8, 3.646, 4.678, 5.906",\
                 "0.5554, 0.6415, 0.9048, 1.318, 1.85, 2.48, 3.193, 4.038, 5.067, 6.293",\
                 "0.546, 0.6462, 0.9537, 1.438, 2.059, 2.796, 3.63, 4.551, 5.586, 6.808",\
                 "0.4948, 0.608, 0.9599, 1.514, 2.225, 3.063, 4.018, 5.073, 6.218, 7.463",\
                 "0.4026, 0.5278, 0.9198, 1.544, 2.344, 3.285, 4.353, 5.539, 6.828, 8.212",\
                 "0.2677, 0.4039, 0.8331, 1.525, 2.412, 3.459, 4.64, 5.953, 7.383, 8.92");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.5942, 0.6756, 0.9558, 1.486, 2.309, 3.461, 4.976, 6.885, 9.214, 11.99",\
                 "0.621, 0.7043, 0.9891, 1.523, 2.348, 3.501, 5.018, 6.926, 9.257, 12.04",\
                 "0.712, 0.7952, 1.083, 1.621, 2.451, 3.607, 5.125, 7.036, 9.368, 12.15",\
                 "0.8605, 0.9486, 1.237, 1.773, 2.603, 3.761, 5.282, 7.193, 9.529, 12.31",\
                 "1.034, 1.132, 1.453, 2.008, 2.832, 3.988, 5.505, 7.417, 9.75, 12.53",\
                 "1.258, 1.366, 1.713, 2.316, 3.173, 4.318, 5.829, 7.735, 10.06, 12.84",\
                 "1.544, 1.665, 2.044, 2.684, 3.597, 4.784, 6.282, 8.177, 10.5, 13.26",\
                 "1.886, 2.023, 2.445, 3.131, 4.089, 5.34, 6.879, 8.759, 11.06, 13.82",\
                 "2.281, 2.435, 2.906, 3.651, 4.662, 5.966, 7.579, 9.5, 11.79, 14.53",\
                 "2.726, 2.897, 3.422, 4.239, 5.316, 6.674, 8.351, 10.35, 12.68, 15.4");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.4154, 0.4768, 0.6884, 1.089, 1.712, 2.586, 3.736, 5.185, 6.954, 9.063",\
                 "0.4124, 0.4745, 0.6877, 1.088, 1.712, 2.584, 3.736, 5.185, 6.952, 9.064",\
                 "0.4334, 0.4845, 0.6818, 1.087, 1.713, 2.586, 3.736, 5.182, 6.952, 9.06",\
                 "0.6028, 0.6572, 0.833, 1.147, 1.715, 2.585, 3.736, 5.185, 6.953, 9.059",\
                 "0.8126, 0.8768, 1.083, 1.432, 1.914, 2.645, 3.74, 5.184, 6.954, 9.062",\
                 "1.064, 1.138, 1.374, 1.771, 2.322, 3.003, 3.918, 5.22, 6.953, 9.061",\
                 "1.346, 1.436, 1.708, 2.154, 2.768, 3.538, 4.44, 5.564, 7.083, 9.08",\
                 "1.658, 1.761, 2.08, 2.583, 3.255, 4.106, 5.11, 6.251, 7.598, 9.356",\
                 "1.999, 2.122, 2.491, 3.061, 3.798, 4.714, 5.813, 7.068, 8.462, 10.05",\
                 "2.369, 2.512, 2.933, 3.581, 4.398, 5.384, 6.556, 7.918, 9.434, 11.1");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.6091, 0.747, 1.231, 2.152, 3.585, 5.588, 8.225, 11.54, 15.61, 20.45",\
                 "0.6094, 0.747, 1.231, 2.153, 3.586, 5.589, 8.232, 11.55, 15.6, 20.42",\
                 "0.6121, 0.7488, 1.231, 2.152, 3.586, 5.589, 8.226, 11.55, 15.6, 20.44",\
                 "0.6794, 0.8004, 1.245, 2.153, 3.585, 5.589, 8.227, 11.55, 15.61, 20.43",\
                 "0.8064, 0.9414, 1.39, 2.211, 3.587, 5.591, 8.227, 11.55, 15.6, 20.44",\
                 "0.9702, 1.106, 1.577, 2.427, 3.697, 5.601, 8.229, 11.55, 15.6, 20.44",\
                 "1.197, 1.336, 1.798, 2.677, 3.98, 5.763, 8.259, 11.55, 15.62, 20.44",\
                 "1.463, 1.606, 2.084, 2.957, 4.308, 6.109, 8.466, 11.61, 15.61, 20.44",\
                 "1.745, 1.907, 2.42, 3.301, 4.656, 6.53, 8.876, 11.86, 15.69, 20.45",\
                 "2.048, 2.226, 2.782, 3.708, 5.058, 6.958, 9.39, 12.33, 15.99, 20.56");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.2907, 0.3307, 0.4646, 0.7092, 1.081, 1.596, 2.27, 3.116, 4.148, 5.378",\
                 "0.3133, 0.353, 0.4872, 0.7319, 1.104, 1.618, 2.292, 3.139, 4.172, 5.401",\
                 "0.4044, 0.4433, 0.5757, 0.8199, 1.192, 1.707, 2.381, 3.227, 4.26, 5.489",\
                 "0.5233, 0.5756, 0.7376, 0.9972, 1.367, 1.881, 2.554, 3.4, 4.432, 5.661",\
                 "0.6078, 0.6731, 0.878, 1.207, 1.637, 2.16, 2.831, 3.675, 4.705, 5.934",\
                 "0.6567, 0.7356, 0.9823, 1.379, 1.898, 2.518, 3.225, 4.068, 5.095, 6.32",\
                 "0.6659, 0.7596, 1.049, 1.512, 2.117, 2.841, 3.668, 4.583, 5.616, 6.838",\
                 "0.6331, 0.7413, 1.072, 1.604, 2.295, 3.12, 4.064, 5.112, 6.252, 7.495",\
                 "0.5574, 0.675, 1.052, 1.653, 2.431, 3.355, 4.413, 5.589, 6.871, 8.249",\
                 "0.4343, 0.5677, 0.9881, 1.657, 2.522, 3.548, 4.715, 6.016, 7.437, 8.968");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.5942, 0.6756, 0.9558, 1.486, 2.309, 3.461, 4.976, 6.885, 9.214, 11.99",\
                 "0.621, 0.7043, 0.9891, 1.523, 2.348, 3.501, 5.018, 6.926, 9.257, 12.04",\
                 "0.712, 0.7952, 1.083, 1.621, 2.451, 3.607, 5.125, 7.036, 9.368, 12.15",\
                 "0.8605, 0.9486, 1.237, 1.773, 2.603, 3.761, 5.282, 7.193, 9.529, 12.31",\
                 "1.034, 1.132, 1.453, 2.008, 2.832, 3.988, 5.505, 7.417, 9.75, 12.53",\
                 "1.258, 1.366, 1.713, 2.316, 3.173, 4.318, 5.829, 7.735, 10.06, 12.84",\
                 "1.544, 1.665, 2.044, 2.684, 3.597, 4.784, 6.282, 8.177, 10.5, 13.26",\
                 "1.886, 2.023, 2.445, 3.131, 4.089, 5.34, 6.879, 8.759, 11.06, 13.82",\
                 "2.281, 2.435, 2.906, 3.651, 4.662, 5.966, 7.579, 9.5, 11.79, 14.53",\
                 "2.726, 2.897, 3.422, 4.239, 5.316, 6.674, 8.351, 10.35, 12.68, 15.4");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.4154, 0.4768, 0.6884, 1.089, 1.712, 2.586, 3.736, 5.185, 6.954, 9.063",\
                 "0.4124, 0.4745, 0.6877, 1.088, 1.712, 2.584, 3.736, 5.185, 6.952, 9.064",\
                 "0.4334, 0.4845, 0.6818, 1.087, 1.713, 2.586, 3.736, 5.182, 6.952, 9.06",\
                 "0.6028, 0.6572, 0.833, 1.147, 1.715, 2.585, 3.736, 5.185, 6.953, 9.059",\
                 "0.8126, 0.8768, 1.083, 1.432, 1.914, 2.645, 3.74, 5.184, 6.954, 9.062",\
                 "1.064, 1.138, 1.374, 1.771, 2.322, 3.003, 3.918, 5.22, 6.953, 9.061",\
                 "1.346, 1.436, 1.708, 2.154, 2.768, 3.538, 4.44, 5.564, 7.083, 9.08",\
                 "1.658, 1.761, 2.08, 2.583, 3.255, 4.106, 5.11, 6.251, 7.598, 9.356",\
                 "1.999, 2.122, 2.491, 3.061, 3.798, 4.714, 5.813, 7.068, 8.462, 10.05",\
                 "2.369, 2.512, 2.933, 3.581, 4.398, 5.384, 6.556, 7.918, 9.434, 11.1");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.6091, 0.747, 1.231, 2.152, 3.585, 5.588, 8.225, 11.54, 15.61, 20.45",\
                 "0.6094, 0.747, 1.231, 2.153, 3.586, 5.589, 8.232, 11.55, 15.6, 20.42",\
                 "0.6121, 0.7488, 1.231, 2.152, 3.586, 5.589, 8.226, 11.55, 15.6, 20.44",\
                 "0.6794, 0.8004, 1.245, 2.153, 3.585, 5.589, 8.227, 11.55, 15.61, 20.43",\
                 "0.8064, 0.9414, 1.39, 2.211, 3.587, 5.591, 8.227, 11.55, 15.6, 20.44",\
                 "0.9702, 1.106, 1.577, 2.427, 3.697, 5.601, 8.229, 11.55, 15.6, 20.44",\
                 "1.197, 1.336, 1.798, 2.677, 3.98, 5.763, 8.259, 11.55, 15.62, 20.44",\
                 "1.463, 1.606, 2.084, 2.957, 4.308, 6.109, 8.466, 11.61, 15.61, 20.44",\
                 "1.745, 1.907, 2.42, 3.301, 4.656, 6.53, 8.876, 11.86, 15.69, 20.45",\
                 "2.048, 2.226, 2.782, 3.708, 5.058, 6.958, 9.39, 12.33, 15.99, 20.56");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.315, 0.3549, 0.4887, 0.7335, 1.105, 1.62, 2.294, 3.141, 4.173, 5.403",\
                 "0.3383, 0.3785, 0.5126, 0.7571, 1.129, 1.644, 2.318, 3.164, 4.197, 5.426",\
                 "0.3983, 0.4381, 0.5717, 0.8166, 1.188, 1.704, 2.378, 3.225, 4.257, 5.487",\
                 "0.4703, 0.518, 0.6701, 0.929, 1.302, 1.816, 2.49, 3.337, 4.369, 5.599",\
                 "0.5198, 0.5774, 0.7579, 1.056, 1.469, 1.997, 2.67, 3.516, 4.547, 5.776",\
                 "0.5289, 0.5992, 0.8158, 1.164, 1.63, 2.215, 2.923, 3.771, 4.801, 6.029",\
                 "0.4887, 0.5724, 0.8303, 1.238, 1.77, 2.417, 3.191, 4.095, 5.139, 6.365",\
                 "0.3977, 0.493, 0.7919, 1.264, 1.872, 2.596, 3.441, 4.418, 5.533, 6.792",\
                 "0.2538, 0.3618, 0.6974, 1.236, 1.925, 2.737, 3.665, 4.72, 5.913, 7.251",\
                 "0.0532, 0.1737, 0.548, 1.15, 1.923, 2.828, 3.852, 4.995, 6.272, 7.693");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.4738, 0.5357, 0.7484, 1.151, 1.777, 2.652, 3.805, 5.256, 7.028, 9.139",\
                 "0.5011, 0.5638, 0.7781, 1.182, 1.807, 2.684, 3.837, 5.288, 7.06, 9.172",\
                 "0.6077, 0.6706, 0.8866, 1.292, 1.919, 2.797, 3.951, 5.403, 7.175, 9.287",\
                 "0.7726, 0.8444, 1.072, 1.479, 2.107, 2.985, 4.139, 5.591, 7.363, 9.477",\
                 "0.9658, 1.049, 1.317, 1.766, 2.397, 3.272, 4.424, 5.874, 7.646, 9.76",\
                 "1.216, 1.312, 1.614, 2.117, 2.811, 3.694, 4.838, 6.284, 8.05, 10.16",\
                 "1.538, 1.647, 1.983, 2.533, 3.292, 4.249, 5.406, 6.842, 8.602, 10.7",\
                 "1.923, 2.048, 2.425, 3.028, 3.843, 4.876, 6.115, 7.567, 9.315, 11.41",\
                 "2.369, 2.51, 2.937, 3.598, 4.473, 5.571, 6.897, 8.44, 10.21, 12.29",\
                 "2.877, 3.035, 3.512, 4.244, 5.19, 6.353, 7.754, 9.392, 11.26, 13.36");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.3513, 0.4159, 0.6353, 1.04, 1.666, 2.544, 3.695, 5.144, 6.914, 9.025",\
                 "0.351, 0.4165, 0.6337, 1.04, 1.667, 2.544, 3.695, 5.144, 6.914, 9.023",\
                 "0.3595, 0.4201, 0.6323, 1.039, 1.666, 2.543, 3.695, 5.144, 6.914, 9.024",\
                 "0.4536, 0.5152, 0.717, 1.078, 1.671, 2.542, 3.694, 5.143, 6.914, 9.025",\
                 "0.591, 0.6578, 0.8712, 1.246, 1.8, 2.591, 3.699, 5.144, 6.912, 9.021",\
                 "0.7758, 0.8514, 1.08, 1.47, 2.044, 2.822, 3.833, 5.186, 6.917, 9.022",\
                 "0.9898, 1.077, 1.339, 1.758, 2.345, 3.143, 4.162, 5.421, 7.032, 9.05",\
                 "1.225, 1.328, 1.632, 2.096, 2.718, 3.527, 4.564, 5.849, 7.382, 9.272",\
                 "1.479, 1.599, 1.948, 2.479, 3.148, 3.987, 5.04, 6.348, 7.912, 9.73",\
                 "1.76, 1.895, 2.291, 2.894, 3.634, 4.516, 5.594, 6.916, 8.504, 10.37");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.5184, 0.6223, 0.9879, 1.684, 2.765, 4.278, 6.268, 8.774, 11.84, 15.47",\
                 "0.5192, 0.623, 0.9883, 1.685, 2.764, 4.279, 6.268, 8.774, 11.84, 15.48",\
                 "0.5228, 0.625, 0.9885, 1.684, 2.765, 4.279, 6.268, 8.775, 11.83, 15.48",\
                 "0.623, 0.7108, 1.024, 1.687, 2.765, 4.279, 6.268, 8.777, 11.83, 15.49",\
                 "0.787, 0.8866, 1.217, 1.8, 2.784, 4.279, 6.272, 8.776, 11.84, 15.49",\
                 "0.9868, 1.087, 1.441, 2.073, 2.981, 4.335, 6.272, 8.776, 11.84, 15.48",\
                 "1.227, 1.332, 1.693, 2.362, 3.339, 4.609, 6.379, 8.787, 11.84, 15.48",\
                 "1.495, 1.61, 1.987, 2.676, 3.708, 5.06, 6.729, 8.956, 11.87, 15.48",\
                 "1.78, 1.909, 2.321, 3.033, 4.098, 5.528, 7.278, 9.386, 12.1, 15.54",\
                 "2.082, 2.23, 2.686, 3.438, 4.53, 6.006, 7.86, 10.03, 12.6, 15.85");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.2577, 0.2999, 0.4379, 0.6859, 1.06, 1.576, 2.251, 3.098, 4.131, 5.361",\
                 "0.281, 0.323, 0.4609, 0.7091, 1.083, 1.599, 2.274, 3.122, 4.154, 5.384",\
                 "0.3408, 0.3834, 0.52, 0.7675, 1.142, 1.658, 2.333, 3.18, 4.213, 5.443",\
                 "0.4011, 0.4523, 0.6125, 0.8785, 1.254, 1.77, 2.445, 3.292, 4.325, 5.555",\
                 "0.4299, 0.4939, 0.6877, 0.9971, 1.417, 1.949, 2.623, 3.47, 4.502, 5.732",\
                 "0.4121, 0.4909, 0.7273, 1.092, 1.57, 2.161, 2.874, 3.724, 4.755, 5.983",\
                 "0.3406, 0.4339, 0.7158, 1.148, 1.696, 2.355, 3.135, 4.044, 5.092, 6.319",\
                 "0.217, 0.3229, 0.6489, 1.151, 1.781, 2.521, 3.376, 4.359, 5.479, 6.742",\
                 "0.0363, 0.157, 0.523, 1.094, 1.812, 2.645, 3.587, 4.65, 5.85, 7.194",\
                 "-0.2043, -0.0703, 0.3378, 0.9731, 1.781, 2.714, 3.757, 4.913, 6.198, 7.628");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.5792, 0.6597, 0.9388, 1.468, 2.291, 3.443, 4.958, 6.868, 9.198, 11.98",\
                 "0.6036, 0.685, 0.9662, 1.497, 2.321, 3.473, 4.989, 6.898, 9.228, 12.01",\
                 "0.7029, 0.7849, 1.068, 1.601, 2.427, 3.581, 5.097, 7.008, 9.339, 12.12",\
                 "0.8541, 0.9417, 1.228, 1.76, 2.586, 3.74, 5.258, 7.17, 9.506, 12.28",\
                 "1.031, 1.128, 1.447, 2, 2.82, 3.972, 5.487, 7.398, 9.727, 12.51",\
                 "1.271, 1.377, 1.718, 2.315, 3.167, 4.309, 5.816, 7.716, 10.04, 12.82",\
                 "1.588, 1.704, 2.073, 2.7, 3.603, 4.782, 6.275, 8.166, 10.48, 13.25",\
                 "1.974, 2.105, 2.51, 3.175, 4.117, 5.353, 6.885, 8.758, 11.06, 13.81",\
                 "2.424, 2.571, 3.02, 3.738, 4.721, 6.005, 7.602, 9.512, 11.79, 14.52",\
                 "2.937, 3.102, 3.6, 4.381, 5.42, 6.749, 8.401, 10.39, 12.7, 15.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.3191, 0.3849, 0.6032, 1.007, 1.633, 2.507, 3.659, 5.109, 6.875, 8.987",\
                 "0.3175, 0.3835, 0.6024, 1.009, 1.633, 2.508, 3.657, 5.106, 6.876, 8.982",\
                 "0.3363, 0.3935, 0.6005, 1.005, 1.631, 2.508, 3.658, 5.11, 6.876, 8.981",\
                 "0.4368, 0.4972, 0.6952, 1.052, 1.639, 2.507, 3.657, 5.109, 6.877, 8.983",\
                 "0.5906, 0.6542, 0.8582, 1.227, 1.778, 2.561, 3.663, 5.106, 6.875, 8.984",\
                 "0.7896, 0.861, 1.086, 1.462, 2.026, 2.797, 3.804, 5.151, 6.879, 8.982",\
                 "1.018, 1.104, 1.359, 1.766, 2.338, 3.127, 4.14, 5.394, 7.003, 9.014",\
                 "1.276, 1.377, 1.674, 2.124, 2.724, 3.52, 4.551, 5.829, 7.355, 9.239",\
                 "1.565, 1.68, 2.019, 2.528, 3.183, 3.995, 5.037, 6.334, 7.89, 9.708",\
                 "1.88, 2.014, 2.398, 2.97, 3.69, 4.56, 5.606, 6.916, 8.492, 10.35");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.6084, 0.7462, 1.23, 2.152, 3.585, 5.59, 8.226, 11.56, 15.61, 20.45",\
                 "0.609, 0.7465, 1.231, 2.152, 3.585, 5.589, 8.227, 11.55, 15.61, 20.44",\
                 "0.6111, 0.7481, 1.23, 2.152, 3.585, 5.59, 8.226, 11.55, 15.61, 20.45",\
                 "0.6812, 0.8024, 1.246, 2.152, 3.584, 5.59, 8.229, 11.56, 15.61, 20.44",\
                 "0.8058, 0.9422, 1.391, 2.212, 3.587, 5.592, 8.23, 11.56, 15.61, 20.44",\
                 "0.9636, 1.101, 1.574, 2.426, 3.698, 5.603, 8.23, 11.55, 15.61, 20.44",\
                 "1.17, 1.31, 1.783, 2.669, 3.976, 5.763, 8.262, 11.55, 15.61, 20.44",\
                 "1.412, 1.56, 2.047, 2.934, 4.292, 6.103, 8.468, 11.61, 15.61, 20.45",\
                 "1.675, 1.84, 2.354, 3.253, 4.626, 6.512, 8.866, 11.86, 15.7, 20.45",\
                 "1.956, 2.138, 2.7, 3.628, 5.004, 6.922, 9.374, 12.32, 15.99, 20.57");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.2654, 0.3069, 0.4455, 0.6947, 1.07, 1.589, 2.267, 3.116, 4.148, 5.378",\
                 "0.2882, 0.3299, 0.4687, 0.7177, 1.093, 1.612, 2.29, 3.139, 4.171, 5.401",\
                 "0.3484, 0.3907, 0.5274, 0.7762, 1.152, 1.671, 2.349, 3.198, 4.231, 5.46",\
                 "0.4112, 0.462, 0.6217, 0.8876, 1.265, 1.784, 2.461, 3.31, 4.342, 5.572",\
                 "0.4449, 0.5077, 0.6999, 1.009, 1.429, 1.963, 2.64, 3.487, 4.52, 5.749",\
                 "0.4347, 0.5108, 0.7439, 1.108, 1.585, 2.177, 2.891, 3.742, 4.773, 6.001",\
                 "0.3731, 0.4632, 0.74, 1.168, 1.715, 2.374, 3.154, 4.063, 5.11, 6.336",\
                 "0.2617, 0.3635, 0.6818, 1.178, 1.805, 2.543, 3.397, 4.379, 5.498, 6.76",\
                 "0.0978, 0.2114, 0.5663, 1.13, 1.842, 2.672, 3.611, 4.672, 5.871, 7.214",\
                 "-0.1232, 0.0023, 0.3949, 1.02, 1.819, 2.745, 3.784, 4.937, 6.221, 7.648");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.6955, 0.7762, 1.056, 1.586, 2.408, 3.56, 5.075, 6.983, 9.312, 12.09",\
                 "0.7214, 0.8026, 1.084, 1.615, 2.438, 3.59, 5.105, 7.014, 9.342, 12.12",\
                 "0.8219, 0.9034, 1.186, 1.72, 2.545, 3.698, 5.214, 7.122, 9.453, 12.23",\
                 "0.981, 1.064, 1.347, 1.879, 2.705, 3.858, 5.376, 7.285, 9.62, 12.39",\
                 "1.172, 1.266, 1.575, 2.118, 2.938, 4.089, 5.603, 7.511, 9.84, 12.62",\
                 "1.424, 1.524, 1.856, 2.442, 3.285, 4.425, 5.932, 7.833, 10.16, 12.93",\
                 "1.756, 1.863, 2.217, 2.834, 3.729, 4.898, 6.391, 8.279, 10.59, 13.36",\
                 "2.162, 2.282, 2.665, 3.315, 4.247, 5.477, 7, 8.872, 11.17, 13.92",\
                 "2.635, 2.77, 3.19, 3.885, 4.856, 6.133, 7.723, 9.626, 11.9, 14.64",\
                 "3.173, 3.321, 3.786, 4.538, 5.561, 6.881, 8.526, 10.5, 12.81, 15.52");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.4139, 0.4755, 0.688, 1.088, 1.712, 2.586, 3.736, 5.185, 6.954, 9.062",\
                 "0.412, 0.4741, 0.6873, 1.088, 1.712, 2.586, 3.736, 5.183, 6.953, 9.064",\
                 "0.4285, 0.4837, 0.686, 1.087, 1.712, 2.585, 3.736, 5.185, 6.952, 9.063",\
                 "0.5448, 0.598, 0.7844, 1.135, 1.719, 2.586, 3.737, 5.183, 6.954, 9.059",\
                 "0.7208, 0.7738, 0.9612, 1.316, 1.858, 2.641, 3.743, 5.185, 6.953, 9.06",\
                 "0.9496, 1.008, 1.206, 1.562, 2.115, 2.88, 3.884, 5.232, 6.957, 9.06",\
                 "1.215, 1.283, 1.501, 1.879, 2.437, 3.213, 4.222, 5.472, 7.082, 9.093",\
                 "1.512, 1.589, 1.842, 2.256, 2.835, 3.616, 4.644, 5.912, 7.434, 9.318",\
                 "1.838, 1.93, 2.216, 2.681, 3.301, 4.105, 5.131, 6.422, 7.974, 9.786",\
                 "2.199, 2.302, 2.628, 3.15, 3.828, 4.67, 5.708, 7.006, 8.58, 10.43");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.741, 0.8811, 1.368, 2.291, 3.722, 5.729, 8.364, 11.68, 15.75, 20.58",\
                 "0.741, 0.881, 1.369, 2.292, 3.723, 5.728, 8.366, 11.69, 15.75, 20.57",\
                 "0.7424, 0.8825, 1.368, 2.291, 3.725, 5.729, 8.364, 11.69, 15.74, 20.57",\
                 "0.7878, 0.9142, 1.374, 2.29, 3.724, 5.729, 8.368, 11.69, 15.75, 20.57",\
                 "0.9236, 1.058, 1.5, 2.333, 3.725, 5.73, 8.368, 11.69, 15.74, 20.57",\
                 "1.075, 1.216, 1.691, 2.537, 3.82, 5.738, 8.368, 11.69, 15.74, 20.58",\
                 "1.275, 1.415, 1.899, 2.787, 4.089, 5.887, 8.393, 11.69, 15.75, 20.58",\
                 "1.514, 1.665, 2.156, 3.053, 4.413, 6.216, 8.588, 11.74, 15.75, 20.58",\
                 "1.786, 1.946, 2.461, 3.368, 4.746, 6.628, 8.98, 11.98, 15.82, 20.58",\
                 "2.076, 2.256, 2.812, 3.742, 5.12, 7.042, 9.484, 12.44, 16.11, 20.69");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.315, 0.3549, 0.4887, 0.7335, 1.105, 1.62, 2.294, 3.141, 4.173, 5.403",\
                 "0.3383, 0.3785, 0.5126, 0.7571, 1.129, 1.644, 2.318, 3.164, 4.197, 5.426",\
                 "0.3983, 0.4381, 0.5717, 0.8166, 1.188, 1.704, 2.378, 3.225, 4.257, 5.487",\
                 "0.4703, 0.518, 0.6701, 0.929, 1.302, 1.816, 2.49, 3.337, 4.369, 5.599",\
                 "0.5198, 0.5774, 0.7579, 1.056, 1.469, 1.997, 2.67, 3.516, 4.547, 5.776",\
                 "0.5289, 0.5992, 0.8158, 1.164, 1.63, 2.215, 2.923, 3.771, 4.801, 6.029",\
                 "0.4887, 0.5724, 0.8303, 1.238, 1.77, 2.417, 3.191, 4.095, 5.139, 6.365",\
                 "0.3977, 0.493, 0.7919, 1.264, 1.872, 2.596, 3.441, 4.418, 5.533, 6.792",\
                 "0.2538, 0.3618, 0.6974, 1.236, 1.925, 2.737, 3.665, 4.72, 5.913, 7.251",\
                 "0.0532, 0.1737, 0.548, 1.15, 1.923, 2.828, 3.852, 4.995, 6.272, 7.693");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.6955, 0.7762, 1.056, 1.586, 2.408, 3.56, 5.075, 6.983, 9.312, 12.09",\
                 "0.7214, 0.8026, 1.084, 1.615, 2.438, 3.59, 5.105, 7.014, 9.342, 12.12",\
                 "0.8219, 0.9034, 1.186, 1.72, 2.545, 3.698, 5.214, 7.122, 9.453, 12.23",\
                 "0.981, 1.064, 1.347, 1.879, 2.705, 3.858, 5.376, 7.285, 9.62, 12.39",\
                 "1.172, 1.266, 1.575, 2.118, 2.938, 4.089, 5.603, 7.511, 9.84, 12.62",\
                 "1.424, 1.524, 1.856, 2.442, 3.285, 4.425, 5.932, 7.833, 10.16, 12.93",\
                 "1.756, 1.863, 2.217, 2.834, 3.729, 4.898, 6.391, 8.279, 10.59, 13.36",\
                 "2.162, 2.282, 2.665, 3.315, 4.247, 5.477, 7, 8.872, 11.17, 13.92",\
                 "2.635, 2.77, 3.19, 3.885, 4.856, 6.133, 7.723, 9.626, 11.9, 14.64",\
                 "3.173, 3.321, 3.786, 4.538, 5.561, 6.881, 8.526, 10.5, 12.81, 15.52");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.4139, 0.4755, 0.688, 1.088, 1.712, 2.586, 3.736, 5.185, 6.954, 9.062",\
                 "0.412, 0.4741, 0.6873, 1.088, 1.712, 2.586, 3.736, 5.183, 6.953, 9.064",\
                 "0.4285, 0.4837, 0.686, 1.087, 1.712, 2.585, 3.736, 5.185, 6.952, 9.063",\
                 "0.5448, 0.598, 0.7844, 1.135, 1.719, 2.586, 3.737, 5.183, 6.954, 9.059",\
                 "0.7208, 0.7738, 0.9612, 1.316, 1.858, 2.641, 3.743, 5.185, 6.953, 9.06",\
                 "0.9496, 1.008, 1.206, 1.562, 2.115, 2.88, 3.884, 5.232, 6.957, 9.06",\
                 "1.215, 1.283, 1.501, 1.879, 2.437, 3.213, 4.222, 5.472, 7.082, 9.093",\
                 "1.512, 1.589, 1.842, 2.256, 2.835, 3.616, 4.644, 5.912, 7.434, 9.318",\
                 "1.838, 1.93, 2.216, 2.681, 3.301, 4.105, 5.131, 6.422, 7.974, 9.786",\
                 "2.199, 2.302, 2.628, 3.15, 3.828, 4.67, 5.708, 7.006, 8.58, 10.43");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.004144, 0.01518, 0.03626, 0.0691, 0.1152, 0.1758, 0.2522, 0.3454, 0.4566");
          values("0.741, 0.8811, 1.368, 2.291, 3.722, 5.729, 8.364, 11.68, 15.75, 20.58",\
                 "0.741, 0.881, 1.369, 2.292, 3.723, 5.728, 8.366, 11.69, 15.75, 20.57",\
                 "0.7424, 0.8825, 1.368, 2.291, 3.725, 5.729, 8.364, 11.69, 15.74, 20.57",\
                 "0.7878, 0.9142, 1.374, 2.29, 3.724, 5.729, 8.368, 11.69, 15.75, 20.57",\
                 "0.9236, 1.058, 1.5, 2.333, 3.725, 5.73, 8.368, 11.69, 15.74, 20.57",\
                 "1.075, 1.216, 1.691, 2.537, 3.82, 5.738, 8.368, 11.69, 15.74, 20.58",\
                 "1.275, 1.415, 1.899, 2.787, 4.089, 5.887, 8.393, 11.69, 15.75, 20.58",\
                 "1.514, 1.665, 2.156, 3.053, 4.413, 6.216, 8.588, 11.74, 15.75, 20.58",\
                 "1.786, 1.946, 2.461, 3.368, 4.746, 6.628, 8.98, 11.98, 15.82, 20.58",\
                 "2.076, 2.256, 2.812, 3.742, 5.12, 7.042, 9.484, 12.44, 16.11, 20.69");
        }
      }
    }
  }

