local pet_learningtalent = {
  [1009] = {
    [-1] = -1,
    [-2] = {
      [-3] = -2,
      [-4] = -3
    },
    [-5] = -4,
    [-6] = -5,
    [-7] = {-6, -7}
  },
  [1008] = {
    [-1] = -8,
    [-2] = {
      [-3] = -2,
      [-4] = -9
    },
    [-5] = -10,
    [-6] = -5,
    [-7] = {-11, -6}
  },
  [1007] = {
    [-1] = -12,
    [-2] = {
      [-3] = -2,
      [-4] = -13
    },
    [-5] = -14,
    [-6] = -5,
    [-7] = {-15, -11}
  },
  [1006] = {
    [-1] = -16,
    [-2] = {
      [-3] = -2,
      [-4] = -17
    },
    [-5] = -18,
    [-6] = -5,
    [-7] = {-19, -15}
  },
  [1005] = {
    [-1] = -20,
    [-2] = {
      [-3] = -2,
      [-4] = -21
    },
    [-5] = -22,
    [-6] = -5,
    [-7] = {-23, -19}
  },
  [1004] = {
    [-1] = -24,
    [-2] = {
      [-3] = -2,
      [-4] = -25
    },
    [-5] = -26,
    [-6] = -5,
    [-7] = {-27, -23}
  },
  [1003] = {
    [-1] = -28,
    [-2] = {
      [-3] = -2,
      [-4] = -29
    },
    [-5] = -30,
    [-6] = -5,
    [-7] = {-31, -27}
  },
  [1002] = {
    [-1] = -32,
    [-2] = {
      [-3] = -2,
      [-4] = -33
    },
    [-5] = -34,
    [-6] = -5,
    [-7] = {-35, -31}
  },
  [1001] = {
    [-1] = -36,
    [-2] = {
      [-3] = -2,
      [-4] = -37
    },
    [-5] = -5,
    [-6] = -5,
    [-7] = {-38, -35}
  },
  [2009] = {
    [-1] = -39,
    [-2] = {
      [-3] = -2,
      [-4] = -40
    },
    [-5] = -4,
    [-6] = -34,
    [-7] = {-6, -7}
  },
  [2008] = {
    [-1] = -41,
    [-2] = {
      [-3] = -2,
      [-4] = -42
    },
    [-5] = -10,
    [-6] = -34,
    [-7] = {-11, -6}
  },
  [2007] = {
    [-1] = -43,
    [-2] = {
      [-3] = -2,
      [-4] = -44
    },
    [-5] = -14,
    [-6] = -34,
    [-7] = {-15, -11}
  },
  [2006] = {
    [-1] = -45,
    [-2] = {
      [-3] = -2,
      [-4] = -46
    },
    [-5] = -18,
    [-6] = -34,
    [-7] = {-19, -15}
  },
  [2005] = {
    [-1] = -47,
    [-2] = {
      [-3] = -2,
      [-4] = -48
    },
    [-5] = -22,
    [-6] = -34,
    [-7] = {-23, -19}
  },
  [2004] = {
    [-1] = -49,
    [-2] = {
      [-3] = -2,
      [-4] = -50
    },
    [-5] = -26,
    [-6] = -34,
    [-7] = {-27, -23}
  },
  [2003] = {
    [-1] = -51,
    [-2] = {
      [-3] = -2,
      [-4] = -52
    },
    [-5] = -30,
    [-6] = -34,
    [-7] = {-31, -27}
  },
  [2002] = {
    [-1] = -53,
    [-2] = {
      [-3] = -2,
      [-4] = -54
    },
    [-5] = -34,
    [-6] = -34,
    [-7] = {-35, -31}
  },
  [2001] = {
    [-1] = -55,
    [-2] = {
      [-3] = -2,
      [-4] = -56
    },
    [-5] = -5,
    [-6] = -34,
    [-7] = {-38, -35}
  },
  [3009] = {
    [-1] = -57,
    [-2] = {
      [-3] = -2,
      [-4] = -58
    },
    [-5] = -4,
    [-6] = -30,
    [-7] = {-6, -7}
  },
  [3008] = {
    [-1] = -59,
    [-2] = {
      [-3] = -2,
      [-4] = -60
    },
    [-5] = -10,
    [-6] = -30,
    [-7] = {-11, -6}
  },
  [3007] = {
    [-1] = -61,
    [-2] = {
      [-3] = -2,
      [-4] = -62
    },
    [-5] = -14,
    [-6] = -30,
    [-7] = {-15, -11}
  },
  [3006] = {
    [-1] = -63,
    [-2] = {
      [-3] = -2,
      [-4] = -64
    },
    [-5] = -18,
    [-6] = -30,
    [-7] = {-19, -15}
  },
  [3005] = {
    [-1] = -65,
    [-2] = {
      [-3] = -2,
      [-4] = -66
    },
    [-5] = -22,
    [-6] = -30,
    [-7] = {-23, -19}
  },
  [3004] = {
    [-1] = -67,
    [-2] = {
      [-3] = -2,
      [-4] = -68
    },
    [-5] = -26,
    [-6] = -30,
    [-7] = {-27, -23}
  },
  [3003] = {
    [-1] = -69,
    [-2] = {
      [-3] = -2,
      [-4] = -70
    },
    [-5] = -30,
    [-6] = -30,
    [-7] = {-31, -27}
  },
  [3002] = {
    [-1] = -71,
    [-2] = {
      [-3] = -2,
      [-4] = -72
    },
    [-5] = -34,
    [-6] = -30,
    [-7] = {-35, -31}
  },
  [3001] = {
    [-1] = -73,
    [-2] = {
      [-3] = -2,
      [-4] = -74
    },
    [-5] = -5,
    [-6] = -30,
    [-7] = {-38, -35}
  },
  [4009] = {
    [-1] = -75,
    [-2] = {
      [-3] = -2,
      [-4] = -76
    },
    [-5] = -4,
    [-6] = -26,
    [-7] = {-6, -7}
  },
  [4008] = {
    [-1] = -77,
    [-2] = {
      [-3] = -2,
      [-4] = -78
    },
    [-5] = -10,
    [-6] = -26,
    [-7] = {-11, -6}
  },
  [4007] = {
    [-1] = -79,
    [-2] = {
      [-3] = -2,
      [-4] = -80
    },
    [-5] = -14,
    [-6] = -26,
    [-7] = {-15, -11}
  },
  [4006] = {
    [-1] = -81,
    [-2] = {
      [-3] = -2,
      [-4] = -82
    },
    [-5] = -18,
    [-6] = -26,
    [-7] = {-19, -15}
  },
  [4005] = {
    [-1] = -83,
    [-2] = {
      [-3] = -2,
      [-4] = -84
    },
    [-5] = -22,
    [-6] = -26,
    [-7] = {-23, -19}
  },
  [4004] = {
    [-1] = -85,
    [-2] = {
      [-3] = -2,
      [-4] = -86
    },
    [-5] = -26,
    [-6] = -26,
    [-7] = {-27, -23}
  },
  [4003] = {
    [-1] = -87,
    [-2] = {
      [-3] = -2,
      [-4] = -88
    },
    [-5] = -30,
    [-6] = -26,
    [-7] = {-31, -27}
  },
  [4002] = {
    [-1] = -89,
    [-2] = {
      [-3] = -2,
      [-4] = -90
    },
    [-5] = -34,
    [-6] = -26,
    [-7] = {-35, -31}
  },
  [4001] = {
    [-1] = -91,
    [-2] = {
      [-3] = -2,
      [-4] = -92
    },
    [-5] = -5,
    [-6] = -26,
    [-7] = {-38, -35}
  },
  [5009] = {
    [-1] = -93,
    [-2] = {
      [-3] = -2,
      [-4] = -94
    },
    [-5] = -4,
    [-6] = -22,
    [-7] = {-95, -95}
  },
  [5008] = {
    [-1] = -96,
    [-2] = {
      [-3] = -2,
      [-4] = -97
    },
    [-5] = -10,
    [-6] = -22,
    [-7] = {-95, -95}
  },
  [5007] = {
    [-1] = -98,
    [-2] = {
      [-3] = -2,
      [-4] = -99
    },
    [-5] = -14,
    [-6] = -22,
    [-7] = {-95, -95}
  },
  [5006] = {
    [-1] = -100,
    [-2] = {
      [-3] = -2,
      [-4] = -101
    },
    [-5] = -18,
    [-6] = -22,
    [-7] = {-95, -95}
  },
  [5005] = {
    [-1] = -102,
    [-2] = {
      [-3] = -2,
      [-4] = -103
    },
    [-5] = -22,
    [-6] = -22,
    [-7] = {-95, -95}
  },
  [5004] = {
    [-1] = -104,
    [-2] = {
      [-3] = -2,
      [-4] = -105
    },
    [-5] = -26,
    [-6] = -22,
    [-7] = {-95, -95}
  },
  [5003] = {
    [-1] = -106,
    [-2] = {
      [-3] = -2,
      [-4] = -107
    },
    [-5] = -30,
    [-6] = -22,
    [-7] = {-95, -95}
  },
  [5002] = {
    [-1] = -108,
    [-2] = {
      [-3] = -2,
      [-4] = -109
    },
    [-5] = -34,
    [-6] = -22,
    [-7] = {-95, -95}
  },
  [5001] = {
    [-1] = -110,
    [-2] = {
      [-3] = -2,
      [-4] = -111
    },
    [-5] = -5,
    [-6] = -22,
    [-7] = {-95, -95}
  },
  [6009] = {
    [-1] = -112,
    [-2] = {
      [-3] = -2,
      [-4] = -113
    },
    [-5] = -4,
    [-6] = -18,
    [-7] = {-95, -95}
  },
  [6008] = {
    [-1] = -114,
    [-2] = {
      [-3] = -2,
      [-4] = -115
    },
    [-5] = -10,
    [-6] = -18,
    [-7] = {-95, -95}
  },
  [6007] = {
    [-1] = -116,
    [-2] = {
      [-3] = -2,
      [-4] = -117
    },
    [-5] = -14,
    [-6] = -18,
    [-7] = {-95, -95}
  },
  [6006] = {
    [-1] = -118,
    [-2] = {
      [-3] = -2,
      [-4] = -119
    },
    [-5] = -18,
    [-6] = -18,
    [-7] = {-95, -95}
  },
  [6005] = {
    [-1] = -120,
    [-2] = {
      [-3] = -2,
      [-4] = -121
    },
    [-5] = -22,
    [-6] = -18,
    [-7] = {-95, -95}
  },
  [6004] = {
    [-1] = -122,
    [-2] = {
      [-3] = -2,
      [-4] = -123
    },
    [-5] = -26,
    [-6] = -18,
    [-7] = {-95, -95}
  },
  [6003] = {
    [-1] = -124,
    [-2] = {
      [-3] = -2,
      [-4] = -125
    },
    [-5] = -30,
    [-6] = -18,
    [-7] = {-95, -95}
  },
  [6002] = {
    [-1] = -126,
    [-2] = {
      [-3] = -2,
      [-4] = -127
    },
    [-5] = -34,
    [-6] = -18,
    [-7] = {-95, -95}
  },
  [6001] = {
    [-1] = -128,
    [-2] = {
      [-3] = -2,
      [-4] = -129
    },
    [-5] = -5,
    [-6] = -18,
    [-7] = {-95, -95}
  }
}
local key_to_index_map = {
  id = -1,
  level = -2,
  group = -3,
  langKey = -4,
  type = -5,
  enumId = -6,
  range = -7
}
local index_to_key_map = {}
for k, v in pairs(key_to_index_map) do
  index_to_key_map[v] = k
