/*
 * 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_mcu9t5v0__and2_2) {
    area : 25.401600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "2.023164e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "2.023164e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "2.560338e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "2.412234e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.560338e-05" ;
    }

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

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

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

      internal_power() {
        when : "!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.008472, 0.008465, 0.008427, 0.008408, 0.008406, 0.008422, 0.008412, \
                  0.008418, 0.008419, 0.008413");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("-0.005584, -0.005585, -0.005569, -0.005569, -0.005589, -0.005595, \
                  -0.005592, -0.005615, -0.005628, -0.005637");
        }
      }
    }

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

      internal_power() {
        when : "!A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("0.00793, 0.007386, 0.007256, 0.007213, 0.00721, 0.007228, 0.007212, \
                  0.007223, 0.007226, 0.007226");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          values("-0.007228, -0.007218, -0.007206, -0.007196, -0.007194, -0.007207, \
                  -0.007186, -0.007198, -0.007197, -0.007199");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1&A2)" ;
      max_capacitance : 0.6304 ;
      max_transition : 6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.005344, 0.02059, 0.04971, 0.09508, 0.1587, 0.2425, 0.348, 0.4769, 0.6304");
          values("0.05885, 0.05909, 0.05994, 0.06073, 0.06119, 0.06148, 0.06162, 0.0617, 0.06178, 0.06182",\
                 "0.05843, 0.05871, 0.05948, 0.06031, 0.06079, 0.06109, 0.06124, 0.06133, 0.06141, 0.06144",\
                 "0.05743, 0.05762, 0.0584, 0.05921, 0.05973, 0.06003, 0.0602, 0.06031, 0.06036, 0.06039",\
                 "0.057, 0.05709, 0.0576, 0.05839, 0.05899, 0.05935, 0.05959, 0.05973, 0.05982, 0.05988",\
                 "0.05789, 0.05777, 0.05787, 0.0585, 0.05908, 0.05948, 0.05975, 0.05991, 0.06004, 0.06012",\
                 "0.05992, 0.05947, 0.0593, 0.05964, 0.06007, 0.06047, 0.06071, 0.06092, 0.06107, 0.06114",\
                 "0.06284, 0.06215, 0.06151, 0.06158, 0.06182, 0.06228, 0.06251, 0.06274, 0.06285, 0.06295",\
                 "0.06672, 0.06567, 0.06467, 0.06451, 0.06462, 0.06491, 0.06513, 0.0653, 0.06549, 0.06558",\
                 "0.07154, 0.07019, 0.06884, 0.06828, 0.06824, 0.0684, 0.06858, 0.06879, 0.06892, 0.06903",\
                 "0.07744, 0.07585, 0.07392, 0.07311, 0.07293, 0.07291, 0.07305, 0.07325, 0.07339, 0.07348");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.005344, 0.02059, 0.04971, 0.09508, 0.1587, 0.2425, 0.348, 0.4769, 0.6304");
          values("0.03276, 0.03295, 0.0339, 0.035, 0.03591, 0.03688, 0.03751, 0.03833, 0.03893, 0.03941",\
                 "0.03247, 0.03279, 0.03365, 0.03492, 0.03575, 0.03666, 0.03731, 0.03786, 0.03859, 0.03961",\
                 "0.0321, 0.03222, 0.03301, 0.03421, 0.03508, 0.03611, 0.0369, 0.03754, 0.03822, 0.03862",\
                 "0.03194, 0.03211, 0.03256, 0.03353, 0.03447, 0.0354, 0.0363, 0.03718, 0.03786, 0.03842",\
                 "0.03261, 0.03257, 0.03278, 0.03343, 0.03413, 0.03514, 0.03628, 0.03714, 0.03756, 0.03822",\
                 "0.03399, 0.03397, 0.03364, 0.03413, 0.03522, 0.03585, 0.03658, 0.03744, 0.03812, 0.03946",\
                 "0.03625, 0.03597, 0.03573, 0.03571, 0.03649, 0.03755, 0.03824, 0.03867, 0.03935, 0.04045",\
                 "0.0394, 0.03888, 0.03842, 0.03825, 0.0386, 0.039, 0.0408, 0.04144, 0.04152, 0.04302",\
                 "0.04342, 0.04281, 0.04192, 0.04165, 0.04211, 0.0424, 0.04341, 0.04493, 0.04596, 0.04599",\
                 "0.04842, 0.04763, 0.04666, 0.04625, 0.04595, 0.04666, 0.0468, 0.04788, 0.05002, 0.05055");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.005344, 0.02059, 0.04971, 0.09508, 0.1587, 0.2425, 0.348, 0.4769, 0.6304");
          values("0.0663, 0.06644, 0.06703, 0.06782, 0.06833, 0.06865, 0.06882, 0.06894, 0.069, 0.06906",\
                 "0.06586, 0.06603, 0.0666, 0.06742, 0.06794, 0.06823, 0.06844, 0.06855, 0.06862, 0.06867",\
                 "0.06521, 0.0653, 0.06592, 0.06672, 0.06725, 0.06758, 0.06779, 0.06791, 0.06797, 0.06802",\
                 "0.06497, 0.06504, 0.06554, 0.06622, 0.06681, 0.06719, 0.06743, 0.06758, 0.06769, 0.06776",\
                 "0.06599, 0.06584, 0.06584, 0.06638, 0.06691, 0.0674, 0.06767, 0.06785, 0.06797, 0.06806",\
                 "0.06802, 0.06761, 0.06734, 0.06745, 0.06796, 0.06825, 0.06859, 0.06882, 0.06896, 0.06907",\
                 "0.07111, 0.07027, 0.06965, 0.06946, 0.06975, 0.07014, 0.07043, 0.07063, 0.07072, 0.07091",\
                 "0.07502, 0.07394, 0.07284, 0.07252, 0.07258, 0.07279, 0.07306, 0.07329, 0.07341, 0.07352",\
                 "0.07998, 0.07858, 0.07718, 0.07636, 0.0763, 0.07639, 0.07659, 0.07676, 0.0769, 0.077",\
                 "0.08582, 0.08429, 0.08237, 0.08129, 0.08106, 0.08095, 0.08112, 0.08129, 0.08139, 0.08151");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.005344, 0.02059, 0.04971, 0.09508, 0.1587, 0.2425, 0.348, 0.4769, 0.6304");
          values("0.03277, 0.03293, 0.03376, 0.03508, 0.03599, 0.03692, 0.03751, 0.03837, 0.03879, 0.03921",\
                 "0.0326, 0.03284, 0.0338, 0.03498, 0.03581, 0.0368, 0.03755, 0.03815, 0.03881, 0.03921",\
                 "0.0321, 0.03228, 0.03311, 0.03431, 0.03524, 0.03615, 0.03686, 0.03744, 0.03808, 0.03882",\
                 "0.03181, 0.03198, 0.03269, 0.03361, 0.03451, 0.03547, 0.0365, 0.03699, 0.03758, 0.03822",\
                 "0.03203, 0.03204, 0.03239, 0.0333, 0.03411, 0.03504, 0.0361, 0.03681, 0.03762, 0.03822",\
                 "0.03295, 0.0329, 0.03299, 0.03339, 0.03453, 0.03526, 0.036, 0.03679, 0.03764, 0.03842",\
                 "0.03471, 0.03454, 0.03443, 0.03448, 0.03532, 0.0366, 0.03713, 0.03774, 0.0383, 0.03946",\
                 "0.03727, 0.03699, 0.03667, 0.0365, 0.03676, 0.03781, 0.03935, 0.03982, 0.04022, 0.04085",\
                 "0.04076, 0.04028, 0.0397, 0.03941, 0.03985, 0.04009, 0.04117, 0.04312, 0.04364, 0.04362",\
                 "0.04522, 0.04462, 0.04378, 0.04349, 0.04353, 0.04389, 0.0443, 0.04558, 0.04742, 0.04837");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.005344, 0.02059, 0.04971, 0.09508, 0.1587, 0.2425, 0.348, 0.4769, 0.6304");
          values("0.2729, 0.299, 0.3637, 0.4544, 0.5748, 0.7345, 0.9417, 1.202, 1.52, 1.898",\
                 "0.2867, 0.313, 0.3777, 0.4683, 0.5889, 0.7483, 0.9557, 1.216, 1.533, 1.912",\
                 "0.3383, 0.3646, 0.4291, 0.5199, 0.6403, 0.8001, 1.007, 1.268, 1.585, 1.963",\
                 "0.4436, 0.4699, 0.5344, 0.6252, 0.7458, 0.9058, 1.113, 1.373, 1.691, 2.07",\
                 "0.5841, 0.614, 0.6842, 0.7783, 0.9005, 1.06, 1.268, 1.528, 1.845, 2.224",\
                 "0.7362, 0.7701, 0.849, 0.95, 1.077, 1.238, 1.446, 1.706, 2.023, 2.402",\
                 "0.9009, 0.9381, 1.026, 1.135, 1.266, 1.43, 1.639, 1.899, 2.216, 2.594",\
                 "1.082, 1.121, 1.218, 1.336, 1.473, 1.638, 1.847, 2.108, 2.425, 2.804",\
                 "1.282, 1.325, 1.428, 1.555, 1.697, 1.866, 2.076, 2.337, 2.654, 3.033",\
                 "1.504, 1.549, 1.659, 1.795, 1.944, 2.116, 2.327, 2.588, 2.905, 3.283");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.005344, 0.02059, 0.04971, 0.09508, 0.1587, 0.2425, 0.348, 0.4769, 0.6304");
          values("0.2572, 0.2913, 0.3886, 0.5544, 0.8055, 1.155, 1.615, 2.193, 2.899, 3.74",\
                 "0.2674, 0.3018, 0.399, 0.5647, 0.8158, 1.166, 1.626, 2.203, 2.908, 3.751",\
                 "0.3063, 0.3403, 0.4374, 0.603, 0.854, 1.204, 1.663, 2.243, 2.948, 3.788",\
                 "0.374, 0.4089, 0.5063, 0.6715, 0.9223, 1.272, 1.732, 2.311, 3.017, 3.854",\
                 "0.4365, 0.4733, 0.5736, 0.7402, 0.9913, 1.341, 1.801, 2.38, 3.084, 3.925",\
                 "0.4839, 0.5237, 0.627, 0.7943, 1.046, 1.397, 1.856, 2.435, 3.14, 3.983",\
                 "0.5144, 0.5571, 0.6656, 0.8337, 1.085, 1.435, 1.896, 2.474, 3.179, 4.022",\
                 "0.5273, 0.573, 0.6871, 0.8573, 1.108, 1.457, 1.918, 2.497, 3.202, 4.042",\
                 "0.5222, 0.5713, 0.6921, 0.8654, 1.115, 1.464, 1.924, 2.503, 3.209, 4.049",\
                 "0.4973, 0.5489, 0.6781, 0.8553, 1.105, 1.453, 1.911, 2.491, 3.196, 4.038");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.005344, 0.02059, 0.04971, 0.09508, 0.1587, 0.2425, 0.348, 0.4769, 0.6304");
          values("0.0829, 0.1049, 0.1676, 0.2757, 0.449, 0.703, 1.048, 1.488, 2.025, 2.666",\
                 "0.08298, 0.105, 0.1675, 0.2761, 0.4491, 0.703, 1.049, 1.487, 2.025, 2.667",\
                 "0.08336, 0.1049, 0.1674, 0.2761, 0.4483, 0.7041, 1.049, 1.486, 2.025, 2.666",\
                 "0.08518, 0.1067, 0.1687, 0.2767, 0.4485, 0.7044, 1.047, 1.487, 2.025, 2.664",\
                 "0.1032, 0.1262, 0.183, 0.2848, 0.4536, 0.705, 1.048, 1.487, 2.023, 2.664",\
                 "0.1234, 0.15, 0.2082, 0.305, 0.4664, 0.7112, 1.051, 1.487, 2.025, 2.666",\
                 "0.1426, 0.1718, 0.2352, 0.3286, 0.483, 0.7222, 1.057, 1.49, 2.024, 2.664",\
                 "0.1608, 0.1926, 0.263, 0.3542, 0.5028, 0.7324, 1.064, 1.495, 2.027, 2.665",\
                 "0.1784, 0.2122, 0.2894, 0.382, 0.5214, 0.7454, 1.07, 1.497, 2.03, 2.667",\
                 "0.1978, 0.2322, 0.3162, 0.411, 0.5456, 0.7602, 1.077, 1.501, 2.034, 2.67");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.005344, 0.02059, 0.04971, 0.09508, 0.1587, 0.2425, 0.348, 0.4769, 0.6304");
          values("0.09674, 0.1357, 0.2667, 0.5312, 0.9571, 1.556, 2.347, 3.347, 4.565, 6.019",\
                 "0.09674, 0.1356, 0.2667, 0.5309, 0.9555, 1.555, 2.347, 3.344, 4.562, 6.015",\
                 "0.09712, 0.1357, 0.2669, 0.5305, 0.9572, 1.558, 2.349, 3.345, 4.562, 6.018",\
                 "0.1016, 0.1392, 0.2688, 0.5313, 0.9558, 1.557, 2.349, 3.347, 4.565, 6.014",\
                 "0.1126, 0.1507, 0.2774, 0.536, 0.9576, 1.555, 2.35, 3.347, 4.562, 6.011",\
                 "0.1268, 0.1646, 0.2858, 0.54, 0.9626, 1.557, 2.345, 3.34, 4.561, 6.008",\
                 "0.1418, 0.1804, 0.2968, 0.544, 0.963, 1.561, 2.348, 3.34, 4.555, 6.008",\
                 "0.1566, 0.1976, 0.311, 0.5492, 0.965, 1.562, 2.351, 3.342, 4.553, 6.007",\
                 "0.1712, 0.2156, 0.3276, 0.5568, 0.9652, 1.562, 2.352, 3.346, 4.556, 6.006",\
                 "0.1866, 0.2344, 0.3492, 0.5672, 0.9702, 1.565, 2.353, 3.344, 4.559, 6.001");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.005344, 0.02059, 0.04971, 0.09508, 0.1587, 0.2425, 0.348, 0.4769, 0.6304");
          values("0.3083, 0.3354, 0.4014, 0.4931, 0.6143, 0.7744, 0.982, 1.242, 1.56, 1.938",\
                 "0.3222, 0.3493, 0.4155, 0.507, 0.6282, 0.7885, 0.9957, 1.256, 1.574, 1.952",\
                 "0.3759, 0.4032, 0.4691, 0.5608, 0.6823, 0.8424, 1.05, 1.31, 1.628, 2.007",\
                 "0.4837, 0.5107, 0.5767, 0.6684, 0.7898, 0.9499, 1.157, 1.418, 1.736, 2.114",\
                 "0.6375, 0.6671, 0.7364, 0.8304, 0.9525, 1.113, 1.32, 1.581, 1.898, 2.277",\
                 "0.8056, 0.8392, 0.9173, 1.017, 1.143, 1.304, 1.512, 1.772, 2.09, 2.468",\
                 "0.9863, 1.024, 1.111, 1.218, 1.348, 1.512, 1.72, 1.981, 2.298, 2.676",\
                 "1.183, 1.224, 1.319, 1.434, 1.57, 1.736, 1.944, 2.205, 2.523, 2.901",\
                 "1.4, 1.443, 1.546, 1.67, 1.81, 1.979, 2.189, 2.449, 2.768, 3.146",\
                 "1.638, 1.684, 1.794, 1.927, 2.073, 2.245, 2.455, 2.716, 3.034, 3.411");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.005344, 0.02059, 0.04971, 0.09508, 0.1587, 0.2425, 0.348, 0.4769, 0.6304");
          values("0.2707, 0.3048, 0.4021, 0.5679, 0.8189, 1.169, 1.628, 2.206, 2.911, 3.75",\
                 "0.282, 0.3163, 0.4136, 0.5794, 0.8304, 1.18, 1.639, 2.219, 2.924, 3.764",\
                 "0.3133, 0.3474, 0.4446, 0.6103, 0.8612, 1.211, 1.671, 2.25, 2.955, 3.796",\
                 "0.3649, 0.3996, 0.4973, 0.6628, 0.9139, 1.264, 1.723, 2.301, 3.006, 3.847",\
                 "0.4161, 0.4531, 0.554, 0.7207, 0.9718, 1.322, 1.781, 2.36, 3.067, 3.908",\
                 "0.4569, 0.4962, 0.6009, 0.7688, 1.02, 1.37, 1.83, 2.409, 3.114, 3.953",\
                 "0.4816, 0.5239, 0.6333, 0.8029, 1.055, 1.405, 1.864, 2.442, 3.149, 3.989",\
                 "0.4886, 0.5337, 0.6488, 0.8211, 1.072, 1.422, 1.882, 2.46, 3.165, 4.005",\
                 "0.4761, 0.5247, 0.6466, 0.822, 1.073, 1.423, 1.882, 2.461, 3.166, 4.006",\
                 "0.443, 0.4947, 0.6242, 0.8043, 1.057, 1.406, 1.864, 2.442, 3.147, 3.988");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.005344, 0.02059, 0.04971, 0.09508, 0.1587, 0.2425, 0.348, 0.4769, 0.6304");
          values("0.0883, 0.1103, 0.1712, 0.2792, 0.4512, 0.7054, 1.05, 1.487, 2.025, 2.666",\
                 "0.08818, 0.11, 0.171, 0.2795, 0.4513, 0.7044, 1.05, 1.487, 2.024, 2.667",\
                 "0.08808, 0.1097, 0.1714, 0.2789, 0.451, 0.704, 1.05, 1.488, 2.025, 2.666",\
                 "0.08866, 0.1105, 0.1721, 0.2792, 0.4511, 0.7046, 1.048, 1.488, 2.023, 2.666",\
                 "0.103, 0.125, 0.1812, 0.2844, 0.4538, 0.7066, 1.049, 1.488, 2.025, 2.665",\
                 "0.124, 0.1486, 0.205, 0.3026, 0.4652, 0.7108, 1.052, 1.488, 2.025, 2.666",\
                 "0.1436, 0.1716, 0.2314, 0.325, 0.4802, 0.7204, 1.058, 1.49, 2.025, 2.666",\
                 "0.1634, 0.1928, 0.259, 0.3496, 0.498, 0.7312, 1.063, 1.494, 2.026, 2.666",\
                 "0.1812, 0.213, 0.2856, 0.3754, 0.5162, 0.7434, 1.068, 1.498, 2.029, 2.666",\
                 "0.1994, 0.2328, 0.31, 0.4016, 0.5386, 0.7556, 1.075, 1.501, 2.034, 2.672");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.005344, 0.02059, 0.04971, 0.09508, 0.1587, 0.2425, 0.348, 0.4769, 0.6304");
          values("0.09718, 0.1354, 0.2667, 0.531, 0.9565, 1.557, 2.348, 3.348, 4.565, 6.01",\
                 "0.09708, 0.1353, 0.2666, 0.5309, 0.9573, 1.558, 2.349, 3.345, 4.562, 6.018",\
                 "0.09718, 0.1358, 0.267, 0.5308, 0.957, 1.557, 2.349, 3.341, 4.559, 6.019",\
                 "0.1006, 0.1387, 0.2683, 0.531, 0.9569, 1.557, 2.35, 3.346, 4.563, 6.008",\
                 "0.1107, 0.149, 0.2762, 0.5342, 0.9564, 1.557, 2.35, 3.348, 4.562, 6.011",\
                 "0.1212, 0.1608, 0.285, 0.539, 0.959, 1.558, 2.345, 3.339, 4.559, 6.011",\
                 "0.1346, 0.1758, 0.2968, 0.5444, 0.9608, 1.558, 2.346, 3.342, 4.556, 6.006",\
                 "0.1478, 0.1906, 0.3094, 0.5498, 0.9644, 1.558, 2.348, 3.338, 4.553, 5.999",\
                 "0.1626, 0.2076, 0.3262, 0.5592, 0.9666, 1.562, 2.347, 3.34, 4.552, 5.996",\
                 "0.1764, 0.2252, 0.346, 0.5706, 0.9708, 1.562, 2.35, 3.342, 4.555, 5.998");
        }
      }
    }
  }