end
local value_to_index_map = {
  [1009] = -1,
  lang_pet_learningtalent = -2,
  ["1009_1_0"] = -3,
  [9] = -4,
  [1] = -5,
  [109] = -6,
  [111] = -7,
  [1008] = -8,
  ["1008_1_0"] = -9,
  [8] = -10,
  [107] = -11,
  [1007] = -12,
  ["1007_1_0"] = -13,
  [7] = -14,
  [105] = -15,
  [1006] = -16,
  ["1006_1_0"] = -17,
  [6] = -18,
  [103] = -19,
  [1005] = -20,
  ["1005_1_0"] = -21,
  [5] = -22,
  [101] = -23,
  [1004] = -24,
  ["1004_1_0"] = -25,
  [4] = -26,
  [99] = -27,
  [1003] = -28,
  ["1003_1_0"] = -29,
  [3] = -30,
  [97] = -31,
  [1002] = -32,
  ["1002_1_0"] = -33,
  [2] = -34,
  [95] = -35,
  [1001] = -36,
  ["1001_1_0"] = -37,
  [93] = -38,
  [2009] = -39,
  ["2009_1_0"] = -40,
  [2008] = -41,
  ["2008_1_0"] = -42,
  [2007] = -43,
  ["2007_1_0"] = -44,
  [2006] = -45,
  ["2006_1_0"] = -46,
  [2005] = -47,
  ["2005_1_0"] = -48,
  [2004] = -49,
  ["2004_1_0"] = -50,
  [2003] = -51,
  ["2003_1_0"] = -52,
  [2002] = -53,
  ["2002_1_0"] = -54,
  [2001] = -55,
  ["2001_1_0"] = -56,
  [3009] = -57,
  ["3009_1_0"] = -58,
  [3008] = -59,
  ["3008_1_0"] = -60,
  [3007] = -61,
  ["3007_1_0"] = -62,
  [3006] = -63,
  ["3006_1_0"] = -64,
  [3005] = -65,
  ["3005_1_0"] = -66,
  [3004] = -67,
  ["3004_1_0"] = -68,
  [3003] = -69,
  ["3003_1_0"] = -70,
  [3002] = -71,
  ["3002_1_0"] = -72,
  [3001] = -73,
  ["3001_1_0"] = -74,
  [4009] = -75,
  ["4009_1_0"] = -76,
  [4008] = -77,
  ["4008_1_0"] = -78,
  [4007] = -79,
  ["4007_1_0"] = -80,
  [4006] = -81,
  ["4006_1_0"] = -82,
  [4005] = -83,
  ["4005_1_0"] = -84,
  [4004] = -85,
  ["4004_1_0"] = -86,
  [4003] = -87,
  ["4003_1_0"] = -88,
  [4002] = -89,
  ["4002_1_0"] = -90,
  [4001] = -91,
  ["4001_1_0"] = -92,
  [5009] = -93,
  ["5009_1_0"] = -94,
  [0] = -95,
  [5008] = -96,
  ["5008_1_0"] = -97,
  [5007] = -98,
  ["5007_1_0"] = -99,
  [5006] = -100,
  ["5006_1_0"] = -101,
  [5005] = -102,
  ["5005_1_0"] = -103,
  [5004] = -104,
  ["5004_1_0"] = -105,
  [5003] = -106,
  ["5003_1_0"] = -107,
  [5002] = -108,
  ["5002_1_0"] = -109,
  [5001] = -110,
  ["5001_1_0"] = -111,
  [6009] = -112,
  ["6009_1_0"] = -113,
  [6008] = -114,
  ["6008_1_0"] = -115,
  [6007] = -116,
  ["6007_1_0"] = -117,
  [6006] = -118,
  ["6006_1_0"] = -119,
  [6005] = -120,
  ["6005_1_0"] = -121,
  [6004] = -122,
  ["6004_1_0"] = -123,
  [6003] = -124,
  ["6003_1_0"] = -125,
  [6002] = -126,
  ["6002_1_0"] = -127,
  [6001] = -128,
  ["6001_1_0"] = -129
}
local index_to_value_map = {}
for k, v in pairs(value_to_index_map) do
  index_to_value_map[v] = k
end

local function SetReadonlyTable(t)
  for k, v in pairs(t) do
    if type(v) == "table" then
      t[k] = SetReadonlyTable(v)
    end
  end
  local mt = {
    __data = t,
    __index_to_key_map = index_to_key_map,
    __key_to_index_map = key_to_index_map,
    __index_to_value_map = index_to_value_map,
    __index = function(t, k)
      local tmt = getmetatable(t)
      local data = tmt.__data
      local value_index
      if tmt.__key_to_index_map[k] ~= nil then
        value_index = data[tmt.__key_to_index_map[k]]
      else
        value_index = data[k]
      end
      if type(value_index) == "table" then
        return value_index
      else
        return tmt.__index_to_value_map[value_index]
      end
    end,
    __newindex = function(t, k, v)
      errorf("attempt to modify a read-only talbe!", 2)
    end,
    __pairs = function(t, k)
      return function(t, k)
        local tmt = getmetatable(t)
        local data = tmt.__data
        local nk, nv
        if tmt.__key_to_index_map[k] ~= nil then
          local iter_key = tmt.__key_to_index_map[k]
          nk, nv = next(data, iter_key)
        else
          nk, nv = next(data, k)
        end
        local key, value
        if tmt.__index_to_key_map[nk] ~= nil then
          key = tmt.__index_to_key_map[nk]
        else
          key = nk
        end
        if type(nv) == "table" then
          value = nv
        else
          value = tmt.__index_to_value_map[nv]
        end
        return key, value
      end, t, nil
    end,
    __len = function(t)
      local tmt = getmetatable(t)
      local data = tmt.__data
      return #data
    end
  }
  t = setmetatable({}, mt)
  return t
end

pet_learningtalent = SetReadonlyTable(pet_learningtalent)
return pet_learningtalent
